From 316931d803f7c037e78905e048403f10a66bd36b Mon Sep 17 00:00:00 2001 From: Antoine Lamirault Date: Sun, 5 May 2024 20:27:21 +0200 Subject: [PATCH 01/11] docs: typo on "Test your API" guide (#6351) --- docs/guides/test-your-api.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guides/test-your-api.php b/docs/guides/test-your-api.php index 0b4faf5541a..7749ccc920c 100644 --- a/docs/guides/test-your-api.php +++ b/docs/guides/test-your-api.php @@ -38,7 +38,7 @@ public function testGetCollection(): void // We provide assertions based on your resource's JSON Schema to save time asserting that the data // matches an expected format, for example here with a collection. $this->assertMatchesResourceCollectionJsonSchema(Book::class); - // PHPUnit default assertios are also available. + // PHPUnit default assertions are also available. $this->assertCount(0, $response->toArray()['hydra:member']); } } From fb7c4658c327c9628bcc86d42e85c3546a74d993 Mon Sep 17 00:00:00 2001 From: Antoine Bluchet Date: Fri, 24 May 2024 18:39:14 +0200 Subject: [PATCH 02/11] fix(test): canonicalizing json arrays (#6386) --- .commitlintrc | 3 ++- .../Bundle/Test/ApiTestAssertionsTrait.php | 17 +++++++++++------ tests/Symfony/Bundle/Test/ApiTestCaseTest.php | 12 ------------ 3 files changed, 13 insertions(+), 19 deletions(-) diff --git a/.commitlintrc b/.commitlintrc index e552e57c20a..2086ffca3e2 100644 --- a/.commitlintrc +++ b/.commitlintrc @@ -19,7 +19,8 @@ "serializer", "jsonschema", "validation", - "state" + "state", + "test" ] ], "scope-empty": [ diff --git a/src/Symfony/Bundle/Test/ApiTestAssertionsTrait.php b/src/Symfony/Bundle/Test/ApiTestAssertionsTrait.php index 45ae9fc5d09..db6b8dc312c 100644 --- a/src/Symfony/Bundle/Test/ApiTestAssertionsTrait.php +++ b/src/Symfony/Bundle/Test/ApiTestAssertionsTrait.php @@ -21,6 +21,7 @@ use ApiPlatform\Metadata\Resource\Factory\ResourceMetadataCollectionFactoryInterface; use ApiPlatform\Symfony\Bundle\Test\Constraint\ArraySubset; use ApiPlatform\Symfony\Bundle\Test\Constraint\MatchesJsonSchema; +use PHPUnit\Framework\Constraint\JsonMatches; use PHPUnit\Framework\ExpectationFailedException; use Symfony\Bundle\FrameworkBundle\Test\BrowserKitAssertionsTrait; use Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException; @@ -71,14 +72,18 @@ public static function assertJsonContains(array|string $subset, bool $checkForOb */ public static function assertJsonEquals(array|string $json, string $message = ''): void { - if (\is_string($json)) { - $json = json_decode($json, true, 512, \JSON_THROW_ON_ERROR); - } - if (!\is_array($json)) { - throw new \InvalidArgumentException('$json must be array or string (JSON array or JSON object)'); + if (\is_array($json)) { + $json = json_encode( + $json, + \JSON_UNESCAPED_UNICODE + | \JSON_UNESCAPED_SLASHES + | \JSON_PRESERVE_ZERO_FRACTION + | \JSON_THROW_ON_ERROR); } - static::assertEqualsCanonicalizing($json, self::getHttpResponse()->toArray(false), $message); + $constraint = new JsonMatches($json); + + static::assertThat(self::getHttpResponse()->getContent(false), $constraint, $message); } /** diff --git a/tests/Symfony/Bundle/Test/ApiTestCaseTest.php b/tests/Symfony/Bundle/Test/ApiTestCaseTest.php index be1521f78fb..c3e8bb49224 100644 --- a/tests/Symfony/Bundle/Test/ApiTestCaseTest.php +++ b/tests/Symfony/Bundle/Test/ApiTestCaseTest.php @@ -96,18 +96,6 @@ public function testAssertJsonEqualsWithJsonObjectString(): void ); } - public function testAssertJsonEqualsWithJsonScalarString(): void - { - $this->expectException(\InvalidArgumentException::class); - $this->expectExceptionMessage('$json must be array or string (JSON array or JSON object)'); - - self::createClient()->request('GET', '/contexts/Address'); - $this->assertJsonEquals(<< Date: Fri, 24 May 2024 18:40:39 +0200 Subject: [PATCH 03/11] docs: 3.2.23 changelog --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index d2bee4d24ec..4ca217df9f7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## v3.2.23 + +### Bug fixes + +* [fb7c4658c](https://github.com/api-platform/core/commit/fb7c4658c327c9628bcc86d42e85c3546a74d993) fix(test): canonicalizing json arrays (#6386) + ## v3.2.22 ### Bug fixes From ab19f7609345c86ecc4500e9bc885fdd3c2b1696 Mon Sep 17 00:00:00 2001 From: Antoine Bluchet Date: Fri, 31 May 2024 10:14:58 +0200 Subject: [PATCH 04/11] chore: update assets (#6400) --- package-lock.json | 8907 +++ .../Resources/public/fonts/open-sans/400.css | 60 +- .../Resources/public/fonts/open-sans/700.css | 60 +- .../files/open-sans-cyrillic-400-normal.woff | Bin 0 -> 9092 bytes .../files/open-sans-cyrillic-400-normal.woff2 | Bin 11084 -> 11116 bytes .../files/open-sans-cyrillic-700-normal.woff | Bin 0 -> 8776 bytes .../files/open-sans-cyrillic-700-normal.woff2 | Bin 10872 -> 10916 bytes .../open-sans-cyrillic-ext-400-normal.woff | Bin 0 -> 16064 bytes .../open-sans-cyrillic-ext-400-normal.woff2 | Bin 17944 -> 17980 bytes .../open-sans-cyrillic-ext-700-normal.woff | Bin 0 -> 15352 bytes .../open-sans-cyrillic-ext-700-normal.woff2 | Bin 17564 -> 17468 bytes .../files/open-sans-greek-400-normal.woff | Bin 0 -> 7312 bytes .../files/open-sans-greek-400-normal.woff2 | Bin 9388 -> 9344 bytes .../files/open-sans-greek-700-normal.woff | Bin 0 -> 7176 bytes .../files/open-sans-greek-700-normal.woff2 | Bin 9236 -> 9244 bytes .../files/open-sans-greek-ext-400-normal.woff | Bin 0 -> 1564 bytes .../open-sans-greek-ext-400-normal.woff2 | Bin 3768 -> 3780 bytes .../files/open-sans-greek-ext-700-normal.woff | Bin 0 -> 1548 bytes .../open-sans-greek-ext-700-normal.woff2 | Bin 3768 -> 3756 bytes .../files/open-sans-hebrew-400-normal.woff | Bin 0 -> 5752 bytes .../files/open-sans-hebrew-400-normal.woff2 | Bin 0 -> 7728 bytes .../files/open-sans-hebrew-700-normal.woff | Bin 0 -> 5728 bytes .../files/open-sans-hebrew-700-normal.woff2 | Bin 0 -> 7820 bytes .../files/open-sans-latin-400-normal.woff | Bin 0 -> 17296 bytes .../files/open-sans-latin-400-normal.woff2 | Bin 18664 -> 18668 bytes .../files/open-sans-latin-700-normal.woff | Bin 0 -> 16720 bytes .../files/open-sans-latin-700-normal.woff2 | Bin 18232 -> 18260 bytes .../files/open-sans-latin-ext-400-normal.woff | Bin 0 -> 13988 bytes .../open-sans-latin-ext-400-normal.woff2 | Bin 15296 -> 15368 bytes .../files/open-sans-latin-ext-700-normal.woff | Bin 0 -> 13508 bytes .../open-sans-latin-ext-700-normal.woff2 | Bin 14984 -> 15012 bytes .../files/open-sans-math-400-normal.woff | Bin 0 -> 16128 bytes .../files/open-sans-math-400-normal.woff2 | Bin 0 -> 17576 bytes .../files/open-sans-math-700-normal.woff | Bin 0 -> 15632 bytes .../files/open-sans-math-700-normal.woff2 | Bin 0 -> 17204 bytes .../files/open-sans-symbols-400-normal.woff | Bin 0 -> 8328 bytes .../files/open-sans-symbols-400-normal.woff2 | Bin 0 -> 10180 bytes .../files/open-sans-symbols-700-normal.woff | Bin 0 -> 8080 bytes .../files/open-sans-symbols-700-normal.woff2 | Bin 0 -> 10048 bytes .../open-sans-vietnamese-400-normal.woff | Bin 0 -> 6580 bytes .../open-sans-vietnamese-400-normal.woff2 | Bin 8692 -> 8572 bytes .../open-sans-vietnamese-700-normal.woff | Bin 0 -> 6452 bytes .../open-sans-vietnamese-700-normal.woff2 | Bin 8512 -> 8496 bytes .../Resources/public/graphiql/graphiql.min.js | 50882 ++++++++-------- .../public/react/react-dom.production.min.js | 450 +- .../public/react/react.production.min.js | 36 +- .../public/redoc/redoc.standalone.js | 518 +- .../public/swagger-ui/swagger-ui-bundle.js | 3 +- .../swagger-ui/swagger-ui-bundle.js.map | 1 - .../swagger-ui-standalone-preset.js | 3 +- .../swagger-ui-standalone-preset.js.map | 1 - .../public/swagger-ui/swagger-ui.css | 2 +- .../public/swagger-ui/swagger-ui.css.map | 2 +- update-js.sh | 55 +- yarn.lock | 3839 -- 55 files changed, 35323 insertions(+), 29496 deletions(-) create mode 100644 package-lock.json create mode 100644 src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-cyrillic-400-normal.woff create mode 100644 src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-cyrillic-700-normal.woff create mode 100644 src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-cyrillic-ext-400-normal.woff create mode 100644 src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-cyrillic-ext-700-normal.woff create mode 100644 src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-greek-400-normal.woff create mode 100644 src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-greek-700-normal.woff create mode 100644 src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-greek-ext-400-normal.woff create mode 100644 src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-greek-ext-700-normal.woff create mode 100644 src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-hebrew-400-normal.woff create mode 100644 src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-hebrew-400-normal.woff2 create mode 100644 src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-hebrew-700-normal.woff create mode 100644 src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-hebrew-700-normal.woff2 create mode 100644 src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-latin-400-normal.woff create mode 100644 src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-latin-700-normal.woff create mode 100644 src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-latin-ext-400-normal.woff create mode 100644 src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-latin-ext-700-normal.woff create mode 100644 src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-math-400-normal.woff create mode 100644 src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-math-400-normal.woff2 create mode 100644 src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-math-700-normal.woff create mode 100644 src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-math-700-normal.woff2 create mode 100644 src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-symbols-400-normal.woff create mode 100644 src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-symbols-400-normal.woff2 create mode 100644 src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-symbols-700-normal.woff create mode 100644 src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-symbols-700-normal.woff2 create mode 100644 src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-vietnamese-400-normal.woff create mode 100644 src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-vietnamese-700-normal.woff delete mode 100644 src/Symfony/Bundle/Resources/public/swagger-ui/swagger-ui-bundle.js.map delete mode 100644 src/Symfony/Bundle/Resources/public/swagger-ui/swagger-ui-standalone-preset.js.map delete mode 100644 yarn.lock diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 00000000000..cfae087122d --- /dev/null +++ b/package-lock.json @@ -0,0 +1,8907 @@ +{ + "name": "core", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "dependencies": { + "@fontsource/open-sans": "^5.0.28", + "es6-promise": "^4.2.8", + "fetch": "^1.1.0", + "graphiql": "^3.2.2", + "graphql-playground-react": "^1.7.26", + "react": "^18.3.1", + "react-dom": "^18.3.1", + "redoc": "^2.1.4", + "swagger-ui": "^5.17.14" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "peer": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@ardatan/sync-fetch": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/@ardatan/sync-fetch/-/sync-fetch-0.0.1.tgz", + "integrity": "sha512-xhlTqH0m31mnsG0tIP4ETgfSB6gXDaYYsUWTrlUV93fFQPI9dd8hE0Ot6MHLCtqgB32hwJAC3YZMWlXZw7AleA==", + "dependencies": { + "node-fetch": "^2.6.1" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@ardatan/sync-fetch/node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/@ardatan/sync-fetch/node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, + "node_modules/@ardatan/sync-fetch/node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "node_modules/@ardatan/sync-fetch/node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.6.tgz", + "integrity": "sha512-ZJhac6FkEd1yhG2AHOmfcXG4ceoLltoCVJjN5XsWN9BifBQr+cHJbWi0h68HZuSORq+3WtJ2z0hwF2NG1b5kcA==", + "dependencies": { + "@babel/highlight": "^7.24.6", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.6.tgz", + "integrity": "sha512-aC2DGhBq5eEdyXWqrDInSqQjO0k8xtPRf5YylULqx8MCd6jBtzqfta/3ETMRpuKIc5hyswfO80ObyA1MvkCcUQ==", + "peer": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.6.tgz", + "integrity": "sha512-qAHSfAdVyFmIvl0VHELib8xar7ONuSHrE2hLnsaWkYNTI68dmi1x8GYDhJjMI/e7XWal9QBlZkwbOnkcw7Z8gQ==", + "peer": true, + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.24.6", + "@babel/generator": "^7.24.6", + "@babel/helper-compilation-targets": "^7.24.6", + "@babel/helper-module-transforms": "^7.24.6", + "@babel/helpers": "^7.24.6", + "@babel/parser": "^7.24.6", + "@babel/template": "^7.24.6", + "@babel/traverse": "^7.24.6", + "@babel/types": "^7.24.6", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "peer": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.6.tgz", + "integrity": "sha512-S7m4eNa6YAPJRHmKsLHIDJhNAGNKoWNiWefz1MBbpnt8g9lvMDl1hir4P9bo/57bQEmuwEhnRU/AMWsD0G/Fbg==", + "dependencies": { + "@babel/types": "^7.24.6", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", + "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.6.tgz", + "integrity": "sha512-VZQ57UsDGlX/5fFA7GkVPplZhHsVc+vuErWgdOiysI9Ksnw0Pbbd6pnPiR/mmJyKHgyIW0c7KT32gmhiF+cirg==", + "peer": true, + "dependencies": { + "@babel/compat-data": "^7.24.6", + "@babel/helper-validator-option": "^7.24.6", + "browserslist": "^4.22.2", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "peer": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.6.tgz", + "integrity": "sha512-Y50Cg3k0LKLMjxdPjIl40SdJgMB85iXn27Vk/qbHZCFx/o5XO3PSnpi675h1KEmmDb6OFArfd5SCQEQ5Q4H88g==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.24.6.tgz", + "integrity": "sha512-xpeLqeeRkbxhnYimfr2PC+iA0Q7ljX/d1eZ9/inYbmfG2jpl8Lu3DyXvpOAnrS5kxkfOWJjioIMQsaMBXFI05w==", + "dependencies": { + "@babel/template": "^7.24.6", + "@babel/types": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.6.tgz", + "integrity": "sha512-SF/EMrC3OD7dSta1bLJIlrsVxwtd0UpjRJqLno6125epQMJ/kyFmpTT4pbvPbdQHzCHg+biQ7Syo8lnDtbR+uA==", + "dependencies": { + "@babel/types": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.6.tgz", + "integrity": "sha512-a26dmxFJBF62rRO9mmpgrfTLsAuyHk4e1hKTUkD/fcMfynt8gvEKwQPQDVxWhca8dHoDck+55DFt42zV0QMw5g==", + "dependencies": { + "@babel/types": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.24.6.tgz", + "integrity": "sha512-Y/YMPm83mV2HJTbX1Qh2sjgjqcacvOlhbzdCCsSlblOKjSYmQqEbO6rUniWQyRo9ncyfjT8hnUjlG06RXDEmcA==", + "peer": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.24.6", + "@babel/helper-module-imports": "^7.24.6", + "@babel/helper-simple-access": "^7.24.6", + "@babel/helper-split-export-declaration": "^7.24.6", + "@babel/helper-validator-identifier": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", + "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.6.tgz", + "integrity": "sha512-nZzcMMD4ZhmB35MOOzQuiGO5RzL6tJbsT37Zx8M5L/i9KSrukGXWTjLe1knIbb/RmxoJE9GON9soq0c0VEMM5g==", + "peer": true, + "dependencies": { + "@babel/types": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.6.tgz", + "integrity": "sha512-CvLSkwXGWnYlF9+J3iZUvwgAxKiYzK3BWuo+mLzD/MDGOZDj7Gq8+hqaOkMxmJwmlv0iu86uH5fdADd9Hxkymw==", + "dependencies": { + "@babel/types": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.6.tgz", + "integrity": "sha512-WdJjwMEkmBicq5T9fm/cHND3+UlFa2Yj8ALLgmoSQAJZysYbBjw+azChSGPN4DSPLXOcooGRvDwZWMcF/mLO2Q==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.6.tgz", + "integrity": "sha512-4yA7s865JHaqUdRbnaxarZREuPTHrjpDT+pXoAZ1yhyo6uFnIEpS8VMu16siFOHDpZNKYv5BObhsB//ycbICyw==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.6.tgz", + "integrity": "sha512-Jktc8KkF3zIkePb48QO+IapbXlSapOW9S+ogZZkcO6bABgYAxtZcjZ/O005111YLf+j4M84uEgwYoidDkXbCkQ==", + "peer": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.6.tgz", + "integrity": "sha512-V2PI+NqnyFu1i0GyTd/O/cTpxzQCYioSkUIRmgo7gFEHKKCg5w46+r/A6WeUR1+P3TeQ49dspGPNd/E3n9AnnA==", + "peer": true, + "dependencies": { + "@babel/template": "^7.24.6", + "@babel/types": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.6.tgz", + "integrity": "sha512-2YnuOp4HAk2BsBrJJvYCbItHx0zWscI1C3zgWkz+wDyD9I7GIVrfnLyrR4Y1VR+7p+chAEcrgRQYZAGIKMV7vQ==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.24.6", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/@babel/highlight/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/parser": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.6.tgz", + "integrity": "sha512-eNZXdfU35nJC2h24RznROuOpO94h6x8sg9ju0tT9biNtLZ2vuP8SduLqqV+/8+cebSLV9SJEAN5Z3zQbJG/M+Q==", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", + "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.15.tgz", + "integrity": "sha512-T0O+aa+4w0u06iNmapipJXMV4HoUir03hpx3/YqXXhu9xim3w+dVphjFWl1OH8NbZHw5Lbm9k45drDkgq2VNNA==", + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/runtime-corejs3": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.24.6.tgz", + "integrity": "sha512-tbC3o8uHK9xMgMsvUm9qGqxVpbv6yborMBLbDteHIc7JDNHsTV0vDMQ5j1O1NXvO+BDELtL9KgoWYaUVIVGt8w==", + "dependencies": { + "core-js-pure": "^3.30.2", + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.6.tgz", + "integrity": "sha512-3vgazJlLwNXi9jhrR1ef8qiB65L1RK90+lEQwv4OxveHnqC3BfmnHdgySwRLzf6akhlOYenT+b7AfWq+a//AHw==", + "dependencies": { + "@babel/code-frame": "^7.24.6", + "@babel/parser": "^7.24.6", + "@babel/types": "^7.24.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.6.tgz", + "integrity": "sha512-OsNjaJwT9Zn8ozxcfoBc+RaHdj3gFmCmYoQLUII1o6ZrUwku0BMg80FoOTPx+Gi6XhcQxAYE4xyjPTo4SxEQqw==", + "dependencies": { + "@babel/code-frame": "^7.24.6", + "@babel/generator": "^7.24.6", + "@babel/helper-environment-visitor": "^7.24.6", + "@babel/helper-function-name": "^7.24.6", + "@babel/helper-hoist-variables": "^7.24.6", + "@babel/helper-split-export-declaration": "^7.24.6", + "@babel/parser": "^7.24.6", + "@babel/types": "^7.24.6", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.6.tgz", + "integrity": "sha512-WaMsgi6Q8zMgMth93GvWPXkhAIEobfsIkLTacoVZoK1J0CevIPGYY2Vo5YvJGqyHqXM6P4ppOYGsIRU8MM9pFQ==", + "dependencies": { + "@babel/helper-string-parser": "^7.24.6", + "@babel/helper-validator-identifier": "^7.24.6", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@braintree/sanitize-url": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-7.0.2.tgz", + "integrity": "sha512-NVf/1YycDMs6+FxS0Tb/W8MjJRDQdXF+tBfDtZ5UZeiRUkTmwKc4vmYCKZTyymfJk1gnMsauvZSX/HiV9jOABw==" + }, + "node_modules/@codemirror/language": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@codemirror/language/-/language-6.0.0.tgz", + "integrity": "sha512-rtjk5ifyMzOna1c7PBu7J1VCt0PvA5wy3o8eMVnxMKb7z8KA7JFecvD04dSn14vj/bBaAbqRsGed5OjtofEnLA==", + "peer": true, + "dependencies": { + "@codemirror/state": "^6.0.0", + "@codemirror/view": "^6.0.0", + "@lezer/common": "^1.0.0", + "@lezer/highlight": "^1.0.0", + "@lezer/lr": "^1.0.0", + "style-mod": "^4.0.0" + } + }, + "node_modules/@codemirror/state": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/@codemirror/state/-/state-6.4.1.tgz", + "integrity": "sha512-QkEyUiLhsJoZkbumGZlswmAhA7CBU02Wrz7zvH4SrcifbsqwlXShVXg65f3v/ts57W3dqyamEriMhij1Z3Zz4A==", + "peer": true + }, + "node_modules/@codemirror/view": { + "version": "6.26.3", + "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.26.3.tgz", + "integrity": "sha512-gmqxkPALZjkgSxIeeweY/wGQXBfwTUaLs8h7OKtSwfbj9Ct3L11lD+u1sS7XHppxFQoMDiMDp07P9f3I2jWOHw==", + "peer": true, + "dependencies": { + "@codemirror/state": "^6.4.0", + "style-mod": "^4.1.0", + "w3c-keyname": "^2.2.4" + } + }, + "node_modules/@emotion/is-prop-valid": { + "version": "0.8.8", + "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-0.8.8.tgz", + "integrity": "sha512-u5WtneEAr5IDG2Wv65yhunPSMLIpuKsbuOktRojfrEiEvRyC85LgPMZI63cr7NUqT8ZIGdSVg8ZKGxIug4lXcA==", + "dependencies": { + "@emotion/memoize": "0.7.4" + } + }, + "node_modules/@emotion/memoize": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.7.4.tgz", + "integrity": "sha512-Ja/Vfqe3HpuzRsG1oBtWTHk2PGZ7GR+2Vz5iYGelAw8dx32K0y7PjVuxK6z1nMpZOqAFsRUPCkK1YjJ56qJlgw==" + }, + "node_modules/@emotion/unitless": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.1.tgz", + "integrity": "sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==", + "peer": true + }, + "node_modules/@exodus/schemasafe": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@exodus/schemasafe/-/schemasafe-1.3.0.tgz", + "integrity": "sha512-5Aap/GaRupgNx/feGBwLLTVv8OQFfv3pq2lPRzPg9R+IOBnDgghTGW7l7EuVXOvg5cc/xSAlRW8rBrjIC3Nvqw==" + }, + "node_modules/@floating-ui/core": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.4.1.tgz", + "integrity": "sha512-jk3WqquEJRlcyu7997NtR5PibI+y5bi+LS3hPmguVClypenMsCY3CBa3LAQnozRCtCrYWSEtAdiskpamuJRFOQ==", + "dependencies": { + "@floating-ui/utils": "^0.1.1" + } + }, + "node_modules/@floating-ui/dom": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.5.2.tgz", + "integrity": "sha512-6ArmenS6qJEWmwzczWyhvrXRdI/rI78poBcW0h/456+onlabit+2G+QxHx5xTOX60NBJQXjsCLFbW2CmsXpUog==", + "dependencies": { + "@floating-ui/core": "^1.4.1", + "@floating-ui/utils": "^0.1.1" + } + }, + "node_modules/@floating-ui/react-dom": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.0.2.tgz", + "integrity": "sha512-5qhlDvjaLmAst/rKb3VdlCinwTF4EYMiVxuuc/HVUjs46W0zgtbMmAZ1UTsDrRTxRmUEzl92mOtWbeeXL26lSQ==", + "dependencies": { + "@floating-ui/dom": "^1.5.1" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, + "node_modules/@floating-ui/utils": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.1.2.tgz", + "integrity": "sha512-ou3elfqG/hZsbmF4bxeJhPHIf3G2pm0ujc39hYEZrfVqt7Vk/Zji6CXc3W0pmYM8BW1g40U+akTl9DKZhFhInQ==" + }, + "node_modules/@fontsource/open-sans": { + "version": "5.0.28", + "resolved": "https://registry.npmjs.org/@fontsource/open-sans/-/open-sans-5.0.28.tgz", + "integrity": "sha512-hBvJHY76pJT/JynGUB5EXWhnzjYfLdcMn655J5p1v9lTT9HdQSy+keq2KPVXO2Htlg998BBa3p6u/jlrZ6w0kg==" + }, + "node_modules/@graphiql/react": { + "version": "0.22.1", + "resolved": "https://registry.npmjs.org/@graphiql/react/-/react-0.22.1.tgz", + "integrity": "sha512-PBClhO2juCvVvmE5qD4PHivJLkhp0dqIX1zgId8Z83UCKpxO2M+bEspRL9aOQQaE4F4xqExCUk5B2AL+wc+agg==", + "dependencies": { + "@graphiql/toolkit": "^0.9.1", + "@headlessui/react": "^1.7.15", + "@radix-ui/react-dialog": "^1.0.4", + "@radix-ui/react-dropdown-menu": "^2.0.5", + "@radix-ui/react-tooltip": "^1.0.6", + "@radix-ui/react-visually-hidden": "^1.0.3", + "@types/codemirror": "^5.60.8", + "clsx": "^1.2.1", + "codemirror": "^5.65.3", + "codemirror-graphql": "^2.0.11", + "copy-to-clipboard": "^3.2.0", + "framer-motion": "^6.5.1", + "graphql-language-service": "^5.2.0", + "markdown-it": "^14.1.0", + "set-value": "^4.1.0" + }, + "peerDependencies": { + "graphql": "^15.5.0 || ^16.0.0", + "react": "^16.8.0 || ^17 || ^18", + "react-dom": "^16.8.0 || ^17 || ^18" + } + }, + "node_modules/@graphiql/toolkit": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/@graphiql/toolkit/-/toolkit-0.9.1.tgz", + "integrity": "sha512-LVt9pdk0830so50ZnU2Znb2rclcoWznG8r8asqAENzV0U1FM1kuY0sdPpc/rBc9MmmNgnB6A+WZzDhq6dbhTHA==", + "dependencies": { + "@n1ru4l/push-pull-async-iterable-iterator": "^3.1.0", + "meros": "^1.1.4" + }, + "peerDependencies": { + "graphql": "^15.5.0 || ^16.0.0", + "graphql-ws": ">= 4.5.0" + }, + "peerDependenciesMeta": { + "graphql-ws": { + "optional": true + } + } + }, + "node_modules/@graphql-tools/batch-execute": { + "version": "8.5.22", + "resolved": "https://registry.npmjs.org/@graphql-tools/batch-execute/-/batch-execute-8.5.22.tgz", + "integrity": "sha512-hcV1JaY6NJQFQEwCKrYhpfLK8frSXDbtNMoTur98u10Cmecy1zrqNKSqhEyGetpgHxaJRqszGzKeI3RuroDN6A==", + "dependencies": { + "@graphql-tools/utils": "^9.2.1", + "dataloader": "^2.2.2", + "tslib": "^2.4.0", + "value-or-promise": "^1.0.12" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/delegate": { + "version": "9.0.35", + "resolved": "https://registry.npmjs.org/@graphql-tools/delegate/-/delegate-9.0.35.tgz", + "integrity": "sha512-jwPu8NJbzRRMqi4Vp/5QX1vIUeUPpWmlQpOkXQD2r1X45YsVceyUUBnktCrlJlDB4jPRVy7JQGwmYo3KFiOBMA==", + "dependencies": { + "@graphql-tools/batch-execute": "^8.5.22", + "@graphql-tools/executor": "^0.0.20", + "@graphql-tools/schema": "^9.0.19", + "@graphql-tools/utils": "^9.2.1", + "dataloader": "^2.2.2", + "tslib": "^2.5.0", + "value-or-promise": "^1.0.12" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/executor": { + "version": "0.0.20", + "resolved": "https://registry.npmjs.org/@graphql-tools/executor/-/executor-0.0.20.tgz", + "integrity": "sha512-GdvNc4vszmfeGvUqlcaH1FjBoguvMYzxAfT6tDd4/LgwymepHhinqLNA5otqwVLW+JETcDaK7xGENzFomuE6TA==", + "dependencies": { + "@graphql-tools/utils": "^9.2.1", + "@graphql-typed-document-node/core": "3.2.0", + "@repeaterjs/repeater": "^3.0.4", + "tslib": "^2.4.0", + "value-or-promise": "^1.0.12" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/executor-graphql-ws": { + "version": "0.0.14", + "resolved": "https://registry.npmjs.org/@graphql-tools/executor-graphql-ws/-/executor-graphql-ws-0.0.14.tgz", + "integrity": "sha512-P2nlkAsPZKLIXImFhj0YTtny5NQVGSsKnhi7PzXiaHSXc6KkzqbWZHKvikD4PObanqg+7IO58rKFpGXP7eeO+w==", + "dependencies": { + "@graphql-tools/utils": "^9.2.1", + "@repeaterjs/repeater": "3.0.4", + "@types/ws": "^8.0.0", + "graphql-ws": "5.12.1", + "isomorphic-ws": "5.0.0", + "tslib": "^2.4.0", + "ws": "8.13.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/executor-graphql-ws/node_modules/ws": { + "version": "8.13.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz", + "integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==", + "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/@graphql-tools/executor-http": { + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/@graphql-tools/executor-http/-/executor-http-0.1.10.tgz", + "integrity": "sha512-hnAfbKv0/lb9s31LhWzawQ5hghBfHS+gYWtqxME6Rl0Aufq9GltiiLBcl7OVVOnkLF0KhwgbYP1mB5VKmgTGpg==", + "dependencies": { + "@graphql-tools/utils": "^9.2.1", + "@repeaterjs/repeater": "^3.0.4", + "@whatwg-node/fetch": "^0.8.1", + "dset": "^3.1.2", + "extract-files": "^11.0.0", + "meros": "^1.2.1", + "tslib": "^2.4.0", + "value-or-promise": "^1.0.12" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/executor-legacy-ws": { + "version": "0.0.11", + "resolved": "https://registry.npmjs.org/@graphql-tools/executor-legacy-ws/-/executor-legacy-ws-0.0.11.tgz", + "integrity": "sha512-4ai+NnxlNfvIQ4c70hWFvOZlSUN8lt7yc+ZsrwtNFbFPH/EroIzFMapAxM9zwyv9bH38AdO3TQxZ5zNxgBdvUw==", + "dependencies": { + "@graphql-tools/utils": "^9.2.1", + "@types/ws": "^8.0.0", + "isomorphic-ws": "5.0.0", + "tslib": "^2.4.0", + "ws": "8.13.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/executor-legacy-ws/node_modules/ws": { + "version": "8.13.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz", + "integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==", + "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/@graphql-tools/graphql-file-loader": { + "version": "7.5.17", + "resolved": "https://registry.npmjs.org/@graphql-tools/graphql-file-loader/-/graphql-file-loader-7.5.17.tgz", + "integrity": "sha512-hVwwxPf41zOYgm4gdaZILCYnKB9Zap7Ys9OhY1hbwuAuC4MMNY9GpUjoTU3CQc3zUiPoYStyRtUGkHSJZ3HxBw==", + "dependencies": { + "@graphql-tools/import": "6.7.18", + "@graphql-tools/utils": "^9.2.1", + "globby": "^11.0.3", + "tslib": "^2.4.0", + "unixify": "^1.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/import": { + "version": "6.7.18", + "resolved": "https://registry.npmjs.org/@graphql-tools/import/-/import-6.7.18.tgz", + "integrity": "sha512-XQDdyZTp+FYmT7as3xRWH/x8dx0QZA2WZqfMF5EWb36a0PiH7WwlRQYIdyYXj8YCLpiWkeBXgBRHmMnwEYR8iQ==", + "dependencies": { + "@graphql-tools/utils": "^9.2.1", + "resolve-from": "5.0.0", + "tslib": "^2.4.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/json-file-loader": { + "version": "7.4.18", + "resolved": "https://registry.npmjs.org/@graphql-tools/json-file-loader/-/json-file-loader-7.4.18.tgz", + "integrity": "sha512-AJ1b6Y1wiVgkwsxT5dELXhIVUPs/u3VZ8/0/oOtpcoyO/vAeM5rOvvWegzicOOnQw8G45fgBRMkkRfeuwVt6+w==", + "dependencies": { + "@graphql-tools/utils": "^9.2.1", + "globby": "^11.0.3", + "tslib": "^2.4.0", + "unixify": "^1.0.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/load": { + "version": "7.8.14", + "resolved": "https://registry.npmjs.org/@graphql-tools/load/-/load-7.8.14.tgz", + "integrity": "sha512-ASQvP+snHMYm+FhIaLxxFgVdRaM0vrN9wW2BKInQpktwWTXVyk+yP5nQUCEGmn0RTdlPKrffBaigxepkEAJPrg==", + "dependencies": { + "@graphql-tools/schema": "^9.0.18", + "@graphql-tools/utils": "^9.2.1", + "p-limit": "3.1.0", + "tslib": "^2.4.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/merge": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-8.4.2.tgz", + "integrity": "sha512-XbrHAaj8yDuINph+sAfuq3QCZ/tKblrTLOpirK0+CAgNlZUCHs0Fa+xtMUURgwCVThLle1AF7svJCxFizygLsw==", + "dependencies": { + "@graphql-tools/utils": "^9.2.1", + "tslib": "^2.4.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/schema": { + "version": "9.0.19", + "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-9.0.19.tgz", + "integrity": "sha512-oBRPoNBtCkk0zbUsyP4GaIzCt8C0aCI4ycIRUL67KK5pOHljKLBBtGT+Jr6hkzA74C8Gco8bpZPe7aWFjiaK2w==", + "dependencies": { + "@graphql-tools/merge": "^8.4.1", + "@graphql-tools/utils": "^9.2.1", + "tslib": "^2.4.0", + "value-or-promise": "^1.0.12" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/url-loader": { + "version": "7.17.18", + "resolved": "https://registry.npmjs.org/@graphql-tools/url-loader/-/url-loader-7.17.18.tgz", + "integrity": "sha512-ear0CiyTj04jCVAxi7TvgbnGDIN2HgqzXzwsfcqiVg9cvjT40NcMlZ2P1lZDgqMkZ9oyLTV8Bw6j+SyG6A+xPw==", + "dependencies": { + "@ardatan/sync-fetch": "^0.0.1", + "@graphql-tools/delegate": "^9.0.31", + "@graphql-tools/executor-graphql-ws": "^0.0.14", + "@graphql-tools/executor-http": "^0.1.7", + "@graphql-tools/executor-legacy-ws": "^0.0.11", + "@graphql-tools/utils": "^9.2.1", + "@graphql-tools/wrap": "^9.4.2", + "@types/ws": "^8.0.0", + "@whatwg-node/fetch": "^0.8.0", + "isomorphic-ws": "^5.0.0", + "tslib": "^2.4.0", + "value-or-promise": "^1.0.11", + "ws": "^8.12.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/utils": { + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-9.2.1.tgz", + "integrity": "sha512-WUw506Ql6xzmOORlriNrD6Ugx+HjVgYxt9KCXD9mHAak+eaXSwuGGPyE60hy9xaDEoXKBsG7SkG69ybitaVl6A==", + "dependencies": { + "@graphql-typed-document-node/core": "^3.1.1", + "tslib": "^2.4.0" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-tools/wrap": { + "version": "9.4.2", + "resolved": "https://registry.npmjs.org/@graphql-tools/wrap/-/wrap-9.4.2.tgz", + "integrity": "sha512-DFcd9r51lmcEKn0JW43CWkkI2D6T9XI1juW/Yo86i04v43O9w2/k4/nx2XTJv4Yv+iXwUw7Ok81PGltwGJSDSA==", + "dependencies": { + "@graphql-tools/delegate": "^9.0.31", + "@graphql-tools/schema": "^9.0.18", + "@graphql-tools/utils": "^9.2.1", + "tslib": "^2.4.0", + "value-or-promise": "^1.0.12" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@graphql-typed-document-node/core": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@graphql-typed-document-node/core/-/core-3.2.0.tgz", + "integrity": "sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==", + "peerDependencies": { + "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@headlessui/react": { + "version": "1.7.17", + "resolved": "https://registry.npmjs.org/@headlessui/react/-/react-1.7.17.tgz", + "integrity": "sha512-4am+tzvkqDSSgiwrsEpGWqgGo9dz8qU5M3znCkC4PgkpY4HcCZzEDEvozltGGGHIKl9jbXbZPSH5TWn4sWJdow==", + "dependencies": { + "client-only": "^0.0.1" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "react": "^16 || ^17 || ^18", + "react-dom": "^16 || ^17 || ^18" + } + }, + "node_modules/@jest/environment": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", + "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", + "dependencies": { + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/fake-timers": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", + "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", + "dependencies": { + "@jest/types": "^29.6.3", + "@sinonjs/fake-timers": "^10.0.2", + "@types/node": "*", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "dependencies": { + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@lezer/common": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@lezer/common/-/common-1.2.1.tgz", + "integrity": "sha512-yemX0ZD2xS/73llMZIK6KplkjIjf2EvAHcinDi/TfJ9hS25G0388+ClHt6/3but0oOxinTcQHJLDXh6w1crzFQ==", + "peer": true + }, + "node_modules/@lezer/highlight": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@lezer/highlight/-/highlight-1.2.0.tgz", + "integrity": "sha512-WrS5Mw51sGrpqjlh3d4/fOwpEV2Hd3YOkp9DBt4k8XZQcoTHZFB7sx030A6OcahF4J1nDQAa3jXlTVVYH50IFA==", + "peer": true, + "dependencies": { + "@lezer/common": "^1.0.0" + } + }, + "node_modules/@lezer/lr": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@lezer/lr/-/lr-1.4.1.tgz", + "integrity": "sha512-CHsKq8DMKBf9b3yXPDIU4DbH+ZJd/sJdYOW2llbW/HudP5u0VS6Bfq1hLYfgU7uAYGFIyGGQIsSOXGPEErZiJw==", + "peer": true, + "dependencies": { + "@lezer/common": "^1.0.0" + } + }, + "node_modules/@motionone/animation": { + "version": "10.15.1", + "resolved": "https://registry.npmjs.org/@motionone/animation/-/animation-10.15.1.tgz", + "integrity": "sha512-mZcJxLjHor+bhcPuIFErMDNyrdb2vJur8lSfMCsuCB4UyV8ILZLvK+t+pg56erv8ud9xQGK/1OGPt10agPrCyQ==", + "dependencies": { + "@motionone/easing": "^10.15.1", + "@motionone/types": "^10.15.1", + "@motionone/utils": "^10.15.1", + "tslib": "^2.3.1" + } + }, + "node_modules/@motionone/dom": { + "version": "10.12.0", + "resolved": "https://registry.npmjs.org/@motionone/dom/-/dom-10.12.0.tgz", + "integrity": "sha512-UdPTtLMAktHiqV0atOczNYyDd/d8Cf5fFsd1tua03PqTwwCe/6lwhLSQ8a7TbnQ5SN0gm44N1slBfj+ORIhrqw==", + "dependencies": { + "@motionone/animation": "^10.12.0", + "@motionone/generators": "^10.12.0", + "@motionone/types": "^10.12.0", + "@motionone/utils": "^10.12.0", + "hey-listen": "^1.0.8", + "tslib": "^2.3.1" + } + }, + "node_modules/@motionone/easing": { + "version": "10.15.1", + "resolved": "https://registry.npmjs.org/@motionone/easing/-/easing-10.15.1.tgz", + "integrity": "sha512-6hIHBSV+ZVehf9dcKZLT7p5PEKHGhDwky2k8RKkmOvUoYP3S+dXsKupyZpqx5apjd9f+php4vXk4LuS+ADsrWw==", + "dependencies": { + "@motionone/utils": "^10.15.1", + "tslib": "^2.3.1" + } + }, + "node_modules/@motionone/generators": { + "version": "10.15.1", + "resolved": "https://registry.npmjs.org/@motionone/generators/-/generators-10.15.1.tgz", + "integrity": "sha512-67HLsvHJbw6cIbLA/o+gsm7h+6D4Sn7AUrB/GPxvujse1cGZ38F5H7DzoH7PhX+sjvtDnt2IhFYF2Zp1QTMKWQ==", + "dependencies": { + "@motionone/types": "^10.15.1", + "@motionone/utils": "^10.15.1", + "tslib": "^2.3.1" + } + }, + "node_modules/@motionone/types": { + "version": "10.15.1", + "resolved": "https://registry.npmjs.org/@motionone/types/-/types-10.15.1.tgz", + "integrity": "sha512-iIUd/EgUsRZGrvW0jqdst8st7zKTzS9EsKkP+6c6n4MPZoQHwiHuVtTQLD6Kp0bsBLhNzKIBlHXponn/SDT4hA==" + }, + "node_modules/@motionone/utils": { + "version": "10.15.1", + "resolved": "https://registry.npmjs.org/@motionone/utils/-/utils-10.15.1.tgz", + "integrity": "sha512-p0YncgU+iklvYr/Dq4NobTRdAPv9PveRDUXabPEeOjBLSO/1FNB2phNTZxOxpi1/GZwYpAoECEa0Wam+nsmhSw==", + "dependencies": { + "@motionone/types": "^10.15.1", + "hey-listen": "^1.0.8", + "tslib": "^2.3.1" + } + }, + "node_modules/@n1ru4l/push-pull-async-iterable-iterator": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@n1ru4l/push-pull-async-iterable-iterator/-/push-pull-async-iterable-iterator-3.2.0.tgz", + "integrity": "sha512-3fkKj25kEjsfObL6IlKPAlHYPq/oYwUkkQ03zsTTiDjD7vg/RxjdiLeCydqtxHZP0JgsXL3D/X5oAkMGzuUp/Q==", + "engines": { + "node": ">=12" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@peculiar/asn1-schema": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-schema/-/asn1-schema-2.3.6.tgz", + "integrity": "sha512-izNRxPoaeJeg/AyH8hER6s+H7p4itk+03QCa4sbxI3lNdseQYCuxzgsuNK8bTXChtLTjpJz6NmXKA73qLa3rCA==", + "dependencies": { + "asn1js": "^3.0.5", + "pvtsutils": "^1.3.2", + "tslib": "^2.4.0" + } + }, + "node_modules/@peculiar/json-schema": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/@peculiar/json-schema/-/json-schema-1.1.12.tgz", + "integrity": "sha512-coUfuoMeIB7B8/NMekxaDzLhaYmp0HZNPEjYRm9goRou8UZIC3z21s0sL9AWoCw4EG876QyO3kYrc61WNF9B/w==", + "dependencies": { + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@peculiar/webcrypto": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/@peculiar/webcrypto/-/webcrypto-1.4.3.tgz", + "integrity": "sha512-VtaY4spKTdN5LjJ04im/d/joXuvLbQdgy5Z4DXF4MFZhQ+MTrejbNMkfZBp1Bs3O5+bFqnJgyGdPuZQflvIa5A==", + "dependencies": { + "@peculiar/asn1-schema": "^2.3.6", + "@peculiar/json-schema": "^1.1.12", + "pvtsutils": "^1.3.2", + "tslib": "^2.5.0", + "webcrypto-core": "^1.7.7" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/@radix-ui/primitive": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.0.1.tgz", + "integrity": "sha512-yQ8oGX2GVsEYMWGxcovu1uGWPCxV5BFfeeYxqPmuAzUyLT9qmaMXSAhXpb0WrspIeqYzdJpkh2vHModJPgRIaw==", + "dependencies": { + "@babel/runtime": "^7.13.10" + } + }, + "node_modules/@radix-ui/react-arrow": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-arrow/-/react-arrow-1.0.3.tgz", + "integrity": "sha512-wSP+pHsB/jQRaL6voubsQ/ZlrGBHHrOjmBnr19hxYgtS0WvAFwZhK2WP/YY5yF9uKECCEEDGxuLxq1NBK51wFA==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-primitive": "1.0.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-collection": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-collection/-/react-collection-1.0.3.tgz", + "integrity": "sha512-3SzW+0PW7yBBoQlT8wNcGtaxaD0XSu0uLUFgrtHY08Acx05TaHaOmVLR73c0j/cqpDy53KBMO7s0dx2wmOIDIA==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-slot": "1.0.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-compose-refs": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.0.1.tgz", + "integrity": "sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-context": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.0.1.tgz", + "integrity": "sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg==", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-dialog": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dialog/-/react-dialog-1.0.4.tgz", + "integrity": "sha512-hJtRy/jPULGQZceSAP2Re6/4NpKo8im6V8P2hUqZsdFiSL8l35kYsw3qbRI6Ay5mQd2+wlLqje770eq+RJ3yZg==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-dismissable-layer": "1.0.4", + "@radix-ui/react-focus-guards": "1.0.1", + "@radix-ui/react-focus-scope": "1.0.3", + "@radix-ui/react-id": "1.0.1", + "@radix-ui/react-portal": "1.0.3", + "@radix-ui/react-presence": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-slot": "1.0.2", + "@radix-ui/react-use-controllable-state": "1.0.1", + "aria-hidden": "^1.1.1", + "react-remove-scroll": "2.5.5" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-direction": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-direction/-/react-direction-1.0.1.tgz", + "integrity": "sha512-RXcvnXgyvYvBEOhCBuddKecVkoMiI10Jcm5cTI7abJRAHYfFxeu+FBQs/DvdxSYucxR5mna0dNsL6QFlds5TMA==", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-dismissable-layer": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.0.4.tgz", + "integrity": "sha512-7UpBa/RKMoHJYjie1gkF1DlK8l1fdU/VKDpoS3rCCo8YBJR294GwcEHyxHw72yvphJ7ld0AXEcSLAzY2F/WyCg==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-callback-ref": "1.0.1", + "@radix-ui/react-use-escape-keydown": "1.0.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-dropdown-menu": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dropdown-menu/-/react-dropdown-menu-2.0.5.tgz", + "integrity": "sha512-xdOrZzOTocqqkCkYo8yRPCib5OkTkqN7lqNCdxwPOdE466DOaNl4N8PkUIlsXthQvW5Wwkd+aEmWpfWlBoDPEw==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-id": "1.0.1", + "@radix-ui/react-menu": "2.0.5", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-controllable-state": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-focus-guards": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-guards/-/react-focus-guards-1.0.1.tgz", + "integrity": "sha512-Rect2dWbQ8waGzhMavsIbmSVCgYxkXLxxR3ZvCX79JOglzdEy4JXMb98lq4hPxUbLr77nP0UOGf4rcMU+s1pUA==", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-focus-scope": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.0.3.tgz", + "integrity": "sha512-upXdPfqI4islj2CslyfUBNlaJCPybbqRHAi1KER7Isel9Q2AtSJ0zRBZv8mWQiFXD2nyAJ4BhC3yXgZ6kMBSrQ==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-callback-ref": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-id": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.0.1.tgz", + "integrity": "sha512-tI7sT/kqYp8p96yGWY1OAnLHrqDgzHefRBKQ2YAkBS5ja7QLcZ9Z/uY7bEjPUatf8RomoXM8/1sMj1IJaE5UzQ==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-use-layout-effect": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-menu": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@radix-ui/react-menu/-/react-menu-2.0.5.tgz", + "integrity": "sha512-Gw4f9pwdH+w5w+49k0gLjN0PfRDHvxmAgG16AbyJZ7zhwZ6PBHKtWohvnSwfusfnK3L68dpBREHpVkj8wEM7ZA==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-collection": "1.0.3", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-direction": "1.0.1", + "@radix-ui/react-dismissable-layer": "1.0.4", + "@radix-ui/react-focus-guards": "1.0.1", + "@radix-ui/react-focus-scope": "1.0.3", + "@radix-ui/react-id": "1.0.1", + "@radix-ui/react-popper": "1.1.2", + "@radix-ui/react-portal": "1.0.3", + "@radix-ui/react-presence": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-roving-focus": "1.0.4", + "@radix-ui/react-slot": "1.0.2", + "@radix-ui/react-use-callback-ref": "1.0.1", + "aria-hidden": "^1.1.1", + "react-remove-scroll": "2.5.5" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-popper": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.1.2.tgz", + "integrity": "sha512-1CnGGfFi/bbqtJZZ0P/NQY20xdG3E0LALJaLUEoKwPLwl6PPPfbeiCqMVQnhoFRAxjJj4RpBRJzDmUgsex2tSg==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@floating-ui/react-dom": "^2.0.0", + "@radix-ui/react-arrow": "1.0.3", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-callback-ref": "1.0.1", + "@radix-ui/react-use-layout-effect": "1.0.1", + "@radix-ui/react-use-rect": "1.0.1", + "@radix-ui/react-use-size": "1.0.1", + "@radix-ui/rect": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-portal": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.0.3.tgz", + "integrity": "sha512-xLYZeHrWoPmA5mEKEfZZevoVRK/Q43GfzRXkWV6qawIWWK8t6ifIiLQdd7rmQ4Vk1bmI21XhqF9BN3jWf+phpA==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-primitive": "1.0.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-presence": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.0.1.tgz", + "integrity": "sha512-UXLW4UAbIY5ZjcvzjfRFo5gxva8QirC9hF7wRE4U5gz+TP0DbRk+//qyuAQ1McDxBt1xNMBTaciFGvEmJvAZCg==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-use-layout-effect": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-primitive": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-1.0.3.tgz", + "integrity": "sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-slot": "1.0.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-roving-focus": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-roving-focus/-/react-roving-focus-1.0.4.tgz", + "integrity": "sha512-2mUg5Mgcu001VkGy+FfzZyzbmuUWzgWkj3rvv4yu+mLw03+mTzbxZHvfcGyFp2b8EkQeMkpRQ5FiA2Vr2O6TeQ==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-collection": "1.0.3", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-direction": "1.0.1", + "@radix-ui/react-id": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-callback-ref": "1.0.1", + "@radix-ui/react-use-controllable-state": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-slot": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.0.2.tgz", + "integrity": "sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-tooltip": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@radix-ui/react-tooltip/-/react-tooltip-1.0.6.tgz", + "integrity": "sha512-DmNFOiwEc2UDigsYj6clJENma58OelxD24O4IODoZ+3sQc3Zb+L8w1EP+y9laTuKCLAysPw4fD6/v0j4KNV8rg==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-dismissable-layer": "1.0.4", + "@radix-ui/react-id": "1.0.1", + "@radix-ui/react-popper": "1.1.2", + "@radix-ui/react-portal": "1.0.3", + "@radix-ui/react-presence": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-slot": "1.0.2", + "@radix-ui/react-use-controllable-state": "1.0.1", + "@radix-ui/react-visually-hidden": "1.0.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-callback-ref": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.0.1.tgz", + "integrity": "sha512-D94LjX4Sp0xJFVaoQOd3OO9k7tpBYNOXdVhkltUbGv2Qb9OXdrg/CpsjlZv7ia14Sylv398LswWBVVu5nqKzAQ==", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-controllable-state": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.0.1.tgz", + "integrity": "sha512-Svl5GY5FQeN758fWKrjM6Qb7asvXeiZltlT4U2gVfl8Gx5UAv2sMR0LWo8yhsIZh2oQ0eFdZ59aoOOMV7b47VA==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-use-callback-ref": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-escape-keydown": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.0.3.tgz", + "integrity": "sha512-vyL82j40hcFicA+M4Ex7hVkB9vHgSse1ZWomAqV2Je3RleKGO5iM8KMOEtfoSB0PnIelMd2lATjTGMYqN5ylTg==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-use-callback-ref": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-layout-effect": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.0.1.tgz", + "integrity": "sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ==", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-rect": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-rect/-/react-use-rect-1.0.1.tgz", + "integrity": "sha512-Cq5DLuSiuYVKNU8orzJMbl15TXilTnJKUCltMVQg53BQOF1/C5toAaGrowkgksdBQ9H+SRL23g0HDmg9tvmxXw==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/rect": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-size": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-size/-/react-use-size-1.0.1.tgz", + "integrity": "sha512-ibay+VqrgcaI6veAojjofPATwledXiSmX+C0KrBk/xgpX9rBzPV3OsfwlhQdUOFbh+LKQorLYT+xTXW9V8yd0g==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-use-layout-effect": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-visually-hidden": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.0.3.tgz", + "integrity": "sha512-D4w41yN5YRKtu464TLnByKzMDG/JlMPHtfZgQAu9v6mNakUqGUI9vUrfQKz8NK41VMm/xbZbh76NUTVtIYqOMA==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-primitive": "1.0.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/rect": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/rect/-/rect-1.0.1.tgz", + "integrity": "sha512-fyrgCaedtvMg9NK3en0pnOYJdtfwxUcNolezkNPUsoX57X8oQk+NkqcvzHXD2uKNij6GXmWU9NDru2IWjrO4BQ==", + "dependencies": { + "@babel/runtime": "^7.13.10" + } + }, + "node_modules/@redocly/ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/@redocly/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-9GWx27t7xWhDIR02PA18nzBdLcKQRgc46xNQvjFkrYk4UOmvKhJ/dawwiX0cCOeetN5LcaaiqQbVOWYK62SGHw==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@redocly/config": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@redocly/config/-/config-0.5.0.tgz", + "integrity": "sha512-oA1ezWPT2tSV9CLk0FtZlViaFKtp+id3iAVeKBme1DdP4xUCdxEdP8umB21iLKdc6leRd5uGa+T5Ox4nHBAXWg==" + }, + "node_modules/@redocly/openapi-core": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/@redocly/openapi-core/-/openapi-core-1.14.0.tgz", + "integrity": "sha512-sraF4PGVcc6t6CaYw5raO/GWeOaa6UjcEvH/+Qm7zp+q/fbWAMwbj+1QzaNvpMspCwF+xW6TddDcnXrCDmqYVA==", + "dependencies": { + "@redocly/ajv": "^8.11.0", + "@redocly/config": "^0.5.0", + "colorette": "^1.2.0", + "js-levenshtein": "^1.1.6", + "js-yaml": "^4.1.0", + "lodash.isequal": "^4.5.0", + "minimatch": "^5.0.1", + "node-fetch": "^2.6.1", + "pluralize": "^8.0.0", + "yaml-ast-parser": "0.0.43" + }, + "engines": { + "node": ">=14.19.0", + "npm": ">=7.0.0" + } + }, + "node_modules/@redocly/openapi-core/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "node_modules/@redocly/openapi-core/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@redocly/openapi-core/node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/@redocly/openapi-core/node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, + "node_modules/@redocly/openapi-core/node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "node_modules/@redocly/openapi-core/node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/@redux-saga/core": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@redux-saga/core/-/core-1.2.3.tgz", + "integrity": "sha512-U1JO6ncFBAklFTwoQ3mjAeQZ6QGutsJzwNBjgVLSWDpZTRhobUzuVDS1qH3SKGJD8fvqoaYOjp6XJ3gCmeZWgA==", + "dependencies": { + "@babel/runtime": "^7.6.3", + "@redux-saga/deferred": "^1.2.1", + "@redux-saga/delay-p": "^1.2.1", + "@redux-saga/is": "^1.1.3", + "@redux-saga/symbols": "^1.1.3", + "@redux-saga/types": "^1.2.1", + "redux": "^4.0.4", + "typescript-tuple": "^2.2.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/redux-saga" + } + }, + "node_modules/@redux-saga/deferred": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@redux-saga/deferred/-/deferred-1.2.1.tgz", + "integrity": "sha512-cmin3IuuzMdfQjA0lG4B+jX+9HdTgHZZ+6u3jRAOwGUxy77GSlTi4Qp2d6PM1PUoTmQUR5aijlA39scWWPF31g==" + }, + "node_modules/@redux-saga/delay-p": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@redux-saga/delay-p/-/delay-p-1.2.1.tgz", + "integrity": "sha512-MdiDxZdvb1m+Y0s4/hgdcAXntpUytr9g0hpcOO1XFVyyzkrDu3SKPgBFOtHn7lhu7n24ZKIAT1qtKyQjHqRd+w==", + "dependencies": { + "@redux-saga/symbols": "^1.1.3" + } + }, + "node_modules/@redux-saga/is": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@redux-saga/is/-/is-1.1.3.tgz", + "integrity": "sha512-naXrkETG1jLRfVfhOx/ZdLj0EyAzHYbgJWkXbB3qFliPcHKiWbv/ULQryOAEKyjrhiclmr6AMdgsXFyx7/yE6Q==", + "dependencies": { + "@redux-saga/symbols": "^1.1.3", + "@redux-saga/types": "^1.2.1" + } + }, + "node_modules/@redux-saga/symbols": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@redux-saga/symbols/-/symbols-1.1.3.tgz", + "integrity": "sha512-hCx6ZvU4QAEUojETnX8EVg4ubNLBFl1Lps4j2tX7o45x/2qg37m3c6v+kSp8xjDJY+2tJw4QB3j8o8dsl1FDXg==" + }, + "node_modules/@redux-saga/types": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@redux-saga/types/-/types-1.2.1.tgz", + "integrity": "sha512-1dgmkh+3so0+LlBWRhGA33ua4MYr7tUOj+a9Si28vUi0IUFNbff1T3sgpeDJI/LaC75bBYnQ0A3wXjn0OrRNBA==" + }, + "node_modules/@repeaterjs/repeater": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@repeaterjs/repeater/-/repeater-3.0.4.tgz", + "integrity": "sha512-AW8PKd6iX3vAZ0vA43nOUOnbq/X5ihgU+mSXXqunMkeQADGiqw/PY0JNeYtD5sr0PAy51YPgAPbDoeapv9r8WA==" + }, + "node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==" + }, + "node_modules/@sinonjs/commons": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", + "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", + "dependencies": { + "@sinonjs/commons": "^3.0.0" + } + }, + "node_modules/@swagger-api/apidom-ast": { + "version": "1.0.0-alpha.5", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ast/-/apidom-ast-1.0.0-alpha.5.tgz", + "integrity": "sha512-ZH3xryzmwd8OvUdOJH4ujNAyQMXN6NCrRT0HGR8z9TnA0nFPFoOAswq7317mCn77VJmViu/tpCuvmRS0a9BROg==", + "dependencies": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-error": "^1.0.0-alpha.5", + "@types/ramda": "~0.30.0", + "ramda": "~0.30.0", + "ramda-adjunct": "^5.0.0", + "unraw": "^3.0.0" + } + }, + "node_modules/@swagger-api/apidom-core": { + "version": "1.0.0-alpha.5", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-core/-/apidom-core-1.0.0-alpha.5.tgz", + "integrity": "sha512-iArtPxwcQ/EpQU/VqwBDrD+F0lngyUyLVCa8zR4gT+7mP6fpiU7jcerizw0hDpFmvieXddx5UdfO28Pxuq204g==", + "dependencies": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-ast": "^1.0.0-alpha.5", + "@swagger-api/apidom-error": "^1.0.0-alpha.5", + "@types/ramda": "~0.30.0", + "minim": "~0.23.8", + "ramda": "~0.30.0", + "ramda-adjunct": "^5.0.0", + "short-unique-id": "^5.0.2", + "ts-mixer": "^6.0.3" + } + }, + "node_modules/@swagger-api/apidom-error": { + "version": "1.0.0-alpha.5", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-error/-/apidom-error-1.0.0-alpha.5.tgz", + "integrity": "sha512-5UEgSZuQPdkqKSKDtRXQ0cm7x1o4EPyusLBVsCG4l8QtJvAhG1OOpEzJbTZ48/nRt7VkbK7MTj/up+oEILzVvw==", + "dependencies": { + "@babel/runtime-corejs3": "^7.20.7" + } + }, + "node_modules/@swagger-api/apidom-json-pointer": { + "version": "1.0.0-alpha.5", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-json-pointer/-/apidom-json-pointer-1.0.0-alpha.5.tgz", + "integrity": "sha512-eDAz7/UaGpGCvB0y1GoRjFwxFWseCsF/0ZYIQvvq9PS025inc/I6M+XX8dWMmkpNpbbf+KfD7WlwfqnUZLv/MQ==", + "dependencies": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-core": "^1.0.0-alpha.5", + "@swagger-api/apidom-error": "^1.0.0-alpha.5", + "@types/ramda": "~0.30.0", + "ramda": "~0.30.0", + "ramda-adjunct": "^5.0.0" + } + }, + "node_modules/@swagger-api/apidom-ns-api-design-systems": { + "version": "1.0.0-alpha.5", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-api-design-systems/-/apidom-ns-api-design-systems-1.0.0-alpha.5.tgz", + "integrity": "sha512-aq9Ix2Wo2TMfYW3HmheTO3qVd2MYrdinjLFHn9uozzC2x+CSzALhvKkwOc29HiGOn4QQ6QHHPRojNgD86WkwUg==", + "optional": true, + "dependencies": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-core": "^1.0.0-alpha.5", + "@swagger-api/apidom-error": "^1.0.0-alpha.5", + "@swagger-api/apidom-ns-openapi-3-1": "^1.0.0-alpha.5", + "@types/ramda": "~0.30.0", + "ramda": "~0.30.0", + "ramda-adjunct": "^5.0.0", + "ts-mixer": "^6.0.3" + } + }, + "node_modules/@swagger-api/apidom-ns-asyncapi-2": { + "version": "1.0.0-alpha.5", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-asyncapi-2/-/apidom-ns-asyncapi-2-1.0.0-alpha.5.tgz", + "integrity": "sha512-JFtQBhCOkYuyNVcYGMFd9+U0UO6lEj9kO5qCgUjPOTgkOpZOZQslVEtg3TDmRlBATwVdmRv39xy3ZLK8O/JdmQ==", + "optional": true, + "dependencies": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-core": "^1.0.0-alpha.5", + "@swagger-api/apidom-ns-json-schema-draft-7": "^1.0.0-alpha.5", + "@types/ramda": "~0.30.0", + "ramda": "~0.30.0", + "ramda-adjunct": "^5.0.0", + "ts-mixer": "^6.0.3" + } + }, + "node_modules/@swagger-api/apidom-ns-json-schema-draft-4": { + "version": "1.0.0-alpha.5", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-json-schema-draft-4/-/apidom-ns-json-schema-draft-4-1.0.0-alpha.5.tgz", + "integrity": "sha512-aDmcpGikL5JZmDTg7J6EJfLFjtUmX/MfduS4hQeopFCkw91dZsqxO10j7KEiRVVuJBuGStbYoHI5aIsQTlebzA==", + "dependencies": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-ast": "^1.0.0-alpha.5", + "@swagger-api/apidom-core": "^1.0.0-alpha.5", + "@types/ramda": "~0.30.0", + "ramda": "~0.30.0", + "ramda-adjunct": "^5.0.0", + "ts-mixer": "^6.0.4" + } + }, + "node_modules/@swagger-api/apidom-ns-json-schema-draft-6": { + "version": "1.0.0-alpha.5", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-json-schema-draft-6/-/apidom-ns-json-schema-draft-6-1.0.0-alpha.5.tgz", + "integrity": "sha512-ylh96E59aaV1VDv9sDrNwpTmjVT6vmOSncpmytlc0ynb374dwZkLZ63Hd30rcMFAhKmg5aYOG+i5O1QXKFYz8A==", + "optional": true, + "dependencies": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-core": "^1.0.0-alpha.5", + "@swagger-api/apidom-error": "^1.0.0-alpha.5", + "@swagger-api/apidom-ns-json-schema-draft-4": "^1.0.0-alpha.5", + "@types/ramda": "~0.30.0", + "ramda": "~0.30.0", + "ramda-adjunct": "^5.0.0", + "ts-mixer": "^6.0.4" + } + }, + "node_modules/@swagger-api/apidom-ns-json-schema-draft-7": { + "version": "1.0.0-alpha.5", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-json-schema-draft-7/-/apidom-ns-json-schema-draft-7-1.0.0-alpha.5.tgz", + "integrity": "sha512-Mks9gabJvz4atkjzLDwjWbo12xirul7a9ifHYZQJc/jfVKfVNy1e3QgFG1+EbSWWG5Yfbr3WKyxUDJLgr75qKg==", + "optional": true, + "dependencies": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-core": "^1.0.0-alpha.5", + "@swagger-api/apidom-error": "^1.0.0-alpha.5", + "@swagger-api/apidom-ns-json-schema-draft-6": "^1.0.0-alpha.5", + "@types/ramda": "~0.30.0", + "ramda": "~0.30.0", + "ramda-adjunct": "^5.0.0", + "ts-mixer": "^6.0.4" + } + }, + "node_modules/@swagger-api/apidom-ns-openapi-2": { + "version": "1.0.0-alpha.5", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-openapi-2/-/apidom-ns-openapi-2-1.0.0-alpha.5.tgz", + "integrity": "sha512-uY+1G4oRf9UT/6sGuatvWKstmlRnEiN9XqaVvV8euXESxI4jtwcPbRwoEX31vEYXoTqq2ZScFy8UQJ2CJ2ZADw==", + "optional": true, + "dependencies": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-core": "^1.0.0-alpha.5", + "@swagger-api/apidom-error": "^1.0.0-alpha.5", + "@swagger-api/apidom-ns-json-schema-draft-4": "^1.0.0-alpha.5", + "@types/ramda": "~0.30.0", + "ramda": "~0.30.0", + "ramda-adjunct": "^5.0.0", + "ts-mixer": "^6.0.3" + } + }, + "node_modules/@swagger-api/apidom-ns-openapi-3-0": { + "version": "1.0.0-alpha.5", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-openapi-3-0/-/apidom-ns-openapi-3-0-1.0.0-alpha.5.tgz", + "integrity": "sha512-UAOGZaGMDVRQ10l8OgXCAfxS9PxGoCW66o/vFmhPfrK8NwU1GEo6sYHYoo1mflNMHCN2eVYyM5LxA+qYm0SJgQ==", + "dependencies": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-core": "^1.0.0-alpha.5", + "@swagger-api/apidom-error": "^1.0.0-alpha.5", + "@swagger-api/apidom-ns-json-schema-draft-4": "^1.0.0-alpha.5", + "@types/ramda": "~0.30.0", + "ramda": "~0.30.0", + "ramda-adjunct": "^5.0.0", + "ts-mixer": "^6.0.3" + } + }, + "node_modules/@swagger-api/apidom-ns-openapi-3-1": { + "version": "1.0.0-alpha.5", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-openapi-3-1/-/apidom-ns-openapi-3-1-1.0.0-alpha.5.tgz", + "integrity": "sha512-8VkdZ2MfxXIdmzQZrV0qGk18MG7XNJKIL3GT9lad9NyXyiKSvBVFJDmS4S43qcQTL0rjHXF6ds25yErDSTprjg==", + "dependencies": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-ast": "^1.0.0-alpha.5", + "@swagger-api/apidom-core": "^1.0.0-alpha.5", + "@swagger-api/apidom-json-pointer": "^1.0.0-alpha.5", + "@swagger-api/apidom-ns-openapi-3-0": "^1.0.0-alpha.5", + "@types/ramda": "~0.30.0", + "ramda": "~0.30.0", + "ramda-adjunct": "^5.0.0", + "ts-mixer": "^6.0.3" + } + }, + "node_modules/@swagger-api/apidom-ns-workflows-1": { + "version": "1.0.0-alpha.5", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-ns-workflows-1/-/apidom-ns-workflows-1-1.0.0-alpha.5.tgz", + "integrity": "sha512-6cMv37y4kftJySoMAeubz5yhHaRKnSK0YglvCv8v7rE2OBduR/yEITDOej2/KFAnt29LxkhotSbNsmHx0weICQ==", + "optional": true, + "dependencies": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-core": "^1.0.0-alpha.5", + "@swagger-api/apidom-ns-openapi-3-1": "^1.0.0-alpha.5", + "@types/ramda": "~0.30.0", + "ramda": "~0.30.0", + "ramda-adjunct": "^5.0.0", + "ts-mixer": "^6.0.3" + } + }, + "node_modules/@swagger-api/apidom-parser-adapter-api-design-systems-json": { + "version": "1.0.0-alpha.5", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-api-design-systems-json/-/apidom-parser-adapter-api-design-systems-json-1.0.0-alpha.5.tgz", + "integrity": "sha512-QVWS2sPKA1sG52UIJut/St6+j7zO8QxzPlL5akR/8QPX2FWKqmw808Ewvjq9WLtqlPhVY2G33tv90d4/FJUNwQ==", + "optional": true, + "dependencies": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-core": "^1.0.0-alpha.5", + "@swagger-api/apidom-ns-api-design-systems": "^1.0.0-alpha.5", + "@swagger-api/apidom-parser-adapter-json": "^1.0.0-alpha.5", + "@types/ramda": "~0.30.0", + "ramda": "~0.30.0", + "ramda-adjunct": "^5.0.0" + } + }, + "node_modules/@swagger-api/apidom-parser-adapter-api-design-systems-yaml": { + "version": "1.0.0-alpha.5", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-api-design-systems-yaml/-/apidom-parser-adapter-api-design-systems-yaml-1.0.0-alpha.5.tgz", + "integrity": "sha512-T7UD/SWd5u2zlPyswDdtfAStm6Qt5hQWAWvCmQKxy37qJA9QGXcQKNavaSMPGvN660hufNaJEBxgJ/B0Zd5iaw==", + "optional": true, + "dependencies": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-core": "^1.0.0-alpha.5", + "@swagger-api/apidom-ns-api-design-systems": "^1.0.0-alpha.5", + "@swagger-api/apidom-parser-adapter-yaml-1-2": "^1.0.0-alpha.5", + "@types/ramda": "~0.30.0", + "ramda": "~0.30.0", + "ramda-adjunct": "^5.0.0" + } + }, + "node_modules/@swagger-api/apidom-parser-adapter-asyncapi-json-2": { + "version": "1.0.0-alpha.5", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-asyncapi-json-2/-/apidom-parser-adapter-asyncapi-json-2-1.0.0-alpha.5.tgz", + "integrity": "sha512-UfCS9DFIURTUfaHfmEn8omHaevIV2i24Ncp46M/Pnk6JwZHjAEMxmPxsgMl4TTGbzqvySUQsJka8Qz1ziYZ1og==", + "optional": true, + "dependencies": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-core": "^1.0.0-alpha.5", + "@swagger-api/apidom-ns-asyncapi-2": "^1.0.0-alpha.5", + "@swagger-api/apidom-parser-adapter-json": "^1.0.0-alpha.5", + "@types/ramda": "~0.30.0", + "ramda": "~0.30.0", + "ramda-adjunct": "^5.0.0" + } + }, + "node_modules/@swagger-api/apidom-parser-adapter-asyncapi-yaml-2": { + "version": "1.0.0-alpha.5", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-asyncapi-yaml-2/-/apidom-parser-adapter-asyncapi-yaml-2-1.0.0-alpha.5.tgz", + "integrity": "sha512-X5avFyLnlu6Zjyul35f8Ff0DRE70aNc+Bk7il+eV8g+FR/qgrmuNziQEBOhCrIUnYB1kFbTty6BZRsNLdjW9XQ==", + "optional": true, + "dependencies": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-core": "^1.0.0-alpha.5", + "@swagger-api/apidom-ns-asyncapi-2": "^1.0.0-alpha.5", + "@swagger-api/apidom-parser-adapter-yaml-1-2": "^1.0.0-alpha.5", + "@types/ramda": "~0.30.0", + "ramda": "~0.30.0", + "ramda-adjunct": "^5.0.0" + } + }, + "node_modules/@swagger-api/apidom-parser-adapter-json": { + "version": "1.0.0-alpha.5", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-json/-/apidom-parser-adapter-json-1.0.0-alpha.5.tgz", + "integrity": "sha512-NdVjlRrtr1EvrBsk6DHSkjI8zdnSve/bjeGgo0NR2IRmA/8BRcY6rffM1BR76Ku+CjxhCB2mfQxotilD71dL+g==", + "optional": true, + "dependencies": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-ast": "^1.0.0-alpha.5", + "@swagger-api/apidom-core": "^1.0.0-alpha.5", + "@swagger-api/apidom-error": "^1.0.0-alpha.5", + "@types/ramda": "~0.30.0", + "ramda": "~0.30.0", + "ramda-adjunct": "^5.0.0", + "tree-sitter": "=0.20.4", + "tree-sitter-json": "=0.20.2", + "web-tree-sitter": "=0.20.3" + } + }, + "node_modules/@swagger-api/apidom-parser-adapter-openapi-json-2": { + "version": "1.0.0-alpha.5", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-openapi-json-2/-/apidom-parser-adapter-openapi-json-2-1.0.0-alpha.5.tgz", + "integrity": "sha512-qOwQl2WezfdDVmtf9ZlOiqT1hcDS52j7ZbBdH9MqMGJ+/mo6sv0qEY2ZXS104lWeRamgi4o/4o4jGqjZS1YrMg==", + "optional": true, + "dependencies": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-core": "^1.0.0-alpha.5", + "@swagger-api/apidom-ns-openapi-2": "^1.0.0-alpha.5", + "@swagger-api/apidom-parser-adapter-json": "^1.0.0-alpha.5", + "@types/ramda": "~0.30.0", + "ramda": "~0.30.0", + "ramda-adjunct": "^5.0.0" + } + }, + "node_modules/@swagger-api/apidom-parser-adapter-openapi-json-3-0": { + "version": "1.0.0-alpha.5", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-openapi-json-3-0/-/apidom-parser-adapter-openapi-json-3-0-1.0.0-alpha.5.tgz", + "integrity": "sha512-t5oj7XteTu2Yh8uNkzXAcKU81CQky+q6Qt/ImQ/S6MGxpXJnWwgVfm/j/dH2wnHFKghNS3vgm6IewpojSbUw4w==", + "optional": true, + "dependencies": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-core": "^1.0.0-alpha.5", + "@swagger-api/apidom-ns-openapi-3-0": "^1.0.0-alpha.5", + "@swagger-api/apidom-parser-adapter-json": "^1.0.0-alpha.5", + "@types/ramda": "~0.30.0", + "ramda": "~0.30.0", + "ramda-adjunct": "^5.0.0" + } + }, + "node_modules/@swagger-api/apidom-parser-adapter-openapi-json-3-1": { + "version": "1.0.0-alpha.5", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-openapi-json-3-1/-/apidom-parser-adapter-openapi-json-3-1-1.0.0-alpha.5.tgz", + "integrity": "sha512-w0G53HXYdzcespfa3atN90jVLDRoH9FU7XEWG4DvFWM90WGwuNscojcaB28r8pZMhSQAKMPxggh6PnmvK3gdEQ==", + "optional": true, + "dependencies": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-core": "^1.0.0-alpha.5", + "@swagger-api/apidom-ns-openapi-3-1": "^1.0.0-alpha.5", + "@swagger-api/apidom-parser-adapter-json": "^1.0.0-alpha.5", + "@types/ramda": "~0.30.0", + "ramda": "~0.30.0", + "ramda-adjunct": "^5.0.0" + } + }, + "node_modules/@swagger-api/apidom-parser-adapter-openapi-yaml-2": { + "version": "1.0.0-alpha.5", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-openapi-yaml-2/-/apidom-parser-adapter-openapi-yaml-2-1.0.0-alpha.5.tgz", + "integrity": "sha512-nfeYRL0o6QwtKsyF30d2JmtW7fzoI/EYKSFgzaDm7IFlrQWMpB6BidpZKdk5MtYN4zvmfAM+lOhrqR7a5BvHMg==", + "optional": true, + "dependencies": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-core": "^1.0.0-alpha.5", + "@swagger-api/apidom-ns-openapi-2": "^1.0.0-alpha.5", + "@swagger-api/apidom-parser-adapter-yaml-1-2": "^1.0.0-alpha.5", + "@types/ramda": "~0.30.0", + "ramda": "~0.30.0", + "ramda-adjunct": "^5.0.0" + } + }, + "node_modules/@swagger-api/apidom-parser-adapter-openapi-yaml-3-0": { + "version": "1.0.0-alpha.5", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-openapi-yaml-3-0/-/apidom-parser-adapter-openapi-yaml-3-0-1.0.0-alpha.5.tgz", + "integrity": "sha512-HRziGD/YUcO21hmDIYNzwYivp/faeZRxcq8Gex7RLLhJZ60fGTJJ1k1yhWFPNSe9DEJUNBN949SDxMdZnGT9PQ==", + "optional": true, + "dependencies": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-core": "^1.0.0-alpha.5", + "@swagger-api/apidom-ns-openapi-3-0": "^1.0.0-alpha.5", + "@swagger-api/apidom-parser-adapter-yaml-1-2": "^1.0.0-alpha.5", + "@types/ramda": "~0.30.0", + "ramda": "~0.30.0", + "ramda-adjunct": "^5.0.0" + } + }, + "node_modules/@swagger-api/apidom-parser-adapter-openapi-yaml-3-1": { + "version": "1.0.0-alpha.5", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-openapi-yaml-3-1/-/apidom-parser-adapter-openapi-yaml-3-1-1.0.0-alpha.5.tgz", + "integrity": "sha512-aul2wSOvkdp9jQjSv1pvEGllVaDUnTKmRbCy7M/dFQyIhJQBvwW+/Cu//PprzAODtFNraOBjIXiJ5tVdv6NuIQ==", + "optional": true, + "dependencies": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-core": "^1.0.0-alpha.5", + "@swagger-api/apidom-ns-openapi-3-1": "^1.0.0-alpha.5", + "@swagger-api/apidom-parser-adapter-yaml-1-2": "^1.0.0-alpha.5", + "@types/ramda": "~0.30.0", + "ramda": "~0.30.0", + "ramda-adjunct": "^5.0.0" + } + }, + "node_modules/@swagger-api/apidom-parser-adapter-workflows-json-1": { + "version": "1.0.0-alpha.5", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-workflows-json-1/-/apidom-parser-adapter-workflows-json-1-1.0.0-alpha.5.tgz", + "integrity": "sha512-R1LVe/gx7fRSCuDmmN3qScWonz6Xlaw11J+NAfiJzrNXBy1Qa1mCxgGs47w0slQN+FjYkVj5Y/q29jJgpUbLHA==", + "optional": true, + "dependencies": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-core": "^1.0.0-alpha.5", + "@swagger-api/apidom-ns-workflows-1": "^1.0.0-alpha.5", + "@swagger-api/apidom-parser-adapter-json": "^1.0.0-alpha.5", + "@types/ramda": "~0.30.0", + "ramda": "~0.30.0", + "ramda-adjunct": "^5.0.0" + } + }, + "node_modules/@swagger-api/apidom-parser-adapter-workflows-yaml-1": { + "version": "1.0.0-alpha.5", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-workflows-yaml-1/-/apidom-parser-adapter-workflows-yaml-1-1.0.0-alpha.5.tgz", + "integrity": "sha512-W5wD+TdGNdW4aP9uqkxFbVmjWvLOXyV02VvyStyTlzxdUaPzKY3FGaxjxk8TGVRqwe2yEQVUc2zfGalrScA/Sg==", + "optional": true, + "dependencies": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-core": "^1.0.0-alpha.5", + "@swagger-api/apidom-ns-workflows-1": "^1.0.0-alpha.5", + "@swagger-api/apidom-parser-adapter-yaml-1-2": "^1.0.0-alpha.5", + "@types/ramda": "~0.30.0", + "ramda": "~0.30.0", + "ramda-adjunct": "^5.0.0" + } + }, + "node_modules/@swagger-api/apidom-parser-adapter-yaml-1-2": { + "version": "1.0.0-alpha.5", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-parser-adapter-yaml-1-2/-/apidom-parser-adapter-yaml-1-2-1.0.0-alpha.5.tgz", + "integrity": "sha512-21TIQPkB+Z4ekNj5dh1uN0dhOBBCPeK572YpooA/pBTFLeH6Wtildx7ZZYfpJEejHaQKaqoRx3hp0G42GDOb7g==", + "optional": true, + "dependencies": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-ast": "^1.0.0-alpha.5", + "@swagger-api/apidom-core": "^1.0.0-alpha.5", + "@swagger-api/apidom-error": "^1.0.0-alpha.5", + "@types/ramda": "~0.30.0", + "ramda": "~0.30.0", + "ramda-adjunct": "^5.0.0", + "tree-sitter": "=0.20.4", + "tree-sitter-yaml": "=0.5.0", + "web-tree-sitter": "=0.20.3" + } + }, + "node_modules/@swagger-api/apidom-reference": { + "version": "1.0.0-alpha.5", + "resolved": "https://registry.npmjs.org/@swagger-api/apidom-reference/-/apidom-reference-1.0.0-alpha.5.tgz", + "integrity": "sha512-zPMTScWI8oVUAT//RdAhl9GJuwtQLibP8iCrqFQDGjBzKQS5Uxz4hSXr/jqKPdkCJXbEoP94yYjvQjtI5yrv1A==", + "dependencies": { + "@babel/runtime-corejs3": "^7.20.7", + "@swagger-api/apidom-core": "^1.0.0-alpha.5", + "@types/ramda": "~0.30.0", + "axios": "^1.4.0", + "minimatch": "^7.4.3", + "process": "^0.11.10", + "ramda": "~0.30.0", + "ramda-adjunct": "^5.0.0" + }, + "optionalDependencies": { + "@swagger-api/apidom-error": "^1.0.0-alpha.1", + "@swagger-api/apidom-json-pointer": "^1.0.0-alpha.1", + "@swagger-api/apidom-ns-asyncapi-2": "^1.0.0-alpha.1", + "@swagger-api/apidom-ns-openapi-2": "^1.0.0-alpha.1", + "@swagger-api/apidom-ns-openapi-3-0": "^1.0.0-alpha.1", + "@swagger-api/apidom-ns-openapi-3-1": "^1.0.0-alpha.1", + "@swagger-api/apidom-ns-workflows-1": "^1.0.0-alpha.1", + "@swagger-api/apidom-parser-adapter-api-design-systems-json": "^1.0.0-alpha.1", + "@swagger-api/apidom-parser-adapter-api-design-systems-yaml": "^1.0.0-alpha.1", + "@swagger-api/apidom-parser-adapter-asyncapi-json-2": "^1.0.0-alpha.1", + "@swagger-api/apidom-parser-adapter-asyncapi-yaml-2": "^1.0.0-alpha.1", + "@swagger-api/apidom-parser-adapter-json": "^1.0.0-alpha.1", + "@swagger-api/apidom-parser-adapter-openapi-json-2": "^1.0.0-alpha.1", + "@swagger-api/apidom-parser-adapter-openapi-json-3-0": "^1.0.0-alpha.1", + "@swagger-api/apidom-parser-adapter-openapi-json-3-1": "^1.0.0-alpha.1", + "@swagger-api/apidom-parser-adapter-openapi-yaml-2": "^1.0.0-alpha.1", + "@swagger-api/apidom-parser-adapter-openapi-yaml-3-0": "^1.0.0-alpha.1", + "@swagger-api/apidom-parser-adapter-openapi-yaml-3-1": "^1.0.0-alpha.1", + "@swagger-api/apidom-parser-adapter-workflows-json-1": "^1.0.0-alpha.1", + "@swagger-api/apidom-parser-adapter-workflows-yaml-1": "^1.0.0-alpha.1", + "@swagger-api/apidom-parser-adapter-yaml-1-2": "^1.0.0-alpha.1" + } + }, + "node_modules/@swagger-api/apidom-reference/node_modules/minimatch": { + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-7.4.6.tgz", + "integrity": "sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "engines": { + "node": ">= 10" + } + }, + "node_modules/@types/codemirror": { + "version": "5.60.10", + "resolved": "https://registry.npmjs.org/@types/codemirror/-/codemirror-5.60.10.tgz", + "integrity": "sha512-ZTA3teiCWKT8HUUofqlGPlShu5ojdIajizsS0HpH6GL0/iEdjRt7fXbCLHHqKYP5k7dC/HnnWIjZAiELUwBdjQ==", + "dependencies": { + "@types/tern": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", + "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==" + }, + "node_modules/@types/hast": { + "version": "2.3.10", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.10.tgz", + "integrity": "sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw==", + "dependencies": { + "@types/unist": "^2" + } + }, + "node_modules/@types/hoist-non-react-statics": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz", + "integrity": "sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==", + "dependencies": { + "@types/react": "*", + "hoist-non-react-statics": "^3.3.0" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==" + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/jsdom": { + "version": "20.0.1", + "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-20.0.1.tgz", + "integrity": "sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==", + "dependencies": { + "@types/node": "*", + "@types/tough-cookie": "*", + "parse5": "^7.0.0" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.12", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", + "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==" + }, + "node_modules/@types/lru-cache": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/@types/lru-cache/-/lru-cache-4.1.3.tgz", + "integrity": "sha512-QjCOmf5kYwekcsfEKhcEHMK8/SvgnneuSDXFERBuC/DPca2KJIO/gpChTsVb35BoWLBpEAJWz1GFVEArSdtKtw==" + }, + "node_modules/@types/node": { + "version": "20.6.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.6.0.tgz", + "integrity": "sha512-najjVq5KN2vsH2U/xyh2opaSEz6cZMR2SetLIlxlj08nOcmPOemJmUK2o4kUzfLqfrWE0PIrNeE16XhYDd3nqg==" + }, + "node_modules/@types/prop-types": { + "version": "15.7.5", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", + "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" + }, + "node_modules/@types/ramda": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/@types/ramda/-/ramda-0.30.0.tgz", + "integrity": "sha512-DQtfqUbSB18iM9NHbQ++kVUDuBWHMr6T2FpW1XTiksYRGjq4WnNPZLt712OEHEBJs7aMyJ68Mf2kGMOP1srVVw==", + "dependencies": { + "types-ramda": "^0.30.0" + } + }, + "node_modules/@types/react": { + "version": "18.3.3", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.3.tgz", + "integrity": "sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==", + "dependencies": { + "@types/prop-types": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-redux": { + "version": "7.1.26", + "resolved": "https://registry.npmjs.org/@types/react-redux/-/react-redux-7.1.26.tgz", + "integrity": "sha512-UKPo7Cm7rswYU6PH6CmTNCRv5NYF3HrgKuHEYTK8g/3czYLrUux50gQ2pkxc9c7ZpQZi+PNhgmI8oNIRoiVIxg==", + "dependencies": { + "@types/hoist-non-react-statics": "^3.3.0", + "@types/react": "*", + "hoist-non-react-statics": "^3.3.0", + "redux": "^4.0.0" + } + }, + "node_modules/@types/stack-utils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", + "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==" + }, + "node_modules/@types/stylis": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/@types/stylis/-/stylis-4.2.5.tgz", + "integrity": "sha512-1Xve+NMN7FWjY14vLoY5tL3BVEQ/n42YLwaqJIPYhotZ9uBHt87VceMwWQpzmdEt2TNXIorIFG+YeCUUW7RInw==", + "peer": true + }, + "node_modules/@types/tern": { + "version": "0.23.5", + "resolved": "https://registry.npmjs.org/@types/tern/-/tern-0.23.5.tgz", + "integrity": "sha512-POau56wDk3TQ0mQ0qG7XDzv96U5whSENZ9lC0htDvEH+9YUREo+J2U+apWcVRgR2UydEE70JXZo44goG+akTNQ==", + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/@types/tough-cookie": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.5.tgz", + "integrity": "sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==" + }, + "node_modules/@types/unist": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz", + "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==" + }, + "node_modules/@types/use-sync-external-store": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.3.tgz", + "integrity": "sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA==" + }, + "node_modules/@types/ws": { + "version": "8.5.5", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.5.tgz", + "integrity": "sha512-lwhs8hktwxSjf9UaZ9tG5M03PGogvFaH8gUgLNbN9HKIg0dvv6q+gkSuJ8HN4/VbyxkuLzCjlN7GquQ0gUJfIg==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/yargs": { + "version": "17.0.32", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz", + "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==" + }, + "node_modules/@whatwg-node/events": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/@whatwg-node/events/-/events-0.0.3.tgz", + "integrity": "sha512-IqnKIDWfXBJkvy/k6tzskWTc2NK3LcqHlb+KHGCrjOCH4jfQckRX0NAiIcC/vIqQkzLYw2r2CTSwAxcrtcD6lA==" + }, + "node_modules/@whatwg-node/fetch": { + "version": "0.8.8", + "resolved": "https://registry.npmjs.org/@whatwg-node/fetch/-/fetch-0.8.8.tgz", + "integrity": "sha512-CdcjGC2vdKhc13KKxgsc6/616BQ7ooDIgPeTuAiE8qfCnS0mGzcfCOoZXypQSz73nxI+GWc7ZReIAVhxoE1KCg==", + "dependencies": { + "@peculiar/webcrypto": "^1.4.0", + "@whatwg-node/node-fetch": "^0.3.6", + "busboy": "^1.6.0", + "urlpattern-polyfill": "^8.0.0", + "web-streams-polyfill": "^3.2.1" + } + }, + "node_modules/@whatwg-node/node-fetch": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@whatwg-node/node-fetch/-/node-fetch-0.3.6.tgz", + "integrity": "sha512-w9wKgDO4C95qnXZRwZTfCmLWqyRnooGjcIwG0wADWjw9/HN0p7dtvtgSvItZtUyNteEvgTrd8QojNEqV6DAGTA==", + "dependencies": { + "@whatwg-node/events": "^0.0.3", + "busboy": "^1.6.0", + "fast-querystring": "^1.1.1", + "fast-url-parser": "^1.1.3", + "tslib": "^2.3.1" + } + }, + "node_modules/@wry/equality": { + "version": "0.1.11", + "resolved": "https://registry.npmjs.org/@wry/equality/-/equality-0.1.11.tgz", + "integrity": "sha512-mwEVBDUVODlsQQ5dfuLUS5/Tf7jqUKyhKYHmVi4fPB6bDMOfWvUPJmKgS1Z7Za/sOI3vzWt4+O7yCiL/70MogA==", + "dependencies": { + "tslib": "^1.9.3" + } + }, + "node_modules/@wry/equality/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/abab": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", + "deprecated": "Use your platform's native atob() and btoa() methods instead" + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-globals": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-7.0.1.tgz", + "integrity": "sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==", + "dependencies": { + "acorn": "^8.1.0", + "acorn-walk": "^8.0.2" + } + }, + "node_modules/acorn-walk": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz", + "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/apg-lite": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/apg-lite/-/apg-lite-1.0.3.tgz", + "integrity": "sha512-lOoNkL7vN7PGdyQMFPey1aok2oVVqvs3n7UMFBRvQ9FoELSbKhgPc3rd7JptaGwCmo4125gLX9Cqb8ElvLCFaQ==" + }, + "node_modules/apollo-link": { + "version": "1.2.14", + "resolved": "https://registry.npmjs.org/apollo-link/-/apollo-link-1.2.14.tgz", + "integrity": "sha512-p67CMEFP7kOG1JZ0ZkYZwRDa369w5PIjtMjvrQd/HnIV8FRsHRqLqK+oAZQnFa1DDdZtOtHTi+aMIW6EatC2jg==", + "dependencies": { + "apollo-utilities": "^1.3.0", + "ts-invariant": "^0.4.0", + "tslib": "^1.9.3", + "zen-observable-ts": "^0.8.21" + }, + "peerDependencies": { + "graphql": "^0.11.3 || ^0.12.3 || ^0.13.0 || ^14.0.0 || ^15.0.0" + } + }, + "node_modules/apollo-link-http": { + "version": "1.5.17", + "resolved": "https://registry.npmjs.org/apollo-link-http/-/apollo-link-http-1.5.17.tgz", + "integrity": "sha512-uWcqAotbwDEU/9+Dm9e1/clO7hTB2kQ/94JYcGouBVLjoKmTeJTUPQKcJGpPwUjZcSqgYicbFqQSoJIW0yrFvg==", + "dependencies": { + "apollo-link": "^1.2.14", + "apollo-link-http-common": "^0.2.16", + "tslib": "^1.9.3" + }, + "peerDependencies": { + "graphql": "^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0" + } + }, + "node_modules/apollo-link-http-common": { + "version": "0.2.16", + "resolved": "https://registry.npmjs.org/apollo-link-http-common/-/apollo-link-http-common-0.2.16.tgz", + "integrity": "sha512-2tIhOIrnaF4UbQHf7kjeQA/EmSorB7+HyJIIrUjJOKBgnXwuexi8aMecRlqTIDWcyVXCeqLhUnztMa6bOH/jTg==", + "dependencies": { + "apollo-link": "^1.2.14", + "ts-invariant": "^0.4.0", + "tslib": "^1.9.3" + }, + "peerDependencies": { + "graphql": "^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0" + } + }, + "node_modules/apollo-link-http-common/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/apollo-link-http/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/apollo-link-ws": { + "version": "1.0.20", + "resolved": "https://registry.npmjs.org/apollo-link-ws/-/apollo-link-ws-1.0.20.tgz", + "integrity": "sha512-mjSFPlQxmoLArpHBeUb2Xj+2HDYeTaJqFGOqQ+I8NVJxgL9lJe84PDWcPah/yMLv3rB7QgBDSuZ0xoRFBPlySw==", + "dependencies": { + "apollo-link": "^1.2.14", + "tslib": "^1.9.3" + }, + "peerDependencies": { + "subscriptions-transport-ws": "^0.9.0" + } + }, + "node_modules/apollo-link-ws/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/apollo-link/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/apollo-utilities": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/apollo-utilities/-/apollo-utilities-1.3.4.tgz", + "integrity": "sha512-pk2hiWrCXMAy2fRPwEyhvka+mqwzeP60Jr1tRYi5xru+3ko94HI9o6lK0CT33/w4RDlxWchmdhDCrvdr+pHCig==", + "dependencies": { + "@wry/equality": "^0.1.2", + "fast-json-stable-stringify": "^2.0.0", + "ts-invariant": "^0.4.0", + "tslib": "^1.10.0" + }, + "peerDependencies": { + "graphql": "^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0" + } + }, + "node_modules/apollo-utilities/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/aria-hidden": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.3.tgz", + "integrity": "sha512-xcLxITLe2HYa1cnYnwCjkOO1PqUHQpozB8x9AR0OgWN2woOBi5kSDVxKfd0b7sb1hw5qFeJhXm9H1nu3xSfLeQ==", + "dependencies": { + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/asn1js": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/asn1js/-/asn1js-3.0.5.tgz", + "integrity": "sha512-FVnvrKJwpt9LP2lAMl8qZswRNm3T4q9CON+bxldk2iwk3FFpuwhx2FfinyitizWHsVYyaY+y5JzDR0rCMV5yTQ==", + "dependencies": { + "pvtsutils": "^1.3.2", + "pvutils": "^1.1.3", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "node_modules/autolinker": { + "version": "3.16.2", + "resolved": "https://registry.npmjs.org/autolinker/-/autolinker-3.16.2.tgz", + "integrity": "sha512-JiYl7j2Z19F9NdTmirENSUUIIL/9MytEWtmzhfmsKPCp9E+G35Y0UNCMoM9tFigxT59qSc8Ml2dlZXOCVTYwuA==", + "dependencies": { + "tslib": "^2.3.0" + } + }, + "node_modules/axios": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.2.tgz", + "integrity": "sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw==", + "dependencies": { + "follow-redirects": "^1.15.6", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/babel-plugin-styled-components": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/babel-plugin-styled-components/-/babel-plugin-styled-components-2.1.4.tgz", + "integrity": "sha512-Xgp9g+A/cG47sUyRwwYxGM4bR/jDRg5N6it/8+HxCnbT5XNKSKDT9xm4oag/osgqjC2It/vH0yXsomOG6k558g==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-module-imports": "^7.22.5", + "@babel/plugin-syntax-jsx": "^7.22.5", + "lodash": "^4.17.21", + "picomatch": "^2.3.1" + }, + "peerDependencies": { + "styled-components": ">= 2" + } + }, + "node_modules/babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==", + "dependencies": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "node_modules/babel-runtime/node_modules/core-js": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", + "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.", + "hasInstallScript": true + }, + "node_modules/babel-runtime/node_modules/regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" + }, + "node_modules/backo2": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", + "integrity": "sha512-zj6Z6M7Eq+PBZ7PQxl5NT665MvJdAkzp0f60nAJ+sLaSCBPMwVak5ZegFbgVCzFcCJTKFoMizvM5Ld7+JrRJHA==" + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "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" + } + ] + }, + "node_modules/bfj": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/bfj/-/bfj-6.1.2.tgz", + "integrity": "sha512-BmBJa4Lip6BPRINSZ0BPEIfB1wUY/9rwbwvIHQA1KjX9om29B6id0wnWXq7m3bn5JrUVjeOTnVuhPT1FiHwPGw==", + "dependencies": { + "bluebird": "^3.5.5", + "check-types": "^8.0.3", + "hoopy": "^0.1.4", + "tryer": "^1.0.1" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/biskviit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/biskviit/-/biskviit-1.0.1.tgz", + "integrity": "sha512-VGCXdHbdbpEkFgtjkeoBN8vRlbj1ZRX2/mxhE8asCCRalUx2nBzOomLJv8Aw/nRt5+ccDb+tPKidg4XxcfGW4w==", + "dependencies": { + "psl": "^1.1.7" + }, + "engines": { + "node": ">=1.0.0" + } + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "optional": true, + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + }, + "node_modules/body-parser": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", + "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", + "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.11.0", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/body-parser/node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/boom": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/boom/-/boom-7.3.0.tgz", + "integrity": "sha512-Swpoyi2t5+GhOEGw8rEsKvTxFLIDiiKoUc2gsoV6Lyr43LHBIzch3k2MvYUs8RTROrIkVJ3Al0TkaOGjnb+B6A==", + "deprecated": "This module has moved and is now available at @hapi/boom. Please update your dependencies as this version is no longer maintained an may contain bugs and security issues.", + "dependencies": { + "hoek": "6.x.x" + } + }, + "node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browser-fingerprint": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/browser-fingerprint/-/browser-fingerprint-0.0.1.tgz", + "integrity": "sha512-b8SXP7yOlzLUJXF8WUvIjmbJzkJC0X6OHe7J9a/SHqEBC7a9Eglag6AANSTJz82h5U582kuxm/5TPudnD68EPA==" + }, + "node_modules/browserslist": { + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", + "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "peer": true, + "dependencies": { + "caniuse-lite": "^1.0.30001587", + "electron-to-chromium": "^1.4.668", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.13" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/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" + } + ], + "optional": true, + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/busboy": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", + "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", + "dependencies": { + "streamsearch": "^1.1.0" + }, + "engines": { + "node": ">=10.16.0" + } + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/calculate-size": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/calculate-size/-/calculate-size-1.1.1.tgz", + "integrity": "sha512-jJZ7pvbQVM/Ss3VO789qpsypN3xmnepg242cejOAslsmlZLYw2dnj7knnNowabQ0Kzabzx56KFTy2Pot/y6FmA==" + }, + "node_modules/call-bind": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-me-maybe": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.2.tgz", + "integrity": "sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==" + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/camelize": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.1.tgz", + "integrity": "sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001625", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001625.tgz", + "integrity": "sha512-4KE9N2gcRH+HQhpeiRZXd+1niLB/XNLAhSy4z7fI8EzcbcPoAqjNInxVHTiTwWfTIV4w096XG8OtCOCQQKPv3w==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "peer": true + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/character-entities": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz", + "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-legacy": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz", + "integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-reference-invalid": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz", + "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/check-types": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/check-types/-/check-types-8.0.3.tgz", + "integrity": "sha512-YpeKZngUmG65rLudJ4taU7VLkOCTMhNl/u4ctNC56LQS/zJTyNH0Lrtwm1tfTsbLlwvlfsA2d1c8vCf/Kh2KwQ==" + }, + "node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "optional": true + }, + "node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/classnames": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.5.1.tgz", + "integrity": "sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==" + }, + "node_modules/client-only": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", + "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==" + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/clsx": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", + "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/codemirror": { + "version": "5.65.15", + "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.65.15.tgz", + "integrity": "sha512-YC4EHbbwQeubZzxLl5G4nlbLc1T21QTrKGaOal/Pkm9dVDMZXMH7+ieSPEOZCtO9I68i8/oteJKOxzHC2zR+0g==" + }, + "node_modules/codemirror-graphql": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/codemirror-graphql/-/codemirror-graphql-2.0.11.tgz", + "integrity": "sha512-j1QDDXKVkpin2VsyS0ke2nAhKal6/N1UJtgnBGrPe3gj9ZSP6/K8Xytft94k0xW6giIU/JhZjvW0GwwERNzbFA==", + "dependencies": { + "@types/codemirror": "^0.0.90", + "graphql-language-service": "5.2.0" + }, + "peerDependencies": { + "@codemirror/language": "6.0.0", + "codemirror": "^5.65.3", + "graphql": "^15.5.0 || ^16.0.0" + } + }, + "node_modules/codemirror-graphql/node_modules/@types/codemirror": { + "version": "0.0.90", + "resolved": "https://registry.npmjs.org/@types/codemirror/-/codemirror-0.0.90.tgz", + "integrity": "sha512-8Z9+tSg27NPRGubbUPUCrt5DDG/OWzLph5BvcDykwR5D7RyZh5mhHG0uS1ePKV1YFCA+/cwc4Ey2AJAEFfV3IA==", + "dependencies": { + "@types/tern": "*" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/colorette": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", + "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==" + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/comma-separated-tokens": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz", + "integrity": "sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "peer": true + }, + "node_modules/cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" + }, + "node_modules/copy-to-clipboard": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz", + "integrity": "sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==", + "dependencies": { + "toggle-selection": "^1.0.6" + } + }, + "node_modules/core-js": { + "version": "3.37.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.37.1.tgz", + "integrity": "sha512-Xn6qmxrQZyB0FFY8E3bgRXei3lWDJHhvI+u0q9TKIYM49G8pAr0FgnnrFRAmsbptZL1yxRADVXn+x5AGsbBfyw==", + "hasInstallScript": true, + "peer": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-pure": { + "version": "3.37.1", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.37.1.tgz", + "integrity": "sha512-J/r5JTHSmzTxbiYYrzXg9w1VpqrYt+gexenBE9pugeyhwPZTAEJddyiReJWsLO6uNQ8xJZFbod6XC7KKwatCiA==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/cosmiconfig": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.0.0.tgz", + "integrity": "sha512-da1EafcpH6b/TD8vDRaWV7xFINlHlF6zKsGwS1TsuVJTZRkquaS5HTMq7uq6h31619QjbsYl21gVDOm32KM1vQ==", + "dependencies": { + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/cosmiconfig/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "node_modules/cosmiconfig/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/create-react-class": { + "version": "15.7.0", + "resolved": "https://registry.npmjs.org/create-react-class/-/create-react-class-15.7.0.tgz", + "integrity": "sha512-QZv4sFWG9S5RUvkTYWbflxeZX+JG7Cz0Tn33rQBJ+WFQTqTfUTjMjiv9tnfXazjsO5r0KhPs+AqCjyrQX6h2ng==", + "dependencies": { + "loose-envify": "^1.3.1", + "object-assign": "^4.1.1" + } + }, + "node_modules/cryptiles": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-4.1.2.tgz", + "integrity": "sha512-U2ALcoAHvA1oO2xOreyHvtkQ+IELqDG2WVWRI1GH/XEmmfGIOalnM5MU5Dd2ITyWfr3m6kNqXiy8XuYyd4wKJw==", + "deprecated": "This version has been deprecated in accordance with the hapi support policy (hapi.im/support). Please upgrade to the latest version to get the best features, bug fixes, and security patches. If you are unable to upgrade at this time, paid support is available for older versions (hapi.im/commercial).", + "dependencies": { + "boom": "7.x.x" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "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==", + "engines": { + "node": ">=4" + } + }, + "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==", + "peer": true, + "dependencies": { + "camelize": "^1.0.0", + "css-color-keywords": "^1.0.0", + "postcss-value-parser": "^4.0.2" + } + }, + "node_modules/css.escape": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", + "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==" + }, + "node_modules/cssom": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.5.0.tgz", + "integrity": "sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==" + }, + "node_modules/cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "dependencies": { + "cssom": "~0.3.6" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cssstyle/node_modules/cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" + }, + "node_modules/cuid": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/cuid/-/cuid-1.3.8.tgz", + "integrity": "sha512-MoL67ZZuBetDMxzrZtO+Iq1ATajFACQCP52QRinBgd3yTjYdv54mJO8ibUrh06fojKCoX5P2i7KkEatm4VTIOQ==", + "deprecated": "Cuid and other k-sortable and non-cryptographic ids (Ulid, ObjectId, KSUID, all UUIDs) are all insecure. Use @paralleldrive/cuid2 instead.", + "dependencies": { + "browser-fingerprint": "0.0.1", + "core-js": "^1.1.1", + "node-fingerprint": "0.0.2" + } + }, + "node_modules/cuid/node_modules/core-js": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-1.2.7.tgz", + "integrity": "sha512-ZiPp9pZlgxpWRu0M+YWbm6+aQ84XEfH1JRXvfOc/fILWI0VKhLC2LX13X1NYq4fULzLMq7Hfh43CSo2/aIaUPA==", + "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js." + }, + "node_modules/data-urls": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-3.0.2.tgz", + "integrity": "sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==", + "dependencies": { + "abab": "^2.0.6", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^11.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/dataloader": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/dataloader/-/dataloader-2.2.2.tgz", + "integrity": "sha512-8YnDaaf7N3k/q5HnTJVuzSyLETjoZjVmHc4AeKAzOvKHEFQKcn64OKBfzHYtE9zGjctNM7V9I0MfnUVLpi7M5g==" + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decimal.js": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==" + }, + "node_modules/decko": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decko/-/decko-1.2.0.tgz", + "integrity": "sha512-m8FnyHXV1QX+S1cl+KPFDIl6NMkxtKsy6+U/aYyjrOqWMuwAwYWu7ePqrsUHtDR5Y8Yk2pi/KIDSgF+vT4cPOQ==" + }, + "node_modules/decode-uri-component": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "optional": true, + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-libc": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz", + "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==", + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/detect-node-es": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz", + "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==" + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dom-helpers": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-3.4.0.tgz", + "integrity": "sha512-LnuPJ+dwqKDIyotW1VzmOZ5TONUN7CwkCR5hrgawTUbkBGYdeoNLZo6nNfGkCrjtE1nXXaj7iMMpDa8/d9WoIA==", + "dependencies": { + "@babel/runtime": "^7.1.2" + } + }, + "node_modules/domexception": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", + "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", + "deprecated": "Use your platform's native DOMException instead", + "dependencies": { + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/dompurify": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.1.4.tgz", + "integrity": "sha512-2gnshi6OshmuKil8rMZuQCGiUF3cUxHY3NGDzUAdUx/NPEe5DVnO8BDoAQouvgwnx0R/+a6jUn36Z0FSdq8vww==" + }, + "node_modules/drange": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/drange/-/drange-1.1.1.tgz", + "integrity": "sha512-pYxfDYpued//QpnLIm4Avk7rsNtAtQkUES2cwAYSvD/wd2pKD71gN2Ebj3e7klzXwjocvE8c5vx/1fxwpqmSxA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/dset": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/dset/-/dset-3.1.2.tgz", + "integrity": "sha512-g/M9sqy3oHe477Ar4voQxWtaPIFw1jTdKZuomOjhCcBx9nHUNn0pu6NopuFFrTh/TRZIKEj+76vLWFu9BNKk+Q==", + "engines": { + "node": ">=4" + } + }, + "node_modules/duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + }, + "node_modules/ejs": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz", + "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==", + "hasInstallScript": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.4.787", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.787.tgz", + "integrity": "sha512-d0EFmtLPjctczO3LogReyM2pbBiiZbnsKnGF+cdZhsYzHm/A0GV7W94kqzLD8SN4O3f3iHlgLUChqghgyznvCQ==", + "peer": true + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/encoding": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", + "integrity": "sha512-bl1LAgiQc4ZWr++pNYUdRe/alecaHFeHxIJ/pNciqGdKXghaTCOwKkbKp6ye7pKZGu/GcaSXFk8PBVhgs+dJdA==", + "dependencies": { + "iconv-lite": "~0.4.13" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "optional": true, + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es6-promise": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", + "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==" + }, + "node_modules/escalade": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/escodegen": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/eventemitter3": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", + "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==" + }, + "node_modules/exenv": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/exenv/-/exenv-1.2.2.tgz", + "integrity": "sha512-Z+ktTxTwv9ILfgKCk32OX3n/doe+OcLTRtqK9pcL+JsP3J1/VW8Uvl4ZjLlKqeW4rzK4oesDOGMEMRIZqtP4Iw==" + }, + "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==", + "optional": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/express": { + "version": "4.18.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", + "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.1", + "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.11.0", + "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" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/express/node_modules/cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/express/node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" + }, + "node_modules/express/node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/extract-files": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/extract-files/-/extract-files-11.0.0.tgz", + "integrity": "sha512-FuoE1qtbJ4bBVvv94CC7s0oTnKUGvQs+Rjf1L2SJFfS+HTVVjhPFtehPdQ0JiGPqVNfSSZvL5yzHHQq2Z4WNhQ==", + "engines": { + "node": "^12.20 || >= 14.13" + }, + "funding": { + "url": "https://github.com/sponsors/jaydenseric" + } + }, + "node_modules/fast-decode-uri-component": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/fast-decode-uri-component/-/fast-decode-uri-component-1.0.1.tgz", + "integrity": "sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==" + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "node_modules/fast-glob": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-json-patch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/fast-json-patch/-/fast-json-patch-3.1.1.tgz", + "integrity": "sha512-vf6IHUX2SBcA+5/+4883dsIjpBTqmfBjmYiWK1savxQmFk4JfBMLa7ynTYOs1Rolp/T1betJxHiGD3g1Mn8lUQ==" + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, + "node_modules/fast-querystring": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/fast-querystring/-/fast-querystring-1.1.2.tgz", + "integrity": "sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==", + "dependencies": { + "fast-decode-uri-component": "^1.0.1" + } + }, + "node_modules/fast-safe-stringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", + "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==" + }, + "node_modules/fast-url-parser": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz", + "integrity": "sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==", + "dependencies": { + "punycode": "^1.3.2" + } + }, + "node_modules/fast-url-parser/node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==" + }, + "node_modules/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fault": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/fault/-/fault-1.0.4.tgz", + "integrity": "sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==", + "dependencies": { + "format": "^0.2.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/fetch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fetch/-/fetch-1.1.0.tgz", + "integrity": "sha512-5O8TwrGzoNblBG/jtK4NFuZwNCkZX6s5GfRNOaGtm+QGJEuNakSC/i2RW0R93KX6E0jVjNXm6O3CRN4Ql3K+yA==", + "dependencies": { + "biskviit": "1.0.1", + "encoding": "0.1.12" + } + }, + "node_modules/filesize": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz", + "integrity": "sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "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" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/follow-redirects": { + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/foreach": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.6.tgz", + "integrity": "sha512-k6GAGDyqLe9JaebCsFCoudPPWfihKu8pylYXRlqP1J7ms39iPoTtk2fviNglIeQEwdh0bQeKJ01ZPyuyQvKzwg==" + }, + "node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/format": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/format/-/format-0.2.2.tgz", + "integrity": "sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==", + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/framer-motion": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-6.5.1.tgz", + "integrity": "sha512-o1BGqqposwi7cgDrtg0dNONhkmPsUFDaLcKXigzuTFC5x58mE8iyTazxSudFzmT6MEyJKfjjU8ItoMe3W+3fiw==", + "dependencies": { + "@motionone/dom": "10.12.0", + "framesync": "6.0.1", + "hey-listen": "^1.0.8", + "popmotion": "11.0.3", + "style-value-types": "5.0.0", + "tslib": "^2.1.0" + }, + "optionalDependencies": { + "@emotion/is-prop-valid": "^0.8.2" + }, + "peerDependencies": { + "react": ">=16.8 || ^17.0.0 || ^18.0.0", + "react-dom": ">=16.8 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/framesync": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/framesync/-/framesync-6.0.1.tgz", + "integrity": "sha512-fUY88kXvGiIItgNC7wcTOl0SNRCVXMKSWW2Yzfmn7EKNc+MpCzcz9DhdHcdjbrtN3c6R4H5dTY2jiCpPdysEjA==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "engines": { + "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==", + "optional": true + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "peer": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-nonce": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz", + "integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==", + "engines": { + "node": ">=6" + } + }, + "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==", + "optional": true + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + }, + "node_modules/graphiql": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/graphiql/-/graphiql-3.2.2.tgz", + "integrity": "sha512-Tpv9gz9/xfOCJq2RTU/ByPgCFkh3ftN16xmcJxNms3j7C0eJ9z7xg6J0lASGGJ6mTeIW9myEI98SJBPL1c4vcA==", + "dependencies": { + "@graphiql/react": "^0.22.1", + "@graphiql/toolkit": "^0.9.1", + "graphql-language-service": "^5.2.0", + "markdown-it": "^14.1.0" + }, + "peerDependencies": { + "graphql": "^15.5.0 || ^16.0.0", + "react": "^16.8.0 || ^17 || ^18", + "react-dom": "^16.8.0 || ^17 || ^18" + } + }, + "node_modules/graphql": { + "version": "15.8.0", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-15.8.0.tgz", + "integrity": "sha512-5gghUc24tP9HRznNpV2+FIoq3xKkj5dTQqf4v0CpdPbFVwFkWoxOM+o+2OC9ZSvjEMTjfmG9QT+gcvggTwW1zw==", + "engines": { + "node": ">= 10.x" + } + }, + "node_modules/graphql-config": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/graphql-config/-/graphql-config-4.5.0.tgz", + "integrity": "sha512-x6D0/cftpLUJ0Ch1e5sj1TZn6Wcxx4oMfmhaG9shM0DKajA9iR+j1z86GSTQ19fShbGvrSSvbIQsHku6aQ6BBw==", + "dependencies": { + "@graphql-tools/graphql-file-loader": "^7.3.7", + "@graphql-tools/json-file-loader": "^7.3.7", + "@graphql-tools/load": "^7.5.5", + "@graphql-tools/merge": "^8.2.6", + "@graphql-tools/url-loader": "^7.9.7", + "@graphql-tools/utils": "^9.0.0", + "cosmiconfig": "8.0.0", + "jiti": "1.17.1", + "minimatch": "4.2.3", + "string-env-interpolation": "1.0.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "peerDependencies": { + "cosmiconfig-toml-loader": "^1.0.0", + "graphql": "^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" + }, + "peerDependenciesMeta": { + "cosmiconfig-toml-loader": { + "optional": true + } + } + }, + "node_modules/graphql-config/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/graphql-config/node_modules/minimatch": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-4.2.3.tgz", + "integrity": "sha512-lIUdtK5hdofgCTu3aT0sOaHsYR37viUuIc0rwnnDXImbwFRcumyLMeZaM0t0I/fgxS6s6JMfu0rLD1Wz9pv1ng==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/graphql-language-service": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/graphql-language-service/-/graphql-language-service-5.2.0.tgz", + "integrity": "sha512-o/ZgTS0pBxWm3hSF4+6GwiV1//DxzoLWEbS38+jqpzzy1d/QXBidwQuVYTOksclbtOJZ3KR/tZ8fi/tI6VpVMg==", + "dependencies": { + "nullthrows": "^1.0.0", + "vscode-languageserver-types": "^3.17.1" + }, + "bin": { + "graphql": "dist/temp-bin.js" + }, + "peerDependencies": { + "graphql": "^15.5.0 || ^16.0.0" + } + }, + "node_modules/graphql-language-service-interface": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/graphql-language-service-interface/-/graphql-language-service-interface-2.10.2.tgz", + "integrity": "sha512-RKIEBPhRMWdXY3fxRs99XysTDnEgAvNbu8ov/5iOlnkZsWQNzitjtd0O0l1CutQOQt3iXoHde7w8uhCnKL4tcg==", + "deprecated": "this package has been merged into graphql-language-service", + "dependencies": { + "graphql-config": "^4.1.0", + "graphql-language-service-parser": "^1.10.4", + "graphql-language-service-types": "^1.8.7", + "graphql-language-service-utils": "^2.7.1", + "vscode-languageserver-types": "^3.15.1" + }, + "peerDependencies": { + "graphql": "^15.5.0 || ^16.0.0" + } + }, + "node_modules/graphql-language-service-parser": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/graphql-language-service-parser/-/graphql-language-service-parser-1.10.4.tgz", + "integrity": "sha512-duDE+0aeKLFVrb9Kf28U84ZEHhHcvTjWIT6dJbIAQJWBaDoht0D4BK9EIhd94I3DtKRc1JCJb2+70y1lvP/hiA==", + "deprecated": "this package has been merged into graphql-language-service", + "dependencies": { + "graphql-language-service-types": "^1.8.7" + }, + "peerDependencies": { + "graphql": "^15.5.0 || ^16.0.0" + } + }, + "node_modules/graphql-language-service-types": { + "version": "1.8.7", + "resolved": "https://registry.npmjs.org/graphql-language-service-types/-/graphql-language-service-types-1.8.7.tgz", + "integrity": "sha512-LP/Mx0nFBshYEyD0Ny6EVGfacJAGVx+qXtlJP4hLzUdBNOGimfDNtMVIdZANBXHXcM41MDgMHTnyEx2g6/Ttbw==", + "deprecated": "this package has been merged into graphql-language-service", + "dependencies": { + "graphql-config": "^4.1.0", + "vscode-languageserver-types": "^3.15.1" + }, + "peerDependencies": { + "graphql": "^15.5.0 || ^16.0.0" + } + }, + "node_modules/graphql-language-service-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/graphql-language-service-utils/-/graphql-language-service-utils-2.7.1.tgz", + "integrity": "sha512-Wci5MbrQj+6d7rfvbORrA9uDlfMysBWYaG49ST5TKylNaXYFf3ixFOa74iM1KtM9eidosUbI3E1JlWi0JaidJA==", + "deprecated": "this package has been merged into graphql-language-service", + "dependencies": { + "@types/json-schema": "7.0.9", + "graphql-language-service-types": "^1.8.7", + "nullthrows": "^1.0.0" + }, + "peerDependencies": { + "graphql": "^15.5.0 || ^16.0.0" + } + }, + "node_modules/graphql-language-service-utils/node_modules/@types/json-schema": { + "version": "7.0.9", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", + "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==" + }, + "node_modules/graphql-playground-react": { + "version": "1.7.26", + "resolved": "https://registry.npmjs.org/graphql-playground-react/-/graphql-playground-react-1.7.26.tgz", + "integrity": "sha512-OtJZ8DXota2F/fKXfwrO0sTAg+i7XiTy6CLqoFvG36ZEx0rdpUsl3rJgreQig0dGNUpc2Zn0qu2qa+IJgOxnxw==", + "dependencies": { + "@types/lru-cache": "^4.1.1", + "apollo-link": "^1.2.13", + "apollo-link-http": "^1.5.16", + "apollo-link-ws": "^1.0.19", + "calculate-size": "^1.1.1", + "codemirror": "^5.52.2", + "codemirror-graphql": "^0.12.0-alpha.8", + "copy-to-clipboard": "^3.0.8", + "cryptiles": "4.1.2", + "cuid": "^1.3.8", + "graphiql": "^0.17.5", + "graphql": "^15.3.0", + "immutable": "^4.0.0-rc.9", + "isomorphic-fetch": "^2.2.1", + "js-yaml": "^3.10.0", + "json-stable-stringify": "^1.0.1", + "keycode": "^2.1.9", + "lodash": "^4.17.11", + "lodash.debounce": "^4.0.8", + "markdown-it": "^8.4.1", + "marked": "^0.8.2", + "prettier": "2.0.2", + "prop-types": "^15.7.2", + "query-string": "5", + "react": "16.13.1", + "react-addons-shallow-compare": "^15.6.2", + "react-codemirror": "^1.0.0", + "react-copy-to-clipboard": "^5.0.1", + "react-display-name": "^0.2.3", + "react-dom": "^16.13.1", + "react-helmet": "^5.2.0", + "react-input-autosize": "^2.2.1", + "react-modal": "^3.1.11", + "react-redux": "^7.2.0", + "react-router-dom": "^4.2.2", + "react-sortable-hoc": "^0.8.3", + "react-transition-group": "^2.2.1", + "react-virtualized": "^9.12.0", + "redux": "^4.0.5", + "redux-actions": "^2.6.5", + "redux-immutable": "^4.0.0", + "redux-localstorage": "^1.0.0-rc5", + "redux-localstorage-debounce": "^0.1.0", + "redux-localstorage-filter": "^0.1.1", + "redux-saga": "^1.1.3", + "reselect": "^4.0.0", + "seamless-immutable": "^7.0.1", + "styled-components": "^4.0.0", + "subscriptions-transport-ws": "^0.9.5", + "utility-types": "^1.0.0", + "webpack-bundle-analyzer": "^3.3.2", + "zen-observable": "^0.7.1" + } + }, + "node_modules/graphql-playground-react/node_modules/@emotion/unitless": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.7.5.tgz", + "integrity": "sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==" + }, + "node_modules/graphql-playground-react/node_modules/codemirror-graphql": { + "version": "0.12.4", + "resolved": "https://registry.npmjs.org/codemirror-graphql/-/codemirror-graphql-0.12.4.tgz", + "integrity": "sha512-gWxmLk2OzPVzvwAXO0K52MtU1n6ylMNbKp0LtZHioK0NEUwLnSL5iPKVXn8MgvYqS8Yos/CG5WrP9Y7RWTO4mg==", + "dependencies": { + "graphql-language-service-interface": "^2.4.3", + "graphql-language-service-parser": "^1.6.5" + }, + "peerDependencies": { + "codemirror": "^5.54.0", + "graphql": "^14.0.0 || ^15.0.0" + } + }, + "node_modules/graphql-playground-react/node_modules/css-to-react-native": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-2.3.2.tgz", + "integrity": "sha512-VOFaeZA053BqvvvqIA8c9n0+9vFppVBAHCp6JgFTtTMU3Mzi+XnelJ9XC9ul3BqFzZyQ5N+H0SnwsWT2Ebchxw==", + "dependencies": { + "camelize": "^1.0.0", + "css-color-keywords": "^1.0.0", + "postcss-value-parser": "^3.3.0" + } + }, + "node_modules/graphql-playground-react/node_modules/graphiql": { + "version": "0.17.5", + "resolved": "https://registry.npmjs.org/graphiql/-/graphiql-0.17.5.tgz", + "integrity": "sha512-ogNsrg9qM1py9PzcIUn+C29JukOADbjIfB6zwtfui4BrpOEpDb5UZ6TjAmSL/F/8tCt4TbgwKtkSrBeLNNUrqA==", + "dependencies": { + "codemirror": "^5.47.0", + "codemirror-graphql": "^0.11.6", + "copy-to-clipboard": "^3.2.0", + "entities": "^2.0.0", + "markdown-it": "^10.0.0", + "regenerator-runtime": "^0.13.3" + }, + "peerDependencies": { + "graphql": "^0.12.0 || ^0.13.0 || ^14.0.0", + "prop-types": ">=15.5.0", + "react": "^15.6.0 || ^16.0.0", + "react-dom": "^15.6.0 || ^16.0.0" + } + }, + "node_modules/graphql-playground-react/node_modules/graphiql/node_modules/codemirror-graphql": { + "version": "0.11.6", + "resolved": "https://registry.npmjs.org/codemirror-graphql/-/codemirror-graphql-0.11.6.tgz", + "integrity": "sha512-/zVKgOVS2/hfjAY0yoBkLz9ESHnWKBWpBNXQSoFF4Hl5q5AS2DmM22coonWKJcCvNry6TLak2F+QkzPeKVv3Eg==", + "dependencies": { + "graphql-language-service-interface": "^2.3.3", + "graphql-language-service-parser": "^1.5.2" + }, + "peerDependencies": { + "codemirror": "^5.26.0", + "graphql": "^0.12.0 || ^0.13.0 || ^14.0.0" + } + }, + "node_modules/graphql-playground-react/node_modules/graphiql/node_modules/entities": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.3.tgz", + "integrity": "sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ==" + }, + "node_modules/graphql-playground-react/node_modules/graphiql/node_modules/markdown-it": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-10.0.0.tgz", + "integrity": "sha512-YWOP1j7UbDNz+TumYP1kpwnP0aEa711cJjrAQrzd0UXlbJfc5aAq0F/PZHjiioqDC1NKgvIMX+o+9Bk7yuM2dg==", + "dependencies": { + "argparse": "^1.0.7", + "entities": "~2.0.0", + "linkify-it": "^2.0.0", + "mdurl": "^1.0.1", + "uc.micro": "^1.0.5" + }, + "bin": { + "markdown-it": "bin/markdown-it.js" + } + }, + "node_modules/graphql-playground-react/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/graphql-playground-react/node_modules/linkify-it": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.2.0.tgz", + "integrity": "sha512-GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw==", + "dependencies": { + "uc.micro": "^1.0.1" + } + }, + "node_modules/graphql-playground-react/node_modules/markdown-it": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-8.4.2.tgz", + "integrity": "sha512-GcRz3AWTqSUphY3vsUqQSFMbgR38a4Lh3GWlHRh/7MRwz8mcu9n2IO7HOh+bXHrR9kOPDl5RNCaEsrneb+xhHQ==", + "dependencies": { + "argparse": "^1.0.7", + "entities": "~1.1.1", + "linkify-it": "^2.0.0", + "mdurl": "^1.0.1", + "uc.micro": "^1.0.5" + }, + "bin": { + "markdown-it": "bin/markdown-it.js" + } + }, + "node_modules/graphql-playground-react/node_modules/markdown-it/node_modules/entities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" + }, + "node_modules/graphql-playground-react/node_modules/mdurl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", + "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==" + }, + "node_modules/graphql-playground-react/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + }, + "node_modules/graphql-playground-react/node_modules/react": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react/-/react-16.13.1.tgz", + "integrity": "sha512-YMZQQq32xHLX0bz5Mnibv1/LHb3Sqzngu7xstSM+vrkE5Kzr9xE0yMByK5kMoTK30YVJE61WfbxIFFvfeDKT1w==", + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/graphql-playground-react/node_modules/react-codemirror": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/react-codemirror/-/react-codemirror-1.0.0.tgz", + "integrity": "sha512-pPvL8b1vwLyfX5f3EMLyqZVXYY/qAKdqURYxi3izYfjWbnUdqVaFBA7z78o9eEM+UzgxuKjI864BJkPIRVS2JA==", + "dependencies": { + "classnames": "^2.2.5", + "codemirror": "^5.18.2", + "create-react-class": "^15.5.1", + "lodash.debounce": "^4.0.8", + "lodash.isequal": "^4.5.0", + "prop-types": "^15.5.4" + }, + "peerDependencies": { + "react": ">=15.5 <16", + "react-dom": ">=15.5 <16" + } + }, + "node_modules/graphql-playground-react/node_modules/react-dom": { + "version": "16.14.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.14.0.tgz", + "integrity": "sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw==", + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1", + "prop-types": "^15.6.2", + "scheduler": "^0.19.1" + }, + "peerDependencies": { + "react": "^16.14.0" + } + }, + "node_modules/graphql-playground-react/node_modules/react-input-autosize": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/react-input-autosize/-/react-input-autosize-2.2.2.tgz", + "integrity": "sha512-jQJgYCA3S0j+cuOwzuCd1OjmBmnZLdqQdiLKRYrsMMzbjUrVDS5RvJUDwJqA7sKuksDuzFtm6hZGKFu7Mjk5aw==", + "dependencies": { + "prop-types": "^15.5.8" + }, + "peerDependencies": { + "react": "^0.14.9 || ^15.3.0 || ^16.0.0-rc || ^16.0" + } + }, + "node_modules/graphql-playground-react/node_modules/react-sortable-hoc": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/react-sortable-hoc/-/react-sortable-hoc-0.8.4.tgz", + "integrity": "sha512-J9AFEQAJ7u2YWdVzkU5E3ewrG82xQ4xF1ZPrZYKliDwlVBDkmjri+iKFAEt6NCDIRiBZ4hiN5vzI8pwy/dGPHw==", + "dependencies": { + "babel-runtime": "^6.11.6", + "invariant": "^2.2.1", + "prop-types": "^15.5.7" + }, + "peerDependencies": { + "react": "^0.14.0 || ^15.0.0 || ^16.0.0", + "react-dom": "^0.14.0 || ^15.0.0 || ^16.0.0" + } + }, + "node_modules/graphql-playground-react/node_modules/regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" + }, + "node_modules/graphql-playground-react/node_modules/scheduler": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.19.1.tgz", + "integrity": "sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==", + "dependencies": { + "loose-envify": "^1.1.0", + "object-assign": "^4.1.1" + } + }, + "node_modules/graphql-playground-react/node_modules/styled-components": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/styled-components/-/styled-components-4.4.1.tgz", + "integrity": "sha512-RNqj14kYzw++6Sr38n7197xG33ipEOktGElty4I70IKzQF1jzaD1U4xQ+Ny/i03UUhHlC5NWEO+d8olRCDji6g==", + "hasInstallScript": true, + "dependencies": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/traverse": "^7.0.0", + "@emotion/is-prop-valid": "^0.8.1", + "@emotion/unitless": "^0.7.0", + "babel-plugin-styled-components": ">= 1", + "css-to-react-native": "^2.2.2", + "memoize-one": "^5.0.0", + "merge-anything": "^2.2.4", + "prop-types": "^15.5.4", + "react-is": "^16.6.0", + "stylis": "^3.5.0", + "stylis-rule-sheet": "^0.0.10", + "supports-color": "^5.5.0" + }, + "peerDependencies": { + "react": ">= 16.3.0", + "react-dom": ">= 16.3.0" + } + }, + "node_modules/graphql-playground-react/node_modules/stylis": { + "version": "3.5.4", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-3.5.4.tgz", + "integrity": "sha512-8/3pSmthWM7lsPBKv7NXkzn2Uc9W7NotcwGNpJaa3k7WMM1XDCA4MgT5k/8BIexd5ydZdboXtU90XH9Ec4Bv/Q==" + }, + "node_modules/graphql-playground-react/node_modules/stylis-rule-sheet": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/stylis-rule-sheet/-/stylis-rule-sheet-0.0.10.tgz", + "integrity": "sha512-nTbZoaqoBnmK+ptANthb10ZRZOGC+EmTLLUxeYIuHNkEKcmKgXX1XWKkUBT2Ac4es3NybooPe0SmvKdhKJZAuw==", + "peerDependencies": { + "stylis": "^3.5.0" + } + }, + "node_modules/graphql-playground-react/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/graphql-playground-react/node_modules/uc.micro": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", + "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==" + }, + "node_modules/graphql-ws": { + "version": "5.12.1", + "resolved": "https://registry.npmjs.org/graphql-ws/-/graphql-ws-5.12.1.tgz", + "integrity": "sha512-umt4f5NnMK46ChM2coO36PTFhHouBrK9stWWBczERguwYrGnPNxJ9dimU6IyOBfOkC6Izhkg4H8+F51W/8CYDg==", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "graphql": ">=0.11 <=16" + } + }, + "node_modules/gzip-size": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-5.1.1.tgz", + "integrity": "sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA==", + "dependencies": { + "duplexer": "^0.1.1", + "pify": "^4.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hast-util-parse-selector": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-2.2.5.tgz", + "integrity": "sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hastscript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-6.0.0.tgz", + "integrity": "sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w==", + "dependencies": { + "@types/hast": "^2.0.0", + "comma-separated-tokens": "^1.0.0", + "hast-util-parse-selector": "^2.0.0", + "property-information": "^5.0.0", + "space-separated-tokens": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hey-listen": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/hey-listen/-/hey-listen-1.0.8.tgz", + "integrity": "sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q==" + }, + "node_modules/highlight.js": { + "version": "10.7.3", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz", + "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==", + "engines": { + "node": "*" + } + }, + "node_modules/history": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz", + "integrity": "sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==", + "dependencies": { + "@babel/runtime": "^7.1.2", + "loose-envify": "^1.2.0", + "resolve-pathname": "^3.0.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0", + "value-equal": "^1.0.1" + } + }, + "node_modules/hoek": { + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-6.1.3.tgz", + "integrity": "sha512-YXXAAhmF9zpQbC7LEcREFtXfGq5K1fmd+4PHkBq8NUqmzW3G+Dq10bI/i0KucLRwss3YYFQ0fSfoxBZYiGUqtQ==", + "deprecated": "This module has moved and is now available at @hapi/hoek. Please update your dependencies as this version is no longer maintained an may contain bugs and security issues." + }, + "node_modules/hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "dependencies": { + "react-is": "^16.7.0" + } + }, + "node_modules/hoopy": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", + "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==", + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/html-encoding-sniffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", + "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", + "dependencies": { + "whatwg-encoding": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "dependencies": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/http2-client": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/http2-client/-/http2-client-1.3.5.tgz", + "integrity": "sha512-EC2utToWl4RKfs5zd36Mxq7nzHHBuomZboI0yYL6Y0RmBgT7Sgkq4rQ0ezFTYoIsSs7Tm9SJe+o2FcAg6GBhGA==" + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.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" + } + ] + }, + "node_modules/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/immutable": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.4.tgz", + "integrity": "sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA==" + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-fresh/node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "engines": { + "node": ">=4" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "optional": true + }, + "node_modules/invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dependencies": { + "loose-envify": "^1.0.0" + } + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-alphabetical": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz", + "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-alphanumerical": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz", + "integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==", + "dependencies": { + "is-alphabetical": "^1.0.0", + "is-decimal": "^1.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + }, + "node_modules/is-decimal": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz", + "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-hexadecimal": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz", + "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==" + }, + "node_modules/is-primitive": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-3.0.1.tgz", + "integrity": "sha512-GljRxhWvlCNRfZyORiH77FwdFwGcMO620o37EOYC0ORWdq+WYNVqW0w2Juzew4M+L81l6/QS3t5gkkihyRqv9w==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-what": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz", + "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==" + }, + "node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isomorphic-fetch": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", + "integrity": "sha512-9c4TNAKYXM5PRyVcwUZrF3W09nQ+sO7+jydgs4ZGW9dhsLG2VOlISJABombdQqQRXCwuYG3sYV/puGf5rp0qmA==", + "dependencies": { + "node-fetch": "^1.0.1", + "whatwg-fetch": ">=0.10.0" + } + }, + "node_modules/isomorphic-ws": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-5.0.0.tgz", + "integrity": "sha512-muId7Zzn9ywDsyXgTIafTry2sV3nySZeUDe6YedVd1Hvuuep5AsIlqK+XefWpYTyJG5e503F2xIuT2lcU6rCSw==", + "peerDependencies": { + "ws": "*" + } + }, + "node_modules/iterall": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/iterall/-/iterall-1.3.0.tgz", + "integrity": "sha512-QZ9qOMdF+QLHxy1QIpUHUU1D5pS2CG2P69LF6L6CPjPYA/XMOmKV3PZpawHoAjHNyB0swdVTRxdYT4tbBbxqwg==" + }, + "node_modules/jest-environment-jsdom": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-29.7.0.tgz", + "integrity": "sha512-k9iQbsf9OyOfdzWH8HDmrRT0gSIcX+FLNW7IQq94tFX0gynPwqDTW0Ho6iMVNjGz/nb+l/vW3dWM2bbLLpkbXA==", + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/jsdom": "^20.0.0", + "@types/node": "*", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0", + "jsdom": "^20.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "node_modules/jest-message-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", + "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.6.3", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-mock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", + "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jiti": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.17.1.tgz", + "integrity": "sha512-NZIITw8uZQFuzQimqjUxIrIcEdxYDFIe/0xYfIlVXTkiBjjyBEvgasj5bb0/cHtPRD/NziPbT312sFrkI5ALpw==", + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/js-file-download": { + "version": "0.4.12", + "resolved": "https://registry.npmjs.org/js-file-download/-/js-file-download-0.4.12.tgz", + "integrity": "sha512-rML+NkoD08p5Dllpjo0ffy4jRHeY6Zsapvr/W86N7E0yuzAO6qa5X9+xog6zQNlH102J7IXljNY2FtS6Lj3ucg==" + }, + "node_modules/js-levenshtein": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz", + "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsdom": { + "version": "20.0.3", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-20.0.3.tgz", + "integrity": "sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==", + "dependencies": { + "abab": "^2.0.6", + "acorn": "^8.8.1", + "acorn-globals": "^7.0.0", + "cssom": "^0.5.0", + "cssstyle": "^2.3.0", + "data-urls": "^3.0.2", + "decimal.js": "^10.4.2", + "domexception": "^4.0.0", + "escodegen": "^2.0.0", + "form-data": "^4.0.0", + "html-encoding-sniffer": "^3.0.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.1", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.2", + "parse5": "^7.1.1", + "saxes": "^6.0.0", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.1.2", + "w3c-xmlserializer": "^4.0.0", + "webidl-conversions": "^7.0.0", + "whatwg-encoding": "^2.0.0", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^11.0.0", + "ws": "^8.11.0", + "xml-name-validator": "^4.0.0" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + }, + "node_modules/json-pointer": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/json-pointer/-/json-pointer-0.6.2.tgz", + "integrity": "sha512-vLWcKbOaXlO+jvRy4qNd+TI1QUPZzfJj1tpJ3vAXDych5XJf93ftpUKe5pKCrzyIIwgBJcOcCVRUfqQP25afBw==", + "dependencies": { + "foreach": "^2.0.4" + } + }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "node_modules/json-stable-stringify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.2.tgz", + "integrity": "sha512-eunSSaEnxV12z+Z73y/j5N37/In40GK4GmsSy+tEHJMxknvqnA7/djeYtAgW0GsWHUfg+847WJjKaEylk2y09g==", + "dependencies": { + "jsonify": "^0.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "peer": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.1.tgz", + "integrity": "sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/just-curry-it": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/just-curry-it/-/just-curry-it-3.2.1.tgz", + "integrity": "sha512-Q8206k8pTY7krW32cdmPsP+DqqLgWx/hYPSj9/+7SYqSqz7UuwPbfSe07lQtvuuaVyiSJveXk0E5RydOuWwsEg==" + }, + "node_modules/keycode": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/keycode/-/keycode-2.2.1.tgz", + "integrity": "sha512-Rdgz9Hl9Iv4QKi8b0OlCRQEzp4AgVxyCtz5S/+VIHezDmrDhkp2N2TqBWOLz0/gbeREXOOiI9/4b8BY9uw2vFg==" + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + }, + "node_modules/linkify-it": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz", + "integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==", + "dependencies": { + "uc.micro": "^2.0.0" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/lodash._getnative": { + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", + "integrity": "sha512-RrL9VxMEPyDMHOd9uFbvMe8X55X16/cGM5IgOKgRElQZutpX89iS6vwl64duTV1/16w5JY7tuFNXqoekmh1EmA==" + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" + }, + "node_modules/lodash.isequal": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==" + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lowlight": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/lowlight/-/lowlight-1.20.0.tgz", + "integrity": "sha512-8Ktj+prEb1RoCPkEOrPMYUN/nCggB7qAWe3a7OpMjWQkh3l2RD5wKRQ+o8Q8YuI9RG/xs95waaI/E6ym/7NsTw==", + "dependencies": { + "fault": "^1.0.0", + "highlight.js": "~10.7.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "peer": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/lunr": { + "version": "2.3.9", + "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz", + "integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==" + }, + "node_modules/mark.js": { + "version": "8.11.1", + "resolved": "https://registry.npmjs.org/mark.js/-/mark.js-8.11.1.tgz", + "integrity": "sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==" + }, + "node_modules/markdown-it": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.0.tgz", + "integrity": "sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==", + "dependencies": { + "argparse": "^2.0.1", + "entities": "^4.4.0", + "linkify-it": "^5.0.0", + "mdurl": "^2.0.0", + "punycode.js": "^2.3.1", + "uc.micro": "^2.1.0" + }, + "bin": { + "markdown-it": "bin/markdown-it.mjs" + } + }, + "node_modules/markdown-it/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "node_modules/marked": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/marked/-/marked-0.8.2.tgz", + "integrity": "sha512-EGwzEeCcLniFX51DhTpmTom+dSA/MG/OBUDjnWtHbEnjAH180VzUeAw+oE4+Zv+CoYBWyRlYOTR0N8SO9R1PVw==", + "bin": { + "marked": "bin/marked" + }, + "engines": { + "node": ">= 8.16.2" + } + }, + "node_modules/mdurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz", + "integrity": "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==" + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/memoize-one": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-5.2.1.tgz", + "integrity": "sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==" + }, + "node_modules/merge-anything": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/merge-anything/-/merge-anything-2.4.4.tgz", + "integrity": "sha512-l5XlriUDJKQT12bH+rVhAHjwIuXWdAIecGwsYjv2LJo+dA1AeRTmeQS+3QBpO6lEthBMDi2IUMpLC1yyRvGlwQ==", + "dependencies": { + "is-what": "^3.3.1" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/meros": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/meros/-/meros-1.3.0.tgz", + "integrity": "sha512-2BNGOimxEz5hmjUG2FwoxCt5HN7BXdaWyFqEwxPTrJzVdABtrL4TiHTcsWSFAxPQ/tOnEaQEJh3qWq71QRMY+w==", + "engines": { + "node": ">=13" + }, + "peerDependencies": { + "@types/node": ">=13" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "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==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "optional": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/minim": { + "version": "0.23.8", + "resolved": "https://registry.npmjs.org/minim/-/minim-0.23.8.tgz", + "integrity": "sha512-bjdr2xW1dBCMsMGGsUeqM4eFI60m94+szhxWys+B1ztIt6gWSfeGBdSVCIawezeHYLYn0j6zrsXdQS/JllBzww==", + "dependencies": { + "lodash": "^4.15.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "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==", + "optional": true + }, + "node_modules/mobx": { + "version": "6.12.3", + "resolved": "https://registry.npmjs.org/mobx/-/mobx-6.12.3.tgz", + "integrity": "sha512-c8NKkO4R2lShkSXZ2Ongj1ycjugjzFFo/UswHBnS62y07DMcTc9Rvo03/3nRyszIvwPNljlkd4S828zIBv/piw==", + "peer": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mobx" + } + }, + "node_modules/mobx-react": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/mobx-react/-/mobx-react-7.6.0.tgz", + "integrity": "sha512-+HQUNuh7AoQ9ZnU6c4rvbiVVl+wEkb9WqYsVDzGLng+Dqj1XntHu79PvEWKtSMoMj67vFp/ZPXcElosuJO8ckA==", + "dependencies": { + "mobx-react-lite": "^3.4.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mobx" + }, + "peerDependencies": { + "mobx": "^6.1.0", + "react": "^16.8.0 || ^17 || ^18" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + }, + "react-native": { + "optional": true + } + } + }, + "node_modules/mobx-react-lite": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/mobx-react-lite/-/mobx-react-lite-3.4.3.tgz", + "integrity": "sha512-NkJREyFTSUXR772Qaai51BnE1voWx56LOL80xG7qkZr6vo8vEaLF3sz1JNUVh+rxmUzxYaqOhfuxTfqUh0FXUg==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mobx" + }, + "peerDependencies": { + "mobx": "^6.1.0", + "react": "^16.8.0 || ^17 || ^18" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + }, + "react-native": { + "optional": true + } + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/nan": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.19.0.tgz", + "integrity": "sha512-nO1xXxfh/RWNxfd/XPfbIfFk5vgLsAxUR9y5O0cHMJu/AW9U95JLXqthYHjEp+8gQ5p96K9jUp8nbVOxCdRbtw==", + "optional": true + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "peer": true, + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/napi-build-utils": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", + "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==", + "optional": true + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/node-abi": { + "version": "3.63.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.63.0.tgz", + "integrity": "sha512-vAszCsOUrUxjGAmdnM/pq7gUgie0IRteCQMX6d4A534fQCR93EJU5qgzBvU6EkFfK27s0T3HEV3BOyJIr7OMYw==", + "optional": true, + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-abort-controller": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/node-abort-controller/-/node-abort-controller-3.1.1.tgz", + "integrity": "sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==" + }, + "node_modules/node-domexception": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", + "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "github", + "url": "https://paypal.me/jimmywarting" + } + ], + "engines": { + "node": ">=10.5.0" + } + }, + "node_modules/node-fetch": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", + "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", + "dependencies": { + "encoding": "^0.1.11", + "is-stream": "^1.0.1" + } + }, + "node_modules/node-fetch-commonjs": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/node-fetch-commonjs/-/node-fetch-commonjs-3.3.2.tgz", + "integrity": "sha512-VBlAiynj3VMLrotgwOS3OyECFxas5y7ltLcK4t41lMUZeaK15Ym4QRkqN0EQKAFL42q9i21EPKjzLUPfltR72A==", + "dependencies": { + "node-domexception": "^1.0.0", + "web-streams-polyfill": "^3.0.3" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/node-fetch" + } + }, + "node_modules/node-fetch-h2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/node-fetch-h2/-/node-fetch-h2-2.3.0.tgz", + "integrity": "sha512-ofRW94Ab0T4AOh5Fk8t0h8OBWrmjb0SSB20xh1H8YnPV9EJ+f5AMoYSUQ2zgJ4Iq2HAK0I2l5/Nequ8YzFS3Hg==", + "dependencies": { + "http2-client": "^1.2.5" + }, + "engines": { + "node": "4.x || >=6.0.0" + } + }, + "node_modules/node-fingerprint": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/node-fingerprint/-/node-fingerprint-0.0.2.tgz", + "integrity": "sha512-vPFfTD5EBJieQ4SI3v61fWxlV1kav3m9Dbejd6CjWhOJn8s+XMxpOOosCNAyIrUQ/jJOlPndfrZ0lSw4+RgwcA==" + }, + "node_modules/node-readfiles": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/node-readfiles/-/node-readfiles-0.2.0.tgz", + "integrity": "sha512-SU00ZarexNlE4Rjdm83vglt5Y9yiQ+XI1XpflWlb7q7UTN1JUItm69xMeiQCTxtTfnzt+83T8Cx+vI2ED++VDA==", + "dependencies": { + "es6-promise": "^3.2.1" + } + }, + "node_modules/node-readfiles/node_modules/es6-promise": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz", + "integrity": "sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==" + }, + "node_modules/node-releases": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", + "peer": true + }, + "node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nullthrows": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz", + "integrity": "sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==" + }, + "node_modules/nwsapi": { + "version": "2.2.10", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.10.tgz", + "integrity": "sha512-QK0sRs7MKv0tKe1+5uZIQk/C8XGza4DAnztJG8iD+TpJIORARrCxczA738awHrZoHeTjSSoHqao2teO0dC/gFQ==" + }, + "node_modules/oas-kit-common": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/oas-kit-common/-/oas-kit-common-1.0.8.tgz", + "integrity": "sha512-pJTS2+T0oGIwgjGpw7sIRU8RQMcUoKCDWFLdBqKB2BNmGpbBMH2sdqAaOXUg8OzonZHU0L7vfJu1mJFEiYDWOQ==", + "dependencies": { + "fast-safe-stringify": "^2.0.7" + } + }, + "node_modules/oas-linter": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/oas-linter/-/oas-linter-3.2.2.tgz", + "integrity": "sha512-KEGjPDVoU5K6swgo9hJVA/qYGlwfbFx+Kg2QB/kd7rzV5N8N5Mg6PlsoCMohVnQmo+pzJap/F610qTodKzecGQ==", + "dependencies": { + "@exodus/schemasafe": "^1.0.0-rc.2", + "should": "^13.2.1", + "yaml": "^1.10.0" + }, + "funding": { + "url": "https://github.com/Mermade/oas-kit?sponsor=1" + } + }, + "node_modules/oas-resolver": { + "version": "2.5.6", + "resolved": "https://registry.npmjs.org/oas-resolver/-/oas-resolver-2.5.6.tgz", + "integrity": "sha512-Yx5PWQNZomfEhPPOphFbZKi9W93CocQj18NlD2Pa4GWZzdZpSJvYwoiuurRI7m3SpcChrnO08hkuQDL3FGsVFQ==", + "dependencies": { + "node-fetch-h2": "^2.3.0", + "oas-kit-common": "^1.0.8", + "reftools": "^1.1.9", + "yaml": "^1.10.0", + "yargs": "^17.0.1" + }, + "bin": { + "resolve": "resolve.js" + }, + "funding": { + "url": "https://github.com/Mermade/oas-kit?sponsor=1" + } + }, + "node_modules/oas-schema-walker": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/oas-schema-walker/-/oas-schema-walker-1.1.5.tgz", + "integrity": "sha512-2yucenq1a9YPmeNExoUa9Qwrt9RFkjqaMAA1X+U7sbb0AqBeTIdMHky9SQQ6iN94bO5NW0W4TRYXerG+BdAvAQ==", + "funding": { + "url": "https://github.com/Mermade/oas-kit?sponsor=1" + } + }, + "node_modules/oas-validator": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/oas-validator/-/oas-validator-5.0.8.tgz", + "integrity": "sha512-cu20/HE5N5HKqVygs3dt94eYJfBi0TsZvPVXDhbXQHiEityDN+RROTleefoKRKKJ9dFAF2JBkDHgvWj0sjKGmw==", + "dependencies": { + "call-me-maybe": "^1.0.1", + "oas-kit-common": "^1.0.8", + "oas-linter": "^3.2.2", + "oas-resolver": "^2.5.6", + "oas-schema-walker": "^1.1.5", + "reftools": "^1.1.9", + "should": "^13.2.1", + "yaml": "^1.10.0" + }, + "funding": { + "url": "https://github.com/Mermade/oas-kit?sponsor=1" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "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==", + "optional": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/openapi-path-templating": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/openapi-path-templating/-/openapi-path-templating-1.5.1.tgz", + "integrity": "sha512-kgRHToVP571U1YzUnaZnWaUIygon2itg5g96kwaFIi8bnpsw4oXYOk7k59Ivn+ley1iQnMENe/1HSovpPVZuXA==", + "dependencies": { + "apg-lite": "^1.0.3" + }, + "engines": { + "node": ">=12.20.0" + } + }, + "node_modules/openapi-sampler": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/openapi-sampler/-/openapi-sampler-1.5.1.tgz", + "integrity": "sha512-tIWIrZUKNAsbqf3bd9U1oH6JEXo8LNYuDlXw26By67EygpjT+ArFnsxxyTMjFWRfbqo5ozkvgSQDK69Gd8CddA==", + "dependencies": { + "@types/json-schema": "^7.0.7", + "json-pointer": "0.6.2" + } + }, + "node_modules/opener": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", + "bin": { + "opener": "bin/opener-bin.js" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-entities": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz", + "integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==", + "dependencies": { + "character-entities": "^1.0.0", + "character-entities-legacy": "^1.0.0", + "character-reference-invalid": "^1.0.0", + "is-alphanumerical": "^1.0.0", + "is-decimal": "^1.0.0", + "is-hexadecimal": "^1.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "dependencies": { + "entities": "^4.4.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==" + }, + "node_modules/path-to-regexp": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", + "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", + "dependencies": { + "isarray": "0.0.1" + } + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/perfect-scrollbar": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/perfect-scrollbar/-/perfect-scrollbar-1.5.5.tgz", + "integrity": "sha512-dzalfutyP3e/FOpdlhVryN4AJ5XDVauVWxybSkLZmakFE2sS3y3pc4JnSprw8tGmHvkaG5Edr5T7LBTZ+WWU2g==" + }, + "node_modules/picocolors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "engines": { + "node": ">=6" + } + }, + "node_modules/pluralize": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", + "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/polished": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/polished/-/polished-4.3.1.tgz", + "integrity": "sha512-OBatVyC/N7SCW/FaDHrSd+vn0o5cS855TOmYi4OkdWUMSJCET/xip//ch8xGUvtr3i44X9LVyWwQlRMTN3pwSA==", + "dependencies": { + "@babel/runtime": "^7.17.8" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/popmotion": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/popmotion/-/popmotion-11.0.3.tgz", + "integrity": "sha512-Y55FLdj3UxkR7Vl3s7Qr4e9m0onSnP8W7d/xQLsoJM40vs6UKHFdygs6SWryasTZYqugMjm3BepCF4CWXDiHgA==", + "dependencies": { + "framesync": "6.0.1", + "hey-listen": "^1.0.8", + "style-value-types": "5.0.0", + "tslib": "^2.1.0" + } + }, + "node_modules/postcss": { + "version": "8.4.38", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", + "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "peer": true, + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "peer": true + }, + "node_modules/prebuild-install": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.2.tgz", + "integrity": "sha512-UnNke3IQb6sgarcZIDU3gbMeTp/9SSU1DAIkil7PrqG1vZlBtY5msYccSKSHDqa3hNg436IXK+SNImReuA1wEQ==", + "optional": true, + "dependencies": { + "detect-libc": "^2.0.0", + "expand-template": "^2.0.3", + "github-from-package": "0.0.0", + "minimist": "^1.2.3", + "mkdirp-classic": "^0.5.3", + "napi-build-utils": "^1.0.1", + "node-abi": "^3.3.0", + "pump": "^3.0.0", + "rc": "^1.2.7", + "simple-get": "^4.0.0", + "tar-fs": "^2.0.0", + "tunnel-agent": "^0.6.0" + }, + "bin": { + "prebuild-install": "bin.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/prettier": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.0.2.tgz", + "integrity": "sha512-5xJQIPT8BraI7ZnaDwSbu5zLrB6vvi8hVV58yHQ+QK64qrY40dULy0HSRlQ2/2IdzeBpjhDkqdcFBnFeDEMVdg==", + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/pretty-format/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==" + }, + "node_modules/prismjs": { + "version": "1.29.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz", + "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==", + "engines": { + "node": ">=6" + } + }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/property-information": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-5.6.0.tgz", + "integrity": "sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==", + "dependencies": { + "xtend": "^4.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, + "node_modules/psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" + }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "optional": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/punycode.js": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode.js/-/punycode.js-2.3.1.tgz", + "integrity": "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/pvtsutils": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/pvtsutils/-/pvtsutils-1.3.5.tgz", + "integrity": "sha512-ARvb14YB9Nm2Xi6nBq1ZX6dAM0FsJnuk+31aUp4TrcZEdKUlSqOqsxJHUPJDNE3qiIp+iUPEIeR6Je/tgV7zsA==", + "dependencies": { + "tslib": "^2.6.1" + } + }, + "node_modules/pvutils": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/pvutils/-/pvutils-1.1.3.tgz", + "integrity": "sha512-pMpnA0qRdFp32b1sJl1wOJNxZLQ2cbQx+k6tjNtZ8CpvVhNqEPRgivZ2WOUev2YMajecdH7ctUPDvEe87nariQ==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/qs": { + "version": "6.12.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.12.1.tgz", + "integrity": "sha512-zWmv4RSuB9r2mYQw3zxQuHWeU+42aKi1wWig/j4ele4ygELZ7PEO6MM7rim9oAQH2A5MWfsAVf/jPvTPgCbvUQ==", + "dependencies": { + "side-channel": "^1.0.6" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/query-string": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", + "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", + "dependencies": { + "decode-uri-component": "^0.2.0", + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/ramda": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.30.0.tgz", + "integrity": "sha512-13Y0iMhIQuAm/wNGBL/9HEqIfRGmNmjKnTPlKWfA9f7dnDkr8d45wQ+S7+ZLh/Pq9PdcGxkqKUEA7ySu1QSd9Q==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/ramda" + } + }, + "node_modules/ramda-adjunct": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ramda-adjunct/-/ramda-adjunct-5.0.0.tgz", + "integrity": "sha512-iEehjqp/ZGjYZybZByDaDu27c+79SE7rKDcySLdmjAwKWkz6jNhvGgZwzUGaMsij8Llp9+1N1Gy0drpAq8ZSyA==", + "engines": { + "node": ">=0.10.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/ramda-adjunct" + }, + "peerDependencies": { + "ramda": ">= 0.30.0" + } + }, + "node_modules/randexp": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/randexp/-/randexp-0.5.3.tgz", + "integrity": "sha512-U+5l2KrcMNOUPYvazA3h5ekF80FHTUG+87SEAmHZmolh1M+i/WyTCxVzmi+tidIa1tM4BSe8g2Y/D3loWDjj+w==", + "dependencies": { + "drange": "^1.0.2", + "ret": "^0.2.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "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==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "optional": true, + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/react": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", + "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-addons-shallow-compare": { + "version": "15.6.3", + "resolved": "https://registry.npmjs.org/react-addons-shallow-compare/-/react-addons-shallow-compare-15.6.3.tgz", + "integrity": "sha512-EDJbgKTtGRLhr3wiGDXK/+AEJ59yqGS+tKE6mue0aNXT6ZMR7VJbbzIiT6akotmHg1BLj46ElJSb+NBMp80XBg==", + "dependencies": { + "object-assign": "^4.1.0" + } + }, + "node_modules/react-copy-to-clipboard": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/react-copy-to-clipboard/-/react-copy-to-clipboard-5.1.0.tgz", + "integrity": "sha512-k61RsNgAayIJNoy9yDsYzDe/yAZAzEbEgcz3DZMhF686LEyukcE1hzurxe85JandPUG+yTfGVFzuEw3xt8WP/A==", + "dependencies": { + "copy-to-clipboard": "^3.3.1", + "prop-types": "^15.8.1" + }, + "peerDependencies": { + "react": "^15.3.0 || 16 || 17 || 18" + } + }, + "node_modules/react-debounce-input": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/react-debounce-input/-/react-debounce-input-3.3.0.tgz", + "integrity": "sha512-VEqkvs8JvY/IIZvh71Z0TC+mdbxERvYF33RcebnodlsUZ8RSgyKe2VWaHXv4+/8aoOgXLxWrdsYs2hDhcwbUgA==", + "dependencies": { + "lodash.debounce": "^4", + "prop-types": "^15.8.1" + }, + "peerDependencies": { + "react": "^15.3.0 || 16 || 17 || 18" + } + }, + "node_modules/react-display-name": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/react-display-name/-/react-display-name-0.2.5.tgz", + "integrity": "sha512-I+vcaK9t4+kypiSgaiVWAipqHRXYmZIuAiS8vzFvXHHXVigg/sMKwlRgLy6LH2i3rmP+0Vzfl5lFsFRwF1r3pg==" + }, + "node_modules/react-dom": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.2" + }, + "peerDependencies": { + "react": "^18.3.1" + } + }, + "node_modules/react-fast-compare": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-2.0.4.tgz", + "integrity": "sha512-suNP+J1VU1MWFKcyt7RtjiSWUjvidmQSlqu+eHslq+342xCbGTYmC0mEhPCOHxlW0CywylOC1u2DFAT+bv4dBw==" + }, + "node_modules/react-helmet": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/react-helmet/-/react-helmet-5.2.1.tgz", + "integrity": "sha512-CnwD822LU8NDBnjCpZ4ySh8L6HYyngViTZLfBBb3NjtrpN8m49clH8hidHouq20I51Y6TpCTISCBbqiY5GamwA==", + "dependencies": { + "object-assign": "^4.1.1", + "prop-types": "^15.5.4", + "react-fast-compare": "^2.0.2", + "react-side-effect": "^1.1.0" + }, + "peerDependencies": { + "react": ">=15.0.0" + } + }, + "node_modules/react-helmet/node_modules/react-side-effect": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/react-side-effect/-/react-side-effect-1.2.0.tgz", + "integrity": "sha512-v1ht1aHg5k/thv56DRcjw+WtojuuDHFUgGfc+bFHOWsF4ZK6C2V57DO0Or0GPsg6+LSTE0M6Ry/gfzhzSwbc5w==", + "dependencies": { + "shallowequal": "^1.0.1" + }, + "peerDependencies": { + "react": "^0.13.0 || ^0.14.0 || ^15.0.0 || ^16.0.0" + } + }, + "node_modules/react-immutable-proptypes": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/react-immutable-proptypes/-/react-immutable-proptypes-2.2.0.tgz", + "integrity": "sha512-Vf4gBsePlwdGvSZoLSBfd4HAP93HDauMY4fDjXhreg/vg6F3Fj/MXDNyTbltPC/xZKmZc+cjLu3598DdYK6sgQ==", + "dependencies": { + "invariant": "^2.2.2" + }, + "peerDependencies": { + "immutable": ">=3.6.2" + } + }, + "node_modules/react-immutable-pure-component": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/react-immutable-pure-component/-/react-immutable-pure-component-2.2.2.tgz", + "integrity": "sha512-vkgoMJUDqHZfXXnjVlG3keCxSO/U6WeDQ5/Sl0GK2cH8TOxEzQ5jXqDXHEL/jqk6fsNxV05oH5kD7VNMUE2k+A==", + "peerDependencies": { + "immutable": ">= 2 || >= 4.0.0-rc", + "react": ">= 16.6", + "react-dom": ">= 16.6" + } + }, + "node_modules/react-inspector": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/react-inspector/-/react-inspector-6.0.2.tgz", + "integrity": "sha512-x+b7LxhmHXjHoU/VrFAzw5iutsILRoYyDq97EDYdFpPLcvqtEzk4ZSZSQjnFPbr5T57tLXnHcqFYoN1pI6u8uQ==", + "peerDependencies": { + "react": "^16.8.4 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "node_modules/react-lifecycles-compat": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", + "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" + }, + "node_modules/react-modal": { + "version": "3.16.1", + "resolved": "https://registry.npmjs.org/react-modal/-/react-modal-3.16.1.tgz", + "integrity": "sha512-VStHgI3BVcGo7OXczvnJN7yT2TWHJPDXZWyI/a0ssFNhGZWsPmB8cF0z33ewDXq4VfYMO1vXgiv/g8Nj9NDyWg==", + "dependencies": { + "exenv": "^1.2.0", + "prop-types": "^15.7.2", + "react-lifecycles-compat": "^3.0.0", + "warning": "^4.0.3" + }, + "engines": { + "node": ">=8" + }, + "peerDependencies": { + "react": "^0.14.0 || ^15.0.0 || ^16 || ^17 || ^18", + "react-dom": "^0.14.0 || ^15.0.0 || ^16 || ^17 || ^18" + } + }, + "node_modules/react-redux": { + "version": "7.2.9", + "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-7.2.9.tgz", + "integrity": "sha512-Gx4L3uM182jEEayZfRbI/G11ZpYdNAnBs70lFVMNdHJI76XYtR+7m0MN+eAs7UHBPhWXcnFPaS+9owSCJQHNpQ==", + "dependencies": { + "@babel/runtime": "^7.15.4", + "@types/react-redux": "^7.1.20", + "hoist-non-react-statics": "^3.3.2", + "loose-envify": "^1.4.0", + "prop-types": "^15.7.2", + "react-is": "^17.0.2" + }, + "peerDependencies": { + "react": "^16.8.3 || ^17 || ^18" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + }, + "react-native": { + "optional": true + } + } + }, + "node_modules/react-redux/node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + }, + "node_modules/react-remove-scroll": { + "version": "2.5.5", + "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.5.5.tgz", + "integrity": "sha512-ImKhrzJJsyXJfBZ4bzu8Bwpka14c/fQt0k+cyFp/PBhTfyDnU5hjOtM4AG/0AMyy8oKzOTR0lDgJIM7pYXI0kw==", + "dependencies": { + "react-remove-scroll-bar": "^2.3.3", + "react-style-singleton": "^2.2.1", + "tslib": "^2.1.0", + "use-callback-ref": "^1.3.0", + "use-sidecar": "^1.1.2" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-remove-scroll-bar": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.4.tgz", + "integrity": "sha512-63C4YQBUt0m6ALadE9XV56hV8BgJWDmmTPY758iIJjfQKt2nYwoUrPk0LXRXcB/yIj82T1/Ixfdpdk68LwIB0A==", + "dependencies": { + "react-style-singleton": "^2.2.1", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-router": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-4.3.1.tgz", + "integrity": "sha512-yrvL8AogDh2X42Dt9iknk4wF4V8bWREPirFfS9gLU1huk6qK41sg7Z/1S81jjTrGHxa3B8R3J6xIkDAA6CVarg==", + "dependencies": { + "history": "^4.7.2", + "hoist-non-react-statics": "^2.5.0", + "invariant": "^2.2.4", + "loose-envify": "^1.3.1", + "path-to-regexp": "^1.7.0", + "prop-types": "^15.6.1", + "warning": "^4.0.1" + }, + "peerDependencies": { + "react": ">=15" + } + }, + "node_modules/react-router-dom": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-4.3.1.tgz", + "integrity": "sha512-c/MlywfxDdCp7EnB7YfPMOfMD3tOtIjrQlj/CKfNMBxdmpJP8xcz5P/UAFn3JbnQCNUxsHyVVqllF9LhgVyFCA==", + "dependencies": { + "history": "^4.7.2", + "invariant": "^2.2.4", + "loose-envify": "^1.3.1", + "prop-types": "^15.6.1", + "react-router": "^4.3.1", + "warning": "^4.0.1" + }, + "peerDependencies": { + "react": ">=15" + } + }, + "node_modules/react-router/node_modules/hoist-non-react-statics": { + "version": "2.5.5", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz", + "integrity": "sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw==" + }, + "node_modules/react-style-singleton": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.1.tgz", + "integrity": "sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==", + "dependencies": { + "get-nonce": "^1.0.0", + "invariant": "^2.2.4", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-syntax-highlighter": { + "version": "15.5.0", + "resolved": "https://registry.npmjs.org/react-syntax-highlighter/-/react-syntax-highlighter-15.5.0.tgz", + "integrity": "sha512-+zq2myprEnQmH5yw6Gqc8lD55QHnpKaU8TOcFeC/Lg/MQSs8UknEA0JC4nTZGFAXC2J2Hyj/ijJ7NlabyPi2gg==", + "dependencies": { + "@babel/runtime": "^7.3.1", + "highlight.js": "^10.4.1", + "lowlight": "^1.17.0", + "prismjs": "^1.27.0", + "refractor": "^3.6.0" + }, + "peerDependencies": { + "react": ">= 0.14.0" + } + }, + "node_modules/react-tabs": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/react-tabs/-/react-tabs-4.3.0.tgz", + "integrity": "sha512-2GfoG+f41kiBIIyd3gF+/GRCCYtamC8/2zlAcD8cqQmqI9Q+YVz7fJLHMmU9pXDVYYHpJeCgUSBJju85vu5q8Q==", + "dependencies": { + "clsx": "^1.1.0", + "prop-types": "^15.5.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0-0 || ^18.0.0" + } + }, + "node_modules/react-transition-group": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.9.0.tgz", + "integrity": "sha512-+HzNTCHpeQyl4MJ/bdE0u6XRMe9+XG/+aL4mCxVN4DnPBQ0/5bfHWPDuOZUzYdMj94daZaZdCCc1Dzt9R/xSSg==", + "dependencies": { + "dom-helpers": "^3.4.0", + "loose-envify": "^1.4.0", + "prop-types": "^15.6.2", + "react-lifecycles-compat": "^3.0.4" + }, + "peerDependencies": { + "react": ">=15.0.0", + "react-dom": ">=15.0.0" + } + }, + "node_modules/react-virtualized": { + "version": "9.22.5", + "resolved": "https://registry.npmjs.org/react-virtualized/-/react-virtualized-9.22.5.tgz", + "integrity": "sha512-YqQMRzlVANBv1L/7r63OHa2b0ZsAaDp1UhVNEdUaXI8A5u6hTpA5NYtUueLH2rFuY/27mTGIBl7ZhqFKzw18YQ==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "clsx": "^1.0.4", + "dom-helpers": "^5.1.3", + "loose-envify": "^1.4.0", + "prop-types": "^15.7.2", + "react-lifecycles-compat": "^3.0.4" + }, + "peerDependencies": { + "react": "^15.3.0 || ^16.0.0-alpha || ^17.0.0 || ^18.0.0", + "react-dom": "^15.3.0 || ^16.0.0-alpha || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/react-virtualized/node_modules/dom-helpers": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", + "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", + "dependencies": { + "@babel/runtime": "^7.8.7", + "csstype": "^3.0.2" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "optional": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/redoc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/redoc/-/redoc-2.1.4.tgz", + "integrity": "sha512-wqStZ9oPDTCmp2DMLqecxvxjltX4Bi2xfJiQq3+5Ty1g9Au7TGpJi9PPs42x7p/FxG8t+HlJ6xA7pXpWLZ+UyQ==", + "dependencies": { + "@redocly/openapi-core": "^1.4.0", + "classnames": "^2.3.2", + "decko": "^1.2.0", + "dompurify": "^3.0.6", + "eventemitter3": "^5.0.1", + "jest-environment-jsdom": "^29.7.0", + "json-pointer": "^0.6.2", + "lunr": "^2.3.9", + "mark.js": "^8.11.1", + "marked": "^4.3.0", + "mobx-react": "^7.2.0", + "openapi-sampler": "^1.5.0", + "path-browserify": "^1.0.1", + "perfect-scrollbar": "^1.5.5", + "polished": "^4.2.2", + "prismjs": "^1.29.0", + "prop-types": "^15.8.1", + "react-tabs": "^4.3.0", + "slugify": "~1.4.7", + "stickyfill": "^1.1.1", + "swagger2openapi": "^7.0.8", + "url-template": "^2.0.8" + }, + "engines": { + "node": ">=6.9", + "npm": ">=3.0.0" + }, + "peerDependencies": { + "core-js": "^3.1.4", + "mobx": "^6.0.4", + "react": "^16.8.4 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.4 || ^17.0.0 || ^18.0.0", + "styled-components": "^4.1.1 || ^5.1.1 || ^6.0.5" + } + }, + "node_modules/redoc/node_modules/marked": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz", + "integrity": "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==", + "bin": { + "marked": "bin/marked.js" + }, + "engines": { + "node": ">= 12" + } + }, + "node_modules/reduce-reducers": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/reduce-reducers/-/reduce-reducers-0.4.3.tgz", + "integrity": "sha512-+CNMnI8QhgVMtAt54uQs3kUxC3Sybpa7Y63HR14uGLgI9/QR5ggHvpxwhGGe3wmx5V91YwqQIblN9k5lspAmGw==" + }, + "node_modules/redux": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/redux/-/redux-4.2.1.tgz", + "integrity": "sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==", + "dependencies": { + "@babel/runtime": "^7.9.2" + } + }, + "node_modules/redux-actions": { + "version": "2.6.5", + "resolved": "https://registry.npmjs.org/redux-actions/-/redux-actions-2.6.5.tgz", + "integrity": "sha512-pFhEcWFTYNk7DhQgxMGnbsB1H2glqhQJRQrtPb96kD3hWiZRzXHwwmFPswg6V2MjraXRXWNmuP9P84tvdLAJmw==", + "dependencies": { + "invariant": "^2.2.4", + "just-curry-it": "^3.1.0", + "loose-envify": "^1.4.0", + "reduce-reducers": "^0.4.3", + "to-camel-case": "^1.0.0" + } + }, + "node_modules/redux-immutable": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/redux-immutable/-/redux-immutable-4.0.0.tgz", + "integrity": "sha512-SchSn/DWfGb3oAejd+1hhHx01xUoxY+V7TeK0BKqpkLKiQPVFf7DYzEaKmrEVxsWxielKfSK9/Xq66YyxgR1cg==", + "peerDependencies": { + "immutable": "^3.8.1 || ^4.0.0-rc.1" + } + }, + "node_modules/redux-localstorage": { + "version": "1.0.0-rc5", + "resolved": "https://registry.npmjs.org/redux-localstorage/-/redux-localstorage-1.0.0-rc5.tgz", + "integrity": "sha512-7Vv82DGrsb3ncDJxpkEStVoT+qgI9UdrRc5Pl/l6rWsq4j1hQCyG7U+tiOsposeWgSRuqMQRyIe9scR8eED5tA==" + }, + "node_modules/redux-localstorage-debounce": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/redux-localstorage-debounce/-/redux-localstorage-debounce-0.1.0.tgz", + "integrity": "sha512-1SMGRkUhsH3SHp2x1yse1/4FKIlqSjxvvDP63J7ike8vGI1lWRatG8gSRyhDDcfjNagvnzhoY57P36HcvFXFqw==", + "dependencies": { + "lodash.debounce": "^3.1.1" + } + }, + "node_modules/redux-localstorage-debounce/node_modules/lodash.debounce": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-3.1.1.tgz", + "integrity": "sha512-lcmJwMpdPAtChA4hfiwxTtgFeNAaow701wWUgVUqeD0XJF7vMXIN+bu/2FJSGxT0NUbZy9g9VFrlOFfPjl+0Ew==", + "dependencies": { + "lodash._getnative": "^3.0.0" + } + }, + "node_modules/redux-localstorage-filter": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/redux-localstorage-filter/-/redux-localstorage-filter-0.1.1.tgz", + "integrity": "sha512-qWx0stDxleQJEO0M4n7DNCWb7VJa+FzOSpYaMPq6aUIYlmlQf9rc197+6uvbNsW3Jsc4G/SYrGPd9s8KQpP5pg==" + }, + "node_modules/redux-saga": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/redux-saga/-/redux-saga-1.2.3.tgz", + "integrity": "sha512-HDe0wTR5nhd8Xr5xjGzoyTbdAw6rjy1GDplFt3JKtKN8/MnkQSRqK/n6aQQhpw5NI4ekDVOaW+w4sdxPBaCoTQ==", + "dependencies": { + "@redux-saga/core": "^1.2.3" + } + }, + "node_modules/refractor": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/refractor/-/refractor-3.6.0.tgz", + "integrity": "sha512-MY9W41IOWxxk31o+YvFCNyNzdkc9M20NoZK5vq6jkv4I/uh2zkWcfudj0Q1fovjUQJrNewS9NMzeTtqPf+n5EA==", + "dependencies": { + "hastscript": "^6.0.0", + "parse-entities": "^2.0.0", + "prismjs": "~1.27.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/refractor/node_modules/prismjs": { + "version": "1.27.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.27.0.tgz", + "integrity": "sha512-t13BGPUlFDR7wRB5kQDG4jjl7XeuH6jbJGt11JHPL96qwsEHNX2+68tFXqc1/k+/jALsbSWJKUOT/hcYAZ5LkA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/reftools": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/reftools/-/reftools-1.1.9.tgz", + "integrity": "sha512-OVede/NQE13xBQ+ob5CKd5KyeJYU2YInb1bmV4nRoOfquZPkAkxuOXicSe1PvqIuZZ4kD13sPKBbR7UFDmli6w==", + "funding": { + "url": "https://github.com/Mermade/oas-kit?sponsor=1" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", + "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==" + }, + "node_modules/remarkable": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/remarkable/-/remarkable-2.0.1.tgz", + "integrity": "sha512-YJyMcOH5lrR+kZdmB0aJJ4+93bEojRZ1HGDn9Eagu6ibg7aVZhc3OWbbShRid+Q5eAfsEqWxpe+g5W5nYNfNiA==", + "dependencies": { + "argparse": "^1.0.10", + "autolinker": "^3.11.0" + }, + "bin": { + "remarkable": "bin/remarkable.js" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==" + }, + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" + }, + "node_modules/reselect": { + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/reselect/-/reselect-4.1.8.tgz", + "integrity": "sha512-ab9EmR80F/zQTMNeneUr4cv+jSwPJgIlvEmVwLerwrWVbpLlBuls9XHzIeTFy4cegU2NHBp3va0LKOzU5qFEYQ==" + }, + "node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-pathname": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz", + "integrity": "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==" + }, + "node_modules/ret": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.2.2.tgz", + "integrity": "sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/saxes": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", + "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=v12.22.7" + } + }, + "node_modules/scheduler": { + "version": "0.23.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", + "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/seamless-immutable": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/seamless-immutable/-/seamless-immutable-7.1.4.tgz", + "integrity": "sha512-XiUO1QP4ki4E2PHegiGAlu6r82o5A+6tRh7IkGGTVg/h+UoeX4nFBeCGPOhb4CYjvkqsfm/TUtvOMYC1xmV30A==" + }, + "node_modules/semver": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", + "optional": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "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" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/serialize-error": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-8.1.0.tgz", + "integrity": "sha512-3NnuWfM6vBYoy5gZFvHiYsVbafvI9vZv/+jlIigFn4oP4zjNPK3LhcY0xSCgeb1a5L8jO71Mit9LlNoi2UfDDQ==", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-value": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-4.1.0.tgz", + "integrity": "sha512-zTEg4HL0RwVrqcWs3ztF+x1vkxfm0lP+MQQFPiMJTKVceBwEV0A569Ou8l9IYQG8jOZdMVI1hGsc0tmeD2o/Lw==", + "funding": [ + "https://github.com/sponsors/jonschlinkert", + "https://paypal.me/jonathanschlinkert", + "https://jonschlinkert.dev/sponsor" + ], + "dependencies": { + "is-plain-object": "^2.0.4", + "is-primitive": "^3.0.1" + }, + "engines": { + "node": ">=11.0" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "node_modules/sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + }, + "bin": { + "sha.js": "bin.js" + } + }, + "node_modules/shallowequal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", + "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==" + }, + "node_modules/short-unique-id": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/short-unique-id/-/short-unique-id-5.2.0.tgz", + "integrity": "sha512-cMGfwNyfDZ/nzJ2k2M+ClthBIh//GlZl1JEf47Uoa9XR11bz8Pa2T2wQO4bVrRdH48LrIDWJahQziKo3MjhsWg==", + "bin": { + "short-unique-id": "bin/short-unique-id", + "suid": "bin/short-unique-id" + } + }, + "node_modules/should": { + "version": "13.2.3", + "resolved": "https://registry.npmjs.org/should/-/should-13.2.3.tgz", + "integrity": "sha512-ggLesLtu2xp+ZxI+ysJTmNjh2U0TsC+rQ/pfED9bUZZ4DKefP27D+7YJVVTvKsmjLpIi9jAa7itwDGkDDmt1GQ==", + "dependencies": { + "should-equal": "^2.0.0", + "should-format": "^3.0.3", + "should-type": "^1.4.0", + "should-type-adaptors": "^1.0.1", + "should-util": "^1.0.0" + } + }, + "node_modules/should-equal": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/should-equal/-/should-equal-2.0.0.tgz", + "integrity": "sha512-ZP36TMrK9euEuWQYBig9W55WPC7uo37qzAEmbjHz4gfyuXrEUgF8cUvQVO+w+d3OMfPvSRQJ22lSm8MQJ43LTA==", + "dependencies": { + "should-type": "^1.4.0" + } + }, + "node_modules/should-format": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/should-format/-/should-format-3.0.3.tgz", + "integrity": "sha512-hZ58adtulAk0gKtua7QxevgUaXTTXxIi8t41L3zo9AHvjXO1/7sdLECuHeIN2SRtYXpNkmhoUP2pdeWgricQ+Q==", + "dependencies": { + "should-type": "^1.3.0", + "should-type-adaptors": "^1.0.1" + } + }, + "node_modules/should-type": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/should-type/-/should-type-1.4.0.tgz", + "integrity": "sha512-MdAsTu3n25yDbIe1NeN69G4n6mUnJGtSJHygX3+oN0ZbO3DTiATnf7XnYJdGT42JCXurTb1JI0qOBR65shvhPQ==" + }, + "node_modules/should-type-adaptors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/should-type-adaptors/-/should-type-adaptors-1.1.0.tgz", + "integrity": "sha512-JA4hdoLnN+kebEp2Vs8eBe9g7uy0zbRo+RMcU0EsNy+R+k049Ki+N5tT5Jagst2g7EAja+euFuoXFCa8vIklfA==", + "dependencies": { + "should-type": "^1.3.0", + "should-util": "^1.0.0" + } + }, + "node_modules/should-util": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/should-util/-/should-util-1.0.1.tgz", + "integrity": "sha512-oXF8tfxx5cDk8r2kYqlkUJzZpDBqVY/II2WhvU0n9Y3XYvAYRmeaf1PvvIvTgPnv4KJ+ES5M0PyDq5Jp+Ygy2g==" + }, + "node_modules/side-channel": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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" + } + ], + "optional": true + }, + "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" + } + ], + "optional": true, + "dependencies": { + "decompress-response": "^6.0.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/slugify": { + "version": "1.4.7", + "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.4.7.tgz", + "integrity": "sha512-tf+h5W1IrjNm/9rKKj0JU2MDMruiopx0jjVA5zCdBtcGjfp0+c5rHw/zADLC3IeKlGHtVbHtpfzvYA0OYT+HKg==", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", + "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/space-separated-tokens": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz", + "integrity": "sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + }, + "node_modules/stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/stickyfill": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stickyfill/-/stickyfill-1.1.1.tgz", + "integrity": "sha512-GCp7vHAfpao+Qh/3Flh9DXEJ/qSi0KJwJw6zYlZOtRYXWUIpMM6mC2rIep/dK8RQqwW0KxGJIllmjPIBOGN8AA==" + }, + "node_modules/streamsearch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", + "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "optional": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-env-interpolation": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/string-env-interpolation/-/string-env-interpolation-1.0.1.tgz", + "integrity": "sha512-78lwMoCcn0nNu8LszbP1UA7g55OeE4v7rCeWnM5B453rnNr4aq+5it3FEYtZrSEiMvHZOZ9Jlqb0OD0M2VInqg==" + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/style-mod": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/style-mod/-/style-mod-4.1.2.tgz", + "integrity": "sha512-wnD1HyVqpJUI2+eKZ+eo1UwghftP6yuFheBqqe+bWCotBjC2K1YnteJILRMs3SM4V/0dLEW1SC27MWP5y+mwmw==", + "peer": true + }, + "node_modules/style-value-types": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/style-value-types/-/style-value-types-5.0.0.tgz", + "integrity": "sha512-08yq36Ikn4kx4YU6RD7jWEv27v4V+PUsOGa4n/as8Et3CuODMJQ00ENeAVXAeydX4Z2j1XHZF1K2sX4mGl18fA==", + "dependencies": { + "hey-listen": "^1.0.8", + "tslib": "^2.1.0" + } + }, + "node_modules/styled-components": { + "version": "6.1.11", + "resolved": "https://registry.npmjs.org/styled-components/-/styled-components-6.1.11.tgz", + "integrity": "sha512-Ui0jXPzbp1phYij90h12ksljKGqF8ncGx+pjrNPsSPhbUUjWT2tD1FwGo2LF6USCnbrsIhNngDfodhxbegfEOA==", + "peer": true, + "dependencies": { + "@emotion/is-prop-valid": "1.2.2", + "@emotion/unitless": "0.8.1", + "@types/stylis": "4.2.5", + "css-to-react-native": "3.2.0", + "csstype": "3.1.3", + "postcss": "8.4.38", + "shallowequal": "1.1.0", + "stylis": "4.3.2", + "tslib": "2.6.2" + }, + "engines": { + "node": ">= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/styled-components" + }, + "peerDependencies": { + "react": ">= 16.8.0", + "react-dom": ">= 16.8.0" + } + }, + "node_modules/styled-components/node_modules/@emotion/is-prop-valid": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.2.tgz", + "integrity": "sha512-uNsoYd37AFmaCdXlg6EYD1KaPOaRWRByMCYzbKUX4+hhMfrxdVSelShywL4JVaAeM/eHUOSprYBQls+/neX3pw==", + "peer": true, + "dependencies": { + "@emotion/memoize": "^0.8.1" + } + }, + "node_modules/styled-components/node_modules/@emotion/memoize": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.1.tgz", + "integrity": "sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==", + "peer": true + }, + "node_modules/stylis": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.3.2.tgz", + "integrity": "sha512-bhtUjWd/z6ltJiQwg0dUfxEJ+W+jdqQd8TbWLWyeIJHlnsqmGLRFFd8e5mA0AZi/zx90smXRlN66YMTcaSFifg==", + "peer": true + }, + "node_modules/subscriptions-transport-ws": { + "version": "0.9.19", + "resolved": "https://registry.npmjs.org/subscriptions-transport-ws/-/subscriptions-transport-ws-0.9.19.tgz", + "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", + "dependencies": { + "backo2": "^1.0.2", + "eventemitter3": "^3.1.0", + "iterall": "^1.2.1", + "symbol-observable": "^1.0.4", + "ws": "^5.2.0 || ^6.0.0 || ^7.0.0" + }, + "peerDependencies": { + "graphql": ">=0.10.0" + } + }, + "node_modules/subscriptions-transport-ws/node_modules/eventemitter3": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz", + "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==" + }, + "node_modules/subscriptions-transport-ws/node_modules/ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "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 + } + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/swagger-client": { + "version": "3.28.1", + "resolved": "https://registry.npmjs.org/swagger-client/-/swagger-client-3.28.1.tgz", + "integrity": "sha512-tt3/54GTImgOLrjzl83FZ+koJ7Kq6uuyBNS7mTpZeUQsBi2a/4IvqPcfY2qKhf7CFrbv6lzPm+MmSudrxU8J5g==", + "dependencies": { + "@babel/runtime-corejs3": "^7.22.15", + "@swagger-api/apidom-core": ">=1.0.0-alpha.3 <1.0.0-beta.0", + "@swagger-api/apidom-error": ">=1.0.0-alpha.1 <1.0.0-beta.0", + "@swagger-api/apidom-json-pointer": ">=1.0.0-alpha.3 <1.0.0-beta.0", + "@swagger-api/apidom-ns-openapi-3-1": ">=1.0.0-alpha.3 <1.0.0-beta.0", + "@swagger-api/apidom-reference": ">=1.0.0-alpha.3 <1.0.0-beta.0", + "cookie": "~0.6.0", + "deepmerge": "~4.3.0", + "fast-json-patch": "^3.0.0-1", + "is-plain-object": "^5.0.0", + "js-yaml": "^4.1.0", + "node-abort-controller": "^3.1.1", + "node-fetch-commonjs": "^3.3.2", + "openapi-path-templating": "^1.5.1", + "qs": "^6.10.2", + "ramda-adjunct": "^5.0.0", + "traverse": "=0.6.8" + } + }, + "node_modules/swagger-client/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "node_modules/swagger-client/node_modules/is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/swagger-client/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/swagger-ui": { + "version": "5.17.14", + "resolved": "https://registry.npmjs.org/swagger-ui/-/swagger-ui-5.17.14.tgz", + "integrity": "sha512-z9pOymwowrgkoMKNsRSN6QjOyYrMAnc4iohEebnS/ELT5jjdB13Lu4f3Bl4+o2Mw5B6QOyo4vibr/A/Vb7UbMQ==", + "dependencies": { + "@babel/runtime-corejs3": "^7.24.5", + "@braintree/sanitize-url": "=7.0.2", + "base64-js": "^1.5.1", + "classnames": "^2.5.1", + "css.escape": "1.5.1", + "deep-extend": "0.6.0", + "dompurify": "=3.1.4", + "ieee754": "^1.2.1", + "immutable": "^3.x.x", + "js-file-download": "^0.4.12", + "js-yaml": "=4.1.0", + "lodash": "^4.17.21", + "prop-types": "^15.8.1", + "randexp": "^0.5.3", + "randombytes": "^2.1.0", + "react": ">=16.8.0 <19", + "react-copy-to-clipboard": "5.1.0", + "react-debounce-input": "=3.3.0", + "react-dom": ">=16.8.0 <19", + "react-immutable-proptypes": "2.2.0", + "react-immutable-pure-component": "^2.2.0", + "react-inspector": "^6.0.1", + "react-redux": "^9.1.2", + "react-syntax-highlighter": "^15.5.0", + "redux": "^5.0.1", + "redux-immutable": "^4.0.0", + "remarkable": "^2.0.1", + "reselect": "^5.1.0", + "serialize-error": "^8.1.0", + "sha.js": "^2.4.11", + "swagger-client": "^3.28.1", + "url-parse": "^1.5.10", + "xml": "=1.0.1", + "xml-but-prettier": "^1.0.1", + "zenscroll": "^4.0.2" + } + }, + "node_modules/swagger-ui/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "node_modules/swagger-ui/node_modules/immutable": { + "version": "3.8.2", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.8.2.tgz", + "integrity": "sha512-15gZoQ38eYjEjxkorfbcgBKBL6R7T459OuK+CpcWt7O3KF4uPCx2tD0uFETlUDIyo+1789crbMhTvQBSR5yBMg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/swagger-ui/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/swagger-ui/node_modules/react-redux": { + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-9.1.2.tgz", + "integrity": "sha512-0OA4dhM1W48l3uzmv6B7TXPCGmokUU4p1M44DGN2/D9a1FjVPukVjER1PcPX97jIg6aUeLq1XJo1IpfbgULn0w==", + "dependencies": { + "@types/use-sync-external-store": "^0.0.3", + "use-sync-external-store": "^1.0.0" + }, + "peerDependencies": { + "@types/react": "^18.2.25", + "react": "^18.0", + "redux": "^5.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "redux": { + "optional": true + } + } + }, + "node_modules/swagger-ui/node_modules/redux": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/redux/-/redux-5.0.1.tgz", + "integrity": "sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w==" + }, + "node_modules/swagger-ui/node_modules/reselect": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/reselect/-/reselect-5.1.0.tgz", + "integrity": "sha512-aw7jcGLDpSgNDyWBQLv2cedml85qd95/iszJjN988zX1t7AVRJi19d9kto5+W7oCfQ94gyo40dVbT6g2k4/kXg==" + }, + "node_modules/swagger2openapi": { + "version": "7.0.8", + "resolved": "https://registry.npmjs.org/swagger2openapi/-/swagger2openapi-7.0.8.tgz", + "integrity": "sha512-upi/0ZGkYgEcLeGieoz8gT74oWHA0E7JivX7aN9mAf+Tc7BQoRBvnIGHoPDw+f9TXTW4s6kGYCZJtauP6OYp7g==", + "dependencies": { + "call-me-maybe": "^1.0.1", + "node-fetch": "^2.6.1", + "node-fetch-h2": "^2.3.0", + "node-readfiles": "^0.2.0", + "oas-kit-common": "^1.0.8", + "oas-resolver": "^2.5.6", + "oas-schema-walker": "^1.1.5", + "oas-validator": "^5.0.8", + "reftools": "^1.1.9", + "yaml": "^1.10.0", + "yargs": "^17.0.1" + }, + "bin": { + "boast": "boast.js", + "oas-validate": "oas-validate.js", + "swagger2openapi": "swagger2openapi.js" + }, + "funding": { + "url": "https://github.com/Mermade/oas-kit?sponsor=1" + } + }, + "node_modules/swagger2openapi/node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/swagger2openapi/node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, + "node_modules/swagger2openapi/node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "node_modules/swagger2openapi/node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/symbol-observable": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", + "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" + }, + "node_modules/tar-fs": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", + "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", + "optional": true, + "dependencies": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + } + }, + "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==", + "optional": true, + "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/tiny-invariant": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.1.tgz", + "integrity": "sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==" + }, + "node_modules/tiny-warning": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", + "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" + }, + "node_modules/to-camel-case": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/to-camel-case/-/to-camel-case-1.0.0.tgz", + "integrity": "sha512-nD8pQi5H34kyu1QDMFjzEIYqk0xa9Alt6ZfrdEMuHCFOfTLhDG5pgTu/aAM9Wt9lXILwlXmWP43b8sav0GNE8Q==", + "dependencies": { + "to-space-case": "^1.0.0" + } + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "engines": { + "node": ">=4" + } + }, + "node_modules/to-no-case": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/to-no-case/-/to-no-case-1.0.2.tgz", + "integrity": "sha512-Z3g735FxuZY8rodxV4gH7LxClE4H0hTIyHNIHdk+vpQxjLm0cwnKXq/OFVZ76SOQmto7txVcwSCwkU5kqp+FKg==" + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/to-space-case": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/to-space-case/-/to-space-case-1.0.0.tgz", + "integrity": "sha512-rLdvwXZ39VOn1IxGL3V6ZstoTbwLRckQmn/U8ZDLuWwIXNpuZDhQ3AiRUlhTbOXFVE9C+dR51wM0CBDhk31VcA==", + "dependencies": { + "to-no-case": "^1.0.0" + } + }, + "node_modules/toggle-selection": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz", + "integrity": "sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==" + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tough-cookie": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz", + "integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==", + "dependencies": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tr46": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", + "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", + "dependencies": { + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/traverse": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.8.tgz", + "integrity": "sha512-aXJDbk6SnumuaZSANd21XAo15ucCDE38H4fkqiGsc3MhCK+wOlZvLP9cB/TvpHT0mOyWgC4Z8EwRlzqYSUzdsA==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tree-sitter": { + "version": "0.20.4", + "resolved": "https://registry.npmjs.org/tree-sitter/-/tree-sitter-0.20.4.tgz", + "integrity": "sha512-rjfR5dc4knG3jnJNN/giJ9WOoN1zL/kZyrS0ILh+eqq8RNcIbiXA63JsMEgluug0aNvfQvK4BfCErN1vIzvKog==", + "hasInstallScript": true, + "optional": true, + "dependencies": { + "nan": "^2.17.0", + "prebuild-install": "^7.1.1" + } + }, + "node_modules/tree-sitter-json": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/tree-sitter-json/-/tree-sitter-json-0.20.2.tgz", + "integrity": "sha512-eUxrowp4F1QEGk/i7Sa+Xl8Crlfp7J0AXxX1QdJEQKQYMWhgMbCIgyQvpO3Q0P9oyTrNQxRLlRipDS44a8EtRw==", + "hasInstallScript": true, + "optional": true, + "dependencies": { + "nan": "^2.18.0" + } + }, + "node_modules/tree-sitter-yaml": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/tree-sitter-yaml/-/tree-sitter-yaml-0.5.0.tgz", + "integrity": "sha512-POJ4ZNXXSWIG/W4Rjuyg36MkUD4d769YRUGKRqN+sVaj/VCo6Dh6Pkssn1Rtewd5kybx+jT1BWMyWN0CijXnMA==", + "hasInstallScript": true, + "optional": true, + "dependencies": { + "nan": "^2.14.0" + } + }, + "node_modules/tryer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", + "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==" + }, + "node_modules/ts-invariant": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/ts-invariant/-/ts-invariant-0.4.4.tgz", + "integrity": "sha512-uEtWkFM/sdZvRNNDL3Ehu4WVpwaulhwQszV8mrtcdeE8nN00BV9mAmQ88RkrBhFgl9gMgvjJLAQcZbnPXI9mlA==", + "dependencies": { + "tslib": "^1.9.3" + } + }, + "node_modules/ts-invariant/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/ts-mixer": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/ts-mixer/-/ts-mixer-6.0.4.tgz", + "integrity": "sha512-ufKpbmrugz5Aou4wcr5Wc1UUFWOLhq+Fm6qa6P0w0K5Qw2yhaUoiWszhCVuNQyNwrlGiscHOmqYoAox1PtvgjA==" + }, + "node_modules/ts-toolbelt": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/ts-toolbelt/-/ts-toolbelt-9.6.0.tgz", + "integrity": "sha512-nsZd8ZeNUzukXPlJmTBwUAuABDe/9qtVDelJeT/qW0ow3ZS3BsQJtNkan1802aM9Uf68/Y8ljw86Hu0h5IUW3w==" + }, + "node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + }, + "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==", + "optional": true, + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/types-ramda": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/types-ramda/-/types-ramda-0.30.0.tgz", + "integrity": "sha512-oVPw/KHB5M0Du0txTEKKM8xZOG9cZBRdCVXvwHYuNJUVkAiJ9oWyqkA+9Bj2gjMsHgkkhsYevobQBWs8I2/Xvw==", + "dependencies": { + "ts-toolbelt": "^9.6.0" + } + }, + "node_modules/typescript-compare": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/typescript-compare/-/typescript-compare-0.0.2.tgz", + "integrity": "sha512-8ja4j7pMHkfLJQO2/8tut7ub+J3Lw2S3061eJLFQcvs3tsmJKp8KG5NtpLn7KcY2w08edF74BSVN7qJS0U6oHA==", + "dependencies": { + "typescript-logic": "^0.0.0" + } + }, + "node_modules/typescript-logic": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/typescript-logic/-/typescript-logic-0.0.0.tgz", + "integrity": "sha512-zXFars5LUkI3zP492ls0VskH3TtdeHCqu0i7/duGt60i5IGPIpAHE/DWo5FqJ6EjQ15YKXrt+AETjv60Dat34Q==" + }, + "node_modules/typescript-tuple": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/typescript-tuple/-/typescript-tuple-2.2.1.tgz", + "integrity": "sha512-Zcr0lbt8z5ZdEzERHAMAniTiIKerFCMgd7yjq1fPnDJ43et/k9twIFQMUYff9k5oXcsQ0WpvFcgzK2ZKASoW6Q==", + "dependencies": { + "typescript-compare": "^0.0.2" + } + }, + "node_modules/uc.micro": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz", + "integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==" + }, + "node_modules/universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/unixify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unixify/-/unixify-1.0.0.tgz", + "integrity": "sha512-6bc58dPYhCMHHuwxldQxO3RRNZ4eCogZ/st++0+fcC1nr0jiGUtAdBJ2qzmLQWSxbtz42pWt4QQMiZ9HvZf5cg==", + "dependencies": { + "normalize-path": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/unraw": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unraw/-/unraw-3.0.0.tgz", + "integrity": "sha512-08/DA66UF65OlpUDIQtbJyrqTR0jTAlJ+jsnkQ4jxR7+K5g5YG1APZKQSMCE1vqqmD+2pv6+IdEjmopFatacvg==" + }, + "node_modules/update-browserslist-db": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.16.tgz", + "integrity": "sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "peer": true, + "dependencies": { + "escalade": "^3.1.2", + "picocolors": "^1.0.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "node_modules/url-template": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/url-template/-/url-template-2.0.8.tgz", + "integrity": "sha512-XdVKMF4SJ0nP/O7XIPB0JwAEuT9lDIYnNsK8yGVe43y0AWoKeJNdv3ZNWh7ksJ6KqQFjOO6ox/VEitLnaVNufw==" + }, + "node_modules/urlpattern-polyfill": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/urlpattern-polyfill/-/urlpattern-polyfill-8.0.2.tgz", + "integrity": "sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ==" + }, + "node_modules/use-callback-ref": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.0.tgz", + "integrity": "sha512-3FT9PRuRdbB9HfXhEq35u4oZkvpJ5kuYbpqhCfmiZyReuRgpnhDlbr2ZEnnuS0RrJAPn6l23xjFg9kpDM+Ms7w==", + "dependencies": { + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/use-sidecar": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.2.tgz", + "integrity": "sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==", + "dependencies": { + "detect-node-es": "^1.1.0", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.9.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/use-sync-external-store": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.2.tgz", + "integrity": "sha512-PElTlVMwpblvbNqQ82d2n6RjStvdSoNe9FG28kNfz3WiXilJm4DdNkEzRhCZuIDwY8U08WVihhGR5iRqAwfDiw==", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "optional": true + }, + "node_modules/utility-types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-1.1.0.tgz", + "integrity": "sha512-6PGyowB/ZDDAygpdZzdLu/9mn2EMf08/V1OOqTTc5EhADgd+/BQhinslzhD9xTVw3EWYa1jI3aBMZy5neBbSfw==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/value-equal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz", + "integrity": "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==" + }, + "node_modules/value-or-promise": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/value-or-promise/-/value-or-promise-1.0.12.tgz", + "integrity": "sha512-Z6Uz+TYwEqE7ZN50gwn+1LCVo9ZVrpxRPOhOLnncYkY1ZzOYtrX8Fwf/rFktZ8R5mJms6EZf5TqNOMeZmnPq9Q==", + "engines": { + "node": ">=12" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vscode-languageserver-types": { + "version": "3.17.3", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.3.tgz", + "integrity": "sha512-SYU4z1dL0PyIMd4Vj8YOqFvHu7Hz/enbWtpfnVbJHU4Nd1YNYx8u0ennumc6h48GQNeOLxmwySmnADouT/AuZA==" + }, + "node_modules/w3c-keyname": { + "version": "2.2.8", + "resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.8.tgz", + "integrity": "sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==", + "peer": true + }, + "node_modules/w3c-xmlserializer": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz", + "integrity": "sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==", + "dependencies": { + "xml-name-validator": "^4.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/warning": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz", + "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==", + "dependencies": { + "loose-envify": "^1.0.0" + } + }, + "node_modules/web-streams-polyfill": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz", + "integrity": "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/web-tree-sitter": { + "version": "0.20.3", + "resolved": "https://registry.npmjs.org/web-tree-sitter/-/web-tree-sitter-0.20.3.tgz", + "integrity": "sha512-zKGJW9r23y3BcJusbgvnOH2OYAW40MXAOi9bi3Gcc7T4Gms9WWgXF8m6adsJWpGJEhgOzCrfiz1IzKowJWrtYw==", + "optional": true + }, + "node_modules/webcrypto-core": { + "version": "1.7.7", + "resolved": "https://registry.npmjs.org/webcrypto-core/-/webcrypto-core-1.7.7.tgz", + "integrity": "sha512-7FjigXNsBfopEj+5DV2nhNpfic2vumtjjgPmeDKk45z+MJwXKKfhPB7118Pfzrmh4jqOMST6Ch37iPAHoImg5g==", + "dependencies": { + "@peculiar/asn1-schema": "^2.3.6", + "@peculiar/json-schema": "^1.1.12", + "asn1js": "^3.0.1", + "pvtsutils": "^1.3.2", + "tslib": "^2.4.0" + } + }, + "node_modules/webidl-conversions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", + "engines": { + "node": ">=12" + } + }, + "node_modules/webpack-bundle-analyzer": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.9.0.tgz", + "integrity": "sha512-Ob8amZfCm3rMB1ScjQVlbYYUEJyEjdEtQ92jqiFUYt5VkEeO2v5UMbv49P/gnmCZm3A6yaFQzCBvpZqN4MUsdA==", + "dependencies": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1", + "bfj": "^6.1.1", + "chalk": "^2.4.1", + "commander": "^2.18.0", + "ejs": "^2.6.1", + "express": "^4.16.3", + "filesize": "^3.6.1", + "gzip-size": "^5.0.0", + "lodash": "^4.17.19", + "mkdirp": "^0.5.1", + "opener": "^1.5.1", + "ws": "^6.0.0" + }, + "bin": { + "webpack-bundle-analyzer": "lib/bin/analyzer.js" + }, + "engines": { + "node": ">= 6.14.4" + } + }, + "node_modules/webpack-bundle-analyzer/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/webpack-bundle-analyzer/node_modules/acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/webpack-bundle-analyzer/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/webpack-bundle-analyzer/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/webpack-bundle-analyzer/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/webpack-bundle-analyzer/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/webpack-bundle-analyzer/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/webpack-bundle-analyzer/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/webpack-bundle-analyzer/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/webpack-bundle-analyzer/node_modules/ws": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", + "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", + "dependencies": { + "async-limiter": "~1.0.0" + } + }, + "node_modules/whatwg-encoding": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", + "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", + "dependencies": { + "iconv-lite": "0.6.3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/whatwg-encoding/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/whatwg-fetch": { + "version": "3.6.19", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.19.tgz", + "integrity": "sha512-d67JP4dHSbm2TrpFj8AbO8DnL1JXL5J9u0Kq2xW6d0TFDbCA3Muhdt8orXC22utleTVj7Prqt82baN6RBvnEgw==" + }, + "node_modules/whatwg-mimetype": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", + "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", + "engines": { + "node": ">=12" + } + }, + "node_modules/whatwg-url": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", + "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", + "dependencies": { + "tr46": "^3.0.0", + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "optional": true + }, + "node_modules/ws": { + "version": "8.17.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.0.tgz", + "integrity": "sha512-uJq6108EgZMAl20KagGkzCKfMEjxmKvZHG7Tlq0Z6nOky7YF7aq4mOx6xK8TJ/i1LeK4Qus7INktacctDgY8Ow==", + "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/xml": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/xml/-/xml-1.0.1.tgz", + "integrity": "sha512-huCv9IH9Tcf95zuYCsQraZtWnJvBtLVE0QHMOs8bWyZAFZNDcYjsPq1nEx8jKA9y+Beo9v+7OBPRisQTjinQMw==" + }, + "node_modules/xml-but-prettier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/xml-but-prettier/-/xml-but-prettier-1.0.1.tgz", + "integrity": "sha512-C2CJaadHrZTqESlH03WOyw0oZTtoy2uEg6dSDF6YRg+9GnYNub53RRemLpnvtbHDFelxMx4LajiFsYeR6XJHgQ==", + "dependencies": { + "repeat-string": "^1.5.2" + } + }, + "node_modules/xml-name-validator": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", + "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", + "engines": { + "node": ">=12" + } + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "peer": true + }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/yaml-ast-parser": { + "version": "0.0.43", + "resolved": "https://registry.npmjs.org/yaml-ast-parser/-/yaml-ast-parser-0.0.43.tgz", + "integrity": "sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A==" + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "engines": { + "node": ">=12" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zen-observable": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/zen-observable/-/zen-observable-0.7.1.tgz", + "integrity": "sha512-OI6VMSe0yeqaouIXtedC+F55Sr6r9ppS7+wTbSexkYdHbdt4ctTuPNXP/rwm7GTVI63YBc+EBT0b0tl7YnJLRg==" + }, + "node_modules/zen-observable-ts": { + "version": "0.8.21", + "resolved": "https://registry.npmjs.org/zen-observable-ts/-/zen-observable-ts-0.8.21.tgz", + "integrity": "sha512-Yj3yXweRc8LdRMrCC8nIc4kkjWecPAUVh0TI0OUrWXx6aX790vLcDlWca6I4vsyCGH3LpWxq0dJRcMOFoVqmeg==", + "dependencies": { + "tslib": "^1.9.3", + "zen-observable": "^0.8.0" + } + }, + "node_modules/zen-observable-ts/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/zen-observable-ts/node_modules/zen-observable": { + "version": "0.8.15", + "resolved": "https://registry.npmjs.org/zen-observable/-/zen-observable-0.8.15.tgz", + "integrity": "sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ==" + }, + "node_modules/zenscroll": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/zenscroll/-/zenscroll-4.0.2.tgz", + "integrity": "sha512-jEA1znR7b4C/NnaycInCU6h/d15ZzCd1jmsruqOKnZP6WXQSMH3W2GL+OXbkruslU4h+Tzuos0HdswzRUk/Vgg==" + } + } +} diff --git a/src/Symfony/Bundle/Resources/public/fonts/open-sans/400.css b/src/Symfony/Bundle/Resources/public/fonts/open-sans/400.css index 9e07f0b1b0b..747609daf22 100644 --- a/src/Symfony/Bundle/Resources/public/fonts/open-sans/400.css +++ b/src/Symfony/Bundle/Resources/public/fonts/open-sans/400.css @@ -2,9 +2,9 @@ @font-face { font-family: 'Open Sans'; font-style: normal; - font-display: var(--fontsource-display, swap); + font-display: swap; font-weight: 400; - src: url(./files/open-sans-cyrillic-ext-400-normal.woff2) format('woff2'); + src: url(./files/open-sans-cyrillic-ext-400-normal.woff2) format('woff2'), url(./files/open-sans-cyrillic-ext-400-normal.woff) format('woff'); unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F; } @@ -12,9 +12,9 @@ @font-face { font-family: 'Open Sans'; font-style: normal; - font-display: var(--fontsource-display, swap); + font-display: swap; font-weight: 400; - src: url(./files/open-sans-cyrillic-400-normal.woff2) format('woff2'); + src: url(./files/open-sans-cyrillic-400-normal.woff2) format('woff2'), url(./files/open-sans-cyrillic-400-normal.woff) format('woff'); unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; } @@ -22,9 +22,9 @@ @font-face { font-family: 'Open Sans'; font-style: normal; - font-display: var(--fontsource-display, swap); + font-display: swap; font-weight: 400; - src: url(./files/open-sans-greek-ext-400-normal.woff2) format('woff2'); + src: url(./files/open-sans-greek-ext-400-normal.woff2) format('woff2'), url(./files/open-sans-greek-ext-400-normal.woff) format('woff'); unicode-range: U+1F00-1FFF; } @@ -32,29 +32,49 @@ @font-face { font-family: 'Open Sans'; font-style: normal; - font-display: var(--fontsource-display, swap); + font-display: swap; font-weight: 400; - src: url(./files/open-sans-greek-400-normal.woff2) format('woff2'); - unicode-range: U+0370-03FF; + src: url(./files/open-sans-greek-400-normal.woff2) format('woff2'), url(./files/open-sans-greek-400-normal.woff) format('woff'); + unicode-range: U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF; } /* open-sans-hebrew-400-normal */ @font-face { font-family: 'Open Sans'; font-style: normal; - font-display: var(--fontsource-display, swap); + font-display: swap; font-weight: 400; - src: url(./files/open-sans-hebrew-400-normal.woff2) format('woff2'); + src: url(./files/open-sans-hebrew-400-normal.woff2) format('woff2'), url(./files/open-sans-hebrew-400-normal.woff) format('woff'); unicode-range: U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F; } +/* open-sans-math-400-normal */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-display: swap; + font-weight: 400; + src: url(./files/open-sans-math-400-normal.woff2) format('woff2'), url(./files/open-sans-math-400-normal.woff) format('woff'); + unicode-range: U+0302-0303,U+0305,U+0307-0308,U+0330,U+0391-03A1,U+03A3-03A9,U+03B1-03C9,U+03D1,U+03D5-03D6,U+03F0-03F1,U+03F4-03F5,U+2034-2037,U+2057,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2102,U+210A-210E,U+2110-2112,U+2115,U+2119-211D,U+2124,U+2128,U+212C-212D,U+212F-2131,U+2133-2138,U+213C-2140,U+2145-2149,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B6,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE00-1EEFF; +} + +/* open-sans-symbols-400-normal */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-display: swap; + font-weight: 400; + src: url(./files/open-sans-symbols-400-normal.woff2) format('woff2'), url(./files/open-sans-symbols-400-normal.woff) format('woff'); + unicode-range: U+0001-000C,U+000E-001F,U+007F-009F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+2800-28FF,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B00-2BFF,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F000-1F0FF,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F700-1F7FF,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8B1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA88,U+1FA90-1FABD,U+1FABF-1FAC5,U+1FACE-1FADB,U+1FAE0-1FAE8,U+1FAF0-1FAF8,U+1FB00-1FBFF; +} + /* open-sans-vietnamese-400-normal */ @font-face { font-family: 'Open Sans'; font-style: normal; - font-display: var(--fontsource-display, swap); + font-display: swap; font-weight: 400; - src: url(./files/open-sans-vietnamese-400-normal.woff2) format('woff2'); + src: url(./files/open-sans-vietnamese-400-normal.woff2) format('woff2'), url(./files/open-sans-vietnamese-400-normal.woff) format('woff'); unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB; } @@ -62,18 +82,18 @@ @font-face { font-family: 'Open Sans'; font-style: normal; - font-display: var(--fontsource-display, swap); + font-display: swap; font-weight: 400; - src: url(./files/open-sans-latin-ext-400-normal.woff2) format('woff2'); - unicode-range: U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF; + src: url(./files/open-sans-latin-ext-400-normal.woff2) format('woff2'), url(./files/open-sans-latin-ext-400-normal.woff) format('woff'); + unicode-range: U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; } /* open-sans-latin-400-normal */ @font-face { font-family: 'Open Sans'; font-style: normal; - font-display: var(--fontsource-display, swap); + font-display: swap; font-weight: 400; - src: url(./files/open-sans-latin-400-normal.woff2) format('woff2'); - unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; -} + src: url(./files/open-sans-latin-400-normal.woff2) format('woff2'), url(./files/open-sans-latin-400-normal.woff) format('woff'); + unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; +} \ No newline at end of file diff --git a/src/Symfony/Bundle/Resources/public/fonts/open-sans/700.css b/src/Symfony/Bundle/Resources/public/fonts/open-sans/700.css index bc61ca38165..ee4ec1fb0d3 100644 --- a/src/Symfony/Bundle/Resources/public/fonts/open-sans/700.css +++ b/src/Symfony/Bundle/Resources/public/fonts/open-sans/700.css @@ -2,9 +2,9 @@ @font-face { font-family: 'Open Sans'; font-style: normal; - font-display: var(--fontsource-display, swap); + font-display: swap; font-weight: 700; - src: url(./files/open-sans-cyrillic-ext-700-normal.woff2) format('woff2'); + src: url(./files/open-sans-cyrillic-ext-700-normal.woff2) format('woff2'), url(./files/open-sans-cyrillic-ext-700-normal.woff) format('woff'); unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F; } @@ -12,9 +12,9 @@ @font-face { font-family: 'Open Sans'; font-style: normal; - font-display: var(--fontsource-display, swap); + font-display: swap; font-weight: 700; - src: url(./files/open-sans-cyrillic-700-normal.woff2) format('woff2'); + src: url(./files/open-sans-cyrillic-700-normal.woff2) format('woff2'), url(./files/open-sans-cyrillic-700-normal.woff) format('woff'); unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; } @@ -22,9 +22,9 @@ @font-face { font-family: 'Open Sans'; font-style: normal; - font-display: var(--fontsource-display, swap); + font-display: swap; font-weight: 700; - src: url(./files/open-sans-greek-ext-700-normal.woff2) format('woff2'); + src: url(./files/open-sans-greek-ext-700-normal.woff2) format('woff2'), url(./files/open-sans-greek-ext-700-normal.woff) format('woff'); unicode-range: U+1F00-1FFF; } @@ -32,29 +32,49 @@ @font-face { font-family: 'Open Sans'; font-style: normal; - font-display: var(--fontsource-display, swap); + font-display: swap; font-weight: 700; - src: url(./files/open-sans-greek-700-normal.woff2) format('woff2'); - unicode-range: U+0370-03FF; + src: url(./files/open-sans-greek-700-normal.woff2) format('woff2'), url(./files/open-sans-greek-700-normal.woff) format('woff'); + unicode-range: U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF; } /* open-sans-hebrew-700-normal */ @font-face { font-family: 'Open Sans'; font-style: normal; - font-display: var(--fontsource-display, swap); + font-display: swap; font-weight: 700; - src: url(./files/open-sans-hebrew-700-normal.woff2) format('woff2'); + src: url(./files/open-sans-hebrew-700-normal.woff2) format('woff2'), url(./files/open-sans-hebrew-700-normal.woff) format('woff'); unicode-range: U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F; } +/* open-sans-math-700-normal */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-display: swap; + font-weight: 700; + src: url(./files/open-sans-math-700-normal.woff2) format('woff2'), url(./files/open-sans-math-700-normal.woff) format('woff'); + unicode-range: U+0302-0303,U+0305,U+0307-0308,U+0330,U+0391-03A1,U+03A3-03A9,U+03B1-03C9,U+03D1,U+03D5-03D6,U+03F0-03F1,U+03F4-03F5,U+2034-2037,U+2057,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2102,U+210A-210E,U+2110-2112,U+2115,U+2119-211D,U+2124,U+2128,U+212C-212D,U+212F-2131,U+2133-2138,U+213C-2140,U+2145-2149,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B6,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE00-1EEFF; +} + +/* open-sans-symbols-700-normal */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-display: swap; + font-weight: 700; + src: url(./files/open-sans-symbols-700-normal.woff2) format('woff2'), url(./files/open-sans-symbols-700-normal.woff) format('woff'); + unicode-range: U+0001-000C,U+000E-001F,U+007F-009F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+2800-28FF,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B00-2BFF,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F000-1F0FF,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F700-1F7FF,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8B1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA88,U+1FA90-1FABD,U+1FABF-1FAC5,U+1FACE-1FADB,U+1FAE0-1FAE8,U+1FAF0-1FAF8,U+1FB00-1FBFF; +} + /* open-sans-vietnamese-700-normal */ @font-face { font-family: 'Open Sans'; font-style: normal; - font-display: var(--fontsource-display, swap); + font-display: swap; font-weight: 700; - src: url(./files/open-sans-vietnamese-700-normal.woff2) format('woff2'); + src: url(./files/open-sans-vietnamese-700-normal.woff2) format('woff2'), url(./files/open-sans-vietnamese-700-normal.woff) format('woff'); unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB; } @@ -62,18 +82,18 @@ @font-face { font-family: 'Open Sans'; font-style: normal; - font-display: var(--fontsource-display, swap); + font-display: swap; font-weight: 700; - src: url(./files/open-sans-latin-ext-700-normal.woff2) format('woff2'); - unicode-range: U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF; + src: url(./files/open-sans-latin-ext-700-normal.woff2) format('woff2'), url(./files/open-sans-latin-ext-700-normal.woff) format('woff'); + unicode-range: U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; } /* open-sans-latin-700-normal */ @font-face { font-family: 'Open Sans'; font-style: normal; - font-display: var(--fontsource-display, swap); + font-display: swap; font-weight: 700; - src: url(./files/open-sans-latin-700-normal.woff2) format('woff2'); - unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; -} + src: url(./files/open-sans-latin-700-normal.woff2) format('woff2'), url(./files/open-sans-latin-700-normal.woff) format('woff'); + unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; +} \ No newline at end of file diff --git a/src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-cyrillic-400-normal.woff b/src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-cyrillic-400-normal.woff new file mode 100644 index 0000000000000000000000000000000000000000..7d811c1875a3c05bc1dbf7d5ead60c9fe13f91a9 GIT binary patch literal 9092 zcmZ8nRa6|owjE}05AH4@xHGsz(BK4uYjAf6?iw5dArRaKcL?qp+#xUocY@EGd*9Dn zuU79>b$0Epb*j6%K5DnOy1YC90RS)b;Q*Zf)O>94_`l45qW@bIWaZ=m00ezF#|wuz zupg+b@IhS*&cy=&KzaZGRFhYn5~!f1BMomu;F`Jr=%c3mZ`8Foc>n;!a5$$5hpDGr zxVM(Jls253hsW>XFgAXY;kR%!a{&O5XyCCo9EG1U9%^mO-2cO6!DHP2f)GG&*7-W#qP;EE)w_9#M02SP9q2?yY_N;wN6U^OHF&FpD!`7}GO{h!OwTl3^SuU;hx z7##w;K*2mr##-$3$}JgL==^+L@-|qq8#p*dtFSTUm_w`3FL0Ynr%?3hxk{tZuzG4h zgA#-yIUt1#J4AoUprJcF@@4|2OmxNYMFXCn(LjOdJH6*l;5xY8G zrMd1mj?e%M^6H2)C?E~2el7~n4>$@J*rhHAOD-r$7r=7|oNfqWFAdC`MBW^8$O4bZ z{GGL_0Mv{*QyD^02_Yhfkgm0spgg&vD!2kmU9pK>k(OLBye|PsmzbQF$mf@6CYPX| z>=oy`q=<&MMB{k+Jjxc?Y*G8}=XAPb@AUaAEfT6CCLvyngMKSqJGJs`I*T&jcTZ&x%HV2>BBpdVv^<_>=_|MAFY}L3&KnFZ-I6-^8Zn2jD^pxEE(8K@ zWD0adSBgLp!@ z1?WMOIso)8KN zNe>BG$l7NEf%@4{Cp|KHqd((;&`sSC@hG_RJ9>IV{vaSD%W)@e_OJ%y!Lr&(Nk|UD z_Vh*dTM$@~kcj{hAy^gg57lQCskbf!K@x!YYo+7M&tw2DD>}fk01Js_Dn2?RHb1ub zYEw)N?flQ-8@He;XHph2VWQBlA(Rzw;Sc6YPA4s1>K>uE3}y1aW2wY&V@txv`nR5T zR)|}CL3cBd6#o69uR(*wnt3HfJKNU4`92=IL+=l>vJ#oOzo*p~Hi%P7K8^!HGz+Eor2c6F25kZws)AHeRe>zswP=oUX#u(%8G}oUkf=dQ{`?K4Y7v z^pY0_B@&LFNEu`0x0bTfUxiW745`{~@5lbm?3i6XRME2mj$nK7VSP{iZ6cBGVw!8FDh$Cpe}Yzz^k3!av__I7`LpmN6>{R8VWap_|_ zD|T-e(_!bX9BRnx8h)HwBx2smBjbaO&L`eoay<#u+sn!W&ma6I1mBq@^eRwvRxvw* zrMoL-h+1@oMbcLj&63NgpHTkVpf75&E@aFNzRtd6dA`xS4A?=P+Bd9>u_(UKhKWmP z`(1!X;_fp4F=njoc$*MXUVeN++sv!rKjcr9RL)F_-oS&ebztTCTwe1K!LH#~!Q z{#3_{u@#~AV?pG&JE+M06HN;HNL6299wmjWOjsV+-Prky`v#z@F4e4?zOe52l<9|f zBVO0-jm2K$zlBJv?*amWoqHy=IpT(i63z_M&Nce37$5nABBX^^M-QFXM%B~PZ6!s> zLQ67IO-PY{FDn7XCP-MfS&%b;_Iw41IFG?%G+7Yp&S`ay`{xT0RojIG8AjqiYY&Ul z)B_7P6Sy^3)mD8m?;q^PyhC&{qz7oCv$zYNwV%cN+k3k(DnWk~r9es}Y&yESivn3P zA0_6)bxRVnZ)Zz%{DGzClL>2Wrt8pu7=oLa3rP71Nz+%Ct4%DGj8ywpE$k$w7M>2R zPP<2K4Mb6i8YoQANav~~w`NW~5r2lqsrTpVB8mN{z{!QEF_DQ0Z&KjWcSMX$^is`m#*k z7Z~52S>Ee~S>L;uK}Ni&5rvF>gQHzb`GyK=L95kKWpu{nqW?krf-Bwj^gf^X#E2t@ zbSOSttVS1?KamWH==7&Mx!E~_Jg{3+xv;^@2wK(t|NPM z%?oc(o*Q{<3xXe?u#R`f*V_K_>LDE$rH1A`d(~8lSy=9Mx#v|HwTE@Ms5&)%mJ7I< zEh=n24*mir#&{;pzY6$G8i_dkK7H%wfmkK_ipbOgzs+;|MuT-)^*249O?s22>dNa9 zh^knbzEwwAgHSDfZ_tPR59BjyKc_wdJngN87N*ALG&ht}j!+r<$!@edOeu`r?6XbB znguz)6mR?-ZhH?_awRy%MV6_b3Stafm*+Vvzt(QLLO5Gm#*c)(iRu`UO0n50&u)r!zy47;{*0&dB{cy5_e#vVNv#UL_hbg= z&Ai4H@(XeBtLAHLkZ14LgleC3TAZ@FHl(07V!>*=@!Y!8&#JdepEvS?_K%lz?jO>f zg@RB;_9R%o^Oiop4~k1}F|wWNYIay@TK_h#+>O9d8bjDZ)rvVkoZL2-Y)i(~6j4zG5 zT5h*z?Y>j++=Qewl-if7yLg})b6$Ce2k=9I0|DupgtLu~w7z+Y2@WEPRPRn1{*7*6 zi((t5+G;aDzZI3uj3GW58VK!&kne6u+arK0BYr_<=#b8I5UG5&y@To~xaSpXTpAvl zvu!DeGMN(4NF4YVoRlVRLQ-1+v`f6;&6QhyAvIsCu2$h??fhZ#gqZw#oI*g`HE4PN z*&-Pig3v|u;jVUr-dk|H)ZN2HCfn%_`|RwZ=UG^fn0U$cg8s#Nvy3|fUAJadwU_Fz zf4Z~&ee^b`MjVncTDo9g{F(@af$)e9_muj1m$q|jQ=wosV9H3ZsTNxZq+mKJa)Vp8Z#C}&> z+=&0=2?nZ zXy!Nd4L?6K^`!29$^K?28k((cuRp~{F9CW&}rw>C`d;lRS7>eW%Tl4O#lNVH$!`wIhDQ|AWzkILF%4y8ZObZ4Y5XB7Q=6nU`c`f(j> z=|*?$m32Pxr_;$`D8ez_7sq?DkWwE7{iOuq8I{un~Nl424qJF=9y*GJE-= ztJVCv)7+V{b>kD4sTy8W%jPyHhq$}c58MtW1(_`NCui;vu<(-edHls4OkN>%a2i}_ zF3Sj2T|`ecVv3dHfAb2H6m=74OXIZP^84ezDR8uU8|S$>xRgpB=gs8clI}<0%b;jQ z3+>X~V(aFJtyhmXR26!X-6`7203CcEb*0VoEN@*WTKEKc^Em3(sbn6u^#+=ueDnFc zl*J&BNK<=8HkB@dmyvBX@c8|oNWA*;m~WvBw3nxjedm8ASjfYBJ142S2HR?F*;JCv zcUWip;t74AHV*>JZ16j zUL=?N+7%{`Fnu$`Z-i6YIU%{2{i{-g6X0RdLzuoBr>m>#^$ed8X_y;)dj5p zfVE#VAV@KcKAb!gV#w~*!La_TS1^3aU}p~N89zupE8Ka;zHo;63oGUu&H^IT#qX$u zV-baU>tD&Di}cOHn&y5eGn=uUuHQstkb4E0C@T=r>Ir-y5G!sRJLr0XJ#Jra%uPMq zuEiPBOEYOVv#r1^2?cwO_DmnPGp?$RSx*#}mW2$@**DW0#zhz%0xNnBA~m|zT$^YH zDK9oCW=1t-*^BjQirtY36tU*k!Qo&k@;VM;9M?`vQg0aO+w6v@*JnpZ-Q#u)%G(k+; zR3M^A(jF;o&H|H0O)9XzjsnhF#@|WzP{)^EBJ!ksr|% zUsHUIQ1$eC`A1vH5^C2hUNHNBlhlCmnGKJ*5;Xf64K0!W&pNaU-5vL=si7Y5##E$jhdf1phF58H`lk2Cz_FMBKGni-K3xfJgN&HlZnDt+8ia5;YSMT^L z;_;D_Ws~dNiwS%m-QV`1N_{-~>;09O=?Yl4b+uPF3ubAGiS$=j(1tyUQIoytEkpHi ze(NCMJxdyAPwT_bKg~<4^68GUy^IMOgAG_Bnb-m+5i+Y;&Qn~dlPauGz(iv|!MY~At!A>k-5lQ!4-PmlqOGo;W#&~>=j;{t z$U@i9>Dwx{t&v#kHQO9p*NkY}L=9^NinK!hrVb7VzVu1xdz00vnxTwL9+2Af_f0c7 z^%(Mn5pMRuxbkz?CXPQjc!R;5JyNeiH=LSl;E9qs1Kx(4*}Eew$L!6*8!^s3^@k@@ zli^KpAL_|lET#3WET&eoIybY2-`hnJ)PAzv)jV`hIXN?$gHAu&U&P6bA1cImdUsY8 z;)ukByl%|s@>tgmg2+@~BvFB$%FZ;CJ8^sSdc>pS?_67F5()OLxIX41gX5`y4Z%0INndWNu{Q~ zH@A>e$BM3~(M&5YwmAV!{W3Fmg^eX)bES=D9|K|?DH!TIUDbJ&HO63{n+z!Cl!aI^s)muECuA;y~ZC1c}C!2s}) zP1qU_Sbr~+!=snz-R#Pr7WjN%xO^JnJj0F0(pBqwNY5=g8PoR z7g7F9`^*(fO$(p4_%Ydjl>%41@^>Q-=EN3tO z;8}&aM)g;(v&#H9G4iB(R!$0^Ubt2Nd}29VH7sGGOAmQiH=M<>+H0*1JazpK-TNJC z4mF;GbLPSJufM0`jG@+0NP)|`$gNDl9>qi*iNg9?5}4szD~>QyMaiT8$9e_hyx}NE zd}8cFV?b`Nd0OHG0YnIojme@u6mwp62T9Ug<`~FiVYC`ef7FJZScUSHGh(eUX8SCn zwbW#~_M`LuTmR6BhZ!V%4a{DWQ*ue+;VSQWC4x zl}BQ3(}4nC_HHlBMIQN#R&Qtp(;evum#Jj5cO?`|TD~r2XUW#_q}+(g826hfU>H19 zED|^A65~q9B-LtJpN*UcRW9`^ZWrABfT&hhiEk%KzZ-ehC5-c<;Ab=UgeC;DA}b`6 zq{~fTu>-v2w-eAclF>DDI*s&;X*Fm3?|2e2ZTSYCBqXVPr*vhH)U zJiXQs1WwT)C(+I|P7Pv%=#7IvD)+^~t6gnWPm8CFzHj9wv_FiHZ*HMH zYkm{q{b&akyRRaVpQg{digkP z6g^09a>@)W%l^IvBBeJD4}PkkBf9mut5I>IR9(?baKF8g^aLV$%Z4m;(ipq{7{Y?p zmWM5q3z5WTBTUW|w)VwndCAv+@#v!rz!fGkrvsGv9QcXhCtotOZaT)SZC483(B6KI zU_M^RKnmk0e{B!U{uzV!uQNFTiAt9*LnkXkUB;aY2{u`!$wc1q8dk9zm76en;ORMH zT(@tmaVR0^1>@oWGI;e|{=1peBwqqcgzq2MgJHLS?%P3!&FkLwfStU;$~gR5B4RHl z1`nW(h+@e&a*rLqq6GU--)I`HUVX26SX(61gHz7s>-!r=N?-X`wo!S|$WylcY}hL= z&jED+dEb?2PM59tYKFrvidSy!4}{ePGOz-CuEO0;t9P*kf!CvgOeU)^UUE=TJ%_U@ zHQzwLS6|iqM77m#vb*zI868XTFxeXW`1f>w0XwBwAq0+avs)~CJQxfRVo8<3@4GKaSCZ-1UhmS?n!;L|O&ox@fXa_EKOKe2I^fHvkv z>%P`YBz!&HsGMDmKKzySBmUXqRAz$8=4a1aq7`$I))~L$lMQ=`ka*!G|8ud;5_|MC#IZIhRM#1m*{J7yX)^pOmxImNbBeJXJ%n`f^-*s5AJ>A=LTD2n4O8~&23^>{&50+8gdeCcJj67 z&x^9|fi7Y7t73d&8zz6H6vdn*H*0B4{2;@-G!=rVvcK$T|CT=n>>QuN5Ai;W9qnR_ z?wz510$c$#Cpu_$b^MSUtxvLD8~bS4Ewl6k4pEeZ8)W%5G35qkXBZK@y4FI}M}G{i z1sZ2r4UG9Zv1O#3jf8@mic^r>k7F(Rq%ADy`gR;dR;tTp((_jMQ#%fgHBV*(S(s6> zQBF;?U}`g){8*Fr%~e|vr;W&4L&?Xawxkt%9<5j)x(Y^uE=(@E%bLPZh`rJ}<2m>+ zln_HVdrXCx_}-70p%xw8a8V?a{WNd!Z+fE8QJgM4+ zgxNE_I)EyC%)!%_uTb4uL)c%>A<9mY+ zHM zzu{^kV1H z8iw*V6x|OYcO1F;zy0hVWU`ECf*}FLkP~K05GY|lBugQERN%C@LtXz7uo8Haa7^wujW6#5~*9gvmR$-7<1LH zMH#X^MTFsJj3BdJVygL+_(d(Ur(g=f*sYaN_=s`xzhQe~95tk{v3tIv5jX3f-ccM1^hy-sMKv1- zS>846EhoD`apYAkKjUEeJ@bscyK6}J$0g|Z;$<^u8m1}^3j4AU3e5_CZ_!)5-Uz{d zdT^xkL_FBlxWJo#TMr~W?wZ)yM_1s6f4(4M2dFfNFaPg5FqZ^iNlIM+7zA(u04`yM zOc_T^JMRzw>*r$Hb;F(Am!g&~*3)!xrDo0OG#Z`J!2R1Re((pi410nKHm#a>%}R}P zg^3zTm5X+1t2J1Q*0!ZhYpaIrAIDLQdLB_LP~>HD?8rYm=B;GL;etCd ze=)nv-jKy+6ixoce2igBp}&$1d5gzbsKVx=E{dx@kbA-M3>5hzN_oh8+tFTqW(Tk+ zshevxU*~3vN1sc_q)8p&xQY&7hQ$!0(P=Pbrsc>?a6^ID$-ZmPc9FTBjnqa`-!++! z#`&0*DVoEp%|wPx(U#_GB{=yy-4x(7S-G+OPS8u>+ zrZUU_`r@X4Ex4>r%^(1CTpWZf5)uT`cmx!%mEFwXX&?tL9#@e1meFio9}tn&{8JVK7&sriwA-<%9^**j!qPdUYlu_ zOyg9FDDzE_+L)faeVbsGtJ8fWWOX4Vv7zp19%g4>nI__^vmG6OdH5$~pBAHh*Tp+P zq|15!%B-CDMOVla$7Cf+%^-jYkG0-=clZ0rV2-4eM2yZiO+t6Xz&}-Hg6E2!12x`@ zq}ExPro$DIq(?ut2m08!N)PB4$Kl~+|=fPZI<@B$QnKB(`b<9-mlMVlxs!SGY zSEy=p+L|xpITvb!@`HW*!Q+1aybD@hCBFLkHnBEFQL@BH3EDqrvr^qNi3!Cye^i>d z4F8yRYOt%Tz?ZS7YLcmhaY1L4>9gw4D<}P*jiJ{F($R5v*1fV(ZSs})UYBud0=M8C zmPr@Z*c&Vr8Xkkos20mddPTsZQ7j)vp9tRnX7A*)7o*pGUox2_gDtXKW|1he^HWPr ze|c=rypz!(SGzH{w$oscGwG|aTz9lm;?d{R3n z3Q)d&{|kT#08D7YLISUOV93Zs1X<2+X?eICAoX?bE^e;Z7nj$9$ns3qM7jcA*lHY3 zRL0_uTBerf)@D`~2itqQ(4GAv36%dQQ2u{{p8wk~{%CFbj3rA>N|tlUq(@{0-Lqt3 zCM?bl{ogn}sL=?}kg$UCfwSl=vailr=3XH30pT*SJwV$Gn_-L%#9@N9Fy>IF z3nOaCENsF61F;Ik3JkO{*6kwtgXhT;-~UNMyBqKn2Vw<)w%HuZYy{8+Wk7|uUL7+V;D|7lC#*8+#gB+o_)0LjSb81QaQ7{U$E2Fo<1E zp>?j`wl9$*6hp08j8sE2dWdf0S9lTt{->@K8s3+zg}OZe?DjzZm&BfQ-bo1vRZ;=K z1{5}xcBJ9SGw1??Sm%CeD}Tm>bB?Y`hE}y%yN(HGmJCaEZjDJ=EC(6KuIis9Pak#R zr=OoQfhg@OLVk%U&6NYU%}ppaa>i}?^qdTW+dg;*>2Uf@T1?Rps}WEiT0Wnux*kB$ zD(TgwP4O_M)HTzV4fpRrTmeK7CjAIVwjeT1q6^?ox{+oIMW-o5DKM|nwd0{RIDUAJ&~*va)yWR?={c- zGjr3#pL#@FyJ;ZJABLhH3wW|kba4fIA0tPB>&DCo5s6>pIZ!=)$Hq`c9btqS!_K?M z*lajf|84vPgHVto1lGSb2#hvTn1Iq4V4*xqeQSkb%m!f|jsxLDoHnAcLEvnh!}w(! zMzICdTI;muFu3y(HveHWBgLyyRgLmR>_y^gtyqXVhz-#epJj#9X*S>&f^B_05;DjwR zeM3L!6TQi^Jk0G}&G~F(IdhrJaQf1fmTWY4JJ1T+iZ-G3XboD0 zzDG-FKFy>q)oYkj1Rqut@D;w{1B<+Ym+%Z8!vnZ$n<8Sl9;w5aPUBV8W%8_zHr8$x z&YWkES1*Qa>z8>9S&|N!)BNY6AaD8s>;d(Zzb) zA>cq>7qBlTaS%?y+ukF-isGnav|KzIjB6vQg0*p;e_vV{f8dD0QpS(3p7ZRZc)pTT_zOkMR&#N3YeXDUS7in0AqzW$U3^u z{>c*hToB1#2vw*QE#Q#sD6s@xxV4xrL+Uk_wO_nB9%Rf1+o<(|0{ZHRyqGLqEaMOy z1}Se2n*!8`ych86;N{x0&p(#pcsZgi##ndLt|qzxhN||Qr>`3~#jG;=!_+TNPsF8X zF*U*hjJW`O*eS~oBq&bOWF=pN2br4Kg#>mg zkf4+}x3-H+6v^|(7!)KSBN@w0kJ?lC1 zF1pd*WZkH5EWXhJzJBlP$DU6BLMnEl|5I=@j?o1|b(v}|AlE|yOuyxS2e!V|=_$=u z;h}Gn1pcWX_m+G`ent*JI!(K3Lh-|H?Te{NqAJa(dQ|3U$wPK&=?|wkolPRCSZmX7 zLLgm=tx>xp6dLtLe1l@t=oJY9${JO6ln+bQZNP|P6?i$ChNfI~*|k@mGA#Aw+YkG2 zxO{ZA0Z`DwZ>>%f!CoEZqT-CU83N^Yn%BTBFDor6E-IuI1m|Y zl;otug!s5vVhjNv9Tgc79u^uB9E1xz6@c~k_3`%d^e`7j!$H5-T)$ME@D7*7z^~(H z>k~&hMbQry|KyR*Vr|#K`6}pg1T_&mno9lLSnCa2D43$ocgB?_JB4@1!WqCmn7KwX z9!*-IS|>dfJLZT($=|NqMH#HFglKf7d7No-K8CwB_gT>Ls!Tw)W>X1<(5lKL`qSU4 z`(+4S&NB**Ez8e!O^xwL|9e|cs(jnmO5Oy` z-{$03MyxJ8^=YqeDTHT~$$-&f@`XiP*)}!Z*qf}zGpROP8LlRoK+d>ie~2)^+)dI< zNmYXln4^lpFbCX$G`rt$%}rbEgAw$J{{#und8@}KEOksBSEpFS$`ZB9U*k#t5#SNN zhZIqdq?u{_hti^bwaLP~>4%YmoK5L5!qCi33|(CNj{ZgL+TY4=AtEYkP?LK4bC7PQ zPOQ_hZ(FqtCOU*F!5eNPhNMt|n#u6VV61=o{<$9k7L)MW`j$Rz+oo%E+O+A}Nb4qT zxG^u=I^~bZ;MDKnZDp?RhB_Exu;eC;O)^aJl!JD8xkphH9Q1vfszw_FL&f5IVMmb} zB9SS|tHsqKF+0?Lync!xe%g8Nwc?s-6K5Q>1Nfi0=9+dtX~GL4sIhF##z*i3iX+VU zsYxbkt@XR*kq*@fo$h(JGnypz+Ku0eNa#w^te&P1$+(RBZJt}hR_V`;>z{ijQ3qcu zs|=>0+B2S#JAE5C(h6zy-(Wh-o*YZYq{m z-fseQ=Z<^W^XgP37(&82-E@hNB^v2Gi|ScCIH#IwVSp)aF&s$ZzK_L%!IF3VdPSrK zQof1ra*c5?dZZ_L()(WWtcU6O^d9;R%92AvhD^v0y@{ z1k!E_{wae(dVFiBVMVlw9){HGj+YdTTUmG*wa*`5D2^uKW+>D? ze4=rlFcusvv7=iuenAKKF;*3W{&KIkC0nYfA$$AL2rz^iAm85u-h0RsOav?Ukyv(V z?5H4eR9tlakGoX(@2wtKBYXnpYELV8u zry7j+43U@vw(>uw&8eITY{}X#Ga>Pa>#sN{?Y!MbIXdOU;v6&QY{YQawZIngJnA$p z9a=D2t-JXp5n90ck&0X;OfD_wYAgthtbjRaR~ncYf316HjrRk)=0K-Ynt>YV(Mr>P zp&hl+&GnjL8Q%eLJeQWi!`?ojbFCqMMy4HmWSY#mD@N}~77vM*v-P4UcN}$Z#agyU z%Q^}c{%M(WHk^E)z#hjKqX^2`wz z`#cK;!A}(4ZZ3z)4iCYXRKXB;Ar*3wj^yjbq0<~`T7<3BEVu>$*Y*Kb++fa%A#FVx zc#+`fdS^R2A2mU-*Tl46hoJ5r2G=L$dBHZfV2L09=bgteg>g*lF<^A8 z+l8C^l%JV%>{&@>vUB_2o;8;r04w}oml_l;X)9&ShY4AjmsZ`)uKM9%`TR?wu_~ue z5oTQ(2b1AE&6V?Nr@xExEucJJnb>~UOy0l*TMnd*9>pvhiUl;BVp-b^rhFDMIstOamE~fws52}#`%lwr5K#QlTja#Qyu5MX8cz16IF3f8t6fY z9LJ5xBhms3shG*FB>V%aDW6LNSZt>rd}iFm*{Hr-`MPJ}cL9ww*pdD|7+yWE5zmIU z?dj7xs>5t~KvjO*DuF~cfCFY_*0TSZ=5pa9f>SzSqd)CPc^R)UF!W#k1Gk|s*zP5O z+xwR!^LJ)$)G1lc*1_$l$Kxq1@&Fx)QzHehPI6$7@9f96|RU9 zm)U%AHSBhyBFYjMIT^W`^(=KWvOEZMYVsxJuvUqztp=91Y8u3WjDx{iI#@C^7*v8# zE@YCwXsIeo!%2BXq7BBt6gMW$C=}1Z<;U0`Gf3IA7JuoF$Mch8-!E8;U<|U7&rLVs zAZ=ci0*k?N^S|LwI^w_T(+vGnuElLps2~ax7`A1=WZIU9DULO&%j?XAh%Hflh5B5H z^YmZ?FsO{Q);FtRpR3A0P}orzx7V@U3*Yf*AIFQR+vo@eJP#w5ZkCthXjT4YVDm26 zf0vJS!&Wk&MhihM{$5`y19q}2To)T_*xaD?O1lbl5}RAA$@D(XVPFS4 z_)VWTXnB>^*0Hh#rs>CGLxrvuo~8X6Ide|Lxlyju;@W@vwIT?V^Iq@~PD{#iq zq`iyseF7?kaiD`saA+UO9Y!y~^Of)K91M#Mk&ME5AcR&=pgS0Wm`t!V@ENu+13Xq> z!h}{zaGV3$F~z_{k&|QZ7-20$`YhQ}urzqTuH$pxdaK%rj-Mb!)5AK5{0(yX0irNZo(a)Xq&FKOn2VbKns} zH6U#(_~;XvRnU|{7Yg}MkQR#jE_vJFWSiBTe651LW@lw>@H(0)4aH;XveCBu`0efBfUzbv zM?SkUcV($qr@;TfgUow}Q&`QQ|Ho(0Zl$8~+BKLY^e$rR;vE3@6@ge5HJyJhKZ zEjAvZtlrX_S!yGxpw|Z!GtT&N<`fDNt{*f-@C9C{h6G(vz!WPeae02Vt_)&jmjg#z zQT$3#l0SxWDX#`z{|~Op%c|PfHB!9aP@q{+Ob?a~4bt<>dgOG)i--SA7e%%?e$9*Q zG<#FU{|R>Gg3tH#Y1)30_S_BXtiu18jGLa**DAc0hXW7#qYdZE9}2r8@qE(O9whdltr9VHUHCr(XP)h!>JvQ(Pz4X4H3;q4QixUI}u0 z(vD-j{c%n{#_-+xb-|K_k(JjJolfvQyid`-2ttz!t}?ktW@LxLyn<5|B`x(-^C1^B zChw%dlH~~-zWjLwL1t2TT2Oe+Y-g8V46N=kCGYp*X30OVDfNCl6!;JmR-|(zog3x0 zz$yjA?C9h`mOi~Mu}lkUfDNtK%!z+kANyT;dG?GjuH7I&zs66$3!U2bhF17{YAj3o zHj75 zdUbl|sfcQ`Ma-hb;=CqkCNTav=Y$?nBP>VZig}k7_8E0T>-uX00-?Uzhj{P=gjJXH7tWg~nla8@5-0O)sWWU$YtiY@hXJ8n1>3j?g%v7|q(D38VKK?kY_wm#{ z-`x{Vkn(n`o`Q>K^Jf?K$#^*^BICTu_InhMU~!`r{GMh;Zh0Y<9cnvXq|U$BoZl?g zv%4YUu|Tu~+^@3!ghP8D2xPOY=Ni)EzkgESM+5A*?mUvc0mg3^0)Z-S&HQU7bQQC94b{2w`WCTRbx)QSJ_dW z>Aspzw6+)4u85dbcpQ1+5IsvLD-DoRlrosYxcoIffqjrPV7zD?vt3iW)Y~+^SDAYD zQzG8KT@72;W~UW}KXb_B3g(M`5N$u676jtM20ecyU-AVN+4r%Q^{Mjzm4tA|Za=;D zJ~nbT=j^9#wSPEoH+q;=cyIE+p^A&hlQAL??MXy;{;&LQ1j((S$d(vt9|7+C%nJqQ z*qBAyWf?f6EvN^4Jhr}Iz9#9Bn6E7yllXj+I6Qma^W5>7MAzYZME&$&BT``kDW0e) zq^(LNE@$7;4?58LpxUSo;knQb#+C9yrNHU4CfofpPv$J9lQM;3+OqOh_98O^e=G*0Yb;$O`_UA8BdWfWI zZLMq_c{|P*byqo6=PUX%`WDn5$@EywC&uYHD>vHdJ+T7_2by>KDmkGq8G!ehz}k1K zdaH`GB>Fb20`W*#`O#=-k}y3KZsD11>Q6Ml>N(rbsmmP7N9@5Xgunb5h9Fz1h0wV0 z?tD-49t{XeZA}=SvHyxW?b7|l3Fm%e3XNKmvud2Z|BO&8n*>Vu1R5m*Ra4;F2GwZG z9IFzb1B9Cx47d-hMQIRTHW|SEFXiLr>jdIlw&dpv1qIG`(Ezgw?@#VKM7xU&nvypg z77>&G#|toM^3zm5tFvD^->l%4&6Dw+y#_P}XCgK}BqZdQdZA#<(GX2BuWS%`@KAx2 znpUr6OuvbJ3vUZXHT|{fu!vDzLfP4qjB4PLbm=wj z6)@RTR9rCbh|I@45chG}#YMSe&e1p=x*nn#5;Hm{`#Dn?? z>emNUZiXl*f5`FgZ%PE++ij3FTq3Cnsr877k0)v^oop-$GIqdQ#%8C7!@xx4x-4pV zQ1y~;({12-)}%#jc6o4AO+W>bq{U=oQ7&F-9z}Y`INBbn-P<+if{}xXMG*zd*!38ZgPsWxSdYwAq;DTlD zOQ@w&Dh1vVeuX}iV1~Xo`e;djf!II?ejONtYs4j9bWrvWGny#aO890f+tM+I4SrQEh$LjyL|rI8q~zi?Rdk%SNg}5x5`xg zodJM*)>t;!Mjo+NP>C=vkT;PI#z-1~M+iL{f=ts;B>?B~=lKBtBmScRKssXqKrjo; z3IOPlZgIT0M@*WV77KmSn)rb;cp;cBu2{EJWt(GnUkl55N zxr8x@#Gv|R-{yzn;7apopTlX^G!BkPpnD=m0D;7~V$vmWY^|s2XMF2WWxH}~17l+t zUWEv&&OZPj&kHEQZ}eX>?*@S@h%cMn79UcEMRC z695V#+OGBtJqP$R2nF|OR(KJVYCvQXu_R4ta?m)(SmF;&g8TH4FvixIgs;Tb#A*W$Yud|DOt!&Z%{gBP` zZ_#NqqnDLy9!suw_v1oH2N=e3R8M}rKPk9cZ;R8+)Ius9)dwVyN|6hWK_uep7k!&r z#mc*-kEaH|EJzB}elDNeB?-Jt8{Wa!2J^-|@p+r}A+H`sBvg9p*kgeWdG@q3j_wBU z!WS63=L_gdKhS?x_AJ-?YueZRI_pxIo_Y|-K^hlGd09No1Ed778(+emO;j58y+`Q1QYzq+nw_YTO8fW<%unj7^+^Cp(@5ecY0)&)dw`+0 zN$4O(6B;0t`LnQ#I|A*lccXn1;* zh{q7ZBH~~`42={+$dI#;6hAa+|7Iv_3)E3Yi%l|$vi4`C-m-a)QrG~j5cTQ3atvoR zvRln(Q067EcWA|>G_dA@t z#&w)Ox=I_s9f0`EIKW=t8n!*B-%TlXH&!LDE;CB3Y)MRqP8DP?M6DoSuo~4XKN~7g zRk6Cpt7|BbvZ3*rybHy~R(MZK6jU3;F(8)5yl|=tigLGFYMxu?iY(H?;9f zvR!JNo5Aqbg)q4d&L7)Fhu(~grx5a>06#ox>UpXxS+0jUK?am@N7O?pv7R2n?r3DJ z`bU8FP%oX=eQsMSXL1UT!Q_fut_#kP47p@chdrKV*zTk>Mc&fZL*LToom0UoG%nW* zfFE=$ibc*W6ni7AN3Y*2En7TNKgN=!V`*T^<#rpL-1-)HSC2wJPZrX3x69EGKF9(Z z{bb%q2LUN&@5mmF5~wR!AylYuNy@*JKmm&$AG#!7Xn@82w;M~ts6x^vj(sh&Y?xft zCLZb}H>;|lFg-I&A{Al>pDfEzESTHSa%RVKS|k~t#8_a2kZYE(Z%9~$R+5`(R`Mx( zhq5?6l_!nG+cxiA`o|f|&8%5rw_HXTdg*)(hDG(jk)@liVG1@{M~D(Ftr28RuRg-) zqxZ@ZBD7~W(z`DXie`vo2I&_*U+MC0VtiGJ`v^s@eJSx_G(2oVUnv?5u~>>bQd7Mp zy?&CCI?jECXNorf0-VDGG`UB+_k&8vC~yQ-FAFJV7iHcZs0)rFto+)x|^9=&^I zG{9r(lA#K79=h-EJXXpY4b+RG!ald&z`+232f*0HvD|Qg|3=E%0v+MwA_zZ-ydXx> zoY|a~^-J;`os6;5o2fTdGD36=P&+EJ?11U`Aa5juR?PE6h^%~SkfDc#P$-*Q?6l!h zFy>;SWclFUBP|uFS`Bh~tOQXMl+v};t6G&tTdaOBb88#@Pg6!9(nxDclCWgGRm5v1 zXW9RmO3`XHo8gR}@a1rMI(Oc?B*x}tiKwvNfd^ppx{I5b@nObnoREQ9A@Nu!+Mvn~ z!*?z!_o`*8Q(_-QDwh_9PAx@a_>AAvE-mIuN=d>>p&amci)lsZ*^${>DG7G41#u#7 zX1cTKg{X#)!@`X7#T6k?Blgv(vuSIF6l^@&GyHV7(=oLqS298yzD?$-b82SMk+IK; zUVEuc2`EZL?E)QUj>kGJ=)fPXvS|MNYAMgFRWqX-`q)}&Xc*JcTJ$lQ1PA6me{gX4 zkkLS_eJyf`tt+Cl?w!Y?EYXfC6(f&d5Ukz|6ur9A336F%{N%G!x6mlXpR z>ac7Uk+n{$nRg53$x0$scyVM$S;{EK_F+8yN4TTA3EQXVS(HfCsYY6vqa>I;F9m! z+fIY;U#Yj-l}=~Qj3k-UfG^yINcTe0HV4w{0$nLrtGL=_n>lnvBW6AS5K$fvXy3>~ zKMY3hfI`sp$E$Ii7Mb?7Fiaid8T53kPlw*ku=XyH1fjYIOixxqET$=X&Ury6Pj?*u*(ph4@wOvP5wkdrc}*K<=go%6H&()1 z=b=?95+Y^Rne|SOaIS(V0Z9)E0$Iwe)s;XWO}(wSY}vuTlqXGUTe zFUVMtjpo?UQ@u!v=d7u!INuLT-MCJy*DszM`&lfL%mcdjETV zZM1Q|F~#|+0JHThSZM-aMrfF?q43f3WKFW%qDZX4;(gLFnzw<_R zUJ$QE&`b}VQIE`$2j^66McOHa!IeDmh3Y*N7!WxWlteOa-(Z-d{PIoHL*|&DH4dhL zl2@4M(PK$$AcgE8=;3jLid@~2z_Ibf8kj8gjO%*zsH)tN&K&q#`ma7v5)fueWeT-M z+tGj6Xt6qjp-3#1E)*-x);H%wk|IrpECu8!q=;flD5dQB=JxLX;qmGD!#l$5frKDwK<>VCc96Mhl9V%Ka58l_p6Y=2xAuL2GG@Dv|b*QbKNH{JT4Xj z$Ng)T8UN#q`l>%6Nrc}g<7mZvxXolw=5P48()FeMrT%Wq0&C+iwm)dg2XEoAu@q}7 zXJsyy#ttluIXB5MGsT;sAaMew_!9!BV1kEXj2<~c{%U8Gg@N7^eSP+HA-g(XbaYi) zXMvU$v#HUep{eQ`0&40|Rn@;$)KZpJ7$s#Em7XXli@f5ioMM)xk&$OwRwE_Nq*N*r zQXj-65ff)r6e1$Zu*hG8guexaMF2i5hxCCSUP0v%5a8xRx_D4HF$x^mjUCH^)%UkK z(_~~7!quQu&|jdqe|>JrU$r2U`apW|;#-mz1mb4^(KAN~1PH(ffIU65_)i${9y!

*ytF*at=6=7dF zqYbYx|8KFO4t%!OM8CwA;HS!WSZn%)@f9P3MUp!AUwY0*bk^8VPxj%y3D8X#wr_QK#X|Gfr0001$Ok}$N literal 11084 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 z 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 SrVX#x*U@>q?TjY@0000bUWIS~ diff --git a/src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-cyrillic-700-normal.woff b/src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-cyrillic-700-normal.woff new file mode 100644 index 0000000000000000000000000000000000000000..8ea8f0dd96584829a5bb372f8f732600bf41b102 GIT binary patch literal 8776 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 Y4ADJP@ste?IzXs^fAW}HB;Eu3AM==T`~Uy| literal 0 HcmV?d00001 diff --git a/src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-cyrillic-700-normal.woff2 b/src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-cyrillic-700-normal.woff2 index cb8952e9ea944922ce58ec2f1c7b47ec1a929165..f9a21fcea698a4904748ad98ab74cf1e8032f0f0 100644 GIT binary patch literal 10916 zcmV;VDqGcePew8T0RR9104k&a5&!@I08$_T04h8H0RR9100000000000000000000 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

LBE@WF#m3a@jz%)U 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 C4%H6; literal 0 HcmV?d00001 diff --git a/src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-cyrillic-ext-400-normal.woff2 b/src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-cyrillic-ext-400-normal.woff2 index afd66ace47ecdeae7baf46b01539d421190d1aa4..bc7a3b94e19228af0926084355ceba0dd4b2bb23 100644 GIT binary patch literal 17980 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 D2Q_6@ literal 17944 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 DLm~`Q diff --git a/src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-greek-400-normal.woff b/src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-greek-400-normal.woff new file mode 100644 index 0000000000000000000000000000000000000000..59ddeb0447bdb07b3bf003cae681789e99e84448 GIT binary patch literal 7312 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 literal 0 HcmV?d00001 diff --git a/src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-greek-400-normal.woff2 b/src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-greek-400-normal.woff2 index 84fb02378cf95bad7d37f46788a7f1c969c54de2..67e21a89021bc3ebce4845c64bc1256860c3d1b5 100644 GIT binary patch literal 9344 zcmV-`B!Am?Pew8T0RR9103?6_5&!@I06|~?03;az0RR9100000000000000000000 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 literal 9388 zcmV;dBvadWPew8T0RR9103@sc5&!@I06}m703=2L0RR9100000000000000000000 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 diff --git a/src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-greek-700-normal.woff b/src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-greek-700-normal.woff new file mode 100644 index 0000000000000000000000000000000000000000..4ac8a053839e477595d03f95831ffde13f5dadcb GIT binary patch literal 7176 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 LM!yEoZ~gxPh?@+v literal 0 HcmV?d00001 diff --git a/src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-greek-700-normal.woff2 b/src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-greek-700-normal.woff2 index ea199a1cf6990e600882d008ca277ea6392b55a6..74259af48aba2f7f32b457e073db0aeacdcaee8e 100644 GIT binary patch literal 9244 zcmV+%B;(t6Pew8T0RR9103;j$5&!@I070w(03);j0RR9100000000000000000000 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 literal 9236 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 diff --git a/src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-greek-ext-400-normal.woff b/src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-greek-ext-400-normal.woff new file mode 100644 index 0000000000000000000000000000000000000000..d22729007f82c8a1b46184999f7459669d4bccf8 GIT binary patch literal 1564 zcmYjRe=wA39RI%W?!IePcCEE2vRQ38b=Ge=WreksBxKY~+4Wnk2xS+^mW13Tqx`t0 z8rmzaOI^}bZf;YeqGG0+B@voRl$Z-)_nuex$2~Kj_nFV<{XXya=ksQ45sLu>vHtS0GJ} zxFv}t8}NF0ax`gIfH+wN76d?jl1zd8QY-$m;~`bHSC$luv<8&35XGtR?ukiHNlr@# zpba5A(y!#+{;^m^ceFG{8r2`23k=?gQ!0kUiQ>o)&Z7ig$AC5s5@e|8UR8+En?)e* z%V?}&n6S-><^pOPqmmVTNE%zzbJT?T%sSHZ$fSaanJ%a0TV(~luYSkM9%~qC{hHm< z>%C92HtO@fr#kLF-^rXe6 zLSl^roX{BwQB5c)Q$tt;bd)C(a5$(Rp*7Juz!-R_WE`9z_%;Fo?&`v}b#|h%X&g4! z*~yLV%EI|J1Ws!Tul=U3o4XiVhOHjdVs@1?>AQPs>$C}@Gj*@_;JvlFkF9cf8^*2e z$3mKJ>+0X$){T{wVXWKO63n|)H$m1H(~l5S$ma^6V&r|G1ED*quL2xPp+2D$6Amas zG{cyyo143{sS!@63k0q%Zq80zQ;reN=Wxw%rI{P^CdYfDAU7q^-ND|IWhvmg`cV5U zye{~g{t%ZaG+uZh!FBy=M{^sq1vVZ8@)VDd7KJF>%p4(^;Qs@-lw5*E=NAE*DkHEy4Col*x`A7&e>e$y)}MJ+wKpeB**Ko1NukU!vfMKFz$?{3>>UAjAT391%zG i#awYX_wQh9Yr#9-*RG~OUw0ETgV6y)Xu}K&0saNW{u8JG literal 0 HcmV?d00001 diff --git a/src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-greek-ext-400-normal.woff2 b/src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-greek-ext-400-normal.woff2 index c70192e25e3450359c5c0c68351a5b24182ef480..daca4cdb426c2a67b772fd1ba7f1a02ed7c5f3f0 100644 GIT binary patch delta 3769 zcmV;q4o2~~9mE|ncTYw#00961000ie01^NI000{>000hP00961000000000000000 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 j?r+2c!YR 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 XjQH#{6hzV~5gyMY+OK0%hX4Qo=W`op diff --git a/src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-greek-ext-700-normal.woff b/src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-greek-ext-700-normal.woff new file mode 100644 index 0000000000000000000000000000000000000000..93fcf7b8d4ae6655bdbd67b7dd76f26286d6a142 GIT binary patch literal 1548 zcmYjQYfuwc7`?ljY!X0-G(=t<0ttx>sX#(PnNkJC5E05FDG#fVC!q?+s|Ko7qP%1f zsTM)36fD|W6>zXtg@Qndv_OZd=l~7Xs(=cpI936h^e+7AH*8&#RA;NB{z$ z;WogIcvEsAUs4G6e+vuUC;Mq#J#_(~u?|-mXi@>@$Br(mHE*if$1^X=SL7GB=S}Rw@X-8hTSu$!LgHKV z*{8Q!;(zKnBh#O-gqWHuD8rcQjOgl$t1dpJc(W>F&3I7GTJO@-M*djTi&So1#KueA z!*k>O-h^MIwf*B4GcYic#7KsDEKS=MSOKDQu#iwmgdDKc`PpfJqs!Lr0Gw2WZK-YB{2B7y`n$Sv*r>WlE2 z>(QVd>v#IdLshRlrM%Ela@X_z?vD2LP0cfG>(e@o=l27yboZYZ8oa7Jsr&Y-DB`7@ z6be+8!eSyv$`!RmU5NChZzgz@P{2>Z$@$6iyDb)Mq%X*5Nw%!p+w#DGOWjZa4x4R# zVJ|RPp%qvGD6l>|fC9Z`nmkD!1S{bN0EB_!B(?{Ki;Dd1IYI%+p3Gn}g#xiyKSaeras=JUM=PDi4qv*xFLJ9hLT%pV>gG1sn{ zn;srF>Gh`L69`prTI#B0nsOROYrxcRx|7(fv^sTXU+MKC|Ok%&kv4sds{ zMJW_6SL81i3YZQI$QaC3sKj1CN30w+MseB=Wzt~(;1w=Bm*7Csh?A%(!hxTW;myE` z6V}EEeO7UtZ4r()8OA{%Fwk4a^L(Cc7xW5PFOPa;p!+ra0`Bh~I}4`{bAuTm0EfL< zvgKXBH}!8DD*a91>-$x!54o%!-37MEuyW`@8U$U0Bg$9?o&@w%cpFJ|2pygc2AlDK z;#h#@f>%qk)4-+CMZ??EqE;X;=wP*x3TP&foj3YLr6{&A#-?E1pFj3I&irmauD`p> zr2nh4_}zk9Z0Lcj;RrkC=&zc~ArqTA4)TJ9&*af@iIn#JSxz(U&egL1k}UGkJ1uFMR8V zWh6&lDf_|}9xuGicV&YOdG3@xPPo&dWbb1YEv$?#EEjs|iu3P`RJX3tm_48Q4Os5x z4;Y=4Cs`G;!?Cmb=0+ODy1M$=TemhDMe*T{>@fNC;`xg`fy%VW?yU8U!q>OG4}HTp z!H^qi*@d$72^Yb1LMAZ}6*yqYaV&RiL3ZJ|geytGQ*gF~DT!ltM!UIjCt3g8Y>(Iw R@Xjjg%->d^51}3e;6I0?0>l6S literal 0 HcmV?d00001 diff --git a/src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-greek-ext-700-normal.woff2 b/src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-greek-ext-700-normal.woff2 index 70b7661e9838e907731e8c50a0f63df50a0fd34f..c8ce880122aed9127b03f1a0ddcc646fdc427b90 100644 GIT binary patch delta 3745 zcmV;S4qoxN9jqNPcTYw#00961000iG01^NI000{l000h400961000000000000000 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 LV;T0&#%VXH+E&9)NTgo{Udetf;+VR5MSWHG%L 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 diff --git a/src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-hebrew-400-normal.woff b/src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-hebrew-400-normal.woff new file mode 100644 index 0000000000000000000000000000000000000000..2aac63c87f2bc40bd1e80e4d1434ddd4e1187f89 GIT binary patch literal 5752 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 RExTgUx*tyoFDk!T{11n;hfDwf literal 0 HcmV?d00001 diff --git a/src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-hebrew-400-normal.woff2 b/src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-hebrew-400-normal.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..563b81be73d6f9124d20c14111f3e03e1ffafcd4 GIT binary patch literal 7728 zcmV-09?#)-Pew8T0RR9103I*^5&!@I06K&K03FEy0RR9100000000000000000000 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 literal 0 HcmV?d00001 diff --git a/src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-hebrew-700-normal.woff b/src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-hebrew-700-normal.woff new file mode 100644 index 0000000000000000000000000000000000000000..a36db5609cc1680915861cee3052ba4eebf8bf09 GIT binary patch literal 5728 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 Bj+Oub literal 0 HcmV?d00001 diff --git a/src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-hebrew-700-normal.woff2 b/src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-hebrew-700-normal.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..cc6a014b54dc663873c50d4f10d9d8821a6fea73 GIT binary patch literal 7820 zcmV;79&_P$Pew8T0RR9103M705&!@I06KU803Ia(0RR9100000000000000000000 z0000QRvU<19D!yAU_Vn-K~!1*fiwt#d z;i&*nu8N^>P*!ftluil@iB8k6GZUB8lzrfs5t7V8d_M=a`+kxVqC`Yh2?(-NS=FgR zN8mah?l{BqbL+ij2`je!WwDKs!q!x5j4UxgumCH;N-zMU!Ay+AE9}eQ3cX1FFQ@kZ zXarO%>S)k)y4txi`0b0jqiiE-uR8b@1 z9@^V^sK$P8_x3*GC7CrE9-#!&>9k0z3^BpKG!(v{xTZhR6IJK7iv%mg4Ze><3qynh z7J_KTd!f?WQQN;y&!C$Dl|ER)6U3sjzo+bHrIV+v0bCSxKts#F*4Juvn;%T|erYRz z#)NZ@wn~Opb*Np(gtKT`sB>%1AT5?-f)LwT@?`t}uM0oHM2;kd!~*^Pe>T&0W=G%J zJEMZ9R0dMQMW^>%rK!_2JAbsN0qtpTW!gO;lg=cWB@;jupwb9|iU7N$DzT`Vr0CKH zzOS1$M@#qtw5xwJB|X7#F>R6*!zRlj?lsg7any8S4NL0(-XBxG7f@R}u^0haqDJ>0 z`)*bQg^w^?bs%W$rtJD=tO){1mum3;cqt@G;^5@s=Hca&B26X~C~$~D5@kXI0aV7$ z13PTQU=GB$ZD)>w__1Z-D2ShGOJ_j*R(b9Oh+zP55@8<#ARvM_VIazefN21)ApPC) z!KMl*L^MxI1f+q*vo{*vF5FH^se7vz2Nm_AS3AeUMm z=YSEtm*~%(sb_M1cIML512HFBVoK_YsEDEnq)v$Ba799D|1gI(c&S|k$NY3qdPXMBam1bi&OVG%VrzpGRVaG zR9p}*u)th^@s*RYL({`-i>Q6>*ngv+})Wc(qtkF;uEIJXLt31S7?~-Z( z!7WMB#MsSD#>6d|?H9;|1=E?0o>(r+wZfC(;xo36u4_U8cX2A97RY9AZI!O1i@mux zopsMq2a<^O$36CjwWX<@E_ z82}0oLd#jGGX}to9=XiS^y&I^y%6egWJfPudi>Oh6URKa7DO792}tE&rzgcV4HKX= zMB?%BxOi+lI&P0g#dV;1e~929!NJ2PB!UpbWV7Q6EFkZb4FlkUEMq)|B{vf8kOl#Q z&tT-uNDuY`|KQS^{{euC|7REARRFS4`8j}=FhC##&;aU6&!sEW&SmGS2m#pnSUraT z_&*3=5(+>e#fAe73Y0)}33J*IG zj}AEIk-NRcUQt#X9kRD^^|kMH)Sx9++a7UDx6lgf^w@8n<+^Oao_@ej=9q7#O_5BS zh3uEMS+|3eA+9|qfv^!ncDI8k5%+%!@7MEjzg;iq)A7b(zuVSjp2nf?+NQ3`BG1w! zj>5qAT*tOdL)TPAmPCPP8JZ#q977Qp0?ANh#zj?0I~Rb~z@nlazM43QyB`Z4#8-n6 zM{vhtM-!><7;C*@3m25t)d_K_Wew>=st5-VTwQ83<1q>0Pc#So7q(_ru4C^Nf;X%d(18Bnh;(S-8#g z&@NP3JrIww0i|(j`4MM?ibh}+*1jL=0>U89GR?5nev7@J0IN&{f${vIXj_a0Hh5wp z>=%t%ZCmm_*GjD3A-0`%BG8d+d}=JYpBwo1XQ@h7W#A2>RFvD8Q z8c+L`{DZ-o~n~!+#abnZUn9=XHCTePH?*PaKVk`>Qb)&#|8`T z25Sd{GO7mB*u^$wSqky9ZmPQ4y*hMcJ|v$nnPUklEB6)q7Lf>Atk|ntQ0-d=H|#I= zTLKZAfl2Z|;hJk|J=ZeNiQqnzjamB$s|=STsC~;M3LVz^R=KuKb%J4cr_&ydll#Cu z+!2Lff6}Ovy7xJ85sTUGSi@Fzj}PoObPnTgBp}E{?QxRE|Lz0kV7+ zG>vWPtP$1bdGM!l?%z=NB^J@p!W;D$#JAt+v`b2gHTIuUZl=lJ57}bLSrtqusF?7YYVhXO2Sam3)5ce)pg2uh@u!I$_$IH5h#Q~XI3l;a_#g*C_p zI-HkeZmb7&-qN5e&&iz6M%)`Goa>7)0drzOSihWW`zQrZRZz*8Z_P~kh}LnD;qj{< z4vW7g8lf<1c87+IR5TECvf!^ctgXs;dU1xZ3r{u#WCdVGksZb8E2_IxMc^F>&ft^x zs#A{R3RWSmv;ci@drnD0uaiv8)*E<5N^t}`Gl9~_GcT)MB+LW{o^5G;WbM?6U6`o~ zv%lDuXJ$(kb!p1|XjmK#JpkWdhD-}vX2OpU7jtmjrI~|Fk%5sXU8`EjnUetHf>B)~ zGQ!K#N=TY7m~a%v;&^j0bix8~dj259i5pnsrHepv%%e{|aN!w+XfHr}!Ls#fGt~`l z1d(Y(CX#=`fwS)FX|Z4Rz7gYJ-nAv1ce*DWF{DQZ7Vm}Hh_aPQ=F1}X1Xn=hMy{5a zTq~Slg23P)c0)@6g{25#w7{O@ef`pypg~r&R6Xd+(#=L;T1-%wXbSEexYsO+O}SPO zCec_0jDJT2Qeg4vEc5rcOjU%CEea0R9Ee#@}T7tOZO@J1> z2?^Qy4_WVmND4|Mql#JvaVqVEbLf%VJ5fzT(9hhS2x>SY!@V77bi_qz=EP17HD^mN zKLv$dgg9cdf+Bg%6ToN}jHD3PU?x5C)ah$vM-8fqn7@}eKc^xQjA@Kzlxu(bu9X-K zWccRY)pNbzON&hTqPtZUp1KQ}9mNyTP+a=-&xRo~vSn!H*(rX(&$DMl{e<{*GudbE z_n|mcfn%3wmCm6=-q&5m-lAjigtTg;ejUJU@-Bc|e3Q9P@U`J|;JWLyHIj6Lbskch ze0s2_35r@LG9Jc4?q9TWlVZW(zPbQ4ta7Fn2#zsl_+w-gnd2a;j*)0!3hMl1CXW<#q-1~4+Tn+* z^)&gZ2HF{_{MJ%ZmSL9PS-Fg1S&zl;10H2Vr@cnjpzWWk3fm$HErMhNesi)#P_iS- z*5(GH{RWM(m}|hc@#7)6D3AudJ9WerTzUacNkS|bYtywO2D?LCa#JYRX`N)tCM}fc z?WTn|p>ezDn6>Gt0R#;J5>)WzxCBD&WcCdg9RlQ)04Ux7kdvRS=`b*s4CYbDG8OAV zT{cfClp$b27xYQcF02Ecz{}58y!Pd(`c{f*UcQ}|>{M9^d%fM>vUI~h(ljYQvq2+D z?SvW$!Hbb(U#0n*EK$RlLOQ5i$aB+aLUq(h+sd4yGsx*AkoklHwUowvYwpejQ8B@X z&Oh)ZMGC;@kZ(oGgD@PAr+})EkDm78mmcI>Bn<+&&~D=4`DIKT4j?E8N!z8qBDxq7 z(R0$#U;}(CwBJYwb*0Ox2kgA{9{#d1@?`jTSuaur^(wWEj138$CY}Nl@ap%7;Ftv4 z8-S`;4-(ySv?eCn?jcO=#3#69*E2(2r$IQ6N1KG{7SP(yGT_cm7(DO8&bUaPwg(D~ z(DuhF#)qnN(}|00>>et+=iBxr9x%~mGUsp@s-$A4^WoWWJxO=;7O|)EQb-)?kJ|i{ z2V-zg5S0z{Yp7G@G_+07!@Ex9q%BdxWjuHLH|FUkQlm9!|MQn93&Hj(Vo6CRZ-1kF{$vZj{;(>EF?wQ?= z^mblHwm0hINc$akm z9jXo9B2-K*=+%f|r}W1ZQwUC&fgzzDo+IT3PJro$CO$4U0$?&#N-Qy_tPL06`PD1b z((~w!A}iJlTz=qPx=?49l&5wPBEZhJ;Kf z1ds}_#ueA;?NH#t^06(-qIL(wk%>n)puT$8MOW!vht_#DKJ+t^CS9fC^yYvR=l?hZ zjrd0((Gm{+&HI}$^X2a%+%B*BA>sqb+Wg031j*^YoNB4BTB2yauH930=xhBo`oFtU?m4IGIT;hR z%#?qAOjoS=0rzaIJ5#oFS`1@$ac*Mi=j|@CHt#iUA7j)%iI|s)S%Y!U?B^Z3nw3>D zf!g3N#$pT@PA||1Bwy0k$_6B^_3@dBq#u;8&eD~>8whKLSyvVB2+t=enYtoXyMDDe zeB;@WarVhiX!C!#2sgT&#E3U1NOircLE7@Op zlX7-K>jj#h_V%MuI`B?grr<(N%^Lg;1@G}>YnXM3%b)*nxL*@;(a~Q9_9~@$=&?i{c0!}k#8KjWGbER zq`jY=klWfJPRUzpdUe0+vuhE1YY3XrKUxzRCDeiGqb6&%@b1|SFR`-iNY}@pG}>nN z!q*86@us+4?)LEcj9sZ9Qpsp(D?UXbkW*wIH}e&lIQ*}b0xqsn^ev8_UlT%>-WpyFd5&w9?)bvKREbfX+n1D{@NQ?5u^xHG;@5wp9o#MNJY*lSF32)g*0CEJzvX!+Gb zhcr!gYj!JV@&s=urj;oF?b|Bx9a4iO4e6B1rujT5uPF&%yy>8!a?+wjVn?BP`9oQr z*&+?xZwU>(HofwqH`a1apY_LYVab+cO-?zuH^ckP(OlZ2e(_UY#XHh8`K>uS?B5tu zbgl&<_k_Vo3?A}>n)9yv+oeOxhR!EcmYgqpxzqXG%Je-+Xx}pCm zC?DXSQswqFShuKf7gCib-5`~&Ax?Llb|)_1WG};`@o2^cO2gsF_DRuAwB6POS(KaD z9DP%hp-O3NO;!c$x3x{eR}_Vx-t^%rYl6j2^|7Y%# zghoB5decZ6E~}JMrRX4}lVR!c^?zizzMUEwMXxW4ckNZ>Mn$&l;nQ8HM3n+82ve4t zBw*c34n``?TtDT_q#7z0B`PdT+()mnv0&Ih8@}W@TP$TtZAwB3K_nxU%U6l~F+M-8 zfbgq;e|VG)_XLJR_wG#3ntpJv9zC-3&G0g%0oW(kLtiNWx|eC9-Hv;U_LU-D%lpnK z^-U_dw{&1#+a}76@9NmMKI>#CB?w>zklwS=Tn1??r$tq?A+n}(N`jBt9Fr$Vo3T2Fx1-E(~|!8d+w zBBcY>OQ*f$j$fVw+gJAZ`;Bo126T@f>v{2boQs>#UpH-R17*0zXuC5jf4r#%F3dlD zp-Mpi$vKd2A78Ad7Lbyf+CrWBNL)t`I?8VnNDoB%JQe-pP5sE5-gNqXwun#NTF&C8L2F3$>g--0ci`mqa1T-3p3m6P<&c~h; zie6pckhz_Qp^%eoby!9tPxcZPn3_XWQfTC9!ti+9rc6k~BAH5w>?L{aVX-ZLUXIEU zg(Zd+fL3^LNnMx}UYE@V_;!053$dnlr4)514Tw0tda^q-5ZQ^t>Oc%03&_Drs01#Q zTr>7FL(f2Mb$i<8vQh!jk~2;2P)#xPrpMT$lF* zxP}cy6jp7K$U3=vU)6OY;SqW;beI}-XQ9M&mAr(W{uIF#t4RwI*UW0 z66KBUgdG*+4yek<;KO~Q~)Id{(p`1 zPkuEefKZP{0MC-4L(marT{A@tko)QRJ|`Xi%+_&$+f1*i(B5xz@@2$HS%@SVy&7Sp_p}tG7ovHZC-qdit)hD=#bFwAh-a^%XBZ-fGcibNDEQL0S23YDrEU@OY^9s00tErbQs_;VZnxg0~x!$)1d0+ui&G_ z9N`%Mp0=;8a8^tf&0OQot)tHRurto-v~y}EP7VksS{Y4k9P65nb{(nVu+~$9UR1P& z>eNfM#xZX@tZZ3SRbr|v6eLkDQO%0Yh@Ji?F~uGgvH6S(>X8B+T1dAEIjG~wYm;&s z@-#7xYr>d%Au_6-MrIAG7*dWJR4}06L%+g-q{!7PqeqJBmeM8N5j>Jjh$jgh$nXj$ zf{S>xUu^rt^~gjKutx}Cx1a@y6Kr-0vXE%UkUfme%2=dXhiKIEtvWn{SE7nAAWDS; zQPB9$&vJewBI6;5lsAsFA@ztDaUh6*%PtXd1&EL{o*&rbh-u*=#oQQnbTOY7&d2TE&5k6*yZ+}pcVJn^2=}w{lY?qL5#o(aqMY4&QLKj5WO_08STB{Q ea+J6*ddF3D01pt7C z0RWKDJ%u0$;>xN*006ki51$19K+JjX#qs2o>6w1&fBpFV*aHllQumsaRRmRjnDvh? z`6GII@4~D`Hiq^;tnEi1{qbiYDZ^1TGj#f4P(eQo@qdB_AU3o9WBS9A002g406@HJ zFoLb#+{ExFF0Q;E8@B%hkNyl`{sVv5%8!osBP6hDU}EMr&h9_#1pom4^Aop$T!9pr zwVlzA9k25b`}HGCaPlAEHiqs${qjfs_~HBr0T3x5+1Aj;01S$hgXY z03(1ZAOuBkSAZ-=gx+j1EM0=MS?{p1S_q(4E6_nxvDj!-##XV|Dz~swv6yXABv-MR zuao9h5o7=i>OEiM`AKvggM76Eqvlbz-!qMn$fr;M6_3@4RccWT(tyziJ4*=rAG zXQH7W<@QzP+(3Y-LS{U(zX1B`JD}Bv4ba_c0>#YzT~7k^6uf-=r(XhUUqY_E0-(i3 z^M5Nsl^LsGmGwq?!Q{^ZZE{#3>M~z#_x;O%XOCyK0wGJN2SHA#4KCbZrJz`brJ6XF z8_3J@@mE;bNkV3z$g|7;HI|25A-L+M7dr+ikZzN+3`QbJK1${>cMmklYk5xUT6xe( zY9}P`fwwyYign8nyWrjr^Fp&t9!H0n95NNrX8@XP#`4(m70Lwrp{XIZ|i#<;lm{L+7#@!}(LPmZ%!D&{MLGOdS z!GBDnGQf!wv`&FCSnMOw4CylP^M6GhS9QP>r%@S;Wx$jN7ntB=nCFL__q57R%|g-? zO#{+RkJ3bI0yPbn(rHaoISpdcnU9iBkX-^h#Ch}i((I067uiNk5JmF}6dkOIG6zZ; zHLWof=_&xKQ5D9Ot6VMFWk`zwXTLpHfn3vYjmTFqT{F$`nuD}NZStO0gr99je`r)7`hn zqm^4XP}#?66%aOnTVcnn!ShtY#CaENh{+)#r0FE3l0G62u1&Or zJe0hgr$fCTX%Ek+%5zC^5aPr-z$Fv<StzyB{_ zx)y9yK_u2P8>6+2j#sCt2|e;iAW^7!RNrs^-FlkL_}ut^4J%P6B5H%8^3w*ob4^vK z_lg5Np$Onhz z_KlRzqDbzGjLFS3C}a&u8;z;$l>65rza$`Skp(PNZ}Sg$>A?1)#+B*h+jx%d!p4Pd zx50q@hNad8mZ`Lr9}RNji6NX?^>gc+X-!6+@lKiBT4ZCQAjki{N2Q9#hK=|EjR?j` z`(J=@0vw^@q=E4OeK7pmVMM5dRm|LnH5)13S;^XWdRJeE`8uhkj(_Qk8TFu}Z*?}% zGU|^CxbX0-lIZmzE8d|fT(|}|(w_N^KKPEdbi**Eg4A_TAOygx74?ujHzXWdD**@) zZGJ#_ZXMVB>}&i+`ME}f?3TYw25}hWe-X!71WzE=3tFS#4Tu;Q;w%EO-fKB5OKFJq zEod_W^Ao2_$iFe8{%wny(B`@0zHj@!prdymrPjL-Npv4M24zAxB;-l>%abC016nIK zz#}>eDR90)-T!_63<=az8wBtp{`uIsuNfH_#v5n#^^NuQSxz{n`1>282bpq>8~kGl z2ZCZ@U?>8iv?W*q+-`n;Zek)ZFnoNE&%V2Xfq)G2m)L@X54{p_q9ZKX2uS(+g8_Lc9@h{ zT<8G_{@wj-GIc~k_4{03!nO1hO`%9Maul>3*CkEL zc2r}en8nncMG$5HE@Z@WVnC3t!&)yWDD*D)q&1y{y%`cPXNj7l2d5~`>iO04E6C6; z%6j6{pYSC<_D@J@+niL3fc`nPckMOc0Sk8q-DVE)Q5oMw8KPN%cTtJ67$5e!7DvJX z8iQbmT@qaT5R*<1AfK!7_A{2B)fNZ<5&#W=13-L#0}$NTg8o1VC`&fEnqJ8YDWVF6 z1)~cgYb2oyDWDds7ZXdMo#F~AcwDoAUYIPR_0xq#H$V4yUvAQN3|8B*Vt%LVAhv#7 z=d-&UC0%FTPja%;jGTGAqb}4#XrNlbMuLeXMLF6htzzFiauP8^-AuIfI8O_kUY}af z-ve};PR~K~rl$0Am`&?$w!|#CFBGp2_qvn9koRCXq~``_WU}Z?5z2f*j7Ec(x#~0? z@ZB#(QlK=c5B8gR9!W7O=rN0XUI4wtd~RSUvx_%F_Rhpbe2CrPWLGDi44h4zs3St> zLjEOplyy$R>}6U_mB?WJ-Uk(+hKB}#*Z4}DOJGA9Yt6%TQ?0&Pqx43y`U4ttZMt}g zLvV0lT`LMVduNpq6R(e$Nd86EkQFOB{pDH3E5B`N7nd6daPTz#VWvR#9T)KV#obz_m#m(me3atvSS$>^4}H6eQqob80P2BM%wPjVBBH7>;g z(XY9YjD;t@Et@!IDxa3bSg#G)nUR*KL{11Q4QsWr^;8_NcWCKM(!Li7O{S}DWDumCPv0Jp@s1^zYVDp9Z&iB%0ecMzhQrE_g6xK|3!Uv|+rcxm%1}O2 z{nyi{OMTyN@AuNZoSYopP7l`yvYw~Evje%?Z;#8`t-e}Kg{5X@(^I&-p#2-I^sA{W z%NoB^Xst5Vmh(rCf5+RltDUB_4ZxU z$RGf>g@MfKPiRfL)4AO|qhu3=9iAT-I>*s2vg8}HM<*X~es>?vPpsc9udJUwW#*>S zA06+8C$m1s6rE`xiSvXA6p9v}86u!AQ>CB$H3GK`ll`l7b6{|UmPQWPjIRYg94F8%5P39w9m(O0{DB)^mY9J;+ zO-YC2FRwFaNgwJgkk9`aJGyw5^{EY(}j z{$whh>*iNsXA80Nsx%Jpi(amPGo&wIU0r=LlOOz^w673yOH^17!Qv zpv<%Vuzc1X?cZbc6%q-{QXL-@1^e|VxzNE9X5J`vC^xkMDTtiqRmV+W-pFPsFgr~1 zXs3I3bIJW|b$Fz#g(P)7=}hKA@dn~3Cxhq0v)_KmOR+Sx=+ZPZ{djExU?X_drS@nk zx3oc8{Lo&lZtvii+n0qyup7a)46y`bi7>B(J7)H+g&@9v8KBO&3)FA%LY@DtjCOSy zyW&|~r-9VHr19Cp4T71mbQOEF!9lNrkibDT7WH^bYS-89j-*vM93o0`G(Uvt@V4~e zNzw&0iWm?1HzgbG?w(ca7Y+ON92e5hC&}w*-QR1QwKbulHpzrO!{^z_lj8&W`F#)q z5T5e8>1zvev9bGBtWx{Zj!Yk**PTGAyZu#TP3wb*bQ4B68rzi!0@+&t5ljwECpjQ% zS|^HAyIa5KM+ZW@48%VqhN{R0lC6TCp$_}NG9_sCq;&J5%29L(ya;KPI{b$&rdFvj zitV6cGuFBYD{ie#C!Tbiv3ktGq#a#d$deb}+74I2WFpoZ%WekJt(`+64~GqK$P8YW zG%(`_&5VCDK!!7#&?AK(yd)DBVx7B^5GeA4vJ76VYJa?k4>&m$_R4g)8+^rQJS7jV zA3Li|)r>ho!+30c-4OE9JN#+N2@&-5JY3bOUwj*FkfptaL6h#LIzFIdb3vxJPxnmz zXN3I39O;d790tTmy1)r$+`*Jz12TnOG|sxf}nXQ%=sdp9gF^ zA6IKA9%N!$@M$4yi!2_Qffl`IW=xIUjE@*qJcH5ViD93dD-b&@Du;>5!K8OH8XYP8 zt0tsH7q9kd8Kn{@k!#?6GQlxRy6s9y8;hNXv85Y5t9=&rc*Li@lsJVQvRB@E99v)i z-Q1iKi+4}BbKL^hBF(+sa<)|vSIr+d!t1Gi0akDua1;OLeDSeoU}ds0Tp6fJd^ zVzxN(hiJgxA}qeKS6`>;g_Uh@*CtWn(U0aWWnnq=>^Cp1nBL6gpif(P*PI+zc-y>j z!ZL!E>NnLypwA7W5mwf!!c-;VE! zY$C;edr?IYEEwstXT%v~)nK_aEb92sM@*ht2n@Io^16#SQ-qZxYh^1qHnO8*6OX*< zW@m-2E9W2_(z|#zo#@?btr*>0DRsb6y*hUsRClhI)C=4SACPT&Z_qEkA4kJcZ3EWP ziemYR%G9L;>$ec|)N;nenU26Nl15&FGaQ z0?7AU)SH)jSAMR5rKQwMP4JbBLX_pijy~Uu*$Y7&L0+B5B5iOc0EHFBpoPe6{bz-L zkFNb1)=AKunXg;uMSJEqZsI}G?ptl0%7KA!a$J$U2cbCS)eC(@MJh57?pndMB=or7a<8`3x z-%ljthb3$@5+6noM&C^uZ)bFV=uq|eO?b;d$hpQPFXui@_v$Ku7#@JF=ewn9s826Y zl|S6amArFZCT|^DwucKm_6HfZm!BwNIBL336XTZ#y6;KBmx7O!X62Yc*O_owX+9mv zr2_9CyKb^mn2_Z_uC=RlNX&zNCY4c_tF*W=boOWG>+ih^kp#vFg6uVD_G@L&DbwOiwroC?C$KD^^zmKD=?Y$ zy0PjA-s6NRP<7S>15mO>ARqFnr_&;Scj8`f8Nzld0oXb>hv&E~p>qO8D_kj})qG*aOz!DWl5k+(fAOxxd;m&64F=DBzxkm={3l4(izF)i1|V zU#Jj_B;^XurqWdiU@G=`!nl<;pShJs70OQImz-%x2+a`09=g8D)E9BrfXMjU!DyDd zC@0$H=RK(}L)p9Cn0LGJ9`=OPmP8F^?h%7v@kBjyaYgyvoc-#>`$ZTEaX-g?pZUr4 zyT&TH>9>tQsV0y`MNgV}ke&oDHdotY;a}!Y8hnmSR_16}U`gz0 zP<$r#J~zdLv+Fz|15nS0yN!aHln@Tr*H%6-z$}+65oHQtDf@C2HWyEi{$3X4tOVIy zS{S60t)u>``m-CX@Mq_%t<4f)*+g{l(;=_tNMS(3D6pE$@pxnPYc!v2ps%RoCU{dZ z@!#cuWCY2yCZ)d`+i7JTP|)G2!Ubt+xgzHg{7M%J=ShUFQ-djEDhj^|L6%xR) z;+HTG=KhIOg}z&b4=;e|WdKS`3uWSkAS%5fX};8yL`!>m+POpynLA38riMJlU{s>6 zq=*YOHEa)485l!K&{#=?EcQGc{aWN%9Ogk>SwUN!0gHD#eC(4+WI${^RhaEa26iNE8_~)bR!gIas}g5 zRhB@d=>(jM=`%xD;wOX0AT_mIAsEFg!5cWouV2Q28$K*>ONLZFa1g5Ed97ofkdcG# zwcxiR;Pyg5m|5^=2>G|&<{OIcFk8xMm2`sG6-c!?(dwS?j9m&-&U->@%H@)`Dp(6( zhtgvW5nF8?XR<`~R@_)Y=`teyGpj(%@yr~dS3pQu2VJ%vyteK=-G6Ur5wv|lGrWsD z`T()L$@zje7{sD}q$9VaAVf5KJQ*HIpEmRQI7Gyd5f%tflqHFYNU#BY`Jnc-D9w4g z3NqE|Wc}Bw;Aw-&Cs?ZAOQGh(@CuJ(zbi0xsa2=XA82pj#KYPHMH2$(2jY_h9rn9G zf?tnz4e@wlX1Ms3nWiWxs8%F$>tr|9Qy0)Y=yEJ*7n;K*mELMB*fFTZv_$%Fuci)W zo-b|(OR$zCn{Or03jlCUd~~DH8rP)v+)!Q}wU-)*%RWgto!3cHbtYPM#mjRSHt#Gf z8>w`4?3HmG6>?6j5e<7swyQ!9*MqD&eY3+K##0NR>S9uA@^0n=s16PylBY2nFVM$A zlcU`(%f8c{Yg+TXf0|Z_Zo1lRJjVMnSSvZ+$`-nX4pIYh^6X;rGXCgMbG}vduNaN9 z*lqlAzrUx4l7gw5zI297-(Ovs_D%d}9|)q%g{QvYyN%f}G_}>^Iu@Y%)kEEI+$5{W za+cb~=Od^}gtJ{?m*L*k>|@{K?iET%M=en_?|2ap@C-T>-mLd9-a#FyBh$qMsYUf1 zAc$-he4W()K7Px};Fwoz8hQ%3)k%C=!+c-UMyS^8mcsuP;E*O6ywrFh(=gGO->X;C z3e#ZG?mqRB7)oEG)5BdAFFtG#O(y&?hS78HA6|sl?lyv^CH!m4l~K4@7WYze9S5m{ z)onjAV^5p3T=y0(lC zQOCjU`oA8#R1fn{^QFQ|$CDDRbxbh1sQ7Ts<@aOd3$FyhcH>uwAlX_rdKNZ_Q~D@H z^6N7WX}xB3AN4Yi1bJ~$JX{t2D0l7P6C6ai5iuS-`Gdkd^jHyC2!UKtl7WP7p*k+eJ6yt!3qo+%00>Ta>X-HmhVvJ9Nh(l=Ea9Z`*@S>ob1n)P^rgH&lw6QQ??eVw1MJsa?l!uI}nE9*nx= z_+vv8Fj)ew6>@2%%sGHEDO>-^TEUFtQfxakH@6ZSdbMc;b-j%VzPtXHHanZPxL{Tj|otpOmMn2wHTxNf!-o&I}p zMC8q=39GpYB;llY%bc7RW@pMNp>hzx(<(-G0sAS%0vc$ZIDi5E;4TnOa0&AO&Q@3C z@DbnPAz5D=RVE|uH}KgEi7NI%3c&p5NVFTkxyo5Pvkm%w(B!zhe%SEcs9Jvjht+#A#YAzvAlO`^U%7ca`&< z*D|8x_V-HFz^3UA%0}AX`};=QgGg3~-_q2D(C}I9VZ!V)f-+tYZcVM>DMm1gA&hBTBs?0I!Olj4Gc==ehRpdUk z^YH$`+LF2IQViBW#>D=18CI1FU>$J$t4pGq=2KE{Fbw-#c%Py+if&R=3+3%>{$=Y+ z9@{JkR;)~=q}&|E7^yZ9Y((}TY*>2-rbGW0^0c% zW~owKPARgbmgOMVgpgj^H{$>0Qz^;K8a>Z4ZV6kqiqTwH)nGg*Gk|SXI+618!1yn# z(oIG)db7?XOZ@d+(58vrpdY3sddgYgkO%KGO|suvbcdk5q9E_D1fj@zQY`kgZfyM? z!L9Ld`gJ{sCpaat7E3@~QblPEJy^UDP4izB=Ts35cy{~l)008F3$lnRe3&-13>@`PJG ze}5v43d=g#OmaqPtpi}AdP+Zgi0bg}8B;FNkb;|U9~EC5NdHrU3W)L8LaUQ8f~G)V z77S~3@6rw+IRf=AY$80kTiXq01~LRezj$2CVl-&?9gLp#d~o&Q{ufPrWXXio(v=q( zhBU(?$b( zv;go+QY@HAPOpI}V-;Sqe756oIC3Hs9y~Q}i44JWv?5Gdp-~zNy13>)Y(BmEooT1)+KuO?)@Kroi$C{a zxDr=39usN(6D|w9JmC>_tiSGjTN5~tiC%AFXKs$FNSU-nyOsMbeS4ER<7Me0_VOz3 z{QnjCD?KI0QYZ^jZEzzyjCROGjwe-O88VoZUx|(V|ffZ$4ky0R@ z{QTE(6HbkO_ErP+vkrMB`7(SkjRqV?OTahGWt4%8qe>~*4@is9V2!E9kJ^MHk$TW3 zbMN{X^Ej?p(@7?Blc+U4_^FyPT8O&5&BwOVW>%&ZIWy&ijCq`D`_69_&Bq6=(KPve zVA>RQoi=@)AVEqL&S~8`QrC>G#VXvAAyH})yHM*g!fa2}$2hRp7p#8()F?ibdD^es zGN8XRS8$Y{Adt`CRu2_~WrlMnYRX2?te?eemco$V3!GoELh3oGK-~b=r+@<8i+;Ra zCg&XfkZaWSFjqqS6=JCP;4*iCDTZ-8{%~}MDE?!a(Ek?GR&Ozw!Lf*91Q;j~WvG^R zke6U@X!Ilci)oq^>QECtGI72mU|-iOu=kau*X-zEpd$S|f}D0jP9L|y+R`PYP`K@W z&M_5qjH!J@@9L68OA8(;fZt@L>)NRWYUrNKDPZ}Q`QrNw}n=tPfxqBFp!tli6HE1s)0gHrA(oGsZVdGZMi-qoV~ar;s_ zV*9b6`f~8~G&H%)Mz8CA4b%rR z$lpXLPhX9>8*kr+w^vbprc*N>3cLwJeFMyxhpf40pFmGLx})fcL4xWMIxPZS1}oF9 z39CP@dTo(Ji)&-~NB934+Uf3^G@gR9ejhLmTaFdAU*R!6vDoaN8ne*(1Rz!yoTe)u zy50+iUkRu|H79Zn@5P~{LVyD7{nP$HgBlK=ATdyib@nMCHY4(a55Xw1XMrxc=gFEU zl54O!9FXox_7zWl>ys`6&HQ@|z3%SR*@&Pq5e@pq8J5I%t8$VuT?C9yZ_>{7YqL$=e1x z5`$Y4_I3MG*(uX*68zRdi^6j3&CZHrpU=M0GC0GLYBl&9;zm&Jx5q~`H43ZQVKprT zjcMV&qq>EX6EOVlV?+w#e9s4d5k4PcvRJF{(GWc$DlkH?TW#&g52XM zBgd%Abqh1aI6)w)w5hl%-k==(ivuAHDxq(jONn3Msd|lKG>^* z`-<+rd1R2 zsnX4o@a02{ z#U_G}5}YL7waZ=EaA+@^)VNgs>4SXfoWCAx?WPze?NhhqHn1eeG)WL)e?6&BZB;3a zFG#hQ+Aif1yQSETF{*B}MVRdk44j7Fys^6Mx`}x<>3QtsloWrt#lW$O+iYq&=7a2c zuWQ*RQ6kBeLSuhCuTa3>8cWGsv$mPJ+qoNyevYV}Oh-4AevK5Pkjb-kefK5eCo7o; zJq(D{1wxkrc1F#xOI}b+{9>j+avP@i;^D1HexusmoVrQ~zbh;PkjOluc7 zG(Wb=(hmZoQ^8Lv$dBojl*D^Q8J7mcCjBlPAeVQ!=40M4TFEqQIiaSOen_U4!koVq zr-Oyl8R@C?nGAumQmfUC-YYKDG#lYM2jqbYfEj;4@cx5q0kB^+qAUDMZ`)P-=te{B zTh(y^W(c@*uUY$ZL5&4#e09vq&t?w)NJb7JAiafv3-Q-oGrSuZF11d<5oqM}4WtkP zWmwOf{3Ey$BGlDxYeLn(JT9lg;a|CGnq@Ttx9%x%A@5OW%`d~QSI2p@x`Rc(H&G|) zZVD`FP2<{lrHK;sy!g>nK^Rh#mq;M9Z!DWNevcW585Vm;Lef>RngYU;WVFI+*ht+j z_TENu-N4YiW{#;yU<{6^WU~T?RXN5qW@GQ!t7tJ&C1pmT$&XS&Od{MKl%+LCot2tY z5ec(a)|?37Y>p@xkiYDh zPFB{3jTKJo2>Rvpe8=>?!mS0*yEi&h zTp!w*z!O)rhS*)Qh8mBCA!gd-kREqU!<6&6q~Q_nHQ|Fh&fE^+WS{H*J9)qf{0gTR zih!b**+{I@duCdL-;EkixXH7g|NLbIC1B`b0?2qRaxz@HS=;JG2b)NPe>B&FO`b}6 zo|riumIk9i&nYLjxu9<9=4FueYxP$~_Ua9bRj`w~`Gr)Q&%I0KJs6%)LXL z86|;Gx780$iEl8>is*I(Wcy-PbAQz-xZIi-ynfFE3GA;uA#!`eyTsR*9lC=HG3kr5 zM+V}X_m2qj>(W?SVp{Ltvo)fql&FTy9eTgeB`-VS7B~#)iw_b$P$o&6+&}sN94I{E zJ=O&iKNl$Nei~Egd1)pFV|MB)I&$fDJ_Cwac_LIUZ4M6@mo`V*R7&9%lsi%edjiQmj{nF^D{rFKs#0&&ulu#; z*ka5~D=8|vGSwp{mt`gqyI3k=VMG0wnh(Y)K9U2!s~g81AH2j3LjO)?&!~-31RGC% z_KJI5ztO8H_W9F!zMin_77h25)P+K=vhC0RO)YPd|BdDpnMdrORaqyL9EUtIxzx#F zrN89PYNbRi5jU_P8)85QGDsDbG?+44^XFTA`-dnc61<(9 z6kg+eKDO`tRokosNoW^xK?(&vmu1VCM&=C2`{QJOGiFFB$g)@4l=^# z^2Pr8+g~SS+@w%le-!By_Hxmyd)IM#H`?YM{uUo*Zl0KyOvbEd?74zrjYP*-egI#Q?YRQv~fbs-U}EYw%#cVNnK}lbE>u zZ&cFdp~AtcyD-U0G*n7vBl!J=!OqsZ133+Y86-4yJ2~6QSoD?G$_pdys!Z3XXvNw4 zraro|A(kYhq^GH?P#@DZ1DosaqT6LW;@Q|gb=g@qn2n$dsNQqALru>sr_QrtEhV|EGu%B1N zE2zU4mb^M^qV=v8viT!s>kobS9YVkm+>Yn7GHMpN;5y6876g)(A2AAQEhrl5P_I}U zObpEq>jr1U4cSTfxQ4nV-qQpCg0Na_YTjr-6SfeKSb6VzEuvXkq-kgOWoqO)kv{cu zTIX|>S2x$z+Vk09ZH*~*6puTyO+TS0N5AJJ^(d#P=&A(enX-|suI8%z-c79q!+YF& z_8XPG!{qUi`|6`?lXD|h&x!TD=B(Nl$!Rk5?#imVr}d;6soKJV!AE@{D4sE%_99*` z;!#!Zj6gi?v_v+n)qfv(L-?P#0tpiNEmX`5AJi9kzoh2`A(zEil-&B~LDMD8iBb2z zPYh}4p8dvF?L0N?UwMn*kh%8TF}PWjLMSL$ScTz!@}lMi!or2DNT|^{&m_OkS_)q0 zBencIJ4os=*&>nWbC?_?~z@PsKSL+=i`-VM4#hx8LJ?K8cZ=`MmasHXTk%e7Jaj$Q!6AC>u6IptO~0 znA4tfU0Mf~yc{}q;GkfBMatEayK-%kTD3v3gc=qw!}wTIXgqEe_|))}9|G2t{mKE$ ztRL_;s}CHNpX+4j<_2;Yiz{CGZOe zGu-Cuygp&PW;&T?UeSLSxRFaKM$8+e#gi{5oM7;eR~E*E1cS6>zWY|nkIzK5Q(wcv z)o2Q*mNy}Dy|v;T*JdHp6JBqp z#`}o$K%o;S^6M?T)D4n-l24dha8k*z2vAJmt7Zj$Km`=|eVP~WgyOWA+xw2Lf+3GD z#?7k)Sw(3G886H#PJg1L&~U4j2IG*uMZ`z=h9=@^TSDS!qo{&f19$YY{(6+p2Lj(a zOXk4*HT_k}o&aDdGU+@?p4y_+AT{|*J zJ@wE?kYb)qsZCljiRi4RB9~bm^QdEWe9W5cvqWfO&%pWlfjQv9ncr#T?v1m<3)ut> zI!)3#?d;}|MdAs$$sdP2+iqjjHYlV6v$zmj_N`x>#IAz+Z#wXJ*sh&zX5 z2zqP`ie;dfk;46VFh7lMyS<^Tpq`Dree_^JHhzQANb*sjlS@)Uga6M;`s$Zk1VhyW zqA@5r7Wyh0f>Uf}oDycG$}DS#(nITSIw<9T$9)TiSB$oVX#uvPy*ajD7+dPR^;gan2(Bu9W}ST2qlcE{=4-ckIQ z2Dqx`!NV|IJ}tc25ctOW1to~y)dPBjMPpSKOjvwvfADib_P-?eW%f9S?xAzHkd?Hv zz&d$OHQKNbjW5bjEsCx<)D{%XN;vQ?%7OdZ9^Rhs8toS* zYC39(#e~+xXIhuBWP@B`y+#!?iE(+Qdse2&1hIsoYutou8KQa0Uo@h4DErA`%EZdj zQhHhai-HWBQni}XB=5K!J0mVuT%`1S;|WK#9@t6QB?*eVWn=LJ@!`LGPto5E$e6J> zSG=wVIa@&9g8n@m{IN0LPj8{yzD}2cxoXe3zpk$NITz^vagFuJweMaaBJxHAfG!zM zJd_6SvwiaIWO(l343pq1i<5AVHZ%Il+O5?jBwPU(8?GR|79V4nH&Q{bE|b^GCYGQ( zpMw-UZL4)KvwlC=sK(+??9YK9CmD)W=krL%ZcF$}Iiz`G*VErupMBgGpo392=SFrS z#noPGR?u|zD#u@(Aa<4+8U z*b>@KtEtw$uBBfz!#*OXU_G={8FtSa%`x4at;!ZMJx6tqLAE!o0bQ1~ZwH;m`MVlP zR72u0a&0Vj`$mkSGyQKF?9q@fk){IS9s+zO7oaHr+iMAQO|o3?&NQ9GXlM|7+&?zmJBl5y1NT-W20O`u+NEnfTnc#r*iY>s4GBem! z+K!-T$SdUGR^p06Tzg4TdH7k_Dc9Gy==(#$nNw$QoaMIjUGoe6{Ull;MorxEfkepp z#4UHu1yYlofI=H0^Hdhn0twM>oPS3zpa~jsse@mFo%p~AXjaQ7pi?r-3OFFwC27kq z?i!Q?`LiN&!%0^_NbvyAgI9xf@KQ>?{2xp{#|AZbxY5Qrk27{T>rKO!}8%1 z?t2#12O^>ebuoZ9LT;)MC2hdYAvm(+#tz&~if30Ff|&~MoM$9+U|sG|i+6YPIIB42 z=AhbR79}T7EagTT^-5LhBLbtWBt!-jGaD_7`SpkASy4W zVr(8wTVbefij!~0Kx%JycK1fN-OJo<6ph0}-Hw}Cx3PnHP#-3(&m%vSTkQaBSm!*{!nMzC^;$~L#p7WYY*-8t77JHrT8<2iT81Uy=-39WGzsO6k zsQ`Lz?>C%>np)}qawC3HNCATp!p(p55qKT}Fp&RcOaN9V2A=;bcRkn3KYo27LexOS z{ixso;Q#3V$zL%x*g5&^1eRd>h<{lg>w%{T0RBY^i2MSp_^&=X5d;=j@K@0B)7QHC zPsU`Y;{VB;ykx7eA(pdTzjXOJc(c^GGg(SoO`Kmr0FcQEC`~v!86>4*{xQY^Uj;Ki z)fFN);}=VRE0cP6&o2-;@NoRCnf~#9Zhs z@7RpzNdn{TJ^?)Q9f=MAu3=*&)e{mP@2j?l7?p#H?$2Sy6VQf*+U+N_ln_Adi zh`N*LQ`ON2ju@Fyp@T#BJTyj)o`G9xMWdjv_d3%9H?`+Tom z1rTOij7CJ~&U6nr+5U*ms(-r15J0VuXUbDdzM^%7QkcvWMbZW(J@D1OeQ{qneK(rs zb9zBI-RLt#UM?`Jj8{Q>Pwtu-V~LenqHh;!nw#DMWiC8#8`>4-n-YTf24Qv;etoRCx7VP%6;^SsoHH$egtb zb6Env6TND1HIA7z2@Q5-)EEP;3KO&lX1h59${c3Y9QaxeQaB`h@~ zZEfWbQd-JL3KgY~h#*|@WW?CRgVP#ty)|uLd(Th5AHhZ|VI=-HH%0qF5U~XTfIgmt zuJqO`$L9Z=wfo;i%-ZIRuMdTAnXEZJnNfAU-U`kI!4vARJ&Jso*>L3k=k4l?g%GJD z@?|*gKMN+z)toG$D>C{x`H|dRon6^oZ6t0bsyR+3t_A`};yb=O?lW;GF=-KQ(Nd9V z(O#w1@}UJPO9Yo(veP|hl9i|#s z^}wG$?#Ft!l&?b{kYAwRg7!gGLiC0u_FC>F;J=~k^EuwG(e}JY6EdXsi-MVmOOwgR zjt^_0t4E}`i(?yvI7_^g=F0~cYtC3)dOTFTQBi(l8tMLiZwk^PuFhVP#x9YaJF<{> zk+jQeo%K8set>$z@eb}0<eb@Y!^g_E zt9QE>mE@&WbcQeuYXS})1RND2SjAv5-?z;ngaLCAG|=(oGBwPrNG6Uo6AqGK>B0}|4S`@^uL@t zV*`UE14sh{6MItwpu0FAW)NZk5-gz0eNAKn2s}suAUgYgHq9_P3}6zTLq^UkZYo1Z z^otV!%mHhu%o6YTfry|hq4M>?w!AQ{L&ZrPTD6~!+=QD}t^4V=Tkg2$uKSWb@W?}tJ@L#_&%LnXrPp40L@%3E8&@`3Slj5knOc?iEVp9s-pQyW`LhJJi0zE9ANFGN(n!N_0x2l zp5t>fbS_*`R{7m^{AJz^!Lxa@jAWE5)lqnU9l`f{fd|F@w1fB2!g>I!S^R@fDo9ENBHU_Vn-K~!D3 zcn66e422&Xwt6RT1MYV_faCi7HW5Y1oE4%7HVz1ev_8GNar0z!DsF(my(Hdk;chBAgbrxBL% zUi`izyPS=|e=iEX#mFR3ep> zq^%y8t;_yEMc2FN4FBR%Y3!FNXX#Lm z6%cBv`*#l1W7SQ>M!$Bz4llizkc+J044`AwpU+ z41yA~{T{Cy#%3Lgi;LV&ok1uH60IL&L0}YOCj*2KU=n_FVJcqn72oh3KkyR-!Y{B) z#ZwxG&7ui}&U6k9U_fXX6GPLO6Pm}K&^}IzSG$(LJ3fK&8DD7VD}FtE1i%Nysf&_z zPe(y}(>ERj?Y-=~0BG;GxsHSOaf@UaG$a6cJO}`Rzs+7Se9{TaKmY*F2tZL=QbX1- z03WCbV$#RGsPBs>l)(=wQb|O^h@JqD$K7XD1xj1UHLmZ4&|5WHi74DSI#B_gZPE&~ z9JNx*Mhn!*EJ_hFVWNg4L1ItWvbi?{^5_qUy`RSp*M==2R00)6Rz&2n5Py?(076bEu zSwJyR0OSA@fn*>KhyX?cLx6rjPvB1A4xk;-5@-g*a+T68f5|WMT}-}+Q@gp_`?kuR zT+Epq%Ym$ADKi<*X!_HYmei#>suU(SvZRHVq|ibPCb20Vb5fHSEyifkCqR110LkK? z_#r-tH-6UL{mi$0)#rW6N4(Dmyx=L^@?{=&uRGjitt(yX0?RFRs#DA~#rWPcP!x@( zVKiViZ^!o}yEweNchriS&$d~B|0t5b$zL7)Kwr@(PkLWBbvehVgPz#hp>*j`zG$1~ zWQeMxd*~qTp>4A@NE4YVR2*VQ^JrGHSOUtSiL;S~6T+Wl?d}~7p?<{kaDJm$nY@hJ zQOk*DB3qltO}`?v1!`86zR%nramEhh*(xydx>)ZW3nAEx9+u(Nx3@YOv7f_ zIH@s1Zr`%un&MAKfUW}dsSVe2ONu}30Ii4f6LC2Zx`}*%ID^V(QF%M%j~P>MBIiX6 zaXE2`F@|*y)CXyy#Lpmre7&f{NWAnm`S;zHPE6|bRYc{z(P};SLNKZ_DZ;G~Cw>Je z)NAgMpslp)w@dozj_!BlW=0?(g{6-Cqu$;MAKvTU*tTjK`+IQvXq+Q^(0*&iyE4*-57+!-=G`Qri53InGvoXJfNw`WNII zxsf^&D^JubzLg4N?UjSm_-?}s-~F0I!aK2rgt^lno#M0efEDh zR%$EJTjujbGhB`;VoEEBIN?8bN6MX(|+lx}RS@ zRR0>X%4e_)fa0&HilBipF(#C#u7lCZT7#>%QF@c>bZr1hjK z9iB`oqAYf#rKa!DuC_O@wu#7)7Z5P0qxLyQJ>5`R`I#)1N7vS;22*GJa}*H_mUz;(m<$a%+k+quW81NK`mW|Us$!|(fcmme`b z=M{wh#gdnqe&W^8cma)Sx>&Wvc1ht;e9rop#sRJt)`~Bs#0B1t|}`nDK08h7UbtCa&zR_S(&m7sYINfCQ20w_&jb( zGKZbSVlwD7DkXtTA`=L(X?#XZTtnvg|qfqXo@9a zt&F;$gsKRZ@tDd*Qo(nU$?N|!4}@i z2&Q7Q{LU9&)>y^5jne%Z!a1(KV=lY+{4|YvJJFD3)z)JYBn^Vu;59c9CMaZ~r*3#( z(8iyxZ`Ff_Es`8>H2btX?zLMIM|F}{{H>eNm!WLu5;aGdm;c68%Zf-NLP z2MzD3xQeH7Eu-1UMQS=Ze@*V3I<&L`PdxWXOgKkn$X? zJ8yS>!U0@fBlHwuKas&jjmzHln<>IHNkqi=`35o2F6j#E%{O^;P`0gqEJ+6w$t|_< z;Oc=k(K;QOW=?iqT(x-7t&YaJGa$L79GDRb{uCiYMqQ&hwS3w}1q0U`8?DJ7m2Ty! zD7AVIQakE{Q+LJ54I2g8r57zo2k38Z0H`^@YANEP#8efX8wCVQ!B+h%Tqj+(95)cN zQ(6K5ot4H!KtOO%x7m1;wIEL5UbZ4w-Yk42aYmR57M8q{MTIylr*2^?SB36sVXeuA za_Z1_yHP8^3A+zm{{VPz&67w1zfYua#ipr4*~&r3H9MlgRcjMq%weRTbP8fwH`Ej@ zzgqwtNa9%8OTJkiSRc0^YKiuYCeTlydg1UlyFcF1tvD6|x?bCSMp;$@gR->0m5_ME zb+1~`??N|}u%swisKd-T8ey>;i+~d7In)`joY3HNxq0Iu5f%Z`_jTl-99>oO)t&GH z13kbTq)QEu5WkcYEE--m?eYUU&F?@U`^zYLB>h4z7C4dwMrOetS{)HfOPPJVt?Jml0_@t8!oB%v>cUD>p}NZD-+?dh!HK{q zipP4K_h5v+bX)P_&D>&~VC&-Y)D*d2{-xe5MIB;GJrJ(xs;XE=1kMR4;DZg(KAZq* zC=|kz-T4t=vpc}BCg;>rD?`t3(jXpuPt&8FF+#9+m?&>?6NatL+}`Sa4_{FZChv>X zQloG*SB?}lIx1ih>Xssi0RTsC0kldmFA!2`{CwbvZPcZ3+d4OT)FIC+L(C4c}eG9@$ z{ReT1ek=1M^uG@$L_P1kW|Lj}TM3I7Pr}{uf?h=MB#XV-P)~`BD%gOIE+s`~*zq^t z%UCt?hLa5Wil(LGoU(`Nq2ALNM~xgu;L;hB?|I;CRsA>lEDV5l_a|>ALgZJr&evE3 z%IFflRQqqbP>L3MQRV(LV)OhcfGg#0imYHjkOx6k+-sGWxscX&x?Gra#0Af63N8`I~@q>QuS0$Y%%56%*{kpRE| zvkFYdzgEuZ1t0iB=kahHmxgdiA&vgiLcY}^Uw=7S7YIKf^bkHJSFgK(0s$&#m{XR* z5ET?wMTwyDGfRX`#fwbx90JX0J2&_R*5Y4^uO`A&b8K@L$C9rBg=3M5BBC?d=NoWqaCL&D}pC04fNrmLc0sk%OMZ;Slrf@ynU zE98PcU!spM?C+vxxr2P)lKJNK9toxD#}fs5gx#UA1H!xQ4AO zvupp~n}z%x7ywUT03Zj)w zENd)9qb4dM}D^ha0<% z1S;9K`zY0p$04^RYA>E3YhL+A?K{H`&#UQ;rzLx!PSa0=cGizO{~4WrzETxgL`^RK z^(}2v!)a2(Yg*K)*Q3@WVL+6-F~M~|b&bMrc~J4%zKBYelpNs~*344Y?uq_J+!GAa z)vQ>_T_3fY)XwpQDPRMk@K9CuUZe`M?wPfoq)Mt{Dp(=6OyHfzQlem(Z#+Ec1fCwS zTCnU48;OEZ3 z(}uG8?c0sZ$<3^0$U~NA*k)$*FJ+b0vlh4Y4O6xWpK|vm*oPj=5#ejwInVnhR_#?% z;0H$&b#~~Ib&4RkT4w|3X1%6&Een}n_j&LuH=sxFCH)M_#=`Stnwy)KM@d}C5aDge zydI~85h(l&G!D9oj4=Qwo}$eoYOp0e;lZ-Qk)&a6Le;{Sw!0`jf&H3P?ZC4=T97;w*&4wf=N37iGlDp2Lu zELk#csrFi%F7Z#&2!rK2L;M{+jNcMUC zomCs5H#qB{3&)jkS(33$a{8CO#FsVA=m6uzqVU}-xlMV>cOGqUzOcJ4`mZan%1RlD z)POugGtqMX64J}S55ER}OWLgM9JPZ-%*ag(>dl~tr>Q=l3wh1O1oCVF2!1ghg?b2?;P)D;gR<8s_5_&AC`<;B27acdaya+~JikB7Q)PdyqLfJ3WE&i`Hsqm(~?_GxK_mh{5< z6IR;r#Z+X=QDbephmK%d1I`|E{euj?nUx*k z3FAg`H2F_j{)P_xmAPG(8mtkYphGhJV#Dvi=k`E=xoa4dNm<@+`+7%*Ay(4sTJVy0Amn#OdW9sqvBYVgR+L6U4%iy+xfa6Wrf|O89xBam0M~&oYStj z){;5I8&n;AYm!Gt_Bf_kC){erm%&IpxP>~=$1sbS)bPPgf~Nqh6$CSMj0qk;Q8Io} ztUY<*;B%hH4eLH+6okSp&o&RZ+~-LqjBbmJy7iL}-2sM+l3cOI2swLiS*faw_ncv0 zw*@bpb+K>a!#&qjeTzXQVelK!&+xv6so*>F+0NKi?Oa$wc5T z965{s#$agGTiY>NPt03|?-37l=0EC8GW z{;*(U(!Jo8jdeNHo9wsWji2TbA1{h9nnk{Oj`>SicMC?Jv+<4VrLA`JyxAd(Rn0W7{%u;GR~a>qUl_`bhv!=YNpoPgDsCQa>Fq!$6_RkK+e7d?sK z;3l-w2$Z^cRR=r3=GJ6%-CaIu^(a@hrBpx(_lwUANwF`xUQgU4@eLvbNA04B!#o{+ zz0y1Q?a?FsPeUF3Kk=K;`K`B@PMVsYCe6~B^x5et+H^=qTF~lRSM1FS(GU6Q!{s~s zetP(*<6B<|ouo6`)a(z=)K1v1>+)eDvpHQewNgXSH!84G_Gwe#TJcj71LE@Xz|vn` zoaF#z%Q`o2e@#|GUwctH{52yhSVa`4v>Heoy0;|k%4J99P>M!cv<=6TQE_&ge7Jc6 z7MWf}N~pl(RkNuwkq=kDZOrHa(}*~oo1|=a$Fa`qzwSYVRf7dpBa#xG6C%pYG-whL ztp!PoM}(EtZiuiwW5}p#_teVWQkB*f5o_kTW&>?$DsWsVgZ+%z%Q=ufkv_@!F{=ay zTF@52T0ov>?1meLry8f&e>coDTFAei-;NKPKp0%{6*g3lCD%FAcys#Wo*#Nl^cgsG zWMD8h5{Jdc1_z>J&3yH1JArHCJ8jptpq8I5huSMo9TeA$-PtdrefuP!-9E4|ad$a` z7I@>!)tGHfb@};Cy4Y>&mtrg$8-)^308GX~zUSo`bV+&50Zq2<$D8X~ zpxZ#)ypQFJtrhJBLj&+xP6OAEQ@Cr;E8vBU zd}_?w^nI7-w31YM;;FeXM>4-@q{gb&87I!Do)kqYqo~kUvf_Fl7F3$betD)F1Yl!Yj)fsB;V16=LTa!kC@x6Pq*`4C@ z;^n)-j-dyS|3pVIft1_K7Pv=qq18Ne zk@cC{Vtrl~881^46Tl>J5gDCH%<54%p&0Qx$lsiYePeHUyM1!ZygJC~76ISg-NUy5 z&Y3??r8Nfds*YyJ&b9OvJh@)dDqo>%_u;?)%GQm~FLt(0_DFl^G&O1&Z@r)l2Uewy zqxiNx@fd8(qGK$%U+-;?hZ_(EFuu};;<2=I-Zb9fhk^B>=ny(4bb=MCNq%Brt3~V5 zqD9V;i$d$ks~ye`J(pE4Lpg35HsqmS?T@SjtBh}_iqS8=A~cuo6PJ$SkZw|4X1SnH zK5yK%Wz)q(bKi_gQN)lJf8{!H`TCsuxuXN_x}&|)nX7asI*8rWZ%4Dml+0fRnd{a@ zt*pn+u@H6T>=a8gp+z^9(XObkIQ&{L{JYs0+Tlc(x=g*0bK;+T_kc5d`!x)F(Z1LQ zaIikK>||oyaQxHeLj@LZy64j7TpqE|=yojF z;AhFQ`uO__k!kq36`<@o{2aM&A$IwPbDIA<_-prdKR++a-~6&y=+~=#DC`kBYaI(_ znjU@!zMgL%-1Xo8CxQJ0o%JSsbuaD1>t%Z4k#DL;yZD}nZraY%fwGnVy6d(cK3HV& zr~X`etKIICEJylDz`Ff_t)%j26o78)94`uJxrfZns)I;dXFLBSnE8bBec+jVfU;>8 zpe$`nSut?T-(9jeKhzwBI`_kHL`iida^}tjY?%{@%||u%Taa8*$8as1Vuh27r;}?ysfYqCN z5Y#>P+|y5|SvFJW|ID74`6t_OA<=gFMK^udcds9M9`2{%Prf~px$RN+^vr|qjBQ6i zUt<5BdEA+0ZV8dBfi^w4#*a4CS3be-S&p0Y7IHeyGIzHeiQ?DgbscWQ|I_M#$o=G{ zc3-yaXJh59d$&%qXh&%1+JR3T?)vNe5TZF#8T$G>uXn-lc6 zh1r!OXD^+tn@LSvP#&-(v({YiuFb}4w``k!hTxj%C>j}YOmoX3+M-Wd7dkYDqHjSf z_Xn5knAYUWelF9NBs?o7ic)W*&67Io@!-Y0VioS~N92YK(3x%U2`~1!CQT)CA~>(D)d`=Bvh&MRGxYvY_km z-hJ-2Nj5t4X0?^+F2b}#d+nDU5r-B3o~vor7*cm(x4Lze0#yB5bV)NW`bfL!^~OhQ z1O3l$-08gwm00(@EK~n^=z{j2k7fGAepi#gCTk5iqM%nqJl3qkf7g+g!)}H&^kmmL zTZUNQ_z4sa`rY*+yT+GK{=qNSID6+o13=Z+ISd)U5KuLKv5iZe7tXodYi*)551KpbbtCf@Ll{5{ zYfnj{qnGmh_Vb4Gr)j6c2u<|4A$ne%%vSBKabjBS5~iqXY1=_BK0o-lr!zy-sk9%9 zriMhLQZQbuommD&vB+?kt#uyfgqCJsa=7P_gC2i+^0eRYWeaD)| zDXW@>Hp7I6L~%(g(s@|JgCm zcZz=eE<+%3Mr-l-2Kxb1hwOwp z7+JH(;4C&>n>yWCURR~+;KnU$kf1$IoAAp&^g5t}$2yJo!^iDVKg?QovccP;mNuSN zU$moG;lJUG!=70YY-ta!sJ^p$gP$AW{cXy%kz!3a7Fa8aEoI*&)ynCz?{{R_r(#V4 zZPRy@{JWSpZS@Ntv=X4QJMKCGo;a$qYY#XcbUftv(H#H?e)-4pcy}p?Uv7Lec%L)# zjcUdD&PS+NtZ%1D{o~Dgb2lt- z8Q`Tfo1oB5gbf*V^x|S1Y!!R){_xIGFxzwOX}(-p2dwCB>p2)-6hRwa1T9rmkuO@2T4JjOme!K(QS9 z0Tb8x=#Ucbiwjj30xQJx2YJx7TXCMnmJKc3IipmCI6HYdx7i z0wX#HRbfCauvB$6I@T+uG(rr?fasHGN~TPpyM>3)xO^$sYTuZ`itF+U_KjHPtzTAd-?y*rA+CX5zVgQnUFy|C zg<4b%xCO3s6gl}M2+ih znaHTzC^;@N^hT(Rm&O27d>H-3XqQx%)M5;yx7CT$Ux;>2bxtkBaC#vqwB5G4dU%6H zEJzI;8`5Y+X?cIVYZ||n-XwmcUD<)z z1X>G^PibkVqzOAH^cFrZR_{pQ<)?|{9G+M%l<*&!$4Ql2X4IdlcYF;xs{f@9@(5-k zWnbRYsceZW-5-^JL&Zq_@F>py=BOl1cXb{nEI&(0#!rt8TG@u(Ztqm5F*%vHHq*8V zWQ>xT?q!n3alH%;Zgh{8OOr_CVvM{bt3;McM}C^C3HMLw<3(;aOC*!cUYaL;~u3-rj zLTBWpn|QEM{!8WcuCyL>b4YbT^?HBomg~DV+LQ zYID2`(Cnuzp@O!~$}|Q$^OiAnn=pe>GTRe;I+DqzzF0G|QM(v5HjXwMLUmRib3@z| zSW{hY+0H>Yw_T5imOOQ?oDhwIV|GJCh7N@yV(rZKn`bVw1pIU3&!^XyynkK0)0_Cv zr^m-Rkra6I;6bI&5cs+0JZ;yWq4q7re*S%h$TIv=**K&h>hJ9MXk4f-{QbDUub0QU z+W!Na5zUP}+sjWCiN*p!YPygoOiNAZ?6PUXbjY4*o5d%B2tkr|B`IepB|X_?d1o_E z_TeC+uc)bjlG)7@rDbMct%E-ZBY9gNDCykAJ?3mJrsIev_*O94>-7Sw(Svp1krAxU zj#F9)q6~GF&+ubQ$Rpr)CE&_0+pq;6~Yhb)`SqA?s&Q6DPU^mIipJxr-#J@P#UC* z4jFcnq>hG_W_cv+!sll9MP`eKvB|ADIk~;h5)GRU8^<@R^W^m50PN0SH34=$L|ikT z3=@Z>%uABuhBu!y-d!XY$dkD#&GFQB`Gp;2ol|Cewgb|N^eE`T68oA36+5F{Y6yd$ z8sa5aiUpju4;0YE@e-q#wY$4sl&GKe4-`GVSKLV|a}tF9p#hgRtaE5)1GtQL+IeBP z$uC*TZU$~|kqo!Hi&HSW_xkx*SS~fGBG6633zD`roN0L3;rAd0dE0N-ZDh;?pJRyt zf*`(HY;YT42UPz(sT-lzLA2~rIWe_1nuxlpv9R#?OlkBeViqg#skKpf^raBjszir| zmD^QBp>yQy=u7UKQbfHb(qtE|bM``s4Ia2D3kwYMGfPq^Y$A6#lcIy-fd zg^%r;jVo{2ZQc~Ozh66i0%dT+|JJN6t%kxTkSTj_+b1Z2jOVItNM8Hh7Cj>;?^+VV zi)&N*!KKDYXQ!6f&wOUXWvTu#F|h!inZ$%=r3Ok8xF8eTiM1Jwxxx%&J#A(_gEhZl zYOZa>BG#{MY3_cG)d%wb1(u$+Yhk~xwRPW(TLRu*mM-j~`(f+b`T}W`n!t1kw%z7UepkY%OOR0u?TVZkRF(1ihR6~ z@#YsqkSoF~nng}ZW|Cr}Q)r1!03C)L6CTct|D&9J0xmL~5@R3t&L;BAOyrsA$g%0z zrN8~nBdFko1O`lmZamsI7E$V?@Oebvk9Mo{g~vVgj|{<~LrBr6JX(~K6`mFw9iAAA zCnrXSN7JJ19qv9#;4|@-Cb=^6IkI_DKwu!*J!*&8S{z#JQC5>;Yv+y`8T#=2vHsK8 z$msiLkMv(BN_edC*%{V2FNHZiH_aHgaDI0aj5RJQ$iSJw6xFPVE+E(BN?sJJOy5>3 zAT~4-`1~#=YrZxEb|kf9nqjvb#qkNic!YY3STV7*wA54@o9k$sbeGqim^4$D0Xr(_ zo@8p=Fw0%43kYca7EdhCAoa5ZvKEJ>BUS z@@g4S*$|TFO?<|tfM$TQ%a(dRpd@QwJR_o>G~$y|r(`ydpH^7?^zqS(x(!PWPGz3X z5TBss0Xe)<=W)ezm_&Gar(Aaag>kmUr~CQb-N(I;8GAlFBLH#)7h=MWOV=#Qop;`@ z?Cq5j^3yX?YA56BKQpi3K|j&`Ag7up+u$c9{5=le-6MG3d2^Z3}A$XLmd74&HeTJIzzY<#2%=6aMqHT0*rL9Op z5tTs7ZDI@m9dgT2MHC{oumzcSkKj^F!eo)Mx)l{g`n)VMK~_PuM+KMR2YusjxXq^C z?XTg^9)UG*o@9jj3mylvul5VOZhUU3qiv!K&~_$`R#9C`kmik51Oe6|7;sC$hzDdt z4$UmD>ejkfoos!Im#rP_->oASg7Dd@%`hb~+)sAENiL$;s>#Z{np}Pj%^itRQd?)P zWvzSBvh}Gopt<9`tQ2l`R4K*WI?k+-2D{uE~CQn$!4dHzeBAwKb@GNdoEmUAYk*k; zf6CACb7g+t*y}1*xw91kA-6)Q(d=M@QxoOpXx*#ETc5(QtAj=8Byhp0pGR>}>nn?D zedh+DF>u9ctW~07jgx^NNI`;#GpfCJC1wwORezrq!xu^VuUOy;E70I<62St|X^HM< z6&E+;B`e9w$@5m$eqm+XiguZ#hQtxsI*r(oH)sBLy1Cb0pxN=?spivjcvHuHGvV-S z@Na|KU(Ho}st?qM>KpZu>Qvrh&Ib1n18T0?Q+=R5RNttNRHyRxt*8j0A5AECeek2* z!%d4k;mO}sIgLG_W<61c@|Y!DX-xueP4U-F3F>6krl!y5gMm|@bA668K>X-T2X%5& z`uY~9v5M?)xiae4MbWK7REjPsNQrn{xLb8__r-M2fJ;r5UBTe6$ z&y5%gYK{HCxr&Kn$ewyn3lBQpT0%z*f?7deUB3WLM9XBr@eyk$;JOj(C18`r=6;#p zPc2q+Oc#Q#Q7{+FL5fcof*M1Z-JxLwV^CZFud=JujGR4eNT0u`J?}$3-@3W8*0WyD zYm7cx>AkiC<({b=okRiU@Bnv>G9svJR2^hbmH#7hXWum3_8~)CVGq&&;kiFO{dC@t z_bRnp%;!o_8T%?J>ys9_5*wh$?t&R`j;lympEYraFfZI`C1utJjjw>EWvSIz>v@{6 zREK7`f;e^47r2HLS+%GyViU1m_HN9oB4uA9K_xXYiZE8V+Q%rP;u>E8OUu%}fVEy- z!crZY(dUU%=>>ho!_B?ZyY^)L3`A>l6e5AmhPd?C%fqoUc+^VlC233Mjph?B7F{?Q zBtd|Xqn(SflrZi@4h}xi9YzdO*SiwNwnQk{?Ro3@e!turi@OeE-?}r(KLdn)OG_B* zLJ=Ff<>E5mk2^9;EyFys!Aze+Fl@*(x0`t^ez2=o60`@$otqfpF0`Z$@&wdiU_O`O zh@ps0i8p)^t!T(PfFno@>^F<$*?6l%R2eBnc1Hl5wq*3AB6x2Y_A_Mn_Ao~TixlWm zzMh!wD<7w1{t1c%9emorqb1fcY2%NNl9bhT2N?k8#jm&AW5IW$tq{EYD zbb9?Pv$wa3bcqbCCrc4yeP-s7_Xd$#tA&u^8JR@hJ=R&0gy8^yzM9KYITBGR3|iZ) zR=)MrvsFhjn+rvp$Z^3Csre$(M7^2lFEyM&Y}`Y_jTq`|T5?n|DH>p;9x5wbf=5i# z`jSO+3|yA%Z8W}|6 zLpOVp#Q*paX-qoazqpxA8-n!@w1zKd_LNmiqzs8w4kE+&HqpDT%X6?qW@Zi~8qR$d zo))H(_}U-8W|GD@Ip>nSM?*$qKp+nDjy^?u%-as=%SkTTBCLS3-JR>s7Rxiwh;+MH2K__`YGh>K=-CV9Q zr3Q)N^;NBOeH?>0fpg9bz9wfvJ3v5WIcyNeTpLa(DsY3NZ2op*fBvlTn>VW!m_^ao zYUz4_iU4c4jNSi)qv(I68Avq^qD|KsGly9(tAk>p(6G6V4gJhwvG{m%ylOvS8%3Mw zION;}39J-8ikQ&*2?VjQ_PTb9-gG8+-N*ndYb!IBVx~dWQIQgEv^uLYT~p9+8)I-0 zQ|_v0ryUtSwzR4=k%A>q zuyN01@QWeU11+qKfPcom^Q167TIPBjfc2p(g>B@VsRqz&wnDJK#DBk}-PxoxG1fB) z7_N_CSX&=^Uf8$dvJ@EEV!=ECM1be27wdk18N~5&nT7K$84fZhr3c0Q@L-gjwefzQ z;1k7H)i%E>VH*;w(LnFJrnR|#qM&JP9JHi98eBON&m?x%tkBZ7W&1VlUp}3V-R%|{ z=sz&~IHVc|$8x|UwghNWv`5#jz%WTcG~sW=WenqN9`(4RB`l?DUB!B+prbKh z$zq_$Q=G$NwA3_K-y3xy8GORPO=ndfaAYous?}ZA-6>Cj!hSEWyJ|6&^{8AV;{pSi zfwj&oEj+_b3~hAadMF5XyNI?RCs!*gI=9)F-gr{&#OlpDpWjY1-#)J`S$7pz%L+Og zYKto#s(2Fl5YAz{!W1(mj&t0<5#)K0S!-!K`+(*>*rHn93*{|Ly6?xQz}|1QqANf= z{z;pg8$SBFjz1iBx0O6I zI$cb2#W!SOJK1d2npdX-V>AMH-6#O?H-JMMP*yLPcm}2JZpqVu;`(KG*+=UDBj|I8V*xU z>fB|V_=^iU^4CaZ2a0DGfE(Al-;KwvAvOdRixXBP=hFlziNKiyNWFGwJ)7ODJbDhG zuSs{iHR?K?0Io**#Yb$1cwJO`wk2Ok@3OHlV;71+{V{?!vc&H_r|S=VB7C z1G}nVG3jIhrdKgTGW6e(c@#-iQWIMWKoBcLlSIA)HhuZuCCp`Sg(r^DdyS|Lm5pjs z_t;y}8)#%C~@USTa5QEXS67P)o2Oco49h;eDl&XoX>%uva$74S+%j0j-^c`l-2TP_ic#P1t@6fGIFZb>UTL`F#8U~kR=T`Qup7*+NKat8lvlvTbNL>d-W z-8JiQMG|gK!`!3ng52=i6e}BvMiOwrF3y38GdZr{K)=k@FkV@o+MQpZY4`Z#s zH)y9vX!@2f_y0gmBRqvj3WLQFsvCe3X;WVeWY)!~zfnV)Mf=*(x<$oAzl>GbSVL>w zCdlU(NgKJSMgMHvNlC|BhOVGbQU-3lbT^io`WrP%4w9z1 zNee(b0O%_&dCp;t^&RQDOdetE%$M$sSU)0|Rrjgx2<)j0?AdCy+5I{=#xhJqw~2;{ zGDfXQOK|T_waIz`wM%4yOCeTsQt;$)-IA#6dcxKgo{R9j>;wNII$}s9;c@qkBc3zI zYHznaKTHppLLZQSL0LzRi%CmI>}jB01}PMigVNyzu_8D-=$B8CwmIQ776AbizC$R; zM1m1SLFNHIbi8&Z5kCN%qPXCz8KV_EH5hnJCO5KT08wkV#}zmZicWqmD@AVwB8R@|8#eQB)Tq6G=oC z*oC5!?<$y|fZZN!Zg&k&$91Yc6(znSsNv*A6)hG@6-uEgcu$#vv8P-G84M{`OiCoB z9ST}6rI4j$`q@V+svJ}WHSL~Nbd+0>@qj8-B+X@dYak&MTV$9oA*~HoS@{Y`Kta=p2!p`YTH?{X2X^pdk!2q0olQs3ouu1c5(*+1>?b! z7jHgx@#V)~fIvZlg$NY}E?k62QKH3&6$b$c1q}lWCmtRF5eZoW3Mv}9L<~$UN!U1% zl`I7p51)WgDpArHEuCX}eNd-Ovk}wA18QosTHP6Ut(j_Y# zbRER5khtiw>#kaN%|}wV-Eh;Q3_qCao;&W6`RuDkSu$nIA(v|pg?xDmC>1GGti&g! zRLYc7t8mC(RbHo3wHjZ1urF~f+3$h7?t9>lZC0!~=&T)9oio~O$#>idN3&XdU*V*I;NR_G%nnuD@8@TU%a(r^4zvR&)P7b<1ie!;Up!$Rh-4_4%+Q!2(V1EWUPB znIe35(@~faWyK7=xV6g{?lq!LDXrZ_DP?h)Vt&MVhxu`rTq!I|%lPtd$%cKihe4K| z*xN2W0f!T4*aN^5+~5iB#U23n4GY5o@CJb3z%v3P1Ok8u4m@)p5E$Y2{l*1RdCl_Z zvUkp&UZbMO{IAf=QmS>?Dr@;FB2WKMAtQ3R06E;13$A4gEsI5Dk_^a5l?+kIv|UFN?cCI@yTWZx6Kr$%+c2aXbGd7+rL1$3*BRifJcqsNmb79nYiSyD z;W8E-EpZV+PpZ)pL5&(Eb`zqbk(oQ)VX_EfA`p(&+io{p!-d<9egtN9L$8R!x*PW? zt;IPxkDZ^GIoyXcL_C=OMNTK&o4&xWUp3tjo^k@o3X5cZ1$g!*qx6C{h{7vqJx$W% zMB$GBZU?A@7bH5rF-cmf40{OTTorF(>*8i!#xM{Y(_OM(v$Qc{hwQdz`w7aso&6oNM+uh zqxtTho%vC^lU~xZot9XncJ>EkwZ#x$Ywi~Yzd1e;CF4Id&T@*6)mCLc;^W91wh)X2XJy$Pke%(!beTO9g*^&< PU3zbBiqFQyt^oi5TvQ8C literal 18664 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

#y4osjET*tg6^U0sZir2G43M__c#`g`)LgxRJiT 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 z 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 XA)6D01vdDu_PM#Q&W$ViJOBUy&ees~ literal 18232 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 diff --git a/src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-latin-ext-400-normal.woff b/src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-latin-ext-400-normal.woff new file mode 100644 index 0000000000000000000000000000000000000000..4e12a147116366c70811641a853d4a7121031966 GIT binary patch literal 13988 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 EKi}{rFaQ7m literal 0 HcmV?d00001 diff --git a/src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-latin-ext-400-normal.woff2 b/src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-latin-ext-400-normal.woff2 index 8dd77186fe91029231049335517e11c09aa16f8a..76f87673c6504426db3f9d95b9c955a009360cce 100644 GIT binary patch literal 15368 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

1H{0+Mc@AwDgv3VmXGwv?-%BS*JFq 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%0D$fn-42C-UF?adt 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 literal 14984 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 Q6Usiy9EJo2U_Vn-K~!D3 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 P>W#g$)B4Pv4*&oF?M;K0 literal 0 HcmV?d00001 diff --git a/src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-math-700-normal.woff b/src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-math-700-normal.woff new file mode 100644 index 0000000000000000000000000000000000000000..9ad843b424fd7dca77bddc3884c567d4834009ad GIT binary patch literal 15632 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 C4>Gj? literal 0 HcmV?d00001 diff --git a/src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-math-700-normal.woff2 b/src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-math-700-normal.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..561e4e34b5b5f140ffa1b5b221fedb0ac78e75a6 GIT binary patch literal 17204 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 z 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 H2LJ#7IyEo_ literal 0 HcmV?d00001 diff --git a/src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-symbols-400-normal.woff b/src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-symbols-400-normal.woff new file mode 100644 index 0000000000000000000000000000000000000000..8e06eab820a2b80dc7f0967050849de489da35bf GIT binary patch literal 8328 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 F{{xx~h&uoP literal 0 HcmV?d00001 diff --git a/src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-symbols-400-normal.woff2 b/src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-symbols-400-normal.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..127e5f20b4daa87a3276f6e08ad8e72fc82f6aff GIT binary patch literal 10180 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 literal 0 HcmV?d00001 diff --git a/src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-symbols-700-normal.woff b/src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-symbols-700-normal.woff new file mode 100644 index 0000000000000000000000000000000000000000..c0fb9efc485019265b429816bb2a703d0a951c46 GIT binary patch literal 8080 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 WZeRdr?h@L=edP?sUZNcU0000SyJaW< literal 0 HcmV?d00001 diff --git a/src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-vietnamese-400-normal.woff b/src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-vietnamese-400-normal.woff new file mode 100644 index 0000000000000000000000000000000000000000..024bc6222eaff19c1ae24665bbe822aa03cef108 GIT binary patch literal 6580 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 LT#nii0l@zNC8(67 literal 0 HcmV?d00001 diff --git a/src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-vietnamese-400-normal.woff2 b/src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-vietnamese-400-normal.woff2 index 294c66df4db108e90bf79964b157607bd019f249..d38c19b0b69803b8a73ae5d0bd9866d1647e6fe2 100644 GIT binary patch literal 8572 zcmV-?A%os`Pew8T0RR9103mz;5&!@I07pOo03j3r0RR9100000000000000000000 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 S04l%V_%nZ4|DAtGF#rIGuB=}G diff --git a/src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-vietnamese-700-normal.woff b/src/Symfony/Bundle/Resources/public/fonts/open-sans/files/open-sans-vietnamese-700-normal.woff new file mode 100644 index 0000000000000000000000000000000000000000..b86ca7c505f46ab6ce8395e7c99e04109c71b6e6 GIT binary patch literal 6452 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 diff --git a/src/Symfony/Bundle/Resources/public/graphiql/graphiql.min.js b/src/Symfony/Bundle/Resources/public/graphiql/graphiql.min.js index 39edad7af18..fe8c6c9c44f 100644 --- a/src/Symfony/Bundle/Resources/public/graphiql/graphiql.min.js +++ b/src/Symfony/Bundle/Resources/public/graphiql/graphiql.min.js @@ -11593,6 +11593,1382 @@ exports.isNode = isNode; /***/ }), +/***/ "../../../node_modules/entities/lib/decode.js": +/*!****************************************************!*\ + !*** ../../../node_modules/entities/lib/decode.js ***! + \****************************************************/ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + + +var __createBinding = void 0 && (void 0).__createBinding || (Object.create ? function (o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { + enumerable: true, + get: function () { + return m[k]; + } + }; + } + Object.defineProperty(o, k2, desc); +} : function (o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +}); +var __setModuleDefault = void 0 && (void 0).__setModuleDefault || (Object.create ? function (o, v) { + Object.defineProperty(o, "default", { + enumerable: true, + value: v + }); +} : function (o, v) { + o["default"] = v; +}); +var __importStar = void 0 && (void 0).__importStar || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __importDefault = void 0 && (void 0).__importDefault || function (mod) { + return mod && mod.__esModule ? mod : { + "default": mod + }; +}; +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.decodeXML = exports.decodeHTMLStrict = exports.decodeHTMLAttribute = exports.decodeHTML = exports.determineBranch = exports.EntityDecoder = exports.DecodingMode = exports.BinTrieFlags = exports.fromCodePoint = exports.replaceCodePoint = exports.decodeCodePoint = exports.xmlDecodeTree = exports.htmlDecodeTree = void 0; +var decode_data_html_js_1 = __importDefault(__webpack_require__(/*! ./generated/decode-data-html.js */ "../../../node_modules/entities/lib/generated/decode-data-html.js")); +exports.htmlDecodeTree = decode_data_html_js_1.default; +var decode_data_xml_js_1 = __importDefault(__webpack_require__(/*! ./generated/decode-data-xml.js */ "../../../node_modules/entities/lib/generated/decode-data-xml.js")); +exports.xmlDecodeTree = decode_data_xml_js_1.default; +var decode_codepoint_js_1 = __importStar(__webpack_require__(/*! ./decode_codepoint.js */ "../../../node_modules/entities/lib/decode_codepoint.js")); +exports.decodeCodePoint = decode_codepoint_js_1.default; +var decode_codepoint_js_2 = __webpack_require__(/*! ./decode_codepoint.js */ "../../../node_modules/entities/lib/decode_codepoint.js"); +Object.defineProperty(exports, "replaceCodePoint", ({ + enumerable: true, + get: function () { + return decode_codepoint_js_2.replaceCodePoint; + } +})); +Object.defineProperty(exports, "fromCodePoint", ({ + enumerable: true, + get: function () { + return decode_codepoint_js_2.fromCodePoint; + } +})); +var CharCodes; +(function (CharCodes) { + CharCodes[CharCodes["NUM"] = 35] = "NUM"; + CharCodes[CharCodes["SEMI"] = 59] = "SEMI"; + CharCodes[CharCodes["EQUALS"] = 61] = "EQUALS"; + CharCodes[CharCodes["ZERO"] = 48] = "ZERO"; + CharCodes[CharCodes["NINE"] = 57] = "NINE"; + CharCodes[CharCodes["LOWER_A"] = 97] = "LOWER_A"; + CharCodes[CharCodes["LOWER_F"] = 102] = "LOWER_F"; + CharCodes[CharCodes["LOWER_X"] = 120] = "LOWER_X"; + CharCodes[CharCodes["LOWER_Z"] = 122] = "LOWER_Z"; + CharCodes[CharCodes["UPPER_A"] = 65] = "UPPER_A"; + CharCodes[CharCodes["UPPER_F"] = 70] = "UPPER_F"; + CharCodes[CharCodes["UPPER_Z"] = 90] = "UPPER_Z"; +})(CharCodes || (CharCodes = {})); +/** Bit that needs to be set to convert an upper case ASCII character to lower case */ +var TO_LOWER_BIT = 32; +var BinTrieFlags; +(function (BinTrieFlags) { + BinTrieFlags[BinTrieFlags["VALUE_LENGTH"] = 49152] = "VALUE_LENGTH"; + BinTrieFlags[BinTrieFlags["BRANCH_LENGTH"] = 16256] = "BRANCH_LENGTH"; + BinTrieFlags[BinTrieFlags["JUMP_TABLE"] = 127] = "JUMP_TABLE"; +})(BinTrieFlags = exports.BinTrieFlags || (exports.BinTrieFlags = {})); +function isNumber(code) { + return code >= CharCodes.ZERO && code <= CharCodes.NINE; +} +function isHexadecimalCharacter(code) { + return code >= CharCodes.UPPER_A && code <= CharCodes.UPPER_F || code >= CharCodes.LOWER_A && code <= CharCodes.LOWER_F; +} +function isAsciiAlphaNumeric(code) { + return code >= CharCodes.UPPER_A && code <= CharCodes.UPPER_Z || code >= CharCodes.LOWER_A && code <= CharCodes.LOWER_Z || isNumber(code); +} +/** + * Checks if the given character is a valid end character for an entity in an attribute. + * + * Attribute values that aren't terminated properly aren't parsed, and shouldn't lead to a parser error. + * See the example in https://html.spec.whatwg.org/multipage/parsing.html#named-character-reference-state + */ +function isEntityInAttributeInvalidEnd(code) { + return code === CharCodes.EQUALS || isAsciiAlphaNumeric(code); +} +var EntityDecoderState; +(function (EntityDecoderState) { + EntityDecoderState[EntityDecoderState["EntityStart"] = 0] = "EntityStart"; + EntityDecoderState[EntityDecoderState["NumericStart"] = 1] = "NumericStart"; + EntityDecoderState[EntityDecoderState["NumericDecimal"] = 2] = "NumericDecimal"; + EntityDecoderState[EntityDecoderState["NumericHex"] = 3] = "NumericHex"; + EntityDecoderState[EntityDecoderState["NamedEntity"] = 4] = "NamedEntity"; +})(EntityDecoderState || (EntityDecoderState = {})); +var DecodingMode; +(function (DecodingMode) { + /** Entities in text nodes that can end with any character. */ + DecodingMode[DecodingMode["Legacy"] = 0] = "Legacy"; + /** Only allow entities terminated with a semicolon. */ + DecodingMode[DecodingMode["Strict"] = 1] = "Strict"; + /** Entities in attributes have limitations on ending characters. */ + DecodingMode[DecodingMode["Attribute"] = 2] = "Attribute"; +})(DecodingMode = exports.DecodingMode || (exports.DecodingMode = {})); +/** + * Token decoder with support of writing partial entities. + */ +var EntityDecoder = /** @class */function () { + function EntityDecoder( /** The tree used to decode entities. */ + decodeTree, + /** + * The function that is called when a codepoint is decoded. + * + * For multi-byte named entities, this will be called multiple times, + * with the second codepoint, and the same `consumed` value. + * + * @param codepoint The decoded codepoint. + * @param consumed The number of bytes consumed by the decoder. + */ + emitCodePoint, /** An object that is used to produce errors. */ + errors) { + this.decodeTree = decodeTree; + this.emitCodePoint = emitCodePoint; + this.errors = errors; + /** The current state of the decoder. */ + this.state = EntityDecoderState.EntityStart; + /** Characters that were consumed while parsing an entity. */ + this.consumed = 1; + /** + * The result of the entity. + * + * Either the result index of a numeric entity, or the codepoint of a + * numeric entity. + */ + this.result = 0; + /** The current index in the decode tree. */ + this.treeIndex = 0; + /** The number of characters that were consumed in excess. */ + this.excess = 1; + /** The mode in which the decoder is operating. */ + this.decodeMode = DecodingMode.Strict; + } + /** Resets the instance to make it reusable. */ + EntityDecoder.prototype.startEntity = function (decodeMode) { + this.decodeMode = decodeMode; + this.state = EntityDecoderState.EntityStart; + this.result = 0; + this.treeIndex = 0; + this.excess = 1; + this.consumed = 1; + }; + /** + * Write an entity to the decoder. This can be called multiple times with partial entities. + * If the entity is incomplete, the decoder will return -1. + * + * Mirrors the implementation of `getDecoder`, but with the ability to stop decoding if the + * entity is incomplete, and resume when the next string is written. + * + * @param string The string containing the entity (or a continuation of the entity). + * @param offset The offset at which the entity begins. Should be 0 if this is not the first call. + * @returns The number of characters that were consumed, or -1 if the entity is incomplete. + */ + EntityDecoder.prototype.write = function (str, offset) { + switch (this.state) { + case EntityDecoderState.EntityStart: + { + if (str.charCodeAt(offset) === CharCodes.NUM) { + this.state = EntityDecoderState.NumericStart; + this.consumed += 1; + return this.stateNumericStart(str, offset + 1); + } + this.state = EntityDecoderState.NamedEntity; + return this.stateNamedEntity(str, offset); + } + case EntityDecoderState.NumericStart: + { + return this.stateNumericStart(str, offset); + } + case EntityDecoderState.NumericDecimal: + { + return this.stateNumericDecimal(str, offset); + } + case EntityDecoderState.NumericHex: + { + return this.stateNumericHex(str, offset); + } + case EntityDecoderState.NamedEntity: + { + return this.stateNamedEntity(str, offset); + } + } + }; + /** + * Switches between the numeric decimal and hexadecimal states. + * + * Equivalent to the `Numeric character reference state` in the HTML spec. + * + * @param str The string containing the entity (or a continuation of the entity). + * @param offset The current offset. + * @returns The number of characters that were consumed, or -1 if the entity is incomplete. + */ + EntityDecoder.prototype.stateNumericStart = function (str, offset) { + if (offset >= str.length) { + return -1; + } + if ((str.charCodeAt(offset) | TO_LOWER_BIT) === CharCodes.LOWER_X) { + this.state = EntityDecoderState.NumericHex; + this.consumed += 1; + return this.stateNumericHex(str, offset + 1); + } + this.state = EntityDecoderState.NumericDecimal; + return this.stateNumericDecimal(str, offset); + }; + EntityDecoder.prototype.addToNumericResult = function (str, start, end, base) { + if (start !== end) { + var digitCount = end - start; + this.result = this.result * Math.pow(base, digitCount) + parseInt(str.substr(start, digitCount), base); + this.consumed += digitCount; + } + }; + /** + * Parses a hexadecimal numeric entity. + * + * Equivalent to the `Hexademical character reference state` in the HTML spec. + * + * @param str The string containing the entity (or a continuation of the entity). + * @param offset The current offset. + * @returns The number of characters that were consumed, or -1 if the entity is incomplete. + */ + EntityDecoder.prototype.stateNumericHex = function (str, offset) { + var startIdx = offset; + while (offset < str.length) { + var char = str.charCodeAt(offset); + if (isNumber(char) || isHexadecimalCharacter(char)) { + offset += 1; + } else { + this.addToNumericResult(str, startIdx, offset, 16); + return this.emitNumericEntity(char, 3); + } + } + this.addToNumericResult(str, startIdx, offset, 16); + return -1; + }; + /** + * Parses a decimal numeric entity. + * + * Equivalent to the `Decimal character reference state` in the HTML spec. + * + * @param str The string containing the entity (or a continuation of the entity). + * @param offset The current offset. + * @returns The number of characters that were consumed, or -1 if the entity is incomplete. + */ + EntityDecoder.prototype.stateNumericDecimal = function (str, offset) { + var startIdx = offset; + while (offset < str.length) { + var char = str.charCodeAt(offset); + if (isNumber(char)) { + offset += 1; + } else { + this.addToNumericResult(str, startIdx, offset, 10); + return this.emitNumericEntity(char, 2); + } + } + this.addToNumericResult(str, startIdx, offset, 10); + return -1; + }; + /** + * Validate and emit a numeric entity. + * + * Implements the logic from the `Hexademical character reference start + * state` and `Numeric character reference end state` in the HTML spec. + * + * @param lastCp The last code point of the entity. Used to see if the + * entity was terminated with a semicolon. + * @param expectedLength The minimum number of characters that should be + * consumed. Used to validate that at least one digit + * was consumed. + * @returns The number of characters that were consumed. + */ + EntityDecoder.prototype.emitNumericEntity = function (lastCp, expectedLength) { + var _a; + // Ensure we consumed at least one digit. + if (this.consumed <= expectedLength) { + (_a = this.errors) === null || _a === void 0 ? void 0 : _a.absenceOfDigitsInNumericCharacterReference(this.consumed); + return 0; + } + // Figure out if this is a legit end of the entity + if (lastCp === CharCodes.SEMI) { + this.consumed += 1; + } else if (this.decodeMode === DecodingMode.Strict) { + return 0; + } + this.emitCodePoint((0, decode_codepoint_js_1.replaceCodePoint)(this.result), this.consumed); + if (this.errors) { + if (lastCp !== CharCodes.SEMI) { + this.errors.missingSemicolonAfterCharacterReference(); + } + this.errors.validateNumericCharacterReference(this.result); + } + return this.consumed; + }; + /** + * Parses a named entity. + * + * Equivalent to the `Named character reference state` in the HTML spec. + * + * @param str The string containing the entity (or a continuation of the entity). + * @param offset The current offset. + * @returns The number of characters that were consumed, or -1 if the entity is incomplete. + */ + EntityDecoder.prototype.stateNamedEntity = function (str, offset) { + var decodeTree = this.decodeTree; + var current = decodeTree[this.treeIndex]; + // The mask is the number of bytes of the value, including the current byte. + var valueLength = (current & BinTrieFlags.VALUE_LENGTH) >> 14; + for (; offset < str.length; offset++, this.excess++) { + var char = str.charCodeAt(offset); + this.treeIndex = determineBranch(decodeTree, current, this.treeIndex + Math.max(1, valueLength), char); + if (this.treeIndex < 0) { + return this.result === 0 || + // If we are parsing an attribute + this.decodeMode === DecodingMode.Attribute && ( + // We shouldn't have consumed any characters after the entity, + valueLength === 0 || + // And there should be no invalid characters. + isEntityInAttributeInvalidEnd(char)) ? 0 : this.emitNotTerminatedNamedEntity(); + } + current = decodeTree[this.treeIndex]; + valueLength = (current & BinTrieFlags.VALUE_LENGTH) >> 14; + // If the branch is a value, store it and continue + if (valueLength !== 0) { + // If the entity is terminated by a semicolon, we are done. + if (char === CharCodes.SEMI) { + return this.emitNamedEntityData(this.treeIndex, valueLength, this.consumed + this.excess); + } + // If we encounter a non-terminated (legacy) entity while parsing strictly, then ignore it. + if (this.decodeMode !== DecodingMode.Strict) { + this.result = this.treeIndex; + this.consumed += this.excess; + this.excess = 0; + } + } + } + return -1; + }; + /** + * Emit a named entity that was not terminated with a semicolon. + * + * @returns The number of characters consumed. + */ + EntityDecoder.prototype.emitNotTerminatedNamedEntity = function () { + var _a; + var _b = this, + result = _b.result, + decodeTree = _b.decodeTree; + var valueLength = (decodeTree[result] & BinTrieFlags.VALUE_LENGTH) >> 14; + this.emitNamedEntityData(result, valueLength, this.consumed); + (_a = this.errors) === null || _a === void 0 ? void 0 : _a.missingSemicolonAfterCharacterReference(); + return this.consumed; + }; + /** + * Emit a named entity. + * + * @param result The index of the entity in the decode tree. + * @param valueLength The number of bytes in the entity. + * @param consumed The number of characters consumed. + * + * @returns The number of characters consumed. + */ + EntityDecoder.prototype.emitNamedEntityData = function (result, valueLength, consumed) { + var decodeTree = this.decodeTree; + this.emitCodePoint(valueLength === 1 ? decodeTree[result] & ~BinTrieFlags.VALUE_LENGTH : decodeTree[result + 1], consumed); + if (valueLength === 3) { + // For multi-byte values, we need to emit the second byte. + this.emitCodePoint(decodeTree[result + 2], consumed); + } + return consumed; + }; + /** + * Signal to the parser that the end of the input was reached. + * + * Remaining data will be emitted and relevant errors will be produced. + * + * @returns The number of characters consumed. + */ + EntityDecoder.prototype.end = function () { + var _a; + switch (this.state) { + case EntityDecoderState.NamedEntity: + { + // Emit a named entity if we have one. + return this.result !== 0 && (this.decodeMode !== DecodingMode.Attribute || this.result === this.treeIndex) ? this.emitNotTerminatedNamedEntity() : 0; + } + // Otherwise, emit a numeric entity if we have one. + case EntityDecoderState.NumericDecimal: + { + return this.emitNumericEntity(0, 2); + } + case EntityDecoderState.NumericHex: + { + return this.emitNumericEntity(0, 3); + } + case EntityDecoderState.NumericStart: + { + (_a = this.errors) === null || _a === void 0 ? void 0 : _a.absenceOfDigitsInNumericCharacterReference(this.consumed); + return 0; + } + case EntityDecoderState.EntityStart: + { + // Return 0 if we have no entity. + return 0; + } + } + }; + return EntityDecoder; +}(); +exports.EntityDecoder = EntityDecoder; +/** + * Creates a function that decodes entities in a string. + * + * @param decodeTree The decode tree. + * @returns A function that decodes entities in a string. + */ +function getDecoder(decodeTree) { + var ret = ""; + var decoder = new EntityDecoder(decodeTree, function (str) { + return ret += (0, decode_codepoint_js_1.fromCodePoint)(str); + }); + return function decodeWithTrie(str, decodeMode) { + var lastIndex = 0; + var offset = 0; + while ((offset = str.indexOf("&", offset)) >= 0) { + ret += str.slice(lastIndex, offset); + decoder.startEntity(decodeMode); + var len = decoder.write(str, + // Skip the "&" + offset + 1); + if (len < 0) { + lastIndex = offset + decoder.end(); + break; + } + lastIndex = offset + len; + // If `len` is 0, skip the current `&` and continue. + offset = len === 0 ? lastIndex + 1 : lastIndex; + } + var result = ret + str.slice(lastIndex); + // Make sure we don't keep a reference to the final string. + ret = ""; + return result; + }; +} +/** + * Determines the branch of the current node that is taken given the current + * character. This function is used to traverse the trie. + * + * @param decodeTree The trie. + * @param current The current node. + * @param nodeIdx The index right after the current node and its value. + * @param char The current character. + * @returns The index of the next node, or -1 if no branch is taken. + */ +function determineBranch(decodeTree, current, nodeIdx, char) { + var branchCount = (current & BinTrieFlags.BRANCH_LENGTH) >> 7; + var jumpOffset = current & BinTrieFlags.JUMP_TABLE; + // Case 1: Single branch encoded in jump offset + if (branchCount === 0) { + return jumpOffset !== 0 && char === jumpOffset ? nodeIdx : -1; + } + // Case 2: Multiple branches encoded in jump table + if (jumpOffset) { + var value = char - jumpOffset; + return value < 0 || value >= branchCount ? -1 : decodeTree[nodeIdx + value] - 1; + } + // Case 3: Multiple branches encoded in dictionary + // Binary search for the character. + var lo = nodeIdx; + var hi = lo + branchCount - 1; + while (lo <= hi) { + var mid = lo + hi >>> 1; + var midVal = decodeTree[mid]; + if (midVal < char) { + lo = mid + 1; + } else if (midVal > char) { + hi = mid - 1; + } else { + return decodeTree[mid + branchCount]; + } + } + return -1; +} +exports.determineBranch = determineBranch; +var htmlDecoder = getDecoder(decode_data_html_js_1.default); +var xmlDecoder = getDecoder(decode_data_xml_js_1.default); +/** + * Decodes an HTML string. + * + * @param str The string to decode. + * @param mode The decoding mode. + * @returns The decoded string. + */ +function decodeHTML(str, mode) { + if (mode === void 0) { + mode = DecodingMode.Legacy; + } + return htmlDecoder(str, mode); +} +exports.decodeHTML = decodeHTML; +/** + * Decodes an HTML string in an attribute. + * + * @param str The string to decode. + * @returns The decoded string. + */ +function decodeHTMLAttribute(str) { + return htmlDecoder(str, DecodingMode.Attribute); +} +exports.decodeHTMLAttribute = decodeHTMLAttribute; +/** + * Decodes an HTML string, requiring all entities to be terminated by a semicolon. + * + * @param str The string to decode. + * @returns The decoded string. + */ +function decodeHTMLStrict(str) { + return htmlDecoder(str, DecodingMode.Strict); +} +exports.decodeHTMLStrict = decodeHTMLStrict; +/** + * Decodes an XML string, requiring all entities to be terminated by a semicolon. + * + * @param str The string to decode. + * @returns The decoded string. + */ +function decodeXML(str) { + return xmlDecoder(str, DecodingMode.Strict); +} +exports.decodeXML = decodeXML; + +/***/ }), + +/***/ "../../../node_modules/entities/lib/decode_codepoint.js": +/*!**************************************************************!*\ + !*** ../../../node_modules/entities/lib/decode_codepoint.js ***! + \**************************************************************/ +/***/ (function(__unused_webpack_module, exports) { + + + +// Adapted from https://github.com/mathiasbynens/he/blob/36afe179392226cf1b6ccdb16ebbb7a5a844d93a/src/he.js#L106-L134 +var _a; +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.replaceCodePoint = exports.fromCodePoint = void 0; +var decodeMap = new Map([[0, 65533], +// C1 Unicode control character reference replacements +[128, 8364], [130, 8218], [131, 402], [132, 8222], [133, 8230], [134, 8224], [135, 8225], [136, 710], [137, 8240], [138, 352], [139, 8249], [140, 338], [142, 381], [145, 8216], [146, 8217], [147, 8220], [148, 8221], [149, 8226], [150, 8211], [151, 8212], [152, 732], [153, 8482], [154, 353], [155, 8250], [156, 339], [158, 382], [159, 376]]); +/** + * Polyfill for `String.fromCodePoint`. It is used to create a string from a Unicode code point. + */ +exports.fromCodePoint = +// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition, node/no-unsupported-features/es-builtins +(_a = String.fromCodePoint) !== null && _a !== void 0 ? _a : function (codePoint) { + var output = ""; + if (codePoint > 0xffff) { + codePoint -= 0x10000; + output += String.fromCharCode(codePoint >>> 10 & 0x3ff | 0xd800); + codePoint = 0xdc00 | codePoint & 0x3ff; + } + output += String.fromCharCode(codePoint); + return output; +}; +/** + * Replace the given code point with a replacement character if it is a + * surrogate or is outside the valid range. Otherwise return the code + * point unchanged. + */ +function replaceCodePoint(codePoint) { + var _a; + if (codePoint >= 0xd800 && codePoint <= 0xdfff || codePoint > 0x10ffff) { + return 0xfffd; + } + return (_a = decodeMap.get(codePoint)) !== null && _a !== void 0 ? _a : codePoint; +} +exports.replaceCodePoint = replaceCodePoint; +/** + * Replace the code point if relevant, then convert it to a string. + * + * @deprecated Use `fromCodePoint(replaceCodePoint(codePoint))` instead. + * @param codePoint The code point to decode. + * @returns The decoded code point. + */ +function decodeCodePoint(codePoint) { + return (0, exports.fromCodePoint)(replaceCodePoint(codePoint)); +} +exports["default"] = decodeCodePoint; + +/***/ }), + +/***/ "../../../node_modules/entities/lib/encode.js": +/*!****************************************************!*\ + !*** ../../../node_modules/entities/lib/encode.js ***! + \****************************************************/ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + + +var __importDefault = void 0 && (void 0).__importDefault || function (mod) { + return mod && mod.__esModule ? mod : { + "default": mod + }; +}; +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.encodeNonAsciiHTML = exports.encodeHTML = void 0; +var encode_html_js_1 = __importDefault(__webpack_require__(/*! ./generated/encode-html.js */ "../../../node_modules/entities/lib/generated/encode-html.js")); +var escape_js_1 = __webpack_require__(/*! ./escape.js */ "../../../node_modules/entities/lib/escape.js"); +var htmlReplacer = /[\t\n!-,./:-@[-`\f{-}$\x80-\uFFFF]/g; +/** + * Encodes all characters in the input using HTML entities. This includes + * characters that are valid ASCII characters in HTML documents, such as `#`. + * + * To get a more compact output, consider using the `encodeNonAsciiHTML` + * function, which will only encode characters that are not valid in HTML + * documents, as well as non-ASCII characters. + * + * If a character has no equivalent entity, a numeric hexadecimal reference + * (eg. `ü`) will be used. + */ +function encodeHTML(data) { + return encodeHTMLTrieRe(htmlReplacer, data); +} +exports.encodeHTML = encodeHTML; +/** + * Encodes all non-ASCII characters, as well as characters not valid in HTML + * documents using HTML entities. This function will not encode characters that + * are valid in HTML documents, such as `#`. + * + * If a character has no equivalent entity, a numeric hexadecimal reference + * (eg. `ü`) will be used. + */ +function encodeNonAsciiHTML(data) { + return encodeHTMLTrieRe(escape_js_1.xmlReplacer, data); +} +exports.encodeNonAsciiHTML = encodeNonAsciiHTML; +function encodeHTMLTrieRe(regExp, str) { + var ret = ""; + var lastIdx = 0; + var match; + while ((match = regExp.exec(str)) !== null) { + var i = match.index; + ret += str.substring(lastIdx, i); + var char = str.charCodeAt(i); + var next = encode_html_js_1.default.get(char); + if (typeof next === "object") { + // We are in a branch. Try to match the next char. + if (i + 1 < str.length) { + var nextChar = str.charCodeAt(i + 1); + var value = typeof next.n === "number" ? next.n === nextChar ? next.o : undefined : next.n.get(nextChar); + if (value !== undefined) { + ret += value; + lastIdx = regExp.lastIndex += 1; + continue; + } + } + next = next.v; + } + // We might have a tree node without a value; skip and use a numeric entity. + if (next !== undefined) { + ret += next; + lastIdx = i + 1; + } else { + var cp = (0, escape_js_1.getCodePoint)(str, i); + ret += "&#x".concat(cp.toString(16), ";"); + // Increase by 1 if we have a surrogate pair + lastIdx = regExp.lastIndex += Number(cp !== char); + } + } + return ret + str.substr(lastIdx); +} + +/***/ }), + +/***/ "../../../node_modules/entities/lib/escape.js": +/*!****************************************************!*\ + !*** ../../../node_modules/entities/lib/escape.js ***! + \****************************************************/ +/***/ (function(__unused_webpack_module, exports) { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.escapeText = exports.escapeAttribute = exports.escapeUTF8 = exports.escape = exports.encodeXML = exports.getCodePoint = exports.xmlReplacer = void 0; +exports.xmlReplacer = /["&'<>$\x80-\uFFFF]/g; +var xmlCodeMap = new Map([[34, """], [38, "&"], [39, "'"], [60, "<"], [62, ">"]]); +// For compatibility with node < 4, we wrap `codePointAt` +exports.getCodePoint = +// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition +String.prototype.codePointAt != null ? function (str, index) { + return str.codePointAt(index); +} : +// http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae +function (c, index) { + return (c.charCodeAt(index) & 0xfc00) === 0xd800 ? (c.charCodeAt(index) - 0xd800) * 0x400 + c.charCodeAt(index + 1) - 0xdc00 + 0x10000 : c.charCodeAt(index); +}; +/** + * Encodes all non-ASCII characters, as well as characters not valid in XML + * documents using XML entities. + * + * If a character has no equivalent entity, a + * numeric hexadecimal reference (eg. `ü`) will be used. + */ +function encodeXML(str) { + var ret = ""; + var lastIdx = 0; + var match; + while ((match = exports.xmlReplacer.exec(str)) !== null) { + var i = match.index; + var char = str.charCodeAt(i); + var next = xmlCodeMap.get(char); + if (next !== undefined) { + ret += str.substring(lastIdx, i) + next; + lastIdx = i + 1; + } else { + ret += "".concat(str.substring(lastIdx, i), "&#x").concat((0, exports.getCodePoint)(str, i).toString(16), ";"); + // Increase by 1 if we have a surrogate pair + lastIdx = exports.xmlReplacer.lastIndex += Number((char & 0xfc00) === 0xd800); + } + } + return ret + str.substr(lastIdx); +} +exports.encodeXML = encodeXML; +/** + * Encodes all non-ASCII characters, as well as characters not valid in XML + * documents using numeric hexadecimal reference (eg. `ü`). + * + * Have a look at `escapeUTF8` if you want a more concise output at the expense + * of reduced transportability. + * + * @param data String to escape. + */ +exports.escape = encodeXML; +/** + * Creates a function that escapes all characters matched by the given regular + * expression using the given map of characters to escape to their entities. + * + * @param regex Regular expression to match characters to escape. + * @param map Map of characters to escape to their entities. + * + * @returns Function that escapes all characters matched by the given regular + * expression using the given map of characters to escape to their entities. + */ +function getEscaper(regex, map) { + return function escape(data) { + var match; + var lastIdx = 0; + var result = ""; + while (match = regex.exec(data)) { + if (lastIdx !== match.index) { + result += data.substring(lastIdx, match.index); + } + // We know that this character will be in the map. + result += map.get(match[0].charCodeAt(0)); + // Every match will be of length 1 + lastIdx = match.index + 1; + } + return result + data.substring(lastIdx); + }; +} +/** + * Encodes all characters not valid in XML documents using XML entities. + * + * Note that the output will be character-set dependent. + * + * @param data String to escape. + */ +exports.escapeUTF8 = getEscaper(/[&<>'"]/g, xmlCodeMap); +/** + * Encodes all characters that have to be escaped in HTML attributes, + * following {@link https://html.spec.whatwg.org/multipage/parsing.html#escapingString}. + * + * @param data String to escape. + */ +exports.escapeAttribute = getEscaper(/["&\u00A0]/g, new Map([[34, """], [38, "&"], [160, " "]])); +/** + * Encodes all characters that have to be escaped in HTML text, + * following {@link https://html.spec.whatwg.org/multipage/parsing.html#escapingString}. + * + * @param data String to escape. + */ +exports.escapeText = getEscaper(/[&<>\u00A0]/g, new Map([[38, "&"], [60, "<"], [62, ">"], [160, " "]])); + +/***/ }), + +/***/ "../../../node_modules/entities/lib/generated/decode-data-html.js": +/*!************************************************************************!*\ + !*** ../../../node_modules/entities/lib/generated/decode-data-html.js ***! + \************************************************************************/ +/***/ (function(__unused_webpack_module, exports) { + + + +// Generated using scripts/write-decode-map.ts +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports["default"] = new Uint16Array( +// prettier-ignore +"\u1d41<\xd5\u0131\u028a\u049d\u057b\u05d0\u0675\u06de\u07a2\u07d6\u080f\u0a4a\u0a91\u0da1\u0e6d\u0f09\u0f26\u10ca\u1228\u12e1\u1415\u149d\u14c3\u14df\u1525\0\0\0\0\0\0\u156b\u16cd\u198d\u1c12\u1ddd\u1f7e\u2060\u21b0\u228d\u23c0\u23fb\u2442\u2824\u2912\u2d08\u2e48\u2fce\u3016\u32ba\u3639\u37ac\u38fe\u3a28\u3a71\u3ae0\u3b2e\u0800EMabcfglmnoprstu\\bfms\x7f\x84\x8b\x90\x95\x98\xa6\xb3\xb9\xc8\xcflig\u803b\xc6\u40c6P\u803b&\u4026cute\u803b\xc1\u40c1reve;\u4102\u0100iyx}rc\u803b\xc2\u40c2;\u4410r;\uc000\ud835\udd04rave\u803b\xc0\u40c0pha;\u4391acr;\u4100d;\u6a53\u0100gp\x9d\xa1on;\u4104f;\uc000\ud835\udd38plyFunction;\u6061ing\u803b\xc5\u40c5\u0100cs\xbe\xc3r;\uc000\ud835\udc9cign;\u6254ilde\u803b\xc3\u40c3ml\u803b\xc4\u40c4\u0400aceforsu\xe5\xfb\xfe\u0117\u011c\u0122\u0127\u012a\u0100cr\xea\xf2kslash;\u6216\u0176\xf6\xf8;\u6ae7ed;\u6306y;\u4411\u0180crt\u0105\u010b\u0114ause;\u6235noullis;\u612ca;\u4392r;\uc000\ud835\udd05pf;\uc000\ud835\udd39eve;\u42d8c\xf2\u0113mpeq;\u624e\u0700HOacdefhilorsu\u014d\u0151\u0156\u0180\u019e\u01a2\u01b5\u01b7\u01ba\u01dc\u0215\u0273\u0278\u027ecy;\u4427PY\u803b\xa9\u40a9\u0180cpy\u015d\u0162\u017aute;\u4106\u0100;i\u0167\u0168\u62d2talDifferentialD;\u6145leys;\u612d\u0200aeio\u0189\u018e\u0194\u0198ron;\u410cdil\u803b\xc7\u40c7rc;\u4108nint;\u6230ot;\u410a\u0100dn\u01a7\u01adilla;\u40b8terDot;\u40b7\xf2\u017fi;\u43a7rcle\u0200DMPT\u01c7\u01cb\u01d1\u01d6ot;\u6299inus;\u6296lus;\u6295imes;\u6297o\u0100cs\u01e2\u01f8kwiseContourIntegral;\u6232eCurly\u0100DQ\u0203\u020foubleQuote;\u601duote;\u6019\u0200lnpu\u021e\u0228\u0247\u0255on\u0100;e\u0225\u0226\u6237;\u6a74\u0180git\u022f\u0236\u023aruent;\u6261nt;\u622fourIntegral;\u622e\u0100fr\u024c\u024e;\u6102oduct;\u6210nterClockwiseContourIntegral;\u6233oss;\u6a2fcr;\uc000\ud835\udc9ep\u0100;C\u0284\u0285\u62d3ap;\u624d\u0580DJSZacefios\u02a0\u02ac\u02b0\u02b4\u02b8\u02cb\u02d7\u02e1\u02e6\u0333\u048d\u0100;o\u0179\u02a5trahd;\u6911cy;\u4402cy;\u4405cy;\u440f\u0180grs\u02bf\u02c4\u02c7ger;\u6021r;\u61a1hv;\u6ae4\u0100ay\u02d0\u02d5ron;\u410e;\u4414l\u0100;t\u02dd\u02de\u6207a;\u4394r;\uc000\ud835\udd07\u0100af\u02eb\u0327\u0100cm\u02f0\u0322ritical\u0200ADGT\u0300\u0306\u0316\u031ccute;\u40b4o\u0174\u030b\u030d;\u42d9bleAcute;\u42ddrave;\u4060ilde;\u42dcond;\u62c4ferentialD;\u6146\u0470\u033d\0\0\0\u0342\u0354\0\u0405f;\uc000\ud835\udd3b\u0180;DE\u0348\u0349\u034d\u40a8ot;\u60dcqual;\u6250ble\u0300CDLRUV\u0363\u0372\u0382\u03cf\u03e2\u03f8ontourIntegra\xec\u0239o\u0274\u0379\0\0\u037b\xbb\u0349nArrow;\u61d3\u0100eo\u0387\u03a4ft\u0180ART\u0390\u0396\u03a1rrow;\u61d0ightArrow;\u61d4e\xe5\u02cang\u0100LR\u03ab\u03c4eft\u0100AR\u03b3\u03b9rrow;\u67f8ightArrow;\u67faightArrow;\u67f9ight\u0100AT\u03d8\u03derrow;\u61d2ee;\u62a8p\u0241\u03e9\0\0\u03efrrow;\u61d1ownArrow;\u61d5erticalBar;\u6225n\u0300ABLRTa\u0412\u042a\u0430\u045e\u047f\u037crrow\u0180;BU\u041d\u041e\u0422\u6193ar;\u6913pArrow;\u61f5reve;\u4311eft\u02d2\u043a\0\u0446\0\u0450ightVector;\u6950eeVector;\u695eector\u0100;B\u0459\u045a\u61bdar;\u6956ight\u01d4\u0467\0\u0471eeVector;\u695fector\u0100;B\u047a\u047b\u61c1ar;\u6957ee\u0100;A\u0486\u0487\u62a4rrow;\u61a7\u0100ct\u0492\u0497r;\uc000\ud835\udc9frok;\u4110\u0800NTacdfglmopqstux\u04bd\u04c0\u04c4\u04cb\u04de\u04e2\u04e7\u04ee\u04f5\u0521\u052f\u0536\u0552\u055d\u0560\u0565G;\u414aH\u803b\xd0\u40d0cute\u803b\xc9\u40c9\u0180aiy\u04d2\u04d7\u04dcron;\u411arc\u803b\xca\u40ca;\u442dot;\u4116r;\uc000\ud835\udd08rave\u803b\xc8\u40c8ement;\u6208\u0100ap\u04fa\u04fecr;\u4112ty\u0253\u0506\0\0\u0512mallSquare;\u65fberySmallSquare;\u65ab\u0100gp\u0526\u052aon;\u4118f;\uc000\ud835\udd3csilon;\u4395u\u0100ai\u053c\u0549l\u0100;T\u0542\u0543\u6a75ilde;\u6242librium;\u61cc\u0100ci\u0557\u055ar;\u6130m;\u6a73a;\u4397ml\u803b\xcb\u40cb\u0100ip\u056a\u056fsts;\u6203onentialE;\u6147\u0280cfios\u0585\u0588\u058d\u05b2\u05ccy;\u4424r;\uc000\ud835\udd09lled\u0253\u0597\0\0\u05a3mallSquare;\u65fcerySmallSquare;\u65aa\u0370\u05ba\0\u05bf\0\0\u05c4f;\uc000\ud835\udd3dAll;\u6200riertrf;\u6131c\xf2\u05cb\u0600JTabcdfgorst\u05e8\u05ec\u05ef\u05fa\u0600\u0612\u0616\u061b\u061d\u0623\u066c\u0672cy;\u4403\u803b>\u403emma\u0100;d\u05f7\u05f8\u4393;\u43dcreve;\u411e\u0180eiy\u0607\u060c\u0610dil;\u4122rc;\u411c;\u4413ot;\u4120r;\uc000\ud835\udd0a;\u62d9pf;\uc000\ud835\udd3eeater\u0300EFGLST\u0635\u0644\u064e\u0656\u065b\u0666qual\u0100;L\u063e\u063f\u6265ess;\u62dbullEqual;\u6267reater;\u6aa2ess;\u6277lantEqual;\u6a7eilde;\u6273cr;\uc000\ud835\udca2;\u626b\u0400Aacfiosu\u0685\u068b\u0696\u069b\u069e\u06aa\u06be\u06caRDcy;\u442a\u0100ct\u0690\u0694ek;\u42c7;\u405eirc;\u4124r;\u610clbertSpace;\u610b\u01f0\u06af\0\u06b2f;\u610dizontalLine;\u6500\u0100ct\u06c3\u06c5\xf2\u06a9rok;\u4126mp\u0144\u06d0\u06d8ownHum\xf0\u012fqual;\u624f\u0700EJOacdfgmnostu\u06fa\u06fe\u0703\u0707\u070e\u071a\u071e\u0721\u0728\u0744\u0778\u078b\u078f\u0795cy;\u4415lig;\u4132cy;\u4401cute\u803b\xcd\u40cd\u0100iy\u0713\u0718rc\u803b\xce\u40ce;\u4418ot;\u4130r;\u6111rave\u803b\xcc\u40cc\u0180;ap\u0720\u072f\u073f\u0100cg\u0734\u0737r;\u412ainaryI;\u6148lie\xf3\u03dd\u01f4\u0749\0\u0762\u0100;e\u074d\u074e\u622c\u0100gr\u0753\u0758ral;\u622bsection;\u62c2isible\u0100CT\u076c\u0772omma;\u6063imes;\u6062\u0180gpt\u077f\u0783\u0788on;\u412ef;\uc000\ud835\udd40a;\u4399cr;\u6110ilde;\u4128\u01eb\u079a\0\u079ecy;\u4406l\u803b\xcf\u40cf\u0280cfosu\u07ac\u07b7\u07bc\u07c2\u07d0\u0100iy\u07b1\u07b5rc;\u4134;\u4419r;\uc000\ud835\udd0dpf;\uc000\ud835\udd41\u01e3\u07c7\0\u07ccr;\uc000\ud835\udca5rcy;\u4408kcy;\u4404\u0380HJacfos\u07e4\u07e8\u07ec\u07f1\u07fd\u0802\u0808cy;\u4425cy;\u440cppa;\u439a\u0100ey\u07f6\u07fbdil;\u4136;\u441ar;\uc000\ud835\udd0epf;\uc000\ud835\udd42cr;\uc000\ud835\udca6\u0580JTaceflmost\u0825\u0829\u082c\u0850\u0863\u09b3\u09b8\u09c7\u09cd\u0a37\u0a47cy;\u4409\u803b<\u403c\u0280cmnpr\u0837\u083c\u0841\u0844\u084dute;\u4139bda;\u439bg;\u67ealacetrf;\u6112r;\u619e\u0180aey\u0857\u085c\u0861ron;\u413ddil;\u413b;\u441b\u0100fs\u0868\u0970t\u0500ACDFRTUVar\u087e\u08a9\u08b1\u08e0\u08e6\u08fc\u092f\u095b\u0390\u096a\u0100nr\u0883\u088fgleBracket;\u67e8row\u0180;BR\u0899\u089a\u089e\u6190ar;\u61e4ightArrow;\u61c6eiling;\u6308o\u01f5\u08b7\0\u08c3bleBracket;\u67e6n\u01d4\u08c8\0\u08d2eeVector;\u6961ector\u0100;B\u08db\u08dc\u61c3ar;\u6959loor;\u630aight\u0100AV\u08ef\u08f5rrow;\u6194ector;\u694e\u0100er\u0901\u0917e\u0180;AV\u0909\u090a\u0910\u62a3rrow;\u61a4ector;\u695aiangle\u0180;BE\u0924\u0925\u0929\u62b2ar;\u69cfqual;\u62b4p\u0180DTV\u0937\u0942\u094cownVector;\u6951eeVector;\u6960ector\u0100;B\u0956\u0957\u61bfar;\u6958ector\u0100;B\u0965\u0966\u61bcar;\u6952ight\xe1\u039cs\u0300EFGLST\u097e\u098b\u0995\u099d\u09a2\u09adqualGreater;\u62daullEqual;\u6266reater;\u6276ess;\u6aa1lantEqual;\u6a7dilde;\u6272r;\uc000\ud835\udd0f\u0100;e\u09bd\u09be\u62d8ftarrow;\u61daidot;\u413f\u0180npw\u09d4\u0a16\u0a1bg\u0200LRlr\u09de\u09f7\u0a02\u0a10eft\u0100AR\u09e6\u09ecrrow;\u67f5ightArrow;\u67f7ightArrow;\u67f6eft\u0100ar\u03b3\u0a0aight\xe1\u03bfight\xe1\u03caf;\uc000\ud835\udd43er\u0100LR\u0a22\u0a2ceftArrow;\u6199ightArrow;\u6198\u0180cht\u0a3e\u0a40\u0a42\xf2\u084c;\u61b0rok;\u4141;\u626a\u0400acefiosu\u0a5a\u0a5d\u0a60\u0a77\u0a7c\u0a85\u0a8b\u0a8ep;\u6905y;\u441c\u0100dl\u0a65\u0a6fiumSpace;\u605flintrf;\u6133r;\uc000\ud835\udd10nusPlus;\u6213pf;\uc000\ud835\udd44c\xf2\u0a76;\u439c\u0480Jacefostu\u0aa3\u0aa7\u0aad\u0ac0\u0b14\u0b19\u0d91\u0d97\u0d9ecy;\u440acute;\u4143\u0180aey\u0ab4\u0ab9\u0aberon;\u4147dil;\u4145;\u441d\u0180gsw\u0ac7\u0af0\u0b0eative\u0180MTV\u0ad3\u0adf\u0ae8ediumSpace;\u600bhi\u0100cn\u0ae6\u0ad8\xeb\u0ad9eryThi\xee\u0ad9ted\u0100GL\u0af8\u0b06reaterGreate\xf2\u0673essLes\xf3\u0a48Line;\u400ar;\uc000\ud835\udd11\u0200Bnpt\u0b22\u0b28\u0b37\u0b3areak;\u6060BreakingSpace;\u40a0f;\u6115\u0680;CDEGHLNPRSTV\u0b55\u0b56\u0b6a\u0b7c\u0ba1\u0beb\u0c04\u0c5e\u0c84\u0ca6\u0cd8\u0d61\u0d85\u6aec\u0100ou\u0b5b\u0b64ngruent;\u6262pCap;\u626doubleVerticalBar;\u6226\u0180lqx\u0b83\u0b8a\u0b9bement;\u6209ual\u0100;T\u0b92\u0b93\u6260ilde;\uc000\u2242\u0338ists;\u6204reater\u0380;EFGLST\u0bb6\u0bb7\u0bbd\u0bc9\u0bd3\u0bd8\u0be5\u626fqual;\u6271ullEqual;\uc000\u2267\u0338reater;\uc000\u226b\u0338ess;\u6279lantEqual;\uc000\u2a7e\u0338ilde;\u6275ump\u0144\u0bf2\u0bfdownHump;\uc000\u224e\u0338qual;\uc000\u224f\u0338e\u0100fs\u0c0a\u0c27tTriangle\u0180;BE\u0c1a\u0c1b\u0c21\u62eaar;\uc000\u29cf\u0338qual;\u62ecs\u0300;EGLST\u0c35\u0c36\u0c3c\u0c44\u0c4b\u0c58\u626equal;\u6270reater;\u6278ess;\uc000\u226a\u0338lantEqual;\uc000\u2a7d\u0338ilde;\u6274ested\u0100GL\u0c68\u0c79reaterGreater;\uc000\u2aa2\u0338essLess;\uc000\u2aa1\u0338recedes\u0180;ES\u0c92\u0c93\u0c9b\u6280qual;\uc000\u2aaf\u0338lantEqual;\u62e0\u0100ei\u0cab\u0cb9verseElement;\u620cghtTriangle\u0180;BE\u0ccb\u0ccc\u0cd2\u62ebar;\uc000\u29d0\u0338qual;\u62ed\u0100qu\u0cdd\u0d0cuareSu\u0100bp\u0ce8\u0cf9set\u0100;E\u0cf0\u0cf3\uc000\u228f\u0338qual;\u62e2erset\u0100;E\u0d03\u0d06\uc000\u2290\u0338qual;\u62e3\u0180bcp\u0d13\u0d24\u0d4eset\u0100;E\u0d1b\u0d1e\uc000\u2282\u20d2qual;\u6288ceeds\u0200;EST\u0d32\u0d33\u0d3b\u0d46\u6281qual;\uc000\u2ab0\u0338lantEqual;\u62e1ilde;\uc000\u227f\u0338erset\u0100;E\u0d58\u0d5b\uc000\u2283\u20d2qual;\u6289ilde\u0200;EFT\u0d6e\u0d6f\u0d75\u0d7f\u6241qual;\u6244ullEqual;\u6247ilde;\u6249erticalBar;\u6224cr;\uc000\ud835\udca9ilde\u803b\xd1\u40d1;\u439d\u0700Eacdfgmoprstuv\u0dbd\u0dc2\u0dc9\u0dd5\u0ddb\u0de0\u0de7\u0dfc\u0e02\u0e20\u0e22\u0e32\u0e3f\u0e44lig;\u4152cute\u803b\xd3\u40d3\u0100iy\u0dce\u0dd3rc\u803b\xd4\u40d4;\u441eblac;\u4150r;\uc000\ud835\udd12rave\u803b\xd2\u40d2\u0180aei\u0dee\u0df2\u0df6cr;\u414cga;\u43a9cron;\u439fpf;\uc000\ud835\udd46enCurly\u0100DQ\u0e0e\u0e1aoubleQuote;\u601cuote;\u6018;\u6a54\u0100cl\u0e27\u0e2cr;\uc000\ud835\udcaaash\u803b\xd8\u40d8i\u016c\u0e37\u0e3cde\u803b\xd5\u40d5es;\u6a37ml\u803b\xd6\u40d6er\u0100BP\u0e4b\u0e60\u0100ar\u0e50\u0e53r;\u603eac\u0100ek\u0e5a\u0e5c;\u63deet;\u63b4arenthesis;\u63dc\u0480acfhilors\u0e7f\u0e87\u0e8a\u0e8f\u0e92\u0e94\u0e9d\u0eb0\u0efcrtialD;\u6202y;\u441fr;\uc000\ud835\udd13i;\u43a6;\u43a0usMinus;\u40b1\u0100ip\u0ea2\u0eadncareplan\xe5\u069df;\u6119\u0200;eio\u0eb9\u0eba\u0ee0\u0ee4\u6abbcedes\u0200;EST\u0ec8\u0ec9\u0ecf\u0eda\u627aqual;\u6aaflantEqual;\u627cilde;\u627eme;\u6033\u0100dp\u0ee9\u0eeeuct;\u620fortion\u0100;a\u0225\u0ef9l;\u621d\u0100ci\u0f01\u0f06r;\uc000\ud835\udcab;\u43a8\u0200Ufos\u0f11\u0f16\u0f1b\u0f1fOT\u803b\"\u4022r;\uc000\ud835\udd14pf;\u611acr;\uc000\ud835\udcac\u0600BEacefhiorsu\u0f3e\u0f43\u0f47\u0f60\u0f73\u0fa7\u0faa\u0fad\u1096\u10a9\u10b4\u10bearr;\u6910G\u803b\xae\u40ae\u0180cnr\u0f4e\u0f53\u0f56ute;\u4154g;\u67ebr\u0100;t\u0f5c\u0f5d\u61a0l;\u6916\u0180aey\u0f67\u0f6c\u0f71ron;\u4158dil;\u4156;\u4420\u0100;v\u0f78\u0f79\u611cerse\u0100EU\u0f82\u0f99\u0100lq\u0f87\u0f8eement;\u620builibrium;\u61cbpEquilibrium;\u696fr\xbb\u0f79o;\u43a1ght\u0400ACDFTUVa\u0fc1\u0feb\u0ff3\u1022\u1028\u105b\u1087\u03d8\u0100nr\u0fc6\u0fd2gleBracket;\u67e9row\u0180;BL\u0fdc\u0fdd\u0fe1\u6192ar;\u61e5eftArrow;\u61c4eiling;\u6309o\u01f5\u0ff9\0\u1005bleBracket;\u67e7n\u01d4\u100a\0\u1014eeVector;\u695dector\u0100;B\u101d\u101e\u61c2ar;\u6955loor;\u630b\u0100er\u102d\u1043e\u0180;AV\u1035\u1036\u103c\u62a2rrow;\u61a6ector;\u695biangle\u0180;BE\u1050\u1051\u1055\u62b3ar;\u69d0qual;\u62b5p\u0180DTV\u1063\u106e\u1078ownVector;\u694feeVector;\u695cector\u0100;B\u1082\u1083\u61bear;\u6954ector\u0100;B\u1091\u1092\u61c0ar;\u6953\u0100pu\u109b\u109ef;\u611dndImplies;\u6970ightarrow;\u61db\u0100ch\u10b9\u10bcr;\u611b;\u61b1leDelayed;\u69f4\u0680HOacfhimoqstu\u10e4\u10f1\u10f7\u10fd\u1119\u111e\u1151\u1156\u1161\u1167\u11b5\u11bb\u11bf\u0100Cc\u10e9\u10eeHcy;\u4429y;\u4428FTcy;\u442ccute;\u415a\u0280;aeiy\u1108\u1109\u110e\u1113\u1117\u6abcron;\u4160dil;\u415erc;\u415c;\u4421r;\uc000\ud835\udd16ort\u0200DLRU\u112a\u1134\u113e\u1149ownArrow\xbb\u041eeftArrow\xbb\u089aightArrow\xbb\u0fddpArrow;\u6191gma;\u43a3allCircle;\u6218pf;\uc000\ud835\udd4a\u0272\u116d\0\0\u1170t;\u621aare\u0200;ISU\u117b\u117c\u1189\u11af\u65a1ntersection;\u6293u\u0100bp\u118f\u119eset\u0100;E\u1197\u1198\u628fqual;\u6291erset\u0100;E\u11a8\u11a9\u6290qual;\u6292nion;\u6294cr;\uc000\ud835\udcaear;\u62c6\u0200bcmp\u11c8\u11db\u1209\u120b\u0100;s\u11cd\u11ce\u62d0et\u0100;E\u11cd\u11d5qual;\u6286\u0100ch\u11e0\u1205eeds\u0200;EST\u11ed\u11ee\u11f4\u11ff\u627bqual;\u6ab0lantEqual;\u627dilde;\u627fTh\xe1\u0f8c;\u6211\u0180;es\u1212\u1213\u1223\u62d1rset\u0100;E\u121c\u121d\u6283qual;\u6287et\xbb\u1213\u0580HRSacfhiors\u123e\u1244\u1249\u1255\u125e\u1271\u1276\u129f\u12c2\u12c8\u12d1ORN\u803b\xde\u40deADE;\u6122\u0100Hc\u124e\u1252cy;\u440by;\u4426\u0100bu\u125a\u125c;\u4009;\u43a4\u0180aey\u1265\u126a\u126fron;\u4164dil;\u4162;\u4422r;\uc000\ud835\udd17\u0100ei\u127b\u1289\u01f2\u1280\0\u1287efore;\u6234a;\u4398\u0100cn\u128e\u1298kSpace;\uc000\u205f\u200aSpace;\u6009lde\u0200;EFT\u12ab\u12ac\u12b2\u12bc\u623cqual;\u6243ullEqual;\u6245ilde;\u6248pf;\uc000\ud835\udd4bipleDot;\u60db\u0100ct\u12d6\u12dbr;\uc000\ud835\udcafrok;\u4166\u0ae1\u12f7\u130e\u131a\u1326\0\u132c\u1331\0\0\0\0\0\u1338\u133d\u1377\u1385\0\u13ff\u1404\u140a\u1410\u0100cr\u12fb\u1301ute\u803b\xda\u40dar\u0100;o\u1307\u1308\u619fcir;\u6949r\u01e3\u1313\0\u1316y;\u440eve;\u416c\u0100iy\u131e\u1323rc\u803b\xdb\u40db;\u4423blac;\u4170r;\uc000\ud835\udd18rave\u803b\xd9\u40d9acr;\u416a\u0100di\u1341\u1369er\u0100BP\u1348\u135d\u0100ar\u134d\u1350r;\u405fac\u0100ek\u1357\u1359;\u63dfet;\u63b5arenthesis;\u63ddon\u0100;P\u1370\u1371\u62c3lus;\u628e\u0100gp\u137b\u137fon;\u4172f;\uc000\ud835\udd4c\u0400ADETadps\u1395\u13ae\u13b8\u13c4\u03e8\u13d2\u13d7\u13f3rrow\u0180;BD\u1150\u13a0\u13a4ar;\u6912ownArrow;\u61c5ownArrow;\u6195quilibrium;\u696eee\u0100;A\u13cb\u13cc\u62a5rrow;\u61a5own\xe1\u03f3er\u0100LR\u13de\u13e8eftArrow;\u6196ightArrow;\u6197i\u0100;l\u13f9\u13fa\u43d2on;\u43a5ing;\u416ecr;\uc000\ud835\udcb0ilde;\u4168ml\u803b\xdc\u40dc\u0480Dbcdefosv\u1427\u142c\u1430\u1433\u143e\u1485\u148a\u1490\u1496ash;\u62abar;\u6aeby;\u4412ash\u0100;l\u143b\u143c\u62a9;\u6ae6\u0100er\u1443\u1445;\u62c1\u0180bty\u144c\u1450\u147aar;\u6016\u0100;i\u144f\u1455cal\u0200BLST\u1461\u1465\u146a\u1474ar;\u6223ine;\u407ceparator;\u6758ilde;\u6240ThinSpace;\u600ar;\uc000\ud835\udd19pf;\uc000\ud835\udd4dcr;\uc000\ud835\udcb1dash;\u62aa\u0280cefos\u14a7\u14ac\u14b1\u14b6\u14bcirc;\u4174dge;\u62c0r;\uc000\ud835\udd1apf;\uc000\ud835\udd4ecr;\uc000\ud835\udcb2\u0200fios\u14cb\u14d0\u14d2\u14d8r;\uc000\ud835\udd1b;\u439epf;\uc000\ud835\udd4fcr;\uc000\ud835\udcb3\u0480AIUacfosu\u14f1\u14f5\u14f9\u14fd\u1504\u150f\u1514\u151a\u1520cy;\u442fcy;\u4407cy;\u442ecute\u803b\xdd\u40dd\u0100iy\u1509\u150drc;\u4176;\u442br;\uc000\ud835\udd1cpf;\uc000\ud835\udd50cr;\uc000\ud835\udcb4ml;\u4178\u0400Hacdefos\u1535\u1539\u153f\u154b\u154f\u155d\u1560\u1564cy;\u4416cute;\u4179\u0100ay\u1544\u1549ron;\u417d;\u4417ot;\u417b\u01f2\u1554\0\u155boWidt\xe8\u0ad9a;\u4396r;\u6128pf;\u6124cr;\uc000\ud835\udcb5\u0be1\u1583\u158a\u1590\0\u15b0\u15b6\u15bf\0\0\0\0\u15c6\u15db\u15eb\u165f\u166d\0\u1695\u169b\u16b2\u16b9\0\u16becute\u803b\xe1\u40e1reve;\u4103\u0300;Ediuy\u159c\u159d\u15a1\u15a3\u15a8\u15ad\u623e;\uc000\u223e\u0333;\u623frc\u803b\xe2\u40e2te\u80bb\xb4\u0306;\u4430lig\u803b\xe6\u40e6\u0100;r\xb2\u15ba;\uc000\ud835\udd1erave\u803b\xe0\u40e0\u0100ep\u15ca\u15d6\u0100fp\u15cf\u15d4sym;\u6135\xe8\u15d3ha;\u43b1\u0100ap\u15dfc\u0100cl\u15e4\u15e7r;\u4101g;\u6a3f\u0264\u15f0\0\0\u160a\u0280;adsv\u15fa\u15fb\u15ff\u1601\u1607\u6227nd;\u6a55;\u6a5clope;\u6a58;\u6a5a\u0380;elmrsz\u1618\u1619\u161b\u161e\u163f\u164f\u1659\u6220;\u69a4e\xbb\u1619sd\u0100;a\u1625\u1626\u6221\u0461\u1630\u1632\u1634\u1636\u1638\u163a\u163c\u163e;\u69a8;\u69a9;\u69aa;\u69ab;\u69ac;\u69ad;\u69ae;\u69aft\u0100;v\u1645\u1646\u621fb\u0100;d\u164c\u164d\u62be;\u699d\u0100pt\u1654\u1657h;\u6222\xbb\xb9arr;\u637c\u0100gp\u1663\u1667on;\u4105f;\uc000\ud835\udd52\u0380;Eaeiop\u12c1\u167b\u167d\u1682\u1684\u1687\u168a;\u6a70cir;\u6a6f;\u624ad;\u624bs;\u4027rox\u0100;e\u12c1\u1692\xf1\u1683ing\u803b\xe5\u40e5\u0180cty\u16a1\u16a6\u16a8r;\uc000\ud835\udcb6;\u402amp\u0100;e\u12c1\u16af\xf1\u0288ilde\u803b\xe3\u40e3ml\u803b\xe4\u40e4\u0100ci\u16c2\u16c8onin\xf4\u0272nt;\u6a11\u0800Nabcdefiklnoprsu\u16ed\u16f1\u1730\u173c\u1743\u1748\u1778\u177d\u17e0\u17e6\u1839\u1850\u170d\u193d\u1948\u1970ot;\u6aed\u0100cr\u16f6\u171ek\u0200ceps\u1700\u1705\u170d\u1713ong;\u624cpsilon;\u43f6rime;\u6035im\u0100;e\u171a\u171b\u623dq;\u62cd\u0176\u1722\u1726ee;\u62bded\u0100;g\u172c\u172d\u6305e\xbb\u172drk\u0100;t\u135c\u1737brk;\u63b6\u0100oy\u1701\u1741;\u4431quo;\u601e\u0280cmprt\u1753\u175b\u1761\u1764\u1768aus\u0100;e\u010a\u0109ptyv;\u69b0s\xe9\u170cno\xf5\u0113\u0180ahw\u176f\u1771\u1773;\u43b2;\u6136een;\u626cr;\uc000\ud835\udd1fg\u0380costuvw\u178d\u179d\u17b3\u17c1\u17d5\u17db\u17de\u0180aiu\u1794\u1796\u179a\xf0\u0760rc;\u65efp\xbb\u1371\u0180dpt\u17a4\u17a8\u17adot;\u6a00lus;\u6a01imes;\u6a02\u0271\u17b9\0\0\u17becup;\u6a06ar;\u6605riangle\u0100du\u17cd\u17d2own;\u65bdp;\u65b3plus;\u6a04e\xe5\u1444\xe5\u14adarow;\u690d\u0180ako\u17ed\u1826\u1835\u0100cn\u17f2\u1823k\u0180lst\u17fa\u05ab\u1802ozenge;\u69ebriangle\u0200;dlr\u1812\u1813\u1818\u181d\u65b4own;\u65beeft;\u65c2ight;\u65b8k;\u6423\u01b1\u182b\0\u1833\u01b2\u182f\0\u1831;\u6592;\u65914;\u6593ck;\u6588\u0100eo\u183e\u184d\u0100;q\u1843\u1846\uc000=\u20e5uiv;\uc000\u2261\u20e5t;\u6310\u0200ptwx\u1859\u185e\u1867\u186cf;\uc000\ud835\udd53\u0100;t\u13cb\u1863om\xbb\u13cctie;\u62c8\u0600DHUVbdhmptuv\u1885\u1896\u18aa\u18bb\u18d7\u18db\u18ec\u18ff\u1905\u190a\u1910\u1921\u0200LRlr\u188e\u1890\u1892\u1894;\u6557;\u6554;\u6556;\u6553\u0280;DUdu\u18a1\u18a2\u18a4\u18a6\u18a8\u6550;\u6566;\u6569;\u6564;\u6567\u0200LRlr\u18b3\u18b5\u18b7\u18b9;\u655d;\u655a;\u655c;\u6559\u0380;HLRhlr\u18ca\u18cb\u18cd\u18cf\u18d1\u18d3\u18d5\u6551;\u656c;\u6563;\u6560;\u656b;\u6562;\u655fox;\u69c9\u0200LRlr\u18e4\u18e6\u18e8\u18ea;\u6555;\u6552;\u6510;\u650c\u0280;DUdu\u06bd\u18f7\u18f9\u18fb\u18fd;\u6565;\u6568;\u652c;\u6534inus;\u629flus;\u629eimes;\u62a0\u0200LRlr\u1919\u191b\u191d\u191f;\u655b;\u6558;\u6518;\u6514\u0380;HLRhlr\u1930\u1931\u1933\u1935\u1937\u1939\u193b\u6502;\u656a;\u6561;\u655e;\u653c;\u6524;\u651c\u0100ev\u0123\u1942bar\u803b\xa6\u40a6\u0200ceio\u1951\u1956\u195a\u1960r;\uc000\ud835\udcb7mi;\u604fm\u0100;e\u171a\u171cl\u0180;bh\u1968\u1969\u196b\u405c;\u69c5sub;\u67c8\u016c\u1974\u197el\u0100;e\u1979\u197a\u6022t\xbb\u197ap\u0180;Ee\u012f\u1985\u1987;\u6aae\u0100;q\u06dc\u06db\u0ce1\u19a7\0\u19e8\u1a11\u1a15\u1a32\0\u1a37\u1a50\0\0\u1ab4\0\0\u1ac1\0\0\u1b21\u1b2e\u1b4d\u1b52\0\u1bfd\0\u1c0c\u0180cpr\u19ad\u19b2\u19ddute;\u4107\u0300;abcds\u19bf\u19c0\u19c4\u19ca\u19d5\u19d9\u6229nd;\u6a44rcup;\u6a49\u0100au\u19cf\u19d2p;\u6a4bp;\u6a47ot;\u6a40;\uc000\u2229\ufe00\u0100eo\u19e2\u19e5t;\u6041\xee\u0693\u0200aeiu\u19f0\u19fb\u1a01\u1a05\u01f0\u19f5\0\u19f8s;\u6a4don;\u410ddil\u803b\xe7\u40e7rc;\u4109ps\u0100;s\u1a0c\u1a0d\u6a4cm;\u6a50ot;\u410b\u0180dmn\u1a1b\u1a20\u1a26il\u80bb\xb8\u01adptyv;\u69b2t\u8100\xa2;e\u1a2d\u1a2e\u40a2r\xe4\u01b2r;\uc000\ud835\udd20\u0180cei\u1a3d\u1a40\u1a4dy;\u4447ck\u0100;m\u1a47\u1a48\u6713ark\xbb\u1a48;\u43c7r\u0380;Ecefms\u1a5f\u1a60\u1a62\u1a6b\u1aa4\u1aaa\u1aae\u65cb;\u69c3\u0180;el\u1a69\u1a6a\u1a6d\u42c6q;\u6257e\u0261\u1a74\0\0\u1a88rrow\u0100lr\u1a7c\u1a81eft;\u61baight;\u61bb\u0280RSacd\u1a92\u1a94\u1a96\u1a9a\u1a9f\xbb\u0f47;\u64c8st;\u629birc;\u629aash;\u629dnint;\u6a10id;\u6aefcir;\u69c2ubs\u0100;u\u1abb\u1abc\u6663it\xbb\u1abc\u02ec\u1ac7\u1ad4\u1afa\0\u1b0aon\u0100;e\u1acd\u1ace\u403a\u0100;q\xc7\xc6\u026d\u1ad9\0\0\u1ae2a\u0100;t\u1ade\u1adf\u402c;\u4040\u0180;fl\u1ae8\u1ae9\u1aeb\u6201\xee\u1160e\u0100mx\u1af1\u1af6ent\xbb\u1ae9e\xf3\u024d\u01e7\u1afe\0\u1b07\u0100;d\u12bb\u1b02ot;\u6a6dn\xf4\u0246\u0180fry\u1b10\u1b14\u1b17;\uc000\ud835\udd54o\xe4\u0254\u8100\xa9;s\u0155\u1b1dr;\u6117\u0100ao\u1b25\u1b29rr;\u61b5ss;\u6717\u0100cu\u1b32\u1b37r;\uc000\ud835\udcb8\u0100bp\u1b3c\u1b44\u0100;e\u1b41\u1b42\u6acf;\u6ad1\u0100;e\u1b49\u1b4a\u6ad0;\u6ad2dot;\u62ef\u0380delprvw\u1b60\u1b6c\u1b77\u1b82\u1bac\u1bd4\u1bf9arr\u0100lr\u1b68\u1b6a;\u6938;\u6935\u0270\u1b72\0\0\u1b75r;\u62dec;\u62dfarr\u0100;p\u1b7f\u1b80\u61b6;\u693d\u0300;bcdos\u1b8f\u1b90\u1b96\u1ba1\u1ba5\u1ba8\u622arcap;\u6a48\u0100au\u1b9b\u1b9ep;\u6a46p;\u6a4aot;\u628dr;\u6a45;\uc000\u222a\ufe00\u0200alrv\u1bb5\u1bbf\u1bde\u1be3rr\u0100;m\u1bbc\u1bbd\u61b7;\u693cy\u0180evw\u1bc7\u1bd4\u1bd8q\u0270\u1bce\0\0\u1bd2re\xe3\u1b73u\xe3\u1b75ee;\u62ceedge;\u62cfen\u803b\xa4\u40a4earrow\u0100lr\u1bee\u1bf3eft\xbb\u1b80ight\xbb\u1bbde\xe4\u1bdd\u0100ci\u1c01\u1c07onin\xf4\u01f7nt;\u6231lcty;\u632d\u0980AHabcdefhijlorstuwz\u1c38\u1c3b\u1c3f\u1c5d\u1c69\u1c75\u1c8a\u1c9e\u1cac\u1cb7\u1cfb\u1cff\u1d0d\u1d7b\u1d91\u1dab\u1dbb\u1dc6\u1dcdr\xf2\u0381ar;\u6965\u0200glrs\u1c48\u1c4d\u1c52\u1c54ger;\u6020eth;\u6138\xf2\u1133h\u0100;v\u1c5a\u1c5b\u6010\xbb\u090a\u016b\u1c61\u1c67arow;\u690fa\xe3\u0315\u0100ay\u1c6e\u1c73ron;\u410f;\u4434\u0180;ao\u0332\u1c7c\u1c84\u0100gr\u02bf\u1c81r;\u61catseq;\u6a77\u0180glm\u1c91\u1c94\u1c98\u803b\xb0\u40b0ta;\u43b4ptyv;\u69b1\u0100ir\u1ca3\u1ca8sht;\u697f;\uc000\ud835\udd21ar\u0100lr\u1cb3\u1cb5\xbb\u08dc\xbb\u101e\u0280aegsv\u1cc2\u0378\u1cd6\u1cdc\u1ce0m\u0180;os\u0326\u1cca\u1cd4nd\u0100;s\u0326\u1cd1uit;\u6666amma;\u43ddin;\u62f2\u0180;io\u1ce7\u1ce8\u1cf8\u40f7de\u8100\xf7;o\u1ce7\u1cf0ntimes;\u62c7n\xf8\u1cf7cy;\u4452c\u026f\u1d06\0\0\u1d0arn;\u631eop;\u630d\u0280lptuw\u1d18\u1d1d\u1d22\u1d49\u1d55lar;\u4024f;\uc000\ud835\udd55\u0280;emps\u030b\u1d2d\u1d37\u1d3d\u1d42q\u0100;d\u0352\u1d33ot;\u6251inus;\u6238lus;\u6214quare;\u62a1blebarwedg\xe5\xfan\u0180adh\u112e\u1d5d\u1d67ownarrow\xf3\u1c83arpoon\u0100lr\u1d72\u1d76ef\xf4\u1cb4igh\xf4\u1cb6\u0162\u1d7f\u1d85karo\xf7\u0f42\u026f\u1d8a\0\0\u1d8ern;\u631fop;\u630c\u0180cot\u1d98\u1da3\u1da6\u0100ry\u1d9d\u1da1;\uc000\ud835\udcb9;\u4455l;\u69f6rok;\u4111\u0100dr\u1db0\u1db4ot;\u62f1i\u0100;f\u1dba\u1816\u65bf\u0100ah\u1dc0\u1dc3r\xf2\u0429a\xf2\u0fa6angle;\u69a6\u0100ci\u1dd2\u1dd5y;\u445fgrarr;\u67ff\u0900Dacdefglmnopqrstux\u1e01\u1e09\u1e19\u1e38\u0578\u1e3c\u1e49\u1e61\u1e7e\u1ea5\u1eaf\u1ebd\u1ee1\u1f2a\u1f37\u1f44\u1f4e\u1f5a\u0100Do\u1e06\u1d34o\xf4\u1c89\u0100cs\u1e0e\u1e14ute\u803b\xe9\u40e9ter;\u6a6e\u0200aioy\u1e22\u1e27\u1e31\u1e36ron;\u411br\u0100;c\u1e2d\u1e2e\u6256\u803b\xea\u40ealon;\u6255;\u444dot;\u4117\u0100Dr\u1e41\u1e45ot;\u6252;\uc000\ud835\udd22\u0180;rs\u1e50\u1e51\u1e57\u6a9aave\u803b\xe8\u40e8\u0100;d\u1e5c\u1e5d\u6a96ot;\u6a98\u0200;ils\u1e6a\u1e6b\u1e72\u1e74\u6a99nters;\u63e7;\u6113\u0100;d\u1e79\u1e7a\u6a95ot;\u6a97\u0180aps\u1e85\u1e89\u1e97cr;\u4113ty\u0180;sv\u1e92\u1e93\u1e95\u6205et\xbb\u1e93p\u01001;\u1e9d\u1ea4\u0133\u1ea1\u1ea3;\u6004;\u6005\u6003\u0100gs\u1eaa\u1eac;\u414bp;\u6002\u0100gp\u1eb4\u1eb8on;\u4119f;\uc000\ud835\udd56\u0180als\u1ec4\u1ece\u1ed2r\u0100;s\u1eca\u1ecb\u62d5l;\u69e3us;\u6a71i\u0180;lv\u1eda\u1edb\u1edf\u43b5on\xbb\u1edb;\u43f5\u0200csuv\u1eea\u1ef3\u1f0b\u1f23\u0100io\u1eef\u1e31rc\xbb\u1e2e\u0269\u1ef9\0\0\u1efb\xed\u0548ant\u0100gl\u1f02\u1f06tr\xbb\u1e5dess\xbb\u1e7a\u0180aei\u1f12\u1f16\u1f1als;\u403dst;\u625fv\u0100;D\u0235\u1f20D;\u6a78parsl;\u69e5\u0100Da\u1f2f\u1f33ot;\u6253rr;\u6971\u0180cdi\u1f3e\u1f41\u1ef8r;\u612fo\xf4\u0352\u0100ah\u1f49\u1f4b;\u43b7\u803b\xf0\u40f0\u0100mr\u1f53\u1f57l\u803b\xeb\u40ebo;\u60ac\u0180cip\u1f61\u1f64\u1f67l;\u4021s\xf4\u056e\u0100eo\u1f6c\u1f74ctatio\xee\u0559nential\xe5\u0579\u09e1\u1f92\0\u1f9e\0\u1fa1\u1fa7\0\0\u1fc6\u1fcc\0\u1fd3\0\u1fe6\u1fea\u2000\0\u2008\u205allingdotse\xf1\u1e44y;\u4444male;\u6640\u0180ilr\u1fad\u1fb3\u1fc1lig;\u8000\ufb03\u0269\u1fb9\0\0\u1fbdg;\u8000\ufb00ig;\u8000\ufb04;\uc000\ud835\udd23lig;\u8000\ufb01lig;\uc000fj\u0180alt\u1fd9\u1fdc\u1fe1t;\u666dig;\u8000\ufb02ns;\u65b1of;\u4192\u01f0\u1fee\0\u1ff3f;\uc000\ud835\udd57\u0100ak\u05bf\u1ff7\u0100;v\u1ffc\u1ffd\u62d4;\u6ad9artint;\u6a0d\u0100ao\u200c\u2055\u0100cs\u2011\u2052\u03b1\u201a\u2030\u2038\u2045\u2048\0\u2050\u03b2\u2022\u2025\u2027\u202a\u202c\0\u202e\u803b\xbd\u40bd;\u6153\u803b\xbc\u40bc;\u6155;\u6159;\u615b\u01b3\u2034\0\u2036;\u6154;\u6156\u02b4\u203e\u2041\0\0\u2043\u803b\xbe\u40be;\u6157;\u615c5;\u6158\u01b6\u204c\0\u204e;\u615a;\u615d8;\u615el;\u6044wn;\u6322cr;\uc000\ud835\udcbb\u0880Eabcdefgijlnorstv\u2082\u2089\u209f\u20a5\u20b0\u20b4\u20f0\u20f5\u20fa\u20ff\u2103\u2112\u2138\u0317\u213e\u2152\u219e\u0100;l\u064d\u2087;\u6a8c\u0180cmp\u2090\u2095\u209dute;\u41f5ma\u0100;d\u209c\u1cda\u43b3;\u6a86reve;\u411f\u0100iy\u20aa\u20aerc;\u411d;\u4433ot;\u4121\u0200;lqs\u063e\u0642\u20bd\u20c9\u0180;qs\u063e\u064c\u20c4lan\xf4\u0665\u0200;cdl\u0665\u20d2\u20d5\u20e5c;\u6aa9ot\u0100;o\u20dc\u20dd\u6a80\u0100;l\u20e2\u20e3\u6a82;\u6a84\u0100;e\u20ea\u20ed\uc000\u22db\ufe00s;\u6a94r;\uc000\ud835\udd24\u0100;g\u0673\u061bmel;\u6137cy;\u4453\u0200;Eaj\u065a\u210c\u210e\u2110;\u6a92;\u6aa5;\u6aa4\u0200Eaes\u211b\u211d\u2129\u2134;\u6269p\u0100;p\u2123\u2124\u6a8arox\xbb\u2124\u0100;q\u212e\u212f\u6a88\u0100;q\u212e\u211bim;\u62e7pf;\uc000\ud835\udd58\u0100ci\u2143\u2146r;\u610am\u0180;el\u066b\u214e\u2150;\u6a8e;\u6a90\u8300>;cdlqr\u05ee\u2160\u216a\u216e\u2173\u2179\u0100ci\u2165\u2167;\u6aa7r;\u6a7aot;\u62d7Par;\u6995uest;\u6a7c\u0280adels\u2184\u216a\u2190\u0656\u219b\u01f0\u2189\0\u218epro\xf8\u209er;\u6978q\u0100lq\u063f\u2196les\xf3\u2088i\xed\u066b\u0100en\u21a3\u21adrtneqq;\uc000\u2269\ufe00\xc5\u21aa\u0500Aabcefkosy\u21c4\u21c7\u21f1\u21f5\u21fa\u2218\u221d\u222f\u2268\u227dr\xf2\u03a0\u0200ilmr\u21d0\u21d4\u21d7\u21dbrs\xf0\u1484f\xbb\u2024il\xf4\u06a9\u0100dr\u21e0\u21e4cy;\u444a\u0180;cw\u08f4\u21eb\u21efir;\u6948;\u61adar;\u610firc;\u4125\u0180alr\u2201\u220e\u2213rts\u0100;u\u2209\u220a\u6665it\xbb\u220alip;\u6026con;\u62b9r;\uc000\ud835\udd25s\u0100ew\u2223\u2229arow;\u6925arow;\u6926\u0280amopr\u223a\u223e\u2243\u225e\u2263rr;\u61fftht;\u623bk\u0100lr\u2249\u2253eftarrow;\u61a9ightarrow;\u61aaf;\uc000\ud835\udd59bar;\u6015\u0180clt\u226f\u2274\u2278r;\uc000\ud835\udcbdas\xe8\u21f4rok;\u4127\u0100bp\u2282\u2287ull;\u6043hen\xbb\u1c5b\u0ae1\u22a3\0\u22aa\0\u22b8\u22c5\u22ce\0\u22d5\u22f3\0\0\u22f8\u2322\u2367\u2362\u237f\0\u2386\u23aa\u23b4cute\u803b\xed\u40ed\u0180;iy\u0771\u22b0\u22b5rc\u803b\xee\u40ee;\u4438\u0100cx\u22bc\u22bfy;\u4435cl\u803b\xa1\u40a1\u0100fr\u039f\u22c9;\uc000\ud835\udd26rave\u803b\xec\u40ec\u0200;ino\u073e\u22dd\u22e9\u22ee\u0100in\u22e2\u22e6nt;\u6a0ct;\u622dfin;\u69dcta;\u6129lig;\u4133\u0180aop\u22fe\u231a\u231d\u0180cgt\u2305\u2308\u2317r;\u412b\u0180elp\u071f\u230f\u2313in\xe5\u078ear\xf4\u0720h;\u4131f;\u62b7ed;\u41b5\u0280;cfot\u04f4\u232c\u2331\u233d\u2341are;\u6105in\u0100;t\u2338\u2339\u621eie;\u69dddo\xf4\u2319\u0280;celp\u0757\u234c\u2350\u235b\u2361al;\u62ba\u0100gr\u2355\u2359er\xf3\u1563\xe3\u234darhk;\u6a17rod;\u6a3c\u0200cgpt\u236f\u2372\u2376\u237by;\u4451on;\u412ff;\uc000\ud835\udd5aa;\u43b9uest\u803b\xbf\u40bf\u0100ci\u238a\u238fr;\uc000\ud835\udcben\u0280;Edsv\u04f4\u239b\u239d\u23a1\u04f3;\u62f9ot;\u62f5\u0100;v\u23a6\u23a7\u62f4;\u62f3\u0100;i\u0777\u23aelde;\u4129\u01eb\u23b8\0\u23bccy;\u4456l\u803b\xef\u40ef\u0300cfmosu\u23cc\u23d7\u23dc\u23e1\u23e7\u23f5\u0100iy\u23d1\u23d5rc;\u4135;\u4439r;\uc000\ud835\udd27ath;\u4237pf;\uc000\ud835\udd5b\u01e3\u23ec\0\u23f1r;\uc000\ud835\udcbfrcy;\u4458kcy;\u4454\u0400acfghjos\u240b\u2416\u2422\u2427\u242d\u2431\u2435\u243bppa\u0100;v\u2413\u2414\u43ba;\u43f0\u0100ey\u241b\u2420dil;\u4137;\u443ar;\uc000\ud835\udd28reen;\u4138cy;\u4445cy;\u445cpf;\uc000\ud835\udd5ccr;\uc000\ud835\udcc0\u0b80ABEHabcdefghjlmnoprstuv\u2470\u2481\u2486\u248d\u2491\u250e\u253d\u255a\u2580\u264e\u265e\u2665\u2679\u267d\u269a\u26b2\u26d8\u275d\u2768\u278b\u27c0\u2801\u2812\u0180art\u2477\u247a\u247cr\xf2\u09c6\xf2\u0395ail;\u691barr;\u690e\u0100;g\u0994\u248b;\u6a8bar;\u6962\u0963\u24a5\0\u24aa\0\u24b1\0\0\0\0\0\u24b5\u24ba\0\u24c6\u24c8\u24cd\0\u24f9ute;\u413amptyv;\u69b4ra\xee\u084cbda;\u43bbg\u0180;dl\u088e\u24c1\u24c3;\u6991\xe5\u088e;\u6a85uo\u803b\xab\u40abr\u0400;bfhlpst\u0899\u24de\u24e6\u24e9\u24eb\u24ee\u24f1\u24f5\u0100;f\u089d\u24e3s;\u691fs;\u691d\xeb\u2252p;\u61abl;\u6939im;\u6973l;\u61a2\u0180;ae\u24ff\u2500\u2504\u6aabil;\u6919\u0100;s\u2509\u250a\u6aad;\uc000\u2aad\ufe00\u0180abr\u2515\u2519\u251drr;\u690crk;\u6772\u0100ak\u2522\u252cc\u0100ek\u2528\u252a;\u407b;\u405b\u0100es\u2531\u2533;\u698bl\u0100du\u2539\u253b;\u698f;\u698d\u0200aeuy\u2546\u254b\u2556\u2558ron;\u413e\u0100di\u2550\u2554il;\u413c\xec\u08b0\xe2\u2529;\u443b\u0200cqrs\u2563\u2566\u256d\u257da;\u6936uo\u0100;r\u0e19\u1746\u0100du\u2572\u2577har;\u6967shar;\u694bh;\u61b2\u0280;fgqs\u258b\u258c\u0989\u25f3\u25ff\u6264t\u0280ahlrt\u2598\u25a4\u25b7\u25c2\u25e8rrow\u0100;t\u0899\u25a1a\xe9\u24f6arpoon\u0100du\u25af\u25b4own\xbb\u045ap\xbb\u0966eftarrows;\u61c7ight\u0180ahs\u25cd\u25d6\u25derrow\u0100;s\u08f4\u08a7arpoon\xf3\u0f98quigarro\xf7\u21f0hreetimes;\u62cb\u0180;qs\u258b\u0993\u25falan\xf4\u09ac\u0280;cdgs\u09ac\u260a\u260d\u261d\u2628c;\u6aa8ot\u0100;o\u2614\u2615\u6a7f\u0100;r\u261a\u261b\u6a81;\u6a83\u0100;e\u2622\u2625\uc000\u22da\ufe00s;\u6a93\u0280adegs\u2633\u2639\u263d\u2649\u264bppro\xf8\u24c6ot;\u62d6q\u0100gq\u2643\u2645\xf4\u0989gt\xf2\u248c\xf4\u099bi\xed\u09b2\u0180ilr\u2655\u08e1\u265asht;\u697c;\uc000\ud835\udd29\u0100;E\u099c\u2663;\u6a91\u0161\u2669\u2676r\u0100du\u25b2\u266e\u0100;l\u0965\u2673;\u696alk;\u6584cy;\u4459\u0280;acht\u0a48\u2688\u268b\u2691\u2696r\xf2\u25c1orne\xf2\u1d08ard;\u696bri;\u65fa\u0100io\u269f\u26a4dot;\u4140ust\u0100;a\u26ac\u26ad\u63b0che\xbb\u26ad\u0200Eaes\u26bb\u26bd\u26c9\u26d4;\u6268p\u0100;p\u26c3\u26c4\u6a89rox\xbb\u26c4\u0100;q\u26ce\u26cf\u6a87\u0100;q\u26ce\u26bbim;\u62e6\u0400abnoptwz\u26e9\u26f4\u26f7\u271a\u272f\u2741\u2747\u2750\u0100nr\u26ee\u26f1g;\u67ecr;\u61fdr\xeb\u08c1g\u0180lmr\u26ff\u270d\u2714eft\u0100ar\u09e6\u2707ight\xe1\u09f2apsto;\u67fcight\xe1\u09fdparrow\u0100lr\u2725\u2729ef\xf4\u24edight;\u61ac\u0180afl\u2736\u2739\u273dr;\u6985;\uc000\ud835\udd5dus;\u6a2dimes;\u6a34\u0161\u274b\u274fst;\u6217\xe1\u134e\u0180;ef\u2757\u2758\u1800\u65cange\xbb\u2758ar\u0100;l\u2764\u2765\u4028t;\u6993\u0280achmt\u2773\u2776\u277c\u2785\u2787r\xf2\u08a8orne\xf2\u1d8car\u0100;d\u0f98\u2783;\u696d;\u600eri;\u62bf\u0300achiqt\u2798\u279d\u0a40\u27a2\u27ae\u27bbquo;\u6039r;\uc000\ud835\udcc1m\u0180;eg\u09b2\u27aa\u27ac;\u6a8d;\u6a8f\u0100bu\u252a\u27b3o\u0100;r\u0e1f\u27b9;\u601arok;\u4142\u8400<;cdhilqr\u082b\u27d2\u2639\u27dc\u27e0\u27e5\u27ea\u27f0\u0100ci\u27d7\u27d9;\u6aa6r;\u6a79re\xe5\u25f2mes;\u62c9arr;\u6976uest;\u6a7b\u0100Pi\u27f5\u27f9ar;\u6996\u0180;ef\u2800\u092d\u181b\u65c3r\u0100du\u2807\u280dshar;\u694ahar;\u6966\u0100en\u2817\u2821rtneqq;\uc000\u2268\ufe00\xc5\u281e\u0700Dacdefhilnopsu\u2840\u2845\u2882\u288e\u2893\u28a0\u28a5\u28a8\u28da\u28e2\u28e4\u0a83\u28f3\u2902Dot;\u623a\u0200clpr\u284e\u2852\u2863\u287dr\u803b\xaf\u40af\u0100et\u2857\u2859;\u6642\u0100;e\u285e\u285f\u6720se\xbb\u285f\u0100;s\u103b\u2868to\u0200;dlu\u103b\u2873\u2877\u287bow\xee\u048cef\xf4\u090f\xf0\u13d1ker;\u65ae\u0100oy\u2887\u288cmma;\u6a29;\u443cash;\u6014asuredangle\xbb\u1626r;\uc000\ud835\udd2ao;\u6127\u0180cdn\u28af\u28b4\u28c9ro\u803b\xb5\u40b5\u0200;acd\u1464\u28bd\u28c0\u28c4s\xf4\u16a7ir;\u6af0ot\u80bb\xb7\u01b5us\u0180;bd\u28d2\u1903\u28d3\u6212\u0100;u\u1d3c\u28d8;\u6a2a\u0163\u28de\u28e1p;\u6adb\xf2\u2212\xf0\u0a81\u0100dp\u28e9\u28eeels;\u62a7f;\uc000\ud835\udd5e\u0100ct\u28f8\u28fdr;\uc000\ud835\udcc2pos\xbb\u159d\u0180;lm\u2909\u290a\u290d\u43bctimap;\u62b8\u0c00GLRVabcdefghijlmoprstuvw\u2942\u2953\u297e\u2989\u2998\u29da\u29e9\u2a15\u2a1a\u2a58\u2a5d\u2a83\u2a95\u2aa4\u2aa8\u2b04\u2b07\u2b44\u2b7f\u2bae\u2c34\u2c67\u2c7c\u2ce9\u0100gt\u2947\u294b;\uc000\u22d9\u0338\u0100;v\u2950\u0bcf\uc000\u226b\u20d2\u0180elt\u295a\u2972\u2976ft\u0100ar\u2961\u2967rrow;\u61cdightarrow;\u61ce;\uc000\u22d8\u0338\u0100;v\u297b\u0c47\uc000\u226a\u20d2ightarrow;\u61cf\u0100Dd\u298e\u2993ash;\u62afash;\u62ae\u0280bcnpt\u29a3\u29a7\u29ac\u29b1\u29ccla\xbb\u02deute;\u4144g;\uc000\u2220\u20d2\u0280;Eiop\u0d84\u29bc\u29c0\u29c5\u29c8;\uc000\u2a70\u0338d;\uc000\u224b\u0338s;\u4149ro\xf8\u0d84ur\u0100;a\u29d3\u29d4\u666el\u0100;s\u29d3\u0b38\u01f3\u29df\0\u29e3p\u80bb\xa0\u0b37mp\u0100;e\u0bf9\u0c00\u0280aeouy\u29f4\u29fe\u2a03\u2a10\u2a13\u01f0\u29f9\0\u29fb;\u6a43on;\u4148dil;\u4146ng\u0100;d\u0d7e\u2a0aot;\uc000\u2a6d\u0338p;\u6a42;\u443dash;\u6013\u0380;Aadqsx\u0b92\u2a29\u2a2d\u2a3b\u2a41\u2a45\u2a50rr;\u61d7r\u0100hr\u2a33\u2a36k;\u6924\u0100;o\u13f2\u13f0ot;\uc000\u2250\u0338ui\xf6\u0b63\u0100ei\u2a4a\u2a4ear;\u6928\xed\u0b98ist\u0100;s\u0ba0\u0b9fr;\uc000\ud835\udd2b\u0200Eest\u0bc5\u2a66\u2a79\u2a7c\u0180;qs\u0bbc\u2a6d\u0be1\u0180;qs\u0bbc\u0bc5\u2a74lan\xf4\u0be2i\xed\u0bea\u0100;r\u0bb6\u2a81\xbb\u0bb7\u0180Aap\u2a8a\u2a8d\u2a91r\xf2\u2971rr;\u61aear;\u6af2\u0180;sv\u0f8d\u2a9c\u0f8c\u0100;d\u2aa1\u2aa2\u62fc;\u62facy;\u445a\u0380AEadest\u2ab7\u2aba\u2abe\u2ac2\u2ac5\u2af6\u2af9r\xf2\u2966;\uc000\u2266\u0338rr;\u619ar;\u6025\u0200;fqs\u0c3b\u2ace\u2ae3\u2aeft\u0100ar\u2ad4\u2ad9rro\xf7\u2ac1ightarro\xf7\u2a90\u0180;qs\u0c3b\u2aba\u2aealan\xf4\u0c55\u0100;s\u0c55\u2af4\xbb\u0c36i\xed\u0c5d\u0100;r\u0c35\u2afei\u0100;e\u0c1a\u0c25i\xe4\u0d90\u0100pt\u2b0c\u2b11f;\uc000\ud835\udd5f\u8180\xac;in\u2b19\u2b1a\u2b36\u40acn\u0200;Edv\u0b89\u2b24\u2b28\u2b2e;\uc000\u22f9\u0338ot;\uc000\u22f5\u0338\u01e1\u0b89\u2b33\u2b35;\u62f7;\u62f6i\u0100;v\u0cb8\u2b3c\u01e1\u0cb8\u2b41\u2b43;\u62fe;\u62fd\u0180aor\u2b4b\u2b63\u2b69r\u0200;ast\u0b7b\u2b55\u2b5a\u2b5flle\xec\u0b7bl;\uc000\u2afd\u20e5;\uc000\u2202\u0338lint;\u6a14\u0180;ce\u0c92\u2b70\u2b73u\xe5\u0ca5\u0100;c\u0c98\u2b78\u0100;e\u0c92\u2b7d\xf1\u0c98\u0200Aait\u2b88\u2b8b\u2b9d\u2ba7r\xf2\u2988rr\u0180;cw\u2b94\u2b95\u2b99\u619b;\uc000\u2933\u0338;\uc000\u219d\u0338ghtarrow\xbb\u2b95ri\u0100;e\u0ccb\u0cd6\u0380chimpqu\u2bbd\u2bcd\u2bd9\u2b04\u0b78\u2be4\u2bef\u0200;cer\u0d32\u2bc6\u0d37\u2bc9u\xe5\u0d45;\uc000\ud835\udcc3ort\u026d\u2b05\0\0\u2bd6ar\xe1\u2b56m\u0100;e\u0d6e\u2bdf\u0100;q\u0d74\u0d73su\u0100bp\u2beb\u2bed\xe5\u0cf8\xe5\u0d0b\u0180bcp\u2bf6\u2c11\u2c19\u0200;Ees\u2bff\u2c00\u0d22\u2c04\u6284;\uc000\u2ac5\u0338et\u0100;e\u0d1b\u2c0bq\u0100;q\u0d23\u2c00c\u0100;e\u0d32\u2c17\xf1\u0d38\u0200;Ees\u2c22\u2c23\u0d5f\u2c27\u6285;\uc000\u2ac6\u0338et\u0100;e\u0d58\u2c2eq\u0100;q\u0d60\u2c23\u0200gilr\u2c3d\u2c3f\u2c45\u2c47\xec\u0bd7lde\u803b\xf1\u40f1\xe7\u0c43iangle\u0100lr\u2c52\u2c5ceft\u0100;e\u0c1a\u2c5a\xf1\u0c26ight\u0100;e\u0ccb\u2c65\xf1\u0cd7\u0100;m\u2c6c\u2c6d\u43bd\u0180;es\u2c74\u2c75\u2c79\u4023ro;\u6116p;\u6007\u0480DHadgilrs\u2c8f\u2c94\u2c99\u2c9e\u2ca3\u2cb0\u2cb6\u2cd3\u2ce3ash;\u62adarr;\u6904p;\uc000\u224d\u20d2ash;\u62ac\u0100et\u2ca8\u2cac;\uc000\u2265\u20d2;\uc000>\u20d2nfin;\u69de\u0180Aet\u2cbd\u2cc1\u2cc5rr;\u6902;\uc000\u2264\u20d2\u0100;r\u2cca\u2ccd\uc000<\u20d2ie;\uc000\u22b4\u20d2\u0100At\u2cd8\u2cdcrr;\u6903rie;\uc000\u22b5\u20d2im;\uc000\u223c\u20d2\u0180Aan\u2cf0\u2cf4\u2d02rr;\u61d6r\u0100hr\u2cfa\u2cfdk;\u6923\u0100;o\u13e7\u13e5ear;\u6927\u1253\u1a95\0\0\0\0\0\0\0\0\0\0\0\0\0\u2d2d\0\u2d38\u2d48\u2d60\u2d65\u2d72\u2d84\u1b07\0\0\u2d8d\u2dab\0\u2dc8\u2dce\0\u2ddc\u2e19\u2e2b\u2e3e\u2e43\u0100cs\u2d31\u1a97ute\u803b\xf3\u40f3\u0100iy\u2d3c\u2d45r\u0100;c\u1a9e\u2d42\u803b\xf4\u40f4;\u443e\u0280abios\u1aa0\u2d52\u2d57\u01c8\u2d5alac;\u4151v;\u6a38old;\u69bclig;\u4153\u0100cr\u2d69\u2d6dir;\u69bf;\uc000\ud835\udd2c\u036f\u2d79\0\0\u2d7c\0\u2d82n;\u42dbave\u803b\xf2\u40f2;\u69c1\u0100bm\u2d88\u0df4ar;\u69b5\u0200acit\u2d95\u2d98\u2da5\u2da8r\xf2\u1a80\u0100ir\u2d9d\u2da0r;\u69beoss;\u69bbn\xe5\u0e52;\u69c0\u0180aei\u2db1\u2db5\u2db9cr;\u414dga;\u43c9\u0180cdn\u2dc0\u2dc5\u01cdron;\u43bf;\u69b6pf;\uc000\ud835\udd60\u0180ael\u2dd4\u2dd7\u01d2r;\u69b7rp;\u69b9\u0380;adiosv\u2dea\u2deb\u2dee\u2e08\u2e0d\u2e10\u2e16\u6228r\xf2\u1a86\u0200;efm\u2df7\u2df8\u2e02\u2e05\u6a5dr\u0100;o\u2dfe\u2dff\u6134f\xbb\u2dff\u803b\xaa\u40aa\u803b\xba\u40bagof;\u62b6r;\u6a56lope;\u6a57;\u6a5b\u0180clo\u2e1f\u2e21\u2e27\xf2\u2e01ash\u803b\xf8\u40f8l;\u6298i\u016c\u2e2f\u2e34de\u803b\xf5\u40f5es\u0100;a\u01db\u2e3as;\u6a36ml\u803b\xf6\u40f6bar;\u633d\u0ae1\u2e5e\0\u2e7d\0\u2e80\u2e9d\0\u2ea2\u2eb9\0\0\u2ecb\u0e9c\0\u2f13\0\0\u2f2b\u2fbc\0\u2fc8r\u0200;ast\u0403\u2e67\u2e72\u0e85\u8100\xb6;l\u2e6d\u2e6e\u40b6le\xec\u0403\u0269\u2e78\0\0\u2e7bm;\u6af3;\u6afdy;\u443fr\u0280cimpt\u2e8b\u2e8f\u2e93\u1865\u2e97nt;\u4025od;\u402eil;\u6030enk;\u6031r;\uc000\ud835\udd2d\u0180imo\u2ea8\u2eb0\u2eb4\u0100;v\u2ead\u2eae\u43c6;\u43d5ma\xf4\u0a76ne;\u660e\u0180;tv\u2ebf\u2ec0\u2ec8\u43c0chfork\xbb\u1ffd;\u43d6\u0100au\u2ecf\u2edfn\u0100ck\u2ed5\u2eddk\u0100;h\u21f4\u2edb;\u610e\xf6\u21f4s\u0480;abcdemst\u2ef3\u2ef4\u1908\u2ef9\u2efd\u2f04\u2f06\u2f0a\u2f0e\u402bcir;\u6a23ir;\u6a22\u0100ou\u1d40\u2f02;\u6a25;\u6a72n\u80bb\xb1\u0e9dim;\u6a26wo;\u6a27\u0180ipu\u2f19\u2f20\u2f25ntint;\u6a15f;\uc000\ud835\udd61nd\u803b\xa3\u40a3\u0500;Eaceinosu\u0ec8\u2f3f\u2f41\u2f44\u2f47\u2f81\u2f89\u2f92\u2f7e\u2fb6;\u6ab3p;\u6ab7u\xe5\u0ed9\u0100;c\u0ece\u2f4c\u0300;acens\u0ec8\u2f59\u2f5f\u2f66\u2f68\u2f7eppro\xf8\u2f43urlye\xf1\u0ed9\xf1\u0ece\u0180aes\u2f6f\u2f76\u2f7approx;\u6ab9qq;\u6ab5im;\u62e8i\xed\u0edfme\u0100;s\u2f88\u0eae\u6032\u0180Eas\u2f78\u2f90\u2f7a\xf0\u2f75\u0180dfp\u0eec\u2f99\u2faf\u0180als\u2fa0\u2fa5\u2faalar;\u632eine;\u6312urf;\u6313\u0100;t\u0efb\u2fb4\xef\u0efbrel;\u62b0\u0100ci\u2fc0\u2fc5r;\uc000\ud835\udcc5;\u43c8ncsp;\u6008\u0300fiopsu\u2fda\u22e2\u2fdf\u2fe5\u2feb\u2ff1r;\uc000\ud835\udd2epf;\uc000\ud835\udd62rime;\u6057cr;\uc000\ud835\udcc6\u0180aeo\u2ff8\u3009\u3013t\u0100ei\u2ffe\u3005rnion\xf3\u06b0nt;\u6a16st\u0100;e\u3010\u3011\u403f\xf1\u1f19\xf4\u0f14\u0a80ABHabcdefhilmnoprstux\u3040\u3051\u3055\u3059\u30e0\u310e\u312b\u3147\u3162\u3172\u318e\u3206\u3215\u3224\u3229\u3258\u326e\u3272\u3290\u32b0\u32b7\u0180art\u3047\u304a\u304cr\xf2\u10b3\xf2\u03ddail;\u691car\xf2\u1c65ar;\u6964\u0380cdenqrt\u3068\u3075\u3078\u307f\u308f\u3094\u30cc\u0100eu\u306d\u3071;\uc000\u223d\u0331te;\u4155i\xe3\u116emptyv;\u69b3g\u0200;del\u0fd1\u3089\u308b\u308d;\u6992;\u69a5\xe5\u0fd1uo\u803b\xbb\u40bbr\u0580;abcfhlpstw\u0fdc\u30ac\u30af\u30b7\u30b9\u30bc\u30be\u30c0\u30c3\u30c7\u30cap;\u6975\u0100;f\u0fe0\u30b4s;\u6920;\u6933s;\u691e\xeb\u225d\xf0\u272el;\u6945im;\u6974l;\u61a3;\u619d\u0100ai\u30d1\u30d5il;\u691ao\u0100;n\u30db\u30dc\u6236al\xf3\u0f1e\u0180abr\u30e7\u30ea\u30eer\xf2\u17e5rk;\u6773\u0100ak\u30f3\u30fdc\u0100ek\u30f9\u30fb;\u407d;\u405d\u0100es\u3102\u3104;\u698cl\u0100du\u310a\u310c;\u698e;\u6990\u0200aeuy\u3117\u311c\u3127\u3129ron;\u4159\u0100di\u3121\u3125il;\u4157\xec\u0ff2\xe2\u30fa;\u4440\u0200clqs\u3134\u3137\u313d\u3144a;\u6937dhar;\u6969uo\u0100;r\u020e\u020dh;\u61b3\u0180acg\u314e\u315f\u0f44l\u0200;ips\u0f78\u3158\u315b\u109cn\xe5\u10bbar\xf4\u0fa9t;\u65ad\u0180ilr\u3169\u1023\u316esht;\u697d;\uc000\ud835\udd2f\u0100ao\u3177\u3186r\u0100du\u317d\u317f\xbb\u047b\u0100;l\u1091\u3184;\u696c\u0100;v\u318b\u318c\u43c1;\u43f1\u0180gns\u3195\u31f9\u31fcht\u0300ahlrst\u31a4\u31b0\u31c2\u31d8\u31e4\u31eerrow\u0100;t\u0fdc\u31ada\xe9\u30c8arpoon\u0100du\u31bb\u31bfow\xee\u317ep\xbb\u1092eft\u0100ah\u31ca\u31d0rrow\xf3\u0feaarpoon\xf3\u0551ightarrows;\u61c9quigarro\xf7\u30cbhreetimes;\u62ccg;\u42daingdotse\xf1\u1f32\u0180ahm\u320d\u3210\u3213r\xf2\u0feaa\xf2\u0551;\u600foust\u0100;a\u321e\u321f\u63b1che\xbb\u321fmid;\u6aee\u0200abpt\u3232\u323d\u3240\u3252\u0100nr\u3237\u323ag;\u67edr;\u61fer\xeb\u1003\u0180afl\u3247\u324a\u324er;\u6986;\uc000\ud835\udd63us;\u6a2eimes;\u6a35\u0100ap\u325d\u3267r\u0100;g\u3263\u3264\u4029t;\u6994olint;\u6a12ar\xf2\u31e3\u0200achq\u327b\u3280\u10bc\u3285quo;\u603ar;\uc000\ud835\udcc7\u0100bu\u30fb\u328ao\u0100;r\u0214\u0213\u0180hir\u3297\u329b\u32a0re\xe5\u31f8mes;\u62cai\u0200;efl\u32aa\u1059\u1821\u32ab\u65b9tri;\u69celuhar;\u6968;\u611e\u0d61\u32d5\u32db\u32df\u332c\u3338\u3371\0\u337a\u33a4\0\0\u33ec\u33f0\0\u3428\u3448\u345a\u34ad\u34b1\u34ca\u34f1\0\u3616\0\0\u3633cute;\u415bqu\xef\u27ba\u0500;Eaceinpsy\u11ed\u32f3\u32f5\u32ff\u3302\u330b\u330f\u331f\u3326\u3329;\u6ab4\u01f0\u32fa\0\u32fc;\u6ab8on;\u4161u\xe5\u11fe\u0100;d\u11f3\u3307il;\u415frc;\u415d\u0180Eas\u3316\u3318\u331b;\u6ab6p;\u6abaim;\u62e9olint;\u6a13i\xed\u1204;\u4441ot\u0180;be\u3334\u1d47\u3335\u62c5;\u6a66\u0380Aacmstx\u3346\u334a\u3357\u335b\u335e\u3363\u336drr;\u61d8r\u0100hr\u3350\u3352\xeb\u2228\u0100;o\u0a36\u0a34t\u803b\xa7\u40a7i;\u403bwar;\u6929m\u0100in\u3369\xf0nu\xf3\xf1t;\u6736r\u0100;o\u3376\u2055\uc000\ud835\udd30\u0200acoy\u3382\u3386\u3391\u33a0rp;\u666f\u0100hy\u338b\u338fcy;\u4449;\u4448rt\u026d\u3399\0\0\u339ci\xe4\u1464ara\xec\u2e6f\u803b\xad\u40ad\u0100gm\u33a8\u33b4ma\u0180;fv\u33b1\u33b2\u33b2\u43c3;\u43c2\u0400;deglnpr\u12ab\u33c5\u33c9\u33ce\u33d6\u33de\u33e1\u33e6ot;\u6a6a\u0100;q\u12b1\u12b0\u0100;E\u33d3\u33d4\u6a9e;\u6aa0\u0100;E\u33db\u33dc\u6a9d;\u6a9fe;\u6246lus;\u6a24arr;\u6972ar\xf2\u113d\u0200aeit\u33f8\u3408\u340f\u3417\u0100ls\u33fd\u3404lsetm\xe9\u336ahp;\u6a33parsl;\u69e4\u0100dl\u1463\u3414e;\u6323\u0100;e\u341c\u341d\u6aaa\u0100;s\u3422\u3423\u6aac;\uc000\u2aac\ufe00\u0180flp\u342e\u3433\u3442tcy;\u444c\u0100;b\u3438\u3439\u402f\u0100;a\u343e\u343f\u69c4r;\u633ff;\uc000\ud835\udd64a\u0100dr\u344d\u0402es\u0100;u\u3454\u3455\u6660it\xbb\u3455\u0180csu\u3460\u3479\u349f\u0100au\u3465\u346fp\u0100;s\u1188\u346b;\uc000\u2293\ufe00p\u0100;s\u11b4\u3475;\uc000\u2294\ufe00u\u0100bp\u347f\u348f\u0180;es\u1197\u119c\u3486et\u0100;e\u1197\u348d\xf1\u119d\u0180;es\u11a8\u11ad\u3496et\u0100;e\u11a8\u349d\xf1\u11ae\u0180;af\u117b\u34a6\u05b0r\u0165\u34ab\u05b1\xbb\u117car\xf2\u1148\u0200cemt\u34b9\u34be\u34c2\u34c5r;\uc000\ud835\udcc8tm\xee\xf1i\xec\u3415ar\xe6\u11be\u0100ar\u34ce\u34d5r\u0100;f\u34d4\u17bf\u6606\u0100an\u34da\u34edight\u0100ep\u34e3\u34eapsilo\xee\u1ee0h\xe9\u2eafs\xbb\u2852\u0280bcmnp\u34fb\u355e\u1209\u358b\u358e\u0480;Edemnprs\u350e\u350f\u3511\u3515\u351e\u3523\u352c\u3531\u3536\u6282;\u6ac5ot;\u6abd\u0100;d\u11da\u351aot;\u6ac3ult;\u6ac1\u0100Ee\u3528\u352a;\u6acb;\u628alus;\u6abfarr;\u6979\u0180eiu\u353d\u3552\u3555t\u0180;en\u350e\u3545\u354bq\u0100;q\u11da\u350feq\u0100;q\u352b\u3528m;\u6ac7\u0100bp\u355a\u355c;\u6ad5;\u6ad3c\u0300;acens\u11ed\u356c\u3572\u3579\u357b\u3326ppro\xf8\u32faurlye\xf1\u11fe\xf1\u11f3\u0180aes\u3582\u3588\u331bppro\xf8\u331aq\xf1\u3317g;\u666a\u0680123;Edehlmnps\u35a9\u35ac\u35af\u121c\u35b2\u35b4\u35c0\u35c9\u35d5\u35da\u35df\u35e8\u35ed\u803b\xb9\u40b9\u803b\xb2\u40b2\u803b\xb3\u40b3;\u6ac6\u0100os\u35b9\u35bct;\u6abeub;\u6ad8\u0100;d\u1222\u35c5ot;\u6ac4s\u0100ou\u35cf\u35d2l;\u67c9b;\u6ad7arr;\u697bult;\u6ac2\u0100Ee\u35e4\u35e6;\u6acc;\u628blus;\u6ac0\u0180eiu\u35f4\u3609\u360ct\u0180;en\u121c\u35fc\u3602q\u0100;q\u1222\u35b2eq\u0100;q\u35e7\u35e4m;\u6ac8\u0100bp\u3611\u3613;\u6ad4;\u6ad6\u0180Aan\u361c\u3620\u362drr;\u61d9r\u0100hr\u3626\u3628\xeb\u222e\u0100;o\u0a2b\u0a29war;\u692alig\u803b\xdf\u40df\u0be1\u3651\u365d\u3660\u12ce\u3673\u3679\0\u367e\u36c2\0\0\0\0\0\u36db\u3703\0\u3709\u376c\0\0\0\u3787\u0272\u3656\0\0\u365bget;\u6316;\u43c4r\xeb\u0e5f\u0180aey\u3666\u366b\u3670ron;\u4165dil;\u4163;\u4442lrec;\u6315r;\uc000\ud835\udd31\u0200eiko\u3686\u369d\u36b5\u36bc\u01f2\u368b\0\u3691e\u01004f\u1284\u1281a\u0180;sv\u3698\u3699\u369b\u43b8ym;\u43d1\u0100cn\u36a2\u36b2k\u0100as\u36a8\u36aeppro\xf8\u12c1im\xbb\u12acs\xf0\u129e\u0100as\u36ba\u36ae\xf0\u12c1rn\u803b\xfe\u40fe\u01ec\u031f\u36c6\u22e7es\u8180\xd7;bd\u36cf\u36d0\u36d8\u40d7\u0100;a\u190f\u36d5r;\u6a31;\u6a30\u0180eps\u36e1\u36e3\u3700\xe1\u2a4d\u0200;bcf\u0486\u36ec\u36f0\u36f4ot;\u6336ir;\u6af1\u0100;o\u36f9\u36fc\uc000\ud835\udd65rk;\u6ada\xe1\u3362rime;\u6034\u0180aip\u370f\u3712\u3764d\xe5\u1248\u0380adempst\u3721\u374d\u3740\u3751\u3757\u375c\u375fngle\u0280;dlqr\u3730\u3731\u3736\u3740\u3742\u65b5own\xbb\u1dbbeft\u0100;e\u2800\u373e\xf1\u092e;\u625cight\u0100;e\u32aa\u374b\xf1\u105aot;\u65ecinus;\u6a3alus;\u6a39b;\u69cdime;\u6a3bezium;\u63e2\u0180cht\u3772\u377d\u3781\u0100ry\u3777\u377b;\uc000\ud835\udcc9;\u4446cy;\u445brok;\u4167\u0100io\u378b\u378ex\xf4\u1777head\u0100lr\u3797\u37a0eftarro\xf7\u084fightarrow\xbb\u0f5d\u0900AHabcdfghlmoprstuw\u37d0\u37d3\u37d7\u37e4\u37f0\u37fc\u380e\u381c\u3823\u3834\u3851\u385d\u386b\u38a9\u38cc\u38d2\u38ea\u38f6r\xf2\u03edar;\u6963\u0100cr\u37dc\u37e2ute\u803b\xfa\u40fa\xf2\u1150r\u01e3\u37ea\0\u37edy;\u445eve;\u416d\u0100iy\u37f5\u37farc\u803b\xfb\u40fb;\u4443\u0180abh\u3803\u3806\u380br\xf2\u13adlac;\u4171a\xf2\u13c3\u0100ir\u3813\u3818sht;\u697e;\uc000\ud835\udd32rave\u803b\xf9\u40f9\u0161\u3827\u3831r\u0100lr\u382c\u382e\xbb\u0957\xbb\u1083lk;\u6580\u0100ct\u3839\u384d\u026f\u383f\0\0\u384arn\u0100;e\u3845\u3846\u631cr\xbb\u3846op;\u630fri;\u65f8\u0100al\u3856\u385acr;\u416b\u80bb\xa8\u0349\u0100gp\u3862\u3866on;\u4173f;\uc000\ud835\udd66\u0300adhlsu\u114b\u3878\u387d\u1372\u3891\u38a0own\xe1\u13b3arpoon\u0100lr\u3888\u388cef\xf4\u382digh\xf4\u382fi\u0180;hl\u3899\u389a\u389c\u43c5\xbb\u13faon\xbb\u389aparrows;\u61c8\u0180cit\u38b0\u38c4\u38c8\u026f\u38b6\0\0\u38c1rn\u0100;e\u38bc\u38bd\u631dr\xbb\u38bdop;\u630eng;\u416fri;\u65f9cr;\uc000\ud835\udcca\u0180dir\u38d9\u38dd\u38e2ot;\u62f0lde;\u4169i\u0100;f\u3730\u38e8\xbb\u1813\u0100am\u38ef\u38f2r\xf2\u38a8l\u803b\xfc\u40fcangle;\u69a7\u0780ABDacdeflnoprsz\u391c\u391f\u3929\u392d\u39b5\u39b8\u39bd\u39df\u39e4\u39e8\u39f3\u39f9\u39fd\u3a01\u3a20r\xf2\u03f7ar\u0100;v\u3926\u3927\u6ae8;\u6ae9as\xe8\u03e1\u0100nr\u3932\u3937grt;\u699c\u0380eknprst\u34e3\u3946\u394b\u3952\u395d\u3964\u3996app\xe1\u2415othin\xe7\u1e96\u0180hir\u34eb\u2ec8\u3959op\xf4\u2fb5\u0100;h\u13b7\u3962\xef\u318d\u0100iu\u3969\u396dgm\xe1\u33b3\u0100bp\u3972\u3984setneq\u0100;q\u397d\u3980\uc000\u228a\ufe00;\uc000\u2acb\ufe00setneq\u0100;q\u398f\u3992\uc000\u228b\ufe00;\uc000\u2acc\ufe00\u0100hr\u399b\u399fet\xe1\u369ciangle\u0100lr\u39aa\u39afeft\xbb\u0925ight\xbb\u1051y;\u4432ash\xbb\u1036\u0180elr\u39c4\u39d2\u39d7\u0180;be\u2dea\u39cb\u39cfar;\u62bbq;\u625alip;\u62ee\u0100bt\u39dc\u1468a\xf2\u1469r;\uc000\ud835\udd33tr\xe9\u39aesu\u0100bp\u39ef\u39f1\xbb\u0d1c\xbb\u0d59pf;\uc000\ud835\udd67ro\xf0\u0efbtr\xe9\u39b4\u0100cu\u3a06\u3a0br;\uc000\ud835\udccb\u0100bp\u3a10\u3a18n\u0100Ee\u3980\u3a16\xbb\u397en\u0100Ee\u3992\u3a1e\xbb\u3990igzag;\u699a\u0380cefoprs\u3a36\u3a3b\u3a56\u3a5b\u3a54\u3a61\u3a6airc;\u4175\u0100di\u3a40\u3a51\u0100bg\u3a45\u3a49ar;\u6a5fe\u0100;q\u15fa\u3a4f;\u6259erp;\u6118r;\uc000\ud835\udd34pf;\uc000\ud835\udd68\u0100;e\u1479\u3a66at\xe8\u1479cr;\uc000\ud835\udccc\u0ae3\u178e\u3a87\0\u3a8b\0\u3a90\u3a9b\0\0\u3a9d\u3aa8\u3aab\u3aaf\0\0\u3ac3\u3ace\0\u3ad8\u17dc\u17dftr\xe9\u17d1r;\uc000\ud835\udd35\u0100Aa\u3a94\u3a97r\xf2\u03c3r\xf2\u09f6;\u43be\u0100Aa\u3aa1\u3aa4r\xf2\u03b8r\xf2\u09eba\xf0\u2713is;\u62fb\u0180dpt\u17a4\u3ab5\u3abe\u0100fl\u3aba\u17a9;\uc000\ud835\udd69im\xe5\u17b2\u0100Aa\u3ac7\u3acar\xf2\u03cer\xf2\u0a01\u0100cq\u3ad2\u17b8r;\uc000\ud835\udccd\u0100pt\u17d6\u3adcr\xe9\u17d4\u0400acefiosu\u3af0\u3afd\u3b08\u3b0c\u3b11\u3b15\u3b1b\u3b21c\u0100uy\u3af6\u3afbte\u803b\xfd\u40fd;\u444f\u0100iy\u3b02\u3b06rc;\u4177;\u444bn\u803b\xa5\u40a5r;\uc000\ud835\udd36cy;\u4457pf;\uc000\ud835\udd6acr;\uc000\ud835\udcce\u0100cm\u3b26\u3b29y;\u444el\u803b\xff\u40ff\u0500acdefhiosw\u3b42\u3b48\u3b54\u3b58\u3b64\u3b69\u3b6d\u3b74\u3b7a\u3b80cute;\u417a\u0100ay\u3b4d\u3b52ron;\u417e;\u4437ot;\u417c\u0100et\u3b5d\u3b61tr\xe6\u155fa;\u43b6r;\uc000\ud835\udd37cy;\u4436grarr;\u61ddpf;\uc000\ud835\udd6bcr;\uc000\ud835\udccf\u0100jn\u3b85\u3b87;\u600dj;\u600c".split("").map(function (c) { + return c.charCodeAt(0); +})); + +/***/ }), + +/***/ "../../../node_modules/entities/lib/generated/decode-data-xml.js": +/*!***********************************************************************!*\ + !*** ../../../node_modules/entities/lib/generated/decode-data-xml.js ***! + \***********************************************************************/ +/***/ (function(__unused_webpack_module, exports) { + + + +// Generated using scripts/write-decode-map.ts +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports["default"] = new Uint16Array( +// prettier-ignore +"\u0200aglq\t\x15\x18\x1b\u026d\x0f\0\0\x12p;\u4026os;\u4027t;\u403et;\u403cuot;\u4022".split("").map(function (c) { + return c.charCodeAt(0); +})); + +/***/ }), + +/***/ "../../../node_modules/entities/lib/generated/encode-html.js": +/*!*******************************************************************!*\ + !*** ../../../node_modules/entities/lib/generated/encode-html.js ***! + \*******************************************************************/ +/***/ (function(__unused_webpack_module, exports) { + + + +// Generated using scripts/write-encode-map.ts +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +function restoreDiff(arr) { + for (var i = 1; i < arr.length; i++) { + arr[i][0] += arr[i - 1][0] + 1; + } + return arr; +} +// prettier-ignore +exports["default"] = new Map( /* #__PURE__ */restoreDiff([[9, " "], [0, " "], [22, "!"], [0, """], [0, "#"], [0, "$"], [0, "%"], [0, "&"], [0, "'"], [0, "("], [0, ")"], [0, "*"], [0, "+"], [0, ","], [1, "."], [0, "/"], [10, ":"], [0, ";"], [0, { + v: "<", + n: 8402, + o: "<⃒" +}], [0, { + v: "=", + n: 8421, + o: "=⃥" +}], [0, { + v: ">", + n: 8402, + o: ">⃒" +}], [0, "?"], [0, "@"], [26, "["], [0, "\"], [0, "]"], [0, "^"], [0, "_"], [0, "`"], [5, { + n: 106, + o: "fj" +}], [20, "{"], [0, "|"], [0, "}"], [34, " "], [0, "¡"], [0, "¢"], [0, "£"], [0, "¤"], [0, "¥"], [0, "¦"], [0, "§"], [0, "¨"], [0, "©"], [0, "ª"], [0, "«"], [0, "¬"], [0, "­"], [0, "®"], [0, "¯"], [0, "°"], [0, "±"], [0, "²"], [0, "³"], [0, "´"], [0, "µ"], [0, "¶"], [0, "·"], [0, "¸"], [0, "¹"], [0, "º"], [0, "»"], [0, "¼"], [0, "½"], [0, "¾"], [0, "¿"], [0, "À"], [0, "Á"], [0, "Â"], [0, "Ã"], [0, "Ä"], [0, "Å"], [0, "Æ"], [0, "Ç"], [0, "È"], [0, "É"], [0, "Ê"], [0, "Ë"], [0, "Ì"], [0, "Í"], [0, "Î"], [0, "Ï"], [0, "Ð"], [0, "Ñ"], [0, "Ò"], [0, "Ó"], [0, "Ô"], [0, "Õ"], [0, "Ö"], [0, "×"], [0, "Ø"], [0, "Ù"], [0, "Ú"], [0, "Û"], [0, "Ü"], [0, "Ý"], [0, "Þ"], [0, "ß"], [0, "à"], [0, "á"], [0, "â"], [0, "ã"], [0, "ä"], [0, "å"], [0, "æ"], [0, "ç"], [0, "è"], [0, "é"], [0, "ê"], [0, "ë"], [0, "ì"], [0, "í"], [0, "î"], [0, "ï"], [0, "ð"], [0, "ñ"], [0, "ò"], [0, "ó"], [0, "ô"], [0, "õ"], [0, "ö"], [0, "÷"], [0, "ø"], [0, "ù"], [0, "ú"], [0, "û"], [0, "ü"], [0, "ý"], [0, "þ"], [0, "ÿ"], [0, "Ā"], [0, "ā"], [0, "Ă"], [0, "ă"], [0, "Ą"], [0, "ą"], [0, "Ć"], [0, "ć"], [0, "Ĉ"], [0, "ĉ"], [0, "Ċ"], [0, "ċ"], [0, "Č"], [0, "č"], [0, "Ď"], [0, "ď"], [0, "Đ"], [0, "đ"], [0, "Ē"], [0, "ē"], [2, "Ė"], [0, "ė"], [0, "Ę"], [0, "ę"], [0, "Ě"], [0, "ě"], [0, "Ĝ"], [0, "ĝ"], [0, "Ğ"], [0, "ğ"], [0, "Ġ"], [0, "ġ"], [0, "Ģ"], [1, "Ĥ"], [0, "ĥ"], [0, "Ħ"], [0, "ħ"], [0, "Ĩ"], [0, "ĩ"], [0, "Ī"], [0, "ī"], [2, "Į"], [0, "į"], [0, "İ"], [0, "ı"], [0, "IJ"], [0, "ij"], [0, "Ĵ"], [0, "ĵ"], [0, "Ķ"], [0, "ķ"], [0, "ĸ"], [0, "Ĺ"], [0, "ĺ"], [0, "Ļ"], [0, "ļ"], [0, "Ľ"], [0, "ľ"], [0, "Ŀ"], [0, "ŀ"], [0, "Ł"], [0, "ł"], [0, "Ń"], [0, "ń"], [0, "Ņ"], [0, "ņ"], [0, "Ň"], [0, "ň"], [0, "ʼn"], [0, "Ŋ"], [0, "ŋ"], [0, "Ō"], [0, "ō"], [2, "Ő"], [0, "ő"], [0, "Œ"], [0, "œ"], [0, "Ŕ"], [0, "ŕ"], [0, "Ŗ"], [0, "ŗ"], [0, "Ř"], [0, "ř"], [0, "Ś"], [0, "ś"], [0, "Ŝ"], [0, "ŝ"], [0, "Ş"], [0, "ş"], [0, "Š"], [0, "š"], [0, "Ţ"], [0, "ţ"], [0, "Ť"], [0, "ť"], [0, "Ŧ"], [0, "ŧ"], [0, "Ũ"], [0, "ũ"], [0, "Ū"], [0, "ū"], [0, "Ŭ"], [0, "ŭ"], [0, "Ů"], [0, "ů"], [0, "Ű"], [0, "ű"], [0, "Ų"], [0, "ų"], [0, "Ŵ"], [0, "ŵ"], [0, "Ŷ"], [0, "ŷ"], [0, "Ÿ"], [0, "Ź"], [0, "ź"], [0, "Ż"], [0, "ż"], [0, "Ž"], [0, "ž"], [19, "ƒ"], [34, "Ƶ"], [63, "ǵ"], [65, "ȷ"], [142, "ˆ"], [0, "ˇ"], [16, "˘"], [0, "˙"], [0, "˚"], [0, "˛"], [0, "˜"], [0, "˝"], [51, "̑"], [127, "Α"], [0, "Β"], [0, "Γ"], [0, "Δ"], [0, "Ε"], [0, "Ζ"], [0, "Η"], [0, "Θ"], [0, "Ι"], [0, "Κ"], [0, "Λ"], [0, "Μ"], [0, "Ν"], [0, "Ξ"], [0, "Ο"], [0, "Π"], [0, "Ρ"], [1, "Σ"], [0, "Τ"], [0, "Υ"], [0, "Φ"], [0, "Χ"], [0, "Ψ"], [0, "Ω"], [7, "α"], [0, "β"], [0, "γ"], [0, "δ"], [0, "ε"], [0, "ζ"], [0, "η"], [0, "θ"], [0, "ι"], [0, "κ"], [0, "λ"], [0, "μ"], [0, "ν"], [0, "ξ"], [0, "ο"], [0, "π"], [0, "ρ"], [0, "ς"], [0, "σ"], [0, "τ"], [0, "υ"], [0, "φ"], [0, "χ"], [0, "ψ"], [0, "ω"], [7, "ϑ"], [0, "ϒ"], [2, "ϕ"], [0, "ϖ"], [5, "Ϝ"], [0, "ϝ"], [18, "ϰ"], [0, "ϱ"], [3, "ϵ"], [0, "϶"], [10, "Ё"], [0, "Ђ"], [0, "Ѓ"], [0, "Є"], [0, "Ѕ"], [0, "І"], [0, "Ї"], [0, "Ј"], [0, "Љ"], [0, "Њ"], [0, "Ћ"], [0, "Ќ"], [1, "Ў"], [0, "Џ"], [0, "А"], [0, "Б"], [0, "В"], [0, "Г"], [0, "Д"], [0, "Е"], [0, "Ж"], [0, "З"], [0, "И"], [0, "Й"], [0, "К"], [0, "Л"], [0, "М"], [0, "Н"], [0, "О"], [0, "П"], [0, "Р"], [0, "С"], [0, "Т"], [0, "У"], [0, "Ф"], [0, "Х"], [0, "Ц"], [0, "Ч"], [0, "Ш"], [0, "Щ"], [0, "Ъ"], [0, "Ы"], [0, "Ь"], [0, "Э"], [0, "Ю"], [0, "Я"], [0, "а"], [0, "б"], [0, "в"], [0, "г"], [0, "д"], [0, "е"], [0, "ж"], [0, "з"], [0, "и"], [0, "й"], [0, "к"], [0, "л"], [0, "м"], [0, "н"], [0, "о"], [0, "п"], [0, "р"], [0, "с"], [0, "т"], [0, "у"], [0, "ф"], [0, "х"], [0, "ц"], [0, "ч"], [0, "ш"], [0, "щ"], [0, "ъ"], [0, "ы"], [0, "ь"], [0, "э"], [0, "ю"], [0, "я"], [1, "ё"], [0, "ђ"], [0, "ѓ"], [0, "є"], [0, "ѕ"], [0, "і"], [0, "ї"], [0, "ј"], [0, "љ"], [0, "њ"], [0, "ћ"], [0, "ќ"], [1, "ў"], [0, "џ"], [7074, " "], [0, " "], [0, " "], [0, " "], [1, " "], [0, " "], [0, " "], [0, " "], [0, "​"], [0, "‌"], [0, "‍"], [0, "‎"], [0, "‏"], [0, "‐"], [2, "–"], [0, "—"], [0, "―"], [0, "‖"], [1, "‘"], [0, "’"], [0, "‚"], [1, "“"], [0, "”"], [0, "„"], [1, "†"], [0, "‡"], [0, "•"], [2, "‥"], [0, "…"], [9, "‰"], [0, "‱"], [0, "′"], [0, "″"], [0, "‴"], [0, "‵"], [3, "‹"], [0, "›"], [3, "‾"], [2, "⁁"], [1, "⁃"], [0, "⁄"], [10, "⁏"], [7, "⁗"], [7, { + v: " ", + n: 8202, + o: "  " +}], [0, "⁠"], [0, "⁡"], [0, "⁢"], [0, "⁣"], [72, "€"], [46, "⃛"], [0, "⃜"], [37, "ℂ"], [2, "℅"], [4, "ℊ"], [0, "ℋ"], [0, "ℌ"], [0, "ℍ"], [0, "ℎ"], [0, "ℏ"], [0, "ℐ"], [0, "ℑ"], [0, "ℒ"], [0, "ℓ"], [1, "ℕ"], [0, "№"], [0, "℗"], [0, "℘"], [0, "ℙ"], [0, "ℚ"], [0, "ℛ"], [0, "ℜ"], [0, "ℝ"], [0, "℞"], [3, "™"], [1, "ℤ"], [2, "℧"], [0, "ℨ"], [0, "℩"], [2, "ℬ"], [0, "ℭ"], [1, "ℯ"], [0, "ℰ"], [0, "ℱ"], [1, "ℳ"], [0, "ℴ"], [0, "ℵ"], [0, "ℶ"], [0, "ℷ"], [0, "ℸ"], [12, "ⅅ"], [0, "ⅆ"], [0, "ⅇ"], [0, "ⅈ"], [10, "⅓"], [0, "⅔"], [0, "⅕"], [0, "⅖"], [0, "⅗"], [0, "⅘"], [0, "⅙"], [0, "⅚"], [0, "⅛"], [0, "⅜"], [0, "⅝"], [0, "⅞"], [49, "←"], [0, "↑"], [0, "→"], [0, "↓"], [0, "↔"], [0, "↕"], [0, "↖"], [0, "↗"], [0, "↘"], [0, "↙"], [0, "↚"], [0, "↛"], [1, { + v: "↝", + n: 824, + o: "↝̸" +}], [0, "↞"], [0, "↟"], [0, "↠"], [0, "↡"], [0, "↢"], [0, "↣"], [0, "↤"], [0, "↥"], [0, "↦"], [0, "↧"], [1, "↩"], [0, "↪"], [0, "↫"], [0, "↬"], [0, "↭"], [0, "↮"], [1, "↰"], [0, "↱"], [0, "↲"], [0, "↳"], [1, "↵"], [0, "↶"], [0, "↷"], [2, "↺"], [0, "↻"], [0, "↼"], [0, "↽"], [0, "↾"], [0, "↿"], [0, "⇀"], [0, "⇁"], [0, "⇂"], [0, "⇃"], [0, "⇄"], [0, "⇅"], [0, "⇆"], [0, "⇇"], [0, "⇈"], [0, "⇉"], [0, "⇊"], [0, "⇋"], [0, "⇌"], [0, "⇍"], [0, "⇎"], [0, "⇏"], [0, "⇐"], [0, "⇑"], [0, "⇒"], [0, "⇓"], [0, "⇔"], [0, "⇕"], [0, "⇖"], [0, "⇗"], [0, "⇘"], [0, "⇙"], [0, "⇚"], [0, "⇛"], [1, "⇝"], [6, "⇤"], [0, "⇥"], [15, "⇵"], [7, "⇽"], [0, "⇾"], [0, "⇿"], [0, "∀"], [0, "∁"], [0, { + v: "∂", + n: 824, + o: "∂̸" +}], [0, "∃"], [0, "∄"], [0, "∅"], [1, "∇"], [0, "∈"], [0, "∉"], [1, "∋"], [0, "∌"], [2, "∏"], [0, "∐"], [0, "∑"], [0, "−"], [0, "∓"], [0, "∔"], [1, "∖"], [0, "∗"], [0, "∘"], [1, "√"], [2, "∝"], [0, "∞"], [0, "∟"], [0, { + v: "∠", + n: 8402, + o: "∠⃒" +}], [0, "∡"], [0, "∢"], [0, "∣"], [0, "∤"], [0, "∥"], [0, "∦"], [0, "∧"], [0, "∨"], [0, { + v: "∩", + n: 65024, + o: "∩︀" +}], [0, { + v: "∪", + n: 65024, + o: "∪︀" +}], [0, "∫"], [0, "∬"], [0, "∭"], [0, "∮"], [0, "∯"], [0, "∰"], [0, "∱"], [0, "∲"], [0, "∳"], [0, "∴"], [0, "∵"], [0, "∶"], [0, "∷"], [0, "∸"], [1, "∺"], [0, "∻"], [0, { + v: "∼", + n: 8402, + o: "∼⃒" +}], [0, { + v: "∽", + n: 817, + o: "∽̱" +}], [0, { + v: "∾", + n: 819, + o: "∾̳" +}], [0, "∿"], [0, "≀"], [0, "≁"], [0, { + v: "≂", + n: 824, + o: "≂̸" +}], [0, "≃"], [0, "≄"], [0, "≅"], [0, "≆"], [0, "≇"], [0, "≈"], [0, "≉"], [0, "≊"], [0, { + v: "≋", + n: 824, + o: "≋̸" +}], [0, "≌"], [0, { + v: "≍", + n: 8402, + o: "≍⃒" +}], [0, { + v: "≎", + n: 824, + o: "≎̸" +}], [0, { + v: "≏", + n: 824, + o: "≏̸" +}], [0, { + v: "≐", + n: 824, + o: "≐̸" +}], [0, "≑"], [0, "≒"], [0, "≓"], [0, "≔"], [0, "≕"], [0, "≖"], [0, "≗"], [1, "≙"], [0, "≚"], [1, "≜"], [2, "≟"], [0, "≠"], [0, { + v: "≡", + n: 8421, + o: "≡⃥" +}], [0, "≢"], [1, { + v: "≤", + n: 8402, + o: "≤⃒" +}], [0, { + v: "≥", + n: 8402, + o: "≥⃒" +}], [0, { + v: "≦", + n: 824, + o: "≦̸" +}], [0, { + v: "≧", + n: 824, + o: "≧̸" +}], [0, { + v: "≨", + n: 65024, + o: "≨︀" +}], [0, { + v: "≩", + n: 65024, + o: "≩︀" +}], [0, { + v: "≪", + n: new Map( /* #__PURE__ */restoreDiff([[824, "≪̸"], [7577, "≪⃒"]])) +}], [0, { + v: "≫", + n: new Map( /* #__PURE__ */restoreDiff([[824, "≫̸"], [7577, "≫⃒"]])) +}], [0, "≬"], [0, "≭"], [0, "≮"], [0, "≯"], [0, "≰"], [0, "≱"], [0, "≲"], [0, "≳"], [0, "≴"], [0, "≵"], [0, "≶"], [0, "≷"], [0, "≸"], [0, "≹"], [0, "≺"], [0, "≻"], [0, "≼"], [0, "≽"], [0, "≾"], [0, { + v: "≿", + n: 824, + o: "≿̸" +}], [0, "⊀"], [0, "⊁"], [0, { + v: "⊂", + n: 8402, + o: "⊂⃒" +}], [0, { + v: "⊃", + n: 8402, + o: "⊃⃒" +}], [0, "⊄"], [0, "⊅"], [0, "⊆"], [0, "⊇"], [0, "⊈"], [0, "⊉"], [0, { + v: "⊊", + n: 65024, + o: "⊊︀" +}], [0, { + v: "⊋", + n: 65024, + o: "⊋︀" +}], [1, "⊍"], [0, "⊎"], [0, { + v: "⊏", + n: 824, + o: "⊏̸" +}], [0, { + v: "⊐", + n: 824, + o: "⊐̸" +}], [0, "⊑"], [0, "⊒"], [0, { + v: "⊓", + n: 65024, + o: "⊓︀" +}], [0, { + v: "⊔", + n: 65024, + o: "⊔︀" +}], [0, "⊕"], [0, "⊖"], [0, "⊗"], [0, "⊘"], [0, "⊙"], [0, "⊚"], [0, "⊛"], [1, "⊝"], [0, "⊞"], [0, "⊟"], [0, "⊠"], [0, "⊡"], [0, "⊢"], [0, "⊣"], [0, "⊤"], [0, "⊥"], [1, "⊧"], [0, "⊨"], [0, "⊩"], [0, "⊪"], [0, "⊫"], [0, "⊬"], [0, "⊭"], [0, "⊮"], [0, "⊯"], [0, "⊰"], [1, "⊲"], [0, "⊳"], [0, { + v: "⊴", + n: 8402, + o: "⊴⃒" +}], [0, { + v: "⊵", + n: 8402, + o: "⊵⃒" +}], [0, "⊶"], [0, "⊷"], [0, "⊸"], [0, "⊹"], [0, "⊺"], [0, "⊻"], [1, "⊽"], [0, "⊾"], [0, "⊿"], [0, "⋀"], [0, "⋁"], [0, "⋂"], [0, "⋃"], [0, "⋄"], [0, "⋅"], [0, "⋆"], [0, "⋇"], [0, "⋈"], [0, "⋉"], [0, "⋊"], [0, "⋋"], [0, "⋌"], [0, "⋍"], [0, "⋎"], [0, "⋏"], [0, "⋐"], [0, "⋑"], [0, "⋒"], [0, "⋓"], [0, "⋔"], [0, "⋕"], [0, "⋖"], [0, "⋗"], [0, { + v: "⋘", + n: 824, + o: "⋘̸" +}], [0, { + v: "⋙", + n: 824, + o: "⋙̸" +}], [0, { + v: "⋚", + n: 65024, + o: "⋚︀" +}], [0, { + v: "⋛", + n: 65024, + o: "⋛︀" +}], [2, "⋞"], [0, "⋟"], [0, "⋠"], [0, "⋡"], [0, "⋢"], [0, "⋣"], [2, "⋦"], [0, "⋧"], [0, "⋨"], [0, "⋩"], [0, "⋪"], [0, "⋫"], [0, "⋬"], [0, "⋭"], [0, "⋮"], [0, "⋯"], [0, "⋰"], [0, "⋱"], [0, "⋲"], [0, "⋳"], [0, "⋴"], [0, { + v: "⋵", + n: 824, + o: "⋵̸" +}], [0, "⋶"], [0, "⋷"], [1, { + v: "⋹", + n: 824, + o: "⋹̸" +}], [0, "⋺"], [0, "⋻"], [0, "⋼"], [0, "⋽"], [0, "⋾"], [6, "⌅"], [0, "⌆"], [1, "⌈"], [0, "⌉"], [0, "⌊"], [0, "⌋"], [0, "⌌"], [0, "⌍"], [0, "⌎"], [0, "⌏"], [0, "⌐"], [1, "⌒"], [0, "⌓"], [1, "⌕"], [0, "⌖"], [5, "⌜"], [0, "⌝"], [0, "⌞"], [0, "⌟"], [2, "⌢"], [0, "⌣"], [9, "⌭"], [0, "⌮"], [7, "⌶"], [6, "⌽"], [1, "⌿"], [60, "⍼"], [51, "⎰"], [0, "⎱"], [2, "⎴"], [0, "⎵"], [0, "⎶"], [37, "⏜"], [0, "⏝"], [0, "⏞"], [0, "⏟"], [2, "⏢"], [4, "⏧"], [59, "␣"], [164, "Ⓢ"], [55, "─"], [1, "│"], [9, "┌"], [3, "┐"], [3, "└"], [3, "┘"], [3, "├"], [7, "┤"], [7, "┬"], [7, "┴"], [7, "┼"], [19, "═"], [0, "║"], [0, "╒"], [0, "╓"], [0, "╔"], [0, "╕"], [0, "╖"], [0, "╗"], [0, "╘"], [0, "╙"], [0, "╚"], [0, "╛"], [0, "╜"], [0, "╝"], [0, "╞"], [0, "╟"], [0, "╠"], [0, "╡"], [0, "╢"], [0, "╣"], [0, "╤"], [0, "╥"], [0, "╦"], [0, "╧"], [0, "╨"], [0, "╩"], [0, "╪"], [0, "╫"], [0, "╬"], [19, "▀"], [3, "▄"], [3, "█"], [8, "░"], [0, "▒"], [0, "▓"], [13, "□"], [8, "▪"], [0, "▫"], [1, "▭"], [0, "▮"], [2, "▱"], [1, "△"], [0, "▴"], [0, "▵"], [2, "▸"], [0, "▹"], [3, "▽"], [0, "▾"], [0, "▿"], [2, "◂"], [0, "◃"], [6, "◊"], [0, "○"], [32, "◬"], [2, "◯"], [8, "◸"], [0, "◹"], [0, "◺"], [0, "◻"], [0, "◼"], [8, "★"], [0, "☆"], [7, "☎"], [49, "♀"], [1, "♂"], [29, "♠"], [2, "♣"], [1, "♥"], [0, "♦"], [3, "♪"], [2, "♭"], [0, "♮"], [0, "♯"], [163, "✓"], [3, "✗"], [8, "✠"], [21, "✶"], [33, "❘"], [25, "❲"], [0, "❳"], [84, "⟈"], [0, "⟉"], [28, "⟦"], [0, "⟧"], [0, "⟨"], [0, "⟩"], [0, "⟪"], [0, "⟫"], [0, "⟬"], [0, "⟭"], [7, "⟵"], [0, "⟶"], [0, "⟷"], [0, "⟸"], [0, "⟹"], [0, "⟺"], [1, "⟼"], [2, "⟿"], [258, "⤂"], [0, "⤃"], [0, "⤄"], [0, "⤅"], [6, "⤌"], [0, "⤍"], [0, "⤎"], [0, "⤏"], [0, "⤐"], [0, "⤑"], [0, "⤒"], [0, "⤓"], [2, "⤖"], [2, "⤙"], [0, "⤚"], [0, "⤛"], [0, "⤜"], [0, "⤝"], [0, "⤞"], [0, "⤟"], [0, "⤠"], [2, "⤣"], [0, "⤤"], [0, "⤥"], [0, "⤦"], [0, "⤧"], [0, "⤨"], [0, "⤩"], [0, "⤪"], [8, { + v: "⤳", + n: 824, + o: "⤳̸" +}], [1, "⤵"], [0, "⤶"], [0, "⤷"], [0, "⤸"], [0, "⤹"], [2, "⤼"], [0, "⤽"], [7, "⥅"], [2, "⥈"], [0, "⥉"], [0, "⥊"], [0, "⥋"], [2, "⥎"], [0, "⥏"], [0, "⥐"], [0, "⥑"], [0, "⥒"], [0, "⥓"], [0, "⥔"], [0, "⥕"], [0, "⥖"], [0, "⥗"], [0, "⥘"], [0, "⥙"], [0, "⥚"], [0, "⥛"], [0, "⥜"], [0, "⥝"], [0, "⥞"], [0, "⥟"], [0, "⥠"], [0, "⥡"], [0, "⥢"], [0, "⥣"], [0, "⥤"], [0, "⥥"], [0, "⥦"], [0, "⥧"], [0, "⥨"], [0, "⥩"], [0, "⥪"], [0, "⥫"], [0, "⥬"], [0, "⥭"], [0, "⥮"], [0, "⥯"], [0, "⥰"], [0, "⥱"], [0, "⥲"], [0, "⥳"], [0, "⥴"], [0, "⥵"], [0, "⥶"], [1, "⥸"], [0, "⥹"], [1, "⥻"], [0, "⥼"], [0, "⥽"], [0, "⥾"], [0, "⥿"], [5, "⦅"], [0, "⦆"], [4, "⦋"], [0, "⦌"], [0, "⦍"], [0, "⦎"], [0, "⦏"], [0, "⦐"], [0, "⦑"], [0, "⦒"], [0, "⦓"], [0, "⦔"], [0, "⦕"], [0, "⦖"], [3, "⦚"], [1, "⦜"], [0, "⦝"], [6, "⦤"], [0, "⦥"], [0, "⦦"], [0, "⦧"], [0, "⦨"], [0, "⦩"], [0, "⦪"], [0, "⦫"], [0, "⦬"], [0, "⦭"], [0, "⦮"], [0, "⦯"], [0, "⦰"], [0, "⦱"], [0, "⦲"], [0, "⦳"], [0, "⦴"], [0, "⦵"], [0, "⦶"], [0, "⦷"], [1, "⦹"], [1, "⦻"], [0, "⦼"], [1, "⦾"], [0, "⦿"], [0, "⧀"], [0, "⧁"], [0, "⧂"], [0, "⧃"], [0, "⧄"], [0, "⧅"], [3, "⧉"], [3, "⧍"], [0, "⧎"], [0, { + v: "⧏", + n: 824, + o: "⧏̸" +}], [0, { + v: "⧐", + n: 824, + o: "⧐̸" +}], [11, "⧜"], [0, "⧝"], [0, "⧞"], [4, "⧣"], [0, "⧤"], [0, "⧥"], [5, "⧫"], [8, "⧴"], [1, "⧶"], [9, "⨀"], [0, "⨁"], [0, "⨂"], [1, "⨄"], [1, "⨆"], [5, "⨌"], [0, "⨍"], [2, "⨐"], [0, "⨑"], [0, "⨒"], [0, "⨓"], [0, "⨔"], [0, "⨕"], [0, "⨖"], [0, "⨗"], [10, "⨢"], [0, "⨣"], [0, "⨤"], [0, "⨥"], [0, "⨦"], [0, "⨧"], [1, "⨩"], [0, "⨪"], [2, "⨭"], [0, "⨮"], [0, "⨯"], [0, "⨰"], [0, "⨱"], [1, "⨳"], [0, "⨴"], [0, "⨵"], [0, "⨶"], [0, "⨷"], [0, "⨸"], [0, "⨹"], [0, "⨺"], [0, "⨻"], [0, "⨼"], [2, "⨿"], [0, "⩀"], [1, "⩂"], [0, "⩃"], [0, "⩄"], [0, "⩅"], [0, "⩆"], [0, "⩇"], [0, "⩈"], [0, "⩉"], [0, "⩊"], [0, "⩋"], [0, "⩌"], [0, "⩍"], [2, "⩐"], [2, "⩓"], [0, "⩔"], [0, "⩕"], [0, "⩖"], [0, "⩗"], [0, "⩘"], [1, "⩚"], [0, "⩛"], [0, "⩜"], [0, "⩝"], [1, "⩟"], [6, "⩦"], [3, "⩪"], [2, { + v: "⩭", + n: 824, + o: "⩭̸" +}], [0, "⩮"], [0, "⩯"], [0, { + v: "⩰", + n: 824, + o: "⩰̸" +}], [0, "⩱"], [0, "⩲"], [0, "⩳"], [0, "⩴"], [0, "⩵"], [1, "⩷"], [0, "⩸"], [0, "⩹"], [0, "⩺"], [0, "⩻"], [0, "⩼"], [0, { + v: "⩽", + n: 824, + o: "⩽̸" +}], [0, { + v: "⩾", + n: 824, + o: "⩾̸" +}], [0, "⩿"], [0, "⪀"], [0, "⪁"], [0, "⪂"], [0, "⪃"], [0, "⪄"], [0, "⪅"], [0, "⪆"], [0, "⪇"], [0, "⪈"], [0, "⪉"], [0, "⪊"], [0, "⪋"], [0, "⪌"], [0, "⪍"], [0, "⪎"], [0, "⪏"], [0, "⪐"], [0, "⪑"], [0, "⪒"], [0, "⪓"], [0, "⪔"], [0, "⪕"], [0, "⪖"], [0, "⪗"], [0, "⪘"], [0, "⪙"], [0, "⪚"], [2, "⪝"], [0, "⪞"], [0, "⪟"], [0, "⪠"], [0, { + v: "⪡", + n: 824, + o: "⪡̸" +}], [0, { + v: "⪢", + n: 824, + o: "⪢̸" +}], [1, "⪤"], [0, "⪥"], [0, "⪦"], [0, "⪧"], [0, "⪨"], [0, "⪩"], [0, "⪪"], [0, "⪫"], [0, { + v: "⪬", + n: 65024, + o: "⪬︀" +}], [0, { + v: "⪭", + n: 65024, + o: "⪭︀" +}], [0, "⪮"], [0, { + v: "⪯", + n: 824, + o: "⪯̸" +}], [0, { + v: "⪰", + n: 824, + o: "⪰̸" +}], [2, "⪳"], [0, "⪴"], [0, "⪵"], [0, "⪶"], [0, "⪷"], [0, "⪸"], [0, "⪹"], [0, "⪺"], [0, "⪻"], [0, "⪼"], [0, "⪽"], [0, "⪾"], [0, "⪿"], [0, "⫀"], [0, "⫁"], [0, "⫂"], [0, "⫃"], [0, "⫄"], [0, { + v: "⫅", + n: 824, + o: "⫅̸" +}], [0, { + v: "⫆", + n: 824, + o: "⫆̸" +}], [0, "⫇"], [0, "⫈"], [2, { + v: "⫋", + n: 65024, + o: "⫋︀" +}], [0, { + v: "⫌", + n: 65024, + o: "⫌︀" +}], [2, "⫏"], [0, "⫐"], [0, "⫑"], [0, "⫒"], [0, "⫓"], [0, "⫔"], [0, "⫕"], [0, "⫖"], [0, "⫗"], [0, "⫘"], [0, "⫙"], [0, "⫚"], [0, "⫛"], [8, "⫤"], [1, "⫦"], [0, "⫧"], [0, "⫨"], [0, "⫩"], [1, "⫫"], [0, "⫬"], [0, "⫭"], [0, "⫮"], [0, "⫯"], [0, "⫰"], [0, "⫱"], [0, "⫲"], [0, "⫳"], [9, { + v: "⫽", + n: 8421, + o: "⫽⃥" +}], [44343, { + n: new Map( /* #__PURE__ */restoreDiff([[56476, "𝒜"], [1, "𝒞"], [0, "𝒟"], [2, "𝒢"], [2, "𝒥"], [0, "𝒦"], [2, "𝒩"], [0, "𝒪"], [0, "𝒫"], [0, "𝒬"], [1, "𝒮"], [0, "𝒯"], [0, "𝒰"], [0, "𝒱"], [0, "𝒲"], [0, "𝒳"], [0, "𝒴"], [0, "𝒵"], [0, "𝒶"], [0, "𝒷"], [0, "𝒸"], [0, "𝒹"], [1, "𝒻"], [1, "𝒽"], [0, "𝒾"], [0, "𝒿"], [0, "𝓀"], [0, "𝓁"], [0, "𝓂"], [0, "𝓃"], [1, "𝓅"], [0, "𝓆"], [0, "𝓇"], [0, "𝓈"], [0, "𝓉"], [0, "𝓊"], [0, "𝓋"], [0, "𝓌"], [0, "𝓍"], [0, "𝓎"], [0, "𝓏"], [52, "𝔄"], [0, "𝔅"], [1, "𝔇"], [0, "𝔈"], [0, "𝔉"], [0, "𝔊"], [2, "𝔍"], [0, "𝔎"], [0, "𝔏"], [0, "𝔐"], [0, "𝔑"], [0, "𝔒"], [0, "𝔓"], [0, "𝔔"], [1, "𝔖"], [0, "𝔗"], [0, "𝔘"], [0, "𝔙"], [0, "𝔚"], [0, "𝔛"], [0, "𝔜"], [1, "𝔞"], [0, "𝔟"], [0, "𝔠"], [0, "𝔡"], [0, "𝔢"], [0, "𝔣"], [0, "𝔤"], [0, "𝔥"], [0, "𝔦"], [0, "𝔧"], [0, "𝔨"], [0, "𝔩"], [0, "𝔪"], [0, "𝔫"], [0, "𝔬"], [0, "𝔭"], [0, "𝔮"], [0, "𝔯"], [0, "𝔰"], [0, "𝔱"], [0, "𝔲"], [0, "𝔳"], [0, "𝔴"], [0, "𝔵"], [0, "𝔶"], [0, "𝔷"], [0, "𝔸"], [0, "𝔹"], [1, "𝔻"], [0, "𝔼"], [0, "𝔽"], [0, "𝔾"], [1, "𝕀"], [0, "𝕁"], [0, "𝕂"], [0, "𝕃"], [0, "𝕄"], [1, "𝕆"], [3, "𝕊"], [0, "𝕋"], [0, "𝕌"], [0, "𝕍"], [0, "𝕎"], [0, "𝕏"], [0, "𝕐"], [1, "𝕒"], [0, "𝕓"], [0, "𝕔"], [0, "𝕕"], [0, "𝕖"], [0, "𝕗"], [0, "𝕘"], [0, "𝕙"], [0, "𝕚"], [0, "𝕛"], [0, "𝕜"], [0, "𝕝"], [0, "𝕞"], [0, "𝕟"], [0, "𝕠"], [0, "𝕡"], [0, "𝕢"], [0, "𝕣"], [0, "𝕤"], [0, "𝕥"], [0, "𝕦"], [0, "𝕧"], [0, "𝕨"], [0, "𝕩"], [0, "𝕪"], [0, "𝕫"]])) +}], [8906, "ff"], [0, "fi"], [0, "fl"], [0, "ffi"], [0, "ffl"]])); + +/***/ }), + +/***/ "../../../node_modules/entities/lib/index.js": +/*!***************************************************!*\ + !*** ../../../node_modules/entities/lib/index.js ***! + \***************************************************/ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.decodeXMLStrict = exports.decodeHTML5Strict = exports.decodeHTML4Strict = exports.decodeHTML5 = exports.decodeHTML4 = exports.decodeHTMLAttribute = exports.decodeHTMLStrict = exports.decodeHTML = exports.decodeXML = exports.DecodingMode = exports.EntityDecoder = exports.encodeHTML5 = exports.encodeHTML4 = exports.encodeNonAsciiHTML = exports.encodeHTML = exports.escapeText = exports.escapeAttribute = exports.escapeUTF8 = exports.escape = exports.encodeXML = exports.encode = exports.decodeStrict = exports.decode = exports.EncodingMode = exports.EntityLevel = void 0; +var decode_js_1 = __webpack_require__(/*! ./decode.js */ "../../../node_modules/entities/lib/decode.js"); +var encode_js_1 = __webpack_require__(/*! ./encode.js */ "../../../node_modules/entities/lib/encode.js"); +var escape_js_1 = __webpack_require__(/*! ./escape.js */ "../../../node_modules/entities/lib/escape.js"); +/** The level of entities to support. */ +var EntityLevel; +(function (EntityLevel) { + /** Support only XML entities. */ + EntityLevel[EntityLevel["XML"] = 0] = "XML"; + /** Support HTML entities, which are a superset of XML entities. */ + EntityLevel[EntityLevel["HTML"] = 1] = "HTML"; +})(EntityLevel = exports.EntityLevel || (exports.EntityLevel = {})); +var EncodingMode; +(function (EncodingMode) { + /** + * The output is UTF-8 encoded. Only characters that need escaping within + * XML will be escaped. + */ + EncodingMode[EncodingMode["UTF8"] = 0] = "UTF8"; + /** + * The output consists only of ASCII characters. Characters that need + * escaping within HTML, and characters that aren't ASCII characters will + * be escaped. + */ + EncodingMode[EncodingMode["ASCII"] = 1] = "ASCII"; + /** + * Encode all characters that have an equivalent entity, as well as all + * characters that are not ASCII characters. + */ + EncodingMode[EncodingMode["Extensive"] = 2] = "Extensive"; + /** + * Encode all characters that have to be escaped in HTML attributes, + * following {@link https://html.spec.whatwg.org/multipage/parsing.html#escapingString}. + */ + EncodingMode[EncodingMode["Attribute"] = 3] = "Attribute"; + /** + * Encode all characters that have to be escaped in HTML text, + * following {@link https://html.spec.whatwg.org/multipage/parsing.html#escapingString}. + */ + EncodingMode[EncodingMode["Text"] = 4] = "Text"; +})(EncodingMode = exports.EncodingMode || (exports.EncodingMode = {})); +/** + * Decodes a string with entities. + * + * @param data String to decode. + * @param options Decoding options. + */ +function decode(data, options) { + if (options === void 0) { + options = EntityLevel.XML; + } + var level = typeof options === "number" ? options : options.level; + if (level === EntityLevel.HTML) { + var mode = typeof options === "object" ? options.mode : undefined; + return (0, decode_js_1.decodeHTML)(data, mode); + } + return (0, decode_js_1.decodeXML)(data); +} +exports.decode = decode; +/** + * Decodes a string with entities. Does not allow missing trailing semicolons for entities. + * + * @param data String to decode. + * @param options Decoding options. + * @deprecated Use `decode` with the `mode` set to `Strict`. + */ +function decodeStrict(data, options) { + var _a; + if (options === void 0) { + options = EntityLevel.XML; + } + var opts = typeof options === "number" ? { + level: options + } : options; + (_a = opts.mode) !== null && _a !== void 0 ? _a : opts.mode = decode_js_1.DecodingMode.Strict; + return decode(data, opts); +} +exports.decodeStrict = decodeStrict; +/** + * Encodes a string with entities. + * + * @param data String to encode. + * @param options Encoding options. + */ +function encode(data, options) { + if (options === void 0) { + options = EntityLevel.XML; + } + var opts = typeof options === "number" ? { + level: options + } : options; + // Mode `UTF8` just escapes XML entities + if (opts.mode === EncodingMode.UTF8) return (0, escape_js_1.escapeUTF8)(data); + if (opts.mode === EncodingMode.Attribute) return (0, escape_js_1.escapeAttribute)(data); + if (opts.mode === EncodingMode.Text) return (0, escape_js_1.escapeText)(data); + if (opts.level === EntityLevel.HTML) { + if (opts.mode === EncodingMode.ASCII) { + return (0, encode_js_1.encodeNonAsciiHTML)(data); + } + return (0, encode_js_1.encodeHTML)(data); + } + // ASCII and Extensive are equivalent + return (0, escape_js_1.encodeXML)(data); +} +exports.encode = encode; +var escape_js_2 = __webpack_require__(/*! ./escape.js */ "../../../node_modules/entities/lib/escape.js"); +Object.defineProperty(exports, "encodeXML", ({ + enumerable: true, + get: function () { + return escape_js_2.encodeXML; + } +})); +Object.defineProperty(exports, "escape", ({ + enumerable: true, + get: function () { + return escape_js_2.escape; + } +})); +Object.defineProperty(exports, "escapeUTF8", ({ + enumerable: true, + get: function () { + return escape_js_2.escapeUTF8; + } +})); +Object.defineProperty(exports, "escapeAttribute", ({ + enumerable: true, + get: function () { + return escape_js_2.escapeAttribute; + } +})); +Object.defineProperty(exports, "escapeText", ({ + enumerable: true, + get: function () { + return escape_js_2.escapeText; + } +})); +var encode_js_2 = __webpack_require__(/*! ./encode.js */ "../../../node_modules/entities/lib/encode.js"); +Object.defineProperty(exports, "encodeHTML", ({ + enumerable: true, + get: function () { + return encode_js_2.encodeHTML; + } +})); +Object.defineProperty(exports, "encodeNonAsciiHTML", ({ + enumerable: true, + get: function () { + return encode_js_2.encodeNonAsciiHTML; + } +})); +// Legacy aliases (deprecated) +Object.defineProperty(exports, "encodeHTML4", ({ + enumerable: true, + get: function () { + return encode_js_2.encodeHTML; + } +})); +Object.defineProperty(exports, "encodeHTML5", ({ + enumerable: true, + get: function () { + return encode_js_2.encodeHTML; + } +})); +var decode_js_2 = __webpack_require__(/*! ./decode.js */ "../../../node_modules/entities/lib/decode.js"); +Object.defineProperty(exports, "EntityDecoder", ({ + enumerable: true, + get: function () { + return decode_js_2.EntityDecoder; + } +})); +Object.defineProperty(exports, "DecodingMode", ({ + enumerable: true, + get: function () { + return decode_js_2.DecodingMode; + } +})); +Object.defineProperty(exports, "decodeXML", ({ + enumerable: true, + get: function () { + return decode_js_2.decodeXML; + } +})); +Object.defineProperty(exports, "decodeHTML", ({ + enumerable: true, + get: function () { + return decode_js_2.decodeHTML; + } +})); +Object.defineProperty(exports, "decodeHTMLStrict", ({ + enumerable: true, + get: function () { + return decode_js_2.decodeHTMLStrict; + } +})); +Object.defineProperty(exports, "decodeHTMLAttribute", ({ + enumerable: true, + get: function () { + return decode_js_2.decodeHTMLAttribute; + } +})); +// Legacy aliases (deprecated) +Object.defineProperty(exports, "decodeHTML4", ({ + enumerable: true, + get: function () { + return decode_js_2.decodeHTML; + } +})); +Object.defineProperty(exports, "decodeHTML5", ({ + enumerable: true, + get: function () { + return decode_js_2.decodeHTML; + } +})); +Object.defineProperty(exports, "decodeHTML4Strict", ({ + enumerable: true, + get: function () { + return decode_js_2.decodeHTMLStrict; + } +})); +Object.defineProperty(exports, "decodeHTML5Strict", ({ + enumerable: true, + get: function () { + return decode_js_2.decodeHTMLStrict; + } +})); +Object.defineProperty(exports, "decodeXMLStrict", ({ + enumerable: true, + get: function () { + return decode_js_2.decodeXML; + } +})); + +/***/ }), + /***/ "../../../node_modules/framer-motion/dist/cjs/index.js": /*!*************************************************************!*\ !*** ../../../node_modules/framer-motion/dist/cjs/index.js ***! @@ -22158,15 +23534,25 @@ function executeFieldsSerially(exeContext, parentType, sourceValue, path, fields function executeFields(exeContext, parentType, sourceValue, path, fields) { const results = Object.create(null); let containsPromise = false; - for (const [responseName, fieldNodes] of fields.entries()) { - const fieldPath = (0, _Path.addPath)(path, responseName, parentType.name); - const result = executeField(exeContext, parentType, sourceValue, fieldNodes, fieldPath); - if (result !== undefined) { - results[responseName] = result; - if ((0, _isPromise.isPromise)(result)) { - containsPromise = true; + try { + for (const [responseName, fieldNodes] of fields.entries()) { + const fieldPath = (0, _Path.addPath)(path, responseName, parentType.name); + const result = executeField(exeContext, parentType, sourceValue, fieldNodes, fieldPath); + if (result !== undefined) { + results[responseName] = result; + if ((0, _isPromise.isPromise)(result)) { + containsPromise = true; + } } } + } catch (error) { + if (containsPromise) { + // Ensure that any promises returned by other fields are handled, as they may also reject. + return (0, _promiseForObject.promiseForObject)(results).finally(() => { + throw error; + }); + } + throw error; } // If there are no promises, we can just return the object if (!containsPromise) { @@ -22723,17 +24109,7 @@ var _values = __webpack_require__(/*! ./values.mjs */ "../../../node_modules/gra async function subscribe(args) { // Temporary for v15 to v16 migration. Remove in v17 arguments.length < 2 || (0, _devAssert.devAssert)(false, 'graphql@16 dropped long-deprecated support for positional arguments, please pass an object instead.'); - const { - schema, - document, - rootValue, - contextValue, - variableValues, - operationName, - fieldResolver, - subscribeFieldResolver - } = args; - const resultOrStream = await createSourceEventStream(schema, document, rootValue, contextValue, variableValues, operationName, subscribeFieldResolver); + const resultOrStream = await createSourceEventStream(args); if (!(0, _isAsyncIterable.isAsyncIterable)(resultOrStream)) { return resultOrStream; } // For each payload yielded from a subscription, map it over the normal @@ -22744,17 +24120,28 @@ async function subscribe(args) { // "ExecuteQuery" algorithm, for which `execute` is also used. const mapSourceToResponse = payload => (0, _execute.execute)({ - schema, - document, - rootValue: payload, - contextValue, - variableValues, - operationName, - fieldResolver + ...args, + rootValue: payload }); // Map every source value to a ExecutionResult value as described above. return (0, _mapAsyncIterator.mapAsyncIterator)(resultOrStream, mapSourceToResponse); } +function toNormalizedArgs(args) { + const firstArg = args[0]; + if (firstArg && 'document' in firstArg) { + return firstArg; + } + return { + schema: firstArg, + // FIXME: when underlying TS bug fixed, see https://github.com/microsoft/TypeScript/issues/31613 + document: args[1], + rootValue: args[2], + contextValue: args[3], + variableValues: args[4], + operationName: args[5], + subscribeFieldResolver: args[6] + }; +} /** * Implements the "CreateSourceEventStream" algorithm described in the * GraphQL specification, resolving the subscription source event stream. @@ -22784,21 +24171,22 @@ async function subscribe(args) { * "Supporting Subscriptions at Scale" information in the GraphQL specification. */ -async function createSourceEventStream(schema, document, rootValue, contextValue, variableValues, operationName, subscribeFieldResolver) { - // If arguments are missing or incorrectly typed, this is an internal +async function createSourceEventStream() { + for (var _len = arguments.length, rawArgs = new Array(_len), _key = 0; _key < _len; _key++) { + rawArgs[_key] = arguments[_key]; + } + const args = toNormalizedArgs(rawArgs); + const { + schema, + document, + variableValues + } = args; // If arguments are missing or incorrectly typed, this is an internal // developer mistake which should throw an early error. + (0, _execute.assertValidExecutionArguments)(schema, document, variableValues); // If a valid execution context cannot be created due to incorrect arguments, // a "Response" with only errors is returned. - const exeContext = (0, _execute.buildExecutionContext)({ - schema, - document, - rootValue, - contextValue, - variableValues, - operationName, - subscribeFieldResolver - }); // Return early errors if execution context failed. + const exeContext = (0, _execute.buildExecutionContext)(args); // Return early errors if execution context failed. if (!('schema' in exeContext)) { return { @@ -22970,7 +24358,7 @@ function coerceVariableValues(schema, varDefNodes, inputs, onError) { } onError(new _GraphQLError.GraphQLError(prefix + '; ' + error.message, { nodes: varDefNode, - originalError: error.originalError + originalError: error })); }); } @@ -24740,8 +26128,9 @@ var _inspect = __webpack_require__(/*! ./inspect.mjs */ "../../../node_modules/g const instanceOf = /* c8 ignore next 6 */ // FIXME: https://github.com/graphql/graphql-js/issues/2317 -// eslint-disable-next-line no-undef - false ? 0 : function instanceOf(value, constructor) { +globalThis.process && globalThis.process.env.NODE_ENV === 'production' ? function instanceOf(value, constructor) { + return value instanceof constructor; +} : function instanceOf(value, constructor) { if (value instanceof constructor) { return true; } @@ -25564,7 +26953,7 @@ function isNode(maybeNode) { } /** Name */ -let OperationTypeNode; +var OperationTypeNode; exports.OperationTypeNode = OperationTypeNode; (function (OperationTypeNode) { OperationTypeNode['QUERY'] = 'query'; @@ -25832,12 +27221,7 @@ exports.DirectiveLocation = void 0; /** * The set of allowed directive location values. */ -let DirectiveLocation; -/** - * The enum type representing the directive location values. - * - * @deprecated Please use `DirectiveLocation`. Will be remove in v17. - */ +var DirectiveLocation; exports.DirectiveLocation = DirectiveLocation; (function (DirectiveLocation) { DirectiveLocation['QUERY'] = 'QUERY'; @@ -25861,6 +27245,12 @@ exports.DirectiveLocation = DirectiveLocation; DirectiveLocation['INPUT_FIELD_DEFINITION'] = 'INPUT_FIELD_DEFINITION'; })(DirectiveLocation || (exports.DirectiveLocation = DirectiveLocation = {})); +/** + * The enum type representing the directive location values. + * + * @deprecated Please use `DirectiveLocation`. Will be remove in v17. + */ + /***/ }), /***/ "../../../node_modules/graphql/language/index.mjs": @@ -26090,12 +27480,7 @@ exports.Kind = void 0; /** * The set of allowed kind values for AST nodes. */ -let Kind; -/** - * The enum type representing the possible kind values of AST nodes. - * - * @deprecated Please use `Kind`. Will be remove in v17. - */ +var Kind; exports.Kind = Kind; (function (Kind) { Kind['NAME'] = 'Name'; @@ -26143,6 +27528,12 @@ exports.Kind = Kind; Kind['INPUT_OBJECT_TYPE_EXTENSION'] = 'InputObjectTypeExtension'; })(Kind || (exports.Kind = Kind = {})); +/** + * The enum type representing the possible kind values of AST nodes. + * + * @deprecated Please use `Kind`. Will be remove in v17. + */ + /***/ }), /***/ "../../../node_modules/graphql/language/lexer.mjs": @@ -27010,10 +28401,12 @@ function parseType(source, options) { */ class Parser { - constructor(source, options) { + constructor(source) { + let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; const sourceObj = (0, _source.isSource)(source) ? source : new _source.Source(source); this._lexer = new _lexer.Lexer(sourceObj); this._options = options; + this._tokenCounter = 0; } /** * Converts a name lex token into a name parse node. @@ -27293,13 +28686,12 @@ class Parser { */ parseFragmentDefinition() { - var _this$_options; const start = this._lexer.token; this.expectKeyword('fragment'); // Legacy support for defining variables within fragments changes // the grammar of FragmentDefinition: // - fragment FragmentName VariableDefinitions? on TypeCondition Directives? SelectionSet - if (((_this$_options = this._options) === null || _this$_options === void 0 ? void 0 : _this$_options.allowLegacyFragmentVariables) === true) { + if (this._options.allowLegacyFragmentVariables === true) { return this.node(start, { kind: _kinds.Kind.FRAGMENT_DEFINITION, name: this.parseFragmentName(), @@ -27355,13 +28747,13 @@ class Parser { case _tokenKind.TokenKind.BRACE_L: return this.parseObject(isConst); case _tokenKind.TokenKind.INT: - this._lexer.advance(); + this.advanceLexer(); return this.node(token, { kind: _kinds.Kind.INT, value: token.value }); case _tokenKind.TokenKind.FLOAT: - this._lexer.advance(); + this.advanceLexer(); return this.node(token, { kind: _kinds.Kind.FLOAT, value: token.value @@ -27370,7 +28762,7 @@ class Parser { case _tokenKind.TokenKind.BLOCK_STRING: return this.parseStringLiteral(); case _tokenKind.TokenKind.NAME: - this._lexer.advance(); + this.advanceLexer(); switch (token.value) { case 'true': return this.node(token, { @@ -27412,7 +28804,7 @@ class Parser { } parseStringLiteral() { const token = this._lexer.token; - this._lexer.advance(); + this.advanceLexer(); return this.node(token, { kind: _kinds.Kind.STRING, value: token.value, @@ -28103,8 +29495,7 @@ class Parser { */ node(startToken, node) { - var _this$_options2; - if (((_this$_options2 = this._options) === null || _this$_options2 === void 0 ? void 0 : _this$_options2.noLocation) !== true) { + if (this._options.noLocation !== true) { node.loc = new _ast.Location(startToken, this._lexer.lastToken, this._lexer.source); } return node; @@ -28124,7 +29515,7 @@ class Parser { expectToken(kind) { const token = this._lexer.token; if (token.kind === kind) { - this._lexer.advance(); + this.advanceLexer(); return token; } throw (0, _syntaxError.syntaxError)(this._lexer.source, token.start, `Expected ${getTokenKindDesc(kind)}, found ${getTokenDesc(token)}.`); @@ -28137,7 +29528,7 @@ class Parser { expectOptionalToken(kind) { const token = this._lexer.token; if (token.kind === kind) { - this._lexer.advance(); + this.advanceLexer(); return true; } return false; @@ -28150,7 +29541,7 @@ class Parser { expectKeyword(value) { const token = this._lexer.token; if (token.kind === _tokenKind.TokenKind.NAME && token.value === value) { - this._lexer.advance(); + this.advanceLexer(); } else { throw (0, _syntaxError.syntaxError)(this._lexer.source, token.start, `Expected "${value}", found ${getTokenDesc(token)}.`); } @@ -28163,7 +29554,7 @@ class Parser { expectOptionalKeyword(value) { const token = this._lexer.token; if (token.kind === _tokenKind.TokenKind.NAME && token.value === value) { - this._lexer.advance(); + this.advanceLexer(); return true; } return false; @@ -28235,6 +29626,18 @@ class Parser { } while (this.expectOptionalToken(delimiterKind)); return nodes; } + advanceLexer() { + const { + maxTokens + } = this._options; + const token = this._lexer.advance(); + if (maxTokens !== undefined && token.kind !== _tokenKind.TokenKind.EOF) { + ++this._tokenCounter; + if (this._tokenCounter > maxTokens) { + throw (0, _syntaxError.syntaxError)(this._lexer.source, token.start, `Document contains more that ${maxTokens} tokens. Parsing aborted.`); + } + } + } } /** * A helper function to describe a token as a string for debugging. @@ -28956,12 +30359,7 @@ exports.TokenKind = void 0; * An exported enum describing the different kinds of tokens that the * lexer emits. */ -let TokenKind; -/** - * The enum type representing the token kinds values. - * - * @deprecated Please use `TokenKind`. Will be remove in v17. - */ +var TokenKind; exports.TokenKind = TokenKind; (function (TokenKind) { TokenKind['SOF'] = ''; @@ -28988,6 +30386,12 @@ exports.TokenKind = TokenKind; TokenKind['COMMENT'] = 'Comment'; })(TokenKind || (exports.TokenKind = TokenKind = {})); +/** + * The enum type representing the token kinds values. + * + * @deprecated Please use `TokenKind`. Will be remove in v17. + */ + /***/ }), /***/ "../../../node_modules/graphql/language/visitor.mjs": @@ -31466,7 +32870,7 @@ const __EnumValue = new _definition.GraphQLObjectType({ }) }); exports.__EnumValue = __EnumValue; -let TypeKind; +var TypeKind; exports.TypeKind = TypeKind; (function (TypeKind) { TypeKind['SCALAR'] = 'SCALAR'; @@ -34126,7 +35530,7 @@ var _definition = __webpack_require__(/*! ../type/definition.mjs */ "../../../no var _scalars = __webpack_require__(/*! ../type/scalars.mjs */ "../../../node_modules/graphql/type/scalars.mjs"); var _astFromValue = __webpack_require__(/*! ./astFromValue.mjs */ "../../../node_modules/graphql/utilities/astFromValue.mjs"); var _sortValueNode = __webpack_require__(/*! ./sortValueNode.mjs */ "../../../node_modules/graphql/utilities/sortValueNode.mjs"); -let BreakingChangeType; +var BreakingChangeType; exports.BreakingChangeType = BreakingChangeType; (function (BreakingChangeType) { BreakingChangeType['TYPE_REMOVED'] = 'TYPE_REMOVED'; @@ -34146,7 +35550,7 @@ exports.BreakingChangeType = BreakingChangeType; BreakingChangeType['DIRECTIVE_REPEATABLE_REMOVED'] = 'DIRECTIVE_REPEATABLE_REMOVED'; BreakingChangeType['DIRECTIVE_LOCATION_REMOVED'] = 'DIRECTIVE_LOCATION_REMOVED'; })(BreakingChangeType || (exports.BreakingChangeType = BreakingChangeType = {})); -let DangerousChangeType; +var DangerousChangeType; exports.DangerousChangeType = DangerousChangeType; (function (DangerousChangeType) { DangerousChangeType['VALUE_ADDED_TO_ENUM'] = 'VALUE_ADDED_TO_ENUM'; @@ -34156,7 +35560,6 @@ exports.DangerousChangeType = DangerousChangeType; DangerousChangeType['IMPLEMENTED_INTERFACE_ADDED'] = 'IMPLEMENTED_INTERFACE_ADDED'; DangerousChangeType['ARG_DEFAULT_VALUE_CHANGE'] = 'ARG_DEFAULT_VALUE_CHANGE'; })(DangerousChangeType || (exports.DangerousChangeType = DangerousChangeType = {})); - /** * Given two schemas, returns an Array containing descriptions of all the types * of breaking changes covered by the other functions down below. @@ -34630,6 +36033,14 @@ function getIntrospectionQuery(options) { ofType { kind name + ofType { + kind + name + ofType { + kind + name + } + } } } } @@ -37569,7 +38980,7 @@ function findConflict(context, cachedFieldsAndFragmentNames, comparedFragmentPai return [[responseName, `"${name1}" and "${name2}" are different fields`], [node1], [node2]]; } // Two field calls must have the same arguments. - if (stringifyArguments(node1) !== stringifyArguments(node2)) { + if (!sameArguments(node1, node2)) { return [[responseName, 'they have differing arguments'], [node1], [node2]]; } } // The return type for each field. @@ -37589,21 +39000,41 @@ function findConflict(context, cachedFieldsAndFragmentNames, comparedFragmentPai return subfieldConflicts(conflicts, responseName, node1, node2); } } -function stringifyArguments(fieldNode) { - var _fieldNode$arguments; +function sameArguments(node1, node2) { + const args1 = node1.arguments; + const args2 = node2.arguments; + if (args1 === undefined || args1.length === 0) { + return args2 === undefined || args2.length === 0; + } + if (args2 === undefined || args2.length === 0) { + return false; + } + /* c8 ignore next */ - // FIXME https://github.com/graphql/graphql-js/issues/2203 - const args = /* c8 ignore next */ - (_fieldNode$arguments = fieldNode.arguments) !== null && _fieldNode$arguments !== void 0 ? _fieldNode$arguments : []; - const inputObjectWithArgs = { - kind: _kinds.Kind.OBJECT, - fields: args.map(argNode => ({ - kind: _kinds.Kind.OBJECT_FIELD, - name: argNode.name, - value: argNode.value - })) - }; - return (0, _printer.print)((0, _sortValueNode.sortValueNode)(inputObjectWithArgs)); + if (args1.length !== args2.length) { + /* c8 ignore next */ + return false; + /* c8 ignore next */ + } + + const values2 = new Map(args2.map(_ref2 => { + let { + name, + value + } = _ref2; + return [name.value, value]; + })); + return args1.every(arg1 => { + const value1 = arg1.value; + const value2 = values2.get(arg1.name.value); + if (value2 === undefined) { + return false; + } + return stringifyValue(value1) === stringifyValue(value2); + }); +} +function stringifyValue(value) { + return (0, _printer.print)((0, _sortValueNode.sortValueNode)(value)); } // Two types conflict if both types could not apply to a value simultaneously. // Composite types are ignored as their individual field types will be compared // later recursively. However List and Non-Null types must match. @@ -37686,14 +39117,14 @@ function _collectFieldsAndFragmentNames(context, parentType, selectionSet, nodeA function subfieldConflicts(conflicts, responseName, node1, node2) { if (conflicts.length > 0) { - return [[responseName, conflicts.map(_ref2 => { - let [reason] = _ref2; + return [[responseName, conflicts.map(_ref3 => { + let [reason] = _ref3; return reason; - })], [node1, ...conflicts.map(_ref3 => { - let [, fields1] = _ref3; + })], [node1, ...conflicts.map(_ref4 => { + let [, fields1] = _ref4; return fields1; - }).flat()], [node2, ...conflicts.map(_ref4 => { - let [,, fields2] = _ref4; + }).flat()], [node2, ...conflicts.map(_ref5 => { + let [,, fields2] = _ref5; return fields2; }).flat()]]; } @@ -39425,15 +40856,15 @@ exports.versionInfo = exports.version = void 0; /** * A string containing the version of the GraphQL.js library */ -const version = '16.5.0'; +const version = '16.8.1'; /** * An object containing the components of the GraphQL.js version string */ exports.version = version; const versionInfo = Object.freeze({ major: 16, - minor: 5, - patch: 0, + minor: 8, + patch: 1, preReleaseTag: null }); exports.versionInfo = versionInfo; @@ -39574,17467 +41005,9967 @@ module.exports = function isObject(val) { /***/ }), -/***/ "../../../node_modules/linkify-it/index.js": -/*!*************************************************!*\ - !*** ../../../node_modules/linkify-it/index.js ***! - \*************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - - - -//////////////////////////////////////////////////////////////////////////////// -// Helpers +/***/ "../../../node_modules/meros/browser/index.mjs": +/*!*****************************************************!*\ + !*** ../../../node_modules/meros/browser/index.mjs ***! + \*****************************************************/ +/***/ (function(__unused_webpack_module, exports) { -// Merge objects -// -function assign(obj /*from1, from2, from3, ...*/) { - var sources = Array.prototype.slice.call(arguments, 1); - sources.forEach(function (source) { - if (!source) { - return; - } - Object.keys(source).forEach(function (key) { - obj[key] = source[key]; - }); - }); - return obj; -} -function _class(obj) { - return Object.prototype.toString.call(obj); -} -function isString(obj) { - return _class(obj) === '[object String]'; -} -function isObject(obj) { - return _class(obj) === '[object Object]'; -} -function isRegExp(obj) { - return _class(obj) === '[object RegExp]'; -} -function isFunction(obj) { - return _class(obj) === '[object Function]'; -} -function escapeRE(str) { - return str.replace(/[.?*+^$[\]\\(){}|-]/g, '\\$&'); -} -//////////////////////////////////////////////////////////////////////////////// -var defaultOptions = { - fuzzyLink: true, - fuzzyEmail: true, - fuzzyIP: false -}; -function isOptionsObj(obj) { - return Object.keys(obj || {}).reduce(function (acc, k) { - return acc || defaultOptions.hasOwnProperty(k); - }, false); -} -var defaultSchemas = { - 'http:': { - validate: function (text, pos, self) { - var tail = text.slice(pos); - if (!self.re.http) { - // compile lazily, because "host"-containing variables can change on tlds update. - self.re.http = new RegExp('^\\/\\/' + self.re.src_auth + self.re.src_host_port_strict + self.re.src_path, 'i'); - } - if (self.re.http.test(tail)) { - return tail.match(self.re.http)[0].length; - } - return 0; - } - }, - 'https:': 'http:', - 'ftp:': 'http:', - '//': { - validate: function (text, pos, self) { - var tail = text.slice(pos); - if (!self.re.no_http) { - // compile lazily, because "host"-containing variables can change on tlds update. - self.re.no_http = new RegExp('^' + self.re.src_auth + - // Don't allow single-level domains, because of false positives like '//test' - // with code comments - '(?:localhost|(?:(?:' + self.re.src_domain + ')\\.)+' + self.re.src_domain_root + ')' + self.re.src_port + self.re.src_host_terminator + self.re.src_path, 'i'); +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.meros = meros; +const separator = '\r\n\r\n'; +const decoder = new TextDecoder(); +async function* generate(stream, boundary, options) { + const reader = stream.getReader(), + is_eager = !options || !options.multiple; + let buffer = '', + is_preamble = true, + payloads = []; + try { + let result; + outer: while (!(result = await reader.read()).done) { + const chunk = decoder.decode(result.value); + const idx_chunk = chunk.indexOf(boundary); + let idx_boundary = buffer.length; + buffer += chunk; + if (!!~idx_chunk) { + // chunk itself had `boundary` marker + idx_boundary += idx_chunk; + } else { + // search combined (boundary can be across chunks) + idx_boundary = buffer.indexOf(boundary); } - if (self.re.no_http.test(tail)) { - // should not be `://` & `///`, that protects from errors in protocol name - if (pos >= 3 && text[pos - 3] === ':') { - return 0; - } - if (pos >= 3 && text[pos - 3] === '/') { - return 0; + payloads = []; + while (!!~idx_boundary) { + const current = buffer.substring(0, idx_boundary); + const next = buffer.substring(idx_boundary + boundary.length); + if (is_preamble) { + is_preamble = false; + } else { + const headers = {}; + const idx_headers = current.indexOf(separator); + const arr_headers = buffer.slice(0, idx_headers).toString().trim().split(/\r\n/); + // parse headers + let tmp; + while (tmp = arr_headers.shift()) { + tmp = tmp.split(': '); + headers[tmp.shift().toLowerCase()] = tmp.join(': '); + } + let body = current.substring(idx_headers + separator.length, current.lastIndexOf('\r\n')); + let is_json = false; + tmp = headers['content-type']; + if (tmp && !!~tmp.indexOf('application/json')) { + try { + body = JSON.parse(body); + is_json = true; + } catch (_) {} + } + tmp = { + headers, + body, + json: is_json + }; + is_eager ? yield tmp : payloads.push(tmp); + // hit a tail boundary, break + if (next.substring(0, 2) === '--') break outer; } - return tail.match(self.re.no_http)[0].length; - } - return 0; - } - }, - 'mailto:': { - validate: function (text, pos, self) { - var tail = text.slice(pos); - if (!self.re.mailto) { - self.re.mailto = new RegExp('^' + self.re.src_email_name + '@' + self.re.src_host_strict, 'i'); - } - if (self.re.mailto.test(tail)) { - return tail.match(self.re.mailto)[0].length; + buffer = next; + idx_boundary = buffer.indexOf(boundary); } - return 0; + if (payloads.length) yield payloads; } + } finally { + if (payloads.length) yield payloads; + reader.releaseLock(); } -}; +} -/*eslint-disable max-len*/ +/** + * Yield immediately for every part made available on the response. If the `content-type` of the response isn't a + * multipart body, then we'll resolve with {@link Response}. + * + * @example + * + * ```js + * const parts = await fetch('/fetch-multipart') + * .then(meros); + * + * for await (const part of parts) { + * // do something with this part + * } + * ``` + */ +async function meros(response, options) { + if (!response.ok || !response.body || response.bodyUsed) return response; + const ctype = response.headers.get('content-type'); + if (!ctype || !~ctype.indexOf('multipart/mixed')) return response; + const idx_boundary = ctype.indexOf('boundary='); + return generate(response.body, `--${!!~idx_boundary ? + // +9 for 'boundary='.length + ctype.substring(idx_boundary + 9).trim().replace(/['"]/g, '') : '-'}`, options); +} -// RE pattern for 2-character tlds (autogenerated by ./support/tlds_2char_gen.js) -var tlds_2ch_src_re = 'a[cdefgilmnoqrstuwxz]|b[abdefghijmnorstvwyz]|c[acdfghiklmnoruvwxyz]|d[ejkmoz]|e[cegrstu]|f[ijkmor]|g[abdefghilmnpqrstuwy]|h[kmnrtu]|i[delmnoqrst]|j[emop]|k[eghimnprwyz]|l[abcikrstuvy]|m[acdeghklmnopqrstuvwxyz]|n[acefgilopruz]|om|p[aefghklmnrstwy]|qa|r[eosuw]|s[abcdeghijklmnortuvxyz]|t[cdfghjklmnortvwz]|u[agksyz]|v[aceginu]|w[fs]|y[et]|z[amw]'; +/***/ }), -// DON'T try to make PRs with changes. Extend TLDs with LinkifyIt.tlds() instead -var tlds_default = 'biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф'.split('|'); +/***/ "../../../node_modules/nullthrows/nullthrows.js": +/*!******************************************************!*\ + !*** ../../../node_modules/nullthrows/nullthrows.js ***! + \******************************************************/ +/***/ (function(module) { -/*eslint-enable max-len*/ -//////////////////////////////////////////////////////////////////////////////// -function resetScanCache(self) { - self.__index__ = -1; - self.__text_cache__ = ''; -} -function createValidator(re) { - return function (text, pos) { - var tail = text.slice(pos); - if (re.test(tail)) { - return tail.match(re)[0].length; - } - return 0; - }; -} -function createNormalizer() { - return function (match, self) { - self.normalize(match); - }; +function nullthrows(x, message) { + if (x != null) { + return x; + } + var error = new Error(message !== undefined ? message : 'Got unexpected ' + x); + error.framesToPop = 1; // Skip nullthrows's own stack frame. + throw error; } +module.exports = nullthrows; +module.exports["default"] = nullthrows; +Object.defineProperty(module.exports, "__esModule", ({ + value: true +})); -// Schemas compiler. Build regexps. -// -function compile(self) { - // Load & clone RE patterns. - var re = self.re = __webpack_require__(/*! ./lib/re */ "../../../node_modules/linkify-it/lib/re.js")(self.__opts__); +/***/ }), - // Define dynamic patterns - var tlds = self.__tlds__.slice(); - self.onCompile(); - if (!self.__tlds_replaced__) { - tlds.push(tlds_2ch_src_re); - } - tlds.push(re.src_xn); - re.src_tlds = tlds.join('|'); - function untpl(tpl) { - return tpl.replace('%TLDS%', re.src_tlds); - } - re.email_fuzzy = RegExp(untpl(re.tpl_email_fuzzy), 'i'); - re.link_fuzzy = RegExp(untpl(re.tpl_link_fuzzy), 'i'); - re.link_no_ip_fuzzy = RegExp(untpl(re.tpl_link_no_ip_fuzzy), 'i'); - re.host_fuzzy_test = RegExp(untpl(re.tpl_host_fuzzy_test), 'i'); +/***/ "../../../node_modules/popmotion/dist/popmotion.cjs.js": +/*!*************************************************************!*\ + !*** ../../../node_modules/popmotion/dist/popmotion.cjs.js ***! + \*************************************************************/ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - // - // Compile each schema - // - var aliases = []; - self.__compiled__ = {}; // Reset compiled data - function schemaError(name, val) { - throw new Error('(LinkifyIt) Invalid schema "' + name + '": ' + val); +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +var tslib = __webpack_require__(/*! tslib */ "../../../node_modules/tslib/tslib.es6.js"); +var heyListen = __webpack_require__(/*! hey-listen */ "../../../node_modules/hey-listen/dist/hey-listen.es.js"); +var styleValueTypes = __webpack_require__(/*! style-value-types */ "../../../node_modules/style-value-types/dist/valueTypes.cjs.js"); +var sync = __webpack_require__(/*! framesync */ "../../../node_modules/framesync/dist/framesync.cjs.js"); +function _interopDefaultLegacy(e) { + return e && typeof e === 'object' && 'default' in e ? e : { + 'default': e + }; +} +var sync__default = /*#__PURE__*/_interopDefaultLegacy(sync); +const clamp = (min, max, v) => Math.min(Math.max(v, min), max); +const safeMin = 0.001; +const minDuration = 0.01; +const maxDuration = 10.0; +const minDamping = 0.05; +const maxDamping = 1; +function findSpring(_ref) { + let { + duration = 800, + bounce = 0.25, + velocity = 0, + mass = 1 + } = _ref; + let envelope; + let derivative; + heyListen.warning(duration <= maxDuration * 1000, "Spring duration must be 10 seconds or less"); + let dampingRatio = 1 - bounce; + dampingRatio = clamp(minDamping, maxDamping, dampingRatio); + duration = clamp(minDuration, maxDuration, duration / 1000); + if (dampingRatio < 1) { + envelope = undampedFreq => { + const exponentialDecay = undampedFreq * dampingRatio; + const delta = exponentialDecay * duration; + const a = exponentialDecay - velocity; + const b = calcAngularFreq(undampedFreq, dampingRatio); + const c = Math.exp(-delta); + return safeMin - a / b * c; + }; + derivative = undampedFreq => { + const exponentialDecay = undampedFreq * dampingRatio; + const delta = exponentialDecay * duration; + const d = delta * velocity + velocity; + const e = Math.pow(dampingRatio, 2) * Math.pow(undampedFreq, 2) * duration; + const f = Math.exp(-delta); + const g = calcAngularFreq(Math.pow(undampedFreq, 2), dampingRatio); + const factor = -envelope(undampedFreq) + safeMin > 0 ? -1 : 1; + return factor * ((d - e) * f) / g; + }; + } else { + envelope = undampedFreq => { + const a = Math.exp(-undampedFreq * duration); + const b = (undampedFreq - velocity) * duration + 1; + return -safeMin + a * b; + }; + derivative = undampedFreq => { + const a = Math.exp(-undampedFreq * duration); + const b = (velocity - undampedFreq) * (duration * duration); + return a * b; + }; } - Object.keys(self.__schemas__).forEach(function (name) { - var val = self.__schemas__[name]; - - // skip disabled methods - if (val === null) { - return; - } - var compiled = { - validate: null, - link: null + const initialGuess = 5 / duration; + const undampedFreq = approximateRoot(envelope, derivative, initialGuess); + duration = duration * 1000; + if (isNaN(undampedFreq)) { + return { + stiffness: 100, + damping: 10, + duration }; - self.__compiled__[name] = compiled; - if (isObject(val)) { - if (isRegExp(val.validate)) { - compiled.validate = createValidator(val.validate); - } else if (isFunction(val.validate)) { - compiled.validate = val.validate; - } else { - schemaError(name, val); - } - if (isFunction(val.normalize)) { - compiled.normalize = val.normalize; - } else if (!val.normalize) { - compiled.normalize = createNormalizer(); - } else { - schemaError(name, val); - } - return; - } - if (isString(val)) { - aliases.push(name); - return; - } - schemaError(name, val); - }); - - // - // Compile postponed aliases - // - - aliases.forEach(function (alias) { - if (!self.__compiled__[self.__schemas__[alias]]) { - // Silently fail on missed schemas to avoid errons on disable. - // schemaError(alias, self.__schemas__[alias]); - return; - } - self.__compiled__[alias].validate = self.__compiled__[self.__schemas__[alias]].validate; - self.__compiled__[alias].normalize = self.__compiled__[self.__schemas__[alias]].normalize; - }); - - // - // Fake record for guessed links - // - self.__compiled__[''] = { - validate: null, - normalize: createNormalizer() - }; - - // - // Build schema condition - // - var slist = Object.keys(self.__compiled__).filter(function (name) { - // Filter disabled & fake schemas - return name.length > 0 && self.__compiled__[name]; - }).map(escapeRE).join('|'); - // (?!_) cause 1.5x slowdown - self.re.schema_test = RegExp('(^|(?!_)(?:[><\uff5c]|' + re.src_ZPCc + '))(' + slist + ')', 'i'); - self.re.schema_search = RegExp('(^|(?!_)(?:[><\uff5c]|' + re.src_ZPCc + '))(' + slist + ')', 'ig'); - self.re.pretest = RegExp('(' + self.re.schema_test.source + ')|(' + self.re.host_fuzzy_test.source + ')|@', 'i'); - - // - // Cleanup - // - - resetScanCache(self); + } else { + const stiffness = Math.pow(undampedFreq, 2) * mass; + return { + stiffness, + damping: dampingRatio * 2 * Math.sqrt(mass * stiffness), + duration + }; + } } - -/** - * class Match - * - * Match result. Single element of array, returned by [[LinkifyIt#match]] - **/ -function Match(self, shift) { - var start = self.__index__, - end = self.__last_index__, - text = self.__text_cache__.slice(start, end); - - /** - * Match#schema -> String - * - * Prefix (protocol) for matched string. - **/ - this.schema = self.__schema__.toLowerCase(); - /** - * Match#index -> Number - * - * First position of matched string. - **/ - this.index = start + shift; - /** - * Match#lastIndex -> Number - * - * Next position after matched string. - **/ - this.lastIndex = end + shift; - /** - * Match#raw -> String - * - * Matched string. - **/ - this.raw = text; - /** - * Match#text -> String - * - * Notmalized text of matched string. - **/ - this.text = text; - /** - * Match#url -> String - * - * Normalized url of matched string. - **/ - this.url = text; +const rootIterations = 12; +function approximateRoot(envelope, derivative, initialGuess) { + let result = initialGuess; + for (let i = 1; i < rootIterations; i++) { + result = result - envelope(result) / derivative(result); + } + return result; } -function createMatch(self, shift) { - var match = new Match(self, shift); - self.__compiled__[match.schema].normalize(match, self); - return match; +function calcAngularFreq(undampedFreq, dampingRatio) { + return undampedFreq * Math.sqrt(1 - dampingRatio * dampingRatio); } - -/** - * class LinkifyIt - **/ - -/** - * new LinkifyIt(schemas, options) - * - schemas (Object): Optional. Additional schemas to validate (prefix/validator) - * - options (Object): { fuzzyLink|fuzzyEmail|fuzzyIP: true|false } - * - * Creates new linkifier instance with optional additional schemas. - * Can be called without `new` keyword for convenience. - * - * By default understands: - * - * - `http(s)://...` , `ftp://...`, `mailto:...` & `//...` links - * - "fuzzy" links and emails (example.com, foo@bar.com). - * - * `schemas` is an object, where each key/value describes protocol/rule: - * - * - __key__ - link prefix (usually, protocol name with `:` at the end, `skype:` - * for example). `linkify-it` makes shure that prefix is not preceeded with - * alphanumeric char and symbols. Only whitespaces and punctuation allowed. - * - __value__ - rule to check tail after link prefix - * - _String_ - just alias to existing rule - * - _Object_ - * - _validate_ - validator function (should return matched length on success), - * or `RegExp`. - * - _normalize_ - optional function to normalize text & url of matched result - * (for example, for @twitter mentions). - * - * `options`: - * - * - __fuzzyLink__ - recognige URL-s without `http(s):` prefix. Default `true`. - * - __fuzzyIP__ - allow IPs in fuzzy links above. Can conflict with some texts - * like version numbers. Default `false`. - * - __fuzzyEmail__ - recognize emails without `mailto:` prefix. - * - **/ -function LinkifyIt(schemas, options) { - if (!(this instanceof LinkifyIt)) { - return new LinkifyIt(schemas, options); +const durationKeys = ["duration", "bounce"]; +const physicsKeys = ["stiffness", "damping", "mass"]; +function isSpringType(options, keys) { + return keys.some(key => options[key] !== undefined); +} +function getSpringOptions(options) { + let springOptions = Object.assign({ + velocity: 0.0, + stiffness: 100, + damping: 10, + mass: 1.0, + isResolvedFromDuration: false + }, options); + if (!isSpringType(options, physicsKeys) && isSpringType(options, durationKeys)) { + const derived = findSpring(options); + springOptions = Object.assign(Object.assign(Object.assign({}, springOptions), derived), { + velocity: 0.0, + mass: 1.0 + }); + springOptions.isResolvedFromDuration = true; } - if (!options) { - if (isOptionsObj(schemas)) { - options = schemas; - schemas = {}; + return springOptions; +} +function spring(_a) { + var { + from = 0.0, + to = 1.0, + restSpeed = 2, + restDelta + } = _a, + options = tslib.__rest(_a, ["from", "to", "restSpeed", "restDelta"]); + const state = { + done: false, + value: from + }; + let { + stiffness, + damping, + mass, + velocity, + duration, + isResolvedFromDuration + } = getSpringOptions(options); + let resolveSpring = zero; + let resolveVelocity = zero; + function createSpring() { + const initialVelocity = velocity ? -(velocity / 1000) : 0.0; + const initialDelta = to - from; + const dampingRatio = damping / (2 * Math.sqrt(stiffness * mass)); + const undampedAngularFreq = Math.sqrt(stiffness / mass) / 1000; + if (restDelta === undefined) { + restDelta = Math.min(Math.abs(to - from) / 100, 0.4); + } + if (dampingRatio < 1) { + const angularFreq = calcAngularFreq(undampedAngularFreq, dampingRatio); + resolveSpring = t => { + const envelope = Math.exp(-dampingRatio * undampedAngularFreq * t); + return to - envelope * ((initialVelocity + dampingRatio * undampedAngularFreq * initialDelta) / angularFreq * Math.sin(angularFreq * t) + initialDelta * Math.cos(angularFreq * t)); + }; + resolveVelocity = t => { + const envelope = Math.exp(-dampingRatio * undampedAngularFreq * t); + return dampingRatio * undampedAngularFreq * envelope * (Math.sin(angularFreq * t) * (initialVelocity + dampingRatio * undampedAngularFreq * initialDelta) / angularFreq + initialDelta * Math.cos(angularFreq * t)) - envelope * (Math.cos(angularFreq * t) * (initialVelocity + dampingRatio * undampedAngularFreq * initialDelta) - angularFreq * initialDelta * Math.sin(angularFreq * t)); + }; + } else if (dampingRatio === 1) { + resolveSpring = t => to - Math.exp(-undampedAngularFreq * t) * (initialDelta + (initialVelocity + undampedAngularFreq * initialDelta) * t); + } else { + const dampedAngularFreq = undampedAngularFreq * Math.sqrt(dampingRatio * dampingRatio - 1); + resolveSpring = t => { + const envelope = Math.exp(-dampingRatio * undampedAngularFreq * t); + const freqForT = Math.min(dampedAngularFreq * t, 300); + return to - envelope * ((initialVelocity + dampingRatio * undampedAngularFreq * initialDelta) * Math.sinh(freqForT) + dampedAngularFreq * initialDelta * Math.cosh(freqForT)) / dampedAngularFreq; + }; } } - this.__opts__ = assign({}, defaultOptions, options); - - // Cache last tested result. Used to skip repeating steps on next `match` call. - this.__index__ = -1; - this.__last_index__ = -1; // Next scan position - this.__schema__ = ''; - this.__text_cache__ = ''; - this.__schemas__ = assign({}, defaultSchemas, schemas); - this.__compiled__ = {}; - this.__tlds__ = tlds_default; - this.__tlds_replaced__ = false; - this.re = {}; - compile(this); + createSpring(); + return { + next: t => { + const current = resolveSpring(t); + if (!isResolvedFromDuration) { + const currentVelocity = resolveVelocity(t) * 1000; + const isBelowVelocityThreshold = Math.abs(currentVelocity) <= restSpeed; + const isBelowDisplacementThreshold = Math.abs(to - current) <= restDelta; + state.done = isBelowVelocityThreshold && isBelowDisplacementThreshold; + } else { + state.done = t >= duration; + } + state.value = state.done ? to : current; + return state; + }, + flipTarget: () => { + velocity = -velocity; + [from, to] = [to, from]; + createSpring(); + } + }; } - -/** chainable - * LinkifyIt#add(schema, definition) - * - schema (String): rule name (fixed pattern prefix) - * - definition (String|RegExp|Object): schema definition - * - * Add new rule definition. See constructor description for details. - **/ -LinkifyIt.prototype.add = function add(schema, definition) { - this.__schemas__[schema] = definition; - compile(this); - return this; -}; - -/** chainable - * LinkifyIt#set(options) - * - options (Object): { fuzzyLink|fuzzyEmail|fuzzyIP: true|false } - * - * Set recognition options for links without schema. - **/ -LinkifyIt.prototype.set = function set(options) { - this.__opts__ = assign(this.__opts__, options); - return this; +spring.needsInterpolation = (a, b) => typeof a === "string" || typeof b === "string"; +const zero = _t => 0; +const progress = (from, to, value) => { + const toFromDifference = to - from; + return toFromDifference === 0 ? 1 : (value - from) / toFromDifference; }; - -/** - * LinkifyIt#test(text) -> Boolean - * - * Searches linkifiable pattern and returns `true` on success or `false` on fail. - **/ -LinkifyIt.prototype.test = function test(text) { - // Reset scan cache - this.__text_cache__ = text; - this.__index__ = -1; - if (!text.length) { - return false; +const mix = (from, to, progress) => -progress * from + progress * to + from; +function hueToRgb(p, q, t) { + if (t < 0) t += 1; + if (t > 1) t -= 1; + if (t < 1 / 6) return p + (q - p) * 6 * t; + if (t < 1 / 2) return q; + if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6; + return p; +} +function hslaToRgba(_ref2) { + let { + hue, + saturation, + lightness, + alpha + } = _ref2; + hue /= 360; + saturation /= 100; + lightness /= 100; + let red = 0; + let green = 0; + let blue = 0; + if (!saturation) { + red = green = blue = lightness; + } else { + const q = lightness < 0.5 ? lightness * (1 + saturation) : lightness + saturation - lightness * saturation; + const p = 2 * lightness - q; + red = hueToRgb(p, q, hue + 1 / 3); + green = hueToRgb(p, q, hue); + blue = hueToRgb(p, q, hue - 1 / 3); } - var m, ml, me, len, shift, next, re, tld_pos, at_pos; - - // try to scan for link with schema - that's the most simple rule - if (this.re.schema_test.test(text)) { - re = this.re.schema_search; - re.lastIndex = 0; - while ((m = re.exec(text)) !== null) { - len = this.testSchemaAt(text, m[2], re.lastIndex); - if (len) { - this.__schema__ = m[2]; - this.__index__ = m.index + m[1].length; - this.__last_index__ = m.index + m[0].length + len; - break; - } - } + return { + red: Math.round(red * 255), + green: Math.round(green * 255), + blue: Math.round(blue * 255), + alpha + }; +} +const mixLinearColor = (from, to, v) => { + const fromExpo = from * from; + const toExpo = to * to; + return Math.sqrt(Math.max(0, v * (toExpo - fromExpo) + fromExpo)); +}; +const colorTypes = [styleValueTypes.hex, styleValueTypes.rgba, styleValueTypes.hsla]; +const getColorType = v => colorTypes.find(type => type.test(v)); +const notAnimatable = color => `'${color}' is not an animatable color. Use the equivalent color code instead.`; +const mixColor = (from, to) => { + let fromColorType = getColorType(from); + let toColorType = getColorType(to); + heyListen.invariant(!!fromColorType, notAnimatable(from)); + heyListen.invariant(!!toColorType, notAnimatable(to)); + let fromColor = fromColorType.parse(from); + let toColor = toColorType.parse(to); + if (fromColorType === styleValueTypes.hsla) { + fromColor = hslaToRgba(fromColor); + fromColorType = styleValueTypes.rgba; } - if (this.__opts__.fuzzyLink && this.__compiled__['http:']) { - // guess schemaless links - tld_pos = text.search(this.re.host_fuzzy_test); - if (tld_pos >= 0) { - // if tld is located after found link - no need to check fuzzy pattern - if (this.__index__ < 0 || tld_pos < this.__index__) { - if ((ml = text.match(this.__opts__.fuzzyIP ? this.re.link_fuzzy : this.re.link_no_ip_fuzzy)) !== null) { - shift = ml.index + ml[1].length; - if (this.__index__ < 0 || shift < this.__index__) { - this.__schema__ = ''; - this.__index__ = shift; - this.__last_index__ = ml.index + ml[0].length; - } - } - } - } + if (toColorType === styleValueTypes.hsla) { + toColor = hslaToRgba(toColor); + toColorType = styleValueTypes.rgba; } - if (this.__opts__.fuzzyEmail && this.__compiled__['mailto:']) { - // guess schemaless emails - at_pos = text.indexOf('@'); - if (at_pos >= 0) { - // We can't skip this check, because this cases are possible: - // 192.168.1.1@gmail.com, my.in@example.com - if ((me = text.match(this.re.email_fuzzy)) !== null) { - shift = me.index + me[1].length; - next = me.index + me[0].length; - if (this.__index__ < 0 || shift < this.__index__ || shift === this.__index__ && next > this.__last_index__) { - this.__schema__ = 'mailto:'; - this.__index__ = shift; - this.__last_index__ = next; - } + const blended = Object.assign({}, fromColor); + return v => { + for (const key in blended) { + if (key !== "alpha") { + blended[key] = mixLinearColor(fromColor[key], toColor[key], v); } } - } - return this.__index__ >= 0; + blended.alpha = mix(fromColor.alpha, toColor.alpha, v); + return fromColorType.transform(blended); + }; }; - -/** - * LinkifyIt#pretest(text) -> Boolean - * - * Very quick check, that can give false positives. Returns true if link MAY BE - * can exists. Can be used for speed optimization, when you need to check that - * link NOT exists. - **/ -LinkifyIt.prototype.pretest = function pretest(text) { - return this.re.pretest.test(text); +const zeroPoint = { + x: 0, + y: 0, + z: 0 }; - -/** - * LinkifyIt#testSchemaAt(text, name, position) -> Number - * - text (String): text to scan - * - name (String): rule (schema) name - * - position (Number): text offset to check from - * - * Similar to [[LinkifyIt#test]] but checks only specific protocol tail exactly - * at given position. Returns length of found pattern (0 on fail). - **/ -LinkifyIt.prototype.testSchemaAt = function testSchemaAt(text, schema, pos) { - // If not supported schema check requested - terminate - if (!this.__compiled__[schema.toLowerCase()]) { - return 0; +const isNum = v => typeof v === 'number'; +const combineFunctions = (a, b) => v => b(a(v)); +const pipe = function () { + for (var _len = arguments.length, transformers = new Array(_len), _key = 0; _key < _len; _key++) { + transformers[_key] = arguments[_key]; } - return this.__compiled__[schema.toLowerCase()].validate(text, pos, this); + return transformers.reduce(combineFunctions); }; - -/** - * LinkifyIt#match(text) -> Array|null - * - * Returns array of found link descriptions or `null` on fail. We strongly - * recommend to use [[LinkifyIt#test]] first, for best speed. - * - * ##### Result match description - * - * - __schema__ - link schema, can be empty for fuzzy links, or `//` for - * protocol-neutral links. - * - __index__ - offset of matched text - * - __lastIndex__ - index of next char after mathch end - * - __raw__ - matched text - * - __text__ - normalized text - * - __url__ - link, generated from matched text - **/ -LinkifyIt.prototype.match = function match(text) { - var shift = 0, - result = []; - - // Try to take previous element from cache, if .test() called before - if (this.__index__ >= 0 && this.__text_cache__ === text) { - result.push(createMatch(this, shift)); - shift = this.__last_index__; - } - - // Cut head if cache was used - var tail = shift ? text.slice(shift) : text; - - // Scan string until end reached - while (this.test(tail)) { - result.push(createMatch(this, shift)); - tail = tail.slice(this.__last_index__); - shift += this.__last_index__; - } - if (result.length) { - return result; +function getMixer(origin, target) { + if (isNum(origin)) { + return v => mix(origin, target, v); + } else if (styleValueTypes.color.test(origin)) { + return mixColor(origin, target); + } else { + return mixComplex(origin, target); } - return null; +} +const mixArray = (from, to) => { + const output = [...from]; + const numValues = output.length; + const blendValue = from.map((fromThis, i) => getMixer(fromThis, to[i])); + return v => { + for (let i = 0; i < numValues; i++) { + output[i] = blendValue[i](v); + } + return output; + }; }; - -/** chainable - * LinkifyIt#tlds(list [, keepOld]) -> this - * - list (Array): list of tlds - * - keepOld (Boolean): merge with current list if `true` (`false` by default) - * - * Load (or merge) new tlds list. Those are user for fuzzy links (without prefix) - * to avoid false positives. By default this algorythm used: - * - * - hostname with any 2-letter root zones are ok. - * - biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф - * are ok. - * - encoded (`xn--...`) root zones are ok. - * - * If list is replaced, then exact match for 2-chars root zones will be checked. - **/ -LinkifyIt.prototype.tlds = function tlds(list, keepOld) { - list = Array.isArray(list) ? list : [list]; - if (!keepOld) { - this.__tlds__ = list.slice(); - this.__tlds_replaced__ = true; - compile(this); - return this; +const mixObject = (origin, target) => { + const output = Object.assign(Object.assign({}, origin), target); + const blendValue = {}; + for (const key in output) { + if (origin[key] !== undefined && target[key] !== undefined) { + blendValue[key] = getMixer(origin[key], target[key]); + } } - this.__tlds__ = this.__tlds__.concat(list).sort().filter(function (el, idx, arr) { - return el !== arr[idx - 1]; - }).reverse(); - compile(this); - return this; + return v => { + for (const key in blendValue) { + output[key] = blendValue[key](v); + } + return output; + }; }; - -/** - * LinkifyIt#normalize(match) - * - * Default normalizer (if schema does not define it's own). - **/ -LinkifyIt.prototype.normalize = function normalize(match) { - // Do minimal possible changes by default. Need to collect feedback prior - // to move forward https://github.com/markdown-it/linkify-it/issues/1 - - if (!match.schema) { - match.url = 'http://' + match.url; - } - if (match.schema === 'mailto:' && !/^mailto:/i.test(match.url)) { - match.url = 'mailto:' + match.url; +function analyse(value) { + const parsed = styleValueTypes.complex.parse(value); + const numValues = parsed.length; + let numNumbers = 0; + let numRGB = 0; + let numHSL = 0; + for (let i = 0; i < numValues; i++) { + if (numNumbers || typeof parsed[i] === "number") { + numNumbers++; + } else { + if (parsed[i].hue !== undefined) { + numHSL++; + } else { + numRGB++; + } + } + } + return { + parsed, + numNumbers, + numRGB, + numHSL + }; +} +const mixComplex = (origin, target) => { + const template = styleValueTypes.complex.createTransformer(target); + const originStats = analyse(origin); + const targetStats = analyse(target); + const canInterpolate = originStats.numHSL === targetStats.numHSL && originStats.numRGB === targetStats.numRGB && originStats.numNumbers >= targetStats.numNumbers; + if (canInterpolate) { + return pipe(mixArray(originStats.parsed, targetStats.parsed), template); + } else { + heyListen.warning(true, `Complex values '${origin}' and '${target}' too different to mix. Ensure all colors are of the same type, and that each contains the same quantity of number and color values. Falling back to instant transition.`); + return p => `${p > 0 ? target : origin}`; } }; - -/** - * LinkifyIt#onCompile() - * - * Override to modify basic RegExp-s. - **/ -LinkifyIt.prototype.onCompile = function onCompile() {}; -module.exports = LinkifyIt; - -/***/ }), - -/***/ "../../../node_modules/linkify-it/lib/re.js": -/*!**************************************************!*\ - !*** ../../../node_modules/linkify-it/lib/re.js ***! - \**************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - - - -module.exports = function (opts) { - var re = {}; - - // Use direct extract instead of `regenerate` to reduse browserified size - re.src_Any = (__webpack_require__(/*! uc.micro/properties/Any/regex */ "../../../node_modules/uc.micro/properties/Any/regex.js").source); - re.src_Cc = (__webpack_require__(/*! uc.micro/categories/Cc/regex */ "../../../node_modules/uc.micro/categories/Cc/regex.js").source); - re.src_Z = (__webpack_require__(/*! uc.micro/categories/Z/regex */ "../../../node_modules/uc.micro/categories/Z/regex.js").source); - re.src_P = (__webpack_require__(/*! uc.micro/categories/P/regex */ "../../../node_modules/uc.micro/categories/P/regex.js").source); - - // \p{\Z\P\Cc\CF} (white spaces + control + format + punctuation) - re.src_ZPCc = [re.src_Z, re.src_P, re.src_Cc].join('|'); - - // \p{\Z\Cc} (white spaces + control) - re.src_ZCc = [re.src_Z, re.src_Cc].join('|'); - - // Experimental. List of chars, completely prohibited in links - // because can separate it from other part of text - var text_separators = '[><\uff5c]'; - - // All possible word characters (everything without punctuation, spaces & controls) - // Defined via punctuation & spaces to save space - // Should be something like \p{\L\N\S\M} (\w but without `_`) - re.src_pseudo_letter = '(?:(?!' + text_separators + '|' + re.src_ZPCc + ')' + re.src_Any + ')'; - // The same as abothe but without [0-9] - // var src_pseudo_letter_non_d = '(?:(?![0-9]|' + src_ZPCc + ')' + src_Any + ')'; - - //////////////////////////////////////////////////////////////////////////////// - - re.src_ip4 = '(?:(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)'; - - // Prohibit any of "@/[]()" in user/pass to avoid wrong domain fetch. - re.src_auth = '(?:(?:(?!' + re.src_ZCc + '|[@/\\[\\]()]).)+@)?'; - re.src_port = '(?::(?:6(?:[0-4]\\d{3}|5(?:[0-4]\\d{2}|5(?:[0-2]\\d|3[0-5])))|[1-5]?\\d{1,4}))?'; - re.src_host_terminator = '(?=$|' + text_separators + '|' + re.src_ZPCc + ')(?!-|_|:\\d|\\.-|\\.(?!$|' + re.src_ZPCc + '))'; - re.src_path = '(?:' + '[/?#]' + '(?:' + '(?!' + re.src_ZCc + '|' + text_separators + '|[()[\\]{}.,"\'?!\\-;]).|' + '\\[(?:(?!' + re.src_ZCc + '|\\]).)*\\]|' + '\\((?:(?!' + re.src_ZCc + '|[)]).)*\\)|' + '\\{(?:(?!' + re.src_ZCc + '|[}]).)*\\}|' + '\\"(?:(?!' + re.src_ZCc + '|["]).)+\\"|' + "\\'(?:(?!" + re.src_ZCc + "|[']).)+\\'|" + "\\'(?=" + re.src_pseudo_letter + '|[-]).|' + - // allow `I'm_king` if no pair found - '\\.{2,}[a-zA-Z0-9%/&]|' + - // google has many dots in "google search" links (#66, #81). - // github has ... in commit range links, - // Restrict to - // - english - // - percent-encoded - // - parts of file path - // - params separator - // until more examples found. - '\\.(?!' + re.src_ZCc + '|[.]).|' + (opts && opts['---'] ? '\\-(?!--(?:[^-]|$))(?:-*)|' // `---` => long dash, terminate - : '\\-+|') + ',(?!' + re.src_ZCc + ').|' + - // allow `,,,` in paths - ';(?!' + re.src_ZCc + ').|' + - // allow `;` if not followed by space-like char - '\\!+(?!' + re.src_ZCc + '|[!]).|' + - // allow `!!!` in paths, but not at the end - '\\?(?!' + re.src_ZCc + '|[?]).' + ')+' + '|\\/' + ')?'; - - // Allow anything in markdown spec, forbid quote (") at the first position - // because emails enclosed in quotes are far more common - re.src_email_name = '[\\-;:&=\\+\\$,\\.a-zA-Z0-9_][\\-;:&=\\+\\$,\\"\\.a-zA-Z0-9_]*'; - re.src_xn = 'xn--[a-z0-9\\-]{1,59}'; - - // More to read about domain names - // http://serverfault.com/questions/638260/ - - re.src_domain_root = - // Allow letters & digits (http://test1) - '(?:' + re.src_xn + '|' + re.src_pseudo_letter + '{1,63}' + ')'; - re.src_domain = '(?:' + re.src_xn + '|' + '(?:' + re.src_pseudo_letter + ')' + '|' + '(?:' + re.src_pseudo_letter + '(?:-|' + re.src_pseudo_letter + '){0,61}' + re.src_pseudo_letter + ')' + ')'; - re.src_host = '(?:' + - // Don't need IP check, because digits are already allowed in normal domain names - // src_ip4 + - // '|' + - '(?:(?:(?:' + re.src_domain + ')\\.)*' + re.src_domain /*_root*/ + ')' + ')'; - re.tpl_host_fuzzy = '(?:' + re.src_ip4 + '|' + '(?:(?:(?:' + re.src_domain + ')\\.)+(?:%TLDS%))' + ')'; - re.tpl_host_no_ip_fuzzy = '(?:(?:(?:' + re.src_domain + ')\\.)+(?:%TLDS%))'; - re.src_host_strict = re.src_host + re.src_host_terminator; - re.tpl_host_fuzzy_strict = re.tpl_host_fuzzy + re.src_host_terminator; - re.src_host_port_strict = re.src_host + re.src_port + re.src_host_terminator; - re.tpl_host_port_fuzzy_strict = re.tpl_host_fuzzy + re.src_port + re.src_host_terminator; - re.tpl_host_port_no_ip_fuzzy_strict = re.tpl_host_no_ip_fuzzy + re.src_port + re.src_host_terminator; - - //////////////////////////////////////////////////////////////////////////////// - // Main rules - - // Rude test fuzzy links by host, for quick deny - re.tpl_host_fuzzy_test = 'localhost|www\\.|\\.\\d{1,3}\\.|(?:\\.(?:%TLDS%)(?:' + re.src_ZPCc + '|>|$))'; - re.tpl_email_fuzzy = '(^|' + text_separators + '|"|\\(|' + re.src_ZCc + ')' + '(' + re.src_email_name + '@' + re.tpl_host_fuzzy_strict + ')'; - re.tpl_link_fuzzy = - // Fuzzy link can't be prepended with .:/\- and non punctuation. - // but can start with > (markdown blockquote) - '(^|(?![.:/\\-_@])(?:[$+<=>^`|\uff5c]|' + re.src_ZPCc + '))' + '((?![$+<=>^`|\uff5c])' + re.tpl_host_port_fuzzy_strict + re.src_path + ')'; - re.tpl_link_no_ip_fuzzy = - // Fuzzy link can't be prepended with .:/\- and non punctuation. - // but can start with > (markdown blockquote) - '(^|(?![.:/\\-_@])(?:[$+<=>^`|\uff5c]|' + re.src_ZPCc + '))' + '((?![$+<=>^`|\uff5c])' + re.tpl_host_port_no_ip_fuzzy_strict + re.src_path + ')'; - return re; -}; - -/***/ }), - -/***/ "../../../node_modules/markdown-it/index.js": -/*!**************************************************!*\ - !*** ../../../node_modules/markdown-it/index.js ***! - \**************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - - - -module.exports = __webpack_require__(/*! ./lib/ */ "../../../node_modules/markdown-it/lib/index.js"); - -/***/ }), - -/***/ "../../../node_modules/markdown-it/lib/common/entities.js": -/*!****************************************************************!*\ - !*** ../../../node_modules/markdown-it/lib/common/entities.js ***! - \****************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -// HTML5 entities map: { name -> utf16string } -// - - -/*eslint quotes:0*/ -module.exports = __webpack_require__(/*! entities/lib/maps/entities.json */ "../../../node_modules/entities/lib/maps/entities.json"); - -/***/ }), - -/***/ "../../../node_modules/markdown-it/lib/common/html_blocks.js": -/*!*******************************************************************!*\ - !*** ../../../node_modules/markdown-it/lib/common/html_blocks.js ***! - \*******************************************************************/ -/***/ (function(module) { - -// List of valid html blocks names, accorting to commonmark spec -// http://jgm.github.io/CommonMark/spec.html#html-blocks - - - -module.exports = ['address', 'article', 'aside', 'base', 'basefont', 'blockquote', 'body', 'caption', 'center', 'col', 'colgroup', 'dd', 'details', 'dialog', 'dir', 'div', 'dl', 'dt', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'frame', 'frameset', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hr', 'html', 'iframe', 'legend', 'li', 'link', 'main', 'menu', 'menuitem', 'nav', 'noframes', 'ol', 'optgroup', 'option', 'p', 'param', 'section', 'source', 'summary', 'table', 'tbody', 'td', 'tfoot', 'th', 'thead', 'title', 'tr', 'track', 'ul']; - -/***/ }), - -/***/ "../../../node_modules/markdown-it/lib/common/html_re.js": -/*!***************************************************************!*\ - !*** ../../../node_modules/markdown-it/lib/common/html_re.js ***! - \***************************************************************/ -/***/ (function(module) { - -// Regexps to match html elements - - - -var attr_name = '[a-zA-Z_:][a-zA-Z0-9:._-]*'; -var unquoted = '[^"\'=<>`\\x00-\\x20]+'; -var single_quoted = "'[^']*'"; -var double_quoted = '"[^"]*"'; -var attr_value = '(?:' + unquoted + '|' + single_quoted + '|' + double_quoted + ')'; -var attribute = '(?:\\s+' + attr_name + '(?:\\s*=\\s*' + attr_value + ')?)'; -var open_tag = '<[A-Za-z][A-Za-z0-9\\-]*' + attribute + '*\\s*\\/?>'; -var close_tag = '<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>'; -var comment = '|'; -var processing = '<[?][\\s\\S]*?[?]>'; -var declaration = ']*>'; -var cdata = ''; -var HTML_TAG_RE = new RegExp('^(?:' + open_tag + '|' + close_tag + '|' + comment + '|' + processing + '|' + declaration + '|' + cdata + ')'); -var HTML_OPEN_CLOSE_TAG_RE = new RegExp('^(?:' + open_tag + '|' + close_tag + ')'); -module.exports.HTML_TAG_RE = HTML_TAG_RE; -module.exports.HTML_OPEN_CLOSE_TAG_RE = HTML_OPEN_CLOSE_TAG_RE; - -/***/ }), - -/***/ "../../../node_modules/markdown-it/lib/common/utils.js": -/*!*************************************************************!*\ - !*** ../../../node_modules/markdown-it/lib/common/utils.js ***! - \*************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -// Utilities -// - - -function _class(obj) { - return Object.prototype.toString.call(obj); +const mixNumber = (from, to) => p => mix(from, to, p); +function detectMixerFactory(v) { + if (typeof v === 'number') { + return mixNumber; + } else if (typeof v === 'string') { + if (styleValueTypes.color.test(v)) { + return mixColor; + } else { + return mixComplex; + } + } else if (Array.isArray(v)) { + return mixArray; + } else if (typeof v === 'object') { + return mixObject; + } } -function isString(obj) { - return _class(obj) === '[object String]'; +function createMixers(output, ease, customMixer) { + const mixers = []; + const mixerFactory = customMixer || detectMixerFactory(output[0]); + const numMixers = output.length - 1; + for (let i = 0; i < numMixers; i++) { + let mixer = mixerFactory(output[i], output[i + 1]); + if (ease) { + const easingFunction = Array.isArray(ease) ? ease[i] : ease; + mixer = pipe(easingFunction, mixer); + } + mixers.push(mixer); + } + return mixers; } -var _hasOwnProperty = Object.prototype.hasOwnProperty; -function has(object, key) { - return _hasOwnProperty.call(object, key); +function fastInterpolate(_ref3, _ref4) { + let [from, to] = _ref3; + let [mixer] = _ref4; + return v => mixer(progress(from, to, v)); } - -// Merge objects -// -function assign(obj /*from1, from2, from3, ...*/) { - var sources = Array.prototype.slice.call(arguments, 1); - sources.forEach(function (source) { - if (!source) { - return; +function slowInterpolate(input, mixers) { + const inputLength = input.length; + const lastInputIndex = inputLength - 1; + return v => { + let mixerIndex = 0; + let foundMixerIndex = false; + if (v <= input[0]) { + foundMixerIndex = true; + } else if (v >= input[lastInputIndex]) { + mixerIndex = lastInputIndex - 1; + foundMixerIndex = true; } - if (typeof source !== 'object') { - throw new TypeError(source + 'must be object'); + if (!foundMixerIndex) { + let i = 1; + for (; i < inputLength; i++) { + if (input[i] > v || i === lastInputIndex) { + break; + } + } + mixerIndex = i - 1; } - Object.keys(source).forEach(function (key) { - obj[key] = source[key]; - }); - }); - return obj; -} - -// Remove element from array and put another array at those position. -// Useful for some operations with tokens -function arrayReplaceAt(src, pos, newElements) { - return [].concat(src.slice(0, pos), newElements, src.slice(pos + 1)); + const progressInRange = progress(input[mixerIndex], input[mixerIndex + 1], v); + return mixers[mixerIndex](progressInRange); + }; } - -//////////////////////////////////////////////////////////////////////////////// - -function isValidEntityCode(c) { - /*eslint no-bitwise:0*/ - // broken sequence - if (c >= 0xD800 && c <= 0xDFFF) { - return false; - } - // never used - if (c >= 0xFDD0 && c <= 0xFDEF) { - return false; - } - if ((c & 0xFFFF) === 0xFFFF || (c & 0xFFFF) === 0xFFFE) { - return false; - } - // control codes - if (c >= 0x00 && c <= 0x08) { - return false; - } - if (c === 0x0B) { - return false; - } - if (c >= 0x0E && c <= 0x1F) { - return false; - } - if (c >= 0x7F && c <= 0x9F) { - return false; - } - // out of range - if (c > 0x10FFFF) { - return false; +function interpolate(input, output) { + let { + clamp: isClamp = true, + ease, + mixer + } = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + const inputLength = input.length; + heyListen.invariant(inputLength === output.length, 'Both input and output ranges must be the same length'); + heyListen.invariant(!ease || !Array.isArray(ease) || ease.length === inputLength - 1, 'Array of easing functions must be of length `input.length - 1`, as it applies to the transitions **between** the defined values.'); + if (input[0] > input[inputLength - 1]) { + input = [].concat(input); + output = [].concat(output); + input.reverse(); + output.reverse(); } - return true; + const mixers = createMixers(output, ease, mixer); + const interpolator = inputLength === 2 ? fastInterpolate(input, mixers) : slowInterpolate(input, mixers); + return isClamp ? v => interpolator(clamp(input[0], input[inputLength - 1], v)) : interpolator; } -function fromCodePoint(c) { - /*eslint no-bitwise:0*/ - if (c > 0xffff) { - c -= 0x10000; - var surrogate1 = 0xd800 + (c >> 10), - surrogate2 = 0xdc00 + (c & 0x3ff); - return String.fromCharCode(surrogate1, surrogate2); - } - return String.fromCharCode(c); +const reverseEasing = easing => p => 1 - easing(1 - p); +const mirrorEasing = easing => p => p <= 0.5 ? easing(2 * p) / 2 : (2 - easing(2 * (1 - p))) / 2; +const createExpoIn = power => p => Math.pow(p, power); +const createBackIn = power => p => p * p * ((power + 1) * p - power); +const createAnticipate = power => { + const backEasing = createBackIn(power); + return p => (p *= 2) < 1 ? 0.5 * backEasing(p) : 0.5 * (2 - Math.pow(2, -10 * (p - 1))); +}; +const DEFAULT_OVERSHOOT_STRENGTH = 1.525; +const BOUNCE_FIRST_THRESHOLD = 4.0 / 11.0; +const BOUNCE_SECOND_THRESHOLD = 8.0 / 11.0; +const BOUNCE_THIRD_THRESHOLD = 9.0 / 10.0; +const linear = p => p; +const easeIn = createExpoIn(2); +const easeOut = reverseEasing(easeIn); +const easeInOut = mirrorEasing(easeIn); +const circIn = p => 1 - Math.sin(Math.acos(p)); +const circOut = reverseEasing(circIn); +const circInOut = mirrorEasing(circOut); +const backIn = createBackIn(DEFAULT_OVERSHOOT_STRENGTH); +const backOut = reverseEasing(backIn); +const backInOut = mirrorEasing(backIn); +const anticipate = createAnticipate(DEFAULT_OVERSHOOT_STRENGTH); +const ca = 4356.0 / 361.0; +const cb = 35442.0 / 1805.0; +const cc = 16061.0 / 1805.0; +const bounceOut = p => { + if (p === 1 || p === 0) return p; + const p2 = p * p; + return p < BOUNCE_FIRST_THRESHOLD ? 7.5625 * p2 : p < BOUNCE_SECOND_THRESHOLD ? 9.075 * p2 - 9.9 * p + 3.4 : p < BOUNCE_THIRD_THRESHOLD ? ca * p2 - cb * p + cc : 10.8 * p * p - 20.52 * p + 10.72; +}; +const bounceIn = reverseEasing(bounceOut); +const bounceInOut = p => p < 0.5 ? 0.5 * (1.0 - bounceOut(1.0 - p * 2.0)) : 0.5 * bounceOut(p * 2.0 - 1.0) + 0.5; +function defaultEasing(values, easing) { + return values.map(() => easing || easeInOut).splice(0, values.length - 1); } -var UNESCAPE_MD_RE = /\\([!"#$%&'()*+,\-.\/:;<=>?@[\\\]^_`{|}~])/g; -var ENTITY_RE = /&([a-z#][a-z0-9]{1,31});/gi; -var UNESCAPE_ALL_RE = new RegExp(UNESCAPE_MD_RE.source + '|' + ENTITY_RE.source, 'gi'); -var DIGITAL_ENTITY_TEST_RE = /^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))/i; -var entities = __webpack_require__(/*! ./entities */ "../../../node_modules/markdown-it/lib/common/entities.js"); -function replaceEntityPattern(match, name) { - var code = 0; - if (has(entities, name)) { - return entities[name]; - } - if (name.charCodeAt(0) === 0x23 /* # */ && DIGITAL_ENTITY_TEST_RE.test(name)) { - code = name[1].toLowerCase() === 'x' ? parseInt(name.slice(2), 16) : parseInt(name.slice(1), 10); - if (isValidEntityCode(code)) { - return fromCodePoint(code); - } - } - return match; +function defaultOffset(values) { + const numValues = values.length; + return values.map((_value, i) => i !== 0 ? i / (numValues - 1) : 0); } - -/*function replaceEntities(str) { - if (str.indexOf('&') < 0) { return str; } - - return str.replace(ENTITY_RE, replaceEntityPattern); -}*/ - -function unescapeMd(str) { - if (str.indexOf('\\') < 0) { - return str; - } - return str.replace(UNESCAPE_MD_RE, '$1'); +function convertOffsetToTimes(offset, duration) { + return offset.map(o => o * duration); } -function unescapeAll(str) { - if (str.indexOf('\\') < 0 && str.indexOf('&') < 0) { - return str; +function keyframes(_ref5) { + let { + from = 0, + to = 1, + ease, + offset, + duration = 300 + } = _ref5; + const state = { + done: false, + value: from + }; + const values = Array.isArray(to) ? to : [from, to]; + const times = convertOffsetToTimes(offset && offset.length === values.length ? offset : defaultOffset(values), duration); + function createInterpolator() { + return interpolate(times, values, { + ease: Array.isArray(ease) ? ease : defaultEasing(values, ease) + }); } - return str.replace(UNESCAPE_ALL_RE, function (match, escaped, entity) { - if (escaped) { - return escaped; + let interpolator = createInterpolator(); + return { + next: t => { + state.value = interpolator(t); + state.done = t >= duration; + return state; + }, + flipTarget: () => { + values.reverse(); + interpolator = createInterpolator(); } - return replaceEntityPattern(match, entity); - }); + }; } - -//////////////////////////////////////////////////////////////////////////////// - -var HTML_ESCAPE_TEST_RE = /[&<>"]/; -var HTML_ESCAPE_REPLACE_RE = /[&<>"]/g; -var HTML_REPLACEMENTS = { - '&': '&', - '<': '<', - '>': '>', - '"': '"' -}; -function replaceUnsafeChar(ch) { - return HTML_REPLACEMENTS[ch]; +function decay(_ref6) { + let { + velocity = 0, + from = 0, + power = 0.8, + timeConstant = 350, + restDelta = 0.5, + modifyTarget + } = _ref6; + const state = { + done: false, + value: from + }; + let amplitude = power * velocity; + const ideal = from + amplitude; + const target = modifyTarget === undefined ? ideal : modifyTarget(ideal); + if (target !== ideal) amplitude = target - from; + return { + next: t => { + const delta = -amplitude * Math.exp(-t / timeConstant); + state.done = !(delta > restDelta || delta < -restDelta); + state.value = state.done ? target : target + delta; + return state; + }, + flipTarget: () => {} + }; } -function escapeHtml(str) { - if (HTML_ESCAPE_TEST_RE.test(str)) { - return str.replace(HTML_ESCAPE_REPLACE_RE, replaceUnsafeChar); +const types = { + keyframes, + spring, + decay +}; +function detectAnimationFromOptions(config) { + if (Array.isArray(config.to)) { + return keyframes; + } else if (types[config.type]) { + return types[config.type]; } - return str; -} - -//////////////////////////////////////////////////////////////////////////////// - -var REGEXP_ESCAPE_RE = /[.?*+^$[\]\\(){}|-]/g; -function escapeRE(str) { - return str.replace(REGEXP_ESCAPE_RE, '\\$&'); -} - -//////////////////////////////////////////////////////////////////////////////// - -function isSpace(code) { - switch (code) { - case 0x09: - case 0x20: - return true; + const keys = new Set(Object.keys(config)); + if (keys.has("ease") || keys.has("duration") && !keys.has("dampingRatio")) { + return keyframes; + } else if (keys.has("dampingRatio") || keys.has("stiffness") || keys.has("mass") || keys.has("damping") || keys.has("restSpeed") || keys.has("restDelta")) { + return spring; } - return false; + return keyframes; } - -// Zs (unicode class) || [\t\f\v\r\n] -function isWhiteSpace(code) { - if (code >= 0x2000 && code <= 0x200A) { - return true; - } - switch (code) { - case 0x09: // \t - case 0x0A: // \n - case 0x0B: // \v - case 0x0C: // \f - case 0x0D: // \r - case 0x20: - case 0xA0: - case 0x1680: - case 0x202F: - case 0x205F: - case 0x3000: - return true; - } - return false; +function loopElapsed(elapsed, duration) { + let delay = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0; + return elapsed - duration - delay; } - -//////////////////////////////////////////////////////////////////////////////// - -/*eslint-disable max-len*/ -var UNICODE_PUNCT_RE = __webpack_require__(/*! uc.micro/categories/P/regex */ "../../../node_modules/uc.micro/categories/P/regex.js"); - -// Currently without astral characters support. -function isPunctChar(ch) { - return UNICODE_PUNCT_RE.test(ch); +function reverseElapsed(elapsed, duration) { + let delay = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0; + let isForwardPlayback = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true; + return isForwardPlayback ? loopElapsed(duration + -elapsed, duration, delay) : duration - (elapsed - duration) + delay; } - -// Markdown ASCII punctuation characters. -// -// !, ", #, $, %, &, ', (, ), *, +, ,, -, ., /, :, ;, <, =, >, ?, @, [, \, ], ^, _, `, {, |, }, or ~ -// http://spec.commonmark.org/0.15/#ascii-punctuation-character -// -// Don't confuse with unicode punctuation !!! It lacks some chars in ascii range. -// -function isMdAsciiPunct(ch) { - switch (ch) { - case 0x21 /* ! */: - case 0x22 /* " */: - case 0x23 /* # */: - case 0x24 /* $ */: - case 0x25 /* % */: - case 0x26 /* & */: - case 0x27 /* ' */: - case 0x28 /* ( */: - case 0x29 /* ) */: - case 0x2A /* * */: - case 0x2B /* + */: - case 0x2C /* , */: - case 0x2D /* - */: - case 0x2E /* . */: - case 0x2F /* / */: - case 0x3A /* : */: - case 0x3B /* ; */: - case 0x3C /* < */: - case 0x3D /* = */: - case 0x3E /* > */: - case 0x3F /* ? */: - case 0x40 /* @ */: - case 0x5B /* [ */: - case 0x5C /* \ */: - case 0x5D /* ] */: - case 0x5E /* ^ */: - case 0x5F /* _ */: - case 0x60 /* ` */: - case 0x7B /* { */: - case 0x7C /* | */: - case 0x7D /* } */: - case 0x7E /* ~ */: - return true; - default: - return false; - } +function hasRepeatDelayElapsed(elapsed, duration, delay, isForwardPlayback) { + return isForwardPlayback ? elapsed >= duration + delay : elapsed <= -delay; } - -// Hepler to unify [reference labels]. -// -function normalizeReference(str) { - // Trim and collapse whitespace - // - str = str.trim().replace(/\s+/g, ' '); - - // In node v10 'ẞ'.toLowerCase() === 'Ṿ', which is presumed to be a bug - // fixed in v12 (couldn't find any details). - // - // So treat this one as a special case - // (remove this when node v10 is no longer supported). - // - if ('ẞ'.toLowerCase() === 'Ṿ') { - str = str.replace(/ẞ/g, 'ß'); +const framesync = update => { + const passTimestamp = _ref7 => { + let { + delta + } = _ref7; + return update(delta); + }; + return { + start: () => sync__default["default"].update(passTimestamp, true), + stop: () => sync.cancelSync.update(passTimestamp) + }; +}; +function animate(_a) { + var _b, _c; + var { + from, + autoplay = true, + driver = framesync, + elapsed = 0, + repeat: repeatMax = 0, + repeatType = "loop", + repeatDelay = 0, + onPlay, + onStop, + onComplete, + onRepeat, + onUpdate + } = _a, + options = tslib.__rest(_a, ["from", "autoplay", "driver", "elapsed", "repeat", "repeatType", "repeatDelay", "onPlay", "onStop", "onComplete", "onRepeat", "onUpdate"]); + let { + to + } = options; + let driverControls; + let repeatCount = 0; + let computedDuration = options.duration; + let latest; + let isComplete = false; + let isForwardPlayback = true; + let interpolateFromNumber; + const animator = detectAnimationFromOptions(options); + if ((_c = (_b = animator).needsInterpolation) === null || _c === void 0 ? void 0 : _c.call(_b, from, to)) { + interpolateFromNumber = interpolate([0, 100], [from, to], { + clamp: false + }); + from = 0; + to = 100; } - - // .toLowerCase().toUpperCase() should get rid of all differences - // between letter variants. - // - // Simple .toLowerCase() doesn't normalize 125 code points correctly, - // and .toUpperCase doesn't normalize 6 of them (list of exceptions: - // İ, ϴ, ẞ, Ω, K, Å - those are already uppercased, but have differently - // uppercased versions). - // - // Here's an example showing how it happens. Lets take greek letter omega: - // uppercase U+0398 (Θ), U+03f4 (ϴ) and lowercase U+03b8 (θ), U+03d1 (ϑ) - // - // Unicode entries: - // 0398;GREEK CAPITAL LETTER THETA;Lu;0;L;;;;;N;;;;03B8; - // 03B8;GREEK SMALL LETTER THETA;Ll;0;L;;;;;N;;;0398;;0398 - // 03D1;GREEK THETA SYMBOL;Ll;0;L; 03B8;;;;N;GREEK SMALL LETTER SCRIPT THETA;;0398;;0398 - // 03F4;GREEK CAPITAL THETA SYMBOL;Lu;0;L; 0398;;;;N;;;;03B8; - // - // Case-insensitive comparison should treat all of them as equivalent. - // - // But .toLowerCase() doesn't change ϑ (it's already lowercase), - // and .toUpperCase() doesn't change ϴ (already uppercase). - // - // Applying first lower then upper case normalizes any character: - // '\u0398\u03f4\u03b8\u03d1'.toLowerCase().toUpperCase() === '\u0398\u0398\u0398\u0398' - // - // Note: this is equivalent to unicode case folding; unicode normalization - // is a different step that is not required here. - // - // Final result should be uppercased, because it's later stored in an object - // (this avoid a conflict with Object.prototype members, - // most notably, `__proto__`) - // - return str.toLowerCase().toUpperCase(); -} - -//////////////////////////////////////////////////////////////////////////////// - -// Re-export libraries commonly used in both markdown-it and its plugins, -// so plugins won't have to depend on them explicitly, which reduces their -// bundled size (e.g. a browser build). -// -exports.lib = {}; -exports.lib.mdurl = __webpack_require__(/*! mdurl */ "../../../node_modules/mdurl/index.js"); -exports.lib.ucmicro = __webpack_require__(/*! uc.micro */ "../../../node_modules/uc.micro/index.js"); -exports.assign = assign; -exports.isString = isString; -exports.has = has; -exports.unescapeMd = unescapeMd; -exports.unescapeAll = unescapeAll; -exports.isValidEntityCode = isValidEntityCode; -exports.fromCodePoint = fromCodePoint; -// exports.replaceEntities = replaceEntities; -exports.escapeHtml = escapeHtml; -exports.arrayReplaceAt = arrayReplaceAt; -exports.isSpace = isSpace; -exports.isWhiteSpace = isWhiteSpace; -exports.isMdAsciiPunct = isMdAsciiPunct; -exports.isPunctChar = isPunctChar; -exports.escapeRE = escapeRE; -exports.normalizeReference = normalizeReference; - -/***/ }), - -/***/ "../../../node_modules/markdown-it/lib/helpers/index.js": -/*!**************************************************************!*\ - !*** ../../../node_modules/markdown-it/lib/helpers/index.js ***! - \**************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -// Just a shortcut for bulk export - - -exports.parseLinkLabel = __webpack_require__(/*! ./parse_link_label */ "../../../node_modules/markdown-it/lib/helpers/parse_link_label.js"); -exports.parseLinkDestination = __webpack_require__(/*! ./parse_link_destination */ "../../../node_modules/markdown-it/lib/helpers/parse_link_destination.js"); -exports.parseLinkTitle = __webpack_require__(/*! ./parse_link_title */ "../../../node_modules/markdown-it/lib/helpers/parse_link_title.js"); - -/***/ }), - -/***/ "../../../node_modules/markdown-it/lib/helpers/parse_link_destination.js": -/*!*******************************************************************************!*\ - !*** ../../../node_modules/markdown-it/lib/helpers/parse_link_destination.js ***! - \*******************************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -// Parse link destination -// - - -var unescapeAll = (__webpack_require__(/*! ../common/utils */ "../../../node_modules/markdown-it/lib/common/utils.js").unescapeAll); -module.exports = function parseLinkDestination(str, pos, max) { - var code, - level, - lines = 0, - start = pos, - result = { - ok: false, - pos: 0, - lines: 0, - str: '' - }; - if (str.charCodeAt(pos) === 0x3C /* < */) { - pos++; - while (pos < max) { - code = str.charCodeAt(pos); - if (code === 0x0A /* \n */) { - return result; - } - if (code === 0x3C /* < */) { - return result; - } - if (code === 0x3E /* > */) { - result.pos = pos + 1; - result.str = unescapeAll(str.slice(start + 1, pos)); - result.ok = true; - return result; - } - if (code === 0x5C /* \ */ && pos + 1 < max) { - pos += 2; - continue; - } - pos++; + const animation = animator(Object.assign(Object.assign({}, options), { + from, + to + })); + function repeat() { + repeatCount++; + if (repeatType === "reverse") { + isForwardPlayback = repeatCount % 2 === 0; + elapsed = reverseElapsed(elapsed, computedDuration, repeatDelay, isForwardPlayback); + } else { + elapsed = loopElapsed(elapsed, computedDuration, repeatDelay); + if (repeatType === "mirror") animation.flipTarget(); } - - // no closing '>' - return result; + isComplete = false; + onRepeat && onRepeat(); } - - // this should be ... } else { ... branch - - level = 0; - while (pos < max) { - code = str.charCodeAt(pos); - if (code === 0x20) { - break; - } - - // ascii control characters - if (code < 0x20 || code === 0x7F) { - break; - } - if (code === 0x5C /* \ */ && pos + 1 < max) { - if (str.charCodeAt(pos + 1) === 0x20) { - break; - } - pos += 2; - continue; - } - if (code === 0x28 /* ( */) { - level++; - if (level > 32) { - return result; - } + function complete() { + driverControls.stop(); + onComplete && onComplete(); + } + function update(delta) { + if (!isForwardPlayback) delta = -delta; + elapsed += delta; + if (!isComplete) { + const state = animation.next(Math.max(0, elapsed)); + latest = state.value; + if (interpolateFromNumber) latest = interpolateFromNumber(latest); + isComplete = isForwardPlayback ? state.done : elapsed <= 0; } - if (code === 0x29 /* ) */) { - if (level === 0) { - break; + onUpdate === null || onUpdate === void 0 ? void 0 : onUpdate(latest); + if (isComplete) { + if (repeatCount === 0) computedDuration !== null && computedDuration !== void 0 ? computedDuration : computedDuration = elapsed; + if (repeatCount < repeatMax) { + hasRepeatDelayElapsed(elapsed, computedDuration, repeatDelay, isForwardPlayback) && repeat(); + } else { + complete(); } - level--; } - pos++; - } - if (start === pos) { - return result; } - if (level !== 0) { - return result; + function play() { + onPlay === null || onPlay === void 0 ? void 0 : onPlay(); + driverControls = driver(update); + driverControls.start(); } - result.str = unescapeAll(str.slice(start, pos)); - result.lines = lines; - result.pos = pos; - result.ok = true; - return result; -}; - -/***/ }), - -/***/ "../../../node_modules/markdown-it/lib/helpers/parse_link_label.js": -/*!*************************************************************************!*\ - !*** ../../../node_modules/markdown-it/lib/helpers/parse_link_label.js ***! - \*************************************************************************/ -/***/ (function(module) { - -// Parse link label -// -// this function assumes that first character ("[") already matches; -// returns the end of the label -// - - -module.exports = function parseLinkLabel(state, start, disableNested) { - var level, - found, - marker, - prevPos, - labelEnd = -1, - max = state.posMax, - oldPos = state.pos; - state.pos = start + 1; - level = 1; - while (state.pos < max) { - marker = state.src.charCodeAt(state.pos); - if (marker === 0x5D /* ] */) { - level--; - if (level === 0) { - found = true; - break; - } - } - prevPos = state.pos; - state.md.inline.skipToken(state); - if (marker === 0x5B /* [ */) { - if (prevPos === state.pos - 1) { - // increase level if we find text `[`, which is not a part of any token - level++; - } else if (disableNested) { - state.pos = oldPos; - return -1; - } + autoplay && play(); + return { + stop: () => { + onStop === null || onStop === void 0 ? void 0 : onStop(); + driverControls.stop(); } + }; +} +function velocityPerSecond(velocity, frameDuration) { + return frameDuration ? velocity * (1000 / frameDuration) : 0; +} +function inertia(_ref8) { + let { + from = 0, + velocity = 0, + min, + max, + power = 0.8, + timeConstant = 750, + bounceStiffness = 500, + bounceDamping = 10, + restDelta = 1, + modifyTarget, + driver, + onUpdate, + onComplete, + onStop + } = _ref8; + let currentAnimation; + function isOutOfBounds(v) { + return min !== undefined && v < min || max !== undefined && v > max; } - if (found) { - labelEnd = state.pos; - } - - // restore old state - state.pos = oldPos; - return labelEnd; -}; - -/***/ }), - -/***/ "../../../node_modules/markdown-it/lib/helpers/parse_link_title.js": -/*!*************************************************************************!*\ - !*** ../../../node_modules/markdown-it/lib/helpers/parse_link_title.js ***! - \*************************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -// Parse link title -// - - -var unescapeAll = (__webpack_require__(/*! ../common/utils */ "../../../node_modules/markdown-it/lib/common/utils.js").unescapeAll); -module.exports = function parseLinkTitle(str, pos, max) { - var code, - marker, - lines = 0, - start = pos, - result = { - ok: false, - pos: 0, - lines: 0, - str: '' - }; - if (pos >= max) { - return result; + function boundaryNearest(v) { + if (min === undefined) return max; + if (max === undefined) return min; + return Math.abs(min - v) < Math.abs(max - v) ? min : max; } - marker = str.charCodeAt(pos); - if (marker !== 0x22 /* " */ && marker !== 0x27 /* ' */ && marker !== 0x28 /* ( */) { - return result; + function startAnimation(options) { + currentAnimation === null || currentAnimation === void 0 ? void 0 : currentAnimation.stop(); + currentAnimation = animate(Object.assign(Object.assign({}, options), { + driver, + onUpdate: v => { + var _a; + onUpdate === null || onUpdate === void 0 ? void 0 : onUpdate(v); + (_a = options.onUpdate) === null || _a === void 0 ? void 0 : _a.call(options, v); + }, + onComplete, + onStop + })); } - pos++; - - // if opening marker is "(", switch it to closing marker ")" - if (marker === 0x28) { - marker = 0x29; + function startSpring(options) { + startAnimation(Object.assign({ + type: "spring", + stiffness: bounceStiffness, + damping: bounceDamping, + restDelta + }, options)); } - while (pos < max) { - code = str.charCodeAt(pos); - if (code === marker) { - result.pos = pos + 1; - result.lines = lines; - result.str = unescapeAll(str.slice(start + 1, pos)); - result.ok = true; - return result; - } else if (code === 0x28 /* ( */ && marker === 0x29 /* ) */) { - return result; - } else if (code === 0x0A) { - lines++; - } else if (code === 0x5C /* \ */ && pos + 1 < max) { - pos++; - if (str.charCodeAt(pos) === 0x0A) { - lines++; + if (isOutOfBounds(from)) { + startSpring({ + from, + velocity, + to: boundaryNearest(from) + }); + } else { + let target = power * velocity + from; + if (typeof modifyTarget !== "undefined") target = modifyTarget(target); + const boundary = boundaryNearest(target); + const heading = boundary === min ? -1 : 1; + let prev; + let current; + const checkBoundary = v => { + prev = current; + current = v; + velocity = velocityPerSecond(v - prev, sync.getFrameData().delta); + if (heading === 1 && v > boundary || heading === -1 && v < boundary) { + startSpring({ + from: v, + to: boundary, + velocity + }); } - } - pos++; + }; + startAnimation({ + type: "decay", + from, + velocity, + timeConstant, + power, + restDelta, + modifyTarget, + onUpdate: isOutOfBounds(target) ? checkBoundary : undefined + }); } - return result; -}; - -/***/ }), - -/***/ "../../../node_modules/markdown-it/lib/index.js": -/*!******************************************************!*\ - !*** ../../../node_modules/markdown-it/lib/index.js ***! - \******************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -// Main parser class - - - -var utils = __webpack_require__(/*! ./common/utils */ "../../../node_modules/markdown-it/lib/common/utils.js"); -var helpers = __webpack_require__(/*! ./helpers */ "../../../node_modules/markdown-it/lib/helpers/index.js"); -var Renderer = __webpack_require__(/*! ./renderer */ "../../../node_modules/markdown-it/lib/renderer.js"); -var ParserCore = __webpack_require__(/*! ./parser_core */ "../../../node_modules/markdown-it/lib/parser_core.js"); -var ParserBlock = __webpack_require__(/*! ./parser_block */ "../../../node_modules/markdown-it/lib/parser_block.js"); -var ParserInline = __webpack_require__(/*! ./parser_inline */ "../../../node_modules/markdown-it/lib/parser_inline.js"); -var LinkifyIt = __webpack_require__(/*! linkify-it */ "../../../node_modules/linkify-it/index.js"); -var mdurl = __webpack_require__(/*! mdurl */ "../../../node_modules/mdurl/index.js"); -var punycode = __webpack_require__(/*! punycode */ "../../../node_modules/punycode/punycode.es6.js"); -var config = { - default: __webpack_require__(/*! ./presets/default */ "../../../node_modules/markdown-it/lib/presets/default.js"), - zero: __webpack_require__(/*! ./presets/zero */ "../../../node_modules/markdown-it/lib/presets/zero.js"), - commonmark: __webpack_require__(/*! ./presets/commonmark */ "../../../node_modules/markdown-it/lib/presets/commonmark.js") -}; - -//////////////////////////////////////////////////////////////////////////////// -// -// This validator can prohibit more than really needed to prevent XSS. It's a -// tradeoff to keep code simple and to be secure by default. -// -// If you need different setup - override validator method as you wish. Or -// replace it with dummy function and use external sanitizer. -// - -var BAD_PROTO_RE = /^(vbscript|javascript|file|data):/; -var GOOD_DATA_RE = /^data:image\/(gif|png|jpeg|webp);/; -function validateLink(url) { - // url should be normalized at this point, and existing entities are decoded - var str = url.trim().toLowerCase(); - return BAD_PROTO_RE.test(str) ? GOOD_DATA_RE.test(str) ? true : false : true; + return { + stop: () => currentAnimation === null || currentAnimation === void 0 ? void 0 : currentAnimation.stop() + }; } - -//////////////////////////////////////////////////////////////////////////////// - -var RECODE_HOSTNAME_FOR = ['http:', 'https:', 'mailto:']; -function normalizeLink(url) { - var parsed = mdurl.parse(url, true); - if (parsed.hostname) { - // Encode hostnames in urls like: - // `http://host/`, `https://host/`, `mailto:user@host`, `//host/` - // - // We don't encode unknown schemas, because it's likely that we encode - // something we shouldn't (e.g. `skype:name` treated as `skype:host`) - // - if (!parsed.protocol || RECODE_HOSTNAME_FOR.indexOf(parsed.protocol) >= 0) { - try { - parsed.hostname = punycode.toASCII(parsed.hostname); - } catch (er) {/**/} - } +const radiansToDegrees = radians => radians * 180 / Math.PI; +const angle = function (a) { + let b = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : zeroPoint; + return radiansToDegrees(Math.atan2(b.y - a.y, b.x - a.x)); +}; +const applyOffset = (from, to) => { + let hasReceivedFrom = true; + if (to === undefined) { + to = from; + hasReceivedFrom = false; } - return mdurl.encode(mdurl.format(parsed)); -} -function normalizeLinkText(url) { - var parsed = mdurl.parse(url, true); - if (parsed.hostname) { - // Encode hostnames in urls like: - // `http://host/`, `https://host/`, `mailto:user@host`, `//host/` - // - // We don't encode unknown schemas, because it's likely that we encode - // something we shouldn't (e.g. `skype:name` treated as `skype:host`) - // - if (!parsed.protocol || RECODE_HOSTNAME_FOR.indexOf(parsed.protocol) >= 0) { - try { - parsed.hostname = punycode.toUnicode(parsed.hostname); - } catch (er) {/**/} + return v => { + if (hasReceivedFrom) { + return v - from + to; + } else { + from = v; + hasReceivedFrom = true; + return to; } + }; +}; +const identity = v => v; +const createAttractor = function () { + let alterDisplacement = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : identity; + return (constant, origin, v) => { + const displacement = origin - v; + const springModifiedDisplacement = -(0 - constant + 1) * (0 - alterDisplacement(Math.abs(displacement))); + return displacement <= 0 ? origin + springModifiedDisplacement : origin - springModifiedDisplacement; + }; +}; +const attract = createAttractor(); +const attractExpo = createAttractor(Math.sqrt); +const degreesToRadians = degrees => degrees * Math.PI / 180; +const isPoint = point => point.hasOwnProperty('x') && point.hasOwnProperty('y'); +const isPoint3D = point => isPoint(point) && point.hasOwnProperty('z'); +const distance1D = (a, b) => Math.abs(a - b); +function distance(a, b) { + if (isNum(a) && isNum(b)) { + return distance1D(a, b); + } else if (isPoint(a) && isPoint(b)) { + const xDelta = distance1D(a.x, b.x); + const yDelta = distance1D(a.y, b.y); + const zDelta = isPoint3D(a) && isPoint3D(b) ? distance1D(a.z, b.z) : 0; + return Math.sqrt(Math.pow(xDelta, 2) + Math.pow(yDelta, 2) + Math.pow(zDelta, 2)); } - - // add '%' to exclude list because of https://github.com/markdown-it/markdown-it/issues/720 - return mdurl.decode(mdurl.format(parsed), mdurl.decode.defaultChars + '%'); } - -/** - * class MarkdownIt - * - * Main parser/renderer class. - * - * ##### Usage - * - * ```javascript - * // node.js, "classic" way: - * var MarkdownIt = require('markdown-it'), - * md = new MarkdownIt(); - * var result = md.render('# markdown-it rulezz!'); - * - * // node.js, the same, but with sugar: - * var md = require('markdown-it')(); - * var result = md.render('# markdown-it rulezz!'); - * - * // browser without AMD, added to "window" on script load - * // Note, there are no dash. - * var md = window.markdownit(); - * var result = md.render('# markdown-it rulezz!'); - * ``` - * - * Single line rendering, without paragraph wrap: - * - * ```javascript - * var md = require('markdown-it')(); - * var result = md.renderInline('__markdown-it__ rulezz!'); - * ``` - **/ - -/** - * new MarkdownIt([presetName, options]) - * - presetName (String): optional, `commonmark` / `zero` - * - options (Object) - * - * Creates parser instanse with given config. Can be called without `new`. - * - * ##### presetName - * - * MarkdownIt provides named presets as a convenience to quickly - * enable/disable active syntax rules and options for common use cases. - * - * - ["commonmark"](https://github.com/markdown-it/markdown-it/blob/master/lib/presets/commonmark.js) - - * configures parser to strict [CommonMark](http://commonmark.org/) mode. - * - [default](https://github.com/markdown-it/markdown-it/blob/master/lib/presets/default.js) - - * similar to GFM, used when no preset name given. Enables all available rules, - * but still without html, typographer & autolinker. - * - ["zero"](https://github.com/markdown-it/markdown-it/blob/master/lib/presets/zero.js) - - * all rules disabled. Useful to quickly setup your config via `.enable()`. - * For example, when you need only `bold` and `italic` markup and nothing else. - * - * ##### options: - * - * - __html__ - `false`. Set `true` to enable HTML tags in source. Be careful! - * That's not safe! You may need external sanitizer to protect output from XSS. - * It's better to extend features via plugins, instead of enabling HTML. - * - __xhtmlOut__ - `false`. Set `true` to add '/' when closing single tags - * (`
`). This is needed only for full CommonMark compatibility. In real - * world you will need HTML output. - * - __breaks__ - `false`. Set `true` to convert `\n` in paragraphs into `
`. - * - __langPrefix__ - `language-`. CSS language class prefix for fenced blocks. - * Can be useful for external highlighters. - * - __linkify__ - `false`. Set `true` to autoconvert URL-like text to links. - * - __typographer__ - `false`. Set `true` to enable [some language-neutral - * replacement](https://github.com/markdown-it/markdown-it/blob/master/lib/rules_core/replacements.js) + - * quotes beautification (smartquotes). - * - __quotes__ - `“”‘’`, String or Array. Double + single quotes replacement - * pairs, when typographer enabled and smartquotes on. For example, you can - * use `'«»„“'` for Russian, `'„“‚‘'` for German, and - * `['«\xA0', '\xA0»', '‹\xA0', '\xA0›']` for French (including nbsp). - * - __highlight__ - `null`. Highlighter function for fenced code blocks. - * Highlighter `function (str, lang)` should return escaped HTML. It can also - * return empty string if the source was not changed and should be escaped - * externaly. If result starts with `): - * - * ```javascript - * var hljs = require('highlight.js') // https://highlightjs.org/ - * - * // Actual default values - * var md = require('markdown-it')({ - * highlight: function (str, lang) { - * if (lang && hljs.getLanguage(lang)) { - * try { - * return '

' +
- *                hljs.highlight(str, { language: lang, ignoreIllegals: true }).value +
- *                '
'; - * } catch (__) {} - * } - * - * return '
' + md.utils.escapeHtml(str) + '
'; - * } - * }); - * ``` - * - **/ -function MarkdownIt(presetName, options) { - if (!(this instanceof MarkdownIt)) { - return new MarkdownIt(presetName, options); +const pointFromVector = (origin, angle, distance) => { + angle = degreesToRadians(angle); + return { + x: distance * Math.cos(angle) + origin.x, + y: distance * Math.sin(angle) + origin.y + }; +}; +const toDecimal = function (num) { + let precision = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2; + precision = Math.pow(10, precision); + return Math.round(num * precision) / precision; +}; +const smoothFrame = function (prevValue, nextValue, duration) { + let smoothing = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0; + return toDecimal(prevValue + duration * (nextValue - prevValue) / Math.max(smoothing, duration)); +}; +const smooth = function () { + let strength = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 50; + let previousValue = 0; + let lastUpdated = 0; + return v => { + const currentFramestamp = sync.getFrameData().timestamp; + const timeDelta = currentFramestamp !== lastUpdated ? currentFramestamp - lastUpdated : 0; + const newValue = timeDelta ? smoothFrame(previousValue, v, timeDelta, strength) : previousValue; + lastUpdated = currentFramestamp; + previousValue = newValue; + return newValue; + }; +}; +const snap = points => { + if (typeof points === 'number') { + return v => Math.round(v / points) * points; + } else { + let i = 0; + const numPoints = points.length; + return v => { + let lastDistance = Math.abs(points[0] - v); + for (i = 1; i < numPoints; i++) { + const point = points[i]; + const distance = Math.abs(point - v); + if (distance === 0) return point; + if (distance > lastDistance) return points[i - 1]; + if (i === numPoints - 1) return point; + lastDistance = distance; + } + }; } - if (!options) { - if (!utils.isString(presetName)) { - options = presetName || {}; - presetName = 'default'; +}; +function velocityPerFrame(xps, frameDuration) { + return xps / (1000 / frameDuration); +} +const wrap = (min, max, v) => { + const rangeSize = max - min; + return ((v - min) % rangeSize + rangeSize) % rangeSize + min; +}; +const a = (a1, a2) => 1.0 - 3.0 * a2 + 3.0 * a1; +const b = (a1, a2) => 3.0 * a2 - 6.0 * a1; +const c = a1 => 3.0 * a1; +const calcBezier = (t, a1, a2) => ((a(a1, a2) * t + b(a1, a2)) * t + c(a1)) * t; +const getSlope = (t, a1, a2) => 3.0 * a(a1, a2) * t * t + 2.0 * b(a1, a2) * t + c(a1); +const subdivisionPrecision = 0.0000001; +const subdivisionMaxIterations = 10; +function binarySubdivide(aX, aA, aB, mX1, mX2) { + let currentX; + let currentT; + let i = 0; + do { + currentT = aA + (aB - aA) / 2.0; + currentX = calcBezier(currentT, mX1, mX2) - aX; + if (currentX > 0.0) { + aB = currentT; + } else { + aA = currentT; + } + } while (Math.abs(currentX) > subdivisionPrecision && ++i < subdivisionMaxIterations); + return currentT; +} +const newtonIterations = 8; +const newtonMinSlope = 0.001; +function newtonRaphsonIterate(aX, aGuessT, mX1, mX2) { + for (let i = 0; i < newtonIterations; ++i) { + const currentSlope = getSlope(aGuessT, mX1, mX2); + if (currentSlope === 0.0) { + return aGuessT; + } + const currentX = calcBezier(aGuessT, mX1, mX2) - aX; + aGuessT -= currentX / currentSlope; + } + return aGuessT; +} +const kSplineTableSize = 11; +const kSampleStepSize = 1.0 / (kSplineTableSize - 1.0); +function cubicBezier(mX1, mY1, mX2, mY2) { + if (mX1 === mY1 && mX2 === mY2) return linear; + const sampleValues = new Float32Array(kSplineTableSize); + for (let i = 0; i < kSplineTableSize; ++i) { + sampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2); + } + function getTForX(aX) { + let intervalStart = 0.0; + let currentSample = 1; + const lastSample = kSplineTableSize - 1; + for (; currentSample !== lastSample && sampleValues[currentSample] <= aX; ++currentSample) { + intervalStart += kSampleStepSize; + } + --currentSample; + const dist = (aX - sampleValues[currentSample]) / (sampleValues[currentSample + 1] - sampleValues[currentSample]); + const guessForT = intervalStart + dist * kSampleStepSize; + const initialSlope = getSlope(guessForT, mX1, mX2); + if (initialSlope >= newtonMinSlope) { + return newtonRaphsonIterate(aX, guessForT, mX1, mX2); + } else if (initialSlope === 0.0) { + return guessForT; + } else { + return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2); } } + return t => t === 0 || t === 1 ? t : calcBezier(getTForX(t), mY1, mY2); +} +const steps = function (steps) { + let direction = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'end'; + return progress => { + progress = direction === 'end' ? Math.min(progress, 0.999) : Math.max(progress, 0.001); + const expanded = progress * steps; + const rounded = direction === 'end' ? Math.floor(expanded) : Math.ceil(expanded); + return clamp(0, 1, rounded / steps); + }; +}; +exports.angle = angle; +exports.animate = animate; +exports.anticipate = anticipate; +exports.applyOffset = applyOffset; +exports.attract = attract; +exports.attractExpo = attractExpo; +exports.backIn = backIn; +exports.backInOut = backInOut; +exports.backOut = backOut; +exports.bounceIn = bounceIn; +exports.bounceInOut = bounceInOut; +exports.bounceOut = bounceOut; +exports.circIn = circIn; +exports.circInOut = circInOut; +exports.circOut = circOut; +exports.clamp = clamp; +exports.createAnticipate = createAnticipate; +exports.createAttractor = createAttractor; +exports.createBackIn = createBackIn; +exports.createExpoIn = createExpoIn; +exports.cubicBezier = cubicBezier; +exports.decay = decay; +exports.degreesToRadians = degreesToRadians; +exports.distance = distance; +exports.easeIn = easeIn; +exports.easeInOut = easeInOut; +exports.easeOut = easeOut; +exports.inertia = inertia; +exports.interpolate = interpolate; +exports.isPoint = isPoint; +exports.isPoint3D = isPoint3D; +exports.keyframes = keyframes; +exports.linear = linear; +exports.mirrorEasing = mirrorEasing; +exports.mix = mix; +exports.mixColor = mixColor; +exports.mixComplex = mixComplex; +exports.pipe = pipe; +exports.pointFromVector = pointFromVector; +exports.progress = progress; +exports.radiansToDegrees = radiansToDegrees; +exports.reverseEasing = reverseEasing; +exports.smooth = smooth; +exports.smoothFrame = smoothFrame; +exports.snap = snap; +exports.spring = spring; +exports.steps = steps; +exports.toDecimal = toDecimal; +exports.velocityPerFrame = velocityPerFrame; +exports.velocityPerSecond = velocityPerSecond; +exports.wrap = wrap; - /** - * MarkdownIt#inline -> ParserInline - * - * Instance of [[ParserInline]]. You may need it to add new rules when - * writing plugins. For simple rules control use [[MarkdownIt.disable]] and - * [[MarkdownIt.enable]]. - **/ - this.inline = new ParserInline(); +/***/ }), - /** - * MarkdownIt#block -> ParserBlock - * - * Instance of [[ParserBlock]]. You may need it to add new rules when - * writing plugins. For simple rules control use [[MarkdownIt.disable]] and - * [[MarkdownIt.enable]]. - **/ - this.block = new ParserBlock(); +/***/ "../../../node_modules/punycode.js/punycode.es6.js": +/*!*********************************************************!*\ + !*** ../../../node_modules/punycode.js/punycode.es6.js ***! + \*********************************************************/ +/***/ (function(__unused_webpack_module, exports) { - /** - * MarkdownIt#core -> Core - * - * Instance of [[Core]] chain executor. You may need it to add new rules when - * writing plugins. For simple rules control use [[MarkdownIt.disable]] and - * [[MarkdownIt.enable]]. - **/ - this.core = new ParserCore(); - /** - * MarkdownIt#renderer -> Renderer - * - * Instance of [[Renderer]]. Use it to modify output look. Or to add rendering - * rules for new token types, generated by plugins. - * - * ##### Example - * - * ```javascript - * var md = require('markdown-it')(); - * - * function myToken(tokens, idx, options, env, self) { - * //... - * return result; - * }; - * - * md.renderer.rules['my_token'] = myToken - * ``` - * - * See [[Renderer]] docs and [source code](https://github.com/markdown-it/markdown-it/blob/master/lib/renderer.js). - **/ - this.renderer = new Renderer(); - /** - * MarkdownIt#linkify -> LinkifyIt - * - * [linkify-it](https://github.com/markdown-it/linkify-it) instance. - * Used by [linkify](https://github.com/markdown-it/markdown-it/blob/master/lib/rules_core/linkify.js) - * rule. - **/ - this.linkify = new LinkifyIt(); +/** Highest positive signed 32-bit float value */ +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.toUnicode = exports.toASCII = exports.encode = exports["default"] = exports.decode = void 0; +exports.ucs2decode = ucs2decode; +exports.ucs2encode = void 0; +const maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1 - /** - * MarkdownIt#validateLink(url) -> Boolean - * - * Link validation function. CommonMark allows too much in links. By default - * we disable `javascript:`, `vbscript:`, `file:` schemas, and almost all `data:...` schemas - * except some embedded image types. - * - * You can change this behaviour: - * - * ```javascript - * var md = require('markdown-it')(); - * // enable everything - * md.validateLink = function () { return true; } - * ``` - **/ - this.validateLink = validateLink; +/** Bootstring parameters */ +const base = 36; +const tMin = 1; +const tMax = 26; +const skew = 38; +const damp = 700; +const initialBias = 72; +const initialN = 128; // 0x80 +const delimiter = '-'; // '\x2D' - /** - * MarkdownIt#normalizeLink(url) -> String - * - * Function used to encode link url to a machine-readable format, - * which includes url-encoding, punycode, etc. - **/ - this.normalizeLink = normalizeLink; +/** Regular expressions */ +const regexPunycode = /^xn--/; +const regexNonASCII = /[^\0-\x7F]/; // Note: U+007F DEL is excluded too. +const regexSeparators = /[\x2E\u3002\uFF0E\uFF61]/g; // RFC 3490 separators - /** - * MarkdownIt#normalizeLinkText(url) -> String - * - * Function used to decode link url to a human-readable format` - **/ - this.normalizeLinkText = normalizeLinkText; +/** Error messages */ +const errors = { + 'overflow': 'Overflow: input needs wider integers to process', + 'not-basic': 'Illegal input >= 0x80 (not a basic code point)', + 'invalid-input': 'Invalid input' +}; - // Expose utils & helpers for easy acces from plugins +/** Convenience shortcuts */ +const baseMinusTMin = base - tMin; +const floor = Math.floor; +const stringFromCharCode = String.fromCharCode; - /** - * MarkdownIt#utils -> utils - * - * Assorted utility functions, useful to write plugins. See details - * [here](https://github.com/markdown-it/markdown-it/blob/master/lib/common/utils.js). - **/ - this.utils = utils; +/*--------------------------------------------------------------------------*/ - /** - * MarkdownIt#helpers -> helpers - * - * Link components parser functions, useful to write plugins. See details - * [here](https://github.com/markdown-it/markdown-it/blob/master/lib/helpers). - **/ - this.helpers = utils.assign({}, helpers); - this.options = {}; - this.configure(presetName); - if (options) { - this.set(options); - } +/** + * A generic error utility function. + * @private + * @param {String} type The error type. + * @returns {Error} Throws a `RangeError` with the applicable error message. + */ +function error(type) { + throw new RangeError(errors[type]); } -/** chainable - * MarkdownIt.set(options) - * - * Set parser options (in the same format as in constructor). Probably, you - * will never need it, but you can change options after constructor call. - * - * ##### Example - * - * ```javascript - * var md = require('markdown-it')() - * .set({ html: true, breaks: true }) - * .set({ typographer, true }); - * ``` - * - * __Note:__ To achieve the best possible performance, don't modify a - * `markdown-it` instance options on the fly. If you need multiple configurations - * it's best to create multiple instances and initialize each with separate - * config. - **/ -MarkdownIt.prototype.set = function (options) { - utils.assign(this.options, options); - return this; -}; +/** + * A generic `Array#map` utility function. + * @private + * @param {Array} array The array to iterate over. + * @param {Function} callback The function that gets called for every array + * item. + * @returns {Array} A new array of values returned by the callback function. + */ +function map(array, callback) { + const result = []; + let length = array.length; + while (length--) { + result[length] = callback(array[length]); + } + return result; +} -/** chainable, internal - * MarkdownIt.configure(presets) - * - * Batch load of all options and compenent settings. This is internal method, - * and you probably will not need it. But if you will - see available presets - * and data structure [here](https://github.com/markdown-it/markdown-it/tree/master/lib/presets) - * - * We strongly recommend to use presets instead of direct config loads. That - * will give better compatibility with next versions. - **/ -MarkdownIt.prototype.configure = function (presets) { - var self = this, - presetName; - if (utils.isString(presets)) { - presetName = presets; - presets = config[presetName]; - if (!presets) { - throw new Error('Wrong `markdown-it` preset "' + presetName + '", check name'); - } +/** + * A simple `Array#map`-like wrapper to work with domain name strings or email + * addresses. + * @private + * @param {String} domain The domain name or email address. + * @param {Function} callback The function that gets called for every + * character. + * @returns {String} A new string of characters returned by the callback + * function. + */ +function mapDomain(domain, callback) { + const parts = domain.split('@'); + let result = ''; + if (parts.length > 1) { + // In email addresses, only the domain name should be punycoded. Leave + // the local part (i.e. everything up to `@`) intact. + result = parts[0] + '@'; + domain = parts[1]; } - if (!presets) { - throw new Error('Wrong `markdown-it` preset, can\'t be empty'); - } - if (presets.options) { - self.set(presets.options); - } - if (presets.components) { - Object.keys(presets.components).forEach(function (name) { - if (presets.components[name].rules) { - self[name].ruler.enableOnly(presets.components[name].rules); - } - if (presets.components[name].rules2) { - self[name].ruler2.enableOnly(presets.components[name].rules2); + // Avoid `split(regex)` for IE8 compatibility. See #17. + domain = domain.replace(regexSeparators, '\x2E'); + const labels = domain.split('.'); + const encoded = map(labels, callback).join('.'); + return result + encoded; +} + +/** + * Creates an array containing the numeric code points of each Unicode + * character in the string. While JavaScript uses UCS-2 internally, + * this function will convert a pair of surrogate halves (each of which + * UCS-2 exposes as separate characters) into a single code point, + * matching UTF-16. + * @see `punycode.ucs2.encode` + * @see + * @memberOf punycode.ucs2 + * @name decode + * @param {String} string The Unicode input string (UCS-2). + * @returns {Array} The new array of code points. + */ +function ucs2decode(string) { + const output = []; + let counter = 0; + const length = string.length; + while (counter < length) { + const value = string.charCodeAt(counter++); + if (value >= 0xD800 && value <= 0xDBFF && counter < length) { + // It's a high surrogate, and there is a next character. + const extra = string.charCodeAt(counter++); + if ((extra & 0xFC00) == 0xDC00) { + // Low surrogate. + output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000); + } else { + // It's an unmatched surrogate; only append this code unit, in case the + // next code unit is the high surrogate of a surrogate pair. + output.push(value); + counter--; } - }); + } else { + output.push(value); + } } - return this; -}; + return output; +} -/** chainable - * MarkdownIt.enable(list, ignoreInvalid) - * - list (String|Array): rule name or list of rule names to enable - * - ignoreInvalid (Boolean): set `true` to ignore errors when rule not found. - * - * Enable list or rules. It will automatically find appropriate components, - * containing rules with given names. If rule not found, and `ignoreInvalid` - * not set - throws exception. - * - * ##### Example - * - * ```javascript - * var md = require('markdown-it')() - * .enable(['sub', 'sup']) - * .disable('smartquotes'); - * ``` - **/ -MarkdownIt.prototype.enable = function (list, ignoreInvalid) { - var result = []; - if (!Array.isArray(list)) { - list = [list]; - } - ['core', 'block', 'inline'].forEach(function (chain) { - result = result.concat(this[chain].ruler.enable(list, true)); - }, this); - result = result.concat(this.inline.ruler2.enable(list, true)); - var missed = list.filter(function (name) { - return result.indexOf(name) < 0; - }); - if (missed.length && !ignoreInvalid) { - throw new Error('MarkdownIt. Failed to enable unknown rule(s): ' + missed); - } - return this; -}; +/** + * Creates a string based on an array of numeric code points. + * @see `punycode.ucs2.decode` + * @memberOf punycode.ucs2 + * @name encode + * @param {Array} codePoints The array of numeric code points. + * @returns {String} The new Unicode string (UCS-2). + */ +const ucs2encode = codePoints => String.fromCodePoint(...codePoints); -/** chainable - * MarkdownIt.disable(list, ignoreInvalid) - * - list (String|Array): rule name or list of rule names to disable. - * - ignoreInvalid (Boolean): set `true` to ignore errors when rule not found. - * - * The same as [[MarkdownIt.enable]], but turn specified rules off. - **/ -MarkdownIt.prototype.disable = function (list, ignoreInvalid) { - var result = []; - if (!Array.isArray(list)) { - list = [list]; +/** + * Converts a basic code point into a digit/integer. + * @see `digitToBasic()` + * @private + * @param {Number} codePoint The basic numeric code point value. + * @returns {Number} The numeric value of a basic code point (for use in + * representing integers) in the range `0` to `base - 1`, or `base` if + * the code point does not represent a value. + */ +exports.ucs2encode = ucs2encode; +const basicToDigit = function (codePoint) { + if (codePoint >= 0x30 && codePoint < 0x3A) { + return 26 + (codePoint - 0x30); } - ['core', 'block', 'inline'].forEach(function (chain) { - result = result.concat(this[chain].ruler.disable(list, true)); - }, this); - result = result.concat(this.inline.ruler2.disable(list, true)); - var missed = list.filter(function (name) { - return result.indexOf(name) < 0; - }); - if (missed.length && !ignoreInvalid) { - throw new Error('MarkdownIt. Failed to disable unknown rule(s): ' + missed); + if (codePoint >= 0x41 && codePoint < 0x5B) { + return codePoint - 0x41; } - return this; -}; - -/** chainable - * MarkdownIt.use(plugin, params) - * - * Load specified plugin with given params into current parser instance. - * It's just a sugar to call `plugin(md, params)` with curring. - * - * ##### Example - * - * ```javascript - * var iterator = require('markdown-it-for-inline'); - * var md = require('markdown-it')() - * .use(iterator, 'foo_replace', 'text', function (tokens, idx) { - * tokens[idx].content = tokens[idx].content.replace(/foo/g, 'bar'); - * }); - * ``` - **/ -MarkdownIt.prototype.use = function (plugin /*, params, ... */) { - var args = [this].concat(Array.prototype.slice.call(arguments, 1)); - plugin.apply(plugin, args); - return this; -}; - -/** internal - * MarkdownIt.parse(src, env) -> Array - * - src (String): source string - * - env (Object): environment sandbox - * - * Parse input string and return list of block tokens (special token type - * "inline" will contain list of inline tokens). You should not call this - * method directly, until you write custom renderer (for example, to produce - * AST). - * - * `env` is used to pass data between "distributed" rules and return additional - * metadata like reference info, needed for the renderer. It also can be used to - * inject data in specific cases. Usually, you will be ok to pass `{}`, - * and then pass updated object to renderer. - **/ -MarkdownIt.prototype.parse = function (src, env) { - if (typeof src !== 'string') { - throw new Error('Input data should be a String'); + if (codePoint >= 0x61 && codePoint < 0x7B) { + return codePoint - 0x61; } - var state = new this.core.State(src, this, env); - this.core.process(state); - return state.tokens; + return base; }; /** - * MarkdownIt.render(src [, env]) -> String - * - src (String): source string - * - env (Object): environment sandbox - * - * Render markdown string into html. It does all magic for you :). - * - * `env` can be used to inject additional metadata (`{}` by default). - * But you will not need it with high probability. See also comment - * in [[MarkdownIt.parse]]. - **/ -MarkdownIt.prototype.render = function (src, env) { - env = env || {}; - return this.renderer.render(this.parse(src, env), this.options, env); -}; - -/** internal - * MarkdownIt.parseInline(src, env) -> Array - * - src (String): source string - * - env (Object): environment sandbox - * - * The same as [[MarkdownIt.parse]] but skip all block rules. It returns the - * block tokens list with the single `inline` element, containing parsed inline - * tokens in `children` property. Also updates `env` object. - **/ -MarkdownIt.prototype.parseInline = function (src, env) { - var state = new this.core.State(src, this, env); - state.inlineMode = true; - this.core.process(state); - return state.tokens; + * Converts a digit/integer into a basic code point. + * @see `basicToDigit()` + * @private + * @param {Number} digit The numeric value of a basic code point. + * @returns {Number} The basic code point whose value (when used for + * representing integers) is `digit`, which needs to be in the range + * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is + * used; else, the lowercase form is used. The behavior is undefined + * if `flag` is non-zero and `digit` has no uppercase form. + */ +const digitToBasic = function (digit, flag) { + // 0..25 map to ASCII a..z or A..Z + // 26..35 map to ASCII 0..9 + return digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5); }; /** - * MarkdownIt.renderInline(src [, env]) -> String - * - src (String): source string - * - env (Object): environment sandbox - * - * Similar to [[MarkdownIt.render]] but for single paragraph content. Result - * will NOT be wrapped into `

` tags. - **/ -MarkdownIt.prototype.renderInline = function (src, env) { - env = env || {}; - return this.renderer.render(this.parseInline(src, env), this.options, env); + * Bias adaptation function as per section 3.4 of RFC 3492. + * https://tools.ietf.org/html/rfc3492#section-3.4 + * @private + */ +const adapt = function (delta, numPoints, firstTime) { + let k = 0; + delta = firstTime ? floor(delta / damp) : delta >> 1; + delta += floor(delta / numPoints); + for /* no initialization */ + (; delta > baseMinusTMin * tMax >> 1; k += base) { + delta = floor(delta / baseMinusTMin); + } + return floor(k + (baseMinusTMin + 1) * delta / (delta + skew)); }; -module.exports = MarkdownIt; - -/***/ }), - -/***/ "../../../node_modules/markdown-it/lib/parser_block.js": -/*!*************************************************************!*\ - !*** ../../../node_modules/markdown-it/lib/parser_block.js ***! - \*************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -/** internal - * class ParserBlock - * - * Block-level tokenizer. - **/ - - -var Ruler = __webpack_require__(/*! ./ruler */ "../../../node_modules/markdown-it/lib/ruler.js"); -var _rules = [ -// First 2 params - rule name & source. Secondary array - list of rules, -// which can be terminated by this one. -['table', __webpack_require__(/*! ./rules_block/table */ "../../../node_modules/markdown-it/lib/rules_block/table.js"), ['paragraph', 'reference']], ['code', __webpack_require__(/*! ./rules_block/code */ "../../../node_modules/markdown-it/lib/rules_block/code.js")], ['fence', __webpack_require__(/*! ./rules_block/fence */ "../../../node_modules/markdown-it/lib/rules_block/fence.js"), ['paragraph', 'reference', 'blockquote', 'list']], ['blockquote', __webpack_require__(/*! ./rules_block/blockquote */ "../../../node_modules/markdown-it/lib/rules_block/blockquote.js"), ['paragraph', 'reference', 'blockquote', 'list']], ['hr', __webpack_require__(/*! ./rules_block/hr */ "../../../node_modules/markdown-it/lib/rules_block/hr.js"), ['paragraph', 'reference', 'blockquote', 'list']], ['list', __webpack_require__(/*! ./rules_block/list */ "../../../node_modules/markdown-it/lib/rules_block/list.js"), ['paragraph', 'reference', 'blockquote']], ['reference', __webpack_require__(/*! ./rules_block/reference */ "../../../node_modules/markdown-it/lib/rules_block/reference.js")], ['html_block', __webpack_require__(/*! ./rules_block/html_block */ "../../../node_modules/markdown-it/lib/rules_block/html_block.js"), ['paragraph', 'reference', 'blockquote']], ['heading', __webpack_require__(/*! ./rules_block/heading */ "../../../node_modules/markdown-it/lib/rules_block/heading.js"), ['paragraph', 'reference', 'blockquote']], ['lheading', __webpack_require__(/*! ./rules_block/lheading */ "../../../node_modules/markdown-it/lib/rules_block/lheading.js")], ['paragraph', __webpack_require__(/*! ./rules_block/paragraph */ "../../../node_modules/markdown-it/lib/rules_block/paragraph.js")]]; /** - * new ParserBlock() - **/ -function ParserBlock() { - /** - * ParserBlock#ruler -> Ruler - * - * [[Ruler]] instance. Keep configuration of block rules. - **/ - this.ruler = new Ruler(); - for (var i = 0; i < _rules.length; i++) { - this.ruler.push(_rules[i][0], _rules[i][1], { - alt: (_rules[i][2] || []).slice() - }); - } -} - -// Generate tokens for input range -// -ParserBlock.prototype.tokenize = function (state, startLine, endLine) { - var ok, - i, - rules = this.ruler.getRules(''), - len = rules.length, - line = startLine, - hasEmptyLines = false, - maxNesting = state.md.options.maxNesting; - while (line < endLine) { - state.line = line = state.skipEmptyLines(line); - if (line >= endLine) { - break; - } + * Converts a Punycode string of ASCII-only symbols to a string of Unicode + * symbols. + * @memberOf punycode + * @param {String} input The Punycode string of ASCII-only symbols. + * @returns {String} The resulting string of Unicode symbols. + */ +const decode = function (input) { + // Don't use UCS-2. + const output = []; + const inputLength = input.length; + let i = 0; + let n = initialN; + let bias = initialBias; - // Termination condition for nested calls. - // Nested calls currently used for blockquotes & lists - if (state.sCount[line] < state.blkIndent) { - break; - } + // Handle the basic code points: let `basic` be the number of input code + // points before the last delimiter, or `0` if there is none, then copy + // the first basic code points to the output. - // If nesting level exceeded - skip tail to the end. That's not ordinary - // situation and we should not care about content. - if (state.level >= maxNesting) { - state.line = endLine; - break; + let basic = input.lastIndexOf(delimiter); + if (basic < 0) { + basic = 0; + } + for (let j = 0; j < basic; ++j) { + // if it's not a basic code point + if (input.charCodeAt(j) >= 0x80) { + error('not-basic'); } + output.push(input.charCodeAt(j)); + } - // Try all possible rules. - // On success, rule should: - // - // - update `state.line` - // - update `state.tokens` - // - return true + // Main decoding loop: start just after the last delimiter if any basic code + // points were copied; start at the beginning otherwise. - for (i = 0; i < len; i++) { - ok = rules[i](state, line, endLine, false); - if (ok) { + for /* no final expression */ + (let index = basic > 0 ? basic + 1 : 0; index < inputLength;) { + // `index` is the index of the next character to be consumed. + // Decode a generalized variable-length integer into `delta`, + // which gets added to `i`. The overflow checking is easier + // if we increase `i` as we go, then subtract off its starting + // value at the end to obtain `delta`. + const oldi = i; + for /* no condition */ + (let w = 1, k = base;; k += base) { + if (index >= inputLength) { + error('invalid-input'); + } + const digit = basicToDigit(input.charCodeAt(index++)); + if (digit >= base) { + error('invalid-input'); + } + if (digit > floor((maxInt - i) / w)) { + error('overflow'); + } + i += digit * w; + const t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias; + if (digit < t) { break; } + const baseMinusT = base - t; + if (w > floor(maxInt / baseMinusT)) { + error('overflow'); + } + w *= baseMinusT; } + const out = output.length + 1; + bias = adapt(i - oldi, out, oldi == 0); - // set state.tight if we had an empty line before current tag - // i.e. latest empty line should not count - state.tight = !hasEmptyLines; - - // paragraph might "eat" one newline after it in nested lists - if (state.isEmpty(state.line - 1)) { - hasEmptyLines = true; - } - line = state.line; - if (line < endLine && state.isEmpty(line)) { - hasEmptyLines = true; - line++; - state.line = line; + // `i` was supposed to wrap around from `out` to `0`, + // incrementing `n` each time, so we'll fix that now: + if (floor(i / out) > maxInt - n) { + error('overflow'); } + n += floor(i / out); + i %= out; + + // Insert `n` at position `i` of the output. + output.splice(i++, 0, n); } + return String.fromCodePoint(...output); }; /** - * ParserBlock.parse(str, md, env, outTokens) - * - * Process input string and push block tokens into `outTokens` - **/ -ParserBlock.prototype.parse = function (src, md, env, outTokens) { - var state; - if (!src) { - return; - } - state = new this.State(src, md, env, outTokens); - this.tokenize(state, state.line, state.lineMax); -}; -ParserBlock.prototype.State = __webpack_require__(/*! ./rules_block/state_block */ "../../../node_modules/markdown-it/lib/rules_block/state_block.js"); -module.exports = ParserBlock; + * Converts a string of Unicode symbols (e.g. a domain name label) to a + * Punycode string of ASCII-only symbols. + * @memberOf punycode + * @param {String} input The string of Unicode symbols. + * @returns {String} The resulting Punycode string of ASCII-only symbols. + */ +exports.decode = decode; +const encode = function (input) { + const output = []; -/***/ }), + // Convert the input in UCS-2 to an array of Unicode code points. + input = ucs2decode(input); -/***/ "../../../node_modules/markdown-it/lib/parser_core.js": -/*!************************************************************!*\ - !*** ../../../node_modules/markdown-it/lib/parser_core.js ***! - \************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + // Cache the length. + const inputLength = input.length; -/** internal - * class Core - * - * Top-level rules executor. Glues block/inline parsers and does intermediate - * transformations. - **/ + // Initialize the state. + let n = initialN; + let delta = 0; + let bias = initialBias; + // Handle the basic code points. + for (const currentValue of input) { + if (currentValue < 0x80) { + output.push(stringFromCharCode(currentValue)); + } + } + const basicLength = output.length; + let handledCPCount = basicLength; -var Ruler = __webpack_require__(/*! ./ruler */ "../../../node_modules/markdown-it/lib/ruler.js"); -var _rules = [['normalize', __webpack_require__(/*! ./rules_core/normalize */ "../../../node_modules/markdown-it/lib/rules_core/normalize.js")], ['block', __webpack_require__(/*! ./rules_core/block */ "../../../node_modules/markdown-it/lib/rules_core/block.js")], ['inline', __webpack_require__(/*! ./rules_core/inline */ "../../../node_modules/markdown-it/lib/rules_core/inline.js")], ['linkify', __webpack_require__(/*! ./rules_core/linkify */ "../../../node_modules/markdown-it/lib/rules_core/linkify.js")], ['replacements', __webpack_require__(/*! ./rules_core/replacements */ "../../../node_modules/markdown-it/lib/rules_core/replacements.js")], ['smartquotes', __webpack_require__(/*! ./rules_core/smartquotes */ "../../../node_modules/markdown-it/lib/rules_core/smartquotes.js")]]; + // `handledCPCount` is the number of code points that have been handled; + // `basicLength` is the number of basic code points. -/** - * new Core() - **/ -function Core() { - /** - * Core#ruler -> Ruler - * - * [[Ruler]] instance. Keep configuration of core rules. - **/ - this.ruler = new Ruler(); - for (var i = 0; i < _rules.length; i++) { - this.ruler.push(_rules[i][0], _rules[i][1]); + // Finish the basic string with a delimiter unless it's empty. + if (basicLength) { + output.push(delimiter); } -} -/** - * Core.process(state) - * - * Executes core chain rules. - **/ -Core.prototype.process = function (state) { - var i, l, rules; - rules = this.ruler.getRules(''); - for (i = 0, l = rules.length; i < l; i++) { - rules[i](state); + // Main encoding loop: + while (handledCPCount < inputLength) { + // All non-basic code points < n have been handled already. Find the next + // larger one: + let m = maxInt; + for (const currentValue of input) { + if (currentValue >= n && currentValue < m) { + m = currentValue; + } + } + + // Increase `delta` enough to advance the decoder's state to , + // but guard against overflow. + const handledCPCountPlusOne = handledCPCount + 1; + if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) { + error('overflow'); + } + delta += (m - n) * handledCPCountPlusOne; + n = m; + for (const currentValue of input) { + if (currentValue < n && ++delta > maxInt) { + error('overflow'); + } + if (currentValue === n) { + // Represent delta as a generalized variable-length integer. + let q = delta; + for /* no condition */ + (let k = base;; k += base) { + const t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias; + if (q < t) { + break; + } + const qMinusT = q - t; + const baseMinusT = base - t; + output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))); + q = floor(qMinusT / baseMinusT); + } + output.push(stringFromCharCode(digitToBasic(q, 0))); + bias = adapt(delta, handledCPCountPlusOne, handledCPCount === basicLength); + delta = 0; + ++handledCPCount; + } + } + ++delta; + ++n; } + return output.join(''); }; -Core.prototype.State = __webpack_require__(/*! ./rules_core/state_core */ "../../../node_modules/markdown-it/lib/rules_core/state_core.js"); -module.exports = Core; - -/***/ }), - -/***/ "../../../node_modules/markdown-it/lib/parser_inline.js": -/*!**************************************************************!*\ - !*** ../../../node_modules/markdown-it/lib/parser_inline.js ***! - \**************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -/** internal - * class ParserInline - * - * Tokenizes paragraph content. - **/ - - -var Ruler = __webpack_require__(/*! ./ruler */ "../../../node_modules/markdown-it/lib/ruler.js"); - -//////////////////////////////////////////////////////////////////////////////// -// Parser rules - -var _rules = [['text', __webpack_require__(/*! ./rules_inline/text */ "../../../node_modules/markdown-it/lib/rules_inline/text.js")], ['newline', __webpack_require__(/*! ./rules_inline/newline */ "../../../node_modules/markdown-it/lib/rules_inline/newline.js")], ['escape', __webpack_require__(/*! ./rules_inline/escape */ "../../../node_modules/markdown-it/lib/rules_inline/escape.js")], ['backticks', __webpack_require__(/*! ./rules_inline/backticks */ "../../../node_modules/markdown-it/lib/rules_inline/backticks.js")], ['strikethrough', (__webpack_require__(/*! ./rules_inline/strikethrough */ "../../../node_modules/markdown-it/lib/rules_inline/strikethrough.js").tokenize)], ['emphasis', (__webpack_require__(/*! ./rules_inline/emphasis */ "../../../node_modules/markdown-it/lib/rules_inline/emphasis.js").tokenize)], ['link', __webpack_require__(/*! ./rules_inline/link */ "../../../node_modules/markdown-it/lib/rules_inline/link.js")], ['image', __webpack_require__(/*! ./rules_inline/image */ "../../../node_modules/markdown-it/lib/rules_inline/image.js")], ['autolink', __webpack_require__(/*! ./rules_inline/autolink */ "../../../node_modules/markdown-it/lib/rules_inline/autolink.js")], ['html_inline', __webpack_require__(/*! ./rules_inline/html_inline */ "../../../node_modules/markdown-it/lib/rules_inline/html_inline.js")], ['entity', __webpack_require__(/*! ./rules_inline/entity */ "../../../node_modules/markdown-it/lib/rules_inline/entity.js")]]; -var _rules2 = [['balance_pairs', __webpack_require__(/*! ./rules_inline/balance_pairs */ "../../../node_modules/markdown-it/lib/rules_inline/balance_pairs.js")], ['strikethrough', (__webpack_require__(/*! ./rules_inline/strikethrough */ "../../../node_modules/markdown-it/lib/rules_inline/strikethrough.js").postProcess)], ['emphasis', (__webpack_require__(/*! ./rules_inline/emphasis */ "../../../node_modules/markdown-it/lib/rules_inline/emphasis.js").postProcess)], ['text_collapse', __webpack_require__(/*! ./rules_inline/text_collapse */ "../../../node_modules/markdown-it/lib/rules_inline/text_collapse.js")]]; /** - * new ParserInline() - **/ -function ParserInline() { - var i; - - /** - * ParserInline#ruler -> Ruler - * - * [[Ruler]] instance. Keep configuration of inline rules. - **/ - this.ruler = new Ruler(); - for (i = 0; i < _rules.length; i++) { - this.ruler.push(_rules[i][0], _rules[i][1]); - } - - /** - * ParserInline#ruler2 -> Ruler - * - * [[Ruler]] instance. Second ruler used for post-processing - * (e.g. in emphasis-like rules). - **/ - this.ruler2 = new Ruler(); - for (i = 0; i < _rules2.length; i++) { - this.ruler2.push(_rules2[i][0], _rules2[i][1]); - } -} - -// Skip single token by running all rules in validation mode; -// returns `true` if any rule reported success -// -ParserInline.prototype.skipToken = function (state) { - var ok, - i, - pos = state.pos, - rules = this.ruler.getRules(''), - len = rules.length, - maxNesting = state.md.options.maxNesting, - cache = state.cache; - if (typeof cache[pos] !== 'undefined') { - state.pos = cache[pos]; - return; - } - if (state.level < maxNesting) { - for (i = 0; i < len; i++) { - // Increment state.level and decrement it later to limit recursion. - // It's harmless to do here, because no tokens are created. But ideally, - // we'd need a separate private state variable for this purpose. - // - state.level++; - ok = rules[i](state, true); - state.level--; - if (ok) { - break; - } - } - } else { - // Too much nesting, just skip until the end of the paragraph. - // - // NOTE: this will cause links to behave incorrectly in the following case, - // when an amount of `[` is exactly equal to `maxNesting + 1`: - // - // [[[[[[[[[[[[[[[[[[[[[foo]() - // - // TODO: remove this workaround when CM standard will allow nested links - // (we can replace it by preventing links from being parsed in - // validation mode) - // - state.pos = state.posMax; - } - if (!ok) { - state.pos++; - } - cache[pos] = state.pos; -}; - -// Generate tokens for input range -// -ParserInline.prototype.tokenize = function (state) { - var ok, - i, - rules = this.ruler.getRules(''), - len = rules.length, - end = state.posMax, - maxNesting = state.md.options.maxNesting; - while (state.pos < end) { - // Try all possible rules. - // On success, rule should: - // - // - update `state.pos` - // - update `state.tokens` - // - return true - - if (state.level < maxNesting) { - for (i = 0; i < len; i++) { - ok = rules[i](state, false); - if (ok) { - break; - } - } - } - if (ok) { - if (state.pos >= end) { - break; - } - continue; - } - state.pending += state.src[state.pos++]; - } - if (state.pending) { - state.pushPending(); - } + * Converts a Punycode string representing a domain name or an email address + * to Unicode. Only the Punycoded parts of the input will be converted, i.e. + * it doesn't matter if you call it on a string that has already been + * converted to Unicode. + * @memberOf punycode + * @param {String} input The Punycoded domain name or email address to + * convert to Unicode. + * @returns {String} The Unicode representation of the given Punycode + * string. + */ +exports.encode = encode; +const toUnicode = function (input) { + return mapDomain(input, function (string) { + return regexPunycode.test(string) ? decode(string.slice(4).toLowerCase()) : string; + }); }; /** - * ParserInline.parse(str, md, env, outTokens) - * - * Process input string and push inline tokens into `outTokens` - **/ -ParserInline.prototype.parse = function (str, md, env, outTokens) { - var i, rules, len; - var state = new this.State(str, md, env, outTokens); - this.tokenize(state); - rules = this.ruler2.getRules(''); - len = rules.length; - for (i = 0; i < len; i++) { - rules[i](state); - } + * Converts a Unicode string representing a domain name or an email address to + * Punycode. Only the non-ASCII parts of the domain name will be converted, + * i.e. it doesn't matter if you call it with a domain that's already in + * ASCII. + * @memberOf punycode + * @param {String} input The domain name or email address to convert, as a + * Unicode string. + * @returns {String} The Punycode representation of the given domain name or + * email address. + */ +exports.toUnicode = toUnicode; +const toASCII = function (input) { + return mapDomain(input, function (string) { + return regexNonASCII.test(string) ? 'xn--' + encode(string) : string; + }); }; -ParserInline.prototype.State = __webpack_require__(/*! ./rules_inline/state_inline */ "../../../node_modules/markdown-it/lib/rules_inline/state_inline.js"); -module.exports = ParserInline; -/***/ }), - -/***/ "../../../node_modules/markdown-it/lib/presets/commonmark.js": -/*!*******************************************************************!*\ - !*** ../../../node_modules/markdown-it/lib/presets/commonmark.js ***! - \*******************************************************************/ -/***/ (function(module) { - -// Commonmark default options +/*--------------------------------------------------------------------------*/ +/** Define the public API */ +exports.toASCII = toASCII; +const punycode = { + /** + * A string representing the current Punycode.js version number. + * @memberOf punycode + * @type String + */ + 'version': '2.3.1', + /** + * An object of methods to convert from JavaScript's internal character + * representation (UCS-2) to Unicode code points, and back. + * @see + * @memberOf punycode + * @type Object + */ + 'ucs2': { + 'decode': ucs2decode, + 'encode': ucs2encode + }, + 'decode': decode, + 'encode': encode, + 'toASCII': toASCII, + 'toUnicode': toUnicode +}; +var _default = punycode; +exports["default"] = _default; +/***/ }), -module.exports = { - options: { - html: true, - // Enable HTML tags in source - xhtmlOut: true, - // Use '/' to close single tags (
) - breaks: false, - // Convert '\n' in paragraphs into
- langPrefix: 'language-', - // CSS language prefix for fenced blocks - linkify: false, - // autoconvert URL-like texts to links +/***/ "../../../node_modules/react-remove-scroll-bar/dist/es2015/component.js": +/*!******************************************************************************!*\ + !*** ../../../node_modules/react-remove-scroll-bar/dist/es2015/component.js ***! + \******************************************************************************/ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - // Enable some language-neutral replacements + quotes beautification - typographer: false, - // Double + single quotes replacement pairs, when typographer enabled, - // and smartquotes on. Could be either a String or an Array. - // - // For example, you can use '«»„“' for Russian, '„“‚‘' for German, - // and ['«\xA0', '\xA0»', '‹\xA0', '\xA0›'] for French (including nbsp). - quotes: '\u201c\u201d\u2018\u2019', - /* “”‘’ */ - // Highlighter function. Should return escaped HTML, - // or '' if the source string is not changed and should be escaped externaly. - // If result starts with

' + highlighted + '
\n'; -}; -default_rules.image = function (tokens, idx, options, env, slf) { - var token = tokens[idx]; - // "alt" attr MUST be set, even if empty. Because it's mandatory and - // should be placed on proper position for tests. - // - // Replace content with actual value - - token.attrs[token.attrIndex('alt')][1] = slf.renderInlineAsText(token.children, options, env); - return slf.renderToken(tokens, idx, options); -}; -default_rules.hardbreak = function (tokens, idx, options /*, env */) { - return options.xhtmlOut ? '
\n' : '
\n'; +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.RemoveScrollSideCar = RemoveScrollSideCar; +exports.getTouchXY = exports.getDeltaXY = void 0; +var _tslib = __webpack_require__(/*! tslib */ "../../../node_modules/tslib/tslib.es6.js"); +var React = _interopRequireWildcard(__webpack_require__(/*! react */ "react")); +var _reactRemoveScrollBar = __webpack_require__(/*! react-remove-scroll-bar */ "../../../node_modules/react-remove-scroll-bar/dist/es2015/index.js"); +var _reactStyleSingleton = __webpack_require__(/*! react-style-singleton */ "../../../node_modules/react-style-singleton/dist/es2015/index.js"); +var _aggresiveCapture = __webpack_require__(/*! ./aggresiveCapture */ "../../../node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js"); +var _handleScroll = __webpack_require__(/*! ./handleScroll */ "../../../node_modules/react-remove-scroll/dist/es2015/handleScroll.js"); +function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } +function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } +var getTouchXY = function (event) { + return 'changedTouches' in event ? [event.changedTouches[0].clientX, event.changedTouches[0].clientY] : [0, 0]; }; -default_rules.softbreak = function (tokens, idx, options /*, env */) { - return options.breaks ? options.xhtmlOut ? '
\n' : '
\n' : '\n'; +exports.getTouchXY = getTouchXY; +var getDeltaXY = function (event) { + return [event.deltaX, event.deltaY]; }; -default_rules.text = function (tokens, idx /*, options, env */) { - return escapeHtml(tokens[idx].content); +exports.getDeltaXY = getDeltaXY; +var extractRef = function (ref) { + return ref && 'current' in ref ? ref.current : ref; }; -default_rules.html_block = function (tokens, idx /*, options, env */) { - return tokens[idx].content; +var deltaCompare = function (x, y) { + return x[0] === y[0] && x[1] === y[1]; }; -default_rules.html_inline = function (tokens, idx /*, options, env */) { - return tokens[idx].content; +var generateStyle = function (id) { + return "\n .block-interactivity-".concat(id, " {pointer-events: none;}\n .allow-interactivity-").concat(id, " {pointer-events: all;}\n"); }; +var idCounter = 0; +var lockStack = []; +function RemoveScrollSideCar(props) { + var shouldPreventQueue = React.useRef([]); + var touchStartRef = React.useRef([0, 0]); + var activeAxis = React.useRef(); + var id = React.useState(idCounter++)[0]; + var Style = React.useState(function () { + return (0, _reactStyleSingleton.styleSingleton)(); + })[0]; + var lastProps = React.useRef(props); + React.useEffect(function () { + lastProps.current = props; + }, [props]); + React.useEffect(function () { + if (props.inert) { + document.body.classList.add("block-interactivity-".concat(id)); + var allow_1 = (0, _tslib.__spreadArray)([props.lockRef.current], (props.shards || []).map(extractRef), true).filter(Boolean); + allow_1.forEach(function (el) { + return el.classList.add("allow-interactivity-".concat(id)); + }); + return function () { + document.body.classList.remove("block-interactivity-".concat(id)); + allow_1.forEach(function (el) { + return el.classList.remove("allow-interactivity-".concat(id)); + }); + }; + } + return; + }, [props.inert, props.lockRef.current, props.shards]); + var shouldCancelEvent = React.useCallback(function (event, parent) { + if ('touches' in event && event.touches.length === 2) { + return !lastProps.current.allowPinchZoom; + } + var touch = getTouchXY(event); + var touchStart = touchStartRef.current; + var deltaX = 'deltaX' in event ? event.deltaX : touchStart[0] - touch[0]; + var deltaY = 'deltaY' in event ? event.deltaY : touchStart[1] - touch[1]; + var currentAxis; + var target = event.target; + var moveDirection = Math.abs(deltaX) > Math.abs(deltaY) ? 'h' : 'v'; + // allow horizontal touch move on Range inputs. They will not cause any scroll + if ('touches' in event && moveDirection === 'h' && target.type === 'range') { + return false; + } + var canBeScrolledInMainDirection = (0, _handleScroll.locationCouldBeScrolled)(moveDirection, target); + if (!canBeScrolledInMainDirection) { + return true; + } + if (canBeScrolledInMainDirection) { + currentAxis = moveDirection; + } else { + currentAxis = moveDirection === 'v' ? 'h' : 'v'; + canBeScrolledInMainDirection = (0, _handleScroll.locationCouldBeScrolled)(moveDirection, target); + // other axis might be not scrollable + } -/** - * new Renderer() - * - * Creates new [[Renderer]] instance and fill [[Renderer#rules]] with defaults. - **/ -function Renderer() { - /** - * Renderer#rules -> Object - * - * Contains render rules for tokens. Can be updated and extended. - * - * ##### Example - * - * ```javascript - * var md = require('markdown-it')(); - * - * md.renderer.rules.strong_open = function () { return ''; }; - * md.renderer.rules.strong_close = function () { return ''; }; - * - * var result = md.renderInline(...); - * ``` - * - * Each rule is called as independent static function with fixed signature: - * - * ```javascript - * function my_token_render(tokens, idx, options, env, renderer) { - * // ... - * return renderedHTML; - * } - * ``` - * - * See [source code](https://github.com/markdown-it/markdown-it/blob/master/lib/renderer.js) - * for more details and examples. - **/ - this.rules = assign({}, default_rules); + if (!canBeScrolledInMainDirection) { + return false; + } + if (!activeAxis.current && 'changedTouches' in event && (deltaX || deltaY)) { + activeAxis.current = currentAxis; + } + if (!currentAxis) { + return true; + } + var cancelingAxis = activeAxis.current || currentAxis; + return (0, _handleScroll.handleScroll)(cancelingAxis, parent, event, cancelingAxis === 'h' ? deltaX : deltaY, true); + }, []); + var shouldPrevent = React.useCallback(function (_event) { + var event = _event; + if (!lockStack.length || lockStack[lockStack.length - 1] !== Style) { + // not the last active + return; + } + var delta = 'deltaY' in event ? getDeltaXY(event) : getTouchXY(event); + var sourceEvent = shouldPreventQueue.current.filter(function (e) { + return e.name === event.type && e.target === event.target && deltaCompare(e.delta, delta); + })[0]; + // self event, and should be canceled + if (sourceEvent && sourceEvent.should) { + if (event.cancelable) { + event.preventDefault(); + } + return; + } + // outside or shard event + if (!sourceEvent) { + var shardNodes = (lastProps.current.shards || []).map(extractRef).filter(Boolean).filter(function (node) { + return node.contains(event.target); + }); + var shouldStop = shardNodes.length > 0 ? shouldCancelEvent(event, shardNodes[0]) : !lastProps.current.noIsolation; + if (shouldStop) { + if (event.cancelable) { + event.preventDefault(); + } + } + } + }, []); + var shouldCancel = React.useCallback(function (name, delta, target, should) { + var event = { + name: name, + delta: delta, + target: target, + should: should + }; + shouldPreventQueue.current.push(event); + setTimeout(function () { + shouldPreventQueue.current = shouldPreventQueue.current.filter(function (e) { + return e !== event; + }); + }, 1); + }, []); + var scrollTouchStart = React.useCallback(function (event) { + touchStartRef.current = getTouchXY(event); + activeAxis.current = undefined; + }, []); + var scrollWheel = React.useCallback(function (event) { + shouldCancel(event.type, getDeltaXY(event), event.target, shouldCancelEvent(event, props.lockRef.current)); + }, []); + var scrollTouchMove = React.useCallback(function (event) { + shouldCancel(event.type, getTouchXY(event), event.target, shouldCancelEvent(event, props.lockRef.current)); + }, []); + React.useEffect(function () { + lockStack.push(Style); + props.setCallbacks({ + onScrollCapture: scrollWheel, + onWheelCapture: scrollWheel, + onTouchMoveCapture: scrollTouchMove + }); + document.addEventListener('wheel', shouldPrevent, _aggresiveCapture.nonPassive); + document.addEventListener('touchmove', shouldPrevent, _aggresiveCapture.nonPassive); + document.addEventListener('touchstart', scrollTouchStart, _aggresiveCapture.nonPassive); + return function () { + lockStack = lockStack.filter(function (inst) { + return inst !== Style; + }); + document.removeEventListener('wheel', shouldPrevent, _aggresiveCapture.nonPassive); + document.removeEventListener('touchmove', shouldPrevent, _aggresiveCapture.nonPassive); + document.removeEventListener('touchstart', scrollTouchStart, _aggresiveCapture.nonPassive); + }; + }, []); + var removeScrollBar = props.removeScrollBar, + inert = props.inert; + return /*#__PURE__*/React.createElement(React.Fragment, null, inert ? /*#__PURE__*/React.createElement(Style, { + styles: generateStyle(id) + }) : null, removeScrollBar ? /*#__PURE__*/React.createElement(_reactRemoveScrollBar.RemoveScrollBar, { + gapMode: "margin" + }) : null); } -/** - * Renderer.renderAttrs(token) -> String - * - * Render token attributes to string. - **/ -Renderer.prototype.renderAttrs = function renderAttrs(token) { - var i, l, result; - if (!token.attrs) { - return ''; - } - result = ''; - for (i = 0, l = token.attrs.length; i < l; i++) { - result += ' ' + escapeHtml(token.attrs[i][0]) + '="' + escapeHtml(token.attrs[i][1]) + '"'; - } - return result; -}; - -/** - * Renderer.renderToken(tokens, idx, options) -> String - * - tokens (Array): list of tokens - * - idx (Numbed): token index to render - * - options (Object): params of parser instance - * - * Default token renderer. Can be overriden by custom function - * in [[Renderer#rules]]. - **/ -Renderer.prototype.renderToken = function renderToken(tokens, idx, options) { - var nextToken, - result = '', - needLf = false, - token = tokens[idx]; - - // Tight list paragraphs - if (token.hidden) { - return ''; - } - - // Insert a newline between hidden paragraph and subsequent opening - // block-level tag. - // - // For example, here we should insert a newline before blockquote: - // - a - // > - // - if (token.block && token.nesting !== -1 && idx && tokens[idx - 1].hidden) { - result += '\n'; - } +/***/ }), - // Add token name, e.g. ``. - // - needLf = false; - } - } - } - } - result += needLf ? '>\n' : '>'; - return result; +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.RemoveScroll = void 0; +var _tslib = __webpack_require__(/*! tslib */ "../../../node_modules/tslib/tslib.es6.js"); +var React = _interopRequireWildcard(__webpack_require__(/*! react */ "react")); +var _constants = __webpack_require__(/*! react-remove-scroll-bar/constants */ "../../../node_modules/react-remove-scroll-bar/dist/es2015/constants.js"); +var _useCallbackRef = __webpack_require__(/*! use-callback-ref */ "../../../node_modules/use-callback-ref/dist/es2015/index.js"); +var _medium = __webpack_require__(/*! ./medium */ "../../../node_modules/react-remove-scroll/dist/es2015/medium.js"); +function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } +function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } +var nothing = function () { + return; }; - /** - * Renderer.renderInline(tokens, options, env) -> String - * - tokens (Array): list on block tokens to renter - * - options (Object): params of parser instance - * - env (Object): additional data from parsed input (references, for example) - * - * The same as [[Renderer.render]], but for single token of `inline` type. - **/ -Renderer.prototype.renderInline = function (tokens, options, env) { - var type, - result = '', - rules = this.rules; - for (var i = 0, len = tokens.length; i < len; i++) { - type = tokens[i].type; - if (typeof rules[type] !== 'undefined') { - result += rules[type](tokens, i, options, env, this); - } else { - result += this.renderToken(tokens, i, options); - } - } - return result; -}; - -/** internal - * Renderer.renderInlineAsText(tokens, options, env) -> String - * - tokens (Array): list on block tokens to renter - * - options (Object): params of parser instance - * - env (Object): additional data from parsed input (references, for example) - * - * Special kludge for image `alt` attributes to conform CommonMark spec. - * Don't try to use it! Spec requires to show `alt` content with stripped markup, - * instead of simple escaping. - **/ -Renderer.prototype.renderInlineAsText = function (tokens, options, env) { - var result = ''; - for (var i = 0, len = tokens.length; i < len; i++) { - if (tokens[i].type === 'text') { - result += tokens[i].content; - } else if (tokens[i].type === 'image') { - result += this.renderInlineAsText(tokens[i].children, options, env); - } else if (tokens[i].type === 'softbreak') { - result += '\n'; - } - } - return result; + * Removes scrollbar from the page and contain the scroll within the Lock + */ +var RemoveScroll = /*#__PURE__*/React.forwardRef(function (props, parentRef) { + var ref = React.useRef(null); + var _a = React.useState({ + onScrollCapture: nothing, + onWheelCapture: nothing, + onTouchMoveCapture: nothing + }), + callbacks = _a[0], + setCallbacks = _a[1]; + var forwardProps = props.forwardProps, + children = props.children, + className = props.className, + removeScrollBar = props.removeScrollBar, + enabled = props.enabled, + shards = props.shards, + sideCar = props.sideCar, + noIsolation = props.noIsolation, + inert = props.inert, + allowPinchZoom = props.allowPinchZoom, + _b = props.as, + Container = _b === void 0 ? 'div' : _b, + rest = (0, _tslib.__rest)(props, ["forwardProps", "children", "className", "removeScrollBar", "enabled", "shards", "sideCar", "noIsolation", "inert", "allowPinchZoom", "as"]); + var SideCar = sideCar; + var containerRef = (0, _useCallbackRef.useMergeRefs)([ref, parentRef]); + var containerProps = (0, _tslib.__assign)((0, _tslib.__assign)({}, rest), callbacks); + return /*#__PURE__*/React.createElement(React.Fragment, null, enabled && /*#__PURE__*/React.createElement(SideCar, { + sideCar: _medium.effectCar, + removeScrollBar: removeScrollBar, + shards: shards, + noIsolation: noIsolation, + inert: inert, + setCallbacks: setCallbacks, + allowPinchZoom: !!allowPinchZoom, + lockRef: ref + }), forwardProps ? /*#__PURE__*/React.cloneElement(React.Children.only(children), (0, _tslib.__assign)((0, _tslib.__assign)({}, containerProps), { + ref: containerRef + })) : /*#__PURE__*/React.createElement(Container, (0, _tslib.__assign)({}, containerProps, { + className: className, + ref: containerRef + }), children)); +}); +exports.RemoveScroll = RemoveScroll; +RemoveScroll.defaultProps = { + enabled: true, + removeScrollBar: true, + inert: false }; - -/** - * Renderer.render(tokens, options, env) -> String - * - tokens (Array): list on block tokens to renter - * - options (Object): params of parser instance - * - env (Object): additional data from parsed input (references, for example) - * - * Takes token stream and generates HTML. Probably, you will never need to call - * this method directly. - **/ -Renderer.prototype.render = function (tokens, options, env) { - var i, - len, - type, - result = '', - rules = this.rules; - for (i = 0, len = tokens.length; i < len; i++) { - type = tokens[i].type; - if (type === 'inline') { - result += this.renderInline(tokens[i].children, options, env); - } else if (typeof rules[type] !== 'undefined') { - result += rules[tokens[i].type](tokens, i, options, env, this); - } else { - result += this.renderToken(tokens, i, options, env); - } - } - return result; +RemoveScroll.classNames = { + fullWidth: _constants.fullWidthClassName, + zeroRight: _constants.zeroRightClassName }; -module.exports = Renderer; /***/ }), -/***/ "../../../node_modules/markdown-it/lib/ruler.js": -/*!******************************************************!*\ - !*** ../../../node_modules/markdown-it/lib/ruler.js ***! - \******************************************************/ -/***/ (function(module) { - -/** - * class Ruler - * - * Helper class, used by [[MarkdownIt#core]], [[MarkdownIt#block]] and - * [[MarkdownIt#inline]] to manage sequences of functions (rules): - * - * - keep rules in defined order - * - assign the name to each rule - * - enable/disable rules - * - add/replace rules - * - allow assign rules to additional named chains (in the same) - * - cacheing lists of active rules - * - * You will not need use this class directly until write plugins. For simple - * rules control use [[MarkdownIt.disable]], [[MarkdownIt.enable]] and - * [[MarkdownIt.use]]. - **/ +/***/ "../../../node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js": +/*!*********************************************************************************!*\ + !*** ../../../node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js ***! + \*********************************************************************************/ +/***/ (function(__unused_webpack_module, exports) { -/** - * new Ruler() - **/ -function Ruler() { - // List of added rules. Each element is: - // - // { - // name: XXX, - // enabled: Boolean, - // fn: Function(), - // alt: [ name2, name3 ] - // } - // - this.__rules__ = []; - // Cached rule chains. - // - // First level - chain name, '' for default. - // Second level - diginal anchor for fast filtering by charcodes. - // - this.__cache__ = null; +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.nonPassive = void 0; +var passiveSupported = false; +if (typeof window !== 'undefined') { + try { + var options = Object.defineProperty({}, 'passive', { + get: function () { + passiveSupported = true; + return true; + } + }); + // @ts-ignore + window.addEventListener('test', options, options); + // @ts-ignore + window.removeEventListener('test', options, options); + } catch (err) { + passiveSupported = false; + } } +var nonPassive = passiveSupported ? { + passive: false +} : false; +exports.nonPassive = nonPassive; -//////////////////////////////////////////////////////////////////////////////// -// Helper methods, should not be used directly +/***/ }), -// Find rule index by name -// -Ruler.prototype.__find__ = function (name) { - for (var i = 0; i < this.__rules__.length; i++) { - if (this.__rules__[i].name === name) { - return i; - } - } - return -1; -}; +/***/ "../../../node_modules/react-remove-scroll/dist/es2015/handleScroll.js": +/*!*****************************************************************************!*\ + !*** ../../../node_modules/react-remove-scroll/dist/es2015/handleScroll.js ***! + \*****************************************************************************/ +/***/ (function(__unused_webpack_module, exports) { -// Build rules lookup cache -// -Ruler.prototype.__compile__ = function () { - var self = this; - var chains = ['']; - // collect unique names - self.__rules__.forEach(function (rule) { - if (!rule.enabled) { - return; - } - rule.alt.forEach(function (altName) { - if (chains.indexOf(altName) < 0) { - chains.push(altName); - } - }); - }); - self.__cache__ = {}; - chains.forEach(function (chain) { - self.__cache__[chain] = []; - self.__rules__.forEach(function (rule) { - if (!rule.enabled) { - return; - } - if (chain && rule.alt.indexOf(chain) < 0) { - return; - } - self.__cache__[chain].push(rule.fn); - }); - }); -}; -/** - * Ruler.at(name, fn [, options]) - * - name (String): rule name to replace. - * - fn (Function): new rule function. - * - options (Object): new rule options (not mandatory). - * - * Replace rule by name with new function & options. Throws error if name not - * found. - * - * ##### Options: - * - * - __alt__ - array with names of "alternate" chains. - * - * ##### Example - * - * Replace existing typographer replacement rule with new one: - * - * ```javascript - * var md = require('markdown-it')(); - * - * md.core.ruler.at('replacements', function replace(state) { - * //... - * }); - * ``` - **/ -Ruler.prototype.at = function (name, fn, options) { - var index = this.__find__(name); - var opt = options || {}; - if (index === -1) { - throw new Error('Parser rule not found: ' + name); - } - this.__rules__[index].fn = fn; - this.__rules__[index].alt = opt.alt || []; - this.__cache__ = null; +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.locationCouldBeScrolled = exports.handleScroll = void 0; +var alwaysContainsScroll = function (node) { + // textarea will always _contain_ scroll inside self. It only can be hidden + return node.tagName === 'TEXTAREA'; }; - -/** - * Ruler.before(beforeName, ruleName, fn [, options]) - * - beforeName (String): new rule will be added before this one. - * - ruleName (String): name of added rule. - * - fn (Function): rule function. - * - options (Object): rule options (not mandatory). - * - * Add new rule to chain before one with given name. See also - * [[Ruler.after]], [[Ruler.push]]. - * - * ##### Options: - * - * - __alt__ - array with names of "alternate" chains. - * - * ##### Example - * - * ```javascript - * var md = require('markdown-it')(); - * - * md.block.ruler.before('paragraph', 'my_rule', function replace(state) { - * //... - * }); - * ``` - **/ -Ruler.prototype.before = function (beforeName, ruleName, fn, options) { - var index = this.__find__(beforeName); - var opt = options || {}; - if (index === -1) { - throw new Error('Parser rule not found: ' + beforeName); - } - this.__rules__.splice(index, 0, { - name: ruleName, - enabled: true, - fn: fn, - alt: opt.alt || [] - }); - this.__cache__ = null; +var elementCanBeScrolled = function (node, overflow) { + var styles = window.getComputedStyle(node); + return ( + // not-not-scrollable + styles[overflow] !== 'hidden' && + // contains scroll inside self + !(styles.overflowY === styles.overflowX && !alwaysContainsScroll(node) && styles[overflow] === 'visible') + ); }; - -/** - * Ruler.after(afterName, ruleName, fn [, options]) - * - afterName (String): new rule will be added after this one. - * - ruleName (String): name of added rule. - * - fn (Function): rule function. - * - options (Object): rule options (not mandatory). - * - * Add new rule to chain after one with given name. See also - * [[Ruler.before]], [[Ruler.push]]. - * - * ##### Options: - * - * - __alt__ - array with names of "alternate" chains. - * - * ##### Example - * - * ```javascript - * var md = require('markdown-it')(); - * - * md.inline.ruler.after('text', 'my_rule', function replace(state) { - * //... - * }); - * ``` - **/ -Ruler.prototype.after = function (afterName, ruleName, fn, options) { - var index = this.__find__(afterName); - var opt = options || {}; - if (index === -1) { - throw new Error('Parser rule not found: ' + afterName); - } - this.__rules__.splice(index + 1, 0, { - name: ruleName, - enabled: true, - fn: fn, - alt: opt.alt || [] - }); - this.__cache__ = null; +var elementCouldBeVScrolled = function (node) { + return elementCanBeScrolled(node, 'overflowY'); }; - -/** - * Ruler.push(ruleName, fn [, options]) - * - ruleName (String): name of added rule. - * - fn (Function): rule function. - * - options (Object): rule options (not mandatory). - * - * Push new rule to the end of chain. See also - * [[Ruler.before]], [[Ruler.after]]. - * - * ##### Options: - * - * - __alt__ - array with names of "alternate" chains. - * - * ##### Example - * - * ```javascript - * var md = require('markdown-it')(); - * - * md.core.ruler.push('my_rule', function replace(state) { - * //... - * }); - * ``` - **/ -Ruler.prototype.push = function (ruleName, fn, options) { - var opt = options || {}; - this.__rules__.push({ - name: ruleName, - enabled: true, - fn: fn, - alt: opt.alt || [] - }); - this.__cache__ = null; +var elementCouldBeHScrolled = function (node) { + return elementCanBeScrolled(node, 'overflowX'); }; - -/** - * Ruler.enable(list [, ignoreInvalid]) -> Array - * - list (String|Array): list of rule names to enable. - * - ignoreInvalid (Boolean): set `true` to ignore errors when rule not found. - * - * Enable rules with given names. If any rule name not found - throw Error. - * Errors can be disabled by second param. - * - * Returns list of found rule names (if no exception happened). - * - * See also [[Ruler.disable]], [[Ruler.enableOnly]]. - **/ -Ruler.prototype.enable = function (list, ignoreInvalid) { - if (!Array.isArray(list)) { - list = [list]; - } - var result = []; - - // Search by name and enable - list.forEach(function (name) { - var idx = this.__find__(name); - if (idx < 0) { - if (ignoreInvalid) { - return; +var locationCouldBeScrolled = function (axis, node) { + var current = node; + do { + // Skip over shadow root + if (typeof ShadowRoot !== 'undefined' && current instanceof ShadowRoot) { + current = current.host; + } + var isScrollable = elementCouldBeScrolled(axis, current); + if (isScrollable) { + var _a = getScrollVariables(axis, current), + s = _a[1], + d = _a[2]; + if (s > d) { + return true; } - throw new Error('Rules manager: invalid rule name ' + name); } - this.__rules__[idx].enabled = true; - result.push(name); - }, this); - this.__cache__ = null; - return result; + current = current.parentNode; + } while (current && current !== document.body); + return false; }; - -/** - * Ruler.enableOnly(list [, ignoreInvalid]) - * - list (String|Array): list of rule names to enable (whitelist). - * - ignoreInvalid (Boolean): set `true` to ignore errors when rule not found. - * - * Enable rules with given names, and disable everything else. If any rule name - * not found - throw Error. Errors can be disabled by second param. - * - * See also [[Ruler.disable]], [[Ruler.enable]]. - **/ -Ruler.prototype.enableOnly = function (list, ignoreInvalid) { - if (!Array.isArray(list)) { - list = [list]; - } - this.__rules__.forEach(function (rule) { - rule.enabled = false; - }); - this.enable(list, ignoreInvalid); +exports.locationCouldBeScrolled = locationCouldBeScrolled; +var getVScrollVariables = function (_a) { + var scrollTop = _a.scrollTop, + scrollHeight = _a.scrollHeight, + clientHeight = _a.clientHeight; + return [scrollTop, scrollHeight, clientHeight]; }; - -/** - * Ruler.disable(list [, ignoreInvalid]) -> Array - * - list (String|Array): list of rule names to disable. - * - ignoreInvalid (Boolean): set `true` to ignore errors when rule not found. - * - * Disable rules with given names. If any rule name not found - throw Error. - * Errors can be disabled by second param. - * - * Returns list of found rule names (if no exception happened). - * - * See also [[Ruler.enable]], [[Ruler.enableOnly]]. - **/ -Ruler.prototype.disable = function (list, ignoreInvalid) { - if (!Array.isArray(list)) { - list = [list]; - } - var result = []; - - // Search by name and disable - list.forEach(function (name) { - var idx = this.__find__(name); - if (idx < 0) { - if (ignoreInvalid) { - return; +var getHScrollVariables = function (_a) { + var scrollLeft = _a.scrollLeft, + scrollWidth = _a.scrollWidth, + clientWidth = _a.clientWidth; + return [scrollLeft, scrollWidth, clientWidth]; +}; +var elementCouldBeScrolled = function (axis, node) { + return axis === 'v' ? elementCouldBeVScrolled(node) : elementCouldBeHScrolled(node); +}; +var getScrollVariables = function (axis, node) { + return axis === 'v' ? getVScrollVariables(node) : getHScrollVariables(node); +}; +var getDirectionFactor = function (axis, direction) { + /** + * If the element's direction is rtl (right-to-left), then scrollLeft is 0 when the scrollbar is at its rightmost position, + * and then increasingly negative as you scroll towards the end of the content. + * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollLeft + */ + return axis === 'h' && direction === 'rtl' ? -1 : 1; +}; +var handleScroll = function (axis, endTarget, event, sourceDelta, noOverscroll) { + var directionFactor = getDirectionFactor(axis, window.getComputedStyle(endTarget).direction); + var delta = directionFactor * sourceDelta; + // find scrollable target + var target = event.target; + var targetInLock = endTarget.contains(target); + var shouldCancelScroll = false; + var isDeltaPositive = delta > 0; + var availableScroll = 0; + var availableScrollTop = 0; + do { + var _a = getScrollVariables(axis, target), + position = _a[0], + scroll_1 = _a[1], + capacity = _a[2]; + var elementScroll = scroll_1 - capacity - directionFactor * position; + if (position || elementScroll) { + if (elementCouldBeScrolled(axis, target)) { + availableScroll += elementScroll; + availableScrollTop += position; } - throw new Error('Rules manager: invalid rule name ' + name); } - this.__rules__[idx].enabled = false; - result.push(name); - }, this); - this.__cache__ = null; - return result; + target = target.parentNode; + } while ( + // portaled content + !targetInLock && target !== document.body || + // self content + targetInLock && (endTarget.contains(target) || endTarget === target)); + if (isDeltaPositive && (noOverscroll && availableScroll === 0 || !noOverscroll && delta > availableScroll)) { + shouldCancelScroll = true; + } else if (!isDeltaPositive && (noOverscroll && availableScrollTop === 0 || !noOverscroll && -delta > availableScrollTop)) { + shouldCancelScroll = true; + } + return shouldCancelScroll; }; +exports.handleScroll = handleScroll; -/** - * Ruler.getRules(chainName) -> Array - * - * Return array of active functions (rules) for given chain name. It analyzes - * rules configuration, compiles caches if not exists and returns result. - * - * Default chain name is `''` (empty string). It can't be skipped. That's - * done intentionally, to keep signature monomorphic for high speed. - **/ -Ruler.prototype.getRules = function (chainName) { - if (this.__cache__ === null) { - this.__compile__(); - } +/***/ }), - // Chain can be empty, if rules disabled. But we still have to return Array. - return this.__cache__[chainName] || []; -}; -module.exports = Ruler; +/***/ "../../../node_modules/react-remove-scroll/dist/es2015/index.js": +/*!**********************************************************************!*\ + !*** ../../../node_modules/react-remove-scroll/dist/es2015/index.js ***! + \**********************************************************************/ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +Object.defineProperty(exports, "RemoveScroll", ({ + enumerable: true, + get: function () { + return _Combination.default; + } +})); +var _Combination = _interopRequireDefault(__webpack_require__(/*! ./Combination */ "../../../node_modules/react-remove-scroll/dist/es2015/Combination.js")); +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /***/ }), -/***/ "../../../node_modules/markdown-it/lib/rules_block/blockquote.js": +/***/ "../../../node_modules/react-remove-scroll/dist/es2015/medium.js": /*!***********************************************************************!*\ - !*** ../../../node_modules/markdown-it/lib/rules_block/blockquote.js ***! + !*** ../../../node_modules/react-remove-scroll/dist/es2015/medium.js ***! \***********************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -// Block quotes +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { -var isSpace = (__webpack_require__(/*! ../common/utils */ "../../../node_modules/markdown-it/lib/common/utils.js").isSpace); -module.exports = function blockquote(state, startLine, endLine, silent) { - var adjustTab, - ch, - i, - initial, - l, - lastLineEmpty, - lines, - nextLine, - offset, - oldBMarks, - oldBSCount, - oldIndent, - oldParentType, - oldSCount, - oldTShift, - spaceAfterMarker, - terminate, - terminatorRules, - token, - isOutdented, - oldLineMax = state.lineMax, - pos = state.bMarks[startLine] + state.tShift[startLine], - max = state.eMarks[startLine]; +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.effectCar = void 0; +var _useSidecar = __webpack_require__(/*! use-sidecar */ "../../../node_modules/use-sidecar/dist/es2015/index.js"); +var effectCar = (0, _useSidecar.createSidecarMedium)(); +exports.effectCar = effectCar; - // if it's indented more than 3 spaces, it should be a code block - if (state.sCount[startLine] - state.blkIndent >= 4) { - return false; - } +/***/ }), - // check the block quote marker - if (state.src.charCodeAt(pos++) !== 0x3E /* > */) { - return false; - } +/***/ "../../../node_modules/react-remove-scroll/dist/es2015/sidecar.js": +/*!************************************************************************!*\ + !*** ../../../node_modules/react-remove-scroll/dist/es2015/sidecar.js ***! + \************************************************************************/ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - // we know that it's going to be a valid blockquote, - // so no point trying to find the end of it in silent mode - if (silent) { - return true; - } - // set offset past spaces and ">" - initial = offset = state.sCount[startLine] + 1; - // skip one optional space after '>' - if (state.src.charCodeAt(pos) === 0x20 /* space */) { - // ' > test ' - // ^ -- position start of line here: - pos++; - initial++; - offset++; - adjustTab = false; - spaceAfterMarker = true; - } else if (state.src.charCodeAt(pos) === 0x09 /* tab */) { - spaceAfterMarker = true; - if ((state.bsCount[startLine] + offset) % 4 === 3) { - // ' >\t test ' - // ^ -- position start of line here (tab has width===1) - pos++; - initial++; - offset++; - adjustTab = false; - } else { - // ' >\t test ' - // ^ -- position start of line here + shift bsCount slightly - // to make extra space appear - adjustTab = true; - } - } else { - spaceAfterMarker = false; - } - oldBMarks = [state.bMarks[startLine]]; - state.bMarks[startLine] = pos; - while (pos < max) { - ch = state.src.charCodeAt(pos); - if (isSpace(ch)) { - if (ch === 0x09) { - offset += 4 - (offset + state.bsCount[startLine] + (adjustTab ? 1 : 0)) % 4; - } else { - offset++; - } - } else { - break; - } - pos++; - } - oldBSCount = [state.bsCount[startLine]]; - state.bsCount[startLine] = state.sCount[startLine] + 1 + (spaceAfterMarker ? 1 : 0); - lastLineEmpty = pos >= max; - oldSCount = [state.sCount[startLine]]; - state.sCount[startLine] = offset - initial; - oldTShift = [state.tShift[startLine]]; - state.tShift[startLine] = pos - state.bMarks[startLine]; - terminatorRules = state.md.block.ruler.getRules('blockquote'); - oldParentType = state.parentType; - state.parentType = 'blockquote'; +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports["default"] = void 0; +var _useSidecar = __webpack_require__(/*! use-sidecar */ "../../../node_modules/use-sidecar/dist/es2015/index.js"); +var _SideEffect = __webpack_require__(/*! ./SideEffect */ "../../../node_modules/react-remove-scroll/dist/es2015/SideEffect.js"); +var _medium = __webpack_require__(/*! ./medium */ "../../../node_modules/react-remove-scroll/dist/es2015/medium.js"); +var _default = (0, _useSidecar.exportSidecar)(_medium.effectCar, _SideEffect.RemoveScrollSideCar); +exports["default"] = _default; - // Search the end of the block - // - // Block ends with either: - // 1. an empty line outside: - // ``` - // > test - // - // ``` - // 2. an empty line inside: - // ``` - // > - // test - // ``` - // 3. another tag: - // ``` - // > test - // - - - - // ``` - for (nextLine = startLine + 1; nextLine < endLine; nextLine++) { - // check if it's outdented, i.e. it's inside list item and indented - // less than said list item: - // - // ``` - // 1. anything - // > current blockquote - // 2. checking this line - // ``` - isOutdented = state.sCount[nextLine] < state.blkIndent; - pos = state.bMarks[nextLine] + state.tShift[nextLine]; - max = state.eMarks[nextLine]; - if (pos >= max) { - // Case 1: line is not inside the blockquote, and this line is empty. - break; - } - if (state.src.charCodeAt(pos++) === 0x3E /* > */ && !isOutdented) { - // This line is inside the blockquote. +/***/ }), - // set offset past spaces and ">" - initial = offset = state.sCount[nextLine] + 1; +/***/ "../../../node_modules/react-style-singleton/dist/es2015/component.js": +/*!****************************************************************************!*\ + !*** ../../../node_modules/react-style-singleton/dist/es2015/component.js ***! + \****************************************************************************/ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - // skip one optional space after '>' - if (state.src.charCodeAt(pos) === 0x20 /* space */) { - // ' > test ' - // ^ -- position start of line here: - pos++; - initial++; - offset++; - adjustTab = false; - spaceAfterMarker = true; - } else if (state.src.charCodeAt(pos) === 0x09 /* tab */) { - spaceAfterMarker = true; - if ((state.bsCount[nextLine] + offset) % 4 === 3) { - // ' >\t test ' - // ^ -- position start of line here (tab has width===1) - pos++; - initial++; - offset++; - adjustTab = false; - } else { - // ' >\t test ' - // ^ -- position start of line here + shift bsCount slightly - // to make extra space appear - adjustTab = true; - } - } else { - spaceAfterMarker = false; - } - oldBMarks.push(state.bMarks[nextLine]); - state.bMarks[nextLine] = pos; - while (pos < max) { - ch = state.src.charCodeAt(pos); - if (isSpace(ch)) { - if (ch === 0x09) { - offset += 4 - (offset + state.bsCount[nextLine] + (adjustTab ? 1 : 0)) % 4; - } else { - offset++; - } - } else { - break; - } - pos++; - } - lastLineEmpty = pos >= max; - oldBSCount.push(state.bsCount[nextLine]); - state.bsCount[nextLine] = state.sCount[nextLine] + 1 + (spaceAfterMarker ? 1 : 0); - oldSCount.push(state.sCount[nextLine]); - state.sCount[nextLine] = offset - initial; - oldTShift.push(state.tShift[nextLine]); - state.tShift[nextLine] = pos - state.bMarks[nextLine]; - continue; - } - // Case 2: line is not inside the blockquote, and the last line was empty. - if (lastLineEmpty) { - break; - } - // Case 3: another tag found. - terminate = false; - for (i = 0, l = terminatorRules.length; i < l; i++) { - if (terminatorRules[i](state, nextLine, endLine, true)) { - terminate = true; - break; - } - } - if (terminate) { - // Quirk to enforce "hard termination mode" for paragraphs; - // normally if you call `tokenize(state, startLine, nextLine)`, - // paragraphs will look below nextLine for paragraph continuation, - // but if blockquote is terminated by another tag, they shouldn't - state.lineMax = nextLine; - if (state.blkIndent !== 0) { - // state.blkIndent was non-zero, we now set it to zero, - // so we need to re-calculate all offsets to appear as - // if indent wasn't changed - oldBMarks.push(state.bMarks[nextLine]); - oldBSCount.push(state.bsCount[nextLine]); - oldTShift.push(state.tShift[nextLine]); - oldSCount.push(state.sCount[nextLine]); - state.sCount[nextLine] -= state.blkIndent; - } - break; - } - oldBMarks.push(state.bMarks[nextLine]); - oldBSCount.push(state.bsCount[nextLine]); - oldTShift.push(state.tShift[nextLine]); - oldSCount.push(state.sCount[nextLine]); - - // A negative indentation means that this is a paragraph continuation - // - state.sCount[nextLine] = -1; - } - oldIndent = state.blkIndent; - state.blkIndent = 0; - token = state.push('blockquote_open', 'blockquote', 1); - token.markup = '>'; - token.map = lines = [startLine, 0]; - state.md.block.tokenize(state, startLine, nextLine); - token = state.push('blockquote_close', 'blockquote', -1); - token.markup = '>'; - state.lineMax = oldLineMax; - state.parentType = oldParentType; - lines[1] = state.line; - - // Restore original tShift; this might not be necessary since the parser - // has already been here, but just to make sure we can do that. - for (i = 0; i < oldTShift.length; i++) { - state.bMarks[i + startLine] = oldBMarks[i]; - state.tShift[i + startLine] = oldTShift[i]; - state.sCount[i + startLine] = oldSCount[i]; - state.bsCount[i + startLine] = oldBSCount[i]; - } - state.blkIndent = oldIndent; - return true; +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.styleSingleton = void 0; +var _hook = __webpack_require__(/*! ./hook */ "../../../node_modules/react-style-singleton/dist/es2015/hook.js"); +/** + * create a Component to add styles on demand + * - styles are added when first instance is mounted + * - styles are removed when the last instance is unmounted + * - changing styles in runtime does nothing unless dynamic is set. But with multiple components that can lead to the undefined behavior + */ +var styleSingleton = function () { + var useStyle = (0, _hook.styleHookSingleton)(); + var Sheet = function (_a) { + var styles = _a.styles, + dynamic = _a.dynamic; + useStyle(styles, dynamic); + return null; + }; + return Sheet; }; +exports.styleSingleton = styleSingleton; /***/ }), -/***/ "../../../node_modules/markdown-it/lib/rules_block/code.js": -/*!*****************************************************************!*\ - !*** ../../../node_modules/markdown-it/lib/rules_block/code.js ***! - \*****************************************************************/ -/***/ (function(module) { - -// Code block (4 spaces padded) +/***/ "../../../node_modules/react-style-singleton/dist/es2015/hook.js": +/*!***********************************************************************!*\ + !*** ../../../node_modules/react-style-singleton/dist/es2015/hook.js ***! + \***********************************************************************/ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { -module.exports = function code(state, startLine, endLine /*, silent*/) { - var nextLine, last, token; - if (state.sCount[startLine] - state.blkIndent < 4) { - return false; - } - last = nextLine = startLine + 1; - while (nextLine < endLine) { - if (state.isEmpty(nextLine)) { - nextLine++; - continue; - } - if (state.sCount[nextLine] - state.blkIndent >= 4) { - nextLine++; - last = nextLine; - continue; - } - break; - } - state.line = last; - token = state.push('code_block', 'code', 0); - token.content = state.getLines(startLine, last, 4 + state.blkIndent, false) + '\n'; - token.map = [startLine, state.line]; - return true; +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.styleHookSingleton = void 0; +var React = _interopRequireWildcard(__webpack_require__(/*! react */ "react")); +var _singleton = __webpack_require__(/*! ./singleton */ "../../../node_modules/react-style-singleton/dist/es2015/singleton.js"); +function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } +function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } +/** + * creates a hook to control style singleton + * @see {@link styleSingleton} for a safer component version + * @example + * ```tsx + * const useStyle = styleHookSingleton(); + * /// + * useStyle('body { overflow: hidden}'); + */ +var styleHookSingleton = function () { + var sheet = (0, _singleton.stylesheetSingleton)(); + return function (styles, isDynamic) { + React.useEffect(function () { + sheet.add(styles); + return function () { + sheet.remove(); + }; + }, [styles && isDynamic]); + }; }; +exports.styleHookSingleton = styleHookSingleton; /***/ }), -/***/ "../../../node_modules/markdown-it/lib/rules_block/fence.js": -/*!******************************************************************!*\ - !*** ../../../node_modules/markdown-it/lib/rules_block/fence.js ***! - \******************************************************************/ -/***/ (function(module) { - -// fences (``` lang, ~~~ lang) - - +/***/ "../../../node_modules/react-style-singleton/dist/es2015/index.js": +/*!************************************************************************!*\ + !*** ../../../node_modules/react-style-singleton/dist/es2015/index.js ***! + \************************************************************************/ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { -module.exports = function fence(state, startLine, endLine, silent) { - var marker, - len, - params, - nextLine, - mem, - token, - markup, - haveEndMarker = false, - pos = state.bMarks[startLine] + state.tShift[startLine], - max = state.eMarks[startLine]; - // if it's indented more than 3 spaces, it should be a code block - if (state.sCount[startLine] - state.blkIndent >= 4) { - return false; - } - if (pos + 3 > max) { - return false; - } - marker = state.src.charCodeAt(pos); - if (marker !== 0x7E /* ~ */ && marker !== 0x60 /* ` */) { - return false; - } - // scan marker length - mem = pos; - pos = state.skipChars(pos, marker); - len = pos - mem; - if (len < 3) { - return false; - } - markup = state.src.slice(mem, pos); - params = state.src.slice(pos, max); - if (marker === 0x60 /* ` */) { - if (params.indexOf(String.fromCharCode(marker)) >= 0) { - return false; - } +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +Object.defineProperty(exports, "styleHookSingleton", ({ + enumerable: true, + get: function () { + return _hook.styleHookSingleton; } - - // Since start is found, we can report success here in validation mode - if (silent) { - return true; +})); +Object.defineProperty(exports, "styleSingleton", ({ + enumerable: true, + get: function () { + return _component.styleSingleton; } - - // search end of block - nextLine = startLine; - for (;;) { - nextLine++; - if (nextLine >= endLine) { - // unclosed block should be autoclosed by end of document. - // also block seems to be autoclosed by end of parent - break; - } - pos = mem = state.bMarks[nextLine] + state.tShift[nextLine]; - max = state.eMarks[nextLine]; - if (pos < max && state.sCount[nextLine] < state.blkIndent) { - // non-empty line with negative indent should stop the list: - // - ``` - // test - break; - } - if (state.src.charCodeAt(pos) !== marker) { - continue; - } - if (state.sCount[nextLine] - state.blkIndent >= 4) { - // closing fence should be indented less than 4 spaces - continue; - } - pos = state.skipChars(pos, marker); - - // closing code fence must be at least as long as the opening one - if (pos - mem < len) { - continue; - } - - // make sure tail has spaces only - pos = state.skipSpaces(pos); - if (pos < max) { - continue; - } - haveEndMarker = true; - // found! - break; +})); +Object.defineProperty(exports, "stylesheetSingleton", ({ + enumerable: true, + get: function () { + return _singleton.stylesheetSingleton; } - - // If a fence has heading spaces, they should be removed from its inner block - len = state.sCount[startLine]; - state.line = nextLine + (haveEndMarker ? 1 : 0); - token = state.push('fence', 'code', 0); - token.info = params; - token.content = state.getLines(startLine + 1, nextLine, len, true); - token.markup = markup; - token.map = [startLine, state.line]; - return true; -}; +})); +var _component = __webpack_require__(/*! ./component */ "../../../node_modules/react-style-singleton/dist/es2015/component.js"); +var _singleton = __webpack_require__(/*! ./singleton */ "../../../node_modules/react-style-singleton/dist/es2015/singleton.js"); +var _hook = __webpack_require__(/*! ./hook */ "../../../node_modules/react-style-singleton/dist/es2015/hook.js"); /***/ }), -/***/ "../../../node_modules/markdown-it/lib/rules_block/heading.js": -/*!********************************************************************!*\ - !*** ../../../node_modules/markdown-it/lib/rules_block/heading.js ***! - \********************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -// heading (#, ##, ...) - - +/***/ "../../../node_modules/react-style-singleton/dist/es2015/singleton.js": +/*!****************************************************************************!*\ + !*** ../../../node_modules/react-style-singleton/dist/es2015/singleton.js ***! + \****************************************************************************/ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { -var isSpace = (__webpack_require__(/*! ../common/utils */ "../../../node_modules/markdown-it/lib/common/utils.js").isSpace); -module.exports = function heading(state, startLine, endLine, silent) { - var ch, - level, - tmp, - token, - pos = state.bMarks[startLine] + state.tShift[startLine], - max = state.eMarks[startLine]; - // if it's indented more than 3 spaces, it should be a code block - if (state.sCount[startLine] - state.blkIndent >= 4) { - return false; - } - ch = state.src.charCodeAt(pos); - if (ch !== 0x23 /* # */ || pos >= max) { - return false; - } - // count heading level - level = 1; - ch = state.src.charCodeAt(++pos); - while (ch === 0x23 /* # */ && pos < max && level <= 6) { - level++; - ch = state.src.charCodeAt(++pos); - } - if (level > 6 || pos < max && !isSpace(ch)) { - return false; - } - if (silent) { - return true; +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.stylesheetSingleton = void 0; +var _getNonce = __webpack_require__(/*! get-nonce */ "../../../node_modules/get-nonce/dist/es2015/index.js"); +function makeStyleTag() { + if (!document) return null; + var tag = document.createElement('style'); + tag.type = 'text/css'; + var nonce = (0, _getNonce.getNonce)(); + if (nonce) { + tag.setAttribute('nonce', nonce); } - - // Let's cut tails like ' ### ' from the end of string - - max = state.skipSpacesBack(max, pos); - tmp = state.skipCharsBack(max, 0x23, pos); // # - if (tmp > pos && isSpace(state.src.charCodeAt(tmp - 1))) { - max = tmp; + return tag; +} +function injectStyles(tag, css) { + // @ts-ignore + if (tag.styleSheet) { + // @ts-ignore + tag.styleSheet.cssText = css; + } else { + tag.appendChild(document.createTextNode(css)); } - state.line = startLine + 1; - token = state.push('heading_open', 'h' + String(level), 1); - token.markup = '########'.slice(0, level); - token.map = [startLine, state.line]; - token = state.push('inline', '', 0); - token.content = state.src.slice(pos, max).trim(); - token.map = [startLine, state.line]; - token.children = []; - token = state.push('heading_close', 'h' + String(level), -1); - token.markup = '########'.slice(0, level); - return true; +} +function insertStyleTag(tag) { + var head = document.head || document.getElementsByTagName('head')[0]; + head.appendChild(tag); +} +var stylesheetSingleton = function () { + var counter = 0; + var stylesheet = null; + return { + add: function (style) { + if (counter == 0) { + if (stylesheet = makeStyleTag()) { + injectStyles(stylesheet, style); + insertStyleTag(stylesheet); + } + } + counter++; + }, + remove: function () { + counter--; + if (!counter && stylesheet) { + stylesheet.parentNode && stylesheet.parentNode.removeChild(stylesheet); + stylesheet = null; + } + } + }; }; +exports.stylesheetSingleton = stylesheetSingleton; /***/ }), -/***/ "../../../node_modules/markdown-it/lib/rules_block/hr.js": -/*!***************************************************************!*\ - !*** ../../../node_modules/markdown-it/lib/rules_block/hr.js ***! - \***************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -// Horizontal rule - +/***/ "../../../node_modules/react/cjs/react-jsx-runtime.development.js": +/*!************************************************************************!*\ + !*** ../../../node_modules/react/cjs/react-jsx-runtime.development.js ***! + \************************************************************************/ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { +/** + * @license React + * react-jsx-runtime.development.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ -var isSpace = (__webpack_require__(/*! ../common/utils */ "../../../node_modules/markdown-it/lib/common/utils.js").isSpace); -module.exports = function hr(state, startLine, endLine, silent) { - var marker, - cnt, - ch, - token, - pos = state.bMarks[startLine] + state.tShift[startLine], - max = state.eMarks[startLine]; - // if it's indented more than 3 spaces, it should be a code block - if (state.sCount[startLine] - state.blkIndent >= 4) { - return false; - } - marker = state.src.charCodeAt(pos++); - // Check hr marker - if (marker !== 0x2A /* * */ && marker !== 0x2D /* - */ && marker !== 0x5F /* _ */) { - return false; - } +if (true) { + (function () { + 'use strict'; - // markers can be mixed with spaces, but there should be at least 3 of them + var React = __webpack_require__(/*! react */ "react"); - cnt = 1; - while (pos < max) { - ch = state.src.charCodeAt(pos++); - if (ch !== marker && !isSpace(ch)) { - return false; + // ATTENTION + // When adding new symbols to this file, + // Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols' + // The Symbol used to tag the ReactElement-like types. + var REACT_ELEMENT_TYPE = Symbol.for('react.element'); + var REACT_PORTAL_TYPE = Symbol.for('react.portal'); + var REACT_FRAGMENT_TYPE = Symbol.for('react.fragment'); + var REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode'); + var REACT_PROFILER_TYPE = Symbol.for('react.profiler'); + var REACT_PROVIDER_TYPE = Symbol.for('react.provider'); + var REACT_CONTEXT_TYPE = Symbol.for('react.context'); + var REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref'); + var REACT_SUSPENSE_TYPE = Symbol.for('react.suspense'); + var REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list'); + var REACT_MEMO_TYPE = Symbol.for('react.memo'); + var REACT_LAZY_TYPE = Symbol.for('react.lazy'); + var REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen'); + var MAYBE_ITERATOR_SYMBOL = Symbol.iterator; + var FAUX_ITERATOR_SYMBOL = '@@iterator'; + function getIteratorFn(maybeIterable) { + if (maybeIterable === null || typeof maybeIterable !== 'object') { + return null; + } + var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]; + if (typeof maybeIterator === 'function') { + return maybeIterator; + } + return null; } - if (ch === marker) { - cnt++; + var ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED; + function error(format) { + { + { + for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { + args[_key2 - 1] = arguments[_key2]; + } + printWarning('error', format, args); + } + } } - } - if (cnt < 3) { - return false; - } - if (silent) { - return true; - } - state.line = startLine + 1; - token = state.push('hr', 'hr', 0); - token.map = [startLine, state.line]; - token.markup = Array(cnt + 1).join(String.fromCharCode(marker)); - return true; -}; + function printWarning(level, format, args) { + // When changing this logic, you might want to also + // update consoleWithStackDev.www.js as well. + { + var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame; + var stack = ReactDebugCurrentFrame.getStackAddendum(); + if (stack !== '') { + format += '%s'; + args = args.concat([stack]); + } // eslint-disable-next-line react-internal/safe-string-coercion -/***/ }), + var argsWithFormat = args.map(function (item) { + return String(item); + }); // Careful: RN currently depends on this prefix -/***/ "../../../node_modules/markdown-it/lib/rules_block/html_block.js": -/*!***********************************************************************!*\ - !*** ../../../node_modules/markdown-it/lib/rules_block/html_block.js ***! - \***********************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it + // breaks IE9: https://github.com/facebook/react/issues/13610 + // eslint-disable-next-line react-internal/no-production-logging -// HTML block + Function.prototype.apply.call(console[level], console, argsWithFormat); + } + } + // ----------------------------------------------------------------------------- + var enableScopeAPI = false; // Experimental Create Event Handle API. + var enableCacheElement = false; + var enableTransitionTracing = false; // No known bugs, but needs performance testing -var block_names = __webpack_require__(/*! ../common/html_blocks */ "../../../node_modules/markdown-it/lib/common/html_blocks.js"); -var HTML_OPEN_CLOSE_TAG_RE = (__webpack_require__(/*! ../common/html_re */ "../../../node_modules/markdown-it/lib/common/html_re.js").HTML_OPEN_CLOSE_TAG_RE); + var enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber + // stuff. Intended to enable React core members to more easily debug scheduling + // issues in DEV builds. -// An array of opening and corresponding closing sequences for html tags, -// last argument defines whether it can terminate a paragraph or not -// -var HTML_SEQUENCES = [[/^<(script|pre|style|textarea)(?=(\s|>|$))/i, /<\/(script|pre|style|textarea)>/i, true], [/^/, true], [/^<\?/, /\?>/, true], [/^/, true], [/^/, true], [new RegExp('^|$))', 'i'), /^$/, true], [new RegExp(HTML_OPEN_CLOSE_TAG_RE.source + '\\s*$'), /^$/, false]]; -module.exports = function html_block(state, startLine, endLine, silent) { - var i, - nextLine, - token, - lineText, - pos = state.bMarks[startLine] + state.tShift[startLine], - max = state.eMarks[startLine]; + var enableDebugTracing = false; // Track which Fiber(s) schedule render work. - // if it's indented more than 3 spaces, it should be a code block - if (state.sCount[startLine] - state.blkIndent >= 4) { - return false; - } - if (!state.md.options.html) { - return false; - } - if (state.src.charCodeAt(pos) !== 0x3C /* < */) { - return false; - } - lineText = state.src.slice(pos, max); - for (i = 0; i < HTML_SEQUENCES.length; i++) { - if (HTML_SEQUENCES[i][0].test(lineText)) { - break; + var REACT_MODULE_REFERENCE; + { + REACT_MODULE_REFERENCE = Symbol.for('react.module.reference'); } - } - if (i === HTML_SEQUENCES.length) { - return false; - } - if (silent) { - // true if this sequence can be a terminator, false otherwise - return HTML_SEQUENCES[i][2]; - } - nextLine = startLine + 1; + function isValidElementType(type) { + if (typeof type === 'string' || typeof type === 'function') { + return true; + } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill). - // If we are here - we detected HTML block. - // Let's roll down till block end. - if (!HTML_SEQUENCES[i][1].test(lineText)) { - for (; nextLine < endLine; nextLine++) { - if (state.sCount[nextLine] < state.blkIndent) { - break; + if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing) { + return true; } - pos = state.bMarks[nextLine] + state.tShift[nextLine]; - max = state.eMarks[nextLine]; - lineText = state.src.slice(pos, max); - if (HTML_SEQUENCES[i][1].test(lineText)) { - if (lineText.length !== 0) { - nextLine++; + if (typeof type === 'object' && type !== null) { + if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || + // This needs to include all possible module reference object + // types supported by any Flight configuration anywhere since + // we don't know which Flight build this will end up being used + // with. + type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) { + return true; } - break; } + return false; } - } - state.line = nextLine; - token = state.push('html_block', '', 0); - token.map = [startLine, nextLine]; - token.content = state.getLines(startLine, nextLine, state.blkIndent, true); - return true; -}; - -/***/ }), + function getWrappedName(outerType, innerType, wrapperName) { + var displayName = outerType.displayName; + if (displayName) { + return displayName; + } + var functionName = innerType.displayName || innerType.name || ''; + return functionName !== '' ? wrapperName + "(" + functionName + ")" : wrapperName; + } // Keep in sync with react-reconciler/getComponentNameFromFiber -/***/ "../../../node_modules/markdown-it/lib/rules_block/lheading.js": -/*!*********************************************************************!*\ - !*** ../../../node_modules/markdown-it/lib/rules_block/lheading.js ***! - \*********************************************************************/ -/***/ (function(module) { - -// lheading (---, ===) + function getContextName(type) { + return type.displayName || 'Context'; + } // Note that the reconciler package should generally prefer to use getComponentNameFromFiber() instead. + function getComponentNameFromType(type) { + if (type == null) { + // Host root, text node or just invalid type. + return null; + } + { + if (typeof type.tag === 'number') { + error('Received an unexpected object in getComponentNameFromType(). ' + 'This is likely a bug in React. Please file an issue.'); + } + } + if (typeof type === 'function') { + return type.displayName || type.name || null; + } + if (typeof type === 'string') { + return type; + } + switch (type) { + case REACT_FRAGMENT_TYPE: + return 'Fragment'; + case REACT_PORTAL_TYPE: + return 'Portal'; + case REACT_PROFILER_TYPE: + return 'Profiler'; + case REACT_STRICT_MODE_TYPE: + return 'StrictMode'; + case REACT_SUSPENSE_TYPE: + return 'Suspense'; + case REACT_SUSPENSE_LIST_TYPE: + return 'SuspenseList'; + } + if (typeof type === 'object') { + switch (type.$$typeof) { + case REACT_CONTEXT_TYPE: + var context = type; + return getContextName(context) + '.Consumer'; + case REACT_PROVIDER_TYPE: + var provider = type; + return getContextName(provider._context) + '.Provider'; + case REACT_FORWARD_REF_TYPE: + return getWrappedName(type, type.render, 'ForwardRef'); + case REACT_MEMO_TYPE: + var outerName = type.displayName || null; + if (outerName !== null) { + return outerName; + } + return getComponentNameFromType(type.type) || 'Memo'; + case REACT_LAZY_TYPE: + { + var lazyComponent = type; + var payload = lazyComponent._payload; + var init = lazyComponent._init; + try { + return getComponentNameFromType(init(payload)); + } catch (x) { + return null; + } + } + // eslint-disable-next-line no-fallthrough + } + } -module.exports = function lheading(state, startLine, endLine /*, silent*/) { - var content, - terminate, - i, - l, - token, - pos, - max, - level, - marker, - nextLine = startLine + 1, - oldParentType, - terminatorRules = state.md.block.ruler.getRules('paragraph'); + return null; + } + var assign = Object.assign; - // if it's indented more than 3 spaces, it should be a code block - if (state.sCount[startLine] - state.blkIndent >= 4) { - return false; - } - oldParentType = state.parentType; - state.parentType = 'paragraph'; // use paragraph to match terminatorRules + // Helpers to patch console.logs to avoid logging during side-effect free + // replaying on render function. This currently only patches the object + // lazily which won't cover if the log function was extracted eagerly. + // We could also eagerly patch the method. + var disabledDepth = 0; + var prevLog; + var prevInfo; + var prevWarn; + var prevError; + var prevGroup; + var prevGroupCollapsed; + var prevGroupEnd; + function disabledLog() {} + disabledLog.__reactDisabledLog = true; + function disableLogs() { + { + if (disabledDepth === 0) { + /* eslint-disable react-internal/no-production-logging */ + prevLog = console.log; + prevInfo = console.info; + prevWarn = console.warn; + prevError = console.error; + prevGroup = console.group; + prevGroupCollapsed = console.groupCollapsed; + prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099 - // jump line-by-line until empty one or EOF - for (; nextLine < endLine && !state.isEmpty(nextLine); nextLine++) { - // this would be a code block normally, but after paragraph - // it's considered a lazy continuation regardless of what's there - if (state.sCount[nextLine] - state.blkIndent > 3) { - continue; - } + var props = { + configurable: true, + enumerable: true, + value: disabledLog, + writable: true + }; // $FlowFixMe Flow thinks console is immutable. - // - // Check for underline in setext header - // - if (state.sCount[nextLine] >= state.blkIndent) { - pos = state.bMarks[nextLine] + state.tShift[nextLine]; - max = state.eMarks[nextLine]; - if (pos < max) { - marker = state.src.charCodeAt(pos); - if (marker === 0x2D /* - */ || marker === 0x3D /* = */) { - pos = state.skipChars(pos, marker); - pos = state.skipSpaces(pos); - if (pos >= max) { - level = marker === 0x3D /* = */ ? 1 : 2; - break; - } + Object.defineProperties(console, { + info: props, + log: props, + warn: props, + error: props, + group: props, + groupCollapsed: props, + groupEnd: props + }); + /* eslint-enable react-internal/no-production-logging */ } + + disabledDepth++; } } + function reenableLogs() { + { + disabledDepth--; + if (disabledDepth === 0) { + /* eslint-disable react-internal/no-production-logging */ + var props = { + configurable: true, + enumerable: true, + writable: true + }; // $FlowFixMe Flow thinks console is immutable. - // quirk for blockquotes, this line should already be checked by that rule - if (state.sCount[nextLine] < 0) { - continue; + Object.defineProperties(console, { + log: assign({}, props, { + value: prevLog + }), + info: assign({}, props, { + value: prevInfo + }), + warn: assign({}, props, { + value: prevWarn + }), + error: assign({}, props, { + value: prevError + }), + group: assign({}, props, { + value: prevGroup + }), + groupCollapsed: assign({}, props, { + value: prevGroupCollapsed + }), + groupEnd: assign({}, props, { + value: prevGroupEnd + }) + }); + /* eslint-enable react-internal/no-production-logging */ + } + + if (disabledDepth < 0) { + error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.'); + } + } } + var ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher; + var prefix; + function describeBuiltInComponentFrame(name, source, ownerFn) { + { + if (prefix === undefined) { + // Extract the VM specific prefix used by each line. + try { + throw Error(); + } catch (x) { + var match = x.stack.trim().match(/\n( *(at )?)/); + prefix = match && match[1] || ''; + } + } // We use the prefix to ensure our stacks line up with native stack frames. - // Some tags can terminate paragraph without empty line. - terminate = false; - for (i = 0, l = terminatorRules.length; i < l; i++) { - if (terminatorRules[i](state, nextLine, endLine, true)) { - terminate = true; - break; + return '\n' + prefix + name; } } - if (terminate) { - break; + var reentry = false; + var componentFrameCache; + { + var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map; + componentFrameCache = new PossiblyWeakMap(); } - } - if (!level) { - // Didn't find valid underline - return false; - } - content = state.getLines(startLine, nextLine, state.blkIndent, false).trim(); - state.line = nextLine + 1; - token = state.push('heading_open', 'h' + String(level), 1); - token.markup = String.fromCharCode(marker); - token.map = [startLine, state.line]; - token = state.push('inline', '', 0); - token.content = content; - token.map = [startLine, state.line - 1]; - token.children = []; - token = state.push('heading_close', 'h' + String(level), -1); - token.markup = String.fromCharCode(marker); - state.parentType = oldParentType; - return true; -}; + function describeNativeComponentFrame(fn, construct) { + // If something asked for a stack inside a fake render, it should get ignored. + if (!fn || reentry) { + return ''; + } + { + var frame = componentFrameCache.get(fn); + if (frame !== undefined) { + return frame; + } + } + var control; + reentry = true; + var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe It does accept undefined. -/***/ }), + Error.prepareStackTrace = undefined; + var previousDispatcher; + { + previousDispatcher = ReactCurrentDispatcher.current; // Set the dispatcher in DEV because this might be call in the render function + // for warnings. -/***/ "../../../node_modules/markdown-it/lib/rules_block/list.js": -/*!*****************************************************************!*\ - !*** ../../../node_modules/markdown-it/lib/rules_block/list.js ***! - \*****************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + ReactCurrentDispatcher.current = null; + disableLogs(); + } + try { + // This should throw. + if (construct) { + // Something should be setting the props in the constructor. + var Fake = function () { + throw Error(); + }; // $FlowFixMe -// Lists + Object.defineProperty(Fake.prototype, 'props', { + set: function () { + // We use a throwing setter instead of frozen or non-writable props + // because that won't throw in a non-strict mode function. + throw Error(); + } + }); + if (typeof Reflect === 'object' && Reflect.construct) { + // We construct a different control for this case to include any extra + // frames added by the construct call. + try { + Reflect.construct(Fake, []); + } catch (x) { + control = x; + } + Reflect.construct(fn, [], Fake); + } else { + try { + Fake.call(); + } catch (x) { + control = x; + } + fn.call(Fake.prototype); + } + } else { + try { + throw Error(); + } catch (x) { + control = x; + } + fn(); + } + } catch (sample) { + // This is inlined manually because closure doesn't do it for us. + if (sample && control && typeof sample.stack === 'string') { + // This extracts the first frame from the sample that isn't also in the control. + // Skipping one frame that we assume is the frame that calls the two. + var sampleLines = sample.stack.split('\n'); + var controlLines = control.stack.split('\n'); + var s = sampleLines.length - 1; + var c = controlLines.length - 1; + while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) { + // We expect at least one stack frame to be shared. + // Typically this will be the root most one. However, stack frames may be + // cut off due to maximum stack limits. In this case, one maybe cut off + // earlier than the other. We assume that the sample is longer or the same + // and there for cut off earlier. So we should find the root most frame in + // the sample somewhere in the control. + c--; + } + for (; s >= 1 && c >= 0; s--, c--) { + // Next we find the first one that isn't the same which should be the + // frame that called our sample function and the control. + if (sampleLines[s] !== controlLines[c]) { + // In V8, the first line is describing the message but other VMs don't. + // If we're about to return the first line, and the control is also on the same + // line, that's a pretty good indicator that our sample threw at same line as + // the control. I.e. before we entered the sample frame. So we ignore this result. + // This can happen if you passed a class to function component, or non-function. + if (s !== 1 || c !== 1) { + do { + s--; + c--; // We may still have similar intermediate frames from the construct call. + // The next one that isn't the same should be our match though. + if (c < 0 || sampleLines[s] !== controlLines[c]) { + // V8 adds a "new" prefix for native classes. Let's remove it to make it prettier. + var _frame = '\n' + sampleLines[s].replace(' at new ', ' at '); // If our component frame is labeled "" + // but we have a user-provided "displayName" + // splice it in to make the stack more readable. + if (fn.displayName && _frame.includes('')) { + _frame = _frame.replace('', fn.displayName); + } + { + if (typeof fn === 'function') { + componentFrameCache.set(fn, _frame); + } + } // Return the line we found. -var isSpace = (__webpack_require__(/*! ../common/utils */ "../../../node_modules/markdown-it/lib/common/utils.js").isSpace); + return _frame; + } + } while (s >= 1 && c >= 0); + } + break; + } + } + } + } finally { + reentry = false; + { + ReactCurrentDispatcher.current = previousDispatcher; + reenableLogs(); + } + Error.prepareStackTrace = previousPrepareStackTrace; + } // Fallback to just using the name if we couldn't make it throw. -// Search `[-+*][\n ]`, returns next pos after marker on success -// or -1 on fail. -function skipBulletListMarker(state, startLine) { - var marker, pos, max, ch; - pos = state.bMarks[startLine] + state.tShift[startLine]; - max = state.eMarks[startLine]; - marker = state.src.charCodeAt(pos++); - // Check bullet - if (marker !== 0x2A /* * */ && marker !== 0x2D /* - */ && marker !== 0x2B /* + */) { - return -1; - } - if (pos < max) { - ch = state.src.charCodeAt(pos); - if (!isSpace(ch)) { - // " -test " - is not a list item - return -1; + var name = fn ? fn.displayName || fn.name : ''; + var syntheticFrame = name ? describeBuiltInComponentFrame(name) : ''; + { + if (typeof fn === 'function') { + componentFrameCache.set(fn, syntheticFrame); + } + } + return syntheticFrame; } - } - return pos; -} - -// Search `\d+[.)][\n ]`, returns next pos after marker on success -// or -1 on fail. -function skipOrderedListMarker(state, startLine) { - var ch, - start = state.bMarks[startLine] + state.tShift[startLine], - pos = start, - max = state.eMarks[startLine]; - - // List marker should have at least 2 chars (digit + dot) - if (pos + 1 >= max) { - return -1; - } - ch = state.src.charCodeAt(pos++); - if (ch < 0x30 /* 0 */ || ch > 0x39 /* 9 */) { - return -1; - } - for (;;) { - // EOL -> fail - if (pos >= max) { - return -1; + function describeFunctionComponentFrame(fn, source, ownerFn) { + { + return describeNativeComponentFrame(fn, false); + } } - ch = state.src.charCodeAt(pos++); - if (ch >= 0x30 /* 0 */ && ch <= 0x39 /* 9 */) { - // List marker should have no more than 9 digits - // (prevents integer overflow in browsers) - if (pos - start >= 10) { - return -1; + function shouldConstruct(Component) { + var prototype = Component.prototype; + return !!(prototype && prototype.isReactComponent); + } + function describeUnknownElementTypeFrameInDEV(type, source, ownerFn) { + if (type == null) { + return ''; } - continue; + if (typeof type === 'function') { + { + return describeNativeComponentFrame(type, shouldConstruct(type)); + } + } + if (typeof type === 'string') { + return describeBuiltInComponentFrame(type); + } + switch (type) { + case REACT_SUSPENSE_TYPE: + return describeBuiltInComponentFrame('Suspense'); + case REACT_SUSPENSE_LIST_TYPE: + return describeBuiltInComponentFrame('SuspenseList'); + } + if (typeof type === 'object') { + switch (type.$$typeof) { + case REACT_FORWARD_REF_TYPE: + return describeFunctionComponentFrame(type.render); + case REACT_MEMO_TYPE: + // Memo may contain any component type so we recursively resolve it. + return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn); + case REACT_LAZY_TYPE: + { + var lazyComponent = type; + var payload = lazyComponent._payload; + var init = lazyComponent._init; + try { + // Lazy may contain any component type so we recursively resolve it. + return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn); + } catch (x) {} + } + } + } + return ''; } - - // found valid marker - if (ch === 0x29 /* ) */ || ch === 0x2e /* . */) { - break; + var hasOwnProperty = Object.prototype.hasOwnProperty; + var loggedTypeFailures = {}; + var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame; + function setCurrentlyValidatingElement(element) { + { + if (element) { + var owner = element._owner; + var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null); + ReactDebugCurrentFrame.setExtraStackFrame(stack); + } else { + ReactDebugCurrentFrame.setExtraStackFrame(null); + } + } } - return -1; - } - if (pos < max) { - ch = state.src.charCodeAt(pos); - if (!isSpace(ch)) { - // " 1.test " - is not a list item - return -1; + function checkPropTypes(typeSpecs, values, location, componentName, element) { + { + // $FlowFixMe This is okay but Flow doesn't know it. + var has = Function.call.bind(hasOwnProperty); + for (var typeSpecName in typeSpecs) { + if (has(typeSpecs, typeSpecName)) { + var error$1 = void 0; // Prop type validation may throw. In case they do, we don't want to + // fail the render phase where it didn't fail before. So we log it. + // After these have been cleaned up, we'll let them throw. + + try { + // This is intentionally an invariant that gets caught. It's the same + // behavior as without this statement except with a better message. + if (typeof typeSpecs[typeSpecName] !== 'function') { + // eslint-disable-next-line react-internal/prod-error-codes + var err = Error((componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.'); + err.name = 'Invariant Violation'; + throw err; + } + error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED'); + } catch (ex) { + error$1 = ex; + } + if (error$1 && !(error$1 instanceof Error)) { + setCurrentlyValidatingElement(element); + error('%s: type specification of %s' + ' `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error$1); + setCurrentlyValidatingElement(null); + } + if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) { + // Only monitor this failure once because there tends to be a lot of the + // same error. + loggedTypeFailures[error$1.message] = true; + setCurrentlyValidatingElement(element); + error('Failed %s type: %s', location, error$1.message); + setCurrentlyValidatingElement(null); + } + } + } + } } - } - return pos; -} -function markTightParagraphs(state, idx) { - var i, - l, - level = state.level + 2; - for (i = idx + 2, l = state.tokens.length - 2; i < l; i++) { - if (state.tokens[i].level === level && state.tokens[i].type === 'paragraph_open') { - state.tokens[i + 2].hidden = true; - state.tokens[i].hidden = true; - i += 2; + var isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare + + function isArray(a) { + return isArrayImpl(a); } - } -} -module.exports = function list(state, startLine, endLine, silent) { - var ch, - contentStart, - i, - indent, - indentAfterMarker, - initial, - isOrdered, - itemLines, - l, - listLines, - listTokIdx, - markerCharCode, - markerValue, - max, - nextLine, - offset, - oldListIndent, - oldParentType, - oldSCount, - oldTShift, - oldTight, - pos, - posAfterMarker, - prevEmptyEnd, - start, - terminate, - terminatorRules, - token, - isTerminatingParagraph = false, - tight = true; - // if it's indented more than 3 spaces, it should be a code block - if (state.sCount[startLine] - state.blkIndent >= 4) { - return false; - } - - // Special case: - // - item 1 - // - item 2 - // - item 3 - // - item 4 - // - this one is a paragraph continuation - if (state.listIndent >= 0 && state.sCount[startLine] - state.listIndent >= 4 && state.sCount[startLine] < state.blkIndent) { - return false; - } - - // limit conditions when list can interrupt - // a paragraph (validation mode only) - if (silent && state.parentType === 'paragraph') { - // Next list item should still terminate previous list item; - // - // This code can fail if plugins use blkIndent as well as lists, - // but I hope the spec gets fixed long before that happens. - // - if (state.tShift[startLine] >= state.blkIndent) { - isTerminatingParagraph = true; - } - } - - // Detect list type and position after marker - if ((posAfterMarker = skipOrderedListMarker(state, startLine)) >= 0) { - isOrdered = true; - start = state.bMarks[startLine] + state.tShift[startLine]; - markerValue = Number(state.src.slice(start, posAfterMarker - 1)); - - // If we're starting a new ordered list right after - // a paragraph, it should start with 1. - if (isTerminatingParagraph && markerValue !== 1) return false; - } else if ((posAfterMarker = skipBulletListMarker(state, startLine)) >= 0) { - isOrdered = false; - } else { - return false; - } - - // If we're starting a new unordered list right after - // a paragraph, first line should not be empty. - if (isTerminatingParagraph) { - if (state.skipSpaces(posAfterMarker) >= state.eMarks[startLine]) return false; - } - - // We should terminate list on style change. Remember first one to compare. - markerCharCode = state.src.charCodeAt(posAfterMarker - 1); - - // For validation mode we can terminate immediately - if (silent) { - return true; - } - - // Start list - listTokIdx = state.tokens.length; - if (isOrdered) { - token = state.push('ordered_list_open', 'ol', 1); - if (markerValue !== 1) { - token.attrs = [['start', markerValue]]; - } - } else { - token = state.push('bullet_list_open', 'ul', 1); - } - token.map = listLines = [startLine, 0]; - token.markup = String.fromCharCode(markerCharCode); - - // - // Iterate list items - // - - nextLine = startLine; - prevEmptyEnd = false; - terminatorRules = state.md.block.ruler.getRules('list'); - oldParentType = state.parentType; - state.parentType = 'list'; - while (nextLine < endLine) { - pos = posAfterMarker; - max = state.eMarks[nextLine]; - initial = offset = state.sCount[nextLine] + posAfterMarker - (state.bMarks[startLine] + state.tShift[startLine]); - while (pos < max) { - ch = state.src.charCodeAt(pos); - if (ch === 0x09) { - offset += 4 - (offset + state.bsCount[nextLine]) % 4; - } else if (ch === 0x20) { - offset++; - } else { - break; + /* + * The `'' + value` pattern (used in in perf-sensitive code) throws for Symbol + * and Temporal.* types. See https://github.com/facebook/react/pull/22064. + * + * The functions in this module will throw an easier-to-understand, + * easier-to-debug exception with a clear errors message message explaining the + * problem. (Instead of a confusing exception thrown inside the implementation + * of the `value` object). + */ + // $FlowFixMe only called in DEV, so void return is not possible. + function typeName(value) { + { + // toStringTag is needed for namespaced types like Temporal.Instant + var hasToStringTag = typeof Symbol === 'function' && Symbol.toStringTag; + var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || 'Object'; + return type; } - pos++; - } - contentStart = pos; - if (contentStart >= max) { - // trimming space in "- \n 3" case, indent is 1 here - indentAfterMarker = 1; - } else { - indentAfterMarker = offset - initial; - } - - // If we have more than 4 spaces, the indent is 1 - // (the rest is just indented code block) - if (indentAfterMarker > 4) { - indentAfterMarker = 1; - } - - // " - test" - // ^^^^^ - calculating total length of this thing - indent = initial + indentAfterMarker; + } // $FlowFixMe only called in DEV, so void return is not possible. - // Run subparser & write tokens - token = state.push('list_item_open', 'li', 1); - token.markup = String.fromCharCode(markerCharCode); - token.map = itemLines = [startLine, 0]; - if (isOrdered) { - token.info = state.src.slice(start, posAfterMarker - 1); + function willCoercionThrow(value) { + { + try { + testStringCoercion(value); + return false; + } catch (e) { + return true; + } + } } - - // change current state, then restore it after parser subcall - oldTight = state.tight; - oldTShift = state.tShift[startLine]; - oldSCount = state.sCount[startLine]; - - // - example list - // ^ listIndent position will be here - // ^ blkIndent position will be here - // - oldListIndent = state.listIndent; - state.listIndent = state.blkIndent; - state.blkIndent = indent; - state.tight = true; - state.tShift[startLine] = contentStart - state.bMarks[startLine]; - state.sCount[startLine] = offset; - if (contentStart >= max && state.isEmpty(startLine + 1)) { - // workaround for this case - // (list item is empty, list terminates before "foo"): - // ~~~~~~~~ - // - + function testStringCoercion(value) { + // If you ended up here by following an exception call stack, here's what's + // happened: you supplied an object or symbol value to React (as a prop, key, + // DOM attribute, CSS property, string ref, etc.) and when React tried to + // coerce it to a string using `'' + value`, an exception was thrown. // - // foo - // ~~~~~~~~ - state.line = Math.min(state.line + 2, endLine); - } else { - state.md.block.tokenize(state, startLine, endLine, true); - } - - // If any of list item is tight, mark list as tight - if (!state.tight || prevEmptyEnd) { - tight = false; - } - // Item become loose if finish with empty line, - // but we should filter last element, because it means list finish - prevEmptyEnd = state.line - startLine > 1 && state.isEmpty(state.line - 1); - state.blkIndent = state.listIndent; - state.listIndent = oldListIndent; - state.tShift[startLine] = oldTShift; - state.sCount[startLine] = oldSCount; - state.tight = oldTight; - token = state.push('list_item_close', 'li', -1); - token.markup = String.fromCharCode(markerCharCode); - nextLine = startLine = state.line; - itemLines[1] = nextLine; - contentStart = state.bMarks[startLine]; - if (nextLine >= endLine) { - break; + // The most common types that will cause this exception are `Symbol` instances + // and Temporal objects like `Temporal.Instant`. But any object that has a + // `valueOf` or `[Symbol.toPrimitive]` method that throws will also cause this + // exception. (Library authors do this to prevent users from using built-in + // numeric operators like `+` or comparison operators like `>=` because custom + // methods are needed to perform accurate arithmetic or comparison.) + // + // To fix the problem, coerce this object or symbol value to a string before + // passing it to React. The most reliable way is usually `String(value)`. + // + // To find which value is throwing, check the browser or debugger console. + // Before this exception was thrown, there should be `console.error` output + // that shows the type (Symbol, Temporal.PlainDate, etc.) that caused the + // problem and how that type was used: key, atrribute, input value prop, etc. + // In most cases, this console output also shows the component and its + // ancestor components where the exception happened. + // + // eslint-disable-next-line react-internal/safe-string-coercion + return '' + value; } - - // - // Try to check if list is terminated or continued. - // - if (state.sCount[nextLine] < state.blkIndent) { - break; + function checkKeyStringCoercion(value) { + { + if (willCoercionThrow(value)) { + error('The provided key is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', typeName(value)); + return testStringCoercion(value); // throw (to help callers find troubleshooting comments) + } + } } - // if it's indented more than 3 spaces, it should be a code block - if (state.sCount[startLine] - state.blkIndent >= 4) { - break; + var ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner; + var RESERVED_PROPS = { + key: true, + ref: true, + __self: true, + __source: true + }; + var specialPropKeyWarningShown; + var specialPropRefWarningShown; + var didWarnAboutStringRefs; + { + didWarnAboutStringRefs = {}; } - - // fail if terminating block found - terminate = false; - for (i = 0, l = terminatorRules.length; i < l; i++) { - if (terminatorRules[i](state, nextLine, endLine, true)) { - terminate = true; - break; + function hasValidRef(config) { + { + if (hasOwnProperty.call(config, 'ref')) { + var getter = Object.getOwnPropertyDescriptor(config, 'ref').get; + if (getter && getter.isReactWarning) { + return false; + } + } } + return config.ref !== undefined; } - if (terminate) { - break; + function hasValidKey(config) { + { + if (hasOwnProperty.call(config, 'key')) { + var getter = Object.getOwnPropertyDescriptor(config, 'key').get; + if (getter && getter.isReactWarning) { + return false; + } + } + } + return config.key !== undefined; } - - // fail if list has another type - if (isOrdered) { - posAfterMarker = skipOrderedListMarker(state, nextLine); - if (posAfterMarker < 0) { - break; + function warnIfStringRefCannotBeAutoConverted(config, self) { + { + if (typeof config.ref === 'string' && ReactCurrentOwner.current && self && ReactCurrentOwner.current.stateNode !== self) { + var componentName = getComponentNameFromType(ReactCurrentOwner.current.type); + if (!didWarnAboutStringRefs[componentName]) { + error('Component "%s" contains the string ref "%s". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', getComponentNameFromType(ReactCurrentOwner.current.type), config.ref); + didWarnAboutStringRefs[componentName] = true; + } + } } - start = state.bMarks[nextLine] + state.tShift[nextLine]; - } else { - posAfterMarker = skipBulletListMarker(state, nextLine); - if (posAfterMarker < 0) { - break; + } + function defineKeyPropWarningGetter(props, displayName) { + { + var warnAboutAccessingKey = function () { + if (!specialPropKeyWarningShown) { + specialPropKeyWarningShown = true; + error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName); + } + }; + warnAboutAccessingKey.isReactWarning = true; + Object.defineProperty(props, 'key', { + get: warnAboutAccessingKey, + configurable: true + }); } } - if (markerCharCode !== state.src.charCodeAt(posAfterMarker - 1)) { - break; + function defineRefPropWarningGetter(props, displayName) { + { + var warnAboutAccessingRef = function () { + if (!specialPropRefWarningShown) { + specialPropRefWarningShown = true; + error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName); + } + }; + warnAboutAccessingRef.isReactWarning = true; + Object.defineProperty(props, 'ref', { + get: warnAboutAccessingRef, + configurable: true + }); + } } - } - - // Finalize list - if (isOrdered) { - token = state.push('ordered_list_close', 'ol', -1); - } else { - token = state.push('bullet_list_close', 'ul', -1); - } - token.markup = String.fromCharCode(markerCharCode); - listLines[1] = nextLine; - state.line = nextLine; - state.parentType = oldParentType; + /** + * Factory method to create a new React element. This no longer adheres to + * the class pattern, so do not use new to call it. Also, instanceof check + * will not work. Instead test $$typeof field against Symbol.for('react.element') to check + * if something is a React Element. + * + * @param {*} type + * @param {*} props + * @param {*} key + * @param {string|object} ref + * @param {*} owner + * @param {*} self A *temporary* helper to detect places where `this` is + * different from the `owner` when React.createElement is called, so that we + * can warn. We want to get rid of owner and replace string `ref`s with arrow + * functions, and as long as `this` and owner are the same, there will be no + * change in behavior. + * @param {*} source An annotation object (added by a transpiler or otherwise) + * indicating filename, line number, and/or other information. + * @internal + */ - // mark paragraphs tight if needed - if (tight) { - markTightParagraphs(state, listTokIdx); - } - return true; -}; + var ReactElement = function (type, key, ref, self, source, owner, props) { + var element = { + // This tag allows us to uniquely identify this as a React Element + $$typeof: REACT_ELEMENT_TYPE, + // Built-in properties that belong on the element + type: type, + key: key, + ref: ref, + props: props, + // Record the component responsible for creating this element. + _owner: owner + }; + { + // The validation flag is currently mutative. We put it on + // an external backing store so that we can freeze the whole object. + // This can be replaced with a WeakMap once they are implemented in + // commonly used development environments. + element._store = {}; // To make comparing ReactElements easier for testing purposes, we make + // the validation flag non-enumerable (where possible, which should + // include every environment we run tests in), so the test framework + // ignores it. -/***/ }), + Object.defineProperty(element._store, 'validated', { + configurable: false, + enumerable: false, + writable: true, + value: false + }); // self and source are DEV only properties. -/***/ "../../../node_modules/markdown-it/lib/rules_block/paragraph.js": -/*!**********************************************************************!*\ - !*** ../../../node_modules/markdown-it/lib/rules_block/paragraph.js ***! - \**********************************************************************/ -/***/ (function(module) { + Object.defineProperty(element, '_self', { + configurable: false, + enumerable: false, + writable: false, + value: self + }); // Two elements created in two different places should be considered + // equal for testing purposes and therefore we hide it from enumeration. -// Paragraph + Object.defineProperty(element, '_source', { + configurable: false, + enumerable: false, + writable: false, + value: source + }); + if (Object.freeze) { + Object.freeze(element.props); + Object.freeze(element); + } + } + return element; + }; + /** + * https://github.com/reactjs/rfcs/pull/107 + * @param {*} type + * @param {object} props + * @param {string} key + */ + function jsxDEV(type, config, maybeKey, source, self) { + { + var propName; // Reserved names are extracted + var props = {}; + var key = null; + var ref = null; // Currently, key can be spread in as a prop. This causes a potential + // issue if key is also explicitly declared (ie.
+ // or
). We want to deprecate key spread, + // but as an intermediary step, we will use jsxDEV for everything except + //
, because we aren't currently able to tell if + // key is explicitly declared to be undefined or not. -module.exports = function paragraph(state, startLine /*, endLine*/) { - var content, - terminate, - i, - l, - token, - oldParentType, - nextLine = startLine + 1, - terminatorRules = state.md.block.ruler.getRules('paragraph'), - endLine = state.lineMax; - oldParentType = state.parentType; - state.parentType = 'paragraph'; + if (maybeKey !== undefined) { + { + checkKeyStringCoercion(maybeKey); + } + key = '' + maybeKey; + } + if (hasValidKey(config)) { + { + checkKeyStringCoercion(config.key); + } + key = '' + config.key; + } + if (hasValidRef(config)) { + ref = config.ref; + warnIfStringRefCannotBeAutoConverted(config, self); + } // Remaining properties are added to a new props object - // jump line-by-line until empty one or EOF - for (; nextLine < endLine && !state.isEmpty(nextLine); nextLine++) { - // this would be a code block normally, but after paragraph - // it's considered a lazy continuation regardless of what's there - if (state.sCount[nextLine] - state.blkIndent > 3) { - continue; - } + for (propName in config) { + if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) { + props[propName] = config[propName]; + } + } // Resolve default props - // quirk for blockquotes, this line should already be checked by that rule - if (state.sCount[nextLine] < 0) { - continue; + if (type && type.defaultProps) { + var defaultProps = type.defaultProps; + for (propName in defaultProps) { + if (props[propName] === undefined) { + props[propName] = defaultProps[propName]; + } + } + } + if (key || ref) { + var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type; + if (key) { + defineKeyPropWarningGetter(props, displayName); + } + if (ref) { + defineRefPropWarningGetter(props, displayName); + } + } + return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props); + } } - - // Some tags can terminate paragraph without empty line. - terminate = false; - for (i = 0, l = terminatorRules.length; i < l; i++) { - if (terminatorRules[i](state, nextLine, endLine, true)) { - terminate = true; - break; + var ReactCurrentOwner$1 = ReactSharedInternals.ReactCurrentOwner; + var ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame; + function setCurrentlyValidatingElement$1(element) { + { + if (element) { + var owner = element._owner; + var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null); + ReactDebugCurrentFrame$1.setExtraStackFrame(stack); + } else { + ReactDebugCurrentFrame$1.setExtraStackFrame(null); + } } } - if (terminate) { - break; + var propTypesMisspellWarningShown; + { + propTypesMisspellWarningShown = false; } - } - content = state.getLines(startLine, nextLine, state.blkIndent, false).trim(); - state.line = nextLine; - token = state.push('paragraph_open', 'p', 1); - token.map = [startLine, state.line]; - token = state.push('inline', '', 0); - token.content = content; - token.map = [startLine, state.line]; - token.children = []; - token = state.push('paragraph_close', 'p', -1); - state.parentType = oldParentType; - return true; -}; - -/***/ }), - -/***/ "../../../node_modules/markdown-it/lib/rules_block/reference.js": -/*!**********************************************************************!*\ - !*** ../../../node_modules/markdown-it/lib/rules_block/reference.js ***! - \**********************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - - - -var normalizeReference = (__webpack_require__(/*! ../common/utils */ "../../../node_modules/markdown-it/lib/common/utils.js").normalizeReference); -var isSpace = (__webpack_require__(/*! ../common/utils */ "../../../node_modules/markdown-it/lib/common/utils.js").isSpace); -module.exports = function reference(state, startLine, _endLine, silent) { - var ch, - destEndPos, - destEndLineNo, - endLine, - href, - i, - l, - label, - labelEnd, - oldParentType, - res, - start, - str, - terminate, - terminatorRules, - title, - lines = 0, - pos = state.bMarks[startLine] + state.tShift[startLine], - max = state.eMarks[startLine], - nextLine = startLine + 1; - - // if it's indented more than 3 spaces, it should be a code block - if (state.sCount[startLine] - state.blkIndent >= 4) { - return false; - } - if (state.src.charCodeAt(pos) !== 0x5B /* [ */) { - return false; - } + /** + * Verifies the object is a ReactElement. + * See https://reactjs.org/docs/react-api.html#isvalidelement + * @param {?object} object + * @return {boolean} True if `object` is a ReactElement. + * @final + */ - // Simple check to quickly interrupt scan on [link](url) at the start of line. - // Can be useful on practice: https://github.com/markdown-it/markdown-it/issues/54 - while (++pos < max) { - if (state.src.charCodeAt(pos) === 0x5D /* ] */ && state.src.charCodeAt(pos - 1) !== 0x5C /* \ */) { - if (pos + 1 === max) { - return false; - } - if (state.src.charCodeAt(pos + 1) !== 0x3A /* : */) { - return false; + function isValidElement(object) { + { + return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE; } - break; } - } - endLine = state.lineMax; - - // jump line-by-line until empty one or EOF - terminatorRules = state.md.block.ruler.getRules('reference'); - oldParentType = state.parentType; - state.parentType = 'reference'; - for (; nextLine < endLine && !state.isEmpty(nextLine); nextLine++) { - // this would be a code block normally, but after paragraph - // it's considered a lazy continuation regardless of what's there - if (state.sCount[nextLine] - state.blkIndent > 3) { - continue; - } - - // quirk for blockquotes, this line should already be checked by that rule - if (state.sCount[nextLine] < 0) { - continue; - } - - // Some tags can terminate paragraph without empty line. - terminate = false; - for (i = 0, l = terminatorRules.length; i < l; i++) { - if (terminatorRules[i](state, nextLine, endLine, true)) { - terminate = true; - break; + function getDeclarationErrorAddendum() { + { + if (ReactCurrentOwner$1.current) { + var name = getComponentNameFromType(ReactCurrentOwner$1.current.type); + if (name) { + return '\n\nCheck the render method of `' + name + '`.'; + } + } + return ''; } } - if (terminate) { - break; - } - } - str = state.getLines(startLine, nextLine, state.blkIndent, false).trim(); - max = str.length; - for (pos = 1; pos < max; pos++) { - ch = str.charCodeAt(pos); - if (ch === 0x5B /* [ */) { - return false; - } else if (ch === 0x5D /* ] */) { - labelEnd = pos; - break; - } else if (ch === 0x0A /* \n */) { - lines++; - } else if (ch === 0x5C /* \ */) { - pos++; - if (pos < max && str.charCodeAt(pos) === 0x0A) { - lines++; + function getSourceInfoErrorAddendum(source) { + { + if (source !== undefined) { + var fileName = source.fileName.replace(/^.*[\\\/]/, ''); + var lineNumber = source.lineNumber; + return '\n\nCheck your code at ' + fileName + ':' + lineNumber + '.'; + } + return ''; } } - } - if (labelEnd < 0 || str.charCodeAt(labelEnd + 1) !== 0x3A /* : */) { - return false; - } + /** + * Warn if there's no key explicitly set on dynamic arrays of children or + * object keys are not valid. This allows us to keep track of children between + * updates. + */ - // [label]: destination 'title' - // ^^^ skip optional whitespace here - for (pos = labelEnd + 2; pos < max; pos++) { - ch = str.charCodeAt(pos); - if (ch === 0x0A) { - lines++; - } else if (isSpace(ch)) { - /*eslint no-empty:0*/ - } else { - break; + var ownerHasKeyUseWarning = {}; + function getCurrentComponentErrorInfo(parentType) { + { + var info = getDeclarationErrorAddendum(); + if (!info) { + var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name; + if (parentName) { + info = "\n\nCheck the top-level render call using <" + parentName + ">."; + } + } + return info; + } } - } + /** + * Warn if the element doesn't have an explicit key assigned to it. + * This element is in an array. The array could grow and shrink or be + * reordered. All children that haven't already been validated are required to + * have a "key" property assigned to it. Error statuses are cached so a warning + * will only be shown once. + * + * @internal + * @param {ReactElement} element Element that requires a key. + * @param {*} parentType element's parent's type. + */ - // [label]: destination 'title' - // ^^^^^^^^^^^ parse this - res = state.md.helpers.parseLinkDestination(str, pos, max); - if (!res.ok) { - return false; - } - href = state.md.normalizeLink(res.str); - if (!state.md.validateLink(href)) { - return false; - } - pos = res.pos; - lines += res.lines; + function validateExplicitKey(element, parentType) { + { + if (!element._store || element._store.validated || element.key != null) { + return; + } + element._store.validated = true; + var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType); + if (ownerHasKeyUseWarning[currentComponentErrorInfo]) { + return; + } + ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a + // property, it may be the creator of the child that's responsible for + // assigning it a key. - // save cursor state, we could require to rollback later - destEndPos = pos; - destEndLineNo = lines; + var childOwner = ''; + if (element && element._owner && element._owner !== ReactCurrentOwner$1.current) { + // Give the component that originally created this child. + childOwner = " It was passed a child from " + getComponentNameFromType(element._owner.type) + "."; + } + setCurrentlyValidatingElement$1(element); + error('Each child in a list should have a unique "key" prop.' + '%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner); + setCurrentlyValidatingElement$1(null); + } + } + /** + * Ensure that every element either is passed in a static location, in an + * array with an explicit keys property defined, or in an object literal + * with valid key property. + * + * @internal + * @param {ReactNode} node Statically passed child of any type. + * @param {*} parentType node's parent's type. + */ - // [label]: destination 'title' - // ^^^ skipping those spaces - start = pos; - for (; pos < max; pos++) { - ch = str.charCodeAt(pos); - if (ch === 0x0A) { - lines++; - } else if (isSpace(ch)) { - /*eslint no-empty:0*/ - } else { - break; + function validateChildKeys(node, parentType) { + { + if (typeof node !== 'object') { + return; + } + if (isArray(node)) { + for (var i = 0; i < node.length; i++) { + var child = node[i]; + if (isValidElement(child)) { + validateExplicitKey(child, parentType); + } + } + } else if (isValidElement(node)) { + // This element was passed in a valid location. + if (node._store) { + node._store.validated = true; + } + } else if (node) { + var iteratorFn = getIteratorFn(node); + if (typeof iteratorFn === 'function') { + // Entry iterators used to provide implicit keys, + // but now we print a separate warning for them later. + if (iteratorFn !== node.entries) { + var iterator = iteratorFn.call(node); + var step; + while (!(step = iterator.next()).done) { + if (isValidElement(step.value)) { + validateExplicitKey(step.value, parentType); + } + } + } + } + } + } } - } + /** + * Given an element, validate that its props follow the propTypes definition, + * provided by the type. + * + * @param {ReactElement} element + */ - // [label]: destination 'title' - // ^^^^^^^ parse this - res = state.md.helpers.parseLinkTitle(str, pos, max); - if (pos < max && start !== pos && res.ok) { - title = res.str; - pos = res.pos; - lines += res.lines; - } else { - title = ''; - pos = destEndPos; - lines = destEndLineNo; - } + function validatePropTypes(element) { + { + var type = element.type; + if (type === null || type === undefined || typeof type === 'string') { + return; + } + var propTypes; + if (typeof type === 'function') { + propTypes = type.propTypes; + } else if (typeof type === 'object' && (type.$$typeof === REACT_FORWARD_REF_TYPE || + // Note: Memo only checks outer props here. + // Inner props are checked in the reconciler. + type.$$typeof === REACT_MEMO_TYPE)) { + propTypes = type.propTypes; + } else { + return; + } + if (propTypes) { + // Intentionally inside to avoid triggering lazy initializers: + var name = getComponentNameFromType(type); + checkPropTypes(propTypes, element.props, 'prop', name, element); + } else if (type.PropTypes !== undefined && !propTypesMisspellWarningShown) { + propTypesMisspellWarningShown = true; // Intentionally inside to avoid triggering lazy initializers: - // skip trailing spaces until the rest of the line - while (pos < max) { - ch = str.charCodeAt(pos); - if (!isSpace(ch)) { - break; - } - pos++; - } - if (pos < max && str.charCodeAt(pos) !== 0x0A) { - if (title) { - // garbage at the end of the line after title, - // but it could still be a valid reference if we roll back - title = ''; - pos = destEndPos; - lines = destEndLineNo; - while (pos < max) { - ch = str.charCodeAt(pos); - if (!isSpace(ch)) { - break; + var _name = getComponentNameFromType(type); + error('Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?', _name || 'Unknown'); + } + if (typeof type.getDefaultProps === 'function' && !type.getDefaultProps.isReactClassApproved) { + error('getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.'); } - pos++; } } - } - if (pos < max && str.charCodeAt(pos) !== 0x0A) { - // garbage at the end of the line - return false; - } - label = normalizeReference(str.slice(1, labelEnd)); - if (!label) { - // CommonMark 0.20 disallows empty labels - return false; - } - - // Reference can not terminate anything. This check is for safety only. - /*istanbul ignore if*/ - if (silent) { - return true; - } - if (typeof state.env.references === 'undefined') { - state.env.references = {}; - } - if (typeof state.env.references[label] === 'undefined') { - state.env.references[label] = { - title: title, - href: href - }; - } - state.parentType = oldParentType; - state.line = startLine + lines + 1; - return true; -}; + /** + * Given a fragment, validate that it can only be provided with fragment props + * @param {ReactElement} fragment + */ -/***/ }), + function validateFragmentProps(fragment) { + { + var keys = Object.keys(fragment.props); + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + if (key !== 'children' && key !== 'key') { + setCurrentlyValidatingElement$1(fragment); + error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key); + setCurrentlyValidatingElement$1(null); + break; + } + } + if (fragment.ref !== null) { + setCurrentlyValidatingElement$1(fragment); + error('Invalid attribute `ref` supplied to `React.Fragment`.'); + setCurrentlyValidatingElement$1(null); + } + } + } + function jsxWithValidation(type, props, key, isStaticChildren, source, self) { + { + var validType = isValidElementType(type); // We warn in this case but don't throw. We expect the element creation to + // succeed and there will likely be errors in render. -/***/ "../../../node_modules/markdown-it/lib/rules_block/state_block.js": -/*!************************************************************************!*\ - !*** ../../../node_modules/markdown-it/lib/rules_block/state_block.js ***! - \************************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + if (!validType) { + var info = ''; + if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) { + info += ' You likely forgot to export your component from the file ' + "it's defined in, or you might have mixed up default and named imports."; + } + var sourceInfo = getSourceInfoErrorAddendum(source); + if (sourceInfo) { + info += sourceInfo; + } else { + info += getDeclarationErrorAddendum(); + } + var typeString; + if (type === null) { + typeString = 'null'; + } else if (isArray(type)) { + typeString = 'array'; + } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) { + typeString = "<" + (getComponentNameFromType(type.type) || 'Unknown') + " />"; + info = ' Did you accidentally export a JSX literal instead of a component?'; + } else { + typeString = typeof type; + } + error('React.jsx: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info); + } + var element = jsxDEV(type, props, key, source, self); // The result can be nullish if a mock or a custom function is used. + // TODO: Drop this when these are no longer allowed as the type argument. -// Parser state class + if (element == null) { + return element; + } // Skip key warning if the type isn't valid since our key validation logic + // doesn't expect a non-string/function type and can throw confusing errors. + // We don't want exception behavior to differ between dev and prod. + // (Rendering will throw with a helpful message and as soon as the type is + // fixed, the key warnings will appear.) + if (validType) { + var children = props.children; + if (children !== undefined) { + if (isStaticChildren) { + if (isArray(children)) { + for (var i = 0; i < children.length; i++) { + validateChildKeys(children[i], type); + } + if (Object.freeze) { + Object.freeze(children); + } + } else { + error('React.jsx: Static children should always be an array. ' + 'You are likely explicitly calling React.jsxs or React.jsxDEV. ' + 'Use the Babel transform instead.'); + } + } else { + validateChildKeys(children, type); + } + } + } + if (type === REACT_FRAGMENT_TYPE) { + validateFragmentProps(element); + } else { + validatePropTypes(element); + } + return element; + } + } // These two functions exist to still get child warnings in dev + // even with the prod transform. This means that jsxDEV is purely + // opt-in behavior for better messages but that we won't stop + // giving you warnings if you use production apis. + function jsxWithValidationStatic(type, props, key) { + { + return jsxWithValidation(type, props, key, true); + } + } + function jsxWithValidationDynamic(type, props, key) { + { + return jsxWithValidation(type, props, key, false); + } + } + var jsx = jsxWithValidationDynamic; // we may want to special case jsxs internally to take advantage of static children. + // for now we can ship identical prod functions -var Token = __webpack_require__(/*! ../token */ "../../../node_modules/markdown-it/lib/token.js"); -var isSpace = (__webpack_require__(/*! ../common/utils */ "../../../node_modules/markdown-it/lib/common/utils.js").isSpace); -function StateBlock(src, md, env, tokens) { - var ch, s, start, pos, len, indent, offset, indent_found; - this.src = src; + var jsxs = jsxWithValidationStatic; + exports.Fragment = REACT_FRAGMENT_TYPE; + exports.jsx = jsx; + exports.jsxs = jsxs; + })(); +} - // link to parser instance - this.md = md; - this.env = env; +/***/ }), - // - // Internal state vartiables - // +/***/ "../../../node_modules/react/jsx-runtime.js": +/*!**************************************************!*\ + !*** ../../../node_modules/react/jsx-runtime.js ***! + \**************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - this.tokens = tokens; - this.bMarks = []; // line begin offsets for fast jumps - this.eMarks = []; // line end offsets for fast jumps - this.tShift = []; // offsets of the first non-space characters (tabs not expanded) - this.sCount = []; // indents for each line (tabs expanded) - // An amount of virtual spaces (tabs expanded) between beginning - // of each line (bMarks) and real beginning of that line. - // - // It exists only as a hack because blockquotes override bMarks - // losing information in the process. - // - // It's used only when expanding tabs, you can think about it as - // an initial tab length, e.g. bsCount=21 applied to string `\t123` - // means first tab should be expanded to 4-21%4 === 3 spaces. - // - this.bsCount = []; - // block parser variables - this.blkIndent = 0; // required block content indent (for example, if we are - // inside a list, it would be positioned after list marker) - this.line = 0; // line index in src - this.lineMax = 0; // lines count - this.tight = false; // loose/tight mode for lists - this.ddIndent = -1; // indent of the current dd block (-1 if there isn't any) - this.listIndent = -1; // indent of the current list block (-1 if there isn't any) +if (false) {} else { + module.exports = __webpack_require__(/*! ./cjs/react-jsx-runtime.development.js */ "../../../node_modules/react/cjs/react-jsx-runtime.development.js"); +} - // can be 'blockquote', 'list', 'root', 'paragraph' or 'reference' - // used in lists to determine if they interrupt a paragraph - this.parentType = 'root'; - this.level = 0; +/***/ }), - // renderer - this.result = ''; +/***/ "../../../node_modules/set-value/index.js": +/*!************************************************!*\ + !*** ../../../node_modules/set-value/index.js ***! + \************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - // Create caches - // Generate markers. - s = this.src; - indent_found = false; - for (start = pos = indent = offset = 0, len = s.length; pos < len; pos++) { - ch = s.charCodeAt(pos); - if (!indent_found) { - if (isSpace(ch)) { - indent++; - if (ch === 0x09) { - offset += 4 - offset % 4; - } else { - offset++; - } - continue; - } else { - indent_found = true; - } - } - if (ch === 0x0A || pos === len - 1) { - if (ch !== 0x0A) { - pos++; - } - this.bMarks.push(start); - this.eMarks.push(pos); - this.tShift.push(indent); - this.sCount.push(offset); - this.bsCount.push(0); - indent_found = false; - indent = 0; - offset = 0; - start = pos + 1; - } - } +/*! + * set-value + * + * Copyright (c) Jon Schlinkert (https://github.com/jonschlinkert). + * Released under the MIT License. + */ - // Push fake entry to simplify cache bounds checks - this.bMarks.push(s.length); - this.eMarks.push(s.length); - this.tShift.push(0); - this.sCount.push(0); - this.bsCount.push(0); - this.lineMax = this.bMarks.length - 1; // don't count last fake line -} -// Push new token to "stream". -// -StateBlock.prototype.push = function (type, tag, nesting) { - var token = new Token(type, tag, nesting); - token.block = true; - if (nesting < 0) this.level--; // closing tag - token.level = this.level; - if (nesting > 0) this.level++; // opening tag - this.tokens.push(token); - return token; +const { + deleteProperty +} = Reflect; +const isPrimitive = __webpack_require__(/*! is-primitive */ "../../../node_modules/is-primitive/index.js"); +const isPlainObject = __webpack_require__(/*! is-plain-object */ "../../../node_modules/is-plain-object/index.js"); +const isObject = value => { + return typeof value === 'object' && value !== null || typeof value === 'function'; }; -StateBlock.prototype.isEmpty = function isEmpty(line) { - return this.bMarks[line] + this.tShift[line] >= this.eMarks[line]; +const isUnsafeKey = key => { + return key === '__proto__' || key === 'constructor' || key === 'prototype'; }; -StateBlock.prototype.skipEmptyLines = function skipEmptyLines(from) { - for (var max = this.lineMax; from < max; from++) { - if (this.bMarks[from] + this.tShift[from] < this.eMarks[from]) { - break; - } +const validateKey = key => { + if (!isPrimitive(key)) { + throw new TypeError('Object keys must be strings or symbols'); } - return from; -}; - -// Skip spaces from given position. -StateBlock.prototype.skipSpaces = function skipSpaces(pos) { - var ch; - for (var max = this.src.length; pos < max; pos++) { - ch = this.src.charCodeAt(pos); - if (!isSpace(ch)) { - break; - } + if (isUnsafeKey(key)) { + throw new Error(`Cannot set unsafe key: "${key}"`); } - return pos; }; - -// Skip spaces from given position in reverse. -StateBlock.prototype.skipSpacesBack = function skipSpacesBack(pos, min) { - if (pos <= min) { - return pos; - } - while (pos > min) { - if (!isSpace(this.src.charCodeAt(--pos))) { - return pos + 1; - } - } - return pos; +const toStringKey = input => { + return Array.isArray(input) ? input.flat().map(String).join(',') : input; }; - -// Skip char codes from given position -StateBlock.prototype.skipChars = function skipChars(pos, code) { - for (var max = this.src.length; pos < max; pos++) { - if (this.src.charCodeAt(pos) !== code) { - break; - } - } - return pos; +const createMemoKey = (input, options) => { + if (typeof input !== 'string' || !options) return input; + let key = input + ';'; + if (options.arrays !== undefined) key += `arrays=${options.arrays};`; + if (options.separator !== undefined) key += `separator=${options.separator};`; + if (options.split !== undefined) key += `split=${options.split};`; + if (options.merge !== undefined) key += `merge=${options.merge};`; + if (options.preservePaths !== undefined) key += `preservePaths=${options.preservePaths};`; + return key; }; - -// Skip char codes reverse from given position - 1 -StateBlock.prototype.skipCharsBack = function skipCharsBack(pos, code, min) { - if (pos <= min) { - return pos; +const memoize = (input, options, fn) => { + const key = toStringKey(options ? createMemoKey(input, options) : input); + validateKey(key); + const value = setValue.cache.get(key) || fn(); + setValue.cache.set(key, value); + return value; +}; +const splitString = function (input) { + let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + const sep = options.separator || '.'; + const preserve = sep === '/' ? false : options.preservePaths; + if (typeof input === 'string' && preserve !== false && /\//.test(input)) { + return [input]; } - while (pos > min) { - if (code !== this.src.charCodeAt(--pos)) { - return pos + 1; + const parts = []; + let part = ''; + const push = part => { + let number; + if (part.trim() !== '' && Number.isInteger(number = Number(part))) { + parts.push(number); + } else { + parts.push(part); + } + }; + for (let i = 0; i < input.length; i++) { + const value = input[i]; + if (value === '\\') { + part += input[++i]; + continue; + } + if (value === sep) { + push(part); + part = ''; + continue; } + part += value; } - return pos; + if (part) { + push(part); + } + return parts; +}; +const split = (input, options) => { + if (options && typeof options.split === 'function') return options.split(input); + if (typeof input === 'symbol') return [input]; + if (Array.isArray(input)) return input; + return memoize(input, options, () => splitString(input, options)); }; +const assignProp = (obj, prop, value, options) => { + validateKey(prop); -// cut lines range from source. -StateBlock.prototype.getLines = function getLines(begin, end, indent, keepLastLF) { - var i, - lineIndent, - ch, - first, - last, - queue, - lineStart, - line = begin; - if (begin >= end) { - return ''; - } - queue = new Array(end - begin); - for (i = 0; line < end; line++, i++) { - lineIndent = 0; - lineStart = first = this.bMarks[line]; - if (line + 1 < end || keepLastLF) { - // No need for bounds check because we have fake entry on tail. - last = this.eMarks[line] + 1; + // Delete property when "value" is undefined + if (value === undefined) { + deleteProperty(obj, prop); + } else if (options && options.merge) { + const merge = options.merge === 'function' ? options.merge : Object.assign; + + // Only merge plain objects + if (merge && isPlainObject(obj[prop]) && isPlainObject(value)) { + obj[prop] = merge(obj[prop], value); } else { - last = this.eMarks[line]; + obj[prop] = value; } - while (first < last && lineIndent < indent) { - ch = this.src.charCodeAt(first); - if (isSpace(ch)) { - if (ch === 0x09) { - lineIndent += 4 - (lineIndent + this.bsCount[line]) % 4; - } else { - lineIndent++; - } - } else if (first - lineStart < this.tShift[line]) { - // patched tShift masked characters to look like spaces (blockquotes, list markers) - lineIndent++; - } else { - break; - } - first++; + } else { + obj[prop] = value; + } + return obj; +}; +const setValue = (target, path, value, options) => { + if (!path || !isObject(target)) return target; + const keys = split(path, options); + let obj = target; + for (let i = 0; i < keys.length; i++) { + const key = keys[i]; + const next = keys[i + 1]; + validateKey(key); + if (next === undefined) { + assignProp(obj, key, value, options); + break; } - if (lineIndent > indent) { - // partially expanding tabs in code blocks, e.g '\t\tfoobar' - // with indent=2 becomes ' \tfoobar' - queue[i] = new Array(lineIndent - indent + 1).join(' ') + this.src.slice(first, last); - } else { - queue[i] = this.src.slice(first, last); + if (typeof next === 'number' && !Array.isArray(obj[key])) { + obj = obj[key] = []; + continue; + } + if (!isObject(obj[key])) { + obj[key] = {}; } + obj = obj[key]; } - return queue.join(''); + return target; }; - -// re-export Token class to use in block rules -StateBlock.prototype.Token = Token; -module.exports = StateBlock; +setValue.split = split; +setValue.cache = new Map(); +setValue.clear = () => { + setValue.cache = new Map(); +}; +module.exports = setValue; /***/ }), -/***/ "../../../node_modules/markdown-it/lib/rules_block/table.js": -/*!******************************************************************!*\ - !*** ../../../node_modules/markdown-it/lib/rules_block/table.js ***! - \******************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -// GFM table, https://github.github.com/gfm/#tables-extension- +/***/ "../../../node_modules/style-value-types/dist/valueTypes.cjs.js": +/*!**********************************************************************!*\ + !*** ../../../node_modules/style-value-types/dist/valueTypes.cjs.js ***! + \**********************************************************************/ +/***/ (function(__unused_webpack_module, exports) { -var isSpace = (__webpack_require__(/*! ../common/utils */ "../../../node_modules/markdown-it/lib/common/utils.js").isSpace); -function getLine(state, line) { - var pos = state.bMarks[line] + state.tShift[line], - max = state.eMarks[line]; - return state.src.substr(pos, max - pos); -} -function escapedSplit(str) { - var result = [], - pos = 0, - max = str.length, - ch, - isEscaped = false, - lastPos = 0, - current = ''; - ch = str.charCodeAt(pos); - while (pos < max) { - if (ch === 0x7c /* | */) { - if (!isEscaped) { - // pipe separating cells, '|' - result.push(current + str.substring(lastPos, pos)); - current = ''; - lastPos = pos + 1; - } else { - // escaped pipe, '\|' - current += str.substring(lastPos, pos - 1); - lastPos = pos; - } - } - isEscaped = ch === 0x5c /* \ */; - pos++; - ch = str.charCodeAt(pos); - } - result.push(current + str.substring(lastPos)); - return result; +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +const clamp = (min, max) => v => Math.max(Math.min(v, max), min); +const sanitize = v => v % 1 ? Number(v.toFixed(5)) : v; +const floatRegex = /(-)?([\d]*\.?[\d])+/g; +const colorRegex = /(#[0-9a-f]{6}|#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2,3}\s*\/*\s*[\d\.]+%?\))/gi; +const singleColorRegex = /^(#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2,3}\s*\/*\s*[\d\.]+%?\))$/i; +function isString(v) { + return typeof v === 'string'; } -module.exports = function table(state, startLine, endLine, silent) { - var ch, lineText, pos, i, l, nextLine, columns, columnCount, token, aligns, t, tableLines, tbodyLines, oldParentType, terminate, terminatorRules, firstCh, secondCh; - - // should have at least two lines - if (startLine + 2 > endLine) { - return false; - } - nextLine = startLine + 1; - if (state.sCount[nextLine] < state.blkIndent) { - return false; - } - - // if it's indented more than 3 spaces, it should be a code block - if (state.sCount[nextLine] - state.blkIndent >= 4) { - return false; - } - - // first character of the second line should be '|', '-', ':', - // and no other characters are allowed but spaces; - // basically, this is the equivalent of /^[-:|][-:|\s]*$/ regexp - - pos = state.bMarks[nextLine] + state.tShift[nextLine]; - if (pos >= state.eMarks[nextLine]) { - return false; - } - firstCh = state.src.charCodeAt(pos++); - if (firstCh !== 0x7C /* | */ && firstCh !== 0x2D /* - */ && firstCh !== 0x3A /* : */) { - return false; - } - if (pos >= state.eMarks[nextLine]) { - return false; - } - secondCh = state.src.charCodeAt(pos++); - if (secondCh !== 0x7C /* | */ && secondCh !== 0x2D /* - */ && secondCh !== 0x3A /* : */ && !isSpace(secondCh)) { - return false; +const number = { + test: v => typeof v === 'number', + parse: parseFloat, + transform: v => v +}; +const alpha = Object.assign(Object.assign({}, number), { + transform: clamp(0, 1) +}); +const scale = Object.assign(Object.assign({}, number), { + default: 1 +}); +const createUnitType = unit => ({ + test: v => isString(v) && v.endsWith(unit) && v.split(' ').length === 1, + parse: parseFloat, + transform: v => `${v}${unit}` +}); +const degrees = createUnitType('deg'); +const percent = createUnitType('%'); +const px = createUnitType('px'); +const vh = createUnitType('vh'); +const vw = createUnitType('vw'); +const progressPercentage = Object.assign(Object.assign({}, percent), { + parse: v => percent.parse(v) / 100, + transform: v => percent.transform(v * 100) +}); +const isColorString = (type, testProp) => v => { + return Boolean(isString(v) && singleColorRegex.test(v) && v.startsWith(type) || testProp && Object.prototype.hasOwnProperty.call(v, testProp)); +}; +const splitColor = (aName, bName, cName) => v => { + if (!isString(v)) return v; + const [a, b, c, alpha] = v.match(floatRegex); + return { + [aName]: parseFloat(a), + [bName]: parseFloat(b), + [cName]: parseFloat(c), + alpha: alpha !== undefined ? parseFloat(alpha) : 1 + }; +}; +const hsla = { + test: isColorString('hsl', 'hue'), + parse: splitColor('hue', 'saturation', 'lightness'), + transform: _ref => { + let { + hue, + saturation, + lightness, + alpha: alpha$1 = 1 + } = _ref; + return 'hsla(' + Math.round(hue) + ', ' + percent.transform(sanitize(saturation)) + ', ' + percent.transform(sanitize(lightness)) + ', ' + sanitize(alpha.transform(alpha$1)) + ')'; } - - // if first character is '-', then second character must not be a space - // (due to parsing ambiguity with list) - if (firstCh === 0x2D /* - */ && isSpace(secondCh)) { - return false; +}; +const clampRgbUnit = clamp(0, 255); +const rgbUnit = Object.assign(Object.assign({}, number), { + transform: v => Math.round(clampRgbUnit(v)) +}); +const rgba = { + test: isColorString('rgb', 'red'), + parse: splitColor('red', 'green', 'blue'), + transform: _ref2 => { + let { + red, + green, + blue, + alpha: alpha$1 = 1 + } = _ref2; + return 'rgba(' + rgbUnit.transform(red) + ', ' + rgbUnit.transform(green) + ', ' + rgbUnit.transform(blue) + ', ' + sanitize(alpha.transform(alpha$1)) + ')'; } - while (pos < state.eMarks[nextLine]) { - ch = state.src.charCodeAt(pos); - if (ch !== 0x7C /* | */ && ch !== 0x2D /* - */ && ch !== 0x3A /* : */ && !isSpace(ch)) { - return false; - } - pos++; +}; +function parseHex(v) { + let r = ''; + let g = ''; + let b = ''; + let a = ''; + if (v.length > 5) { + r = v.substr(1, 2); + g = v.substr(3, 2); + b = v.substr(5, 2); + a = v.substr(7, 2); + } else { + r = v.substr(1, 1); + g = v.substr(2, 1); + b = v.substr(3, 1); + a = v.substr(4, 1); + r += r; + g += g; + b += b; + a += a; } - lineText = getLine(state, startLine + 1); - columns = lineText.split('|'); - aligns = []; - for (i = 0; i < columns.length; i++) { - t = columns[i].trim(); - if (!t) { - // allow empty columns before and after table, but not in between columns; - // e.g. allow ` |---| `, disallow ` ---||--- ` - if (i === 0 || i === columns.length - 1) { - continue; - } else { - return false; - } - } - if (!/^:?-+:?$/.test(t)) { - return false; - } - if (t.charCodeAt(t.length - 1) === 0x3A /* : */) { - aligns.push(t.charCodeAt(0) === 0x3A /* : */ ? 'center' : 'right'); - } else if (t.charCodeAt(0) === 0x3A /* : */) { - aligns.push('left'); + return { + red: parseInt(r, 16), + green: parseInt(g, 16), + blue: parseInt(b, 16), + alpha: a ? parseInt(a, 16) / 255 : 1 + }; +} +const hex = { + test: isColorString('#'), + parse: parseHex, + transform: rgba.transform +}; +const color = { + test: v => rgba.test(v) || hex.test(v) || hsla.test(v), + parse: v => { + if (rgba.test(v)) { + return rgba.parse(v); + } else if (hsla.test(v)) { + return hsla.parse(v); } else { - aligns.push(''); + return hex.parse(v); } + }, + transform: v => { + return isString(v) ? v : v.hasOwnProperty('red') ? rgba.transform(v) : hsla.transform(v); } - lineText = getLine(state, startLine).trim(); - if (lineText.indexOf('|') === -1) { - return false; - } - if (state.sCount[startLine] - state.blkIndent >= 4) { - return false; - } - columns = escapedSplit(lineText); - if (columns.length && columns[0] === '') columns.shift(); - if (columns.length && columns[columns.length - 1] === '') columns.pop(); - - // header row will define an amount of columns in the entire table, - // and align row should be exactly the same (the rest of the rows can differ) - columnCount = columns.length; - if (columnCount === 0 || columnCount !== aligns.length) { - return false; - } - if (silent) { - return true; +}; +const colorToken = '${c}'; +const numberToken = '${n}'; +function test(v) { + var _a, _b, _c, _d; + return isNaN(v) && isString(v) && ((_b = (_a = v.match(floatRegex)) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0) + ((_d = (_c = v.match(colorRegex)) === null || _c === void 0 ? void 0 : _c.length) !== null && _d !== void 0 ? _d : 0) > 0; +} +function analyse(v) { + if (typeof v === 'number') v = `${v}`; + const values = []; + let numColors = 0; + const colors = v.match(colorRegex); + if (colors) { + numColors = colors.length; + v = v.replace(colorRegex, colorToken); + values.push(...colors.map(color.parse)); } - oldParentType = state.parentType; - state.parentType = 'table'; - - // use 'blockquote' lists for termination because it's - // the most similar to tables - terminatorRules = state.md.block.ruler.getRules('blockquote'); - token = state.push('table_open', 'table', 1); - token.map = tableLines = [startLine, 0]; - token = state.push('thead_open', 'thead', 1); - token.map = [startLine, startLine + 1]; - token = state.push('tr_open', 'tr', 1); - token.map = [startLine, startLine + 1]; - for (i = 0; i < columns.length; i++) { - token = state.push('th_open', 'th', 1); - if (aligns[i]) { - token.attrs = [['style', 'text-align:' + aligns[i]]]; - } - token = state.push('inline', '', 0); - token.content = columns[i].trim(); - token.children = []; - token = state.push('th_close', 'th', -1); + const numbers = v.match(floatRegex); + if (numbers) { + v = v.replace(floatRegex, numberToken); + values.push(...numbers.map(number.parse)); } - token = state.push('tr_close', 'tr', -1); - token = state.push('thead_close', 'thead', -1); - for (nextLine = startLine + 2; nextLine < endLine; nextLine++) { - if (state.sCount[nextLine] < state.blkIndent) { - break; - } - terminate = false; - for (i = 0, l = terminatorRules.length; i < l; i++) { - if (terminatorRules[i](state, nextLine, endLine, true)) { - terminate = true; - break; - } - } - if (terminate) { - break; - } - lineText = getLine(state, nextLine).trim(); - if (!lineText) { - break; - } - if (state.sCount[nextLine] - state.blkIndent >= 4) { - break; - } - columns = escapedSplit(lineText); - if (columns.length && columns[0] === '') columns.shift(); - if (columns.length && columns[columns.length - 1] === '') columns.pop(); - if (nextLine === startLine + 2) { - token = state.push('tbody_open', 'tbody', 1); - token.map = tbodyLines = [startLine + 2, 0]; - } - token = state.push('tr_open', 'tr', 1); - token.map = [nextLine, nextLine + 1]; - for (i = 0; i < columnCount; i++) { - token = state.push('td_open', 'td', 1); - if (aligns[i]) { - token.attrs = [['style', 'text-align:' + aligns[i]]]; - } - token = state.push('inline', '', 0); - token.content = columns[i] ? columns[i].trim() : ''; - token.children = []; - token = state.push('td_close', 'td', -1); + return { + values, + numColors, + tokenised: v + }; +} +function parse(v) { + return analyse(v).values; +} +function createTransformer(v) { + const { + values, + numColors, + tokenised + } = analyse(v); + const numValues = values.length; + return v => { + let output = tokenised; + for (let i = 0; i < numValues; i++) { + output = output.replace(i < numColors ? colorToken : numberToken, i < numColors ? color.transform(v[i]) : sanitize(v[i])); } - token = state.push('tr_close', 'tr', -1); - } - if (tbodyLines) { - token = state.push('tbody_close', 'tbody', -1); - tbodyLines[1] = nextLine; - } - token = state.push('table_close', 'table', -1); - tableLines[1] = nextLine; - state.parentType = oldParentType; - state.line = nextLine; - return true; + return output; + }; +} +const convertNumbersToZero = v => typeof v === 'number' ? 0 : v; +function getAnimatableNone(v) { + const parsed = parse(v); + const transformer = createTransformer(v); + return transformer(parsed.map(convertNumbersToZero)); +} +const complex = { + test, + parse, + createTransformer, + getAnimatableNone }; +const maxDefaults = new Set(['brightness', 'contrast', 'saturate', 'opacity']); +function applyDefaultFilter(v) { + let [name, value] = v.slice(0, -1).split('('); + if (name === 'drop-shadow') return v; + const [number] = value.match(floatRegex) || []; + if (!number) return v; + const unit = value.replace(number, ''); + let defaultValue = maxDefaults.has(name) ? 1 : 0; + if (number !== value) defaultValue *= 100; + return name + '(' + defaultValue + unit + ')'; +} +const functionRegex = /([a-z-]*)\(.*?\)/g; +const filter = Object.assign(Object.assign({}, complex), { + getAnimatableNone: v => { + const functions = v.match(functionRegex); + return functions ? functions.map(applyDefaultFilter).join(' ') : v; + } +}); +exports.alpha = alpha; +exports.color = color; +exports.complex = complex; +exports.degrees = degrees; +exports.filter = filter; +exports.hex = hex; +exports.hsla = hsla; +exports.number = number; +exports.percent = percent; +exports.progressPercentage = progressPercentage; +exports.px = px; +exports.rgbUnit = rgbUnit; +exports.rgba = rgba; +exports.scale = scale; +exports.vh = vh; +exports.vw = vw; /***/ }), -/***/ "../../../node_modules/markdown-it/lib/rules_core/block.js": -/*!*****************************************************************!*\ - !*** ../../../node_modules/markdown-it/lib/rules_core/block.js ***! - \*****************************************************************/ +/***/ "../../../node_modules/toggle-selection/index.js": +/*!*******************************************************!*\ + !*** ../../../node_modules/toggle-selection/index.js ***! + \*******************************************************/ /***/ (function(module) { -module.exports = function block(state) { - var token; - if (state.inlineMode) { - token = new state.Token('inline', '', 0); - token.content = state.src; - token.map = [0, 1]; - token.children = []; - state.tokens.push(token); - } else { - state.md.block.parse(state.src, state.md, state.env, state.tokens); - } -}; - -/***/ }), - -/***/ "../../../node_modules/markdown-it/lib/rules_core/inline.js": -/*!******************************************************************!*\ - !*** ../../../node_modules/markdown-it/lib/rules_core/inline.js ***! - \******************************************************************/ -/***/ (function(module) { - - - -module.exports = function inline(state) { - var tokens = state.tokens, - tok, - i, - l; - - // Parse inlines - for (i = 0, l = tokens.length; i < l; i++) { - tok = tokens[i]; - if (tok.type === 'inline') { - state.md.inline.parse(tok.content, state.md, state.env, tok.children); - } +module.exports = function () { + var selection = document.getSelection(); + if (!selection.rangeCount) { + return function () {}; + } + var active = document.activeElement; + var ranges = []; + for (var i = 0; i < selection.rangeCount; i++) { + ranges.push(selection.getRangeAt(i)); + } + switch (active.tagName.toUpperCase()) { + // .toUpperCase handles XHTML + case 'INPUT': + case 'TEXTAREA': + active.blur(); + break; + default: + active = null; + break; } + selection.removeAllRanges(); + return function () { + selection.type === 'Caret' && selection.removeAllRanges(); + if (!selection.rangeCount) { + ranges.forEach(function (range) { + selection.addRange(range); + }); + } + active && active.focus(); + }; }; /***/ }), -/***/ "../../../node_modules/markdown-it/lib/rules_core/linkify.js": -/*!*******************************************************************!*\ - !*** ../../../node_modules/markdown-it/lib/rules_core/linkify.js ***! - \*******************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +/***/ "../../../node_modules/tslib/tslib.es6.js": +/*!************************************************!*\ + !*** ../../../node_modules/tslib/tslib.es6.js ***! + \************************************************/ +/***/ (function(__unused_webpack_module, exports) { -// Replace link-like texts with link nodes. -// -// Currently restricted by `md.validateLink()` to http/https/ftp -// -var arrayReplaceAt = (__webpack_require__(/*! ../common/utils */ "../../../node_modules/markdown-it/lib/common/utils.js").arrayReplaceAt); -function isLinkOpen(str) { - return /^\s]/i.test(str); +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.__assign = void 0; +exports.__asyncDelegator = __asyncDelegator; +exports.__asyncGenerator = __asyncGenerator; +exports.__asyncValues = __asyncValues; +exports.__await = __await; +exports.__awaiter = __awaiter; +exports.__classPrivateFieldGet = __classPrivateFieldGet; +exports.__classPrivateFieldIn = __classPrivateFieldIn; +exports.__classPrivateFieldSet = __classPrivateFieldSet; +exports.__createBinding = void 0; +exports.__decorate = __decorate; +exports.__exportStar = __exportStar; +exports.__extends = __extends; +exports.__generator = __generator; +exports.__importDefault = __importDefault; +exports.__importStar = __importStar; +exports.__makeTemplateObject = __makeTemplateObject; +exports.__metadata = __metadata; +exports.__param = __param; +exports.__read = __read; +exports.__rest = __rest; +exports.__spread = __spread; +exports.__spreadArray = __spreadArray; +exports.__spreadArrays = __spreadArrays; +exports.__values = __values; +/****************************************************************************** +Copyright (c) Microsoft Corporation. + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. +***************************************************************************** */ +/* global Reflect, Promise */ + +var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || { + __proto__: [] + } instanceof Array && function (d, b) { + d.__proto__ = b; + } || function (d, b) { + for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; + }; + return extendStatics(d, b); +}; +function __extends(d, b) { + if (typeof b !== "function" && b !== null) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); + extendStatics(d, b); + function __() { + this.constructor = d; + } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); } -function isLinkClose(str) { - return /^<\/a\s*>/i.test(str); +var __assign = function () { + exports.__assign = __assign = Object.assign || function __assign(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; + } + return t; + }; + return __assign.apply(this, arguments); +}; +exports.__assign = __assign; +function __rest(s, e) { + var t = {}; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; + if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]]; + } + return t; } -module.exports = function linkify(state) { - var i, - j, - l, - tokens, - token, - currentToken, - nodes, - ln, - text, - pos, - lastPos, - level, - htmlLinkLevel, - url, - fullUrl, - urlText, - blockTokens = state.tokens, - links; - if (!state.md.options.linkify) { - return; +function __decorate(decorators, target, key, desc) { + var c = arguments.length, + r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, + d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +} +function __param(paramIndex, decorator) { + return function (target, key) { + decorator(target, key, paramIndex); + }; +} +function __metadata(metadataKey, metadataValue) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue); +} +function __awaiter(thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P ? value : new P(function (resolve) { + resolve(value); + }); } - for (j = 0, l = blockTokens.length; j < l; j++) { - if (blockTokens[j].type !== 'inline' || !state.md.linkify.pretest(blockTokens[j].content)) { - continue; - } - tokens = blockTokens[j].children; - htmlLinkLevel = 0; - - // We scan from the end, to keep position when new tags added. - // Use reversed logic in links start/end match - for (i = tokens.length - 1; i >= 0; i--) { - currentToken = tokens[i]; - - // Skip content of markdown links - if (currentToken.type === 'link_close') { - i--; - while (tokens[i].level !== currentToken.level && tokens[i].type !== 'link_open') { - i--; - } - continue; - } - - // Skip content of html tag links - if (currentToken.type === 'html_inline') { - if (isLinkOpen(currentToken.content) && htmlLinkLevel > 0) { - htmlLinkLevel--; - } - if (isLinkClose(currentToken.content)) { - htmlLinkLevel++; - } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); } - if (htmlLinkLevel > 0) { - continue; + } + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e) { + reject(e); } - if (currentToken.type === 'text' && state.md.linkify.test(currentToken.content)) { - text = currentToken.content; - links = state.md.linkify.match(text); - - // Now split string to nodes - nodes = []; - level = currentToken.level; - lastPos = 0; - for (ln = 0; ln < links.length; ln++) { - url = links[ln].url; - fullUrl = state.md.normalizeLink(url); - if (!state.md.validateLink(fullUrl)) { + } + function step(result) { + result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); + } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +} +function __generator(thisArg, body) { + var _ = { + label: 0, + sent: function () { + if (t[0] & 1) throw t[1]; + return t[1]; + }, + trys: [], + ops: [] + }, + f, + y, + t, + g; + return g = { + next: verb(0), + "throw": verb(1), + "return": verb(2) + }, typeof Symbol === "function" && (g[Symbol.iterator] = function () { + return this; + }), g; + function verb(n) { + return function (v) { + return step([n, v]); + }; + } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [op[0] & 2, t.value]; + switch (op[0]) { + case 0: + case 1: + t = op; + break; + case 4: + _.label++; + return { + value: op[1], + done: false + }; + case 5: + _.label++; + y = op[1]; + op = [0]; + continue; + case 7: + op = _.ops.pop(); + _.trys.pop(); + continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { + _ = 0; continue; } - urlText = links[ln].text; - - // Linkifier might send raw hostnames like "example.com", where url - // starts with domain name. So we prepend http:// in those cases, - // and remove it afterwards. - // - if (!links[ln].schema) { - urlText = state.md.normalizeLinkText('http://' + urlText).replace(/^http:\/\//, ''); - } else if (links[ln].schema === 'mailto:' && !/^mailto:/i.test(urlText)) { - urlText = state.md.normalizeLinkText('mailto:' + urlText).replace(/^mailto:/, ''); - } else { - urlText = state.md.normalizeLinkText(urlText); + if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) { + _.label = op[1]; + break; } - pos = links[ln].index; - if (pos > lastPos) { - token = new state.Token('text', '', 0); - token.content = text.slice(lastPos, pos); - token.level = level; - nodes.push(token); + if (op[0] === 6 && _.label < t[1]) { + _.label = t[1]; + t = op; + break; } - token = new state.Token('link_open', 'a', 1); - token.attrs = [['href', fullUrl]]; - token.level = level++; - token.markup = 'linkify'; - token.info = 'auto'; - nodes.push(token); - token = new state.Token('text', '', 0); - token.content = urlText; - token.level = level; - nodes.push(token); - token = new state.Token('link_close', 'a', -1); - token.level = --level; - token.markup = 'linkify'; - token.info = 'auto'; - nodes.push(token); - lastPos = links[ln].lastIndex; - } - if (lastPos < text.length) { - token = new state.Token('text', '', 0); - token.content = text.slice(lastPos); - token.level = level; - nodes.push(token); - } - - // replace current node - blockTokens[j].children = tokens = arrayReplaceAt(tokens, i, nodes); + if (t && _.label < t[2]) { + _.label = t[2]; + _.ops.push(op); + break; + } + if (t[2]) _.ops.pop(); + _.trys.pop(); + continue; } + op = body.call(thisArg, _); + } catch (e) { + op = [6, e]; + y = 0; + } finally { + f = t = 0; } + if (op[0] & 5) throw op[1]; + return { + value: op[0] ? op[1] : void 0, + done: true + }; } +} +var __createBinding = Object.create ? function (o, m, k, k2) { + if (k2 === undefined) k2 = k; + var desc = Object.getOwnPropertyDescriptor(m, k); + if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { + desc = { + enumerable: true, + get: function () { + return m[k]; + } + }; + } + Object.defineProperty(o, k2, desc); +} : function (o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; }; - -/***/ }), - -/***/ "../../../node_modules/markdown-it/lib/rules_core/normalize.js": -/*!*********************************************************************!*\ - !*** ../../../node_modules/markdown-it/lib/rules_core/normalize.js ***! - \*********************************************************************/ -/***/ (function(module) { - -// Normalize input string - - - -// https://spec.commonmark.org/0.29/#line-ending -var NEWLINES_RE = /\r\n?|\n/g; -var NULL_RE = /\0/g; -module.exports = function normalize(state) { - var str; - - // Normalize newlines - str = state.src.replace(NEWLINES_RE, '\n'); - - // Replace NULL characters - str = str.replace(NULL_RE, '\uFFFD'); - state.src = str; -}; - -/***/ }), - -/***/ "../../../node_modules/markdown-it/lib/rules_core/replacements.js": -/*!************************************************************************!*\ - !*** ../../../node_modules/markdown-it/lib/rules_core/replacements.js ***! - \************************************************************************/ -/***/ (function(module) { - -// Simple typographic replacements -// -// (c) (C) → © -// (tm) (TM) → ™ -// (r) (R) → ® -// +- → ± -// (p) (P) -> § -// ... → … (also ?.... → ?.., !.... → !..) -// ???????? → ???, !!!!! → !!!, `,,` → `,` -// -- → –, --- → — -// - - -// TODO: -// - fractionals 1/2, 1/4, 3/4 -> ½, ¼, ¾ -// - miltiplication 2 x 4 -> 2 × 4 -var RARE_RE = /\+-|\.\.|\?\?\?\?|!!!!|,,|--/; - -// Workaround for phantomjs - need regex without /g flag, -// or root check will fail every second time -var SCOPED_ABBR_TEST_RE = /\((c|tm|r|p)\)/i; -var SCOPED_ABBR_RE = /\((c|tm|r|p)\)/ig; -var SCOPED_ABBR = { - c: '©', - r: '®', - p: '§', - tm: '™' -}; -function replaceFn(match, name) { - return SCOPED_ABBR[name.toLowerCase()]; +exports.__createBinding = __createBinding; +function __exportStar(m, o) { + for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p); } -function replace_scoped(inlineTokens) { - var i, - token, - inside_autolink = 0; - for (i = inlineTokens.length - 1; i >= 0; i--) { - token = inlineTokens[i]; - if (token.type === 'text' && !inside_autolink) { - token.content = token.content.replace(SCOPED_ABBR_RE, replaceFn); - } - if (token.type === 'link_open' && token.info === 'auto') { - inside_autolink--; +function __values(o) { + var s = typeof Symbol === "function" && Symbol.iterator, + m = s && o[s], + i = 0; + if (m) return m.call(o); + if (o && typeof o.length === "number") return { + next: function () { + if (o && i >= o.length) o = void 0; + return { + value: o && o[i++], + done: !o + }; } - if (token.type === 'link_close' && token.info === 'auto') { - inside_autolink++; + }; + throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); +} +function __read(o, n) { + var m = typeof Symbol === "function" && o[Symbol.iterator]; + if (!m) return o; + var i = m.call(o), + r, + ar = [], + e; + try { + while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); + } catch (error) { + e = { + error: error + }; + } finally { + try { + if (r && !r.done && (m = i["return"])) m.call(i); + } finally { + if (e) throw e.error; } } + return ar; } -function replace_rare(inlineTokens) { - var i, - token, - inside_autolink = 0; - for (i = inlineTokens.length - 1; i >= 0; i--) { - token = inlineTokens[i]; - if (token.type === 'text' && !inside_autolink) { - if (RARE_RE.test(token.content)) { - token.content = token.content.replace(/\+-/g, '±') - // .., ..., ....... -> … - // but ?..... & !..... -> ?.. & !.. - .replace(/\.{2,}/g, '…').replace(/([?!])…/g, '$1..').replace(/([?!]){4,}/g, '$1$1$1').replace(/,{2,}/g, ',') - // em-dash - .replace(/(^|[^-])---(?=[^-]|$)/mg, '$1\u2014') - // en-dash - .replace(/(^|\s)--(?=\s|$)/mg, '$1\u2013').replace(/(^|[^-\s])--(?=[^-\s]|$)/mg, '$1\u2013'); - } - } - if (token.type === 'link_open' && token.info === 'auto') { - inside_autolink--; - } - if (token.type === 'link_close' && token.info === 'auto') { - inside_autolink++; + +/** @deprecated */ +function __spread() { + for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i])); + return ar; +} + +/** @deprecated */ +function __spreadArrays() { + for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; + for (var r = Array(s), k = 0, i = 0; i < il; i++) for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) r[k] = a[j]; + return r; +} +function __spreadArray(to, from, pack) { + if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { + if (ar || !(i in from)) { + if (!ar) ar = Array.prototype.slice.call(from, 0, i); + ar[i] = from[i]; } } + return to.concat(ar || Array.prototype.slice.call(from)); } -module.exports = function replace(state) { - var blkIdx; - if (!state.md.options.typographer) { - return; +function __await(v) { + return this instanceof __await ? (this.v = v, this) : new __await(v); +} +function __asyncGenerator(thisArg, _arguments, generator) { + if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); + var g = generator.apply(thisArg, _arguments || []), + i, + q = []; + return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { + return this; + }, i; + function verb(n) { + if (g[n]) i[n] = function (v) { + return new Promise(function (a, b) { + q.push([n, v, a, b]) > 1 || resume(n, v); + }); + }; } - for (blkIdx = state.tokens.length - 1; blkIdx >= 0; blkIdx--) { - if (state.tokens[blkIdx].type !== 'inline') { - continue; - } - if (SCOPED_ABBR_TEST_RE.test(state.tokens[blkIdx].content)) { - replace_scoped(state.tokens[blkIdx].children); - } - if (RARE_RE.test(state.tokens[blkIdx].content)) { - replace_rare(state.tokens[blkIdx].children); + function resume(n, v) { + try { + step(g[n](v)); + } catch (e) { + settle(q[0][3], e); } } -}; - -/***/ }), - -/***/ "../../../node_modules/markdown-it/lib/rules_core/smartquotes.js": -/*!***********************************************************************!*\ - !*** ../../../node_modules/markdown-it/lib/rules_core/smartquotes.js ***! - \***********************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -// Convert straight quotation marks to typographic ones -// - - -var isWhiteSpace = (__webpack_require__(/*! ../common/utils */ "../../../node_modules/markdown-it/lib/common/utils.js").isWhiteSpace); -var isPunctChar = (__webpack_require__(/*! ../common/utils */ "../../../node_modules/markdown-it/lib/common/utils.js").isPunctChar); -var isMdAsciiPunct = (__webpack_require__(/*! ../common/utils */ "../../../node_modules/markdown-it/lib/common/utils.js").isMdAsciiPunct); -var QUOTE_TEST_RE = /['"]/; -var QUOTE_RE = /['"]/g; -var APOSTROPHE = '\u2019'; /* ’ */ - -function replaceAt(str, index, ch) { - return str.substr(0, index) + ch + str.substr(index + 1); + function step(r) { + r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); + } + function fulfill(value) { + resume("next", value); + } + function reject(value) { + resume("throw", value); + } + function settle(f, v) { + if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); + } } -function process_inlines(tokens, state) { - var i, token, text, t, pos, max, thisLevel, item, lastChar, nextChar, isLastPunctChar, isNextPunctChar, isLastWhiteSpace, isNextWhiteSpace, canOpen, canClose, j, isSingle, stack, openQuote, closeQuote; - stack = []; - for (i = 0; i < tokens.length; i++) { - token = tokens[i]; - thisLevel = tokens[i].level; - for (j = stack.length - 1; j >= 0; j--) { - if (stack[j].level <= thisLevel) { - break; - } - } - stack.length = j + 1; - if (token.type !== 'text') { - continue; - } - text = token.content; - pos = 0; - max = text.length; - - /*eslint no-labels:0,block-scoped-var:0*/ - OUTER: while (pos < max) { - QUOTE_RE.lastIndex = pos; - t = QUOTE_RE.exec(text); - if (!t) { - break; - } - canOpen = canClose = true; - pos = t.index + 1; - isSingle = t[0] === "'"; - - // Find previous character, - // default to space if it's the beginning of the line - // - lastChar = 0x20; - if (t.index - 1 >= 0) { - lastChar = text.charCodeAt(t.index - 1); - } else { - for (j = i - 1; j >= 0; j--) { - if (tokens[j].type === 'softbreak' || tokens[j].type === 'hardbreak') break; // lastChar defaults to 0x20 - if (!tokens[j].content) continue; // should skip all tokens except 'text', 'html_inline' or 'code_inline' - - lastChar = tokens[j].content.charCodeAt(tokens[j].content.length - 1); - break; - } - } - - // Find next character, - // default to space if it's the end of the line - // - nextChar = 0x20; - if (pos < max) { - nextChar = text.charCodeAt(pos); - } else { - for (j = i + 1; j < tokens.length; j++) { - if (tokens[j].type === 'softbreak' || tokens[j].type === 'hardbreak') break; // nextChar defaults to 0x20 - if (!tokens[j].content) continue; // should skip all tokens except 'text', 'html_inline' or 'code_inline' - - nextChar = tokens[j].content.charCodeAt(0); - break; - } - } - isLastPunctChar = isMdAsciiPunct(lastChar) || isPunctChar(String.fromCharCode(lastChar)); - isNextPunctChar = isMdAsciiPunct(nextChar) || isPunctChar(String.fromCharCode(nextChar)); - isLastWhiteSpace = isWhiteSpace(lastChar); - isNextWhiteSpace = isWhiteSpace(nextChar); - if (isNextWhiteSpace) { - canOpen = false; - } else if (isNextPunctChar) { - if (!(isLastWhiteSpace || isLastPunctChar)) { - canOpen = false; - } - } - if (isLastWhiteSpace) { - canClose = false; - } else if (isLastPunctChar) { - if (!(isNextWhiteSpace || isNextPunctChar)) { - canClose = false; - } - } - if (nextChar === 0x22 /* " */ && t[0] === '"') { - if (lastChar >= 0x30 /* 0 */ && lastChar <= 0x39 /* 9 */) { - // special case: 1"" - count first quote as an inch - canClose = canOpen = false; - } - } - if (canOpen && canClose) { - // Replace quotes in the middle of punctuation sequence, but not - // in the middle of the words, i.e.: - // - // 1. foo " bar " baz - not replaced - // 2. foo-"-bar-"-baz - replaced - // 3. foo"bar"baz - not replaced - // - canOpen = isLastPunctChar; - canClose = isNextPunctChar; - } - if (!canOpen && !canClose) { - // middle of word - if (isSingle) { - token.content = replaceAt(token.content, t.index, APOSTROPHE); - } - continue; - } - if (canClose) { - // this could be a closing quote, rewind the stack to get a match - for (j = stack.length - 1; j >= 0; j--) { - item = stack[j]; - if (stack[j].level < thisLevel) { - break; - } - if (item.single === isSingle && stack[j].level === thisLevel) { - item = stack[j]; - if (isSingle) { - openQuote = state.md.options.quotes[2]; - closeQuote = state.md.options.quotes[3]; - } else { - openQuote = state.md.options.quotes[0]; - closeQuote = state.md.options.quotes[1]; - } - - // replace token.content *before* tokens[item.token].content, - // because, if they are pointing at the same token, replaceAt - // could mess up indices when quote length != 1 - token.content = replaceAt(token.content, t.index, closeQuote); - tokens[item.token].content = replaceAt(tokens[item.token].content, item.pos, openQuote); - pos += closeQuote.length - 1; - if (item.token === i) { - pos += openQuote.length - 1; - } - text = token.content; - max = text.length; - stack.length = j; - continue OUTER; - } - } - } - if (canOpen) { - stack.push({ - token: i, - pos: t.index, - single: isSingle, - level: thisLevel - }); - } else if (canClose && isSingle) { - token.content = replaceAt(token.content, t.index, APOSTROPHE); - } - } +function __asyncDelegator(o) { + var i, p; + return i = {}, verb("next"), verb("throw", function (e) { + throw e; + }), verb("return"), i[Symbol.iterator] = function () { + return this; + }, i; + function verb(n, f) { + i[n] = o[n] ? function (v) { + return (p = !p) ? { + value: __await(o[n](v)), + done: n === "return" + } : f ? f(v) : v; + } : f; } } -module.exports = function smartquotes(state) { - /*eslint max-depth:0*/ - var blkIdx; - if (!state.md.options.typographer) { - return; +function __asyncValues(o) { + if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); + var m = o[Symbol.asyncIterator], + i; + return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { + return this; + }, i); + function verb(n) { + i[n] = o[n] && function (v) { + return new Promise(function (resolve, reject) { + v = o[n](v), settle(resolve, reject, v.done, v.value); + }); + }; } - for (blkIdx = state.tokens.length - 1; blkIdx >= 0; blkIdx--) { - if (state.tokens[blkIdx].type !== 'inline' || !QUOTE_TEST_RE.test(state.tokens[blkIdx].content)) { - continue; - } - process_inlines(state.tokens[blkIdx].children, state); + function settle(resolve, reject, d, v) { + Promise.resolve(v).then(function (v) { + resolve({ + value: v, + done: d + }); + }, reject); + } +} +function __makeTemplateObject(cooked, raw) { + if (Object.defineProperty) { + Object.defineProperty(cooked, "raw", { + value: raw + }); + } else { + cooked.raw = raw; } + return cooked; +} +; +var __setModuleDefault = Object.create ? function (o, v) { + Object.defineProperty(o, "default", { + enumerable: true, + value: v + }); +} : function (o, v) { + o["default"] = v; }; +function __importStar(mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +} +function __importDefault(mod) { + return mod && mod.__esModule ? mod : { + default: mod + }; +} +function __classPrivateFieldGet(receiver, state, kind, f) { + if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter"); + if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it"); + return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver); +} +function __classPrivateFieldSet(receiver, state, value, kind, f) { + if (kind === "m") throw new TypeError("Private method is not writable"); + if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter"); + if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it"); + return kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value; +} +function __classPrivateFieldIn(state, receiver) { + if (receiver === null || typeof receiver !== "object" && typeof receiver !== "function") throw new TypeError("Cannot use 'in' operator on non-object"); + return typeof state === "function" ? receiver === state : state.has(receiver); +} /***/ }), -/***/ "../../../node_modules/markdown-it/lib/rules_core/state_core.js": -/*!**********************************************************************!*\ - !*** ../../../node_modules/markdown-it/lib/rules_core/state_core.js ***! - \**********************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +/***/ "../../../node_modules/use-callback-ref/dist/es2015/assignRef.js": +/*!***********************************************************************!*\ + !*** ../../../node_modules/use-callback-ref/dist/es2015/assignRef.js ***! + \***********************************************************************/ +/***/ (function(__unused_webpack_module, exports) { -// Core state object -// -var Token = __webpack_require__(/*! ../token */ "../../../node_modules/markdown-it/lib/token.js"); -function StateCore(src, md, env) { - this.src = src; - this.env = env; - this.tokens = []; - this.inlineMode = false; - this.md = md; // link to parser instance +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.assignRef = assignRef; +/** + * Assigns a value for a given ref, no matter of the ref format + * @param {RefObject} ref - a callback function or ref object + * @param value - a new value + * + * @see https://github.com/theKashey/use-callback-ref#assignref + * @example + * const refObject = useRef(); + * const refFn = (ref) => {....} + * + * assignRef(refObject, "refValue"); + * assignRef(refFn, "refValue"); + */ +function assignRef(ref, value) { + if (typeof ref === 'function') { + ref(value); + } else if (ref) { + ref.current = value; + } + return ref; } -// re-export Token class to use in core rules -StateCore.prototype.Token = Token; -module.exports = StateCore; - /***/ }), -/***/ "../../../node_modules/markdown-it/lib/rules_inline/autolink.js": -/*!**********************************************************************!*\ - !*** ../../../node_modules/markdown-it/lib/rules_inline/autolink.js ***! - \**********************************************************************/ -/***/ (function(module) { - -// Process autolinks '' +/***/ "../../../node_modules/use-callback-ref/dist/es2015/createRef.js": +/*!***********************************************************************!*\ + !*** ../../../node_modules/use-callback-ref/dist/es2015/createRef.js ***! + \***********************************************************************/ +/***/ (function(__unused_webpack_module, exports) { -/*eslint max-len:0*/ -var EMAIL_RE = /^([a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)$/; -var AUTOLINK_RE = /^([a-zA-Z][a-zA-Z0-9+.\-]{1,31}):([^<>\x00-\x20]*)$/; -module.exports = function autolink(state, silent) { - var url, - fullUrl, - token, - ch, - start, - max, - pos = state.pos; - if (state.src.charCodeAt(pos) !== 0x3C /* < */) { - return false; - } - start = state.pos; - max = state.posMax; - for (;;) { - if (++pos >= max) return false; - ch = state.src.charCodeAt(pos); - if (ch === 0x3C /* < */) return false; - if (ch === 0x3E /* > */) break; - } - url = state.src.slice(start + 1, pos); - if (AUTOLINK_RE.test(url)) { - fullUrl = state.md.normalizeLink(url); - if (!state.md.validateLink(fullUrl)) { - return false; - } - if (!silent) { - token = state.push('link_open', 'a', 1); - token.attrs = [['href', fullUrl]]; - token.markup = 'autolink'; - token.info = 'auto'; - token = state.push('text', '', 0); - token.content = state.md.normalizeLinkText(url); - token = state.push('link_close', 'a', -1); - token.markup = 'autolink'; - token.info = 'auto'; - } - state.pos += url.length + 2; - return true; - } - if (EMAIL_RE.test(url)) { - fullUrl = state.md.normalizeLink('mailto:' + url); - if (!state.md.validateLink(fullUrl)) { - return false; - } - if (!silent) { - token = state.push('link_open', 'a', 1); - token.attrs = [['href', fullUrl]]; - token.markup = 'autolink'; - token.info = 'auto'; - token = state.push('text', '', 0); - token.content = state.md.normalizeLinkText(url); - token = state.push('link_close', 'a', -1); - token.markup = 'autolink'; - token.info = 'auto'; +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.createCallbackRef = createCallbackRef; +/** + * creates a Ref object with on change callback + * @param callback + * @returns {RefObject} + * + * @see {@link useCallbackRef} + * @see https://reactjs.org/docs/refs-and-the-dom.html#creating-refs + */ +function createCallbackRef(callback) { + var current = null; + return { + get current() { + return current; + }, + set current(value) { + var last = current; + if (last !== value) { + current = value; + callback(value, last); + } } - state.pos += url.length + 2; - return true; - } - return false; -}; + }; +} /***/ }), -/***/ "../../../node_modules/markdown-it/lib/rules_inline/backticks.js": -/*!***********************************************************************!*\ - !*** ../../../node_modules/markdown-it/lib/rules_inline/backticks.js ***! - \***********************************************************************/ -/***/ (function(module) { - -// Parse backticks +/***/ "../../../node_modules/use-callback-ref/dist/es2015/index.js": +/*!*******************************************************************!*\ + !*** ../../../node_modules/use-callback-ref/dist/es2015/index.js ***! + \*******************************************************************/ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { -module.exports = function backtick(state, silent) { - var start, - max, - marker, - token, - matchStart, - matchEnd, - openerLength, - closerLength, - pos = state.pos, - ch = state.src.charCodeAt(pos); - if (ch !== 0x60 /* ` */) { - return false; +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +Object.defineProperty(exports, "assignRef", ({ + enumerable: true, + get: function () { + return _assignRef.assignRef; } - start = pos; - pos++; - max = state.posMax; - - // scan marker length - while (pos < max && state.src.charCodeAt(pos) === 0x60 /* ` */) { - pos++; +})); +Object.defineProperty(exports, "createCallbackRef", ({ + enumerable: true, + get: function () { + return _createRef.createCallbackRef; } - marker = state.src.slice(start, pos); - openerLength = marker.length; - if (state.backticksScanned && (state.backticks[openerLength] || 0) <= start) { - if (!silent) state.pending += marker; - state.pos += openerLength; - return true; +})); +Object.defineProperty(exports, "mergeRefs", ({ + enumerable: true, + get: function () { + return _mergeRef.mergeRefs; + } +})); +Object.defineProperty(exports, "refToCallback", ({ + enumerable: true, + get: function () { + return _refToCallback.refToCallback; + } +})); +Object.defineProperty(exports, "transformRef", ({ + enumerable: true, + get: function () { + return _transformRef.transformRef; + } +})); +Object.defineProperty(exports, "useCallbackRef", ({ + enumerable: true, + get: function () { + return _useRef.useCallbackRef; + } +})); +Object.defineProperty(exports, "useMergeRefs", ({ + enumerable: true, + get: function () { + return _useMergeRef.useMergeRefs; + } +})); +Object.defineProperty(exports, "useRefToCallback", ({ + enumerable: true, + get: function () { + return _refToCallback.useRefToCallback; + } +})); +Object.defineProperty(exports, "useTransformRef", ({ + enumerable: true, + get: function () { + return _useTransformRef.useTransformRef; } - matchStart = matchEnd = pos; +})); +var _assignRef = __webpack_require__(/*! ./assignRef */ "../../../node_modules/use-callback-ref/dist/es2015/assignRef.js"); +var _useRef = __webpack_require__(/*! ./useRef */ "../../../node_modules/use-callback-ref/dist/es2015/useRef.js"); +var _createRef = __webpack_require__(/*! ./createRef */ "../../../node_modules/use-callback-ref/dist/es2015/createRef.js"); +var _mergeRef = __webpack_require__(/*! ./mergeRef */ "../../../node_modules/use-callback-ref/dist/es2015/mergeRef.js"); +var _useMergeRef = __webpack_require__(/*! ./useMergeRef */ "../../../node_modules/use-callback-ref/dist/es2015/useMergeRef.js"); +var _useTransformRef = __webpack_require__(/*! ./useTransformRef */ "../../../node_modules/use-callback-ref/dist/es2015/useTransformRef.js"); +var _transformRef = __webpack_require__(/*! ./transformRef */ "../../../node_modules/use-callback-ref/dist/es2015/transformRef.js"); +var _refToCallback = __webpack_require__(/*! ./refToCallback */ "../../../node_modules/use-callback-ref/dist/es2015/refToCallback.js"); - // Nothing found in the cache, scan until the end of the line (or until marker is found) - while ((matchStart = state.src.indexOf('`', matchEnd)) !== -1) { - matchEnd = matchStart + 1; +/***/ }), - // scan marker length - while (matchEnd < max && state.src.charCodeAt(matchEnd) === 0x60 /* ` */) { - matchEnd++; - } - closerLength = matchEnd - matchStart; - if (closerLength === openerLength) { - // Found matching closer length. - if (!silent) { - token = state.push('code_inline', 'code', 0); - token.markup = marker; - token.content = state.src.slice(pos, matchStart).replace(/\n/g, ' ').replace(/^ (.+) $/, '$1'); - } - state.pos = matchEnd; - return true; - } +/***/ "../../../node_modules/use-callback-ref/dist/es2015/mergeRef.js": +/*!**********************************************************************!*\ + !*** ../../../node_modules/use-callback-ref/dist/es2015/mergeRef.js ***! + \**********************************************************************/ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - // Some different length found, put it in cache as upper limit of where closer can be found - state.backticks[closerLength] = matchStart; - } - // Scanned through the end, didn't find anything - state.backticksScanned = true; - if (!silent) state.pending += marker; - state.pos += openerLength; - return true; -}; + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.mergeRefs = mergeRefs; +var _assignRef = __webpack_require__(/*! ./assignRef */ "../../../node_modules/use-callback-ref/dist/es2015/assignRef.js"); +var _createRef = __webpack_require__(/*! ./createRef */ "../../../node_modules/use-callback-ref/dist/es2015/createRef.js"); +/** + * Merges two or more refs together providing a single interface to set their value + * @param {RefObject|Ref} refs + * @returns {MutableRefObject} - a new ref, which translates all changes to {refs} + * + * @see {@link useMergeRefs} to be used in ReactComponents + * @example + * const Component = React.forwardRef((props, ref) => { + * const ownRef = useRef(); + * const domRef = mergeRefs([ref, ownRef]); // 👈 merge together + * return
...
+ * } + */ +function mergeRefs(refs) { + return (0, _createRef.createCallbackRef)(function (newValue) { + return refs.forEach(function (ref) { + return (0, _assignRef.assignRef)(ref, newValue); + }); + }); +} /***/ }), -/***/ "../../../node_modules/markdown-it/lib/rules_inline/balance_pairs.js": +/***/ "../../../node_modules/use-callback-ref/dist/es2015/refToCallback.js": /*!***************************************************************************!*\ - !*** ../../../node_modules/markdown-it/lib/rules_inline/balance_pairs.js ***! + !*** ../../../node_modules/use-callback-ref/dist/es2015/refToCallback.js ***! \***************************************************************************/ -/***/ (function(module) { - -// For each opening emphasis-like marker find a matching closing one -// - - -function processDelimiters(state, delimiters) { - var closerIdx, - openerIdx, - closer, - opener, - minOpenerIdx, - newMinOpenerIdx, - isOddMatch, - lastJump, - openersBottom = {}, - max = delimiters.length; - for (closerIdx = 0; closerIdx < max; closerIdx++) { - closer = delimiters[closerIdx]; - - // Length is only used for emphasis-specific "rule of 3", - // if it's not defined (in strikethrough or 3rd party plugins), - // we can default it to 0 to disable those checks. - // - closer.length = closer.length || 0; - if (!closer.close) continue; +/***/ (function(__unused_webpack_module, exports) { - // Previously calculated lower bounds (previous fails) - // for each marker, each delimiter length modulo 3, - // and for whether this closer can be an opener; - // https://github.com/commonmark/cmark/commit/34250e12ccebdc6372b8b49c44fab57c72443460 - if (!openersBottom.hasOwnProperty(closer.marker)) { - openersBottom[closer.marker] = [-1, -1, -1, -1, -1, -1]; - } - minOpenerIdx = openersBottom[closer.marker][(closer.open ? 3 : 0) + closer.length % 3]; - openerIdx = closerIdx - closer.jump - 1; - // avoid crash if `closer.jump` is pointing outside of the array, see #742 - if (openerIdx < -1) openerIdx = -1; - newMinOpenerIdx = openerIdx; - for (; openerIdx > minOpenerIdx; openerIdx -= opener.jump + 1) { - opener = delimiters[openerIdx]; - if (opener.marker !== closer.marker) continue; - if (opener.open && opener.end < 0) { - isOddMatch = false; - // from spec: - // - // If one of the delimiters can both open and close emphasis, then the - // sum of the lengths of the delimiter runs containing the opening and - // closing delimiters must not be a multiple of 3 unless both lengths - // are multiples of 3. - // - if (opener.close || closer.open) { - if ((opener.length + closer.length) % 3 === 0) { - if (opener.length % 3 !== 0 || closer.length % 3 !== 0) { - isOddMatch = true; - } - } - } - if (!isOddMatch) { - // If previous delimiter cannot be an opener, we can safely skip - // the entire sequence in future checks. This is required to make - // sure algorithm has linear complexity (see *_*_*_*_*_... case). - // - lastJump = openerIdx > 0 && !delimiters[openerIdx - 1].open ? delimiters[openerIdx - 1].jump + 1 : 0; - closer.jump = closerIdx - openerIdx + lastJump; - closer.open = false; - opener.end = closerIdx; - opener.jump = lastJump; - opener.close = false; - newMinOpenerIdx = -1; - break; - } - } - } - if (newMinOpenerIdx !== -1) { - // If match for this delimiter run failed, we want to set lower bound for - // future lookups. This is required to make sure algorithm has linear - // complexity. - // - // See details here: - // https://github.com/commonmark/cmark/issues/178#issuecomment-270417442 - // - openersBottom[closer.marker][(closer.open ? 3 : 0) + (closer.length || 0) % 3] = newMinOpenerIdx; +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.refToCallback = refToCallback; +exports.useRefToCallback = useRefToCallback; +/** + * Unmemoized version of {@link useRefToCallback} + * @see {@link useRefToCallback} + * @param ref + */ +function refToCallback(ref) { + return function (newValue) { + if (typeof ref === 'function') { + ref(newValue); + } else if (ref) { + ref.current = newValue; } - } + }; } -module.exports = function link_pairs(state) { - var curr, - tokens_meta = state.tokens_meta, - max = state.tokens_meta.length; - processDelimiters(state, state.delimiters); - for (curr = 0; curr < max; curr++) { - if (tokens_meta[curr] && tokens_meta[curr].delimiters) { - processDelimiters(state, tokens_meta[curr].delimiters); - } +var nullCallback = function () { + return null; +}; +// lets maintain a weak ref to, well, ref :) +// not using `kashe` to keep this package small +var weakMem = new WeakMap(); +var weakMemoize = function (ref) { + var usedRef = ref || nullCallback; + var storedRef = weakMem.get(usedRef); + if (storedRef) { + return storedRef; } + var cb = refToCallback(usedRef); + weakMem.set(usedRef, cb); + return cb; }; +/** + * Transforms a given `ref` into `callback`. + * + * To transform `callback` into ref use {@link useCallbackRef|useCallbackRef(undefined, callback)} + * + * @param {ReactRef} ref + * @returns {Function} + * + * @see https://github.com/theKashey/use-callback-ref#reftocallback + * + * @example + * const ref = useRef(0); + * const setRef = useRefToCallback(ref); + * 👉 setRef(10); + * ✅ ref.current === 10 + */ +function useRefToCallback(ref) { + return weakMemoize(ref); +} /***/ }), -/***/ "../../../node_modules/markdown-it/lib/rules_inline/emphasis.js": -/*!**********************************************************************!*\ - !*** ../../../node_modules/markdown-it/lib/rules_inline/emphasis.js ***! - \**********************************************************************/ -/***/ (function(module) { +/***/ "../../../node_modules/use-callback-ref/dist/es2015/transformRef.js": +/*!**************************************************************************!*\ + !*** ../../../node_modules/use-callback-ref/dist/es2015/transformRef.js ***! + \**************************************************************************/ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { -// Process *this* and _that_ -// -// Insert each marker as a separate text token, and add it to delimiter list -// -module.exports.tokenize = function emphasis(state, silent) { - var i, - scanned, - token, - start = state.pos, - marker = state.src.charCodeAt(start); - if (silent) { - return false; - } - if (marker !== 0x5F /* _ */ && marker !== 0x2A /* * */) { - return false; - } - scanned = state.scanDelims(state.pos, marker === 0x2A); - for (i = 0; i < scanned.length; i++) { - token = state.push('text', '', 0); - token.content = String.fromCharCode(marker); - state.delimiters.push({ - // Char code of the starting marker (number). - // - marker: marker, - // Total length of these series of delimiters. - // - length: scanned.length, - // An amount of characters before this one that's equivalent to - // current one. In plain English: if this delimiter does not open - // an emphasis, neither do previous `jump` characters. - // - // Used to skip sequences like "*****" in one step, for 1st asterisk - // value will be 0, for 2nd it's 1 and so on. - // - jump: i, - // A position of the token this delimiter corresponds to. - // - token: state.tokens.length - 1, - // If this delimiter is matched as a valid opener, `end` will be - // equal to its position, otherwise it's `-1`. - // - end: -1, - // Boolean flags that determine if this delimiter could open or close - // an emphasis. - // - open: scanned.can_open, - close: scanned.can_close - }); - } - state.pos += scanned.length; - return true; -}; -function postProcess(state, delimiters) { - var i, - startDelim, - endDelim, - token, - ch, - isStrong, - max = delimiters.length; - for (i = max - 1; i >= 0; i--) { - startDelim = delimiters[i]; - if (startDelim.marker !== 0x5F /* _ */ && startDelim.marker !== 0x2A /* * */) { - continue; - } +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.transformRef = transformRef; +var _assignRef = __webpack_require__(/*! ./assignRef */ "../../../node_modules/use-callback-ref/dist/es2015/assignRef.js"); +var _createRef = __webpack_require__(/*! ./createRef */ "../../../node_modules/use-callback-ref/dist/es2015/createRef.js"); +/** + * Transforms one ref to another + * @example + * ```tsx + * const ResizableWithRef = forwardRef((props, ref) => + * i ? i.resizable : null)}/> + * ); + * ``` + */ +function transformRef(ref, transformer) { + return (0, _createRef.createCallbackRef)(function (value) { + return (0, _assignRef.assignRef)(ref, transformer(value)); + }); +} - // Process only opening markers - if (startDelim.end === -1) { - continue; - } - endDelim = delimiters[startDelim.end]; +/***/ }), - // If the previous delimiter has the same marker and is adjacent to this one, - // merge those into one strong delimiter. - // - // `whatever` -> `whatever` - // - isStrong = i > 0 && delimiters[i - 1].end === startDelim.end + 1 && delimiters[i - 1].token === startDelim.token - 1 && delimiters[startDelim.end + 1].token === endDelim.token + 1 && delimiters[i - 1].marker === startDelim.marker; - ch = String.fromCharCode(startDelim.marker); - token = state.tokens[startDelim.token]; - token.type = isStrong ? 'strong_open' : 'em_open'; - token.tag = isStrong ? 'strong' : 'em'; - token.nesting = 1; - token.markup = isStrong ? ch + ch : ch; - token.content = ''; - token = state.tokens[endDelim.token]; - token.type = isStrong ? 'strong_close' : 'em_close'; - token.tag = isStrong ? 'strong' : 'em'; - token.nesting = -1; - token.markup = isStrong ? ch + ch : ch; - token.content = ''; - if (isStrong) { - state.tokens[delimiters[i - 1].token].content = ''; - state.tokens[delimiters[startDelim.end + 1].token].content = ''; - i--; - } - } -} +/***/ "../../../node_modules/use-callback-ref/dist/es2015/useMergeRef.js": +/*!*************************************************************************!*\ + !*** ../../../node_modules/use-callback-ref/dist/es2015/useMergeRef.js ***! + \*************************************************************************/ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { -// Walk through delimiter list and replace text tokens with tags -// -module.exports.postProcess = function emphasis(state) { - var curr, - tokens_meta = state.tokens_meta, - max = state.tokens_meta.length; - postProcess(state, state.delimiters); - for (curr = 0; curr < max; curr++) { - if (tokens_meta[curr] && tokens_meta[curr].delimiters) { - postProcess(state, tokens_meta[curr].delimiters); - } - } -}; + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.useMergeRefs = useMergeRefs; +var _assignRef = __webpack_require__(/*! ./assignRef */ "../../../node_modules/use-callback-ref/dist/es2015/assignRef.js"); +var _useRef = __webpack_require__(/*! ./useRef */ "../../../node_modules/use-callback-ref/dist/es2015/useRef.js"); +/** + * Merges two or more refs together providing a single interface to set their value + * @param {RefObject|Ref} refs + * @returns {MutableRefObject} - a new ref, which translates all changes to {refs} + * + * @see {@link mergeRefs} a version without buit-in memoization + * @see https://github.com/theKashey/use-callback-ref#usemergerefs + * @example + * const Component = React.forwardRef((props, ref) => { + * const ownRef = useRef(); + * const domRef = useMergeRefs([ref, ownRef]); // 👈 merge together + * return
...
+ * } + */ +function useMergeRefs(refs, defaultValue) { + return (0, _useRef.useCallbackRef)(defaultValue || null, function (newValue) { + return refs.forEach(function (ref) { + return (0, _assignRef.assignRef)(ref, newValue); + }); + }); +} /***/ }), -/***/ "../../../node_modules/markdown-it/lib/rules_inline/entity.js": +/***/ "../../../node_modules/use-callback-ref/dist/es2015/useRef.js": /*!********************************************************************!*\ - !*** ../../../node_modules/markdown-it/lib/rules_inline/entity.js ***! + !*** ../../../node_modules/use-callback-ref/dist/es2015/useRef.js ***! \********************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -// Process html entity - {, ¯, ", ... +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { -var entities = __webpack_require__(/*! ../common/entities */ "../../../node_modules/markdown-it/lib/common/entities.js"); -var has = (__webpack_require__(/*! ../common/utils */ "../../../node_modules/markdown-it/lib/common/utils.js").has); -var isValidEntityCode = (__webpack_require__(/*! ../common/utils */ "../../../node_modules/markdown-it/lib/common/utils.js").isValidEntityCode); -var fromCodePoint = (__webpack_require__(/*! ../common/utils */ "../../../node_modules/markdown-it/lib/common/utils.js").fromCodePoint); -var DIGITAL_RE = /^&#((?:x[a-f0-9]{1,6}|[0-9]{1,7}));/i; -var NAMED_RE = /^&([a-z][a-z0-9]{1,31});/i; -module.exports = function entity(state, silent) { - var ch, - code, - match, - pos = state.pos, - max = state.posMax; - if (state.src.charCodeAt(pos) !== 0x26 /* & */) { - return false; - } - if (pos + 1 < max) { - ch = state.src.charCodeAt(pos + 1); - if (ch === 0x23 /* # */) { - match = state.src.slice(pos).match(DIGITAL_RE); - if (match) { - if (!silent) { - code = match[1][0].toLowerCase() === 'x' ? parseInt(match[1].slice(1), 16) : parseInt(match[1], 10); - state.pending += isValidEntityCode(code) ? fromCodePoint(code) : fromCodePoint(0xFFFD); - } - state.pos += match[0].length; - return true; - } - } else { - match = state.src.slice(pos).match(NAMED_RE); - if (match) { - if (has(entities, match[1])) { - if (!silent) { - state.pending += entities[match[1]]; +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.useCallbackRef = useCallbackRef; +var _react = __webpack_require__(/*! react */ "react"); +/** + * creates a MutableRef with ref change callback + * @param initialValue - initial ref value + * @param {Function} callback - a callback to run when value changes + * + * @example + * const ref = useCallbackRef(0, (newValue, oldValue) => console.log(oldValue, '->', newValue); + * ref.current = 1; + * // prints 0 -> 1 + * + * @see https://reactjs.org/docs/hooks-reference.html#useref + * @see https://github.com/theKashey/use-callback-ref#usecallbackref---to-replace-reactuseref + * @returns {MutableRefObject} + */ +function useCallbackRef(initialValue, callback) { + var ref = (0, _react.useState)(function () { + return { + // value + value: initialValue, + // last callback + callback: callback, + // "memoized" public interface + facade: { + get current() { + return ref.value; + }, + set current(value) { + var last = ref.value; + if (last !== value) { + ref.value = value; + ref.callback(value, last); } - state.pos += match[0].length; - return true; } } - } - } - if (!silent) { - state.pending += '&'; - } - state.pos++; - return true; -}; + }; + })[0]; + // update callback + ref.callback = callback; + return ref.facade; +} /***/ }), -/***/ "../../../node_modules/markdown-it/lib/rules_inline/escape.js": -/*!********************************************************************!*\ - !*** ../../../node_modules/markdown-it/lib/rules_inline/escape.js ***! - \********************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -// Process escaped chars and hardbreaks +/***/ "../../../node_modules/use-callback-ref/dist/es2015/useTransformRef.js": +/*!*****************************************************************************!*\ + !*** ../../../node_modules/use-callback-ref/dist/es2015/useTransformRef.js ***! + \*****************************************************************************/ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { -var isSpace = (__webpack_require__(/*! ../common/utils */ "../../../node_modules/markdown-it/lib/common/utils.js").isSpace); -var ESCAPED = []; -for (var i = 0; i < 256; i++) { - ESCAPED.push(0); +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.useTransformRef = useTransformRef; +var _assignRef = __webpack_require__(/*! ./assignRef */ "../../../node_modules/use-callback-ref/dist/es2015/assignRef.js"); +var _useRef = __webpack_require__(/*! ./useRef */ "../../../node_modules/use-callback-ref/dist/es2015/useRef.js"); +/** + * Create a _lense_ on Ref, making it possible to transform ref value + * @param {ReactRef} ref + * @param {Function} transformer. 👉 Ref would be __NOT updated__ on `transformer` update. + * @returns {RefObject} + * + * @see https://github.com/theKashey/use-callback-ref#usetransformref-to-replace-reactuseimperativehandle + * @example + * + * const ResizableWithRef = forwardRef((props, ref) => + * i ? i.resizable : null)}/> + * ); + */ +function useTransformRef(ref, transformer) { + return (0, _useRef.useCallbackRef)(null, function (value) { + return (0, _assignRef.assignRef)(ref, transformer(value)); + }); } -'\\!"#$%&\'()*+,./:;<=>?@[]^_`{|}~-'.split('').forEach(function (ch) { - ESCAPED[ch.charCodeAt(0)] = 1; -}); -module.exports = function escape(state, silent) { - var ch, - pos = state.pos, - max = state.posMax; - if (state.src.charCodeAt(pos) !== 0x5C /* \ */) { - return false; - } - pos++; - if (pos < max) { - ch = state.src.charCodeAt(pos); - if (ch < 256 && ESCAPED[ch] !== 0) { - if (!silent) { - state.pending += state.src[pos]; - } - state.pos += 2; - return true; - } - if (ch === 0x0A) { - if (!silent) { - state.push('hardbreak', 'br', 0); - } - pos++; - // skip leading whitespaces from next line - while (pos < max) { - ch = state.src.charCodeAt(pos); - if (!isSpace(ch)) { - break; - } - pos++; - } - state.pos = pos; - return true; - } - } - if (!silent) { - state.pending += '\\'; + +/***/ }), + +/***/ "../../../node_modules/use-sidecar/dist/es2015/config.js": +/*!***************************************************************!*\ + !*** ../../../node_modules/use-sidecar/dist/es2015/config.js ***! + \***************************************************************/ +/***/ (function(__unused_webpack_module, exports) { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.setConfig = exports.config = void 0; +var config = { + onError: function (e) { + return console.error(e); } - state.pos++; - return true; }; +exports.config = config; +var setConfig = function (conf) { + Object.assign(config, conf); +}; +exports.setConfig = setConfig; /***/ }), -/***/ "../../../node_modules/markdown-it/lib/rules_inline/html_inline.js": -/*!*************************************************************************!*\ - !*** ../../../node_modules/markdown-it/lib/rules_inline/html_inline.js ***! - \*************************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +/***/ "../../../node_modules/use-sidecar/dist/es2015/env.js": +/*!************************************************************!*\ + !*** ../../../node_modules/use-sidecar/dist/es2015/env.js ***! + \************************************************************/ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { -// Process html tags +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.env = void 0; +var _detectNodeEs = __webpack_require__(/*! detect-node-es */ "../../../node_modules/detect-node-es/esm/browser.js"); +var env = { + isNode: _detectNodeEs.isNode, + forceCache: false +}; +exports.env = env; -var HTML_TAG_RE = (__webpack_require__(/*! ../common/html_re */ "../../../node_modules/markdown-it/lib/common/html_re.js").HTML_TAG_RE); -function isLetter(ch) { - /*eslint no-bitwise:0*/ - var lc = ch | 0x20; // to lower case - return lc >= 0x61 /* a */ && lc <= 0x7a /* z */; -} +/***/ }), -module.exports = function html_inline(state, silent) { - var ch, - match, - max, - token, - pos = state.pos; - if (!state.md.options.html) { - return false; - } +/***/ "../../../node_modules/use-sidecar/dist/es2015/exports.js": +/*!****************************************************************!*\ + !*** ../../../node_modules/use-sidecar/dist/es2015/exports.js ***! + \****************************************************************/ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - // Check start - max = state.posMax; - if (state.src.charCodeAt(pos) !== 0x3C /* < */ || pos + 2 >= max) { - return false; - } - // Quick fail on second char - ch = state.src.charCodeAt(pos + 1); - if (ch !== 0x21 /* ! */ && ch !== 0x3F /* ? */ && ch !== 0x2F /* / */ && !isLetter(ch)) { - return false; - } - match = state.src.slice(pos).match(HTML_TAG_RE); - if (!match) { - return false; + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.exportSidecar = exportSidecar; +var _tslib = __webpack_require__(/*! tslib */ "../../../node_modules/tslib/tslib.es6.js"); +var React = _interopRequireWildcard(__webpack_require__(/*! react */ "react")); +function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } +function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } +var SideCar = function (_a) { + var sideCar = _a.sideCar, + rest = (0, _tslib.__rest)(_a, ["sideCar"]); + if (!sideCar) { + throw new Error('Sidecar: please provide `sideCar` property to import the right car'); } - if (!silent) { - token = state.push('html_inline', '', 0); - token.content = state.src.slice(pos, pos + match[0].length); + var Target = sideCar.read(); + if (!Target) { + throw new Error('Sidecar medium not found'); } - state.pos += match[0].length; - return true; + return /*#__PURE__*/React.createElement(Target, (0, _tslib.__assign)({}, rest)); }; +SideCar.isSideCarExport = true; +function exportSidecar(medium, exported) { + medium.useMedium(exported); + return SideCar; +} /***/ }), -/***/ "../../../node_modules/markdown-it/lib/rules_inline/image.js": -/*!*******************************************************************!*\ - !*** ../../../node_modules/markdown-it/lib/rules_inline/image.js ***! - \*******************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { +/***/ "../../../node_modules/use-sidecar/dist/es2015/hoc.js": +/*!************************************************************!*\ + !*** ../../../node_modules/use-sidecar/dist/es2015/hoc.js ***! + \************************************************************/ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { -// Process ![image]( "title") +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.sidecar = sidecar; +var _tslib = __webpack_require__(/*! tslib */ "../../../node_modules/tslib/tslib.es6.js"); +var React = _interopRequireWildcard(__webpack_require__(/*! react */ "react")); +var _hook = __webpack_require__(/*! ./hook */ "../../../node_modules/use-sidecar/dist/es2015/hook.js"); +function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } +function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } +// eslint-disable-next-line @typescript-eslint/ban-types +function sidecar(importer, errorComponent) { + var ErrorCase = function () { + return errorComponent; + }; + return function Sidecar(props) { + var _a = (0, _hook.useSidecar)(importer, props.sideCar), + Car = _a[0], + error = _a[1]; + if (error && errorComponent) { + return ErrorCase; + } + // @ts-expect-error type shenanigans + return Car ? /*#__PURE__*/React.createElement(Car, (0, _tslib.__assign)({}, props)) : null; + }; +} -var normalizeReference = (__webpack_require__(/*! ../common/utils */ "../../../node_modules/markdown-it/lib/common/utils.js").normalizeReference); -var isSpace = (__webpack_require__(/*! ../common/utils */ "../../../node_modules/markdown-it/lib/common/utils.js").isSpace); -module.exports = function image(state, silent) { - var attrs, - code, - content, - label, - labelEnd, - labelStart, - pos, - ref, - res, - title, - token, - tokens, - start, - href = '', - oldPos = state.pos, - max = state.posMax; - if (state.src.charCodeAt(state.pos) !== 0x21 /* ! */) { - return false; - } - if (state.src.charCodeAt(state.pos + 1) !== 0x5B /* [ */) { - return false; - } - labelStart = state.pos + 2; - labelEnd = state.md.helpers.parseLinkLabel(state, state.pos + 1, false); +/***/ }), - // parser failed to find ']', so it's not a valid link - if (labelEnd < 0) { - return false; - } - pos = labelEnd + 1; - if (pos < max && state.src.charCodeAt(pos) === 0x28 /* ( */) { - // - // Inline link - // +/***/ "../../../node_modules/use-sidecar/dist/es2015/hook.js": +/*!*************************************************************!*\ + !*** ../../../node_modules/use-sidecar/dist/es2015/hook.js ***! + \*************************************************************/ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - // [link]( "title" ) - // ^^ skipping these spaces - pos++; - for (; pos < max; pos++) { - code = state.src.charCodeAt(pos); - if (!isSpace(code) && code !== 0x0A) { - break; - } - } - if (pos >= max) { - return false; - } - // [link]( "title" ) - // ^^^^^^ parsing link destination - start = pos; - res = state.md.helpers.parseLinkDestination(state.src, pos, state.posMax); - if (res.ok) { - href = state.md.normalizeLink(res.str); - if (state.md.validateLink(href)) { - pos = res.pos; - } else { - href = ''; - } - } - // [link]( "title" ) - // ^^ skipping these spaces - start = pos; - for (; pos < max; pos++) { - code = state.src.charCodeAt(pos); - if (!isSpace(code) && code !== 0x0A) { - break; - } +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.useSidecar = useSidecar; +var _react = __webpack_require__(/*! react */ "react"); +var _env = __webpack_require__(/*! ./env */ "../../../node_modules/use-sidecar/dist/es2015/env.js"); +var cache = new WeakMap(); +var NO_OPTIONS = {}; +function useSidecar(importer, effect) { + var options = effect && effect.options || NO_OPTIONS; + if (_env.env.isNode && !options.ssr) { + return [null, null]; + } + // eslint-disable-next-line react-hooks/rules-of-hooks + return useRealSidecar(importer, effect); +} +function useRealSidecar(importer, effect) { + var options = effect && effect.options || NO_OPTIONS; + var couldUseCache = _env.env.forceCache || _env.env.isNode && !!options.ssr || !options.async; + var _a = (0, _react.useState)(couldUseCache ? function () { + return cache.get(importer); + } : undefined), + Car = _a[0], + setCar = _a[1]; + var _b = (0, _react.useState)(null), + error = _b[0], + setError = _b[1]; + (0, _react.useEffect)(function () { + if (!Car) { + importer().then(function (car) { + var resolved = effect ? effect.read() : car.default || car; + if (!resolved) { + console.error('Sidecar error: with importer', importer); + var error_1; + if (effect) { + console.error('Sidecar error: with medium', effect); + error_1 = new Error('Sidecar medium was not found'); + } else { + error_1 = new Error('Sidecar was not found in exports'); + } + setError(function () { + return error_1; + }); + throw error_1; + } + cache.set(importer, resolved); + setCar(function () { + return resolved; + }); + }, function (e) { + return setError(function () { + return e; + }); + }); } + }, []); + return [Car, error]; +} - // [link]( "title" ) - // ^^^^^^^ parsing link title - res = state.md.helpers.parseLinkTitle(state.src, pos, state.posMax); - if (pos < max && start !== pos && res.ok) { - title = res.str; - pos = res.pos; +/***/ }), - // [link]( "title" ) - // ^^ skipping these spaces - for (; pos < max; pos++) { - code = state.src.charCodeAt(pos); - if (!isSpace(code) && code !== 0x0A) { - break; - } - } - } else { - title = ''; - } - if (pos >= max || state.src.charCodeAt(pos) !== 0x29 /* ) */) { - state.pos = oldPos; - return false; - } - pos++; - } else { - // - // Link reference - // - if (typeof state.env.references === 'undefined') { - return false; - } - if (pos < max && state.src.charCodeAt(pos) === 0x5B /* [ */) { - start = pos + 1; - pos = state.md.helpers.parseLinkLabel(state, pos); - if (pos >= 0) { - label = state.src.slice(start, pos++); - } else { - pos = labelEnd + 1; - } - } else { - pos = labelEnd + 1; - } +/***/ "../../../node_modules/use-sidecar/dist/es2015/index.js": +/*!**************************************************************!*\ + !*** ../../../node_modules/use-sidecar/dist/es2015/index.js ***! + \**************************************************************/ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - // covers label === '' and label === undefined - // (collapsed reference link and shortcut reference link respectively) - if (!label) { - label = state.src.slice(labelStart, labelEnd); - } - ref = state.env.references[normalizeReference(label)]; - if (!ref) { - state.pos = oldPos; - return false; - } - href = ref.href; - title = ref.title; - } - // - // We found the end of the link, and know for a fact it's a valid link; - // so all that's left to do is to call tokenizer. - // - if (!silent) { - content = state.src.slice(labelStart, labelEnd); - state.md.inline.parse(content, state.md, state.env, tokens = []); - token = state.push('image', 'img', 0); - token.attrs = attrs = [['src', href], ['alt', '']]; - token.children = tokens; - token.content = content; - if (title) { - attrs.push(['title', title]); - } + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +Object.defineProperty(exports, "createMedium", ({ + enumerable: true, + get: function () { + return _medium.createMedium; } - state.pos = pos; - state.posMax = max; - return true; -}; +})); +Object.defineProperty(exports, "createSidecarMedium", ({ + enumerable: true, + get: function () { + return _medium.createSidecarMedium; + } +})); +Object.defineProperty(exports, "exportSidecar", ({ + enumerable: true, + get: function () { + return _exports.exportSidecar; + } +})); +Object.defineProperty(exports, "renderCar", ({ + enumerable: true, + get: function () { + return _renderProp.renderCar; + } +})); +Object.defineProperty(exports, "setConfig", ({ + enumerable: true, + get: function () { + return _config.setConfig; + } +})); +Object.defineProperty(exports, "sidecar", ({ + enumerable: true, + get: function () { + return _hoc.sidecar; + } +})); +Object.defineProperty(exports, "useSidecar", ({ + enumerable: true, + get: function () { + return _hook.useSidecar; + } +})); +var _hoc = __webpack_require__(/*! ./hoc */ "../../../node_modules/use-sidecar/dist/es2015/hoc.js"); +var _hook = __webpack_require__(/*! ./hook */ "../../../node_modules/use-sidecar/dist/es2015/hook.js"); +var _config = __webpack_require__(/*! ./config */ "../../../node_modules/use-sidecar/dist/es2015/config.js"); +var _medium = __webpack_require__(/*! ./medium */ "../../../node_modules/use-sidecar/dist/es2015/medium.js"); +var _renderProp = __webpack_require__(/*! ./renderProp */ "../../../node_modules/use-sidecar/dist/es2015/renderProp.js"); +var _exports = __webpack_require__(/*! ./exports */ "../../../node_modules/use-sidecar/dist/es2015/exports.js"); /***/ }), -/***/ "../../../node_modules/markdown-it/lib/rules_inline/link.js": -/*!******************************************************************!*\ - !*** ../../../node_modules/markdown-it/lib/rules_inline/link.js ***! - \******************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -// Process [link]( "stuff") - +/***/ "../../../node_modules/use-sidecar/dist/es2015/medium.js": +/*!***************************************************************!*\ + !*** ../../../node_modules/use-sidecar/dist/es2015/medium.js ***! + \***************************************************************/ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { -var normalizeReference = (__webpack_require__(/*! ../common/utils */ "../../../node_modules/markdown-it/lib/common/utils.js").normalizeReference); -var isSpace = (__webpack_require__(/*! ../common/utils */ "../../../node_modules/markdown-it/lib/common/utils.js").isSpace); -module.exports = function link(state, silent) { - var attrs, - code, - label, - labelEnd, - labelStart, - pos, - res, - ref, - token, - href = '', - title = '', - oldPos = state.pos, - max = state.posMax, - start = state.pos, - parseReference = true; - if (state.src.charCodeAt(state.pos) !== 0x5B /* [ */) { - return false; - } - labelStart = state.pos + 1; - labelEnd = state.md.helpers.parseLinkLabel(state, state.pos, true); - // parser failed to find ']', so it's not a valid link - if (labelEnd < 0) { - return false; +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.createMedium = createMedium; +exports.createSidecarMedium = createSidecarMedium; +var _tslib = __webpack_require__(/*! tslib */ "../../../node_modules/tslib/tslib.es6.js"); +function ItoI(a) { + return a; +} +function innerCreateMedium(defaults, middleware) { + if (middleware === void 0) { + middleware = ItoI; } - pos = labelEnd + 1; - if (pos < max && state.src.charCodeAt(pos) === 0x28 /* ( */) { - // - // Inline link - // - - // might have found a valid shortcut link, disable reference parsing - parseReference = false; - - // [link]( "title" ) - // ^^ skipping these spaces - pos++; - for (; pos < max; pos++) { - code = state.src.charCodeAt(pos); - if (!isSpace(code) && code !== 0x0A) { - break; + var buffer = []; + var assigned = false; + var medium = { + read: function () { + if (assigned) { + throw new Error('Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.'); } - } - if (pos >= max) { - return false; - } - - // [link]( "title" ) - // ^^^^^^ parsing link destination - start = pos; - res = state.md.helpers.parseLinkDestination(state.src, pos, state.posMax); - if (res.ok) { - href = state.md.normalizeLink(res.str); - if (state.md.validateLink(href)) { - pos = res.pos; - } else { - href = ''; + if (buffer.length) { + return buffer[buffer.length - 1]; } - - // [link]( "title" ) - // ^^ skipping these spaces - start = pos; - for (; pos < max; pos++) { - code = state.src.charCodeAt(pos); - if (!isSpace(code) && code !== 0x0A) { - break; - } + return defaults; + }, + useMedium: function (data) { + var item = middleware(data, assigned); + buffer.push(item); + return function () { + buffer = buffer.filter(function (x) { + return x !== item; + }); + }; + }, + assignSyncMedium: function (cb) { + assigned = true; + while (buffer.length) { + var cbs = buffer; + buffer = []; + cbs.forEach(cb); } - - // [link]( "title" ) - // ^^^^^^^ parsing link title - res = state.md.helpers.parseLinkTitle(state.src, pos, state.posMax); - if (pos < max && start !== pos && res.ok) { - title = res.str; - pos = res.pos; - - // [link]( "title" ) - // ^^ skipping these spaces - for (; pos < max; pos++) { - code = state.src.charCodeAt(pos); - if (!isSpace(code) && code !== 0x0A) { - break; - } + buffer = { + push: function (x) { + return cb(x); + }, + filter: function () { + return buffer; } + }; + }, + assignMedium: function (cb) { + assigned = true; + var pendingQueue = []; + if (buffer.length) { + var cbs = buffer; + buffer = []; + cbs.forEach(cb); + pendingQueue = buffer; } + var executeQueue = function () { + var cbs = pendingQueue; + pendingQueue = []; + cbs.forEach(cb); + }; + var cycle = function () { + return Promise.resolve().then(executeQueue); + }; + cycle(); + buffer = { + push: function (x) { + pendingQueue.push(x); + cycle(); + }, + filter: function (filter) { + pendingQueue = pendingQueue.filter(filter); + return buffer; + } + }; } - if (pos >= max || state.src.charCodeAt(pos) !== 0x29 /* ) */) { - // parsing a valid shortcut link failed, fallback to reference - parseReference = true; - } - pos++; - } - if (parseReference) { - // - // Link reference - // - if (typeof state.env.references === 'undefined') { - return false; - } - if (pos < max && state.src.charCodeAt(pos) === 0x5B /* [ */) { - start = pos + 1; - pos = state.md.helpers.parseLinkLabel(state, pos); - if (pos >= 0) { - label = state.src.slice(start, pos++); - } else { - pos = labelEnd + 1; - } - } else { - pos = labelEnd + 1; - } - - // covers label === '' and label === undefined - // (collapsed reference link and shortcut reference link respectively) - if (!label) { - label = state.src.slice(labelStart, labelEnd); - } - ref = state.env.references[normalizeReference(label)]; - if (!ref) { - state.pos = oldPos; - return false; - } - href = ref.href; - title = ref.title; + }; + return medium; +} +function createMedium(defaults, middleware) { + if (middleware === void 0) { + middleware = ItoI; } - - // - // We found the end of the link, and know for a fact it's a valid link; - // so all that's left to do is to call tokenizer. - // - if (!silent) { - state.pos = labelStart; - state.posMax = labelEnd; - token = state.push('link_open', 'a', 1); - token.attrs = attrs = [['href', href]]; - if (title) { - attrs.push(['title', title]); - } - state.md.inline.tokenize(state); - token = state.push('link_close', 'a', -1); + return innerCreateMedium(defaults, middleware); +} +// eslint-disable-next-line @typescript-eslint/ban-types +function createSidecarMedium(options) { + if (options === void 0) { + options = {}; } - state.pos = pos; - state.posMax = max; - return true; -}; + var medium = innerCreateMedium(null); + medium.options = (0, _tslib.__assign)({ + async: true, + ssr: false + }, options); + return medium; +} /***/ }), -/***/ "../../../node_modules/markdown-it/lib/rules_inline/newline.js": -/*!*********************************************************************!*\ - !*** ../../../node_modules/markdown-it/lib/rules_inline/newline.js ***! - \*********************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -// Proceess '\n' - +/***/ "../../../node_modules/use-sidecar/dist/es2015/renderProp.js": +/*!*******************************************************************!*\ + !*** ../../../node_modules/use-sidecar/dist/es2015/renderProp.js ***! + \*******************************************************************/ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { -var isSpace = (__webpack_require__(/*! ../common/utils */ "../../../node_modules/markdown-it/lib/common/utils.js").isSpace); -module.exports = function newline(state, silent) { - var pmax, - max, - pos = state.pos; - if (state.src.charCodeAt(pos) !== 0x0A /* \n */) { - return false; - } - pmax = state.pending.length - 1; - max = state.posMax; - // ' \n' -> hardbreak - // Lookup in pending chars is bad practice! Don't copy to other rules! - // Pending string is stored in concat mode, indexed lookups will cause - // convertion to flat mode. - if (!silent) { - if (pmax >= 0 && state.pending.charCodeAt(pmax) === 0x20) { - if (pmax >= 1 && state.pending.charCodeAt(pmax - 1) === 0x20) { - state.pending = state.pending.replace(/ +$/, ''); - state.push('hardbreak', 'br', 0); - } else { - state.pending = state.pending.slice(0, -1); - state.push('softbreak', 'br', 0); +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.renderCar = renderCar; +var _tslib = __webpack_require__(/*! tslib */ "../../../node_modules/tslib/tslib.es6.js"); +var React = _interopRequireWildcard(__webpack_require__(/*! react */ "react")); +function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } +function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } +function renderCar(WrappedComponent, defaults) { + function State(_a) { + var stateRef = _a.stateRef, + props = _a.props; + var renderTarget = (0, React.useCallback)(function SideTarget() { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i] = arguments[_i]; } - } else { - state.push('softbreak', 'br', 0); - } - } - pos++; - - // skip heading spaces for next line - while (pos < max && isSpace(state.src.charCodeAt(pos))) { - pos++; + (0, React.useLayoutEffect)(function () { + stateRef.current(args); + }); + return null; + }, []); + // @ts-ignore + return /*#__PURE__*/React.createElement(WrappedComponent, (0, _tslib.__assign)({}, props, { + children: renderTarget + })); } - state.pos = pos; - return true; -}; + var Children = /*#__PURE__*/React.memo(function (_a) { + var stateRef = _a.stateRef, + defaultState = _a.defaultState, + children = _a.children; + var _b = (0, React.useState)(defaultState.current), + state = _b[0], + setState = _b[1]; + (0, React.useEffect)(function () { + stateRef.current = setState; + }, []); + return children.apply(void 0, state); + }, function () { + return true; + }); + return function Combiner(props) { + var defaultState = React.useRef(defaults(props)); + var ref = React.useRef(function (state) { + return defaultState.current = state; + }); + return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(State, { + stateRef: ref, + props: props + }), /*#__PURE__*/React.createElement(Children, { + stateRef: ref, + defaultState: defaultState, + children: props.children + })); + }; +} /***/ }), -/***/ "../../../node_modules/markdown-it/lib/rules_inline/state_inline.js": -/*!**************************************************************************!*\ - !*** ../../../node_modules/markdown-it/lib/rules_inline/state_inline.js ***! - \**************************************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -// Inline parser state +/***/ "../../../node_modules/vscode-languageserver-types/lib/esm/main.js": +/*!*************************************************************************!*\ + !*** ../../../node_modules/vscode-languageserver-types/lib/esm/main.js ***! + \*************************************************************************/ +/***/ (function(__unused_webpack_module, exports) { +/* -------------------------------------------------------------------------------------------- + * Copyright (c) Microsoft Corporation. All rights reserved. + * Licensed under the MIT License. See License.txt in the project root for license information. + * ------------------------------------------------------------------------------------------ */ -var Token = __webpack_require__(/*! ../token */ "../../../node_modules/markdown-it/lib/token.js"); -var isWhiteSpace = (__webpack_require__(/*! ../common/utils */ "../../../node_modules/markdown-it/lib/common/utils.js").isWhiteSpace); -var isPunctChar = (__webpack_require__(/*! ../common/utils */ "../../../node_modules/markdown-it/lib/common/utils.js").isPunctChar); -var isMdAsciiPunct = (__webpack_require__(/*! ../common/utils */ "../../../node_modules/markdown-it/lib/common/utils.js").isMdAsciiPunct); -function StateInline(src, md, env, outTokens) { - this.src = src; - this.env = env; - this.md = md; - this.tokens = outTokens; - this.tokens_meta = Array(outTokens.length); - this.pos = 0; - this.posMax = this.src.length; - this.level = 0; - this.pending = ''; - this.pendingLevel = 0; - - // Stores { start: end } pairs. Useful for backtrack - // optimization of pairs parse (emphasis, strikes). - this.cache = {}; - - // List of emphasis-like delimiters for current tag - this.delimiters = []; - - // Stack of delimiter lists for upper level tags - this._prev_delimiters = []; - - // backtick length => last seen position - this.backticks = {}; - this.backticksScanned = false; -} - -// Flush pending text -// -StateInline.prototype.pushPending = function () { - var token = new Token('text', '', 0); - token.content = this.pending; - token.level = this.pendingLevel; - this.tokens.push(token); - this.pending = ''; - return token; -}; - -// Push new token to "stream". -// If pending text exists - flush it as text token -// -StateInline.prototype.push = function (type, tag, nesting) { - if (this.pending) { - this.pushPending(); - } - var token = new Token(type, tag, nesting); - var token_meta = null; - if (nesting < 0) { - // closing tag - this.level--; - this.delimiters = this._prev_delimiters.pop(); - } - token.level = this.level; - if (nesting > 0) { - // opening tag - this.level++; - this._prev_delimiters.push(this.delimiters); - this.delimiters = []; - token_meta = { - delimiters: this.delimiters - }; - } - this.pendingLevel = this.level; - this.tokens.push(token); - this.tokens_meta.push(token_meta); - return token; -}; - -// Scan a sequence of emphasis-like markers, and determine whether -// it can start an emphasis sequence or end an emphasis sequence. -// -// - start - position to scan from (it should point at a valid marker); -// - canSplitWord - determine if these markers can be found inside a word -// -StateInline.prototype.scanDelims = function (start, canSplitWord) { - var pos = start, - lastChar, - nextChar, - count, - can_open, - can_close, - isLastWhiteSpace, - isLastPunctChar, - isNextWhiteSpace, - isNextPunctChar, - left_flanking = true, - right_flanking = true, - max = this.posMax, - marker = this.src.charCodeAt(start); - - // treat beginning of the line as a whitespace - lastChar = start > 0 ? this.src.charCodeAt(start - 1) : 0x20; - while (pos < max && this.src.charCodeAt(pos) === marker) { - pos++; - } - count = pos - start; - - // treat end of the line as a whitespace - nextChar = pos < max ? this.src.charCodeAt(pos) : 0x20; - isLastPunctChar = isMdAsciiPunct(lastChar) || isPunctChar(String.fromCharCode(lastChar)); - isNextPunctChar = isMdAsciiPunct(nextChar) || isPunctChar(String.fromCharCode(nextChar)); - isLastWhiteSpace = isWhiteSpace(lastChar); - isNextWhiteSpace = isWhiteSpace(nextChar); - if (isNextWhiteSpace) { - left_flanking = false; - } else if (isNextPunctChar) { - if (!(isLastWhiteSpace || isLastPunctChar)) { - left_flanking = false; - } - } - if (isLastWhiteSpace) { - right_flanking = false; - } else if (isLastPunctChar) { - if (!(isNextWhiteSpace || isNextPunctChar)) { - right_flanking = false; - } - } - if (!canSplitWord) { - can_open = left_flanking && (!right_flanking || isLastPunctChar); - can_close = right_flanking && (!left_flanking || isNextPunctChar); - } else { - can_open = left_flanking; - can_close = right_flanking; - } - return { - can_open: can_open, - can_close: can_close, - length: count - }; -}; - -// re-export Token class to use in block rules -StateInline.prototype.Token = Token; -module.exports = StateInline; - -/***/ }), - -/***/ "../../../node_modules/markdown-it/lib/rules_inline/strikethrough.js": -/*!***************************************************************************!*\ - !*** ../../../node_modules/markdown-it/lib/rules_inline/strikethrough.js ***! - \***************************************************************************/ -/***/ (function(module) { - -// ~~strike through~~ -// - - -// Insert each marker as a separate text token, and add it to delimiter list -// -module.exports.tokenize = function strikethrough(state, silent) { - var i, - scanned, - token, - len, - ch, - start = state.pos, - marker = state.src.charCodeAt(start); - if (silent) { - return false; - } - if (marker !== 0x7E /* ~ */) { - return false; +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.uinteger = exports.integer = exports.WorkspaceSymbol = exports.WorkspaceFolder = exports.WorkspaceEdit = exports.WorkspaceChange = exports.VersionedTextDocumentIdentifier = exports.URI = exports.TextEdit = exports.TextDocumentItem = exports.TextDocumentIdentifier = exports.TextDocumentEdit = exports.TextDocument = exports.SymbolTag = exports.SymbolKind = exports.SymbolInformation = exports.SignatureInformation = exports.SemanticTokens = exports.SemanticTokenTypes = exports.SemanticTokenModifiers = exports.SelectionRange = exports.RenameFile = exports.Range = exports.Position = exports.ParameterInformation = exports.OptionalVersionedTextDocumentIdentifier = exports.MarkupKind = exports.MarkupContent = exports.MarkedString = exports.LocationLink = exports.Location = exports.InsertTextMode = exports.InsertTextFormat = exports.InsertReplaceEdit = exports.InlineValueVariableLookup = exports.InlineValueText = exports.InlineValueEvaluatableExpression = exports.InlineValueContext = exports.InlayHintLabelPart = exports.InlayHintKind = exports.InlayHint = exports.Hover = exports.FormattingOptions = exports.FoldingRangeKind = exports.FoldingRange = exports.EOL = exports.DocumentUri = exports.DocumentSymbol = exports.DocumentLink = exports.DocumentHighlightKind = exports.DocumentHighlight = exports.DiagnosticTag = exports.DiagnosticSeverity = exports.DiagnosticRelatedInformation = exports.Diagnostic = exports.DeleteFile = exports.CreateFile = exports.CompletionList = exports.CompletionItemTag = exports.CompletionItemLabelDetails = exports.CompletionItemKind = exports.CompletionItem = exports.Command = exports.ColorPresentation = exports.ColorInformation = exports.Color = exports.CodeLens = exports.CodeDescription = exports.CodeActionTriggerKind = exports.CodeActionKind = exports.CodeActionContext = exports.CodeAction = exports.ChangeAnnotationIdentifier = exports.ChangeAnnotation = exports.AnnotatedTextEdit = void 0; +var DocumentUri; +exports.DocumentUri = DocumentUri; +(function (DocumentUri) { + function is(value) { + return typeof value === 'string'; } - scanned = state.scanDelims(state.pos, true); - len = scanned.length; - ch = String.fromCharCode(marker); - if (len < 2) { - return false; + DocumentUri.is = is; +})(DocumentUri || (exports.DocumentUri = DocumentUri = {})); +var URI; +exports.URI = URI; +(function (URI) { + function is(value) { + return typeof value === 'string'; } - if (len % 2) { - token = state.push('text', '', 0); - token.content = ch; - len--; + URI.is = is; +})(URI || (exports.URI = URI = {})); +var integer; +exports.integer = integer; +(function (integer) { + integer.MIN_VALUE = -2147483648; + integer.MAX_VALUE = 2147483647; + function is(value) { + return typeof value === 'number' && integer.MIN_VALUE <= value && value <= integer.MAX_VALUE; } - for (i = 0; i < len; i += 2) { - token = state.push('text', '', 0); - token.content = ch + ch; - state.delimiters.push({ - marker: marker, - length: 0, - // disable "rule of 3" length checks meant for emphasis - jump: i / 2, - // for `~~` 1 marker = 2 characters - token: state.tokens.length - 1, - end: -1, - open: scanned.can_open, - close: scanned.can_close - }); + integer.is = is; +})(integer || (exports.integer = integer = {})); +var uinteger; +exports.uinteger = uinteger; +(function (uinteger) { + uinteger.MIN_VALUE = 0; + uinteger.MAX_VALUE = 2147483647; + function is(value) { + return typeof value === 'number' && uinteger.MIN_VALUE <= value && value <= uinteger.MAX_VALUE; } - state.pos += scanned.length; - return true; -}; -function postProcess(state, delimiters) { - var i, - j, - startDelim, - endDelim, - token, - loneMarkers = [], - max = delimiters.length; - for (i = 0; i < max; i++) { - startDelim = delimiters[i]; - if (startDelim.marker !== 0x7E /* ~ */) { - continue; - } - if (startDelim.end === -1) { - continue; + uinteger.is = is; +})(uinteger || (exports.uinteger = uinteger = {})); +/** + * The Position namespace provides helper functions to work with + * [Position](#Position) literals. + */ +var Position; +exports.Position = Position; +(function (Position) { + /** + * Creates a new Position literal from the given line and character. + * @param line The position's line. + * @param character The position's character. + */ + function create(line, character) { + if (line === Number.MAX_VALUE) { + line = uinteger.MAX_VALUE; } - endDelim = delimiters[startDelim.end]; - token = state.tokens[startDelim.token]; - token.type = 's_open'; - token.tag = 's'; - token.nesting = 1; - token.markup = '~~'; - token.content = ''; - token = state.tokens[endDelim.token]; - token.type = 's_close'; - token.tag = 's'; - token.nesting = -1; - token.markup = '~~'; - token.content = ''; - if (state.tokens[endDelim.token - 1].type === 'text' && state.tokens[endDelim.token - 1].content === '~') { - loneMarkers.push(endDelim.token - 1); + if (character === Number.MAX_VALUE) { + character = uinteger.MAX_VALUE; } + return { + line: line, + character: character + }; } - - // If a marker sequence has an odd number of characters, it's splitted - // like this: `~~~~~` -> `~` + `~~` + `~~`, leaving one marker at the - // start of the sequence. - // - // So, we have to move all those markers after subsequent s_close tags. - // - while (loneMarkers.length) { - i = loneMarkers.pop(); - j = i + 1; - while (j < state.tokens.length && state.tokens[j].type === 's_close') { - j++; - } - j--; - if (i !== j) { - token = state.tokens[j]; - state.tokens[j] = state.tokens[i]; - state.tokens[i] = token; - } + Position.create = create; + /** + * Checks whether the given literal conforms to the [Position](#Position) interface. + */ + function is(value) { + var candidate = value; + return Is.objectLiteral(candidate) && Is.uinteger(candidate.line) && Is.uinteger(candidate.character); } -} - -// Walk through delimiter list and replace text tokens with tags -// -module.exports.postProcess = function strikethrough(state) { - var curr, - tokens_meta = state.tokens_meta, - max = state.tokens_meta.length; - postProcess(state, state.delimiters); - for (curr = 0; curr < max; curr++) { - if (tokens_meta[curr] && tokens_meta[curr].delimiters) { - postProcess(state, tokens_meta[curr].delimiters); + Position.is = is; +})(Position || (exports.Position = Position = {})); +/** + * The Range namespace provides helper functions to work with + * [Range](#Range) literals. + */ +var Range; +exports.Range = Range; +(function (Range) { + function create(one, two, three, four) { + if (Is.uinteger(one) && Is.uinteger(two) && Is.uinteger(three) && Is.uinteger(four)) { + return { + start: Position.create(one, two), + end: Position.create(three, four) + }; + } else if (Position.is(one) && Position.is(two)) { + return { + start: one, + end: two + }; + } else { + throw new Error("Range#create called with invalid arguments[".concat(one, ", ").concat(two, ", ").concat(three, ", ").concat(four, "]")); } } -}; - -/***/ }), - -/***/ "../../../node_modules/markdown-it/lib/rules_inline/text.js": -/*!******************************************************************!*\ - !*** ../../../node_modules/markdown-it/lib/rules_inline/text.js ***! - \******************************************************************/ -/***/ (function(module) { - -// Skip text characters for text token, place those to pending buffer -// and increment current pos - - - -// Rule to skip pure text -// '{}$%@~+=:' reserved for extentions - -// !, ", #, $, %, &, ', (, ), *, +, ,, -, ., /, :, ;, <, =, >, ?, @, [, \, ], ^, _, `, {, |, }, or ~ - -// !!!! Don't confuse with "Markdown ASCII Punctuation" chars -// http://spec.commonmark.org/0.15/#ascii-punctuation-character -function isTerminatorChar(ch) { - switch (ch) { - case 0x0A /* \n */: - case 0x21 /* ! */: - case 0x23 /* # */: - case 0x24 /* $ */: - case 0x25 /* % */: - case 0x26 /* & */: - case 0x2A /* * */: - case 0x2B /* + */: - case 0x2D /* - */: - case 0x3A /* : */: - case 0x3C /* < */: - case 0x3D /* = */: - case 0x3E /* > */: - case 0x40 /* @ */: - case 0x5B /* [ */: - case 0x5C /* \ */: - case 0x5D /* ] */: - case 0x5E /* ^ */: - case 0x5F /* _ */: - case 0x60 /* ` */: - case 0x7B /* { */: - case 0x7D /* } */: - case 0x7E /* ~ */: - return true; - default: - return false; + Range.create = create; + /** + * Checks whether the given literal conforms to the [Range](#Range) interface. + */ + function is(value) { + var candidate = value; + return Is.objectLiteral(candidate) && Position.is(candidate.start) && Position.is(candidate.end); } -} -module.exports = function text(state, silent) { - var pos = state.pos; - while (pos < state.posMax && !isTerminatorChar(state.src.charCodeAt(pos))) { - pos++; + Range.is = is; +})(Range || (exports.Range = Range = {})); +/** + * The Location namespace provides helper functions to work with + * [Location](#Location) literals. + */ +var Location; +exports.Location = Location; +(function (Location) { + /** + * Creates a Location literal. + * @param uri The location's uri. + * @param range The location's range. + */ + function create(uri, range) { + return { + uri: uri, + range: range + }; } - if (pos === state.pos) { - return false; + Location.create = create; + /** + * Checks whether the given literal conforms to the [Location](#Location) interface. + */ + function is(value) { + var candidate = value; + return Is.defined(candidate) && Range.is(candidate.range) && (Is.string(candidate.uri) || Is.undefined(candidate.uri)); } - if (!silent) { - state.pending += state.src.slice(state.pos, pos); + Location.is = is; +})(Location || (exports.Location = Location = {})); +/** + * The LocationLink namespace provides helper functions to work with + * [LocationLink](#LocationLink) literals. + */ +var LocationLink; +exports.LocationLink = LocationLink; +(function (LocationLink) { + /** + * Creates a LocationLink literal. + * @param targetUri The definition's uri. + * @param targetRange The full range of the definition. + * @param targetSelectionRange The span of the symbol definition at the target. + * @param originSelectionRange The span of the symbol being defined in the originating source file. + */ + function create(targetUri, targetRange, targetSelectionRange, originSelectionRange) { + return { + targetUri: targetUri, + targetRange: targetRange, + targetSelectionRange: targetSelectionRange, + originSelectionRange: originSelectionRange + }; } - state.pos = pos; - return true; -}; - -// Alternative implementation, for memory. -// -// It costs 10% of performance, but allows extend terminators list, if place it -// to `ParcerInline` property. Probably, will switch to it sometime, such -// flexibility required. - -/* -var TERMINATOR_RE = /[\n!#$%&*+\-:<=>@[\\\]^_`{}~]/; - -module.exports = function text(state, silent) { - var pos = state.pos, - idx = state.src.slice(pos).search(TERMINATOR_RE); - - // first char is terminator -> empty text - if (idx === 0) { return false; } - - // no terminator -> text till end of string - if (idx < 0) { - if (!silent) { state.pending += state.src.slice(pos); } - state.pos = state.src.length; - return true; + LocationLink.create = create; + /** + * Checks whether the given literal conforms to the [LocationLink](#LocationLink) interface. + */ + function is(value) { + var candidate = value; + return Is.defined(candidate) && Range.is(candidate.targetRange) && Is.string(candidate.targetUri) && Range.is(candidate.targetSelectionRange) && (Range.is(candidate.originSelectionRange) || Is.undefined(candidate.originSelectionRange)); } - - if (!silent) { state.pending += state.src.slice(pos, pos + idx); } - - state.pos += idx; - - return true; -};*/ - -/***/ }), - -/***/ "../../../node_modules/markdown-it/lib/rules_inline/text_collapse.js": -/*!***************************************************************************!*\ - !*** ../../../node_modules/markdown-it/lib/rules_inline/text_collapse.js ***! - \***************************************************************************/ -/***/ (function(module) { - -// Clean up tokens after emphasis and strikethrough postprocessing: -// merge adjacent text nodes into one and re-calculate all token levels -// -// This is necessary because initially emphasis delimiter markers (*, _, ~) -// are treated as their own separate text tokens. Then emphasis rule either -// leaves them as text (needed to merge with adjacent text) or turns them -// into opening/closing tags (which messes up levels inside). -// - - -module.exports = function text_collapse(state) { - var curr, - last, - level = 0, - tokens = state.tokens, - max = state.tokens.length; - for (curr = last = 0; curr < max; curr++) { - // re-calculate levels after emphasis/strikethrough turns some text nodes - // into opening/closing tags - if (tokens[curr].nesting < 0) level--; // closing tag - tokens[curr].level = level; - if (tokens[curr].nesting > 0) level++; // opening tag - - if (tokens[curr].type === 'text' && curr + 1 < max && tokens[curr + 1].type === 'text') { - // collapse two adjacent text nodes - tokens[curr + 1].content = tokens[curr].content + tokens[curr + 1].content; - } else { - if (curr !== last) { - tokens[last] = tokens[curr]; - } - last++; - } + LocationLink.is = is; +})(LocationLink || (exports.LocationLink = LocationLink = {})); +/** + * The Color namespace provides helper functions to work with + * [Color](#Color) literals. + */ +var Color; +exports.Color = Color; +(function (Color) { + /** + * Creates a new Color literal. + */ + function create(red, green, blue, alpha) { + return { + red: red, + green: green, + blue: blue, + alpha: alpha + }; } - if (curr !== last) { - tokens.length = last; + Color.create = create; + /** + * Checks whether the given literal conforms to the [Color](#Color) interface. + */ + function is(value) { + var candidate = value; + return Is.objectLiteral(candidate) && Is.numberRange(candidate.red, 0, 1) && Is.numberRange(candidate.green, 0, 1) && Is.numberRange(candidate.blue, 0, 1) && Is.numberRange(candidate.alpha, 0, 1); } -}; - -/***/ }), - -/***/ "../../../node_modules/markdown-it/lib/token.js": -/*!******************************************************!*\ - !*** ../../../node_modules/markdown-it/lib/token.js ***! - \******************************************************/ -/***/ (function(module) { - -// Token class - - - -/** - * class Token - **/ - + Color.is = is; +})(Color || (exports.Color = Color = {})); /** - * new Token(type, tag, nesting) - * - * Create new token and fill passed properties. - **/ -function Token(type, tag, nesting) { + * The ColorInformation namespace provides helper functions to work with + * [ColorInformation](#ColorInformation) literals. + */ +var ColorInformation; +exports.ColorInformation = ColorInformation; +(function (ColorInformation) { /** - * Token#type -> String - * - * Type of the token (string, e.g. "paragraph_open") - **/ - this.type = type; - + * Creates a new ColorInformation literal. + */ + function create(range, color) { + return { + range: range, + color: color + }; + } + ColorInformation.create = create; /** - * Token#tag -> String - * - * html tag name, e.g. "p" - **/ - this.tag = tag; - + * Checks whether the given literal conforms to the [ColorInformation](#ColorInformation) interface. + */ + function is(value) { + var candidate = value; + return Is.objectLiteral(candidate) && Range.is(candidate.range) && Color.is(candidate.color); + } + ColorInformation.is = is; +})(ColorInformation || (exports.ColorInformation = ColorInformation = {})); +/** + * The Color namespace provides helper functions to work with + * [ColorPresentation](#ColorPresentation) literals. + */ +var ColorPresentation; +exports.ColorPresentation = ColorPresentation; +(function (ColorPresentation) { /** - * Token#attrs -> Array - * - * Html attributes. Format: `[ [ name1, value1 ], [ name2, value2 ] ]` - **/ - this.attrs = null; - + * Creates a new ColorInformation literal. + */ + function create(label, textEdit, additionalTextEdits) { + return { + label: label, + textEdit: textEdit, + additionalTextEdits: additionalTextEdits + }; + } + ColorPresentation.create = create; /** - * Token#map -> Array - * - * Source map info. Format: `[ line_begin, line_end ]` - **/ - this.map = null; - + * Checks whether the given literal conforms to the [ColorInformation](#ColorInformation) interface. + */ + function is(value) { + var candidate = value; + return Is.objectLiteral(candidate) && Is.string(candidate.label) && (Is.undefined(candidate.textEdit) || TextEdit.is(candidate)) && (Is.undefined(candidate.additionalTextEdits) || Is.typedArray(candidate.additionalTextEdits, TextEdit.is)); + } + ColorPresentation.is = is; +})(ColorPresentation || (exports.ColorPresentation = ColorPresentation = {})); +/** + * A set of predefined range kinds. + */ +var FoldingRangeKind; +exports.FoldingRangeKind = FoldingRangeKind; +(function (FoldingRangeKind) { /** - * Token#nesting -> Number - * - * Level change (number in {-1, 0, 1} set), where: - * - * - `1` means the tag is opening - * - `0` means the tag is self-closing - * - `-1` means the tag is closing - **/ - this.nesting = nesting; - + * Folding range for a comment + */ + FoldingRangeKind.Comment = 'comment'; /** - * Token#level -> Number - * - * nesting level, the same as `state.level` - **/ - this.level = 0; - + * Folding range for a imports or includes + */ + FoldingRangeKind.Imports = 'imports'; /** - * Token#children -> Array - * - * An array of child nodes (inline and img tokens) - **/ - this.children = null; - + * Folding range for a region (e.g. `#region`) + */ + FoldingRangeKind.Region = 'region'; +})(FoldingRangeKind || (exports.FoldingRangeKind = FoldingRangeKind = {})); +/** + * The folding range namespace provides helper functions to work with + * [FoldingRange](#FoldingRange) literals. + */ +var FoldingRange; +exports.FoldingRange = FoldingRange; +(function (FoldingRange) { /** - * Token#content -> String - * - * In a case of self-closing tag (code, html, fence, etc.), - * it has contents of this tag. - **/ - this.content = ''; - + * Creates a new FoldingRange literal. + */ + function create(startLine, endLine, startCharacter, endCharacter, kind, collapsedText) { + var result = { + startLine: startLine, + endLine: endLine + }; + if (Is.defined(startCharacter)) { + result.startCharacter = startCharacter; + } + if (Is.defined(endCharacter)) { + result.endCharacter = endCharacter; + } + if (Is.defined(kind)) { + result.kind = kind; + } + if (Is.defined(collapsedText)) { + result.collapsedText = collapsedText; + } + return result; + } + FoldingRange.create = create; /** - * Token#markup -> String - * - * '*' or '_' for emphasis, fence string for fence, etc. - **/ - this.markup = ''; - + * Checks whether the given literal conforms to the [FoldingRange](#FoldingRange) interface. + */ + function is(value) { + var candidate = value; + return Is.objectLiteral(candidate) && Is.uinteger(candidate.startLine) && Is.uinteger(candidate.startLine) && (Is.undefined(candidate.startCharacter) || Is.uinteger(candidate.startCharacter)) && (Is.undefined(candidate.endCharacter) || Is.uinteger(candidate.endCharacter)) && (Is.undefined(candidate.kind) || Is.string(candidate.kind)); + } + FoldingRange.is = is; +})(FoldingRange || (exports.FoldingRange = FoldingRange = {})); +/** + * The DiagnosticRelatedInformation namespace provides helper functions to work with + * [DiagnosticRelatedInformation](#DiagnosticRelatedInformation) literals. + */ +var DiagnosticRelatedInformation; +exports.DiagnosticRelatedInformation = DiagnosticRelatedInformation; +(function (DiagnosticRelatedInformation) { /** - * Token#info -> String - * - * Additional information: - * - * - Info string for "fence" tokens - * - The value "auto" for autolink "link_open" and "link_close" tokens - * - The string value of the item marker for ordered-list "list_item_open" tokens - **/ - this.info = ''; - + * Creates a new DiagnosticRelatedInformation literal. + */ + function create(location, message) { + return { + location: location, + message: message + }; + } + DiagnosticRelatedInformation.create = create; /** - * Token#meta -> Object - * - * A place for plugins to store an arbitrary data - **/ - this.meta = null; - + * Checks whether the given literal conforms to the [DiagnosticRelatedInformation](#DiagnosticRelatedInformation) interface. + */ + function is(value) { + var candidate = value; + return Is.defined(candidate) && Location.is(candidate.location) && Is.string(candidate.message); + } + DiagnosticRelatedInformation.is = is; +})(DiagnosticRelatedInformation || (exports.DiagnosticRelatedInformation = DiagnosticRelatedInformation = {})); +/** + * The diagnostic's severity. + */ +var DiagnosticSeverity; +exports.DiagnosticSeverity = DiagnosticSeverity; +(function (DiagnosticSeverity) { /** - * Token#block -> Boolean + * Reports an error. + */ + DiagnosticSeverity.Error = 1; + /** + * Reports a warning. + */ + DiagnosticSeverity.Warning = 2; + /** + * Reports an information. + */ + DiagnosticSeverity.Information = 3; + /** + * Reports a hint. + */ + DiagnosticSeverity.Hint = 4; +})(DiagnosticSeverity || (exports.DiagnosticSeverity = DiagnosticSeverity = {})); +/** + * The diagnostic tags. + * + * @since 3.15.0 + */ +var DiagnosticTag; +exports.DiagnosticTag = DiagnosticTag; +(function (DiagnosticTag) { + /** + * Unused or unnecessary code. * - * True for block-level tokens, false for inline tokens. - * Used in renderer to calculate line breaks - **/ - this.block = false; - + * Clients are allowed to render diagnostics with this tag faded out instead of having + * an error squiggle. + */ + DiagnosticTag.Unnecessary = 1; /** - * Token#hidden -> Boolean + * Deprecated or obsolete code. * - * If it's true, ignore this element when rendering. Used for tight lists - * to hide paragraphs. - **/ - this.hidden = false; -} - + * Clients are allowed to rendered diagnostics with this tag strike through. + */ + DiagnosticTag.Deprecated = 2; +})(DiagnosticTag || (exports.DiagnosticTag = DiagnosticTag = {})); /** - * Token.attrIndex(name) -> Number + * The CodeDescription namespace provides functions to deal with descriptions for diagnostic codes. * - * Search attribute index by name. - **/ -Token.prototype.attrIndex = function attrIndex(name) { - var attrs, i, len; - if (!this.attrs) { - return -1; + * @since 3.16.0 + */ +var CodeDescription; +exports.CodeDescription = CodeDescription; +(function (CodeDescription) { + function is(value) { + var candidate = value; + return Is.objectLiteral(candidate) && Is.string(candidate.href); } - attrs = this.attrs; - for (i = 0, len = attrs.length; i < len; i++) { - if (attrs[i][0] === name) { - return i; + CodeDescription.is = is; +})(CodeDescription || (exports.CodeDescription = CodeDescription = {})); +/** + * The Diagnostic namespace provides helper functions to work with + * [Diagnostic](#Diagnostic) literals. + */ +var Diagnostic; +exports.Diagnostic = Diagnostic; +(function (Diagnostic) { + /** + * Creates a new Diagnostic literal. + */ + function create(range, message, severity, code, source, relatedInformation) { + var result = { + range: range, + message: message + }; + if (Is.defined(severity)) { + result.severity = severity; + } + if (Is.defined(code)) { + result.code = code; + } + if (Is.defined(source)) { + result.source = source; + } + if (Is.defined(relatedInformation)) { + result.relatedInformation = relatedInformation; } + return result; } - return -1; -}; - -/** - * Token.attrPush(attrData) - * - * Add `[ name, value ]` attribute to list. Init attrs if necessary - **/ -Token.prototype.attrPush = function attrPush(attrData) { - if (this.attrs) { - this.attrs.push(attrData); - } else { - this.attrs = [attrData]; + Diagnostic.create = create; + /** + * Checks whether the given literal conforms to the [Diagnostic](#Diagnostic) interface. + */ + function is(value) { + var _a; + var candidate = value; + return Is.defined(candidate) && Range.is(candidate.range) && Is.string(candidate.message) && (Is.number(candidate.severity) || Is.undefined(candidate.severity)) && (Is.integer(candidate.code) || Is.string(candidate.code) || Is.undefined(candidate.code)) && (Is.undefined(candidate.codeDescription) || Is.string((_a = candidate.codeDescription) === null || _a === void 0 ? void 0 : _a.href)) && (Is.string(candidate.source) || Is.undefined(candidate.source)) && (Is.undefined(candidate.relatedInformation) || Is.typedArray(candidate.relatedInformation, DiagnosticRelatedInformation.is)); } -}; - + Diagnostic.is = is; +})(Diagnostic || (exports.Diagnostic = Diagnostic = {})); /** - * Token.attrSet(name, value) - * - * Set `name` attribute to `value`. Override old value if exists. - **/ -Token.prototype.attrSet = function attrSet(name, value) { - var idx = this.attrIndex(name), - attrData = [name, value]; - if (idx < 0) { - this.attrPush(attrData); - } else { - this.attrs[idx] = attrData; + * The Command namespace provides helper functions to work with + * [Command](#Command) literals. + */ +var Command; +exports.Command = Command; +(function (Command) { + /** + * Creates a new Command literal. + */ + function create(title, command) { + var args = []; + for (var _i = 2; _i < arguments.length; _i++) { + args[_i - 2] = arguments[_i]; + } + var result = { + title: title, + command: command + }; + if (Is.defined(args) && args.length > 0) { + result.arguments = args; + } + return result; } -}; - -/** - * Token.attrGet(name) - * - * Get the value of attribute `name`, or null if it does not exist. - **/ -Token.prototype.attrGet = function attrGet(name) { - var idx = this.attrIndex(name), - value = null; - if (idx >= 0) { - value = this.attrs[idx][1]; + Command.create = create; + /** + * Checks whether the given literal conforms to the [Command](#Command) interface. + */ + function is(value) { + var candidate = value; + return Is.defined(candidate) && Is.string(candidate.title) && Is.string(candidate.command); } - return value; -}; - + Command.is = is; +})(Command || (exports.Command = Command = {})); /** - * Token.attrJoin(name, value) - * - * Join value to existing attribute via space. Or create new attribute if not - * exists. Useful to operate with token classes. - **/ -Token.prototype.attrJoin = function attrJoin(name, value) { - var idx = this.attrIndex(name); - if (idx < 0) { - this.attrPush([name, value]); - } else { - this.attrs[idx][1] = this.attrs[idx][1] + ' ' + value; - } -}; -module.exports = Token; - -/***/ }), - -/***/ "../../../node_modules/mdurl/decode.js": -/*!*********************************************!*\ - !*** ../../../node_modules/mdurl/decode.js ***! - \*********************************************/ -/***/ (function(module) { - - - -/* eslint-disable no-bitwise */ -var decodeCache = {}; -function getDecodeCache(exclude) { - var i, - ch, - cache = decodeCache[exclude]; - if (cache) { - return cache; + * The TextEdit namespace provides helper function to create replace, + * insert and delete edits more easily. + */ +var TextEdit; +exports.TextEdit = TextEdit; +(function (TextEdit) { + /** + * Creates a replace text edit. + * @param range The range of text to be replaced. + * @param newText The new text. + */ + function replace(range, newText) { + return { + range: range, + newText: newText + }; } - cache = decodeCache[exclude] = []; - for (i = 0; i < 128; i++) { - ch = String.fromCharCode(i); - cache.push(ch); + TextEdit.replace = replace; + /** + * Creates a insert text edit. + * @param position The position to insert the text at. + * @param newText The text to be inserted. + */ + function insert(position, newText) { + return { + range: { + start: position, + end: position + }, + newText: newText + }; } - for (i = 0; i < exclude.length; i++) { - ch = exclude.charCodeAt(i); - cache[ch] = '%' + ('0' + ch.toString(16).toUpperCase()).slice(-2); + TextEdit.insert = insert; + /** + * Creates a delete text edit. + * @param range The range of text to be deleted. + */ + function del(range) { + return { + range: range, + newText: '' + }; } - return cache; -} - -// Decode percent-encoded string. -// -function decode(string, exclude) { - var cache; - if (typeof exclude !== 'string') { - exclude = decode.defaultChars; + TextEdit.del = del; + function is(value) { + var candidate = value; + return Is.objectLiteral(candidate) && Is.string(candidate.newText) && Range.is(candidate.range); } - cache = getDecodeCache(exclude); - return string.replace(/(%[a-f0-9]{2})+/gi, function (seq) { - var i, - l, - b1, - b2, - b3, - b4, - chr, - result = ''; - for (i = 0, l = seq.length; i < l; i += 3) { - b1 = parseInt(seq.slice(i + 1, i + 3), 16); - if (b1 < 0x80) { - result += cache[b1]; - continue; - } - if ((b1 & 0xE0) === 0xC0 && i + 3 < l) { - // 110xxxxx 10xxxxxx - b2 = parseInt(seq.slice(i + 4, i + 6), 16); - if ((b2 & 0xC0) === 0x80) { - chr = b1 << 6 & 0x7C0 | b2 & 0x3F; - if (chr < 0x80) { - result += '\ufffd\ufffd'; - } else { - result += String.fromCharCode(chr); - } - i += 3; - continue; - } - } - if ((b1 & 0xF0) === 0xE0 && i + 6 < l) { - // 1110xxxx 10xxxxxx 10xxxxxx - b2 = parseInt(seq.slice(i + 4, i + 6), 16); - b3 = parseInt(seq.slice(i + 7, i + 9), 16); - if ((b2 & 0xC0) === 0x80 && (b3 & 0xC0) === 0x80) { - chr = b1 << 12 & 0xF000 | b2 << 6 & 0xFC0 | b3 & 0x3F; - if (chr < 0x800 || chr >= 0xD800 && chr <= 0xDFFF) { - result += '\ufffd\ufffd\ufffd'; - } else { - result += String.fromCharCode(chr); - } - i += 6; - continue; - } - } - if ((b1 & 0xF8) === 0xF0 && i + 9 < l) { - // 111110xx 10xxxxxx 10xxxxxx 10xxxxxx - b2 = parseInt(seq.slice(i + 4, i + 6), 16); - b3 = parseInt(seq.slice(i + 7, i + 9), 16); - b4 = parseInt(seq.slice(i + 10, i + 12), 16); - if ((b2 & 0xC0) === 0x80 && (b3 & 0xC0) === 0x80 && (b4 & 0xC0) === 0x80) { - chr = b1 << 18 & 0x1C0000 | b2 << 12 & 0x3F000 | b3 << 6 & 0xFC0 | b4 & 0x3F; - if (chr < 0x10000 || chr > 0x10FFFF) { - result += '\ufffd\ufffd\ufffd\ufffd'; - } else { - chr -= 0x10000; - result += String.fromCharCode(0xD800 + (chr >> 10), 0xDC00 + (chr & 0x3FF)); - } - i += 9; - continue; - } - } - result += '\ufffd'; + TextEdit.is = is; +})(TextEdit || (exports.TextEdit = TextEdit = {})); +var ChangeAnnotation; +exports.ChangeAnnotation = ChangeAnnotation; +(function (ChangeAnnotation) { + function create(label, needsConfirmation, description) { + var result = { + label: label + }; + if (needsConfirmation !== undefined) { + result.needsConfirmation = needsConfirmation; + } + if (description !== undefined) { + result.description = description; } return result; - }); -} -decode.defaultChars = ';/?:@&=+$,#'; -decode.componentChars = ''; -module.exports = decode; - -/***/ }), - -/***/ "../../../node_modules/mdurl/encode.js": -/*!*********************************************!*\ - !*** ../../../node_modules/mdurl/encode.js ***! - \*********************************************/ -/***/ (function(module) { - - - -var encodeCache = {}; - -// Create a lookup array where anything but characters in `chars` string -// and alphanumeric chars is percent-encoded. -// -function getEncodeCache(exclude) { - var i, - ch, - cache = encodeCache[exclude]; - if (cache) { - return cache; } - cache = encodeCache[exclude] = []; - for (i = 0; i < 128; i++) { - ch = String.fromCharCode(i); - if (/^[0-9a-z]$/i.test(ch)) { - // always allow unencoded alphanumeric characters - cache.push(ch); - } else { - cache.push('%' + ('0' + i.toString(16).toUpperCase()).slice(-2)); - } + ChangeAnnotation.create = create; + function is(value) { + var candidate = value; + return Is.objectLiteral(candidate) && Is.string(candidate.label) && (Is.boolean(candidate.needsConfirmation) || candidate.needsConfirmation === undefined) && (Is.string(candidate.description) || candidate.description === undefined); } - for (i = 0; i < exclude.length; i++) { - cache[exclude.charCodeAt(i)] = exclude[i]; + ChangeAnnotation.is = is; +})(ChangeAnnotation || (exports.ChangeAnnotation = ChangeAnnotation = {})); +var ChangeAnnotationIdentifier; +exports.ChangeAnnotationIdentifier = ChangeAnnotationIdentifier; +(function (ChangeAnnotationIdentifier) { + function is(value) { + var candidate = value; + return Is.string(candidate); } - return cache; -} - -// Encode unsafe characters with percent-encoding, skipping already -// encoded sequences. -// -// - string - string to encode -// - exclude - list of characters to ignore (in addition to a-zA-Z0-9) -// - keepEscaped - don't encode '%' in a correct escape sequence (default: true) -// -function encode(string, exclude, keepEscaped) { - var i, - l, - code, - nextCode, - cache, - result = ''; - if (typeof exclude !== 'string') { - // encode(string, keepEscaped) - keepEscaped = exclude; - exclude = encode.defaultChars; + ChangeAnnotationIdentifier.is = is; +})(ChangeAnnotationIdentifier || (exports.ChangeAnnotationIdentifier = ChangeAnnotationIdentifier = {})); +var AnnotatedTextEdit; +exports.AnnotatedTextEdit = AnnotatedTextEdit; +(function (AnnotatedTextEdit) { + /** + * Creates an annotated replace text edit. + * + * @param range The range of text to be replaced. + * @param newText The new text. + * @param annotation The annotation. + */ + function replace(range, newText, annotation) { + return { + range: range, + newText: newText, + annotationId: annotation + }; } - if (typeof keepEscaped === 'undefined') { - keepEscaped = true; + AnnotatedTextEdit.replace = replace; + /** + * Creates an annotated insert text edit. + * + * @param position The position to insert the text at. + * @param newText The text to be inserted. + * @param annotation The annotation. + */ + function insert(position, newText, annotation) { + return { + range: { + start: position, + end: position + }, + newText: newText, + annotationId: annotation + }; } - cache = getEncodeCache(exclude); - for (i = 0, l = string.length; i < l; i++) { - code = string.charCodeAt(i); - if (keepEscaped && code === 0x25 /* % */ && i + 2 < l) { - if (/^[0-9a-f]{2}$/i.test(string.slice(i + 1, i + 3))) { - result += string.slice(i, i + 3); - i += 2; - continue; - } - } - if (code < 128) { - result += cache[code]; - continue; + AnnotatedTextEdit.insert = insert; + /** + * Creates an annotated delete text edit. + * + * @param range The range of text to be deleted. + * @param annotation The annotation. + */ + function del(range, annotation) { + return { + range: range, + newText: '', + annotationId: annotation + }; + } + AnnotatedTextEdit.del = del; + function is(value) { + var candidate = value; + return TextEdit.is(candidate) && (ChangeAnnotation.is(candidate.annotationId) || ChangeAnnotationIdentifier.is(candidate.annotationId)); + } + AnnotatedTextEdit.is = is; +})(AnnotatedTextEdit || (exports.AnnotatedTextEdit = AnnotatedTextEdit = {})); +/** + * The TextDocumentEdit namespace provides helper function to create + * an edit that manipulates a text document. + */ +var TextDocumentEdit; +exports.TextDocumentEdit = TextDocumentEdit; +(function (TextDocumentEdit) { + /** + * Creates a new `TextDocumentEdit` + */ + function create(textDocument, edits) { + return { + textDocument: textDocument, + edits: edits + }; + } + TextDocumentEdit.create = create; + function is(value) { + var candidate = value; + return Is.defined(candidate) && OptionalVersionedTextDocumentIdentifier.is(candidate.textDocument) && Array.isArray(candidate.edits); + } + TextDocumentEdit.is = is; +})(TextDocumentEdit || (exports.TextDocumentEdit = TextDocumentEdit = {})); +var CreateFile; +exports.CreateFile = CreateFile; +(function (CreateFile) { + function create(uri, options, annotation) { + var result = { + kind: 'create', + uri: uri + }; + if (options !== undefined && (options.overwrite !== undefined || options.ignoreIfExists !== undefined)) { + result.options = options; } - if (code >= 0xD800 && code <= 0xDFFF) { - if (code >= 0xD800 && code <= 0xDBFF && i + 1 < l) { - nextCode = string.charCodeAt(i + 1); - if (nextCode >= 0xDC00 && nextCode <= 0xDFFF) { - result += encodeURIComponent(string[i] + string[i + 1]); - i++; - continue; - } - } - result += '%EF%BF%BD'; - continue; + if (annotation !== undefined) { + result.annotationId = annotation; } - result += encodeURIComponent(string[i]); - } - return result; -} -encode.defaultChars = ";/?:@&=+$,-_.!~*'()#"; -encode.componentChars = "-_.!~*'()"; -module.exports = encode; - -/***/ }), - -/***/ "../../../node_modules/mdurl/format.js": -/*!*********************************************!*\ - !*** ../../../node_modules/mdurl/format.js ***! - \*********************************************/ -/***/ (function(module) { - - - -module.exports = function format(url) { - var result = ''; - result += url.protocol || ''; - result += url.slashes ? '//' : ''; - result += url.auth ? url.auth + '@' : ''; - if (url.hostname && url.hostname.indexOf(':') !== -1) { - // ipv6 address - result += '[' + url.hostname + ']'; - } else { - result += url.hostname || ''; + return result; } - result += url.port ? ':' + url.port : ''; - result += url.pathname || ''; - result += url.search || ''; - result += url.hash || ''; - return result; -}; - -/***/ }), - -/***/ "../../../node_modules/mdurl/index.js": -/*!********************************************!*\ - !*** ../../../node_modules/mdurl/index.js ***! - \********************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - - - -module.exports.encode = __webpack_require__(/*! ./encode */ "../../../node_modules/mdurl/encode.js"); -module.exports.decode = __webpack_require__(/*! ./decode */ "../../../node_modules/mdurl/decode.js"); -module.exports.format = __webpack_require__(/*! ./format */ "../../../node_modules/mdurl/format.js"); -module.exports.parse = __webpack_require__(/*! ./parse */ "../../../node_modules/mdurl/parse.js"); - -/***/ }), - -/***/ "../../../node_modules/mdurl/parse.js": -/*!********************************************!*\ - !*** ../../../node_modules/mdurl/parse.js ***! - \********************************************/ -/***/ (function(module) { - -// Copyright Joyent, Inc. and other Node contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. - - - -// -// Changes from joyent/node: -// -// 1. No leading slash in paths, -// e.g. in `url.parse('http://foo?bar')` pathname is ``, not `/` -// -// 2. Backslashes are not replaced with slashes, -// so `http:\\example.org\` is treated like a relative path -// -// 3. Trailing colon is treated like a part of the path, -// i.e. in `http://example.org:foo` pathname is `:foo` -// -// 4. Nothing is URL-encoded in the resulting object, -// (in joyent/node some chars in auth and paths are encoded) -// -// 5. `url.parse()` does not have `parseQueryString` argument -// -// 6. Removed extraneous result properties: `host`, `path`, `query`, etc., -// which can be constructed using other parts of the url. -// -function Url() { - this.protocol = null; - this.slashes = null; - this.auth = null; - this.port = null; - this.hostname = null; - this.hash = null; - this.search = null; - this.pathname = null; -} - -// Reference: RFC 3986, RFC 1808, RFC 2396 - -// define these here so at least they only have to be -// compiled once on the first module load. -var protocolPattern = /^([a-z0-9.+-]+:)/i, - portPattern = /:[0-9]*$/, - // Special case for a simple path URL - simplePathPattern = /^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/, - // RFC 2396: characters reserved for delimiting URLs. - // We actually just auto-escape these. - delims = ['<', '>', '"', '`', ' ', '\r', '\n', '\t'], - // RFC 2396: characters not allowed for various reasons. - unwise = ['{', '}', '|', '\\', '^', '`'].concat(delims), - // Allowed by RFCs, but cause of XSS attacks. Always escape these. - autoEscape = ['\''].concat(unwise), - // Characters that are never ever allowed in a hostname. - // Note that any invalid chars are also handled, but these - // are the ones that are *expected* to be seen, so we fast-path - // them. - nonHostChars = ['%', '/', '?', ';', '#'].concat(autoEscape), - hostEndingChars = ['/', '?', '#'], - hostnameMaxLen = 255, - hostnamePartPattern = /^[+a-z0-9A-Z_-]{0,63}$/, - hostnamePartStart = /^([+a-z0-9A-Z_-]{0,63})(.*)$/, - // protocols that can allow "unsafe" and "unwise" chars. - /* eslint-disable no-script-url */ - // protocols that never have a hostname. - hostlessProtocol = { - 'javascript': true, - 'javascript:': true - }, - // protocols that always contain a // bit. - slashedProtocol = { - 'http': true, - 'https': true, - 'ftp': true, - 'gopher': true, - 'file': true, - 'http:': true, - 'https:': true, - 'ftp:': true, - 'gopher:': true, - 'file:': true - }; -/* eslint-enable no-script-url */ - -function urlParse(url, slashesDenoteHost) { - if (url && url instanceof Url) { - return url; + CreateFile.create = create; + function is(value) { + var candidate = value; + return candidate && candidate.kind === 'create' && Is.string(candidate.uri) && (candidate.options === undefined || (candidate.options.overwrite === undefined || Is.boolean(candidate.options.overwrite)) && (candidate.options.ignoreIfExists === undefined || Is.boolean(candidate.options.ignoreIfExists))) && (candidate.annotationId === undefined || ChangeAnnotationIdentifier.is(candidate.annotationId)); } - var u = new Url(); - u.parse(url, slashesDenoteHost); - return u; -} -Url.prototype.parse = function (url, slashesDenoteHost) { - var i, - l, - lowerProto, - hec, - slashes, - rest = url; - - // trim before proceeding. - // This is to support parse stuff like " http://foo.com \n" - rest = rest.trim(); - if (!slashesDenoteHost && url.split('#').length === 1) { - // Try fast path regexp - var simplePath = simplePathPattern.exec(rest); - if (simplePath) { - this.pathname = simplePath[1]; - if (simplePath[2]) { - this.search = simplePath[2]; - } - return this; + CreateFile.is = is; +})(CreateFile || (exports.CreateFile = CreateFile = {})); +var RenameFile; +exports.RenameFile = RenameFile; +(function (RenameFile) { + function create(oldUri, newUri, options, annotation) { + var result = { + kind: 'rename', + oldUri: oldUri, + newUri: newUri + }; + if (options !== undefined && (options.overwrite !== undefined || options.ignoreIfExists !== undefined)) { + result.options = options; + } + if (annotation !== undefined) { + result.annotationId = annotation; } + return result; } - var proto = protocolPattern.exec(rest); - if (proto) { - proto = proto[0]; - lowerProto = proto.toLowerCase(); - this.protocol = proto; - rest = rest.substr(proto.length); + RenameFile.create = create; + function is(value) { + var candidate = value; + return candidate && candidate.kind === 'rename' && Is.string(candidate.oldUri) && Is.string(candidate.newUri) && (candidate.options === undefined || (candidate.options.overwrite === undefined || Is.boolean(candidate.options.overwrite)) && (candidate.options.ignoreIfExists === undefined || Is.boolean(candidate.options.ignoreIfExists))) && (candidate.annotationId === undefined || ChangeAnnotationIdentifier.is(candidate.annotationId)); } - - // figure out if it's got a host - // user@server is *always* interpreted as a hostname, and url - // resolution will treat //foo/bar as host=foo,path=bar because that's - // how the browser resolves relative URLs. - if (slashesDenoteHost || proto || rest.match(/^\/\/[^@\/]+@[^@\/]+/)) { - slashes = rest.substr(0, 2) === '//'; - if (slashes && !(proto && hostlessProtocol[proto])) { - rest = rest.substr(2); - this.slashes = true; + RenameFile.is = is; +})(RenameFile || (exports.RenameFile = RenameFile = {})); +var DeleteFile; +exports.DeleteFile = DeleteFile; +(function (DeleteFile) { + function create(uri, options, annotation) { + var result = { + kind: 'delete', + uri: uri + }; + if (options !== undefined && (options.recursive !== undefined || options.ignoreIfNotExists !== undefined)) { + result.options = options; } + if (annotation !== undefined) { + result.annotationId = annotation; + } + return result; } - if (!hostlessProtocol[proto] && (slashes || proto && !slashedProtocol[proto])) { - // there's a hostname. - // the first instance of /, ?, ;, or # ends the host. - // - // If there is an @ in the hostname, then non-host chars *are* allowed - // to the left of the last @ sign, unless some host-ending character - // comes *before* the @-sign. - // URLs are obnoxious. - // - // ex: - // http://a@b@c/ => user:a@b host:c - // http://a@b?@c => user:a host:c path:/?@c - - // v0.12 TODO(isaacs): This is not quite how Chrome does things. - // Review our test case against browsers more comprehensively. - - // find the first instance of any hostEndingChars - var hostEnd = -1; - for (i = 0; i < hostEndingChars.length; i++) { - hec = rest.indexOf(hostEndingChars[i]); - if (hec !== -1 && (hostEnd === -1 || hec < hostEnd)) { - hostEnd = hec; + DeleteFile.create = create; + function is(value) { + var candidate = value; + return candidate && candidate.kind === 'delete' && Is.string(candidate.uri) && (candidate.options === undefined || (candidate.options.recursive === undefined || Is.boolean(candidate.options.recursive)) && (candidate.options.ignoreIfNotExists === undefined || Is.boolean(candidate.options.ignoreIfNotExists))) && (candidate.annotationId === undefined || ChangeAnnotationIdentifier.is(candidate.annotationId)); + } + DeleteFile.is = is; +})(DeleteFile || (exports.DeleteFile = DeleteFile = {})); +var WorkspaceEdit; +exports.WorkspaceEdit = WorkspaceEdit; +(function (WorkspaceEdit) { + function is(value) { + var candidate = value; + return candidate && (candidate.changes !== undefined || candidate.documentChanges !== undefined) && (candidate.documentChanges === undefined || candidate.documentChanges.every(function (change) { + if (Is.string(change.kind)) { + return CreateFile.is(change) || RenameFile.is(change) || DeleteFile.is(change); + } else { + return TextDocumentEdit.is(change); } - } - - // at this point, either we have an explicit point where the - // auth portion cannot go past, or the last @ char is the decider. - var auth, atSign; - if (hostEnd === -1) { - // atSign can be anywhere. - atSign = rest.lastIndexOf('@'); + })); + } + WorkspaceEdit.is = is; +})(WorkspaceEdit || (exports.WorkspaceEdit = WorkspaceEdit = {})); +var TextEditChangeImpl = /** @class */function () { + function TextEditChangeImpl(edits, changeAnnotations) { + this.edits = edits; + this.changeAnnotations = changeAnnotations; + } + TextEditChangeImpl.prototype.insert = function (position, newText, annotation) { + var edit; + var id; + if (annotation === undefined) { + edit = TextEdit.insert(position, newText); + } else if (ChangeAnnotationIdentifier.is(annotation)) { + id = annotation; + edit = AnnotatedTextEdit.insert(position, newText, annotation); } else { - // atSign must be in auth portion. - // http://a@b/c@d => host:b auth:a path:/c@d - atSign = rest.lastIndexOf('@', hostEnd); - } - - // Now we have a portion which is definitely the auth. - // Pull that off. - if (atSign !== -1) { - auth = rest.slice(0, atSign); - rest = rest.slice(atSign + 1); - this.auth = auth; + this.assertChangeAnnotations(this.changeAnnotations); + id = this.changeAnnotations.manage(annotation); + edit = AnnotatedTextEdit.insert(position, newText, id); } - - // the host is the remaining to the left of the first non-host char - hostEnd = -1; - for (i = 0; i < nonHostChars.length; i++) { - hec = rest.indexOf(nonHostChars[i]); - if (hec !== -1 && (hostEnd === -1 || hec < hostEnd)) { - hostEnd = hec; - } + this.edits.push(edit); + if (id !== undefined) { + return id; } - // if we still have not hit it, then the entire thing is a host. - if (hostEnd === -1) { - hostEnd = rest.length; + }; + TextEditChangeImpl.prototype.replace = function (range, newText, annotation) { + var edit; + var id; + if (annotation === undefined) { + edit = TextEdit.replace(range, newText); + } else if (ChangeAnnotationIdentifier.is(annotation)) { + id = annotation; + edit = AnnotatedTextEdit.replace(range, newText, annotation); + } else { + this.assertChangeAnnotations(this.changeAnnotations); + id = this.changeAnnotations.manage(annotation); + edit = AnnotatedTextEdit.replace(range, newText, id); } - if (rest[hostEnd - 1] === ':') { - hostEnd--; + this.edits.push(edit); + if (id !== undefined) { + return id; } - var host = rest.slice(0, hostEnd); - rest = rest.slice(hostEnd); - - // pull out port. - this.parseHost(host); - - // we've indicated that there is a hostname, - // so even if it's empty, it has to be present. - this.hostname = this.hostname || ''; - - // if hostname begins with [ and ends with ] - // assume that it's an IPv6 address. - var ipv6Hostname = this.hostname[0] === '[' && this.hostname[this.hostname.length - 1] === ']'; - - // validate a little. - if (!ipv6Hostname) { - var hostparts = this.hostname.split(/\./); - for (i = 0, l = hostparts.length; i < l; i++) { - var part = hostparts[i]; - if (!part) { - continue; - } - if (!part.match(hostnamePartPattern)) { - var newpart = ''; - for (var j = 0, k = part.length; j < k; j++) { - if (part.charCodeAt(j) > 127) { - // we replace non-ASCII char with a temporary placeholder - // we need this to make sure size of hostname is not - // broken by replacing non-ASCII by nothing - newpart += 'x'; - } else { - newpart += part[j]; - } - } - // we test again with ASCII char only - if (!newpart.match(hostnamePartPattern)) { - var validParts = hostparts.slice(0, i); - var notHost = hostparts.slice(i + 1); - var bit = part.match(hostnamePartStart); - if (bit) { - validParts.push(bit[1]); - notHost.unshift(bit[2]); - } - if (notHost.length) { - rest = notHost.join('.') + rest; - } - this.hostname = validParts.join('.'); - break; - } - } - } + }; + TextEditChangeImpl.prototype.delete = function (range, annotation) { + var edit; + var id; + if (annotation === undefined) { + edit = TextEdit.del(range); + } else if (ChangeAnnotationIdentifier.is(annotation)) { + id = annotation; + edit = AnnotatedTextEdit.del(range, annotation); + } else { + this.assertChangeAnnotations(this.changeAnnotations); + id = this.changeAnnotations.manage(annotation); + edit = AnnotatedTextEdit.del(range, id); } - if (this.hostname.length > hostnameMaxLen) { - this.hostname = ''; + this.edits.push(edit); + if (id !== undefined) { + return id; } - - // strip [ and ] from the hostname - // the host field still retains them, though - if (ipv6Hostname) { - this.hostname = this.hostname.substr(1, this.hostname.length - 2); + }; + TextEditChangeImpl.prototype.add = function (edit) { + this.edits.push(edit); + }; + TextEditChangeImpl.prototype.all = function () { + return this.edits; + }; + TextEditChangeImpl.prototype.clear = function () { + this.edits.splice(0, this.edits.length); + }; + TextEditChangeImpl.prototype.assertChangeAnnotations = function (value) { + if (value === undefined) { + throw new Error("Text edit change is not configured to manage change annotations."); } + }; + return TextEditChangeImpl; +}(); +/** + * A helper class + */ +var ChangeAnnotations = /** @class */function () { + function ChangeAnnotations(annotations) { + this._annotations = annotations === undefined ? Object.create(null) : annotations; + this._counter = 0; + this._size = 0; } - - // chop off from the tail first. - var hash = rest.indexOf('#'); - if (hash !== -1) { - // got a fragment string. - this.hash = rest.substr(hash); - rest = rest.slice(0, hash); - } - var qm = rest.indexOf('?'); - if (qm !== -1) { - this.search = rest.substr(qm); - rest = rest.slice(0, qm); - } - if (rest) { - this.pathname = rest; - } - if (slashedProtocol[lowerProto] && this.hostname && !this.pathname) { - this.pathname = ''; - } - return this; -}; -Url.prototype.parseHost = function (host) { - var port = portPattern.exec(host); - if (port) { - port = port[0]; - if (port !== ':') { - this.port = port.substr(1); + ChangeAnnotations.prototype.all = function () { + return this._annotations; + }; + Object.defineProperty(ChangeAnnotations.prototype, "size", { + get: function () { + return this._size; + }, + enumerable: false, + configurable: true + }); + ChangeAnnotations.prototype.manage = function (idOrAnnotation, annotation) { + var id; + if (ChangeAnnotationIdentifier.is(idOrAnnotation)) { + id = idOrAnnotation; + } else { + id = this.nextId(); + annotation = idOrAnnotation; } - host = host.substr(0, host.length - port.length); - } - if (host) { - this.hostname = host; - } -}; -module.exports = urlParse; - -/***/ }), - -/***/ "../../../node_modules/meros/browser/index.mjs": -/*!*****************************************************!*\ - !*** ../../../node_modules/meros/browser/index.mjs ***! - \*****************************************************/ -/***/ (function(__unused_webpack_module, exports) { - - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.meros = meros; -const separator = '\r\n\r\n'; -const decoder = new TextDecoder(); -async function* generate(stream, boundary, options) { - const reader = stream.getReader(), - is_eager = !options || !options.multiple; - let buffer = '', - is_preamble = true, - payloads = []; - try { - let result; - outer: while (!(result = await reader.read()).done) { - const chunk = decoder.decode(result.value); - const idx_chunk = chunk.indexOf(boundary); - let idx_boundary = buffer.length; - buffer += chunk; - if (!!~idx_chunk) { - // chunk itself had `boundary` marker - idx_boundary += idx_chunk; - } else { - // search combined (boundary can be across chunks) - idx_boundary = buffer.indexOf(boundary); + if (this._annotations[id] !== undefined) { + throw new Error("Id ".concat(id, " is already in use.")); + } + if (annotation === undefined) { + throw new Error("No annotation provided for id ".concat(id)); + } + this._annotations[id] = annotation; + this._size++; + return id; + }; + ChangeAnnotations.prototype.nextId = function () { + this._counter++; + return this._counter.toString(); + }; + return ChangeAnnotations; +}(); +/** + * A workspace change helps constructing changes to a workspace. + */ +var WorkspaceChange = /** @class */function () { + function WorkspaceChange(workspaceEdit) { + var _this = this; + this._textEditChanges = Object.create(null); + if (workspaceEdit !== undefined) { + this._workspaceEdit = workspaceEdit; + if (workspaceEdit.documentChanges) { + this._changeAnnotations = new ChangeAnnotations(workspaceEdit.changeAnnotations); + workspaceEdit.changeAnnotations = this._changeAnnotations.all(); + workspaceEdit.documentChanges.forEach(function (change) { + if (TextDocumentEdit.is(change)) { + var textEditChange = new TextEditChangeImpl(change.edits, _this._changeAnnotations); + _this._textEditChanges[change.textDocument.uri] = textEditChange; + } + }); + } else if (workspaceEdit.changes) { + Object.keys(workspaceEdit.changes).forEach(function (key) { + var textEditChange = new TextEditChangeImpl(workspaceEdit.changes[key]); + _this._textEditChanges[key] = textEditChange; + }); } - payloads = []; - while (!!~idx_boundary) { - const current = buffer.substring(0, idx_boundary); - const next = buffer.substring(idx_boundary + boundary.length); - if (is_preamble) { - is_preamble = false; + } else { + this._workspaceEdit = {}; + } + } + Object.defineProperty(WorkspaceChange.prototype, "edit", { + /** + * Returns the underlying [WorkspaceEdit](#WorkspaceEdit) literal + * use to be returned from a workspace edit operation like rename. + */ + get: function () { + this.initDocumentChanges(); + if (this._changeAnnotations !== undefined) { + if (this._changeAnnotations.size === 0) { + this._workspaceEdit.changeAnnotations = undefined; } else { - const headers = {}; - const idx_headers = current.indexOf(separator); - const arr_headers = buffer.slice(0, idx_headers).toString().trim().split(/\r\n/); - // parse headers - let tmp; - while (tmp = arr_headers.shift()) { - tmp = tmp.split(': '); - headers[tmp.shift().toLowerCase()] = tmp.join(': '); - } - let body = current.substring(idx_headers + separator.length, current.lastIndexOf('\r\n')); - let is_json = false; - tmp = headers['content-type']; - if (tmp && !!~tmp.indexOf('application/json')) { - try { - body = JSON.parse(body); - is_json = true; - } catch (_) {} - } - tmp = { - headers, - body, - json: is_json - }; - is_eager ? yield tmp : payloads.push(tmp); - // hit a tail boundary, break - if (next.substring(0, 2) === '--') break outer; + this._workspaceEdit.changeAnnotations = this._changeAnnotations.all(); } - buffer = next; - idx_boundary = buffer.indexOf(boundary); } - if (payloads.length) yield payloads; + return this._workspaceEdit; + }, + enumerable: false, + configurable: true + }); + WorkspaceChange.prototype.getTextEditChange = function (key) { + if (OptionalVersionedTextDocumentIdentifier.is(key)) { + this.initDocumentChanges(); + if (this._workspaceEdit.documentChanges === undefined) { + throw new Error('Workspace edit is not configured for document changes.'); + } + var textDocument = { + uri: key.uri, + version: key.version + }; + var result = this._textEditChanges[textDocument.uri]; + if (!result) { + var edits = []; + var textDocumentEdit = { + textDocument: textDocument, + edits: edits + }; + this._workspaceEdit.documentChanges.push(textDocumentEdit); + result = new TextEditChangeImpl(edits, this._changeAnnotations); + this._textEditChanges[textDocument.uri] = result; + } + return result; + } else { + this.initChanges(); + if (this._workspaceEdit.changes === undefined) { + throw new Error('Workspace edit is not configured for normal text edit changes.'); + } + var result = this._textEditChanges[key]; + if (!result) { + var edits = []; + this._workspaceEdit.changes[key] = edits; + result = new TextEditChangeImpl(edits); + this._textEditChanges[key] = result; + } + return result; } - } finally { - if (payloads.length) yield payloads; - reader.releaseLock(); - } -} - -/** - * Yield immediately for every part made available on the response. If the `content-type` of the response isn't a - * multipart body, then we'll resolve with {@link Response}. - * - * @example - * - * ```js - * const parts = await fetch('/fetch-multipart') - * .then(meros); - * - * for await (const part of parts) { - * // do something with this part - * } - * ``` - */ -async function meros(response, options) { - if (!response.ok || !response.body || response.bodyUsed) return response; - const ctype = response.headers.get('content-type'); - if (!ctype || !~ctype.indexOf('multipart/mixed')) return response; - const idx_boundary = ctype.indexOf('boundary='); - return generate(response.body, `--${!!~idx_boundary ? - // +9 for 'boundary='.length - ctype.substring(idx_boundary + 9).trim().replace(/['"]/g, '') : '-'}`, options); -} - -/***/ }), - -/***/ "../../../node_modules/nullthrows/nullthrows.js": -/*!******************************************************!*\ - !*** ../../../node_modules/nullthrows/nullthrows.js ***! - \******************************************************/ -/***/ (function(module) { - - - -function nullthrows(x, message) { - if (x != null) { - return x; - } - var error = new Error(message !== undefined ? message : 'Got unexpected ' + x); - error.framesToPop = 1; // Skip nullthrows's own stack frame. - throw error; -} -module.exports = nullthrows; -module.exports["default"] = nullthrows; -Object.defineProperty(module.exports, "__esModule", ({ - value: true -})); - -/***/ }), - -/***/ "../../../node_modules/popmotion/dist/popmotion.cjs.js": -/*!*************************************************************!*\ - !*** ../../../node_modules/popmotion/dist/popmotion.cjs.js ***! - \*************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -var tslib = __webpack_require__(/*! tslib */ "../../../node_modules/tslib/tslib.es6.js"); -var heyListen = __webpack_require__(/*! hey-listen */ "../../../node_modules/hey-listen/dist/hey-listen.es.js"); -var styleValueTypes = __webpack_require__(/*! style-value-types */ "../../../node_modules/style-value-types/dist/valueTypes.cjs.js"); -var sync = __webpack_require__(/*! framesync */ "../../../node_modules/framesync/dist/framesync.cjs.js"); -function _interopDefaultLegacy(e) { - return e && typeof e === 'object' && 'default' in e ? e : { - 'default': e }; -} -var sync__default = /*#__PURE__*/_interopDefaultLegacy(sync); -const clamp = (min, max, v) => Math.min(Math.max(v, min), max); -const safeMin = 0.001; -const minDuration = 0.01; -const maxDuration = 10.0; -const minDamping = 0.05; -const maxDamping = 1; -function findSpring(_ref) { - let { - duration = 800, - bounce = 0.25, - velocity = 0, - mass = 1 - } = _ref; - let envelope; - let derivative; - heyListen.warning(duration <= maxDuration * 1000, "Spring duration must be 10 seconds or less"); - let dampingRatio = 1 - bounce; - dampingRatio = clamp(minDamping, maxDamping, dampingRatio); - duration = clamp(minDuration, maxDuration, duration / 1000); - if (dampingRatio < 1) { - envelope = undampedFreq => { - const exponentialDecay = undampedFreq * dampingRatio; - const delta = exponentialDecay * duration; - const a = exponentialDecay - velocity; - const b = calcAngularFreq(undampedFreq, dampingRatio); - const c = Math.exp(-delta); - return safeMin - a / b * c; - }; - derivative = undampedFreq => { - const exponentialDecay = undampedFreq * dampingRatio; - const delta = exponentialDecay * duration; - const d = delta * velocity + velocity; - const e = Math.pow(dampingRatio, 2) * Math.pow(undampedFreq, 2) * duration; - const f = Math.exp(-delta); - const g = calcAngularFreq(Math.pow(undampedFreq, 2), dampingRatio); - const factor = -envelope(undampedFreq) + safeMin > 0 ? -1 : 1; - return factor * ((d - e) * f) / g; - }; - } else { - envelope = undampedFreq => { - const a = Math.exp(-undampedFreq * duration); - const b = (undampedFreq - velocity) * duration + 1; - return -safeMin + a * b; - }; - derivative = undampedFreq => { - const a = Math.exp(-undampedFreq * duration); - const b = (velocity - undampedFreq) * (duration * duration); - return a * b; + WorkspaceChange.prototype.initDocumentChanges = function () { + if (this._workspaceEdit.documentChanges === undefined && this._workspaceEdit.changes === undefined) { + this._changeAnnotations = new ChangeAnnotations(); + this._workspaceEdit.documentChanges = []; + this._workspaceEdit.changeAnnotations = this._changeAnnotations.all(); + } + }; + WorkspaceChange.prototype.initChanges = function () { + if (this._workspaceEdit.documentChanges === undefined && this._workspaceEdit.changes === undefined) { + this._workspaceEdit.changes = Object.create(null); + } + }; + WorkspaceChange.prototype.createFile = function (uri, optionsOrAnnotation, options) { + this.initDocumentChanges(); + if (this._workspaceEdit.documentChanges === undefined) { + throw new Error('Workspace edit is not configured for document changes.'); + } + var annotation; + if (ChangeAnnotation.is(optionsOrAnnotation) || ChangeAnnotationIdentifier.is(optionsOrAnnotation)) { + annotation = optionsOrAnnotation; + } else { + options = optionsOrAnnotation; + } + var operation; + var id; + if (annotation === undefined) { + operation = CreateFile.create(uri, options); + } else { + id = ChangeAnnotationIdentifier.is(annotation) ? annotation : this._changeAnnotations.manage(annotation); + operation = CreateFile.create(uri, options, id); + } + this._workspaceEdit.documentChanges.push(operation); + if (id !== undefined) { + return id; + } + }; + WorkspaceChange.prototype.renameFile = function (oldUri, newUri, optionsOrAnnotation, options) { + this.initDocumentChanges(); + if (this._workspaceEdit.documentChanges === undefined) { + throw new Error('Workspace edit is not configured for document changes.'); + } + var annotation; + if (ChangeAnnotation.is(optionsOrAnnotation) || ChangeAnnotationIdentifier.is(optionsOrAnnotation)) { + annotation = optionsOrAnnotation; + } else { + options = optionsOrAnnotation; + } + var operation; + var id; + if (annotation === undefined) { + operation = RenameFile.create(oldUri, newUri, options); + } else { + id = ChangeAnnotationIdentifier.is(annotation) ? annotation : this._changeAnnotations.manage(annotation); + operation = RenameFile.create(oldUri, newUri, options, id); + } + this._workspaceEdit.documentChanges.push(operation); + if (id !== undefined) { + return id; + } + }; + WorkspaceChange.prototype.deleteFile = function (uri, optionsOrAnnotation, options) { + this.initDocumentChanges(); + if (this._workspaceEdit.documentChanges === undefined) { + throw new Error('Workspace edit is not configured for document changes.'); + } + var annotation; + if (ChangeAnnotation.is(optionsOrAnnotation) || ChangeAnnotationIdentifier.is(optionsOrAnnotation)) { + annotation = optionsOrAnnotation; + } else { + options = optionsOrAnnotation; + } + var operation; + var id; + if (annotation === undefined) { + operation = DeleteFile.create(uri, options); + } else { + id = ChangeAnnotationIdentifier.is(annotation) ? annotation : this._changeAnnotations.manage(annotation); + operation = DeleteFile.create(uri, options, id); + } + this._workspaceEdit.documentChanges.push(operation); + if (id !== undefined) { + return id; + } + }; + return WorkspaceChange; +}(); +exports.WorkspaceChange = WorkspaceChange; +/** + * The TextDocumentIdentifier namespace provides helper functions to work with + * [TextDocumentIdentifier](#TextDocumentIdentifier) literals. + */ +var TextDocumentIdentifier; +exports.TextDocumentIdentifier = TextDocumentIdentifier; +(function (TextDocumentIdentifier) { + /** + * Creates a new TextDocumentIdentifier literal. + * @param uri The document's uri. + */ + function create(uri) { + return { + uri: uri }; } - const initialGuess = 5 / duration; - const undampedFreq = approximateRoot(envelope, derivative, initialGuess); - duration = duration * 1000; - if (isNaN(undampedFreq)) { + TextDocumentIdentifier.create = create; + /** + * Checks whether the given literal conforms to the [TextDocumentIdentifier](#TextDocumentIdentifier) interface. + */ + function is(value) { + var candidate = value; + return Is.defined(candidate) && Is.string(candidate.uri); + } + TextDocumentIdentifier.is = is; +})(TextDocumentIdentifier || (exports.TextDocumentIdentifier = TextDocumentIdentifier = {})); +/** + * The VersionedTextDocumentIdentifier namespace provides helper functions to work with + * [VersionedTextDocumentIdentifier](#VersionedTextDocumentIdentifier) literals. + */ +var VersionedTextDocumentIdentifier; +exports.VersionedTextDocumentIdentifier = VersionedTextDocumentIdentifier; +(function (VersionedTextDocumentIdentifier) { + /** + * Creates a new VersionedTextDocumentIdentifier literal. + * @param uri The document's uri. + * @param version The document's version. + */ + function create(uri, version) { return { - stiffness: 100, - damping: 10, - duration + uri: uri, + version: version }; - } else { - const stiffness = Math.pow(undampedFreq, 2) * mass; + } + VersionedTextDocumentIdentifier.create = create; + /** + * Checks whether the given literal conforms to the [VersionedTextDocumentIdentifier](#VersionedTextDocumentIdentifier) interface. + */ + function is(value) { + var candidate = value; + return Is.defined(candidate) && Is.string(candidate.uri) && Is.integer(candidate.version); + } + VersionedTextDocumentIdentifier.is = is; +})(VersionedTextDocumentIdentifier || (exports.VersionedTextDocumentIdentifier = VersionedTextDocumentIdentifier = {})); +/** + * The OptionalVersionedTextDocumentIdentifier namespace provides helper functions to work with + * [OptionalVersionedTextDocumentIdentifier](#OptionalVersionedTextDocumentIdentifier) literals. + */ +var OptionalVersionedTextDocumentIdentifier; +exports.OptionalVersionedTextDocumentIdentifier = OptionalVersionedTextDocumentIdentifier; +(function (OptionalVersionedTextDocumentIdentifier) { + /** + * Creates a new OptionalVersionedTextDocumentIdentifier literal. + * @param uri The document's uri. + * @param version The document's version. + */ + function create(uri, version) { return { - stiffness, - damping: dampingRatio * 2 * Math.sqrt(mass * stiffness), - duration + uri: uri, + version: version }; } -} -const rootIterations = 12; -function approximateRoot(envelope, derivative, initialGuess) { - let result = initialGuess; - for (let i = 1; i < rootIterations; i++) { - result = result - envelope(result) / derivative(result); + OptionalVersionedTextDocumentIdentifier.create = create; + /** + * Checks whether the given literal conforms to the [OptionalVersionedTextDocumentIdentifier](#OptionalVersionedTextDocumentIdentifier) interface. + */ + function is(value) { + var candidate = value; + return Is.defined(candidate) && Is.string(candidate.uri) && (candidate.version === null || Is.integer(candidate.version)); } - return result; -} -function calcAngularFreq(undampedFreq, dampingRatio) { - return undampedFreq * Math.sqrt(1 - dampingRatio * dampingRatio); -} -const durationKeys = ["duration", "bounce"]; -const physicsKeys = ["stiffness", "damping", "mass"]; -function isSpringType(options, keys) { - return keys.some(key => options[key] !== undefined); -} -function getSpringOptions(options) { - let springOptions = Object.assign({ - velocity: 0.0, - stiffness: 100, - damping: 10, - mass: 1.0, - isResolvedFromDuration: false - }, options); - if (!isSpringType(options, physicsKeys) && isSpringType(options, durationKeys)) { - const derived = findSpring(options); - springOptions = Object.assign(Object.assign(Object.assign({}, springOptions), derived), { - velocity: 0.0, - mass: 1.0 - }); - springOptions.isResolvedFromDuration = true; + OptionalVersionedTextDocumentIdentifier.is = is; +})(OptionalVersionedTextDocumentIdentifier || (exports.OptionalVersionedTextDocumentIdentifier = OptionalVersionedTextDocumentIdentifier = {})); +/** + * The TextDocumentItem namespace provides helper functions to work with + * [TextDocumentItem](#TextDocumentItem) literals. + */ +var TextDocumentItem; +exports.TextDocumentItem = TextDocumentItem; +(function (TextDocumentItem) { + /** + * Creates a new TextDocumentItem literal. + * @param uri The document's uri. + * @param languageId The document's language identifier. + * @param version The document's version number. + * @param text The document's text. + */ + function create(uri, languageId, version, text) { + return { + uri: uri, + languageId: languageId, + version: version, + text: text + }; } - return springOptions; -} -function spring(_a) { - var { - from = 0.0, - to = 1.0, - restSpeed = 2, - restDelta - } = _a, - options = tslib.__rest(_a, ["from", "to", "restSpeed", "restDelta"]); - const state = { - done: false, - value: from - }; - let { - stiffness, - damping, - mass, - velocity, - duration, - isResolvedFromDuration - } = getSpringOptions(options); - let resolveSpring = zero; - let resolveVelocity = zero; - function createSpring() { - const initialVelocity = velocity ? -(velocity / 1000) : 0.0; - const initialDelta = to - from; - const dampingRatio = damping / (2 * Math.sqrt(stiffness * mass)); - const undampedAngularFreq = Math.sqrt(stiffness / mass) / 1000; - if (restDelta === undefined) { - restDelta = Math.min(Math.abs(to - from) / 100, 0.4); - } - if (dampingRatio < 1) { - const angularFreq = calcAngularFreq(undampedAngularFreq, dampingRatio); - resolveSpring = t => { - const envelope = Math.exp(-dampingRatio * undampedAngularFreq * t); - return to - envelope * ((initialVelocity + dampingRatio * undampedAngularFreq * initialDelta) / angularFreq * Math.sin(angularFreq * t) + initialDelta * Math.cos(angularFreq * t)); - }; - resolveVelocity = t => { - const envelope = Math.exp(-dampingRatio * undampedAngularFreq * t); - return dampingRatio * undampedAngularFreq * envelope * (Math.sin(angularFreq * t) * (initialVelocity + dampingRatio * undampedAngularFreq * initialDelta) / angularFreq + initialDelta * Math.cos(angularFreq * t)) - envelope * (Math.cos(angularFreq * t) * (initialVelocity + dampingRatio * undampedAngularFreq * initialDelta) - angularFreq * initialDelta * Math.sin(angularFreq * t)); - }; - } else if (dampingRatio === 1) { - resolveSpring = t => to - Math.exp(-undampedAngularFreq * t) * (initialDelta + (initialVelocity + undampedAngularFreq * initialDelta) * t); - } else { - const dampedAngularFreq = undampedAngularFreq * Math.sqrt(dampingRatio * dampingRatio - 1); - resolveSpring = t => { - const envelope = Math.exp(-dampingRatio * undampedAngularFreq * t); - const freqForT = Math.min(dampedAngularFreq * t, 300); - return to - envelope * ((initialVelocity + dampingRatio * undampedAngularFreq * initialDelta) * Math.sinh(freqForT) + dampedAngularFreq * initialDelta * Math.cosh(freqForT)) / dampedAngularFreq; - }; - } + TextDocumentItem.create = create; + /** + * Checks whether the given literal conforms to the [TextDocumentItem](#TextDocumentItem) interface. + */ + function is(value) { + var candidate = value; + return Is.defined(candidate) && Is.string(candidate.uri) && Is.string(candidate.languageId) && Is.integer(candidate.version) && Is.string(candidate.text); } - createSpring(); - return { - next: t => { - const current = resolveSpring(t); - if (!isResolvedFromDuration) { - const currentVelocity = resolveVelocity(t) * 1000; - const isBelowVelocityThreshold = Math.abs(currentVelocity) <= restSpeed; - const isBelowDisplacementThreshold = Math.abs(to - current) <= restDelta; - state.done = isBelowVelocityThreshold && isBelowDisplacementThreshold; - } else { - state.done = t >= duration; - } - state.value = state.done ? to : current; - return state; - }, - flipTarget: () => { - velocity = -velocity; - [from, to] = [to, from]; - createSpring(); - } - }; -} -spring.needsInterpolation = (a, b) => typeof a === "string" || typeof b === "string"; -const zero = _t => 0; -const progress = (from, to, value) => { - const toFromDifference = to - from; - return toFromDifference === 0 ? 1 : (value - from) / toFromDifference; -}; -const mix = (from, to, progress) => -progress * from + progress * to + from; -function hueToRgb(p, q, t) { - if (t < 0) t += 1; - if (t > 1) t -= 1; - if (t < 1 / 6) return p + (q - p) * 6 * t; - if (t < 1 / 2) return q; - if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6; - return p; -} -function hslaToRgba(_ref2) { - let { - hue, - saturation, - lightness, - alpha - } = _ref2; - hue /= 360; - saturation /= 100; - lightness /= 100; - let red = 0; - let green = 0; - let blue = 0; - if (!saturation) { - red = green = blue = lightness; - } else { - const q = lightness < 0.5 ? lightness * (1 + saturation) : lightness + saturation - lightness * saturation; - const p = 2 * lightness - q; - red = hueToRgb(p, q, hue + 1 / 3); - green = hueToRgb(p, q, hue); - blue = hueToRgb(p, q, hue - 1 / 3); + TextDocumentItem.is = is; +})(TextDocumentItem || (exports.TextDocumentItem = TextDocumentItem = {})); +/** + * Describes the content type that a client supports in various + * result literals like `Hover`, `ParameterInfo` or `CompletionItem`. + * + * Please note that `MarkupKinds` must not start with a `$`. This kinds + * are reserved for internal usage. + */ +var MarkupKind; +exports.MarkupKind = MarkupKind; +(function (MarkupKind) { + /** + * Plain text is supported as a content format + */ + MarkupKind.PlainText = 'plaintext'; + /** + * Markdown is supported as a content format + */ + MarkupKind.Markdown = 'markdown'; + /** + * Checks whether the given value is a value of the [MarkupKind](#MarkupKind) type. + */ + function is(value) { + var candidate = value; + return candidate === MarkupKind.PlainText || candidate === MarkupKind.Markdown; } - return { - red: Math.round(red * 255), - green: Math.round(green * 255), - blue: Math.round(blue * 255), - alpha - }; -} -const mixLinearColor = (from, to, v) => { - const fromExpo = from * from; - const toExpo = to * to; - return Math.sqrt(Math.max(0, v * (toExpo - fromExpo) + fromExpo)); -}; -const colorTypes = [styleValueTypes.hex, styleValueTypes.rgba, styleValueTypes.hsla]; -const getColorType = v => colorTypes.find(type => type.test(v)); -const notAnimatable = color => `'${color}' is not an animatable color. Use the equivalent color code instead.`; -const mixColor = (from, to) => { - let fromColorType = getColorType(from); - let toColorType = getColorType(to); - heyListen.invariant(!!fromColorType, notAnimatable(from)); - heyListen.invariant(!!toColorType, notAnimatable(to)); - let fromColor = fromColorType.parse(from); - let toColor = toColorType.parse(to); - if (fromColorType === styleValueTypes.hsla) { - fromColor = hslaToRgba(fromColor); - fromColorType = styleValueTypes.rgba; + MarkupKind.is = is; +})(MarkupKind || (exports.MarkupKind = MarkupKind = {})); +var MarkupContent; +exports.MarkupContent = MarkupContent; +(function (MarkupContent) { + /** + * Checks whether the given value conforms to the [MarkupContent](#MarkupContent) interface. + */ + function is(value) { + var candidate = value; + return Is.objectLiteral(value) && MarkupKind.is(candidate.kind) && Is.string(candidate.value); } - if (toColorType === styleValueTypes.hsla) { - toColor = hslaToRgba(toColor); - toColorType = styleValueTypes.rgba; + MarkupContent.is = is; +})(MarkupContent || (exports.MarkupContent = MarkupContent = {})); +/** + * The kind of a completion entry. + */ +var CompletionItemKind; +exports.CompletionItemKind = CompletionItemKind; +(function (CompletionItemKind) { + CompletionItemKind.Text = 1; + CompletionItemKind.Method = 2; + CompletionItemKind.Function = 3; + CompletionItemKind.Constructor = 4; + CompletionItemKind.Field = 5; + CompletionItemKind.Variable = 6; + CompletionItemKind.Class = 7; + CompletionItemKind.Interface = 8; + CompletionItemKind.Module = 9; + CompletionItemKind.Property = 10; + CompletionItemKind.Unit = 11; + CompletionItemKind.Value = 12; + CompletionItemKind.Enum = 13; + CompletionItemKind.Keyword = 14; + CompletionItemKind.Snippet = 15; + CompletionItemKind.Color = 16; + CompletionItemKind.File = 17; + CompletionItemKind.Reference = 18; + CompletionItemKind.Folder = 19; + CompletionItemKind.EnumMember = 20; + CompletionItemKind.Constant = 21; + CompletionItemKind.Struct = 22; + CompletionItemKind.Event = 23; + CompletionItemKind.Operator = 24; + CompletionItemKind.TypeParameter = 25; +})(CompletionItemKind || (exports.CompletionItemKind = CompletionItemKind = {})); +/** + * Defines whether the insert text in a completion item should be interpreted as + * plain text or a snippet. + */ +var InsertTextFormat; +exports.InsertTextFormat = InsertTextFormat; +(function (InsertTextFormat) { + /** + * The primary text to be inserted is treated as a plain string. + */ + InsertTextFormat.PlainText = 1; + /** + * The primary text to be inserted is treated as a snippet. + * + * A snippet can define tab stops and placeholders with `$1`, `$2` + * and `${3:foo}`. `$0` defines the final tab stop, it defaults to + * the end of the snippet. Placeholders with equal identifiers are linked, + * that is typing in one will update others too. + * + * See also: https://microsoft.github.io/language-server-protocol/specifications/specification-current/#snippet_syntax + */ + InsertTextFormat.Snippet = 2; +})(InsertTextFormat || (exports.InsertTextFormat = InsertTextFormat = {})); +/** + * Completion item tags are extra annotations that tweak the rendering of a completion + * item. + * + * @since 3.15.0 + */ +var CompletionItemTag; +exports.CompletionItemTag = CompletionItemTag; +(function (CompletionItemTag) { + /** + * Render a completion as obsolete, usually using a strike-out. + */ + CompletionItemTag.Deprecated = 1; +})(CompletionItemTag || (exports.CompletionItemTag = CompletionItemTag = {})); +/** + * The InsertReplaceEdit namespace provides functions to deal with insert / replace edits. + * + * @since 3.16.0 + */ +var InsertReplaceEdit; +exports.InsertReplaceEdit = InsertReplaceEdit; +(function (InsertReplaceEdit) { + /** + * Creates a new insert / replace edit + */ + function create(newText, insert, replace) { + return { + newText: newText, + insert: insert, + replace: replace + }; } - const blended = Object.assign({}, fromColor); - return v => { - for (const key in blended) { - if (key !== "alpha") { - blended[key] = mixLinearColor(fromColor[key], toColor[key], v); - } - } - blended.alpha = mix(fromColor.alpha, toColor.alpha, v); - return fromColorType.transform(blended); - }; -}; -const zeroPoint = { - x: 0, - y: 0, - z: 0 -}; -const isNum = v => typeof v === 'number'; -const combineFunctions = (a, b) => v => b(a(v)); -const pipe = function () { - for (var _len = arguments.length, transformers = new Array(_len), _key = 0; _key < _len; _key++) { - transformers[_key] = arguments[_key]; + InsertReplaceEdit.create = create; + /** + * Checks whether the given literal conforms to the [InsertReplaceEdit](#InsertReplaceEdit) interface. + */ + function is(value) { + var candidate = value; + return candidate && Is.string(candidate.newText) && Range.is(candidate.insert) && Range.is(candidate.replace); } - return transformers.reduce(combineFunctions); -}; -function getMixer(origin, target) { - if (isNum(origin)) { - return v => mix(origin, target, v); - } else if (styleValueTypes.color.test(origin)) { - return mixColor(origin, target); - } else { - return mixComplex(origin, target); + InsertReplaceEdit.is = is; +})(InsertReplaceEdit || (exports.InsertReplaceEdit = InsertReplaceEdit = {})); +/** + * How whitespace and indentation is handled during completion + * item insertion. + * + * @since 3.16.0 + */ +var InsertTextMode; +exports.InsertTextMode = InsertTextMode; +(function (InsertTextMode) { + /** + * The insertion or replace strings is taken as it is. If the + * value is multi line the lines below the cursor will be + * inserted using the indentation defined in the string value. + * The client will not apply any kind of adjustments to the + * string. + */ + InsertTextMode.asIs = 1; + /** + * The editor adjusts leading whitespace of new lines so that + * they match the indentation up to the cursor of the line for + * which the item is accepted. + * + * Consider a line like this: <2tabs><3tabs>foo. Accepting a + * multi line completion item is indented using 2 tabs and all + * following lines inserted will be indented using 2 tabs as well. + */ + InsertTextMode.adjustIndentation = 2; +})(InsertTextMode || (exports.InsertTextMode = InsertTextMode = {})); +var CompletionItemLabelDetails; +exports.CompletionItemLabelDetails = CompletionItemLabelDetails; +(function (CompletionItemLabelDetails) { + function is(value) { + var candidate = value; + return candidate && (Is.string(candidate.detail) || candidate.detail === undefined) && (Is.string(candidate.description) || candidate.description === undefined); } -} -const mixArray = (from, to) => { - const output = [...from]; - const numValues = output.length; - const blendValue = from.map((fromThis, i) => getMixer(fromThis, to[i])); - return v => { - for (let i = 0; i < numValues; i++) { - output[i] = blendValue[i](v); - } - return output; - }; -}; -const mixObject = (origin, target) => { - const output = Object.assign(Object.assign({}, origin), target); - const blendValue = {}; - for (const key in output) { - if (origin[key] !== undefined && target[key] !== undefined) { - blendValue[key] = getMixer(origin[key], target[key]); - } + CompletionItemLabelDetails.is = is; +})(CompletionItemLabelDetails || (exports.CompletionItemLabelDetails = CompletionItemLabelDetails = {})); +/** + * The CompletionItem namespace provides functions to deal with + * completion items. + */ +var CompletionItem; +exports.CompletionItem = CompletionItem; +(function (CompletionItem) { + /** + * Create a completion item and seed it with a label. + * @param label The completion item's label + */ + function create(label) { + return { + label: label + }; } - return v => { - for (const key in blendValue) { - output[key] = blendValue[key](v); - } - return output; - }; -}; -function analyse(value) { - const parsed = styleValueTypes.complex.parse(value); - const numValues = parsed.length; - let numNumbers = 0; - let numRGB = 0; - let numHSL = 0; - for (let i = 0; i < numValues; i++) { - if (numNumbers || typeof parsed[i] === "number") { - numNumbers++; - } else { - if (parsed[i].hue !== undefined) { - numHSL++; - } else { - numRGB++; - } - } + CompletionItem.create = create; +})(CompletionItem || (exports.CompletionItem = CompletionItem = {})); +/** + * The CompletionList namespace provides functions to deal with + * completion lists. + */ +var CompletionList; +exports.CompletionList = CompletionList; +(function (CompletionList) { + /** + * Creates a new completion list. + * + * @param items The completion items. + * @param isIncomplete The list is not complete. + */ + function create(items, isIncomplete) { + return { + items: items ? items : [], + isIncomplete: !!isIncomplete + }; } - return { - parsed, - numNumbers, - numRGB, - numHSL - }; -} -const mixComplex = (origin, target) => { - const template = styleValueTypes.complex.createTransformer(target); - const originStats = analyse(origin); - const targetStats = analyse(target); - const canInterpolate = originStats.numHSL === targetStats.numHSL && originStats.numRGB === targetStats.numRGB && originStats.numNumbers >= targetStats.numNumbers; - if (canInterpolate) { - return pipe(mixArray(originStats.parsed, targetStats.parsed), template); - } else { - heyListen.warning(true, `Complex values '${origin}' and '${target}' too different to mix. Ensure all colors are of the same type, and that each contains the same quantity of number and color values. Falling back to instant transition.`); - return p => `${p > 0 ? target : origin}`; + CompletionList.create = create; +})(CompletionList || (exports.CompletionList = CompletionList = {})); +var MarkedString; +exports.MarkedString = MarkedString; +(function (MarkedString) { + /** + * Creates a marked string from plain text. + * + * @param plainText The plain text. + */ + function fromPlainText(plainText) { + return plainText.replace(/[\\`*_{}[\]()#+\-.!]/g, '\\$&'); // escape markdown syntax tokens: http://daringfireball.net/projects/markdown/syntax#backslash } -}; -const mixNumber = (from, to) => p => mix(from, to, p); -function detectMixerFactory(v) { - if (typeof v === 'number') { - return mixNumber; - } else if (typeof v === 'string') { - if (styleValueTypes.color.test(v)) { - return mixColor; - } else { - return mixComplex; - } - } else if (Array.isArray(v)) { - return mixArray; - } else if (typeof v === 'object') { - return mixObject; - } -} -function createMixers(output, ease, customMixer) { - const mixers = []; - const mixerFactory = customMixer || detectMixerFactory(output[0]); - const numMixers = output.length - 1; - for (let i = 0; i < numMixers; i++) { - let mixer = mixerFactory(output[i], output[i + 1]); - if (ease) { - const easingFunction = Array.isArray(ease) ? ease[i] : ease; - mixer = pipe(easingFunction, mixer); - } - mixers.push(mixer); + + MarkedString.fromPlainText = fromPlainText; + /** + * Checks whether the given value conforms to the [MarkedString](#MarkedString) type. + */ + function is(value) { + var candidate = value; + return Is.string(candidate) || Is.objectLiteral(candidate) && Is.string(candidate.language) && Is.string(candidate.value); } - return mixers; -} -function fastInterpolate(_ref3, _ref4) { - let [from, to] = _ref3; - let [mixer] = _ref4; - return v => mixer(progress(from, to, v)); -} -function slowInterpolate(input, mixers) { - const inputLength = input.length; - const lastInputIndex = inputLength - 1; - return v => { - let mixerIndex = 0; - let foundMixerIndex = false; - if (v <= input[0]) { - foundMixerIndex = true; - } else if (v >= input[lastInputIndex]) { - mixerIndex = lastInputIndex - 1; - foundMixerIndex = true; - } - if (!foundMixerIndex) { - let i = 1; - for (; i < inputLength; i++) { - if (input[i] > v || i === lastInputIndex) { - break; - } - } - mixerIndex = i - 1; - } - const progressInRange = progress(input[mixerIndex], input[mixerIndex + 1], v); - return mixers[mixerIndex](progressInRange); - }; -} -function interpolate(input, output) { - let { - clamp: isClamp = true, - ease, - mixer - } = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; - const inputLength = input.length; - heyListen.invariant(inputLength === output.length, 'Both input and output ranges must be the same length'); - heyListen.invariant(!ease || !Array.isArray(ease) || ease.length === inputLength - 1, 'Array of easing functions must be of length `input.length - 1`, as it applies to the transitions **between** the defined values.'); - if (input[0] > input[inputLength - 1]) { - input = [].concat(input); - output = [].concat(output); - input.reverse(); - output.reverse(); + MarkedString.is = is; +})(MarkedString || (exports.MarkedString = MarkedString = {})); +var Hover; +exports.Hover = Hover; +(function (Hover) { + /** + * Checks whether the given value conforms to the [Hover](#Hover) interface. + */ + function is(value) { + var candidate = value; + return !!candidate && Is.objectLiteral(candidate) && (MarkupContent.is(candidate.contents) || MarkedString.is(candidate.contents) || Is.typedArray(candidate.contents, MarkedString.is)) && (value.range === undefined || Range.is(value.range)); } - const mixers = createMixers(output, ease, mixer); - const interpolator = inputLength === 2 ? fastInterpolate(input, mixers) : slowInterpolate(input, mixers); - return isClamp ? v => interpolator(clamp(input[0], input[inputLength - 1], v)) : interpolator; -} -const reverseEasing = easing => p => 1 - easing(1 - p); -const mirrorEasing = easing => p => p <= 0.5 ? easing(2 * p) / 2 : (2 - easing(2 * (1 - p))) / 2; -const createExpoIn = power => p => Math.pow(p, power); -const createBackIn = power => p => p * p * ((power + 1) * p - power); -const createAnticipate = power => { - const backEasing = createBackIn(power); - return p => (p *= 2) < 1 ? 0.5 * backEasing(p) : 0.5 * (2 - Math.pow(2, -10 * (p - 1))); -}; -const DEFAULT_OVERSHOOT_STRENGTH = 1.525; -const BOUNCE_FIRST_THRESHOLD = 4.0 / 11.0; -const BOUNCE_SECOND_THRESHOLD = 8.0 / 11.0; -const BOUNCE_THIRD_THRESHOLD = 9.0 / 10.0; -const linear = p => p; -const easeIn = createExpoIn(2); -const easeOut = reverseEasing(easeIn); -const easeInOut = mirrorEasing(easeIn); -const circIn = p => 1 - Math.sin(Math.acos(p)); -const circOut = reverseEasing(circIn); -const circInOut = mirrorEasing(circOut); -const backIn = createBackIn(DEFAULT_OVERSHOOT_STRENGTH); -const backOut = reverseEasing(backIn); -const backInOut = mirrorEasing(backIn); -const anticipate = createAnticipate(DEFAULT_OVERSHOOT_STRENGTH); -const ca = 4356.0 / 361.0; -const cb = 35442.0 / 1805.0; -const cc = 16061.0 / 1805.0; -const bounceOut = p => { - if (p === 1 || p === 0) return p; - const p2 = p * p; - return p < BOUNCE_FIRST_THRESHOLD ? 7.5625 * p2 : p < BOUNCE_SECOND_THRESHOLD ? 9.075 * p2 - 9.9 * p + 3.4 : p < BOUNCE_THIRD_THRESHOLD ? ca * p2 - cb * p + cc : 10.8 * p * p - 20.52 * p + 10.72; -}; -const bounceIn = reverseEasing(bounceOut); -const bounceInOut = p => p < 0.5 ? 0.5 * (1.0 - bounceOut(1.0 - p * 2.0)) : 0.5 * bounceOut(p * 2.0 - 1.0) + 0.5; -function defaultEasing(values, easing) { - return values.map(() => easing || easeInOut).splice(0, values.length - 1); -} -function defaultOffset(values) { - const numValues = values.length; - return values.map((_value, i) => i !== 0 ? i / (numValues - 1) : 0); -} -function convertOffsetToTimes(offset, duration) { - return offset.map(o => o * duration); -} -function keyframes(_ref5) { - let { - from = 0, - to = 1, - ease, - offset, - duration = 300 - } = _ref5; - const state = { - done: false, - value: from - }; - const values = Array.isArray(to) ? to : [from, to]; - const times = convertOffsetToTimes(offset && offset.length === values.length ? offset : defaultOffset(values), duration); - function createInterpolator() { - return interpolate(times, values, { - ease: Array.isArray(ease) ? ease : defaultEasing(values, ease) - }); + Hover.is = is; +})(Hover || (exports.Hover = Hover = {})); +/** + * The ParameterInformation namespace provides helper functions to work with + * [ParameterInformation](#ParameterInformation) literals. + */ +var ParameterInformation; +exports.ParameterInformation = ParameterInformation; +(function (ParameterInformation) { + /** + * Creates a new parameter information literal. + * + * @param label A label string. + * @param documentation A doc string. + */ + function create(label, documentation) { + return documentation ? { + label: label, + documentation: documentation + } : { + label: label + }; } - let interpolator = createInterpolator(); - return { - next: t => { - state.value = interpolator(t); - state.done = t >= duration; - return state; - }, - flipTarget: () => { - values.reverse(); - interpolator = createInterpolator(); + ParameterInformation.create = create; +})(ParameterInformation || (exports.ParameterInformation = ParameterInformation = {})); +/** + * The SignatureInformation namespace provides helper functions to work with + * [SignatureInformation](#SignatureInformation) literals. + */ +var SignatureInformation; +exports.SignatureInformation = SignatureInformation; +(function (SignatureInformation) { + function create(label, documentation) { + var parameters = []; + for (var _i = 2; _i < arguments.length; _i++) { + parameters[_i - 2] = arguments[_i]; } - }; -} -function decay(_ref6) { - let { - velocity = 0, - from = 0, - power = 0.8, - timeConstant = 350, - restDelta = 0.5, - modifyTarget - } = _ref6; - const state = { - done: false, - value: from - }; - let amplitude = power * velocity; - const ideal = from + amplitude; - const target = modifyTarget === undefined ? ideal : modifyTarget(ideal); - if (target !== ideal) amplitude = target - from; - return { - next: t => { - const delta = -amplitude * Math.exp(-t / timeConstant); - state.done = !(delta > restDelta || delta < -restDelta); - state.value = state.done ? target : target + delta; - return state; - }, - flipTarget: () => {} - }; -} -const types = { - keyframes, - spring, - decay -}; -function detectAnimationFromOptions(config) { - if (Array.isArray(config.to)) { - return keyframes; - } else if (types[config.type]) { - return types[config.type]; - } - const keys = new Set(Object.keys(config)); - if (keys.has("ease") || keys.has("duration") && !keys.has("dampingRatio")) { - return keyframes; - } else if (keys.has("dampingRatio") || keys.has("stiffness") || keys.has("mass") || keys.has("damping") || keys.has("restSpeed") || keys.has("restDelta")) { - return spring; - } - return keyframes; -} -function loopElapsed(elapsed, duration) { - let delay = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0; - return elapsed - duration - delay; -} -function reverseElapsed(elapsed, duration) { - let delay = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0; - let isForwardPlayback = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true; - return isForwardPlayback ? loopElapsed(duration + -elapsed, duration, delay) : duration - (elapsed - duration) + delay; -} -function hasRepeatDelayElapsed(elapsed, duration, delay, isForwardPlayback) { - return isForwardPlayback ? elapsed >= duration + delay : elapsed <= -delay; -} -const framesync = update => { - const passTimestamp = _ref7 => { - let { - delta - } = _ref7; - return update(delta); - }; - return { - start: () => sync__default["default"].update(passTimestamp, true), - stop: () => sync.cancelSync.update(passTimestamp) - }; -}; -function animate(_a) { - var _b, _c; - var { - from, - autoplay = true, - driver = framesync, - elapsed = 0, - repeat: repeatMax = 0, - repeatType = "loop", - repeatDelay = 0, - onPlay, - onStop, - onComplete, - onRepeat, - onUpdate - } = _a, - options = tslib.__rest(_a, ["from", "autoplay", "driver", "elapsed", "repeat", "repeatType", "repeatDelay", "onPlay", "onStop", "onComplete", "onRepeat", "onUpdate"]); - let { - to - } = options; - let driverControls; - let repeatCount = 0; - let computedDuration = options.duration; - let latest; - let isComplete = false; - let isForwardPlayback = true; - let interpolateFromNumber; - const animator = detectAnimationFromOptions(options); - if ((_c = (_b = animator).needsInterpolation) === null || _c === void 0 ? void 0 : _c.call(_b, from, to)) { - interpolateFromNumber = interpolate([0, 100], [from, to], { - clamp: false - }); - from = 0; - to = 100; - } - const animation = animator(Object.assign(Object.assign({}, options), { - from, - to - })); - function repeat() { - repeatCount++; - if (repeatType === "reverse") { - isForwardPlayback = repeatCount % 2 === 0; - elapsed = reverseElapsed(elapsed, computedDuration, repeatDelay, isForwardPlayback); + var result = { + label: label + }; + if (Is.defined(documentation)) { + result.documentation = documentation; + } + if (Is.defined(parameters)) { + result.parameters = parameters; } else { - elapsed = loopElapsed(elapsed, computedDuration, repeatDelay); - if (repeatType === "mirror") animation.flipTarget(); + result.parameters = []; } - isComplete = false; - onRepeat && onRepeat(); - } - function complete() { - driverControls.stop(); - onComplete && onComplete(); + return result; } - function update(delta) { - if (!isForwardPlayback) delta = -delta; - elapsed += delta; - if (!isComplete) { - const state = animation.next(Math.max(0, elapsed)); - latest = state.value; - if (interpolateFromNumber) latest = interpolateFromNumber(latest); - isComplete = isForwardPlayback ? state.done : elapsed <= 0; + SignatureInformation.create = create; +})(SignatureInformation || (exports.SignatureInformation = SignatureInformation = {})); +/** + * A document highlight kind. + */ +var DocumentHighlightKind; +exports.DocumentHighlightKind = DocumentHighlightKind; +(function (DocumentHighlightKind) { + /** + * A textual occurrence. + */ + DocumentHighlightKind.Text = 1; + /** + * Read-access of a symbol, like reading a variable. + */ + DocumentHighlightKind.Read = 2; + /** + * Write-access of a symbol, like writing to a variable. + */ + DocumentHighlightKind.Write = 3; +})(DocumentHighlightKind || (exports.DocumentHighlightKind = DocumentHighlightKind = {})); +/** + * DocumentHighlight namespace to provide helper functions to work with + * [DocumentHighlight](#DocumentHighlight) literals. + */ +var DocumentHighlight; +exports.DocumentHighlight = DocumentHighlight; +(function (DocumentHighlight) { + /** + * Create a DocumentHighlight object. + * @param range The range the highlight applies to. + * @param kind The highlight kind + */ + function create(range, kind) { + var result = { + range: range + }; + if (Is.number(kind)) { + result.kind = kind; } - onUpdate === null || onUpdate === void 0 ? void 0 : onUpdate(latest); - if (isComplete) { - if (repeatCount === 0) computedDuration !== null && computedDuration !== void 0 ? computedDuration : computedDuration = elapsed; - if (repeatCount < repeatMax) { - hasRepeatDelayElapsed(elapsed, computedDuration, repeatDelay, isForwardPlayback) && repeat(); - } else { - complete(); + return result; + } + DocumentHighlight.create = create; +})(DocumentHighlight || (exports.DocumentHighlight = DocumentHighlight = {})); +/** + * A symbol kind. + */ +var SymbolKind; +exports.SymbolKind = SymbolKind; +(function (SymbolKind) { + SymbolKind.File = 1; + SymbolKind.Module = 2; + SymbolKind.Namespace = 3; + SymbolKind.Package = 4; + SymbolKind.Class = 5; + SymbolKind.Method = 6; + SymbolKind.Property = 7; + SymbolKind.Field = 8; + SymbolKind.Constructor = 9; + SymbolKind.Enum = 10; + SymbolKind.Interface = 11; + SymbolKind.Function = 12; + SymbolKind.Variable = 13; + SymbolKind.Constant = 14; + SymbolKind.String = 15; + SymbolKind.Number = 16; + SymbolKind.Boolean = 17; + SymbolKind.Array = 18; + SymbolKind.Object = 19; + SymbolKind.Key = 20; + SymbolKind.Null = 21; + SymbolKind.EnumMember = 22; + SymbolKind.Struct = 23; + SymbolKind.Event = 24; + SymbolKind.Operator = 25; + SymbolKind.TypeParameter = 26; +})(SymbolKind || (exports.SymbolKind = SymbolKind = {})); +/** + * Symbol tags are extra annotations that tweak the rendering of a symbol. + * @since 3.16 + */ +var SymbolTag; +exports.SymbolTag = SymbolTag; +(function (SymbolTag) { + /** + * Render a symbol as obsolete, usually using a strike-out. + */ + SymbolTag.Deprecated = 1; +})(SymbolTag || (exports.SymbolTag = SymbolTag = {})); +var SymbolInformation; +exports.SymbolInformation = SymbolInformation; +(function (SymbolInformation) { + /** + * Creates a new symbol information literal. + * + * @param name The name of the symbol. + * @param kind The kind of the symbol. + * @param range The range of the location of the symbol. + * @param uri The resource of the location of symbol. + * @param containerName The name of the symbol containing the symbol. + */ + function create(name, kind, range, uri, containerName) { + var result = { + name: name, + kind: kind, + location: { + uri: uri, + range: range } + }; + if (containerName) { + result.containerName = containerName; } + return result; } - function play() { - onPlay === null || onPlay === void 0 ? void 0 : onPlay(); - driverControls = driver(update); - driverControls.start(); + SymbolInformation.create = create; +})(SymbolInformation || (exports.SymbolInformation = SymbolInformation = {})); +var WorkspaceSymbol; +exports.WorkspaceSymbol = WorkspaceSymbol; +(function (WorkspaceSymbol) { + /** + * Create a new workspace symbol. + * + * @param name The name of the symbol. + * @param kind The kind of the symbol. + * @param uri The resource of the location of the symbol. + * @param range An options range of the location. + * @returns A WorkspaceSymbol. + */ + function create(name, kind, uri, range) { + return range !== undefined ? { + name: name, + kind: kind, + location: { + uri: uri, + range: range + } + } : { + name: name, + kind: kind, + location: { + uri: uri + } + }; } - autoplay && play(); - return { - stop: () => { - onStop === null || onStop === void 0 ? void 0 : onStop(); - driverControls.stop(); - } - }; -} -function velocityPerSecond(velocity, frameDuration) { - return frameDuration ? velocity * (1000 / frameDuration) : 0; -} -function inertia(_ref8) { - let { - from = 0, - velocity = 0, - min, - max, - power = 0.8, - timeConstant = 750, - bounceStiffness = 500, - bounceDamping = 10, - restDelta = 1, - modifyTarget, - driver, - onUpdate, - onComplete, - onStop - } = _ref8; - let currentAnimation; - function isOutOfBounds(v) { - return min !== undefined && v < min || max !== undefined && v > max; + WorkspaceSymbol.create = create; +})(WorkspaceSymbol || (exports.WorkspaceSymbol = WorkspaceSymbol = {})); +var DocumentSymbol; +exports.DocumentSymbol = DocumentSymbol; +(function (DocumentSymbol) { + /** + * Creates a new symbol information literal. + * + * @param name The name of the symbol. + * @param detail The detail of the symbol. + * @param kind The kind of the symbol. + * @param range The range of the symbol. + * @param selectionRange The selectionRange of the symbol. + * @param children Children of the symbol. + */ + function create(name, detail, kind, range, selectionRange, children) { + var result = { + name: name, + detail: detail, + kind: kind, + range: range, + selectionRange: selectionRange + }; + if (children !== undefined) { + result.children = children; + } + return result; } - function boundaryNearest(v) { - if (min === undefined) return max; - if (max === undefined) return min; - return Math.abs(min - v) < Math.abs(max - v) ? min : max; + DocumentSymbol.create = create; + /** + * Checks whether the given literal conforms to the [DocumentSymbol](#DocumentSymbol) interface. + */ + function is(value) { + var candidate = value; + return candidate && Is.string(candidate.name) && Is.number(candidate.kind) && Range.is(candidate.range) && Range.is(candidate.selectionRange) && (candidate.detail === undefined || Is.string(candidate.detail)) && (candidate.deprecated === undefined || Is.boolean(candidate.deprecated)) && (candidate.children === undefined || Array.isArray(candidate.children)) && (candidate.tags === undefined || Array.isArray(candidate.tags)); } - function startAnimation(options) { - currentAnimation === null || currentAnimation === void 0 ? void 0 : currentAnimation.stop(); - currentAnimation = animate(Object.assign(Object.assign({}, options), { - driver, - onUpdate: v => { - var _a; - onUpdate === null || onUpdate === void 0 ? void 0 : onUpdate(v); - (_a = options.onUpdate) === null || _a === void 0 ? void 0 : _a.call(options, v); - }, - onComplete, - onStop - })); + DocumentSymbol.is = is; +})(DocumentSymbol || (exports.DocumentSymbol = DocumentSymbol = {})); +/** + * A set of predefined code action kinds + */ +var CodeActionKind; +exports.CodeActionKind = CodeActionKind; +(function (CodeActionKind) { + /** + * Empty kind. + */ + CodeActionKind.Empty = ''; + /** + * Base kind for quickfix actions: 'quickfix' + */ + CodeActionKind.QuickFix = 'quickfix'; + /** + * Base kind for refactoring actions: 'refactor' + */ + CodeActionKind.Refactor = 'refactor'; + /** + * Base kind for refactoring extraction actions: 'refactor.extract' + * + * Example extract actions: + * + * - Extract method + * - Extract function + * - Extract variable + * - Extract interface from class + * - ... + */ + CodeActionKind.RefactorExtract = 'refactor.extract'; + /** + * Base kind for refactoring inline actions: 'refactor.inline' + * + * Example inline actions: + * + * - Inline function + * - Inline variable + * - Inline constant + * - ... + */ + CodeActionKind.RefactorInline = 'refactor.inline'; + /** + * Base kind for refactoring rewrite actions: 'refactor.rewrite' + * + * Example rewrite actions: + * + * - Convert JavaScript function to class + * - Add or remove parameter + * - Encapsulate field + * - Make method static + * - Move method to base class + * - ... + */ + CodeActionKind.RefactorRewrite = 'refactor.rewrite'; + /** + * Base kind for source actions: `source` + * + * Source code actions apply to the entire file. + */ + CodeActionKind.Source = 'source'; + /** + * Base kind for an organize imports source action: `source.organizeImports` + */ + CodeActionKind.SourceOrganizeImports = 'source.organizeImports'; + /** + * Base kind for auto-fix source actions: `source.fixAll`. + * + * Fix all actions automatically fix errors that have a clear fix that do not require user input. + * They should not suppress errors or perform unsafe fixes such as generating new types or classes. + * + * @since 3.15.0 + */ + CodeActionKind.SourceFixAll = 'source.fixAll'; +})(CodeActionKind || (exports.CodeActionKind = CodeActionKind = {})); +/** + * The reason why code actions were requested. + * + * @since 3.17.0 + */ +var CodeActionTriggerKind; +exports.CodeActionTriggerKind = CodeActionTriggerKind; +(function (CodeActionTriggerKind) { + /** + * Code actions were explicitly requested by the user or by an extension. + */ + CodeActionTriggerKind.Invoked = 1; + /** + * Code actions were requested automatically. + * + * This typically happens when current selection in a file changes, but can + * also be triggered when file content changes. + */ + CodeActionTriggerKind.Automatic = 2; +})(CodeActionTriggerKind || (exports.CodeActionTriggerKind = CodeActionTriggerKind = {})); +/** + * The CodeActionContext namespace provides helper functions to work with + * [CodeActionContext](#CodeActionContext) literals. + */ +var CodeActionContext; +exports.CodeActionContext = CodeActionContext; +(function (CodeActionContext) { + /** + * Creates a new CodeActionContext literal. + */ + function create(diagnostics, only, triggerKind) { + var result = { + diagnostics: diagnostics + }; + if (only !== undefined && only !== null) { + result.only = only; + } + if (triggerKind !== undefined && triggerKind !== null) { + result.triggerKind = triggerKind; + } + return result; } - function startSpring(options) { - startAnimation(Object.assign({ - type: "spring", - stiffness: bounceStiffness, - damping: bounceDamping, - restDelta - }, options)); + CodeActionContext.create = create; + /** + * Checks whether the given literal conforms to the [CodeActionContext](#CodeActionContext) interface. + */ + function is(value) { + var candidate = value; + return Is.defined(candidate) && Is.typedArray(candidate.diagnostics, Diagnostic.is) && (candidate.only === undefined || Is.typedArray(candidate.only, Is.string)) && (candidate.triggerKind === undefined || candidate.triggerKind === CodeActionTriggerKind.Invoked || candidate.triggerKind === CodeActionTriggerKind.Automatic); } - if (isOutOfBounds(from)) { - startSpring({ - from, - velocity, - to: boundaryNearest(from) - }); - } else { - let target = power * velocity + from; - if (typeof modifyTarget !== "undefined") target = modifyTarget(target); - const boundary = boundaryNearest(target); - const heading = boundary === min ? -1 : 1; - let prev; - let current; - const checkBoundary = v => { - prev = current; - current = v; - velocity = velocityPerSecond(v - prev, sync.getFrameData().delta); - if (heading === 1 && v > boundary || heading === -1 && v < boundary) { - startSpring({ - from: v, - to: boundary, - velocity - }); - } + CodeActionContext.is = is; +})(CodeActionContext || (exports.CodeActionContext = CodeActionContext = {})); +var CodeAction; +exports.CodeAction = CodeAction; +(function (CodeAction) { + function create(title, kindOrCommandOrEdit, kind) { + var result = { + title: title }; - startAnimation({ - type: "decay", - from, - velocity, - timeConstant, - power, - restDelta, - modifyTarget, - onUpdate: isOutOfBounds(target) ? checkBoundary : undefined - }); + var checkKind = true; + if (typeof kindOrCommandOrEdit === 'string') { + checkKind = false; + result.kind = kindOrCommandOrEdit; + } else if (Command.is(kindOrCommandOrEdit)) { + result.command = kindOrCommandOrEdit; + } else { + result.edit = kindOrCommandOrEdit; + } + if (checkKind && kind !== undefined) { + result.kind = kind; + } + return result; } - return { - stop: () => currentAnimation === null || currentAnimation === void 0 ? void 0 : currentAnimation.stop() - }; -} -const radiansToDegrees = radians => radians * 180 / Math.PI; -const angle = function (a) { - let b = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : zeroPoint; - return radiansToDegrees(Math.atan2(b.y - a.y, b.x - a.x)); -}; -const applyOffset = (from, to) => { - let hasReceivedFrom = true; - if (to === undefined) { - to = from; - hasReceivedFrom = false; + CodeAction.create = create; + function is(value) { + var candidate = value; + return candidate && Is.string(candidate.title) && (candidate.diagnostics === undefined || Is.typedArray(candidate.diagnostics, Diagnostic.is)) && (candidate.kind === undefined || Is.string(candidate.kind)) && (candidate.edit !== undefined || candidate.command !== undefined) && (candidate.command === undefined || Command.is(candidate.command)) && (candidate.isPreferred === undefined || Is.boolean(candidate.isPreferred)) && (candidate.edit === undefined || WorkspaceEdit.is(candidate.edit)); } - return v => { - if (hasReceivedFrom) { - return v - from + to; - } else { - from = v; - hasReceivedFrom = true; - return to; + CodeAction.is = is; +})(CodeAction || (exports.CodeAction = CodeAction = {})); +/** + * The CodeLens namespace provides helper functions to work with + * [CodeLens](#CodeLens) literals. + */ +var CodeLens; +exports.CodeLens = CodeLens; +(function (CodeLens) { + /** + * Creates a new CodeLens literal. + */ + function create(range, data) { + var result = { + range: range + }; + if (Is.defined(data)) { + result.data = data; } - }; -}; -const identity = v => v; -const createAttractor = function () { - let alterDisplacement = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : identity; - return (constant, origin, v) => { - const displacement = origin - v; - const springModifiedDisplacement = -(0 - constant + 1) * (0 - alterDisplacement(Math.abs(displacement))); - return displacement <= 0 ? origin + springModifiedDisplacement : origin - springModifiedDisplacement; - }; -}; -const attract = createAttractor(); -const attractExpo = createAttractor(Math.sqrt); -const degreesToRadians = degrees => degrees * Math.PI / 180; -const isPoint = point => point.hasOwnProperty('x') && point.hasOwnProperty('y'); -const isPoint3D = point => isPoint(point) && point.hasOwnProperty('z'); -const distance1D = (a, b) => Math.abs(a - b); -function distance(a, b) { - if (isNum(a) && isNum(b)) { - return distance1D(a, b); - } else if (isPoint(a) && isPoint(b)) { - const xDelta = distance1D(a.x, b.x); - const yDelta = distance1D(a.y, b.y); - const zDelta = isPoint3D(a) && isPoint3D(b) ? distance1D(a.z, b.z) : 0; - return Math.sqrt(Math.pow(xDelta, 2) + Math.pow(yDelta, 2) + Math.pow(zDelta, 2)); + return result; } -} -const pointFromVector = (origin, angle, distance) => { - angle = degreesToRadians(angle); - return { - x: distance * Math.cos(angle) + origin.x, - y: distance * Math.sin(angle) + origin.y - }; -}; -const toDecimal = function (num) { - let precision = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2; - precision = Math.pow(10, precision); - return Math.round(num * precision) / precision; -}; -const smoothFrame = function (prevValue, nextValue, duration) { - let smoothing = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0; - return toDecimal(prevValue + duration * (nextValue - prevValue) / Math.max(smoothing, duration)); -}; -const smooth = function () { - let strength = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 50; - let previousValue = 0; - let lastUpdated = 0; - return v => { - const currentFramestamp = sync.getFrameData().timestamp; - const timeDelta = currentFramestamp !== lastUpdated ? currentFramestamp - lastUpdated : 0; - const newValue = timeDelta ? smoothFrame(previousValue, v, timeDelta, strength) : previousValue; - lastUpdated = currentFramestamp; - previousValue = newValue; - return newValue; - }; -}; -const snap = points => { - if (typeof points === 'number') { - return v => Math.round(v / points) * points; - } else { - let i = 0; - const numPoints = points.length; - return v => { - let lastDistance = Math.abs(points[0] - v); - for (i = 1; i < numPoints; i++) { - const point = points[i]; - const distance = Math.abs(point - v); - if (distance === 0) return point; - if (distance > lastDistance) return points[i - 1]; - if (i === numPoints - 1) return point; - lastDistance = distance; - } + CodeLens.create = create; + /** + * Checks whether the given literal conforms to the [CodeLens](#CodeLens) interface. + */ + function is(value) { + var candidate = value; + return Is.defined(candidate) && Range.is(candidate.range) && (Is.undefined(candidate.command) || Command.is(candidate.command)); + } + CodeLens.is = is; +})(CodeLens || (exports.CodeLens = CodeLens = {})); +/** + * The FormattingOptions namespace provides helper functions to work with + * [FormattingOptions](#FormattingOptions) literals. + */ +var FormattingOptions; +exports.FormattingOptions = FormattingOptions; +(function (FormattingOptions) { + /** + * Creates a new FormattingOptions literal. + */ + function create(tabSize, insertSpaces) { + return { + tabSize: tabSize, + insertSpaces: insertSpaces }; } -}; -function velocityPerFrame(xps, frameDuration) { - return xps / (1000 / frameDuration); -} -const wrap = (min, max, v) => { - const rangeSize = max - min; - return ((v - min) % rangeSize + rangeSize) % rangeSize + min; -}; -const a = (a1, a2) => 1.0 - 3.0 * a2 + 3.0 * a1; -const b = (a1, a2) => 3.0 * a2 - 6.0 * a1; -const c = a1 => 3.0 * a1; -const calcBezier = (t, a1, a2) => ((a(a1, a2) * t + b(a1, a2)) * t + c(a1)) * t; -const getSlope = (t, a1, a2) => 3.0 * a(a1, a2) * t * t + 2.0 * b(a1, a2) * t + c(a1); -const subdivisionPrecision = 0.0000001; -const subdivisionMaxIterations = 10; -function binarySubdivide(aX, aA, aB, mX1, mX2) { - let currentX; - let currentT; - let i = 0; - do { - currentT = aA + (aB - aA) / 2.0; - currentX = calcBezier(currentT, mX1, mX2) - aX; - if (currentX > 0.0) { - aB = currentT; - } else { - aA = currentT; - } - } while (Math.abs(currentX) > subdivisionPrecision && ++i < subdivisionMaxIterations); - return currentT; -} -const newtonIterations = 8; -const newtonMinSlope = 0.001; -function newtonRaphsonIterate(aX, aGuessT, mX1, mX2) { - for (let i = 0; i < newtonIterations; ++i) { - const currentSlope = getSlope(aGuessT, mX1, mX2); - if (currentSlope === 0.0) { - return aGuessT; - } - const currentX = calcBezier(aGuessT, mX1, mX2) - aX; - aGuessT -= currentX / currentSlope; + FormattingOptions.create = create; + /** + * Checks whether the given literal conforms to the [FormattingOptions](#FormattingOptions) interface. + */ + function is(value) { + var candidate = value; + return Is.defined(candidate) && Is.uinteger(candidate.tabSize) && Is.boolean(candidate.insertSpaces); } - return aGuessT; -} -const kSplineTableSize = 11; -const kSampleStepSize = 1.0 / (kSplineTableSize - 1.0); -function cubicBezier(mX1, mY1, mX2, mY2) { - if (mX1 === mY1 && mX2 === mY2) return linear; - const sampleValues = new Float32Array(kSplineTableSize); - for (let i = 0; i < kSplineTableSize; ++i) { - sampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2); + FormattingOptions.is = is; +})(FormattingOptions || (exports.FormattingOptions = FormattingOptions = {})); +/** + * The DocumentLink namespace provides helper functions to work with + * [DocumentLink](#DocumentLink) literals. + */ +var DocumentLink; +exports.DocumentLink = DocumentLink; +(function (DocumentLink) { + /** + * Creates a new DocumentLink literal. + */ + function create(range, target, data) { + return { + range: range, + target: target, + data: data + }; } - function getTForX(aX) { - let intervalStart = 0.0; - let currentSample = 1; - const lastSample = kSplineTableSize - 1; - for (; currentSample !== lastSample && sampleValues[currentSample] <= aX; ++currentSample) { - intervalStart += kSampleStepSize; - } - --currentSample; - const dist = (aX - sampleValues[currentSample]) / (sampleValues[currentSample + 1] - sampleValues[currentSample]); - const guessForT = intervalStart + dist * kSampleStepSize; - const initialSlope = getSlope(guessForT, mX1, mX2); - if (initialSlope >= newtonMinSlope) { - return newtonRaphsonIterate(aX, guessForT, mX1, mX2); - } else if (initialSlope === 0.0) { - return guessForT; - } else { - return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2); - } + DocumentLink.create = create; + /** + * Checks whether the given literal conforms to the [DocumentLink](#DocumentLink) interface. + */ + function is(value) { + var candidate = value; + return Is.defined(candidate) && Range.is(candidate.range) && (Is.undefined(candidate.target) || Is.string(candidate.target)); } - return t => t === 0 || t === 1 ? t : calcBezier(getTForX(t), mY1, mY2); -} -const steps = function (steps) { - let direction = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'end'; - return progress => { - progress = direction === 'end' ? Math.min(progress, 0.999) : Math.max(progress, 0.001); - const expanded = progress * steps; - const rounded = direction === 'end' ? Math.floor(expanded) : Math.ceil(expanded); - return clamp(0, 1, rounded / steps); - }; -}; -exports.angle = angle; -exports.animate = animate; -exports.anticipate = anticipate; -exports.applyOffset = applyOffset; -exports.attract = attract; -exports.attractExpo = attractExpo; -exports.backIn = backIn; -exports.backInOut = backInOut; -exports.backOut = backOut; -exports.bounceIn = bounceIn; -exports.bounceInOut = bounceInOut; -exports.bounceOut = bounceOut; -exports.circIn = circIn; -exports.circInOut = circInOut; -exports.circOut = circOut; -exports.clamp = clamp; -exports.createAnticipate = createAnticipate; -exports.createAttractor = createAttractor; -exports.createBackIn = createBackIn; -exports.createExpoIn = createExpoIn; -exports.cubicBezier = cubicBezier; -exports.decay = decay; -exports.degreesToRadians = degreesToRadians; -exports.distance = distance; -exports.easeIn = easeIn; -exports.easeInOut = easeInOut; -exports.easeOut = easeOut; -exports.inertia = inertia; -exports.interpolate = interpolate; -exports.isPoint = isPoint; -exports.isPoint3D = isPoint3D; -exports.keyframes = keyframes; -exports.linear = linear; -exports.mirrorEasing = mirrorEasing; -exports.mix = mix; -exports.mixColor = mixColor; -exports.mixComplex = mixComplex; -exports.pipe = pipe; -exports.pointFromVector = pointFromVector; -exports.progress = progress; -exports.radiansToDegrees = radiansToDegrees; -exports.reverseEasing = reverseEasing; -exports.smooth = smooth; -exports.smoothFrame = smoothFrame; -exports.snap = snap; -exports.spring = spring; -exports.steps = steps; -exports.toDecimal = toDecimal; -exports.velocityPerFrame = velocityPerFrame; -exports.velocityPerSecond = velocityPerSecond; -exports.wrap = wrap; - -/***/ }), - -/***/ "../../../node_modules/punycode/punycode.es6.js": -/*!******************************************************!*\ - !*** ../../../node_modules/punycode/punycode.es6.js ***! - \******************************************************/ -/***/ (function(__unused_webpack_module, exports) { - - - -/** Highest positive signed 32-bit float value */ -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.toUnicode = exports.toASCII = exports.encode = exports["default"] = exports.decode = void 0; -exports.ucs2decode = ucs2decode; -exports.ucs2encode = void 0; -const maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1 - -/** Bootstring parameters */ -const base = 36; -const tMin = 1; -const tMax = 26; -const skew = 38; -const damp = 700; -const initialBias = 72; -const initialN = 128; // 0x80 -const delimiter = '-'; // '\x2D' - -/** Regular expressions */ -const regexPunycode = /^xn--/; -const regexNonASCII = /[^\0-\x7E]/; // non-ASCII chars -const regexSeparators = /[\x2E\u3002\uFF0E\uFF61]/g; // RFC 3490 separators - -/** Error messages */ -const errors = { - 'overflow': 'Overflow: input needs wider integers to process', - 'not-basic': 'Illegal input >= 0x80 (not a basic code point)', - 'invalid-input': 'Invalid input' -}; - -/** Convenience shortcuts */ -const baseMinusTMin = base - tMin; -const floor = Math.floor; -const stringFromCharCode = String.fromCharCode; - -/*--------------------------------------------------------------------------*/ - + DocumentLink.is = is; +})(DocumentLink || (exports.DocumentLink = DocumentLink = {})); /** - * A generic error utility function. - * @private - * @param {String} type The error type. - * @returns {Error} Throws a `RangeError` with the applicable error message. + * The SelectionRange namespace provides helper function to work with + * SelectionRange literals. */ -function error(type) { - throw new RangeError(errors[type]); -} - +var SelectionRange; +exports.SelectionRange = SelectionRange; +(function (SelectionRange) { + /** + * Creates a new SelectionRange + * @param range the range. + * @param parent an optional parent. + */ + function create(range, parent) { + return { + range: range, + parent: parent + }; + } + SelectionRange.create = create; + function is(value) { + var candidate = value; + return Is.objectLiteral(candidate) && Range.is(candidate.range) && (candidate.parent === undefined || SelectionRange.is(candidate.parent)); + } + SelectionRange.is = is; +})(SelectionRange || (exports.SelectionRange = SelectionRange = {})); /** - * A generic `Array#map` utility function. - * @private - * @param {Array} array The array to iterate over. - * @param {Function} callback The function that gets called for every array - * item. - * @returns {Array} A new array of values returned by the callback function. + * A set of predefined token types. This set is not fixed + * an clients can specify additional token types via the + * corresponding client capabilities. + * + * @since 3.16.0 */ -function map(array, fn) { - const result = []; - let length = array.length; - while (length--) { - result[length] = fn(array[length]); - } - return result; -} - +var SemanticTokenTypes; +exports.SemanticTokenTypes = SemanticTokenTypes; +(function (SemanticTokenTypes) { + SemanticTokenTypes["namespace"] = "namespace"; + /** + * Represents a generic type. Acts as a fallback for types which can't be mapped to + * a specific type like class or enum. + */ + SemanticTokenTypes["type"] = "type"; + SemanticTokenTypes["class"] = "class"; + SemanticTokenTypes["enum"] = "enum"; + SemanticTokenTypes["interface"] = "interface"; + SemanticTokenTypes["struct"] = "struct"; + SemanticTokenTypes["typeParameter"] = "typeParameter"; + SemanticTokenTypes["parameter"] = "parameter"; + SemanticTokenTypes["variable"] = "variable"; + SemanticTokenTypes["property"] = "property"; + SemanticTokenTypes["enumMember"] = "enumMember"; + SemanticTokenTypes["event"] = "event"; + SemanticTokenTypes["function"] = "function"; + SemanticTokenTypes["method"] = "method"; + SemanticTokenTypes["macro"] = "macro"; + SemanticTokenTypes["keyword"] = "keyword"; + SemanticTokenTypes["modifier"] = "modifier"; + SemanticTokenTypes["comment"] = "comment"; + SemanticTokenTypes["string"] = "string"; + SemanticTokenTypes["number"] = "number"; + SemanticTokenTypes["regexp"] = "regexp"; + SemanticTokenTypes["operator"] = "operator"; + /** + * @since 3.17.0 + */ + SemanticTokenTypes["decorator"] = "decorator"; +})(SemanticTokenTypes || (exports.SemanticTokenTypes = SemanticTokenTypes = {})); /** - * A simple `Array#map`-like wrapper to work with domain name strings or email - * addresses. - * @private - * @param {String} domain The domain name or email address. - * @param {Function} callback The function that gets called for every - * character. - * @returns {Array} A new string of characters returned by the callback - * function. + * A set of predefined token modifiers. This set is not fixed + * an clients can specify additional token types via the + * corresponding client capabilities. + * + * @since 3.16.0 */ -function mapDomain(string, fn) { - const parts = string.split('@'); - let result = ''; - if (parts.length > 1) { - // In email addresses, only the domain name should be punycoded. Leave - // the local part (i.e. everything up to `@`) intact. - result = parts[0] + '@'; - string = parts[1]; - } - // Avoid `split(regex)` for IE8 compatibility. See #17. - string = string.replace(regexSeparators, '\x2E'); - const labels = string.split('.'); - const encoded = map(labels, fn).join('.'); - return result + encoded; -} - +var SemanticTokenModifiers; +exports.SemanticTokenModifiers = SemanticTokenModifiers; +(function (SemanticTokenModifiers) { + SemanticTokenModifiers["declaration"] = "declaration"; + SemanticTokenModifiers["definition"] = "definition"; + SemanticTokenModifiers["readonly"] = "readonly"; + SemanticTokenModifiers["static"] = "static"; + SemanticTokenModifiers["deprecated"] = "deprecated"; + SemanticTokenModifiers["abstract"] = "abstract"; + SemanticTokenModifiers["async"] = "async"; + SemanticTokenModifiers["modification"] = "modification"; + SemanticTokenModifiers["documentation"] = "documentation"; + SemanticTokenModifiers["defaultLibrary"] = "defaultLibrary"; +})(SemanticTokenModifiers || (exports.SemanticTokenModifiers = SemanticTokenModifiers = {})); /** - * Creates an array containing the numeric code points of each Unicode - * character in the string. While JavaScript uses UCS-2 internally, - * this function will convert a pair of surrogate halves (each of which - * UCS-2 exposes as separate characters) into a single code point, - * matching UTF-16. - * @see `punycode.ucs2.encode` - * @see - * @memberOf punycode.ucs2 - * @name decode - * @param {String} string The Unicode input string (UCS-2). - * @returns {Array} The new array of code points. + * @since 3.16.0 */ -function ucs2decode(string) { - const output = []; - let counter = 0; - const length = string.length; - while (counter < length) { - const value = string.charCodeAt(counter++); - if (value >= 0xD800 && value <= 0xDBFF && counter < length) { - // It's a high surrogate, and there is a next character. - const extra = string.charCodeAt(counter++); - if ((extra & 0xFC00) == 0xDC00) { - // Low surrogate. - output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000); - } else { - // It's an unmatched surrogate; only append this code unit, in case the - // next code unit is the high surrogate of a surrogate pair. - output.push(value); - counter--; - } - } else { - output.push(value); - } +var SemanticTokens; +exports.SemanticTokens = SemanticTokens; +(function (SemanticTokens) { + function is(value) { + var candidate = value; + return Is.objectLiteral(candidate) && (candidate.resultId === undefined || typeof candidate.resultId === 'string') && Array.isArray(candidate.data) && (candidate.data.length === 0 || typeof candidate.data[0] === 'number'); } - return output; -} - + SemanticTokens.is = is; +})(SemanticTokens || (exports.SemanticTokens = SemanticTokens = {})); /** - * Creates a string based on an array of numeric code points. - * @see `punycode.ucs2.decode` - * @memberOf punycode.ucs2 - * @name encode - * @param {Array} codePoints The array of numeric code points. - * @returns {String} The new Unicode string (UCS-2). + * The InlineValueText namespace provides functions to deal with InlineValueTexts. + * + * @since 3.17.0 */ -const ucs2encode = array => String.fromCodePoint(...array); - +var InlineValueText; +exports.InlineValueText = InlineValueText; +(function (InlineValueText) { + /** + * Creates a new InlineValueText literal. + */ + function create(range, text) { + return { + range: range, + text: text + }; + } + InlineValueText.create = create; + function is(value) { + var candidate = value; + return candidate !== undefined && candidate !== null && Range.is(candidate.range) && Is.string(candidate.text); + } + InlineValueText.is = is; +})(InlineValueText || (exports.InlineValueText = InlineValueText = {})); /** - * Converts a basic code point into a digit/integer. - * @see `digitToBasic()` - * @private - * @param {Number} codePoint The basic numeric code point value. - * @returns {Number} The numeric value of a basic code point (for use in - * representing integers) in the range `0` to `base - 1`, or `base` if - * the code point does not represent a value. + * The InlineValueVariableLookup namespace provides functions to deal with InlineValueVariableLookups. + * + * @since 3.17.0 */ -exports.ucs2encode = ucs2encode; -const basicToDigit = function (codePoint) { - if (codePoint - 0x30 < 0x0A) { - return codePoint - 0x16; - } - if (codePoint - 0x41 < 0x1A) { - return codePoint - 0x41; +var InlineValueVariableLookup; +exports.InlineValueVariableLookup = InlineValueVariableLookup; +(function (InlineValueVariableLookup) { + /** + * Creates a new InlineValueText literal. + */ + function create(range, variableName, caseSensitiveLookup) { + return { + range: range, + variableName: variableName, + caseSensitiveLookup: caseSensitiveLookup + }; } - if (codePoint - 0x61 < 0x1A) { - return codePoint - 0x61; + InlineValueVariableLookup.create = create; + function is(value) { + var candidate = value; + return candidate !== undefined && candidate !== null && Range.is(candidate.range) && Is.boolean(candidate.caseSensitiveLookup) && (Is.string(candidate.variableName) || candidate.variableName === undefined); } - return base; -}; - + InlineValueVariableLookup.is = is; +})(InlineValueVariableLookup || (exports.InlineValueVariableLookup = InlineValueVariableLookup = {})); /** - * Converts a digit/integer into a basic code point. - * @see `basicToDigit()` - * @private - * @param {Number} digit The numeric value of a basic code point. - * @returns {Number} The basic code point whose value (when used for - * representing integers) is `digit`, which needs to be in the range - * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is - * used; else, the lowercase form is used. The behavior is undefined - * if `flag` is non-zero and `digit` has no uppercase form. + * The InlineValueEvaluatableExpression namespace provides functions to deal with InlineValueEvaluatableExpression. + * + * @since 3.17.0 */ -const digitToBasic = function (digit, flag) { - // 0..25 map to ASCII a..z or A..Z - // 26..35 map to ASCII 0..9 - return digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5); -}; - +var InlineValueEvaluatableExpression; +exports.InlineValueEvaluatableExpression = InlineValueEvaluatableExpression; +(function (InlineValueEvaluatableExpression) { + /** + * Creates a new InlineValueEvaluatableExpression literal. + */ + function create(range, expression) { + return { + range: range, + expression: expression + }; + } + InlineValueEvaluatableExpression.create = create; + function is(value) { + var candidate = value; + return candidate !== undefined && candidate !== null && Range.is(candidate.range) && (Is.string(candidate.expression) || candidate.expression === undefined); + } + InlineValueEvaluatableExpression.is = is; +})(InlineValueEvaluatableExpression || (exports.InlineValueEvaluatableExpression = InlineValueEvaluatableExpression = {})); /** - * Bias adaptation function as per section 3.4 of RFC 3492. - * https://tools.ietf.org/html/rfc3492#section-3.4 - * @private + * The InlineValueContext namespace provides helper functions to work with + * [InlineValueContext](#InlineValueContext) literals. + * + * @since 3.17.0 */ -const adapt = function (delta, numPoints, firstTime) { - let k = 0; - delta = firstTime ? floor(delta / damp) : delta >> 1; - delta += floor(delta / numPoints); - for /* no initialization */ - (; delta > baseMinusTMin * tMax >> 1; k += base) { - delta = floor(delta / baseMinusTMin); +var InlineValueContext; +exports.InlineValueContext = InlineValueContext; +(function (InlineValueContext) { + /** + * Creates a new InlineValueContext literal. + */ + function create(frameId, stoppedLocation) { + return { + frameId: frameId, + stoppedLocation: stoppedLocation + }; } - return floor(k + (baseMinusTMin + 1) * delta / (delta + skew)); -}; - + InlineValueContext.create = create; + /** + * Checks whether the given literal conforms to the [InlineValueContext](#InlineValueContext) interface. + */ + function is(value) { + var candidate = value; + return Is.defined(candidate) && Range.is(value.stoppedLocation); + } + InlineValueContext.is = is; +})(InlineValueContext || (exports.InlineValueContext = InlineValueContext = {})); /** - * Converts a Punycode string of ASCII-only symbols to a string of Unicode - * symbols. - * @memberOf punycode - * @param {String} input The Punycode string of ASCII-only symbols. - * @returns {String} The resulting string of Unicode symbols. + * Inlay hint kinds. + * + * @since 3.17.0 */ -const decode = function (input) { - // Don't use UCS-2. - const output = []; - const inputLength = input.length; - let i = 0; - let n = initialN; - let bias = initialBias; - - // Handle the basic code points: let `basic` be the number of input code - // points before the last delimiter, or `0` if there is none, then copy - // the first basic code points to the output. - - let basic = input.lastIndexOf(delimiter); - if (basic < 0) { - basic = 0; +var InlayHintKind; +exports.InlayHintKind = InlayHintKind; +(function (InlayHintKind) { + /** + * An inlay hint that for a type annotation. + */ + InlayHintKind.Type = 1; + /** + * An inlay hint that is for a parameter. + */ + InlayHintKind.Parameter = 2; + function is(value) { + return value === 1 || value === 2; } - for (let j = 0; j < basic; ++j) { - // if it's not a basic code point - if (input.charCodeAt(j) >= 0x80) { - error('not-basic'); - } - output.push(input.charCodeAt(j)); + InlayHintKind.is = is; +})(InlayHintKind || (exports.InlayHintKind = InlayHintKind = {})); +var InlayHintLabelPart; +exports.InlayHintLabelPart = InlayHintLabelPart; +(function (InlayHintLabelPart) { + function create(value) { + return { + value: value + }; } - - // Main decoding loop: start just after the last delimiter if any basic code - // points were copied; start at the beginning otherwise. - - for /* no final expression */ - (let index = basic > 0 ? basic + 1 : 0; index < inputLength;) { - // `index` is the index of the next character to be consumed. - // Decode a generalized variable-length integer into `delta`, - // which gets added to `i`. The overflow checking is easier - // if we increase `i` as we go, then subtract off its starting - // value at the end to obtain `delta`. - let oldi = i; - for /* no condition */ - (let w = 1, k = base;; k += base) { - if (index >= inputLength) { - error('invalid-input'); - } - const digit = basicToDigit(input.charCodeAt(index++)); - if (digit >= base || digit > floor((maxInt - i) / w)) { - error('overflow'); - } - i += digit * w; - const t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias; - if (digit < t) { - break; - } - const baseMinusT = base - t; - if (w > floor(maxInt / baseMinusT)) { - error('overflow'); - } - w *= baseMinusT; - } - const out = output.length + 1; - bias = adapt(i - oldi, out, oldi == 0); - - // `i` was supposed to wrap around from `out` to `0`, - // incrementing `n` each time, so we'll fix that now: - if (floor(i / out) > maxInt - n) { - error('overflow'); + InlayHintLabelPart.create = create; + function is(value) { + var candidate = value; + return Is.objectLiteral(candidate) && (candidate.tooltip === undefined || Is.string(candidate.tooltip) || MarkupContent.is(candidate.tooltip)) && (candidate.location === undefined || Location.is(candidate.location)) && (candidate.command === undefined || Command.is(candidate.command)); + } + InlayHintLabelPart.is = is; +})(InlayHintLabelPart || (exports.InlayHintLabelPart = InlayHintLabelPart = {})); +var InlayHint; +exports.InlayHint = InlayHint; +(function (InlayHint) { + function create(position, label, kind) { + var result = { + position: position, + label: label + }; + if (kind !== undefined) { + result.kind = kind; } - n += floor(i / out); - i %= out; - - // Insert `n` at position `i` of the output. - output.splice(i++, 0, n); + return result; } - return String.fromCodePoint(...output); -}; - -/** - * Converts a string of Unicode symbols (e.g. a domain name label) to a - * Punycode string of ASCII-only symbols. - * @memberOf punycode - * @param {String} input The string of Unicode symbols. - * @returns {String} The resulting Punycode string of ASCII-only symbols. - */ -exports.decode = decode; -const encode = function (input) { - const output = []; - - // Convert the input in UCS-2 to an array of Unicode code points. - input = ucs2decode(input); - - // Cache the length. - let inputLength = input.length; - - // Initialize the state. - let n = initialN; - let delta = 0; - let bias = initialBias; - - // Handle the basic code points. - for (const currentValue of input) { - if (currentValue < 0x80) { - output.push(stringFromCharCode(currentValue)); - } + InlayHint.create = create; + function is(value) { + var candidate = value; + return Is.objectLiteral(candidate) && Position.is(candidate.position) && (Is.string(candidate.label) || Is.typedArray(candidate.label, InlayHintLabelPart.is)) && (candidate.kind === undefined || InlayHintKind.is(candidate.kind)) && candidate.textEdits === undefined || Is.typedArray(candidate.textEdits, TextEdit.is) && (candidate.tooltip === undefined || Is.string(candidate.tooltip) || MarkupContent.is(candidate.tooltip)) && (candidate.paddingLeft === undefined || Is.boolean(candidate.paddingLeft)) && (candidate.paddingRight === undefined || Is.boolean(candidate.paddingRight)); } - let basicLength = output.length; - let handledCPCount = basicLength; - - // `handledCPCount` is the number of code points that have been handled; - // `basicLength` is the number of basic code points. - - // Finish the basic string with a delimiter unless it's empty. - if (basicLength) { - output.push(delimiter); + InlayHint.is = is; +})(InlayHint || (exports.InlayHint = InlayHint = {})); +var WorkspaceFolder; +exports.WorkspaceFolder = WorkspaceFolder; +(function (WorkspaceFolder) { + function is(value) { + var candidate = value; + return Is.objectLiteral(candidate) && URI.is(candidate.uri) && Is.string(candidate.name); } - - // Main encoding loop: - while (handledCPCount < inputLength) { - // All non-basic code points < n have been handled already. Find the next - // larger one: - let m = maxInt; - for (const currentValue of input) { - if (currentValue >= n && currentValue < m) { - m = currentValue; + WorkspaceFolder.is = is; +})(WorkspaceFolder || (exports.WorkspaceFolder = WorkspaceFolder = {})); +var EOL = ['\n', '\r\n', '\r']; +/** + * @deprecated Use the text document from the new vscode-languageserver-textdocument package. + */ +exports.EOL = EOL; +var TextDocument; +exports.TextDocument = TextDocument; +(function (TextDocument) { + /** + * Creates a new ITextDocument literal from the given uri and content. + * @param uri The document's uri. + * @param languageId The document's language Id. + * @param version The document's version. + * @param content The document's content. + */ + function create(uri, languageId, version, content) { + return new FullTextDocument(uri, languageId, version, content); + } + TextDocument.create = create; + /** + * Checks whether the given literal conforms to the [ITextDocument](#ITextDocument) interface. + */ + function is(value) { + var candidate = value; + return Is.defined(candidate) && Is.string(candidate.uri) && (Is.undefined(candidate.languageId) || Is.string(candidate.languageId)) && Is.uinteger(candidate.lineCount) && Is.func(candidate.getText) && Is.func(candidate.positionAt) && Is.func(candidate.offsetAt) ? true : false; + } + TextDocument.is = is; + function applyEdits(document, edits) { + var text = document.getText(); + var sortedEdits = mergeSort(edits, function (a, b) { + var diff = a.range.start.line - b.range.start.line; + if (diff === 0) { + return a.range.start.character - b.range.start.character; + } + return diff; + }); + var lastModifiedOffset = text.length; + for (var i = sortedEdits.length - 1; i >= 0; i--) { + var e = sortedEdits[i]; + var startOffset = document.offsetAt(e.range.start); + var endOffset = document.offsetAt(e.range.end); + if (endOffset <= lastModifiedOffset) { + text = text.substring(0, startOffset) + e.newText + text.substring(endOffset, text.length); + } else { + throw new Error('Overlapping edit'); } + lastModifiedOffset = startOffset; } - - // Increase `delta` enough to advance the decoder's state to , - // but guard against overflow. - const handledCPCountPlusOne = handledCPCount + 1; - if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) { - error('overflow'); + return text; + } + TextDocument.applyEdits = applyEdits; + function mergeSort(data, compare) { + if (data.length <= 1) { + // sorted + return data; } - delta += (m - n) * handledCPCountPlusOne; - n = m; - for (const currentValue of input) { - if (currentValue < n && ++delta > maxInt) { - error('overflow'); - } - if (currentValue == n) { - // Represent delta as a generalized variable-length integer. - let q = delta; - for /* no condition */ - (let k = base;; k += base) { - const t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias; - if (q < t) { - break; - } - const qMinusT = q - t; - const baseMinusT = base - t; - output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))); - q = floor(qMinusT / baseMinusT); - } - output.push(stringFromCharCode(digitToBasic(q, 0))); - bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength); - delta = 0; - ++handledCPCount; + var p = data.length / 2 | 0; + var left = data.slice(0, p); + var right = data.slice(p); + mergeSort(left, compare); + mergeSort(right, compare); + var leftIdx = 0; + var rightIdx = 0; + var i = 0; + while (leftIdx < left.length && rightIdx < right.length) { + var ret = compare(left[leftIdx], right[rightIdx]); + if (ret <= 0) { + // smaller_equal -> take left to preserve order + data[i++] = left[leftIdx++]; + } else { + // greater -> take right + data[i++] = right[rightIdx++]; } } - ++delta; - ++n; + while (leftIdx < left.length) { + data[i++] = left[leftIdx++]; + } + while (rightIdx < right.length) { + data[i++] = right[rightIdx++]; + } + return data; } - return output.join(''); -}; - +})(TextDocument || (exports.TextDocument = TextDocument = {})); /** - * Converts a Punycode string representing a domain name or an email address - * to Unicode. Only the Punycoded parts of the input will be converted, i.e. - * it doesn't matter if you call it on a string that has already been - * converted to Unicode. - * @memberOf punycode - * @param {String} input The Punycoded domain name or email address to - * convert to Unicode. - * @returns {String} The Unicode representation of the given Punycode - * string. + * @deprecated Use the text document from the new vscode-languageserver-textdocument package. */ -exports.encode = encode; -const toUnicode = function (input) { - return mapDomain(input, function (string) { - return regexPunycode.test(string) ? decode(string.slice(4).toLowerCase()) : string; +var FullTextDocument = /** @class */function () { + function FullTextDocument(uri, languageId, version, content) { + this._uri = uri; + this._languageId = languageId; + this._version = version; + this._content = content; + this._lineOffsets = undefined; + } + Object.defineProperty(FullTextDocument.prototype, "uri", { + get: function () { + return this._uri; + }, + enumerable: false, + configurable: true }); -}; - -/** - * Converts a Unicode string representing a domain name or an email address to - * Punycode. Only the non-ASCII parts of the domain name will be converted, - * i.e. it doesn't matter if you call it with a domain that's already in - * ASCII. - * @memberOf punycode - * @param {String} input The domain name or email address to convert, as a - * Unicode string. - * @returns {String} The Punycode representation of the given domain name or - * email address. - */ -exports.toUnicode = toUnicode; -const toASCII = function (input) { - return mapDomain(input, function (string) { - return regexNonASCII.test(string) ? 'xn--' + encode(string) : string; + Object.defineProperty(FullTextDocument.prototype, "languageId", { + get: function () { + return this._languageId; + }, + enumerable: false, + configurable: true }); -}; - -/*--------------------------------------------------------------------------*/ - -/** Define the public API */ -exports.toASCII = toASCII; -const punycode = { - /** - * A string representing the current Punycode.js version number. - * @memberOf punycode - * @type String - */ - 'version': '2.1.0', - /** - * An object of methods to convert from JavaScript's internal character - * representation (UCS-2) to Unicode code points, and back. - * @see - * @memberOf punycode - * @type Object - */ - 'ucs2': { - 'decode': ucs2decode, - 'encode': ucs2encode - }, - 'decode': decode, - 'encode': encode, - 'toASCII': toASCII, - 'toUnicode': toUnicode -}; -var _default = punycode; -exports["default"] = _default; - -/***/ }), - -/***/ "../../../node_modules/react-remove-scroll-bar/dist/es2015/component.js": -/*!******************************************************************************!*\ - !*** ../../../node_modules/react-remove-scroll-bar/dist/es2015/component.js ***! - \******************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.RemoveScrollBar = void 0; -var React = _interopRequireWildcard(__webpack_require__(/*! react */ "react")); -var _reactStyleSingleton = __webpack_require__(/*! react-style-singleton */ "../../../node_modules/react-style-singleton/dist/es2015/index.js"); -var _constants = __webpack_require__(/*! ./constants */ "../../../node_modules/react-remove-scroll-bar/dist/es2015/constants.js"); -var _utils = __webpack_require__(/*! ./utils */ "../../../node_modules/react-remove-scroll-bar/dist/es2015/utils.js"); -function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } -function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } -var Style = (0, _reactStyleSingleton.styleSingleton)(); -// important tip - once we measure scrollBar width and remove them -// we could not repeat this operation -// thus we are using style-singleton - only the first "yet correct" style will be applied. -var getStyles = function (_a, allowRelative, gapMode, important) { - var left = _a.left, - top = _a.top, - right = _a.right, - gap = _a.gap; - if (gapMode === void 0) { - gapMode = 'margin'; - } - return "\n .".concat(_constants.noScrollbarsClassName, " {\n overflow: hidden ").concat(important, ";\n padding-right: ").concat(gap, "px ").concat(important, ";\n }\n body {\n overflow: hidden ").concat(important, ";\n overscroll-behavior: contain;\n ").concat([allowRelative && "position: relative ".concat(important, ";"), gapMode === 'margin' && "\n padding-left: ".concat(left, "px;\n padding-top: ").concat(top, "px;\n padding-right: ").concat(right, "px;\n margin-left:0;\n margin-top:0;\n margin-right: ").concat(gap, "px ").concat(important, ";\n "), gapMode === 'padding' && "padding-right: ".concat(gap, "px ").concat(important, ";")].filter(Boolean).join(''), "\n }\n \n .").concat(_constants.zeroRightClassName, " {\n right: ").concat(gap, "px ").concat(important, ";\n }\n \n .").concat(_constants.fullWidthClassName, " {\n margin-right: ").concat(gap, "px ").concat(important, ";\n }\n \n .").concat(_constants.zeroRightClassName, " .").concat(_constants.zeroRightClassName, " {\n right: 0 ").concat(important, ";\n }\n \n .").concat(_constants.fullWidthClassName, " .").concat(_constants.fullWidthClassName, " {\n margin-right: 0 ").concat(important, ";\n }\n \n body {\n ").concat(_constants.removedBarSizeVariable, ": ").concat(gap, "px;\n }\n"); -}; -/** - * Removes page scrollbar and blocks page scroll when mounted - */ -var RemoveScrollBar = function (props) { - var noRelative = props.noRelative, - noImportant = props.noImportant, - _a = props.gapMode, - gapMode = _a === void 0 ? 'margin' : _a; - var gap = React.useMemo(function () { - return (0, _utils.getGapWidth)(gapMode); - }, [gapMode]); - return /*#__PURE__*/React.createElement(Style, { - styles: getStyles(gap, !noRelative, gapMode, !noImportant ? '!important' : '') + Object.defineProperty(FullTextDocument.prototype, "version", { + get: function () { + return this._version; + }, + enumerable: false, + configurable: true }); -}; -exports.RemoveScrollBar = RemoveScrollBar; - -/***/ }), - -/***/ "../../../node_modules/react-remove-scroll-bar/dist/es2015/constants.js": -/*!******************************************************************************!*\ - !*** ../../../node_modules/react-remove-scroll-bar/dist/es2015/constants.js ***! - \******************************************************************************/ -/***/ (function(__unused_webpack_module, exports) { - - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.zeroRightClassName = exports.removedBarSizeVariable = exports.noScrollbarsClassName = exports.fullWidthClassName = void 0; -var zeroRightClassName = 'right-scroll-bar-position'; -exports.zeroRightClassName = zeroRightClassName; -var fullWidthClassName = 'width-before-scroll-bar'; -exports.fullWidthClassName = fullWidthClassName; -var noScrollbarsClassName = 'with-scroll-bars-hidden'; -/** - * Name of a CSS variable containing the amount of "hidden" scrollbar - * ! might be undefined ! use will fallback! - */ -exports.noScrollbarsClassName = noScrollbarsClassName; -var removedBarSizeVariable = '--removed-body-scroll-bar-size'; -exports.removedBarSizeVariable = removedBarSizeVariable; - -/***/ }), - -/***/ "../../../node_modules/react-remove-scroll-bar/dist/es2015/index.js": -/*!**************************************************************************!*\ - !*** ../../../node_modules/react-remove-scroll-bar/dist/es2015/index.js ***! - \**************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -Object.defineProperty(exports, "RemoveScrollBar", ({ - enumerable: true, - get: function () { - return _component.RemoveScrollBar; + FullTextDocument.prototype.getText = function (range) { + if (range) { + var start = this.offsetAt(range.start); + var end = this.offsetAt(range.end); + return this._content.substring(start, end); + } + return this._content; + }; + FullTextDocument.prototype.update = function (event, version) { + this._content = event.text; + this._version = version; + this._lineOffsets = undefined; + }; + FullTextDocument.prototype.getLineOffsets = function () { + if (this._lineOffsets === undefined) { + var lineOffsets = []; + var text = this._content; + var isLineStart = true; + for (var i = 0; i < text.length; i++) { + if (isLineStart) { + lineOffsets.push(i); + isLineStart = false; + } + var ch = text.charAt(i); + isLineStart = ch === '\r' || ch === '\n'; + if (ch === '\r' && i + 1 < text.length && text.charAt(i + 1) === '\n') { + i++; + } + } + if (isLineStart && text.length > 0) { + lineOffsets.push(text.length); + } + this._lineOffsets = lineOffsets; + } + return this._lineOffsets; + }; + FullTextDocument.prototype.positionAt = function (offset) { + offset = Math.max(Math.min(offset, this._content.length), 0); + var lineOffsets = this.getLineOffsets(); + var low = 0, + high = lineOffsets.length; + if (high === 0) { + return Position.create(0, offset); + } + while (low < high) { + var mid = Math.floor((low + high) / 2); + if (lineOffsets[mid] > offset) { + high = mid; + } else { + low = mid + 1; + } + } + // low is the least x for which the line offset is larger than the current offset + // or array.length if no line offset is larger than the current offset + var line = low - 1; + return Position.create(line, offset - lineOffsets[line]); + }; + FullTextDocument.prototype.offsetAt = function (position) { + var lineOffsets = this.getLineOffsets(); + if (position.line >= lineOffsets.length) { + return this._content.length; + } else if (position.line < 0) { + return 0; + } + var lineOffset = lineOffsets[position.line]; + var nextLineOffset = position.line + 1 < lineOffsets.length ? lineOffsets[position.line + 1] : this._content.length; + return Math.max(Math.min(lineOffset + position.character, nextLineOffset), lineOffset); + }; + Object.defineProperty(FullTextDocument.prototype, "lineCount", { + get: function () { + return this.getLineOffsets().length; + }, + enumerable: false, + configurable: true + }); + return FullTextDocument; +}(); +var Is; +(function (Is) { + var toString = Object.prototype.toString; + function defined(value) { + return typeof value !== 'undefined'; } -})); -Object.defineProperty(exports, "fullWidthClassName", ({ - enumerable: true, - get: function () { - return _constants.fullWidthClassName; + Is.defined = defined; + function undefined(value) { + return typeof value === 'undefined'; } -})); -Object.defineProperty(exports, "getGapWidth", ({ - enumerable: true, - get: function () { - return _utils.getGapWidth; + Is.undefined = undefined; + function boolean(value) { + return value === true || value === false; } -})); -Object.defineProperty(exports, "noScrollbarsClassName", ({ - enumerable: true, - get: function () { - return _constants.noScrollbarsClassName; + Is.boolean = boolean; + function string(value) { + return toString.call(value) === '[object String]'; } -})); -Object.defineProperty(exports, "removedBarSizeVariable", ({ - enumerable: true, - get: function () { - return _constants.removedBarSizeVariable; + Is.string = string; + function number(value) { + return toString.call(value) === '[object Number]'; } -})); -Object.defineProperty(exports, "zeroRightClassName", ({ - enumerable: true, - get: function () { - return _constants.zeroRightClassName; + Is.number = number; + function numberRange(value, min, max) { + return toString.call(value) === '[object Number]' && min <= value && value <= max; } -})); -var _component = __webpack_require__(/*! ./component */ "../../../node_modules/react-remove-scroll-bar/dist/es2015/component.js"); -var _constants = __webpack_require__(/*! ./constants */ "../../../node_modules/react-remove-scroll-bar/dist/es2015/constants.js"); -var _utils = __webpack_require__(/*! ./utils */ "../../../node_modules/react-remove-scroll-bar/dist/es2015/utils.js"); + Is.numberRange = numberRange; + function integer(value) { + return toString.call(value) === '[object Number]' && -2147483648 <= value && value <= 2147483647; + } + Is.integer = integer; + function uinteger(value) { + return toString.call(value) === '[object Number]' && 0 <= value && value <= 2147483647; + } + Is.uinteger = uinteger; + function func(value) { + return toString.call(value) === '[object Function]'; + } + Is.func = func; + function objectLiteral(value) { + // Strictly speaking class instances pass this check as well. Since the LSP + // doesn't use classes we ignore this for now. If we do we need to add something + // like this: `Object.getPrototypeOf(Object.getPrototypeOf(x)) === null` + return value !== null && typeof value === 'object'; + } + Is.objectLiteral = objectLiteral; + function typedArray(value, check) { + return Array.isArray(value) && value.every(check); + } + Is.typedArray = typedArray; +})(Is || (Is = {})); /***/ }), -/***/ "../../../node_modules/react-remove-scroll-bar/dist/es2015/utils.js": -/*!**************************************************************************!*\ - !*** ../../../node_modules/react-remove-scroll-bar/dist/es2015/utils.js ***! - \**************************************************************************/ -/***/ (function(__unused_webpack_module, exports) { +/***/ "../../graphiql-react/dist/SchemaReference.cjs.js": +/*!********************************************************!*\ + !*** ../../graphiql-react/dist/SchemaReference.cjs.js ***! + \********************************************************/ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.zeroGap = exports.getGapWidth = void 0; -var zeroGap = { - left: 0, - top: 0, - right: 0, - gap: 0 -}; -exports.zeroGap = zeroGap; -var parse = function (x) { - return parseInt(x || '', 10) || 0; -}; -var getOffset = function (gapMode) { - var cs = window.getComputedStyle(document.body); - if (true) { - if (cs.overflowY === 'hidden') { - console.error('react-remove-scroll-bar: cannot calculate scrollbar size because it is removed (overflow:hidden on body'); +var m = Object.defineProperty; +var l = (n, r) => m(n, "name", { + value: r, + configurable: !0 +}); +const t = __webpack_require__(/*! graphql */ "../../../node_modules/graphql/index.mjs"), + s = __webpack_require__(/*! ./forEachState.cjs.js */ "../../graphiql-react/dist/forEachState.cjs.js"); +function o(n, r) { + const e = { + schema: n, + type: null, + parentType: null, + inputType: null, + directiveDef: null, + fieldDef: null, + argDef: null, + argDefs: null, + objectFieldDefs: null + }; + return s.forEachState(r, i => { + var a, c; + switch (i.kind) { + case "Query": + case "ShortQuery": + e.type = n.getQueryType(); + break; + case "Mutation": + e.type = n.getMutationType(); + break; + case "Subscription": + e.type = n.getSubscriptionType(); + break; + case "InlineFragment": + case "FragmentDefinition": + i.type && (e.type = n.getType(i.type)); + break; + case "Field": + case "AliasedField": + e.fieldDef = e.type && i.name ? T(n, e.parentType, i.name) : null, e.type = (a = e.fieldDef) === null || a === void 0 ? void 0 : a.type; + break; + case "SelectionSet": + e.parentType = e.type ? t.getNamedType(e.type) : null; + break; + case "Directive": + e.directiveDef = i.name ? n.getDirective(i.name) : null; + break; + case "Arguments": + const f = i.prevState ? i.prevState.kind === "Field" ? e.fieldDef : i.prevState.kind === "Directive" ? e.directiveDef : i.prevState.kind === "AliasedField" ? i.prevState.name && T(n, e.parentType, i.prevState.name) : null : null; + e.argDefs = f ? f.args : null; + break; + case "Argument": + if (e.argDef = null, e.argDefs) { + for (let u = 0; u < e.argDefs.length; u++) if (e.argDefs[u].name === i.name) { + e.argDef = e.argDefs[u]; + break; + } + } + e.inputType = (c = e.argDef) === null || c === void 0 ? void 0 : c.type; + break; + case "EnumValue": + const d = e.inputType ? t.getNamedType(e.inputType) : null; + e.enumValue = d instanceof t.GraphQLEnumType ? b(d.getValues(), u => u.value === i.name) : null; + break; + case "ListValue": + const g = e.inputType ? t.getNullableType(e.inputType) : null; + e.inputType = g instanceof t.GraphQLList ? g.ofType : null; + break; + case "ObjectValue": + const y = e.inputType ? t.getNamedType(e.inputType) : null; + e.objectFieldDefs = y instanceof t.GraphQLInputObjectType ? y.getFields() : null; + break; + case "ObjectField": + const p = i.name && e.objectFieldDefs ? e.objectFieldDefs[i.name] : null; + e.inputType = p == null ? void 0 : p.type; + break; + case "NamedType": + e.type = i.name ? n.getType(i.name) : null; + break; } - } - var left = cs[gapMode === 'padding' ? 'paddingLeft' : 'marginLeft']; - var top = cs[gapMode === 'padding' ? 'paddingTop' : 'marginTop']; - var right = cs[gapMode === 'padding' ? 'paddingRight' : 'marginRight']; - return [parse(left), parse(top), parse(right)]; -}; -var getGapWidth = function (gapMode) { - if (gapMode === void 0) { - gapMode = 'margin'; - } - if (typeof window === 'undefined') { - return zeroGap; - } - var offsets = getOffset(gapMode); - var documentWidth = document.documentElement.clientWidth; - var windowWidth = window.innerWidth; + }), e; +} +l(o, "getTypeInfo"); +function T(n, r, e) { + if (e === t.SchemaMetaFieldDef.name && n.getQueryType() === r) return t.SchemaMetaFieldDef; + if (e === t.TypeMetaFieldDef.name && n.getQueryType() === r) return t.TypeMetaFieldDef; + if (e === t.TypeNameMetaFieldDef.name && t.isCompositeType(r)) return t.TypeNameMetaFieldDef; + if (r && r.getFields) return r.getFields()[e]; +} +l(T, "getFieldDef"); +function b(n, r) { + for (let e = 0; e < n.length; e++) if (r(n[e])) return n[e]; +} +l(b, "find"); +function v(n) { return { - left: offsets[0], - top: offsets[1], - right: offsets[2], - gap: Math.max(0, windowWidth - documentWidth + offsets[2] - offsets[0]) + kind: "Field", + schema: n.schema, + field: n.fieldDef, + type: D(n.fieldDef) ? null : n.parentType }; -}; -exports.getGapWidth = getGapWidth; +} +l(v, "getFieldReference"); +function F(n) { + return { + kind: "Directive", + schema: n.schema, + directive: n.directiveDef + }; +} +l(F, "getDirectiveReference"); +function k(n) { + return n.directiveDef ? { + kind: "Argument", + schema: n.schema, + argument: n.argDef, + directive: n.directiveDef + } : { + kind: "Argument", + schema: n.schema, + argument: n.argDef, + field: n.fieldDef, + type: D(n.fieldDef) ? null : n.parentType + }; +} +l(k, "getArgumentReference"); +function S(n) { + return { + kind: "EnumValue", + value: n.enumValue || void 0, + type: n.inputType ? t.getNamedType(n.inputType) : void 0 + }; +} +l(S, "getEnumValueReference"); +function h(n, r) { + return { + kind: "Type", + schema: n.schema, + type: r || n.type + }; +} +l(h, "getTypeReference"); +function D(n) { + return n.name.slice(0, 2) === "__"; +} +l(D, "isMetaField"); +exports.getArgumentReference = k; +exports.getDirectiveReference = F; +exports.getEnumValueReference = S; +exports.getFieldReference = v; +exports.getTypeInfo = o; +exports.getTypeReference = h; /***/ }), -/***/ "../../../node_modules/react-remove-scroll/dist/es2015/Combination.js": -/*!****************************************************************************!*\ - !*** ../../../node_modules/react-remove-scroll/dist/es2015/Combination.js ***! - \****************************************************************************/ +/***/ "../../graphiql-react/dist/brace-fold.cjs.js": +/*!***************************************************!*\ + !*** ../../graphiql-react/dist/brace-fold.cjs.js ***! + \***************************************************/ /***/ (function(__unused_webpack_module, exports, __webpack_require__) { -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports["default"] = void 0; -var _tslib = __webpack_require__(/*! tslib */ "../../../node_modules/tslib/tslib.es6.js"); -var React = _interopRequireWildcard(__webpack_require__(/*! react */ "react")); -var _UI = __webpack_require__(/*! ./UI */ "../../../node_modules/react-remove-scroll/dist/es2015/UI.js"); -var _sidecar = _interopRequireDefault(__webpack_require__(/*! ./sidecar */ "../../../node_modules/react-remove-scroll/dist/es2015/sidecar.js")); -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } -function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } -function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } -var ReactRemoveScroll = /*#__PURE__*/React.forwardRef(function (props, ref) { - return /*#__PURE__*/React.createElement(_UI.RemoveScroll, (0, _tslib.__assign)({}, props, { - ref: ref, - sideCar: _sidecar.default - })); +var S = Object.defineProperty; +var y = (d, L) => S(d, "name", { + value: L, + configurable: !0 }); -ReactRemoveScroll.classNames = _UI.RemoveScroll.classNames; -var _default = ReactRemoveScroll; -exports["default"] = _default; +const _ = __webpack_require__(/*! ./codemirror.cjs2.js */ "../../graphiql-react/dist/codemirror.cjs2.js"); +function m(d, L) { + for (var e = 0; e < L.length; e++) { + const g = L[e]; + if (typeof g != "string" && !Array.isArray(g)) { + for (const t in g) if (t !== "default" && !(t in d)) { + const a = Object.getOwnPropertyDescriptor(g, t); + a && Object.defineProperty(d, t, a.get ? a : { + enumerable: !0, + get: () => g[t] + }); + } + } + } + return Object.freeze(Object.defineProperty(d, Symbol.toStringTag, { + value: "Module" + })); +} +y(m, "_mergeNamespaces"); +var I = { + exports: {} +}; +(function (d, L) { + (function (e) { + e(_.requireCodemirror()); + })(function (e) { + function g(t) { + return function (a, f) { + var n = f.line, + o = a.getLine(n); + function v(l) { + for (var u, c = f.ch, h = 0;;) { + var b = c <= 0 ? -1 : o.lastIndexOf(l[0], c - 1); + if (b == -1) { + if (h == 1) break; + h = 1, c = o.length; + continue; + } + if (h == 1 && b < f.ch) break; + if (u = a.getTokenTypeAt(e.Pos(n, b + 1)), !/^(comment|string)/.test(u)) return { + ch: b + 1, + tokenType: u, + pair: l + }; + c = b - 1; + } + } + y(v, "findOpening"); + function k(l) { + var u = 1, + c = a.lastLine(), + h, + b = l.ch, + j; + e: for (var T = n; T <= c; ++T) for (var A = a.getLine(T), p = T == n ? b : 0;;) { + var F = A.indexOf(l.pair[0], p), + O = A.indexOf(l.pair[1], p); + if (F < 0 && (F = A.length), O < 0 && (O = A.length), p = Math.min(F, O), p == A.length) break; + if (a.getTokenTypeAt(e.Pos(T, p + 1)) == l.tokenType) { + if (p == F) ++u;else if (! --u) { + h = T, j = p; + break e; + } + } + ++p; + } + return h == null || n == h ? null : { + from: e.Pos(n, b), + to: e.Pos(h, j) + }; + } + y(k, "findRange"); + for (var i = [], r = 0; r < t.length; r++) { + var s = v(t[r]); + s && i.push(s); + } + i.sort(function (l, u) { + return l.ch - u.ch; + }); + for (var r = 0; r < i.length; r++) { + var P = k(i[r]); + if (P) return P; + } + return null; + }; + } + y(g, "bracketFolding"), e.registerHelper("fold", "brace", g([["{", "}"], ["[", "]"]])), e.registerHelper("fold", "brace-paren", g([["{", "}"], ["[", "]"], ["(", ")"]])), e.registerHelper("fold", "import", function (t, a) { + function f(r) { + if (r < t.firstLine() || r > t.lastLine()) return null; + var s = t.getTokenAt(e.Pos(r, 1)); + if (/\S/.test(s.string) || (s = t.getTokenAt(e.Pos(r, s.end + 1))), s.type != "keyword" || s.string != "import") return null; + for (var P = r, l = Math.min(t.lastLine(), r + 10); P <= l; ++P) { + var u = t.getLine(P), + c = u.indexOf(";"); + if (c != -1) return { + startCh: s.end, + end: e.Pos(P, c) + }; + } + } + y(f, "hasImport"); + var n = a.line, + o = f(n), + v; + if (!o || f(n - 1) || (v = f(n - 2)) && v.end.line == n - 1) return null; + for (var k = o.end;;) { + var i = f(k.line + 1); + if (i == null) break; + k = i.end; + } + return { + from: t.clipPos(e.Pos(n, o.startCh + 1)), + to: k + }; + }), e.registerHelper("fold", "include", function (t, a) { + function f(i) { + if (i < t.firstLine() || i > t.lastLine()) return null; + var r = t.getTokenAt(e.Pos(i, 1)); + if (/\S/.test(r.string) || (r = t.getTokenAt(e.Pos(i, r.end + 1))), r.type == "meta" && r.string.slice(0, 8) == "#include") return r.start + 8; + } + y(f, "hasInclude"); + var n = a.line, + o = f(n); + if (o == null || f(n - 1) != null) return null; + for (var v = n;;) { + var k = f(v + 1); + if (k == null) break; + ++v; + } + return { + from: e.Pos(n, o + 1), + to: t.clipPos(e.Pos(v)) + }; + }); + }); +})(); +var H = I.exports; +const q = _.getDefaultExportFromCjs(H), + w = m({ + __proto__: null, + default: q + }, [H]); +exports.braceFold = w; /***/ }), -/***/ "../../../node_modules/react-remove-scroll/dist/es2015/SideEffect.js": -/*!***************************************************************************!*\ - !*** ../../../node_modules/react-remove-scroll/dist/es2015/SideEffect.js ***! - \***************************************************************************/ +/***/ "../../graphiql-react/dist/closebrackets.cjs.js": +/*!******************************************************!*\ + !*** ../../graphiql-react/dist/closebrackets.cjs.js ***! + \******************************************************/ /***/ (function(__unused_webpack_module, exports, __webpack_require__) { -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.RemoveScrollSideCar = RemoveScrollSideCar; -exports.getTouchXY = exports.getDeltaXY = void 0; -var _tslib = __webpack_require__(/*! tslib */ "../../../node_modules/tslib/tslib.es6.js"); -var React = _interopRequireWildcard(__webpack_require__(/*! react */ "react")); -var _reactRemoveScrollBar = __webpack_require__(/*! react-remove-scroll-bar */ "../../../node_modules/react-remove-scroll-bar/dist/es2015/index.js"); -var _reactStyleSingleton = __webpack_require__(/*! react-style-singleton */ "../../../node_modules/react-style-singleton/dist/es2015/index.js"); -var _aggresiveCapture = __webpack_require__(/*! ./aggresiveCapture */ "../../../node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js"); -var _handleScroll = __webpack_require__(/*! ./handleScroll */ "../../../node_modules/react-remove-scroll/dist/es2015/handleScroll.js"); -function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } -function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } -var getTouchXY = function (event) { - return 'changedTouches' in event ? [event.changedTouches[0].clientX, event.changedTouches[0].clientY] : [0, 0]; -}; -exports.getTouchXY = getTouchXY; -var getDeltaXY = function (event) { - return [event.deltaX, event.deltaY]; -}; -exports.getDeltaXY = getDeltaXY; -var extractRef = function (ref) { - return ref && 'current' in ref ? ref.current : ref; -}; -var deltaCompare = function (x, y) { - return x[0] === y[0] && x[1] === y[1]; -}; -var generateStyle = function (id) { - return "\n .block-interactivity-".concat(id, " {pointer-events: none;}\n .allow-interactivity-").concat(id, " {pointer-events: all;}\n"); -}; -var idCounter = 0; -var lockStack = []; -function RemoveScrollSideCar(props) { - var shouldPreventQueue = React.useRef([]); - var touchStartRef = React.useRef([0, 0]); - var activeAxis = React.useRef(); - var id = React.useState(idCounter++)[0]; - var Style = React.useState(function () { - return (0, _reactStyleSingleton.styleSingleton)(); - })[0]; - var lastProps = React.useRef(props); - React.useEffect(function () { - lastProps.current = props; - }, [props]); - React.useEffect(function () { - if (props.inert) { - document.body.classList.add("block-interactivity-".concat(id)); - var allow_1 = (0, _tslib.__spreadArray)([props.lockRef.current], (props.shards || []).map(extractRef), true).filter(Boolean); - allow_1.forEach(function (el) { - return el.classList.add("allow-interactivity-".concat(id)); - }); - return function () { - document.body.classList.remove("block-interactivity-".concat(id)); - allow_1.forEach(function (el) { - return el.classList.remove("allow-interactivity-".concat(id)); +var G = Object.defineProperty; +var f = (S, P) => G(S, "name", { + value: P, + configurable: !0 +}); +const q = __webpack_require__(/*! ./codemirror.cjs2.js */ "../../graphiql-react/dist/codemirror.cjs2.js"); +function H(S, P) { + for (var a = 0; a < P.length; a++) { + const c = P[a]; + if (typeof c != "string" && !Array.isArray(c)) { + for (const i in c) if (i !== "default" && !(i in S)) { + const v = Object.getOwnPropertyDescriptor(c, i); + v && Object.defineProperty(S, i, v.get ? v : { + enumerable: !0, + get: () => c[i] }); - }; - } - return; - }, [props.inert, props.lockRef.current, props.shards]); - var shouldCancelEvent = React.useCallback(function (event, parent) { - if ('touches' in event && event.touches.length === 2) { - return !lastProps.current.allowPinchZoom; - } - var touch = getTouchXY(event); - var touchStart = touchStartRef.current; - var deltaX = 'deltaX' in event ? event.deltaX : touchStart[0] - touch[0]; - var deltaY = 'deltaY' in event ? event.deltaY : touchStart[1] - touch[1]; - var currentAxis; - var target = event.target; - var moveDirection = Math.abs(deltaX) > Math.abs(deltaY) ? 'h' : 'v'; - // allow horizontal touch move on Range inputs. They will not cause any scroll - if ('touches' in event && moveDirection === 'h' && target.type === 'range') { - return false; + } } - var canBeScrolledInMainDirection = (0, _handleScroll.locationCouldBeScrolled)(moveDirection, target); - if (!canBeScrolledInMainDirection) { - return true; + } + return Object.freeze(Object.defineProperty(S, Symbol.toStringTag, { + value: "Module" + })); +} +f(H, "_mergeNamespaces"); +var J = { + exports: {} +}; +(function (S, P) { + (function (a) { + a(q.requireCodemirror()); + })(function (a) { + var c = { + pairs: `()[]{}''""`, + closeBefore: `)]}'":;>`, + triples: "", + explode: "[]{}" + }, + i = a.Pos; + a.defineOption("autoCloseBrackets", !1, function (e, t, n) { + n && n != a.Init && (e.removeKeyMap(B), e.state.closeBrackets = null), t && (_(v(t, "pairs")), e.state.closeBrackets = t, e.addKeyMap(B)); + }); + function v(e, t) { + return t == "pairs" && typeof e == "string" ? e : typeof e == "object" && e[t] != null ? e[t] : c[t]; } - if (canBeScrolledInMainDirection) { - currentAxis = moveDirection; - } else { - currentAxis = moveDirection === 'v' ? 'h' : 'v'; - canBeScrolledInMainDirection = (0, _handleScroll.locationCouldBeScrolled)(moveDirection, target); - // other axis might be not scrollable + f(v, "getOption"); + var B = { + Backspace: L, + Enter: W + }; + function _(e) { + for (var t = 0; t < e.length; t++) { + var n = e.charAt(t), + s = "'" + n + "'"; + B[s] || (B[s] = K(n)); + } } - - if (!canBeScrolledInMainDirection) { - return false; + f(_, "ensureBound"), _(c.pairs + "`"); + function K(e) { + return function (t) { + return z(t, e); + }; } - if (!activeAxis.current && 'changedTouches' in event && (deltaX || deltaY)) { - activeAxis.current = currentAxis; + f(K, "handler"); + function x(e) { + var t = e.state.closeBrackets; + if (!t || t.override) return t; + var n = e.getModeAt(e.getCursor()); + return n.closeBrackets || t; } - if (!currentAxis) { - return true; - } - var cancelingAxis = activeAxis.current || currentAxis; - return (0, _handleScroll.handleScroll)(cancelingAxis, parent, event, cancelingAxis === 'h' ? deltaX : deltaY, true); - }, []); - var shouldPrevent = React.useCallback(function (_event) { - var event = _event; - if (!lockStack.length || lockStack[lockStack.length - 1] !== Style) { - // not the last active - return; - } - var delta = 'deltaY' in event ? getDeltaXY(event) : getTouchXY(event); - var sourceEvent = shouldPreventQueue.current.filter(function (e) { - return e.name === event.type && e.target === event.target && deltaCompare(e.delta, delta); - })[0]; - // self event, and should be canceled - if (sourceEvent && sourceEvent.should) { - if (event.cancelable) { - event.preventDefault(); + f(x, "getConfig"); + function L(e) { + var t = x(e); + if (!t || e.getOption("disableInput")) return a.Pass; + for (var n = v(t, "pairs"), s = e.listSelections(), r = 0; r < s.length; r++) { + if (!s[r].empty()) return a.Pass; + var h = w(e, s[r].head); + if (!h || n.indexOf(h) % 2 != 0) return a.Pass; + } + for (var r = s.length - 1; r >= 0; r--) { + var o = s[r].head; + e.replaceRange("", i(o.line, o.ch - 1), i(o.line, o.ch + 1), "+delete"); } - return; } - // outside or shard event - if (!sourceEvent) { - var shardNodes = (lastProps.current.shards || []).map(extractRef).filter(Boolean).filter(function (node) { - return node.contains(event.target); - }); - var shouldStop = shardNodes.length > 0 ? shouldCancelEvent(event, shardNodes[0]) : !lastProps.current.noIsolation; - if (shouldStop) { - if (event.cancelable) { - event.preventDefault(); + f(L, "handleBackspace"); + function W(e) { + var t = x(e), + n = t && v(t, "explode"); + if (!n || e.getOption("disableInput")) return a.Pass; + for (var s = e.listSelections(), r = 0; r < s.length; r++) { + if (!s[r].empty()) return a.Pass; + var h = w(e, s[r].head); + if (!h || n.indexOf(h) % 2 != 0) return a.Pass; + } + e.operation(function () { + var o = e.lineSeparator() || ` +`; + e.replaceSelection(o + o, null), O(e, -1), s = e.listSelections(); + for (var g = 0; g < s.length; g++) { + var A = s[g].head.line; + e.indentLine(A, null, !0), e.indentLine(A + 1, null, !0); } + }); + } + f(W, "handleEnter"); + function O(e, t) { + for (var n = [], s = e.listSelections(), r = 0, h = 0; h < s.length; h++) { + var o = s[h]; + o.head == e.getCursor() && (r = h); + var g = o.head.ch || t > 0 ? { + line: o.head.line, + ch: o.head.ch + t + } : { + line: o.head.line - 1 + }; + n.push({ + anchor: g, + head: g + }); } + e.setSelections(n, r); } - }, []); - var shouldCancel = React.useCallback(function (name, delta, target, should) { - var event = { - name: name, - delta: delta, - target: target, - should: should - }; - shouldPreventQueue.current.push(event); - setTimeout(function () { - shouldPreventQueue.current = shouldPreventQueue.current.filter(function (e) { - return e !== event; - }); - }, 1); - }, []); - var scrollTouchStart = React.useCallback(function (event) { - touchStartRef.current = getTouchXY(event); - activeAxis.current = undefined; - }, []); - var scrollWheel = React.useCallback(function (event) { - shouldCancel(event.type, getDeltaXY(event), event.target, shouldCancelEvent(event, props.lockRef.current)); - }, []); - var scrollTouchMove = React.useCallback(function (event) { - shouldCancel(event.type, getTouchXY(event), event.target, shouldCancelEvent(event, props.lockRef.current)); - }, []); - React.useEffect(function () { - lockStack.push(Style); - props.setCallbacks({ - onScrollCapture: scrollWheel, - onWheelCapture: scrollWheel, - onTouchMoveCapture: scrollTouchMove - }); - document.addEventListener('wheel', shouldPrevent, _aggresiveCapture.nonPassive); - document.addEventListener('touchmove', shouldPrevent, _aggresiveCapture.nonPassive); - document.addEventListener('touchstart', scrollTouchStart, _aggresiveCapture.nonPassive); - return function () { - lockStack = lockStack.filter(function (inst) { - return inst !== Style; + f(O, "moveSel"); + function $(e) { + var t = a.cmpPos(e.anchor, e.head) > 0; + return { + anchor: new i(e.anchor.line, e.anchor.ch + (t ? -1 : 1)), + head: new i(e.head.line, e.head.ch + (t ? 1 : -1)) + }; + } + f($, "contractSelection"); + function z(e, t) { + var n = x(e); + if (!n || e.getOption("disableInput")) return a.Pass; + var s = v(n, "pairs"), + r = s.indexOf(t); + if (r == -1) return a.Pass; + for (var h = v(n, "closeBefore"), o = v(n, "triples"), g = s.charAt(r + 1) == t, A = e.listSelections(), R = r % 2 == 0, b, j = 0; j < A.length; j++) { + var I = A[j], + l = I.head, + u, + y = e.getRange(l, i(l.line, l.ch + 1)); + if (R && !I.empty()) u = "surround";else if ((g || !R) && y == t) g && N(e, l) ? u = "both" : o.indexOf(t) >= 0 && e.getRange(l, i(l.line, l.ch + 3)) == t + t + t ? u = "skipThree" : u = "skip";else if (g && l.ch > 1 && o.indexOf(t) >= 0 && e.getRange(i(l.line, l.ch - 2), l) == t + t) { + if (l.ch > 2 && /\bstring/.test(e.getTokenTypeAt(i(l.line, l.ch - 2)))) return a.Pass; + u = "addFour"; + } else if (g) { + var F = l.ch == 0 ? " " : e.getRange(i(l.line, l.ch - 1), l); + if (!a.isWordChar(y) && F != t && !a.isWordChar(F)) u = "both";else return a.Pass; + } else if (R && (y.length === 0 || /\s/.test(y) || h.indexOf(y) > -1)) u = "both";else return a.Pass; + if (!b) b = u;else if (b != u) return a.Pass; + } + var k = r % 2 ? s.charAt(r - 1) : t, + E = r % 2 ? t : s.charAt(r + 1); + e.operation(function () { + if (b == "skip") O(e, 1);else if (b == "skipThree") O(e, 3);else if (b == "surround") { + for (var p = e.getSelections(), d = 0; d < p.length; d++) p[d] = k + p[d] + E; + e.replaceSelections(p, "around"), p = e.listSelections().slice(); + for (var d = 0; d < p.length; d++) p[d] = $(p[d]); + e.setSelections(p); + } else b == "both" ? (e.replaceSelection(k + E, null), e.triggerElectric(k + E), O(e, -1)) : b == "addFour" && (e.replaceSelection(k + k + k + k, "before"), O(e, 1)); }); - document.removeEventListener('wheel', shouldPrevent, _aggresiveCapture.nonPassive); - document.removeEventListener('touchmove', shouldPrevent, _aggresiveCapture.nonPassive); - document.removeEventListener('touchstart', scrollTouchStart, _aggresiveCapture.nonPassive); - }; - }, []); - var removeScrollBar = props.removeScrollBar, - inert = props.inert; - return /*#__PURE__*/React.createElement(React.Fragment, null, inert ? /*#__PURE__*/React.createElement(Style, { - styles: generateStyle(id) - }) : null, removeScrollBar ? /*#__PURE__*/React.createElement(_reactRemoveScrollBar.RemoveScrollBar, { - gapMode: "margin" - }) : null); -} + } + f(z, "handleChar"); + function w(e, t) { + var n = e.getRange(i(t.line, t.ch - 1), i(t.line, t.ch + 1)); + return n.length == 2 ? n : null; + } + f(w, "charsAround"); + function N(e, t) { + var n = e.getTokenAt(i(t.line, t.ch + 1)); + return /\bstring/.test(n.type) && n.start == t.ch && (t.ch == 0 || !/\bstring/.test(e.getTokenTypeAt(t))); + } + f(N, "stringStartsAfter"); + }); +})(); +var D = J.exports; +const Q = q.getDefaultExportFromCjs(D), + T = H({ + __proto__: null, + default: Q + }, [D]); +exports.closebrackets = T; /***/ }), -/***/ "../../../node_modules/react-remove-scroll/dist/es2015/UI.js": -/*!*******************************************************************!*\ - !*** ../../../node_modules/react-remove-scroll/dist/es2015/UI.js ***! - \*******************************************************************/ +/***/ "../../graphiql-react/dist/codemirror.cjs.js": +/*!***************************************************!*\ + !*** ../../graphiql-react/dist/codemirror.cjs.js ***! + \***************************************************/ /***/ (function(__unused_webpack_module, exports, __webpack_require__) { -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.RemoveScroll = void 0; -var _tslib = __webpack_require__(/*! tslib */ "../../../node_modules/tslib/tslib.es6.js"); -var React = _interopRequireWildcard(__webpack_require__(/*! react */ "react")); -var _constants = __webpack_require__(/*! react-remove-scroll-bar/constants */ "../../../node_modules/react-remove-scroll-bar/dist/es2015/constants.js"); -var _useCallbackRef = __webpack_require__(/*! use-callback-ref */ "../../../node_modules/use-callback-ref/dist/es2015/index.js"); -var _medium = __webpack_require__(/*! ./medium */ "../../../node_modules/react-remove-scroll/dist/es2015/medium.js"); -function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } -function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } -var nothing = function () { - return; -}; -/** - * Removes scrollbar from the page and contain the scroll within the Lock - */ -var RemoveScroll = /*#__PURE__*/React.forwardRef(function (props, parentRef) { - var ref = React.useRef(null); - var _a = React.useState({ - onScrollCapture: nothing, - onWheelCapture: nothing, - onTouchMoveCapture: nothing - }), - callbacks = _a[0], - setCallbacks = _a[1]; - var forwardProps = props.forwardProps, - children = props.children, - className = props.className, - removeScrollBar = props.removeScrollBar, - enabled = props.enabled, - shards = props.shards, - sideCar = props.sideCar, - noIsolation = props.noIsolation, - inert = props.inert, - allowPinchZoom = props.allowPinchZoom, - _b = props.as, - Container = _b === void 0 ? 'div' : _b, - rest = (0, _tslib.__rest)(props, ["forwardProps", "children", "className", "removeScrollBar", "enabled", "shards", "sideCar", "noIsolation", "inert", "allowPinchZoom", "as"]); - var SideCar = sideCar; - var containerRef = (0, _useCallbackRef.useMergeRefs)([ref, parentRef]); - var containerProps = (0, _tslib.__assign)((0, _tslib.__assign)({}, rest), callbacks); - return /*#__PURE__*/React.createElement(React.Fragment, null, enabled && /*#__PURE__*/React.createElement(SideCar, { - sideCar: _medium.effectCar, - removeScrollBar: removeScrollBar, - shards: shards, - noIsolation: noIsolation, - inert: inert, - setCallbacks: setCallbacks, - allowPinchZoom: !!allowPinchZoom, - lockRef: ref - }), forwardProps ? /*#__PURE__*/React.cloneElement(React.Children.only(children), (0, _tslib.__assign)((0, _tslib.__assign)({}, containerProps), { - ref: containerRef - })) : /*#__PURE__*/React.createElement(Container, (0, _tslib.__assign)({}, containerProps, { - className: className, - ref: containerRef - }), children)); +var u = Object.defineProperty; +var n = (r, t) => u(r, "name", { + value: t, + configurable: !0 }); -exports.RemoveScroll = RemoveScroll; -RemoveScroll.defaultProps = { - enabled: true, - removeScrollBar: true, - inert: false -}; -RemoveScroll.classNames = { - fullWidth: _constants.fullWidthClassName, - zeroRight: _constants.zeroRightClassName -}; - -/***/ }), - -/***/ "../../../node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js": -/*!*********************************************************************************!*\ - !*** ../../../node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js ***! - \*********************************************************************************/ -/***/ (function(__unused_webpack_module, exports) { - - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.nonPassive = void 0; -var passiveSupported = false; -if (typeof window !== 'undefined') { - try { - var options = Object.defineProperty({}, 'passive', { - get: function () { - passiveSupported = true; - return true; +const s = __webpack_require__(/*! ./codemirror.cjs2.js */ "../../graphiql-react/dist/codemirror.cjs2.js"); +function a(r, t) { + for (var i = 0; i < t.length; i++) { + const e = t[i]; + if (typeof e != "string" && !Array.isArray(e)) { + for (const o in e) if (o !== "default" && !(o in r)) { + const c = Object.getOwnPropertyDescriptor(e, o); + c && Object.defineProperty(r, o, c.get ? c : { + enumerable: !0, + get: () => e[o] + }); } - }); - // @ts-ignore - window.addEventListener('test', options, options); - // @ts-ignore - window.removeEventListener('test', options, options); - } catch (err) { - passiveSupported = false; + } } + return Object.freeze(Object.defineProperty(r, Symbol.toStringTag, { + value: "Module" + })); } -var nonPassive = passiveSupported ? { - passive: false -} : false; -exports.nonPassive = nonPassive; +n(a, "_mergeNamespaces"); +var d = s.requireCodemirror(); +const f = s.getDefaultExportFromCjs(d), + l = a({ + __proto__: null, + default: f + }, [d]); +exports.CodeMirror = f; +exports.codemirror = l; /***/ }), -/***/ "../../../node_modules/react-remove-scroll/dist/es2015/handleScroll.js": -/*!*****************************************************************************!*\ - !*** ../../../node_modules/react-remove-scroll/dist/es2015/handleScroll.js ***! - \*****************************************************************************/ -/***/ (function(__unused_webpack_module, exports) { +/***/ "../../graphiql-react/dist/codemirror.cjs2.js": +/*!****************************************************!*\ + !*** ../../graphiql-react/dist/codemirror.cjs2.js ***! + \****************************************************/ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.locationCouldBeScrolled = exports.handleScroll = void 0; -var alwaysContainsScroll = function (node) { - // textarea will always _contain_ scroll inside self. It only can be hidden - return node.tagName === 'TEXTAREA'; -}; -var elementCanBeScrolled = function (node, overflow) { - var styles = window.getComputedStyle(node); - return ( - // not-not-scrollable - styles[overflow] !== 'hidden' && - // contains scroll inside self - !(styles.overflowY === styles.overflowX && !alwaysContainsScroll(node) && styles[overflow] === 'visible') - ); -}; -var elementCouldBeVScrolled = function (node) { - return elementCanBeScrolled(node, 'overflowY'); -}; -var elementCouldBeHScrolled = function (node) { - return elementCanBeScrolled(node, 'overflowX'); -}; -var locationCouldBeScrolled = function (axis, node) { - var current = node; - do { - // Skip over shadow root - if (typeof ShadowRoot !== 'undefined' && current instanceof ShadowRoot) { - current = current.host; - } - var isScrollable = elementCouldBeScrolled(axis, current); - if (isScrollable) { - var _a = getScrollVariables(axis, current), - s = _a[1], - d = _a[2]; - if (s > d) { - return true; +var su = Object.defineProperty; +var u = (He, Dn) => su(He, "name", { + value: Dn, + configurable: !0 +}); +var uu = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof __webpack_require__.g < "u" ? __webpack_require__.g : typeof self < "u" ? self : {}; +function fu(He) { + return He && He.__esModule && Object.prototype.hasOwnProperty.call(He, "default") ? He.default : He; +} +u(fu, "getDefaultExportFromCjs"); +var Mn = { + exports: {} + }, + Ko; +function hu() { + return Ko || (Ko = 1, function (He, Dn) { + (function (ie, Lr) { + He.exports = Lr(); + })(uu, function () { + var ie = navigator.userAgent, + Lr = navigator.platform, + Fe = /gecko\/\d/i.test(ie), + Nn = /MSIE \d/.test(ie), + An = /Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(ie), + kr = /Edge\/(\d+)/.exec(ie), + O = Nn || An || kr, + I = O && (Nn ? document.documentMode || 6 : +(kr || An)[1]), + ne = !kr && /WebKit\//.test(ie), + _o = ne && /Qt\/\d+\.\d+/.test(ie), + Tr = !kr && /Chrome\//.test(ie), + we = /Opera\//.test(ie), + Mr = /Apple Computer/.test(navigator.vendor), + Xo = /Mac OS X 1\d\D([8-9]|\d\d)\D/.test(ie), + Yo = /PhantomJS/.test(ie), + Ut = Mr && (/Mobile\/\w+/.test(ie) || navigator.maxTouchPoints > 2), + Dr = /Android/.test(ie), + Kt = Ut || Dr || /webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(ie), + me = Ut || /Mac/.test(Lr), + qo = /\bCrOS\b/.test(ie), + Zo = /win/i.test(Lr), + et = we && ie.match(/Version\/(\d*\.\d*)/); + et && (et = Number(et[1])), et && et >= 15 && (we = !1, ne = !0); + var On = me && (_o || we && (et == null || et < 12.11)), + ci = Fe || O && I >= 9; + function mt(e) { + return new RegExp("(^|\\s)" + e + "(?:$|\\s)\\s*"); } - } - current = current.parentNode; - } while (current && current !== document.body); - return false; -}; -exports.locationCouldBeScrolled = locationCouldBeScrolled; -var getVScrollVariables = function (_a) { - var scrollTop = _a.scrollTop, - scrollHeight = _a.scrollHeight, - clientHeight = _a.clientHeight; - return [scrollTop, scrollHeight, clientHeight]; -}; -var getHScrollVariables = function (_a) { - var scrollLeft = _a.scrollLeft, - scrollWidth = _a.scrollWidth, - clientWidth = _a.clientWidth; - return [scrollLeft, scrollWidth, clientWidth]; -}; -var elementCouldBeScrolled = function (axis, node) { - return axis === 'v' ? elementCouldBeVScrolled(node) : elementCouldBeHScrolled(node); -}; -var getScrollVariables = function (axis, node) { - return axis === 'v' ? getVScrollVariables(node) : getHScrollVariables(node); -}; -var getDirectionFactor = function (axis, direction) { - /** - * If the element's direction is rtl (right-to-left), then scrollLeft is 0 when the scrollbar is at its rightmost position, - * and then increasingly negative as you scroll towards the end of the content. - * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollLeft - */ - return axis === 'h' && direction === 'rtl' ? -1 : 1; -}; -var handleScroll = function (axis, endTarget, event, sourceDelta, noOverscroll) { - var directionFactor = getDirectionFactor(axis, window.getComputedStyle(endTarget).direction); - var delta = directionFactor * sourceDelta; - // find scrollable target - var target = event.target; - var targetInLock = endTarget.contains(target); - var shouldCancelScroll = false; - var isDeltaPositive = delta > 0; - var availableScroll = 0; - var availableScrollTop = 0; - do { - var _a = getScrollVariables(axis, target), - position = _a[0], - scroll_1 = _a[1], - capacity = _a[2]; - var elementScroll = scroll_1 - capacity - directionFactor * position; - if (position || elementScroll) { - if (elementCouldBeScrolled(axis, target)) { - availableScroll += elementScroll; - availableScrollTop += position; + u(mt, "classTest"); + var tt = u(function (e, t) { + var i = e.className, + r = mt(t).exec(i); + if (r) { + var n = i.slice(r.index + r[0].length); + e.className = i.slice(0, r.index) + (n ? r[1] + n : ""); + } + }, "rmClass"); + function Ue(e) { + for (var t = e.childNodes.length; t > 0; --t) e.removeChild(e.firstChild); + return e; } - } - target = target.parentNode; - } while ( - // portaled content - !targetInLock && target !== document.body || - // self content - targetInLock && (endTarget.contains(target) || endTarget === target)); - if (isDeltaPositive && (noOverscroll && availableScroll === 0 || !noOverscroll && delta > availableScroll)) { - shouldCancelScroll = true; - } else if (!isDeltaPositive && (noOverscroll && availableScrollTop === 0 || !noOverscroll && -delta > availableScrollTop)) { - shouldCancelScroll = true; - } - return shouldCancelScroll; -}; -exports.handleScroll = handleScroll; - -/***/ }), - -/***/ "../../../node_modules/react-remove-scroll/dist/es2015/index.js": -/*!**********************************************************************!*\ - !*** ../../../node_modules/react-remove-scroll/dist/es2015/index.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -Object.defineProperty(exports, "RemoveScroll", ({ - enumerable: true, - get: function () { - return _Combination.default; - } -})); -var _Combination = _interopRequireDefault(__webpack_require__(/*! ./Combination */ "../../../node_modules/react-remove-scroll/dist/es2015/Combination.js")); -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/***/ }), - -/***/ "../../../node_modules/react-remove-scroll/dist/es2015/medium.js": -/*!***********************************************************************!*\ - !*** ../../../node_modules/react-remove-scroll/dist/es2015/medium.js ***! - \***********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.effectCar = void 0; -var _useSidecar = __webpack_require__(/*! use-sidecar */ "../../../node_modules/use-sidecar/dist/es2015/index.js"); -var effectCar = (0, _useSidecar.createSidecarMedium)(); -exports.effectCar = effectCar; - -/***/ }), - -/***/ "../../../node_modules/react-remove-scroll/dist/es2015/sidecar.js": -/*!************************************************************************!*\ - !*** ../../../node_modules/react-remove-scroll/dist/es2015/sidecar.js ***! - \************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports["default"] = void 0; -var _useSidecar = __webpack_require__(/*! use-sidecar */ "../../../node_modules/use-sidecar/dist/es2015/index.js"); -var _SideEffect = __webpack_require__(/*! ./SideEffect */ "../../../node_modules/react-remove-scroll/dist/es2015/SideEffect.js"); -var _medium = __webpack_require__(/*! ./medium */ "../../../node_modules/react-remove-scroll/dist/es2015/medium.js"); -var _default = (0, _useSidecar.exportSidecar)(_medium.effectCar, _SideEffect.RemoveScrollSideCar); -exports["default"] = _default; - -/***/ }), - -/***/ "../../../node_modules/react-style-singleton/dist/es2015/component.js": -/*!****************************************************************************!*\ - !*** ../../../node_modules/react-style-singleton/dist/es2015/component.js ***! - \****************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.styleSingleton = void 0; -var _hook = __webpack_require__(/*! ./hook */ "../../../node_modules/react-style-singleton/dist/es2015/hook.js"); -/** - * create a Component to add styles on demand - * - styles are added when first instance is mounted - * - styles are removed when the last instance is unmounted - * - changing styles in runtime does nothing unless dynamic is set. But with multiple components that can lead to the undefined behavior - */ -var styleSingleton = function () { - var useStyle = (0, _hook.styleHookSingleton)(); - var Sheet = function (_a) { - var styles = _a.styles, - dynamic = _a.dynamic; - useStyle(styles, dynamic); - return null; - }; - return Sheet; -}; -exports.styleSingleton = styleSingleton; - -/***/ }), - -/***/ "../../../node_modules/react-style-singleton/dist/es2015/hook.js": -/*!***********************************************************************!*\ - !*** ../../../node_modules/react-style-singleton/dist/es2015/hook.js ***! - \***********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.styleHookSingleton = void 0; -var React = _interopRequireWildcard(__webpack_require__(/*! react */ "react")); -var _singleton = __webpack_require__(/*! ./singleton */ "../../../node_modules/react-style-singleton/dist/es2015/singleton.js"); -function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } -function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } -/** - * creates a hook to control style singleton - * @see {@link styleSingleton} for a safer component version - * @example - * ```tsx - * const useStyle = styleHookSingleton(); - * /// - * useStyle('body { overflow: hidden}'); - */ -var styleHookSingleton = function () { - var sheet = (0, _singleton.stylesheetSingleton)(); - return function (styles, isDynamic) { - React.useEffect(function () { - sheet.add(styles); - return function () { - sheet.remove(); - }; - }, [styles && isDynamic]); - }; -}; -exports.styleHookSingleton = styleHookSingleton; - -/***/ }), - -/***/ "../../../node_modules/react-style-singleton/dist/es2015/index.js": -/*!************************************************************************!*\ - !*** ../../../node_modules/react-style-singleton/dist/es2015/index.js ***! - \************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -Object.defineProperty(exports, "styleHookSingleton", ({ - enumerable: true, - get: function () { - return _hook.styleHookSingleton; - } -})); -Object.defineProperty(exports, "styleSingleton", ({ - enumerable: true, - get: function () { - return _component.styleSingleton; - } -})); -Object.defineProperty(exports, "stylesheetSingleton", ({ - enumerable: true, - get: function () { - return _singleton.stylesheetSingleton; - } -})); -var _component = __webpack_require__(/*! ./component */ "../../../node_modules/react-style-singleton/dist/es2015/component.js"); -var _singleton = __webpack_require__(/*! ./singleton */ "../../../node_modules/react-style-singleton/dist/es2015/singleton.js"); -var _hook = __webpack_require__(/*! ./hook */ "../../../node_modules/react-style-singleton/dist/es2015/hook.js"); - -/***/ }), - -/***/ "../../../node_modules/react-style-singleton/dist/es2015/singleton.js": -/*!****************************************************************************!*\ - !*** ../../../node_modules/react-style-singleton/dist/es2015/singleton.js ***! - \****************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.stylesheetSingleton = void 0; -var _getNonce = __webpack_require__(/*! get-nonce */ "../../../node_modules/get-nonce/dist/es2015/index.js"); -function makeStyleTag() { - if (!document) return null; - var tag = document.createElement('style'); - tag.type = 'text/css'; - var nonce = (0, _getNonce.getNonce)(); - if (nonce) { - tag.setAttribute('nonce', nonce); - } - return tag; -} -function injectStyles(tag, css) { - // @ts-ignore - if (tag.styleSheet) { - // @ts-ignore - tag.styleSheet.cssText = css; - } else { - tag.appendChild(document.createTextNode(css)); - } -} -function insertStyleTag(tag) { - var head = document.head || document.getElementsByTagName('head')[0]; - head.appendChild(tag); -} -var stylesheetSingleton = function () { - var counter = 0; - var stylesheet = null; - return { - add: function (style) { - if (counter == 0) { - if (stylesheet = makeStyleTag()) { - injectStyles(stylesheet, style); - insertStyleTag(stylesheet); - } + u(Ue, "removeChildren"); + function ve(e, t) { + return Ue(e).appendChild(t); } - counter++; - }, - remove: function () { - counter--; - if (!counter && stylesheet) { - stylesheet.parentNode && stylesheet.parentNode.removeChild(stylesheet); - stylesheet = null; + u(ve, "removeChildrenAndAdd"); + function T(e, t, i, r) { + var n = document.createElement(e); + if (i && (n.className = i), r && (n.style.cssText = r), typeof t == "string") n.appendChild(document.createTextNode(t));else if (t) for (var l = 0; l < t.length; ++l) n.appendChild(t[l]); + return n; } - } - }; -}; -exports.stylesheetSingleton = stylesheetSingleton; - -/***/ }), - -/***/ "../../../node_modules/react/cjs/react-jsx-runtime.development.js": -/*!************************************************************************!*\ - !*** ../../../node_modules/react/cjs/react-jsx-runtime.development.js ***! - \************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - -/** - * @license React - * react-jsx-runtime.development.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - - - -if (true) { - (function () { - 'use strict'; - - var React = __webpack_require__(/*! react */ "react"); - - // ATTENTION - // When adding new symbols to this file, - // Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols' - // The Symbol used to tag the ReactElement-like types. - var REACT_ELEMENT_TYPE = Symbol.for('react.element'); - var REACT_PORTAL_TYPE = Symbol.for('react.portal'); - var REACT_FRAGMENT_TYPE = Symbol.for('react.fragment'); - var REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode'); - var REACT_PROFILER_TYPE = Symbol.for('react.profiler'); - var REACT_PROVIDER_TYPE = Symbol.for('react.provider'); - var REACT_CONTEXT_TYPE = Symbol.for('react.context'); - var REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref'); - var REACT_SUSPENSE_TYPE = Symbol.for('react.suspense'); - var REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list'); - var REACT_MEMO_TYPE = Symbol.for('react.memo'); - var REACT_LAZY_TYPE = Symbol.for('react.lazy'); - var REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen'); - var MAYBE_ITERATOR_SYMBOL = Symbol.iterator; - var FAUX_ITERATOR_SYMBOL = '@@iterator'; - function getIteratorFn(maybeIterable) { - if (maybeIterable === null || typeof maybeIterable !== 'object') { - return null; + u(T, "elt"); + function bt(e, t, i, r) { + var n = T(e, t, i, r); + return n.setAttribute("role", "presentation"), n; } - var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]; - if (typeof maybeIterator === 'function') { - return maybeIterator; + u(bt, "eltP"); + var rt; + document.createRange ? rt = u(function (e, t, i, r) { + var n = document.createRange(); + return n.setEnd(r || e, i), n.setStart(e, t), n; + }, "range") : rt = u(function (e, t, i) { + var r = document.body.createTextRange(); + try { + r.moveToElementText(e.parentNode); + } catch { + return r; + } + return r.collapse(!0), r.moveEnd("character", i), r.moveStart("character", t), r; + }, "range"); + function Ke(e, t) { + if (t.nodeType == 3 && (t = t.parentNode), e.contains) return e.contains(t); + do if (t.nodeType == 11 && (t = t.host), t == e) return !0; while (t = t.parentNode); } - return null; - } - var ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED; - function error(format) { - { - { - for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { - args[_key2 - 1] = arguments[_key2]; - } - printWarning('error', format, args); + u(Ke, "contains"); + function be() { + var e; + try { + e = document.activeElement; + } catch { + e = document.body || null; } + for (; e && e.shadowRoot && e.shadowRoot.activeElement;) e = e.shadowRoot.activeElement; + return e; } - } - function printWarning(level, format, args) { - // When changing this logic, you might want to also - // update consoleWithStackDev.www.js as well. - { - var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame; - var stack = ReactDebugCurrentFrame.getStackAddendum(); - if (stack !== '') { - format += '%s'; - args = args.concat([stack]); - } // eslint-disable-next-line react-internal/safe-string-coercion - - var argsWithFormat = args.map(function (item) { - return String(item); - }); // Careful: RN currently depends on this prefix - - argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it - // breaks IE9: https://github.com/facebook/react/issues/13610 - // eslint-disable-next-line react-internal/no-production-logging - - Function.prototype.apply.call(console[level], console, argsWithFormat); + u(be, "activeElt"); + function it(e, t) { + var i = e.className; + mt(t).test(i) || (e.className += (i ? " " : "") + t); } - } - - // ----------------------------------------------------------------------------- - - var enableScopeAPI = false; // Experimental Create Event Handle API. - var enableCacheElement = false; - var enableTransitionTracing = false; // No known bugs, but needs performance testing - - var enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber - // stuff. Intended to enable React core members to more easily debug scheduling - // issues in DEV builds. - - var enableDebugTracing = false; // Track which Fiber(s) schedule render work. - - var REACT_MODULE_REFERENCE; - { - REACT_MODULE_REFERENCE = Symbol.for('react.module.reference'); - } - function isValidElementType(type) { - if (typeof type === 'string' || typeof type === 'function') { - return true; - } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill). - - if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing) { - return true; + u(it, "addClass"); + function di(e, t) { + for (var i = e.split(" "), r = 0; r < i.length; r++) i[r] && !mt(i[r]).test(t) && (t += " " + i[r]); + return t; } - if (typeof type === 'object' && type !== null) { - if (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || - // This needs to include all possible module reference object - // types supported by any Flight configuration anywhere since - // we don't know which Flight build this will end up being used - // with. - type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) { - return true; - } + u(di, "joinClasses"); + var _t = u(function (e) { + e.select(); + }, "selectInput"); + Ut ? _t = u(function (e) { + e.selectionStart = 0, e.selectionEnd = e.value.length; + }, "selectInput") : O && (_t = u(function (e) { + try { + e.select(); + } catch {} + }, "selectInput")); + function pi(e) { + var t = Array.prototype.slice.call(arguments, 1); + return function () { + return e.apply(null, t); + }; } - return false; - } - function getWrappedName(outerType, innerType, wrapperName) { - var displayName = outerType.displayName; - if (displayName) { - return displayName; + u(pi, "bind"); + function nt(e, t, i) { + t || (t = {}); + for (var r in e) e.hasOwnProperty(r) && (i !== !1 || !t.hasOwnProperty(r)) && (t[r] = e[r]); + return t; } - var functionName = innerType.displayName || innerType.name || ''; - return functionName !== '' ? wrapperName + "(" + functionName + ")" : wrapperName; - } // Keep in sync with react-reconciler/getComponentNameFromFiber - - function getContextName(type) { - return type.displayName || 'Context'; - } // Note that the reconciler package should generally prefer to use getComponentNameFromFiber() instead. - - function getComponentNameFromType(type) { - if (type == null) { - // Host root, text node or just invalid type. - return null; + u(nt, "copyObj"); + function xe(e, t, i, r, n) { + t == null && (t = e.search(/[^\s\u00a0]/), t == -1 && (t = e.length)); + for (var l = r || 0, o = n || 0;;) { + var a = e.indexOf(" ", l); + if (a < 0 || a >= t) return o + (t - l); + o += a - l, o += i - o % i, l = a + 1; + } } - { - if (typeof type.tag === 'number') { - error('Received an unexpected object in getComponentNameFromType(). ' + 'This is likely a bug in React. Please file an issue.'); + u(xe, "countColumn"); + var _e = u(function () { + this.id = null, this.f = null, this.time = 0, this.handler = pi(this.onTimeout, this); + }, "Delayed"); + _e.prototype.onTimeout = function (e) { + e.id = 0, e.time <= +new Date() ? e.f() : setTimeout(e.handler, e.time - +new Date()); + }, _e.prototype.set = function (e, t) { + this.f = t; + var i = +new Date() + e; + (!this.id || i < this.time) && (clearTimeout(this.id), this.id = setTimeout(this.handler, e), this.time = i); + }; + function ee(e, t) { + for (var i = 0; i < e.length; ++i) if (e[i] == t) return i; + return -1; + } + u(ee, "indexOf"); + var Wn = 50, + Nr = { + toString: function () { + return "CodeMirror.Pass"; + } + }, + Me = { + scroll: !1 + }, + vi = { + origin: "*mouse" + }, + Xt = { + origin: "+move" + }; + function gi(e, t, i) { + for (var r = 0, n = 0;;) { + var l = e.indexOf(" ", r); + l == -1 && (l = e.length); + var o = l - r; + if (l == e.length || n + o >= t) return r + Math.min(o, t - n); + if (n += l - r, n += i - n % i, r = l + 1, n >= t) return r; } } - if (typeof type === 'function') { - return type.displayName || type.name || null; + u(gi, "findColumn"); + var Ar = [""]; + function yi(e) { + for (; Ar.length <= e;) Ar.push(H(Ar) + " "); + return Ar[e]; } - if (typeof type === 'string') { - return type; + u(yi, "spaceStr"); + function H(e) { + return e[e.length - 1]; } - switch (type) { - case REACT_FRAGMENT_TYPE: - return 'Fragment'; - case REACT_PORTAL_TYPE: - return 'Portal'; - case REACT_PROFILER_TYPE: - return 'Profiler'; - case REACT_STRICT_MODE_TYPE: - return 'StrictMode'; - case REACT_SUSPENSE_TYPE: - return 'Suspense'; - case REACT_SUSPENSE_LIST_TYPE: - return 'SuspenseList'; + u(H, "lst"); + function Or(e, t) { + for (var i = [], r = 0; r < e.length; r++) i[r] = t(e[r], r); + return i; } - if (typeof type === 'object') { - switch (type.$$typeof) { - case REACT_CONTEXT_TYPE: - var context = type; - return getContextName(context) + '.Consumer'; - case REACT_PROVIDER_TYPE: - var provider = type; - return getContextName(provider._context) + '.Provider'; - case REACT_FORWARD_REF_TYPE: - return getWrappedName(type, type.render, 'ForwardRef'); - case REACT_MEMO_TYPE: - var outerName = type.displayName || null; - if (outerName !== null) { - return outerName; - } - return getComponentNameFromType(type.type) || 'Memo'; - case REACT_LAZY_TYPE: - { - var lazyComponent = type; - var payload = lazyComponent._payload; - var init = lazyComponent._init; - try { - return getComponentNameFromType(init(payload)); - } catch (x) { - return null; - } - } - - // eslint-disable-next-line no-fallthrough - } + u(Or, "map"); + function Qo(e, t, i) { + for (var r = 0, n = i(t); r < e.length && i(e[r]) <= n;) r++; + e.splice(r, 0, t); } - - return null; - } - var assign = Object.assign; - - // Helpers to patch console.logs to avoid logging during side-effect free - // replaying on render function. This currently only patches the object - // lazily which won't cover if the log function was extracted eagerly. - // We could also eagerly patch the method. - var disabledDepth = 0; - var prevLog; - var prevInfo; - var prevWarn; - var prevError; - var prevGroup; - var prevGroupCollapsed; - var prevGroupEnd; - function disabledLog() {} - disabledLog.__reactDisabledLog = true; - function disableLogs() { - { - if (disabledDepth === 0) { - /* eslint-disable react-internal/no-production-logging */ - prevLog = console.log; - prevInfo = console.info; - prevWarn = console.warn; - prevError = console.error; - prevGroup = console.group; - prevGroupCollapsed = console.groupCollapsed; - prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099 - - var props = { - configurable: true, - enumerable: true, - value: disabledLog, - writable: true - }; // $FlowFixMe Flow thinks console is immutable. - - Object.defineProperties(console, { - info: props, - log: props, - warn: props, - error: props, - group: props, - groupCollapsed: props, - groupEnd: props - }); - /* eslint-enable react-internal/no-production-logging */ - } - - disabledDepth++; + u(Qo, "insertSorted"); + function Hn() {} + u(Hn, "nothing"); + function Fn(e, t) { + var i; + return Object.create ? i = Object.create(e) : (Hn.prototype = e, i = new Hn()), t && nt(t, i), i; } - } - function reenableLogs() { - { - disabledDepth--; - if (disabledDepth === 0) { - /* eslint-disable react-internal/no-production-logging */ - var props = { - configurable: true, - enumerable: true, - writable: true - }; // $FlowFixMe Flow thinks console is immutable. - - Object.defineProperties(console, { - log: assign({}, props, { - value: prevLog - }), - info: assign({}, props, { - value: prevInfo - }), - warn: assign({}, props, { - value: prevWarn - }), - error: assign({}, props, { - value: prevError - }), - group: assign({}, props, { - value: prevGroup - }), - groupCollapsed: assign({}, props, { - value: prevGroupCollapsed - }), - groupEnd: assign({}, props, { - value: prevGroupEnd - }) - }); - /* eslint-enable react-internal/no-production-logging */ - } - - if (disabledDepth < 0) { - error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.'); - } + u(Fn, "createObj"); + var Jo = /[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/; + function mi(e) { + return /\w/.test(e) || e > "€" && (e.toUpperCase() != e.toLowerCase() || Jo.test(e)); } - } - var ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher; - var prefix; - function describeBuiltInComponentFrame(name, source, ownerFn) { - { - if (prefix === undefined) { - // Extract the VM specific prefix used by each line. - try { - throw Error(); - } catch (x) { - var match = x.stack.trim().match(/\n( *(at )?)/); - prefix = match && match[1] || ''; - } - } // We use the prefix to ensure our stacks line up with native stack frames. - - return '\n' + prefix + name; + u(mi, "isWordCharBasic"); + function Wr(e, t) { + return t ? t.source.indexOf("\\w") > -1 && mi(e) ? !0 : t.test(e) : mi(e); } - } - var reentry = false; - var componentFrameCache; - { - var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map; - componentFrameCache = new PossiblyWeakMap(); - } - function describeNativeComponentFrame(fn, construct) { - // If something asked for a stack inside a fake render, it should get ignored. - if (!fn || reentry) { - return ''; + u(Wr, "isWordChar"); + function Pn(e) { + for (var t in e) if (e.hasOwnProperty(t) && e[t]) return !1; + return !0; } - { - var frame = componentFrameCache.get(fn); - if (frame !== undefined) { - return frame; + u(Pn, "isEmpty"); + var jo = /[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06de-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\udc00-\udfff\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]/; + function bi(e) { + return e.charCodeAt(0) >= 768 && jo.test(e); + } + u(bi, "isExtendingChar"); + function En(e, t, i) { + for (; (i < 0 ? t > 0 : t < e.length) && bi(e.charAt(t));) t += i; + return t; + } + u(En, "skipExtendingChars"); + function Yt(e, t, i) { + for (var r = t > i ? -1 : 1;;) { + if (t == i) return t; + var n = (t + i) / 2, + l = r < 0 ? Math.ceil(n) : Math.floor(n); + if (l == t) return e(l) ? t : i; + e(l) ? i = l : t = l + r; } } - var control; - reentry = true; - var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe It does accept undefined. - - Error.prepareStackTrace = undefined; - var previousDispatcher; - { - previousDispatcher = ReactCurrentDispatcher.current; // Set the dispatcher in DEV because this might be call in the render function - // for warnings. - - ReactCurrentDispatcher.current = null; - disableLogs(); + u(Yt, "findFirst"); + function Vo(e, t, i, r) { + if (!e) return r(t, i, "ltr", 0); + for (var n = !1, l = 0; l < e.length; ++l) { + var o = e[l]; + (o.from < i && o.to > t || t == i && o.to == t) && (r(Math.max(o.from, t), Math.min(o.to, i), o.level == 1 ? "rtl" : "ltr", l), n = !0); + } + n || r(t, i, "ltr"); } - try { - // This should throw. - if (construct) { - // Something should be setting the props in the constructor. - var Fake = function () { - throw Error(); - }; // $FlowFixMe - - Object.defineProperty(Fake.prototype, 'props', { - set: function () { - // We use a throwing setter instead of frozen or non-writable props - // because that won't throw in a non-strict mode function. - throw Error(); - } - }); - if (typeof Reflect === 'object' && Reflect.construct) { - // We construct a different control for this case to include any extra - // frames added by the construct call. - try { - Reflect.construct(Fake, []); - } catch (x) { - control = x; - } - Reflect.construct(fn, [], Fake); - } else { - try { - Fake.call(); - } catch (x) { - control = x; - } - fn.call(Fake.prototype); + u(Vo, "iterateBidiSections"); + var qt = null; + function Zt(e, t, i) { + var _r2; + var r; + qt = null; + for (var n = 0; n < e.length; ++n) { + var l = e[n]; + if (l.from < t && l.to > t) return n; + l.to == t && (l.from != l.to && i == "before" ? r = n : qt = n), l.from == t && (l.from != l.to && i != "before" ? r = n : qt = n); + } + return (_r2 = r) !== null && _r2 !== void 0 ? _r2 : qt; + } + u(Zt, "getBidiPartAt"); + var $o = function () { + var e = "bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN", + t = "nnnnnnNNr%%r,rNNmmmmmmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmnNmmmmmmrrmmNmmmmrr1111111111"; + function i(f) { + return f <= 247 ? e.charAt(f) : 1424 <= f && f <= 1524 ? "R" : 1536 <= f && f <= 1785 ? t.charAt(f - 1536) : 1774 <= f && f <= 2220 ? "r" : 8192 <= f && f <= 8203 ? "w" : f == 8204 ? "b" : "L"; + } + u(i, "charType"); + var r = /[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/, + n = /[stwN]/, + l = /[LRr]/, + o = /[Lb1n]/, + a = /[1n]/; + function s(f, h, c) { + this.level = f, this.from = h, this.to = c; + } + return u(s, "BidiSpan"), function (f, h) { + var c = h == "ltr" ? "L" : "R"; + if (f.length == 0 || h == "ltr" && !r.test(f)) return !1; + for (var p = f.length, d = [], v = 0; v < p; ++v) d.push(i(f.charCodeAt(v))); + for (var g = 0, m = c; g < p; ++g) { + var b = d[g]; + b == "m" ? d[g] = m : m = b; } - } else { - try { - throw Error(); - } catch (x) { - control = x; + for (var C = 0, x = c; C < p; ++C) { + var w = d[C]; + w == "1" && x == "r" ? d[C] = "n" : l.test(w) && (x = w, w == "r" && (d[C] = "R")); } - fn(); - } - } catch (sample) { - // This is inlined manually because closure doesn't do it for us. - if (sample && control && typeof sample.stack === 'string') { - // This extracts the first frame from the sample that isn't also in the control. - // Skipping one frame that we assume is the frame that calls the two. - var sampleLines = sample.stack.split('\n'); - var controlLines = control.stack.split('\n'); - var s = sampleLines.length - 1; - var c = controlLines.length - 1; - while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) { - // We expect at least one stack frame to be shared. - // Typically this will be the root most one. However, stack frames may be - // cut off due to maximum stack limits. In this case, one maybe cut off - // earlier than the other. We assume that the sample is longer or the same - // and there for cut off earlier. So we should find the root most frame in - // the sample somewhere in the control. - c--; + for (var k = 1, L = d[0]; k < p - 1; ++k) { + var A = d[k]; + A == "+" && L == "1" && d[k + 1] == "1" ? d[k] = "1" : A == "," && L == d[k + 1] && (L == "1" || L == "n") && (d[k] = L), L = A; } - for (; s >= 1 && c >= 0; s--, c--) { - // Next we find the first one that isn't the same which should be the - // frame that called our sample function and the control. - if (sampleLines[s] !== controlLines[c]) { - // In V8, the first line is describing the message but other VMs don't. - // If we're about to return the first line, and the control is also on the same - // line, that's a pretty good indicator that our sample threw at same line as - // the control. I.e. before we entered the sample frame. So we ignore this result. - // This can happen if you passed a class to function component, or non-function. - if (s !== 1 || c !== 1) { - do { - s--; - c--; // We may still have similar intermediate frames from the construct call. - // The next one that isn't the same should be our match though. - - if (c < 0 || sampleLines[s] !== controlLines[c]) { - // V8 adds a "new" prefix for native classes. Let's remove it to make it prettier. - var _frame = '\n' + sampleLines[s].replace(' at new ', ' at '); // If our component frame is labeled "" - // but we have a user-provided "displayName" - // splice it in to make the stack more readable. - - if (fn.displayName && _frame.includes('')) { - _frame = _frame.replace('', fn.displayName); - } - { - if (typeof fn === 'function') { - componentFrameCache.set(fn, _frame); - } - } // Return the line we found. - - return _frame; - } - } while (s >= 1 && c >= 0); - } - break; + for (var E = 0; E < p; ++E) { + var j = d[E]; + if (j == ",") d[E] = "N";else if (j == "%") { + var B = void 0; + for (B = E + 1; B < p && d[B] == "%"; ++B); + for (var pe = E && d[E - 1] == "!" || B < p && d[B] == "1" ? "1" : "N", fe = E; fe < B; ++fe) d[fe] = pe; + E = B - 1; } } - } - } finally { - reentry = false; - { - ReactCurrentDispatcher.current = previousDispatcher; - reenableLogs(); - } - Error.prepareStackTrace = previousPrepareStackTrace; - } // Fallback to just using the name if we couldn't make it throw. - - var name = fn ? fn.displayName || fn.name : ''; - var syntheticFrame = name ? describeBuiltInComponentFrame(name) : ''; - { - if (typeof fn === 'function') { - componentFrameCache.set(fn, syntheticFrame); + for (var _ = 0, he = c; _ < p; ++_) { + var $ = d[_]; + he == "L" && $ == "1" ? d[_] = "L" : l.test($) && (he = $); + } + for (var Y = 0; Y < p; ++Y) if (n.test(d[Y])) { + var X = void 0; + for (X = Y + 1; X < p && n.test(d[X]); ++X); + for (var z = (Y ? d[Y - 1] : c) == "L", ce = (X < p ? d[X] : c) == "L", zt = z == ce ? z ? "L" : "R" : c, $e = Y; $e < X; ++$e) d[$e] = zt; + Y = X - 1; + } + for (var re = [], We, V = 0; V < p;) if (o.test(d[V])) { + var kn = V; + for (++V; V < p && o.test(d[V]); ++V); + re.push(new s(0, kn, V)); + } else { + var Ge = V, + gt = re.length, + yt = h == "rtl" ? 1 : 0; + for (++V; V < p && d[V] != "L"; ++V); + for (var oe = Ge; oe < V;) if (a.test(d[oe])) { + Ge < oe && (re.splice(gt, 0, new s(1, Ge, oe)), gt += yt); + var Gt = oe; + for (++oe; oe < V && a.test(d[oe]); ++oe); + re.splice(gt, 0, new s(2, Gt, oe)), gt += yt, Ge = oe; + } else ++oe; + Ge < V && re.splice(gt, 0, new s(1, Ge, V)); + } + return h == "ltr" && (re[0].level == 1 && (We = f.match(/^\s+/)) && (re[0].from = We[0].length, re.unshift(new s(0, 0, We[0].length))), H(re).level == 1 && (We = f.match(/\s+$/)) && (H(re).to -= We[0].length, re.push(new s(0, p - We[0].length, p)))), h == "rtl" ? re.reverse() : re; + }; + }(); + function Pe(e, t) { + var i = e.order; + return i == null && (i = e.order = $o(e.text, t)), i; + } + u(Pe, "getOrder"); + var In = [], + M = u(function (e, t, i) { + if (e.addEventListener) e.addEventListener(t, i, !1);else if (e.attachEvent) e.attachEvent("on" + t, i);else { + var r = e._handlers || (e._handlers = {}); + r[t] = (r[t] || In).concat(i); + } + }, "on"); + function xi(e, t) { + return e._handlers && e._handlers[t] || In; + } + u(xi, "getHandlers"); + function ge(e, t, i) { + if (e.removeEventListener) e.removeEventListener(t, i, !1);else if (e.detachEvent) e.detachEvent("on" + t, i);else { + var r = e._handlers, + n = r && r[t]; + if (n) { + var l = ee(n, i); + l > -1 && (r[t] = n.slice(0, l).concat(n.slice(l + 1))); + } } } - return syntheticFrame; - } - function describeFunctionComponentFrame(fn, source, ownerFn) { - { - return describeNativeComponentFrame(fn, false); + u(ge, "off"); + function U(e, t) { + var i = xi(e, t); + if (i.length) for (var r = Array.prototype.slice.call(arguments, 2), n = 0; n < i.length; ++n) i[n].apply(null, r); } - } - function shouldConstruct(Component) { - var prototype = Component.prototype; - return !!(prototype && prototype.isReactComponent); - } - function describeUnknownElementTypeFrameInDEV(type, source, ownerFn) { - if (type == null) { - return ''; + u(U, "signal"); + function q(e, t, i) { + return typeof t == "string" && (t = { + type: t, + preventDefault: function () { + this.defaultPrevented = !0; + } + }), U(e, i || t.type, e, t), Ci(t) || t.codemirrorIgnore; } - if (typeof type === 'function') { - { - return describeNativeComponentFrame(type, shouldConstruct(type)); - } + u(q, "signalDOMEvent"); + function Rn(e) { + var t = e._handlers && e._handlers.cursorActivity; + if (t) for (var i = e.curOp.cursorActivityHandlers || (e.curOp.cursorActivityHandlers = []), r = 0; r < t.length; ++r) ee(i, t[r]) == -1 && i.push(t[r]); } - if (typeof type === 'string') { - return describeBuiltInComponentFrame(type); + u(Rn, "signalCursorActivity"); + function Ce(e, t) { + return xi(e, t).length > 0; } - switch (type) { - case REACT_SUSPENSE_TYPE: - return describeBuiltInComponentFrame('Suspense'); - case REACT_SUSPENSE_LIST_TYPE: - return describeBuiltInComponentFrame('SuspenseList'); + u(Ce, "hasHandler"); + function xt(e) { + e.prototype.on = function (t, i) { + M(this, t, i); + }, e.prototype.off = function (t, i) { + ge(this, t, i); + }; } - if (typeof type === 'object') { - switch (type.$$typeof) { - case REACT_FORWARD_REF_TYPE: - return describeFunctionComponentFrame(type.render); - case REACT_MEMO_TYPE: - // Memo may contain any component type so we recursively resolve it. - return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn); - case REACT_LAZY_TYPE: - { - var lazyComponent = type; - var payload = lazyComponent._payload; - var init = lazyComponent._init; - try { - // Lazy may contain any component type so we recursively resolve it. - return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn); - } catch (x) {} - } - } + u(xt, "eventMixin"); + function ae(e) { + e.preventDefault ? e.preventDefault() : e.returnValue = !1; } - return ''; - } - var hasOwnProperty = Object.prototype.hasOwnProperty; - var loggedTypeFailures = {}; - var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame; - function setCurrentlyValidatingElement(element) { - { - if (element) { - var owner = element._owner; - var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null); - ReactDebugCurrentFrame.setExtraStackFrame(stack); - } else { - ReactDebugCurrentFrame.setExtraStackFrame(null); - } + u(ae, "e_preventDefault"); + function Bn(e) { + e.stopPropagation ? e.stopPropagation() : e.cancelBubble = !0; } - } - function checkPropTypes(typeSpecs, values, location, componentName, element) { - { - // $FlowFixMe This is okay but Flow doesn't know it. - var has = Function.call.bind(hasOwnProperty); - for (var typeSpecName in typeSpecs) { - if (has(typeSpecs, typeSpecName)) { - var error$1 = void 0; // Prop type validation may throw. In case they do, we don't want to - // fail the render phase where it didn't fail before. So we log it. - // After these have been cleaned up, we'll let them throw. - - try { - // This is intentionally an invariant that gets caught. It's the same - // behavior as without this statement except with a better message. - if (typeof typeSpecs[typeSpecName] !== 'function') { - // eslint-disable-next-line react-internal/prod-error-codes - var err = Error((componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.'); - err.name = 'Invariant Violation'; - throw err; - } - error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED'); - } catch (ex) { - error$1 = ex; - } - if (error$1 && !(error$1 instanceof Error)) { - setCurrentlyValidatingElement(element); - error('%s: type specification of %s' + ' `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error$1); - setCurrentlyValidatingElement(null); - } - if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) { - // Only monitor this failure once because there tends to be a lot of the - // same error. - loggedTypeFailures[error$1.message] = true; - setCurrentlyValidatingElement(element); - error('Failed %s type: %s', location, error$1.message); - setCurrentlyValidatingElement(null); - } - } - } + u(Bn, "e_stopPropagation"); + function Ci(e) { + return e.defaultPrevented != null ? e.defaultPrevented : e.returnValue == !1; } - } - var isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare - - function isArray(a) { - return isArrayImpl(a); - } - - /* - * The `'' + value` pattern (used in in perf-sensitive code) throws for Symbol - * and Temporal.* types. See https://github.com/facebook/react/pull/22064. - * - * The functions in this module will throw an easier-to-understand, - * easier-to-debug exception with a clear errors message message explaining the - * problem. (Instead of a confusing exception thrown inside the implementation - * of the `value` object). - */ - // $FlowFixMe only called in DEV, so void return is not possible. - function typeName(value) { - { - // toStringTag is needed for namespaced types like Temporal.Instant - var hasToStringTag = typeof Symbol === 'function' && Symbol.toStringTag; - var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || 'Object'; - return type; + u(Ci, "e_defaultPrevented"); + function Qt(e) { + ae(e), Bn(e); } - } // $FlowFixMe only called in DEV, so void return is not possible. - - function willCoercionThrow(value) { - { - try { - testStringCoercion(value); - return false; - } catch (e) { - return true; - } + u(Qt, "e_stop"); + function wi(e) { + return e.target || e.srcElement; } - } - function testStringCoercion(value) { - // If you ended up here by following an exception call stack, here's what's - // happened: you supplied an object or symbol value to React (as a prop, key, - // DOM attribute, CSS property, string ref, etc.) and when React tried to - // coerce it to a string using `'' + value`, an exception was thrown. - // - // The most common types that will cause this exception are `Symbol` instances - // and Temporal objects like `Temporal.Instant`. But any object that has a - // `valueOf` or `[Symbol.toPrimitive]` method that throws will also cause this - // exception. (Library authors do this to prevent users from using built-in - // numeric operators like `+` or comparison operators like `>=` because custom - // methods are needed to perform accurate arithmetic or comparison.) - // - // To fix the problem, coerce this object or symbol value to a string before - // passing it to React. The most reliable way is usually `String(value)`. - // - // To find which value is throwing, check the browser or debugger console. - // Before this exception was thrown, there should be `console.error` output - // that shows the type (Symbol, Temporal.PlainDate, etc.) that caused the - // problem and how that type was used: key, atrribute, input value prop, etc. - // In most cases, this console output also shows the component and its - // ancestor components where the exception happened. - // - // eslint-disable-next-line react-internal/safe-string-coercion - return '' + value; - } - function checkKeyStringCoercion(value) { - { - if (willCoercionThrow(value)) { - error('The provided key is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', typeName(value)); - return testStringCoercion(value); // throw (to help callers find troubleshooting comments) + u(wi, "e_target"); + function zn(e) { + var t = e.which; + return t == null && (e.button & 1 ? t = 1 : e.button & 2 ? t = 3 : e.button & 4 && (t = 2)), me && e.ctrlKey && t == 1 && (t = 3), t; + } + u(zn, "e_button"); + var ea = function () { + if (O && I < 9) return !1; + var e = T("div"); + return "draggable" in e || "dragDrop" in e; + }(), + Si; + function ta(e) { + if (Si == null) { + var t = T("span", "​"); + ve(e, T("span", [t, document.createTextNode("x")])), e.firstChild.offsetHeight != 0 && (Si = t.offsetWidth <= 1 && t.offsetHeight > 2 && !(O && I < 8)); } + var i = Si ? T("span", "​") : T("span", " ", null, "display: inline-block; width: 1px; margin-right: -1px"); + return i.setAttribute("cm-text", ""), i; } - } + u(ta, "zeroWidthElement"); + var Li; + function ra(e) { + if (Li != null) return Li; + var t = ve(e, document.createTextNode("AخA")), + i = rt(t, 0, 1).getBoundingClientRect(), + r = rt(t, 1, 2).getBoundingClientRect(); + return Ue(e), !i || i.left == i.right ? !1 : Li = r.right - i.right < 3; + } + u(ra, "hasBadBidiRects"); + var ki = ` - var ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner; - var RESERVED_PROPS = { - key: true, - ref: true, - __self: true, - __source: true - }; - var specialPropKeyWarningShown; - var specialPropRefWarningShown; - var didWarnAboutStringRefs; - { - didWarnAboutStringRefs = {}; - } - function hasValidRef(config) { - { - if (hasOwnProperty.call(config, 'ref')) { - var getter = Object.getOwnPropertyDescriptor(config, 'ref').get; - if (getter && getter.isReactWarning) { - return false; +b`.split(/\n/).length != 3 ? function (e) { + for (var t = 0, i = [], r = e.length; t <= r;) { + var n = e.indexOf(` +`, t); + n == -1 && (n = e.length); + var l = e.slice(t, e.charAt(n - 1) == "\r" ? n - 1 : n), + o = l.indexOf("\r"); + o != -1 ? (i.push(l.slice(0, o)), t += o + 1) : (i.push(l), t = n + 1); + } + return i; + } : function (e) { + return e.split(/\r\n?|\n/); + }, + ia = window.getSelection ? function (e) { + try { + return e.selectionStart != e.selectionEnd; + } catch { + return !1; } + } : function (e) { + var t; + try { + t = e.ownerDocument.selection.createRange(); + } catch {} + return !t || t.parentElement() != e ? !1 : t.compareEndPoints("StartToEnd", t) != 0; + }, + na = function () { + var e = T("div"); + return "oncopy" in e ? !0 : (e.setAttribute("oncopy", "return;"), typeof e.oncopy == "function"); + }(), + Ti = null; + function la(e) { + if (Ti != null) return Ti; + var t = ve(e, T("span", "x")), + i = t.getBoundingClientRect(), + r = rt(t, 0, 1).getBoundingClientRect(); + return Ti = Math.abs(i.left - r.left) > 1; + } + u(la, "hasBadZoomedRects"); + var Mi = {}, + Ct = {}; + function oa(e, t) { + arguments.length > 2 && (t.dependencies = Array.prototype.slice.call(arguments, 2)), Mi[e] = t; + } + u(oa, "defineMode"); + function aa(e, t) { + Ct[e] = t; + } + u(aa, "defineMIME"); + function Hr(e) { + if (typeof e == "string" && Ct.hasOwnProperty(e)) e = Ct[e];else if (e && typeof e.name == "string" && Ct.hasOwnProperty(e.name)) { + var t = Ct[e.name]; + typeof t == "string" && (t = { + name: t + }), e = Fn(t, e), e.name = t.name; + } else { + if (typeof e == "string" && /^[\w\-]+\/[\w\-]+\+xml$/.test(e)) return Hr("application/xml"); + if (typeof e == "string" && /^[\w\-]+\/[\w\-]+\+json$/.test(e)) return Hr("application/json"); } + return typeof e == "string" ? { + name: e + } : e || { + name: "null" + }; } - return config.ref !== undefined; - } - function hasValidKey(config) { - { - if (hasOwnProperty.call(config, 'key')) { - var getter = Object.getOwnPropertyDescriptor(config, 'key').get; - if (getter && getter.isReactWarning) { - return false; - } + u(Hr, "resolveMode"); + function Di(e, t) { + t = Hr(t); + var i = Mi[t.name]; + if (!i) return Di(e, "text/plain"); + var r = i(e, t); + if (wt.hasOwnProperty(t.name)) { + var n = wt[t.name]; + for (var l in n) n.hasOwnProperty(l) && (r.hasOwnProperty(l) && (r["_" + l] = r[l]), r[l] = n[l]); } + if (r.name = t.name, t.helperType && (r.helperType = t.helperType), t.modeProps) for (var o in t.modeProps) r[o] = t.modeProps[o]; + return r; } - return config.key !== undefined; - } - function warnIfStringRefCannotBeAutoConverted(config, self) { - { - if (typeof config.ref === 'string' && ReactCurrentOwner.current && self && ReactCurrentOwner.current.stateNode !== self) { - var componentName = getComponentNameFromType(ReactCurrentOwner.current.type); - if (!didWarnAboutStringRefs[componentName]) { - error('Component "%s" contains the string ref "%s". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', getComponentNameFromType(ReactCurrentOwner.current.type), config.ref); - didWarnAboutStringRefs[componentName] = true; - } + u(Di, "getMode"); + var wt = {}; + function sa(e, t) { + var i = wt.hasOwnProperty(e) ? wt[e] : wt[e] = {}; + nt(t, i); + } + u(sa, "extendMode"); + function lt(e, t) { + if (t === !0) return t; + if (e.copyState) return e.copyState(t); + var i = {}; + for (var r in t) { + var n = t[r]; + n instanceof Array && (n = n.concat([])), i[r] = n; } + return i; } - } - function defineKeyPropWarningGetter(props, displayName) { - { - var warnAboutAccessingKey = function () { - if (!specialPropKeyWarningShown) { - specialPropKeyWarningShown = true; - error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName); - } + u(lt, "copyState"); + function Ni(e, t) { + for (var i; e.innerMode && (i = e.innerMode(t), !(!i || i.mode == e));) t = i.state, e = i.mode; + return i || { + mode: e, + state: t }; - warnAboutAccessingKey.isReactWarning = true; - Object.defineProperty(props, 'key', { - get: warnAboutAccessingKey, - configurable: true - }); } - } - function defineRefPropWarningGetter(props, displayName) { - { - var warnAboutAccessingRef = function () { - if (!specialPropRefWarningShown) { - specialPropRefWarningShown = true; - error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName); - } - }; - warnAboutAccessingRef.isReactWarning = true; - Object.defineProperty(props, 'ref', { - get: warnAboutAccessingRef, - configurable: true - }); + u(Ni, "innerMode"); + function Gn(e, t, i) { + return e.startState ? e.startState(t, i) : !0; } - } - /** - * Factory method to create a new React element. This no longer adheres to - * the class pattern, so do not use new to call it. Also, instanceof check - * will not work. Instead test $$typeof field against Symbol.for('react.element') to check - * if something is a React Element. - * - * @param {*} type - * @param {*} props - * @param {*} key - * @param {string|object} ref - * @param {*} owner - * @param {*} self A *temporary* helper to detect places where `this` is - * different from the `owner` when React.createElement is called, so that we - * can warn. We want to get rid of owner and replace string `ref`s with arrow - * functions, and as long as `this` and owner are the same, there will be no - * change in behavior. - * @param {*} source An annotation object (added by a transpiler or otherwise) - * indicating filename, line number, and/or other information. - * @internal - */ - - var ReactElement = function (type, key, ref, self, source, owner, props) { - var element = { - // This tag allows us to uniquely identify this as a React Element - $$typeof: REACT_ELEMENT_TYPE, - // Built-in properties that belong on the element - type: type, - key: key, - ref: ref, - props: props, - // Record the component responsible for creating this element. - _owner: owner - }; - { - // The validation flag is currently mutative. We put it on - // an external backing store so that we can freeze the whole object. - // This can be replaced with a WeakMap once they are implemented in - // commonly used development environments. - element._store = {}; // To make comparing ReactElements easier for testing purposes, we make - // the validation flag non-enumerable (where possible, which should - // include every environment we run tests in), so the test framework - // ignores it. - - Object.defineProperty(element._store, 'validated', { - configurable: false, - enumerable: false, - writable: true, - value: false - }); // self and source are DEV only properties. - - Object.defineProperty(element, '_self', { - configurable: false, - enumerable: false, - writable: false, - value: self - }); // Two elements created in two different places should be considered - // equal for testing purposes and therefore we hide it from enumeration. - - Object.defineProperty(element, '_source', { - configurable: false, - enumerable: false, - writable: false, - value: source - }); - if (Object.freeze) { - Object.freeze(element.props); - Object.freeze(element); + u(Gn, "startState"); + var K = u(function (e, t, i) { + this.pos = this.start = 0, this.string = e, this.tabSize = t || 8, this.lastColumnPos = this.lastColumnValue = 0, this.lineStart = 0, this.lineOracle = i; + }, "StringStream"); + K.prototype.eol = function () { + return this.pos >= this.string.length; + }, K.prototype.sol = function () { + return this.pos == this.lineStart; + }, K.prototype.peek = function () { + return this.string.charAt(this.pos) || void 0; + }, K.prototype.next = function () { + if (this.pos < this.string.length) return this.string.charAt(this.pos++); + }, K.prototype.eat = function (e) { + var t = this.string.charAt(this.pos), + i; + if (typeof e == "string" ? i = t == e : i = t && (e.test ? e.test(t) : e(t)), i) return ++this.pos, t; + }, K.prototype.eatWhile = function (e) { + for (var t = this.pos; this.eat(e);); + return this.pos > t; + }, K.prototype.eatSpace = function () { + for (var e = this.pos; /[\s\u00a0]/.test(this.string.charAt(this.pos));) ++this.pos; + return this.pos > e; + }, K.prototype.skipToEnd = function () { + this.pos = this.string.length; + }, K.prototype.skipTo = function (e) { + var t = this.string.indexOf(e, this.pos); + if (t > -1) return this.pos = t, !0; + }, K.prototype.backUp = function (e) { + this.pos -= e; + }, K.prototype.column = function () { + return this.lastColumnPos < this.start && (this.lastColumnValue = xe(this.string, this.start, this.tabSize, this.lastColumnPos, this.lastColumnValue), this.lastColumnPos = this.start), this.lastColumnValue - (this.lineStart ? xe(this.string, this.lineStart, this.tabSize) : 0); + }, K.prototype.indentation = function () { + return xe(this.string, null, this.tabSize) - (this.lineStart ? xe(this.string, this.lineStart, this.tabSize) : 0); + }, K.prototype.match = function (e, t, i) { + if (typeof e == "string") { + var r = u(function (o) { + return i ? o.toLowerCase() : o; + }, "cased"), + n = this.string.substr(this.pos, e.length); + if (r(n) == r(e)) return t !== !1 && (this.pos += e.length), !0; + } else { + var l = this.string.slice(this.pos).match(e); + return l && l.index > 0 ? null : (l && t !== !1 && (this.pos += l[0].length), l); } - } - return element; - }; - /** - * https://github.com/reactjs/rfcs/pull/107 - * @param {*} type - * @param {object} props - * @param {string} key - */ - - function jsxDEV(type, config, maybeKey, source, self) { - { - var propName; // Reserved names are extracted - - var props = {}; - var key = null; - var ref = null; // Currently, key can be spread in as a prop. This causes a potential - // issue if key is also explicitly declared (ie.
- // or
). We want to deprecate key spread, - // but as an intermediary step, we will use jsxDEV for everything except - //
, because we aren't currently able to tell if - // key is explicitly declared to be undefined or not. - - if (maybeKey !== undefined) { - { - checkKeyStringCoercion(maybeKey); - } - key = '' + maybeKey; + }, K.prototype.current = function () { + return this.string.slice(this.start, this.pos); + }, K.prototype.hideFirstChars = function (e, t) { + this.lineStart += e; + try { + return t(); + } finally { + this.lineStart -= e; } - if (hasValidKey(config)) { - { - checkKeyStringCoercion(config.key); + }, K.prototype.lookAhead = function (e) { + var t = this.lineOracle; + return t && t.lookAhead(e); + }, K.prototype.baseToken = function () { + var e = this.lineOracle; + return e && e.baseToken(this.pos); + }; + function S(e, t) { + if (t -= e.first, t < 0 || t >= e.size) throw new Error("There is no line " + (t + e.first) + " in the document."); + for (var i = e; !i.lines;) for (var r = 0;; ++r) { + var n = i.children[r], + l = n.chunkSize(); + if (t < l) { + i = n; + break; } - key = '' + config.key; + t -= l; } - if (hasValidRef(config)) { - ref = config.ref; - warnIfStringRefCannotBeAutoConverted(config, self); - } // Remaining properties are added to a new props object - - for (propName in config) { - if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) { - props[propName] = config[propName]; - } - } // Resolve default props - - if (type && type.defaultProps) { - var defaultProps = type.defaultProps; - for (propName in defaultProps) { - if (props[propName] === undefined) { - props[propName] = defaultProps[propName]; + return i.lines[t]; + } + u(S, "getLine"); + function ot(e, t, i) { + var r = [], + n = t.line; + return e.iter(t.line, i.line + 1, function (l) { + var o = l.text; + n == i.line && (o = o.slice(0, i.ch)), n == t.line && (o = o.slice(t.ch)), r.push(o), ++n; + }), r; + } + u(ot, "getBetween"); + function Ai(e, t, i) { + var r = []; + return e.iter(t, i, function (n) { + r.push(n.text); + }), r; + } + u(Ai, "getLines"); + function De(e, t) { + var i = t - e.height; + if (i) for (var r = e; r; r = r.parent) r.height += i; + } + u(De, "updateLineHeight"); + function F(e) { + if (e.parent == null) return null; + for (var t = e.parent, i = ee(t.lines, e), r = t.parent; r; t = r, r = r.parent) for (var n = 0; r.children[n] != t; ++n) i += r.children[n].chunkSize(); + return i + t.first; + } + u(F, "lineNo"); + function at(e, t) { + var i = e.first; + e: do { + for (var r = 0; r < e.children.length; ++r) { + var n = e.children[r], + l = n.height; + if (t < l) { + e = n; + continue e; } + t -= l, i += n.chunkSize(); } + return i; + } while (!e.lines); + for (var o = 0; o < e.lines.length; ++o) { + var a = e.lines[o], + s = a.height; + if (t < s) break; + t -= s; } - if (key || ref) { - var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type; - if (key) { - defineKeyPropWarningGetter(props, displayName); - } - if (ref) { - defineRefPropWarningGetter(props, displayName); - } - } - return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props); + return i + o; } - } - var ReactCurrentOwner$1 = ReactSharedInternals.ReactCurrentOwner; - var ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame; - function setCurrentlyValidatingElement$1(element) { - { - if (element) { - var owner = element._owner; - var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null); - ReactDebugCurrentFrame$1.setExtraStackFrame(stack); - } else { - ReactDebugCurrentFrame$1.setExtraStackFrame(null); - } + u(at, "lineAtHeight"); + function Jt(e, t) { + return t >= e.first && t < e.first + e.size; } - } - var propTypesMisspellWarningShown; - { - propTypesMisspellWarningShown = false; - } - /** - * Verifies the object is a ReactElement. - * See https://reactjs.org/docs/react-api.html#isvalidelement - * @param {?object} object - * @return {boolean} True if `object` is a ReactElement. - * @final - */ - - function isValidElement(object) { - { - return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE; + u(Jt, "isLine"); + function Oi(e, t) { + return String(e.lineNumberFormatter(t + e.firstLineNumber)); } - } - function getDeclarationErrorAddendum() { - { - if (ReactCurrentOwner$1.current) { - var name = getComponentNameFromType(ReactCurrentOwner$1.current.type); - if (name) { - return '\n\nCheck the render method of `' + name + '`.'; - } + u(Oi, "lineNumberFor"); + function y(e, t, i) { + if (i === void 0 && (i = null), !(this instanceof y)) return new y(e, t, i); + this.line = e, this.ch = t, this.sticky = i; + } + u(y, "Pos"); + function D(e, t) { + return e.line - t.line || e.ch - t.ch; + } + u(D, "cmp"); + function Wi(e, t) { + return e.sticky == t.sticky && D(e, t) == 0; + } + u(Wi, "equalCursorPos"); + function Hi(e) { + return y(e.line, e.ch); + } + u(Hi, "copyPos"); + function Fr(e, t) { + return D(e, t) < 0 ? t : e; + } + u(Fr, "maxPos"); + function Pr(e, t) { + return D(e, t) < 0 ? e : t; + } + u(Pr, "minPos"); + function Un(e, t) { + return Math.max(e.first, Math.min(t, e.first + e.size - 1)); + } + u(Un, "clipLine"); + function N(e, t) { + if (t.line < e.first) return y(e.first, 0); + var i = e.first + e.size - 1; + return t.line > i ? y(i, S(e, i).text.length) : ua(t, S(e, t.line).text.length); + } + u(N, "clipPos"); + function ua(e, t) { + var i = e.ch; + return i == null || i > t ? y(e.line, t) : i < 0 ? y(e.line, 0) : e; + } + u(ua, "clipToLen"); + function Kn(e, t) { + for (var i = [], r = 0; r < t.length; r++) i[r] = N(e, t[r]); + return i; + } + u(Kn, "clipPosArray"); + var Er = u(function (e, t) { + this.state = e, this.lookAhead = t; + }, "SavedContext"), + Ne = u(function (e, t, i, r) { + this.state = t, this.doc = e, this.line = i, this.maxLookAhead = r || 0, this.baseTokens = null, this.baseTokenPos = 1; + }, "Context"); + Ne.prototype.lookAhead = function (e) { + var t = this.doc.getLine(this.line + e); + return t != null && e > this.maxLookAhead && (this.maxLookAhead = e), t; + }, Ne.prototype.baseToken = function (e) { + if (!this.baseTokens) return null; + for (; this.baseTokens[this.baseTokenPos] <= e;) this.baseTokenPos += 2; + var t = this.baseTokens[this.baseTokenPos + 1]; + return { + type: t && t.replace(/( |^)overlay .*/, ""), + size: this.baseTokens[this.baseTokenPos] - e + }; + }, Ne.prototype.nextLine = function () { + this.line++, this.maxLookAhead > 0 && this.maxLookAhead--; + }, Ne.fromSaved = function (e, t, i) { + return t instanceof Er ? new Ne(e, lt(e.mode, t.state), i, t.lookAhead) : new Ne(e, lt(e.mode, t), i); + }, Ne.prototype.save = function (e) { + var t = e !== !1 ? lt(this.doc.mode, this.state) : this.state; + return this.maxLookAhead > 0 ? new Er(t, this.maxLookAhead) : t; + }; + function _n(e, t, i, r) { + var n = [e.state.modeGen], + l = {}; + Jn(e, t.text, e.doc.mode, i, function (f, h) { + return n.push(f, h); + }, l, r); + for (var o = i.state, a = u(function (f) { + i.baseTokens = n; + var h = e.state.overlays[f], + c = 1, + p = 0; + i.state = !0, Jn(e, t.text, h.mode, i, function (d, v) { + for (var g = c; p < d;) { + var m = n[c]; + m > d && n.splice(c, 1, d, n[c + 1], m), c += 2, p = Math.min(d, m); + } + if (v) if (h.opaque) n.splice(g, c - g, d, "overlay " + v), c = g + 2;else for (; g < c; g += 2) { + var b = n[g + 1]; + n[g + 1] = (b ? b + " " : "") + "overlay " + v; + } + }, l), i.state = o, i.baseTokens = null, i.baseTokenPos = 1; + }, "loop"), s = 0; s < e.state.overlays.length; ++s) a(s); + return { + styles: n, + classes: l.bgClass || l.textClass ? l : null + }; + } + u(_n, "highlightLine"); + function Xn(e, t, i) { + if (!t.styles || t.styles[0] != e.state.modeGen) { + var r = jt(e, F(t)), + n = t.text.length > e.options.maxHighlightLength && lt(e.doc.mode, r.state), + l = _n(e, t, r); + n && (r.state = n), t.stateAfter = r.save(!n), t.styles = l.styles, l.classes ? t.styleClasses = l.classes : t.styleClasses && (t.styleClasses = null), i === e.doc.highlightFrontier && (e.doc.modeFrontier = Math.max(e.doc.modeFrontier, ++e.doc.highlightFrontier)); } - return ''; + return t.styles; } - } - function getSourceInfoErrorAddendum(source) { - { - if (source !== undefined) { - var fileName = source.fileName.replace(/^.*[\\\/]/, ''); - var lineNumber = source.lineNumber; - return '\n\nCheck your code at ' + fileName + ':' + lineNumber + '.'; + u(Xn, "getLineStyles"); + function jt(e, t, i) { + var r = e.doc, + n = e.display; + if (!r.mode.startState) return new Ne(r, !0, t); + var l = fa(e, t, i), + o = l > r.first && S(r, l - 1).stateAfter, + a = o ? Ne.fromSaved(r, o, l) : new Ne(r, Gn(r.mode), l); + return r.iter(l, t, function (s) { + Fi(e, s.text, a); + var f = a.line; + s.stateAfter = f == t - 1 || f % 5 == 0 || f >= n.viewFrom && f < n.viewTo ? a.save() : null, a.nextLine(); + }), i && (r.modeFrontier = a.line), a; + } + u(jt, "getContextBefore"); + function Fi(e, t, i, r) { + var n = e.doc.mode, + l = new K(t, e.options.tabSize, i); + for (l.start = l.pos = r || 0, t == "" && Yn(n, i.state); !l.eol();) Pi(n, l, i.state), l.start = l.pos; + } + u(Fi, "processLine"); + function Yn(e, t) { + if (e.blankLine) return e.blankLine(t); + if (e.innerMode) { + var i = Ni(e, t); + if (i.mode.blankLine) return i.mode.blankLine(i.state); } - return ''; } - } - /** - * Warn if there's no key explicitly set on dynamic arrays of children or - * object keys are not valid. This allows us to keep track of children between - * updates. - */ - - var ownerHasKeyUseWarning = {}; - function getCurrentComponentErrorInfo(parentType) { - { - var info = getDeclarationErrorAddendum(); - if (!info) { - var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name; - if (parentName) { - info = "\n\nCheck the top-level render call using <" + parentName + ">."; - } + u(Yn, "callBlankLine"); + function Pi(e, t, i, r) { + for (var n = 0; n < 10; n++) { + r && (r[0] = Ni(e, i).mode); + var l = e.token(t, i); + if (t.pos > t.start) return l; } - return info; + throw new Error("Mode " + e.name + " failed to advance stream."); } - } - /** - * Warn if the element doesn't have an explicit key assigned to it. - * This element is in an array. The array could grow and shrink or be - * reordered. All children that haven't already been validated are required to - * have a "key" property assigned to it. Error statuses are cached so a warning - * will only be shown once. - * - * @internal - * @param {ReactElement} element Element that requires a key. - * @param {*} parentType element's parent's type. - */ - - function validateExplicitKey(element, parentType) { - { - if (!element._store || element._store.validated || element.key != null) { - return; + u(Pi, "readToken"); + var qn = u(function (e, t, i) { + this.start = e.start, this.end = e.pos, this.string = e.current(), this.type = t || null, this.state = i; + }, "Token"); + function Zn(e, t, i, r) { + var n = e.doc, + l = n.mode, + o; + t = N(n, t); + var a = S(n, t.line), + s = jt(e, t.line, i), + f = new K(a.text, e.options.tabSize, s), + h; + for (r && (h = []); (r || f.pos < t.ch) && !f.eol();) f.start = f.pos, o = Pi(l, f, s.state), r && h.push(new qn(f, o, lt(n.mode, s.state))); + return r ? h : new qn(f, o, s.state); + } + u(Zn, "takeToken"); + function Qn(e, t) { + if (e) for (;;) { + var i = e.match(/(?:^|\s+)line-(background-)?(\S+)/); + if (!i) break; + e = e.slice(0, i.index) + e.slice(i.index + i[0].length); + var r = i[1] ? "bgClass" : "textClass"; + t[r] == null ? t[r] = i[2] : new RegExp("(?:^|\\s)" + i[2] + "(?:$|\\s)").test(t[r]) || (t[r] += " " + i[2]); } - element._store.validated = true; - var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType); - if (ownerHasKeyUseWarning[currentComponentErrorInfo]) { - return; + return e; + } + u(Qn, "extractLineClasses"); + function Jn(e, t, i, r, n, l, o) { + var a = i.flattenSpans; + a == null && (a = e.options.flattenSpans); + var s = 0, + f = null, + h = new K(t, e.options.tabSize, r), + c, + p = e.options.addModeClass && [null]; + for (t == "" && Qn(Yn(i, r.state), l); !h.eol();) { + if (h.pos > e.options.maxHighlightLength ? (a = !1, o && Fi(e, t, r, h.pos), h.pos = t.length, c = null) : c = Qn(Pi(i, h, r.state, p), l), p) { + var d = p[0].name; + d && (c = "m-" + (c ? d + " " + c : d)); + } + if (!a || f != c) { + for (; s < h.start;) s = Math.min(h.start, s + 5e3), n(s, f); + f = c; + } + h.start = h.pos; } - ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a - // property, it may be the creator of the child that's responsible for - // assigning it a key. - - var childOwner = ''; - if (element && element._owner && element._owner !== ReactCurrentOwner$1.current) { - // Give the component that originally created this child. - childOwner = " It was passed a child from " + getComponentNameFromType(element._owner.type) + "."; + for (; s < h.pos;) { + var v = Math.min(h.pos, s + 5e3); + n(v, f), s = v; } - setCurrentlyValidatingElement$1(element); - error('Each child in a list should have a unique "key" prop.' + '%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner); - setCurrentlyValidatingElement$1(null); } - } - /** - * Ensure that every element either is passed in a static location, in an - * array with an explicit keys property defined, or in an object literal - * with valid key property. - * - * @internal - * @param {ReactNode} node Statically passed child of any type. - * @param {*} parentType node's parent's type. - */ - - function validateChildKeys(node, parentType) { - { - if (typeof node !== 'object') { - return; + u(Jn, "runMode"); + function fa(e, t, i) { + for (var r, n, l = e.doc, o = i ? -1 : t - (e.doc.mode.innerMode ? 1e3 : 100), a = t; a > o; --a) { + if (a <= l.first) return l.first; + var s = S(l, a - 1), + f = s.stateAfter; + if (f && (!i || a + (f instanceof Er ? f.lookAhead : 0) <= l.modeFrontier)) return a; + var h = xe(s.text, null, e.options.tabSize); + (n == null || r > h) && (n = a - 1, r = h); } - if (isArray(node)) { - for (var i = 0; i < node.length; i++) { - var child = node[i]; - if (isValidElement(child)) { - validateExplicitKey(child, parentType); - } - } - } else if (isValidElement(node)) { - // This element was passed in a valid location. - if (node._store) { - node._store.validated = true; - } - } else if (node) { - var iteratorFn = getIteratorFn(node); - if (typeof iteratorFn === 'function') { - // Entry iterators used to provide implicit keys, - // but now we print a separate warning for them later. - if (iteratorFn !== node.entries) { - var iterator = iteratorFn.call(node); - var step; - while (!(step = iterator.next()).done) { - if (isValidElement(step.value)) { - validateExplicitKey(step.value, parentType); - } - } + return n; + } + u(fa, "findStartLine"); + function ha(e, t) { + if (e.modeFrontier = Math.min(e.modeFrontier, t), !(e.highlightFrontier < t - 10)) { + for (var i = e.first, r = t - 1; r > i; r--) { + var n = S(e, r).stateAfter; + if (n && (!(n instanceof Er) || r + n.lookAhead < t)) { + i = r + 1; + break; } } + e.highlightFrontier = Math.min(e.highlightFrontier, i); } } - } - /** - * Given an element, validate that its props follow the propTypes definition, - * provided by the type. - * - * @param {ReactElement} element - */ - - function validatePropTypes(element) { - { - var type = element.type; - if (type === null || type === undefined || typeof type === 'string') { - return; - } - var propTypes; - if (typeof type === 'function') { - propTypes = type.propTypes; - } else if (typeof type === 'object' && (type.$$typeof === REACT_FORWARD_REF_TYPE || - // Note: Memo only checks outer props here. - // Inner props are checked in the reconciler. - type.$$typeof === REACT_MEMO_TYPE)) { - propTypes = type.propTypes; - } else { - return; - } - if (propTypes) { - // Intentionally inside to avoid triggering lazy initializers: - var name = getComponentNameFromType(type); - checkPropTypes(propTypes, element.props, 'prop', name, element); - } else if (type.PropTypes !== undefined && !propTypesMisspellWarningShown) { - propTypesMisspellWarningShown = true; // Intentionally inside to avoid triggering lazy initializers: - - var _name = getComponentNameFromType(type); - error('Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?', _name || 'Unknown'); - } - if (typeof type.getDefaultProps === 'function' && !type.getDefaultProps.isReactClassApproved) { - error('getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.'); + u(ha, "retreatFrontier"); + var jn = !1, + Ee = !1; + function ca() { + jn = !0; + } + u(ca, "seeReadOnlySpans"); + function da() { + Ee = !0; + } + u(da, "seeCollapsedSpans"); + function Ir(e, t, i) { + this.marker = e, this.from = t, this.to = i; + } + u(Ir, "MarkedSpan"); + function Vt(e, t) { + if (e) for (var i = 0; i < e.length; ++i) { + var r = e[i]; + if (r.marker == t) return r; } } - } - /** - * Given a fragment, validate that it can only be provided with fragment props - * @param {ReactElement} fragment - */ - - function validateFragmentProps(fragment) { - { - var keys = Object.keys(fragment.props); - for (var i = 0; i < keys.length; i++) { - var key = keys[i]; - if (key !== 'children' && key !== 'key') { - setCurrentlyValidatingElement$1(fragment); - error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key); - setCurrentlyValidatingElement$1(null); - break; + u(Vt, "getMarkedSpanFor"); + function pa(e, t) { + for (var i, r = 0; r < e.length; ++r) e[r] != t && (i || (i = [])).push(e[r]); + return i; + } + u(pa, "removeMarkedSpan"); + function va(e, t, i) { + var r = i && window.WeakSet && (i.markedSpans || (i.markedSpans = new WeakSet())); + r && e.markedSpans && r.has(e.markedSpans) ? e.markedSpans.push(t) : (e.markedSpans = e.markedSpans ? e.markedSpans.concat([t]) : [t], r && r.add(e.markedSpans)), t.marker.attachLine(e); + } + u(va, "addMarkedSpan"); + function ga(e, t, i) { + var r; + if (e) for (var n = 0; n < e.length; ++n) { + var l = e[n], + o = l.marker, + a = l.from == null || (o.inclusiveLeft ? l.from <= t : l.from < t); + if (a || l.from == t && o.type == "bookmark" && (!i || !l.marker.insertLeft)) { + var s = l.to == null || (o.inclusiveRight ? l.to >= t : l.to > t); + (r || (r = [])).push(new Ir(o, l.from, s ? null : l.to)); } } - if (fragment.ref !== null) { - setCurrentlyValidatingElement$1(fragment); - error('Invalid attribute `ref` supplied to `React.Fragment`.'); - setCurrentlyValidatingElement$1(null); - } + return r; } - } - function jsxWithValidation(type, props, key, isStaticChildren, source, self) { - { - var validType = isValidElementType(type); // We warn in this case but don't throw. We expect the element creation to - // succeed and there will likely be errors in render. - - if (!validType) { - var info = ''; - if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) { - info += ' You likely forgot to export your component from the file ' + "it's defined in, or you might have mixed up default and named imports."; - } - var sourceInfo = getSourceInfoErrorAddendum(source); - if (sourceInfo) { - info += sourceInfo; - } else { - info += getDeclarationErrorAddendum(); + u(ga, "markedSpansBefore"); + function ya(e, t, i) { + var r; + if (e) for (var n = 0; n < e.length; ++n) { + var l = e[n], + o = l.marker, + a = l.to == null || (o.inclusiveRight ? l.to >= t : l.to > t); + if (a || l.from == t && o.type == "bookmark" && (!i || l.marker.insertLeft)) { + var s = l.from == null || (o.inclusiveLeft ? l.from <= t : l.from < t); + (r || (r = [])).push(new Ir(o, s ? null : l.from - t, l.to == null ? null : l.to - t)); } - var typeString; - if (type === null) { - typeString = 'null'; - } else if (isArray(type)) { - typeString = 'array'; - } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) { - typeString = "<" + (getComponentNameFromType(type.type) || 'Unknown') + " />"; - info = ' Did you accidentally export a JSX literal instead of a component?'; - } else { - typeString = typeof type; + } + return r; + } + u(ya, "markedSpansAfter"); + function Ei(e, t) { + if (t.full) return null; + var i = Jt(e, t.from.line) && S(e, t.from.line).markedSpans, + r = Jt(e, t.to.line) && S(e, t.to.line).markedSpans; + if (!i && !r) return null; + var n = t.from.ch, + l = t.to.ch, + o = D(t.from, t.to) == 0, + a = ga(i, n, o), + s = ya(r, l, o), + f = t.text.length == 1, + h = H(t.text).length + (f ? n : 0); + if (a) for (var c = 0; c < a.length; ++c) { + var p = a[c]; + if (p.to == null) { + var d = Vt(s, p.marker); + d ? f && (p.to = d.to == null ? null : d.to + h) : p.to = n; } - error('React.jsx: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info); } - var element = jsxDEV(type, props, key, source, self); // The result can be nullish if a mock or a custom function is used. - // TODO: Drop this when these are no longer allowed as the type argument. - - if (element == null) { - return element; - } // Skip key warning if the type isn't valid since our key validation logic - // doesn't expect a non-string/function type and can throw confusing errors. - // We don't want exception behavior to differ between dev and prod. - // (Rendering will throw with a helpful message and as soon as the type is - // fixed, the key warnings will appear.) - - if (validType) { - var children = props.children; - if (children !== undefined) { - if (isStaticChildren) { - if (isArray(children)) { - for (var i = 0; i < children.length; i++) { - validateChildKeys(children[i], type); - } - if (Object.freeze) { - Object.freeze(children); - } - } else { - error('React.jsx: Static children should always be an array. ' + 'You are likely explicitly calling React.jsxs or React.jsxDEV. ' + 'Use the Babel transform instead.'); + if (s) for (var v = 0; v < s.length; ++v) { + var g = s[v]; + if (g.to != null && (g.to += h), g.from == null) { + var m = Vt(a, g.marker); + m || (g.from = h, f && (a || (a = [])).push(g)); + } else g.from += h, f && (a || (a = [])).push(g); + } + a && (a = Vn(a)), s && s != a && (s = Vn(s)); + var b = [a]; + if (!f) { + var C = t.text.length - 2, + x; + if (C > 0 && a) for (var w = 0; w < a.length; ++w) a[w].to == null && (x || (x = [])).push(new Ir(a[w].marker, null, null)); + for (var k = 0; k < C; ++k) b.push(x); + b.push(s); + } + return b; + } + u(Ei, "stretchSpansOverChange"); + function Vn(e) { + for (var t = 0; t < e.length; ++t) { + var i = e[t]; + i.from != null && i.from == i.to && i.marker.clearWhenEmpty !== !1 && e.splice(t--, 1); + } + return e.length ? e : null; + } + u(Vn, "clearEmptySpans"); + function ma(e, t, i) { + var r = null; + if (e.iter(t.line, i.line + 1, function (d) { + if (d.markedSpans) for (var v = 0; v < d.markedSpans.length; ++v) { + var g = d.markedSpans[v].marker; + g.readOnly && (!r || ee(r, g) == -1) && (r || (r = [])).push(g); + } + }), !r) return null; + for (var n = [{ + from: t, + to: i + }], l = 0; l < r.length; ++l) for (var o = r[l], a = o.find(0), s = 0; s < n.length; ++s) { + var f = n[s]; + if (!(D(f.to, a.from) < 0 || D(f.from, a.to) > 0)) { + var h = [s, 1], + c = D(f.from, a.from), + p = D(f.to, a.to); + (c < 0 || !o.inclusiveLeft && !c) && h.push({ + from: f.from, + to: a.from + }), (p > 0 || !o.inclusiveRight && !p) && h.push({ + from: a.to, + to: f.to + }), n.splice.apply(n, h), s += h.length - 3; + } + } + return n; + } + u(ma, "removeReadOnlyRanges"); + function $n(e) { + var t = e.markedSpans; + if (t) { + for (var i = 0; i < t.length; ++i) t[i].marker.detachLine(e); + e.markedSpans = null; + } + } + u($n, "detachMarkedSpans"); + function el(e, t) { + if (t) { + for (var i = 0; i < t.length; ++i) t[i].marker.attachLine(e); + e.markedSpans = t; + } + } + u(el, "attachMarkedSpans"); + function Rr(e) { + return e.inclusiveLeft ? -1 : 0; + } + u(Rr, "extraLeft"); + function Br(e) { + return e.inclusiveRight ? 1 : 0; + } + u(Br, "extraRight"); + function Ii(e, t) { + var i = e.lines.length - t.lines.length; + if (i != 0) return i; + var r = e.find(), + n = t.find(), + l = D(r.from, n.from) || Rr(e) - Rr(t); + if (l) return -l; + var o = D(r.to, n.to) || Br(e) - Br(t); + return o || t.id - e.id; + } + u(Ii, "compareCollapsedMarkers"); + function tl(e, t) { + var i = Ee && e.markedSpans, + r; + if (i) for (var n = void 0, l = 0; l < i.length; ++l) n = i[l], n.marker.collapsed && (t ? n.from : n.to) == null && (!r || Ii(r, n.marker) < 0) && (r = n.marker); + return r; + } + u(tl, "collapsedSpanAtSide"); + function rl(e) { + return tl(e, !0); + } + u(rl, "collapsedSpanAtStart"); + function zr(e) { + return tl(e, !1); + } + u(zr, "collapsedSpanAtEnd"); + function ba(e, t) { + var i = Ee && e.markedSpans, + r; + if (i) for (var n = 0; n < i.length; ++n) { + var l = i[n]; + l.marker.collapsed && (l.from == null || l.from < t) && (l.to == null || l.to > t) && (!r || Ii(r, l.marker) < 0) && (r = l.marker); + } + return r; + } + u(ba, "collapsedSpanAround"); + function il(e, t, i, r, n) { + var l = S(e, t), + o = Ee && l.markedSpans; + if (o) for (var a = 0; a < o.length; ++a) { + var s = o[a]; + if (s.marker.collapsed) { + var f = s.marker.find(0), + h = D(f.from, i) || Rr(s.marker) - Rr(n), + c = D(f.to, r) || Br(s.marker) - Br(n); + if (!(h >= 0 && c <= 0 || h <= 0 && c >= 0) && (h <= 0 && (s.marker.inclusiveRight && n.inclusiveLeft ? D(f.to, i) >= 0 : D(f.to, i) > 0) || h >= 0 && (s.marker.inclusiveRight && n.inclusiveLeft ? D(f.from, r) <= 0 : D(f.from, r) < 0))) return !0; + } + } + } + u(il, "conflictingCollapsedRange"); + function Se(e) { + for (var t; t = rl(e);) e = t.find(-1, !0).line; + return e; + } + u(Se, "visualLine"); + function xa(e) { + for (var t; t = zr(e);) e = t.find(1, !0).line; + return e; + } + u(xa, "visualLineEnd"); + function Ca(e) { + for (var t, i; t = zr(e);) e = t.find(1, !0).line, (i || (i = [])).push(e); + return i; + } + u(Ca, "visualLineContinued"); + function Ri(e, t) { + var i = S(e, t), + r = Se(i); + return i == r ? t : F(r); + } + u(Ri, "visualLineNo"); + function nl(e, t) { + if (t > e.lastLine()) return t; + var i = S(e, t), + r; + if (!Xe(e, i)) return t; + for (; r = zr(i);) i = r.find(1, !0).line; + return F(i) + 1; + } + u(nl, "visualLineEndNo"); + function Xe(e, t) { + var i = Ee && t.markedSpans; + if (i) { + for (var r = void 0, n = 0; n < i.length; ++n) if (r = i[n], !!r.marker.collapsed) { + if (r.from == null) return !0; + if (!r.marker.widgetNode && r.from == 0 && r.marker.inclusiveLeft && Bi(e, t, r)) return !0; + } + } + } + u(Xe, "lineIsHidden"); + function Bi(e, t, i) { + if (i.to == null) { + var r = i.marker.find(1, !0); + return Bi(e, r.line, Vt(r.line.markedSpans, i.marker)); + } + if (i.marker.inclusiveRight && i.to == t.text.length) return !0; + for (var n = void 0, l = 0; l < t.markedSpans.length; ++l) if (n = t.markedSpans[l], n.marker.collapsed && !n.marker.widgetNode && n.from == i.to && (n.to == null || n.to != i.from) && (n.marker.inclusiveLeft || i.marker.inclusiveRight) && Bi(e, t, n)) return !0; + } + u(Bi, "lineIsHiddenInner"); + function Ie(e) { + e = Se(e); + for (var t = 0, i = e.parent, r = 0; r < i.lines.length; ++r) { + var n = i.lines[r]; + if (n == e) break; + t += n.height; + } + for (var l = i.parent; l; i = l, l = i.parent) for (var o = 0; o < l.children.length; ++o) { + var a = l.children[o]; + if (a == i) break; + t += a.height; + } + return t; + } + u(Ie, "heightAtLine"); + function Gr(e) { + if (e.height == 0) return 0; + for (var t = e.text.length, i, r = e; i = rl(r);) { + var n = i.find(0, !0); + r = n.from.line, t += n.from.ch - n.to.ch; + } + for (r = e; i = zr(r);) { + var l = i.find(0, !0); + t -= r.text.length - l.from.ch, r = l.to.line, t += r.text.length - l.to.ch; + } + return t; + } + u(Gr, "lineLength"); + function zi(e) { + var t = e.display, + i = e.doc; + t.maxLine = S(i, i.first), t.maxLineLength = Gr(t.maxLine), t.maxLineChanged = !0, i.iter(function (r) { + var n = Gr(r); + n > t.maxLineLength && (t.maxLineLength = n, t.maxLine = r); + }); + } + u(zi, "findMaxLine"); + var St = u(function (e, t, i) { + this.text = e, el(this, t), this.height = i ? i(this) : 1; + }, "Line"); + St.prototype.lineNo = function () { + return F(this); + }, xt(St); + function wa(e, t, i, r) { + e.text = t, e.stateAfter && (e.stateAfter = null), e.styles && (e.styles = null), e.order != null && (e.order = null), $n(e), el(e, i); + var n = r ? r(e) : 1; + n != e.height && De(e, n); + } + u(wa, "updateLine"); + function Sa(e) { + e.parent = null, $n(e); + } + u(Sa, "cleanUpLine"); + var La = {}, + ka = {}; + function ll(e, t) { + if (!e || /^\s*$/.test(e)) return null; + var i = t.addModeClass ? ka : La; + return i[e] || (i[e] = e.replace(/\S+/g, "cm-$&")); + } + u(ll, "interpretTokenStyle"); + function ol(e, t) { + var i = bt("span", null, null, ne ? "padding-right: .1px" : null), + r = { + pre: bt("pre", [i], "CodeMirror-line"), + content: i, + col: 0, + pos: 0, + cm: e, + trailingSpace: !1, + splitSpaces: e.getOption("lineWrapping") + }; + t.measure = {}; + for (var n = 0; n <= (t.rest ? t.rest.length : 0); n++) { + var l = n ? t.rest[n - 1] : t.line, + o = void 0; + r.pos = 0, r.addToken = Ma, ra(e.display.measure) && (o = Pe(l, e.doc.direction)) && (r.addToken = Na(r.addToken, o)), r.map = []; + var a = t != e.display.externalMeasured && F(l); + Aa(l, r, Xn(e, l, a)), l.styleClasses && (l.styleClasses.bgClass && (r.bgClass = di(l.styleClasses.bgClass, r.bgClass || "")), l.styleClasses.textClass && (r.textClass = di(l.styleClasses.textClass, r.textClass || ""))), r.map.length == 0 && r.map.push(0, 0, r.content.appendChild(ta(e.display.measure))), n == 0 ? (t.measure.map = r.map, t.measure.cache = {}) : ((t.measure.maps || (t.measure.maps = [])).push(r.map), (t.measure.caches || (t.measure.caches = [])).push({})); + } + if (ne) { + var s = r.content.lastChild; + (/\bcm-tab\b/.test(s.className) || s.querySelector && s.querySelector(".cm-tab")) && (r.content.className = "cm-tab-wrap-hack"); + } + return U(e, "renderLine", e, t.line, r.pre), r.pre.className && (r.textClass = di(r.pre.className, r.textClass || "")), r; + } + u(ol, "buildLineContent"); + function Ta(e) { + var t = T("span", "•", "cm-invalidchar"); + return t.title = "\\u" + e.charCodeAt(0).toString(16), t.setAttribute("aria-label", t.title), t; + } + u(Ta, "defaultSpecialCharPlaceholder"); + function Ma(e, t, i, r, n, l, o) { + if (t) { + var a = e.splitSpaces ? Da(t, e.trailingSpace) : t, + s = e.cm.state.specialChars, + f = !1, + h; + if (!s.test(t)) e.col += t.length, h = document.createTextNode(a), e.map.push(e.pos, e.pos + t.length, h), O && I < 9 && (f = !0), e.pos += t.length;else { + h = document.createDocumentFragment(); + for (var c = 0;;) { + s.lastIndex = c; + var p = s.exec(t), + d = p ? p.index - c : t.length - c; + if (d) { + var v = document.createTextNode(a.slice(c, c + d)); + O && I < 9 ? h.appendChild(T("span", [v])) : h.appendChild(v), e.map.push(e.pos, e.pos + d, v), e.col += d, e.pos += d; } - } else { - validateChildKeys(children, type); + if (!p) break; + c += d + 1; + var g = void 0; + if (p[0] == " ") { + var m = e.cm.options.tabSize, + b = m - e.col % m; + g = h.appendChild(T("span", yi(b), "cm-tab")), g.setAttribute("role", "presentation"), g.setAttribute("cm-text", " "), e.col += b; + } else p[0] == "\r" || p[0] == ` +` ? (g = h.appendChild(T("span", p[0] == "\r" ? "␍" : "␤", "cm-invalidchar")), g.setAttribute("cm-text", p[0]), e.col += 1) : (g = e.cm.options.specialCharPlaceholder(p[0]), g.setAttribute("cm-text", p[0]), O && I < 9 ? h.appendChild(T("span", [g])) : h.appendChild(g), e.col += 1); + e.map.push(e.pos, e.pos + 1, g), e.pos++; } } + if (e.trailingSpace = a.charCodeAt(t.length - 1) == 32, i || r || n || f || l || o) { + var C = i || ""; + r && (C += r), n && (C += n); + var x = T("span", [h], C, l); + if (o) for (var w in o) o.hasOwnProperty(w) && w != "style" && w != "class" && x.setAttribute(w, o[w]); + return e.content.appendChild(x); + } + e.content.appendChild(h); } - if (type === REACT_FRAGMENT_TYPE) { - validateFragmentProps(element); - } else { - validatePropTypes(element); + } + u(Ma, "buildToken"); + function Da(e, t) { + if (e.length > 1 && !/ /.test(e)) return e; + for (var i = t, r = "", n = 0; n < e.length; n++) { + var l = e.charAt(n); + l == " " && i && (n == e.length - 1 || e.charCodeAt(n + 1) == 32) && (l = " "), r += l, i = l == " "; } - return element; + return r; } - } // These two functions exist to still get child warnings in dev - // even with the prod transform. This means that jsxDEV is purely - // opt-in behavior for better messages but that we won't stop - // giving you warnings if you use production apis. - - function jsxWithValidationStatic(type, props, key) { - { - return jsxWithValidation(type, props, key, true); + u(Da, "splitSpaces"); + function Na(e, t) { + return function (i, r, n, l, o, a, s) { + n = n ? n + " cm-force-border" : "cm-force-border"; + for (var f = i.pos, h = f + r.length;;) { + for (var c = void 0, p = 0; p < t.length && (c = t[p], !(c.to > f && c.from <= f)); p++); + if (c.to >= h) return e(i, r, n, l, o, a, s); + e(i, r.slice(0, c.to - f), n, l, null, a, s), l = null, r = r.slice(c.to - f), f = c.to; + } + }; } - } - function jsxWithValidationDynamic(type, props, key) { - { - return jsxWithValidation(type, props, key, false); + u(Na, "buildTokenBadBidi"); + function al(e, t, i, r) { + var n = !r && i.widgetNode; + n && e.map.push(e.pos, e.pos + t, n), !r && e.cm.display.input.needsContentAttribute && (n || (n = e.content.appendChild(document.createElement("span"))), n.setAttribute("cm-marker", i.id)), n && (e.cm.display.input.setUneditable(n), e.content.appendChild(n)), e.pos += t, e.trailingSpace = !1; } - } - var jsx = jsxWithValidationDynamic; // we may want to special case jsxs internally to take advantage of static children. - // for now we can ship identical prod functions - - var jsxs = jsxWithValidationStatic; - exports.Fragment = REACT_FRAGMENT_TYPE; - exports.jsx = jsx; - exports.jsxs = jsxs; - })(); -} - -/***/ }), - -/***/ "../../../node_modules/react/jsx-runtime.js": -/*!**************************************************!*\ - !*** ../../../node_modules/react/jsx-runtime.js ***! - \**************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - - - -if (false) {} else { - module.exports = __webpack_require__(/*! ./cjs/react-jsx-runtime.development.js */ "../../../node_modules/react/cjs/react-jsx-runtime.development.js"); -} - -/***/ }), - -/***/ "../../../node_modules/set-value/index.js": -/*!************************************************!*\ - !*** ../../../node_modules/set-value/index.js ***! - \************************************************/ -/***/ (function(module, __unused_webpack_exports, __webpack_require__) { - -/*! - * set-value - * - * Copyright (c) Jon Schlinkert (https://github.com/jonschlinkert). - * Released under the MIT License. - */ - - - -const { - deleteProperty -} = Reflect; -const isPrimitive = __webpack_require__(/*! is-primitive */ "../../../node_modules/is-primitive/index.js"); -const isPlainObject = __webpack_require__(/*! is-plain-object */ "../../../node_modules/is-plain-object/index.js"); -const isObject = value => { - return typeof value === 'object' && value !== null || typeof value === 'function'; -}; -const isUnsafeKey = key => { - return key === '__proto__' || key === 'constructor' || key === 'prototype'; -}; -const validateKey = key => { - if (!isPrimitive(key)) { - throw new TypeError('Object keys must be strings or symbols'); - } - if (isUnsafeKey(key)) { - throw new Error(`Cannot set unsafe key: "${key}"`); - } -}; -const toStringKey = input => { - return Array.isArray(input) ? input.flat().map(String).join(',') : input; -}; -const createMemoKey = (input, options) => { - if (typeof input !== 'string' || !options) return input; - let key = input + ';'; - if (options.arrays !== undefined) key += `arrays=${options.arrays};`; - if (options.separator !== undefined) key += `separator=${options.separator};`; - if (options.split !== undefined) key += `split=${options.split};`; - if (options.merge !== undefined) key += `merge=${options.merge};`; - if (options.preservePaths !== undefined) key += `preservePaths=${options.preservePaths};`; - return key; -}; -const memoize = (input, options, fn) => { - const key = toStringKey(options ? createMemoKey(input, options) : input); - validateKey(key); - const value = setValue.cache.get(key) || fn(); - setValue.cache.set(key, value); - return value; -}; -const splitString = function (input) { - let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - const sep = options.separator || '.'; - const preserve = sep === '/' ? false : options.preservePaths; - if (typeof input === 'string' && preserve !== false && /\//.test(input)) { - return [input]; - } - const parts = []; - let part = ''; - const push = part => { - let number; - if (part.trim() !== '' && Number.isInteger(number = Number(part))) { - parts.push(number); - } else { - parts.push(part); - } - }; - for (let i = 0; i < input.length; i++) { - const value = input[i]; - if (value === '\\') { - part += input[++i]; - continue; - } - if (value === sep) { - push(part); - part = ''; - continue; - } - part += value; - } - if (part) { - push(part); - } - return parts; -}; -const split = (input, options) => { - if (options && typeof options.split === 'function') return options.split(input); - if (typeof input === 'symbol') return [input]; - if (Array.isArray(input)) return input; - return memoize(input, options, () => splitString(input, options)); -}; -const assignProp = (obj, prop, value, options) => { - validateKey(prop); - - // Delete property when "value" is undefined - if (value === undefined) { - deleteProperty(obj, prop); - } else if (options && options.merge) { - const merge = options.merge === 'function' ? options.merge : Object.assign; - - // Only merge plain objects - if (merge && isPlainObject(obj[prop]) && isPlainObject(value)) { - obj[prop] = merge(obj[prop], value); - } else { - obj[prop] = value; - } - } else { - obj[prop] = value; - } - return obj; -}; -const setValue = (target, path, value, options) => { - if (!path || !isObject(target)) return target; - const keys = split(path, options); - let obj = target; - for (let i = 0; i < keys.length; i++) { - const key = keys[i]; - const next = keys[i + 1]; - validateKey(key); - if (next === undefined) { - assignProp(obj, key, value, options); - break; - } - if (typeof next === 'number' && !Array.isArray(obj[key])) { - obj = obj[key] = []; - continue; - } - if (!isObject(obj[key])) { - obj[key] = {}; - } - obj = obj[key]; - } - return target; -}; -setValue.split = split; -setValue.cache = new Map(); -setValue.clear = () => { - setValue.cache = new Map(); -}; -module.exports = setValue; - -/***/ }), - -/***/ "../../../node_modules/style-value-types/dist/valueTypes.cjs.js": -/*!**********************************************************************!*\ - !*** ../../../node_modules/style-value-types/dist/valueTypes.cjs.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack_module, exports) { - - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -const clamp = (min, max) => v => Math.max(Math.min(v, max), min); -const sanitize = v => v % 1 ? Number(v.toFixed(5)) : v; -const floatRegex = /(-)?([\d]*\.?[\d])+/g; -const colorRegex = /(#[0-9a-f]{6}|#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2,3}\s*\/*\s*[\d\.]+%?\))/gi; -const singleColorRegex = /^(#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2,3}\s*\/*\s*[\d\.]+%?\))$/i; -function isString(v) { - return typeof v === 'string'; -} -const number = { - test: v => typeof v === 'number', - parse: parseFloat, - transform: v => v -}; -const alpha = Object.assign(Object.assign({}, number), { - transform: clamp(0, 1) -}); -const scale = Object.assign(Object.assign({}, number), { - default: 1 -}); -const createUnitType = unit => ({ - test: v => isString(v) && v.endsWith(unit) && v.split(' ').length === 1, - parse: parseFloat, - transform: v => `${v}${unit}` -}); -const degrees = createUnitType('deg'); -const percent = createUnitType('%'); -const px = createUnitType('px'); -const vh = createUnitType('vh'); -const vw = createUnitType('vw'); -const progressPercentage = Object.assign(Object.assign({}, percent), { - parse: v => percent.parse(v) / 100, - transform: v => percent.transform(v * 100) -}); -const isColorString = (type, testProp) => v => { - return Boolean(isString(v) && singleColorRegex.test(v) && v.startsWith(type) || testProp && Object.prototype.hasOwnProperty.call(v, testProp)); -}; -const splitColor = (aName, bName, cName) => v => { - if (!isString(v)) return v; - const [a, b, c, alpha] = v.match(floatRegex); - return { - [aName]: parseFloat(a), - [bName]: parseFloat(b), - [cName]: parseFloat(c), - alpha: alpha !== undefined ? parseFloat(alpha) : 1 - }; -}; -const hsla = { - test: isColorString('hsl', 'hue'), - parse: splitColor('hue', 'saturation', 'lightness'), - transform: _ref => { - let { - hue, - saturation, - lightness, - alpha: alpha$1 = 1 - } = _ref; - return 'hsla(' + Math.round(hue) + ', ' + percent.transform(sanitize(saturation)) + ', ' + percent.transform(sanitize(lightness)) + ', ' + sanitize(alpha.transform(alpha$1)) + ')'; - } -}; -const clampRgbUnit = clamp(0, 255); -const rgbUnit = Object.assign(Object.assign({}, number), { - transform: v => Math.round(clampRgbUnit(v)) -}); -const rgba = { - test: isColorString('rgb', 'red'), - parse: splitColor('red', 'green', 'blue'), - transform: _ref2 => { - let { - red, - green, - blue, - alpha: alpha$1 = 1 - } = _ref2; - return 'rgba(' + rgbUnit.transform(red) + ', ' + rgbUnit.transform(green) + ', ' + rgbUnit.transform(blue) + ', ' + sanitize(alpha.transform(alpha$1)) + ')'; - } -}; -function parseHex(v) { - let r = ''; - let g = ''; - let b = ''; - let a = ''; - if (v.length > 5) { - r = v.substr(1, 2); - g = v.substr(3, 2); - b = v.substr(5, 2); - a = v.substr(7, 2); - } else { - r = v.substr(1, 1); - g = v.substr(2, 1); - b = v.substr(3, 1); - a = v.substr(4, 1); - r += r; - g += g; - b += b; - a += a; - } - return { - red: parseInt(r, 16), - green: parseInt(g, 16), - blue: parseInt(b, 16), - alpha: a ? parseInt(a, 16) / 255 : 1 - }; -} -const hex = { - test: isColorString('#'), - parse: parseHex, - transform: rgba.transform -}; -const color = { - test: v => rgba.test(v) || hex.test(v) || hsla.test(v), - parse: v => { - if (rgba.test(v)) { - return rgba.parse(v); - } else if (hsla.test(v)) { - return hsla.parse(v); - } else { - return hex.parse(v); - } - }, - transform: v => { - return isString(v) ? v : v.hasOwnProperty('red') ? rgba.transform(v) : hsla.transform(v); - } -}; -const colorToken = '${c}'; -const numberToken = '${n}'; -function test(v) { - var _a, _b, _c, _d; - return isNaN(v) && isString(v) && ((_b = (_a = v.match(floatRegex)) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0) + ((_d = (_c = v.match(colorRegex)) === null || _c === void 0 ? void 0 : _c.length) !== null && _d !== void 0 ? _d : 0) > 0; -} -function analyse(v) { - if (typeof v === 'number') v = `${v}`; - const values = []; - let numColors = 0; - const colors = v.match(colorRegex); - if (colors) { - numColors = colors.length; - v = v.replace(colorRegex, colorToken); - values.push(...colors.map(color.parse)); - } - const numbers = v.match(floatRegex); - if (numbers) { - v = v.replace(floatRegex, numberToken); - values.push(...numbers.map(number.parse)); - } - return { - values, - numColors, - tokenised: v - }; -} -function parse(v) { - return analyse(v).values; -} -function createTransformer(v) { - const { - values, - numColors, - tokenised - } = analyse(v); - const numValues = values.length; - return v => { - let output = tokenised; - for (let i = 0; i < numValues; i++) { - output = output.replace(i < numColors ? colorToken : numberToken, i < numColors ? color.transform(v[i]) : sanitize(v[i])); - } - return output; - }; -} -const convertNumbersToZero = v => typeof v === 'number' ? 0 : v; -function getAnimatableNone(v) { - const parsed = parse(v); - const transformer = createTransformer(v); - return transformer(parsed.map(convertNumbersToZero)); -} -const complex = { - test, - parse, - createTransformer, - getAnimatableNone -}; -const maxDefaults = new Set(['brightness', 'contrast', 'saturate', 'opacity']); -function applyDefaultFilter(v) { - let [name, value] = v.slice(0, -1).split('('); - if (name === 'drop-shadow') return v; - const [number] = value.match(floatRegex) || []; - if (!number) return v; - const unit = value.replace(number, ''); - let defaultValue = maxDefaults.has(name) ? 1 : 0; - if (number !== value) defaultValue *= 100; - return name + '(' + defaultValue + unit + ')'; -} -const functionRegex = /([a-z-]*)\(.*?\)/g; -const filter = Object.assign(Object.assign({}, complex), { - getAnimatableNone: v => { - const functions = v.match(functionRegex); - return functions ? functions.map(applyDefaultFilter).join(' ') : v; - } -}); -exports.alpha = alpha; -exports.color = color; -exports.complex = complex; -exports.degrees = degrees; -exports.filter = filter; -exports.hex = hex; -exports.hsla = hsla; -exports.number = number; -exports.percent = percent; -exports.progressPercentage = progressPercentage; -exports.px = px; -exports.rgbUnit = rgbUnit; -exports.rgba = rgba; -exports.scale = scale; -exports.vh = vh; -exports.vw = vw; - -/***/ }), - -/***/ "../../../node_modules/toggle-selection/index.js": -/*!*******************************************************!*\ - !*** ../../../node_modules/toggle-selection/index.js ***! - \*******************************************************/ -/***/ (function(module) { - - - -module.exports = function () { - var selection = document.getSelection(); - if (!selection.rangeCount) { - return function () {}; - } - var active = document.activeElement; - var ranges = []; - for (var i = 0; i < selection.rangeCount; i++) { - ranges.push(selection.getRangeAt(i)); - } - switch (active.tagName.toUpperCase()) { - // .toUpperCase handles XHTML - case 'INPUT': - case 'TEXTAREA': - active.blur(); - break; - default: - active = null; - break; - } - selection.removeAllRanges(); - return function () { - selection.type === 'Caret' && selection.removeAllRanges(); - if (!selection.rangeCount) { - ranges.forEach(function (range) { - selection.addRange(range); - }); - } - active && active.focus(); - }; -}; - -/***/ }), - -/***/ "../../../node_modules/tslib/tslib.es6.js": -/*!************************************************!*\ - !*** ../../../node_modules/tslib/tslib.es6.js ***! - \************************************************/ -/***/ (function(__unused_webpack_module, exports) { - - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.__assign = void 0; -exports.__asyncDelegator = __asyncDelegator; -exports.__asyncGenerator = __asyncGenerator; -exports.__asyncValues = __asyncValues; -exports.__await = __await; -exports.__awaiter = __awaiter; -exports.__classPrivateFieldGet = __classPrivateFieldGet; -exports.__classPrivateFieldIn = __classPrivateFieldIn; -exports.__classPrivateFieldSet = __classPrivateFieldSet; -exports.__createBinding = void 0; -exports.__decorate = __decorate; -exports.__exportStar = __exportStar; -exports.__extends = __extends; -exports.__generator = __generator; -exports.__importDefault = __importDefault; -exports.__importStar = __importStar; -exports.__makeTemplateObject = __makeTemplateObject; -exports.__metadata = __metadata; -exports.__param = __param; -exports.__read = __read; -exports.__rest = __rest; -exports.__spread = __spread; -exports.__spreadArray = __spreadArray; -exports.__spreadArrays = __spreadArrays; -exports.__values = __values; -/****************************************************************************** -Copyright (c) Microsoft Corporation. - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. -***************************************************************************** */ -/* global Reflect, Promise */ - -var extendStatics = function (d, b) { - extendStatics = Object.setPrototypeOf || { - __proto__: [] - } instanceof Array && function (d, b) { - d.__proto__ = b; - } || function (d, b) { - for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; - }; - return extendStatics(d, b); -}; -function __extends(d, b) { - if (typeof b !== "function" && b !== null) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null"); - extendStatics(d, b); - function __() { - this.constructor = d; - } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); -} -var __assign = function () { - exports.__assign = __assign = Object.assign || function __assign(t) { - for (var s, i = 1, n = arguments.length; i < n; i++) { - s = arguments[i]; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; - } - return t; - }; - return __assign.apply(this, arguments); -}; -exports.__assign = __assign; -function __rest(s, e) { - var t = {}; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; - if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { - if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]]; - } - return t; -} -function __decorate(decorators, target, key, desc) { - var c = arguments.length, - r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, - d; - if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; - return c > 3 && r && Object.defineProperty(target, key, r), r; -} -function __param(paramIndex, decorator) { - return function (target, key) { - decorator(target, key, paramIndex); - }; -} -function __metadata(metadataKey, metadataValue) { - if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue); -} -function __awaiter(thisArg, _arguments, P, generator) { - function adopt(value) { - return value instanceof P ? value : new P(function (resolve) { - resolve(value); - }); - } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); + u(al, "buildCollapsedSpan"); + function Aa(e, t, i) { + var r = e.markedSpans, + n = e.text, + l = 0; + if (!r) { + for (var o = 1; o < i.length; o += 2) t.addToken(t, n.slice(l, l = i[o]), ll(i[o + 1], t.cm.options)); + return; + } + for (var a = n.length, s = 0, f = 1, h = "", c, p, d = 0, v, g, m, b, C;;) { + if (d == s) { + v = g = m = p = "", C = null, b = null, d = 1 / 0; + for (var x = [], w = void 0, k = 0; k < r.length; ++k) { + var L = r[k], + A = L.marker; + if (A.type == "bookmark" && L.from == s && A.widgetNode) x.push(A);else if (L.from <= s && (L.to == null || L.to > s || A.collapsed && L.to == s && L.from == s)) { + if (L.to != null && L.to != s && d > L.to && (d = L.to, g = ""), A.className && (v += " " + A.className), A.css && (p = (p ? p + ";" : "") + A.css), A.startStyle && L.from == s && (m += " " + A.startStyle), A.endStyle && L.to == d && (w || (w = [])).push(A.endStyle, L.to), A.title && ((C || (C = {})).title = A.title), A.attributes) for (var E in A.attributes) (C || (C = {}))[E] = A.attributes[E]; + A.collapsed && (!b || Ii(b.marker, A) < 0) && (b = L); + } else L.from > s && d > L.from && (d = L.from); + } + if (w) for (var j = 0; j < w.length; j += 2) w[j + 1] == d && (g += " " + w[j]); + if (!b || b.from == s) for (var B = 0; B < x.length; ++B) al(t, 0, x[B]); + if (b && (b.from || 0) == s) { + if (al(t, (b.to == null ? a + 1 : b.to) - s, b.marker, b.from == null), b.to == null) return; + b.to == s && (b = !1); + } + } + if (s >= a) break; + for (var pe = Math.min(a, d);;) { + if (h) { + var fe = s + h.length; + if (!b) { + var _ = fe > pe ? h.slice(0, pe - s) : h; + t.addToken(t, _, c ? c + v : v, m, s + _.length == d ? g : "", p, C); + } + if (fe >= pe) { + h = h.slice(pe - s), s = pe; + break; + } + s = fe, m = ""; + } + h = n.slice(l, l = i[f++]), c = ll(i[f++], t.cm.options); + } + } } - } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); + u(Aa, "insertLineContent"); + function sl(e, t, i) { + this.line = t, this.rest = Ca(t), this.size = this.rest ? F(H(this.rest)) - i + 1 : 1, this.node = this.text = null, this.hidden = Xe(e, t); } - } - function step(result) { - result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); - } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -} -function __generator(thisArg, body) { - var _ = { - label: 0, - sent: function () { - if (t[0] & 1) throw t[1]; - return t[1]; - }, - trys: [], - ops: [] - }, - f, - y, - t, - g; - return g = { - next: verb(0), - "throw": verb(1), - "return": verb(2) - }, typeof Symbol === "function" && (g[Symbol.iterator] = function () { - return this; - }), g; - function verb(n) { - return function (v) { - return step([n, v]); - }; - } - function step(op) { - if (f) throw new TypeError("Generator is already executing."); - while (_) try { - if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t; - if (y = 0, t) op = [op[0] & 2, t.value]; - switch (op[0]) { - case 0: - case 1: - t = op; - break; - case 4: - _.label++; - return { - value: op[1], - done: false - }; - case 5: - _.label++; - y = op[1]; - op = [0]; - continue; - case 7: - op = _.ops.pop(); - _.trys.pop(); - continue; - default: - if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { - _ = 0; - continue; - } - if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) { - _.label = op[1]; - break; + u(sl, "LineView"); + function Ur(e, t, i) { + for (var r = [], n, l = t; l < i; l = n) { + var o = new sl(e.doc, S(e.doc, l), l); + n = l + o.size, r.push(o); + } + return r; + } + u(Ur, "buildViewArray"); + var Lt = null; + function Oa(e) { + Lt ? Lt.ops.push(e) : e.ownsGroup = Lt = { + ops: [e], + delayedCallbacks: [] + }; + } + u(Oa, "pushOperation"); + function Wa(e) { + var t = e.delayedCallbacks, + i = 0; + do { + for (; i < t.length; i++) t[i].call(null); + for (var r = 0; r < e.ops.length; r++) { + var n = e.ops[r]; + if (n.cursorActivityHandlers) for (; n.cursorActivityCalled < n.cursorActivityHandlers.length;) n.cursorActivityHandlers[n.cursorActivityCalled++].call(null, n.cm); } - if (op[0] === 6 && _.label < t[1]) { - _.label = t[1]; - t = op; - break; + } while (i < t.length); + } + u(Wa, "fireCallbacksForOps"); + function Ha(e, t) { + var i = e.ownsGroup; + if (i) try { + Wa(i); + } finally { + Lt = null, t(i); + } + } + u(Ha, "finishOperation"); + var $t = null; + function Z(e, t) { + var i = xi(e, t); + if (i.length) { + var r = Array.prototype.slice.call(arguments, 2), + n; + Lt ? n = Lt.delayedCallbacks : $t ? n = $t : (n = $t = [], setTimeout(Fa, 0)); + for (var l = u(function (a) { + n.push(function () { + return i[a].apply(null, r); + }); + }, "loop"), o = 0; o < i.length; ++o) l(o); + } + } + u(Z, "signalLater"); + function Fa() { + var e = $t; + $t = null; + for (var t = 0; t < e.length; ++t) e[t](); + } + u(Fa, "fireOrphanDelayed"); + function ul(e, t, i, r) { + for (var n = 0; n < t.changes.length; n++) { + var l = t.changes[n]; + l == "text" ? Ea(e, t) : l == "gutter" ? hl(e, t, i, r) : l == "class" ? Gi(e, t) : l == "widget" && Ia(e, t, r); + } + t.changes = null; + } + u(ul, "updateLineForChanges"); + function er(e) { + return e.node == e.text && (e.node = T("div", null, null, "position: relative"), e.text.parentNode && e.text.parentNode.replaceChild(e.node, e.text), e.node.appendChild(e.text), O && I < 8 && (e.node.style.zIndex = 2)), e.node; + } + u(er, "ensureLineWrapped"); + function Pa(e, t) { + var i = t.bgClass ? t.bgClass + " " + (t.line.bgClass || "") : t.line.bgClass; + if (i && (i += " CodeMirror-linebackground"), t.background) i ? t.background.className = i : (t.background.parentNode.removeChild(t.background), t.background = null);else if (i) { + var r = er(t); + t.background = r.insertBefore(T("div", null, i), r.firstChild), e.display.input.setUneditable(t.background); + } + } + u(Pa, "updateLineBackground"); + function fl(e, t) { + var i = e.display.externalMeasured; + return i && i.line == t.line ? (e.display.externalMeasured = null, t.measure = i.measure, i.built) : ol(e, t); + } + u(fl, "getLineContent"); + function Ea(e, t) { + var i = t.text.className, + r = fl(e, t); + t.text == t.node && (t.node = r.pre), t.text.parentNode.replaceChild(r.pre, t.text), t.text = r.pre, r.bgClass != t.bgClass || r.textClass != t.textClass ? (t.bgClass = r.bgClass, t.textClass = r.textClass, Gi(e, t)) : i && (t.text.className = i); + } + u(Ea, "updateLineText"); + function Gi(e, t) { + Pa(e, t), t.line.wrapClass ? er(t).className = t.line.wrapClass : t.node != t.text && (t.node.className = ""); + var i = t.textClass ? t.textClass + " " + (t.line.textClass || "") : t.line.textClass; + t.text.className = i || ""; + } + u(Gi, "updateLineClasses"); + function hl(e, t, i, r) { + if (t.gutter && (t.node.removeChild(t.gutter), t.gutter = null), t.gutterBackground && (t.node.removeChild(t.gutterBackground), t.gutterBackground = null), t.line.gutterClass) { + var n = er(t); + t.gutterBackground = T("div", null, "CodeMirror-gutter-background " + t.line.gutterClass, "left: " + (e.options.fixedGutter ? r.fixedPos : -r.gutterTotalWidth) + "px; width: " + r.gutterTotalWidth + "px"), e.display.input.setUneditable(t.gutterBackground), n.insertBefore(t.gutterBackground, t.text); + } + var l = t.line.gutterMarkers; + if (e.options.lineNumbers || l) { + var o = er(t), + a = t.gutter = T("div", null, "CodeMirror-gutter-wrapper", "left: " + (e.options.fixedGutter ? r.fixedPos : -r.gutterTotalWidth) + "px"); + if (a.setAttribute("aria-hidden", "true"), e.display.input.setUneditable(a), o.insertBefore(a, t.text), t.line.gutterClass && (a.className += " " + t.line.gutterClass), e.options.lineNumbers && (!l || !l["CodeMirror-linenumbers"]) && (t.lineNumber = a.appendChild(T("div", Oi(e.options, i), "CodeMirror-linenumber CodeMirror-gutter-elt", "left: " + r.gutterLeft["CodeMirror-linenumbers"] + "px; width: " + e.display.lineNumInnerWidth + "px"))), l) for (var s = 0; s < e.display.gutterSpecs.length; ++s) { + var f = e.display.gutterSpecs[s].className, + h = l.hasOwnProperty(f) && l[f]; + h && a.appendChild(T("div", [h], "CodeMirror-gutter-elt", "left: " + r.gutterLeft[f] + "px; width: " + r.gutterWidth[f] + "px")); } - if (t && _.label < t[2]) { - _.label = t[2]; - _.ops.push(op); - break; + } + } + u(hl, "updateLineGutter"); + function Ia(e, t, i) { + t.alignable && (t.alignable = null); + for (var r = mt("CodeMirror-linewidget"), n = t.node.firstChild, l = void 0; n; n = l) l = n.nextSibling, r.test(n.className) && t.node.removeChild(n); + cl(e, t, i); + } + u(Ia, "updateLineWidgets"); + function Ra(e, t, i, r) { + var n = fl(e, t); + return t.text = t.node = n.pre, n.bgClass && (t.bgClass = n.bgClass), n.textClass && (t.textClass = n.textClass), Gi(e, t), hl(e, t, i, r), cl(e, t, r), t.node; + } + u(Ra, "buildLineElement"); + function cl(e, t, i) { + if (dl(e, t.line, t, i, !0), t.rest) for (var r = 0; r < t.rest.length; r++) dl(e, t.rest[r], t, i, !1); + } + u(cl, "insertLineWidgets"); + function dl(e, t, i, r, n) { + if (t.widgets) for (var l = er(i), o = 0, a = t.widgets; o < a.length; ++o) { + var s = a[o], + f = T("div", [s.node], "CodeMirror-linewidget" + (s.className ? " " + s.className : "")); + s.handleMouseEvents || f.setAttribute("cm-ignore-events", "true"), Ba(s, f, i, r), e.display.input.setUneditable(f), n && s.above ? l.insertBefore(f, i.gutter || i.text) : l.appendChild(f), Z(s, "redraw"); + } + } + u(dl, "insertLineWidgetsFor"); + function Ba(e, t, i, r) { + if (e.noHScroll) { + (i.alignable || (i.alignable = [])).push(t); + var n = r.wrapperWidth; + t.style.left = r.fixedPos + "px", e.coverGutter || (n -= r.gutterTotalWidth, t.style.paddingLeft = r.gutterTotalWidth + "px"), t.style.width = n + "px"; + } + e.coverGutter && (t.style.zIndex = 5, t.style.position = "relative", e.noHScroll || (t.style.marginLeft = -r.gutterTotalWidth + "px")); + } + u(Ba, "positionLineWidget"); + function tr(e) { + if (e.height != null) return e.height; + var t = e.doc.cm; + if (!t) return 0; + if (!Ke(document.body, e.node)) { + var i = "position: relative;"; + e.coverGutter && (i += "margin-left: -" + t.display.gutters.offsetWidth + "px;"), e.noHScroll && (i += "width: " + t.display.wrapper.clientWidth + "px;"), ve(t.display.measure, T("div", [e.node], null, i)); + } + return e.height = e.node.parentNode.offsetHeight; + } + u(tr, "widgetHeight"); + function Re(e, t) { + for (var i = wi(t); i != e.wrapper; i = i.parentNode) if (!i || i.nodeType == 1 && i.getAttribute("cm-ignore-events") == "true" || i.parentNode == e.sizer && i != e.mover) return !0; + } + u(Re, "eventInWidget"); + function Kr(e) { + return e.lineSpace.offsetTop; + } + u(Kr, "paddingTop"); + function Ui(e) { + return e.mover.offsetHeight - e.lineSpace.offsetHeight; + } + u(Ui, "paddingVert"); + function pl(e) { + if (e.cachedPaddingH) return e.cachedPaddingH; + var t = ve(e.measure, T("pre", "x", "CodeMirror-line-like")), + i = window.getComputedStyle ? window.getComputedStyle(t) : t.currentStyle, + r = { + left: parseInt(i.paddingLeft), + right: parseInt(i.paddingRight) + }; + return !isNaN(r.left) && !isNaN(r.right) && (e.cachedPaddingH = r), r; + } + u(pl, "paddingH"); + function Ae(e) { + return Wn - e.display.nativeBarWidth; + } + u(Ae, "scrollGap"); + function st(e) { + return e.display.scroller.clientWidth - Ae(e) - e.display.barWidth; + } + u(st, "displayWidth"); + function Ki(e) { + return e.display.scroller.clientHeight - Ae(e) - e.display.barHeight; + } + u(Ki, "displayHeight"); + function za(e, t, i) { + var r = e.options.lineWrapping, + n = r && st(e); + if (!t.measure.heights || r && t.measure.width != n) { + var l = t.measure.heights = []; + if (r) { + t.measure.width = n; + for (var o = t.text.firstChild.getClientRects(), a = 0; a < o.length - 1; a++) { + var s = o[a], + f = o[a + 1]; + Math.abs(s.bottom - f.bottom) > 2 && l.push((s.bottom + f.top) / 2 - i.top); + } } - if (t[2]) _.ops.pop(); - _.trys.pop(); - continue; + l.push(i.bottom - i.top); + } } - op = body.call(thisArg, _); - } catch (e) { - op = [6, e]; - y = 0; - } finally { - f = t = 0; - } - if (op[0] & 5) throw op[1]; - return { - value: op[0] ? op[1] : void 0, - done: true - }; - } -} -var __createBinding = Object.create ? function (o, m, k, k2) { - if (k2 === undefined) k2 = k; - var desc = Object.getOwnPropertyDescriptor(m, k); - if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { - desc = { - enumerable: true, - get: function () { - return m[k]; + u(za, "ensureLineHeights"); + function vl(e, t, i) { + if (e.line == t) return { + map: e.measure.map, + cache: e.measure.cache + }; + if (e.rest) { + for (var r = 0; r < e.rest.length; r++) if (e.rest[r] == t) return { + map: e.measure.maps[r], + cache: e.measure.caches[r] + }; + for (var n = 0; n < e.rest.length; n++) if (F(e.rest[n]) > i) return { + map: e.measure.maps[n], + cache: e.measure.caches[n], + before: !0 + }; + } } - }; - } - Object.defineProperty(o, k2, desc); -} : function (o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -}; -exports.__createBinding = __createBinding; -function __exportStar(m, o) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p); -} -function __values(o) { - var s = typeof Symbol === "function" && Symbol.iterator, - m = s && o[s], - i = 0; - if (m) return m.call(o); - if (o && typeof o.length === "number") return { - next: function () { - if (o && i >= o.length) o = void 0; - return { - value: o && o[i++], - done: !o + u(vl, "mapFromLineView"); + function Ga(e, t) { + t = Se(t); + var i = F(t), + r = e.display.externalMeasured = new sl(e.doc, t, i); + r.lineN = i; + var n = r.built = ol(e, r); + return r.text = n.pre, ve(e.display.lineMeasure, n.pre), r; + } + u(Ga, "updateExternalMeasurement"); + function gl(e, t, i, r) { + return Oe(e, kt(e, t), i, r); + } + u(gl, "measureChar"); + function _i(e, t) { + if (t >= e.display.viewFrom && t < e.display.viewTo) return e.display.view[ht(e, t)]; + var i = e.display.externalMeasured; + if (i && t >= i.lineN && t < i.lineN + i.size) return i; + } + u(_i, "findViewForLine"); + function kt(e, t) { + var i = F(t), + r = _i(e, i); + r && !r.text ? r = null : r && r.changes && (ul(e, r, i, Qi(e)), e.curOp.forceUpdate = !0), r || (r = Ga(e, t)); + var n = vl(r, t, i); + return { + line: t, + view: r, + rect: null, + map: n.map, + cache: n.cache, + before: n.before, + hasHeights: !1 + }; + } + u(kt, "prepareMeasureForLine"); + function Oe(e, t, i, r, n) { + t.before && (i = -1); + var l = i + (r || ""), + o; + return t.cache.hasOwnProperty(l) ? o = t.cache[l] : (t.rect || (t.rect = t.view.text.getBoundingClientRect()), t.hasHeights || (za(e, t.view, t.rect), t.hasHeights = !0), o = Ka(e, t, i, r), o.bogus || (t.cache[l] = o)), { + left: o.left, + right: o.right, + top: n ? o.rtop : o.top, + bottom: n ? o.rbottom : o.bottom + }; + } + u(Oe, "measureCharPrepared"); + var yl = { + left: 0, + right: 0, + top: 0, + bottom: 0 }; - } - }; - throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined."); -} -function __read(o, n) { - var m = typeof Symbol === "function" && o[Symbol.iterator]; - if (!m) return o; - var i = m.call(o), - r, - ar = [], - e; - try { - while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value); - } catch (error) { - e = { - error: error - }; - } finally { - try { - if (r && !r.done && (m = i["return"])) m.call(i); - } finally { - if (e) throw e.error; - } - } - return ar; -} - -/** @deprecated */ -function __spread() { - for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i])); - return ar; -} - -/** @deprecated */ -function __spreadArrays() { - for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; - for (var r = Array(s), k = 0, i = 0; i < il; i++) for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) r[k] = a[j]; - return r; -} -function __spreadArray(to, from, pack) { - if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { - if (ar || !(i in from)) { - if (!ar) ar = Array.prototype.slice.call(from, 0, i); - ar[i] = from[i]; - } - } - return to.concat(ar || Array.prototype.slice.call(from)); -} -function __await(v) { - return this instanceof __await ? (this.v = v, this) : new __await(v); -} -function __asyncGenerator(thisArg, _arguments, generator) { - if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); - var g = generator.apply(thisArg, _arguments || []), - i, - q = []; - return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { - return this; - }, i; - function verb(n) { - if (g[n]) i[n] = function (v) { - return new Promise(function (a, b) { - q.push([n, v, a, b]) > 1 || resume(n, v); - }); - }; - } - function resume(n, v) { - try { - step(g[n](v)); - } catch (e) { - settle(q[0][3], e); - } - } - function step(r) { - r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); - } - function fulfill(value) { - resume("next", value); - } - function reject(value) { - resume("throw", value); - } - function settle(f, v) { - if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); - } -} -function __asyncDelegator(o) { - var i, p; - return i = {}, verb("next"), verb("throw", function (e) { - throw e; - }), verb("return"), i[Symbol.iterator] = function () { - return this; - }, i; - function verb(n, f) { - i[n] = o[n] ? function (v) { - return (p = !p) ? { - value: __await(o[n](v)), - done: n === "return" - } : f ? f(v) : v; - } : f; - } -} -function __asyncValues(o) { - if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); - var m = o[Symbol.asyncIterator], - i; - return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { - return this; - }, i); - function verb(n) { - i[n] = o[n] && function (v) { - return new Promise(function (resolve, reject) { - v = o[n](v), settle(resolve, reject, v.done, v.value); - }); - }; - } - function settle(resolve, reject, d, v) { - Promise.resolve(v).then(function (v) { - resolve({ - value: v, - done: d - }); - }, reject); - } -} -function __makeTemplateObject(cooked, raw) { - if (Object.defineProperty) { - Object.defineProperty(cooked, "raw", { - value: raw - }); - } else { - cooked.raw = raw; - } - return cooked; -} -; -var __setModuleDefault = Object.create ? function (o, v) { - Object.defineProperty(o, "default", { - enumerable: true, - value: v - }); -} : function (o, v) { - o["default"] = v; -}; -function __importStar(mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -} -function __importDefault(mod) { - return mod && mod.__esModule ? mod : { - default: mod - }; -} -function __classPrivateFieldGet(receiver, state, kind, f) { - if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter"); - if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it"); - return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver); -} -function __classPrivateFieldSet(receiver, state, value, kind, f) { - if (kind === "m") throw new TypeError("Private method is not writable"); - if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter"); - if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it"); - return kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value; -} -function __classPrivateFieldIn(state, receiver) { - if (receiver === null || typeof receiver !== "object" && typeof receiver !== "function") throw new TypeError("Cannot use 'in' operator on non-object"); - return typeof state === "function" ? receiver === state : state.has(receiver); -} - -/***/ }), - -/***/ "../../../node_modules/uc.micro/categories/Cc/regex.js": -/*!*************************************************************!*\ - !*** ../../../node_modules/uc.micro/categories/Cc/regex.js ***! - \*************************************************************/ -/***/ (function(module) { - - - -module.exports = /[\0-\x1F\x7F-\x9F]/; - -/***/ }), - -/***/ "../../../node_modules/uc.micro/categories/Cf/regex.js": -/*!*************************************************************!*\ - !*** ../../../node_modules/uc.micro/categories/Cf/regex.js ***! - \*************************************************************/ -/***/ (function(module) { - - - -module.exports = /[\xAD\u0600-\u0605\u061C\u06DD\u070F\u08E2\u180E\u200B-\u200F\u202A-\u202E\u2060-\u2064\u2066-\u206F\uFEFF\uFFF9-\uFFFB]|\uD804[\uDCBD\uDCCD]|\uD82F[\uDCA0-\uDCA3]|\uD834[\uDD73-\uDD7A]|\uDB40[\uDC01\uDC20-\uDC7F]/; - -/***/ }), - -/***/ "../../../node_modules/uc.micro/categories/P/regex.js": -/*!************************************************************!*\ - !*** ../../../node_modules/uc.micro/categories/P/regex.js ***! - \************************************************************/ -/***/ (function(module) { - - - -module.exports = /[!-#%-\*,-\/:;\?@\[-\]_\{\}\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166D\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4E\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD803[\uDF55-\uDF59]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDC4B-\uDC4F\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDF3C-\uDF3E]|\uD806[\uDC3B\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2]|\uD807[\uDC41-\uDC45\uDC70\uDC71\uDEF7\uDEF8]|\uD809[\uDC70-\uDC74]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD81B[\uDE97-\uDE9A]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]|\uD83A[\uDD5E\uDD5F]/; - -/***/ }), - -/***/ "../../../node_modules/uc.micro/categories/Z/regex.js": -/*!************************************************************!*\ - !*** ../../../node_modules/uc.micro/categories/Z/regex.js ***! - \************************************************************/ -/***/ (function(module) { - - - -module.exports = /[ \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/; - -/***/ }), - -/***/ "../../../node_modules/uc.micro/index.js": -/*!***********************************************!*\ - !*** ../../../node_modules/uc.micro/index.js ***! - \***********************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - - - -exports.Any = __webpack_require__(/*! ./properties/Any/regex */ "../../../node_modules/uc.micro/properties/Any/regex.js"); -exports.Cc = __webpack_require__(/*! ./categories/Cc/regex */ "../../../node_modules/uc.micro/categories/Cc/regex.js"); -exports.Cf = __webpack_require__(/*! ./categories/Cf/regex */ "../../../node_modules/uc.micro/categories/Cf/regex.js"); -exports.P = __webpack_require__(/*! ./categories/P/regex */ "../../../node_modules/uc.micro/categories/P/regex.js"); -exports.Z = __webpack_require__(/*! ./categories/Z/regex */ "../../../node_modules/uc.micro/categories/Z/regex.js"); - -/***/ }), - -/***/ "../../../node_modules/uc.micro/properties/Any/regex.js": -/*!**************************************************************!*\ - !*** ../../../node_modules/uc.micro/properties/Any/regex.js ***! - \**************************************************************/ -/***/ (function(module) { - - - -module.exports = /[\0-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/; - -/***/ }), - -/***/ "../../../node_modules/use-callback-ref/dist/es2015/assignRef.js": -/*!***********************************************************************!*\ - !*** ../../../node_modules/use-callback-ref/dist/es2015/assignRef.js ***! - \***********************************************************************/ -/***/ (function(__unused_webpack_module, exports) { - - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.assignRef = assignRef; -/** - * Assigns a value for a given ref, no matter of the ref format - * @param {RefObject} ref - a callback function or ref object - * @param value - a new value - * - * @see https://github.com/theKashey/use-callback-ref#assignref - * @example - * const refObject = useRef(); - * const refFn = (ref) => {....} - * - * assignRef(refObject, "refValue"); - * assignRef(refFn, "refValue"); - */ -function assignRef(ref, value) { - if (typeof ref === 'function') { - ref(value); - } else if (ref) { - ref.current = value; - } - return ref; -} - -/***/ }), - -/***/ "../../../node_modules/use-callback-ref/dist/es2015/createRef.js": -/*!***********************************************************************!*\ - !*** ../../../node_modules/use-callback-ref/dist/es2015/createRef.js ***! - \***********************************************************************/ -/***/ (function(__unused_webpack_module, exports) { - - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.createCallbackRef = createCallbackRef; -/** - * creates a Ref object with on change callback - * @param callback - * @returns {RefObject} - * - * @see {@link useCallbackRef} - * @see https://reactjs.org/docs/refs-and-the-dom.html#creating-refs - */ -function createCallbackRef(callback) { - var current = null; - return { - get current() { - return current; - }, - set current(value) { - var last = current; - if (last !== value) { - current = value; - callback(value, last); + function ml(e, t, i) { + for (var r, n, l, o, a, s, f = 0; f < e.length; f += 3) if (a = e[f], s = e[f + 1], t < a ? (n = 0, l = 1, o = "left") : t < s ? (n = t - a, l = n + 1) : (f == e.length - 3 || t == s && e[f + 3] > t) && (l = s - a, n = l - 1, t >= s && (o = "right")), n != null) { + if (r = e[f + 2], a == s && i == (r.insertLeft ? "left" : "right") && (o = i), i == "left" && n == 0) for (; f && e[f - 2] == e[f - 3] && e[f - 1].insertLeft;) r = e[(f -= 3) + 2], o = "left"; + if (i == "right" && n == s - a) for (; f < e.length - 3 && e[f + 3] == e[f + 4] && !e[f + 5].insertLeft;) r = e[(f += 3) + 2], o = "right"; + break; + } + return { + node: r, + start: n, + end: l, + collapse: o, + coverStart: a, + coverEnd: s + }; } - } - }; -} - -/***/ }), - -/***/ "../../../node_modules/use-callback-ref/dist/es2015/index.js": -/*!*******************************************************************!*\ - !*** ../../../node_modules/use-callback-ref/dist/es2015/index.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -Object.defineProperty(exports, "assignRef", ({ - enumerable: true, - get: function () { - return _assignRef.assignRef; - } -})); -Object.defineProperty(exports, "createCallbackRef", ({ - enumerable: true, - get: function () { - return _createRef.createCallbackRef; - } -})); -Object.defineProperty(exports, "mergeRefs", ({ - enumerable: true, - get: function () { - return _mergeRef.mergeRefs; - } -})); -Object.defineProperty(exports, "refToCallback", ({ - enumerable: true, - get: function () { - return _refToCallback.refToCallback; - } -})); -Object.defineProperty(exports, "transformRef", ({ - enumerable: true, - get: function () { - return _transformRef.transformRef; - } -})); -Object.defineProperty(exports, "useCallbackRef", ({ - enumerable: true, - get: function () { - return _useRef.useCallbackRef; - } -})); -Object.defineProperty(exports, "useMergeRefs", ({ - enumerable: true, - get: function () { - return _useMergeRef.useMergeRefs; - } -})); -Object.defineProperty(exports, "useRefToCallback", ({ - enumerable: true, - get: function () { - return _refToCallback.useRefToCallback; - } -})); -Object.defineProperty(exports, "useTransformRef", ({ - enumerable: true, - get: function () { - return _useTransformRef.useTransformRef; - } -})); -var _assignRef = __webpack_require__(/*! ./assignRef */ "../../../node_modules/use-callback-ref/dist/es2015/assignRef.js"); -var _useRef = __webpack_require__(/*! ./useRef */ "../../../node_modules/use-callback-ref/dist/es2015/useRef.js"); -var _createRef = __webpack_require__(/*! ./createRef */ "../../../node_modules/use-callback-ref/dist/es2015/createRef.js"); -var _mergeRef = __webpack_require__(/*! ./mergeRef */ "../../../node_modules/use-callback-ref/dist/es2015/mergeRef.js"); -var _useMergeRef = __webpack_require__(/*! ./useMergeRef */ "../../../node_modules/use-callback-ref/dist/es2015/useMergeRef.js"); -var _useTransformRef = __webpack_require__(/*! ./useTransformRef */ "../../../node_modules/use-callback-ref/dist/es2015/useTransformRef.js"); -var _transformRef = __webpack_require__(/*! ./transformRef */ "../../../node_modules/use-callback-ref/dist/es2015/transformRef.js"); -var _refToCallback = __webpack_require__(/*! ./refToCallback */ "../../../node_modules/use-callback-ref/dist/es2015/refToCallback.js"); - -/***/ }), - -/***/ "../../../node_modules/use-callback-ref/dist/es2015/mergeRef.js": -/*!**********************************************************************!*\ - !*** ../../../node_modules/use-callback-ref/dist/es2015/mergeRef.js ***! - \**********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.mergeRefs = mergeRefs; -var _assignRef = __webpack_require__(/*! ./assignRef */ "../../../node_modules/use-callback-ref/dist/es2015/assignRef.js"); -var _createRef = __webpack_require__(/*! ./createRef */ "../../../node_modules/use-callback-ref/dist/es2015/createRef.js"); -/** - * Merges two or more refs together providing a single interface to set their value - * @param {RefObject|Ref} refs - * @returns {MutableRefObject} - a new ref, which translates all changes to {refs} - * - * @see {@link useMergeRefs} to be used in ReactComponents - * @example - * const Component = React.forwardRef((props, ref) => { - * const ownRef = useRef(); - * const domRef = mergeRefs([ref, ownRef]); // 👈 merge together - * return
...
- * } - */ -function mergeRefs(refs) { - return (0, _createRef.createCallbackRef)(function (newValue) { - return refs.forEach(function (ref) { - return (0, _assignRef.assignRef)(ref, newValue); - }); - }); -} - -/***/ }), - -/***/ "../../../node_modules/use-callback-ref/dist/es2015/refToCallback.js": -/*!***************************************************************************!*\ - !*** ../../../node_modules/use-callback-ref/dist/es2015/refToCallback.js ***! - \***************************************************************************/ -/***/ (function(__unused_webpack_module, exports) { - - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.refToCallback = refToCallback; -exports.useRefToCallback = useRefToCallback; -/** - * Unmemoized version of {@link useRefToCallback} - * @see {@link useRefToCallback} - * @param ref - */ -function refToCallback(ref) { - return function (newValue) { - if (typeof ref === 'function') { - ref(newValue); - } else if (ref) { - ref.current = newValue; - } - }; -} -var nullCallback = function () { - return null; -}; -// lets maintain a weak ref to, well, ref :) -// not using `kashe` to keep this package small -var weakMem = new WeakMap(); -var weakMemoize = function (ref) { - var usedRef = ref || nullCallback; - var storedRef = weakMem.get(usedRef); - if (storedRef) { - return storedRef; - } - var cb = refToCallback(usedRef); - weakMem.set(usedRef, cb); - return cb; -}; -/** - * Transforms a given `ref` into `callback`. - * - * To transform `callback` into ref use {@link useCallbackRef|useCallbackRef(undefined, callback)} - * - * @param {ReactRef} ref - * @returns {Function} - * - * @see https://github.com/theKashey/use-callback-ref#reftocallback - * - * @example - * const ref = useRef(0); - * const setRef = useRefToCallback(ref); - * 👉 setRef(10); - * ✅ ref.current === 10 - */ -function useRefToCallback(ref) { - return weakMemoize(ref); -} - -/***/ }), - -/***/ "../../../node_modules/use-callback-ref/dist/es2015/transformRef.js": -/*!**************************************************************************!*\ - !*** ../../../node_modules/use-callback-ref/dist/es2015/transformRef.js ***! - \**************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.transformRef = transformRef; -var _assignRef = __webpack_require__(/*! ./assignRef */ "../../../node_modules/use-callback-ref/dist/es2015/assignRef.js"); -var _createRef = __webpack_require__(/*! ./createRef */ "../../../node_modules/use-callback-ref/dist/es2015/createRef.js"); -/** - * Transforms one ref to another - * @example - * ```tsx - * const ResizableWithRef = forwardRef((props, ref) => - * i ? i.resizable : null)}/> - * ); - * ``` - */ -function transformRef(ref, transformer) { - return (0, _createRef.createCallbackRef)(function (value) { - return (0, _assignRef.assignRef)(ref, transformer(value)); - }); -} - -/***/ }), - -/***/ "../../../node_modules/use-callback-ref/dist/es2015/useMergeRef.js": -/*!*************************************************************************!*\ - !*** ../../../node_modules/use-callback-ref/dist/es2015/useMergeRef.js ***! - \*************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.useMergeRefs = useMergeRefs; -var _assignRef = __webpack_require__(/*! ./assignRef */ "../../../node_modules/use-callback-ref/dist/es2015/assignRef.js"); -var _useRef = __webpack_require__(/*! ./useRef */ "../../../node_modules/use-callback-ref/dist/es2015/useRef.js"); -/** - * Merges two or more refs together providing a single interface to set their value - * @param {RefObject|Ref} refs - * @returns {MutableRefObject} - a new ref, which translates all changes to {refs} - * - * @see {@link mergeRefs} a version without buit-in memoization - * @see https://github.com/theKashey/use-callback-ref#usemergerefs - * @example - * const Component = React.forwardRef((props, ref) => { - * const ownRef = useRef(); - * const domRef = useMergeRefs([ref, ownRef]); // 👈 merge together - * return
...
- * } - */ -function useMergeRefs(refs, defaultValue) { - return (0, _useRef.useCallbackRef)(defaultValue || null, function (newValue) { - return refs.forEach(function (ref) { - return (0, _assignRef.assignRef)(ref, newValue); - }); - }); -} - -/***/ }), - -/***/ "../../../node_modules/use-callback-ref/dist/es2015/useRef.js": -/*!********************************************************************!*\ - !*** ../../../node_modules/use-callback-ref/dist/es2015/useRef.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.useCallbackRef = useCallbackRef; -var _react = __webpack_require__(/*! react */ "react"); -/** - * creates a MutableRef with ref change callback - * @param initialValue - initial ref value - * @param {Function} callback - a callback to run when value changes - * - * @example - * const ref = useCallbackRef(0, (newValue, oldValue) => console.log(oldValue, '->', newValue); - * ref.current = 1; - * // prints 0 -> 1 - * - * @see https://reactjs.org/docs/hooks-reference.html#useref - * @see https://github.com/theKashey/use-callback-ref#usecallbackref---to-replace-reactuseref - * @returns {MutableRefObject} - */ -function useCallbackRef(initialValue, callback) { - var ref = (0, _react.useState)(function () { - return { - // value - value: initialValue, - // last callback - callback: callback, - // "memoized" public interface - facade: { - get current() { - return ref.value; - }, - set current(value) { - var last = ref.value; - if (last !== value) { - ref.value = value; - ref.callback(value, last); + u(ml, "nodeAndOffsetInLineMap"); + function Ua(e, t) { + var i = yl; + if (t == "left") for (var r = 0; r < e.length && (i = e[r]).left == i.right; r++);else for (var n = e.length - 1; n >= 0 && (i = e[n]).left == i.right; n--); + return i; + } + u(Ua, "getUsefulRect"); + function Ka(e, t, i, r) { + var n = ml(t.map, i, r), + l = n.node, + o = n.start, + a = n.end, + s = n.collapse, + f; + if (l.nodeType == 3) { + for (var h = 0; h < 4; h++) { + for (; o && bi(t.line.text.charAt(n.coverStart + o));) --o; + for (; n.coverStart + a < n.coverEnd && bi(t.line.text.charAt(n.coverStart + a));) ++a; + if (O && I < 9 && o == 0 && a == n.coverEnd - n.coverStart ? f = l.parentNode.getBoundingClientRect() : f = Ua(rt(l, o, a).getClientRects(), r), f.left || f.right || o == 0) break; + a = o, o = o - 1, s = "right"; } + O && I < 11 && (f = _a(e.display.measure, f)); + } else { + o > 0 && (s = r = "right"); + var c; + e.options.lineWrapping && (c = l.getClientRects()).length > 1 ? f = c[r == "right" ? c.length - 1 : 0] : f = l.getBoundingClientRect(); + } + if (O && I < 9 && !o && (!f || !f.left && !f.right)) { + var p = l.parentNode.getClientRects()[0]; + p ? f = { + left: p.left, + right: p.left + Mt(e.display), + top: p.top, + bottom: p.bottom + } : f = yl; } + for (var d = f.top - t.rect.top, v = f.bottom - t.rect.top, g = (d + v) / 2, m = t.view.measure.heights, b = 0; b < m.length - 1 && !(g < m[b]); b++); + var C = b ? m[b - 1] : 0, + x = m[b], + w = { + left: (s == "right" ? f.right : f.left) - t.rect.left, + right: (s == "left" ? f.left : f.right) - t.rect.left, + top: C, + bottom: x + }; + return !f.left && !f.right && (w.bogus = !0), e.options.singleCursorHeightPerLine || (w.rtop = d, w.rbottom = v), w; } - }; - })[0]; - // update callback - ref.callback = callback; - return ref.facade; -} - -/***/ }), - -/***/ "../../../node_modules/use-callback-ref/dist/es2015/useTransformRef.js": -/*!*****************************************************************************!*\ - !*** ../../../node_modules/use-callback-ref/dist/es2015/useTransformRef.js ***! - \*****************************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.useTransformRef = useTransformRef; -var _assignRef = __webpack_require__(/*! ./assignRef */ "../../../node_modules/use-callback-ref/dist/es2015/assignRef.js"); -var _useRef = __webpack_require__(/*! ./useRef */ "../../../node_modules/use-callback-ref/dist/es2015/useRef.js"); -/** - * Create a _lense_ on Ref, making it possible to transform ref value - * @param {ReactRef} ref - * @param {Function} transformer. 👉 Ref would be __NOT updated__ on `transformer` update. - * @returns {RefObject} - * - * @see https://github.com/theKashey/use-callback-ref#usetransformref-to-replace-reactuseimperativehandle - * @example - * - * const ResizableWithRef = forwardRef((props, ref) => - * i ? i.resizable : null)}/> - * ); - */ -function useTransformRef(ref, transformer) { - return (0, _useRef.useCallbackRef)(null, function (value) { - return (0, _assignRef.assignRef)(ref, transformer(value)); - }); -} - -/***/ }), - -/***/ "../../../node_modules/use-sidecar/dist/es2015/config.js": -/*!***************************************************************!*\ - !*** ../../../node_modules/use-sidecar/dist/es2015/config.js ***! - \***************************************************************/ -/***/ (function(__unused_webpack_module, exports) { - - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.setConfig = exports.config = void 0; -var config = { - onError: function (e) { - return console.error(e); - } -}; -exports.config = config; -var setConfig = function (conf) { - Object.assign(config, conf); -}; -exports.setConfig = setConfig; - -/***/ }), - -/***/ "../../../node_modules/use-sidecar/dist/es2015/env.js": -/*!************************************************************!*\ - !*** ../../../node_modules/use-sidecar/dist/es2015/env.js ***! - \************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.env = void 0; -var _detectNodeEs = __webpack_require__(/*! detect-node-es */ "../../../node_modules/detect-node-es/esm/browser.js"); -var env = { - isNode: _detectNodeEs.isNode, - forceCache: false -}; -exports.env = env; - -/***/ }), - -/***/ "../../../node_modules/use-sidecar/dist/es2015/exports.js": -/*!****************************************************************!*\ - !*** ../../../node_modules/use-sidecar/dist/es2015/exports.js ***! - \****************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.exportSidecar = exportSidecar; -var _tslib = __webpack_require__(/*! tslib */ "../../../node_modules/tslib/tslib.es6.js"); -var React = _interopRequireWildcard(__webpack_require__(/*! react */ "react")); -function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } -function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } -var SideCar = function (_a) { - var sideCar = _a.sideCar, - rest = (0, _tslib.__rest)(_a, ["sideCar"]); - if (!sideCar) { - throw new Error('Sidecar: please provide `sideCar` property to import the right car'); - } - var Target = sideCar.read(); - if (!Target) { - throw new Error('Sidecar medium not found'); - } - return /*#__PURE__*/React.createElement(Target, (0, _tslib.__assign)({}, rest)); -}; -SideCar.isSideCarExport = true; -function exportSidecar(medium, exported) { - medium.useMedium(exported); - return SideCar; -} - -/***/ }), - -/***/ "../../../node_modules/use-sidecar/dist/es2015/hoc.js": -/*!************************************************************!*\ - !*** ../../../node_modules/use-sidecar/dist/es2015/hoc.js ***! - \************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.sidecar = sidecar; -var _tslib = __webpack_require__(/*! tslib */ "../../../node_modules/tslib/tslib.es6.js"); -var React = _interopRequireWildcard(__webpack_require__(/*! react */ "react")); -var _hook = __webpack_require__(/*! ./hook */ "../../../node_modules/use-sidecar/dist/es2015/hook.js"); -function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } -function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } -// eslint-disable-next-line @typescript-eslint/ban-types -function sidecar(importer, errorComponent) { - var ErrorCase = function () { - return errorComponent; - }; - return function Sidecar(props) { - var _a = (0, _hook.useSidecar)(importer, props.sideCar), - Car = _a[0], - error = _a[1]; - if (error && errorComponent) { - return ErrorCase; - } - // @ts-expect-error type shenanigans - return Car ? /*#__PURE__*/React.createElement(Car, (0, _tslib.__assign)({}, props)) : null; - }; -} - -/***/ }), - -/***/ "../../../node_modules/use-sidecar/dist/es2015/hook.js": -/*!*************************************************************!*\ - !*** ../../../node_modules/use-sidecar/dist/es2015/hook.js ***! - \*************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.useSidecar = useSidecar; -var _react = __webpack_require__(/*! react */ "react"); -var _env = __webpack_require__(/*! ./env */ "../../../node_modules/use-sidecar/dist/es2015/env.js"); -var cache = new WeakMap(); -var NO_OPTIONS = {}; -function useSidecar(importer, effect) { - var options = effect && effect.options || NO_OPTIONS; - if (_env.env.isNode && !options.ssr) { - return [null, null]; - } - // eslint-disable-next-line react-hooks/rules-of-hooks - return useRealSidecar(importer, effect); -} -function useRealSidecar(importer, effect) { - var options = effect && effect.options || NO_OPTIONS; - var couldUseCache = _env.env.forceCache || _env.env.isNode && !!options.ssr || !options.async; - var _a = (0, _react.useState)(couldUseCache ? function () { - return cache.get(importer); - } : undefined), - Car = _a[0], - setCar = _a[1]; - var _b = (0, _react.useState)(null), - error = _b[0], - setError = _b[1]; - (0, _react.useEffect)(function () { - if (!Car) { - importer().then(function (car) { - var resolved = effect ? effect.read() : car.default || car; - if (!resolved) { - console.error('Sidecar error: with importer', importer); - var error_1; - if (effect) { - console.error('Sidecar error: with medium', effect); - error_1 = new Error('Sidecar medium was not found'); - } else { - error_1 = new Error('Sidecar was not found in exports'); - } - setError(function () { - return error_1; - }); - throw error_1; - } - cache.set(importer, resolved); - setCar(function () { - return resolved; - }); - }, function (e) { - return setError(function () { - return e; - }); - }); - } - }, []); - return [Car, error]; -} - -/***/ }), - -/***/ "../../../node_modules/use-sidecar/dist/es2015/index.js": -/*!**************************************************************!*\ - !*** ../../../node_modules/use-sidecar/dist/es2015/index.js ***! - \**************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -Object.defineProperty(exports, "createMedium", ({ - enumerable: true, - get: function () { - return _medium.createMedium; - } -})); -Object.defineProperty(exports, "createSidecarMedium", ({ - enumerable: true, - get: function () { - return _medium.createSidecarMedium; - } -})); -Object.defineProperty(exports, "exportSidecar", ({ - enumerable: true, - get: function () { - return _exports.exportSidecar; - } -})); -Object.defineProperty(exports, "renderCar", ({ - enumerable: true, - get: function () { - return _renderProp.renderCar; - } -})); -Object.defineProperty(exports, "setConfig", ({ - enumerable: true, - get: function () { - return _config.setConfig; - } -})); -Object.defineProperty(exports, "sidecar", ({ - enumerable: true, - get: function () { - return _hoc.sidecar; - } -})); -Object.defineProperty(exports, "useSidecar", ({ - enumerable: true, - get: function () { - return _hook.useSidecar; - } -})); -var _hoc = __webpack_require__(/*! ./hoc */ "../../../node_modules/use-sidecar/dist/es2015/hoc.js"); -var _hook = __webpack_require__(/*! ./hook */ "../../../node_modules/use-sidecar/dist/es2015/hook.js"); -var _config = __webpack_require__(/*! ./config */ "../../../node_modules/use-sidecar/dist/es2015/config.js"); -var _medium = __webpack_require__(/*! ./medium */ "../../../node_modules/use-sidecar/dist/es2015/medium.js"); -var _renderProp = __webpack_require__(/*! ./renderProp */ "../../../node_modules/use-sidecar/dist/es2015/renderProp.js"); -var _exports = __webpack_require__(/*! ./exports */ "../../../node_modules/use-sidecar/dist/es2015/exports.js"); - -/***/ }), - -/***/ "../../../node_modules/use-sidecar/dist/es2015/medium.js": -/*!***************************************************************!*\ - !*** ../../../node_modules/use-sidecar/dist/es2015/medium.js ***! - \***************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.createMedium = createMedium; -exports.createSidecarMedium = createSidecarMedium; -var _tslib = __webpack_require__(/*! tslib */ "../../../node_modules/tslib/tslib.es6.js"); -function ItoI(a) { - return a; -} -function innerCreateMedium(defaults, middleware) { - if (middleware === void 0) { - middleware = ItoI; - } - var buffer = []; - var assigned = false; - var medium = { - read: function () { - if (assigned) { - throw new Error('Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.'); + u(Ka, "measureCharInner"); + function _a(e, t) { + if (!window.screen || screen.logicalXDPI == null || screen.logicalXDPI == screen.deviceXDPI || !la(e)) return t; + var i = screen.logicalXDPI / screen.deviceXDPI, + r = screen.logicalYDPI / screen.deviceYDPI; + return { + left: t.left * i, + right: t.right * i, + top: t.top * r, + bottom: t.bottom * r + }; } - if (buffer.length) { - return buffer[buffer.length - 1]; + u(_a, "maybeUpdateRectForZooming"); + function bl(e) { + if (e.measure && (e.measure.cache = {}, e.measure.heights = null, e.rest)) for (var t = 0; t < e.rest.length; t++) e.measure.caches[t] = {}; } - return defaults; - }, - useMedium: function (data) { - var item = middleware(data, assigned); - buffer.push(item); - return function () { - buffer = buffer.filter(function (x) { - return x !== item; - }); - }; - }, - assignSyncMedium: function (cb) { - assigned = true; - while (buffer.length) { - var cbs = buffer; - buffer = []; - cbs.forEach(cb); + u(bl, "clearLineMeasurementCacheFor"); + function xl(e) { + e.display.externalMeasure = null, Ue(e.display.lineMeasure); + for (var t = 0; t < e.display.view.length; t++) bl(e.display.view[t]); } - buffer = { - push: function (x) { - return cb(x); - }, - filter: function () { - return buffer; + u(xl, "clearLineMeasurementCache"); + function rr(e) { + xl(e), e.display.cachedCharWidth = e.display.cachedTextHeight = e.display.cachedPaddingH = null, e.options.lineWrapping || (e.display.maxLineChanged = !0), e.display.lineNumChars = null; + } + u(rr, "clearCaches"); + function Cl() { + return Tr && Dr ? -(document.body.getBoundingClientRect().left - parseInt(getComputedStyle(document.body).marginLeft)) : window.pageXOffset || (document.documentElement || document.body).scrollLeft; + } + u(Cl, "pageScrollX"); + function wl() { + return Tr && Dr ? -(document.body.getBoundingClientRect().top - parseInt(getComputedStyle(document.body).marginTop)) : window.pageYOffset || (document.documentElement || document.body).scrollTop; + } + u(wl, "pageScrollY"); + function Xi(e) { + var t = Se(e), + i = t.widgets, + r = 0; + if (i) for (var n = 0; n < i.length; ++n) i[n].above && (r += tr(i[n])); + return r; + } + u(Xi, "widgetTopHeight"); + function _r(e, t, i, r, n) { + if (!n) { + var l = Xi(t); + i.top += l, i.bottom += l; } - }; - }, - assignMedium: function (cb) { - assigned = true; - var pendingQueue = []; - if (buffer.length) { - var cbs = buffer; - buffer = []; - cbs.forEach(cb); - pendingQueue = buffer; + if (r == "line") return i; + r || (r = "local"); + var o = Ie(t); + if (r == "local" ? o += Kr(e.display) : o -= e.display.viewOffset, r == "page" || r == "window") { + var a = e.display.lineSpace.getBoundingClientRect(); + o += a.top + (r == "window" ? 0 : wl()); + var s = a.left + (r == "window" ? 0 : Cl()); + i.left += s, i.right += s; + } + return i.top += o, i.bottom += o, i; } - var executeQueue = function () { - var cbs = pendingQueue; - pendingQueue = []; - cbs.forEach(cb); - }; - var cycle = function () { - return Promise.resolve().then(executeQueue); - }; - cycle(); - buffer = { - push: function (x) { - pendingQueue.push(x); - cycle(); - }, - filter: function (filter) { - pendingQueue = pendingQueue.filter(filter); - return buffer; + u(_r, "intoCoordSystem"); + function Sl(e, t, i) { + if (i == "div") return t; + var r = t.left, + n = t.top; + if (i == "page") r -= Cl(), n -= wl();else if (i == "local" || !i) { + var l = e.display.sizer.getBoundingClientRect(); + r += l.left, n += l.top; } - }; - } - }; - return medium; -} -function createMedium(defaults, middleware) { - if (middleware === void 0) { - middleware = ItoI; - } - return innerCreateMedium(defaults, middleware); -} -// eslint-disable-next-line @typescript-eslint/ban-types -function createSidecarMedium(options) { - if (options === void 0) { - options = {}; - } - var medium = innerCreateMedium(null); - medium.options = (0, _tslib.__assign)({ - async: true, - ssr: false - }, options); - return medium; -} - -/***/ }), - -/***/ "../../../node_modules/use-sidecar/dist/es2015/renderProp.js": -/*!*******************************************************************!*\ - !*** ../../../node_modules/use-sidecar/dist/es2015/renderProp.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.renderCar = renderCar; -var _tslib = __webpack_require__(/*! tslib */ "../../../node_modules/tslib/tslib.es6.js"); -var React = _interopRequireWildcard(__webpack_require__(/*! react */ "react")); -function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } -function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } -function renderCar(WrappedComponent, defaults) { - function State(_a) { - var stateRef = _a.stateRef, - props = _a.props; - var renderTarget = (0, React.useCallback)(function SideTarget() { - var args = []; - for (var _i = 0; _i < arguments.length; _i++) { - args[_i] = arguments[_i]; - } - (0, React.useLayoutEffect)(function () { - stateRef.current(args); - }); - return null; - }, []); - // @ts-ignore - return /*#__PURE__*/React.createElement(WrappedComponent, (0, _tslib.__assign)({}, props, { - children: renderTarget - })); - } - var Children = /*#__PURE__*/React.memo(function (_a) { - var stateRef = _a.stateRef, - defaultState = _a.defaultState, - children = _a.children; - var _b = (0, React.useState)(defaultState.current), - state = _b[0], - setState = _b[1]; - (0, React.useEffect)(function () { - stateRef.current = setState; - }, []); - return children.apply(void 0, state); - }, function () { - return true; - }); - return function Combiner(props) { - var defaultState = React.useRef(defaults(props)); - var ref = React.useRef(function (state) { - return defaultState.current = state; - }); - return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(State, { - stateRef: ref, - props: props - }), /*#__PURE__*/React.createElement(Children, { - stateRef: ref, - defaultState: defaultState, - children: props.children - })); - }; -} - -/***/ }), - -/***/ "../../../node_modules/vscode-languageserver-types/lib/esm/main.js": -/*!*************************************************************************!*\ - !*** ../../../node_modules/vscode-languageserver-types/lib/esm/main.js ***! - \*************************************************************************/ -/***/ (function(__unused_webpack_module, exports) { - -/* -------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - * ------------------------------------------------------------------------------------------ */ - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.uinteger = exports.integer = exports.WorkspaceSymbol = exports.WorkspaceFolder = exports.WorkspaceEdit = exports.WorkspaceChange = exports.VersionedTextDocumentIdentifier = exports.URI = exports.TextEdit = exports.TextDocumentItem = exports.TextDocumentIdentifier = exports.TextDocumentEdit = exports.TextDocument = exports.SymbolTag = exports.SymbolKind = exports.SymbolInformation = exports.SignatureInformation = exports.SemanticTokens = exports.SemanticTokenTypes = exports.SemanticTokenModifiers = exports.SelectionRange = exports.RenameFile = exports.Range = exports.Position = exports.ParameterInformation = exports.OptionalVersionedTextDocumentIdentifier = exports.MarkupKind = exports.MarkupContent = exports.MarkedString = exports.LocationLink = exports.Location = exports.InsertTextMode = exports.InsertTextFormat = exports.InsertReplaceEdit = exports.InlineValueVariableLookup = exports.InlineValueText = exports.InlineValueEvaluatableExpression = exports.InlineValueContext = exports.InlayHintLabelPart = exports.InlayHintKind = exports.InlayHint = exports.Hover = exports.FormattingOptions = exports.FoldingRangeKind = exports.FoldingRange = exports.EOL = exports.DocumentUri = exports.DocumentSymbol = exports.DocumentLink = exports.DocumentHighlightKind = exports.DocumentHighlight = exports.DiagnosticTag = exports.DiagnosticSeverity = exports.DiagnosticRelatedInformation = exports.Diagnostic = exports.DeleteFile = exports.CreateFile = exports.CompletionList = exports.CompletionItemTag = exports.CompletionItemLabelDetails = exports.CompletionItemKind = exports.CompletionItem = exports.Command = exports.ColorPresentation = exports.ColorInformation = exports.Color = exports.CodeLens = exports.CodeDescription = exports.CodeActionTriggerKind = exports.CodeActionKind = exports.CodeActionContext = exports.CodeAction = exports.ChangeAnnotationIdentifier = exports.ChangeAnnotation = exports.AnnotatedTextEdit = void 0; -var DocumentUri; -exports.DocumentUri = DocumentUri; -(function (DocumentUri) { - function is(value) { - return typeof value === 'string'; - } - DocumentUri.is = is; -})(DocumentUri || (exports.DocumentUri = DocumentUri = {})); -var URI; -exports.URI = URI; -(function (URI) { - function is(value) { - return typeof value === 'string'; - } - URI.is = is; -})(URI || (exports.URI = URI = {})); -var integer; -exports.integer = integer; -(function (integer) { - integer.MIN_VALUE = -2147483648; - integer.MAX_VALUE = 2147483647; - function is(value) { - return typeof value === 'number' && integer.MIN_VALUE <= value && value <= integer.MAX_VALUE; - } - integer.is = is; -})(integer || (exports.integer = integer = {})); -var uinteger; -exports.uinteger = uinteger; -(function (uinteger) { - uinteger.MIN_VALUE = 0; - uinteger.MAX_VALUE = 2147483647; - function is(value) { - return typeof value === 'number' && uinteger.MIN_VALUE <= value && value <= uinteger.MAX_VALUE; - } - uinteger.is = is; -})(uinteger || (exports.uinteger = uinteger = {})); -/** - * The Position namespace provides helper functions to work with - * [Position](#Position) literals. - */ -var Position; -exports.Position = Position; -(function (Position) { - /** - * Creates a new Position literal from the given line and character. - * @param line The position's line. - * @param character The position's character. - */ - function create(line, character) { - if (line === Number.MAX_VALUE) { - line = uinteger.MAX_VALUE; - } - if (character === Number.MAX_VALUE) { - character = uinteger.MAX_VALUE; - } - return { - line: line, - character: character - }; - } - Position.create = create; - /** - * Checks whether the given literal conforms to the [Position](#Position) interface. - */ - function is(value) { - var candidate = value; - return Is.objectLiteral(candidate) && Is.uinteger(candidate.line) && Is.uinteger(candidate.character); - } - Position.is = is; -})(Position || (exports.Position = Position = {})); -/** - * The Range namespace provides helper functions to work with - * [Range](#Range) literals. - */ -var Range; -exports.Range = Range; -(function (Range) { - function create(one, two, three, four) { - if (Is.uinteger(one) && Is.uinteger(two) && Is.uinteger(three) && Is.uinteger(four)) { - return { - start: Position.create(one, two), - end: Position.create(three, four) - }; - } else if (Position.is(one) && Position.is(two)) { - return { - start: one, - end: two - }; - } else { - throw new Error("Range#create called with invalid arguments[".concat(one, ", ").concat(two, ", ").concat(three, ", ").concat(four, "]")); - } - } - Range.create = create; - /** - * Checks whether the given literal conforms to the [Range](#Range) interface. - */ - function is(value) { - var candidate = value; - return Is.objectLiteral(candidate) && Position.is(candidate.start) && Position.is(candidate.end); - } - Range.is = is; -})(Range || (exports.Range = Range = {})); -/** - * The Location namespace provides helper functions to work with - * [Location](#Location) literals. - */ -var Location; -exports.Location = Location; -(function (Location) { - /** - * Creates a Location literal. - * @param uri The location's uri. - * @param range The location's range. - */ - function create(uri, range) { - return { - uri: uri, - range: range - }; - } - Location.create = create; - /** - * Checks whether the given literal conforms to the [Location](#Location) interface. - */ - function is(value) { - var candidate = value; - return Is.defined(candidate) && Range.is(candidate.range) && (Is.string(candidate.uri) || Is.undefined(candidate.uri)); - } - Location.is = is; -})(Location || (exports.Location = Location = {})); -/** - * The LocationLink namespace provides helper functions to work with - * [LocationLink](#LocationLink) literals. - */ -var LocationLink; -exports.LocationLink = LocationLink; -(function (LocationLink) { - /** - * Creates a LocationLink literal. - * @param targetUri The definition's uri. - * @param targetRange The full range of the definition. - * @param targetSelectionRange The span of the symbol definition at the target. - * @param originSelectionRange The span of the symbol being defined in the originating source file. - */ - function create(targetUri, targetRange, targetSelectionRange, originSelectionRange) { - return { - targetUri: targetUri, - targetRange: targetRange, - targetSelectionRange: targetSelectionRange, - originSelectionRange: originSelectionRange - }; - } - LocationLink.create = create; - /** - * Checks whether the given literal conforms to the [LocationLink](#LocationLink) interface. - */ - function is(value) { - var candidate = value; - return Is.defined(candidate) && Range.is(candidate.targetRange) && Is.string(candidate.targetUri) && Range.is(candidate.targetSelectionRange) && (Range.is(candidate.originSelectionRange) || Is.undefined(candidate.originSelectionRange)); - } - LocationLink.is = is; -})(LocationLink || (exports.LocationLink = LocationLink = {})); -/** - * The Color namespace provides helper functions to work with - * [Color](#Color) literals. - */ -var Color; -exports.Color = Color; -(function (Color) { - /** - * Creates a new Color literal. - */ - function create(red, green, blue, alpha) { - return { - red: red, - green: green, - blue: blue, - alpha: alpha - }; - } - Color.create = create; - /** - * Checks whether the given literal conforms to the [Color](#Color) interface. - */ - function is(value) { - var candidate = value; - return Is.objectLiteral(candidate) && Is.numberRange(candidate.red, 0, 1) && Is.numberRange(candidate.green, 0, 1) && Is.numberRange(candidate.blue, 0, 1) && Is.numberRange(candidate.alpha, 0, 1); - } - Color.is = is; -})(Color || (exports.Color = Color = {})); -/** - * The ColorInformation namespace provides helper functions to work with - * [ColorInformation](#ColorInformation) literals. - */ -var ColorInformation; -exports.ColorInformation = ColorInformation; -(function (ColorInformation) { - /** - * Creates a new ColorInformation literal. - */ - function create(range, color) { - return { - range: range, - color: color - }; - } - ColorInformation.create = create; - /** - * Checks whether the given literal conforms to the [ColorInformation](#ColorInformation) interface. - */ - function is(value) { - var candidate = value; - return Is.objectLiteral(candidate) && Range.is(candidate.range) && Color.is(candidate.color); - } - ColorInformation.is = is; -})(ColorInformation || (exports.ColorInformation = ColorInformation = {})); -/** - * The Color namespace provides helper functions to work with - * [ColorPresentation](#ColorPresentation) literals. - */ -var ColorPresentation; -exports.ColorPresentation = ColorPresentation; -(function (ColorPresentation) { - /** - * Creates a new ColorInformation literal. - */ - function create(label, textEdit, additionalTextEdits) { - return { - label: label, - textEdit: textEdit, - additionalTextEdits: additionalTextEdits - }; - } - ColorPresentation.create = create; - /** - * Checks whether the given literal conforms to the [ColorInformation](#ColorInformation) interface. - */ - function is(value) { - var candidate = value; - return Is.objectLiteral(candidate) && Is.string(candidate.label) && (Is.undefined(candidate.textEdit) || TextEdit.is(candidate)) && (Is.undefined(candidate.additionalTextEdits) || Is.typedArray(candidate.additionalTextEdits, TextEdit.is)); - } - ColorPresentation.is = is; -})(ColorPresentation || (exports.ColorPresentation = ColorPresentation = {})); -/** - * A set of predefined range kinds. - */ -var FoldingRangeKind; -exports.FoldingRangeKind = FoldingRangeKind; -(function (FoldingRangeKind) { - /** - * Folding range for a comment - */ - FoldingRangeKind.Comment = 'comment'; - /** - * Folding range for a imports or includes - */ - FoldingRangeKind.Imports = 'imports'; - /** - * Folding range for a region (e.g. `#region`) - */ - FoldingRangeKind.Region = 'region'; -})(FoldingRangeKind || (exports.FoldingRangeKind = FoldingRangeKind = {})); -/** - * The folding range namespace provides helper functions to work with - * [FoldingRange](#FoldingRange) literals. - */ -var FoldingRange; -exports.FoldingRange = FoldingRange; -(function (FoldingRange) { - /** - * Creates a new FoldingRange literal. - */ - function create(startLine, endLine, startCharacter, endCharacter, kind, collapsedText) { - var result = { - startLine: startLine, - endLine: endLine - }; - if (Is.defined(startCharacter)) { - result.startCharacter = startCharacter; - } - if (Is.defined(endCharacter)) { - result.endCharacter = endCharacter; - } - if (Is.defined(kind)) { - result.kind = kind; - } - if (Is.defined(collapsedText)) { - result.collapsedText = collapsedText; - } - return result; - } - FoldingRange.create = create; - /** - * Checks whether the given literal conforms to the [FoldingRange](#FoldingRange) interface. - */ - function is(value) { - var candidate = value; - return Is.objectLiteral(candidate) && Is.uinteger(candidate.startLine) && Is.uinteger(candidate.startLine) && (Is.undefined(candidate.startCharacter) || Is.uinteger(candidate.startCharacter)) && (Is.undefined(candidate.endCharacter) || Is.uinteger(candidate.endCharacter)) && (Is.undefined(candidate.kind) || Is.string(candidate.kind)); - } - FoldingRange.is = is; -})(FoldingRange || (exports.FoldingRange = FoldingRange = {})); -/** - * The DiagnosticRelatedInformation namespace provides helper functions to work with - * [DiagnosticRelatedInformation](#DiagnosticRelatedInformation) literals. - */ -var DiagnosticRelatedInformation; -exports.DiagnosticRelatedInformation = DiagnosticRelatedInformation; -(function (DiagnosticRelatedInformation) { - /** - * Creates a new DiagnosticRelatedInformation literal. - */ - function create(location, message) { - return { - location: location, - message: message - }; - } - DiagnosticRelatedInformation.create = create; - /** - * Checks whether the given literal conforms to the [DiagnosticRelatedInformation](#DiagnosticRelatedInformation) interface. - */ - function is(value) { - var candidate = value; - return Is.defined(candidate) && Location.is(candidate.location) && Is.string(candidate.message); - } - DiagnosticRelatedInformation.is = is; -})(DiagnosticRelatedInformation || (exports.DiagnosticRelatedInformation = DiagnosticRelatedInformation = {})); -/** - * The diagnostic's severity. - */ -var DiagnosticSeverity; -exports.DiagnosticSeverity = DiagnosticSeverity; -(function (DiagnosticSeverity) { - /** - * Reports an error. - */ - DiagnosticSeverity.Error = 1; - /** - * Reports a warning. - */ - DiagnosticSeverity.Warning = 2; - /** - * Reports an information. - */ - DiagnosticSeverity.Information = 3; - /** - * Reports a hint. - */ - DiagnosticSeverity.Hint = 4; -})(DiagnosticSeverity || (exports.DiagnosticSeverity = DiagnosticSeverity = {})); -/** - * The diagnostic tags. - * - * @since 3.15.0 - */ -var DiagnosticTag; -exports.DiagnosticTag = DiagnosticTag; -(function (DiagnosticTag) { - /** - * Unused or unnecessary code. - * - * Clients are allowed to render diagnostics with this tag faded out instead of having - * an error squiggle. - */ - DiagnosticTag.Unnecessary = 1; - /** - * Deprecated or obsolete code. - * - * Clients are allowed to rendered diagnostics with this tag strike through. - */ - DiagnosticTag.Deprecated = 2; -})(DiagnosticTag || (exports.DiagnosticTag = DiagnosticTag = {})); -/** - * The CodeDescription namespace provides functions to deal with descriptions for diagnostic codes. - * - * @since 3.16.0 - */ -var CodeDescription; -exports.CodeDescription = CodeDescription; -(function (CodeDescription) { - function is(value) { - var candidate = value; - return Is.objectLiteral(candidate) && Is.string(candidate.href); - } - CodeDescription.is = is; -})(CodeDescription || (exports.CodeDescription = CodeDescription = {})); -/** - * The Diagnostic namespace provides helper functions to work with - * [Diagnostic](#Diagnostic) literals. - */ -var Diagnostic; -exports.Diagnostic = Diagnostic; -(function (Diagnostic) { - /** - * Creates a new Diagnostic literal. - */ - function create(range, message, severity, code, source, relatedInformation) { - var result = { - range: range, - message: message - }; - if (Is.defined(severity)) { - result.severity = severity; - } - if (Is.defined(code)) { - result.code = code; - } - if (Is.defined(source)) { - result.source = source; - } - if (Is.defined(relatedInformation)) { - result.relatedInformation = relatedInformation; - } - return result; - } - Diagnostic.create = create; - /** - * Checks whether the given literal conforms to the [Diagnostic](#Diagnostic) interface. - */ - function is(value) { - var _a; - var candidate = value; - return Is.defined(candidate) && Range.is(candidate.range) && Is.string(candidate.message) && (Is.number(candidate.severity) || Is.undefined(candidate.severity)) && (Is.integer(candidate.code) || Is.string(candidate.code) || Is.undefined(candidate.code)) && (Is.undefined(candidate.codeDescription) || Is.string((_a = candidate.codeDescription) === null || _a === void 0 ? void 0 : _a.href)) && (Is.string(candidate.source) || Is.undefined(candidate.source)) && (Is.undefined(candidate.relatedInformation) || Is.typedArray(candidate.relatedInformation, DiagnosticRelatedInformation.is)); - } - Diagnostic.is = is; -})(Diagnostic || (exports.Diagnostic = Diagnostic = {})); -/** - * The Command namespace provides helper functions to work with - * [Command](#Command) literals. - */ -var Command; -exports.Command = Command; -(function (Command) { - /** - * Creates a new Command literal. - */ - function create(title, command) { - var args = []; - for (var _i = 2; _i < arguments.length; _i++) { - args[_i - 2] = arguments[_i]; - } - var result = { - title: title, - command: command - }; - if (Is.defined(args) && args.length > 0) { - result.arguments = args; - } - return result; - } - Command.create = create; - /** - * Checks whether the given literal conforms to the [Command](#Command) interface. - */ - function is(value) { - var candidate = value; - return Is.defined(candidate) && Is.string(candidate.title) && Is.string(candidate.command); - } - Command.is = is; -})(Command || (exports.Command = Command = {})); -/** - * The TextEdit namespace provides helper function to create replace, - * insert and delete edits more easily. - */ -var TextEdit; -exports.TextEdit = TextEdit; -(function (TextEdit) { - /** - * Creates a replace text edit. - * @param range The range of text to be replaced. - * @param newText The new text. - */ - function replace(range, newText) { - return { - range: range, - newText: newText - }; - } - TextEdit.replace = replace; - /** - * Creates a insert text edit. - * @param position The position to insert the text at. - * @param newText The text to be inserted. - */ - function insert(position, newText) { - return { - range: { - start: position, - end: position - }, - newText: newText - }; - } - TextEdit.insert = insert; - /** - * Creates a delete text edit. - * @param range The range of text to be deleted. - */ - function del(range) { - return { - range: range, - newText: '' - }; - } - TextEdit.del = del; - function is(value) { - var candidate = value; - return Is.objectLiteral(candidate) && Is.string(candidate.newText) && Range.is(candidate.range); - } - TextEdit.is = is; -})(TextEdit || (exports.TextEdit = TextEdit = {})); -var ChangeAnnotation; -exports.ChangeAnnotation = ChangeAnnotation; -(function (ChangeAnnotation) { - function create(label, needsConfirmation, description) { - var result = { - label: label - }; - if (needsConfirmation !== undefined) { - result.needsConfirmation = needsConfirmation; - } - if (description !== undefined) { - result.description = description; - } - return result; - } - ChangeAnnotation.create = create; - function is(value) { - var candidate = value; - return Is.objectLiteral(candidate) && Is.string(candidate.label) && (Is.boolean(candidate.needsConfirmation) || candidate.needsConfirmation === undefined) && (Is.string(candidate.description) || candidate.description === undefined); - } - ChangeAnnotation.is = is; -})(ChangeAnnotation || (exports.ChangeAnnotation = ChangeAnnotation = {})); -var ChangeAnnotationIdentifier; -exports.ChangeAnnotationIdentifier = ChangeAnnotationIdentifier; -(function (ChangeAnnotationIdentifier) { - function is(value) { - var candidate = value; - return Is.string(candidate); - } - ChangeAnnotationIdentifier.is = is; -})(ChangeAnnotationIdentifier || (exports.ChangeAnnotationIdentifier = ChangeAnnotationIdentifier = {})); -var AnnotatedTextEdit; -exports.AnnotatedTextEdit = AnnotatedTextEdit; -(function (AnnotatedTextEdit) { - /** - * Creates an annotated replace text edit. - * - * @param range The range of text to be replaced. - * @param newText The new text. - * @param annotation The annotation. - */ - function replace(range, newText, annotation) { - return { - range: range, - newText: newText, - annotationId: annotation - }; - } - AnnotatedTextEdit.replace = replace; - /** - * Creates an annotated insert text edit. - * - * @param position The position to insert the text at. - * @param newText The text to be inserted. - * @param annotation The annotation. - */ - function insert(position, newText, annotation) { - return { - range: { - start: position, - end: position - }, - newText: newText, - annotationId: annotation - }; - } - AnnotatedTextEdit.insert = insert; - /** - * Creates an annotated delete text edit. - * - * @param range The range of text to be deleted. - * @param annotation The annotation. - */ - function del(range, annotation) { - return { - range: range, - newText: '', - annotationId: annotation - }; - } - AnnotatedTextEdit.del = del; - function is(value) { - var candidate = value; - return TextEdit.is(candidate) && (ChangeAnnotation.is(candidate.annotationId) || ChangeAnnotationIdentifier.is(candidate.annotationId)); - } - AnnotatedTextEdit.is = is; -})(AnnotatedTextEdit || (exports.AnnotatedTextEdit = AnnotatedTextEdit = {})); -/** - * The TextDocumentEdit namespace provides helper function to create - * an edit that manipulates a text document. - */ -var TextDocumentEdit; -exports.TextDocumentEdit = TextDocumentEdit; -(function (TextDocumentEdit) { - /** - * Creates a new `TextDocumentEdit` - */ - function create(textDocument, edits) { - return { - textDocument: textDocument, - edits: edits - }; - } - TextDocumentEdit.create = create; - function is(value) { - var candidate = value; - return Is.defined(candidate) && OptionalVersionedTextDocumentIdentifier.is(candidate.textDocument) && Array.isArray(candidate.edits); - } - TextDocumentEdit.is = is; -})(TextDocumentEdit || (exports.TextDocumentEdit = TextDocumentEdit = {})); -var CreateFile; -exports.CreateFile = CreateFile; -(function (CreateFile) { - function create(uri, options, annotation) { - var result = { - kind: 'create', - uri: uri - }; - if (options !== undefined && (options.overwrite !== undefined || options.ignoreIfExists !== undefined)) { - result.options = options; - } - if (annotation !== undefined) { - result.annotationId = annotation; - } - return result; - } - CreateFile.create = create; - function is(value) { - var candidate = value; - return candidate && candidate.kind === 'create' && Is.string(candidate.uri) && (candidate.options === undefined || (candidate.options.overwrite === undefined || Is.boolean(candidate.options.overwrite)) && (candidate.options.ignoreIfExists === undefined || Is.boolean(candidate.options.ignoreIfExists))) && (candidate.annotationId === undefined || ChangeAnnotationIdentifier.is(candidate.annotationId)); - } - CreateFile.is = is; -})(CreateFile || (exports.CreateFile = CreateFile = {})); -var RenameFile; -exports.RenameFile = RenameFile; -(function (RenameFile) { - function create(oldUri, newUri, options, annotation) { - var result = { - kind: 'rename', - oldUri: oldUri, - newUri: newUri - }; - if (options !== undefined && (options.overwrite !== undefined || options.ignoreIfExists !== undefined)) { - result.options = options; - } - if (annotation !== undefined) { - result.annotationId = annotation; - } - return result; - } - RenameFile.create = create; - function is(value) { - var candidate = value; - return candidate && candidate.kind === 'rename' && Is.string(candidate.oldUri) && Is.string(candidate.newUri) && (candidate.options === undefined || (candidate.options.overwrite === undefined || Is.boolean(candidate.options.overwrite)) && (candidate.options.ignoreIfExists === undefined || Is.boolean(candidate.options.ignoreIfExists))) && (candidate.annotationId === undefined || ChangeAnnotationIdentifier.is(candidate.annotationId)); - } - RenameFile.is = is; -})(RenameFile || (exports.RenameFile = RenameFile = {})); -var DeleteFile; -exports.DeleteFile = DeleteFile; -(function (DeleteFile) { - function create(uri, options, annotation) { - var result = { - kind: 'delete', - uri: uri - }; - if (options !== undefined && (options.recursive !== undefined || options.ignoreIfNotExists !== undefined)) { - result.options = options; - } - if (annotation !== undefined) { - result.annotationId = annotation; - } - return result; - } - DeleteFile.create = create; - function is(value) { - var candidate = value; - return candidate && candidate.kind === 'delete' && Is.string(candidate.uri) && (candidate.options === undefined || (candidate.options.recursive === undefined || Is.boolean(candidate.options.recursive)) && (candidate.options.ignoreIfNotExists === undefined || Is.boolean(candidate.options.ignoreIfNotExists))) && (candidate.annotationId === undefined || ChangeAnnotationIdentifier.is(candidate.annotationId)); - } - DeleteFile.is = is; -})(DeleteFile || (exports.DeleteFile = DeleteFile = {})); -var WorkspaceEdit; -exports.WorkspaceEdit = WorkspaceEdit; -(function (WorkspaceEdit) { - function is(value) { - var candidate = value; - return candidate && (candidate.changes !== undefined || candidate.documentChanges !== undefined) && (candidate.documentChanges === undefined || candidate.documentChanges.every(function (change) { - if (Is.string(change.kind)) { - return CreateFile.is(change) || RenameFile.is(change) || DeleteFile.is(change); - } else { - return TextDocumentEdit.is(change); - } - })); - } - WorkspaceEdit.is = is; -})(WorkspaceEdit || (exports.WorkspaceEdit = WorkspaceEdit = {})); -var TextEditChangeImpl = /** @class */function () { - function TextEditChangeImpl(edits, changeAnnotations) { - this.edits = edits; - this.changeAnnotations = changeAnnotations; - } - TextEditChangeImpl.prototype.insert = function (position, newText, annotation) { - var edit; - var id; - if (annotation === undefined) { - edit = TextEdit.insert(position, newText); - } else if (ChangeAnnotationIdentifier.is(annotation)) { - id = annotation; - edit = AnnotatedTextEdit.insert(position, newText, annotation); - } else { - this.assertChangeAnnotations(this.changeAnnotations); - id = this.changeAnnotations.manage(annotation); - edit = AnnotatedTextEdit.insert(position, newText, id); - } - this.edits.push(edit); - if (id !== undefined) { - return id; - } - }; - TextEditChangeImpl.prototype.replace = function (range, newText, annotation) { - var edit; - var id; - if (annotation === undefined) { - edit = TextEdit.replace(range, newText); - } else if (ChangeAnnotationIdentifier.is(annotation)) { - id = annotation; - edit = AnnotatedTextEdit.replace(range, newText, annotation); - } else { - this.assertChangeAnnotations(this.changeAnnotations); - id = this.changeAnnotations.manage(annotation); - edit = AnnotatedTextEdit.replace(range, newText, id); - } - this.edits.push(edit); - if (id !== undefined) { - return id; - } - }; - TextEditChangeImpl.prototype.delete = function (range, annotation) { - var edit; - var id; - if (annotation === undefined) { - edit = TextEdit.del(range); - } else if (ChangeAnnotationIdentifier.is(annotation)) { - id = annotation; - edit = AnnotatedTextEdit.del(range, annotation); - } else { - this.assertChangeAnnotations(this.changeAnnotations); - id = this.changeAnnotations.manage(annotation); - edit = AnnotatedTextEdit.del(range, id); - } - this.edits.push(edit); - if (id !== undefined) { - return id; - } - }; - TextEditChangeImpl.prototype.add = function (edit) { - this.edits.push(edit); - }; - TextEditChangeImpl.prototype.all = function () { - return this.edits; - }; - TextEditChangeImpl.prototype.clear = function () { - this.edits.splice(0, this.edits.length); - }; - TextEditChangeImpl.prototype.assertChangeAnnotations = function (value) { - if (value === undefined) { - throw new Error("Text edit change is not configured to manage change annotations."); - } - }; - return TextEditChangeImpl; -}(); -/** - * A helper class - */ -var ChangeAnnotations = /** @class */function () { - function ChangeAnnotations(annotations) { - this._annotations = annotations === undefined ? Object.create(null) : annotations; - this._counter = 0; - this._size = 0; - } - ChangeAnnotations.prototype.all = function () { - return this._annotations; - }; - Object.defineProperty(ChangeAnnotations.prototype, "size", { - get: function () { - return this._size; - }, - enumerable: false, - configurable: true - }); - ChangeAnnotations.prototype.manage = function (idOrAnnotation, annotation) { - var id; - if (ChangeAnnotationIdentifier.is(idOrAnnotation)) { - id = idOrAnnotation; - } else { - id = this.nextId(); - annotation = idOrAnnotation; - } - if (this._annotations[id] !== undefined) { - throw new Error("Id ".concat(id, " is already in use.")); - } - if (annotation === undefined) { - throw new Error("No annotation provided for id ".concat(id)); - } - this._annotations[id] = annotation; - this._size++; - return id; - }; - ChangeAnnotations.prototype.nextId = function () { - this._counter++; - return this._counter.toString(); - }; - return ChangeAnnotations; -}(); -/** - * A workspace change helps constructing changes to a workspace. - */ -var WorkspaceChange = /** @class */function () { - function WorkspaceChange(workspaceEdit) { - var _this = this; - this._textEditChanges = Object.create(null); - if (workspaceEdit !== undefined) { - this._workspaceEdit = workspaceEdit; - if (workspaceEdit.documentChanges) { - this._changeAnnotations = new ChangeAnnotations(workspaceEdit.changeAnnotations); - workspaceEdit.changeAnnotations = this._changeAnnotations.all(); - workspaceEdit.documentChanges.forEach(function (change) { - if (TextDocumentEdit.is(change)) { - var textEditChange = new TextEditChangeImpl(change.edits, _this._changeAnnotations); - _this._textEditChanges[change.textDocument.uri] = textEditChange; - } - }); - } else if (workspaceEdit.changes) { - Object.keys(workspaceEdit.changes).forEach(function (key) { - var textEditChange = new TextEditChangeImpl(workspaceEdit.changes[key]); - _this._textEditChanges[key] = textEditChange; - }); - } - } else { - this._workspaceEdit = {}; - } - } - Object.defineProperty(WorkspaceChange.prototype, "edit", { - /** - * Returns the underlying [WorkspaceEdit](#WorkspaceEdit) literal - * use to be returned from a workspace edit operation like rename. - */ - get: function () { - this.initDocumentChanges(); - if (this._changeAnnotations !== undefined) { - if (this._changeAnnotations.size === 0) { - this._workspaceEdit.changeAnnotations = undefined; - } else { - this._workspaceEdit.changeAnnotations = this._changeAnnotations.all(); - } - } - return this._workspaceEdit; - }, - enumerable: false, - configurable: true - }); - WorkspaceChange.prototype.getTextEditChange = function (key) { - if (OptionalVersionedTextDocumentIdentifier.is(key)) { - this.initDocumentChanges(); - if (this._workspaceEdit.documentChanges === undefined) { - throw new Error('Workspace edit is not configured for document changes.'); - } - var textDocument = { - uri: key.uri, - version: key.version - }; - var result = this._textEditChanges[textDocument.uri]; - if (!result) { - var edits = []; - var textDocumentEdit = { - textDocument: textDocument, - edits: edits - }; - this._workspaceEdit.documentChanges.push(textDocumentEdit); - result = new TextEditChangeImpl(edits, this._changeAnnotations); - this._textEditChanges[textDocument.uri] = result; - } - return result; - } else { - this.initChanges(); - if (this._workspaceEdit.changes === undefined) { - throw new Error('Workspace edit is not configured for normal text edit changes.'); - } - var result = this._textEditChanges[key]; - if (!result) { - var edits = []; - this._workspaceEdit.changes[key] = edits; - result = new TextEditChangeImpl(edits); - this._textEditChanges[key] = result; - } - return result; - } - }; - WorkspaceChange.prototype.initDocumentChanges = function () { - if (this._workspaceEdit.documentChanges === undefined && this._workspaceEdit.changes === undefined) { - this._changeAnnotations = new ChangeAnnotations(); - this._workspaceEdit.documentChanges = []; - this._workspaceEdit.changeAnnotations = this._changeAnnotations.all(); - } - }; - WorkspaceChange.prototype.initChanges = function () { - if (this._workspaceEdit.documentChanges === undefined && this._workspaceEdit.changes === undefined) { - this._workspaceEdit.changes = Object.create(null); - } - }; - WorkspaceChange.prototype.createFile = function (uri, optionsOrAnnotation, options) { - this.initDocumentChanges(); - if (this._workspaceEdit.documentChanges === undefined) { - throw new Error('Workspace edit is not configured for document changes.'); - } - var annotation; - if (ChangeAnnotation.is(optionsOrAnnotation) || ChangeAnnotationIdentifier.is(optionsOrAnnotation)) { - annotation = optionsOrAnnotation; - } else { - options = optionsOrAnnotation; - } - var operation; - var id; - if (annotation === undefined) { - operation = CreateFile.create(uri, options); - } else { - id = ChangeAnnotationIdentifier.is(annotation) ? annotation : this._changeAnnotations.manage(annotation); - operation = CreateFile.create(uri, options, id); - } - this._workspaceEdit.documentChanges.push(operation); - if (id !== undefined) { - return id; - } - }; - WorkspaceChange.prototype.renameFile = function (oldUri, newUri, optionsOrAnnotation, options) { - this.initDocumentChanges(); - if (this._workspaceEdit.documentChanges === undefined) { - throw new Error('Workspace edit is not configured for document changes.'); - } - var annotation; - if (ChangeAnnotation.is(optionsOrAnnotation) || ChangeAnnotationIdentifier.is(optionsOrAnnotation)) { - annotation = optionsOrAnnotation; - } else { - options = optionsOrAnnotation; - } - var operation; - var id; - if (annotation === undefined) { - operation = RenameFile.create(oldUri, newUri, options); - } else { - id = ChangeAnnotationIdentifier.is(annotation) ? annotation : this._changeAnnotations.manage(annotation); - operation = RenameFile.create(oldUri, newUri, options, id); - } - this._workspaceEdit.documentChanges.push(operation); - if (id !== undefined) { - return id; - } - }; - WorkspaceChange.prototype.deleteFile = function (uri, optionsOrAnnotation, options) { - this.initDocumentChanges(); - if (this._workspaceEdit.documentChanges === undefined) { - throw new Error('Workspace edit is not configured for document changes.'); - } - var annotation; - if (ChangeAnnotation.is(optionsOrAnnotation) || ChangeAnnotationIdentifier.is(optionsOrAnnotation)) { - annotation = optionsOrAnnotation; - } else { - options = optionsOrAnnotation; - } - var operation; - var id; - if (annotation === undefined) { - operation = DeleteFile.create(uri, options); - } else { - id = ChangeAnnotationIdentifier.is(annotation) ? annotation : this._changeAnnotations.manage(annotation); - operation = DeleteFile.create(uri, options, id); - } - this._workspaceEdit.documentChanges.push(operation); - if (id !== undefined) { - return id; - } - }; - return WorkspaceChange; -}(); -exports.WorkspaceChange = WorkspaceChange; -/** - * The TextDocumentIdentifier namespace provides helper functions to work with - * [TextDocumentIdentifier](#TextDocumentIdentifier) literals. - */ -var TextDocumentIdentifier; -exports.TextDocumentIdentifier = TextDocumentIdentifier; -(function (TextDocumentIdentifier) { - /** - * Creates a new TextDocumentIdentifier literal. - * @param uri The document's uri. - */ - function create(uri) { - return { - uri: uri - }; - } - TextDocumentIdentifier.create = create; - /** - * Checks whether the given literal conforms to the [TextDocumentIdentifier](#TextDocumentIdentifier) interface. - */ - function is(value) { - var candidate = value; - return Is.defined(candidate) && Is.string(candidate.uri); - } - TextDocumentIdentifier.is = is; -})(TextDocumentIdentifier || (exports.TextDocumentIdentifier = TextDocumentIdentifier = {})); -/** - * The VersionedTextDocumentIdentifier namespace provides helper functions to work with - * [VersionedTextDocumentIdentifier](#VersionedTextDocumentIdentifier) literals. - */ -var VersionedTextDocumentIdentifier; -exports.VersionedTextDocumentIdentifier = VersionedTextDocumentIdentifier; -(function (VersionedTextDocumentIdentifier) { - /** - * Creates a new VersionedTextDocumentIdentifier literal. - * @param uri The document's uri. - * @param version The document's version. - */ - function create(uri, version) { - return { - uri: uri, - version: version - }; - } - VersionedTextDocumentIdentifier.create = create; - /** - * Checks whether the given literal conforms to the [VersionedTextDocumentIdentifier](#VersionedTextDocumentIdentifier) interface. - */ - function is(value) { - var candidate = value; - return Is.defined(candidate) && Is.string(candidate.uri) && Is.integer(candidate.version); - } - VersionedTextDocumentIdentifier.is = is; -})(VersionedTextDocumentIdentifier || (exports.VersionedTextDocumentIdentifier = VersionedTextDocumentIdentifier = {})); -/** - * The OptionalVersionedTextDocumentIdentifier namespace provides helper functions to work with - * [OptionalVersionedTextDocumentIdentifier](#OptionalVersionedTextDocumentIdentifier) literals. - */ -var OptionalVersionedTextDocumentIdentifier; -exports.OptionalVersionedTextDocumentIdentifier = OptionalVersionedTextDocumentIdentifier; -(function (OptionalVersionedTextDocumentIdentifier) { - /** - * Creates a new OptionalVersionedTextDocumentIdentifier literal. - * @param uri The document's uri. - * @param version The document's version. - */ - function create(uri, version) { - return { - uri: uri, - version: version - }; - } - OptionalVersionedTextDocumentIdentifier.create = create; - /** - * Checks whether the given literal conforms to the [OptionalVersionedTextDocumentIdentifier](#OptionalVersionedTextDocumentIdentifier) interface. - */ - function is(value) { - var candidate = value; - return Is.defined(candidate) && Is.string(candidate.uri) && (candidate.version === null || Is.integer(candidate.version)); - } - OptionalVersionedTextDocumentIdentifier.is = is; -})(OptionalVersionedTextDocumentIdentifier || (exports.OptionalVersionedTextDocumentIdentifier = OptionalVersionedTextDocumentIdentifier = {})); -/** - * The TextDocumentItem namespace provides helper functions to work with - * [TextDocumentItem](#TextDocumentItem) literals. - */ -var TextDocumentItem; -exports.TextDocumentItem = TextDocumentItem; -(function (TextDocumentItem) { - /** - * Creates a new TextDocumentItem literal. - * @param uri The document's uri. - * @param languageId The document's language identifier. - * @param version The document's version number. - * @param text The document's text. - */ - function create(uri, languageId, version, text) { - return { - uri: uri, - languageId: languageId, - version: version, - text: text - }; - } - TextDocumentItem.create = create; - /** - * Checks whether the given literal conforms to the [TextDocumentItem](#TextDocumentItem) interface. - */ - function is(value) { - var candidate = value; - return Is.defined(candidate) && Is.string(candidate.uri) && Is.string(candidate.languageId) && Is.integer(candidate.version) && Is.string(candidate.text); - } - TextDocumentItem.is = is; -})(TextDocumentItem || (exports.TextDocumentItem = TextDocumentItem = {})); -/** - * Describes the content type that a client supports in various - * result literals like `Hover`, `ParameterInfo` or `CompletionItem`. - * - * Please note that `MarkupKinds` must not start with a `$`. This kinds - * are reserved for internal usage. - */ -var MarkupKind; -exports.MarkupKind = MarkupKind; -(function (MarkupKind) { - /** - * Plain text is supported as a content format - */ - MarkupKind.PlainText = 'plaintext'; - /** - * Markdown is supported as a content format - */ - MarkupKind.Markdown = 'markdown'; - /** - * Checks whether the given value is a value of the [MarkupKind](#MarkupKind) type. - */ - function is(value) { - var candidate = value; - return candidate === MarkupKind.PlainText || candidate === MarkupKind.Markdown; - } - MarkupKind.is = is; -})(MarkupKind || (exports.MarkupKind = MarkupKind = {})); -var MarkupContent; -exports.MarkupContent = MarkupContent; -(function (MarkupContent) { - /** - * Checks whether the given value conforms to the [MarkupContent](#MarkupContent) interface. - */ - function is(value) { - var candidate = value; - return Is.objectLiteral(value) && MarkupKind.is(candidate.kind) && Is.string(candidate.value); - } - MarkupContent.is = is; -})(MarkupContent || (exports.MarkupContent = MarkupContent = {})); -/** - * The kind of a completion entry. - */ -var CompletionItemKind; -exports.CompletionItemKind = CompletionItemKind; -(function (CompletionItemKind) { - CompletionItemKind.Text = 1; - CompletionItemKind.Method = 2; - CompletionItemKind.Function = 3; - CompletionItemKind.Constructor = 4; - CompletionItemKind.Field = 5; - CompletionItemKind.Variable = 6; - CompletionItemKind.Class = 7; - CompletionItemKind.Interface = 8; - CompletionItemKind.Module = 9; - CompletionItemKind.Property = 10; - CompletionItemKind.Unit = 11; - CompletionItemKind.Value = 12; - CompletionItemKind.Enum = 13; - CompletionItemKind.Keyword = 14; - CompletionItemKind.Snippet = 15; - CompletionItemKind.Color = 16; - CompletionItemKind.File = 17; - CompletionItemKind.Reference = 18; - CompletionItemKind.Folder = 19; - CompletionItemKind.EnumMember = 20; - CompletionItemKind.Constant = 21; - CompletionItemKind.Struct = 22; - CompletionItemKind.Event = 23; - CompletionItemKind.Operator = 24; - CompletionItemKind.TypeParameter = 25; -})(CompletionItemKind || (exports.CompletionItemKind = CompletionItemKind = {})); -/** - * Defines whether the insert text in a completion item should be interpreted as - * plain text or a snippet. - */ -var InsertTextFormat; -exports.InsertTextFormat = InsertTextFormat; -(function (InsertTextFormat) { - /** - * The primary text to be inserted is treated as a plain string. - */ - InsertTextFormat.PlainText = 1; - /** - * The primary text to be inserted is treated as a snippet. - * - * A snippet can define tab stops and placeholders with `$1`, `$2` - * and `${3:foo}`. `$0` defines the final tab stop, it defaults to - * the end of the snippet. Placeholders with equal identifiers are linked, - * that is typing in one will update others too. - * - * See also: https://microsoft.github.io/language-server-protocol/specifications/specification-current/#snippet_syntax - */ - InsertTextFormat.Snippet = 2; -})(InsertTextFormat || (exports.InsertTextFormat = InsertTextFormat = {})); -/** - * Completion item tags are extra annotations that tweak the rendering of a completion - * item. - * - * @since 3.15.0 - */ -var CompletionItemTag; -exports.CompletionItemTag = CompletionItemTag; -(function (CompletionItemTag) { - /** - * Render a completion as obsolete, usually using a strike-out. - */ - CompletionItemTag.Deprecated = 1; -})(CompletionItemTag || (exports.CompletionItemTag = CompletionItemTag = {})); -/** - * The InsertReplaceEdit namespace provides functions to deal with insert / replace edits. - * - * @since 3.16.0 - */ -var InsertReplaceEdit; -exports.InsertReplaceEdit = InsertReplaceEdit; -(function (InsertReplaceEdit) { - /** - * Creates a new insert / replace edit - */ - function create(newText, insert, replace) { - return { - newText: newText, - insert: insert, - replace: replace - }; - } - InsertReplaceEdit.create = create; - /** - * Checks whether the given literal conforms to the [InsertReplaceEdit](#InsertReplaceEdit) interface. - */ - function is(value) { - var candidate = value; - return candidate && Is.string(candidate.newText) && Range.is(candidate.insert) && Range.is(candidate.replace); - } - InsertReplaceEdit.is = is; -})(InsertReplaceEdit || (exports.InsertReplaceEdit = InsertReplaceEdit = {})); -/** - * How whitespace and indentation is handled during completion - * item insertion. - * - * @since 3.16.0 - */ -var InsertTextMode; -exports.InsertTextMode = InsertTextMode; -(function (InsertTextMode) { - /** - * The insertion or replace strings is taken as it is. If the - * value is multi line the lines below the cursor will be - * inserted using the indentation defined in the string value. - * The client will not apply any kind of adjustments to the - * string. - */ - InsertTextMode.asIs = 1; - /** - * The editor adjusts leading whitespace of new lines so that - * they match the indentation up to the cursor of the line for - * which the item is accepted. - * - * Consider a line like this: <2tabs><3tabs>foo. Accepting a - * multi line completion item is indented using 2 tabs and all - * following lines inserted will be indented using 2 tabs as well. - */ - InsertTextMode.adjustIndentation = 2; -})(InsertTextMode || (exports.InsertTextMode = InsertTextMode = {})); -var CompletionItemLabelDetails; -exports.CompletionItemLabelDetails = CompletionItemLabelDetails; -(function (CompletionItemLabelDetails) { - function is(value) { - var candidate = value; - return candidate && (Is.string(candidate.detail) || candidate.detail === undefined) && (Is.string(candidate.description) || candidate.description === undefined); - } - CompletionItemLabelDetails.is = is; -})(CompletionItemLabelDetails || (exports.CompletionItemLabelDetails = CompletionItemLabelDetails = {})); -/** - * The CompletionItem namespace provides functions to deal with - * completion items. - */ -var CompletionItem; -exports.CompletionItem = CompletionItem; -(function (CompletionItem) { - /** - * Create a completion item and seed it with a label. - * @param label The completion item's label - */ - function create(label) { - return { - label: label - }; - } - CompletionItem.create = create; -})(CompletionItem || (exports.CompletionItem = CompletionItem = {})); -/** - * The CompletionList namespace provides functions to deal with - * completion lists. - */ -var CompletionList; -exports.CompletionList = CompletionList; -(function (CompletionList) { - /** - * Creates a new completion list. - * - * @param items The completion items. - * @param isIncomplete The list is not complete. - */ - function create(items, isIncomplete) { - return { - items: items ? items : [], - isIncomplete: !!isIncomplete - }; - } - CompletionList.create = create; -})(CompletionList || (exports.CompletionList = CompletionList = {})); -var MarkedString; -exports.MarkedString = MarkedString; -(function (MarkedString) { - /** - * Creates a marked string from plain text. - * - * @param plainText The plain text. - */ - function fromPlainText(plainText) { - return plainText.replace(/[\\`*_{}[\]()#+\-.!]/g, '\\$&'); // escape markdown syntax tokens: http://daringfireball.net/projects/markdown/syntax#backslash - } - - MarkedString.fromPlainText = fromPlainText; - /** - * Checks whether the given value conforms to the [MarkedString](#MarkedString) type. - */ - function is(value) { - var candidate = value; - return Is.string(candidate) || Is.objectLiteral(candidate) && Is.string(candidate.language) && Is.string(candidate.value); - } - MarkedString.is = is; -})(MarkedString || (exports.MarkedString = MarkedString = {})); -var Hover; -exports.Hover = Hover; -(function (Hover) { - /** - * Checks whether the given value conforms to the [Hover](#Hover) interface. - */ - function is(value) { - var candidate = value; - return !!candidate && Is.objectLiteral(candidate) && (MarkupContent.is(candidate.contents) || MarkedString.is(candidate.contents) || Is.typedArray(candidate.contents, MarkedString.is)) && (value.range === undefined || Range.is(value.range)); - } - Hover.is = is; -})(Hover || (exports.Hover = Hover = {})); -/** - * The ParameterInformation namespace provides helper functions to work with - * [ParameterInformation](#ParameterInformation) literals. - */ -var ParameterInformation; -exports.ParameterInformation = ParameterInformation; -(function (ParameterInformation) { - /** - * Creates a new parameter information literal. - * - * @param label A label string. - * @param documentation A doc string. - */ - function create(label, documentation) { - return documentation ? { - label: label, - documentation: documentation - } : { - label: label - }; - } - ParameterInformation.create = create; -})(ParameterInformation || (exports.ParameterInformation = ParameterInformation = {})); -/** - * The SignatureInformation namespace provides helper functions to work with - * [SignatureInformation](#SignatureInformation) literals. - */ -var SignatureInformation; -exports.SignatureInformation = SignatureInformation; -(function (SignatureInformation) { - function create(label, documentation) { - var parameters = []; - for (var _i = 2; _i < arguments.length; _i++) { - parameters[_i - 2] = arguments[_i]; - } - var result = { - label: label - }; - if (Is.defined(documentation)) { - result.documentation = documentation; - } - if (Is.defined(parameters)) { - result.parameters = parameters; - } else { - result.parameters = []; - } - return result; - } - SignatureInformation.create = create; -})(SignatureInformation || (exports.SignatureInformation = SignatureInformation = {})); -/** - * A document highlight kind. - */ -var DocumentHighlightKind; -exports.DocumentHighlightKind = DocumentHighlightKind; -(function (DocumentHighlightKind) { - /** - * A textual occurrence. - */ - DocumentHighlightKind.Text = 1; - /** - * Read-access of a symbol, like reading a variable. - */ - DocumentHighlightKind.Read = 2; - /** - * Write-access of a symbol, like writing to a variable. - */ - DocumentHighlightKind.Write = 3; -})(DocumentHighlightKind || (exports.DocumentHighlightKind = DocumentHighlightKind = {})); -/** - * DocumentHighlight namespace to provide helper functions to work with - * [DocumentHighlight](#DocumentHighlight) literals. - */ -var DocumentHighlight; -exports.DocumentHighlight = DocumentHighlight; -(function (DocumentHighlight) { - /** - * Create a DocumentHighlight object. - * @param range The range the highlight applies to. - * @param kind The highlight kind - */ - function create(range, kind) { - var result = { - range: range - }; - if (Is.number(kind)) { - result.kind = kind; - } - return result; - } - DocumentHighlight.create = create; -})(DocumentHighlight || (exports.DocumentHighlight = DocumentHighlight = {})); -/** - * A symbol kind. - */ -var SymbolKind; -exports.SymbolKind = SymbolKind; -(function (SymbolKind) { - SymbolKind.File = 1; - SymbolKind.Module = 2; - SymbolKind.Namespace = 3; - SymbolKind.Package = 4; - SymbolKind.Class = 5; - SymbolKind.Method = 6; - SymbolKind.Property = 7; - SymbolKind.Field = 8; - SymbolKind.Constructor = 9; - SymbolKind.Enum = 10; - SymbolKind.Interface = 11; - SymbolKind.Function = 12; - SymbolKind.Variable = 13; - SymbolKind.Constant = 14; - SymbolKind.String = 15; - SymbolKind.Number = 16; - SymbolKind.Boolean = 17; - SymbolKind.Array = 18; - SymbolKind.Object = 19; - SymbolKind.Key = 20; - SymbolKind.Null = 21; - SymbolKind.EnumMember = 22; - SymbolKind.Struct = 23; - SymbolKind.Event = 24; - SymbolKind.Operator = 25; - SymbolKind.TypeParameter = 26; -})(SymbolKind || (exports.SymbolKind = SymbolKind = {})); -/** - * Symbol tags are extra annotations that tweak the rendering of a symbol. - * @since 3.16 - */ -var SymbolTag; -exports.SymbolTag = SymbolTag; -(function (SymbolTag) { - /** - * Render a symbol as obsolete, usually using a strike-out. - */ - SymbolTag.Deprecated = 1; -})(SymbolTag || (exports.SymbolTag = SymbolTag = {})); -var SymbolInformation; -exports.SymbolInformation = SymbolInformation; -(function (SymbolInformation) { - /** - * Creates a new symbol information literal. - * - * @param name The name of the symbol. - * @param kind The kind of the symbol. - * @param range The range of the location of the symbol. - * @param uri The resource of the location of symbol. - * @param containerName The name of the symbol containing the symbol. - */ - function create(name, kind, range, uri, containerName) { - var result = { - name: name, - kind: kind, - location: { - uri: uri, - range: range - } - }; - if (containerName) { - result.containerName = containerName; - } - return result; - } - SymbolInformation.create = create; -})(SymbolInformation || (exports.SymbolInformation = SymbolInformation = {})); -var WorkspaceSymbol; -exports.WorkspaceSymbol = WorkspaceSymbol; -(function (WorkspaceSymbol) { - /** - * Create a new workspace symbol. - * - * @param name The name of the symbol. - * @param kind The kind of the symbol. - * @param uri The resource of the location of the symbol. - * @param range An options range of the location. - * @returns A WorkspaceSymbol. - */ - function create(name, kind, uri, range) { - return range !== undefined ? { - name: name, - kind: kind, - location: { - uri: uri, - range: range - } - } : { - name: name, - kind: kind, - location: { - uri: uri - } - }; - } - WorkspaceSymbol.create = create; -})(WorkspaceSymbol || (exports.WorkspaceSymbol = WorkspaceSymbol = {})); -var DocumentSymbol; -exports.DocumentSymbol = DocumentSymbol; -(function (DocumentSymbol) { - /** - * Creates a new symbol information literal. - * - * @param name The name of the symbol. - * @param detail The detail of the symbol. - * @param kind The kind of the symbol. - * @param range The range of the symbol. - * @param selectionRange The selectionRange of the symbol. - * @param children Children of the symbol. - */ - function create(name, detail, kind, range, selectionRange, children) { - var result = { - name: name, - detail: detail, - kind: kind, - range: range, - selectionRange: selectionRange - }; - if (children !== undefined) { - result.children = children; - } - return result; - } - DocumentSymbol.create = create; - /** - * Checks whether the given literal conforms to the [DocumentSymbol](#DocumentSymbol) interface. - */ - function is(value) { - var candidate = value; - return candidate && Is.string(candidate.name) && Is.number(candidate.kind) && Range.is(candidate.range) && Range.is(candidate.selectionRange) && (candidate.detail === undefined || Is.string(candidate.detail)) && (candidate.deprecated === undefined || Is.boolean(candidate.deprecated)) && (candidate.children === undefined || Array.isArray(candidate.children)) && (candidate.tags === undefined || Array.isArray(candidate.tags)); - } - DocumentSymbol.is = is; -})(DocumentSymbol || (exports.DocumentSymbol = DocumentSymbol = {})); -/** - * A set of predefined code action kinds - */ -var CodeActionKind; -exports.CodeActionKind = CodeActionKind; -(function (CodeActionKind) { - /** - * Empty kind. - */ - CodeActionKind.Empty = ''; - /** - * Base kind for quickfix actions: 'quickfix' - */ - CodeActionKind.QuickFix = 'quickfix'; - /** - * Base kind for refactoring actions: 'refactor' - */ - CodeActionKind.Refactor = 'refactor'; - /** - * Base kind for refactoring extraction actions: 'refactor.extract' - * - * Example extract actions: - * - * - Extract method - * - Extract function - * - Extract variable - * - Extract interface from class - * - ... - */ - CodeActionKind.RefactorExtract = 'refactor.extract'; - /** - * Base kind for refactoring inline actions: 'refactor.inline' - * - * Example inline actions: - * - * - Inline function - * - Inline variable - * - Inline constant - * - ... - */ - CodeActionKind.RefactorInline = 'refactor.inline'; - /** - * Base kind for refactoring rewrite actions: 'refactor.rewrite' - * - * Example rewrite actions: - * - * - Convert JavaScript function to class - * - Add or remove parameter - * - Encapsulate field - * - Make method static - * - Move method to base class - * - ... - */ - CodeActionKind.RefactorRewrite = 'refactor.rewrite'; - /** - * Base kind for source actions: `source` - * - * Source code actions apply to the entire file. - */ - CodeActionKind.Source = 'source'; - /** - * Base kind for an organize imports source action: `source.organizeImports` - */ - CodeActionKind.SourceOrganizeImports = 'source.organizeImports'; - /** - * Base kind for auto-fix source actions: `source.fixAll`. - * - * Fix all actions automatically fix errors that have a clear fix that do not require user input. - * They should not suppress errors or perform unsafe fixes such as generating new types or classes. - * - * @since 3.15.0 - */ - CodeActionKind.SourceFixAll = 'source.fixAll'; -})(CodeActionKind || (exports.CodeActionKind = CodeActionKind = {})); -/** - * The reason why code actions were requested. - * - * @since 3.17.0 - */ -var CodeActionTriggerKind; -exports.CodeActionTriggerKind = CodeActionTriggerKind; -(function (CodeActionTriggerKind) { - /** - * Code actions were explicitly requested by the user or by an extension. - */ - CodeActionTriggerKind.Invoked = 1; - /** - * Code actions were requested automatically. - * - * This typically happens when current selection in a file changes, but can - * also be triggered when file content changes. - */ - CodeActionTriggerKind.Automatic = 2; -})(CodeActionTriggerKind || (exports.CodeActionTriggerKind = CodeActionTriggerKind = {})); -/** - * The CodeActionContext namespace provides helper functions to work with - * [CodeActionContext](#CodeActionContext) literals. - */ -var CodeActionContext; -exports.CodeActionContext = CodeActionContext; -(function (CodeActionContext) { - /** - * Creates a new CodeActionContext literal. - */ - function create(diagnostics, only, triggerKind) { - var result = { - diagnostics: diagnostics - }; - if (only !== undefined && only !== null) { - result.only = only; - } - if (triggerKind !== undefined && triggerKind !== null) { - result.triggerKind = triggerKind; - } - return result; - } - CodeActionContext.create = create; - /** - * Checks whether the given literal conforms to the [CodeActionContext](#CodeActionContext) interface. - */ - function is(value) { - var candidate = value; - return Is.defined(candidate) && Is.typedArray(candidate.diagnostics, Diagnostic.is) && (candidate.only === undefined || Is.typedArray(candidate.only, Is.string)) && (candidate.triggerKind === undefined || candidate.triggerKind === CodeActionTriggerKind.Invoked || candidate.triggerKind === CodeActionTriggerKind.Automatic); - } - CodeActionContext.is = is; -})(CodeActionContext || (exports.CodeActionContext = CodeActionContext = {})); -var CodeAction; -exports.CodeAction = CodeAction; -(function (CodeAction) { - function create(title, kindOrCommandOrEdit, kind) { - var result = { - title: title - }; - var checkKind = true; - if (typeof kindOrCommandOrEdit === 'string') { - checkKind = false; - result.kind = kindOrCommandOrEdit; - } else if (Command.is(kindOrCommandOrEdit)) { - result.command = kindOrCommandOrEdit; - } else { - result.edit = kindOrCommandOrEdit; - } - if (checkKind && kind !== undefined) { - result.kind = kind; - } - return result; - } - CodeAction.create = create; - function is(value) { - var candidate = value; - return candidate && Is.string(candidate.title) && (candidate.diagnostics === undefined || Is.typedArray(candidate.diagnostics, Diagnostic.is)) && (candidate.kind === undefined || Is.string(candidate.kind)) && (candidate.edit !== undefined || candidate.command !== undefined) && (candidate.command === undefined || Command.is(candidate.command)) && (candidate.isPreferred === undefined || Is.boolean(candidate.isPreferred)) && (candidate.edit === undefined || WorkspaceEdit.is(candidate.edit)); - } - CodeAction.is = is; -})(CodeAction || (exports.CodeAction = CodeAction = {})); -/** - * The CodeLens namespace provides helper functions to work with - * [CodeLens](#CodeLens) literals. - */ -var CodeLens; -exports.CodeLens = CodeLens; -(function (CodeLens) { - /** - * Creates a new CodeLens literal. - */ - function create(range, data) { - var result = { - range: range - }; - if (Is.defined(data)) { - result.data = data; - } - return result; - } - CodeLens.create = create; - /** - * Checks whether the given literal conforms to the [CodeLens](#CodeLens) interface. - */ - function is(value) { - var candidate = value; - return Is.defined(candidate) && Range.is(candidate.range) && (Is.undefined(candidate.command) || Command.is(candidate.command)); - } - CodeLens.is = is; -})(CodeLens || (exports.CodeLens = CodeLens = {})); -/** - * The FormattingOptions namespace provides helper functions to work with - * [FormattingOptions](#FormattingOptions) literals. - */ -var FormattingOptions; -exports.FormattingOptions = FormattingOptions; -(function (FormattingOptions) { - /** - * Creates a new FormattingOptions literal. - */ - function create(tabSize, insertSpaces) { - return { - tabSize: tabSize, - insertSpaces: insertSpaces - }; - } - FormattingOptions.create = create; - /** - * Checks whether the given literal conforms to the [FormattingOptions](#FormattingOptions) interface. - */ - function is(value) { - var candidate = value; - return Is.defined(candidate) && Is.uinteger(candidate.tabSize) && Is.boolean(candidate.insertSpaces); - } - FormattingOptions.is = is; -})(FormattingOptions || (exports.FormattingOptions = FormattingOptions = {})); -/** - * The DocumentLink namespace provides helper functions to work with - * [DocumentLink](#DocumentLink) literals. - */ -var DocumentLink; -exports.DocumentLink = DocumentLink; -(function (DocumentLink) { - /** - * Creates a new DocumentLink literal. - */ - function create(range, target, data) { - return { - range: range, - target: target, - data: data - }; - } - DocumentLink.create = create; - /** - * Checks whether the given literal conforms to the [DocumentLink](#DocumentLink) interface. - */ - function is(value) { - var candidate = value; - return Is.defined(candidate) && Range.is(candidate.range) && (Is.undefined(candidate.target) || Is.string(candidate.target)); - } - DocumentLink.is = is; -})(DocumentLink || (exports.DocumentLink = DocumentLink = {})); -/** - * The SelectionRange namespace provides helper function to work with - * SelectionRange literals. - */ -var SelectionRange; -exports.SelectionRange = SelectionRange; -(function (SelectionRange) { - /** - * Creates a new SelectionRange - * @param range the range. - * @param parent an optional parent. - */ - function create(range, parent) { - return { - range: range, - parent: parent - }; - } - SelectionRange.create = create; - function is(value) { - var candidate = value; - return Is.objectLiteral(candidate) && Range.is(candidate.range) && (candidate.parent === undefined || SelectionRange.is(candidate.parent)); - } - SelectionRange.is = is; -})(SelectionRange || (exports.SelectionRange = SelectionRange = {})); -/** - * A set of predefined token types. This set is not fixed - * an clients can specify additional token types via the - * corresponding client capabilities. - * - * @since 3.16.0 - */ -var SemanticTokenTypes; -exports.SemanticTokenTypes = SemanticTokenTypes; -(function (SemanticTokenTypes) { - SemanticTokenTypes["namespace"] = "namespace"; - /** - * Represents a generic type. Acts as a fallback for types which can't be mapped to - * a specific type like class or enum. - */ - SemanticTokenTypes["type"] = "type"; - SemanticTokenTypes["class"] = "class"; - SemanticTokenTypes["enum"] = "enum"; - SemanticTokenTypes["interface"] = "interface"; - SemanticTokenTypes["struct"] = "struct"; - SemanticTokenTypes["typeParameter"] = "typeParameter"; - SemanticTokenTypes["parameter"] = "parameter"; - SemanticTokenTypes["variable"] = "variable"; - SemanticTokenTypes["property"] = "property"; - SemanticTokenTypes["enumMember"] = "enumMember"; - SemanticTokenTypes["event"] = "event"; - SemanticTokenTypes["function"] = "function"; - SemanticTokenTypes["method"] = "method"; - SemanticTokenTypes["macro"] = "macro"; - SemanticTokenTypes["keyword"] = "keyword"; - SemanticTokenTypes["modifier"] = "modifier"; - SemanticTokenTypes["comment"] = "comment"; - SemanticTokenTypes["string"] = "string"; - SemanticTokenTypes["number"] = "number"; - SemanticTokenTypes["regexp"] = "regexp"; - SemanticTokenTypes["operator"] = "operator"; - /** - * @since 3.17.0 - */ - SemanticTokenTypes["decorator"] = "decorator"; -})(SemanticTokenTypes || (exports.SemanticTokenTypes = SemanticTokenTypes = {})); -/** - * A set of predefined token modifiers. This set is not fixed - * an clients can specify additional token types via the - * corresponding client capabilities. - * - * @since 3.16.0 - */ -var SemanticTokenModifiers; -exports.SemanticTokenModifiers = SemanticTokenModifiers; -(function (SemanticTokenModifiers) { - SemanticTokenModifiers["declaration"] = "declaration"; - SemanticTokenModifiers["definition"] = "definition"; - SemanticTokenModifiers["readonly"] = "readonly"; - SemanticTokenModifiers["static"] = "static"; - SemanticTokenModifiers["deprecated"] = "deprecated"; - SemanticTokenModifiers["abstract"] = "abstract"; - SemanticTokenModifiers["async"] = "async"; - SemanticTokenModifiers["modification"] = "modification"; - SemanticTokenModifiers["documentation"] = "documentation"; - SemanticTokenModifiers["defaultLibrary"] = "defaultLibrary"; -})(SemanticTokenModifiers || (exports.SemanticTokenModifiers = SemanticTokenModifiers = {})); -/** - * @since 3.16.0 - */ -var SemanticTokens; -exports.SemanticTokens = SemanticTokens; -(function (SemanticTokens) { - function is(value) { - var candidate = value; - return Is.objectLiteral(candidate) && (candidate.resultId === undefined || typeof candidate.resultId === 'string') && Array.isArray(candidate.data) && (candidate.data.length === 0 || typeof candidate.data[0] === 'number'); - } - SemanticTokens.is = is; -})(SemanticTokens || (exports.SemanticTokens = SemanticTokens = {})); -/** - * The InlineValueText namespace provides functions to deal with InlineValueTexts. - * - * @since 3.17.0 - */ -var InlineValueText; -exports.InlineValueText = InlineValueText; -(function (InlineValueText) { - /** - * Creates a new InlineValueText literal. - */ - function create(range, text) { - return { - range: range, - text: text - }; - } - InlineValueText.create = create; - function is(value) { - var candidate = value; - return candidate !== undefined && candidate !== null && Range.is(candidate.range) && Is.string(candidate.text); - } - InlineValueText.is = is; -})(InlineValueText || (exports.InlineValueText = InlineValueText = {})); -/** - * The InlineValueVariableLookup namespace provides functions to deal with InlineValueVariableLookups. - * - * @since 3.17.0 - */ -var InlineValueVariableLookup; -exports.InlineValueVariableLookup = InlineValueVariableLookup; -(function (InlineValueVariableLookup) { - /** - * Creates a new InlineValueText literal. - */ - function create(range, variableName, caseSensitiveLookup) { - return { - range: range, - variableName: variableName, - caseSensitiveLookup: caseSensitiveLookup - }; - } - InlineValueVariableLookup.create = create; - function is(value) { - var candidate = value; - return candidate !== undefined && candidate !== null && Range.is(candidate.range) && Is.boolean(candidate.caseSensitiveLookup) && (Is.string(candidate.variableName) || candidate.variableName === undefined); - } - InlineValueVariableLookup.is = is; -})(InlineValueVariableLookup || (exports.InlineValueVariableLookup = InlineValueVariableLookup = {})); -/** - * The InlineValueEvaluatableExpression namespace provides functions to deal with InlineValueEvaluatableExpression. - * - * @since 3.17.0 - */ -var InlineValueEvaluatableExpression; -exports.InlineValueEvaluatableExpression = InlineValueEvaluatableExpression; -(function (InlineValueEvaluatableExpression) { - /** - * Creates a new InlineValueEvaluatableExpression literal. - */ - function create(range, expression) { - return { - range: range, - expression: expression - }; - } - InlineValueEvaluatableExpression.create = create; - function is(value) { - var candidate = value; - return candidate !== undefined && candidate !== null && Range.is(candidate.range) && (Is.string(candidate.expression) || candidate.expression === undefined); - } - InlineValueEvaluatableExpression.is = is; -})(InlineValueEvaluatableExpression || (exports.InlineValueEvaluatableExpression = InlineValueEvaluatableExpression = {})); -/** - * The InlineValueContext namespace provides helper functions to work with - * [InlineValueContext](#InlineValueContext) literals. - * - * @since 3.17.0 - */ -var InlineValueContext; -exports.InlineValueContext = InlineValueContext; -(function (InlineValueContext) { - /** - * Creates a new InlineValueContext literal. - */ - function create(frameId, stoppedLocation) { - return { - frameId: frameId, - stoppedLocation: stoppedLocation - }; - } - InlineValueContext.create = create; - /** - * Checks whether the given literal conforms to the [InlineValueContext](#InlineValueContext) interface. - */ - function is(value) { - var candidate = value; - return Is.defined(candidate) && Range.is(value.stoppedLocation); - } - InlineValueContext.is = is; -})(InlineValueContext || (exports.InlineValueContext = InlineValueContext = {})); -/** - * Inlay hint kinds. - * - * @since 3.17.0 - */ -var InlayHintKind; -exports.InlayHintKind = InlayHintKind; -(function (InlayHintKind) { - /** - * An inlay hint that for a type annotation. - */ - InlayHintKind.Type = 1; - /** - * An inlay hint that is for a parameter. - */ - InlayHintKind.Parameter = 2; - function is(value) { - return value === 1 || value === 2; - } - InlayHintKind.is = is; -})(InlayHintKind || (exports.InlayHintKind = InlayHintKind = {})); -var InlayHintLabelPart; -exports.InlayHintLabelPart = InlayHintLabelPart; -(function (InlayHintLabelPart) { - function create(value) { - return { - value: value - }; - } - InlayHintLabelPart.create = create; - function is(value) { - var candidate = value; - return Is.objectLiteral(candidate) && (candidate.tooltip === undefined || Is.string(candidate.tooltip) || MarkupContent.is(candidate.tooltip)) && (candidate.location === undefined || Location.is(candidate.location)) && (candidate.command === undefined || Command.is(candidate.command)); - } - InlayHintLabelPart.is = is; -})(InlayHintLabelPart || (exports.InlayHintLabelPart = InlayHintLabelPart = {})); -var InlayHint; -exports.InlayHint = InlayHint; -(function (InlayHint) { - function create(position, label, kind) { - var result = { - position: position, - label: label - }; - if (kind !== undefined) { - result.kind = kind; - } - return result; - } - InlayHint.create = create; - function is(value) { - var candidate = value; - return Is.objectLiteral(candidate) && Position.is(candidate.position) && (Is.string(candidate.label) || Is.typedArray(candidate.label, InlayHintLabelPart.is)) && (candidate.kind === undefined || InlayHintKind.is(candidate.kind)) && candidate.textEdits === undefined || Is.typedArray(candidate.textEdits, TextEdit.is) && (candidate.tooltip === undefined || Is.string(candidate.tooltip) || MarkupContent.is(candidate.tooltip)) && (candidate.paddingLeft === undefined || Is.boolean(candidate.paddingLeft)) && (candidate.paddingRight === undefined || Is.boolean(candidate.paddingRight)); - } - InlayHint.is = is; -})(InlayHint || (exports.InlayHint = InlayHint = {})); -var WorkspaceFolder; -exports.WorkspaceFolder = WorkspaceFolder; -(function (WorkspaceFolder) { - function is(value) { - var candidate = value; - return Is.objectLiteral(candidate) && URI.is(candidate.uri) && Is.string(candidate.name); - } - WorkspaceFolder.is = is; -})(WorkspaceFolder || (exports.WorkspaceFolder = WorkspaceFolder = {})); -var EOL = ['\n', '\r\n', '\r']; -/** - * @deprecated Use the text document from the new vscode-languageserver-textdocument package. - */ -exports.EOL = EOL; -var TextDocument; -exports.TextDocument = TextDocument; -(function (TextDocument) { - /** - * Creates a new ITextDocument literal from the given uri and content. - * @param uri The document's uri. - * @param languageId The document's language Id. - * @param version The document's version. - * @param content The document's content. - */ - function create(uri, languageId, version, content) { - return new FullTextDocument(uri, languageId, version, content); - } - TextDocument.create = create; - /** - * Checks whether the given literal conforms to the [ITextDocument](#ITextDocument) interface. - */ - function is(value) { - var candidate = value; - return Is.defined(candidate) && Is.string(candidate.uri) && (Is.undefined(candidate.languageId) || Is.string(candidate.languageId)) && Is.uinteger(candidate.lineCount) && Is.func(candidate.getText) && Is.func(candidate.positionAt) && Is.func(candidate.offsetAt) ? true : false; - } - TextDocument.is = is; - function applyEdits(document, edits) { - var text = document.getText(); - var sortedEdits = mergeSort(edits, function (a, b) { - var diff = a.range.start.line - b.range.start.line; - if (diff === 0) { - return a.range.start.character - b.range.start.character; - } - return diff; - }); - var lastModifiedOffset = text.length; - for (var i = sortedEdits.length - 1; i >= 0; i--) { - var e = sortedEdits[i]; - var startOffset = document.offsetAt(e.range.start); - var endOffset = document.offsetAt(e.range.end); - if (endOffset <= lastModifiedOffset) { - text = text.substring(0, startOffset) + e.newText + text.substring(endOffset, text.length); - } else { - throw new Error('Overlapping edit'); - } - lastModifiedOffset = startOffset; - } - return text; - } - TextDocument.applyEdits = applyEdits; - function mergeSort(data, compare) { - if (data.length <= 1) { - // sorted - return data; - } - var p = data.length / 2 | 0; - var left = data.slice(0, p); - var right = data.slice(p); - mergeSort(left, compare); - mergeSort(right, compare); - var leftIdx = 0; - var rightIdx = 0; - var i = 0; - while (leftIdx < left.length && rightIdx < right.length) { - var ret = compare(left[leftIdx], right[rightIdx]); - if (ret <= 0) { - // smaller_equal -> take left to preserve order - data[i++] = left[leftIdx++]; - } else { - // greater -> take right - data[i++] = right[rightIdx++]; - } - } - while (leftIdx < left.length) { - data[i++] = left[leftIdx++]; - } - while (rightIdx < right.length) { - data[i++] = right[rightIdx++]; - } - return data; - } -})(TextDocument || (exports.TextDocument = TextDocument = {})); -/** - * @deprecated Use the text document from the new vscode-languageserver-textdocument package. - */ -var FullTextDocument = /** @class */function () { - function FullTextDocument(uri, languageId, version, content) { - this._uri = uri; - this._languageId = languageId; - this._version = version; - this._content = content; - this._lineOffsets = undefined; - } - Object.defineProperty(FullTextDocument.prototype, "uri", { - get: function () { - return this._uri; - }, - enumerable: false, - configurable: true - }); - Object.defineProperty(FullTextDocument.prototype, "languageId", { - get: function () { - return this._languageId; - }, - enumerable: false, - configurable: true - }); - Object.defineProperty(FullTextDocument.prototype, "version", { - get: function () { - return this._version; - }, - enumerable: false, - configurable: true - }); - FullTextDocument.prototype.getText = function (range) { - if (range) { - var start = this.offsetAt(range.start); - var end = this.offsetAt(range.end); - return this._content.substring(start, end); - } - return this._content; - }; - FullTextDocument.prototype.update = function (event, version) { - this._content = event.text; - this._version = version; - this._lineOffsets = undefined; - }; - FullTextDocument.prototype.getLineOffsets = function () { - if (this._lineOffsets === undefined) { - var lineOffsets = []; - var text = this._content; - var isLineStart = true; - for (var i = 0; i < text.length; i++) { - if (isLineStart) { - lineOffsets.push(i); - isLineStart = false; - } - var ch = text.charAt(i); - isLineStart = ch === '\r' || ch === '\n'; - if (ch === '\r' && i + 1 < text.length && text.charAt(i + 1) === '\n') { - i++; - } - } - if (isLineStart && text.length > 0) { - lineOffsets.push(text.length); - } - this._lineOffsets = lineOffsets; - } - return this._lineOffsets; - }; - FullTextDocument.prototype.positionAt = function (offset) { - offset = Math.max(Math.min(offset, this._content.length), 0); - var lineOffsets = this.getLineOffsets(); - var low = 0, - high = lineOffsets.length; - if (high === 0) { - return Position.create(0, offset); - } - while (low < high) { - var mid = Math.floor((low + high) / 2); - if (lineOffsets[mid] > offset) { - high = mid; - } else { - low = mid + 1; - } - } - // low is the least x for which the line offset is larger than the current offset - // or array.length if no line offset is larger than the current offset - var line = low - 1; - return Position.create(line, offset - lineOffsets[line]); - }; - FullTextDocument.prototype.offsetAt = function (position) { - var lineOffsets = this.getLineOffsets(); - if (position.line >= lineOffsets.length) { - return this._content.length; - } else if (position.line < 0) { - return 0; - } - var lineOffset = lineOffsets[position.line]; - var nextLineOffset = position.line + 1 < lineOffsets.length ? lineOffsets[position.line + 1] : this._content.length; - return Math.max(Math.min(lineOffset + position.character, nextLineOffset), lineOffset); - }; - Object.defineProperty(FullTextDocument.prototype, "lineCount", { - get: function () { - return this.getLineOffsets().length; - }, - enumerable: false, - configurable: true - }); - return FullTextDocument; -}(); -var Is; -(function (Is) { - var toString = Object.prototype.toString; - function defined(value) { - return typeof value !== 'undefined'; - } - Is.defined = defined; - function undefined(value) { - return typeof value === 'undefined'; - } - Is.undefined = undefined; - function boolean(value) { - return value === true || value === false; - } - Is.boolean = boolean; - function string(value) { - return toString.call(value) === '[object String]'; - } - Is.string = string; - function number(value) { - return toString.call(value) === '[object Number]'; - } - Is.number = number; - function numberRange(value, min, max) { - return toString.call(value) === '[object Number]' && min <= value && value <= max; - } - Is.numberRange = numberRange; - function integer(value) { - return toString.call(value) === '[object Number]' && -2147483648 <= value && value <= 2147483647; - } - Is.integer = integer; - function uinteger(value) { - return toString.call(value) === '[object Number]' && 0 <= value && value <= 2147483647; - } - Is.uinteger = uinteger; - function func(value) { - return toString.call(value) === '[object Function]'; - } - Is.func = func; - function objectLiteral(value) { - // Strictly speaking class instances pass this check as well. Since the LSP - // doesn't use classes we ignore this for now. If we do we need to add something - // like this: `Object.getPrototypeOf(Object.getPrototypeOf(x)) === null` - return value !== null && typeof value === 'object'; - } - Is.objectLiteral = objectLiteral; - function typedArray(value, check) { - return Array.isArray(value) && value.every(check); - } - Is.typedArray = typedArray; -})(Is || (Is = {})); - -/***/ }), - -/***/ "../../graphiql-react/dist/SchemaReference.cjs.js": -/*!********************************************************!*\ - !*** ../../graphiql-react/dist/SchemaReference.cjs.js ***! - \********************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - - - -var m = Object.defineProperty; -var l = (n, r) => m(n, "name", { - value: r, - configurable: !0 -}); -const t = __webpack_require__(/*! graphql */ "../../../node_modules/graphql/index.mjs"), - s = __webpack_require__(/*! ./forEachState.cjs.js */ "../../graphiql-react/dist/forEachState.cjs.js"); -function o(n, r) { - const e = { - schema: n, - type: null, - parentType: null, - inputType: null, - directiveDef: null, - fieldDef: null, - argDef: null, - argDefs: null, - objectFieldDefs: null - }; - return s.forEachState(r, i => { - var a, c; - switch (i.kind) { - case "Query": - case "ShortQuery": - e.type = n.getQueryType(); - break; - case "Mutation": - e.type = n.getMutationType(); - break; - case "Subscription": - e.type = n.getSubscriptionType(); - break; - case "InlineFragment": - case "FragmentDefinition": - i.type && (e.type = n.getType(i.type)); - break; - case "Field": - case "AliasedField": - e.fieldDef = e.type && i.name ? T(n, e.parentType, i.name) : null, e.type = (a = e.fieldDef) === null || a === void 0 ? void 0 : a.type; - break; - case "SelectionSet": - e.parentType = e.type ? t.getNamedType(e.type) : null; - break; - case "Directive": - e.directiveDef = i.name ? n.getDirective(i.name) : null; - break; - case "Arguments": - const f = i.prevState ? i.prevState.kind === "Field" ? e.fieldDef : i.prevState.kind === "Directive" ? e.directiveDef : i.prevState.kind === "AliasedField" ? i.prevState.name && T(n, e.parentType, i.prevState.name) : null : null; - e.argDefs = f ? f.args : null; - break; - case "Argument": - if (e.argDef = null, e.argDefs) { - for (let u = 0; u < e.argDefs.length; u++) if (e.argDefs[u].name === i.name) { - e.argDef = e.argDefs[u]; - break; - } - } - e.inputType = (c = e.argDef) === null || c === void 0 ? void 0 : c.type; - break; - case "EnumValue": - const d = e.inputType ? t.getNamedType(e.inputType) : null; - e.enumValue = d instanceof t.GraphQLEnumType ? b(d.getValues(), u => u.value === i.name) : null; - break; - case "ListValue": - const g = e.inputType ? t.getNullableType(e.inputType) : null; - e.inputType = g instanceof t.GraphQLList ? g.ofType : null; - break; - case "ObjectValue": - const y = e.inputType ? t.getNamedType(e.inputType) : null; - e.objectFieldDefs = y instanceof t.GraphQLInputObjectType ? y.getFields() : null; - break; - case "ObjectField": - const p = i.name && e.objectFieldDefs ? e.objectFieldDefs[i.name] : null; - e.inputType = p == null ? void 0 : p.type; - break; - case "NamedType": - e.type = i.name ? n.getType(i.name) : null; - break; - } - }), e; -} -l(o, "getTypeInfo"); -function T(n, r, e) { - if (e === t.SchemaMetaFieldDef.name && n.getQueryType() === r) return t.SchemaMetaFieldDef; - if (e === t.TypeMetaFieldDef.name && n.getQueryType() === r) return t.TypeMetaFieldDef; - if (e === t.TypeNameMetaFieldDef.name && t.isCompositeType(r)) return t.TypeNameMetaFieldDef; - if (r && r.getFields) return r.getFields()[e]; -} -l(T, "getFieldDef"); -function b(n, r) { - for (let e = 0; e < n.length; e++) if (r(n[e])) return n[e]; -} -l(b, "find"); -function v(n) { - return { - kind: "Field", - schema: n.schema, - field: n.fieldDef, - type: D(n.fieldDef) ? null : n.parentType - }; -} -l(v, "getFieldReference"); -function F(n) { - return { - kind: "Directive", - schema: n.schema, - directive: n.directiveDef - }; -} -l(F, "getDirectiveReference"); -function k(n) { - return n.directiveDef ? { - kind: "Argument", - schema: n.schema, - argument: n.argDef, - directive: n.directiveDef - } : { - kind: "Argument", - schema: n.schema, - argument: n.argDef, - field: n.fieldDef, - type: D(n.fieldDef) ? null : n.parentType - }; -} -l(k, "getArgumentReference"); -function S(n) { - return { - kind: "EnumValue", - value: n.enumValue || void 0, - type: n.inputType ? t.getNamedType(n.inputType) : void 0 - }; -} -l(S, "getEnumValueReference"); -function h(n, r) { - return { - kind: "Type", - schema: n.schema, - type: r || n.type - }; -} -l(h, "getTypeReference"); -function D(n) { - return n.name.slice(0, 2) === "__"; -} -l(D, "isMetaField"); -exports.getArgumentReference = k; -exports.getDirectiveReference = F; -exports.getEnumValueReference = S; -exports.getFieldReference = v; -exports.getTypeInfo = o; -exports.getTypeReference = h; - -/***/ }), - -/***/ "../../graphiql-react/dist/brace-fold.cjs.js": -/*!***************************************************!*\ - !*** ../../graphiql-react/dist/brace-fold.cjs.js ***! - \***************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - - - -var S = Object.defineProperty; -var y = (d, L) => S(d, "name", { - value: L, - configurable: !0 -}); -const _ = __webpack_require__(/*! ./codemirror.cjs2.js */ "../../graphiql-react/dist/codemirror.cjs2.js"); -function m(d, L) { - for (var e = 0; e < L.length; e++) { - const g = L[e]; - if (typeof g != "string" && !Array.isArray(g)) { - for (const t in g) if (t !== "default" && !(t in d)) { - const a = Object.getOwnPropertyDescriptor(g, t); - a && Object.defineProperty(d, t, a.get ? a : { - enumerable: !0, - get: () => g[t] - }); - } - } - } - return Object.freeze(Object.defineProperty(d, Symbol.toStringTag, { - value: "Module" - })); -} -y(m, "_mergeNamespaces"); -var I = { - exports: {} -}; -(function (d, L) { - (function (e) { - e(_.requireCodemirror()); - })(function (e) { - function g(t) { - return function (a, f) { - var n = f.line, - o = a.getLine(n); - function v(l) { - for (var u, c = f.ch, h = 0;;) { - var b = c <= 0 ? -1 : o.lastIndexOf(l[0], c - 1); - if (b == -1) { - if (h == 1) break; - h = 1, c = o.length; - continue; - } - if (h == 1 && b < f.ch) break; - if (u = a.getTokenTypeAt(e.Pos(n, b + 1)), !/^(comment|string)/.test(u)) return { - ch: b + 1, - tokenType: u, - pair: l - }; - c = b - 1; - } - } - y(v, "findOpening"); - function k(l) { - var u = 1, - c = a.lastLine(), - h, - b = l.ch, - j; - e: for (var T = n; T <= c; ++T) for (var A = a.getLine(T), p = T == n ? b : 0;;) { - var F = A.indexOf(l.pair[0], p), - O = A.indexOf(l.pair[1], p); - if (F < 0 && (F = A.length), O < 0 && (O = A.length), p = Math.min(F, O), p == A.length) break; - if (a.getTokenTypeAt(e.Pos(T, p + 1)) == l.tokenType) { - if (p == F) ++u;else if (! --u) { - h = T, j = p; - break e; - } - } - ++p; - } - return h == null || n == h ? null : { - from: e.Pos(n, b), - to: e.Pos(h, j) - }; - } - y(k, "findRange"); - for (var i = [], r = 0; r < t.length; r++) { - var s = v(t[r]); - s && i.push(s); - } - i.sort(function (l, u) { - return l.ch - u.ch; - }); - for (var r = 0; r < i.length; r++) { - var P = k(i[r]); - if (P) return P; - } - return null; - }; - } - y(g, "bracketFolding"), e.registerHelper("fold", "brace", g([["{", "}"], ["[", "]"]])), e.registerHelper("fold", "brace-paren", g([["{", "}"], ["[", "]"], ["(", ")"]])), e.registerHelper("fold", "import", function (t, a) { - function f(r) { - if (r < t.firstLine() || r > t.lastLine()) return null; - var s = t.getTokenAt(e.Pos(r, 1)); - if (/\S/.test(s.string) || (s = t.getTokenAt(e.Pos(r, s.end + 1))), s.type != "keyword" || s.string != "import") return null; - for (var P = r, l = Math.min(t.lastLine(), r + 10); P <= l; ++P) { - var u = t.getLine(P), - c = u.indexOf(";"); - if (c != -1) return { - startCh: s.end, - end: e.Pos(P, c) - }; - } - } - y(f, "hasImport"); - var n = a.line, - o = f(n), - v; - if (!o || f(n - 1) || (v = f(n - 2)) && v.end.line == n - 1) return null; - for (var k = o.end;;) { - var i = f(k.line + 1); - if (i == null) break; - k = i.end; - } - return { - from: t.clipPos(e.Pos(n, o.startCh + 1)), - to: k - }; - }), e.registerHelper("fold", "include", function (t, a) { - function f(i) { - if (i < t.firstLine() || i > t.lastLine()) return null; - var r = t.getTokenAt(e.Pos(i, 1)); - if (/\S/.test(r.string) || (r = t.getTokenAt(e.Pos(i, r.end + 1))), r.type == "meta" && r.string.slice(0, 8) == "#include") return r.start + 8; - } - y(f, "hasInclude"); - var n = a.line, - o = f(n); - if (o == null || f(n - 1) != null) return null; - for (var v = n;;) { - var k = f(v + 1); - if (k == null) break; - ++v; - } - return { - from: e.Pos(n, o + 1), - to: t.clipPos(e.Pos(v)) - }; - }); - }); -})(); -var H = I.exports; -const q = _.getDefaultExportFromCjs(H), - w = m({ - __proto__: null, - default: q - }, [H]); -exports.braceFold = w; - -/***/ }), - -/***/ "../../graphiql-react/dist/closebrackets.cjs.js": -/*!******************************************************!*\ - !*** ../../graphiql-react/dist/closebrackets.cjs.js ***! - \******************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - - - -var G = Object.defineProperty; -var f = (S, P) => G(S, "name", { - value: P, - configurable: !0 -}); -const q = __webpack_require__(/*! ./codemirror.cjs2.js */ "../../graphiql-react/dist/codemirror.cjs2.js"); -function H(S, P) { - for (var a = 0; a < P.length; a++) { - const c = P[a]; - if (typeof c != "string" && !Array.isArray(c)) { - for (const i in c) if (i !== "default" && !(i in S)) { - const v = Object.getOwnPropertyDescriptor(c, i); - v && Object.defineProperty(S, i, v.get ? v : { - enumerable: !0, - get: () => c[i] - }); - } - } - } - return Object.freeze(Object.defineProperty(S, Symbol.toStringTag, { - value: "Module" - })); -} -f(H, "_mergeNamespaces"); -var J = { - exports: {} -}; -(function (S, P) { - (function (a) { - a(q.requireCodemirror()); - })(function (a) { - var c = { - pairs: `()[]{}''""`, - closeBefore: `)]}'":;>`, - triples: "", - explode: "[]{}" - }, - i = a.Pos; - a.defineOption("autoCloseBrackets", !1, function (e, t, n) { - n && n != a.Init && (e.removeKeyMap(B), e.state.closeBrackets = null), t && (_(v(t, "pairs")), e.state.closeBrackets = t, e.addKeyMap(B)); - }); - function v(e, t) { - return t == "pairs" && typeof e == "string" ? e : typeof e == "object" && e[t] != null ? e[t] : c[t]; - } - f(v, "getOption"); - var B = { - Backspace: L, - Enter: W - }; - function _(e) { - for (var t = 0; t < e.length; t++) { - var n = e.charAt(t), - s = "'" + n + "'"; - B[s] || (B[s] = K(n)); - } - } - f(_, "ensureBound"), _(c.pairs + "`"); - function K(e) { - return function (t) { - return z(t, e); - }; - } - f(K, "handler"); - function x(e) { - var t = e.state.closeBrackets; - if (!t || t.override) return t; - var n = e.getModeAt(e.getCursor()); - return n.closeBrackets || t; - } - f(x, "getConfig"); - function L(e) { - var t = x(e); - if (!t || e.getOption("disableInput")) return a.Pass; - for (var n = v(t, "pairs"), s = e.listSelections(), r = 0; r < s.length; r++) { - if (!s[r].empty()) return a.Pass; - var h = w(e, s[r].head); - if (!h || n.indexOf(h) % 2 != 0) return a.Pass; - } - for (var r = s.length - 1; r >= 0; r--) { - var o = s[r].head; - e.replaceRange("", i(o.line, o.ch - 1), i(o.line, o.ch + 1), "+delete"); - } - } - f(L, "handleBackspace"); - function W(e) { - var t = x(e), - n = t && v(t, "explode"); - if (!n || e.getOption("disableInput")) return a.Pass; - for (var s = e.listSelections(), r = 0; r < s.length; r++) { - if (!s[r].empty()) return a.Pass; - var h = w(e, s[r].head); - if (!h || n.indexOf(h) % 2 != 0) return a.Pass; - } - e.operation(function () { - var o = e.lineSeparator() || ` -`; - e.replaceSelection(o + o, null), O(e, -1), s = e.listSelections(); - for (var g = 0; g < s.length; g++) { - var A = s[g].head.line; - e.indentLine(A, null, !0), e.indentLine(A + 1, null, !0); - } - }); - } - f(W, "handleEnter"); - function O(e, t) { - for (var n = [], s = e.listSelections(), r = 0, h = 0; h < s.length; h++) { - var o = s[h]; - o.head == e.getCursor() && (r = h); - var g = o.head.ch || t > 0 ? { - line: o.head.line, - ch: o.head.ch + t - } : { - line: o.head.line - 1 - }; - n.push({ - anchor: g, - head: g - }); - } - e.setSelections(n, r); - } - f(O, "moveSel"); - function $(e) { - var t = a.cmpPos(e.anchor, e.head) > 0; - return { - anchor: new i(e.anchor.line, e.anchor.ch + (t ? -1 : 1)), - head: new i(e.head.line, e.head.ch + (t ? 1 : -1)) - }; - } - f($, "contractSelection"); - function z(e, t) { - var n = x(e); - if (!n || e.getOption("disableInput")) return a.Pass; - var s = v(n, "pairs"), - r = s.indexOf(t); - if (r == -1) return a.Pass; - for (var h = v(n, "closeBefore"), o = v(n, "triples"), g = s.charAt(r + 1) == t, A = e.listSelections(), R = r % 2 == 0, b, j = 0; j < A.length; j++) { - var I = A[j], - l = I.head, - u, - y = e.getRange(l, i(l.line, l.ch + 1)); - if (R && !I.empty()) u = "surround";else if ((g || !R) && y == t) g && N(e, l) ? u = "both" : o.indexOf(t) >= 0 && e.getRange(l, i(l.line, l.ch + 3)) == t + t + t ? u = "skipThree" : u = "skip";else if (g && l.ch > 1 && o.indexOf(t) >= 0 && e.getRange(i(l.line, l.ch - 2), l) == t + t) { - if (l.ch > 2 && /\bstring/.test(e.getTokenTypeAt(i(l.line, l.ch - 2)))) return a.Pass; - u = "addFour"; - } else if (g) { - var F = l.ch == 0 ? " " : e.getRange(i(l.line, l.ch - 1), l); - if (!a.isWordChar(y) && F != t && !a.isWordChar(F)) u = "both";else return a.Pass; - } else if (R && (y.length === 0 || /\s/.test(y) || h.indexOf(y) > -1)) u = "both";else return a.Pass; - if (!b) b = u;else if (b != u) return a.Pass; - } - var k = r % 2 ? s.charAt(r - 1) : t, - E = r % 2 ? t : s.charAt(r + 1); - e.operation(function () { - if (b == "skip") O(e, 1);else if (b == "skipThree") O(e, 3);else if (b == "surround") { - for (var p = e.getSelections(), d = 0; d < p.length; d++) p[d] = k + p[d] + E; - e.replaceSelections(p, "around"), p = e.listSelections().slice(); - for (var d = 0; d < p.length; d++) p[d] = $(p[d]); - e.setSelections(p); - } else b == "both" ? (e.replaceSelection(k + E, null), e.triggerElectric(k + E), O(e, -1)) : b == "addFour" && (e.replaceSelection(k + k + k + k, "before"), O(e, 1)); - }); - } - f(z, "handleChar"); - function w(e, t) { - var n = e.getRange(i(t.line, t.ch - 1), i(t.line, t.ch + 1)); - return n.length == 2 ? n : null; - } - f(w, "charsAround"); - function N(e, t) { - var n = e.getTokenAt(i(t.line, t.ch + 1)); - return /\bstring/.test(n.type) && n.start == t.ch && (t.ch == 0 || !/\bstring/.test(e.getTokenTypeAt(t))); - } - f(N, "stringStartsAfter"); - }); -})(); -var D = J.exports; -const Q = q.getDefaultExportFromCjs(D), - T = H({ - __proto__: null, - default: Q - }, [D]); -exports.closebrackets = T; - -/***/ }), - -/***/ "../../graphiql-react/dist/codemirror.cjs.js": -/*!***************************************************!*\ - !*** ../../graphiql-react/dist/codemirror.cjs.js ***! - \***************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - - - -var u = Object.defineProperty; -var n = (r, t) => u(r, "name", { - value: t, - configurable: !0 -}); -const s = __webpack_require__(/*! ./codemirror.cjs2.js */ "../../graphiql-react/dist/codemirror.cjs2.js"); -function a(r, t) { - for (var i = 0; i < t.length; i++) { - const e = t[i]; - if (typeof e != "string" && !Array.isArray(e)) { - for (const o in e) if (o !== "default" && !(o in r)) { - const c = Object.getOwnPropertyDescriptor(e, o); - c && Object.defineProperty(r, o, c.get ? c : { - enumerable: !0, - get: () => e[o] - }); - } - } - } - return Object.freeze(Object.defineProperty(r, Symbol.toStringTag, { - value: "Module" - })); -} -n(a, "_mergeNamespaces"); -var d = s.requireCodemirror(); -const f = s.getDefaultExportFromCjs(d), - l = a({ - __proto__: null, - default: f - }, [d]); -exports.CodeMirror = f; -exports.codemirror = l; - -/***/ }), - -/***/ "../../graphiql-react/dist/codemirror.cjs2.js": -/*!****************************************************!*\ - !*** ../../graphiql-react/dist/codemirror.cjs2.js ***! - \****************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - - - -var su = Object.defineProperty; -var u = (He, Dn) => su(He, "name", { - value: Dn, - configurable: !0 -}); -var uu = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof __webpack_require__.g < "u" ? __webpack_require__.g : typeof self < "u" ? self : {}; -function fu(He) { - return He && He.__esModule && Object.prototype.hasOwnProperty.call(He, "default") ? He.default : He; -} -u(fu, "getDefaultExportFromCjs"); -var Mn = { - exports: {} - }, - Ko; -function hu() { - return Ko || (Ko = 1, function (He, Dn) { - (function (ie, Lr) { - He.exports = Lr(); - })(uu, function () { - var ie = navigator.userAgent, - Lr = navigator.platform, - Fe = /gecko\/\d/i.test(ie), - Nn = /MSIE \d/.test(ie), - An = /Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(ie), - kr = /Edge\/(\d+)/.exec(ie), - O = Nn || An || kr, - I = O && (Nn ? document.documentMode || 6 : +(kr || An)[1]), - ne = !kr && /WebKit\//.test(ie), - _o = ne && /Qt\/\d+\.\d+/.test(ie), - Tr = !kr && /Chrome\//.test(ie), - we = /Opera\//.test(ie), - Mr = /Apple Computer/.test(navigator.vendor), - Xo = /Mac OS X 1\d\D([8-9]|\d\d)\D/.test(ie), - Yo = /PhantomJS/.test(ie), - Ut = Mr && (/Mobile\/\w+/.test(ie) || navigator.maxTouchPoints > 2), - Dr = /Android/.test(ie), - Kt = Ut || Dr || /webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(ie), - me = Ut || /Mac/.test(Lr), - qo = /\bCrOS\b/.test(ie), - Zo = /win/i.test(Lr), - et = we && ie.match(/Version\/(\d*\.\d*)/); - et && (et = Number(et[1])), et && et >= 15 && (we = !1, ne = !0); - var On = me && (_o || we && (et == null || et < 12.11)), - ci = Fe || O && I >= 9; - function mt(e) { - return new RegExp("(^|\\s)" + e + "(?:$|\\s)\\s*"); - } - u(mt, "classTest"); - var tt = u(function (e, t) { - var i = e.className, - r = mt(t).exec(i); - if (r) { - var n = i.slice(r.index + r[0].length); - e.className = i.slice(0, r.index) + (n ? r[1] + n : ""); - } - }, "rmClass"); - function Ue(e) { - for (var t = e.childNodes.length; t > 0; --t) e.removeChild(e.firstChild); - return e; - } - u(Ue, "removeChildren"); - function ve(e, t) { - return Ue(e).appendChild(t); - } - u(ve, "removeChildrenAndAdd"); - function T(e, t, i, r) { - var n = document.createElement(e); - if (i && (n.className = i), r && (n.style.cssText = r), typeof t == "string") n.appendChild(document.createTextNode(t));else if (t) for (var l = 0; l < t.length; ++l) n.appendChild(t[l]); - return n; - } - u(T, "elt"); - function bt(e, t, i, r) { - var n = T(e, t, i, r); - return n.setAttribute("role", "presentation"), n; - } - u(bt, "eltP"); - var rt; - document.createRange ? rt = u(function (e, t, i, r) { - var n = document.createRange(); - return n.setEnd(r || e, i), n.setStart(e, t), n; - }, "range") : rt = u(function (e, t, i) { - var r = document.body.createTextRange(); - try { - r.moveToElementText(e.parentNode); - } catch { - return r; - } - return r.collapse(!0), r.moveEnd("character", i), r.moveStart("character", t), r; - }, "range"); - function Ke(e, t) { - if (t.nodeType == 3 && (t = t.parentNode), e.contains) return e.contains(t); - do if (t.nodeType == 11 && (t = t.host), t == e) return !0; while (t = t.parentNode); - } - u(Ke, "contains"); - function be() { - var e; - try { - e = document.activeElement; - } catch { - e = document.body || null; - } - for (; e && e.shadowRoot && e.shadowRoot.activeElement;) e = e.shadowRoot.activeElement; - return e; - } - u(be, "activeElt"); - function it(e, t) { - var i = e.className; - mt(t).test(i) || (e.className += (i ? " " : "") + t); - } - u(it, "addClass"); - function di(e, t) { - for (var i = e.split(" "), r = 0; r < i.length; r++) i[r] && !mt(i[r]).test(t) && (t += " " + i[r]); - return t; - } - u(di, "joinClasses"); - var _t = u(function (e) { - e.select(); - }, "selectInput"); - Ut ? _t = u(function (e) { - e.selectionStart = 0, e.selectionEnd = e.value.length; - }, "selectInput") : O && (_t = u(function (e) { - try { - e.select(); - } catch {} - }, "selectInput")); - function pi(e) { - var t = Array.prototype.slice.call(arguments, 1); - return function () { - return e.apply(null, t); - }; - } - u(pi, "bind"); - function nt(e, t, i) { - t || (t = {}); - for (var r in e) e.hasOwnProperty(r) && (i !== !1 || !t.hasOwnProperty(r)) && (t[r] = e[r]); - return t; - } - u(nt, "copyObj"); - function xe(e, t, i, r, n) { - t == null && (t = e.search(/[^\s\u00a0]/), t == -1 && (t = e.length)); - for (var l = r || 0, o = n || 0;;) { - var a = e.indexOf(" ", l); - if (a < 0 || a >= t) return o + (t - l); - o += a - l, o += i - o % i, l = a + 1; - } - } - u(xe, "countColumn"); - var _e = u(function () { - this.id = null, this.f = null, this.time = 0, this.handler = pi(this.onTimeout, this); - }, "Delayed"); - _e.prototype.onTimeout = function (e) { - e.id = 0, e.time <= +new Date() ? e.f() : setTimeout(e.handler, e.time - +new Date()); - }, _e.prototype.set = function (e, t) { - this.f = t; - var i = +new Date() + e; - (!this.id || i < this.time) && (clearTimeout(this.id), this.id = setTimeout(this.handler, e), this.time = i); - }; - function ee(e, t) { - for (var i = 0; i < e.length; ++i) if (e[i] == t) return i; - return -1; - } - u(ee, "indexOf"); - var Wn = 50, - Nr = { - toString: function () { - return "CodeMirror.Pass"; - } - }, - Me = { - scroll: !1 - }, - vi = { - origin: "*mouse" - }, - Xt = { - origin: "+move" - }; - function gi(e, t, i) { - for (var r = 0, n = 0;;) { - var l = e.indexOf(" ", r); - l == -1 && (l = e.length); - var o = l - r; - if (l == e.length || n + o >= t) return r + Math.min(o, t - n); - if (n += l - r, n += i - n % i, r = l + 1, n >= t) return r; - } - } - u(gi, "findColumn"); - var Ar = [""]; - function yi(e) { - for (; Ar.length <= e;) Ar.push(H(Ar) + " "); - return Ar[e]; - } - u(yi, "spaceStr"); - function H(e) { - return e[e.length - 1]; - } - u(H, "lst"); - function Or(e, t) { - for (var i = [], r = 0; r < e.length; r++) i[r] = t(e[r], r); - return i; - } - u(Or, "map"); - function Qo(e, t, i) { - for (var r = 0, n = i(t); r < e.length && i(e[r]) <= n;) r++; - e.splice(r, 0, t); - } - u(Qo, "insertSorted"); - function Hn() {} - u(Hn, "nothing"); - function Fn(e, t) { - var i; - return Object.create ? i = Object.create(e) : (Hn.prototype = e, i = new Hn()), t && nt(t, i), i; - } - u(Fn, "createObj"); - var Jo = /[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/; - function mi(e) { - return /\w/.test(e) || e > "€" && (e.toUpperCase() != e.toLowerCase() || Jo.test(e)); - } - u(mi, "isWordCharBasic"); - function Wr(e, t) { - return t ? t.source.indexOf("\\w") > -1 && mi(e) ? !0 : t.test(e) : mi(e); - } - u(Wr, "isWordChar"); - function Pn(e) { - for (var t in e) if (e.hasOwnProperty(t) && e[t]) return !1; - return !0; - } - u(Pn, "isEmpty"); - var jo = /[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06de-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\udc00-\udfff\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]/; - function bi(e) { - return e.charCodeAt(0) >= 768 && jo.test(e); - } - u(bi, "isExtendingChar"); - function En(e, t, i) { - for (; (i < 0 ? t > 0 : t < e.length) && bi(e.charAt(t));) t += i; - return t; - } - u(En, "skipExtendingChars"); - function Yt(e, t, i) { - for (var r = t > i ? -1 : 1;;) { - if (t == i) return t; - var n = (t + i) / 2, - l = r < 0 ? Math.ceil(n) : Math.floor(n); - if (l == t) return e(l) ? t : i; - e(l) ? i = l : t = l + r; - } - } - u(Yt, "findFirst"); - function Vo(e, t, i, r) { - if (!e) return r(t, i, "ltr", 0); - for (var n = !1, l = 0; l < e.length; ++l) { - var o = e[l]; - (o.from < i && o.to > t || t == i && o.to == t) && (r(Math.max(o.from, t), Math.min(o.to, i), o.level == 1 ? "rtl" : "ltr", l), n = !0); - } - n || r(t, i, "ltr"); - } - u(Vo, "iterateBidiSections"); - var qt = null; - function Zt(e, t, i) { - var _r2; - var r; - qt = null; - for (var n = 0; n < e.length; ++n) { - var l = e[n]; - if (l.from < t && l.to > t) return n; - l.to == t && (l.from != l.to && i == "before" ? r = n : qt = n), l.from == t && (l.from != l.to && i != "before" ? r = n : qt = n); - } - return (_r2 = r) !== null && _r2 !== void 0 ? _r2 : qt; - } - u(Zt, "getBidiPartAt"); - var $o = function () { - var e = "bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN", - t = "nnnnnnNNr%%r,rNNmmmmmmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmnNmmmmmmrrmmNmmmmrr1111111111"; - function i(f) { - return f <= 247 ? e.charAt(f) : 1424 <= f && f <= 1524 ? "R" : 1536 <= f && f <= 1785 ? t.charAt(f - 1536) : 1774 <= f && f <= 2220 ? "r" : 8192 <= f && f <= 8203 ? "w" : f == 8204 ? "b" : "L"; - } - u(i, "charType"); - var r = /[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/, - n = /[stwN]/, - l = /[LRr]/, - o = /[Lb1n]/, - a = /[1n]/; - function s(f, h, c) { - this.level = f, this.from = h, this.to = c; - } - return u(s, "BidiSpan"), function (f, h) { - var c = h == "ltr" ? "L" : "R"; - if (f.length == 0 || h == "ltr" && !r.test(f)) return !1; - for (var p = f.length, d = [], v = 0; v < p; ++v) d.push(i(f.charCodeAt(v))); - for (var g = 0, m = c; g < p; ++g) { - var b = d[g]; - b == "m" ? d[g] = m : m = b; - } - for (var C = 0, x = c; C < p; ++C) { - var w = d[C]; - w == "1" && x == "r" ? d[C] = "n" : l.test(w) && (x = w, w == "r" && (d[C] = "R")); - } - for (var k = 1, L = d[0]; k < p - 1; ++k) { - var A = d[k]; - A == "+" && L == "1" && d[k + 1] == "1" ? d[k] = "1" : A == "," && L == d[k + 1] && (L == "1" || L == "n") && (d[k] = L), L = A; - } - for (var E = 0; E < p; ++E) { - var j = d[E]; - if (j == ",") d[E] = "N";else if (j == "%") { - var B = void 0; - for (B = E + 1; B < p && d[B] == "%"; ++B); - for (var pe = E && d[E - 1] == "!" || B < p && d[B] == "1" ? "1" : "N", fe = E; fe < B; ++fe) d[fe] = pe; - E = B - 1; - } - } - for (var _ = 0, he = c; _ < p; ++_) { - var $ = d[_]; - he == "L" && $ == "1" ? d[_] = "L" : l.test($) && (he = $); - } - for (var Y = 0; Y < p; ++Y) if (n.test(d[Y])) { - var X = void 0; - for (X = Y + 1; X < p && n.test(d[X]); ++X); - for (var z = (Y ? d[Y - 1] : c) == "L", ce = (X < p ? d[X] : c) == "L", zt = z == ce ? z ? "L" : "R" : c, $e = Y; $e < X; ++$e) d[$e] = zt; - Y = X - 1; - } - for (var re = [], We, V = 0; V < p;) if (o.test(d[V])) { - var kn = V; - for (++V; V < p && o.test(d[V]); ++V); - re.push(new s(0, kn, V)); - } else { - var Ge = V, - gt = re.length, - yt = h == "rtl" ? 1 : 0; - for (++V; V < p && d[V] != "L"; ++V); - for (var oe = Ge; oe < V;) if (a.test(d[oe])) { - Ge < oe && (re.splice(gt, 0, new s(1, Ge, oe)), gt += yt); - var Gt = oe; - for (++oe; oe < V && a.test(d[oe]); ++oe); - re.splice(gt, 0, new s(2, Gt, oe)), gt += yt, Ge = oe; - } else ++oe; - Ge < V && re.splice(gt, 0, new s(1, Ge, V)); - } - return h == "ltr" && (re[0].level == 1 && (We = f.match(/^\s+/)) && (re[0].from = We[0].length, re.unshift(new s(0, 0, We[0].length))), H(re).level == 1 && (We = f.match(/\s+$/)) && (H(re).to -= We[0].length, re.push(new s(0, p - We[0].length, p)))), h == "rtl" ? re.reverse() : re; - }; - }(); - function Pe(e, t) { - var i = e.order; - return i == null && (i = e.order = $o(e.text, t)), i; - } - u(Pe, "getOrder"); - var In = [], - M = u(function (e, t, i) { - if (e.addEventListener) e.addEventListener(t, i, !1);else if (e.attachEvent) e.attachEvent("on" + t, i);else { - var r = e._handlers || (e._handlers = {}); - r[t] = (r[t] || In).concat(i); - } - }, "on"); - function xi(e, t) { - return e._handlers && e._handlers[t] || In; - } - u(xi, "getHandlers"); - function ge(e, t, i) { - if (e.removeEventListener) e.removeEventListener(t, i, !1);else if (e.detachEvent) e.detachEvent("on" + t, i);else { - var r = e._handlers, - n = r && r[t]; - if (n) { - var l = ee(n, i); - l > -1 && (r[t] = n.slice(0, l).concat(n.slice(l + 1))); - } - } - } - u(ge, "off"); - function U(e, t) { - var i = xi(e, t); - if (i.length) for (var r = Array.prototype.slice.call(arguments, 2), n = 0; n < i.length; ++n) i[n].apply(null, r); - } - u(U, "signal"); - function q(e, t, i) { - return typeof t == "string" && (t = { - type: t, - preventDefault: function () { - this.defaultPrevented = !0; - } - }), U(e, i || t.type, e, t), Ci(t) || t.codemirrorIgnore; - } - u(q, "signalDOMEvent"); - function Rn(e) { - var t = e._handlers && e._handlers.cursorActivity; - if (t) for (var i = e.curOp.cursorActivityHandlers || (e.curOp.cursorActivityHandlers = []), r = 0; r < t.length; ++r) ee(i, t[r]) == -1 && i.push(t[r]); - } - u(Rn, "signalCursorActivity"); - function Ce(e, t) { - return xi(e, t).length > 0; - } - u(Ce, "hasHandler"); - function xt(e) { - e.prototype.on = function (t, i) { - M(this, t, i); - }, e.prototype.off = function (t, i) { - ge(this, t, i); - }; - } - u(xt, "eventMixin"); - function ae(e) { - e.preventDefault ? e.preventDefault() : e.returnValue = !1; - } - u(ae, "e_preventDefault"); - function Bn(e) { - e.stopPropagation ? e.stopPropagation() : e.cancelBubble = !0; - } - u(Bn, "e_stopPropagation"); - function Ci(e) { - return e.defaultPrevented != null ? e.defaultPrevented : e.returnValue == !1; - } - u(Ci, "e_defaultPrevented"); - function Qt(e) { - ae(e), Bn(e); - } - u(Qt, "e_stop"); - function wi(e) { - return e.target || e.srcElement; - } - u(wi, "e_target"); - function zn(e) { - var t = e.which; - return t == null && (e.button & 1 ? t = 1 : e.button & 2 ? t = 3 : e.button & 4 && (t = 2)), me && e.ctrlKey && t == 1 && (t = 3), t; - } - u(zn, "e_button"); - var ea = function () { - if (O && I < 9) return !1; - var e = T("div"); - return "draggable" in e || "dragDrop" in e; - }(), - Si; - function ta(e) { - if (Si == null) { - var t = T("span", "​"); - ve(e, T("span", [t, document.createTextNode("x")])), e.firstChild.offsetHeight != 0 && (Si = t.offsetWidth <= 1 && t.offsetHeight > 2 && !(O && I < 8)); - } - var i = Si ? T("span", "​") : T("span", " ", null, "display: inline-block; width: 1px; margin-right: -1px"); - return i.setAttribute("cm-text", ""), i; - } - u(ta, "zeroWidthElement"); - var Li; - function ra(e) { - if (Li != null) return Li; - var t = ve(e, document.createTextNode("AخA")), - i = rt(t, 0, 1).getBoundingClientRect(), - r = rt(t, 1, 2).getBoundingClientRect(); - return Ue(e), !i || i.left == i.right ? !1 : Li = r.right - i.right < 3; - } - u(ra, "hasBadBidiRects"); - var ki = ` - -b`.split(/\n/).length != 3 ? function (e) { - for (var t = 0, i = [], r = e.length; t <= r;) { - var n = e.indexOf(` -`, t); - n == -1 && (n = e.length); - var l = e.slice(t, e.charAt(n - 1) == "\r" ? n - 1 : n), - o = l.indexOf("\r"); - o != -1 ? (i.push(l.slice(0, o)), t += o + 1) : (i.push(l), t = n + 1); - } - return i; - } : function (e) { - return e.split(/\r\n?|\n/); - }, - ia = window.getSelection ? function (e) { - try { - return e.selectionStart != e.selectionEnd; - } catch { - return !1; - } - } : function (e) { - var t; - try { - t = e.ownerDocument.selection.createRange(); - } catch {} - return !t || t.parentElement() != e ? !1 : t.compareEndPoints("StartToEnd", t) != 0; - }, - na = function () { - var e = T("div"); - return "oncopy" in e ? !0 : (e.setAttribute("oncopy", "return;"), typeof e.oncopy == "function"); - }(), - Ti = null; - function la(e) { - if (Ti != null) return Ti; - var t = ve(e, T("span", "x")), - i = t.getBoundingClientRect(), - r = rt(t, 0, 1).getBoundingClientRect(); - return Ti = Math.abs(i.left - r.left) > 1; - } - u(la, "hasBadZoomedRects"); - var Mi = {}, - Ct = {}; - function oa(e, t) { - arguments.length > 2 && (t.dependencies = Array.prototype.slice.call(arguments, 2)), Mi[e] = t; - } - u(oa, "defineMode"); - function aa(e, t) { - Ct[e] = t; - } - u(aa, "defineMIME"); - function Hr(e) { - if (typeof e == "string" && Ct.hasOwnProperty(e)) e = Ct[e];else if (e && typeof e.name == "string" && Ct.hasOwnProperty(e.name)) { - var t = Ct[e.name]; - typeof t == "string" && (t = { - name: t - }), e = Fn(t, e), e.name = t.name; - } else { - if (typeof e == "string" && /^[\w\-]+\/[\w\-]+\+xml$/.test(e)) return Hr("application/xml"); - if (typeof e == "string" && /^[\w\-]+\/[\w\-]+\+json$/.test(e)) return Hr("application/json"); - } - return typeof e == "string" ? { - name: e - } : e || { - name: "null" - }; - } - u(Hr, "resolveMode"); - function Di(e, t) { - t = Hr(t); - var i = Mi[t.name]; - if (!i) return Di(e, "text/plain"); - var r = i(e, t); - if (wt.hasOwnProperty(t.name)) { - var n = wt[t.name]; - for (var l in n) n.hasOwnProperty(l) && (r.hasOwnProperty(l) && (r["_" + l] = r[l]), r[l] = n[l]); - } - if (r.name = t.name, t.helperType && (r.helperType = t.helperType), t.modeProps) for (var o in t.modeProps) r[o] = t.modeProps[o]; - return r; - } - u(Di, "getMode"); - var wt = {}; - function sa(e, t) { - var i = wt.hasOwnProperty(e) ? wt[e] : wt[e] = {}; - nt(t, i); - } - u(sa, "extendMode"); - function lt(e, t) { - if (t === !0) return t; - if (e.copyState) return e.copyState(t); - var i = {}; - for (var r in t) { - var n = t[r]; - n instanceof Array && (n = n.concat([])), i[r] = n; - } - return i; - } - u(lt, "copyState"); - function Ni(e, t) { - for (var i; e.innerMode && (i = e.innerMode(t), !(!i || i.mode == e));) t = i.state, e = i.mode; - return i || { - mode: e, - state: t - }; - } - u(Ni, "innerMode"); - function Gn(e, t, i) { - return e.startState ? e.startState(t, i) : !0; - } - u(Gn, "startState"); - var K = u(function (e, t, i) { - this.pos = this.start = 0, this.string = e, this.tabSize = t || 8, this.lastColumnPos = this.lastColumnValue = 0, this.lineStart = 0, this.lineOracle = i; - }, "StringStream"); - K.prototype.eol = function () { - return this.pos >= this.string.length; - }, K.prototype.sol = function () { - return this.pos == this.lineStart; - }, K.prototype.peek = function () { - return this.string.charAt(this.pos) || void 0; - }, K.prototype.next = function () { - if (this.pos < this.string.length) return this.string.charAt(this.pos++); - }, K.prototype.eat = function (e) { - var t = this.string.charAt(this.pos), - i; - if (typeof e == "string" ? i = t == e : i = t && (e.test ? e.test(t) : e(t)), i) return ++this.pos, t; - }, K.prototype.eatWhile = function (e) { - for (var t = this.pos; this.eat(e);); - return this.pos > t; - }, K.prototype.eatSpace = function () { - for (var e = this.pos; /[\s\u00a0]/.test(this.string.charAt(this.pos));) ++this.pos; - return this.pos > e; - }, K.prototype.skipToEnd = function () { - this.pos = this.string.length; - }, K.prototype.skipTo = function (e) { - var t = this.string.indexOf(e, this.pos); - if (t > -1) return this.pos = t, !0; - }, K.prototype.backUp = function (e) { - this.pos -= e; - }, K.prototype.column = function () { - return this.lastColumnPos < this.start && (this.lastColumnValue = xe(this.string, this.start, this.tabSize, this.lastColumnPos, this.lastColumnValue), this.lastColumnPos = this.start), this.lastColumnValue - (this.lineStart ? xe(this.string, this.lineStart, this.tabSize) : 0); - }, K.prototype.indentation = function () { - return xe(this.string, null, this.tabSize) - (this.lineStart ? xe(this.string, this.lineStart, this.tabSize) : 0); - }, K.prototype.match = function (e, t, i) { - if (typeof e == "string") { - var r = u(function (o) { - return i ? o.toLowerCase() : o; - }, "cased"), - n = this.string.substr(this.pos, e.length); - if (r(n) == r(e)) return t !== !1 && (this.pos += e.length), !0; - } else { - var l = this.string.slice(this.pos).match(e); - return l && l.index > 0 ? null : (l && t !== !1 && (this.pos += l[0].length), l); - } - }, K.prototype.current = function () { - return this.string.slice(this.start, this.pos); - }, K.prototype.hideFirstChars = function (e, t) { - this.lineStart += e; - try { - return t(); - } finally { - this.lineStart -= e; - } - }, K.prototype.lookAhead = function (e) { - var t = this.lineOracle; - return t && t.lookAhead(e); - }, K.prototype.baseToken = function () { - var e = this.lineOracle; - return e && e.baseToken(this.pos); - }; - function S(e, t) { - if (t -= e.first, t < 0 || t >= e.size) throw new Error("There is no line " + (t + e.first) + " in the document."); - for (var i = e; !i.lines;) for (var r = 0;; ++r) { - var n = i.children[r], - l = n.chunkSize(); - if (t < l) { - i = n; - break; - } - t -= l; - } - return i.lines[t]; - } - u(S, "getLine"); - function ot(e, t, i) { - var r = [], - n = t.line; - return e.iter(t.line, i.line + 1, function (l) { - var o = l.text; - n == i.line && (o = o.slice(0, i.ch)), n == t.line && (o = o.slice(t.ch)), r.push(o), ++n; - }), r; - } - u(ot, "getBetween"); - function Ai(e, t, i) { - var r = []; - return e.iter(t, i, function (n) { - r.push(n.text); - }), r; - } - u(Ai, "getLines"); - function De(e, t) { - var i = t - e.height; - if (i) for (var r = e; r; r = r.parent) r.height += i; - } - u(De, "updateLineHeight"); - function F(e) { - if (e.parent == null) return null; - for (var t = e.parent, i = ee(t.lines, e), r = t.parent; r; t = r, r = r.parent) for (var n = 0; r.children[n] != t; ++n) i += r.children[n].chunkSize(); - return i + t.first; - } - u(F, "lineNo"); - function at(e, t) { - var i = e.first; - e: do { - for (var r = 0; r < e.children.length; ++r) { - var n = e.children[r], - l = n.height; - if (t < l) { - e = n; - continue e; - } - t -= l, i += n.chunkSize(); - } - return i; - } while (!e.lines); - for (var o = 0; o < e.lines.length; ++o) { - var a = e.lines[o], - s = a.height; - if (t < s) break; - t -= s; - } - return i + o; - } - u(at, "lineAtHeight"); - function Jt(e, t) { - return t >= e.first && t < e.first + e.size; - } - u(Jt, "isLine"); - function Oi(e, t) { - return String(e.lineNumberFormatter(t + e.firstLineNumber)); - } - u(Oi, "lineNumberFor"); - function y(e, t, i) { - if (i === void 0 && (i = null), !(this instanceof y)) return new y(e, t, i); - this.line = e, this.ch = t, this.sticky = i; - } - u(y, "Pos"); - function D(e, t) { - return e.line - t.line || e.ch - t.ch; - } - u(D, "cmp"); - function Wi(e, t) { - return e.sticky == t.sticky && D(e, t) == 0; - } - u(Wi, "equalCursorPos"); - function Hi(e) { - return y(e.line, e.ch); - } - u(Hi, "copyPos"); - function Fr(e, t) { - return D(e, t) < 0 ? t : e; - } - u(Fr, "maxPos"); - function Pr(e, t) { - return D(e, t) < 0 ? e : t; - } - u(Pr, "minPos"); - function Un(e, t) { - return Math.max(e.first, Math.min(t, e.first + e.size - 1)); - } - u(Un, "clipLine"); - function N(e, t) { - if (t.line < e.first) return y(e.first, 0); - var i = e.first + e.size - 1; - return t.line > i ? y(i, S(e, i).text.length) : ua(t, S(e, t.line).text.length); - } - u(N, "clipPos"); - function ua(e, t) { - var i = e.ch; - return i == null || i > t ? y(e.line, t) : i < 0 ? y(e.line, 0) : e; - } - u(ua, "clipToLen"); - function Kn(e, t) { - for (var i = [], r = 0; r < t.length; r++) i[r] = N(e, t[r]); - return i; - } - u(Kn, "clipPosArray"); - var Er = u(function (e, t) { - this.state = e, this.lookAhead = t; - }, "SavedContext"), - Ne = u(function (e, t, i, r) { - this.state = t, this.doc = e, this.line = i, this.maxLookAhead = r || 0, this.baseTokens = null, this.baseTokenPos = 1; - }, "Context"); - Ne.prototype.lookAhead = function (e) { - var t = this.doc.getLine(this.line + e); - return t != null && e > this.maxLookAhead && (this.maxLookAhead = e), t; - }, Ne.prototype.baseToken = function (e) { - if (!this.baseTokens) return null; - for (; this.baseTokens[this.baseTokenPos] <= e;) this.baseTokenPos += 2; - var t = this.baseTokens[this.baseTokenPos + 1]; - return { - type: t && t.replace(/( |^)overlay .*/, ""), - size: this.baseTokens[this.baseTokenPos] - e - }; - }, Ne.prototype.nextLine = function () { - this.line++, this.maxLookAhead > 0 && this.maxLookAhead--; - }, Ne.fromSaved = function (e, t, i) { - return t instanceof Er ? new Ne(e, lt(e.mode, t.state), i, t.lookAhead) : new Ne(e, lt(e.mode, t), i); - }, Ne.prototype.save = function (e) { - var t = e !== !1 ? lt(this.doc.mode, this.state) : this.state; - return this.maxLookAhead > 0 ? new Er(t, this.maxLookAhead) : t; - }; - function _n(e, t, i, r) { - var n = [e.state.modeGen], - l = {}; - Jn(e, t.text, e.doc.mode, i, function (f, h) { - return n.push(f, h); - }, l, r); - for (var o = i.state, a = u(function (f) { - i.baseTokens = n; - var h = e.state.overlays[f], - c = 1, - p = 0; - i.state = !0, Jn(e, t.text, h.mode, i, function (d, v) { - for (var g = c; p < d;) { - var m = n[c]; - m > d && n.splice(c, 1, d, n[c + 1], m), c += 2, p = Math.min(d, m); - } - if (v) if (h.opaque) n.splice(g, c - g, d, "overlay " + v), c = g + 2;else for (; g < c; g += 2) { - var b = n[g + 1]; - n[g + 1] = (b ? b + " " : "") + "overlay " + v; - } - }, l), i.state = o, i.baseTokens = null, i.baseTokenPos = 1; - }, "loop"), s = 0; s < e.state.overlays.length; ++s) a(s); - return { - styles: n, - classes: l.bgClass || l.textClass ? l : null - }; - } - u(_n, "highlightLine"); - function Xn(e, t, i) { - if (!t.styles || t.styles[0] != e.state.modeGen) { - var r = jt(e, F(t)), - n = t.text.length > e.options.maxHighlightLength && lt(e.doc.mode, r.state), - l = _n(e, t, r); - n && (r.state = n), t.stateAfter = r.save(!n), t.styles = l.styles, l.classes ? t.styleClasses = l.classes : t.styleClasses && (t.styleClasses = null), i === e.doc.highlightFrontier && (e.doc.modeFrontier = Math.max(e.doc.modeFrontier, ++e.doc.highlightFrontier)); - } - return t.styles; - } - u(Xn, "getLineStyles"); - function jt(e, t, i) { - var r = e.doc, - n = e.display; - if (!r.mode.startState) return new Ne(r, !0, t); - var l = fa(e, t, i), - o = l > r.first && S(r, l - 1).stateAfter, - a = o ? Ne.fromSaved(r, o, l) : new Ne(r, Gn(r.mode), l); - return r.iter(l, t, function (s) { - Fi(e, s.text, a); - var f = a.line; - s.stateAfter = f == t - 1 || f % 5 == 0 || f >= n.viewFrom && f < n.viewTo ? a.save() : null, a.nextLine(); - }), i && (r.modeFrontier = a.line), a; - } - u(jt, "getContextBefore"); - function Fi(e, t, i, r) { - var n = e.doc.mode, - l = new K(t, e.options.tabSize, i); - for (l.start = l.pos = r || 0, t == "" && Yn(n, i.state); !l.eol();) Pi(n, l, i.state), l.start = l.pos; - } - u(Fi, "processLine"); - function Yn(e, t) { - if (e.blankLine) return e.blankLine(t); - if (e.innerMode) { - var i = Ni(e, t); - if (i.mode.blankLine) return i.mode.blankLine(i.state); - } - } - u(Yn, "callBlankLine"); - function Pi(e, t, i, r) { - for (var n = 0; n < 10; n++) { - r && (r[0] = Ni(e, i).mode); - var l = e.token(t, i); - if (t.pos > t.start) return l; - } - throw new Error("Mode " + e.name + " failed to advance stream."); - } - u(Pi, "readToken"); - var qn = u(function (e, t, i) { - this.start = e.start, this.end = e.pos, this.string = e.current(), this.type = t || null, this.state = i; - }, "Token"); - function Zn(e, t, i, r) { - var n = e.doc, - l = n.mode, - o; - t = N(n, t); - var a = S(n, t.line), - s = jt(e, t.line, i), - f = new K(a.text, e.options.tabSize, s), - h; - for (r && (h = []); (r || f.pos < t.ch) && !f.eol();) f.start = f.pos, o = Pi(l, f, s.state), r && h.push(new qn(f, o, lt(n.mode, s.state))); - return r ? h : new qn(f, o, s.state); - } - u(Zn, "takeToken"); - function Qn(e, t) { - if (e) for (;;) { - var i = e.match(/(?:^|\s+)line-(background-)?(\S+)/); - if (!i) break; - e = e.slice(0, i.index) + e.slice(i.index + i[0].length); - var r = i[1] ? "bgClass" : "textClass"; - t[r] == null ? t[r] = i[2] : new RegExp("(?:^|\\s)" + i[2] + "(?:$|\\s)").test(t[r]) || (t[r] += " " + i[2]); - } - return e; - } - u(Qn, "extractLineClasses"); - function Jn(e, t, i, r, n, l, o) { - var a = i.flattenSpans; - a == null && (a = e.options.flattenSpans); - var s = 0, - f = null, - h = new K(t, e.options.tabSize, r), - c, - p = e.options.addModeClass && [null]; - for (t == "" && Qn(Yn(i, r.state), l); !h.eol();) { - if (h.pos > e.options.maxHighlightLength ? (a = !1, o && Fi(e, t, r, h.pos), h.pos = t.length, c = null) : c = Qn(Pi(i, h, r.state, p), l), p) { - var d = p[0].name; - d && (c = "m-" + (c ? d + " " + c : d)); - } - if (!a || f != c) { - for (; s < h.start;) s = Math.min(h.start, s + 5e3), n(s, f); - f = c; - } - h.start = h.pos; - } - for (; s < h.pos;) { - var v = Math.min(h.pos, s + 5e3); - n(v, f), s = v; - } - } - u(Jn, "runMode"); - function fa(e, t, i) { - for (var r, n, l = e.doc, o = i ? -1 : t - (e.doc.mode.innerMode ? 1e3 : 100), a = t; a > o; --a) { - if (a <= l.first) return l.first; - var s = S(l, a - 1), - f = s.stateAfter; - if (f && (!i || a + (f instanceof Er ? f.lookAhead : 0) <= l.modeFrontier)) return a; - var h = xe(s.text, null, e.options.tabSize); - (n == null || r > h) && (n = a - 1, r = h); - } - return n; - } - u(fa, "findStartLine"); - function ha(e, t) { - if (e.modeFrontier = Math.min(e.modeFrontier, t), !(e.highlightFrontier < t - 10)) { - for (var i = e.first, r = t - 1; r > i; r--) { - var n = S(e, r).stateAfter; - if (n && (!(n instanceof Er) || r + n.lookAhead < t)) { - i = r + 1; - break; - } - } - e.highlightFrontier = Math.min(e.highlightFrontier, i); - } - } - u(ha, "retreatFrontier"); - var jn = !1, - Ee = !1; - function ca() { - jn = !0; - } - u(ca, "seeReadOnlySpans"); - function da() { - Ee = !0; - } - u(da, "seeCollapsedSpans"); - function Ir(e, t, i) { - this.marker = e, this.from = t, this.to = i; - } - u(Ir, "MarkedSpan"); - function Vt(e, t) { - if (e) for (var i = 0; i < e.length; ++i) { - var r = e[i]; - if (r.marker == t) return r; - } - } - u(Vt, "getMarkedSpanFor"); - function pa(e, t) { - for (var i, r = 0; r < e.length; ++r) e[r] != t && (i || (i = [])).push(e[r]); - return i; - } - u(pa, "removeMarkedSpan"); - function va(e, t, i) { - var r = i && window.WeakSet && (i.markedSpans || (i.markedSpans = new WeakSet())); - r && e.markedSpans && r.has(e.markedSpans) ? e.markedSpans.push(t) : (e.markedSpans = e.markedSpans ? e.markedSpans.concat([t]) : [t], r && r.add(e.markedSpans)), t.marker.attachLine(e); - } - u(va, "addMarkedSpan"); - function ga(e, t, i) { - var r; - if (e) for (var n = 0; n < e.length; ++n) { - var l = e[n], - o = l.marker, - a = l.from == null || (o.inclusiveLeft ? l.from <= t : l.from < t); - if (a || l.from == t && o.type == "bookmark" && (!i || !l.marker.insertLeft)) { - var s = l.to == null || (o.inclusiveRight ? l.to >= t : l.to > t); - (r || (r = [])).push(new Ir(o, l.from, s ? null : l.to)); - } - } - return r; - } - u(ga, "markedSpansBefore"); - function ya(e, t, i) { - var r; - if (e) for (var n = 0; n < e.length; ++n) { - var l = e[n], - o = l.marker, - a = l.to == null || (o.inclusiveRight ? l.to >= t : l.to > t); - if (a || l.from == t && o.type == "bookmark" && (!i || l.marker.insertLeft)) { - var s = l.from == null || (o.inclusiveLeft ? l.from <= t : l.from < t); - (r || (r = [])).push(new Ir(o, s ? null : l.from - t, l.to == null ? null : l.to - t)); - } - } - return r; - } - u(ya, "markedSpansAfter"); - function Ei(e, t) { - if (t.full) return null; - var i = Jt(e, t.from.line) && S(e, t.from.line).markedSpans, - r = Jt(e, t.to.line) && S(e, t.to.line).markedSpans; - if (!i && !r) return null; - var n = t.from.ch, - l = t.to.ch, - o = D(t.from, t.to) == 0, - a = ga(i, n, o), - s = ya(r, l, o), - f = t.text.length == 1, - h = H(t.text).length + (f ? n : 0); - if (a) for (var c = 0; c < a.length; ++c) { - var p = a[c]; - if (p.to == null) { - var d = Vt(s, p.marker); - d ? f && (p.to = d.to == null ? null : d.to + h) : p.to = n; - } - } - if (s) for (var v = 0; v < s.length; ++v) { - var g = s[v]; - if (g.to != null && (g.to += h), g.from == null) { - var m = Vt(a, g.marker); - m || (g.from = h, f && (a || (a = [])).push(g)); - } else g.from += h, f && (a || (a = [])).push(g); - } - a && (a = Vn(a)), s && s != a && (s = Vn(s)); - var b = [a]; - if (!f) { - var C = t.text.length - 2, - x; - if (C > 0 && a) for (var w = 0; w < a.length; ++w) a[w].to == null && (x || (x = [])).push(new Ir(a[w].marker, null, null)); - for (var k = 0; k < C; ++k) b.push(x); - b.push(s); - } - return b; - } - u(Ei, "stretchSpansOverChange"); - function Vn(e) { - for (var t = 0; t < e.length; ++t) { - var i = e[t]; - i.from != null && i.from == i.to && i.marker.clearWhenEmpty !== !1 && e.splice(t--, 1); - } - return e.length ? e : null; - } - u(Vn, "clearEmptySpans"); - function ma(e, t, i) { - var r = null; - if (e.iter(t.line, i.line + 1, function (d) { - if (d.markedSpans) for (var v = 0; v < d.markedSpans.length; ++v) { - var g = d.markedSpans[v].marker; - g.readOnly && (!r || ee(r, g) == -1) && (r || (r = [])).push(g); - } - }), !r) return null; - for (var n = [{ - from: t, - to: i - }], l = 0; l < r.length; ++l) for (var o = r[l], a = o.find(0), s = 0; s < n.length; ++s) { - var f = n[s]; - if (!(D(f.to, a.from) < 0 || D(f.from, a.to) > 0)) { - var h = [s, 1], - c = D(f.from, a.from), - p = D(f.to, a.to); - (c < 0 || !o.inclusiveLeft && !c) && h.push({ - from: f.from, - to: a.from - }), (p > 0 || !o.inclusiveRight && !p) && h.push({ - from: a.to, - to: f.to - }), n.splice.apply(n, h), s += h.length - 3; - } - } - return n; - } - u(ma, "removeReadOnlyRanges"); - function $n(e) { - var t = e.markedSpans; - if (t) { - for (var i = 0; i < t.length; ++i) t[i].marker.detachLine(e); - e.markedSpans = null; - } - } - u($n, "detachMarkedSpans"); - function el(e, t) { - if (t) { - for (var i = 0; i < t.length; ++i) t[i].marker.attachLine(e); - e.markedSpans = t; - } - } - u(el, "attachMarkedSpans"); - function Rr(e) { - return e.inclusiveLeft ? -1 : 0; - } - u(Rr, "extraLeft"); - function Br(e) { - return e.inclusiveRight ? 1 : 0; - } - u(Br, "extraRight"); - function Ii(e, t) { - var i = e.lines.length - t.lines.length; - if (i != 0) return i; - var r = e.find(), - n = t.find(), - l = D(r.from, n.from) || Rr(e) - Rr(t); - if (l) return -l; - var o = D(r.to, n.to) || Br(e) - Br(t); - return o || t.id - e.id; - } - u(Ii, "compareCollapsedMarkers"); - function tl(e, t) { - var i = Ee && e.markedSpans, - r; - if (i) for (var n = void 0, l = 0; l < i.length; ++l) n = i[l], n.marker.collapsed && (t ? n.from : n.to) == null && (!r || Ii(r, n.marker) < 0) && (r = n.marker); - return r; - } - u(tl, "collapsedSpanAtSide"); - function rl(e) { - return tl(e, !0); - } - u(rl, "collapsedSpanAtStart"); - function zr(e) { - return tl(e, !1); - } - u(zr, "collapsedSpanAtEnd"); - function ba(e, t) { - var i = Ee && e.markedSpans, - r; - if (i) for (var n = 0; n < i.length; ++n) { - var l = i[n]; - l.marker.collapsed && (l.from == null || l.from < t) && (l.to == null || l.to > t) && (!r || Ii(r, l.marker) < 0) && (r = l.marker); - } - return r; - } - u(ba, "collapsedSpanAround"); - function il(e, t, i, r, n) { - var l = S(e, t), - o = Ee && l.markedSpans; - if (o) for (var a = 0; a < o.length; ++a) { - var s = o[a]; - if (s.marker.collapsed) { - var f = s.marker.find(0), - h = D(f.from, i) || Rr(s.marker) - Rr(n), - c = D(f.to, r) || Br(s.marker) - Br(n); - if (!(h >= 0 && c <= 0 || h <= 0 && c >= 0) && (h <= 0 && (s.marker.inclusiveRight && n.inclusiveLeft ? D(f.to, i) >= 0 : D(f.to, i) > 0) || h >= 0 && (s.marker.inclusiveRight && n.inclusiveLeft ? D(f.from, r) <= 0 : D(f.from, r) < 0))) return !0; - } - } - } - u(il, "conflictingCollapsedRange"); - function Se(e) { - for (var t; t = rl(e);) e = t.find(-1, !0).line; - return e; - } - u(Se, "visualLine"); - function xa(e) { - for (var t; t = zr(e);) e = t.find(1, !0).line; - return e; - } - u(xa, "visualLineEnd"); - function Ca(e) { - for (var t, i; t = zr(e);) e = t.find(1, !0).line, (i || (i = [])).push(e); - return i; - } - u(Ca, "visualLineContinued"); - function Ri(e, t) { - var i = S(e, t), - r = Se(i); - return i == r ? t : F(r); - } - u(Ri, "visualLineNo"); - function nl(e, t) { - if (t > e.lastLine()) return t; - var i = S(e, t), - r; - if (!Xe(e, i)) return t; - for (; r = zr(i);) i = r.find(1, !0).line; - return F(i) + 1; - } - u(nl, "visualLineEndNo"); - function Xe(e, t) { - var i = Ee && t.markedSpans; - if (i) { - for (var r = void 0, n = 0; n < i.length; ++n) if (r = i[n], !!r.marker.collapsed) { - if (r.from == null) return !0; - if (!r.marker.widgetNode && r.from == 0 && r.marker.inclusiveLeft && Bi(e, t, r)) return !0; - } - } - } - u(Xe, "lineIsHidden"); - function Bi(e, t, i) { - if (i.to == null) { - var r = i.marker.find(1, !0); - return Bi(e, r.line, Vt(r.line.markedSpans, i.marker)); - } - if (i.marker.inclusiveRight && i.to == t.text.length) return !0; - for (var n = void 0, l = 0; l < t.markedSpans.length; ++l) if (n = t.markedSpans[l], n.marker.collapsed && !n.marker.widgetNode && n.from == i.to && (n.to == null || n.to != i.from) && (n.marker.inclusiveLeft || i.marker.inclusiveRight) && Bi(e, t, n)) return !0; - } - u(Bi, "lineIsHiddenInner"); - function Ie(e) { - e = Se(e); - for (var t = 0, i = e.parent, r = 0; r < i.lines.length; ++r) { - var n = i.lines[r]; - if (n == e) break; - t += n.height; - } - for (var l = i.parent; l; i = l, l = i.parent) for (var o = 0; o < l.children.length; ++o) { - var a = l.children[o]; - if (a == i) break; - t += a.height; - } - return t; - } - u(Ie, "heightAtLine"); - function Gr(e) { - if (e.height == 0) return 0; - for (var t = e.text.length, i, r = e; i = rl(r);) { - var n = i.find(0, !0); - r = n.from.line, t += n.from.ch - n.to.ch; - } - for (r = e; i = zr(r);) { - var l = i.find(0, !0); - t -= r.text.length - l.from.ch, r = l.to.line, t += r.text.length - l.to.ch; - } - return t; - } - u(Gr, "lineLength"); - function zi(e) { - var t = e.display, - i = e.doc; - t.maxLine = S(i, i.first), t.maxLineLength = Gr(t.maxLine), t.maxLineChanged = !0, i.iter(function (r) { - var n = Gr(r); - n > t.maxLineLength && (t.maxLineLength = n, t.maxLine = r); - }); - } - u(zi, "findMaxLine"); - var St = u(function (e, t, i) { - this.text = e, el(this, t), this.height = i ? i(this) : 1; - }, "Line"); - St.prototype.lineNo = function () { - return F(this); - }, xt(St); - function wa(e, t, i, r) { - e.text = t, e.stateAfter && (e.stateAfter = null), e.styles && (e.styles = null), e.order != null && (e.order = null), $n(e), el(e, i); - var n = r ? r(e) : 1; - n != e.height && De(e, n); - } - u(wa, "updateLine"); - function Sa(e) { - e.parent = null, $n(e); - } - u(Sa, "cleanUpLine"); - var La = {}, - ka = {}; - function ll(e, t) { - if (!e || /^\s*$/.test(e)) return null; - var i = t.addModeClass ? ka : La; - return i[e] || (i[e] = e.replace(/\S+/g, "cm-$&")); - } - u(ll, "interpretTokenStyle"); - function ol(e, t) { - var i = bt("span", null, null, ne ? "padding-right: .1px" : null), - r = { - pre: bt("pre", [i], "CodeMirror-line"), - content: i, - col: 0, - pos: 0, - cm: e, - trailingSpace: !1, - splitSpaces: e.getOption("lineWrapping") - }; - t.measure = {}; - for (var n = 0; n <= (t.rest ? t.rest.length : 0); n++) { - var l = n ? t.rest[n - 1] : t.line, - o = void 0; - r.pos = 0, r.addToken = Ma, ra(e.display.measure) && (o = Pe(l, e.doc.direction)) && (r.addToken = Na(r.addToken, o)), r.map = []; - var a = t != e.display.externalMeasured && F(l); - Aa(l, r, Xn(e, l, a)), l.styleClasses && (l.styleClasses.bgClass && (r.bgClass = di(l.styleClasses.bgClass, r.bgClass || "")), l.styleClasses.textClass && (r.textClass = di(l.styleClasses.textClass, r.textClass || ""))), r.map.length == 0 && r.map.push(0, 0, r.content.appendChild(ta(e.display.measure))), n == 0 ? (t.measure.map = r.map, t.measure.cache = {}) : ((t.measure.maps || (t.measure.maps = [])).push(r.map), (t.measure.caches || (t.measure.caches = [])).push({})); - } - if (ne) { - var s = r.content.lastChild; - (/\bcm-tab\b/.test(s.className) || s.querySelector && s.querySelector(".cm-tab")) && (r.content.className = "cm-tab-wrap-hack"); - } - return U(e, "renderLine", e, t.line, r.pre), r.pre.className && (r.textClass = di(r.pre.className, r.textClass || "")), r; - } - u(ol, "buildLineContent"); - function Ta(e) { - var t = T("span", "•", "cm-invalidchar"); - return t.title = "\\u" + e.charCodeAt(0).toString(16), t.setAttribute("aria-label", t.title), t; - } - u(Ta, "defaultSpecialCharPlaceholder"); - function Ma(e, t, i, r, n, l, o) { - if (t) { - var a = e.splitSpaces ? Da(t, e.trailingSpace) : t, - s = e.cm.state.specialChars, - f = !1, - h; - if (!s.test(t)) e.col += t.length, h = document.createTextNode(a), e.map.push(e.pos, e.pos + t.length, h), O && I < 9 && (f = !0), e.pos += t.length;else { - h = document.createDocumentFragment(); - for (var c = 0;;) { - s.lastIndex = c; - var p = s.exec(t), - d = p ? p.index - c : t.length - c; - if (d) { - var v = document.createTextNode(a.slice(c, c + d)); - O && I < 9 ? h.appendChild(T("span", [v])) : h.appendChild(v), e.map.push(e.pos, e.pos + d, v), e.col += d, e.pos += d; - } - if (!p) break; - c += d + 1; - var g = void 0; - if (p[0] == " ") { - var m = e.cm.options.tabSize, - b = m - e.col % m; - g = h.appendChild(T("span", yi(b), "cm-tab")), g.setAttribute("role", "presentation"), g.setAttribute("cm-text", " "), e.col += b; - } else p[0] == "\r" || p[0] == ` -` ? (g = h.appendChild(T("span", p[0] == "\r" ? "␍" : "␤", "cm-invalidchar")), g.setAttribute("cm-text", p[0]), e.col += 1) : (g = e.cm.options.specialCharPlaceholder(p[0]), g.setAttribute("cm-text", p[0]), O && I < 9 ? h.appendChild(T("span", [g])) : h.appendChild(g), e.col += 1); - e.map.push(e.pos, e.pos + 1, g), e.pos++; - } - } - if (e.trailingSpace = a.charCodeAt(t.length - 1) == 32, i || r || n || f || l || o) { - var C = i || ""; - r && (C += r), n && (C += n); - var x = T("span", [h], C, l); - if (o) for (var w in o) o.hasOwnProperty(w) && w != "style" && w != "class" && x.setAttribute(w, o[w]); - return e.content.appendChild(x); - } - e.content.appendChild(h); - } - } - u(Ma, "buildToken"); - function Da(e, t) { - if (e.length > 1 && !/ /.test(e)) return e; - for (var i = t, r = "", n = 0; n < e.length; n++) { - var l = e.charAt(n); - l == " " && i && (n == e.length - 1 || e.charCodeAt(n + 1) == 32) && (l = " "), r += l, i = l == " "; - } - return r; - } - u(Da, "splitSpaces"); - function Na(e, t) { - return function (i, r, n, l, o, a, s) { - n = n ? n + " cm-force-border" : "cm-force-border"; - for (var f = i.pos, h = f + r.length;;) { - for (var c = void 0, p = 0; p < t.length && (c = t[p], !(c.to > f && c.from <= f)); p++); - if (c.to >= h) return e(i, r, n, l, o, a, s); - e(i, r.slice(0, c.to - f), n, l, null, a, s), l = null, r = r.slice(c.to - f), f = c.to; - } - }; - } - u(Na, "buildTokenBadBidi"); - function al(e, t, i, r) { - var n = !r && i.widgetNode; - n && e.map.push(e.pos, e.pos + t, n), !r && e.cm.display.input.needsContentAttribute && (n || (n = e.content.appendChild(document.createElement("span"))), n.setAttribute("cm-marker", i.id)), n && (e.cm.display.input.setUneditable(n), e.content.appendChild(n)), e.pos += t, e.trailingSpace = !1; - } - u(al, "buildCollapsedSpan"); - function Aa(e, t, i) { - var r = e.markedSpans, - n = e.text, - l = 0; - if (!r) { - for (var o = 1; o < i.length; o += 2) t.addToken(t, n.slice(l, l = i[o]), ll(i[o + 1], t.cm.options)); - return; - } - for (var a = n.length, s = 0, f = 1, h = "", c, p, d = 0, v, g, m, b, C;;) { - if (d == s) { - v = g = m = p = "", C = null, b = null, d = 1 / 0; - for (var x = [], w = void 0, k = 0; k < r.length; ++k) { - var L = r[k], - A = L.marker; - if (A.type == "bookmark" && L.from == s && A.widgetNode) x.push(A);else if (L.from <= s && (L.to == null || L.to > s || A.collapsed && L.to == s && L.from == s)) { - if (L.to != null && L.to != s && d > L.to && (d = L.to, g = ""), A.className && (v += " " + A.className), A.css && (p = (p ? p + ";" : "") + A.css), A.startStyle && L.from == s && (m += " " + A.startStyle), A.endStyle && L.to == d && (w || (w = [])).push(A.endStyle, L.to), A.title && ((C || (C = {})).title = A.title), A.attributes) for (var E in A.attributes) (C || (C = {}))[E] = A.attributes[E]; - A.collapsed && (!b || Ii(b.marker, A) < 0) && (b = L); - } else L.from > s && d > L.from && (d = L.from); - } - if (w) for (var j = 0; j < w.length; j += 2) w[j + 1] == d && (g += " " + w[j]); - if (!b || b.from == s) for (var B = 0; B < x.length; ++B) al(t, 0, x[B]); - if (b && (b.from || 0) == s) { - if (al(t, (b.to == null ? a + 1 : b.to) - s, b.marker, b.from == null), b.to == null) return; - b.to == s && (b = !1); - } - } - if (s >= a) break; - for (var pe = Math.min(a, d);;) { - if (h) { - var fe = s + h.length; - if (!b) { - var _ = fe > pe ? h.slice(0, pe - s) : h; - t.addToken(t, _, c ? c + v : v, m, s + _.length == d ? g : "", p, C); - } - if (fe >= pe) { - h = h.slice(pe - s), s = pe; - break; - } - s = fe, m = ""; - } - h = n.slice(l, l = i[f++]), c = ll(i[f++], t.cm.options); - } - } - } - u(Aa, "insertLineContent"); - function sl(e, t, i) { - this.line = t, this.rest = Ca(t), this.size = this.rest ? F(H(this.rest)) - i + 1 : 1, this.node = this.text = null, this.hidden = Xe(e, t); - } - u(sl, "LineView"); - function Ur(e, t, i) { - for (var r = [], n, l = t; l < i; l = n) { - var o = new sl(e.doc, S(e.doc, l), l); - n = l + o.size, r.push(o); - } - return r; - } - u(Ur, "buildViewArray"); - var Lt = null; - function Oa(e) { - Lt ? Lt.ops.push(e) : e.ownsGroup = Lt = { - ops: [e], - delayedCallbacks: [] - }; - } - u(Oa, "pushOperation"); - function Wa(e) { - var t = e.delayedCallbacks, - i = 0; - do { - for (; i < t.length; i++) t[i].call(null); - for (var r = 0; r < e.ops.length; r++) { - var n = e.ops[r]; - if (n.cursorActivityHandlers) for (; n.cursorActivityCalled < n.cursorActivityHandlers.length;) n.cursorActivityHandlers[n.cursorActivityCalled++].call(null, n.cm); - } - } while (i < t.length); - } - u(Wa, "fireCallbacksForOps"); - function Ha(e, t) { - var i = e.ownsGroup; - if (i) try { - Wa(i); - } finally { - Lt = null, t(i); - } - } - u(Ha, "finishOperation"); - var $t = null; - function Z(e, t) { - var i = xi(e, t); - if (i.length) { - var r = Array.prototype.slice.call(arguments, 2), - n; - Lt ? n = Lt.delayedCallbacks : $t ? n = $t : (n = $t = [], setTimeout(Fa, 0)); - for (var l = u(function (a) { - n.push(function () { - return i[a].apply(null, r); - }); - }, "loop"), o = 0; o < i.length; ++o) l(o); - } - } - u(Z, "signalLater"); - function Fa() { - var e = $t; - $t = null; - for (var t = 0; t < e.length; ++t) e[t](); - } - u(Fa, "fireOrphanDelayed"); - function ul(e, t, i, r) { - for (var n = 0; n < t.changes.length; n++) { - var l = t.changes[n]; - l == "text" ? Ea(e, t) : l == "gutter" ? hl(e, t, i, r) : l == "class" ? Gi(e, t) : l == "widget" && Ia(e, t, r); - } - t.changes = null; - } - u(ul, "updateLineForChanges"); - function er(e) { - return e.node == e.text && (e.node = T("div", null, null, "position: relative"), e.text.parentNode && e.text.parentNode.replaceChild(e.node, e.text), e.node.appendChild(e.text), O && I < 8 && (e.node.style.zIndex = 2)), e.node; - } - u(er, "ensureLineWrapped"); - function Pa(e, t) { - var i = t.bgClass ? t.bgClass + " " + (t.line.bgClass || "") : t.line.bgClass; - if (i && (i += " CodeMirror-linebackground"), t.background) i ? t.background.className = i : (t.background.parentNode.removeChild(t.background), t.background = null);else if (i) { - var r = er(t); - t.background = r.insertBefore(T("div", null, i), r.firstChild), e.display.input.setUneditable(t.background); - } - } - u(Pa, "updateLineBackground"); - function fl(e, t) { - var i = e.display.externalMeasured; - return i && i.line == t.line ? (e.display.externalMeasured = null, t.measure = i.measure, i.built) : ol(e, t); - } - u(fl, "getLineContent"); - function Ea(e, t) { - var i = t.text.className, - r = fl(e, t); - t.text == t.node && (t.node = r.pre), t.text.parentNode.replaceChild(r.pre, t.text), t.text = r.pre, r.bgClass != t.bgClass || r.textClass != t.textClass ? (t.bgClass = r.bgClass, t.textClass = r.textClass, Gi(e, t)) : i && (t.text.className = i); - } - u(Ea, "updateLineText"); - function Gi(e, t) { - Pa(e, t), t.line.wrapClass ? er(t).className = t.line.wrapClass : t.node != t.text && (t.node.className = ""); - var i = t.textClass ? t.textClass + " " + (t.line.textClass || "") : t.line.textClass; - t.text.className = i || ""; - } - u(Gi, "updateLineClasses"); - function hl(e, t, i, r) { - if (t.gutter && (t.node.removeChild(t.gutter), t.gutter = null), t.gutterBackground && (t.node.removeChild(t.gutterBackground), t.gutterBackground = null), t.line.gutterClass) { - var n = er(t); - t.gutterBackground = T("div", null, "CodeMirror-gutter-background " + t.line.gutterClass, "left: " + (e.options.fixedGutter ? r.fixedPos : -r.gutterTotalWidth) + "px; width: " + r.gutterTotalWidth + "px"), e.display.input.setUneditable(t.gutterBackground), n.insertBefore(t.gutterBackground, t.text); - } - var l = t.line.gutterMarkers; - if (e.options.lineNumbers || l) { - var o = er(t), - a = t.gutter = T("div", null, "CodeMirror-gutter-wrapper", "left: " + (e.options.fixedGutter ? r.fixedPos : -r.gutterTotalWidth) + "px"); - if (a.setAttribute("aria-hidden", "true"), e.display.input.setUneditable(a), o.insertBefore(a, t.text), t.line.gutterClass && (a.className += " " + t.line.gutterClass), e.options.lineNumbers && (!l || !l["CodeMirror-linenumbers"]) && (t.lineNumber = a.appendChild(T("div", Oi(e.options, i), "CodeMirror-linenumber CodeMirror-gutter-elt", "left: " + r.gutterLeft["CodeMirror-linenumbers"] + "px; width: " + e.display.lineNumInnerWidth + "px"))), l) for (var s = 0; s < e.display.gutterSpecs.length; ++s) { - var f = e.display.gutterSpecs[s].className, - h = l.hasOwnProperty(f) && l[f]; - h && a.appendChild(T("div", [h], "CodeMirror-gutter-elt", "left: " + r.gutterLeft[f] + "px; width: " + r.gutterWidth[f] + "px")); - } - } - } - u(hl, "updateLineGutter"); - function Ia(e, t, i) { - t.alignable && (t.alignable = null); - for (var r = mt("CodeMirror-linewidget"), n = t.node.firstChild, l = void 0; n; n = l) l = n.nextSibling, r.test(n.className) && t.node.removeChild(n); - cl(e, t, i); - } - u(Ia, "updateLineWidgets"); - function Ra(e, t, i, r) { - var n = fl(e, t); - return t.text = t.node = n.pre, n.bgClass && (t.bgClass = n.bgClass), n.textClass && (t.textClass = n.textClass), Gi(e, t), hl(e, t, i, r), cl(e, t, r), t.node; - } - u(Ra, "buildLineElement"); - function cl(e, t, i) { - if (dl(e, t.line, t, i, !0), t.rest) for (var r = 0; r < t.rest.length; r++) dl(e, t.rest[r], t, i, !1); - } - u(cl, "insertLineWidgets"); - function dl(e, t, i, r, n) { - if (t.widgets) for (var l = er(i), o = 0, a = t.widgets; o < a.length; ++o) { - var s = a[o], - f = T("div", [s.node], "CodeMirror-linewidget" + (s.className ? " " + s.className : "")); - s.handleMouseEvents || f.setAttribute("cm-ignore-events", "true"), Ba(s, f, i, r), e.display.input.setUneditable(f), n && s.above ? l.insertBefore(f, i.gutter || i.text) : l.appendChild(f), Z(s, "redraw"); - } - } - u(dl, "insertLineWidgetsFor"); - function Ba(e, t, i, r) { - if (e.noHScroll) { - (i.alignable || (i.alignable = [])).push(t); - var n = r.wrapperWidth; - t.style.left = r.fixedPos + "px", e.coverGutter || (n -= r.gutterTotalWidth, t.style.paddingLeft = r.gutterTotalWidth + "px"), t.style.width = n + "px"; - } - e.coverGutter && (t.style.zIndex = 5, t.style.position = "relative", e.noHScroll || (t.style.marginLeft = -r.gutterTotalWidth + "px")); - } - u(Ba, "positionLineWidget"); - function tr(e) { - if (e.height != null) return e.height; - var t = e.doc.cm; - if (!t) return 0; - if (!Ke(document.body, e.node)) { - var i = "position: relative;"; - e.coverGutter && (i += "margin-left: -" + t.display.gutters.offsetWidth + "px;"), e.noHScroll && (i += "width: " + t.display.wrapper.clientWidth + "px;"), ve(t.display.measure, T("div", [e.node], null, i)); - } - return e.height = e.node.parentNode.offsetHeight; - } - u(tr, "widgetHeight"); - function Re(e, t) { - for (var i = wi(t); i != e.wrapper; i = i.parentNode) if (!i || i.nodeType == 1 && i.getAttribute("cm-ignore-events") == "true" || i.parentNode == e.sizer && i != e.mover) return !0; - } - u(Re, "eventInWidget"); - function Kr(e) { - return e.lineSpace.offsetTop; - } - u(Kr, "paddingTop"); - function Ui(e) { - return e.mover.offsetHeight - e.lineSpace.offsetHeight; - } - u(Ui, "paddingVert"); - function pl(e) { - if (e.cachedPaddingH) return e.cachedPaddingH; - var t = ve(e.measure, T("pre", "x", "CodeMirror-line-like")), - i = window.getComputedStyle ? window.getComputedStyle(t) : t.currentStyle, - r = { - left: parseInt(i.paddingLeft), - right: parseInt(i.paddingRight) - }; - return !isNaN(r.left) && !isNaN(r.right) && (e.cachedPaddingH = r), r; - } - u(pl, "paddingH"); - function Ae(e) { - return Wn - e.display.nativeBarWidth; - } - u(Ae, "scrollGap"); - function st(e) { - return e.display.scroller.clientWidth - Ae(e) - e.display.barWidth; - } - u(st, "displayWidth"); - function Ki(e) { - return e.display.scroller.clientHeight - Ae(e) - e.display.barHeight; - } - u(Ki, "displayHeight"); - function za(e, t, i) { - var r = e.options.lineWrapping, - n = r && st(e); - if (!t.measure.heights || r && t.measure.width != n) { - var l = t.measure.heights = []; - if (r) { - t.measure.width = n; - for (var o = t.text.firstChild.getClientRects(), a = 0; a < o.length - 1; a++) { - var s = o[a], - f = o[a + 1]; - Math.abs(s.bottom - f.bottom) > 2 && l.push((s.bottom + f.top) / 2 - i.top); - } - } - l.push(i.bottom - i.top); - } - } - u(za, "ensureLineHeights"); - function vl(e, t, i) { - if (e.line == t) return { - map: e.measure.map, - cache: e.measure.cache - }; - if (e.rest) { - for (var r = 0; r < e.rest.length; r++) if (e.rest[r] == t) return { - map: e.measure.maps[r], - cache: e.measure.caches[r] - }; - for (var n = 0; n < e.rest.length; n++) if (F(e.rest[n]) > i) return { - map: e.measure.maps[n], - cache: e.measure.caches[n], - before: !0 - }; - } - } - u(vl, "mapFromLineView"); - function Ga(e, t) { - t = Se(t); - var i = F(t), - r = e.display.externalMeasured = new sl(e.doc, t, i); - r.lineN = i; - var n = r.built = ol(e, r); - return r.text = n.pre, ve(e.display.lineMeasure, n.pre), r; - } - u(Ga, "updateExternalMeasurement"); - function gl(e, t, i, r) { - return Oe(e, kt(e, t), i, r); - } - u(gl, "measureChar"); - function _i(e, t) { - if (t >= e.display.viewFrom && t < e.display.viewTo) return e.display.view[ht(e, t)]; - var i = e.display.externalMeasured; - if (i && t >= i.lineN && t < i.lineN + i.size) return i; - } - u(_i, "findViewForLine"); - function kt(e, t) { - var i = F(t), - r = _i(e, i); - r && !r.text ? r = null : r && r.changes && (ul(e, r, i, Qi(e)), e.curOp.forceUpdate = !0), r || (r = Ga(e, t)); - var n = vl(r, t, i); - return { - line: t, - view: r, - rect: null, - map: n.map, - cache: n.cache, - before: n.before, - hasHeights: !1 - }; - } - u(kt, "prepareMeasureForLine"); - function Oe(e, t, i, r, n) { - t.before && (i = -1); - var l = i + (r || ""), - o; - return t.cache.hasOwnProperty(l) ? o = t.cache[l] : (t.rect || (t.rect = t.view.text.getBoundingClientRect()), t.hasHeights || (za(e, t.view, t.rect), t.hasHeights = !0), o = Ka(e, t, i, r), o.bogus || (t.cache[l] = o)), { - left: o.left, - right: o.right, - top: n ? o.rtop : o.top, - bottom: n ? o.rbottom : o.bottom - }; - } - u(Oe, "measureCharPrepared"); - var yl = { - left: 0, - right: 0, - top: 0, - bottom: 0 - }; - function ml(e, t, i) { - for (var r, n, l, o, a, s, f = 0; f < e.length; f += 3) if (a = e[f], s = e[f + 1], t < a ? (n = 0, l = 1, o = "left") : t < s ? (n = t - a, l = n + 1) : (f == e.length - 3 || t == s && e[f + 3] > t) && (l = s - a, n = l - 1, t >= s && (o = "right")), n != null) { - if (r = e[f + 2], a == s && i == (r.insertLeft ? "left" : "right") && (o = i), i == "left" && n == 0) for (; f && e[f - 2] == e[f - 3] && e[f - 1].insertLeft;) r = e[(f -= 3) + 2], o = "left"; - if (i == "right" && n == s - a) for (; f < e.length - 3 && e[f + 3] == e[f + 4] && !e[f + 5].insertLeft;) r = e[(f += 3) + 2], o = "right"; - break; - } - return { - node: r, - start: n, - end: l, - collapse: o, - coverStart: a, - coverEnd: s - }; - } - u(ml, "nodeAndOffsetInLineMap"); - function Ua(e, t) { - var i = yl; - if (t == "left") for (var r = 0; r < e.length && (i = e[r]).left == i.right; r++);else for (var n = e.length - 1; n >= 0 && (i = e[n]).left == i.right; n--); - return i; - } - u(Ua, "getUsefulRect"); - function Ka(e, t, i, r) { - var n = ml(t.map, i, r), - l = n.node, - o = n.start, - a = n.end, - s = n.collapse, - f; - if (l.nodeType == 3) { - for (var h = 0; h < 4; h++) { - for (; o && bi(t.line.text.charAt(n.coverStart + o));) --o; - for (; n.coverStart + a < n.coverEnd && bi(t.line.text.charAt(n.coverStart + a));) ++a; - if (O && I < 9 && o == 0 && a == n.coverEnd - n.coverStart ? f = l.parentNode.getBoundingClientRect() : f = Ua(rt(l, o, a).getClientRects(), r), f.left || f.right || o == 0) break; - a = o, o = o - 1, s = "right"; - } - O && I < 11 && (f = _a(e.display.measure, f)); - } else { - o > 0 && (s = r = "right"); - var c; - e.options.lineWrapping && (c = l.getClientRects()).length > 1 ? f = c[r == "right" ? c.length - 1 : 0] : f = l.getBoundingClientRect(); - } - if (O && I < 9 && !o && (!f || !f.left && !f.right)) { - var p = l.parentNode.getClientRects()[0]; - p ? f = { - left: p.left, - right: p.left + Mt(e.display), - top: p.top, - bottom: p.bottom - } : f = yl; - } - for (var d = f.top - t.rect.top, v = f.bottom - t.rect.top, g = (d + v) / 2, m = t.view.measure.heights, b = 0; b < m.length - 1 && !(g < m[b]); b++); - var C = b ? m[b - 1] : 0, - x = m[b], - w = { - left: (s == "right" ? f.right : f.left) - t.rect.left, - right: (s == "left" ? f.left : f.right) - t.rect.left, - top: C, - bottom: x - }; - return !f.left && !f.right && (w.bogus = !0), e.options.singleCursorHeightPerLine || (w.rtop = d, w.rbottom = v), w; - } - u(Ka, "measureCharInner"); - function _a(e, t) { - if (!window.screen || screen.logicalXDPI == null || screen.logicalXDPI == screen.deviceXDPI || !la(e)) return t; - var i = screen.logicalXDPI / screen.deviceXDPI, - r = screen.logicalYDPI / screen.deviceYDPI; - return { - left: t.left * i, - right: t.right * i, - top: t.top * r, - bottom: t.bottom * r - }; - } - u(_a, "maybeUpdateRectForZooming"); - function bl(e) { - if (e.measure && (e.measure.cache = {}, e.measure.heights = null, e.rest)) for (var t = 0; t < e.rest.length; t++) e.measure.caches[t] = {}; - } - u(bl, "clearLineMeasurementCacheFor"); - function xl(e) { - e.display.externalMeasure = null, Ue(e.display.lineMeasure); - for (var t = 0; t < e.display.view.length; t++) bl(e.display.view[t]); - } - u(xl, "clearLineMeasurementCache"); - function rr(e) { - xl(e), e.display.cachedCharWidth = e.display.cachedTextHeight = e.display.cachedPaddingH = null, e.options.lineWrapping || (e.display.maxLineChanged = !0), e.display.lineNumChars = null; - } - u(rr, "clearCaches"); - function Cl() { - return Tr && Dr ? -(document.body.getBoundingClientRect().left - parseInt(getComputedStyle(document.body).marginLeft)) : window.pageXOffset || (document.documentElement || document.body).scrollLeft; - } - u(Cl, "pageScrollX"); - function wl() { - return Tr && Dr ? -(document.body.getBoundingClientRect().top - parseInt(getComputedStyle(document.body).marginTop)) : window.pageYOffset || (document.documentElement || document.body).scrollTop; - } - u(wl, "pageScrollY"); - function Xi(e) { - var t = Se(e), - i = t.widgets, - r = 0; - if (i) for (var n = 0; n < i.length; ++n) i[n].above && (r += tr(i[n])); - return r; - } - u(Xi, "widgetTopHeight"); - function _r(e, t, i, r, n) { - if (!n) { - var l = Xi(t); - i.top += l, i.bottom += l; - } - if (r == "line") return i; - r || (r = "local"); - var o = Ie(t); - if (r == "local" ? o += Kr(e.display) : o -= e.display.viewOffset, r == "page" || r == "window") { - var a = e.display.lineSpace.getBoundingClientRect(); - o += a.top + (r == "window" ? 0 : wl()); - var s = a.left + (r == "window" ? 0 : Cl()); - i.left += s, i.right += s; - } - return i.top += o, i.bottom += o, i; - } - u(_r, "intoCoordSystem"); - function Sl(e, t, i) { - if (i == "div") return t; - var r = t.left, - n = t.top; - if (i == "page") r -= Cl(), n -= wl();else if (i == "local" || !i) { - var l = e.display.sizer.getBoundingClientRect(); - r += l.left, n += l.top; - } - var o = e.display.lineSpace.getBoundingClientRect(); - return { - left: r - o.left, - top: n - o.top - }; + var o = e.display.lineSpace.getBoundingClientRect(); + return { + left: r - o.left, + top: n - o.top + }; } u(Sl, "fromCoordSystem"); function Xr(e, t, i, r, n) { @@ -62028,141 +55959,119 @@ exports.comment = Q; -var l = Object.defineProperty; -var n = (e, o) => l(e, "name", { - value: o, +var E = Object.defineProperty; +var g = (v, m) => E(v, "name", { + value: m, configurable: !0 }); -const s = __webpack_require__(/*! ./codemirror.cjs2.js */ "../../graphiql-react/dist/codemirror.cjs2.js"), - g = __webpack_require__(/*! ./dialog.cjs2.js */ "../../graphiql-react/dist/dialog.cjs2.js"); -function u(e, o) { - for (var i = 0; i < o.length; i++) { - const r = o[i]; +const b = __webpack_require__(/*! ./codemirror.cjs2.js */ "../../graphiql-react/dist/codemirror.cjs2.js"); +function O(v, m) { + for (var n = 0; n < m.length; n++) { + const r = m[n]; if (typeof r != "string" && !Array.isArray(r)) { - for (const t in r) if (t !== "default" && !(t in e)) { - const a = Object.getOwnPropertyDescriptor(r, t); - a && Object.defineProperty(e, t, a.get ? a : { + for (const c in r) if (c !== "default" && !(c in v)) { + const u = Object.getOwnPropertyDescriptor(r, c); + u && Object.defineProperty(v, c, u.get ? u : { enumerable: !0, - get: () => r[t] + get: () => r[c] }); } } } - return Object.freeze(Object.defineProperty(e, Symbol.toStringTag, { + return Object.freeze(Object.defineProperty(v, Symbol.toStringTag, { value: "Module" })); } -n(u, "_mergeNamespaces"); -var c = g.requireDialog(); -const f = s.getDefaultExportFromCjs(c), - d = u({ - __proto__: null, - default: f - }, [c]); -exports.dialog = d; - -/***/ }), - -/***/ "../../graphiql-react/dist/dialog.cjs2.js": -/*!************************************************!*\ - !*** ../../graphiql-react/dist/dialog.cjs2.js ***! - \************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - - - -var D = Object.defineProperty; -var r = (m, p) => D(m, "name", { - value: p, - configurable: !0 -}); -const E = __webpack_require__(/*! ./codemirror.cjs2.js */ "../../graphiql-react/dist/codemirror.cjs2.js"); -var h = { - exports: {} - }, - y; -function T() { - return y || (y = 1, function (m, p) { - (function (n) { - n(E.requireCodemirror()); - })(function (n) { - function d(f, o, e) { - var i = f.getWrapperElement(), - a; - return a = i.appendChild(document.createElement("div")), e ? a.className = "CodeMirror-dialog CodeMirror-dialog-bottom" : a.className = "CodeMirror-dialog CodeMirror-dialog-top", typeof o == "string" ? a.innerHTML = o : a.appendChild(o), n.addClass(i, "dialog-opened"), a; +g(O, "_mergeNamespaces"); +var T = { + exports: {} +}; +(function (v, m) { + (function (n) { + n(b.requireCodemirror()); + })(function (n) { + function r(u, f, e) { + var a = u.getWrapperElement(), + l; + return l = a.appendChild(document.createElement("div")), e ? l.className = "CodeMirror-dialog CodeMirror-dialog-bottom" : l.className = "CodeMirror-dialog CodeMirror-dialog-top", typeof f == "string" ? l.innerHTML = f : l.appendChild(f), n.addClass(a, "dialog-opened"), l; + } + g(r, "dialogDiv"); + function c(u, f) { + u.state.currentNotificationClose && u.state.currentNotificationClose(), u.state.currentNotificationClose = f; + } + g(c, "closeNotification"), n.defineExtension("openDialog", function (u, f, e) { + e || (e = {}), c(this, null); + var a = r(this, u, e.bottom), + l = !1, + s = this; + function i(t) { + if (typeof t == "string") o.value = t;else { + if (l) return; + l = !0, n.rmClass(a.parentNode, "dialog-opened"), a.parentNode.removeChild(a), s.focus(), e.onClose && e.onClose(a); + } + } + g(i, "close"); + var o = a.getElementsByTagName("input")[0], + d; + return o ? (o.focus(), e.value && (o.value = e.value, e.selectValueOnOpen !== !1 && o.select()), e.onInput && n.on(o, "input", function (t) { + e.onInput(t, o.value, i); + }), e.onKeyUp && n.on(o, "keyup", function (t) { + e.onKeyUp(t, o.value, i); + }), n.on(o, "keydown", function (t) { + e && e.onKeyDown && e.onKeyDown(t, o.value, i) || ((t.keyCode == 27 || e.closeOnEnter !== !1 && t.keyCode == 13) && (o.blur(), n.e_stop(t), i()), t.keyCode == 13 && f(o.value, t)); + }), e.closeOnBlur !== !1 && n.on(a, "focusout", function (t) { + t.relatedTarget !== null && i(); + })) : (d = a.getElementsByTagName("button")[0]) && (n.on(d, "click", function () { + i(), s.focus(); + }), e.closeOnBlur !== !1 && n.on(d, "blur", i), d.focus()), i; + }), n.defineExtension("openConfirm", function (u, f, e) { + c(this, null); + var a = r(this, u, e && e.bottom), + l = a.getElementsByTagName("button"), + s = !1, + i = this, + o = 1; + function d() { + s || (s = !0, n.rmClass(a.parentNode, "dialog-opened"), a.parentNode.removeChild(a), i.focus()); + } + g(d, "close"), l[0].focus(); + for (var t = 0; t < l.length; ++t) { + var p = l[t]; + (function (N) { + n.on(p, "click", function (h) { + n.e_preventDefault(h), d(), N && N(i); + }); + })(f[t]), n.on(p, "blur", function () { + --o, setTimeout(function () { + o <= 0 && d(); + }, 200); + }), n.on(p, "focus", function () { + ++o; + }); } - r(d, "dialogDiv"); - function g(f, o) { - f.state.currentNotificationClose && f.state.currentNotificationClose(), f.state.currentNotificationClose = o; + }), n.defineExtension("openNotification", function (u, f) { + c(this, i); + var e = r(this, u, f && f.bottom), + a = !1, + l, + s = f && typeof f.duration < "u" ? f.duration : 5e3; + function i() { + a || (a = !0, clearTimeout(l), n.rmClass(e.parentNode, "dialog-opened"), e.parentNode.removeChild(e)); } - r(g, "closeNotification"), n.defineExtension("openDialog", function (f, o, e) { - e || (e = {}), g(this, null); - var i = d(this, f, e.bottom), - a = !1, - c = this; - function l(t) { - if (typeof t == "string") u.value = t;else { - if (a) return; - a = !0, n.rmClass(i.parentNode, "dialog-opened"), i.parentNode.removeChild(i), c.focus(), e.onClose && e.onClose(i); - } - } - r(l, "close"); - var u = i.getElementsByTagName("input")[0], - s; - return u ? (u.focus(), e.value && (u.value = e.value, e.selectValueOnOpen !== !1 && u.select()), e.onInput && n.on(u, "input", function (t) { - e.onInput(t, u.value, l); - }), e.onKeyUp && n.on(u, "keyup", function (t) { - e.onKeyUp(t, u.value, l); - }), n.on(u, "keydown", function (t) { - e && e.onKeyDown && e.onKeyDown(t, u.value, l) || ((t.keyCode == 27 || e.closeOnEnter !== !1 && t.keyCode == 13) && (u.blur(), n.e_stop(t), l()), t.keyCode == 13 && o(u.value, t)); - }), e.closeOnBlur !== !1 && n.on(i, "focusout", function (t) { - t.relatedTarget !== null && l(); - })) : (s = i.getElementsByTagName("button")[0]) && (n.on(s, "click", function () { - l(), c.focus(); - }), e.closeOnBlur !== !1 && n.on(s, "blur", l), s.focus()), l; - }), n.defineExtension("openConfirm", function (f, o, e) { - g(this, null); - var i = d(this, f, e && e.bottom), - a = i.getElementsByTagName("button"), - c = !1, - l = this, - u = 1; - function s() { - c || (c = !0, n.rmClass(i.parentNode, "dialog-opened"), i.parentNode.removeChild(i), l.focus()); - } - r(s, "close"), a[0].focus(); - for (var t = 0; t < a.length; ++t) { - var v = a[t]; - (function (N) { - n.on(v, "click", function (b) { - n.e_preventDefault(b), s(), N && N(l); - }); - })(o[t]), n.on(v, "blur", function () { - --u, setTimeout(function () { - u <= 0 && s(); - }, 200); - }), n.on(v, "focus", function () { - ++u; - }); - } - }), n.defineExtension("openNotification", function (f, o) { - g(this, l); - var e = d(this, f, o && o.bottom), - i = !1, - a, - c = o && typeof o.duration < "u" ? o.duration : 5e3; - function l() { - i || (i = !0, clearTimeout(a), n.rmClass(e.parentNode, "dialog-opened"), e.parentNode.removeChild(e)); - } - return r(l, "close"), n.on(e, "click", function (u) { - n.e_preventDefault(u), l(); - }), c && (a = setTimeout(l, c)), l; - }); + return g(i, "close"), n.on(e, "click", function (o) { + n.e_preventDefault(o), i(); + }), s && (l = setTimeout(i, s)), i; }); - }()), h.exports; -} -r(T, "requireDialog"); -exports.requireDialog = T; + }); +})(); +var y = T.exports; +const x = b.getDefaultExportFromCjs(y), + k = O({ + __proto__: null, + default: x + }, [y]); +exports.dialog = k; +exports.dialogExports = y; /***/ }), @@ -62686,30 +56595,30 @@ p(j, "getTypeInfo"); var Nn = Object.defineProperty; -var i = (e, t) => Nn(e, "name", { +var a = (e, t) => Nn(e, "name", { value: t, configurable: !0 }); Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); -const r = __webpack_require__(/*! react/jsx-runtime */ "../../../node_modules/react/jsx-runtime.js"), +const s = __webpack_require__(/*! react/jsx-runtime */ "../../../node_modules/react/jsx-runtime.js"), l = __webpack_require__(/*! react */ "react"), _ = __webpack_require__(/*! clsx */ "../../../node_modules/clsx/dist/clsx.m.js"), M = __webpack_require__(/*! graphql */ "../../../node_modules/graphql/index.mjs"), B = __webpack_require__(/*! @graphiql/toolkit */ "../../graphiql-toolkit/esm/index.js"), jt = __webpack_require__(/*! graphql-language-service */ "../../graphql-language-service/esm/index.js"), - Tn = __webpack_require__(/*! set-value */ "../../../node_modules/set-value/index.js"), - Mn = __webpack_require__(/*! copy-to-clipboard */ "../../../node_modules/copy-to-clipboard/index.js"), - Rn = __webpack_require__(/*! @radix-ui/react-dialog */ "../../../node_modules/@radix-ui/react-dialog/dist/index.js"), + $e = __webpack_require__(/*! set-value */ "../../../node_modules/set-value/index.js"), + Tn = __webpack_require__(/*! copy-to-clipboard */ "../../../node_modules/copy-to-clipboard/index.js"), + Mn = __webpack_require__(/*! @radix-ui/react-dialog */ "../../../node_modules/@radix-ui/react-dialog/dist/index.js"), Pn = __webpack_require__(/*! @radix-ui/react-visually-hidden */ "../../../node_modules/@radix-ui/react-visually-hidden/dist/index.js"), xe = __webpack_require__(/*! @radix-ui/react-dropdown-menu */ "../../../node_modules/@radix-ui/react-dropdown-menu/dist/index.js"), - qn = __webpack_require__(/*! markdown-it */ "../../../node_modules/markdown-it/index.js"), + qn = __webpack_require__(/*! markdown-it */ "../node_modules/markdown-it/dist/index.cjs.js"), kt = __webpack_require__(/*! framer-motion */ "../../../node_modules/framer-motion/dist/cjs/index.js"), - Vn = __webpack_require__(/*! @radix-ui/react-tooltip */ "../../../node_modules/@radix-ui/react-tooltip/dist/index.js"), - ie = __webpack_require__(/*! @headlessui/react */ "../../../node_modules/@headlessui/react/dist/index.cjs"), + Rn = __webpack_require__(/*! @radix-ui/react-tooltip */ "../../../node_modules/@radix-ui/react-tooltip/dist/index.js"), + ae = __webpack_require__(/*! @headlessui/react */ "../../../node_modules/@headlessui/react/dist/index.cjs"), vt = __webpack_require__(/*! react-dom */ "react-dom"); -function tt(e) { +function nt(e) { const t = Object.create(null, { [Symbol.toStringTag]: { value: "Module" @@ -62717,8 +56626,8 @@ function tt(e) { }); if (e) { for (const n in e) if (n !== "default") { - const s = Object.getOwnPropertyDescriptor(e, n); - Object.defineProperty(t, n, s.get ? s : { + const r = Object.getOwnPropertyDescriptor(e, n); + Object.defineProperty(t, n, r.get ? r : { enumerable: !0, get: () => e[n] }); @@ -62726,60 +56635,60 @@ function tt(e) { } return t.default = e, Object.freeze(t); } -i(tt, "_interopNamespaceDefault"); -const c = tt(l), - re = tt(Rn), - pe = tt(Vn); -function le(e) { +a(nt, "_interopNamespaceDefault"); +const u = nt(l), + ne = nt(Mn), + pe = nt(Rn); +function oe(e) { const t = l.createContext(null); return t.displayName = e, t; } -i(le, "createNullableContext"); -function ae(e) { +a(oe, "createNullableContext"); +function le(e) { function t(n) { var o; - const s = l.useContext(e); - if (s === null && n != null && n.nonNull) throw new Error(`Tried to use \`${((o = n.caller) == null ? void 0 : o.name) || t.caller.name}\` without the necessary context. Make sure to render the \`${e.displayName}Provider\` component higher up the tree.`); - return s; + const r = l.useContext(e); + if (r === null && n != null && n.nonNull) throw new Error(`Tried to use \`${((o = n.caller) == null ? void 0 : o.name) || t.caller.name}\` without the necessary context. Make sure to render the \`${e.displayName}Provider\` component higher up the tree.`); + return r; } - return i(t, "useGivenContext"), Object.defineProperty(t, "name", { + return a(t, "useGivenContext"), Object.defineProperty(t, "name", { value: `use${e.displayName}` }), t; } -i(ae, "createContextHook"); -const nt = le("StorageContext"); +a(le, "createContextHook"); +const rt = oe("StorageContext"); function Nt(e) { const t = l.useRef(!0), - [n, s] = l.useState(new B.StorageAPI(e.storage)); + [n, r] = l.useState(new B.StorageAPI(e.storage)); return l.useEffect(() => { - t.current ? t.current = !1 : s(new B.StorageAPI(e.storage)); - }, [e.storage]), r.jsx(nt.Provider, { + t.current ? t.current = !1 : r(new B.StorageAPI(e.storage)); + }, [e.storage]), s.jsx(rt.Provider, { value: n, children: e.children }); } -i(Nt, "StorageContextProvider"); -const se = ae(nt), - In = i(_ref => { +a(Nt, "StorageContextProvider"); +const re = le(rt), + Vn = a(_ref => { let { title: e, titleId: t, ...n } = _ref; - return c.createElement("svg", { + return u.createElement("svg", { height: "1em", viewBox: "0 0 14 14", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-labelledby": t, ...n - }, e ? c.createElement("title", { + }, e ? u.createElement("title", { id: t - }, e) : null, c.createElement("path", { + }, e) : null, u.createElement("path", { d: "M5.0484 1.40838C6.12624 0.33054 7.87376 0.330541 8.9516 1.40838L12.5916 5.0484C13.6695 6.12624 13.6695 7.87376 12.5916 8.9516L8.9516 12.5916C7.87376 13.6695 6.12624 13.6695 5.0484 12.5916L1.40838 8.9516C0.33054 7.87376 0.330541 6.12624 1.40838 5.0484L5.0484 1.40838Z", stroke: "currentColor", strokeWidth: 1.2 - }), c.createElement("rect", { + }), u.createElement("rect", { x: 6, y: 6, width: 2, @@ -62788,114 +56697,114 @@ const se = ae(nt), fill: "currentColor" })); }, "SvgArgument"), - Hn = i(_ref2 => { + In = a(_ref2 => { let { title: e, titleId: t, ...n } = _ref2; - return c.createElement("svg", { + return u.createElement("svg", { height: "1em", viewBox: "0 0 14 9", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-labelledby": t, ...n - }, e ? c.createElement("title", { + }, e ? u.createElement("title", { id: t - }, e) : null, c.createElement("path", { + }, e) : null, u.createElement("path", { d: "M1 1L7 7L13 1", stroke: "currentColor", strokeWidth: 1.5 })); }, "SvgChevronDown"), - Dn = i(_ref3 => { + Hn = a(_ref3 => { let { title: e, titleId: t, ...n } = _ref3; - return c.createElement("svg", { + return u.createElement("svg", { height: "1em", viewBox: "0 0 7 10", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-labelledby": t, ...n - }, e ? c.createElement("title", { + }, e ? u.createElement("title", { id: t - }, e) : null, c.createElement("path", { + }, e) : null, u.createElement("path", { d: "M6 1.04819L2 5.04819L6 9.04819", stroke: "currentColor", strokeWidth: 1.75 })); }, "SvgChevronLeft"), - An = i(_ref4 => { + Dn = a(_ref4 => { let { title: e, titleId: t, ...n } = _ref4; - return c.createElement("svg", { + return u.createElement("svg", { height: "1em", viewBox: "0 0 14 9", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-labelledby": t, ...n - }, e ? c.createElement("title", { + }, e ? u.createElement("title", { id: t - }, e) : null, c.createElement("path", { + }, e) : null, u.createElement("path", { d: "M13 8L7 2L1 8", stroke: "currentColor", strokeWidth: 1.5 })); }, "SvgChevronUp"), - On = i(_ref5 => { + An = a(_ref5 => { let { title: e, titleId: t, ...n } = _ref5; - return c.createElement("svg", { + return u.createElement("svg", { height: "1em", viewBox: "0 0 14 14", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-labelledby": t, ...n - }, e ? c.createElement("title", { + }, e ? u.createElement("title", { id: t - }, e) : null, c.createElement("path", { + }, e) : null, u.createElement("path", { d: "M1 1L12.9998 12.9997", stroke: "currentColor", strokeWidth: 1.5 - }), c.createElement("path", { + }), u.createElement("path", { d: "M13 1L1.00079 13.0003", stroke: "currentColor", strokeWidth: 1.5 })); }, "SvgClose"), - Fn = i(_ref6 => { + On = a(_ref6 => { let { title: e, titleId: t, ...n } = _ref6; - return c.createElement("svg", { + return u.createElement("svg", { height: "1em", viewBox: "-2 -2 22 22", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-labelledby": t, ...n - }, e ? c.createElement("title", { + }, e ? u.createElement("title", { id: t - }, e) : null, c.createElement("path", { + }, e) : null, u.createElement("path", { d: "M11.25 14.2105V15.235C11.25 16.3479 10.3479 17.25 9.23501 17.25H2.76499C1.65214 17.25 0.75 16.3479 0.75 15.235L0.75 8.76499C0.75 7.65214 1.65214 6.75 2.76499 6.75L3.78947 6.75", stroke: "currentColor", strokeWidth: 1.5 - }), c.createElement("rect", { + }), u.createElement("rect", { x: 6.75, y: .75, width: 10.5, @@ -62905,81 +56814,81 @@ const se = ae(nt), strokeWidth: 1.5 })); }, "SvgCopy"), - Bn = i(_ref7 => { + Fn = a(_ref7 => { let { title: e, titleId: t, ...n } = _ref7; - return c.createElement("svg", { + return u.createElement("svg", { height: "1em", viewBox: "0 0 14 14", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-labelledby": t, ...n - }, e ? c.createElement("title", { + }, e ? u.createElement("title", { id: t - }, e) : null, c.createElement("path", { + }, e) : null, u.createElement("path", { d: "M5.0484 1.40838C6.12624 0.33054 7.87376 0.330541 8.9516 1.40838L12.5916 5.0484C13.6695 6.12624 13.6695 7.87376 12.5916 8.9516L8.9516 12.5916C7.87376 13.6695 6.12624 13.6695 5.0484 12.5916L1.40838 8.9516C0.33054 7.87376 0.330541 6.12624 1.40838 5.0484L5.0484 1.40838Z", stroke: "currentColor", strokeWidth: 1.2 - }), c.createElement("path", { + }), u.createElement("path", { d: "M5 9L9 5", stroke: "currentColor", strokeWidth: 1.2 - }), c.createElement("path", { + }), u.createElement("path", { d: "M5 5L9 9", stroke: "currentColor", strokeWidth: 1.2 })); }, "SvgDeprecatedArgument"), - Wn = i(_ref8 => { + Bn = a(_ref8 => { let { title: e, titleId: t, ...n } = _ref8; - return c.createElement("svg", { + return u.createElement("svg", { height: "1em", viewBox: "0 0 12 12", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-labelledby": t, ...n - }, e ? c.createElement("title", { + }, e ? u.createElement("title", { id: t - }, e) : null, c.createElement("path", { + }, e) : null, u.createElement("path", { d: "M4 8L8 4", stroke: "currentColor", strokeWidth: 1.2 - }), c.createElement("path", { + }), u.createElement("path", { d: "M4 4L8 8", stroke: "currentColor", strokeWidth: 1.2 - }), c.createElement("path", { + }), u.createElement("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M8.5 1.2H9C9.99411 1.2 10.8 2.00589 10.8 3V9C10.8 9.99411 9.99411 10.8 9 10.8H8.5V12H9C10.6569 12 12 10.6569 12 9V3C12 1.34315 10.6569 0 9 0H8.5V1.2ZM3.5 1.2V0H3C1.34315 0 0 1.34315 0 3V9C0 10.6569 1.34315 12 3 12H3.5V10.8H3C2.00589 10.8 1.2 9.99411 1.2 9V3C1.2 2.00589 2.00589 1.2 3 1.2H3.5Z", fill: "currentColor" })); }, "SvgDeprecatedEnumValue"), - _n = i(_ref9 => { + Wn = a(_ref9 => { let { title: e, titleId: t, ...n } = _ref9; - return c.createElement("svg", { + return u.createElement("svg", { height: "1em", viewBox: "0 0 12 12", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-labelledby": t, ...n - }, e ? c.createElement("title", { + }, e ? u.createElement("title", { id: t - }, e) : null, c.createElement("rect", { + }, e) : null, u.createElement("rect", { x: .6, y: .6, width: 10.8, @@ -62987,31 +56896,31 @@ const se = ae(nt), rx: 3.4, stroke: "currentColor", strokeWidth: 1.2 - }), c.createElement("path", { + }), u.createElement("path", { d: "M4 8L8 4", stroke: "currentColor", strokeWidth: 1.2 - }), c.createElement("path", { + }), u.createElement("path", { d: "M4 4L8 8", stroke: "currentColor", strokeWidth: 1.2 })); }, "SvgDeprecatedField"), - Zn = i(_ref10 => { + _n = a(_ref10 => { let { title: e, titleId: t, ...n } = _ref10; - return c.createElement("svg", { + return u.createElement("svg", { height: "1em", viewBox: "0 0.5 12 12", xmlns: "http://www.w3.org/2000/svg", "aria-labelledby": t, ...n - }, e ? c.createElement("title", { + }, e ? u.createElement("title", { id: t - }, e) : null, c.createElement("rect", { + }, e) : null, u.createElement("rect", { x: 7, y: 5.5, width: 2, @@ -63019,63 +56928,63 @@ const se = ae(nt), rx: 1, transform: "rotate(90 7 5.5)", fill: "currentColor" - }), c.createElement("path", { + }), u.createElement("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M10.8 9L10.8 9.5C10.8 10.4941 9.99411 11.3 9 11.3L3 11.3C2.00589 11.3 1.2 10.4941 1.2 9.5L1.2 9L-3.71547e-07 9L-3.93402e-07 9.5C-4.65826e-07 11.1569 1.34314 12.5 3 12.5L9 12.5C10.6569 12.5 12 11.1569 12 9.5L12 9L10.8 9ZM10.8 4L12 4L12 3.5C12 1.84315 10.6569 0.5 9 0.5L3 0.5C1.34315 0.5 -5.87117e-08 1.84315 -1.31135e-07 3.5L-1.5299e-07 4L1.2 4L1.2 3.5C1.2 2.50589 2.00589 1.7 3 1.7L9 1.7C9.99411 1.7 10.8 2.50589 10.8 3.5L10.8 4Z", fill: "currentColor" })); }, "SvgDirective"), - Gn = i(_ref11 => { + Zn = a(_ref11 => { let { title: e, titleId: t, ...n } = _ref11; - return c.createElement("svg", { + return u.createElement("svg", { height: "1em", viewBox: "0 0 20 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-labelledby": t, ...n - }, e ? c.createElement("title", { + }, e ? u.createElement("title", { id: t - }, e) : null, c.createElement("path", { + }, e) : null, u.createElement("path", { d: "M0.75 3C0.75 1.75736 1.75736 0.75 3 0.75H17.25C17.8023 0.75 18.25 1.19772 18.25 1.75V5.25", stroke: "currentColor", strokeWidth: 1.5 - }), c.createElement("path", { + }), u.createElement("path", { d: "M0.75 3C0.75 4.24264 1.75736 5.25 3 5.25H18.25C18.8023 5.25 19.25 5.69771 19.25 6.25V22.25C19.25 22.8023 18.8023 23.25 18.25 23.25H3C1.75736 23.25 0.75 22.2426 0.75 21V3Z", stroke: "currentColor", strokeWidth: 1.5 - }), c.createElement("path", { + }), u.createElement("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M3 5.25C1.75736 5.25 0.75 4.24264 0.75 3V21C0.75 22.2426 1.75736 23.25 3 23.25H18.25C18.8023 23.25 19.25 22.8023 19.25 22.25V6.25C19.25 5.69771 18.8023 5.25 18.25 5.25H3ZM13 11L6 11V12.5L13 12.5V11Z", fill: "currentColor" })); }, "SvgDocsFilled"), - $n = i(_ref12 => { + Gn = a(_ref12 => { let { title: e, titleId: t, ...n } = _ref12; - return c.createElement("svg", { + return u.createElement("svg", { height: "1em", viewBox: "0 0 20 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-labelledby": t, ...n - }, e ? c.createElement("title", { + }, e ? u.createElement("title", { id: t - }, e) : null, c.createElement("path", { + }, e) : null, u.createElement("path", { d: "M0.75 3C0.75 4.24264 1.75736 5.25 3 5.25H17.25M0.75 3C0.75 1.75736 1.75736 0.75 3 0.75H16.25C16.8023 0.75 17.25 1.19772 17.25 1.75V5.25M0.75 3V21C0.75 22.2426 1.75736 23.25 3 23.25H18.25C18.8023 23.25 19.25 22.8023 19.25 22.25V6.25C19.25 5.69771 18.8023 5.25 18.25 5.25H17.25", stroke: "currentColor", strokeWidth: 1.5 - }), c.createElement("line", { + }), u.createElement("line", { x1: 13, y1: 11.75, x2: 6, @@ -63084,51 +56993,51 @@ const se = ae(nt), strokeWidth: 1.5 })); }, "SvgDocs"), - Qn = i(_ref13 => { + $n = a(_ref13 => { let { title: e, titleId: t, ...n } = _ref13; - return c.createElement("svg", { + return u.createElement("svg", { height: "1em", viewBox: "0 0 12 12", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-labelledby": t, ...n - }, e ? c.createElement("title", { + }, e ? u.createElement("title", { id: t - }, e) : null, c.createElement("rect", { + }, e) : null, u.createElement("rect", { x: 5, y: 5, width: 2, height: 2, rx: 1, fill: "currentColor" - }), c.createElement("path", { + }), u.createElement("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M8.5 1.2H9C9.99411 1.2 10.8 2.00589 10.8 3V9C10.8 9.99411 9.99411 10.8 9 10.8H8.5V12H9C10.6569 12 12 10.6569 12 9V3C12 1.34315 10.6569 0 9 0H8.5V1.2ZM3.5 1.2V0H3C1.34315 0 0 1.34315 0 3V9C0 10.6569 1.34315 12 3 12H3.5V10.8H3C2.00589 10.8 1.2 9.99411 1.2 9V3C1.2 2.00589 2.00589 1.2 3 1.2H3.5Z", fill: "currentColor" })); }, "SvgEnumValue"), - zn = i(_ref14 => { + Qn = a(_ref14 => { let { title: e, titleId: t, ...n } = _ref14; - return c.createElement("svg", { + return u.createElement("svg", { height: "1em", viewBox: "0 0 12 13", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-labelledby": t, ...n - }, e ? c.createElement("title", { + }, e ? u.createElement("title", { id: t - }, e) : null, c.createElement("rect", { + }, e) : null, u.createElement("rect", { x: .6, y: 1.1, width: 10.8, @@ -63136,7 +57045,7 @@ const se = ae(nt), rx: 2.4, stroke: "currentColor", strokeWidth: 1.2 - }), c.createElement("rect", { + }), u.createElement("rect", { x: 5, y: 5.5, width: 2, @@ -63145,53 +57054,53 @@ const se = ae(nt), fill: "currentColor" })); }, "SvgField"), - Un = i(_ref15 => { + zn = a(_ref15 => { let { title: e, titleId: t, ...n } = _ref15; - return c.createElement("svg", { + return u.createElement("svg", { height: "1em", viewBox: "0 0 24 20", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-labelledby": t, ...n - }, e ? c.createElement("title", { + }, e ? u.createElement("title", { id: t - }, e) : null, c.createElement("path", { + }, e) : null, u.createElement("path", { d: "M1.59375 9.52344L4.87259 12.9944L8.07872 9.41249", stroke: "currentColor", strokeWidth: 1.5, strokeLinecap: "square" - }), c.createElement("path", { + }), u.createElement("path", { d: "M13.75 5.25V10.75H18.75", stroke: "currentColor", strokeWidth: 1.5, strokeLinecap: "square" - }), c.createElement("path", { + }), u.createElement("path", { d: "M4.95427 11.9332C4.55457 10.0629 4.74441 8.11477 5.49765 6.35686C6.25089 4.59894 7.5305 3.11772 9.16034 2.11709C10.7902 1.11647 12.6901 0.645626 14.5986 0.769388C16.5071 0.893151 18.3303 1.60543 19.8172 2.80818C21.3042 4.01093 22.3818 5.64501 22.9017 7.48548C23.4216 9.32595 23.3582 11.2823 22.7203 13.0853C22.0824 14.8883 20.9013 16.4492 19.3396 17.5532C17.778 18.6572 15.9125 19.25 14 19.25", stroke: "currentColor", strokeWidth: 1.5 })); }, "SvgHistory"), - Kn = i(_ref16 => { + Un = a(_ref16 => { let { title: e, titleId: t, ...n } = _ref16; - return c.createElement("svg", { + return u.createElement("svg", { height: "1em", viewBox: "0 0 12 12", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-labelledby": t, ...n - }, e ? c.createElement("title", { + }, e ? u.createElement("title", { id: t - }, e) : null, c.createElement("circle", { + }, e) : null, u.createElement("circle", { cx: 6, cy: 6, r: 5.4, @@ -63200,53 +57109,53 @@ const se = ae(nt), strokeDasharray: "4.241025 4.241025", transform: "rotate(22.5)", "transform-origin": "center" - }), c.createElement("circle", { + }), u.createElement("circle", { cx: 6, cy: 6, r: 1, fill: "currentColor" })); }, "SvgImplements"), - Jn = i(_ref17 => { + Kn = a(_ref17 => { let { title: e, titleId: t, ...n } = _ref17; - return c.createElement("svg", { + return u.createElement("svg", { height: "1em", viewBox: "0 0 19 18", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-labelledby": t, ...n - }, e ? c.createElement("title", { + }, e ? u.createElement("title", { id: t - }, e) : null, c.createElement("path", { + }, e) : null, u.createElement("path", { d: "M1.5 14.5653C1.5 15.211 1.75652 15.8303 2.21314 16.2869C2.66975 16.7435 3.28905 17 3.9348 17C4.58054 17 5.19984 16.7435 5.65646 16.2869C6.11307 15.8303 6.36959 15.211 6.36959 14.5653V12.1305H3.9348C3.28905 12.1305 2.66975 12.387 2.21314 12.8437C1.75652 13.3003 1.5 13.9195 1.5 14.5653Z", stroke: "currentColor", strokeWidth: 1.125, strokeLinecap: "round", strokeLinejoin: "round" - }), c.createElement("path", { + }), u.createElement("path", { d: "M3.9348 1.00063C3.28905 1.00063 2.66975 1.25715 2.21314 1.71375C1.75652 2.17035 1.5 2.78964 1.5 3.43537C1.5 4.0811 1.75652 4.70038 2.21314 5.15698C2.66975 5.61358 3.28905 5.8701 3.9348 5.8701H6.36959V3.43537C6.36959 2.78964 6.11307 2.17035 5.65646 1.71375C5.19984 1.25715 4.58054 1.00063 3.9348 1.00063Z", stroke: "currentColor", strokeWidth: 1.125, strokeLinecap: "round", strokeLinejoin: "round" - }), c.createElement("path", { + }), u.createElement("path", { d: "M15.0652 12.1305H12.6304V14.5653C12.6304 15.0468 12.7732 15.5175 13.0407 15.9179C13.3083 16.3183 13.6885 16.6304 14.1334 16.8147C14.5783 16.9989 15.0679 17.0472 15.5402 16.9532C16.0125 16.8593 16.4464 16.6274 16.7869 16.2869C17.1274 15.9464 17.3593 15.5126 17.4532 15.0403C17.5472 14.568 17.4989 14.0784 17.3147 13.6335C17.1304 13.1886 16.8183 12.8084 16.4179 12.5409C16.0175 12.2733 15.5468 12.1305 15.0652 12.1305Z", stroke: "currentColor", strokeWidth: 1.125, strokeLinecap: "round", strokeLinejoin: "round" - }), c.createElement("path", { + }), u.createElement("path", { d: "M12.6318 5.86775H6.36955V12.1285H12.6318V5.86775Z", stroke: "currentColor", strokeWidth: 1.125, strokeLinecap: "round", strokeLinejoin: "round" - }), c.createElement("path", { + }), u.createElement("path", { d: "M17.5 3.43473C17.5 2.789 17.2435 2.16972 16.7869 1.71312C16.3303 1.25652 15.711 1 15.0652 1C14.4195 1 13.8002 1.25652 13.3435 1.71312C12.8869 2.16972 12.6304 2.789 12.6304 3.43473V5.86946H15.0652C15.711 5.86946 16.3303 5.61295 16.7869 5.15635C17.2435 4.69975 17.5 4.08046 17.5 3.43473Z", stroke: "currentColor", strokeWidth: 1.125, @@ -63254,28 +57163,28 @@ const se = ae(nt), strokeLinejoin: "round" })); }, "SvgKeyboardShortcut"), - Yn = i(_ref18 => { + Jn = a(_ref18 => { let { title: e, titleId: t, ...n } = _ref18; - return c.createElement("svg", { + return u.createElement("svg", { height: "1em", viewBox: "0 0 13 13", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-labelledby": t, ...n - }, e ? c.createElement("title", { + }, e ? u.createElement("title", { id: t - }, e) : null, c.createElement("circle", { + }, e) : null, u.createElement("circle", { cx: 5, cy: 5, r: 4.35, stroke: "currentColor", strokeWidth: 1.3 - }), c.createElement("line", { + }), u.createElement("line", { x1: 8.45962, y1: 8.54038, x2: 11.7525, @@ -63284,64 +57193,64 @@ const se = ae(nt), strokeWidth: 1.3 })); }, "SvgMagnifyingGlass"), - Xn = i(_ref19 => { + Yn = a(_ref19 => { let { title: e, titleId: t, ...n } = _ref19; - return c.createElement("svg", { + return u.createElement("svg", { height: "1em", viewBox: "-2 -2 22 22", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-labelledby": t, ...n - }, e ? c.createElement("title", { + }, e ? u.createElement("title", { id: t - }, e) : null, c.createElement("path", { + }, e) : null, u.createElement("path", { d: "M17.2492 6V2.9569C17.2492 1.73806 16.2611 0.75 15.0423 0.75L2.9569 0.75C1.73806 0.75 0.75 1.73806 0.75 2.9569L0.75 6", stroke: "currentColor", strokeWidth: 1.5 - }), c.createElement("path", { + }), u.createElement("path", { d: "M0.749873 12V15.0431C0.749873 16.2619 1.73794 17.25 2.95677 17.25H15.0421C16.261 17.25 17.249 16.2619 17.249 15.0431V12", stroke: "currentColor", strokeWidth: 1.5 - }), c.createElement("path", { + }), u.createElement("path", { d: "M6 4.5L9 7.5L12 4.5", stroke: "currentColor", strokeWidth: 1.5 - }), c.createElement("path", { + }), u.createElement("path", { d: "M12 13.5L9 10.5L6 13.5", stroke: "currentColor", strokeWidth: 1.5 })); }, "SvgMerge"), - er = i(_ref20 => { + Xn = a(_ref20 => { let { title: e, titleId: t, ...n } = _ref20; - return c.createElement("svg", { + return u.createElement("svg", { height: "1em", viewBox: "0 0 14 14", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-labelledby": t, ...n - }, e ? c.createElement("title", { + }, e ? u.createElement("title", { id: t - }, e) : null, c.createElement("path", { + }, e) : null, u.createElement("path", { d: "M0.75 13.25L0.0554307 12.967C-0.0593528 13.2488 0.00743073 13.5719 0.224488 13.7851C0.441545 13.9983 0.765869 14.0592 1.04549 13.9393L0.75 13.25ZM12.8214 1.83253L12.2911 2.36286L12.2911 2.36286L12.8214 1.83253ZM12.8214 3.90194L13.3517 4.43227L12.8214 3.90194ZM10.0981 1.17859L9.56773 0.648259L10.0981 1.17859ZM12.1675 1.17859L12.6978 0.648258L12.6978 0.648257L12.1675 1.17859ZM2.58049 8.75697L3.27506 9.03994L2.58049 8.75697ZM2.70066 8.57599L3.23099 9.10632L2.70066 8.57599ZM5.2479 11.4195L4.95355 10.7297L5.2479 11.4195ZM5.42036 11.303L4.89003 10.7727L5.42036 11.303ZM4.95355 10.7297C4.08882 11.0987 3.41842 11.362 2.73535 11.6308C2.05146 11.9 1.35588 12.1743 0.454511 12.5607L1.04549 13.9393C1.92476 13.5624 2.60256 13.2951 3.28469 13.0266C3.96762 12.7578 4.65585 12.4876 5.54225 12.1093L4.95355 10.7297ZM1.44457 13.533L3.27506 9.03994L1.88592 8.474L0.0554307 12.967L1.44457 13.533ZM3.23099 9.10632L10.6284 1.70892L9.56773 0.648259L2.17033 8.04566L3.23099 9.10632ZM11.6371 1.70892L12.2911 2.36286L13.3517 1.3022L12.6978 0.648258L11.6371 1.70892ZM12.2911 3.37161L4.89003 10.7727L5.95069 11.8333L13.3517 4.43227L12.2911 3.37161ZM12.2911 2.36286C12.5696 2.64142 12.5696 3.09305 12.2911 3.37161L13.3517 4.43227C14.2161 3.56792 14.2161 2.16654 13.3517 1.3022L12.2911 2.36286ZM10.6284 1.70892C10.9069 1.43036 11.3586 1.43036 11.6371 1.70892L12.6978 0.648257C11.8335 -0.216088 10.4321 -0.216084 9.56773 0.648259L10.6284 1.70892ZM3.27506 9.03994C3.26494 9.06479 3.24996 9.08735 3.23099 9.10632L2.17033 8.04566C2.04793 8.16806 1.95123 8.31369 1.88592 8.474L3.27506 9.03994ZM5.54225 12.1093C5.69431 12.0444 5.83339 11.9506 5.95069 11.8333L4.89003 10.7727C4.90863 10.7541 4.92988 10.7398 4.95355 10.7297L5.54225 12.1093Z", fill: "currentColor" - }), c.createElement("path", { + }), u.createElement("path", { d: "M11.5 4.5L9.5 2.5", stroke: "currentColor", strokeWidth: 1.4026, strokeLinecap: "round", strokeLinejoin: "round" - }), c.createElement("path", { + }), u.createElement("path", { d: "M5.5 10.5L3.5 8.5", stroke: "currentColor", strokeWidth: 1.4026, @@ -63349,55 +57258,55 @@ const se = ae(nt), strokeLinejoin: "round" })); }, "SvgPen"), - tr = i(_ref21 => { + er = a(_ref21 => { let { title: e, titleId: t, ...n } = _ref21; - return c.createElement("svg", { + return u.createElement("svg", { height: "1em", viewBox: "0 0 16 18", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-labelledby": t, ...n - }, e ? c.createElement("title", { + }, e ? u.createElement("title", { id: t - }, e) : null, c.createElement("path", { + }, e) : null, u.createElement("path", { d: "M1.32226e-07 1.6609C7.22332e-08 0.907329 0.801887 0.424528 1.46789 0.777117L15.3306 8.11621C16.0401 8.49182 16.0401 9.50818 15.3306 9.88379L1.46789 17.2229C0.801886 17.5755 1.36076e-06 17.0927 1.30077e-06 16.3391L1.32226e-07 1.6609Z", fill: "currentColor" })); }, "SvgPlay"), - nr = i(_ref22 => { + tr = a(_ref22 => { let { title: e, titleId: t, ...n } = _ref22; - return c.createElement("svg", { + return u.createElement("svg", { height: "1em", viewBox: "0 0 10 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-labelledby": t, ...n - }, e ? c.createElement("title", { + }, e ? u.createElement("title", { id: t - }, e) : null, c.createElement("path", { + }, e) : null, u.createElement("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M4.25 9.25V13.5H5.75V9.25L10 9.25V7.75L5.75 7.75V3.5H4.25V7.75L0 7.75V9.25L4.25 9.25Z", fill: "currentColor" })); }, "SvgPlus"), - rr = i(_ref23 => { + nr = a(_ref23 => { let { title: e, titleId: t, ...n } = _ref23; - return c.createElement("svg", { + return u.createElement("svg", { width: 25, height: 25, viewBox: "0 0 25 25", @@ -63405,83 +57314,83 @@ const se = ae(nt), xmlns: "http://www.w3.org/2000/svg", "aria-labelledby": t, ...n - }, e ? c.createElement("title", { + }, e ? u.createElement("title", { id: t - }, e) : null, c.createElement("path", { + }, e) : null, u.createElement("path", { d: "M10.2852 24.0745L13.7139 18.0742", stroke: "currentColor", strokeWidth: 1.5625 - }), c.createElement("path", { + }), u.createElement("path", { d: "M14.5742 24.0749L17.1457 19.7891", stroke: "currentColor", strokeWidth: 1.5625 - }), c.createElement("path", { + }), u.createElement("path", { d: "M19.4868 24.0735L20.7229 21.7523C21.3259 20.6143 21.5457 19.3122 21.3496 18.0394C21.1535 16.7666 20.5519 15.591 19.6342 14.6874L23.7984 6.87853C24.0123 6.47728 24.0581 6.00748 23.9256 5.57249C23.7932 5.1375 23.4933 4.77294 23.0921 4.55901C22.6908 4.34509 22.221 4.29932 21.7861 4.43178C21.3511 4.56424 20.9865 4.86408 20.7726 5.26533L16.6084 13.0742C15.3474 12.8142 14.0362 12.9683 12.8699 13.5135C11.7035 14.0586 10.7443 14.9658 10.135 16.1L6 24.0735", stroke: "currentColor", strokeWidth: 1.5625 - }), c.createElement("path", { + }), u.createElement("path", { d: "M4 15L5 13L7 12L5 11L4 9L3 11L1 12L3 13L4 15Z", stroke: "currentColor", strokeWidth: 1.5625, strokeLinejoin: "round" - }), c.createElement("path", { + }), u.createElement("path", { d: "M11.5 8L12.6662 5.6662L15 4.5L12.6662 3.3338L11.5 1L10.3338 3.3338L8 4.5L10.3338 5.6662L11.5 8Z", stroke: "currentColor", strokeWidth: 1.5625, strokeLinejoin: "round" })); }, "SvgPrettify"), - sr = i(_ref24 => { + rr = a(_ref24 => { let { title: e, titleId: t, ...n } = _ref24; - return c.createElement("svg", { + return u.createElement("svg", { height: "1em", viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-labelledby": t, ...n - }, e ? c.createElement("title", { + }, e ? u.createElement("title", { id: t - }, e) : null, c.createElement("path", { + }, e) : null, u.createElement("path", { d: "M4.75 9.25H1.25V12.75", stroke: "currentColor", strokeWidth: 1, strokeLinecap: "square" - }), c.createElement("path", { + }), u.createElement("path", { d: "M11.25 6.75H14.75V3.25", stroke: "currentColor", strokeWidth: 1, strokeLinecap: "square" - }), c.createElement("path", { + }), u.createElement("path", { d: "M14.1036 6.65539C13.8 5.27698 13.0387 4.04193 11.9437 3.15131C10.8487 2.26069 9.48447 1.76694 8.0731 1.75043C6.66173 1.73392 5.28633 2.19563 4.17079 3.0604C3.05526 3.92516 2.26529 5.14206 1.92947 6.513", stroke: "currentColor", strokeWidth: 1 - }), c.createElement("path", { + }), u.createElement("path", { d: "M1.89635 9.34461C2.20001 10.723 2.96131 11.9581 4.05631 12.8487C5.15131 13.7393 6.51553 14.2331 7.9269 14.2496C9.33827 14.2661 10.7137 13.8044 11.8292 12.9396C12.9447 12.0748 13.7347 10.8579 14.0705 9.487", stroke: "currentColor", strokeWidth: 1 })); }, "SvgReload"), - or = i(_ref25 => { + sr = a(_ref25 => { let { title: e, titleId: t, ...n } = _ref25; - return c.createElement("svg", { + return u.createElement("svg", { height: "1em", viewBox: "0 0 13 13", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-labelledby": t, ...n - }, e ? c.createElement("title", { + }, e ? u.createElement("title", { id: t - }, e) : null, c.createElement("rect", { + }, e) : null, u.createElement("rect", { x: .6, y: .6, width: 11.8, @@ -63489,8740 +57398,15489 @@ const se = ae(nt), rx: 5.9, stroke: "currentColor", strokeWidth: 1.2 - }), c.createElement("path", { + }), u.createElement("path", { d: "M4.25 7.5C4.25 6 5.75 5 6.5 6.5C7.25 8 8.75 7 8.75 5.5", stroke: "currentColor", strokeWidth: 1.2 })); }, "SvgRootType"), - lr = i(_ref26 => { + or = a(_ref26 => { let { title: e, titleId: t, ...n } = _ref26; - return c.createElement("svg", { + return u.createElement("svg", { height: "1em", viewBox: "0 0 21 20", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-labelledby": t, ...n - }, e ? c.createElement("title", { + }, e ? u.createElement("title", { id: t - }, e) : null, c.createElement("path", { + }, e) : null, u.createElement("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M9.29186 1.92702C9.06924 1.82745 8.87014 1.68202 8.70757 1.50024L7.86631 0.574931C7.62496 0.309957 7.30773 0.12592 6.95791 0.0479385C6.60809 -0.0300431 6.24274 0.00182978 5.91171 0.139208C5.58068 0.276585 5.3001 0.512774 5.10828 0.815537C4.91645 1.1183 4.82272 1.47288 4.83989 1.83089L4.90388 3.08019C4.91612 3.32348 4.87721 3.56662 4.78968 3.79394C4.70215 4.02126 4.56794 4.2277 4.39571 4.39994C4.22347 4.57219 4.01704 4.7064 3.78974 4.79394C3.56243 4.88147 3.3193 4.92038 3.07603 4.90814L1.8308 4.84414C1.47162 4.82563 1.11553 4.91881 0.811445 5.11086C0.507359 5.30292 0.270203 5.58443 0.132561 5.91671C-0.00508149 6.249 -0.0364554 6.61576 0.0427496 6.9666C0.121955 7.31744 0.307852 7.63514 0.5749 7.87606L1.50016 8.71204C1.68193 8.87461 1.82735 9.07373 1.92692 9.29636C2.02648 9.51898 2.07794 9.76012 2.07794 10.004C2.07794 10.2479 2.02648 10.489 1.92692 10.7116C1.82735 10.9343 1.68193 11.1334 1.50016 11.296L0.5749 12.1319C0.309856 12.3729 0.125575 12.6898 0.0471809 13.0393C-0.0312128 13.3888 9.64098e-05 13.754 0.13684 14.0851C0.273583 14.4162 0.509106 14.6971 0.811296 14.8894C1.11349 15.0817 1.46764 15.1762 1.82546 15.1599L3.0707 15.0959C3.31397 15.0836 3.5571 15.1225 3.7844 15.2101C4.01171 15.2976 4.21814 15.4318 4.39037 15.6041C4.56261 15.7763 4.69682 15.9827 4.78435 16.2101C4.87188 16.4374 4.91078 16.6805 4.89855 16.9238L4.83455 18.1691C4.81605 18.5283 4.90921 18.8844 5.10126 19.1885C5.2933 19.4926 5.5748 19.7298 5.90707 19.8674C6.23934 20.0051 6.60608 20.0365 6.9569 19.9572C7.30772 19.878 7.6254 19.6921 7.86631 19.4251L8.7129 18.4998C8.87547 18.318 9.07458 18.1725 9.29719 18.073C9.51981 17.9734 9.76093 17.9219 10.0048 17.9219C10.2487 17.9219 10.4898 17.9734 10.7124 18.073C10.935 18.1725 11.1341 18.318 11.2967 18.4998L12.1326 19.4251C12.3735 19.6921 12.6912 19.878 13.042 19.9572C13.3929 20.0365 13.7596 20.0051 14.0919 19.8674C14.4241 19.7298 14.7056 19.4926 14.8977 19.1885C15.0897 18.8844 15.1829 18.5283 15.1644 18.1691L15.1004 16.9238C15.0882 16.6805 15.1271 16.4374 15.2146 16.2101C15.3021 15.9827 15.4363 15.7763 15.6086 15.6041C15.7808 15.4318 15.9872 15.2976 16.2145 15.2101C16.4418 15.1225 16.685 15.0836 16.9282 15.0959L18.1735 15.1599C18.5326 15.1784 18.8887 15.0852 19.1928 14.8931C19.4969 14.7011 19.7341 14.4196 19.8717 14.0873C20.0093 13.755 20.0407 13.3882 19.9615 13.0374C19.8823 12.6866 19.6964 12.3689 19.4294 12.1279L18.5041 11.292C18.3223 11.1294 18.1769 10.9303 18.0774 10.7076C17.9778 10.485 17.9263 10.2439 17.9263 10C17.9263 9.75612 17.9778 9.51499 18.0774 9.29236C18.1769 9.06973 18.3223 8.87062 18.5041 8.70804L19.4294 7.87206C19.6964 7.63114 19.8823 7.31344 19.9615 6.9626C20.0407 6.61176 20.0093 6.245 19.8717 5.91271C19.7341 5.58043 19.4969 5.29892 19.1928 5.10686C18.8887 4.91481 18.5326 4.82163 18.1735 4.84014L16.9282 4.90414C16.685 4.91638 16.4418 4.87747 16.2145 4.78994C15.9872 4.7024 15.7808 4.56818 15.6086 4.39594C15.4363 4.2237 15.3021 4.01726 15.2146 3.78994C15.1271 3.56262 15.0882 3.31948 15.1004 3.07619L15.1644 1.83089C15.1829 1.4717 15.0897 1.11559 14.8977 0.811487C14.7056 0.507385 14.4241 0.270217 14.0919 0.132568C13.7596 -0.00508182 13.3929 -0.0364573 13.042 0.0427519C12.6912 0.121961 12.3735 0.307869 12.1326 0.574931L11.2914 1.50024C11.1288 1.68202 10.9297 1.82745 10.7071 1.92702C10.4845 2.02659 10.2433 2.07805 9.99947 2.07805C9.7556 2.07805 9.51448 2.02659 9.29186 1.92702ZM14.3745 10C14.3745 12.4162 12.4159 14.375 9.99977 14.375C7.58365 14.375 5.625 12.4162 5.625 10C5.625 7.58375 7.58365 5.625 9.99977 5.625C12.4159 5.625 14.3745 7.58375 14.3745 10Z", fill: "currentColor" })); }, "SvgSettings"), - ar = i(_ref27 => { + lr = a(_ref27 => { let { title: e, titleId: t, ...n } = _ref27; - return c.createElement("svg", { + return u.createElement("svg", { height: "1em", viewBox: "0 0 14 14", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-labelledby": t, ...n - }, e ? c.createElement("title", { + }, e ? u.createElement("title", { id: t - }, e) : null, c.createElement("path", { + }, e) : null, u.createElement("path", { d: "M6.5782 1.07092C6.71096 0.643026 7.28904 0.643027 7.4218 1.07092L8.59318 4.84622C8.65255 5.03758 8.82284 5.16714 9.01498 5.16714L12.8056 5.16714C13.2353 5.16714 13.4139 5.74287 13.0663 6.00732L9.99962 8.34058C9.84418 8.45885 9.77913 8.66848 9.83851 8.85984L11.0099 12.6351C11.1426 13.063 10.675 13.4189 10.3274 13.1544L7.26069 10.8211C7.10524 10.7029 6.89476 10.7029 6.73931 10.8211L3.6726 13.1544C3.32502 13.4189 2.85735 13.063 2.99012 12.6351L4.16149 8.85984C4.22087 8.66848 4.15582 8.45885 4.00038 8.34058L0.933671 6.00732C0.586087 5.74287 0.764722 5.16714 1.19436 5.16714L4.98502 5.16714C5.17716 5.16714 5.34745 5.03758 5.40682 4.84622L6.5782 1.07092Z", fill: "currentColor", stroke: "currentColor" })); }, "SvgStarFilled"), - ir = i(_ref28 => { + ir = a(_ref28 => { let { title: e, titleId: t, ...n } = _ref28; - return c.createElement("svg", { + return u.createElement("svg", { height: "1em", viewBox: "0 0 14 14", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-labelledby": t, ...n - }, e ? c.createElement("title", { + }, e ? u.createElement("title", { id: t - }, e) : null, c.createElement("path", { + }, e) : null, u.createElement("path", { d: "M6.5782 1.07092C6.71096 0.643026 7.28904 0.643027 7.4218 1.07092L8.59318 4.84622C8.65255 5.03758 8.82284 5.16714 9.01498 5.16714L12.8056 5.16714C13.2353 5.16714 13.4139 5.74287 13.0663 6.00732L9.99962 8.34058C9.84418 8.45885 9.77913 8.66848 9.83851 8.85984L11.0099 12.6351C11.1426 13.063 10.675 13.4189 10.3274 13.1544L7.26069 10.8211C7.10524 10.7029 6.89476 10.7029 6.73931 10.8211L3.6726 13.1544C3.32502 13.4189 2.85735 13.063 2.99012 12.6351L4.16149 8.85984C4.22087 8.66848 4.15582 8.45885 4.00038 8.34058L0.933671 6.00732C0.586087 5.74287 0.764722 5.16714 1.19436 5.16714L4.98502 5.16714C5.17716 5.16714 5.34745 5.03758 5.40682 4.84622L6.5782 1.07092Z", stroke: "currentColor", strokeWidth: 1.5 })); }, "SvgStar"), - cr = i(_ref29 => { + ar = a(_ref29 => { let { title: e, titleId: t, ...n } = _ref29; - return c.createElement("svg", { + return u.createElement("svg", { height: "1em", viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-labelledby": t, ...n - }, e ? c.createElement("title", { + }, e ? u.createElement("title", { id: t - }, e) : null, c.createElement("rect", { + }, e) : null, u.createElement("rect", { width: 16, height: 16, rx: 2, fill: "currentColor" })); }, "SvgStop"), - ur = i(_ref30 => { + cr = a(_ref30 => { + let { + title: e, + titleId: t, + ...n + } = _ref30; + return u.createElement("svg", { + width: "1em", + height: "5em", + xmlns: "http://www.w3.org/2000/svg", + fillRule: "evenodd", + "aria-hidden": "true", + viewBox: "0 0 23 23", + style: { + height: "1.5em" + }, + clipRule: "evenodd", + "aria-labelledby": t, + ...n + }, e === void 0 ? u.createElement("title", { + id: t + }, "trash icon") : e ? u.createElement("title", { + id: t + }, e) : null, u.createElement("path", { + d: "M19 24h-14c-1.104 0-2-.896-2-2v-17h-1v-2h6v-1.5c0-.827.673-1.5 1.5-1.5h5c.825 0 1.5.671 1.5 1.5v1.5h6v2h-1v17c0 1.104-.896 2-2 2zm0-19h-14v16.5c0 .276.224.5.5.5h13c.276 0 .5-.224.5-.5v-16.5zm-7 7.586l3.293-3.293 1.414 1.414-3.293 3.293 3.293 3.293-1.414 1.414-3.293-3.293-3.293 3.293-1.414-1.414 3.293-3.293-3.293-3.293 1.414-1.414 3.293 3.293zm2-10.586h-4v1h4v-1z", + fill: "currentColor", + strokeWidth: .25, + stroke: "currentColor" + })); + }, "SvgTrash"), + ur = a(_ref31 => { + let { + title: e, + titleId: t, + ...n + } = _ref31; + return u.createElement("svg", { + height: "1em", + viewBox: "0 0 13 13", + fill: "none", + xmlns: "http://www.w3.org/2000/svg", + "aria-labelledby": t, + ...n + }, e ? u.createElement("title", { + id: t + }, e) : null, u.createElement("rect", { + x: .6, + y: .6, + width: 11.8, + height: 11.8, + rx: 5.9, + stroke: "currentColor", + strokeWidth: 1.2 + }), u.createElement("rect", { + x: 5.5, + y: 5.5, + width: 2, + height: 2, + rx: 1, + fill: "currentColor" + })); + }, "SvgType"), + Tt = V(Vn), + dr = V(In), + Mt = V(Hn), + hr = V(Dn), + Oe = V(An), + mr = V(On), + Pt = V(Fn), + qt = V(Bn), + Rt = V(Wn), + Vt = V(_n), + It = V(Zn, "filled docs icon"), + Ht = V(Gn), + Dt = V($n), + At = V(Qn), + Ot = V(zn), + Ft = V(Un), + fr = V(Kn), + Bt = V(Jn), + pr = V(Yn), + Wt = V(Xn), + _t = V(er), + gr = V(tr), + xr = V(nr), + Cr = V(rr), + Zt = V(sr), + vr = V(or), + Gt = V(lr, "filled star icon"), + $t = V(ir), + Qt = V(ar), + zt = V(cr, "trash icon"), + ge = V(ur); +function V(e) { + let t = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : e.name.replace("Svg", "").replaceAll(/([A-Z])/g, " $1").trimStart().toLowerCase() + " icon"; + return e.defaultProps = { + title: t + }, e; +} +a(V, "generateIcon"); +const $ = l.forwardRef((e, t) => s.jsx("button", { + ...e, + ref: t, + className: _.clsx("graphiql-un-styled", e.className) +})); +$.displayName = "UnStyledButton"; +const me = l.forwardRef((e, t) => s.jsx("button", { + ...e, + ref: t, + className: _.clsx("graphiql-button", { + success: "graphiql-button-success", + error: "graphiql-button-error" + }[e.state], e.className) +})); +me.displayName = "Button"; +const Ut = l.forwardRef((e, t) => s.jsx("div", { + ...e, + ref: t, + className: _.clsx("graphiql-button-group", e.className) +})); +Ut.displayName = "ButtonGroup"; +const ye = a((e, t) => Object.entries(t).reduce((n, _ref32) => { + let [r, o] = _ref32; + return n[r] = o, n; +}, e), "createComponentGroup"); +const Kt = l.forwardRef((e, t) => s.jsx(ne.Close, { + asChild: !0, + children: s.jsxs($, { + ...e, + ref: t, + type: "button", + className: _.clsx("graphiql-dialog-close", e.className), + children: [s.jsx(Pn.Root, { + children: "Close dialog" + }), s.jsx(Oe, {})] + }) +})); +Kt.displayName = "Dialog.Close"; +function Jt(_ref33) { + let { + children: e, + ...t + } = _ref33; + return s.jsx(ne.Root, { + ...t, + children: s.jsxs(ne.Portal, { + children: [s.jsx(ne.Overlay, { + className: "graphiql-dialog-overlay" + }), s.jsx(ne.Content, { + className: "graphiql-dialog", + children: e + })] + }) + }); +} +a(Jt, "DialogRoot"); +const yr = ye(Jt, { + Close: Kt, + Title: ne.Title, + Trigger: ne.Trigger, + Description: ne.Description +}); +const Yt = l.forwardRef((e, t) => s.jsx(xe.Trigger, { + asChild: !0, + children: s.jsx("button", { + ...e, + ref: t, + className: _.clsx("graphiql-un-styled", e.className) + }) +})); +Yt.displayName = "DropdownMenuButton"; +function br(_ref34) { + let { + children: e, + align: t = "start", + sideOffset: n = 5, + className: r, + ...o + } = _ref34; + return s.jsx(xe.Portal, { + children: s.jsx(xe.Content, { + align: t, + sideOffset: n, + className: _.clsx("graphiql-dropdown-content", r), + ...o, + children: e + }) + }); +} +a(br, "Content"); +const wr = a(_ref35 => { + let { + className: e, + children: t, + ...n + } = _ref35; + return s.jsx(xe.Item, { + className: _.clsx("graphiql-dropdown-item", e), + ...n, + children: t + }); + }, "Item"), + X = ye(xe.Root, { + Button: Yt, + Item: wr, + Content: br + }), + Me = new qn({ + breaks: !0, + linkify: !0 + }); +const z = l.forwardRef((_ref36, o) => { + let { + children: e, + onlyShowFirstChild: t, + type: n, + ...r + } = _ref36; + return s.jsx("div", { + ...r, + ref: o, + className: _.clsx(`graphiql-markdown-${n}`, t && "graphiql-markdown-preview", r.className), + dangerouslySetInnerHTML: { + __html: Me.render(e) + } + }); +}); +z.displayName = "MarkdownContent"; +const st = l.forwardRef((e, t) => s.jsx("div", { + ...e, + ref: t, + className: _.clsx("graphiql-spinner", e.className) +})); +st.displayName = "Spinner"; +function Xt(_ref37) { + let { + children: e, + align: t = "start", + side: n = "bottom", + sideOffset: r = 5, + label: o + } = _ref37; + return s.jsxs(pe.Root, { + children: [s.jsx(pe.Trigger, { + asChild: !0, + children: e + }), s.jsx(pe.Portal, { + children: s.jsx(pe.Content, { + className: "graphiql-tooltip", + align: t, + side: n, + sideOffset: r, + children: o + }) + })] + }); +} +a(Xt, "TooltipRoot"); +const K = ye(Xt, { + Provider: pe.Provider +}); +const en = l.forwardRef((_ref38, c) => { + let { + isActive: e, + value: t, + children: n, + className: r, + ...o + } = _ref38; + return s.jsx(kt.Reorder.Item, { + ...o, + ref: c, + value: t, + "aria-selected": e ? "true" : void 0, + role: "tab", + className: _.clsx("graphiql-tab", e && "graphiql-tab-active", r), + children: n + }); +}); +en.displayName = "Tab"; +const tn = l.forwardRef((e, t) => s.jsx($, { + ...e, + ref: t, + type: "button", + className: _.clsx("graphiql-tab-button", e.className), + children: e.children +})); +tn.displayName = "Tab.Button"; +const nn = l.forwardRef((e, t) => s.jsx(K, { + label: "Close Tab", + children: s.jsx($, { + "aria-label": "Close Tab", + ...e, + ref: t, + type: "button", + className: _.clsx("graphiql-tab-close", e.className), + children: s.jsx(Oe, {}) + }) +})); +nn.displayName = "Tab.Close"; +const Er = ye(en, { + Button: tn, + Close: nn + }), + rn = l.forwardRef((_ref39, c) => { + let { + values: e, + onReorder: t, + children: n, + className: r, + ...o + } = _ref39; + return s.jsx(kt.Reorder.Group, { + ...o, + ref: c, + values: e, + onReorder: t, + axis: "x", + role: "tablist", + className: _.clsx("graphiql-tabs", r), + children: n + }); + }); +rn.displayName = "Tabs"; +const ot = oe("HistoryContext"); +function sn(e) { + var y; + const t = re(), + n = l.useRef(new B.HistoryStore(t || new B.StorageAPI(null), e.maxHistoryLength || Sr)), + [r, o] = l.useState(((y = n.current) == null ? void 0 : y.queries) || []), + c = l.useCallback(h => { + var x; + (x = n.current) == null || x.updateHistory(h), o(n.current.queries); + }, []), + i = l.useCallback((h, x) => { + n.current.editLabel(h, x), o(n.current.queries); + }, []), + d = l.useCallback(h => { + n.current.toggleFavorite(h), o(n.current.queries); + }, []), + g = l.useCallback(h => h, []), + m = l.useCallback(function (h) { + let x = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !1; + n.current.deleteHistory(h, x), o(n.current.queries); + }, []), + p = l.useMemo(() => ({ + addToHistory: c, + editLabel: i, + items: r, + toggleFavorite: d, + setActive: g, + deleteFromHistory: m + }), [c, i, r, d, g, m]); + return s.jsx(ot.Provider, { + value: p, + children: e.children + }); +} +a(sn, "HistoryContextProvider"); +const be = le(ot), + Sr = 20; +function on() { + const { + items: e, + deleteFromHistory: t + } = be({ + nonNull: !0 + }); + let n = e.slice().map((d, g) => ({ + ...d, + index: g + })).reverse(); + const r = n.filter(d => d.favorite); + r.length && (n = n.filter(d => !d.favorite)); + const [o, c] = l.useState(null); + l.useEffect(() => { + o && setTimeout(() => { + c(null); + }, 2e3); + }, [o]); + const i = l.useCallback(() => { + try { + for (const d of n) t(d, !0); + c("success"); + } catch { + c("error"); + } + }, [t, n]); + return s.jsxs("section", { + "aria-label": "History", + className: "graphiql-history", + children: [s.jsxs("div", { + className: "graphiql-history-header", + children: ["History", (o || n.length > 0) && s.jsx(me, { + type: "button", + state: o || void 0, + disabled: !n.length, + onClick: i, + children: { + success: "Cleared", + error: "Failed to Clear" + }[o] || "Clear" + })] + }), !!r.length && s.jsx("ul", { + className: "graphiql-history-items", + children: r.map(d => s.jsx(Pe, { + item: d + }, d.index)) + }), !!r.length && !!n.length && s.jsx("div", { + className: "graphiql-history-item-spacer" + }), !!n.length && s.jsx("ul", { + className: "graphiql-history-items", + children: n.map(d => s.jsx(Pe, { + item: d + }, d.index)) + })] + }); +} +a(on, "History"); +function Pe(e) { + const { + editLabel: t, + toggleFavorite: n, + deleteFromHistory: r, + setActive: o + } = be({ + nonNull: !0, + caller: Pe + }), + { + headerEditor: c, + queryEditor: i, + variableEditor: d + } = Z({ + nonNull: !0, + caller: Pe + }), + g = l.useRef(null), + m = l.useRef(null), + [p, y] = l.useState(!1); + l.useEffect(() => { + var b; + p && ((b = g.current) == null || b.focus()); + }, [p]); + const h = e.item.label || e.item.operationName || Lr(e.item.query), + x = l.useCallback(() => { + var T; + y(!1); + const { + index: b, + ...w + } = e.item; + t({ + ...w, + label: (T = g.current) == null ? void 0 : T.value + }, b); + }, [t, e.item]), + f = l.useCallback(() => { + y(!1); + }, []), + C = l.useCallback(b => { + b.stopPropagation(), y(!0); + }, []), + E = l.useCallback(() => { + const { + query: b, + variables: w, + headers: T + } = e.item; + i == null || i.setValue(b !== null && b !== void 0 ? b : ""), d == null || d.setValue(w !== null && w !== void 0 ? w : ""), c == null || c.setValue(T !== null && T !== void 0 ? T : ""), o(e.item); + }, [c, e.item, i, o, d]), + k = l.useCallback(b => { + b.stopPropagation(), r(e.item); + }, [e.item, r]), + L = l.useCallback(b => { + b.stopPropagation(), n(e.item); + }, [e.item, n]); + return s.jsx("li", { + className: _.clsx("graphiql-history-item", p && "editable"), + children: p ? s.jsxs(s.Fragment, { + children: [s.jsx("input", { + type: "text", + defaultValue: e.item.label, + ref: g, + onKeyDown: b => { + b.key === "Esc" ? y(!1) : b.key === "Enter" && (y(!1), t({ + ...e.item, + label: b.currentTarget.value + })); + }, + placeholder: "Type a label" + }), s.jsx($, { + type: "button", + ref: m, + onClick: x, + children: "Save" + }), s.jsx($, { + type: "button", + ref: m, + onClick: f, + children: s.jsx(Oe, {}) + })] + }) : s.jsxs(s.Fragment, { + children: [s.jsx(K, { + label: "Set active", + children: s.jsx($, { + type: "button", + className: "graphiql-history-item-label", + onClick: E, + "aria-label": "Set active", + children: h + }) + }), s.jsx(K, { + label: "Edit label", + children: s.jsx($, { + type: "button", + className: "graphiql-history-item-action", + onClick: C, + "aria-label": "Edit label", + children: s.jsx(Wt, { + "aria-hidden": "true" + }) + }) + }), s.jsx(K, { + label: e.item.favorite ? "Remove favorite" : "Add favorite", + children: s.jsx($, { + type: "button", + className: "graphiql-history-item-action", + onClick: L, + "aria-label": e.item.favorite ? "Remove favorite" : "Add favorite", + children: e.item.favorite ? s.jsx(Gt, { + "aria-hidden": "true" + }) : s.jsx($t, { + "aria-hidden": "true" + }) + }) + }), s.jsx(K, { + label: "Delete from history", + children: s.jsx($, { + type: "button", + className: "graphiql-history-item-action", + onClick: k, + "aria-label": "Delete from history", + children: s.jsx(zt, { + "aria-hidden": "true" + }) + }) + })] + }) + }); +} +a(Pe, "HistoryItem"); +function Lr(e) { + return e == null ? void 0 : e.split(` +`).map(t => t.replace(/#(.*)/, "")).join(" ").replaceAll("{", " { ").replaceAll("}", " } ").replaceAll(/[\s]{2,}/g, " "); +} +a(Lr, "formatQuery"); +const lt = oe("ExecutionContext"); +function qe(_ref40) { + let { + fetcher: e, + getDefaultFieldNames: t, + children: n, + operationName: r + } = _ref40; + if (!e) throw new TypeError("The `ExecutionContextProvider` component requires a `fetcher` function to be passed as prop."); + const { + externalFragments: o, + headerEditor: c, + queryEditor: i, + responseEditor: d, + variableEditor: g, + updateActiveTabValues: m + } = Z({ + nonNull: !0, + caller: qe + }), + p = be(), + y = Ie({ + getDefaultFieldNames: t, + caller: qe + }), + [h, x] = l.useState(!1), + [f, C] = l.useState(null), + E = l.useRef(0), + k = l.useCallback(() => { + f == null || f.unsubscribe(), x(!1), C(null); + }, [f]), + L = l.useCallback(async () => { + var _ref41; + if (!i || !d) return; + if (f) { + k(); + return; + } + const T = a(N => { + d.setValue(N), m({ + response: N + }); + }, "setResponse"); + E.current += 1; + const A = E.current; + let F = y() || i.getValue(); + const I = g == null ? void 0 : g.getValue(); + let H; + try { + H = yt({ + json: I, + errorMessageParse: "Variables are invalid JSON", + errorMessageType: "Variables are not a JSON object." + }); + } catch (N) { + T(N instanceof Error ? N.message : `${N}`); + return; + } + const O = c == null ? void 0 : c.getValue(); + let D; + try { + D = yt({ + json: O, + errorMessageParse: "Headers are invalid JSON", + errorMessageType: "Headers are not a JSON object." + }); + } catch (N) { + T(N instanceof Error ? N.message : `${N}`); + return; + } + if (o) { + const N = i.documentAST ? jt.getFragmentDependenciesForAST(i.documentAST, o) : []; + N.length > 0 && (F += ` +` + N.map(P => M.print(P)).join(` +`)); + } + T(""), x(!0); + const q = (_ref41 = r !== null && r !== void 0 ? r : i.operationName) !== null && _ref41 !== void 0 ? _ref41 : void 0; + p == null || p.addToHistory({ + query: F, + variables: I, + headers: O, + operationName: q + }); + try { + var _D, _i$documentAST; + const N = {}, + P = a(v => { + if (A !== E.current) return; + let j = Array.isArray(v) ? v : !1; + if (!j && typeof v == "object" && v !== null && "hasNext" in v && (j = [v]), j) { + for (const R of j) ln(N, R); + x(!1), T(B.formatResult(N)); + } else { + const R = B.formatResult(v); + x(!1), T(R); + } + }, "handleResponse"), + S = e({ + query: F, + variables: H, + operationName: q + }, { + headers: (_D = D) !== null && _D !== void 0 ? _D : void 0, + documentAST: (_i$documentAST = i.documentAST) !== null && _i$documentAST !== void 0 ? _i$documentAST : void 0 + }), + W = await Promise.resolve(S); + if (B.isObservable(W)) C(W.subscribe({ + next(v) { + P(v); + }, + error(v) { + x(!1), v && T(B.formatError(v)), C(null); + }, + complete() { + x(!1), C(null); + } + }));else if (B.isAsyncIterable(W)) { + C({ + unsubscribe: () => { + var v, j; + return (j = (v = W[Symbol.asyncIterator]()).return) == null ? void 0 : j.call(v); + } + }); + for await (const v of W) P(v); + x(!1), C(null); + } else P(W); + } catch (N) { + x(!1), T(B.formatError(N)), C(null); + } + }, [y, o, e, c, p, r, i, d, k, f, m, g]), + b = !!f, + w = l.useMemo(() => ({ + isFetching: h, + isSubscribed: b, + operationName: r !== null && r !== void 0 ? r : null, + run: L, + stop: k + }), [h, b, r, L, k]); + return s.jsx(lt.Provider, { + value: w, + children: n + }); +} +a(qe, "ExecutionContextProvider"); +const we = le(lt); +function yt(_ref42) { + let { + json: e, + errorMessageParse: t, + errorMessageType: n + } = _ref42; + let r; + try { + r = e && e.trim() !== "" ? JSON.parse(e) : void 0; + } catch (c) { + throw new Error(`${t}: ${c instanceof Error ? c.message : c}.`); + } + const o = typeof r == "object" && r !== null && !Array.isArray(r); + if (r !== void 0 && !o) throw new Error(n); + return r; +} +a(yt, "tryParseJsonObject"); +function ln(e, t) { + var _t$path; + const n = ["data", ...((_t$path = t.path) !== null && _t$path !== void 0 ? _t$path : [])]; + if (t.items) for (const r of t.items) $e(e, n.join("."), r), n[n.length - 1]++; + if (t.data && $e(e, n.join("."), t.data, { + merge: !0 + }), t.errors && (e.errors || (e.errors = []), e.errors.push(...t.errors)), t.extensions && $e(e, "extensions", t.extensions, { + merge: !0 + }), t.incremental) for (const r of t.incremental) ln(e, r); +} +a(ln, "mergeIncrementalResult"); +const Fe = "graphiql", + Be = "sublime"; +let an = !1; +typeof window == "object" && (an = window.navigator.platform.toLowerCase().indexOf("mac") === 0); +const We = { + [an ? "Cmd-F" : "Ctrl-F"]: "findPersistent", + "Cmd-G": "findPersistent", + "Ctrl-G": "findPersistent", + "Ctrl-Left": "goSubwordLeft", + "Ctrl-Right": "goSubwordRight", + "Alt-Left": "goGroupLeft", + "Alt-Right": "goGroupRight" +}; +async function Ee(e, t) { + const n = await Promise.resolve().then(() => __webpack_require__(/*! ./codemirror.cjs.js */ "../../graphiql-react/dist/codemirror.cjs.js")).then(r => r.codemirror).then(r => typeof r == "function" ? r : r.default); + return await Promise.all((t == null ? void 0 : t.useCommonAddons) === !1 ? e : [Promise.resolve().then(() => __webpack_require__(/*! ./show-hint.cjs.js */ "../../graphiql-react/dist/show-hint.cjs.js")).then(r => r.showHint), Promise.resolve().then(() => __webpack_require__(/*! ./matchbrackets.cjs.js */ "../../graphiql-react/dist/matchbrackets.cjs.js")).then(r => r.matchbrackets), Promise.resolve().then(() => __webpack_require__(/*! ./closebrackets.cjs.js */ "../../graphiql-react/dist/closebrackets.cjs.js")).then(r => r.closebrackets), Promise.resolve().then(() => __webpack_require__(/*! ./brace-fold.cjs.js */ "../../graphiql-react/dist/brace-fold.cjs.js")).then(r => r.braceFold), Promise.resolve().then(() => __webpack_require__(/*! ./foldgutter.cjs.js */ "../../graphiql-react/dist/foldgutter.cjs.js")).then(r => r.foldgutter), Promise.resolve().then(() => __webpack_require__(/*! ./lint.cjs.js */ "../../graphiql-react/dist/lint.cjs.js")).then(r => r.lint), Promise.resolve().then(() => __webpack_require__(/*! ./searchcursor.cjs.js */ "../../graphiql-react/dist/searchcursor.cjs.js")).then(r => r.searchcursor), Promise.resolve().then(() => __webpack_require__(/*! ./jump-to-line.cjs.js */ "../../graphiql-react/dist/jump-to-line.cjs.js")).then(r => r.jumpToLine), Promise.resolve().then(() => __webpack_require__(/*! ./dialog.cjs.js */ "../../graphiql-react/dist/dialog.cjs.js")).then(r => r.dialog), Promise.resolve().then(() => __webpack_require__(/*! ./sublime.cjs.js */ "../../graphiql-react/dist/sublime.cjs.js")).then(r => r.sublime), ...e]), n; +} +a(Ee, "importCodeMirror"); +const jr = a(e => e ? M.print(e) : "", "printDefault"); +function it(_ref43) { + let { + field: e + } = _ref43; + if (!("defaultValue" in e) || e.defaultValue === void 0) return null; + const t = M.astFromValue(e.defaultValue, e.type); + return t ? s.jsxs(s.Fragment, { + children: [" = ", s.jsx("span", { + className: "graphiql-doc-explorer-default-value", + children: jr(t) + })] + }) : null; +} +a(it, "DefaultValue"); +const at = oe("SchemaContext"); +function ct(e) { + if (!e.fetcher) throw new TypeError("The `SchemaContextProvider` component requires a `fetcher` function to be passed as prop."); + const { + initialHeaders: t, + headerEditor: n + } = Z({ + nonNull: !0, + caller: ct + }), + [r, o] = l.useState(), + [c, i] = l.useState(!1), + [d, g] = l.useState(null), + m = l.useRef(0); + l.useEffect(() => { + o(M.isSchema(e.schema) || e.schema === null || e.schema === void 0 ? e.schema : void 0), m.current++; + }, [e.schema]); + const p = l.useRef(t); + l.useEffect(() => { + n && (p.current = n.getValue()); + }); + const { + introspectionQuery: y, + introspectionQueryName: h, + introspectionQuerySansSubscriptions: x + } = kr({ + inputValueDeprecation: e.inputValueDeprecation, + introspectionQueryName: e.introspectionQueryName, + schemaDescription: e.schemaDescription + }), + { + fetcher: f, + onSchemaChange: C, + dangerouslyAssumeSchemaIsValid: E, + children: k + } = e, + L = l.useCallback(() => { + if (M.isSchema(e.schema) || e.schema === null) return; + const T = ++m.current, + A = e.schema; + async function F() { + if (A) return A; + const I = Nr(p.current); + if (!I.isValidJSON) { + g("Introspection failed as headers are invalid."); + return; + } + const H = I.headers ? { + headers: I.headers + } : {}, + O = B.fetcherReturnToPromise(f({ + query: y, + operationName: h + }, H)); + if (!B.isPromise(O)) { + g("Fetcher did not return a Promise for introspection."); + return; + } + i(!0), g(null); + let D = await O; + if (typeof D != "object" || D === null || !("data" in D)) { + const N = B.fetcherReturnToPromise(f({ + query: x, + operationName: h + }, H)); + if (!B.isPromise(N)) throw new Error("Fetcher did not return a Promise for introspection."); + D = await N; + } + if (i(!1), D != null && D.data && "__schema" in D.data) return D.data; + const q = typeof D == "string" ? D : B.formatResult(D); + g(q); + } + a(F, "fetchIntrospectionData"), F().then(I => { + if (!(T !== m.current || !I)) try { + const H = M.buildClientSchema(I); + o(H), C == null || C(H); + } catch (H) { + g(B.formatError(H)); + } + }).catch(I => { + T === m.current && (g(B.formatError(I)), i(!1)); + }); + }, [f, h, y, x, C, e.schema]); + l.useEffect(() => { + L(); + }, [L]), l.useEffect(() => { + function T(A) { + A.ctrlKey && A.key === "R" && L(); + } + return a(T, "triggerIntrospection"), window.addEventListener("keydown", T), () => window.removeEventListener("keydown", T); + }); + const b = l.useMemo(() => !r || E ? [] : M.validateSchema(r), [r, E]), + w = l.useMemo(() => ({ + fetchError: d, + introspect: L, + isFetching: c, + schema: r, + validationErrors: b + }), [d, L, c, r, b]); + return s.jsx(at.Provider, { + value: w, + children: k + }); +} +a(ct, "SchemaContextProvider"); +const Y = le(at); +function kr(_ref44) { + let { + inputValueDeprecation: e, + introspectionQueryName: t, + schemaDescription: n + } = _ref44; + return l.useMemo(() => { + const r = t || "IntrospectionQuery"; + let o = M.getIntrospectionQuery({ + inputValueDeprecation: e, + schemaDescription: n + }); + t && (o = o.replace("query IntrospectionQuery", `query ${r}`)); + const c = o.replace("subscriptionType { name }", ""); + return { + introspectionQueryName: r, + introspectionQuery: o, + introspectionQuerySansSubscriptions: c + }; + }, [e, t, n]); +} +a(kr, "useIntrospectionQuery"); +function Nr(e) { + let t = null, + n = !0; + try { + e && (t = JSON.parse(e)); + } catch { + n = !1; + } + return { + headers: t, + isValidJSON: n + }; +} +a(Nr, "parseHeaderString"); +const Le = { + name: "Docs" + }, + ut = oe("ExplorerContext"); +function dt(e) { + const { + schema: t, + validationErrors: n + } = Y({ + nonNull: !0, + caller: dt + }), + [r, o] = l.useState([Le]), + c = l.useCallback(m => { + o(p => p.at(-1).def === m.def ? p : [...p, m]); + }, []), + i = l.useCallback(() => { + o(m => m.length > 1 ? m.slice(0, -1) : m); + }, []), + d = l.useCallback(() => { + o(m => m.length === 1 ? m : [Le]); + }, []); + l.useEffect(() => { + t == null || n.length > 0 ? d() : o(m => { + if (m.length === 1) return m; + const p = [Le]; + let y = null; + for (const h of m) if (h !== Le) if (h.def) { + if (M.isNamedType(h.def)) { + const x = t.getType(h.def.name); + if (x) p.push({ + name: h.name, + def: x + }), y = x;else break; + } else { + if (y === null) break; + if (M.isObjectType(y) || M.isInputObjectType(y)) { + const x = y.getFields()[h.name]; + if (x) p.push({ + name: h.name, + def: x + });else break; + } else { + if (M.isScalarType(y) || M.isEnumType(y) || M.isInterfaceType(y) || M.isUnionType(y)) break; + { + const x = y; + if (x.args.find(C => C.name === h.name)) p.push({ + name: h.name, + def: x + });else break; + } + } + } + } else y = null, p.push(h); + return p; + }); + }, [d, t, n]); + const g = l.useMemo(() => ({ + explorerNavStack: r, + push: c, + pop: i, + reset: d + }), [r, c, i, d]); + return s.jsx(ut.Provider, { + value: g, + children: e.children + }); +} +a(dt, "ExplorerContextProvider"); +const ee = le(ut); +function Re(e, t) { + return M.isNonNullType(e) ? s.jsxs(s.Fragment, { + children: [Re(e.ofType, t), "!"] + }) : M.isListType(e) ? s.jsxs(s.Fragment, { + children: ["[", Re(e.ofType, t), "]"] + }) : t(e); +} +a(Re, "renderType"); +function Q(e) { + const { + push: t + } = ee({ + nonNull: !0, + caller: Q + }); + return e.type ? Re(e.type, n => s.jsx("a", { + className: "graphiql-doc-explorer-type-name", + onClick: r => { + r.preventDefault(), t({ + name: n.name, + def: n + }); + }, + href: "#", + children: n.name + })) : null; +} +a(Q, "TypeLink"); +function Ce(_ref45) { + let { + arg: e, + showDefaultValue: t, + inline: n + } = _ref45; + const r = s.jsxs("span", { + children: [s.jsx("span", { + className: "graphiql-doc-explorer-argument-name", + children: e.name + }), ": ", s.jsx(Q, { + type: e.type + }), t !== !1 && s.jsx(it, { + field: e + })] + }); + return n ? r : s.jsxs("div", { + className: "graphiql-doc-explorer-argument", + children: [r, e.description ? s.jsx(z, { + type: "description", + children: e.description + }) : null, e.deprecationReason ? s.jsxs("div", { + className: "graphiql-doc-explorer-argument-deprecation", + children: [s.jsx("div", { + className: "graphiql-doc-explorer-argument-deprecation-label", + children: "Deprecated" + }), s.jsx(z, { + type: "deprecation", + children: e.deprecationReason + })] + }) : null] + }); +} +a(Ce, "Argument"); +function ht(e) { + var _e$preview; + return e.children ? s.jsxs("div", { + className: "graphiql-doc-explorer-deprecation", + children: [s.jsx("div", { + className: "graphiql-doc-explorer-deprecation-label", + children: "Deprecated" + }), s.jsx(z, { + type: "deprecation", + onlyShowFirstChild: (_e$preview = e.preview) !== null && _e$preview !== void 0 ? _e$preview : !0, + children: e.children + })] + }) : null; +} +a(ht, "DeprecationReason"); +function cn(_ref46) { + let { + directive: e + } = _ref46; + return s.jsxs("span", { + className: "graphiql-doc-explorer-directive", + children: ["@", e.name.value] + }); +} +a(cn, "Directive"); +function G(e) { + const t = Tr[e.title]; + return s.jsxs("div", { + children: [s.jsxs("div", { + className: "graphiql-doc-explorer-section-title", + children: [s.jsx(t, {}), e.title] + }), s.jsx("div", { + className: "graphiql-doc-explorer-section-content", + children: e.children + })] + }); +} +a(G, "ExplorerSection"); +const Tr = { + Arguments: Tt, + "Deprecated Arguments": Pt, + "Deprecated Enum Values": qt, + "Deprecated Fields": Rt, + Directives: Vt, + "Enum Values": Dt, + Fields: At, + Implements: Ft, + Implementations: ge, + "Possible Types": ge, + "Root Types": Zt, + Type: ge, + "All Schema Types": ge +}; +function un(e) { + return s.jsxs(s.Fragment, { + children: [e.field.description ? s.jsx(z, { + type: "description", + children: e.field.description + }) : null, s.jsx(ht, { + preview: !1, + children: e.field.deprecationReason + }), s.jsx(G, { + title: "Type", + children: s.jsx(Q, { + type: e.field.type + }) + }), s.jsx(Mr, { + field: e.field + }), s.jsx(Pr, { + field: e.field + })] + }); +} +a(un, "FieldDocumentation"); +function Mr(_ref47) { + let { + field: e + } = _ref47; + const [t, n] = l.useState(!1), + r = l.useCallback(() => { + n(!0); + }, []); + if (!("args" in e)) return null; + const o = [], + c = []; + for (const i of e.args) i.deprecationReason ? c.push(i) : o.push(i); + return s.jsxs(s.Fragment, { + children: [o.length > 0 ? s.jsx(G, { + title: "Arguments", + children: o.map(i => s.jsx(Ce, { + arg: i + }, i.name)) + }) : null, c.length > 0 ? t || o.length === 0 ? s.jsx(G, { + title: "Deprecated Arguments", + children: c.map(i => s.jsx(Ce, { + arg: i + }, i.name)) + }) : s.jsx(me, { + type: "button", + onClick: r, + children: "Show Deprecated Arguments" + }) : null] + }); +} +a(Mr, "Arguments"); +function Pr(_ref48) { + let { + field: e + } = _ref48; + var n; + const t = ((n = e.astNode) == null ? void 0 : n.directives) || []; + return !t || t.length === 0 ? null : s.jsx(G, { + title: "Directives", + children: t.map(r => s.jsx("div", { + children: s.jsx(cn, { + directive: r + }) + }, r.name.value)) + }); +} +a(Pr, "Directives"); +function dn(e) { + var i, d, g, m; + const t = e.schema.getQueryType(), + n = (d = (i = e.schema).getMutationType) == null ? void 0 : d.call(i), + r = (m = (g = e.schema).getSubscriptionType) == null ? void 0 : m.call(g), + o = e.schema.getTypeMap(), + c = [t == null ? void 0 : t.name, n == null ? void 0 : n.name, r == null ? void 0 : r.name]; + return s.jsxs(s.Fragment, { + children: [s.jsx(z, { + type: "description", + children: e.schema.description || "A GraphQL schema provides a root type for each kind of operation." + }), s.jsxs(G, { + title: "Root Types", + children: [t ? s.jsxs("div", { + children: [s.jsx("span", { + className: "graphiql-doc-explorer-root-type", + children: "query" + }), ": ", s.jsx(Q, { + type: t + })] + }) : null, n && s.jsxs("div", { + children: [s.jsx("span", { + className: "graphiql-doc-explorer-root-type", + children: "mutation" + }), ": ", s.jsx(Q, { + type: n + })] + }), r && s.jsxs("div", { + children: [s.jsx("span", { + className: "graphiql-doc-explorer-root-type", + children: "subscription" + }), ": ", s.jsx(Q, { + type: r + })] + })] + }), s.jsx(G, { + title: "All Schema Types", + children: o && s.jsx("div", { + children: Object.values(o).map(p => c.includes(p.name) || p.name.startsWith("__") ? null : s.jsx("div", { + children: s.jsx(Q, { + type: p + }) + }, p.name)) + }) + })] + }); +} +a(dn, "SchemaDocumentation"); +function ue(e, t) { + let n; + return function () { + for (var _len = arguments.length, r = new Array(_len), _key = 0; _key < _len; _key++) { + r[_key] = arguments[_key]; + } + n && window.clearTimeout(n), n = window.setTimeout(() => { + n = null, t(...r); + }, e); + }; +} +a(ue, "debounce"); +function mt() { + const { + explorerNavStack: e, + push: t + } = ee({ + nonNull: !0, + caller: mt + }), + n = l.useRef(null), + r = Ke(), + [o, c] = l.useState(""), + [i, d] = l.useState(r(o)), + g = l.useMemo(() => ue(200, f => { + d(r(f)); + }), [r]); + l.useEffect(() => { + g(o); + }, [g, o]), l.useEffect(() => { + function f(C) { + var E; + C.metaKey && C.key === "k" && ((E = n.current) == null || E.focus()); + } + return a(f, "handleKeyDown"), window.addEventListener("keydown", f), () => window.removeEventListener("keydown", f); + }, []); + const m = e.at(-1), + p = l.useCallback(f => { + t("field" in f ? { + name: f.field.name, + def: f.field + } : { + name: f.type.name, + def: f.type + }); + }, [t]), + y = l.useRef(!1), + h = l.useCallback(f => { + y.current = f.type === "focus"; + }, []); + return e.length === 1 || M.isObjectType(m.def) || M.isInterfaceType(m.def) || M.isInputObjectType(m.def) ? s.jsxs(ae.Combobox, { + as: "div", + className: "graphiql-doc-explorer-search", + onChange: p, + "data-state": y ? void 0 : "idle", + "aria-label": `Search ${m.name}...`, + children: [s.jsxs("div", { + className: "graphiql-doc-explorer-search-input", + onClick: () => { + var f; + (f = n.current) == null || f.focus(); + }, + children: [s.jsx(Bt, {}), s.jsx(ae.Combobox.Input, { + autoComplete: "off", + onFocus: h, + onBlur: h, + onChange: f => c(f.target.value), + placeholder: "⌘ K", + ref: n, + value: o, + "data-cy": "doc-explorer-input" + })] + }), y.current && s.jsxs(ae.Combobox.Options, { + "data-cy": "doc-explorer-list", + children: [i.within.length + i.types.length + i.fields.length === 0 ? s.jsx("li", { + className: "graphiql-doc-explorer-search-empty", + children: "No results found" + }) : i.within.map((f, C) => s.jsx(ae.Combobox.Option, { + value: f, + "data-cy": "doc-explorer-option", + children: s.jsx(bt, { + field: f.field, + argument: f.argument + }) + }, `within-${C}`)), i.within.length > 0 && i.types.length + i.fields.length > 0 ? s.jsx("div", { + className: "graphiql-doc-explorer-search-divider", + children: "Other results" + }) : null, i.types.map((f, C) => s.jsx(ae.Combobox.Option, { + value: f, + "data-cy": "doc-explorer-option", + children: s.jsx(Je, { + type: f.type + }) + }, `type-${C}`)), i.fields.map((f, C) => s.jsxs(ae.Combobox.Option, { + value: f, + "data-cy": "doc-explorer-option", + children: [s.jsx(Je, { + type: f.type + }), ".", s.jsx(bt, { + field: f.field, + argument: f.argument + })] + }, `field-${C}`))] + })] + }) : null; +} +a(mt, "Search"); +function Ke(e) { + const { + explorerNavStack: t + } = ee({ + nonNull: !0, + caller: e || Ke + }), + { + schema: n + } = Y({ + nonNull: !0, + caller: e || Ke + }), + r = t.at(-1); + return l.useCallback(o => { + const c = { + within: [], + types: [], + fields: [] + }; + if (!n) return c; + const i = r.def, + d = n.getTypeMap(); + let g = Object.keys(d); + i && (g = g.filter(m => m !== i.name), g.unshift(i.name)); + for (const m of g) { + if (c.within.length + c.types.length + c.fields.length >= 100) break; + const p = d[m]; + if (i !== p && Qe(m, o) && c.types.push({ + type: p + }), !M.isObjectType(p) && !M.isInterfaceType(p) && !M.isInputObjectType(p)) continue; + const y = p.getFields(); + for (const h in y) { + const x = y[h]; + let f; + if (!Qe(h, o)) if ("args" in x) { + if (f = x.args.filter(C => Qe(C.name, o)), f.length === 0) continue; + } else continue; + c[i === p ? "within" : "fields"].push(...(f ? f.map(C => ({ + type: p, + field: x, + argument: C + })) : [{ + type: p, + field: x + }])); + } + } + return c; + }, [r.def, n]); +} +a(Ke, "useSearchResults"); +function Qe(e, t) { + try { + const n = t.replaceAll(/[^_0-9A-Za-z]/g, r => "\\" + r); + return e.search(new RegExp(n, "i")) !== -1; + } catch { + return e.toLowerCase().includes(t.toLowerCase()); + } +} +a(Qe, "isMatch"); +function Je(e) { + return s.jsx("span", { + className: "graphiql-doc-explorer-search-type", + children: e.type.name + }); +} +a(Je, "Type"); +function bt(_ref49) { + let { + field: e, + argument: t + } = _ref49; + return s.jsxs(s.Fragment, { + children: [s.jsx("span", { + className: "graphiql-doc-explorer-search-field", + children: e.name + }), t ? s.jsxs(s.Fragment, { + children: ["(", s.jsx("span", { + className: "graphiql-doc-explorer-search-argument", + children: t.name + }), ":", " ", Re(t.type, n => s.jsx(Je, { + type: n + })), ")"] + }) : null] + }); +} +a(bt, "Field$1"); +function hn(e) { + const { + push: t + } = ee({ + nonNull: !0 + }); + return s.jsx("a", { + className: "graphiql-doc-explorer-field-name", + onClick: n => { + n.preventDefault(), t({ + name: e.field.name, + def: e.field + }); + }, + href: "#", + children: e.field.name + }); +} +a(hn, "FieldLink"); +function mn(e) { + return M.isNamedType(e.type) ? s.jsxs(s.Fragment, { + children: [e.type.description ? s.jsx(z, { + type: "description", + children: e.type.description + }) : null, s.jsx(qr, { + type: e.type + }), s.jsx(Rr, { + type: e.type + }), s.jsx(Vr, { + type: e.type + }), s.jsx(Ir, { + type: e.type + })] + }) : null; +} +a(mn, "TypeDocumentation"); +function qr(_ref50) { + let { + type: e + } = _ref50; + return M.isObjectType(e) && e.getInterfaces().length > 0 ? s.jsx(G, { + title: "Implements", + children: e.getInterfaces().map(n => s.jsx("div", { + children: s.jsx(Q, { + type: n + }) + }, n.name)) + }) : null; +} +a(qr, "ImplementsInterfaces"); +function Rr(_ref51) { + let { + type: e + } = _ref51; + const [t, n] = l.useState(!1), + r = l.useCallback(() => { + n(!0); + }, []); + if (!M.isObjectType(e) && !M.isInterfaceType(e) && !M.isInputObjectType(e)) return null; + const o = e.getFields(), + c = [], + i = []; + for (const d of Object.keys(o).map(g => o[g])) d.deprecationReason ? i.push(d) : c.push(d); + return s.jsxs(s.Fragment, { + children: [c.length > 0 ? s.jsx(G, { + title: "Fields", + children: c.map(d => s.jsx(wt, { + field: d + }, d.name)) + }) : null, i.length > 0 ? t || c.length === 0 ? s.jsx(G, { + title: "Deprecated Fields", + children: i.map(d => s.jsx(wt, { + field: d + }, d.name)) + }) : s.jsx(me, { + type: "button", + onClick: r, + children: "Show Deprecated Fields" + }) : null] + }); +} +a(Rr, "Fields"); +function wt(_ref52) { + let { + field: e + } = _ref52; + const t = "args" in e ? e.args.filter(n => !n.deprecationReason) : []; + return s.jsxs("div", { + className: "graphiql-doc-explorer-item", + children: [s.jsxs("div", { + children: [s.jsx(hn, { + field: e + }), t.length > 0 ? s.jsxs(s.Fragment, { + children: ["(", s.jsx("span", { + children: t.map(n => t.length === 1 ? s.jsx(Ce, { + arg: n, + inline: !0 + }, n.name) : s.jsx("div", { + className: "graphiql-doc-explorer-argument-multiple", + children: s.jsx(Ce, { + arg: n, + inline: !0 + }) + }, n.name)) + }), ")"] + }) : null, ": ", s.jsx(Q, { + type: e.type + }), s.jsx(it, { + field: e + })] + }), e.description ? s.jsx(z, { + type: "description", + onlyShowFirstChild: !0, + children: e.description + }) : null, s.jsx(ht, { + children: e.deprecationReason + })] + }); +} +a(wt, "Field"); +function Vr(_ref53) { + let { + type: e + } = _ref53; + const [t, n] = l.useState(!1), + r = l.useCallback(() => { + n(!0); + }, []); + if (!M.isEnumType(e)) return null; + const o = [], + c = []; + for (const i of e.getValues()) i.deprecationReason ? c.push(i) : o.push(i); + return s.jsxs(s.Fragment, { + children: [o.length > 0 ? s.jsx(G, { + title: "Enum Values", + children: o.map(i => s.jsx(Et, { + value: i + }, i.name)) + }) : null, c.length > 0 ? t || o.length === 0 ? s.jsx(G, { + title: "Deprecated Enum Values", + children: c.map(i => s.jsx(Et, { + value: i + }, i.name)) + }) : s.jsx(me, { + type: "button", + onClick: r, + children: "Show Deprecated Values" + }) : null] + }); +} +a(Vr, "EnumValues"); +function Et(_ref54) { + let { + value: e + } = _ref54; + return s.jsxs("div", { + className: "graphiql-doc-explorer-item", + children: [s.jsx("div", { + className: "graphiql-doc-explorer-enum-value", + children: e.name + }), e.description ? s.jsx(z, { + type: "description", + children: e.description + }) : null, e.deprecationReason ? s.jsx(z, { + type: "deprecation", + children: e.deprecationReason + }) : null] + }); +} +a(Et, "EnumValue"); +function Ir(_ref55) { + let { + type: e + } = _ref55; + const { + schema: t + } = Y({ + nonNull: !0 + }); + return !t || !M.isAbstractType(e) ? null : s.jsx(G, { + title: M.isInterfaceType(e) ? "Implementations" : "Possible Types", + children: t.getPossibleTypes(e).map(n => s.jsx("div", { + children: s.jsx(Q, { + type: n + }) + }, n.name)) + }); +} +a(Ir, "PossibleTypes"); +function Ve() { + const { + fetchError: e, + isFetching: t, + schema: n, + validationErrors: r + } = Y({ + nonNull: !0, + caller: Ve + }), + { + explorerNavStack: o, + pop: c + } = ee({ + nonNull: !0, + caller: Ve + }), + i = o.at(-1); + let d = null; + e ? d = s.jsx("div", { + className: "graphiql-doc-explorer-error", + children: "Error fetching schema" + }) : r.length > 0 ? d = s.jsxs("div", { + className: "graphiql-doc-explorer-error", + children: ["Schema is invalid: ", r[0].message] + }) : t ? d = s.jsx(st, {}) : n ? o.length === 1 ? d = s.jsx(dn, { + schema: n + }) : M.isType(i.def) ? d = s.jsx(mn, { + type: i.def + }) : i.def && (d = s.jsx(un, { + field: i.def + })) : d = s.jsx("div", { + className: "graphiql-doc-explorer-error", + children: "No GraphQL schema available" + }); + let g; + return o.length > 1 && (g = o.at(-2).name), s.jsxs("section", { + className: "graphiql-doc-explorer", + "aria-label": "Documentation Explorer", + children: [s.jsxs("div", { + className: "graphiql-doc-explorer-header", + children: [s.jsxs("div", { + className: "graphiql-doc-explorer-header-content", + children: [g && s.jsxs("a", { + href: "#", + className: "graphiql-doc-explorer-back", + onClick: m => { + m.preventDefault(), c(); + }, + "aria-label": `Go back to ${g}`, + children: [s.jsx(Mt, {}), g] + }), s.jsx("div", { + className: "graphiql-doc-explorer-title", + children: i.name + })] + }), s.jsx(mt, {}, i.name)] + }), s.jsx("div", { + className: "graphiql-doc-explorer-content", + children: d + })] + }); +} +a(Ve, "DocExplorer"); +const de = { + title: "Documentation Explorer", + icon: a(function () { + const t = _e(); + return (t == null ? void 0 : t.visiblePlugin) === de ? s.jsx(It, {}) : s.jsx(Ht, {}); + }, "Icon"), + content: Ve + }, + Ye = { + title: "History", + icon: Ot, + content: on + }, + ft = oe("PluginContext"); +function fn(e) { + const t = re(), + n = ee(), + r = be(), + o = !!n, + c = !!r, + i = l.useMemo(() => { + const x = [], + f = {}; + o && (x.push(de), f[de.title] = !0), c && (x.push(Ye), f[Ye.title] = !0); + for (const C of e.plugins || []) { + if (typeof C.title != "string" || !C.title) throw new Error("All GraphiQL plugins must have a unique title"); + if (f[C.title]) throw new Error(`All GraphiQL plugins must have a unique title, found two plugins with the title '${C.title}'`); + x.push(C), f[C.title] = !0; + } + return x; + }, [o, c, e.plugins]), + [d, g] = l.useState(() => { + const x = t == null ? void 0 : t.get(St), + f = i.find(C => C.title === x); + return f || (x && (t == null || t.set(St, "")), e.visiblePlugin && i.find(C => (typeof e.visiblePlugin == "string" ? C.title : C) === e.visiblePlugin) || null); + }), + { + onTogglePluginVisibility: m, + children: p + } = e, + y = l.useCallback(x => { + const f = x && i.find(C => (typeof x == "string" ? C.title : C) === x) || null; + g(C => f === C ? C : (m == null || m(f), f)); + }, [m, i]); + l.useEffect(() => { + e.visiblePlugin && y(e.visiblePlugin); + }, [i, e.visiblePlugin, y]); + const h = l.useMemo(() => ({ + plugins: i, + setVisiblePlugin: y, + visiblePlugin: d + }), [i, y, d]); + return s.jsx(ft.Provider, { + value: h, + children: p + }); +} +a(fn, "PluginContextProvider"); +const _e = le(ft), + St = "visiblePlugin"; +function Hr(e, t, n, r, o, c) { + Ee([], { + useCommonAddons: !1 + }).then(d => { + let g, m, p, y, h, x, f, C, E; + d.on(t, "select", (k, L) => { + if (!g) { + const b = L.parentNode; + g = document.createElement("div"), g.className = "CodeMirror-hint-information", b.append(g); + const w = document.createElement("header"); + w.className = "CodeMirror-hint-information-header", g.append(w), m = document.createElement("span"), m.className = "CodeMirror-hint-information-field-name", w.append(m), p = document.createElement("span"), p.className = "CodeMirror-hint-information-type-name-pill", w.append(p), y = document.createElement("span"), p.append(y), h = document.createElement("a"), h.className = "CodeMirror-hint-information-type-name", h.href = "javascript:void 0", h.addEventListener("click", i), p.append(h), x = document.createElement("span"), p.append(x), f = document.createElement("div"), f.className = "CodeMirror-hint-information-description", g.append(f), C = document.createElement("div"), C.className = "CodeMirror-hint-information-deprecation", g.append(C); + const T = document.createElement("span"); + T.className = "CodeMirror-hint-information-deprecation-label", T.textContent = "Deprecated", C.append(T), E = document.createElement("div"), E.className = "CodeMirror-hint-information-deprecation-reason", C.append(E); + const A = parseInt(window.getComputedStyle(g).paddingBottom.replace(/px$/, ""), 10) || 0, + F = parseInt(window.getComputedStyle(g).maxHeight.replace(/px$/, ""), 10) || 0, + I = a(() => { + g && (g.style.paddingTop = b.scrollTop + A + "px", g.style.maxHeight = b.scrollTop + F + "px"); + }, "handleScroll"); + b.addEventListener("scroll", I); + let H; + b.addEventListener("DOMNodeRemoved", H = a(O => { + O.target === b && (b.removeEventListener("scroll", I), b.removeEventListener("DOMNodeRemoved", H), g && g.removeEventListener("click", i), g = null, m = null, p = null, y = null, h = null, x = null, f = null, C = null, E = null, H = null); + }, "onRemoveFn")); + } + if (m && (m.textContent = k.text), p && y && h && x) if (k.type) { + p.style.display = "inline"; + const b = a(w => { + M.isNonNullType(w) ? (x.textContent = "!" + x.textContent, b(w.ofType)) : M.isListType(w) ? (y.textContent += "[", x.textContent = "]" + x.textContent, b(w.ofType)) : h.textContent = w.name; + }, "renderType"); + y.textContent = "", x.textContent = "", b(k.type); + } else y.textContent = "", h.textContent = "", x.textContent = "", p.style.display = "none"; + f && (k.description ? (f.style.display = "block", f.innerHTML = Me.render(k.description)) : (f.style.display = "none", f.innerHTML = "")), C && E && (k.deprecationReason ? (C.style.display = "block", E.innerHTML = Me.render(k.deprecationReason)) : (C.style.display = "none", E.innerHTML = "")); + }); + }); + function i(d) { + if (!n || !r || !o || !(d.currentTarget instanceof HTMLElement)) return; + const g = d.currentTarget.textContent || "", + m = n.getType(g); + m && (o.setVisiblePlugin(de), r.push({ + name: m.name, + def: m + }), c == null || c(m)); + } + a(i, "onClickHintInformation"); +} +a(Hr, "onHasCompletion"); +function je(e, t) { + l.useEffect(() => { + e && typeof t == "string" && t !== e.getValue() && e.setValue(t); + }, [e, t]); +} +a(je, "useSynchronizeValue"); +function Ze(e, t, n) { + l.useEffect(() => { + e && e.setOption(t, n); + }, [e, t, n]); +} +a(Ze, "useSynchronizeOption"); +function pn(e, t, n, r, o) { + const { + updateActiveTabValues: c + } = Z({ + nonNull: !0, + caller: o + }), + i = re(); + l.useEffect(() => { + if (!e) return; + const d = ue(500, p => { + !i || n === null || i.set(n, p); + }), + g = ue(100, p => { + c({ + [r]: p + }); + }), + m = a((p, y) => { + if (!y) return; + const h = p.getValue(); + d(h), g(h), t == null || t(h); + }, "handleChange"); + return e.on("change", m), () => e.off("change", m); + }, [t, e, i, n, r, c]); +} +a(pn, "useChangeHandler"); +function gn(e, t, n) { + const { + schema: r + } = Y({ + nonNull: !0, + caller: n + }), + o = ee(), + c = _e(); + l.useEffect(() => { + if (!e) return; + const i = a((d, g) => { + Hr(d, g, r, o, c, m => { + t == null || t({ + kind: "Type", + type: m, + schema: r || void 0 + }); + }); + }, "handleCompletion"); + return e.on("hasCompletion", i), () => e.off("hasCompletion", i); + }, [t, e, o, c, r]); +} +a(gn, "useCompletion"); +function J(e, t, n) { + l.useEffect(() => { + if (e) { + for (const r of t) e.removeKeyMap(r); + if (n) { + const r = {}; + for (const o of t) r[o] = () => n(); + e.addKeyMap(r); + } + } + }, [e, t, n]); +} +a(J, "useKeyMap"); +function pt() { + let { + caller: e, + onCopyQuery: t + } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + const { + queryEditor: n + } = Z({ + nonNull: !0, + caller: e || pt + }); + return l.useCallback(() => { + if (!n) return; + const r = n.getValue(); + Tn(r), t == null || t(r); + }, [n, t]); +} +a(pt, "useCopyQuery"); +function he() { + let { + caller: e + } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + const { + queryEditor: t + } = Z({ + nonNull: !0, + caller: e || he + }), + { + schema: n + } = Y({ + nonNull: !0, + caller: he + }); + return l.useCallback(() => { + const r = t == null ? void 0 : t.documentAST, + o = t == null ? void 0 : t.getValue(); + !r || !o || t.setValue(M.print(B.mergeAst(r, n))); + }, [t, n]); +} +a(he, "useMergeQuery"); +function Se() { + let { + caller: e + } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + const { + queryEditor: t, + headerEditor: n, + variableEditor: r + } = Z({ + nonNull: !0, + caller: e || Se + }); + return l.useCallback(() => { + if (r) { + const o = r.getValue(); + try { + const c = JSON.stringify(JSON.parse(o), null, 2); + c !== o && r.setValue(c); + } catch {} + } + if (n) { + const o = n.getValue(); + try { + const c = JSON.stringify(JSON.parse(o), null, 2); + c !== o && n.setValue(c); + } catch {} + } + if (t) { + const o = t.getValue(), + c = M.print(M.parse(o)); + c !== o && t.setValue(c); + } + }, [t, r, n]); +} +a(Se, "usePrettifyEditors"); +function Ie() { + let { + getDefaultFieldNames: e, + caller: t + } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + const { + schema: n + } = Y({ + nonNull: !0, + caller: t || Ie + }), + { + queryEditor: r + } = Z({ + nonNull: !0, + caller: t || Ie + }); + return l.useCallback(() => { + if (!r) return; + const o = r.getValue(), + { + insertions: c, + result: i + } = B.fillLeafs(n, o, e); + return c && c.length > 0 && r.operation(() => { + const d = r.getCursor(), + g = r.indexFromPos(d); + r.setValue(i || ""); + let m = 0; + const p = c.map(_ref56 => { + let { + index: h, + string: x + } = _ref56; + return r.markText(r.posFromIndex(h + m), r.posFromIndex(h + (m += x.length)), { + className: "auto-inserted-leaf", + clearOnEnter: !0, + title: "Automatically added leaf fields" + }); + }); + setTimeout(() => { + for (const h of p) h.clear(); + }, 7e3); + let y = g; + for (const { + index: h, + string: x + } of c) h < g && (y += x.length); + r.setCursor(r.posFromIndex(y)); + }), i; + }, [e, r, n]); +} +a(Ie, "useAutoCompleteLeafs"); +const Ge = a(e => { + var _ref57; + const n = Z({ + nonNull: !0 + })[`${e}Editor`]; + let r = ""; + const o = (_ref57 = n == null ? void 0 : n.getValue()) !== null && _ref57 !== void 0 ? _ref57 : !1; + o && o.length > 0 && (r = o); + const c = l.useCallback(i => n == null ? void 0 : n.setValue(i), [n]); + return l.useMemo(() => [r, c], [r, c]); + }, "useEditorState"), + Dr = a(() => Ge("query"), "useOperationsEditorState"), + Ar = a(() => Ge("variable"), "useVariablesEditorState"), + Or = a(() => Ge("header"), "useHeadersEditorState"); +function Fr(_ref58) { + let [e, t] = _ref58; + const n = l.useRef({ + pending: null, + last: e + }), + [r, o] = l.useState(e); + l.useEffect(() => { + n.current.last === e || (n.current.last = e, n.current.pending === null ? o(e) : n.current.pending === e ? (n.current.pending = null, e !== r && (n.current.pending = r, t(r))) : (n.current.pending = null, o(e))); + }, [e, r, t]); + const c = l.useCallback(i => { + o(i), n.current.pending === null && n.current.last !== i && (n.current.pending = i, t(i)); + }, [t]); + return l.useMemo(() => [r, c], [r, c]); +} +a(Fr, "useOptimisticState"); +function ce() { + let { + editorTheme: e = Fe, + keyMap: t = Be, + onEdit: n, + readOnly: r = !1 + } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + let o = arguments.length > 1 ? arguments[1] : undefined; + const { + initialHeaders: c, + headerEditor: i, + setHeaderEditor: d, + shouldPersistHeaders: g + } = Z({ + nonNull: !0, + caller: o || ce + }), + m = we(), + p = he({ + caller: o || ce + }), + y = Se({ + caller: o || ce + }), + h = l.useRef(null); + return l.useEffect(() => { + let x = !0; + return Ee([Promise.resolve().then(() => __webpack_require__(/*! ./javascript.cjs.js */ "../../graphiql-react/dist/javascript.cjs.js")).then(f => f.javascript)]).then(f => { + if (!x) return; + const C = h.current; + if (!C) return; + const E = f(C, { + value: c, + lineNumbers: !0, + tabSize: 2, + mode: { + name: "javascript", + json: !0 + }, + theme: e, + autoCloseBrackets: !0, + matchBrackets: !0, + showCursorWhenSelecting: !0, + readOnly: r ? "nocursor" : !1, + foldGutter: !0, + gutters: ["CodeMirror-linenumbers", "CodeMirror-foldgutter"], + extraKeys: We + }); + E.addKeyMap({ + "Cmd-Space"() { + E.showHint({ + completeSingle: !1, + container: C + }); + }, + "Ctrl-Space"() { + E.showHint({ + completeSingle: !1, + container: C + }); + }, + "Alt-Space"() { + E.showHint({ + completeSingle: !1, + container: C + }); + }, + "Shift-Space"() { + E.showHint({ + completeSingle: !1, + container: C + }); + } + }), E.on("keyup", (k, L) => { + const { + code: b, + key: w, + shiftKey: T + } = L, + A = b.startsWith("Key"), + F = !T && b.startsWith("Digit"); + (A || F || w === "_" || w === '"') && k.execCommand("autocomplete"); + }), d(E); + }), () => { + x = !1; + }; + }, [e, c, r, d]), Ze(i, "keyMap", t), pn(i, n, g ? Te : null, "headers", ce), J(i, ["Cmd-Enter", "Ctrl-Enter"], m == null ? void 0 : m.run), J(i, ["Shift-Ctrl-P"], y), J(i, ["Shift-Ctrl-M"], p), h; +} +a(ce, "useHeaderEditor"); +const Te = "headers", + Br = Array.from({ + length: 11 + }, (e, t) => String.fromCharCode(8192 + t)).concat(["\u2028", "\u2029", " ", " "]), + Wr = new RegExp("[" + Br.join("") + "]", "g"); +function _r(e) { + return e.replace(Wr, " "); +} +a(_r, "normalizeWhitespace"); +function te() { + let { + editorTheme: e = Fe, + keyMap: t = Be, + onClickReference: n, + onCopyQuery: r, + onEdit: o, + readOnly: c = !1 + } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + let i = arguments.length > 1 ? arguments[1] : undefined; + const { + schema: d + } = Y({ + nonNull: !0, + caller: i || te + }), + { + externalFragments: g, + initialQuery: m, + queryEditor: p, + setOperationName: y, + setQueryEditor: h, + validationRules: x, + variableEditor: f, + updateActiveTabValues: C + } = Z({ + nonNull: !0, + caller: i || te + }), + E = we(), + k = re(), + L = ee(), + b = _e(), + w = pt({ + caller: i || te, + onCopyQuery: r + }), + T = he({ + caller: i || te + }), + A = Se({ + caller: i || te + }), + F = l.useRef(null), + I = l.useRef(), + H = l.useRef(() => {}); + l.useEffect(() => { + H.current = q => { + if (!(!L || !b)) { + switch (b.setVisiblePlugin(de), q.kind) { + case "Type": + { + L.push({ + name: q.type.name, + def: q.type + }); + break; + } + case "Field": + { + L.push({ + name: q.field.name, + def: q.field + }); + break; + } + case "Argument": + { + q.field && L.push({ + name: q.field.name, + def: q.field + }); + break; + } + case "EnumValue": + { + q.type && L.push({ + name: q.type.name, + def: q.type + }); + break; + } + } + n == null || n(q); + } + }; + }, [L, n, b]), l.useEffect(() => { + let q = !0; + return Ee([Promise.resolve().then(() => __webpack_require__(/*! ./comment.cjs.js */ "../../graphiql-react/dist/comment.cjs.js")).then(N => N.comment), Promise.resolve().then(() => __webpack_require__(/*! ./search.cjs.js */ "../../graphiql-react/dist/search.cjs.js")).then(N => N.search), Promise.resolve().then(() => __webpack_require__(/*! ./hint.cjs.js */ "../../graphiql-react/dist/hint.cjs.js")), Promise.resolve().then(() => __webpack_require__(/*! ./lint.cjs2.js */ "../../graphiql-react/dist/lint.cjs2.js")), Promise.resolve().then(() => __webpack_require__(/*! ./info.cjs.js */ "../../graphiql-react/dist/info.cjs.js")), Promise.resolve().then(() => __webpack_require__(/*! ./jump.cjs.js */ "../../graphiql-react/dist/jump.cjs.js")), Promise.resolve().then(() => __webpack_require__(/*! ./mode.cjs.js */ "../../graphiql-react/dist/mode.cjs.js"))]).then(N => { + if (!q) return; + I.current = N; + const P = F.current; + if (!P) return; + const S = N(P, { + value: m, + lineNumbers: !0, + tabSize: 2, + foldGutter: !0, + mode: "graphql", + theme: e, + autoCloseBrackets: !0, + matchBrackets: !0, + showCursorWhenSelecting: !0, + readOnly: c ? "nocursor" : !1, + lint: { + schema: void 0, + validationRules: null, + externalFragments: void 0 + }, + hintOptions: { + schema: void 0, + closeOnUnfocus: !1, + completeSingle: !1, + container: P, + externalFragments: void 0 + }, + info: { + schema: void 0, + renderDescription: v => Me.render(v), + onClick(v) { + H.current(v); + } + }, + jump: { + schema: void 0, + onClick(v) { + H.current(v); + } + }, + gutters: ["CodeMirror-linenumbers", "CodeMirror-foldgutter"], + extraKeys: { + ...We, + "Cmd-S"() {}, + "Ctrl-S"() {} + } + }); + S.addKeyMap({ + "Cmd-Space"() { + S.showHint({ + completeSingle: !0, + container: P + }); + }, + "Ctrl-Space"() { + S.showHint({ + completeSingle: !0, + container: P + }); + }, + "Alt-Space"() { + S.showHint({ + completeSingle: !0, + container: P + }); + }, + "Shift-Space"() { + S.showHint({ + completeSingle: !0, + container: P + }); + }, + "Shift-Alt-Space"() { + S.showHint({ + completeSingle: !0, + container: P + }); + } + }), S.on("keyup", (v, j) => { + Qr.test(j.key) && v.execCommand("autocomplete"); + }); + let W = !1; + S.on("startCompletion", () => { + W = !0; + }), S.on("endCompletion", () => { + W = !1; + }), S.on("keydown", (v, j) => { + j.key === "Escape" && W && j.stopPropagation(); + }), S.on("beforeChange", (v, j) => { + var R; + if (j.origin === "paste") { + const U = j.text.map(_r); + (R = j.update) == null || R.call(j, j.from, j.to, U); + } + }), S.documentAST = null, S.operationName = null, S.operations = null, S.variableToType = null, h(S); + }), () => { + q = !1; + }; + }, [e, m, c, h]), Ze(p, "keyMap", t), l.useEffect(() => { + if (!p) return; + function q(P) { + var _P$operations, _P$operationName, _ref59, _ref60; + var v; + const S = jt.getOperationFacts(d, P.getValue()), + W = B.getSelectedOperationName((_P$operations = P.operations) !== null && _P$operations !== void 0 ? _P$operations : void 0, (_P$operationName = P.operationName) !== null && _P$operationName !== void 0 ? _P$operationName : void 0, S == null ? void 0 : S.operations); + return P.documentAST = (_ref59 = S == null ? void 0 : S.documentAST) !== null && _ref59 !== void 0 ? _ref59 : null, P.operationName = W !== null && W !== void 0 ? W : null, P.operations = (_ref60 = S == null ? void 0 : S.operations) !== null && _ref60 !== void 0 ? _ref60 : null, f && (f.state.lint.linterOptions.variableToType = S == null ? void 0 : S.variableToType, f.options.lint.variableToType = S == null ? void 0 : S.variableToType, f.options.hintOptions.variableToType = S == null ? void 0 : S.variableToType, (v = I.current) == null || v.signal(f, "change", f)), S ? { + ...S, + operationName: W + } : null; + } + a(q, "getAndUpdateOperationFacts"); + const N = ue(100, P => { + var _ref61; + const S = P.getValue(); + k == null || k.set(xn, S); + const W = P.operationName, + v = q(P); + (v == null ? void 0 : v.operationName) !== void 0 && (k == null || k.set(zr, v.operationName)), o == null || o(S, v == null ? void 0 : v.documentAST), v != null && v.operationName && W !== v.operationName && y(v.operationName), C({ + query: S, + operationName: (_ref61 = v == null ? void 0 : v.operationName) !== null && _ref61 !== void 0 ? _ref61 : null + }); + }); + return q(p), p.on("change", N), () => p.off("change", N); + }, [o, p, d, y, k, f, C]), Zr(p, d !== null && d !== void 0 ? d : null, I), Gr(p, x !== null && x !== void 0 ? x : null, I), $r(p, g, I), gn(p, n || null, te); + const O = E == null ? void 0 : E.run, + D = l.useCallback(() => { + var P; + if (!O || !p || !p.operations || !p.hasFocus()) { + O == null || O(); + return; + } + const q = p.indexFromPos(p.getCursor()); + let N; + for (const S of p.operations) S.loc && S.loc.start <= q && S.loc.end >= q && (N = (P = S.name) == null ? void 0 : P.value); + N && N !== p.operationName && y(N), O(); + }, [p, O, y]); + return J(p, ["Cmd-Enter", "Ctrl-Enter"], D), J(p, ["Shift-Ctrl-C"], w), J(p, ["Shift-Ctrl-P", "Shift-Ctrl-F"], A), J(p, ["Shift-Ctrl-M"], T), F; +} +a(te, "useQueryEditor"); +function Zr(e, t, n) { + l.useEffect(() => { + if (!e) return; + const r = e.options.lint.schema !== t; + e.state.lint.linterOptions.schema = t, e.options.lint.schema = t, e.options.hintOptions.schema = t, e.options.info.schema = t, e.options.jump.schema = t, r && n.current && n.current.signal(e, "change", e); + }, [e, t, n]); +} +a(Zr, "useSynchronizeSchema"); +function Gr(e, t, n) { + l.useEffect(() => { + if (!e) return; + const r = e.options.lint.validationRules !== t; + e.state.lint.linterOptions.validationRules = t, e.options.lint.validationRules = t, r && n.current && n.current.signal(e, "change", e); + }, [e, t, n]); +} +a(Gr, "useSynchronizeValidationRules"); +function $r(e, t, n) { + const r = l.useMemo(() => [...t.values()], [t]); + l.useEffect(() => { + if (!e) return; + const o = e.options.lint.externalFragments !== r; + e.state.lint.linterOptions.externalFragments = r, e.options.lint.externalFragments = r, e.options.hintOptions.externalFragments = r, o && n.current && n.current.signal(e, "change", e); + }, [e, r, n]); +} +a($r, "useSynchronizeExternalFragments"); +const Qr = /^[a-zA-Z0-9_@(]$/, + xn = "query", + zr = "operationName"; +function Ur(_ref62) { + let { + defaultQuery: e, + defaultHeaders: t, + headers: n, + defaultTabs: r, + query: o, + variables: c, + storage: i, + shouldPersistHeaders: d + } = _ref62; + const g = i == null ? void 0 : i.get(ve); + try { + if (!g) throw new Error("Storage for tabs is empty"); + const m = JSON.parse(g), + p = d ? n : void 0; + if (Kr(m)) { + const y = He({ + query: o, + variables: c, + headers: p + }); + let h = -1; + for (let x = 0; x < m.tabs.length; x++) { + const f = m.tabs[x]; + f.hash = He({ + query: f.query, + variables: f.variables, + headers: f.headers + }), f.hash === y && (h = x); + } + if (h >= 0) m.activeTabIndex = h;else { + const x = o ? gt(o) : null; + m.tabs.push({ + id: bn(), + hash: y, + title: x || xt, + query: o, + variables: c, + headers: n, + operationName: x, + response: null + }), m.activeTabIndex = m.tabs.length - 1; + } + return m; + } + throw new Error("Storage for tabs is invalid"); + } catch { + return { + activeTabIndex: 0, + tabs: (r || [{ + query: o !== null && o !== void 0 ? o : e, + variables: c, + headers: n !== null && n !== void 0 ? n : t + }]).map(vn) + }; + } +} +a(Ur, "getDefaultTabState"); +function Kr(e) { + return e && typeof e == "object" && !Array.isArray(e) && Yr(e, "activeTabIndex") && "tabs" in e && Array.isArray(e.tabs) && e.tabs.every(Jr); +} +a(Kr, "isTabsState"); +function Jr(e) { + return e && typeof e == "object" && !Array.isArray(e) && Lt(e, "id") && Lt(e, "title") && fe(e, "query") && fe(e, "variables") && fe(e, "headers") && fe(e, "operationName") && fe(e, "response"); +} +a(Jr, "isTabState"); +function Yr(e, t) { + return t in e && typeof e[t] == "number"; +} +a(Yr, "hasNumberKey"); +function Lt(e, t) { + return t in e && typeof e[t] == "string"; +} +a(Lt, "hasStringKey"); +function fe(e, t) { + return t in e && (typeof e[t] == "string" || e[t] === null); +} +a(fe, "hasStringOrNullKey"); +function Xr(_ref63) { + let { + queryEditor: e, + variableEditor: t, + headerEditor: n, + responseEditor: r + } = _ref63; + return l.useCallback(o => { + var _ref64, _ref65, _ref66, _ref67, _ref68; + const c = (_ref64 = e == null ? void 0 : e.getValue()) !== null && _ref64 !== void 0 ? _ref64 : null, + i = (_ref65 = t == null ? void 0 : t.getValue()) !== null && _ref65 !== void 0 ? _ref65 : null, + d = (_ref66 = n == null ? void 0 : n.getValue()) !== null && _ref66 !== void 0 ? _ref66 : null, + g = (_ref67 = e == null ? void 0 : e.operationName) !== null && _ref67 !== void 0 ? _ref67 : null, + m = (_ref68 = r == null ? void 0 : r.getValue()) !== null && _ref68 !== void 0 ? _ref68 : null; + return yn(o, { + query: c, + variables: i, + headers: d, + response: m, + operationName: g + }); + }, [e, t, n, r]); +} +a(Xr, "useSynchronizeActiveTabValues"); +function Cn(e) { + let t = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !1; + return JSON.stringify(e, (n, r) => n === "hash" || n === "response" || !t && n === "headers" ? null : r); +} +a(Cn, "serializeTabState"); +function es(_ref69) { + let { + storage: e, + shouldPersistHeaders: t + } = _ref69; + const n = l.useMemo(() => ue(500, r => { + e == null || e.set(ve, r); + }), [e]); + return l.useCallback(r => { + n(Cn(r, t)); + }, [t, n]); +} +a(es, "useStoreTabs"); +function ts(_ref70) { + let { + queryEditor: e, + variableEditor: t, + headerEditor: n, + responseEditor: r + } = _ref70; + return l.useCallback(_ref71 => { let { - title: e, - titleId: t, - ...n - } = _ref30; - return c.createElement("svg", { - width: "1em", - height: "5em", - xmlns: "http://www.w3.org/2000/svg", - fillRule: "evenodd", - "aria-hidden": "true", - viewBox: "0 0 23 23", - style: { - height: "1.5em" + query: o, + variables: c, + headers: i, + response: d + } = _ref71; + e == null || e.setValue(o !== null && o !== void 0 ? o : ""), t == null || t.setValue(c !== null && c !== void 0 ? c : ""), n == null || n.setValue(i !== null && i !== void 0 ? i : ""), r == null || r.setValue(d !== null && d !== void 0 ? d : ""); + }, [n, e, r, t]); +} +a(ts, "useSetEditorValues"); +function vn() { + let { + query: e = null, + variables: t = null, + headers: n = null + } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + return { + id: bn(), + hash: He({ + query: e, + variables: t, + headers: n + }), + title: e && gt(e) || xt, + query: e, + variables: t, + headers: n, + operationName: null, + response: null + }; +} +a(vn, "createTab"); +function yn(e, t) { + return { + ...e, + tabs: e.tabs.map((n, r) => { + if (r !== e.activeTabIndex) return n; + const o = { + ...n, + ...t + }; + return { + ...o, + hash: He(o), + title: o.operationName || (o.query ? gt(o.query) : void 0) || xt + }; + }) + }; +} +a(yn, "setPropertiesInActiveTab"); +function bn() { + const e = a(() => Math.floor((1 + Math.random()) * 65536).toString(16).slice(1), "s4"); + return `${e()}${e()}-${e()}-${e()}-${e()}-${e()}${e()}${e()}`; +} +a(bn, "guid"); +function He(e) { + var _e$query, _e$variables, _e$headers; + return [(_e$query = e.query) !== null && _e$query !== void 0 ? _e$query : "", (_e$variables = e.variables) !== null && _e$variables !== void 0 ? _e$variables : "", (_e$headers = e.headers) !== null && _e$headers !== void 0 ? _e$headers : ""].join("|"); +} +a(He, "hashFromTabContents"); +function gt(e) { + var _ref72; + const n = /^(?!#).*(query|subscription|mutation)\s+([a-zA-Z0-9_]+)/m.exec(e); + return (_ref72 = n == null ? void 0 : n[2]) !== null && _ref72 !== void 0 ? _ref72 : null; +} +a(gt, "fuzzyExtractOperationName"); +function ns(e) { + const t = e == null ? void 0 : e.get(ve); + if (t) { + const n = JSON.parse(t); + e == null || e.set(ve, JSON.stringify(n, (r, o) => r === "headers" ? null : o)); + } +} +a(ns, "clearHeadersFromTabs"); +const xt = "", + ve = "tabState"; +function se() { + let { + editorTheme: e = Fe, + keyMap: t = Be, + onClickReference: n, + onEdit: r, + readOnly: o = !1 + } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + let c = arguments.length > 1 ? arguments[1] : undefined; + const { + initialVariables: i, + variableEditor: d, + setVariableEditor: g + } = Z({ + nonNull: !0, + caller: c || se + }), + m = we(), + p = he({ + caller: c || se + }), + y = Se({ + caller: c || se + }), + h = l.useRef(null), + x = l.useRef(); + return l.useEffect(() => { + let f = !0; + return Ee([Promise.resolve().then(() => __webpack_require__(/*! ./hint.cjs2.js */ "../../graphiql-react/dist/hint.cjs2.js")), Promise.resolve().then(() => __webpack_require__(/*! ./lint.cjs3.js */ "../../graphiql-react/dist/lint.cjs3.js")), Promise.resolve().then(() => __webpack_require__(/*! ./mode.cjs2.js */ "../../graphiql-react/dist/mode.cjs2.js"))]).then(C => { + if (!f) return; + x.current = C; + const E = h.current; + if (!E) return; + const k = C(E, { + value: i, + lineNumbers: !0, + tabSize: 2, + mode: "graphql-variables", + theme: e, + autoCloseBrackets: !0, + matchBrackets: !0, + showCursorWhenSelecting: !0, + readOnly: o ? "nocursor" : !1, + foldGutter: !0, + lint: { + variableToType: void 0 + }, + hintOptions: { + closeOnUnfocus: !1, + completeSingle: !1, + container: E, + variableToType: void 0 + }, + gutters: ["CodeMirror-linenumbers", "CodeMirror-foldgutter"], + extraKeys: We + }); + k.addKeyMap({ + "Cmd-Space"() { + k.showHint({ + completeSingle: !1, + container: E + }); + }, + "Ctrl-Space"() { + k.showHint({ + completeSingle: !1, + container: E + }); + }, + "Alt-Space"() { + k.showHint({ + completeSingle: !1, + container: E + }); + }, + "Shift-Space"() { + k.showHint({ + completeSingle: !1, + container: E + }); + } + }), k.on("keyup", (L, b) => { + const { + code: w, + key: T, + shiftKey: A + } = b, + F = w.startsWith("Key"), + I = !A && w.startsWith("Digit"); + (F || I || T === "_" || T === '"') && L.execCommand("autocomplete"); + }), g(k); + }), () => { + f = !1; + }; + }, [e, i, o, g]), Ze(d, "keyMap", t), pn(d, r, wn, "variables", se), gn(d, n || null, se), J(d, ["Cmd-Enter", "Ctrl-Enter"], m == null ? void 0 : m.run), J(d, ["Shift-Ctrl-P"], y), J(d, ["Shift-Ctrl-M"], p), h; +} +a(se, "useVariableEditor"); +const wn = "variables", + Ct = oe("EditorContext"); +function En(e) { + const t = re(), + [n, r] = l.useState(null), + [o, c] = l.useState(null), + [i, d] = l.useState(null), + [g, m] = l.useState(null), + [p, y] = l.useState(() => { + const v = (t == null ? void 0 : t.get(ze)) !== null; + return e.shouldPersistHeaders !== !1 && v ? (t == null ? void 0 : t.get(ze)) === "true" : !!e.shouldPersistHeaders; + }); + je(n, e.headers), je(o, e.query), je(i, e.response), je(g, e.variables); + const h = es({ + storage: t, + shouldPersistHeaders: p + }), + [x] = l.useState(() => { + var _ref73, _e$query2, _ref74, _e$variables2, _ref75, _e$headers2, _e$response, _ref76, _ref77; + const v = (_ref73 = (_e$query2 = e.query) !== null && _e$query2 !== void 0 ? _e$query2 : t == null ? void 0 : t.get(xn)) !== null && _ref73 !== void 0 ? _ref73 : null, + j = (_ref74 = (_e$variables2 = e.variables) !== null && _e$variables2 !== void 0 ? _e$variables2 : t == null ? void 0 : t.get(wn)) !== null && _ref74 !== void 0 ? _ref74 : null, + R = (_ref75 = (_e$headers2 = e.headers) !== null && _e$headers2 !== void 0 ? _e$headers2 : t == null ? void 0 : t.get(Te)) !== null && _ref75 !== void 0 ? _ref75 : null, + U = (_e$response = e.response) !== null && _e$response !== void 0 ? _e$response : "", + ie = Ur({ + query: v, + variables: j, + headers: R, + defaultTabs: e.defaultTabs, + defaultQuery: e.defaultQuery || rs, + defaultHeaders: e.defaultHeaders, + storage: t, + shouldPersistHeaders: p + }); + return h(ie), { + query: (_ref76 = v !== null && v !== void 0 ? v : ie.activeTabIndex === 0 ? ie.tabs[0].query : null) !== null && _ref76 !== void 0 ? _ref76 : "", + variables: j !== null && j !== void 0 ? j : "", + headers: (_ref77 = R !== null && R !== void 0 ? R : e.defaultHeaders) !== null && _ref77 !== void 0 ? _ref77 : "", + response: U, + tabState: ie + }; + }), + [f, C] = l.useState(x.tabState), + E = l.useCallback(v => { + if (v) { + var _ref78; + t == null || t.set(Te, (_ref78 = n == null ? void 0 : n.getValue()) !== null && _ref78 !== void 0 ? _ref78 : ""); + const j = Cn(f, !0); + t == null || t.set(ve, j); + } else t == null || t.set(Te, ""), ns(t); + y(v), t == null || t.set(ze, v.toString()); + }, [t, f, n]), + k = l.useRef(); + l.useEffect(() => { + const v = !!e.shouldPersistHeaders; + (k == null ? void 0 : k.current) !== v && (E(v), k.current = v); + }, [e.shouldPersistHeaders, E]); + const L = Xr({ + queryEditor: o, + variableEditor: g, + headerEditor: n, + responseEditor: i + }), + b = ts({ + queryEditor: o, + variableEditor: g, + headerEditor: n, + responseEditor: i + }), + { + onTabChange: w, + defaultHeaders: T, + children: A + } = e, + F = l.useCallback(() => { + C(v => { + const j = L(v), + R = { + tabs: [...j.tabs, vn({ + headers: T + })], + activeTabIndex: j.tabs.length + }; + return h(R), b(R.tabs[R.activeTabIndex]), w == null || w(R), R; + }); + }, [T, w, b, h, L]), + I = l.useCallback(v => { + C(j => { + const R = { + ...j, + activeTabIndex: v + }; + return h(R), b(R.tabs[R.activeTabIndex]), w == null || w(R), R; + }); + }, [w, b, h]), + H = l.useCallback(v => { + C(j => { + const R = j.tabs[j.activeTabIndex], + U = { + tabs: v, + activeTabIndex: v.indexOf(R) + }; + return h(U), b(U.tabs[U.activeTabIndex]), w == null || w(U), U; + }); + }, [w, b, h]), + O = l.useCallback(v => { + C(j => { + const R = { + tabs: j.tabs.filter((U, ie) => v !== ie), + activeTabIndex: Math.max(j.activeTabIndex - 1, 0) + }; + return h(R), b(R.tabs[R.activeTabIndex]), w == null || w(R), R; + }); + }, [w, b, h]), + D = l.useCallback(v => { + C(j => { + const R = yn(j, v); + return h(R), w == null || w(R), R; + }); + }, [w, h]), + { + onEditOperationName: q + } = e, + N = l.useCallback(v => { + o && (o.operationName = v, D({ + operationName: v + }), q == null || q(v)); + }, [q, o, D]), + P = l.useMemo(() => { + const v = new Map(); + if (Array.isArray(e.externalFragments)) for (const j of e.externalFragments) v.set(j.name.value, j);else if (typeof e.externalFragments == "string") M.visit(M.parse(e.externalFragments, {}), { + FragmentDefinition(j) { + v.set(j.name.value, j); + } + });else if (e.externalFragments) throw new Error("The `externalFragments` prop must either be a string that contains the fragment definitions in SDL or a list of FragmentDefinitionNode objects."); + return v; + }, [e.externalFragments]), + S = l.useMemo(() => e.validationRules || [], [e.validationRules]), + W = l.useMemo(() => ({ + ...f, + addTab: F, + changeTab: I, + moveTab: H, + closeTab: O, + updateActiveTabValues: D, + headerEditor: n, + queryEditor: o, + responseEditor: i, + variableEditor: g, + setHeaderEditor: r, + setQueryEditor: c, + setResponseEditor: d, + setVariableEditor: m, + setOperationName: N, + initialQuery: x.query, + initialVariables: x.variables, + initialHeaders: x.headers, + initialResponse: x.response, + externalFragments: P, + validationRules: S, + shouldPersistHeaders: p, + setShouldPersistHeaders: E + }), [f, F, I, H, O, D, n, o, i, g, N, x, P, S, p, E]); + return s.jsx(Ct.Provider, { + value: W, + children: A + }); +} +a(En, "EditorContextProvider"); +const Z = le(Ct), + ze = "shouldPersistHeaders", + rs = `# Welcome to GraphiQL +# +# GraphiQL is an in-browser tool for writing, validating, and +# testing GraphQL queries. +# +# Type queries into this side of the screen, and you will see intelligent +# typeaheads aware of the current GraphQL type schema and live syntax and +# validation errors highlighted within the text. +# +# GraphQL queries typically start with a "{" character. Lines that start +# with a # are ignored. +# +# An example GraphQL query might look like: +# +# { +# field(arg: "value") { +# subField +# } +# } +# +# Keyboard shortcuts: +# +# Prettify query: Shift-Ctrl-P (or press the prettify button) +# +# Merge fragments: Shift-Ctrl-M (or press the merge button) +# +# Run Query: Ctrl-Enter (or press the play button) +# +# Auto Complete: Ctrl-Space (or just start typing) +# + +`; +function Xe(_ref79) { + let { + isHidden: e, + ...t + } = _ref79; + const { + headerEditor: n + } = Z({ + nonNull: !0, + caller: Xe + }), + r = ce(t, Xe); + return l.useEffect(() => { + e || n == null || n.refresh(); + }, [n, e]), s.jsx("div", { + className: _.clsx("graphiql-editor", e && "hidden"), + ref: r + }); +} +a(Xe, "HeaderEditor"); +function De(e) { + var g; + const [t, n] = l.useState({ + width: null, + height: null + }), + [r, o] = l.useState(null), + c = l.useRef(null), + i = (g = Sn(e.token)) == null ? void 0 : g.href; + l.useEffect(() => { + if (c.current) { + if (!i) { + n({ + width: null, + height: null + }), o(null); + return; + } + fetch(i, { + method: "HEAD" + }).then(m => { + o(m.headers.get("Content-Type")); + }).catch(() => { + o(null); + }); + } + }, [i]); + const d = t.width !== null && t.height !== null ? s.jsxs("div", { + children: [t.width, "x", t.height, r === null ? null : " " + r] + }) : null; + return s.jsxs("div", { + children: [s.jsx("img", { + onLoad: () => { + var _ref80, _ref81; + var m, p; + n({ + width: (_ref80 = (m = c.current) == null ? void 0 : m.naturalWidth) !== null && _ref80 !== void 0 ? _ref80 : null, + height: (_ref81 = (p = c.current) == null ? void 0 : p.naturalHeight) !== null && _ref81 !== void 0 ? _ref81 : null + }); }, - clipRule: "evenodd", - "aria-labelledby": t, - ...n - }, e === void 0 ? c.createElement("title", { - id: t - }, "trash icon") : e ? c.createElement("title", { - id: t - }, e) : null, c.createElement("path", { - d: "M19 24h-14c-1.104 0-2-.896-2-2v-17h-1v-2h6v-1.5c0-.827.673-1.5 1.5-1.5h5c.825 0 1.5.671 1.5 1.5v1.5h6v2h-1v17c0 1.104-.896 2-2 2zm0-19h-14v16.5c0 .276.224.5.5.5h13c.276 0 .5-.224.5-.5v-16.5zm-7 7.586l3.293-3.293 1.414 1.414-3.293 3.293 3.293 3.293-1.414 1.414-3.293-3.293-3.293 3.293-1.414-1.414 3.293-3.293-3.293-3.293 1.414-1.414 3.293 3.293zm2-10.586h-4v1h4v-1z", - fill: "currentColor", - strokeWidth: .25, - stroke: "currentColor" - })); - }, "SvgTrash"), - dr = i(_ref31 => { + ref: c, + src: i + }), d] + }); +} +a(De, "ImagePreview"); +De.shouldRender = a(function (t) { + const n = Sn(t); + return n ? ss(n) : !1; +}, "shouldRender"); +function Sn(e) { + if (e.type !== "string") return; + const t = e.string.slice(1).slice(0, -1).trim(); + try { + const { + location: n + } = window; + return new URL(t, n.protocol + "//" + n.host); + } catch { + return; + } +} +a(Sn, "tokenToURL"); +function ss(e) { + return /(bmp|gif|jpeg|jpg|png|svg)$/.test(e.pathname); +} +a(ss, "isImageURL"); +function Ln(e) { + const t = te(e, Ln); + return s.jsx("div", { + className: "graphiql-editor", + ref: t + }); +} +a(Ln, "QueryEditor"); +function Ae() { + let { + responseTooltip: e, + editorTheme: t = Fe, + keyMap: n = Be + } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + let r = arguments.length > 1 ? arguments[1] : undefined; + const { + fetchError: o, + validationErrors: c + } = Y({ + nonNull: !0, + caller: r || Ae + }), + { + initialResponse: i, + responseEditor: d, + setResponseEditor: g + } = Z({ + nonNull: !0, + caller: r || Ae + }), + m = l.useRef(null), + p = l.useRef(e); + return l.useEffect(() => { + p.current = e; + }, [e]), l.useEffect(() => { + let y = !0; + return Ee([Promise.resolve().then(() => __webpack_require__(/*! ./foldgutter.cjs.js */ "../../graphiql-react/dist/foldgutter.cjs.js")).then(h => h.foldgutter), Promise.resolve().then(() => __webpack_require__(/*! ./brace-fold.cjs.js */ "../../graphiql-react/dist/brace-fold.cjs.js")).then(h => h.braceFold), Promise.resolve().then(() => __webpack_require__(/*! ./dialog.cjs.js */ "../../graphiql-react/dist/dialog.cjs.js")).then(h => h.dialog), Promise.resolve().then(() => __webpack_require__(/*! ./search.cjs.js */ "../../graphiql-react/dist/search.cjs.js")).then(h => h.search), Promise.resolve().then(() => __webpack_require__(/*! ./searchcursor.cjs.js */ "../../graphiql-react/dist/searchcursor.cjs.js")).then(h => h.searchcursor), Promise.resolve().then(() => __webpack_require__(/*! ./jump-to-line.cjs.js */ "../../graphiql-react/dist/jump-to-line.cjs.js")).then(h => h.jumpToLine), Promise.resolve().then(() => __webpack_require__(/*! ./sublime.cjs.js */ "../../graphiql-react/dist/sublime.cjs.js")).then(h => h.sublime), Promise.resolve().then(() => __webpack_require__(/*! ./mode.cjs3.js */ "../../graphiql-react/dist/mode.cjs3.js")), Promise.resolve().then(() => __webpack_require__(/*! ./info-addon.cjs.js */ "../../graphiql-react/dist/info-addon.cjs.js"))], { + useCommonAddons: !1 + }).then(h => { + if (!y) return; + const x = document.createElement("div"); + h.registerHelper("info", "graphql-results", (E, k, L, b) => { + const w = [], + T = p.current; + return T && w.push(s.jsx(T, { + pos: b, + token: E + })), De.shouldRender(E) && w.push(s.jsx(De, { + token: E + }, "image-preview")), w.length ? (vt.render(w, x), x) : (vt.unmountComponentAtNode(x), null); + }); + const f = m.current; + if (!f) return; + const C = h(f, { + value: i, + lineWrapping: !0, + readOnly: !0, + theme: t, + mode: "graphql-results", + foldGutter: !0, + gutters: ["CodeMirror-foldgutter"], + info: !0, + extraKeys: We + }); + g(C); + }), () => { + y = !1; + }; + }, [t, i, g]), Ze(d, "keyMap", n), l.useEffect(() => { + o && (d == null || d.setValue(o)), c.length > 0 && (d == null || d.setValue(B.formatError(c))); + }, [d, o, c]), m; +} +a(Ae, "useResponseEditor"); +function jn(e) { + const t = Ae(e, jn); + return s.jsx("section", { + className: "result-window", + "aria-label": "Result Window", + "aria-live": "polite", + "aria-atomic": "true", + ref: t + }); +} +a(jn, "ResponseEditor"); +function et(_ref82) { + let { + isHidden: e, + ...t + } = _ref82; + const { + variableEditor: n + } = Z({ + nonNull: !0, + caller: et + }), + r = se(t, et); + return l.useEffect(() => { + n && !e && n.refresh(); + }, [n, e]), s.jsx("div", { + className: _.clsx("graphiql-editor", e && "hidden"), + ref: r + }); +} +a(et, "VariableEditor"); +function os(_ref83) { + let { + children: e, + dangerouslyAssumeSchemaIsValid: t, + defaultQuery: n, + defaultHeaders: r, + defaultTabs: o, + externalFragments: c, + fetcher: i, + getDefaultFieldNames: d, + headers: g, + inputValueDeprecation: m, + introspectionQueryName: p, + maxHistoryLength: y, + onEditOperationName: h, + onSchemaChange: x, + onTabChange: f, + onTogglePluginVisibility: C, + operationName: E, + plugins: k, + query: L, + response: b, + schema: w, + schemaDescription: T, + shouldPersistHeaders: A, + storage: F, + validationRules: I, + variables: H, + visiblePlugin: O + } = _ref83; + return s.jsx(Nt, { + storage: F, + children: s.jsx(sn, { + maxHistoryLength: y, + children: s.jsx(En, { + defaultQuery: n, + defaultHeaders: r, + defaultTabs: o, + externalFragments: c, + headers: g, + onEditOperationName: h, + onTabChange: f, + query: L, + response: b, + shouldPersistHeaders: A, + validationRules: I, + variables: H, + children: s.jsx(ct, { + dangerouslyAssumeSchemaIsValid: t, + fetcher: i, + inputValueDeprecation: m, + introspectionQueryName: p, + onSchemaChange: x, + schema: w, + schemaDescription: T, + children: s.jsx(qe, { + getDefaultFieldNames: d, + fetcher: i, + operationName: E, + children: s.jsx(dt, { + children: s.jsx(fn, { + onTogglePluginVisibility: C, + plugins: k, + visiblePlugin: O, + children: e + }) + }) + }) + }) + }) + }) + }); +} +a(os, "GraphiQLProvider"); +function ls() { + const e = re(), + [t, n] = l.useState(() => { + if (!e) return null; + const o = e.get(Ue); + switch (o) { + case "light": + return "light"; + case "dark": + return "dark"; + default: + return typeof o == "string" && e.set(Ue, ""), null; + } + }); + l.useLayoutEffect(() => { + typeof window > "u" || (document.body.classList.remove("graphiql-light", "graphiql-dark"), t && document.body.classList.add(`graphiql-${t}`)); + }, [t]); + const r = l.useCallback(o => { + e == null || e.set(Ue, o || ""), n(o); + }, [e]); + return l.useMemo(() => ({ + theme: t, + setTheme: r + }), [t, r]); +} +a(ls, "useTheme"); +const Ue = "theme"; +function is(_ref84) { + let { + defaultSizeRelation: e = as, + direction: t, + initiallyHidden: n, + onHiddenElementChange: r, + sizeThresholdFirst: o = 100, + sizeThresholdSecond: c = 100, + storageKey: i + } = _ref84; + const d = re(), + g = l.useMemo(() => ue(500, L => { + i && (d == null || d.set(i, L)); + }), [d, i]), + [m, p] = l.useState(() => { + const L = i && (d == null ? void 0 : d.get(i)); + return L === ke || n === "first" ? "first" : L === Ne || n === "second" ? "second" : null; + }), + y = l.useCallback(L => { + L !== m && (p(L), r == null || r(L)); + }, [m, r]), + h = l.useRef(null), + x = l.useRef(null), + f = l.useRef(null), + C = l.useRef(`${e}`); + l.useLayoutEffect(() => { + const L = i && (d == null ? void 0 : d.get(i)) || C.current; + h.current && (h.current.style.display = "flex", h.current.style.flex = L === ke || L === Ne ? C.current : L), f.current && (f.current.style.display = "flex", f.current.style.flex = "1"), x.current && (x.current.style.display = "flex"); + }, [t, d, i]); + const E = l.useCallback(L => { + const b = L === "first" ? h.current : f.current; + if (b && (b.style.left = "-1000px", b.style.position = "absolute", b.style.opacity = "0", b.style.height = "500px", b.style.width = "500px", h.current)) { + const w = parseFloat(h.current.style.flex); + (!Number.isFinite(w) || w < 1) && (h.current.style.flex = "1"); + } + }, []), + k = l.useCallback(L => { + const b = L === "first" ? h.current : f.current; + if (b && (b.style.width = "", b.style.height = "", b.style.opacity = "", b.style.position = "", b.style.left = "", d && i)) { + const w = d.get(i); + h.current && w !== ke && w !== Ne && (h.current.style.flex = w || C.current); + } + }, [d, i]); + return l.useLayoutEffect(() => { + m === "first" ? E("first") : k("first"), m === "second" ? E("second") : k("second"); + }, [m, E, k]), l.useEffect(() => { + if (!x.current || !h.current || !f.current) return; + const L = x.current, + b = h.current, + w = b.parentElement, + T = t === "horizontal" ? "clientX" : "clientY", + A = t === "horizontal" ? "left" : "top", + F = t === "horizontal" ? "right" : "bottom", + I = t === "horizontal" ? "clientWidth" : "clientHeight"; + function H(D) { + D.preventDefault(); + const q = D[T] - L.getBoundingClientRect()[A]; + function N(S) { + if (S.buttons === 0) return P(); + const W = S[T] - w.getBoundingClientRect()[A] - q, + v = w.getBoundingClientRect()[F] - S[T] + q - L[I]; + if (W < o) y("first"), g(ke);else if (v < c) y("second"), g(Ne);else { + y(null); + const j = `${W / v}`; + b.style.flex = j, g(j); + } + } + a(N, "handleMouseMove"); + function P() { + document.removeEventListener("mousemove", N), document.removeEventListener("mouseup", P); + } + a(P, "handleMouseUp"), document.addEventListener("mousemove", N), document.addEventListener("mouseup", P); + } + a(H, "handleMouseDown"), L.addEventListener("mousedown", H); + function O() { + h.current && (h.current.style.flex = C.current), g(C.current), y(null); + } + return a(O, "reset"), L.addEventListener("dblclick", O), () => { + L.removeEventListener("mousedown", H), L.removeEventListener("dblclick", O); + }; + }, [t, y, o, c, g]), l.useMemo(() => ({ + dragBarRef: x, + hiddenElement: m, + firstRef: h, + setHiddenElement: p, + secondRef: f + }), [m, p]); +} +a(is, "useDragResize"); +const as = 1, + ke = "hide-first", + Ne = "hide-second"; +const kn = l.forwardRef((_ref85, r) => { + let { + label: e, + onClick: t, + ...n + } = _ref85; + const [o, c] = l.useState(null), + i = l.useCallback(d => { + try { + t == null || t(d), c(null); + } catch (g) { + c(g instanceof Error ? g : new Error(`Toolbar button click failed: ${g}`)); + } + }, [t]); + return s.jsx(K, { + label: e, + children: s.jsx($, { + ...n, + ref: r, + type: "button", + className: _.clsx("graphiql-toolbar-button", o && "error", n.className), + onClick: i, + "aria-label": o ? o.message : e, + "aria-invalid": o ? "true" : n["aria-invalid"] + }) + }); +}); +kn.displayName = "ToolbarButton"; +function tt() { + const { + queryEditor: e, + setOperationName: t + } = Z({ + nonNull: !0, + caller: tt + }), + { + isFetching: n, + isSubscribed: r, + operationName: o, + run: c, + stop: i + } = we({ + nonNull: !0, + caller: tt + }), + d = (e == null ? void 0 : e.operations) || [], + g = d.length > 1 && typeof o != "string", + m = n || r, + p = `${m ? "Stop" : "Execute"} query (Ctrl-Enter)`, + y = { + type: "button", + className: "graphiql-execute-button", + children: m ? s.jsx(Qt, {}) : s.jsx(_t, {}), + "aria-label": p + }; + return g && !m ? s.jsxs(X, { + children: [s.jsx(K, { + label: p, + children: s.jsx(X.Button, { + ...y + }) + }), s.jsx(X.Content, { + children: d.map((h, x) => { + const f = h.name ? h.name.value : ``; + return s.jsx(X.Item, { + onSelect: () => { + var E; + const C = (E = h.name) == null ? void 0 : E.value; + e && C && C !== e.operationName && t(C), c(); + }, + children: f + }, `${f}-${x}`); + }) + })] + }) : s.jsx(K, { + label: p, + children: s.jsx("button", { + ...y, + onClick: () => { + m ? i() : c(); + } + }) + }); +} +a(tt, "ExecuteButton"); +const cs = a(_ref86 => { let { - title: e, - titleId: t, - ...n - } = _ref31; - return c.createElement("svg", { - height: "1em", - viewBox: "0 0 13 13", - fill: "none", - xmlns: "http://www.w3.org/2000/svg", - "aria-labelledby": t, - ...n - }, e ? c.createElement("title", { - id: t - }, e) : null, c.createElement("rect", { - x: .6, - y: .6, - width: 11.8, - height: 11.8, - rx: 5.9, - stroke: "currentColor", - strokeWidth: 1.2 - }), c.createElement("rect", { - x: 5.5, - y: 5.5, - width: 2, - height: 2, - rx: 1, - fill: "currentColor" - })); - }, "SvgType"), - Tt = V(In), - hr = V(Hn), - Mt = V(Dn), - mr = V(An), - Fe = V(On), - fr = V(Fn), - Rt = V(Bn), - Pt = V(Wn), - qt = V(_n), - Vt = V(Zn), - It = V(Gn, "filled docs icon"), - Ht = V($n), - Dt = V(Qn), - At = V(zn), - Ot = V(Un), - Ft = V(Kn), - pr = V(Jn), - Bt = V(Yn), - gr = V(Xn), - Wt = V(er), - _t = V(tr), - xr = V(nr), - Cr = V(rr), - vr = V(sr), - Zt = V(or), - yr = V(lr), - Gt = V(ar, "filled star icon"), - $t = V(ir), - Qt = V(cr), - zt = V(ur, "trash icon"), - ge = V(dr); -function V(e) { - let t = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : e.name.replace("Svg", "").replaceAll(/([A-Z])/g, " $1").trimStart().toLowerCase() + " icon"; - return e.defaultProps = { - title: t - }, e; + button: e, + children: t, + label: n, + ...r + } = _ref86; + return s.jsxs(X, { + ...r, + children: [s.jsx(K, { + label: n, + children: s.jsx(X.Button, { + className: _.clsx("graphiql-un-styled graphiql-toolbar-menu", r.className), + "aria-label": n, + children: e + }) + }), s.jsx(X.Content, { + children: t + })] + }); + }, "ToolbarMenuRoot"), + us = ye(cs, { + Item: X.Item + }); +exports.Argument = Ce; +exports.ArgumentIcon = Tt; +exports.Button = me; +exports.ButtonGroup = Ut; +exports.ChevronDownIcon = dr; +exports.ChevronLeftIcon = Mt; +exports.ChevronUpIcon = hr; +exports.CloseIcon = Oe; +exports.CopyIcon = mr; +exports.DOC_EXPLORER_PLUGIN = de; +exports.DefaultValue = it; +exports.DeprecatedArgumentIcon = Pt; +exports.DeprecatedEnumValueIcon = qt; +exports.DeprecatedFieldIcon = Rt; +exports.DeprecationReason = ht; +exports.Dialog = yr; +exports.DialogRoot = Jt; +exports.Directive = cn; +exports.DirectiveIcon = Vt; +exports.DocExplorer = Ve; +exports.DocsFilledIcon = It; +exports.DocsIcon = Ht; +exports.DropdownMenu = X; +exports.EditorContext = Ct; +exports.EditorContextProvider = En; +exports.EnumValueIcon = Dt; +exports.ExecuteButton = tt; +exports.ExecutionContext = lt; +exports.ExecutionContextProvider = qe; +exports.ExplorerContext = ut; +exports.ExplorerContextProvider = dt; +exports.ExplorerSection = G; +exports.FieldDocumentation = un; +exports.FieldIcon = At; +exports.FieldLink = hn; +exports.GraphiQLProvider = os; +exports.HISTORY_PLUGIN = Ye; +exports.HeaderEditor = Xe; +exports.History = on; +exports.HistoryContext = ot; +exports.HistoryContextProvider = sn; +exports.HistoryIcon = Ot; +exports.ImagePreview = De; +exports.ImplementsIcon = Ft; +exports.KeyboardShortcutIcon = fr; +exports.MagnifyingGlassIcon = Bt; +exports.MarkdownContent = z; +exports.MergeIcon = pr; +exports.PenIcon = Wt; +exports.PlayIcon = _t; +exports.PluginContext = ft; +exports.PluginContextProvider = fn; +exports.PlusIcon = gr; +exports.PrettifyIcon = xr; +exports.QueryEditor = Ln; +exports.ReloadIcon = Cr; +exports.ResponseEditor = jn; +exports.RootTypeIcon = Zt; +exports.SchemaContext = at; +exports.SchemaContextProvider = ct; +exports.SchemaDocumentation = dn; +exports.Search = mt; +exports.SettingsIcon = vr; +exports.Spinner = st; +exports.StarFilledIcon = Gt; +exports.StarIcon = $t; +exports.StopIcon = Qt; +exports.StorageContext = rt; +exports.StorageContextProvider = Nt; +exports.Tab = Er; +exports.Tabs = rn; +exports.ToolbarButton = kn; +exports.ToolbarMenu = us; +exports.Tooltip = K; +exports.TooltipRoot = Xt; +exports.TrashIcon = zt; +exports.TypeDocumentation = mn; +exports.TypeIcon = ge; +exports.TypeLink = Q; +exports.UnStyledButton = $; +exports.VariableEditor = et; +exports.useAutoCompleteLeafs = Ie; +exports.useCopyQuery = pt; +exports.useDragResize = is; +exports.useEditorContext = Z; +exports.useEditorState = Ge; +exports.useExecutionContext = we; +exports.useExplorerContext = ee; +exports.useHeaderEditor = ce; +exports.useHeadersEditorState = Or; +exports.useHistoryContext = be; +exports.useMergeQuery = he; +exports.useOperationsEditorState = Dr; +exports.useOptimisticState = Fr; +exports.usePluginContext = _e; +exports.usePrettifyEditors = Se; +exports.useQueryEditor = te; +exports.useResponseEditor = Ae; +exports.useSchemaContext = Y; +exports.useStorageContext = re; +exports.useTheme = ls; +exports.useVariableEditor = se; +exports.useVariablesEditorState = Ar; + +/***/ }), + +/***/ "../../graphiql-react/dist/info-addon.cjs.js": +/*!***************************************************!*\ + !*** ../../graphiql-react/dist/info-addon.cjs.js ***! + \***************************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + + +var M = Object.defineProperty; +var i = (e, t) => M(e, "name", { + value: t, + configurable: !0 +}); +const r = __webpack_require__(/*! ./codemirror.cjs.js */ "../../graphiql-react/dist/codemirror.cjs.js"); +__webpack_require__(/*! ./codemirror.cjs2.js */ "../../graphiql-react/dist/codemirror.cjs2.js"); +r.CodeMirror.defineOption("info", !1, (e, t, n) => { + if (n && n !== r.CodeMirror.Init) { + const o = e.state.info.onMouseOver; + r.CodeMirror.off(e.getWrapperElement(), "mouseover", o), clearTimeout(e.state.info.hoverTimeout), delete e.state.info; + } + if (t) { + const o = e.state.info = g(t); + o.onMouseOver = h.bind(null, e), r.CodeMirror.on(e.getWrapperElement(), "mouseover", o.onMouseOver); + } +}); +function g(e) { + return { + options: e instanceof Function ? { + render: e + } : e === !0 ? {} : e + }; +} +i(g, "createState"); +function T(e) { + const { + options: t + } = e.state.info; + return (t == null ? void 0 : t.hoverTime) || 500; +} +i(T, "getHoverTime"); +function h(e, t) { + const n = e.state.info, + o = t.target || t.srcElement; + if (!(o instanceof HTMLElement) || o.nodeName !== "SPAN" || n.hoverTimeout !== void 0) return; + const s = o.getBoundingClientRect(), + u = i(function () { + clearTimeout(n.hoverTimeout), n.hoverTimeout = setTimeout(p, d); + }, "onMouseMove"), + f = i(function () { + r.CodeMirror.off(document, "mousemove", u), r.CodeMirror.off(e.getWrapperElement(), "mouseout", f), clearTimeout(n.hoverTimeout), n.hoverTimeout = void 0; + }, "onMouseOut"), + p = i(function () { + r.CodeMirror.off(document, "mousemove", u), r.CodeMirror.off(e.getWrapperElement(), "mouseout", f), n.hoverTimeout = void 0, C(e, s); + }, "onHover"), + d = T(e); + n.hoverTimeout = setTimeout(p, d), r.CodeMirror.on(document, "mousemove", u), r.CodeMirror.on(e.getWrapperElement(), "mouseout", f); +} +i(h, "onMouseOver"); +function C(e, t) { + const n = e.coordsChar({ + left: (t.left + t.right) / 2, + top: (t.top + t.bottom) / 2 + }, "window"), + o = e.state.info, + { + options: s + } = o, + u = s.render || e.getHelper(n, "info"); + if (u) { + const f = e.getTokenAt(n, !0); + if (f) { + const p = u(f, s, e, n); + p && w(e, t, p); + } + } +} +i(C, "onMouseHover"); +function w(e, t, n) { + const o = document.createElement("div"); + o.className = "CodeMirror-info", o.append(n), document.body.append(o); + const s = o.getBoundingClientRect(), + u = window.getComputedStyle(o), + f = s.right - s.left + parseFloat(u.marginLeft) + parseFloat(u.marginRight), + p = s.bottom - s.top + parseFloat(u.marginTop) + parseFloat(u.marginBottom); + let d = t.bottom; + p > window.innerHeight - t.bottom - 15 && t.top > window.innerHeight - t.bottom && (d = t.top - p), d < 0 && (d = t.bottom); + let m = Math.max(0, window.innerWidth - f - 15); + m > t.left && (m = t.left), o.style.opacity = "1", o.style.top = d + "px", o.style.left = m + "px"; + let l; + const c = i(function () { + clearTimeout(l); + }, "onMouseOverPopup"), + a = i(function () { + clearTimeout(l), l = setTimeout(v, 200); + }, "onMouseOut"), + v = i(function () { + r.CodeMirror.off(o, "mouseover", c), r.CodeMirror.off(o, "mouseout", a), r.CodeMirror.off(e.getWrapperElement(), "mouseout", a), o.style.opacity ? (o.style.opacity = "0", setTimeout(() => { + o.parentNode && o.remove(); + }, 600)) : o.parentNode && o.remove(); + }, "hidePopup"); + r.CodeMirror.on(o, "mouseover", c), r.CodeMirror.on(o, "mouseout", a), r.CodeMirror.on(e.getWrapperElement(), "mouseout", a); +} +i(w, "showPopup"); + +/***/ }), + +/***/ "../../graphiql-react/dist/info.cjs.js": +/*!*********************************************!*\ + !*** ../../graphiql-react/dist/info.cjs.js ***! + \*********************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + + +var v = Object.defineProperty; +var l = (a, e) => v(a, "name", { + value: e, + configurable: !0 +}); +const s = __webpack_require__(/*! graphql */ "../../../node_modules/graphql/index.mjs"), + D = __webpack_require__(/*! ./codemirror.cjs.js */ "../../graphiql-react/dist/codemirror.cjs.js"), + m = __webpack_require__(/*! ./SchemaReference.cjs.js */ "../../graphiql-react/dist/SchemaReference.cjs.js"); +__webpack_require__(/*! ./info-addon.cjs.js */ "../../graphiql-react/dist/info-addon.cjs.js"); +__webpack_require__(/*! ./codemirror.cjs2.js */ "../../graphiql-react/dist/codemirror.cjs2.js"); +__webpack_require__(/*! ./forEachState.cjs.js */ "../../graphiql-react/dist/forEachState.cjs.js"); +D.CodeMirror.registerHelper("info", "graphql", (a, e) => { + if (!e.schema || !a.state) return; + const { + kind: c, + step: n + } = a.state, + r = m.getTypeInfo(e.schema, a.state); + if (c === "Field" && n === 0 && r.fieldDef || c === "AliasedField" && n === 2 && r.fieldDef) { + const i = document.createElement("div"); + i.className = "CodeMirror-info-header", E(i, r, e); + const d = document.createElement("div"); + return d.append(i), o(d, e, r.fieldDef), d; + } + if (c === "Directive" && n === 1 && r.directiveDef) { + const i = document.createElement("div"); + i.className = "CodeMirror-info-header", h(i, r, e); + const d = document.createElement("div"); + return d.append(i), o(d, e, r.directiveDef), d; + } + if (c === "Argument" && n === 0 && r.argDef) { + const i = document.createElement("div"); + i.className = "CodeMirror-info-header", T(i, r, e); + const d = document.createElement("div"); + return d.append(i), o(d, e, r.argDef), d; + } + if (c === "EnumValue" && r.enumValue && r.enumValue.description) { + const i = document.createElement("div"); + i.className = "CodeMirror-info-header", g(i, r, e); + const d = document.createElement("div"); + return d.append(i), o(d, e, r.enumValue), d; + } + if (c === "NamedType" && r.type && r.type.description) { + const i = document.createElement("div"); + i.className = "CodeMirror-info-header", u(i, r, e, r.type); + const d = document.createElement("div"); + return d.append(i), o(d, e, r.type), d; + } +}); +function E(a, e, c) { + N(a, e, c), p(a, e, c, e.type); +} +l(E, "renderField"); +function N(a, e, c) { + var n; + const r = ((n = e.fieldDef) === null || n === void 0 ? void 0 : n.name) || ""; + t(a, r, "field-name", c, m.getFieldReference(e)); +} +l(N, "renderQualifiedField"); +function h(a, e, c) { + var n; + const r = "@" + (((n = e.directiveDef) === null || n === void 0 ? void 0 : n.name) || ""); + t(a, r, "directive-name", c, m.getDirectiveReference(e)); +} +l(h, "renderDirective"); +function T(a, e, c) { + var n; + const r = ((n = e.argDef) === null || n === void 0 ? void 0 : n.name) || ""; + t(a, r, "arg-name", c, m.getArgumentReference(e)), p(a, e, c, e.inputType); +} +l(T, "renderArg"); +function g(a, e, c) { + var n; + const r = ((n = e.enumValue) === null || n === void 0 ? void 0 : n.name) || ""; + u(a, e, c, e.inputType), t(a, "."), t(a, r, "enum-value", c, m.getEnumValueReference(e)); +} +l(g, "renderEnumValue"); +function p(a, e, c, n) { + const r = document.createElement("span"); + r.className = "type-name-pill", n instanceof s.GraphQLNonNull ? (u(r, e, c, n.ofType), t(r, "!")) : n instanceof s.GraphQLList ? (t(r, "["), u(r, e, c, n.ofType), t(r, "]")) : t(r, (n == null ? void 0 : n.name) || "", "type-name", c, m.getTypeReference(e, n)), a.append(r); +} +l(p, "renderTypeAnnotation"); +function u(a, e, c, n) { + n instanceof s.GraphQLNonNull ? (u(a, e, c, n.ofType), t(a, "!")) : n instanceof s.GraphQLList ? (t(a, "["), u(a, e, c, n.ofType), t(a, "]")) : t(a, (n == null ? void 0 : n.name) || "", "type-name", c, m.getTypeReference(e, n)); +} +l(u, "renderType"); +function o(a, e, c) { + const { + description: n + } = c; + if (n) { + const r = document.createElement("div"); + r.className = "info-description", e.renderDescription ? r.innerHTML = e.renderDescription(n) : r.append(document.createTextNode(n)), a.append(r); + } + L(a, e, c); +} +l(o, "renderDescription"); +function L(a, e, c) { + const n = c.deprecationReason; + if (n) { + const r = document.createElement("div"); + r.className = "info-deprecation", a.append(r); + const i = document.createElement("span"); + i.className = "info-deprecation-label", i.append(document.createTextNode("Deprecated")), r.append(i); + const d = document.createElement("div"); + d.className = "info-deprecation-reason", e.renderDescription ? d.innerHTML = e.renderDescription(n) : d.append(document.createTextNode(n)), r.append(d); + } +} +l(L, "renderDeprecation"); +function t(a, e) { + let c = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : ""; + let n = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : { + onClick: null + }; + let r = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : null; + if (c) { + const { + onClick: i + } = n; + let d; + i ? (d = document.createElement("a"), d.href = "javascript:void 0", d.addEventListener("click", f => { + f.preventDefault(), i(r, f); + })) : d = document.createElement("span"), d.className = c, d.append(document.createTextNode(e)), a.append(d); + } else a.append(document.createTextNode(e)); +} +l(t, "text"); + +/***/ }), + +/***/ "../../graphiql-react/dist/javascript.cjs.js": +/*!***************************************************!*\ + !*** ../../graphiql-react/dist/javascript.cjs.js ***! + \***************************************************/ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + + +var ve = Object.defineProperty; +var f = (F, W) => ve(F, "name", { + value: W, + configurable: !0 +}); +const Dr = __webpack_require__(/*! ./codemirror.cjs2.js */ "../../graphiql-react/dist/codemirror.cjs2.js"); +function ge(F, W) { + for (var w = 0; w < W.length; w++) { + const M = W[w]; + if (typeof M != "string" && !Array.isArray(M)) { + for (const h in M) if (h !== "default" && !(h in F)) { + const A = Object.getOwnPropertyDescriptor(M, h); + A && Object.defineProperty(F, h, A.get ? A : { + enumerable: !0, + get: () => M[h] + }); + } + } + } + return Object.freeze(Object.defineProperty(F, Symbol.toStringTag, { + value: "Module" + })); +} +f(ge, "_mergeNamespaces"); +var ye = { + exports: {} +}; +(function (F, W) { + (function (w) { + w(Dr.requireCodemirror()); + })(function (w) { + w.defineMode("javascript", function (M, h) { + var A = M.indentUnit, + vr = h.statementIndent, + rr = h.jsonld, + O = h.json || rr, + gr = h.trackScope !== !1, + k = h.typescript, + er = h.wordCharacters || /[\w$\xa1-\uffff]/, + yr = function () { + function r(y) { + return { + type: y, + style: "keyword" + }; + } + f(r, "kw"); + var e = r("keyword a"), + t = r("keyword b"), + a = r("keyword c"), + o = r("keyword d"), + d = r("operator"), + p = { + type: "atom", + style: "atom" + }; + return { + if: r("if"), + while: e, + with: e, + else: t, + do: t, + try: t, + finally: t, + return: o, + break: o, + continue: o, + new: r("new"), + delete: a, + void: a, + throw: a, + debugger: r("debugger"), + var: r("var"), + const: r("var"), + let: r("var"), + function: r("function"), + catch: r("catch"), + for: r("for"), + switch: r("switch"), + case: r("case"), + default: r("default"), + in: d, + typeof: d, + instanceof: d, + true: p, + false: p, + null: p, + undefined: p, + NaN: p, + Infinity: p, + this: r("this"), + class: r("class"), + super: r("atom"), + yield: a, + export: r("export"), + import: r("import"), + extends: a, + await: a + }; + }(), + jr = /[+\-*&%=<>!?|~^@]/, + Lr = /^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)"/; + function Qr(r) { + for (var e = !1, t, a = !1; (t = r.next()) != null;) { + if (!e) { + if (t == "/" && !a) return; + t == "[" ? a = !0 : a && t == "]" && (a = !1); + } + e = !e && t == "\\"; + } + } + f(Qr, "readRegexp"); + var K, nr; + function x(r, e, t) { + return K = r, nr = t, e; + } + f(x, "ret"); + function $(r, e) { + var t = r.next(); + if (t == '"' || t == "'") return e.tokenize = Rr(t), e.tokenize(r, e); + if (t == "." && r.match(/^\d[\d_]*(?:[eE][+\-]?[\d_]+)?/)) return x("number", "number"); + if (t == "." && r.match("..")) return x("spread", "meta"); + if (/[\[\]{}\(\),;\:\.]/.test(t)) return x(t); + if (t == "=" && r.eat(">")) return x("=>", "operator"); + if (t == "0" && r.match(/^(?:x[\dA-Fa-f_]+|o[0-7_]+|b[01_]+)n?/)) return x("number", "number"); + if (/\d/.test(t)) return r.match(/^[\d_]*(?:n|(?:\.[\d_]*)?(?:[eE][+\-]?[\d_]+)?)?/), x("number", "number"); + if (t == "/") return r.eat("*") ? (e.tokenize = tr, tr(r, e)) : r.eat("/") ? (r.skipToEnd(), x("comment", "comment")) : Fr(r, e, 1) ? (Qr(r), r.match(/^\b(([gimyus])(?![gimyus]*\2))+\b/), x("regexp", "string-2")) : (r.eat("="), x("operator", "operator", r.current())); + if (t == "`") return e.tokenize = H, H(r, e); + if (t == "#" && r.peek() == "!") return r.skipToEnd(), x("meta", "meta"); + if (t == "#" && r.eatWhile(er)) return x("variable", "property"); + if (t == "<" && r.match("!--") || t == "-" && r.match("->") && !/\S/.test(r.string.slice(0, r.start))) return r.skipToEnd(), x("comment", "comment"); + if (jr.test(t)) return (t != ">" || !e.lexical || e.lexical.type != ">") && (r.eat("=") ? (t == "!" || t == "=") && r.eat("=") : /[<>*+\-|&?]/.test(t) && (r.eat(t), t == ">" && r.eat(t))), t == "?" && r.eat(".") ? x(".") : x("operator", "operator", r.current()); + if (er.test(t)) { + r.eatWhile(er); + var a = r.current(); + if (e.lastType != ".") { + if (yr.propertyIsEnumerable(a)) { + var o = yr[a]; + return x(o.type, o.style, a); + } + if (a == "async" && r.match(/^(\s|\/\*([^*]|\*(?!\/))*?\*\/)*[\[\(\w]/, !1)) return x("async", "keyword", a); + } + return x("variable", "variable", a); + } + } + f($, "tokenBase"); + function Rr(r) { + return function (e, t) { + var a = !1, + o; + if (rr && e.peek() == "@" && e.match(Lr)) return t.tokenize = $, x("jsonld-keyword", "meta"); + for (; (o = e.next()) != null && !(o == r && !a);) a = !a && o == "\\"; + return a || (t.tokenize = $), x("string", "string"); + }; + } + f(Rr, "tokenString"); + function tr(r, e) { + for (var t = !1, a; a = r.next();) { + if (a == "/" && t) { + e.tokenize = $; + break; + } + t = a == "*"; + } + return x("comment", "comment"); + } + f(tr, "tokenComment"); + function H(r, e) { + for (var t = !1, a; (a = r.next()) != null;) { + if (!t && (a == "`" || a == "$" && r.eat("{"))) { + e.tokenize = $; + break; + } + t = !t && a == "\\"; + } + return x("quasi", "string-2", r.current()); + } + f(H, "tokenQuasi"); + var Ur = "([{}])"; + function dr(r, e) { + e.fatArrowAt && (e.fatArrowAt = null); + var t = r.string.indexOf("=>", r.start); + if (!(t < 0)) { + if (k) { + var a = /:\s*(?:\w+(?:<[^>]*>|\[\])?|\{[^}]*\})\s*$/.exec(r.string.slice(r.start, t)); + a && (t = a.index); + } + for (var o = 0, d = !1, p = t - 1; p >= 0; --p) { + var y = r.string.charAt(p), + V = Ur.indexOf(y); + if (V >= 0 && V < 3) { + if (!o) { + ++p; + break; + } + if (--o == 0) { + y == "(" && (d = !0); + break; + } + } else if (V >= 3 && V < 6) ++o;else if (er.test(y)) d = !0;else if (/["'\/`]/.test(y)) for (;; --p) { + if (p == 0) return; + var he = r.string.charAt(p - 1); + if (he == y && r.string.charAt(p - 2) != "\\") { + p--; + break; + } + } else if (d && !o) { + ++p; + break; + } + } + d && !o && (e.fatArrowAt = p); + } + } + f(dr, "findFatArrow"); + var Wr = { + atom: !0, + number: !0, + variable: !0, + string: !0, + regexp: !0, + this: !0, + import: !0, + "jsonld-keyword": !0 + }; + function Er(r, e, t, a, o, d) { + this.indented = r, this.column = e, this.type = t, this.prev = o, this.info = d, a != null && (this.align = a); + } + f(Er, "JSLexical"); + function Kr(r, e) { + if (!gr) return !1; + for (var t = r.localVars; t; t = t.next) if (t.name == e) return !0; + for (var a = r.context; a; a = a.prev) for (var t = a.vars; t; t = t.next) if (t.name == e) return !0; + } + f(Kr, "inScope"); + function Tr(r, e, t, a, o) { + var d = r.cc; + for (i.state = r, i.stream = o, i.marked = null, i.cc = d, i.style = e, r.lexical.hasOwnProperty("align") || (r.lexical.align = !0);;) { + var p = d.length ? d.pop() : O ? b : v; + if (p(t, a)) { + for (; d.length && d[d.length - 1].lex;) d.pop()(); + return i.marked ? i.marked : t == "variable" && Kr(r, a) ? "variable-2" : e; + } + } + } + f(Tr, "parseJS"); + var i = { + state: null, + column: null, + marked: null, + cc: null + }; + function s() { + for (var r = arguments.length - 1; r >= 0; r--) i.cc.push(arguments[r]); + } + f(s, "pass"); + function n() { + return s.apply(null, arguments), !0; + } + f(n, "cont"); + function mr(r, e) { + for (var t = e; t; t = t.next) if (t.name == r) return !0; + return !1; + } + f(mr, "inList"); + function D(r) { + var e = i.state; + if (i.marked = "def", !!gr) { + if (e.context) { + if (e.lexical.info == "var" && e.context && e.context.block) { + var t = Ar(r, e.context); + if (t != null) { + e.context = t; + return; + } + } else if (!mr(r, e.localVars)) { + e.localVars = new X(r, e.localVars); + return; + } + } + h.globalVars && !mr(r, e.globalVars) && (e.globalVars = new X(r, e.globalVars)); + } + } + f(D, "register"); + function Ar(r, e) { + if (e) { + if (e.block) { + var t = Ar(r, e.prev); + return t ? t == e.prev ? e : new G(t, e.vars, !0) : null; + } else return mr(r, e.vars) ? e : new G(e.prev, new X(r, e.vars), !1); + } else return null; + } + f(Ar, "registerVarScoped"); + function ir(r) { + return r == "public" || r == "private" || r == "protected" || r == "abstract" || r == "readonly"; + } + f(ir, "isModifier"); + function G(r, e, t) { + this.prev = r, this.vars = e, this.block = t; + } + f(G, "Context"); + function X(r, e) { + this.name = r, this.next = e; + } + f(X, "Var"); + var Hr = new X("this", new X("arguments", null)); + function q() { + i.state.context = new G(i.state.context, i.state.localVars, !1), i.state.localVars = Hr; + } + f(q, "pushcontext"); + function fr() { + i.state.context = new G(i.state.context, i.state.localVars, !0), i.state.localVars = null; + } + f(fr, "pushblockcontext"), q.lex = fr.lex = !0; + function E() { + i.state.localVars = i.state.context.vars, i.state.context = i.state.context.prev; + } + f(E, "popcontext"), E.lex = !0; + function c(r, e) { + var t = f(function () { + var a = i.state, + o = a.indented; + if (a.lexical.type == "stat") o = a.lexical.indented;else for (var d = a.lexical; d && d.type == ")" && d.align; d = d.prev) o = d.indented; + a.lexical = new Er(o, i.stream.column(), r, null, a.lexical, e); + }, "result"); + return t.lex = !0, t; + } + f(c, "pushlex"); + function u() { + var r = i.state; + r.lexical.prev && (r.lexical.type == ")" && (r.indented = r.lexical.indented), r.lexical = r.lexical.prev); + } + f(u, "poplex"), u.lex = !0; + function l(r) { + function e(t) { + return t == r ? n() : r == ";" || t == "}" || t == ")" || t == "]" ? s() : n(e); + } + return f(e, "exp"), e; + } + f(l, "expect"); + function v(r, e) { + return r == "var" ? n(c("vardef", e), xr, l(";"), u) : r == "keyword a" ? n(c("form"), pr, v, u) : r == "keyword b" ? n(c("form"), v, u) : r == "keyword d" ? i.stream.match(/^\s*$/, !1) ? n() : n(c("stat"), J, l(";"), u) : r == "debugger" ? n(l(";")) : r == "{" ? n(c("}"), fr, or, u, E) : r == ";" ? n() : r == "if" ? (i.state.lexical.info == "else" && i.state.cc[i.state.cc.length - 1] == u && i.state.cc.pop()(), n(c("form"), pr, v, u, Mr)) : r == "function" ? n(z) : r == "for" ? n(c("form"), fr, Or, v, E, u) : r == "class" || k && e == "interface" ? (i.marked = "keyword", n(c("form", r == "class" ? r : e), qr, u)) : r == "variable" ? k && e == "declare" ? (i.marked = "keyword", n(v)) : k && (e == "module" || e == "enum" || e == "type") && i.stream.match(/^\s*\w/, !1) ? (i.marked = "keyword", e == "enum" ? n(Pr) : e == "type" ? n($r, l("operator"), m, l(";")) : n(c("form"), T, l("{"), c("}"), or, u, u)) : k && e == "namespace" ? (i.marked = "keyword", n(c("form"), b, v, u)) : k && e == "abstract" ? (i.marked = "keyword", n(v)) : n(c("stat"), re) : r == "switch" ? n(c("form"), pr, l("{"), c("}", "switch"), fr, or, u, u, E) : r == "case" ? n(b, l(":")) : r == "default" ? n(l(":")) : r == "catch" ? n(c("form"), q, Gr, v, u, E) : r == "export" ? n(c("stat"), me, u) : r == "import" ? n(c("stat"), pe, u) : r == "async" ? n(v) : e == "@" ? n(b, v) : s(c("stat"), b, l(";"), u); + } + f(v, "statement"); + function Gr(r) { + if (r == "(") return n(P, l(")")); + } + f(Gr, "maybeCatchBinding"); + function b(r, e) { + return Vr(r, e, !1); + } + f(b, "expression"); + function j(r, e) { + return Vr(r, e, !0); + } + f(j, "expressionNoComma"); + function pr(r) { + return r != "(" ? s() : n(c(")"), J, l(")"), u); + } + f(pr, "parenExpr"); + function Vr(r, e, t) { + if (i.state.fatArrowAt == i.stream.start) { + var a = t ? Sr : Ir; + if (r == "(") return n(q, c(")"), g(P, ")"), u, l("=>"), a, E); + if (r == "variable") return s(q, T, l("=>"), a, E); + } + var o = t ? L : N; + return Wr.hasOwnProperty(r) ? n(o) : r == "function" ? n(z, o) : r == "class" || k && e == "interface" ? (i.marked = "keyword", n(c("form"), de, u)) : r == "keyword c" || r == "async" ? n(t ? j : b) : r == "(" ? n(c(")"), J, l(")"), u, o) : r == "operator" || r == "spread" ? n(t ? j : b) : r == "[" ? n(c("]"), be, u, o) : r == "{" ? Y(ur, "}", null, o) : r == "quasi" ? s(ar, o) : r == "new" ? n(Yr(t)) : n(); + } + f(Vr, "expressionInner"); + function J(r) { + return r.match(/[;\}\)\],]/) ? s() : s(b); + } + f(J, "maybeexpression"); + function N(r, e) { + return r == "," ? n(J) : L(r, e, !1); + } + f(N, "maybeoperatorComma"); + function L(r, e, t) { + var a = t == !1 ? N : L, + o = t == !1 ? b : j; + if (r == "=>") return n(q, t ? Sr : Ir, E); + if (r == "operator") return /\+\+|--/.test(e) || k && e == "!" ? n(a) : k && e == "<" && i.stream.match(/^([^<>]|<[^<>]*>)*>\s*\(/, !1) ? n(c(">"), g(m, ">"), u, a) : e == "?" ? n(b, l(":"), o) : n(o); + if (r == "quasi") return s(ar, a); + if (r != ";") { + if (r == "(") return Y(j, ")", "call", a); + if (r == ".") return n(ee, a); + if (r == "[") return n(c("]"), J, l("]"), u, a); + if (k && e == "as") return i.marked = "keyword", n(m, a); + if (r == "regexp") return i.state.lastType = i.marked = "operator", i.stream.backUp(i.stream.pos - i.stream.start - 1), n(o); + } + } + f(L, "maybeoperatorNoComma"); + function ar(r, e) { + return r != "quasi" ? s() : e.slice(e.length - 2) != "${" ? n(ar) : n(J, Xr); + } + f(ar, "quasi"); + function Xr(r) { + if (r == "}") return i.marked = "string-2", i.state.tokenize = H, n(ar); + } + f(Xr, "continueQuasi"); + function Ir(r) { + return dr(i.stream, i.state), s(r == "{" ? v : b); + } + f(Ir, "arrowBody"); + function Sr(r) { + return dr(i.stream, i.state), s(r == "{" ? v : j); + } + f(Sr, "arrowBodyNoComma"); + function Yr(r) { + return function (e) { + return e == "." ? n(r ? Cr : Zr) : e == "variable" && k ? n(ue, r ? L : N) : s(r ? j : b); + }; + } + f(Yr, "maybeTarget"); + function Zr(r, e) { + if (e == "target") return i.marked = "keyword", n(N); + } + f(Zr, "target"); + function Cr(r, e) { + if (e == "target") return i.marked = "keyword", n(L); + } + f(Cr, "targetNoComma"); + function re(r) { + return r == ":" ? n(u, v) : s(N, l(";"), u); + } + f(re, "maybelabel"); + function ee(r) { + if (r == "variable") return i.marked = "property", n(); + } + f(ee, "property"); + function ur(r, e) { + if (r == "async") return i.marked = "property", n(ur); + if (r == "variable" || i.style == "keyword") { + if (i.marked = "property", e == "get" || e == "set") return n(ne); + var t; + return k && i.state.fatArrowAt == i.stream.start && (t = i.stream.match(/^\s*:\s*/, !1)) && (i.state.fatArrowAt = i.stream.pos + t[0].length), n(B); + } else { + if (r == "number" || r == "string") return i.marked = rr ? "property" : i.style + " property", n(B); + if (r == "jsonld-keyword") return n(B); + if (k && ir(e)) return i.marked = "keyword", n(ur); + if (r == "[") return n(b, Q, l("]"), B); + if (r == "spread") return n(j, B); + if (e == "*") return i.marked = "keyword", n(ur); + if (r == ":") return s(B); + } + } + f(ur, "objprop"); + function ne(r) { + return r != "variable" ? s(B) : (i.marked = "property", n(z)); + } + f(ne, "getterSetter"); + function B(r) { + if (r == ":") return n(j); + if (r == "(") return s(z); + } + f(B, "afterprop"); + function g(r, e, t) { + function a(o, d) { + if (t ? t.indexOf(o) > -1 : o == ",") { + var p = i.state.lexical; + return p.info == "call" && (p.pos = (p.pos || 0) + 1), n(function (y, V) { + return y == e || V == e ? s() : s(r); + }, a); + } + return o == e || d == e ? n() : t && t.indexOf(";") > -1 ? s(r) : n(l(e)); + } + return f(a, "proceed"), function (o, d) { + return o == e || d == e ? n() : s(r, a); + }; + } + f(g, "commasep"); + function Y(r, e, t) { + for (var a = 3; a < arguments.length; a++) i.cc.push(arguments[a]); + return n(c(e, t), g(r, e), u); + } + f(Y, "contCommasep"); + function or(r) { + return r == "}" ? n() : s(v, or); + } + f(or, "block"); + function Q(r, e) { + if (k) { + if (r == ":") return n(m); + if (e == "?") return n(Q); + } + } + f(Q, "maybetype"); + function te(r, e) { + if (k && (r == ":" || e == "in")) return n(m); + } + f(te, "maybetypeOrIn"); + function _r(r) { + if (k && r == ":") return i.stream.match(/^\s*\w+\s+is\b/, !1) ? n(b, ie, m) : n(m); + } + f(_r, "mayberettype"); + function ie(r, e) { + if (e == "is") return i.marked = "keyword", n(); + } + f(ie, "isKW"); + function m(r, e) { + if (e == "keyof" || e == "typeof" || e == "infer" || e == "readonly") return i.marked = "keyword", n(e == "typeof" ? j : m); + if (r == "variable" || e == "void") return i.marked = "type", n(I); + if (e == "|" || e == "&") return n(m); + if (r == "string" || r == "number" || r == "atom") return n(I); + if (r == "[") return n(c("]"), g(m, "]", ","), u, I); + if (r == "{") return n(c("}"), kr, u, I); + if (r == "(") return n(g(wr, ")"), fe, I); + if (r == "<") return n(g(m, ">"), m); + if (r == "quasi") return s(br, I); + } + f(m, "typeexpr"); + function fe(r) { + if (r == "=>") return n(m); + } + f(fe, "maybeReturnType"); + function kr(r) { + return r.match(/[\}\)\]]/) ? n() : r == "," || r == ";" ? n(kr) : s(Z, kr); + } + f(kr, "typeprops"); + function Z(r, e) { + if (r == "variable" || i.style == "keyword") return i.marked = "property", n(Z); + if (e == "?" || r == "number" || r == "string") return n(Z); + if (r == ":") return n(m); + if (r == "[") return n(l("variable"), te, l("]"), Z); + if (r == "(") return s(U, Z); + if (!r.match(/[;\}\)\],]/)) return n(); + } + f(Z, "typeprop"); + function br(r, e) { + return r != "quasi" ? s() : e.slice(e.length - 2) != "${" ? n(br) : n(m, ae); + } + f(br, "quasiType"); + function ae(r) { + if (r == "}") return i.marked = "string-2", i.state.tokenize = H, n(br); + } + f(ae, "continueQuasiType"); + function wr(r, e) { + return r == "variable" && i.stream.match(/^\s*[?:]/, !1) || e == "?" ? n(wr) : r == ":" ? n(m) : r == "spread" ? n(wr) : s(m); + } + f(wr, "typearg"); + function I(r, e) { + if (e == "<") return n(c(">"), g(m, ">"), u, I); + if (e == "|" || r == "." || e == "&") return n(m); + if (r == "[") return n(m, l("]"), I); + if (e == "extends" || e == "implements") return i.marked = "keyword", n(m); + if (e == "?") return n(m, l(":"), m); + } + f(I, "afterType"); + function ue(r, e) { + if (e == "<") return n(c(">"), g(m, ">"), u, I); + } + f(ue, "maybeTypeArgs"); + function sr() { + return s(m, oe); + } + f(sr, "typeparam"); + function oe(r, e) { + if (e == "=") return n(m); + } + f(oe, "maybeTypeDefault"); + function xr(r, e) { + return e == "enum" ? (i.marked = "keyword", n(Pr)) : s(T, Q, _, ce); + } + f(xr, "vardef"); + function T(r, e) { + if (k && ir(e)) return i.marked = "keyword", n(T); + if (r == "variable") return D(e), n(); + if (r == "spread") return n(T); + if (r == "[") return Y(se, "]"); + if (r == "{") return Y(zr, "}"); + } + f(T, "pattern"); + function zr(r, e) { + return r == "variable" && !i.stream.match(/^\s*:/, !1) ? (D(e), n(_)) : (r == "variable" && (i.marked = "property"), r == "spread" ? n(T) : r == "}" ? s() : r == "[" ? n(b, l("]"), l(":"), zr) : n(l(":"), T, _)); + } + f(zr, "proppattern"); + function se() { + return s(T, _); + } + f(se, "eltpattern"); + function _(r, e) { + if (e == "=") return n(j); + } + f(_, "maybeAssign"); + function ce(r) { + if (r == ",") return n(xr); + } + f(ce, "vardefCont"); + function Mr(r, e) { + if (r == "keyword b" && e == "else") return n(c("form", "else"), v, u); + } + f(Mr, "maybeelse"); + function Or(r, e) { + if (e == "await") return n(Or); + if (r == "(") return n(c(")"), le, u); + } + f(Or, "forspec"); + function le(r) { + return r == "var" ? n(xr, R) : r == "variable" ? n(R) : s(R); + } + f(le, "forspec1"); + function R(r, e) { + return r == ")" ? n() : r == ";" ? n(R) : e == "in" || e == "of" ? (i.marked = "keyword", n(b, R)) : s(b, R); + } + f(R, "forspec2"); + function z(r, e) { + if (e == "*") return i.marked = "keyword", n(z); + if (r == "variable") return D(e), n(z); + if (r == "(") return n(q, c(")"), g(P, ")"), u, _r, v, E); + if (k && e == "<") return n(c(">"), g(sr, ">"), u, z); + } + f(z, "functiondef"); + function U(r, e) { + if (e == "*") return i.marked = "keyword", n(U); + if (r == "variable") return D(e), n(U); + if (r == "(") return n(q, c(")"), g(P, ")"), u, _r, E); + if (k && e == "<") return n(c(">"), g(sr, ">"), u, U); + } + f(U, "functiondecl"); + function $r(r, e) { + if (r == "keyword" || r == "variable") return i.marked = "type", n($r); + if (e == "<") return n(c(">"), g(sr, ">"), u); + } + f($r, "typename"); + function P(r, e) { + return e == "@" && n(b, P), r == "spread" ? n(P) : k && ir(e) ? (i.marked = "keyword", n(P)) : k && r == "this" ? n(Q, _) : s(T, Q, _); + } + f(P, "funarg"); + function de(r, e) { + return r == "variable" ? qr(r, e) : cr(r, e); + } + f(de, "classExpression"); + function qr(r, e) { + if (r == "variable") return D(e), n(cr); + } + f(qr, "className"); + function cr(r, e) { + if (e == "<") return n(c(">"), g(sr, ">"), u, cr); + if (e == "extends" || e == "implements" || k && r == ",") return e == "implements" && (i.marked = "keyword"), n(k ? m : b, cr); + if (r == "{") return n(c("}"), S, u); + } + f(cr, "classNameAfter"); + function S(r, e) { + if (r == "async" || r == "variable" && (e == "static" || e == "get" || e == "set" || k && ir(e)) && i.stream.match(/^\s+[\w$\xa1-\uffff]/, !1)) return i.marked = "keyword", n(S); + if (r == "variable" || i.style == "keyword") return i.marked = "property", n(C, S); + if (r == "number" || r == "string") return n(C, S); + if (r == "[") return n(b, Q, l("]"), C, S); + if (e == "*") return i.marked = "keyword", n(S); + if (k && r == "(") return s(U, S); + if (r == ";" || r == ",") return n(S); + if (r == "}") return n(); + if (e == "@") return n(b, S); + } + f(S, "classBody"); + function C(r, e) { + if (e == "!" || e == "?") return n(C); + if (r == ":") return n(m, _); + if (e == "=") return n(j); + var t = i.state.lexical.prev, + a = t && t.info == "interface"; + return s(a ? U : z); + } + f(C, "classfield"); + function me(r, e) { + return e == "*" ? (i.marked = "keyword", n(hr, l(";"))) : e == "default" ? (i.marked = "keyword", n(b, l(";"))) : r == "{" ? n(g(Nr, "}"), hr, l(";")) : s(v); + } + f(me, "afterExport"); + function Nr(r, e) { + if (e == "as") return i.marked = "keyword", n(l("variable")); + if (r == "variable") return s(j, Nr); + } + f(Nr, "exportField"); + function pe(r) { + return r == "string" ? n() : r == "(" ? s(b) : r == "." ? s(N) : s(lr, Br, hr); + } + f(pe, "afterImport"); + function lr(r, e) { + return r == "{" ? Y(lr, "}") : (r == "variable" && D(e), e == "*" && (i.marked = "keyword"), n(ke)); + } + f(lr, "importSpec"); + function Br(r) { + if (r == ",") return n(lr, Br); + } + f(Br, "maybeMoreImports"); + function ke(r, e) { + if (e == "as") return i.marked = "keyword", n(lr); + } + f(ke, "maybeAs"); + function hr(r, e) { + if (e == "from") return i.marked = "keyword", n(b); + } + f(hr, "maybeFrom"); + function be(r) { + return r == "]" ? n() : s(g(j, "]")); + } + f(be, "arrayLiteral"); + function Pr() { + return s(c("form"), T, l("{"), c("}"), g(we, "}"), u, u); + } + f(Pr, "enumdef"); + function we() { + return s(T, _); + } + f(we, "enummember"); + function xe(r, e) { + return r.lastType == "operator" || r.lastType == "," || jr.test(e.charAt(0)) || /[,.]/.test(e.charAt(0)); + } + f(xe, "isContinuedStatement"); + function Fr(r, e, t) { + return e.tokenize == $ && /^(?:operator|sof|keyword [bcd]|case|new|export|default|spread|[\[{}\(,;:]|=>)$/.test(e.lastType) || e.lastType == "quasi" && /\{\s*$/.test(r.string.slice(0, r.pos - (t || 0))); + } + return f(Fr, "expressionAllowed"), { + startState: function (r) { + var e = { + tokenize: $, + lastType: "sof", + cc: [], + lexical: new Er((r || 0) - A, 0, "block", !1), + localVars: h.localVars, + context: h.localVars && new G(null, null, !1), + indented: r || 0 + }; + return h.globalVars && typeof h.globalVars == "object" && (e.globalVars = h.globalVars), e; + }, + token: function (r, e) { + if (r.sol() && (e.lexical.hasOwnProperty("align") || (e.lexical.align = !1), e.indented = r.indentation(), dr(r, e)), e.tokenize != tr && r.eatSpace()) return null; + var t = e.tokenize(r, e); + return K == "comment" ? t : (e.lastType = K == "operator" && (nr == "++" || nr == "--") ? "incdec" : K, Tr(e, t, K, nr, r)); + }, + indent: function (r, e) { + if (r.tokenize == tr || r.tokenize == H) return w.Pass; + if (r.tokenize != $) return 0; + var t = e && e.charAt(0), + a = r.lexical, + o; + if (!/^\s*else\b/.test(e)) for (var d = r.cc.length - 1; d >= 0; --d) { + var p = r.cc[d]; + if (p == u) a = a.prev;else if (p != Mr && p != E) break; + } + for (; (a.type == "stat" || a.type == "form") && (t == "}" || (o = r.cc[r.cc.length - 1]) && (o == N || o == L) && !/^[,\.=+\-*:?[\(]/.test(e));) a = a.prev; + vr && a.type == ")" && a.prev.type == "stat" && (a = a.prev); + var y = a.type, + V = t == y; + return y == "vardef" ? a.indented + (r.lastType == "operator" || r.lastType == "," ? a.info.length + 1 : 0) : y == "form" && t == "{" ? a.indented : y == "form" ? a.indented + A : y == "stat" ? a.indented + (xe(r, e) ? vr || A : 0) : a.info == "switch" && !V && h.doubleIndentSwitch != !1 ? a.indented + (/^(?:case|default)\b/.test(e) ? A : 2 * A) : a.align ? a.column + (V ? 0 : 1) : a.indented + (V ? 0 : A); + }, + electricInput: /^\s*(?:case .*?:|default:|\{|\})$/, + blockCommentStart: O ? null : "/*", + blockCommentEnd: O ? null : "*/", + blockCommentContinue: O ? null : " * ", + lineComment: O ? null : "//", + fold: "brace", + closeBrackets: "()[]{}''\"\"``", + helperType: O ? "json" : "javascript", + jsonldMode: rr, + jsonMode: O, + expressionAllowed: Fr, + skipExpression: function (r) { + Tr(r, "atom", "atom", "true", new w.StringStream("", 2, null)); + } + }; + }), w.registerHelper("wordChars", "javascript", /[\w$]/), w.defineMIME("text/javascript", "javascript"), w.defineMIME("text/ecmascript", "javascript"), w.defineMIME("application/javascript", "javascript"), w.defineMIME("application/x-javascript", "javascript"), w.defineMIME("application/ecmascript", "javascript"), w.defineMIME("application/json", { + name: "javascript", + json: !0 + }), w.defineMIME("application/x-json", { + name: "javascript", + json: !0 + }), w.defineMIME("application/manifest+json", { + name: "javascript", + json: !0 + }), w.defineMIME("application/ld+json", { + name: "javascript", + jsonld: !0 + }), w.defineMIME("text/typescript", { + name: "javascript", + typescript: !0 + }), w.defineMIME("application/typescript", { + name: "javascript", + typescript: !0 + }); + }); +})(); +var Jr = ye.exports; +const je = Dr.getDefaultExportFromCjs(Jr), + Ee = ge({ + __proto__: null, + default: je + }, [Jr]); +exports.javascript = Ee; + +/***/ }), + +/***/ "../../graphiql-react/dist/jump-to-line.cjs.js": +/*!*****************************************************!*\ + !*** ../../graphiql-react/dist/jump-to-line.cjs.js ***! + \*****************************************************/ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + + +var m = Object.defineProperty; +var c = (u, p) => m(u, "name", { + value: p, + configurable: !0 +}); +const f = __webpack_require__(/*! ./codemirror.cjs2.js */ "../../graphiql-react/dist/codemirror.cjs2.js"), + g = __webpack_require__(/*! ./dialog.cjs.js */ "../../graphiql-react/dist/dialog.cjs.js"); +function h(u, p) { + for (var o = 0; o < p.length; o++) { + const s = p[o]; + if (typeof s != "string" && !Array.isArray(s)) { + for (const i in s) if (i !== "default" && !(i in u)) { + const a = Object.getOwnPropertyDescriptor(s, i); + a && Object.defineProperty(u, i, a.get ? a : { + enumerable: !0, + get: () => s[i] + }); + } + } + } + return Object.freeze(Object.defineProperty(u, Symbol.toStringTag, { + value: "Module" + })); +} +c(h, "_mergeNamespaces"); +var b = { + exports: {} +}; +(function (u, p) { + (function (o) { + o(f.requireCodemirror(), g.dialogExports); + })(function (o) { + o.defineOption("search", { + bottom: !1 + }); + function s(e, r, n, t, l) { + e.openDialog ? e.openDialog(r, l, { + value: t, + selectValueOnOpen: !0, + bottom: e.options.search.bottom + }) : l(prompt(n, t)); + } + c(s, "dialog"); + function i(e) { + return e.phrase("Jump to line:") + ' ' + e.phrase("(Use line:column or scroll% syntax)") + ""; + } + c(i, "getJumpDialog"); + function a(e, r) { + var n = Number(r); + return /^[-+]/.test(r) ? e.getCursor().line + n : n - 1; + } + c(a, "interpretLine"), o.commands.jumpToLine = function (e) { + var r = e.getCursor(); + s(e, i(e), e.phrase("Jump to line:"), r.line + 1 + ":" + r.ch, function (n) { + if (n) { + var t; + if (t = /^\s*([\+\-]?\d+)\s*\:\s*(\d+)\s*$/.exec(n)) e.setCursor(a(e, t[1]), Number(t[2]));else if (t = /^\s*([\+\-]?\d+(\.\d+)?)\%\s*/.exec(n)) { + var l = Math.round(e.lineCount() * Number(t[1]) / 100); + /^[-+]/.test(t[1]) && (l = r.line + l + 1), e.setCursor(l - 1, r.ch); + } else (t = /^\s*\:?\s*([\+\-]?\d+)\s*/.exec(n)) && e.setCursor(a(e, t[1]), r.ch); + } + }); + }, o.keyMap.default["Alt-G"] = "jumpToLine"; + }); +})(); +var d = b.exports; +const j = f.getDefaultExportFromCjs(d), + y = h({ + __proto__: null, + default: j + }, [d]); +exports.jumpToLine = y; + +/***/ }), + +/***/ "../../graphiql-react/dist/jump.cjs.js": +/*!*********************************************!*\ + !*** ../../graphiql-react/dist/jump.cjs.js ***! + \*********************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + + +var c = Object.defineProperty; +var s = (e, r) => c(e, "name", { + value: r, + configurable: !0 +}); +const u = __webpack_require__(/*! ./codemirror.cjs.js */ "../../graphiql-react/dist/codemirror.cjs.js"), + d = __webpack_require__(/*! ./SchemaReference.cjs.js */ "../../graphiql-react/dist/SchemaReference.cjs.js"); +__webpack_require__(/*! ./codemirror.cjs2.js */ "../../graphiql-react/dist/codemirror.cjs2.js"); +__webpack_require__(/*! graphql */ "../../../node_modules/graphql/index.mjs"); +__webpack_require__(/*! ./forEachState.cjs.js */ "../../graphiql-react/dist/forEachState.cjs.js"); +u.CodeMirror.defineOption("jump", !1, (e, r, n) => { + if (n && n !== u.CodeMirror.Init) { + const t = e.state.jump.onMouseOver; + u.CodeMirror.off(e.getWrapperElement(), "mouseover", t); + const i = e.state.jump.onMouseOut; + u.CodeMirror.off(e.getWrapperElement(), "mouseout", i), u.CodeMirror.off(document, "keydown", e.state.jump.onKeyDown), delete e.state.jump; + } + if (r) { + const t = e.state.jump = { + options: r, + onMouseOver: M.bind(null, e), + onMouseOut: m.bind(null, e), + onKeyDown: g.bind(null, e) + }; + u.CodeMirror.on(e.getWrapperElement(), "mouseover", t.onMouseOver), u.CodeMirror.on(e.getWrapperElement(), "mouseout", t.onMouseOut), u.CodeMirror.on(document, "keydown", t.onKeyDown); + } +}); +function M(e, r) { + const n = r.target || r.srcElement; + if (!(n instanceof HTMLElement) || (n == null ? void 0 : n.nodeName) !== "SPAN") return; + const t = n.getBoundingClientRect(), + i = { + left: (t.left + t.right) / 2, + top: (t.top + t.bottom) / 2 + }; + e.state.jump.cursor = i, e.state.jump.isHoldingModifier && l(e); +} +s(M, "onMouseOver"); +function m(e) { + if (!e.state.jump.isHoldingModifier && e.state.jump.cursor) { + e.state.jump.cursor = null; + return; + } + e.state.jump.isHoldingModifier && e.state.jump.marker && p(e); +} +s(m, "onMouseOut"); +function g(e, r) { + if (e.state.jump.isHoldingModifier || !k(r.key)) return; + e.state.jump.isHoldingModifier = !0, e.state.jump.cursor && l(e); + const n = s(o => { + o.code === r.code && (e.state.jump.isHoldingModifier = !1, e.state.jump.marker && p(e), u.CodeMirror.off(document, "keyup", n), u.CodeMirror.off(document, "click", t), e.off("mousedown", i)); + }, "onKeyUp"), + t = s(o => { + const { + destination: a, + options: f + } = e.state.jump; + a && f.onClick(a, o); + }, "onClick"), + i = s((o, a) => { + e.state.jump.destination && (a.codemirrorIgnore = !0); + }, "onMouseDown"); + u.CodeMirror.on(document, "keyup", n), u.CodeMirror.on(document, "click", t), e.on("mousedown", i); +} +s(g, "onKeyDown"); +const j = typeof navigator < "u" && navigator && navigator.appVersion.includes("Mac"); +function k(e) { + return e === (j ? "Meta" : "Control"); +} +s(k, "isJumpModifier"); +function l(e) { + if (e.state.jump.marker) return; + const { + cursor: r, + options: n + } = e.state.jump, + t = e.coordsChar(r), + i = e.getTokenAt(t, !0), + o = n.getDestination || e.getHelper(t, "jump"); + if (o) { + const a = o(i, n, e); + if (a) { + const f = e.markText({ + line: t.line, + ch: i.start + }, { + line: t.line, + ch: i.end + }, { + className: "CodeMirror-jump-token" + }); + e.state.jump.marker = f, e.state.jump.destination = a; + } + } +} +s(l, "enableJumpMode"); +function p(e) { + const { + marker: r + } = e.state.jump; + e.state.jump.marker = null, e.state.jump.destination = null, r.clear(); +} +s(p, "disableJumpMode"); +u.CodeMirror.registerHelper("jump", "graphql", (e, r) => { + if (!r.schema || !r.onClick || !e.state) return; + const { + state: n + } = e, + { + kind: t, + step: i + } = n, + o = d.getTypeInfo(r.schema, n); + if (t === "Field" && i === 0 && o.fieldDef || t === "AliasedField" && i === 2 && o.fieldDef) return d.getFieldReference(o); + if (t === "Directive" && i === 1 && o.directiveDef) return d.getDirectiveReference(o); + if (t === "Argument" && i === 0 && o.argDef) return d.getArgumentReference(o); + if (t === "EnumValue" && o.enumValue) return d.getEnumValueReference(o); + if (t === "NamedType" && o.type) return d.getTypeReference(o); +}); + +/***/ }), + +/***/ "../../graphiql-react/dist/lint.cjs.js": +/*!*********************************************!*\ + !*** ../../graphiql-react/dist/lint.cjs.js ***! + \*********************************************/ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + + +var W = Object.defineProperty; +var s = (h, v) => W(h, "name", { + value: v, + configurable: !0 +}); +const x = __webpack_require__(/*! ./codemirror.cjs2.js */ "../../graphiql-react/dist/codemirror.cjs2.js"); +function q(h, v) { + for (var l = 0; l < v.length; l++) { + const u = v[l]; + if (typeof u != "string" && !Array.isArray(u)) { + for (const g in u) if (g !== "default" && !(g in h)) { + const c = Object.getOwnPropertyDescriptor(u, g); + c && Object.defineProperty(h, g, c.get ? c : { + enumerable: !0, + get: () => u[g] + }); + } + } + } + return Object.freeze(Object.defineProperty(h, Symbol.toStringTag, { + value: "Module" + })); +} +s(q, "_mergeNamespaces"); +var B = { + exports: {} +}; +(function (h, v) { + (function (l) { + l(x.requireCodemirror()); + })(function (l) { + var u = "CodeMirror-lint-markers", + g = "CodeMirror-lint-line-"; + function c(t, e, r) { + var n = document.createElement("div"); + n.className = "CodeMirror-lint-tooltip cm-s-" + t.options.theme, n.appendChild(r.cloneNode(!0)), t.state.lint.options.selfContain ? t.getWrapperElement().appendChild(n) : document.body.appendChild(n); + function i(o) { + if (!n.parentNode) return l.off(document, "mousemove", i); + n.style.top = Math.max(0, o.clientY - n.offsetHeight - 5) + "px", n.style.left = o.clientX + 5 + "px"; + } + return s(i, "position"), l.on(document, "mousemove", i), i(e), n.style.opacity != null && (n.style.opacity = 1), n; + } + s(c, "showTooltip"); + function L(t) { + t.parentNode && t.parentNode.removeChild(t); + } + s(L, "rm"); + function A(t) { + t.parentNode && (t.style.opacity == null && L(t), t.style.opacity = 0, setTimeout(function () { + L(t); + }, 600)); + } + s(A, "hideTooltip"); + function M(t, e, r, n) { + var i = c(t, e, r); + function o() { + l.off(n, "mouseout", o), i && (A(i), i = null); + } + s(o, "hide"); + var a = setInterval(function () { + if (i) for (var f = n;; f = f.parentNode) { + if (f && f.nodeType == 11 && (f = f.host), f == document.body) return; + if (!f) { + o(); + break; + } + } + if (!i) return clearInterval(a); + }, 400); + l.on(n, "mouseout", o); + } + s(M, "showTooltipFor"); + function F(t, e, r) { + this.marked = [], e instanceof Function && (e = { + getAnnotations: e + }), (!e || e === !0) && (e = {}), this.options = {}, this.linterOptions = e.options || {}; + for (var n in C) this.options[n] = C[n]; + for (var n in e) C.hasOwnProperty(n) ? e[n] != null && (this.options[n] = e[n]) : e.options || (this.linterOptions[n] = e[n]); + this.timeout = null, this.hasGutter = r, this.onMouseOver = function (i) { + U(t, i); + }, this.waitingFor = 0; + } + s(F, "LintState"); + var C = { + highlightLines: !1, + tooltips: !0, + delay: 500, + lintOnChange: !0, + getAnnotations: null, + async: !1, + selfContain: null, + formatAnnotation: null, + onUpdateLinting: null + }; + function E(t) { + var e = t.state.lint; + e.hasGutter && t.clearGutter(u), e.options.highlightLines && G(t); + for (var r = 0; r < e.marked.length; ++r) e.marked[r].clear(); + e.marked.length = 0; + } + s(E, "clearMarks"); + function G(t) { + t.eachLine(function (e) { + var r = e.wrapClass && /\bCodeMirror-lint-line-\w+\b/.exec(e.wrapClass); + r && t.removeLineClass(e, "wrap", r[0]); + }); + } + s(G, "clearErrorLines"); + function I(t, e, r, n, i) { + var o = document.createElement("div"), + a = o; + return o.className = "CodeMirror-lint-marker CodeMirror-lint-marker-" + r, n && (a = o.appendChild(document.createElement("div")), a.className = "CodeMirror-lint-marker CodeMirror-lint-marker-multiple"), i != !1 && l.on(a, "mouseover", function (f) { + M(t, f, e, a); + }), o; + } + s(I, "makeMarker"); + function D(t, e) { + return t == "error" ? t : e; + } + s(D, "getMaxSeverity"); + function j(t) { + for (var e = [], r = 0; r < t.length; ++r) { + var n = t[r], + i = n.from.line; + (e[i] || (e[i] = [])).push(n); + } + return e; + } + s(j, "groupByLine"); + function N(t) { + var e = t.severity; + e || (e = "error"); + var r = document.createElement("div"); + return r.className = "CodeMirror-lint-message CodeMirror-lint-message-" + e, typeof t.messageHTML < "u" ? r.innerHTML = t.messageHTML : r.appendChild(document.createTextNode(t.message)), r; + } + s(N, "annotationTooltip"); + function H(t, e) { + var r = t.state.lint, + n = ++r.waitingFor; + function i() { + n = -1, t.off("change", i); + } + s(i, "abort"), t.on("change", i), e(t.getValue(), function (o, a) { + t.off("change", i), r.waitingFor == n && (a && o instanceof l && (o = a), t.operation(function () { + O(t, o); + })); + }, r.linterOptions, t); + } + s(H, "lintAsync"); + function k(t) { + var e = t.state.lint; + if (e) { + var r = e.options, + n = r.getAnnotations || t.getHelper(l.Pos(0, 0), "lint"); + if (n) if (r.async || n.async) H(t, n);else { + var i = n(t.getValue(), e.linterOptions, t); + if (!i) return; + i.then ? i.then(function (o) { + t.operation(function () { + O(t, o); + }); + }) : t.operation(function () { + O(t, i); + }); + } + } + } + s(k, "startLinting"); + function O(t, e) { + var r = t.state.lint; + if (r) { + var n = r.options; + E(t); + for (var i = j(e), o = 0; o < i.length; ++o) { + var a = i[o]; + if (a) { + var f = []; + a = a.filter(function (w) { + return f.indexOf(w.message) > -1 ? !1 : f.push(w.message); + }); + for (var p = null, m = r.hasGutter && document.createDocumentFragment(), T = 0; T < a.length; ++T) { + var d = a[T], + y = d.severity; + y || (y = "error"), p = D(p, y), n.formatAnnotation && (d = n.formatAnnotation(d)), r.hasGutter && m.appendChild(N(d)), d.to && r.marked.push(t.markText(d.from, d.to, { + className: "CodeMirror-lint-mark CodeMirror-lint-mark-" + y, + __annotation: d + })); + } + r.hasGutter && t.setGutterMarker(o, u, I(t, m, p, i[o].length > 1, n.tooltips)), n.highlightLines && t.addLineClass(o, "wrap", g + p); + } + } + n.onUpdateLinting && n.onUpdateLinting(e, i, t); + } + } + s(O, "updateLinting"); + function b(t) { + var e = t.state.lint; + e && (clearTimeout(e.timeout), e.timeout = setTimeout(function () { + k(t); + }, e.options.delay)); + } + s(b, "onChange"); + function P(t, e, r) { + for (var n = r.target || r.srcElement, i = document.createDocumentFragment(), o = 0; o < e.length; o++) { + var a = e[o]; + i.appendChild(N(a)); + } + M(t, r, i, n); + } + s(P, "popupTooltips"); + function U(t, e) { + var r = e.target || e.srcElement; + if (/\bCodeMirror-lint-mark-/.test(r.className)) { + for (var n = r.getBoundingClientRect(), i = (n.left + n.right) / 2, o = (n.top + n.bottom) / 2, a = t.findMarksAt(t.coordsChar({ + left: i, + top: o + }, "client")), f = [], p = 0; p < a.length; ++p) { + var m = a[p].__annotation; + m && f.push(m); + } + f.length && P(t, f, e); + } + } + s(U, "onMouseOver"), l.defineOption("lint", !1, function (t, e, r) { + if (r && r != l.Init && (E(t), t.state.lint.options.lintOnChange !== !1 && t.off("change", b), l.off(t.getWrapperElement(), "mouseover", t.state.lint.onMouseOver), clearTimeout(t.state.lint.timeout), delete t.state.lint), e) { + for (var n = t.getOption("gutters"), i = !1, o = 0; o < n.length; ++o) n[o] == u && (i = !0); + var a = t.state.lint = new F(t, e, i); + a.options.lintOnChange && t.on("change", b), a.options.tooltips != !1 && a.options.tooltips != "gutter" && l.on(t.getWrapperElement(), "mouseover", a.onMouseOver), k(t); + } + }), l.defineExtension("performLint", function () { + k(this); + }); + }); +})(); +var _ = B.exports; +const R = x.getDefaultExportFromCjs(_), + V = q({ + __proto__: null, + default: R + }, [_]); +exports.lint = V; + +/***/ }), + +/***/ "../../graphiql-react/dist/lint.cjs2.js": +/*!**********************************************!*\ + !*** ../../graphiql-react/dist/lint.cjs2.js ***! + \**********************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + + +const t = __webpack_require__(/*! ./codemirror.cjs.js */ "../../graphiql-react/dist/codemirror.cjs.js"), + c = __webpack_require__(/*! graphql-language-service */ "../../graphql-language-service/esm/index.js"); +__webpack_require__(/*! ./codemirror.cjs2.js */ "../../graphiql-react/dist/codemirror.cjs2.js"); +const a = ["error", "warning", "information", "hint"], + g = { + "GraphQL: Validation": "validation", + "GraphQL: Deprecation": "deprecation", + "GraphQL: Syntax": "syntax" + }; +t.CodeMirror.registerHelper("lint", "graphql", (n, s) => { + const { + schema: r, + validationRules: i, + externalFragments: o + } = s; + return c.getDiagnostics(n, r, i, void 0, o).map(e => ({ + message: e.message, + severity: e.severity ? a[e.severity - 1] : a[0], + type: e.source ? g[e.source] : void 0, + from: t.CodeMirror.Pos(e.range.start.line, e.range.start.character), + to: t.CodeMirror.Pos(e.range.end.line, e.range.end.character) + })); +}); + +/***/ }), + +/***/ "../../graphiql-react/dist/lint.cjs3.js": +/*!**********************************************!*\ + !*** ../../graphiql-react/dist/lint.cjs3.js ***! + \**********************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + + +var V = Object.defineProperty; +var t = (e, n) => V(e, "name", { + value: n, + configurable: !0 +}); +const I = __webpack_require__(/*! ./codemirror.cjs.js */ "../../graphiql-react/dist/codemirror.cjs.js"), + b = __webpack_require__(/*! graphql */ "../../../node_modules/graphql/index.mjs"); +__webpack_require__(/*! ./codemirror.cjs2.js */ "../../graphiql-react/dist/codemirror.cjs2.js"); +function C(e) { + d = e, E = e.length, s = u = N = -1, o(), y(); + const n = q(); + return p("EOF"), n; +} +t(C, "jsonParse"); +let d, E, s, u, N, r, l; +function q() { + const e = s, + n = []; + if (p("{"), !x("}")) { + do n.push(M()); while (x(",")); + p("}"); + } + return { + kind: "Object", + start: e, + end: N, + members: n + }; +} +t(q, "parseObj"); +function M() { + const e = s, + n = l === "String" ? G() : null; + p("String"), p(":"); + const i = B(); + return { + kind: "Member", + start: e, + end: N, + key: n, + value: i + }; +} +t(M, "parseMember"); +function v() { + const e = s, + n = []; + if (p("["), !x("]")) { + do n.push(B()); while (x(",")); + p("]"); + } + return { + kind: "Array", + start: e, + end: N, + values: n + }; +} +t(v, "parseArr"); +function B() { + switch (l) { + case "[": + return v(); + case "{": + return q(); + case "String": + case "Number": + case "Boolean": + case "Null": + const e = G(); + return y(), e; + } + p("Value"); +} +t(B, "parseVal"); +function G() { + return { + kind: l, + start: s, + end: u, + value: JSON.parse(d.slice(s, u)) + }; +} +t(G, "curToken"); +function p(e) { + if (l === e) { + y(); + return; + } + let n; + if (l === "EOF") n = "[end of file]";else if (u - s > 1) n = "`" + d.slice(s, u) + "`";else { + const i = d.slice(s).match(/^.+?\b/); + n = "`" + (i ? i[0] : d[s]) + "`"; + } + throw k(`Expected ${e} but found ${n}.`); +} +t(p, "expect"); +class j extends Error { + constructor(n, i) { + super(n), this.position = i; + } } -i(V, "generateIcon"); -const Q = l.forwardRef((e, t) => r.jsx("button", { - ...e, - ref: t, - className: _.clsx("graphiql-un-styled", e.className) -})); -Q.displayName = "UnStyledButton"; -const me = l.forwardRef((e, t) => r.jsx("button", { - ...e, - ref: t, - className: _.clsx("graphiql-button", { - success: "graphiql-button-success", - error: "graphiql-button-error" - }[e.state], e.className) -})); -me.displayName = "Button"; -const Ut = l.forwardRef((e, t) => r.jsx("div", { - ...e, - ref: t, - className: _.clsx("graphiql-button-group", e.className) -})); -Ut.displayName = "ButtonGroup"; -const ye = i((e, t) => Object.entries(t).reduce((n, _ref32) => { - let [s, o] = _ref32; - return n[s] = o, n; -}, e), "createComponentGroup"); -const Kt = l.forwardRef((e, t) => r.jsx(re.Close, { - asChild: !0, - children: r.jsxs(Q, { - ...e, - ref: t, - type: "button", - className: _.clsx("graphiql-dialog-close", e.className), - children: [r.jsx(Pn.Root, { - children: "Close dialog" - }), r.jsx(Fe, {})] - }) -})); -Kt.displayName = "Dialog.Close"; -function Jt(_ref33) { - let { - children: e, - ...t - } = _ref33; - return r.jsx(re.Root, { - ...t, - children: r.jsxs(re.Portal, { - children: [r.jsx(re.Overlay, { - className: "graphiql-dialog-overlay" - }), r.jsx(re.Content, { - className: "graphiql-dialog", - children: e - })] - }) +t(j, "JSONSyntaxError"); +function k(e) { + return new j(e, { + start: s, + end: u }); } -i(Jt, "DialogRoot"); -const br = ye(Jt, { - Close: Kt, - Title: re.Title, - Trigger: re.Trigger, - Description: re.Description +t(k, "syntaxError"); +function x(e) { + if (l === e) return y(), !0; +} +t(x, "skip"); +function o() { + return u < E && (u++, r = u === E ? 0 : d.charCodeAt(u)), r; +} +t(o, "ch"); +function y() { + for (N = u; r === 9 || r === 10 || r === 13 || r === 32;) o(); + if (r === 0) { + l = "EOF"; + return; + } + switch (s = u, r) { + case 34: + return l = "String", D(); + case 45: + case 48: + case 49: + case 50: + case 51: + case 52: + case 53: + case 54: + case 55: + case 56: + case 57: + return l = "Number", H(); + case 102: + if (d.slice(s, s + 5) !== "false") break; + u += 4, o(), l = "Boolean"; + return; + case 110: + if (d.slice(s, s + 4) !== "null") break; + u += 3, o(), l = "Null"; + return; + case 116: + if (d.slice(s, s + 4) !== "true") break; + u += 3, o(), l = "Boolean"; + return; + } + l = d[s], o(); +} +t(y, "lex"); +function D() { + for (o(); r !== 34 && r > 31;) if (r === 92) switch (r = o(), r) { + case 34: + case 47: + case 92: + case 98: + case 102: + case 110: + case 114: + case 116: + o(); + break; + case 117: + o(), w(), w(), w(), w(); + break; + default: + throw k("Bad character escape sequence."); + } else { + if (u === E) throw k("Unterminated string."); + o(); + } + if (r === 34) { + o(); + return; + } + throw k("Unterminated string."); +} +t(D, "readString"); +function w() { + if (r >= 48 && r <= 57 || r >= 65 && r <= 70 || r >= 97 && r <= 102) return o(); + throw k("Expected hexadecimal digit."); +} +t(w, "readHex"); +function H() { + r === 45 && o(), r === 48 ? o() : $(), r === 46 && (o(), $()), (r === 69 || r === 101) && (r = o(), (r === 43 || r === 45) && o(), $()); +} +t(H, "readNumber"); +function $() { + if (r < 48 || r > 57) throw k("Expected decimal digit."); + do o(); while (r >= 48 && r <= 57); +} +t($, "readDigits"); +I.CodeMirror.registerHelper("lint", "graphql-variables", (e, n, i) => { + if (!e) return []; + let f; + try { + f = C(e); + } catch (c) { + if (c instanceof j) return [F(i, c.position, c.message)]; + throw c; + } + const { + variableToType: a + } = n; + return a ? U(i, a, f) : []; }); -const Yt = l.forwardRef((e, t) => r.jsx(xe.Trigger, { - asChild: !0, - children: r.jsx("button", { - ...e, - ref: t, - className: _.clsx("graphiql-un-styled", e.className) - }) -})); -Yt.displayName = "DropdownMenuButton"; -function wr(_ref34) { - let { - children: e, - align: t = "start", - sideOffset: n = 5, - className: s, - ...o - } = _ref34; - return r.jsx(xe.Portal, { - children: r.jsx(xe.Content, { - align: t, - sideOffset: n, - className: _.clsx("graphiql-dropdown-content", s), - ...o, - children: e - }) - }); +function U(e, n, i) { + var f; + const a = []; + for (const c of i.members) if (c) { + const h = (f = c.key) === null || f === void 0 ? void 0 : f.value, + m = n[h]; + if (m) for (const [O, Q] of g(m, c.value)) a.push(F(e, O, Q));else a.push(F(e, c.key, `Variable "$${h}" does not appear in any GraphQL query.`)); + } + return a; } -i(wr, "Content"); -const Er = i(_ref35 => { - let { - className: e, - children: t, - ...n - } = _ref35; - return r.jsx(xe.Item, { - className: _.clsx("graphiql-dropdown-item", e), - ...n, - children: t +t(U, "validateVariables"); +function g(e, n) { + if (!e || !n) return []; + if (e instanceof b.GraphQLNonNull) return n.kind === "Null" ? [[n, `Type "${e}" is non-nullable and cannot be null.`]] : g(e.ofType, n); + if (n.kind === "Null") return []; + if (e instanceof b.GraphQLList) { + const i = e.ofType; + if (n.kind === "Array") { + const f = n.values || []; + return L(f, a => g(i, a)); + } + return g(i, n); + } + if (e instanceof b.GraphQLInputObjectType) { + if (n.kind !== "Object") return [[n, `Type "${e}" must be an Object.`]]; + const i = Object.create(null), + f = L(n.members, a => { + var c; + const h = (c = a == null ? void 0 : a.key) === null || c === void 0 ? void 0 : c.value; + i[h] = !0; + const m = e.getFields()[h]; + if (!m) return [[a.key, `Type "${e}" does not have a field "${h}".`]]; + const O = m ? m.type : void 0; + return g(O, a.value); + }); + for (const a of Object.keys(e.getFields())) { + const c = e.getFields()[a]; + !i[a] && c.type instanceof b.GraphQLNonNull && !c.defaultValue && f.push([n, `Object of type "${e}" is missing required field "${a}".`]); + } + return f; + } + return e.name === "Boolean" && n.kind !== "Boolean" || e.name === "String" && n.kind !== "String" || e.name === "ID" && n.kind !== "Number" && n.kind !== "String" || e.name === "Float" && n.kind !== "Number" || e.name === "Int" && (n.kind !== "Number" || (n.value | 0) !== n.value) ? [[n, `Expected value of type "${e}".`]] : (e instanceof b.GraphQLEnumType || e instanceof b.GraphQLScalarType) && (n.kind !== "String" && n.kind !== "Number" && n.kind !== "Boolean" && n.kind !== "Null" || _(e.parseValue(n.value))) ? [[n, `Expected value of type "${e}".`]] : []; +} +t(g, "validateValue"); +function F(e, n, i) { + return { + message: i, + severity: "error", + type: "validation", + from: e.posFromIndex(n.start), + to: e.posFromIndex(n.end) + }; +} +t(F, "lintError"); +function _(e) { + return e == null || e !== e; +} +t(_, "isNullish"); +function L(e, n) { + return Array.prototype.concat.apply([], e.map(n)); +} +t(L, "mapCat"); + +/***/ }), + +/***/ "../../graphiql-react/dist/matchbrackets.cjs.js": +/*!******************************************************!*\ + !*** ../../graphiql-react/dist/matchbrackets.cjs.js ***! + \******************************************************/ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + + +var i = Object.defineProperty; +var s = (e, c) => i(e, "name", { + value: c, + configurable: !0 +}); +const u = __webpack_require__(/*! ./codemirror.cjs2.js */ "../../graphiql-react/dist/codemirror.cjs2.js"), + f = __webpack_require__(/*! ./matchbrackets.cjs2.js */ "../../graphiql-react/dist/matchbrackets.cjs2.js"); +function b(e, c) { + for (var o = 0; o < c.length; o++) { + const t = c[o]; + if (typeof t != "string" && !Array.isArray(t)) { + for (const r in t) if (r !== "default" && !(r in e)) { + const a = Object.getOwnPropertyDescriptor(t, r); + a && Object.defineProperty(e, r, a.get ? a : { + enumerable: !0, + get: () => t[r] + }); + } + } + } + return Object.freeze(Object.defineProperty(e, Symbol.toStringTag, { + value: "Module" + })); +} +s(b, "_mergeNamespaces"); +var n = f.requireMatchbrackets(); +const l = u.getDefaultExportFromCjs(n), + m = b({ + __proto__: null, + default: l + }, [n]); +exports.matchbrackets = m; + +/***/ }), + +/***/ "../../graphiql-react/dist/matchbrackets.cjs2.js": +/*!*******************************************************!*\ + !*** ../../graphiql-react/dist/matchbrackets.cjs2.js ***! + \*******************************************************/ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + + +var R = Object.defineProperty; +var f = (L, y) => R(L, "name", { + value: y, + configurable: !0 +}); +const F = __webpack_require__(/*! ./codemirror.cjs2.js */ "../../graphiql-react/dist/codemirror.cjs2.js"); +var T = { + exports: {} + }, + E; +function I() { + return E || (E = 1, function (L, y) { + (function (o) { + o(F.requireCodemirror()); + })(function (o) { + var S = /MSIE \d/.test(navigator.userAgent) && (document.documentMode == null || document.documentMode < 8), + g = o.Pos, + B = { + "(": ")>", + ")": "(<", + "[": "]>", + "]": "[<", + "{": "}>", + "}": "{<", + "<": ">>", + ">": "<<" + }; + function A(t) { + return t && t.bracketRegex || /[(){}[\]]/; + } + f(A, "bracketRegex"); + function b(t, r, e) { + var s = t.getLineHandle(r.line), + n = r.ch - 1, + h = e && e.afterCursor; + h == null && (h = /(^| )cm-fat-cursor($| )/.test(t.getWrapperElement().className)); + var l = A(e), + u = !h && n >= 0 && l.test(s.text.charAt(n)) && B[s.text.charAt(n)] || l.test(s.text.charAt(n + 1)) && B[s.text.charAt(++n)]; + if (!u) return null; + var a = u.charAt(1) == ">" ? 1 : -1; + if (e && e.strict && a > 0 != (n == r.ch)) return null; + var k = t.getTokenTypeAt(g(r.line, n + 1)), + i = H(t, g(r.line, n + (a > 0 ? 1 : 0)), a, k, e); + return i == null ? null : { + from: g(r.line, n), + to: i && i.pos, + match: i && i.ch == u.charAt(0), + forward: a > 0 + }; + } + f(b, "findMatchingBracket"); + function H(t, r, e, s, n) { + for (var h = n && n.maxScanLineLength || 1e4, l = n && n.maxScanLines || 1e3, u = [], a = A(n), k = e > 0 ? Math.min(r.line + l, t.lastLine() + 1) : Math.max(t.firstLine() - 1, r.line - l), i = r.line; i != k; i += e) { + var c = t.getLine(i); + if (c) { + var v = e > 0 ? 0 : c.length - 1, + q = e > 0 ? c.length : -1; + if (!(c.length > h)) for (i == r.line && (v = r.ch - (e < 0 ? 1 : 0)); v != q; v += e) { + var d = c.charAt(v); + if (a.test(d) && (s === void 0 || (t.getTokenTypeAt(g(i, v + 1)) || "") == (s || ""))) { + var m = B[d]; + if (m && m.charAt(1) == ">" == e > 0) u.push(d);else if (u.length) u.pop();else return { + pos: g(i, v), + ch: d + }; + } + } + } + } + return i - e == (e > 0 ? t.lastLine() : t.firstLine()) ? !1 : null; + } + f(H, "scanForBracket"); + function M(t, r, e) { + for (var s = t.state.matchBrackets.maxHighlightLineLength || 1e3, n = e && e.highlightNonMatching, h = [], l = t.listSelections(), u = 0; u < l.length; u++) { + var a = l[u].empty() && b(t, l[u].head, e); + if (a && (a.match || n !== !1) && t.getLine(a.from.line).length <= s) { + var k = a.match ? "CodeMirror-matchingbracket" : "CodeMirror-nonmatchingbracket"; + h.push(t.markText(a.from, g(a.from.line, a.from.ch + 1), { + className: k + })), a.to && t.getLine(a.to.line).length <= s && h.push(t.markText(a.to, g(a.to.line, a.to.ch + 1), { + className: k + })); + } + } + if (h.length) { + S && t.state.focused && t.focus(); + var i = f(function () { + t.operation(function () { + for (var c = 0; c < h.length; c++) h[c].clear(); + }); + }, "clear"); + if (r) setTimeout(i, 800);else return i; + } + } + f(M, "matchBrackets"); + function x(t) { + t.operation(function () { + t.state.matchBrackets.currentlyHighlighted && (t.state.matchBrackets.currentlyHighlighted(), t.state.matchBrackets.currentlyHighlighted = null), t.state.matchBrackets.currentlyHighlighted = M(t, !1, t.state.matchBrackets); + }); + } + f(x, "doMatchBrackets"); + function p(t) { + t.state.matchBrackets && t.state.matchBrackets.currentlyHighlighted && (t.state.matchBrackets.currentlyHighlighted(), t.state.matchBrackets.currentlyHighlighted = null); + } + f(p, "clearHighlighted"), o.defineOption("matchBrackets", !1, function (t, r, e) { + e && e != o.Init && (t.off("cursorActivity", x), t.off("focus", x), t.off("blur", p), p(t)), r && (t.state.matchBrackets = typeof r == "object" ? r : {}, t.on("cursorActivity", x), t.on("focus", x), t.on("blur", p)); + }), o.defineExtension("matchBrackets", function () { + M(this, !0); + }), o.defineExtension("findMatchingBracket", function (t, r, e) { + return (e || typeof r == "boolean") && (e ? (e.strict = r, r = e) : r = r ? { + strict: !0 + } : null), b(this, t, r); + }), o.defineExtension("scanForBracket", function (t, r, e, s) { + return H(this, t, r, e, s); + }); }); - }, "Item"), - ee = ye(xe.Root, { - Button: Yt, - Item: Er, - Content: wr - }), - Re = new qn({ - breaks: !0, - linkify: !0 + }()), T.exports; +} +f(I, "requireMatchbrackets"); +exports.requireMatchbrackets = I; + +/***/ }), + +/***/ "../../graphiql-react/dist/mode-indent.cjs.js": +/*!****************************************************!*\ + !*** ../../graphiql-react/dist/mode-indent.cjs.js ***! + \****************************************************/ +/***/ (function(__unused_webpack_module, exports) { + + + +var o = Object.defineProperty; +var v = (n, t) => o(n, "name", { + value: t, + configurable: !0 +}); +function s(n, t) { + var e, i; + const { + levels: l, + indentLevel: d + } = n; + return ((!l || l.length === 0 ? d : l.at(-1) - (!((e = this.electricInput) === null || e === void 0) && e.test(t) ? 1 : 0)) || 0) * (((i = this.config) === null || i === void 0 ? void 0 : i.indentUnit) || 0); +} +v(s, "indent"); +exports.indent = s; + +/***/ }), + +/***/ "../../graphiql-react/dist/mode.cjs.js": +/*!*********************************************!*\ + !*** ../../graphiql-react/dist/mode.cjs.js ***! + \*********************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + + +var n = Object.defineProperty; +var s = (e, r) => n(e, "name", { + value: r, + configurable: !0 +}); +const o = __webpack_require__(/*! ./codemirror.cjs.js */ "../../graphiql-react/dist/codemirror.cjs.js"), + t = __webpack_require__(/*! graphql-language-service */ "../../graphql-language-service/esm/index.js"), + i = __webpack_require__(/*! ./mode-indent.cjs.js */ "../../graphiql-react/dist/mode-indent.cjs.js"); +__webpack_require__(/*! ./codemirror.cjs2.js */ "../../graphiql-react/dist/codemirror.cjs2.js"); +const l = s(e => { + const r = t.onlineParser({ + eatWhitespace: a => a.eatWhile(t.isIgnored), + lexRules: t.LexRules, + parseRules: t.ParseRules, + editorConfig: { + tabSize: e.tabSize + } }); -const K = l.forwardRef((_ref36, o) => { - let { - children: e, - onlyShowFirstChild: t, - type: n, - ...s - } = _ref36; - return r.jsx("div", { - ...s, - ref: o, - className: _.clsx(`graphiql-markdown-${n}`, t && "graphiql-markdown-preview", s.className), - dangerouslySetInnerHTML: { - __html: Re.render(e) + return { + config: e, + startState: r.startState, + token: r.token, + indent: i.indent, + electricInput: /^\s*[})\]]/, + fold: "brace", + lineComment: "#", + closeBrackets: { + pairs: '()[]{}""', + explode: "()[]{}" + } + }; +}, "graphqlModeFactory"); +o.CodeMirror.defineMode("graphql", l); + +/***/ }), + +/***/ "../../graphiql-react/dist/mode.cjs2.js": +/*!**********************************************!*\ + !*** ../../graphiql-react/dist/mode.cjs2.js ***! + \**********************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + + +var n = Object.defineProperty; +var u = (t, r) => n(t, "name", { + value: r, + configurable: !0 +}); +const i = __webpack_require__(/*! ./codemirror.cjs.js */ "../../graphiql-react/dist/codemirror.cjs.js"), + e = __webpack_require__(/*! graphql-language-service */ "../../graphql-language-service/esm/index.js"), + s = __webpack_require__(/*! ./mode-indent.cjs.js */ "../../graphiql-react/dist/mode-indent.cjs.js"); +__webpack_require__(/*! ./codemirror.cjs2.js */ "../../graphiql-react/dist/codemirror.cjs2.js"); +i.CodeMirror.defineMode("graphql-variables", t => { + const r = e.onlineParser({ + eatWhitespace: a => a.eatSpace(), + lexRules: c, + parseRules: o, + editorConfig: { + tabSize: t.tabSize } }); + return { + config: t, + startState: r.startState, + token: r.token, + indent: s.indent, + electricInput: /^\s*[}\]]/, + fold: "brace", + closeBrackets: { + pairs: '[]{}""', + explode: "[]{}" + } + }; }); -K.displayName = "MarkdownContent"; -const rt = l.forwardRef((e, t) => r.jsx("div", { - ...e, - ref: t, - className: _.clsx("graphiql-spinner", e.className) -})); -rt.displayName = "Spinner"; -function Xt(_ref37) { - let { - children: e, - align: t = "start", - side: n = "bottom", - sideOffset: s = 5, - label: o - } = _ref37; - return r.jsxs(pe.Root, { - children: [r.jsx(pe.Trigger, { - asChild: !0, - children: e - }), r.jsx(pe.Portal, { - children: r.jsx(pe.Content, { - className: "graphiql-tooltip", - align: t, - side: n, - sideOffset: s, - children: o - }) - })] - }); +const c = { + Punctuation: /^\[|]|\{|\}|:|,/, + Number: /^-?(?:0|(?:[1-9][0-9]*))(?:\.[0-9]*)?(?:[eE][+-]?[0-9]+)?/, + String: /^"(?:[^"\\]|\\(?:"|\/|\\|b|f|n|r|t|u[0-9a-fA-F]{4}))*"?/, + Keyword: /^true|false|null/ + }, + o = { + Document: [e.p("{"), e.list("Variable", e.opt(e.p(","))), e.p("}")], + Variable: [l("variable"), e.p(":"), "Value"], + Value(t) { + switch (t.kind) { + case "Number": + return "NumberValue"; + case "String": + return "StringValue"; + case "Punctuation": + switch (t.value) { + case "[": + return "ListValue"; + case "{": + return "ObjectValue"; + } + return null; + case "Keyword": + switch (t.value) { + case "true": + case "false": + return "BooleanValue"; + case "null": + return "NullValue"; + } + return null; + } + }, + NumberValue: [e.t("Number", "number")], + StringValue: [e.t("String", "string")], + BooleanValue: [e.t("Keyword", "builtin")], + NullValue: [e.t("Keyword", "keyword")], + ListValue: [e.p("["), e.list("Value", e.opt(e.p(","))), e.p("]")], + ObjectValue: [e.p("{"), e.list("ObjectField", e.opt(e.p(","))), e.p("}")], + ObjectField: [l("attribute"), e.p(":"), "Value"] + }; +function l(t) { + return { + style: t, + match: r => r.kind === "String", + update(r, a) { + r.name = a.value.slice(1, -1); + } + }; } -i(Xt, "TooltipRoot"); -const J = ye(Xt, { - Provider: pe.Provider -}); -const en = l.forwardRef((_ref38, d) => { - let { - isActive: e, - value: t, - children: n, - className: s, - ...o - } = _ref38; - return r.jsx(kt.Reorder.Item, { - ...o, - ref: d, - value: t, - "aria-selected": e ? "true" : void 0, - role: "tab", - className: _.clsx("graphiql-tab", e && "graphiql-tab-active", s), - children: n +u(l, "namedKey"); + +/***/ }), + +/***/ "../../graphiql-react/dist/mode.cjs3.js": +/*!**********************************************!*\ + !*** ../../graphiql-react/dist/mode.cjs3.js ***! + \**********************************************/ +/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + + + +const a = __webpack_require__(/*! ./codemirror.cjs.js */ "../../graphiql-react/dist/codemirror.cjs.js"), + e = __webpack_require__(/*! graphql-language-service */ "../../graphql-language-service/esm/index.js"), + l = __webpack_require__(/*! ./mode-indent.cjs.js */ "../../graphiql-react/dist/mode-indent.cjs.js"); +__webpack_require__(/*! ./codemirror.cjs2.js */ "../../graphiql-react/dist/codemirror.cjs2.js"); +a.CodeMirror.defineMode("graphql-results", r => { + const t = e.onlineParser({ + eatWhitespace: u => u.eatSpace(), + lexRules: n, + parseRules: s, + editorConfig: { + tabSize: r.tabSize + } }); + return { + config: r, + startState: t.startState, + token: t.token, + indent: l.indent, + electricInput: /^\s*[}\]]/, + fold: "brace", + closeBrackets: { + pairs: '[]{}""', + explode: "[]{}" + } + }; }); -en.displayName = "Tab"; -const tn = l.forwardRef((e, t) => r.jsx(Q, { - ...e, - ref: t, - type: "button", - className: _.clsx("graphiql-tab-button", e.className), - children: e.children -})); -tn.displayName = "Tab.Button"; -const nn = l.forwardRef((e, t) => r.jsx(J, { - label: "Close Tab", - children: r.jsx(Q, { - "aria-label": "Close Tab", - ...e, - ref: t, - type: "button", - className: _.clsx("graphiql-tab-close", e.className), - children: r.jsx(Fe, {}) - }) -})); -nn.displayName = "Tab.Close"; -const Sr = ye(en, { - Button: tn, - Close: nn - }), - rn = l.forwardRef((_ref39, d) => { - let { - values: e, - onReorder: t, - children: n, - className: s, - ...o - } = _ref39; - return r.jsx(kt.Reorder.Group, { - ...o, - ref: d, - values: e, - onReorder: t, - axis: "x", - role: "tablist", - className: _.clsx("graphiql-tabs", s), - children: n - }); - }); -rn.displayName = "Tabs"; -const st = le("HistoryContext"); -function sn(e) { - var y; - const t = se(), - n = l.useRef(new B.HistoryStore(t || new B.StorageAPI(null), e.maxHistoryLength || Lr)), - [s, o] = l.useState(((y = n.current) == null ? void 0 : y.queries) || []), - d = l.useCallback(h => { - var x; - (x = n.current) == null || x.updateHistory(h), o(n.current.queries); - }, []), - a = l.useCallback((h, x) => { - n.current.editLabel(h, x), o(n.current.queries); - }, []), - u = l.useCallback(h => { - n.current.toggleFavorite(h), o(n.current.queries); - }, []), - g = l.useCallback(h => h, []), - m = l.useCallback(function (h) { - let x = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !1; - n.current.deleteHistory(h, x), o(n.current.queries); - }, []), - p = l.useMemo(() => ({ - addToHistory: d, - editLabel: a, - items: s, - toggleFavorite: u, - setActive: g, - deleteFromHistory: m - }), [d, a, s, u, g, m]); - return r.jsx(st.Provider, { - value: p, - children: e.children - }); -} -i(sn, "HistoryContextProvider"); -const be = ae(st), - Lr = 20; -function on() { - const { - items: e, - deleteFromHistory: t - } = be({ - nonNull: !0 - }); - let n = e.slice().map((u, g) => ({ - ...u, - index: g - })).reverse(); - const s = n.filter(u => u.favorite); - s.length && (n = n.filter(u => !u.favorite)); - const [o, d] = l.useState(null); - l.useEffect(() => { - o && setTimeout(() => { - d(null); - }, 2e3); - }, [o]); - const a = l.useCallback(() => { - try { - for (const u of n) t(u, !0); - d("success"); - } catch { - d("error"); +const n = { + Punctuation: /^\[|]|\{|\}|:|,/, + Number: /^-?(?:0|(?:[1-9][0-9]*))(?:\.[0-9]*)?(?:[eE][+-]?[0-9]+)?/, + String: /^"(?:[^"\\]|\\(?:"|\/|\\|b|f|n|r|t|u[0-9a-fA-F]{4}))*"?/, + Keyword: /^true|false|null/ + }, + s = { + Document: [e.p("{"), e.list("Entry", e.p(",")), e.p("}")], + Entry: [e.t("String", "def"), e.p(":"), "Value"], + Value(r) { + switch (r.kind) { + case "Number": + return "NumberValue"; + case "String": + return "StringValue"; + case "Punctuation": + switch (r.value) { + case "[": + return "ListValue"; + case "{": + return "ObjectValue"; + } + return null; + case "Keyword": + switch (r.value) { + case "true": + case "false": + return "BooleanValue"; + case "null": + return "NullValue"; + } + return null; + } + }, + NumberValue: [e.t("Number", "number")], + StringValue: [e.t("String", "string")], + BooleanValue: [e.t("Keyword", "builtin")], + NullValue: [e.t("Keyword", "keyword")], + ListValue: [e.p("["), e.list("Value", e.p(",")), e.p("]")], + ObjectValue: [e.p("{"), e.list("ObjectField", e.p(",")), e.p("}")], + ObjectField: [e.t("String", "property"), e.p(":"), "Value"] + }; + +/***/ }), + +/***/ "../../graphiql-react/dist/search.cjs.js": +/*!***********************************************!*\ + !*** ../../graphiql-react/dist/search.cjs.js ***! + \***********************************************/ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + + +var K = Object.defineProperty; +var a = (S, O) => K(S, "name", { + value: O, + configurable: !0 +}); +const Q = __webpack_require__(/*! ./codemirror.cjs2.js */ "../../graphiql-react/dist/codemirror.cjs2.js"), + L = __webpack_require__(/*! ./searchcursor.cjs2.js */ "../../graphiql-react/dist/searchcursor.cjs2.js"), + z = __webpack_require__(/*! ./dialog.cjs.js */ "../../graphiql-react/dist/dialog.cjs.js"); +function U(S, O) { + for (var i = 0; i < O.length; i++) { + const y = O[i]; + if (typeof y != "string" && !Array.isArray(y)) { + for (const v in y) if (v !== "default" && !(v in S)) { + const h = Object.getOwnPropertyDescriptor(y, v); + h && Object.defineProperty(S, v, h.get ? h : { + enumerable: !0, + get: () => y[v] + }); + } } - }, [t, n]); - return r.jsxs("section", { - "aria-label": "History", - className: "graphiql-history", - children: [r.jsxs("div", { - className: "graphiql-history-header", - children: ["History", (o || n.length > 0) && r.jsx(me, { - type: "button", - state: o || void 0, - disabled: !n.length, - onClick: a, - children: { - success: "Cleared", - error: "Failed to Clear" - }[o] || "Clear" - })] - }), !!s.length && r.jsx("ul", { - className: "graphiql-history-items", - children: s.map(u => r.jsx(Pe, { - item: u - }, u.index)) - }), !!s.length && !!n.length && r.jsx("div", { - className: "graphiql-history-item-spacer" - }), !!n.length && r.jsx("ul", { - className: "graphiql-history-items", - children: n.map(u => r.jsx(Pe, { - item: u - }, u.index)) - })] - }); + } + return Object.freeze(Object.defineProperty(S, Symbol.toStringTag, { + value: "Module" + })); } -i(on, "History"); -function Pe(e) { - const { - editLabel: t, - toggleFavorite: n, - deleteFromHistory: s, - setActive: o - } = be({ - nonNull: !0, - caller: Pe - }), - { - headerEditor: d, - queryEditor: a, - variableEditor: u - } = Z({ - nonNull: !0, - caller: Pe - }), - g = l.useRef(null), - m = l.useRef(null), - [p, y] = l.useState(!1); - l.useEffect(() => { - var b; - p && ((b = g.current) == null || b.focus()); - }, [p]); - const h = e.item.label || e.item.operationName || jr(e.item.query), - x = l.useCallback(() => { - var T; - y(!1); - const { - index: b, - ...w - } = e.item; - t({ - ...w, - label: (T = g.current) == null ? void 0 : T.value - }, b); - }, [t, e.item]), - f = l.useCallback(() => { - y(!1); - }, []), - C = l.useCallback(b => { - b.stopPropagation(), y(!0); - }, []), - E = l.useCallback(() => { - const { - query: b, - variables: w, - headers: T - } = e.item; - a == null || a.setValue(b !== null && b !== void 0 ? b : ""), u == null || u.setValue(w !== null && w !== void 0 ? w : ""), d == null || d.setValue(T !== null && T !== void 0 ? T : ""), o(e.item); - }, [d, e.item, a, o, u]), - N = l.useCallback(b => { - b.stopPropagation(), s(e.item); - }, [e.item, s]), - L = l.useCallback(b => { - b.stopPropagation(), n(e.item); - }, [e.item, n]); - return r.jsx("li", { - className: _.clsx("graphiql-history-item", p && "editable"), - children: p ? r.jsxs(r.Fragment, { - children: [r.jsx("input", { +a(U, "_mergeNamespaces"); +var B = { + exports: {} +}; +(function (S, O) { + (function (i) { + i(Q.requireCodemirror(), L.requireSearchcursor(), z.dialogExports); + })(function (i) { + i.defineOption("search", { + bottom: !1 + }); + function y(e, n) { + return typeof e == "string" ? e = new RegExp(e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&"), n ? "gi" : "g") : e.global || (e = new RegExp(e.source, e.ignoreCase ? "gi" : "g")), { + token: function (t) { + e.lastIndex = t.pos; + var o = e.exec(t.string); + if (o && o.index == t.pos) return t.pos += o[0].length || 1, "searching"; + o ? t.pos = o.index : t.skipToEnd(); + } + }; + } + a(y, "searchOverlay"); + function v() { + this.posFrom = this.posTo = this.lastQuery = this.query = null, this.overlay = null; + } + a(v, "SearchState"); + function h(e) { + return e.state.search || (e.state.search = new v()); + } + a(h, "getSearchState"); + function m(e) { + return typeof e == "string" && e == e.toLowerCase(); + } + a(m, "queryCaseInsensitive"); + function N(e, n, t) { + return e.getSearchCursor(n, t, { + caseFold: m(n), + multiline: !0 + }); + } + a(N, "getSearchCursor"); + function j(e, n, t, o, r) { + e.openDialog(n, o, { + value: t, + selectValueOnOpen: !0, + closeOnEnter: !1, + onClose: function () { + w(e); + }, + onKeyDown: r, + bottom: e.options.search.bottom + }); + } + a(j, "persistentDialog"); + function D(e, n, t, o, r) { + e.openDialog ? e.openDialog(n, r, { + value: o, + selectValueOnOpen: !0, + bottom: e.options.search.bottom + }) : r(prompt(t, o)); + } + a(D, "dialog"); + function k(e, n, t, o) { + e.openConfirm ? e.openConfirm(n, o) : confirm(t) && o[0](); + } + a(k, "confirmDialog"); + function C(e) { + return e.replace(/\\([nrt\\])/g, function (n, t) { + return t == "n" ? ` +` : t == "r" ? "\r" : t == "t" ? " " : t == "\\" ? "\\" : n; + }); + } + a(C, "parseString"); + function T(e) { + var n = e.match(/^\/(.*)\/([a-z]*)$/); + if (n) try { + e = new RegExp(n[1], n[2].indexOf("i") == -1 ? "" : "i"); + } catch {} else e = C(e); + return (typeof e == "string" ? e == "" : e.test("")) && (e = /x^/), e; + } + a(T, "parseQuery"); + function P(e, n, t) { + n.queryText = t, n.query = T(t), e.removeOverlay(n.overlay, m(n.query)), n.overlay = y(n.query, m(n.query)), e.addOverlay(n.overlay), e.showMatchesOnScrollbar && (n.annotate && (n.annotate.clear(), n.annotate = null), n.annotate = e.showMatchesOnScrollbar(n.query, m(n.query))); + } + a(P, "startSearch"); + function b(e, n, t, o) { + var r = h(e); + if (r.query) return R(e, n); + var s = e.getSelection() || r.lastQuery; + if (s instanceof RegExp && s.source == "x^" && (s = null), t && e.openDialog) { + var c = null, + u = a(function (f, x) { + i.e_stop(x), f && (f != r.queryText && (P(e, r, f), r.posFrom = r.posTo = e.getCursor()), c && (c.style.opacity = 1), R(e, x.shiftKey, function (d, g) { + var p; + g.line < 3 && document.querySelector && (p = e.display.wrapper.querySelector(".CodeMirror-dialog")) && p.getBoundingClientRect().bottom - 4 > e.cursorCoords(g, "window").top && ((c = p).style.opacity = .4); + })); + }, "searchNext"); + j(e, E(e), s, u, function (f, x) { + var d = i.keyName(f), + g = e.getOption("extraKeys"), + p = g && g[d] || i.keyMap[e.getOption("keyMap")][d]; + p == "findNext" || p == "findPrev" || p == "findPersistentNext" || p == "findPersistentPrev" ? (i.e_stop(f), P(e, h(e), x), e.execCommand(p)) : (p == "find" || p == "findPersistent") && (i.e_stop(f), u(x, f)); + }), o && s && (P(e, r, s), R(e, n)); + } else D(e, E(e), "Search for:", s, function (f) { + f && !r.query && e.operation(function () { + P(e, r, f), r.posFrom = r.posTo = e.getCursor(), R(e, n); + }); + }); + } + a(b, "doSearch"); + function R(e, n, t) { + e.operation(function () { + var o = h(e), + r = N(e, o.query, n ? o.posFrom : o.posTo); + !r.find(n) && (r = N(e, o.query, n ? i.Pos(e.lastLine()) : i.Pos(e.firstLine(), 0)), !r.find(n)) || (e.setSelection(r.from(), r.to()), e.scrollIntoView({ + from: r.from(), + to: r.to() + }, 20), o.posFrom = r.from(), o.posTo = r.to(), t && t(r.from(), r.to())); + }); + } + a(R, "findNext"); + function w(e) { + e.operation(function () { + var n = h(e); + n.lastQuery = n.query, n.query && (n.query = n.queryText = null, e.removeOverlay(n.overlay), n.annotate && (n.annotate.clear(), n.annotate = null)); + }); + } + a(w, "clearSearch"); + function l(e, n) { + var t = e ? document.createElement(e) : document.createDocumentFragment(); + for (var o in n) t[o] = n[o]; + for (var r = 2; r < arguments.length; r++) { + var s = arguments[r]; + t.appendChild(typeof s == "string" ? document.createTextNode(s) : s); + } + return t; + } + a(l, "el"); + function E(e) { + return l("", null, l("span", { + className: "CodeMirror-search-label" + }, e.phrase("Search:")), " ", l("input", { type: "text", - defaultValue: e.item.label, - ref: g, - onKeyDown: b => { - b.key === "Esc" ? y(!1) : b.key === "Enter" && (y(!1), t({ - ...e.item, - label: b.currentTarget.value + style: "width: 10em", + className: "CodeMirror-search-field" + }), " ", l("span", { + style: "color: #888", + className: "CodeMirror-search-hint" + }, e.phrase("(Use /re/ syntax for regexp search)"))); + } + a(E, "getQueryDialog"); + function A(e) { + return l("", null, " ", l("input", { + type: "text", + style: "width: 10em", + className: "CodeMirror-search-field" + }), " ", l("span", { + style: "color: #888", + className: "CodeMirror-search-hint" + }, e.phrase("(Use /re/ syntax for regexp search)"))); + } + a(A, "getReplaceQueryDialog"); + function I(e) { + return l("", null, l("span", { + className: "CodeMirror-search-label" + }, e.phrase("With:")), " ", l("input", { + type: "text", + style: "width: 10em", + className: "CodeMirror-search-field" + })); + } + a(I, "getReplacementQueryDialog"); + function V(e) { + return l("", null, l("span", { + className: "CodeMirror-search-label" + }, e.phrase("Replace?")), " ", l("button", {}, e.phrase("Yes")), " ", l("button", {}, e.phrase("No")), " ", l("button", {}, e.phrase("All")), " ", l("button", {}, e.phrase("Stop"))); + } + a(V, "getDoReplaceConfirm"); + function _(e, n, t) { + e.operation(function () { + for (var o = N(e, n); o.findNext();) if (typeof n != "string") { + var r = e.getRange(o.from(), o.to()).match(n); + o.replace(t.replace(/\$(\d)/g, function (s, c) { + return r[c]; })); - }, - placeholder: "Type a label" - }), r.jsx(Q, { - type: "button", - ref: m, - onClick: x, - children: "Save" - }), r.jsx(Q, { - type: "button", - ref: m, - onClick: f, - children: r.jsx(Fe, {}) - })] - }) : r.jsxs(r.Fragment, { - children: [r.jsx(J, { - label: "Set active", - children: r.jsx(Q, { - type: "button", - className: "graphiql-history-item-label", - onClick: E, - "aria-label": "Set active", - children: h - }) - }), r.jsx(J, { - label: "Edit label", - children: r.jsx(Q, { - type: "button", - className: "graphiql-history-item-action", - onClick: C, - "aria-label": "Edit label", - children: r.jsx(Wt, { - "aria-hidden": "true" - }) - }) - }), r.jsx(J, { - label: e.item.favorite ? "Remove favorite" : "Add favorite", - children: r.jsx(Q, { - type: "button", - className: "graphiql-history-item-action", - onClick: L, - "aria-label": e.item.favorite ? "Remove favorite" : "Add favorite", - children: e.item.favorite ? r.jsx(Gt, { - "aria-hidden": "true" - }) : r.jsx($t, { - "aria-hidden": "true" - }) - }) - }), r.jsx(J, { - label: "Delete from history", - children: r.jsx(Q, { - type: "button", - className: "graphiql-history-item-action", - onClick: N, - "aria-label": "Delete from history", - children: r.jsx(zt, { - "aria-hidden": "true" - }) - }) - })] - }) + } else o.replace(t); + }); + } + a(_, "replaceAll"); + function F(e, n) { + if (!e.getOption("readOnly")) { + var t = e.getSelection() || h(e).lastQuery, + o = n ? e.phrase("Replace all:") : e.phrase("Replace:"), + r = l("", null, l("span", { + className: "CodeMirror-search-label" + }, o), A(e)); + D(e, r, o, t, function (s) { + s && (s = T(s), D(e, I(e), e.phrase("Replace with:"), "", function (c) { + if (c = C(c), n) _(e, s, c);else { + w(e); + var u = N(e, s, e.getCursor("from")), + f = a(function () { + var d = u.from(), + g; + !(g = u.findNext()) && (u = N(e, s), !(g = u.findNext()) || d && u.from().line == d.line && u.from().ch == d.ch) || (e.setSelection(u.from(), u.to()), e.scrollIntoView({ + from: u.from(), + to: u.to() + }), k(e, V(e), e.phrase("Replace?"), [function () { + x(g); + }, f, function () { + _(e, s, c); + }])); + }, "advance"), + x = a(function (d) { + u.replace(typeof s == "string" ? c : c.replace(/\$(\d)/g, function (g, p) { + return d[p]; + })), f(); + }, "doReplace"); + f(); + } + })); + }); + } + } + a(F, "replace"), i.commands.find = function (e) { + w(e), b(e); + }, i.commands.findPersistent = function (e) { + w(e), b(e, !1, !0); + }, i.commands.findPersistentNext = function (e) { + b(e, !1, !0, !0); + }, i.commands.findPersistentPrev = function (e) { + b(e, !0, !0, !0); + }, i.commands.findNext = b, i.commands.findPrev = function (e) { + b(e, !0); + }, i.commands.clearSearch = w, i.commands.replace = F, i.commands.replaceAll = function (e) { + F(e, !0); + }; }); +})(); +var $ = B.exports; +const W = Q.getDefaultExportFromCjs($), + Y = U({ + __proto__: null, + default: W + }, [$]); +exports.search = Y; + +/***/ }), + +/***/ "../../graphiql-react/dist/searchcursor.cjs.js": +/*!*****************************************************!*\ + !*** ../../graphiql-react/dist/searchcursor.cjs.js ***! + \*****************************************************/ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + + +var n = Object.defineProperty; +var u = (r, o) => n(r, "name", { + value: o, + configurable: !0 +}); +const i = __webpack_require__(/*! ./codemirror.cjs2.js */ "../../graphiql-react/dist/codemirror.cjs2.js"), + f = __webpack_require__(/*! ./searchcursor.cjs2.js */ "../../graphiql-react/dist/searchcursor.cjs2.js"); +function l(r, o) { + for (var c = 0; c < o.length; c++) { + const e = o[c]; + if (typeof e != "string" && !Array.isArray(e)) { + for (const t in e) if (t !== "default" && !(t in r)) { + const s = Object.getOwnPropertyDescriptor(e, t); + s && Object.defineProperty(r, t, s.get ? s : { + enumerable: !0, + get: () => e[t] + }); + } + } + } + return Object.freeze(Object.defineProperty(r, Symbol.toStringTag, { + value: "Module" + })); } -i(Pe, "HistoryItem"); -function jr(e) { - return e == null ? void 0 : e.split(` -`).map(t => t.replace(/#(.*)/, "")).join(" ").replaceAll("{", " { ").replaceAll("}", " } ").replaceAll(/[\s]{2,}/g, " "); -} -i(jr, "formatQuery"); -const ot = le("ExecutionContext"); -function qe(_ref40) { - let { - fetcher: e, - getDefaultFieldNames: t, - children: n, - operationName: s - } = _ref40; - if (!e) throw new TypeError("The `ExecutionContextProvider` component requires a `fetcher` function to be passed as prop."); - const { - externalFragments: o, - headerEditor: d, - queryEditor: a, - responseEditor: u, - variableEditor: g, - updateActiveTabValues: m - } = Z({ - nonNull: !0, - caller: qe - }), - p = be(), - y = He({ - getDefaultFieldNames: t, - caller: qe - }), - [h, x] = l.useState(!1), - [f, C] = l.useState(null), - E = l.useRef(0), - N = l.useCallback(() => { - f == null || f.unsubscribe(), x(!1), C(null); - }, [f]), - L = l.useCallback(async () => { - var _ref41; - if (!a || !u) return; - if (f) { - N(); - return; +u(l, "_mergeNamespaces"); +var a = f.requireSearchcursor(); +const g = i.getDefaultExportFromCjs(a), + p = l({ + __proto__: null, + default: g + }, [a]); +exports.searchcursor = p; + +/***/ }), + +/***/ "../../graphiql-react/dist/searchcursor.cjs2.js": +/*!******************************************************!*\ + !*** ../../graphiql-react/dist/searchcursor.cjs2.js ***! + \******************************************************/ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + + +var W = Object.defineProperty; +var o = (d, E) => W(d, "name", { + value: E, + configurable: !0 +}); +const G = __webpack_require__(/*! ./codemirror.cjs2.js */ "../../graphiql-react/dist/codemirror.cjs2.js"); +var N = { + exports: {} + }, + b; +function H() { + return b || (b = 1, function (d, E) { + (function (m) { + m(G.requireCodemirror()); + })(function (m) { + var a = m.Pos; + function B(e) { + var t = e.flags; + return t !== null && t !== void 0 ? t : (e.ignoreCase ? "i" : "") + (e.global ? "g" : "") + (e.multiline ? "m" : ""); } - const T = i(k => { - u.setValue(k), m({ - response: k - }); - }, "setResponse"); - E.current += 1; - const A = E.current; - let F = y() || a.getValue(); - const I = g == null ? void 0 : g.getValue(); - let H; - try { - H = yt({ - json: I, - errorMessageParse: "Variables are invalid JSON", - errorMessageType: "Variables are not a JSON object." - }); - } catch (k) { - T(k instanceof Error ? k.message : `${k}`); - return; + o(B, "regexpFlags"); + function F(e, t) { + for (var n = B(e), r = n, l = 0; l < t.length; l++) r.indexOf(t.charAt(l)) == -1 && (r += t.charAt(l)); + return n == r ? e : new RegExp(e.source, r); } - const O = d == null ? void 0 : d.getValue(); - let D; - try { - D = yt({ - json: O, - errorMessageParse: "Headers are invalid JSON", - errorMessageType: "Headers are not a JSON object." - }); - } catch (k) { - T(k instanceof Error ? k.message : `${k}`); - return; + o(F, "ensureFlags"); + function R(e) { + return /\\s|\\n|\n|\\W|\\D|\[\^/.test(e.source); } - if (o) { - const k = a.documentAST ? jt.getFragmentDependenciesForAST(a.documentAST, o) : []; - k.length > 0 && (F += ` -` + k.map(P => M.print(P)).join(` -`)); + o(R, "maybeMultiline"); + function I(e, t, n) { + t = F(t, "g"); + for (var r = n.line, l = n.ch, i = e.lastLine(); r <= i; r++, l = 0) { + t.lastIndex = l; + var h = e.getLine(r), + f = t.exec(h); + if (f) return { + from: a(r, f.index), + to: a(r, f.index + f[0].length), + match: f + }; + } } - T(""), x(!0); - const q = (_ref41 = s !== null && s !== void 0 ? s : a.operationName) !== null && _ref41 !== void 0 ? _ref41 : void 0; - p == null || p.addToHistory({ - query: F, - variables: I, - headers: O, - operationName: q - }); - try { - var _D, _a$documentAST; - let k = { - data: {} - }; - const P = i(v => { - if (A !== E.current) return; - let j = Array.isArray(v) ? v : !1; - if (!j && typeof v == "object" && v !== null && "hasNext" in v && (j = [v]), j) { - const R = { - data: k.data - }, - G = [...((k == null ? void 0 : k.errors) || []), ...j.flatMap(z => z.errors).filter(Boolean)]; - G.length && (R.errors = G); - for (const z of j) { - const { - path: Ct, - data: Le, - errors: us, - ...kn - } = z; - if (Ct) { - if (!Le) throw new Error(`Expected part to contain a data property, but got ${z}`); - Tn(R.data, Ct, Le, { - merge: !0 - }); - } else Le && (R.data = Le); - k = { - ...R, - ...kn - }; - } - x(!1), T(B.formatResult(k)); - } else { - const R = B.formatResult(v); - x(!1), T(R); - } - }, "handleResponse"), - S = e({ - query: F, - variables: H, - operationName: q - }, { - headers: (_D = D) !== null && _D !== void 0 ? _D : void 0, - documentAST: (_a$documentAST = a.documentAST) !== null && _a$documentAST !== void 0 ? _a$documentAST : void 0 - }), - W = await Promise.resolve(S); - if (B.isObservable(W)) C(W.subscribe({ - next(v) { - P(v); - }, - error(v) { - x(!1), v && T(B.formatError(v)), C(null); - }, - complete() { - x(!1), C(null); + o(I, "searchRegexpForward"); + function j(e, t, n) { + if (!R(t)) return I(e, t, n); + t = F(t, "gm"); + for (var r, l = 1, i = n.line, h = e.lastLine(); i <= h;) { + for (var f = 0; f < l && !(i > h); f++) { + var p = e.getLine(i++); + r = r == null ? p : r + ` +` + p; } - }));else if (B.isAsyncIterable(W)) { - C({ - unsubscribe: () => { - var v, j; - return (j = (v = W[Symbol.asyncIterator]()).return) == null ? void 0 : j.call(v); - } - }); - for await (const v of W) P(v); - x(!1), C(null); - } else P(W); - } catch (k) { - x(!1), T(B.formatError(k)), C(null); + l = l * 2, t.lastIndex = n.ch; + var u = t.exec(r); + if (u) { + var s = r.slice(0, u.index).split(` +`), + c = u[0].split(` +`), + g = n.line + s.length - 1, + v = s[s.length - 1].length; + return { + from: a(g, v), + to: a(g + c.length - 1, c.length == 1 ? v + c[0].length : c[c.length - 1].length), + match: u + }; + } + } } - }, [y, o, e, d, p, s, a, u, N, f, m, g]), - b = !!f, - w = l.useMemo(() => ({ - isFetching: h, - isSubscribed: b, - operationName: s !== null && s !== void 0 ? s : null, - run: L, - stop: N - }), [h, b, s, L, N]); - return r.jsx(ot.Provider, { - value: w, - children: n - }); -} -i(qe, "ExecutionContextProvider"); -const we = ae(ot); -function yt(_ref42) { - let { - json: e, - errorMessageParse: t, - errorMessageType: n - } = _ref42; - let s; - try { - s = e && e.trim() !== "" ? JSON.parse(e) : void 0; - } catch (d) { - throw new Error(`${t}: ${d instanceof Error ? d.message : d}.`); - } - const o = typeof s == "object" && s !== null && !Array.isArray(s); - if (s !== void 0 && !o) throw new Error(n); - return s; -} -i(yt, "tryParseJsonObject"); -const Be = "graphiql", - We = "sublime"; -let ln = !1; -typeof window == "object" && (ln = window.navigator.platform.toLowerCase().indexOf("mac") === 0); -const _e = { - [ln ? "Cmd-F" : "Ctrl-F"]: "findPersistent", - "Cmd-G": "findPersistent", - "Ctrl-G": "findPersistent", - "Ctrl-Left": "goSubwordLeft", - "Ctrl-Right": "goSubwordRight", - "Alt-Left": "goGroupLeft", - "Alt-Right": "goGroupRight" -}; -async function Ee(e, t) { - const n = await Promise.resolve().then(() => __webpack_require__(/*! ./codemirror.cjs.js */ "../../graphiql-react/dist/codemirror.cjs.js")).then(s => s.codemirror).then(s => typeof s == "function" ? s : s.default); - return await Promise.all((t == null ? void 0 : t.useCommonAddons) === !1 ? e : [Promise.resolve().then(() => __webpack_require__(/*! ./show-hint.cjs.js */ "../../graphiql-react/dist/show-hint.cjs.js")).then(s => s.showHint), Promise.resolve().then(() => __webpack_require__(/*! ./matchbrackets.cjs.js */ "../../graphiql-react/dist/matchbrackets.cjs.js")).then(s => s.matchbrackets), Promise.resolve().then(() => __webpack_require__(/*! ./closebrackets.cjs.js */ "../../graphiql-react/dist/closebrackets.cjs.js")).then(s => s.closebrackets), Promise.resolve().then(() => __webpack_require__(/*! ./brace-fold.cjs.js */ "../../graphiql-react/dist/brace-fold.cjs.js")).then(s => s.braceFold), Promise.resolve().then(() => __webpack_require__(/*! ./foldgutter.cjs.js */ "../../graphiql-react/dist/foldgutter.cjs.js")).then(s => s.foldgutter), Promise.resolve().then(() => __webpack_require__(/*! ./lint.cjs.js */ "../../graphiql-react/dist/lint.cjs.js")).then(s => s.lint), Promise.resolve().then(() => __webpack_require__(/*! ./searchcursor.cjs.js */ "../../graphiql-react/dist/searchcursor.cjs.js")).then(s => s.searchcursor), Promise.resolve().then(() => __webpack_require__(/*! ./jump-to-line.cjs.js */ "../../graphiql-react/dist/jump-to-line.cjs.js")).then(s => s.jumpToLine), Promise.resolve().then(() => __webpack_require__(/*! ./dialog.cjs.js */ "../../graphiql-react/dist/dialog.cjs.js")).then(s => s.dialog), Promise.resolve().then(() => __webpack_require__(/*! ./sublime.cjs.js */ "../../graphiql-react/dist/sublime.cjs.js")).then(s => s.sublime), ...e]), n; -} -i(Ee, "importCodeMirror"); -const kr = i(e => e ? M.print(e) : "", "printDefault"); -function lt(_ref43) { - let { - field: e - } = _ref43; - if (!("defaultValue" in e) || e.defaultValue === void 0) return null; - const t = M.astFromValue(e.defaultValue, e.type); - return t ? r.jsxs(r.Fragment, { - children: [" = ", r.jsx("span", { - className: "graphiql-doc-explorer-default-value", - children: kr(t) - })] - }) : null; -} -i(lt, "DefaultValue"); -const at = le("SchemaContext"); -function it(e) { - if (!e.fetcher) throw new TypeError("The `SchemaContextProvider` component requires a `fetcher` function to be passed as prop."); - const { - initialHeaders: t, - headerEditor: n - } = Z({ - nonNull: !0, - caller: it - }), - [s, o] = l.useState(), - [d, a] = l.useState(!1), - [u, g] = l.useState(null), - m = l.useRef(0); - l.useEffect(() => { - o(M.isSchema(e.schema) || e.schema === null || e.schema === void 0 ? e.schema : void 0), m.current++; - }, [e.schema]); - const p = l.useRef(t); - l.useEffect(() => { - n && (p.current = n.getValue()); - }); - const { - introspectionQuery: y, - introspectionQueryName: h, - introspectionQuerySansSubscriptions: x - } = Nr({ - inputValueDeprecation: e.inputValueDeprecation, - introspectionQueryName: e.introspectionQueryName, - schemaDescription: e.schemaDescription - }), - { - fetcher: f, - onSchemaChange: C, - dangerouslyAssumeSchemaIsValid: E, - children: N - } = e, - L = l.useCallback(() => { - if (M.isSchema(e.schema) || e.schema === null) return; - const T = ++m.current, - A = e.schema; - async function F() { - if (A) return A; - const I = Tr(p.current); - if (!I.isValidJSON) { - g("Introspection failed as headers are invalid."); - return; + o(j, "searchRegexpForwardMultiline"); + function z(e, t, n) { + for (var r, l = 0; l <= e.length;) { + t.lastIndex = l; + var i = t.exec(e); + if (!i) break; + var h = i.index + i[0].length; + if (h > e.length - n) break; + (!r || h > r.index + r[0].length) && (r = i), l = i.index + 1; } - const H = I.headers ? { - headers: I.headers - } : {}, - O = B.fetcherReturnToPromise(f({ - query: y, - operationName: h - }, H)); - if (!B.isPromise(O)) { - g("Fetcher did not return a Promise for introspection."); - return; + return r; + } + o(z, "lastMatchIn"); + function D(e, t, n) { + t = F(t, "g"); + for (var r = n.line, l = n.ch, i = e.firstLine(); r >= i; r--, l = -1) { + var h = e.getLine(r), + f = z(h, t, l < 0 ? 0 : h.length - l); + if (f) return { + from: a(r, f.index), + to: a(r, f.index + f[0].length), + match: f + }; } - a(!0), g(null); - let D = await O; - if (typeof D != "object" || D === null || !("data" in D)) { - const k = B.fetcherReturnToPromise(f({ - query: x, - operationName: h - }, H)); - if (!B.isPromise(k)) throw new Error("Fetcher did not return a Promise for introspection."); - D = await k; + } + o(D, "searchRegexpBackward"); + function A(e, t, n) { + if (!R(t)) return D(e, t, n); + t = F(t, "gm"); + for (var r, l = 1, i = e.getLine(n.line).length - n.ch, h = n.line, f = e.firstLine(); h >= f;) { + for (var p = 0; p < l && h >= f; p++) { + var u = e.getLine(h--); + r = r == null ? u : u + ` +` + r; + } + l *= 2; + var s = z(r, t, i); + if (s) { + var c = r.slice(0, s.index).split(` +`), + g = s[0].split(` +`), + v = h + c.length, + x = c[c.length - 1].length; + return { + from: a(v, x), + to: a(v + g.length - 1, g.length == 1 ? x + g[0].length : g[g.length - 1].length), + match: s + }; + } + } + } + o(A, "searchRegexpBackwardMultiline"); + var P, k; + String.prototype.normalize ? (P = o(function (e) { + return e.normalize("NFD").toLowerCase(); + }, "doFold"), k = o(function (e) { + return e.normalize("NFD"); + }, "noFold")) : (P = o(function (e) { + return e.toLowerCase(); + }, "doFold"), k = o(function (e) { + return e; + }, "noFold")); + function L(e, t, n, r) { + if (e.length == t.length) return n; + for (var l = 0, i = n + Math.max(0, e.length - t.length);;) { + if (l == i) return l; + var h = l + i >> 1, + f = r(e.slice(0, h)).length; + if (f == n) return h; + f > n ? i = h : l = h + 1; + } + } + o(L, "adjustPos"); + function y(e, t, n, r) { + if (!t.length) return null; + var l = r ? P : k, + i = l(t).split(/\r|\n\r?/); + t: for (var h = n.line, f = n.ch, p = e.lastLine() + 1 - i.length; h <= p; h++, f = 0) { + var u = e.getLine(h).slice(f), + s = l(u); + if (i.length == 1) { + var c = s.indexOf(i[0]); + if (c == -1) continue t; + var n = L(u, s, c, l) + f; + return { + from: a(h, L(u, s, c, l) + f), + to: a(h, L(u, s, c + i[0].length, l) + f) + }; + } else { + var g = s.length - i[0].length; + if (s.slice(g) != i[0]) continue t; + for (var v = 1; v < i.length - 1; v++) if (l(e.getLine(h + v)) != i[v]) continue t; + var x = e.getLine(h + i.length - 1), + O = l(x), + S = i[i.length - 1]; + if (O.slice(0, S.length) != S) continue t; + return { + from: a(h, L(u, s, g, l) + f), + to: a(h + i.length - 1, L(x, O, S.length, l)) + }; + } + } + } + o(y, "searchStringForward"); + function C(e, t, n, r) { + if (!t.length) return null; + var l = r ? P : k, + i = l(t).split(/\r|\n\r?/); + t: for (var h = n.line, f = n.ch, p = e.firstLine() - 1 + i.length; h >= p; h--, f = -1) { + var u = e.getLine(h); + f > -1 && (u = u.slice(0, f)); + var s = l(u); + if (i.length == 1) { + var c = s.lastIndexOf(i[0]); + if (c == -1) continue t; + return { + from: a(h, L(u, s, c, l)), + to: a(h, L(u, s, c + i[0].length, l)) + }; + } else { + var g = i[i.length - 1]; + if (s.slice(0, g.length) != g) continue t; + for (var v = 1, n = h - i.length + 1; v < i.length - 1; v++) if (l(e.getLine(n + v)) != i[v]) continue t; + var x = e.getLine(h + 1 - i.length), + O = l(x); + if (O.slice(O.length - i[0].length) != i[0]) continue t; + return { + from: a(h + 1 - i.length, L(x, O, x.length - i[0].length, l)), + to: a(h, L(u, s, g.length, l)) + }; + } } - if (a(!1), D != null && D.data && "__schema" in D.data) return D.data; - const q = typeof D == "string" ? D : B.formatResult(D); - g(q); } - i(F, "fetchIntrospectionData"), F().then(I => { - if (!(T !== m.current || !I)) try { - const H = M.buildClientSchema(I); - o(H), C == null || C(H); - } catch (H) { - g(B.formatError(H)); + o(C, "searchStringBackward"); + function w(e, t, n, r) { + this.atOccurrence = !1, this.afterEmptyMatch = !1, this.doc = e, n = n ? e.clipPos(n) : a(0, 0), this.pos = { + from: n, + to: n + }; + var l; + typeof r == "object" ? l = r.caseFold : (l = r, r = null), typeof t == "string" ? (l == null && (l = !1), this.matches = function (i, h) { + return (i ? C : y)(e, t, h, l); + }) : (t = F(t, "gm"), !r || r.multiline !== !1 ? this.matches = function (i, h) { + return (i ? A : j)(e, t, h); + } : this.matches = function (i, h) { + return (i ? D : I)(e, t, h); + }); + } + o(w, "SearchCursor"), w.prototype = { + findNext: function () { + return this.find(!1); + }, + findPrevious: function () { + return this.find(!0); + }, + find: function (e) { + var t = this.doc.clipPos(e ? this.pos.from : this.pos.to); + if (this.afterEmptyMatch && this.atOccurrence && (t = a(t.line, t.ch), e ? (t.ch--, t.ch < 0 && (t.line--, t.ch = (this.doc.getLine(t.line) || "").length)) : (t.ch++, t.ch > (this.doc.getLine(t.line) || "").length && (t.ch = 0, t.line++)), m.cmpPos(t, this.doc.clipPos(t)) != 0)) return this.atOccurrence = !1; + var n = this.matches(e, t); + if (this.afterEmptyMatch = n && m.cmpPos(n.from, n.to) == 0, n) return this.pos = n, this.atOccurrence = !0, this.pos.match || !0; + var r = a(e ? this.doc.firstLine() : this.doc.lastLine() + 1, 0); + return this.pos = { + from: r, + to: r + }, this.atOccurrence = !1; + }, + from: function () { + if (this.atOccurrence) return this.pos.from; + }, + to: function () { + if (this.atOccurrence) return this.pos.to; + }, + replace: function (e, t) { + if (this.atOccurrence) { + var n = m.splitLines(e); + this.doc.replaceRange(n, this.pos.from, this.pos.to, t), this.pos.to = a(this.pos.from.line + n.length - 1, n[n.length - 1].length + (n.length == 1 ? this.pos.from.ch : 0)); + } } - }).catch(I => { - T === m.current && (g(B.formatError(I)), a(!1)); + }, m.defineExtension("getSearchCursor", function (e, t, n) { + return new w(this.doc, e, t, n); + }), m.defineDocExtension("getSearchCursor", function (e, t, n) { + return new w(this, e, t, n); + }), m.defineExtension("selectMatches", function (e, t) { + for (var n = [], r = this.getSearchCursor(e, this.getCursor("from"), t); r.findNext() && !(m.cmpPos(r.to(), this.getCursor("to")) > 0);) n.push({ + anchor: r.from(), + head: r.to() + }); + n.length && this.setSelections(n, 0); }); - }, [f, h, y, x, C, e.schema]); - l.useEffect(() => { - L(); - }, [L]), l.useEffect(() => { - function T(A) { - A.ctrlKey && A.key === "R" && L(); - } - return i(T, "triggerIntrospection"), window.addEventListener("keydown", T), () => window.removeEventListener("keydown", T); - }); - const b = l.useMemo(() => !s || E ? [] : M.validateSchema(s), [s, E]), - w = l.useMemo(() => ({ - fetchError: u, - introspect: L, - isFetching: d, - schema: s, - validationErrors: b - }), [u, L, d, s, b]); - return r.jsx(at.Provider, { - value: w, - children: N - }); -} -i(it, "SchemaContextProvider"); -const X = ae(at); -function Nr(_ref44) { - let { - inputValueDeprecation: e, - introspectionQueryName: t, - schemaDescription: n - } = _ref44; - return l.useMemo(() => { - const s = t || "IntrospectionQuery"; - let o = M.getIntrospectionQuery({ - inputValueDeprecation: e, - schemaDescription: n }); - t && (o = o.replace("query IntrospectionQuery", `query ${s}`)); - const d = o.replace("subscriptionType { name }", ""); - return { - introspectionQueryName: s, - introspectionQuery: o, - introspectionQuerySansSubscriptions: d - }; - }, [e, t, n]); + }()), N.exports; } -i(Nr, "useIntrospectionQuery"); -function Tr(e) { - let t = null, - n = !0; - try { - e && (t = JSON.parse(e)); - } catch { - n = !1; +o(H, "requireSearchcursor"); +exports.requireSearchcursor = H; + +/***/ }), + +/***/ "../../graphiql-react/dist/show-hint.cjs.js": +/*!**************************************************!*\ + !*** ../../graphiql-react/dist/show-hint.cjs.js ***! + \**************************************************/ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + + +var ct = Object.defineProperty; +var p = (H, A) => ct(H, "name", { + value: A, + configurable: !0 +}); +const G = __webpack_require__(/*! ./codemirror.cjs2.js */ "../../graphiql-react/dist/codemirror.cjs2.js"); +function lt(H, A) { + for (var r = 0; r < A.length; r++) { + const w = A[r]; + if (typeof w != "string" && !Array.isArray(w)) { + for (const v in w) if (v !== "default" && !(v in H)) { + const b = Object.getOwnPropertyDescriptor(w, v); + b && Object.defineProperty(H, v, b.get ? b : { + enumerable: !0, + get: () => w[v] + }); + } + } } - return { - headers: t, - isValidJSON: n - }; + return Object.freeze(Object.defineProperty(H, Symbol.toStringTag, { + value: "Module" + })); } -i(Tr, "parseHeaderString"); -const je = { - name: "Docs" - }, - ct = le("ExplorerContext"); -function ut(e) { - const { - schema: t, - validationErrors: n - } = X({ - nonNull: !0, - caller: ut - }), - [s, o] = l.useState([je]), - d = l.useCallback(m => { - o(p => p.at(-1).def === m.def ? p : [...p, m]); - }, []), - a = l.useCallback(() => { - o(m => m.length > 1 ? m.slice(0, -1) : m); - }, []), - u = l.useCallback(() => { - o(m => m.length === 1 ? m : [je]); - }, []); - l.useEffect(() => { - t == null || n.length > 0 ? u() : o(m => { - if (m.length === 1) return m; - const p = [je]; - let y = null; - for (const h of m) if (h !== je) if (h.def) { - if (M.isNamedType(h.def)) { - const x = t.getType(h.def.name); - if (x) p.push({ - name: h.name, - def: x - }), y = x;else break; - } else { - if (y === null) break; - if (M.isObjectType(y) || M.isInputObjectType(y)) { - const x = y.getFields()[h.name]; - if (x) p.push({ - name: h.name, - def: x - });else break; - } else { - if (M.isScalarType(y) || M.isEnumType(y) || M.isInterfaceType(y) || M.isUnionType(y)) break; - { - const x = y; - if (x.args.find(C => C.name === h.name)) p.push({ - name: h.name, - def: x - });else break; - } - } +p(lt, "_mergeNamespaces"); +var ht = { + exports: {} +}; +(function (H, A) { + (function (r) { + r(G.requireCodemirror()); + })(function (r) { + var w = "CodeMirror-hint", + v = "CodeMirror-hint-active"; + r.showHint = function (t, e, i) { + if (!e) return t.showHint(i); + i && i.async && (e.async = !0); + var n = { + hint: e + }; + if (i) for (var s in i) n[s] = i[s]; + return t.showHint(n); + }, r.defineExtension("showHint", function (t) { + t = tt(this, this.getCursor("start"), t); + var e = this.listSelections(); + if (!(e.length > 1)) { + if (this.somethingSelected()) { + if (!t.hint.supportsSelection) return; + for (var i = 0; i < e.length; i++) if (e[i].head.line != e[i].anchor.line) return; } - } else y = null, p.push(h); - return p; + this.state.completionActive && this.state.completionActive.close(); + var n = this.state.completionActive = new b(this, t); + n.options.hint && (r.signal(this, "startCompletion", this), n.update(!0)); + } + }), r.defineExtension("closeHint", function () { + this.state.completionActive && this.state.completionActive.close(); }); - }, [u, t, n]); - const g = l.useMemo(() => ({ - explorerNavStack: s, - push: d, - pop: a, - reset: u - }), [s, d, a, u]); - return r.jsx(ct.Provider, { - value: g, - children: e.children - }); -} -i(ut, "ExplorerContextProvider"); -const te = ae(ct); -function Ve(e, t) { - return M.isNonNullType(e) ? r.jsxs(r.Fragment, { - children: [Ve(e.ofType, t), "!"] - }) : M.isListType(e) ? r.jsxs(r.Fragment, { - children: ["[", Ve(e.ofType, t), "]"] - }) : t(e); -} -i(Ve, "renderType"); -function U(e) { - const { - push: t - } = te({ - nonNull: !0, - caller: U - }); - return e.type ? Ve(e.type, n => r.jsx("a", { - className: "graphiql-doc-explorer-type-name", - onClick: s => { - s.preventDefault(), t({ - name: n.name, - def: n - }); - }, - href: "#", - children: n.name - })) : null; -} -i(U, "TypeLink"); -function Ce(_ref45) { - let { - arg: e, - showDefaultValue: t, - inline: n - } = _ref45; - const s = r.jsxs("span", { - children: [r.jsx("span", { - className: "graphiql-doc-explorer-argument-name", - children: e.name - }), ": ", r.jsx(U, { - type: e.type - }), t !== !1 && r.jsx(lt, { - field: e - })] - }); - return n ? s : r.jsxs("div", { - className: "graphiql-doc-explorer-argument", - children: [s, e.description ? r.jsx(K, { - type: "description", - children: e.description - }) : null, e.deprecationReason ? r.jsxs("div", { - className: "graphiql-doc-explorer-argument-deprecation", - children: [r.jsx("div", { - className: "graphiql-doc-explorer-argument-deprecation-label", - children: "Deprecated" - }), r.jsx(K, { - type: "deprecation", - children: e.deprecationReason - })] - }) : null] - }); -} -i(Ce, "Argument"); -function dt(e) { - var _e$preview; - return e.children ? r.jsxs("div", { - className: "graphiql-doc-explorer-deprecation", - children: [r.jsx("div", { - className: "graphiql-doc-explorer-deprecation-label", - children: "Deprecated" - }), r.jsx(K, { - type: "deprecation", - onlyShowFirstChild: (_e$preview = e.preview) !== null && _e$preview !== void 0 ? _e$preview : !0, - children: e.children - })] - }) : null; -} -i(dt, "DeprecationReason"); -function an(_ref46) { - let { - directive: e - } = _ref46; - return r.jsxs("span", { - className: "graphiql-doc-explorer-directive", - children: ["@", e.name.value] - }); -} -i(an, "Directive"); -function $(e) { - const t = Mr[e.title]; - return r.jsxs("div", { - children: [r.jsxs("div", { - className: "graphiql-doc-explorer-section-title", - children: [r.jsx(t, {}), e.title] - }), r.jsx("div", { - className: "graphiql-doc-explorer-section-content", - children: e.children - })] - }); -} -i($, "ExplorerSection"); -const Mr = { - Arguments: Tt, - "Deprecated Arguments": Rt, - "Deprecated Enum Values": Pt, - "Deprecated Fields": qt, - Directives: Vt, - "Enum Values": Dt, - Fields: At, - Implements: Ft, - Implementations: ge, - "Possible Types": ge, - "Root Types": Zt, - Type: ge, - "All Schema Types": ge -}; -function cn(e) { - return r.jsxs(r.Fragment, { - children: [e.field.description ? r.jsx(K, { - type: "description", - children: e.field.description - }) : null, r.jsx(dt, { - preview: !1, - children: e.field.deprecationReason - }), r.jsx($, { - title: "Type", - children: r.jsx(U, { - type: e.field.type - }) - }), r.jsx(Rr, { - field: e.field - }), r.jsx(Pr, { - field: e.field - })] - }); -} -i(cn, "FieldDocumentation"); -function Rr(_ref47) { - let { - field: e - } = _ref47; - const [t, n] = l.useState(!1), - s = l.useCallback(() => { - n(!0); - }, []); - if (!("args" in e)) return null; - const o = [], - d = []; - for (const a of e.args) a.deprecationReason ? d.push(a) : o.push(a); - return r.jsxs(r.Fragment, { - children: [o.length > 0 ? r.jsx($, { - title: "Arguments", - children: o.map(a => r.jsx(Ce, { - arg: a - }, a.name)) - }) : null, d.length > 0 ? t || o.length === 0 ? r.jsx($, { - title: "Deprecated Arguments", - children: d.map(a => r.jsx(Ce, { - arg: a - }, a.name)) - }) : r.jsx(me, { - type: "button", - onClick: s, - children: "Show Deprecated Arguments" - }) : null] - }); -} -i(Rr, "Arguments"); -function Pr(_ref48) { - let { - field: e - } = _ref48; - var n; - const t = ((n = e.astNode) == null ? void 0 : n.directives) || []; - return !t || t.length === 0 ? null : r.jsx($, { - title: "Directives", - children: t.map(s => r.jsx("div", { - children: r.jsx(an, { - directive: s - }) - }, s.name.value)) - }); -} -i(Pr, "Directives"); -function un(e) { - var a, u, g, m; - const t = e.schema.getQueryType(), - n = (u = (a = e.schema).getMutationType) == null ? void 0 : u.call(a), - s = (m = (g = e.schema).getSubscriptionType) == null ? void 0 : m.call(g), - o = e.schema.getTypeMap(), - d = [t == null ? void 0 : t.name, n == null ? void 0 : n.name, s == null ? void 0 : s.name]; - return r.jsxs(r.Fragment, { - children: [r.jsx(K, { - type: "description", - children: e.schema.description || "A GraphQL schema provides a root type for each kind of operation." - }), r.jsxs($, { - title: "Root Types", - children: [t ? r.jsxs("div", { - children: [r.jsx("span", { - className: "graphiql-doc-explorer-root-type", - children: "query" - }), ": ", r.jsx(U, { - type: t - })] - }) : null, n && r.jsxs("div", { - children: [r.jsx("span", { - className: "graphiql-doc-explorer-root-type", - children: "mutation" - }), ": ", r.jsx(U, { - type: n - })] - }), s && r.jsxs("div", { - children: [r.jsx("span", { - className: "graphiql-doc-explorer-root-type", - children: "subscription" - }), ": ", r.jsx(U, { - type: s - })] - })] - }), r.jsx($, { - title: "All Schema Types", - children: o && r.jsx("div", { - children: Object.values(o).map(p => d.includes(p.name) || p.name.startsWith("__") ? null : r.jsx("div", { - children: r.jsx(U, { - type: p - }) - }, p.name)) - }) - })] - }); -} -i(un, "SchemaDocumentation"); -function ue(e, t) { - let n; - return function () { - for (var _len = arguments.length, s = new Array(_len), _key = 0; _key < _len; _key++) { - s[_key] = arguments[_key]; - } - n && window.clearTimeout(n), n = window.setTimeout(() => { - n = null, t(...s); - }, e); - }; -} -i(ue, "debounce"); -function ht() { - const { - explorerNavStack: e, - push: t - } = te({ - nonNull: !0, - caller: ht - }), - n = l.useRef(null), - s = Ue(), - [o, d] = l.useState(""), - [a, u] = l.useState(s(o)), - g = l.useMemo(() => ue(200, f => { - u(s(f)); - }), [s]); - l.useEffect(() => { - g(o); - }, [g, o]), l.useEffect(() => { - function f(C) { - var E; - C.metaKey && C.key === "k" && ((E = n.current) == null || E.focus()); + function b(t, e) { + if (this.cm = t, this.options = e, this.widget = null, this.debounce = 0, this.tick = 0, this.startPos = this.cm.getCursor("start"), this.startLen = this.cm.getLine(this.startPos.line).length - this.cm.getSelection().length, this.options.updateOnCursorActivity) { + var i = this; + t.on("cursorActivity", this.activityFunc = function () { + i.cursorActivity(); + }); + } } - return i(f, "handleKeyDown"), window.addEventListener("keydown", f), () => window.removeEventListener("keydown", f); - }, []); - const m = e.at(-1), - p = l.useCallback(f => { - t("field" in f ? { - name: f.field.name, - def: f.field - } : { - name: f.type.name, - def: f.type - }); - }, [t]), - y = l.useRef(!1), - h = l.useCallback(f => { - y.current = f.type === "focus"; - }, []); - return e.length === 1 || M.isObjectType(m.def) || M.isInterfaceType(m.def) || M.isInputObjectType(m.def) ? r.jsxs(ie.Combobox, { - as: "div", - className: "graphiql-doc-explorer-search", - onChange: p, - "data-state": y ? void 0 : "idle", - "aria-label": `Search ${m.name}...`, - children: [r.jsxs("div", { - className: "graphiql-doc-explorer-search-input", - onClick: () => { - var f; - (f = n.current) == null || f.focus(); + p(b, "Completion"); + var Q = window.requestAnimationFrame || function (t) { + return setTimeout(t, 1e3 / 60); }, - children: [r.jsx(Bt, {}), r.jsx(ie.Combobox.Input, { - autoComplete: "off", - onFocus: h, - onBlur: h, - onChange: f => d(f.target.value), - placeholder: "⌘ K", - ref: n, - value: o, - "data-cy": "doc-explorer-input" - })] - }), y.current && r.jsxs(ie.Combobox.Options, { - "data-cy": "doc-explorer-list", - children: [a.within.length + a.types.length + a.fields.length === 0 ? r.jsx("li", { - className: "graphiql-doc-explorer-search-empty", - children: "No results found" - }) : a.within.map((f, C) => r.jsx(ie.Combobox.Option, { - value: f, - "data-cy": "doc-explorer-option", - children: r.jsx(bt, { - field: f.field, - argument: f.argument - }) - }, `within-${C}`)), a.within.length > 0 && a.types.length + a.fields.length > 0 ? r.jsx("div", { - className: "graphiql-doc-explorer-search-divider", - children: "Other results" - }) : null, a.types.map((f, C) => r.jsx(ie.Combobox.Option, { - value: f, - "data-cy": "doc-explorer-option", - children: r.jsx(Ke, { - type: f.type - }) - }, `type-${C}`)), a.fields.map((f, C) => r.jsxs(ie.Combobox.Option, { - value: f, - "data-cy": "doc-explorer-option", - children: [r.jsx(Ke, { - type: f.type - }), ".", r.jsx(bt, { - field: f.field, - argument: f.argument - })] - }, `field-${C}`))] - })] - }) : null; -} -i(ht, "Search"); -function Ue(e) { - const { - explorerNavStack: t - } = te({ - nonNull: !0, - caller: e || Ue - }), - { - schema: n - } = X({ - nonNull: !0, - caller: e || Ue - }), - s = t.at(-1); - return l.useCallback(o => { - const d = { - within: [], - types: [], - fields: [] + Z = window.cancelAnimationFrame || clearTimeout; + b.prototype = { + close: function () { + this.active() && (this.cm.state.completionActive = null, this.tick = null, this.options.updateOnCursorActivity && this.cm.off("cursorActivity", this.activityFunc), this.widget && this.data && r.signal(this.data, "close"), this.widget && this.widget.close(), r.signal(this.cm, "endCompletion", this.cm)); + }, + active: function () { + return this.cm.state.completionActive == this; + }, + pick: function (t, e) { + var i = t.list[e], + n = this; + this.cm.operation(function () { + i.hint ? i.hint(n.cm, t, i) : n.cm.replaceRange(_(i), i.from || t.from, i.to || t.to, "complete"), r.signal(t, "pick", i), n.cm.scrollIntoView(); + }), this.options.closeOnPick && this.close(); + }, + cursorActivity: function () { + this.debounce && (Z(this.debounce), this.debounce = 0); + var t = this.startPos; + this.data && (t = this.data.from); + var e = this.cm.getCursor(), + i = this.cm.getLine(e.line); + if (e.line != this.startPos.line || i.length - e.ch != this.startLen - this.startPos.ch || e.ch < t.ch || this.cm.somethingSelected() || !e.ch || this.options.closeCharacters.test(i.charAt(e.ch - 1))) this.close();else { + var n = this; + this.debounce = Q(function () { + n.update(); + }), this.widget && this.widget.disable(); + } + }, + update: function (t) { + if (this.tick != null) { + var e = this, + i = ++this.tick; + U(this.options.hint, this.cm, this.options, function (n) { + e.tick == i && e.finishUpdate(n, t); + }); + } + }, + finishUpdate: function (t, e) { + this.data && r.signal(this.data, "update"); + var i = this.widget && this.widget.picked || e && this.options.completeSingle; + this.widget && this.widget.close(), this.data = t, t && t.list.length && (i && t.list.length == 1 ? this.pick(t, 0) : (this.widget = new K(this, t), r.signal(t, "shown"))); + } }; - if (!n) return d; - const a = s.def, - u = n.getTypeMap(); - let g = Object.keys(u); - a && (g = g.filter(m => m !== a.name), g.unshift(a.name)); - for (const m of g) { - if (d.within.length + d.types.length + d.fields.length >= 100) break; - const p = u[m]; - if (a !== p && $e(m, o) && d.types.push({ - type: p - }), !M.isObjectType(p) && !M.isInterfaceType(p) && !M.isInputObjectType(p)) continue; - const y = p.getFields(); - for (const h in y) { - const x = y[h]; - let f; - if (!$e(h, o)) if ("args" in x) { - if (f = x.args.filter(C => $e(C.name, o)), f.length === 0) continue; - } else continue; - d[a === p ? "within" : "fields"].push(...(f ? f.map(C => ({ - type: p, - field: x, - argument: C - })) : [{ - type: p, - field: x - }])); + function tt(t, e, i) { + var n = t.options.hintOptions, + s = {}; + for (var c in D) s[c] = D[c]; + if (n) for (var c in n) n[c] !== void 0 && (s[c] = n[c]); + if (i) for (var c in i) i[c] !== void 0 && (s[c] = i[c]); + return s.hint.resolve && (s.hint = s.hint.resolve(t, e)), s; + } + p(tt, "parseOptions"); + function _(t) { + return typeof t == "string" ? t : t.text; + } + p(_, "getText"); + function et(t, e) { + var i = { + Up: function () { + e.moveFocus(-1); + }, + Down: function () { + e.moveFocus(1); + }, + PageUp: function () { + e.moveFocus(-e.menuSize() + 1, !0); + }, + PageDown: function () { + e.moveFocus(e.menuSize() - 1, !0); + }, + Home: function () { + e.setFocus(0); + }, + End: function () { + e.setFocus(e.length - 1); + }, + Enter: e.pick, + Tab: e.pick, + Esc: e.close + }, + n = /Mac/.test(navigator.platform); + n && (i["Ctrl-P"] = function () { + e.moveFocus(-1); + }, i["Ctrl-N"] = function () { + e.moveFocus(1); + }); + var s = t.options.customKeys, + c = s ? {} : i; + function o(u, l) { + var a; + typeof l != "string" ? a = p(function (S) { + return l(S, e); + }, "bound") : i.hasOwnProperty(l) ? a = i[l] : a = l, c[u] = a; } + if (p(o, "addBinding"), s) for (var f in s) s.hasOwnProperty(f) && o(f, s[f]); + var h = t.options.extraKeys; + if (h) for (var f in h) h.hasOwnProperty(f) && o(f, h[f]); + return c; } - return d; - }, [s.def, n]); -} -i(Ue, "useSearchResults"); -function $e(e, t) { - try { - const n = t.replaceAll(/[^_0-9A-Za-z]/g, s => "\\" + s); - return e.search(new RegExp(n, "i")) !== -1; - } catch { - return e.toLowerCase().includes(t.toLowerCase()); - } -} -i($e, "isMatch"); -function Ke(e) { - return r.jsx("span", { - className: "graphiql-doc-explorer-search-type", - children: e.type.name - }); -} -i(Ke, "Type"); -function bt(_ref49) { - let { - field: e, - argument: t - } = _ref49; - return r.jsxs(r.Fragment, { - children: [r.jsx("span", { - className: "graphiql-doc-explorer-search-field", - children: e.name - }), t ? r.jsxs(r.Fragment, { - children: ["(", r.jsx("span", { - className: "graphiql-doc-explorer-search-argument", - children: t.name - }), ":", " ", Ve(t.type, n => r.jsx(Ke, { - type: n - })), ")"] - }) : null] - }); -} -i(bt, "Field$1"); -function dn(e) { - const { - push: t - } = te({ - nonNull: !0 - }); - return r.jsx("a", { - className: "graphiql-doc-explorer-field-name", - onClick: n => { - n.preventDefault(), t({ - name: e.field.name, - def: e.field + p(et, "buildKeyMap"); + function B(t, e) { + for (; e && e != t;) { + if (e.nodeName.toUpperCase() === "LI" && e.parentNode == t) return e; + e = e.parentNode; + } + } + p(B, "getHintElement"); + function K(t, e) { + this.id = "cm-complete-" + Math.floor(Math.random(1e6)), this.completion = t, this.data = e, this.picked = !1; + var i = this, + n = t.cm, + s = n.getInputField().ownerDocument, + c = s.defaultView || s.parentWindow, + o = this.hints = s.createElement("ul"); + o.setAttribute("role", "listbox"), o.setAttribute("aria-expanded", "true"), o.id = this.id; + var f = t.cm.options.theme; + o.className = "CodeMirror-hints " + f, this.selectedHint = e.selectedHint || 0; + for (var h = e.list, u = 0; u < h.length; ++u) { + var l = o.appendChild(s.createElement("li")), + a = h[u], + S = w + (u != this.selectedHint ? "" : " " + v); + a.className != null && (S = a.className + " " + S), l.className = S, u == this.selectedHint && l.setAttribute("aria-selected", "true"), l.id = this.id + "-" + u, l.setAttribute("role", "option"), a.render ? a.render(l, e, a) : l.appendChild(s.createTextNode(a.displayText || _(a))), l.hintId = u; + } + var T = t.options.container || s.body, + y = n.cursorCoords(t.options.alignWithWord ? e.from : null), + k = y.left, + O = y.bottom, + j = !0, + F = 0, + E = 0; + if (T !== s.body) { + var st = ["absolute", "relative", "fixed"].indexOf(c.getComputedStyle(T).position) !== -1, + W = st ? T : T.offsetParent, + M = W.getBoundingClientRect(), + q = s.body.getBoundingClientRect(); + F = M.left - q.left - W.scrollLeft, E = M.top - q.top - W.scrollTop; + } + o.style.left = k - F + "px", o.style.top = O - E + "px"; + var N = c.innerWidth || Math.max(s.body.offsetWidth, s.documentElement.offsetWidth), + L = c.innerHeight || Math.max(s.body.offsetHeight, s.documentElement.offsetHeight); + T.appendChild(o), n.getInputField().setAttribute("aria-autocomplete", "list"), n.getInputField().setAttribute("aria-owns", this.id), n.getInputField().setAttribute("aria-activedescendant", this.id + "-" + this.selectedHint); + var m = t.options.moveOnOverlap ? o.getBoundingClientRect() : new DOMRect(), + z = t.options.paddingForScrollbar ? o.scrollHeight > o.clientHeight + 1 : !1, + x; + setTimeout(function () { + x = n.getScrollInfo(); }); - }, - href: "#", - children: e.field.name - }); -} -i(dn, "FieldLink"); -function hn(e) { - return M.isNamedType(e.type) ? r.jsxs(r.Fragment, { - children: [e.type.description ? r.jsx(K, { - type: "description", - children: e.type.description - }) : null, r.jsx(qr, { - type: e.type - }), r.jsx(Vr, { - type: e.type - }), r.jsx(Ir, { - type: e.type - }), r.jsx(Hr, { - type: e.type - })] - }) : null; -} -i(hn, "TypeDocumentation"); -function qr(_ref50) { - let { - type: e - } = _ref50; - return M.isObjectType(e) && e.getInterfaces().length > 0 ? r.jsx($, { - title: "Implements", - children: e.getInterfaces().map(n => r.jsx("div", { - children: r.jsx(U, { - type: n - }) - }, n.name)) - }) : null; -} -i(qr, "ImplementsInterfaces"); -function Vr(_ref51) { - let { - type: e - } = _ref51; - const [t, n] = l.useState(!1), - s = l.useCallback(() => { - n(!0); - }, []); - if (!M.isObjectType(e) && !M.isInterfaceType(e) && !M.isInputObjectType(e)) return null; - const o = e.getFields(), - d = [], - a = []; - for (const u of Object.keys(o).map(g => o[g])) u.deprecationReason ? a.push(u) : d.push(u); - return r.jsxs(r.Fragment, { - children: [d.length > 0 ? r.jsx($, { - title: "Fields", - children: d.map(u => r.jsx(wt, { - field: u - }, u.name)) - }) : null, a.length > 0 ? t || d.length === 0 ? r.jsx($, { - title: "Deprecated Fields", - children: a.map(u => r.jsx(wt, { - field: u - }, u.name)) - }) : r.jsx(me, { - type: "button", - onClick: s, - children: "Show Deprecated Fields" - }) : null] - }); -} -i(Vr, "Fields"); -function wt(_ref52) { - let { - field: e - } = _ref52; - const t = "args" in e ? e.args.filter(n => !n.deprecationReason) : []; - return r.jsxs("div", { - className: "graphiql-doc-explorer-item", - children: [r.jsxs("div", { - children: [r.jsx(dn, { - field: e - }), t.length > 0 ? r.jsxs(r.Fragment, { - children: ["(", r.jsx("span", { - children: t.map(n => t.length === 1 ? r.jsx(Ce, { - arg: n, - inline: !0 - }, n.name) : r.jsx("div", { - className: "graphiql-doc-explorer-argument-multiple", - children: r.jsx(Ce, { - arg: n, - inline: !0 - }) - }, n.name)) - }), ")"] - }) : null, ": ", r.jsx(U, { - type: e.type - }), r.jsx(lt, { - field: e - })] - }), e.description ? r.jsx(K, { - type: "description", - onlyShowFirstChild: !0, - children: e.description - }) : null, r.jsx(dt, { - children: e.deprecationReason - })] - }); -} -i(wt, "Field"); -function Ir(_ref53) { - let { - type: e - } = _ref53; - const [t, n] = l.useState(!1), - s = l.useCallback(() => { - n(!0); - }, []); - if (!M.isEnumType(e)) return null; - const o = [], - d = []; - for (const a of e.getValues()) a.deprecationReason ? d.push(a) : o.push(a); - return r.jsxs(r.Fragment, { - children: [o.length > 0 ? r.jsx($, { - title: "Enum Values", - children: o.map(a => r.jsx(Et, { - value: a - }, a.name)) - }) : null, d.length > 0 ? t || o.length === 0 ? r.jsx($, { - title: "Deprecated Enum Values", - children: d.map(a => r.jsx(Et, { - value: a - }, a.name)) - }) : r.jsx(me, { - type: "button", - onClick: s, - children: "Show Deprecated Values" - }) : null] - }); -} -i(Ir, "EnumValues"); -function Et(_ref54) { - let { - value: e - } = _ref54; - return r.jsxs("div", { - className: "graphiql-doc-explorer-item", - children: [r.jsx("div", { - className: "graphiql-doc-explorer-enum-value", - children: e.name - }), e.description ? r.jsx(K, { - type: "description", - children: e.description - }) : null, e.deprecationReason ? r.jsx(K, { - type: "deprecation", - children: e.deprecationReason - }) : null] - }); -} -i(Et, "EnumValue"); -function Hr(_ref55) { - let { - type: e - } = _ref55; - const { - schema: t - } = X({ - nonNull: !0 - }); - return !t || !M.isAbstractType(e) ? null : r.jsx($, { - title: M.isInterfaceType(e) ? "Implementations" : "Possible Types", - children: t.getPossibleTypes(e).map(n => r.jsx("div", { - children: r.jsx(U, { - type: n - }) - }, n.name)) - }); -} -i(Hr, "PossibleTypes"); -function Ie() { - const { - fetchError: e, - isFetching: t, - schema: n, - validationErrors: s - } = X({ - nonNull: !0, - caller: Ie - }), - { - explorerNavStack: o, - pop: d - } = te({ - nonNull: !0, - caller: Ie - }), - a = o.at(-1); - let u = null; - e ? u = r.jsx("div", { - className: "graphiql-doc-explorer-error", - children: "Error fetching schema" - }) : s.length > 0 ? u = r.jsxs("div", { - className: "graphiql-doc-explorer-error", - children: ["Schema is invalid: ", s[0].message] - }) : t ? u = r.jsx(rt, {}) : n ? o.length === 1 ? u = r.jsx(un, { - schema: n - }) : M.isType(a.def) ? u = r.jsx(hn, { - type: a.def - }) : a.def && (u = r.jsx(cn, { - field: a.def - })) : u = r.jsx("div", { - className: "graphiql-doc-explorer-error", - children: "No GraphQL schema available" - }); - let g; - return o.length > 1 && (g = o.at(-2).name), r.jsxs("section", { - className: "graphiql-doc-explorer", - "aria-label": "Documentation Explorer", - children: [r.jsxs("div", { - className: "graphiql-doc-explorer-header", - children: [r.jsxs("div", { - className: "graphiql-doc-explorer-header-content", - children: [g && r.jsxs("a", { - href: "#", - className: "graphiql-doc-explorer-back", - onClick: m => { - m.preventDefault(), d(); - }, - "aria-label": `Go back to ${g}`, - children: [r.jsx(Mt, {}), g] - }), r.jsx("div", { - className: "graphiql-doc-explorer-title", - children: a.name - })] - }), r.jsx(ht, {}, a.name)] - }), r.jsx("div", { - className: "graphiql-doc-explorer-content", - children: u - })] - }); -} -i(Ie, "DocExplorer"); -const de = { - title: "Documentation Explorer", - icon: i(function () { - const t = Ze(); - return (t == null ? void 0 : t.visiblePlugin) === de ? r.jsx(It, {}) : r.jsx(Ht, {}); - }, "Icon"), - content: Ie - }, - Je = { - title: "History", - icon: Ot, - content: on - }, - mt = le("PluginContext"); -function mn(e) { - const t = se(), - n = te(), - s = be(), - o = !!n, - d = !!s, - a = l.useMemo(() => { - const x = [], - f = {}; - o && (x.push(de), f[de.title] = !0), d && (x.push(Je), f[Je.title] = !0); - for (const C of e.plugins || []) { - if (typeof C.title != "string" || !C.title) throw new Error("All GraphiQL plugins must have a unique title"); - if (f[C.title]) throw new Error(`All GraphiQL plugins must have a unique title, found two plugins with the title '${C.title}'`); - x.push(C), f[C.title] = !0; + var ot = m.bottom - L; + if (ot > 0) { + var P = m.bottom - m.top, + rt = y.top - (y.bottom - m.top); + if (rt - P > 0) o.style.top = (O = y.top - P - E) + "px", j = !1;else if (P > L) { + o.style.height = L - 5 + "px", o.style.top = (O = y.bottom - m.top - E) + "px"; + var V = n.getCursor(); + e.from.ch != V.ch && (y = n.cursorCoords(V), o.style.left = (k = y.left - F) + "px", m = o.getBoundingClientRect()); + } } - return x; - }, [o, d, e.plugins]), - [u, g] = l.useState(() => { - const x = t == null ? void 0 : t.get(St), - f = a.find(C => C.title === x); - return f || (x && (t == null || t.set(St, "")), e.visiblePlugin && a.find(C => (typeof e.visiblePlugin == "string" ? C.title : C) === e.visiblePlugin) || null); - }), - { - onTogglePluginVisibility: m, - children: p - } = e, - y = l.useCallback(x => { - const f = x && a.find(C => (typeof x == "string" ? C.title : C) === x) || null; - g(C => f === C ? C : (m == null || m(f), f)); - }, [m, a]); - l.useEffect(() => { - e.visiblePlugin && y(e.visiblePlugin); - }, [a, e.visiblePlugin, y]); - const h = l.useMemo(() => ({ - plugins: a, - setVisiblePlugin: y, - visiblePlugin: u - }), [a, y, u]); - return r.jsx(mt.Provider, { - value: h, - children: p - }); -} -i(mn, "PluginContextProvider"); -const Ze = ae(mt), - St = "visiblePlugin"; -function Dr(e, t, n, s, o, d) { - Ee([], { - useCommonAddons: !1 - }).then(u => { - let g, m, p, y, h, x, f, C, E; - u.on(t, "select", (N, L) => { - if (!g) { - const b = L.parentNode; - g = document.createElement("div"), g.className = "CodeMirror-hint-information", b.append(g); - const w = document.createElement("header"); - w.className = "CodeMirror-hint-information-header", g.append(w), m = document.createElement("span"), m.className = "CodeMirror-hint-information-field-name", w.append(m), p = document.createElement("span"), p.className = "CodeMirror-hint-information-type-name-pill", w.append(p), y = document.createElement("span"), p.append(y), h = document.createElement("a"), h.className = "CodeMirror-hint-information-type-name", h.href = "javascript:void 0", h.addEventListener("click", a), p.append(h), x = document.createElement("span"), p.append(x), f = document.createElement("div"), f.className = "CodeMirror-hint-information-description", g.append(f), C = document.createElement("div"), C.className = "CodeMirror-hint-information-deprecation", g.append(C); - const T = document.createElement("span"); - T.className = "CodeMirror-hint-information-deprecation-label", T.textContent = "Deprecated", C.append(T), E = document.createElement("div"), E.className = "CodeMirror-hint-information-deprecation-reason", C.append(E); - const A = parseInt(window.getComputedStyle(g).paddingBottom.replace(/px$/, ""), 10) || 0, - F = parseInt(window.getComputedStyle(g).maxHeight.replace(/px$/, ""), 10) || 0, - I = i(() => { - g && (g.style.paddingTop = b.scrollTop + A + "px", g.style.maxHeight = b.scrollTop + F + "px"); - }, "handleScroll"); - b.addEventListener("scroll", I); - let H; - b.addEventListener("DOMNodeRemoved", H = i(O => { - O.target === b && (b.removeEventListener("scroll", I), b.removeEventListener("DOMNodeRemoved", H), g && g.removeEventListener("click", a), g = null, m = null, p = null, y = null, h = null, x = null, f = null, C = null, E = null, H = null); - }, "onRemoveFn")); + var C = m.right - N; + if (z && (C += n.display.nativeBarWidth), C > 0 && (m.right - m.left > N && (o.style.width = N - 5 + "px", C -= m.right - m.left - N), o.style.left = (k = y.left - C - F) + "px"), z) for (var I = o.firstChild; I; I = I.nextSibling) I.style.paddingRight = n.display.nativeBarWidth + "px"; + if (n.addKeyMap(this.keyMap = et(t, { + moveFocus: function (d, g) { + i.changeActive(i.selectedHint + d, g); + }, + setFocus: function (d) { + i.changeActive(d); + }, + menuSize: function () { + return i.screenAmount(); + }, + length: h.length, + close: function () { + t.close(); + }, + pick: function () { + i.pick(); + }, + data: e + })), t.options.closeOnUnfocus) { + var Y; + n.on("blur", this.onBlur = function () { + Y = setTimeout(function () { + t.close(); + }, 100); + }), n.on("focus", this.onFocus = function () { + clearTimeout(Y); + }); } - if (m && (m.textContent = N.text), p && y && h && x) if (N.type) { - p.style.display = "inline"; - const b = i(w => { - M.isNonNullType(w) ? (x.textContent = "!" + x.textContent, b(w.ofType)) : M.isListType(w) ? (y.textContent += "[", x.textContent = "]" + x.textContent, b(w.ofType)) : h.textContent = w.name; - }, "renderType"); - y.textContent = "", x.textContent = "", b(N.type); - } else y.textContent = "", h.textContent = "", x.textContent = "", p.style.display = "none"; - f && (N.description ? (f.style.display = "block", f.innerHTML = Re.render(N.description)) : (f.style.display = "none", f.innerHTML = "")), C && E && (N.deprecationReason ? (C.style.display = "block", E.innerHTML = Re.render(N.deprecationReason)) : (C.style.display = "none", E.innerHTML = "")); - }); - }); - function a(u) { - if (!n || !s || !o || !(u.currentTarget instanceof HTMLElement)) return; - const g = u.currentTarget.textContent || "", - m = n.getType(g); - m && (o.setVisiblePlugin(de), s.push({ - name: m.name, - def: m - }), d == null || d(m)); - } - i(a, "onClickHintInformation"); -} -i(Dr, "onHasCompletion"); -function ke(e, t) { - l.useEffect(() => { - e && typeof t == "string" && t !== e.getValue() && e.setValue(t); - }, [e, t]); -} -i(ke, "useSynchronizeValue"); -function Ge(e, t, n) { - l.useEffect(() => { - e && e.setOption(t, n); - }, [e, t, n]); -} -i(Ge, "useSynchronizeOption"); -function fn(e, t, n, s, o) { - const { - updateActiveTabValues: d - } = Z({ - nonNull: !0, - caller: o - }), - a = se(); - l.useEffect(() => { - if (!e) return; - const u = ue(500, p => { - !a || n === null || a.set(n, p); - }), - g = ue(100, p => { - d({ - [s]: p + n.on("scroll", this.onScroll = function () { + var d = n.getScrollInfo(), + g = n.getWrapperElement().getBoundingClientRect(); + x || (x = n.getScrollInfo()); + var X = O + x.top - d.top, + R = X - (c.pageYOffset || (s.documentElement || s.body).scrollTop); + if (j || (R += o.offsetHeight), R <= g.top || R >= g.bottom) return t.close(); + o.style.top = X + "px", o.style.left = k + x.left - d.left + "px"; + }), r.on(o, "dblclick", function (d) { + var g = B(o, d.target || d.srcElement); + g && g.hintId != null && (i.changeActive(g.hintId), i.pick()); + }), r.on(o, "click", function (d) { + var g = B(o, d.target || d.srcElement); + g && g.hintId != null && (i.changeActive(g.hintId), t.options.completeOnSingleClick && i.pick()); + }), r.on(o, "mousedown", function () { + setTimeout(function () { + n.focus(); + }, 20); + }); + var $ = this.getSelectedHintRange(); + return ($.from !== 0 || $.to !== 0) && this.scrollToActive(), r.signal(e, "select", h[this.selectedHint], o.childNodes[this.selectedHint]), !0; + } + p(K, "Widget"), K.prototype = { + close: function () { + if (this.completion.widget == this) { + this.completion.widget = null, this.hints.parentNode && this.hints.parentNode.removeChild(this.hints), this.completion.cm.removeKeyMap(this.keyMap); + var t = this.completion.cm.getInputField(); + t.removeAttribute("aria-activedescendant"), t.removeAttribute("aria-owns"); + var e = this.completion.cm; + this.completion.options.closeOnUnfocus && (e.off("blur", this.onBlur), e.off("focus", this.onFocus)), e.off("scroll", this.onScroll); + } + }, + disable: function () { + this.completion.cm.removeKeyMap(this.keyMap); + var t = this; + this.keyMap = { + Enter: function () { + t.picked = !0; + } + }, this.completion.cm.addKeyMap(this.keyMap); + }, + pick: function () { + this.completion.pick(this.data, this.selectedHint); + }, + changeActive: function (t, e) { + if (t >= this.data.list.length ? t = e ? this.data.list.length - 1 : 0 : t < 0 && (t = e ? 0 : this.data.list.length - 1), this.selectedHint != t) { + var i = this.hints.childNodes[this.selectedHint]; + i && (i.className = i.className.replace(" " + v, ""), i.removeAttribute("aria-selected")), i = this.hints.childNodes[this.selectedHint = t], i.className += " " + v, i.setAttribute("aria-selected", "true"), this.completion.cm.getInputField().setAttribute("aria-activedescendant", i.id), this.scrollToActive(), r.signal(this.data, "select", this.data.list[this.selectedHint], i); + } + }, + scrollToActive: function () { + var t = this.getSelectedHintRange(), + e = this.hints.childNodes[t.from], + i = this.hints.childNodes[t.to], + n = this.hints.firstChild; + e.offsetTop < this.hints.scrollTop ? this.hints.scrollTop = e.offsetTop - n.offsetTop : i.offsetTop + i.offsetHeight > this.hints.scrollTop + this.hints.clientHeight && (this.hints.scrollTop = i.offsetTop + i.offsetHeight - this.hints.clientHeight + n.offsetTop); + }, + screenAmount: function () { + return Math.floor(this.hints.clientHeight / this.hints.firstChild.offsetHeight) || 1; + }, + getSelectedHintRange: function () { + var t = this.completion.options.scrollMargin || 0; + return { + from: Math.max(0, this.selectedHint - t), + to: Math.min(this.data.list.length - 1, this.selectedHint + t) + }; + } + }; + function it(t, e) { + if (!t.somethingSelected()) return e; + for (var i = [], n = 0; n < e.length; n++) e[n].supportsSelection && i.push(e[n]); + return i; + } + p(it, "applicableHelpers"); + function U(t, e, i, n) { + if (t.async) t(e, n, i);else { + var s = t(e, i); + s && s.then ? s.then(n) : n(s); + } + } + p(U, "fetchHints"); + function nt(t, e) { + var i = t.getHelpers(e, "hint"), + n; + if (i.length) { + var s = p(function (c, o, f) { + var h = it(c, i); + function u(l) { + if (l == h.length) return o(null); + U(h[l], c, f, function (a) { + a && a.list.length > 0 ? o(a) : u(l + 1); + }); + } + p(u, "run"), u(0); + }, "resolved"); + return s.async = !0, s.supportsSelection = !0, s; + } else return (n = t.getHelper(t.getCursor(), "hintWords")) ? function (c) { + return r.hint.fromList(c, { + words: n }); - }), - m = i((p, y) => { - if (!y) return; - const h = p.getValue(); - u(h), g(h), t == null || t(h); - }, "handleChange"); - return e.on("change", m), () => e.off("change", m); - }, [t, e, a, n, s, d]); -} -i(fn, "useChangeHandler"); -function pn(e, t, n) { - const { - schema: s - } = X({ - nonNull: !0, - caller: n - }), - o = te(), - d = Ze(); - l.useEffect(() => { - if (!e) return; - const a = i((u, g) => { - Dr(u, g, s, o, d, m => { - t == null || t({ - kind: "Type", - type: m, - schema: s || void 0 + } : r.hint.anyword ? function (c, o) { + return r.hint.anyword(c, o); + } : function () {}; + } + p(nt, "resolveAutoHints"), r.registerHelper("hint", "auto", { + resolve: nt + }), r.registerHelper("hint", "fromList", function (t, e) { + var i = t.getCursor(), + n = t.getTokenAt(i), + s, + c = r.Pos(i.line, n.start), + o = i; + n.start < i.ch && /\w/.test(n.string.charAt(i.ch - n.start - 1)) ? s = n.string.substr(0, i.ch - n.start) : (s = "", c = i); + for (var f = [], h = 0; h < e.words.length; h++) { + var u = e.words[h]; + u.slice(0, s.length) == s && f.push(u); + } + if (f.length) return { + list: f, + from: c, + to: o + }; + }), r.commands.autocomplete = r.showHint; + var D = { + hint: r.hint.auto, + completeSingle: !0, + alignWithWord: !0, + closeCharacters: /[\s()\[\]{};:>,]/, + closeOnPick: !0, + closeOnUnfocus: !0, + updateOnCursorActivity: !0, + completeOnSingleClick: !0, + container: null, + customKeys: null, + extraKeys: null, + paddingForScrollbar: !0, + moveOnOverlap: !0 + }; + r.defineOption("hintOptions", null); + }); +})(); +var J = ht.exports; +const at = G.getDefaultExportFromCjs(J), + ft = lt({ + __proto__: null, + default: at + }, [J]); +exports.showHint = ft; + +/***/ }), + +/***/ "../../graphiql-react/dist/sublime.cjs.js": +/*!************************************************!*\ + !*** ../../graphiql-react/dist/sublime.cjs.js ***! + \************************************************/ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + + +var _ = Object.defineProperty; +var v = (m, B) => _(m, "name", { + value: B, + configurable: !0 +}); +const E = __webpack_require__(/*! ./codemirror.cjs2.js */ "../../graphiql-react/dist/codemirror.cjs2.js"), + Y = __webpack_require__(/*! ./searchcursor.cjs2.js */ "../../graphiql-react/dist/searchcursor.cjs2.js"), + z = __webpack_require__(/*! ./matchbrackets.cjs2.js */ "../../graphiql-react/dist/matchbrackets.cjs2.js"); +function J(m, B) { + for (var h = 0; h < B.length; h++) { + const a = B[h]; + if (typeof a != "string" && !Array.isArray(a)) { + for (const f in a) if (f !== "default" && !(f in m)) { + const A = Object.getOwnPropertyDescriptor(a, f); + A && Object.defineProperty(m, f, A.get ? A : { + enumerable: !0, + get: () => a[f] }); - }); - }, "handleCompletion"); - return e.on("hasCompletion", a), () => e.off("hasCompletion", a); - }, [t, e, o, d, s]); -} -i(pn, "useCompletion"); -function Y(e, t, n) { - l.useEffect(() => { - if (e) { - for (const s of t) e.removeKeyMap(s); - if (n) { - const s = {}; - for (const o of t) s[o] = () => n(); - e.addKeyMap(s); } } - }, [e, t, n]); -} -i(Y, "useKeyMap"); -function ft() { - let { - caller: e, - onCopyQuery: t - } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - const { - queryEditor: n - } = Z({ - nonNull: !0, - caller: e || ft - }); - return l.useCallback(() => { - if (!n) return; - const s = n.getValue(); - Mn(s), t == null || t(s); - }, [n, t]); -} -i(ft, "useCopyQuery"); -function he() { - let { - caller: e - } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - const { - queryEditor: t - } = Z({ - nonNull: !0, - caller: e || he - }), - { - schema: n - } = X({ - nonNull: !0, - caller: he - }); - return l.useCallback(() => { - const s = t == null ? void 0 : t.documentAST, - o = t == null ? void 0 : t.getValue(); - !s || !o || t.setValue(M.print(B.mergeAst(s, n))); - }, [t, n]); + } + return Object.freeze(Object.defineProperty(m, Symbol.toStringTag, { + value: "Module" + })); } -i(he, "useMergeQuery"); -function Se() { - let { - caller: e - } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - const { - queryEditor: t, - headerEditor: n, - variableEditor: s - } = Z({ - nonNull: !0, - caller: e || Se - }); - return l.useCallback(() => { - if (s) { - const o = s.getValue(); - try { - const d = JSON.stringify(JSON.parse(o), null, 2); - d !== o && s.setValue(d); - } catch {} - } - if (n) { - const o = n.getValue(); - try { - const d = JSON.stringify(JSON.parse(o), null, 2); - d !== o && n.setValue(d); - } catch {} +v(J, "_mergeNamespaces"); +var G = { + exports: {} +}; +(function (m, B) { + (function (h) { + h(E.requireCodemirror(), Y.requireSearchcursor(), z.requireMatchbrackets()); + })(function (h) { + var a = h.commands, + f = h.Pos; + function A(e, t, n) { + if (n < 0 && t.ch == 0) return e.clipPos(f(t.line - 1)); + var r = e.getLine(t.line); + if (n > 0 && t.ch >= r.length) return e.clipPos(f(t.line + 1, 0)); + for (var l = "start", i, o = t.ch, s = o, u = n < 0 ? 0 : r.length, d = 0; s != u; s += n, d++) { + var p = r.charAt(n < 0 ? s - 1 : s), + c = p != "_" && h.isWordChar(p) ? "w" : "o"; + if (c == "w" && p.toUpperCase() == p && (c = "W"), l == "start") c != "o" ? (l = "in", i = c) : o = s + n;else if (l == "in" && i != c) { + if (i == "w" && c == "W" && n < 0 && s--, i == "W" && c == "w" && n > 0) if (s == o + 1) { + i = "w"; + continue; + } else s--; + break; + } + } + return f(t.line, s); } - if (t) { - const o = t.getValue(), - d = M.print(M.parse(o)); - d !== o && t.setValue(d); + v(A, "findPosSubword"); + function T(e, t) { + e.extendSelectionsBy(function (n) { + return e.display.shift || e.doc.extend || n.empty() ? A(e.doc, n.head, t) : t < 0 ? n.from() : n.to(); + }); } - }, [t, s, n]); -} -i(Se, "usePrettifyEditors"); -function He() { - let { - getDefaultFieldNames: e, - caller: t - } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - const { - schema: n - } = X({ - nonNull: !0, - caller: t || He - }), - { - queryEditor: s - } = Z({ - nonNull: !0, - caller: t || He - }); - return l.useCallback(() => { - if (!s) return; - const o = s.getValue(), - { - insertions: d, - result: a - } = B.fillLeafs(n, o, e); - return d && d.length > 0 && s.operation(() => { - const u = s.getCursor(), - g = s.indexFromPos(u); - s.setValue(a || ""); - let m = 0; - const p = d.map(_ref56 => { - let { - index: h, - string: x - } = _ref56; - return s.markText(s.posFromIndex(h + m), s.posFromIndex(h + (m += x.length)), { - className: "auto-inserted-leaf", - clearOnEnter: !0, - title: "Automatically added leaf fields" - }); + v(T, "moveSubword"), a.goSubwordLeft = function (e) { + T(e, -1); + }, a.goSubwordRight = function (e) { + T(e, 1); + }, a.scrollLineUp = function (e) { + var t = e.getScrollInfo(); + if (!e.somethingSelected()) { + var n = e.lineAtHeight(t.top + t.clientHeight, "local"); + e.getCursor().line >= n && e.execCommand("goLineUp"); + } + e.scrollTo(null, t.top - e.defaultTextHeight()); + }, a.scrollLineDown = function (e) { + var t = e.getScrollInfo(); + if (!e.somethingSelected()) { + var n = e.lineAtHeight(t.top, "local") + 1; + e.getCursor().line <= n && e.execCommand("goLineDown"); + } + e.scrollTo(null, t.top + e.defaultTextHeight()); + }, a.splitSelectionByLine = function (e) { + for (var t = e.listSelections(), n = [], r = 0; r < t.length; r++) for (var l = t[r].from(), i = t[r].to(), o = l.line; o <= i.line; ++o) i.line > l.line && o == i.line && i.ch == 0 || n.push({ + anchor: o == l.line ? l : f(o, 0), + head: o == i.line ? i : f(o) }); - setTimeout(() => { - for (const h of p) h.clear(); - }, 7e3); - let y = g; - for (const { - index: h, - string: x - } of d) h < g && (y += x.length); - s.setCursor(s.posFromIndex(y)); - }), a; - }, [e, s, n]); -} -i(He, "useAutoCompleteLeafs"); -function Ar() { - var _ref57; - const { - queryEditor: e - } = Z({ - nonNull: !0 - }), - t = (_ref57 = e == null ? void 0 : e.getValue()) !== null && _ref57 !== void 0 ? _ref57 : "", - n = l.useCallback(s => e == null ? void 0 : e.setValue(s), [e]); - return l.useMemo(() => [t, n], [t, n]); -} -i(Ar, "useOperationsEditorState"); -function Or() { - var _ref58; - const { - variableEditor: e - } = Z({ - nonNull: !0 - }), - t = (_ref58 = e == null ? void 0 : e.getValue()) !== null && _ref58 !== void 0 ? _ref58 : "", - n = l.useCallback(s => e == null ? void 0 : e.setValue(s), [e]); - return l.useMemo(() => [t, n], [t, n]); -} -i(Or, "useVariablesEditorState"); -function ce() { - let { - editorTheme: e = Be, - keyMap: t = We, - onEdit: n, - readOnly: s = !1 - } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - let o = arguments.length > 1 ? arguments[1] : undefined; - const { - initialHeaders: d, - headerEditor: a, - setHeaderEditor: u, - shouldPersistHeaders: g - } = Z({ - nonNull: !0, - caller: o || ce - }), - m = we(), - p = he({ - caller: o || ce - }), - y = Se({ - caller: o || ce - }), - h = l.useRef(null); - return l.useEffect(() => { - let x = !0; - return Ee([Promise.resolve().then(() => __webpack_require__(/*! ./javascript.cjs.js */ "../../graphiql-react/dist/javascript.cjs.js")).then(f => f.javascript)]).then(f => { - if (!x) return; - const C = h.current; - if (!C) return; - const E = f(C, { - value: d, - lineNumbers: !0, - tabSize: 2, - mode: { - name: "javascript", - json: !0 - }, - theme: e, - autoCloseBrackets: !0, - matchBrackets: !0, - showCursorWhenSelecting: !0, - readOnly: s ? "nocursor" : !1, - foldGutter: !0, - gutters: ["CodeMirror-linenumbers", "CodeMirror-foldgutter"], - extraKeys: _e + e.setSelections(n, 0); + }, a.singleSelectionTop = function (e) { + var t = e.listSelections()[0]; + e.setSelection(t.anchor, t.head, { + scroll: !1 }); - E.addKeyMap({ - "Cmd-Space"() { - E.showHint({ - completeSingle: !1, - container: C - }); - }, - "Ctrl-Space"() { - E.showHint({ - completeSingle: !1, - container: C - }); - }, - "Alt-Space"() { - E.showHint({ - completeSingle: !1, - container: C - }); - }, - "Shift-Space"() { - E.showHint({ - completeSingle: !1, - container: C - }); + }, a.selectLine = function (e) { + for (var t = e.listSelections(), n = [], r = 0; r < t.length; r++) { + var l = t[r]; + n.push({ + anchor: f(l.from().line, 0), + head: f(l.to().line + 1, 0) + }); + } + e.setSelections(n); + }; + function x(e, t) { + if (e.isReadOnly()) return h.Pass; + e.operation(function () { + for (var n = e.listSelections().length, r = [], l = -1, i = 0; i < n; i++) { + var o = e.listSelections()[i].head; + if (!(o.line <= l)) { + var s = f(o.line + (t ? 0 : 1), 0); + e.replaceRange(` +`, s, null, "+insertLine"), e.indentLine(s.line, null, !0), r.push({ + head: s, + anchor: s + }), l = o.line + 1; + } } - }), E.on("keyup", (N, L) => { - const { - code: b, - key: w, - shiftKey: T - } = L, - A = b.startsWith("Key"), - F = !T && b.startsWith("Digit"); - (A || F || w === "_" || w === '"') && N.execCommand("autocomplete"); - }), u(E); - }), () => { - x = !1; + e.setSelections(r); + }), e.execCommand("indentAuto"); + } + v(x, "insertLine"), a.insertLineAfter = function (e) { + return x(e, !1); + }, a.insertLineBefore = function (e) { + return x(e, !0); }; - }, [e, d, s, u]), Ge(a, "keyMap", t), fn(a, n, g ? Me : null, "headers", ce), Y(a, ["Cmd-Enter", "Ctrl-Enter"], m == null ? void 0 : m.run), Y(a, ["Shift-Ctrl-P"], y), Y(a, ["Shift-Ctrl-M"], p), h; -} -i(ce, "useHeaderEditor"); -const Me = "headers", - Fr = Array.from({ - length: 11 - }, (e, t) => String.fromCharCode(8192 + t)).concat(["\u2028", "\u2029", " ", " "]), - Br = new RegExp("[" + Fr.join("") + "]", "g"); -function Wr(e) { - return e.replace(Br, " "); -} -i(Wr, "normalizeWhitespace"); -function ne() { - let { - editorTheme: e = Be, - keyMap: t = We, - onClickReference: n, - onCopyQuery: s, - onEdit: o, - readOnly: d = !1 - } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - let a = arguments.length > 1 ? arguments[1] : undefined; - const { - schema: u - } = X({ - nonNull: !0, - caller: a || ne - }), - { - externalFragments: g, - initialQuery: m, - queryEditor: p, - setOperationName: y, - setQueryEditor: h, - validationRules: x, - variableEditor: f, - updateActiveTabValues: C - } = Z({ - nonNull: !0, - caller: a || ne - }), - E = we(), - N = se(), - L = te(), - b = Ze(), - w = ft({ - caller: a || ne, - onCopyQuery: s - }), - T = he({ - caller: a || ne - }), - A = Se({ - caller: a || ne - }), - F = l.useRef(null), - I = l.useRef(), - H = l.useRef(() => {}); - l.useEffect(() => { - H.current = q => { - if (!(!L || !b)) { - switch (b.setVisiblePlugin(de), q.kind) { - case "Type": - { - L.push({ - name: q.type.name, - def: q.type - }); - break; - } - case "Field": - { - L.push({ - name: q.field.name, - def: q.field - }); - break; - } - case "Argument": - { - q.field && L.push({ - name: q.field.name, - def: q.field - }); - break; - } - case "EnumValue": - { - q.type && L.push({ - name: q.type.name, - def: q.type + function K(e, t) { + for (var n = t.ch, r = n, l = e.getLine(t.line); n && h.isWordChar(l.charAt(n - 1));) --n; + for (; r < l.length && h.isWordChar(l.charAt(r));) ++r; + return { + from: f(t.line, n), + to: f(t.line, r), + word: l.slice(n, r) + }; + } + v(K, "wordAt"), a.selectNextOccurrence = function (e) { + var t = e.getCursor("from"), + n = e.getCursor("to"), + r = e.state.sublimeFindFullWord == e.doc.sel; + if (h.cmpPos(t, n) == 0) { + var l = K(e, t); + if (!l.word) return; + e.setSelection(l.from, l.to), r = !0; + } else { + var i = e.getRange(t, n), + o = r ? new RegExp("\\b" + i + "\\b") : i, + s = e.getSearchCursor(o, n), + u = s.findNext(); + if (u || (s = e.getSearchCursor(o, f(e.firstLine(), 0)), u = s.findNext()), !u || H(e.listSelections(), s.from(), s.to())) return; + e.addSelection(s.from(), s.to()); + } + r && (e.state.sublimeFindFullWord = e.doc.sel); + }, a.skipAndSelectNextOccurrence = function (e) { + var t = e.getCursor("anchor"), + n = e.getCursor("head"); + a.selectNextOccurrence(e), h.cmpPos(t, n) != 0 && e.doc.setSelections(e.doc.listSelections().filter(function (r) { + return r.anchor != t || r.head != n; + })); + }; + function y(e, t) { + for (var n = e.listSelections(), r = [], l = 0; l < n.length; l++) { + var i = n[l], + o = e.findPosV(i.anchor, t, "line", i.anchor.goalColumn), + s = e.findPosV(i.head, t, "line", i.head.goalColumn); + o.goalColumn = i.anchor.goalColumn != null ? i.anchor.goalColumn : e.cursorCoords(i.anchor, "div").left, s.goalColumn = i.head.goalColumn != null ? i.head.goalColumn : e.cursorCoords(i.head, "div").left; + var u = { + anchor: o, + head: s + }; + r.push(i), r.push(u); + } + e.setSelections(r); + } + v(y, "addCursorToSelection"), a.addCursorToPrevLine = function (e) { + y(e, -1); + }, a.addCursorToNextLine = function (e) { + y(e, 1); + }; + function H(e, t, n) { + for (var r = 0; r < e.length; r++) if (h.cmpPos(e[r].from(), t) == 0 && h.cmpPos(e[r].to(), n) == 0) return !0; + return !1; + } + v(H, "isSelectedRange"); + var P = "(){}[]"; + function U(e) { + for (var t = e.listSelections(), n = [], r = 0; r < t.length; r++) { + var l = t[r], + i = l.head, + o = e.scanForBracket(i, -1); + if (!o) return !1; + for (;;) { + var s = e.scanForBracket(i, 1); + if (!s) return !1; + if (s.ch == P.charAt(P.indexOf(o.ch) + 1)) { + var u = f(o.pos.line, o.pos.ch + 1); + if (h.cmpPos(u, l.from()) == 0 && h.cmpPos(s.pos, l.to()) == 0) { + if (o = e.scanForBracket(o.pos, -1), !o) return !1; + } else { + n.push({ + anchor: u, + head: s.pos }); break; } + } + i = f(s.pos.line, s.pos.ch + 1); + } + } + return e.setSelections(n), !0; + } + v(U, "selectBetweenBrackets"), a.selectScope = function (e) { + U(e) || e.execCommand("selectAll"); + }, a.selectBetweenBrackets = function (e) { + if (!U(e)) return h.Pass; + }; + function I(e) { + return e ? /\bpunctuation\b/.test(e) ? e : void 0 : null; + } + v(I, "puncType"), a.goToBracket = function (e) { + e.extendSelectionsBy(function (t) { + var n = e.scanForBracket(t.head, 1, I(e.getTokenTypeAt(t.head))); + if (n && h.cmpPos(n.pos, t.head) != 0) return n.pos; + var r = e.scanForBracket(t.head, -1, I(e.getTokenTypeAt(f(t.head.line, t.head.ch + 1)))); + return r && f(r.pos.line, r.pos.ch + 1) || t.head; + }); + }, a.swapLineUp = function (e) { + if (e.isReadOnly()) return h.Pass; + for (var t = e.listSelections(), n = [], r = e.firstLine() - 1, l = [], i = 0; i < t.length; i++) { + var o = t[i], + s = o.from().line - 1, + u = o.to().line; + l.push({ + anchor: f(o.anchor.line - 1, o.anchor.ch), + head: f(o.head.line - 1, o.head.ch) + }), o.to().ch == 0 && !o.empty() && --u, s > r ? n.push(s, u) : n.length && (n[n.length - 1] = u), r = u; + } + e.operation(function () { + for (var d = 0; d < n.length; d += 2) { + var p = n[d], + c = n[d + 1], + b = e.getLine(p); + e.replaceRange("", f(p, 0), f(p + 1, 0), "+swapLine"), c > e.lastLine() ? e.replaceRange(` +` + b, f(e.lastLine()), null, "+swapLine") : e.replaceRange(b + ` +`, f(c, 0), null, "+swapLine"); } - n == null || n(q); + e.setSelections(l), e.scrollIntoView(); + }); + }, a.swapLineDown = function (e) { + if (e.isReadOnly()) return h.Pass; + for (var t = e.listSelections(), n = [], r = e.lastLine() + 1, l = t.length - 1; l >= 0; l--) { + var i = t[l], + o = i.to().line + 1, + s = i.from().line; + i.to().ch == 0 && !i.empty() && o--, o < r ? n.push(o, s) : n.length && (n[n.length - 1] = s), r = s; } - }; - }, [L, n, b]), l.useEffect(() => { - let q = !0; - return Ee([Promise.resolve().then(() => __webpack_require__(/*! ./comment.cjs.js */ "../../graphiql-react/dist/comment.cjs.js")).then(k => k.comment), Promise.resolve().then(() => __webpack_require__(/*! ./search.cjs.js */ "../../graphiql-react/dist/search.cjs.js")).then(k => k.search), Promise.resolve().then(() => __webpack_require__(/*! ./hint.cjs.js */ "../../graphiql-react/dist/hint.cjs.js")), Promise.resolve().then(() => __webpack_require__(/*! ./lint.cjs2.js */ "../../graphiql-react/dist/lint.cjs2.js")), Promise.resolve().then(() => __webpack_require__(/*! ./info.cjs.js */ "../../graphiql-react/dist/info.cjs.js")), Promise.resolve().then(() => __webpack_require__(/*! ./jump.cjs.js */ "../../graphiql-react/dist/jump.cjs.js")), Promise.resolve().then(() => __webpack_require__(/*! ./mode.cjs.js */ "../../graphiql-react/dist/mode.cjs.js"))]).then(k => { - if (!q) return; - I.current = k; - const P = F.current; - if (!P) return; - const S = k(P, { - value: m, - lineNumbers: !0, - tabSize: 2, - foldGutter: !0, - mode: "graphql", - theme: e, - autoCloseBrackets: !0, - matchBrackets: !0, - showCursorWhenSelecting: !0, - readOnly: d ? "nocursor" : !1, - lint: { - schema: void 0, - validationRules: null, - externalFragments: void 0 - }, - hintOptions: { - schema: void 0, - closeOnUnfocus: !1, - completeSingle: !1, - container: P, - externalFragments: void 0 - }, - info: { - schema: void 0, - renderDescription: v => Re.render(v), - onClick(v) { - H.current(v); - } - }, - jump: { - schema: void 0, - onClick(v) { - H.current(v); - } - }, - gutters: ["CodeMirror-linenumbers", "CodeMirror-foldgutter"], - extraKeys: { - ..._e, - "Cmd-S"() {}, - "Ctrl-S"() {} + e.operation(function () { + for (var u = n.length - 2; u >= 0; u -= 2) { + var d = n[u], + p = n[u + 1], + c = e.getLine(d); + d == e.lastLine() ? e.replaceRange("", f(d - 1), f(d), "+swapLine") : e.replaceRange("", f(d, 0), f(d + 1, 0), "+swapLine"), e.replaceRange(c + ` +`, f(p, 0), null, "+swapLine"); } + e.scrollIntoView(); }); - S.addKeyMap({ - "Cmd-Space"() { - S.showHint({ - completeSingle: !0, - container: P - }); - }, - "Ctrl-Space"() { - S.showHint({ - completeSingle: !0, - container: P - }); - }, - "Alt-Space"() { - S.showHint({ - completeSingle: !0, - container: P - }); - }, - "Shift-Space"() { - S.showHint({ - completeSingle: !0, - container: P - }); - }, - "Shift-Alt-Space"() { - S.showHint({ - completeSingle: !0, - container: P + }, a.toggleCommentIndented = function (e) { + e.toggleComment({ + indent: !0 + }); + }, a.joinLines = function (e) { + for (var t = e.listSelections(), n = [], r = 0; r < t.length; r++) { + for (var l = t[r], i = l.from(), o = i.line, s = l.to().line; r < t.length - 1 && t[r + 1].from().line == s;) s = t[++r].to().line; + n.push({ + start: o, + end: s, + anchor: !l.empty() && i + }); + } + e.operation(function () { + for (var u = 0, d = [], p = 0; p < n.length; p++) { + for (var c = n[p], b = c.anchor && f(c.anchor.line - u, c.anchor.ch), w, g = c.start; g <= c.end; g++) { + var S = g - u; + g == c.end && (w = f(S, e.getLine(S).length + 1)), S < e.lastLine() && (e.replaceRange(" ", f(S), f(S + 1, /^\s*/.exec(e.getLine(S + 1))[0].length)), ++u); + } + d.push({ + anchor: b || w, + head: w }); } - }), S.on("keyup", (v, j) => { - $r.test(j.key) && v.execCommand("autocomplete"); + e.setSelections(d, 0); }); - let W = !1; - S.on("startCompletion", () => { - W = !0; - }), S.on("endCompletion", () => { - W = !1; - }), S.on("keydown", (v, j) => { - j.key === "Escape" && W && j.stopPropagation(); - }), S.on("beforeChange", (v, j) => { - var R; - if (j.origin === "paste") { - const G = j.text.map(Wr); - (R = j.update) == null || R.call(j, j.from, j.to, G); + }, a.duplicateLine = function (e) { + e.operation(function () { + for (var t = e.listSelections().length, n = 0; n < t; n++) { + var r = e.listSelections()[n]; + r.empty() ? e.replaceRange(e.getLine(r.head.line) + ` +`, f(r.head.line, 0)) : e.replaceRange(e.getRange(r.from(), r.to()), r.from()); } - }), S.documentAST = null, S.operationName = null, S.operations = null, S.variableToType = null, h(S); - }), () => { - q = !1; - }; - }, [e, m, d, h]), Ge(p, "keyMap", t), l.useEffect(() => { - if (!p) return; - function q(P) { - var _P$operations, _P$operationName, _ref59, _ref60; - var v; - const S = jt.getOperationFacts(u, P.getValue()), - W = B.getSelectedOperationName((_P$operations = P.operations) !== null && _P$operations !== void 0 ? _P$operations : void 0, (_P$operationName = P.operationName) !== null && _P$operationName !== void 0 ? _P$operationName : void 0, S == null ? void 0 : S.operations); - return P.documentAST = (_ref59 = S == null ? void 0 : S.documentAST) !== null && _ref59 !== void 0 ? _ref59 : null, P.operationName = W !== null && W !== void 0 ? W : null, P.operations = (_ref60 = S == null ? void 0 : S.operations) !== null && _ref60 !== void 0 ? _ref60 : null, f && (f.state.lint.linterOptions.variableToType = S == null ? void 0 : S.variableToType, f.options.lint.variableToType = S == null ? void 0 : S.variableToType, f.options.hintOptions.variableToType = S == null ? void 0 : S.variableToType, (v = I.current) == null || v.signal(f, "change", f)), S ? { - ...S, - operationName: W - } : null; - } - i(q, "getAndUpdateOperationFacts"); - const k = ue(100, P => { - var _ref61; - const S = P.getValue(); - N == null || N.set(gn, S); - const W = P.operationName, - v = q(P); - (v == null ? void 0 : v.operationName) !== void 0 && (N == null || N.set(Qr, v.operationName)), o == null || o(S, v == null ? void 0 : v.documentAST), v != null && v.operationName && W !== v.operationName && y(v.operationName), C({ - query: S, - operationName: (_ref61 = v == null ? void 0 : v.operationName) !== null && _ref61 !== void 0 ? _ref61 : null + e.scrollIntoView(); }); - }); - return q(p), p.on("change", k), () => p.off("change", k); - }, [o, p, u, y, N, f, C]), _r(p, u !== null && u !== void 0 ? u : null, I), Zr(p, x !== null && x !== void 0 ? x : null, I), Gr(p, g, I), pn(p, n || null, ne); - const O = E == null ? void 0 : E.run, - D = l.useCallback(() => { - var P; - if (!O || !p || !p.operations || !p.hasFocus()) { - O == null || O(); - return; + }; + function R(e, t, n) { + if (e.isReadOnly()) return h.Pass; + for (var r = e.listSelections(), l = [], i, o = 0; o < r.length; o++) { + var s = r[o]; + if (!s.empty()) { + for (var u = s.from().line, d = s.to().line; o < r.length - 1 && r[o + 1].from().line == d;) d = r[++o].to().line; + r[o].to().ch || d--, l.push(u, d); + } } - const q = p.indexFromPos(p.getCursor()); - let k; - for (const S of p.operations) S.loc && S.loc.start <= q && S.loc.end >= q && (k = (P = S.name) == null ? void 0 : P.value); - k && k !== p.operationName && y(k), O(); - }, [p, O, y]); - return Y(p, ["Cmd-Enter", "Ctrl-Enter"], D), Y(p, ["Shift-Ctrl-C"], w), Y(p, ["Shift-Ctrl-P", "Shift-Ctrl-F"], A), Y(p, ["Shift-Ctrl-M"], T), F; -} -i(ne, "useQueryEditor"); -function _r(e, t, n) { - l.useEffect(() => { - if (!e) return; - const s = e.options.lint.schema !== t; - e.state.lint.linterOptions.schema = t, e.options.lint.schema = t, e.options.hintOptions.schema = t, e.options.info.schema = t, e.options.jump.schema = t, s && n.current && n.current.signal(e, "change", e); - }, [e, t, n]); -} -i(_r, "useSynchronizeSchema"); -function Zr(e, t, n) { - l.useEffect(() => { - if (!e) return; - const s = e.options.lint.validationRules !== t; - e.state.lint.linterOptions.validationRules = t, e.options.lint.validationRules = t, s && n.current && n.current.signal(e, "change", e); - }, [e, t, n]); -} -i(Zr, "useSynchronizeValidationRules"); -function Gr(e, t, n) { - const s = l.useMemo(() => [...t.values()], [t]); - l.useEffect(() => { - if (!e) return; - const o = e.options.lint.externalFragments !== s; - e.state.lint.linterOptions.externalFragments = s, e.options.lint.externalFragments = s, e.options.hintOptions.externalFragments = s, o && n.current && n.current.signal(e, "change", e); - }, [e, s, n]); -} -i(Gr, "useSynchronizeExternalFragments"); -const $r = /^[a-zA-Z0-9_@(]$/, - gn = "query", - Qr = "operationName"; -function zr(_ref62) { - let { - defaultQuery: e, - defaultHeaders: t, - headers: n, - defaultTabs: s, - query: o, - variables: d, - storage: a, - shouldPersistHeaders: u - } = _ref62; - const g = a == null ? void 0 : a.get(ve); - try { - if (!g) throw new Error("Storage for tabs is empty"); - const m = JSON.parse(g), - p = u ? n : void 0; - if (Ur(m)) { - const y = De({ - query: o, - variables: d, - headers: p + l.length ? i = !0 : l.push(e.firstLine(), e.lastLine()), e.operation(function () { + for (var p = [], c = 0; c < l.length; c += 2) { + var b = l[c], + w = l[c + 1], + g = f(b, 0), + S = f(w), + F = e.getRange(g, S, !1); + t ? F.sort(function (k, L) { + return k < L ? -n : k == L ? 0 : n; + }) : F.sort(function (k, L) { + var W = k.toUpperCase(), + M = L.toUpperCase(); + return W != M && (k = W, L = M), k < L ? -n : k == L ? 0 : n; + }), e.replaceRange(F, g, S), i && p.push({ + anchor: g, + head: f(w + 1, 0) + }); + } + i && e.setSelections(p, 0); }); - let h = -1; - for (let x = 0; x < m.tabs.length; x++) { - const f = m.tabs[x]; - f.hash = De({ - query: f.query, - variables: f.variables, - headers: f.headers - }), f.hash === y && (h = x); + } + v(R, "sortLines"), a.sortLines = function (e) { + R(e, !0, 1); + }, a.reverseSortLines = function (e) { + R(e, !0, -1); + }, a.sortLinesInsensitive = function (e) { + R(e, !1, 1); + }, a.reverseSortLinesInsensitive = function (e) { + R(e, !1, -1); + }, a.nextBookmark = function (e) { + var t = e.state.sublimeBookmarks; + if (t) for (; t.length;) { + var n = t.shift(), + r = n.find(); + if (r) return t.push(n), e.setSelection(r.from, r.to); } - if (h >= 0) m.activeTabIndex = h;else { - const x = o ? pt(o) : null; - m.tabs.push({ - id: yn(), - hash: y, - title: x || gt, - query: o, - variables: d, - headers: n, - operationName: x, - response: null - }), m.activeTabIndex = m.tabs.length - 1; + }, a.prevBookmark = function (e) { + var t = e.state.sublimeBookmarks; + if (t) for (; t.length;) { + t.unshift(t.pop()); + var n = t[t.length - 1].find(); + if (!n) t.pop();else return e.setSelection(n.from, n.to); } - return m; - } - throw new Error("Storage for tabs is invalid"); - } catch { - return { - activeTabIndex: 0, - tabs: (s || [{ - query: o !== null && o !== void 0 ? o : e, - variables: d, - headers: n !== null && n !== void 0 ? n : t - }]).map(Cn) - }; - } -} -i(zr, "getDefaultTabState"); -function Ur(e) { - return e && typeof e == "object" && !Array.isArray(e) && Jr(e, "activeTabIndex") && "tabs" in e && Array.isArray(e.tabs) && e.tabs.every(Kr); -} -i(Ur, "isTabsState"); -function Kr(e) { - return e && typeof e == "object" && !Array.isArray(e) && Lt(e, "id") && Lt(e, "title") && fe(e, "query") && fe(e, "variables") && fe(e, "headers") && fe(e, "operationName") && fe(e, "response"); -} -i(Kr, "isTabState"); -function Jr(e, t) { - return t in e && typeof e[t] == "number"; -} -i(Jr, "hasNumberKey"); -function Lt(e, t) { - return t in e && typeof e[t] == "string"; -} -i(Lt, "hasStringKey"); -function fe(e, t) { - return t in e && (typeof e[t] == "string" || e[t] === null); -} -i(fe, "hasStringOrNullKey"); -function Yr(_ref63) { - let { - queryEditor: e, - variableEditor: t, - headerEditor: n, - responseEditor: s - } = _ref63; - return l.useCallback(o => { - var _ref64, _ref65, _ref66, _ref67, _ref68; - const d = (_ref64 = e == null ? void 0 : e.getValue()) !== null && _ref64 !== void 0 ? _ref64 : null, - a = (_ref65 = t == null ? void 0 : t.getValue()) !== null && _ref65 !== void 0 ? _ref65 : null, - u = (_ref66 = n == null ? void 0 : n.getValue()) !== null && _ref66 !== void 0 ? _ref66 : null, - g = (_ref67 = e == null ? void 0 : e.operationName) !== null && _ref67 !== void 0 ? _ref67 : null, - m = (_ref68 = s == null ? void 0 : s.getValue()) !== null && _ref68 !== void 0 ? _ref68 : null; - return vn(o, { - query: d, - variables: a, - headers: u, - response: m, - operationName: g - }); - }, [e, t, n, s]); -} -i(Yr, "useSynchronizeActiveTabValues"); -function xn(e) { - let t = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !1; - return JSON.stringify(e, (n, s) => n === "hash" || n === "response" || !t && n === "headers" ? null : s); -} -i(xn, "serializeTabState"); -function Xr(_ref69) { - let { - storage: e, - shouldPersistHeaders: t - } = _ref69; - const n = l.useMemo(() => ue(500, s => { - e == null || e.set(ve, s); - }), [e]); - return l.useCallback(s => { - n(xn(s, t)); - }, [t, n]); -} -i(Xr, "useStoreTabs"); -function es(_ref70) { - let { - queryEditor: e, - variableEditor: t, - headerEditor: n, - responseEditor: s - } = _ref70; - return l.useCallback(_ref71 => { - let { - query: o, - variables: d, - headers: a, - response: u - } = _ref71; - e == null || e.setValue(o !== null && o !== void 0 ? o : ""), t == null || t.setValue(d !== null && d !== void 0 ? d : ""), n == null || n.setValue(a !== null && a !== void 0 ? a : ""), s == null || s.setValue(u !== null && u !== void 0 ? u : ""); - }, [n, e, s, t]); -} -i(es, "useSetEditorValues"); -function Cn() { - let { - query: e = null, - variables: t = null, - headers: n = null - } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - return { - id: yn(), - hash: De({ - query: e, - variables: t, - headers: n - }), - title: e && pt(e) || gt, - query: e, - variables: t, - headers: n, - operationName: null, - response: null - }; -} -i(Cn, "createTab"); -function vn(e, t) { - return { - ...e, - tabs: e.tabs.map((n, s) => { - if (s !== e.activeTabIndex) return n; - const o = { - ...n, - ...t - }; - return { - ...o, - hash: De(o), - title: o.operationName || (o.query ? pt(o.query) : void 0) || gt - }; - }) - }; -} -i(vn, "setPropertiesInActiveTab"); -function yn() { - const e = i(() => Math.floor((1 + Math.random()) * 65536).toString(16).slice(1), "s4"); - return `${e()}${e()}-${e()}-${e()}-${e()}-${e()}${e()}${e()}`; -} -i(yn, "guid"); -function De(e) { - var _e$query, _e$variables, _e$headers; - return [(_e$query = e.query) !== null && _e$query !== void 0 ? _e$query : "", (_e$variables = e.variables) !== null && _e$variables !== void 0 ? _e$variables : "", (_e$headers = e.headers) !== null && _e$headers !== void 0 ? _e$headers : ""].join("|"); -} -i(De, "hashFromTabContents"); -function pt(e) { - var _ref72; - const n = /^(?!#).*(query|subscription|mutation)\s+([a-zA-Z0-9_]+)/m.exec(e); - return (_ref72 = n == null ? void 0 : n[2]) !== null && _ref72 !== void 0 ? _ref72 : null; -} -i(pt, "fuzzyExtractOperationName"); -function ts(e) { - const t = e == null ? void 0 : e.get(ve); - if (t) { - const n = JSON.parse(t); - e == null || e.set(ve, JSON.stringify(n, (s, o) => s === "headers" ? null : o)); - } -} -i(ts, "clearHeadersFromTabs"); -const gt = "", - ve = "tabState"; -function oe() { - let { - editorTheme: e = Be, - keyMap: t = We, - onClickReference: n, - onEdit: s, - readOnly: o = !1 - } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - let d = arguments.length > 1 ? arguments[1] : undefined; - const { - initialVariables: a, - variableEditor: u, - setVariableEditor: g - } = Z({ - nonNull: !0, - caller: d || oe - }), - m = we(), - p = he({ - caller: d || oe - }), - y = Se({ - caller: d || oe - }), - h = l.useRef(null), - x = l.useRef(); - return l.useEffect(() => { - let f = !0; - return Ee([Promise.resolve().then(() => __webpack_require__(/*! ./hint.cjs2.js */ "../../graphiql-react/dist/hint.cjs2.js")), Promise.resolve().then(() => __webpack_require__(/*! ./lint.cjs3.js */ "../../graphiql-react/dist/lint.cjs3.js")), Promise.resolve().then(() => __webpack_require__(/*! ./mode.cjs2.js */ "../../graphiql-react/dist/mode.cjs2.js"))]).then(C => { - if (!f) return; - x.current = C; - const E = h.current; - if (!E) return; - const N = C(E, { - value: a, - lineNumbers: !0, - tabSize: 2, - mode: "graphql-variables", - theme: e, - autoCloseBrackets: !0, - matchBrackets: !0, - showCursorWhenSelecting: !0, - readOnly: o ? "nocursor" : !1, - foldGutter: !0, - lint: { - variableToType: void 0 - }, - hintOptions: { - closeOnUnfocus: !1, - completeSingle: !1, - container: E, - variableToType: void 0 - }, - gutters: ["CodeMirror-linenumbers", "CodeMirror-foldgutter"], - extraKeys: _e - }); - N.addKeyMap({ - "Cmd-Space"() { - N.showHint({ - completeSingle: !1, - container: E - }); - }, - "Ctrl-Space"() { - N.showHint({ - completeSingle: !1, - container: E - }); - }, - "Alt-Space"() { - N.showHint({ - completeSingle: !1, - container: E - }); - }, - "Shift-Space"() { - N.showHint({ - completeSingle: !1, - container: E - }); + }, a.toggleBookmark = function (e) { + for (var t = e.listSelections(), n = e.state.sublimeBookmarks || (e.state.sublimeBookmarks = []), r = 0; r < t.length; r++) { + for (var l = t[r].from(), i = t[r].to(), o = t[r].empty() ? e.findMarksAt(l) : e.findMarks(l, i), s = 0; s < o.length; s++) if (o[s].sublimeBookmark) { + o[s].clear(); + for (var u = 0; u < n.length; u++) n[u] == o[s] && n.splice(u--, 1); + break; + } + s == o.length && n.push(e.markText(l, i, { + sublimeBookmark: !0, + clearWhenEmpty: !1 + })); + } + }, a.clearBookmarks = function (e) { + var t = e.state.sublimeBookmarks; + if (t) for (var n = 0; n < t.length; n++) t[n].clear(); + t.length = 0; + }, a.selectBookmarks = function (e) { + var t = e.state.sublimeBookmarks, + n = []; + if (t) for (var r = 0; r < t.length; r++) { + var l = t[r].find(); + l ? n.push({ + anchor: l.from, + head: l.to + }) : t.splice(r--, 0); + } + n.length && e.setSelections(n, 0); + }; + function D(e, t) { + e.operation(function () { + for (var n = e.listSelections(), r = [], l = [], i = 0; i < n.length; i++) { + var o = n[i]; + o.empty() ? (r.push(i), l.push("")) : l.push(t(e.getRange(o.from(), o.to()))); + } + e.replaceSelections(l, "around", "case"); + for (var i = r.length - 1, s; i >= 0; i--) { + var o = n[r[i]]; + if (!(s && h.cmpPos(o.head, s) > 0)) { + var u = K(e, o.head); + s = u.from, e.replaceRange(t(u.word), u.from, u.to); + } } - }), N.on("keyup", (L, b) => { - const { - code: w, - key: T, - shiftKey: A - } = b, - F = w.startsWith("Key"), - I = !A && w.startsWith("Digit"); - (F || I || T === "_" || T === '"') && L.execCommand("autocomplete"); - }), g(N); - }), () => { - f = !1; - }; - }, [e, a, o, g]), Ge(u, "keyMap", t), fn(u, s, bn, "variables", oe), pn(u, n || null, oe), Y(u, ["Cmd-Enter", "Ctrl-Enter"], m == null ? void 0 : m.run), Y(u, ["Shift-Ctrl-P"], y), Y(u, ["Shift-Ctrl-M"], p), h; -} -i(oe, "useVariableEditor"); -const bn = "variables", - xt = le("EditorContext"); -function wn(e) { - const t = se(), - [n, s] = l.useState(null), - [o, d] = l.useState(null), - [a, u] = l.useState(null), - [g, m] = l.useState(null), - [p, y] = l.useState(() => { - const v = (t == null ? void 0 : t.get(Qe)) !== null; - return e.shouldPersistHeaders !== !1 && v ? (t == null ? void 0 : t.get(Qe)) === "true" : !!e.shouldPersistHeaders; - }); - ke(n, e.headers), ke(o, e.query), ke(a, e.response), ke(g, e.variables); - const h = Xr({ - storage: t, - shouldPersistHeaders: p - }), - [x] = l.useState(() => { - var _ref73, _e$query2, _ref74, _e$variables2, _ref75, _e$headers2, _e$response, _ref76, _ref77; - const v = (_ref73 = (_e$query2 = e.query) !== null && _e$query2 !== void 0 ? _e$query2 : t == null ? void 0 : t.get(gn)) !== null && _ref73 !== void 0 ? _ref73 : null, - j = (_ref74 = (_e$variables2 = e.variables) !== null && _e$variables2 !== void 0 ? _e$variables2 : t == null ? void 0 : t.get(bn)) !== null && _ref74 !== void 0 ? _ref74 : null, - R = (_ref75 = (_e$headers2 = e.headers) !== null && _e$headers2 !== void 0 ? _e$headers2 : t == null ? void 0 : t.get(Me)) !== null && _ref75 !== void 0 ? _ref75 : null, - G = (_e$response = e.response) !== null && _e$response !== void 0 ? _e$response : "", - z = zr({ - query: v, - variables: j, - headers: R, - defaultTabs: e.defaultTabs, - defaultQuery: e.defaultQuery || ns, - defaultHeaders: e.defaultHeaders, - storage: t, - shouldPersistHeaders: p - }); - return h(z), { - query: (_ref76 = v !== null && v !== void 0 ? v : z.activeTabIndex === 0 ? z.tabs[0].query : null) !== null && _ref76 !== void 0 ? _ref76 : "", - variables: j !== null && j !== void 0 ? j : "", - headers: (_ref77 = R !== null && R !== void 0 ? R : e.defaultHeaders) !== null && _ref77 !== void 0 ? _ref77 : "", - response: G, - tabState: z - }; - }), - [f, C] = l.useState(x.tabState), - E = l.useCallback(v => { - if (v) { - var _ref78; - t == null || t.set(Me, (_ref78 = n == null ? void 0 : n.getValue()) !== null && _ref78 !== void 0 ? _ref78 : ""); - const j = xn(f, !0); - t == null || t.set(ve, j); - } else t == null || t.set(Me, ""), ts(t); - y(v), t == null || t.set(Qe, v.toString()); - }, [t, f, n]), - N = l.useRef(); - l.useEffect(() => { - const v = !!e.shouldPersistHeaders; - N.current !== v && (E(v), N.current = v); - }, [e.shouldPersistHeaders, E]); - const L = Yr({ - queryEditor: o, - variableEditor: g, - headerEditor: n, - responseEditor: a - }), - b = es({ - queryEditor: o, - variableEditor: g, - headerEditor: n, - responseEditor: a - }), - { - onTabChange: w, - defaultHeaders: T, - children: A - } = e, - F = l.useCallback(() => { - C(v => { - const j = L(v), - R = { - tabs: [...j.tabs, Cn({ - headers: T - })], - activeTabIndex: j.tabs.length - }; - return h(R), b(R.tabs[R.activeTabIndex]), w == null || w(R), R; }); - }, [T, w, b, h, L]), - I = l.useCallback(v => { - C(j => { - const R = { - ...j, - activeTabIndex: v - }; - return h(R), b(R.tabs[R.activeTabIndex]), w == null || w(R), R; + } + v(D, "modifyWordOrSelection"), a.smartBackspace = function (e) { + if (e.somethingSelected()) return h.Pass; + e.operation(function () { + for (var t = e.listSelections(), n = e.getOption("indentUnit"), r = t.length - 1; r >= 0; r--) { + var l = t[r].head, + i = e.getRange({ + line: l.line, + ch: 0 + }, l), + o = h.countColumn(i, null, e.getOption("tabSize")), + s = e.findPosH(l, -1, "char", !1); + if (i && !/\S/.test(i) && o % n == 0) { + var u = new f(l.line, h.findColumn(i, o - n, n)); + u.ch != l.ch && (s = u); + } + e.replaceRange("", s, l, "+delete"); + } }); - }, [w, b, h]), - H = l.useCallback(v => { - C(j => { - const R = j.tabs[j.activeTabIndex], - G = { - tabs: v, - activeTabIndex: v.indexOf(R) - }; - return h(G), b(G.tabs[G.activeTabIndex]), w == null || w(G), G; + }, a.delLineRight = function (e) { + e.operation(function () { + for (var t = e.listSelections(), n = t.length - 1; n >= 0; n--) e.replaceRange("", t[n].anchor, f(t[n].to().line), "+delete"); + e.scrollIntoView(); }); - }, [w, b, h]), - O = l.useCallback(v => { - C(j => { - const R = { - tabs: j.tabs.filter((G, z) => v !== z), - activeTabIndex: Math.max(j.activeTabIndex - 1, 0) - }; - return h(R), b(R.tabs[R.activeTabIndex]), w == null || w(R), R; + }, a.upcaseAtCursor = function (e) { + D(e, function (t) { + return t.toUpperCase(); }); - }, [w, b, h]), - D = l.useCallback(v => { - C(j => { - const R = vn(j, v); - return h(R), w == null || w(R), R; + }, a.downcaseAtCursor = function (e) { + D(e, function (t) { + return t.toLowerCase(); }); - }, [w, h]), - { - onEditOperationName: q - } = e, - k = l.useCallback(v => { - o && (o.operationName = v, D({ - operationName: v - }), q == null || q(v)); - }, [q, o, D]), - P = l.useMemo(() => { - const v = new Map(); - if (Array.isArray(e.externalFragments)) for (const j of e.externalFragments) v.set(j.name.value, j);else if (typeof e.externalFragments == "string") M.visit(M.parse(e.externalFragments, {}), { - FragmentDefinition(j) { - v.set(j.name.value, j); + }, a.setSublimeMark = function (e) { + e.state.sublimeMark && e.state.sublimeMark.clear(), e.state.sublimeMark = e.setBookmark(e.getCursor()); + }, a.selectToSublimeMark = function (e) { + var t = e.state.sublimeMark && e.state.sublimeMark.find(); + t && e.setSelection(e.getCursor(), t); + }, a.deleteToSublimeMark = function (e) { + var t = e.state.sublimeMark && e.state.sublimeMark.find(); + if (t) { + var n = e.getCursor(), + r = t; + if (h.cmpPos(n, r) > 0) { + var l = r; + r = n, n = l; } - });else if (e.externalFragments) throw new Error("The `externalFragments` prop must either be a string that contains the fragment definitions in SDL or a list of FragmentDefinitionNode objects."); - return v; - }, [e.externalFragments]), - S = l.useMemo(() => e.validationRules || [], [e.validationRules]), - W = l.useMemo(() => ({ - ...f, - addTab: F, - changeTab: I, - moveTab: H, - closeTab: O, - updateActiveTabValues: D, - headerEditor: n, - queryEditor: o, - responseEditor: a, - variableEditor: g, - setHeaderEditor: s, - setQueryEditor: d, - setResponseEditor: u, - setVariableEditor: m, - setOperationName: k, - initialQuery: x.query, - initialVariables: x.variables, - initialHeaders: x.headers, - initialResponse: x.response, - externalFragments: P, - validationRules: S, - shouldPersistHeaders: p, - setShouldPersistHeaders: E - }), [f, F, I, H, O, D, n, o, a, g, k, x, P, S, p, E]); - return r.jsx(xt.Provider, { - value: W, - children: A + e.state.sublimeKilled = e.getRange(n, r), e.replaceRange("", n, r); + } + }, a.swapWithSublimeMark = function (e) { + var t = e.state.sublimeMark && e.state.sublimeMark.find(); + t && (e.state.sublimeMark.clear(), e.state.sublimeMark = e.setBookmark(e.getCursor()), e.setCursor(t)); + }, a.sublimeYank = function (e) { + e.state.sublimeKilled != null && e.replaceSelection(e.state.sublimeKilled, null, "paste"); + }, a.showInCenter = function (e) { + var t = e.cursorCoords(null, "local"); + e.scrollTo(null, (t.top + t.bottom) / 2 - e.getScrollInfo().clientHeight / 2); + }; + function N(e) { + var t = e.getCursor("from"), + n = e.getCursor("to"); + if (h.cmpPos(t, n) == 0) { + var r = K(e, t); + if (!r.word) return; + t = r.from, n = r.to; + } + return { + from: t, + to: n, + query: e.getRange(t, n), + word: r + }; + } + v(N, "getTarget"); + function O(e, t) { + var n = N(e); + if (n) { + var r = n.query, + l = e.getSearchCursor(r, t ? n.to : n.from); + (t ? l.findNext() : l.findPrevious()) ? e.setSelection(l.from(), l.to()) : (l = e.getSearchCursor(r, t ? f(e.firstLine(), 0) : e.clipPos(f(e.lastLine()))), (t ? l.findNext() : l.findPrevious()) ? e.setSelection(l.from(), l.to()) : n.word && e.setSelection(n.from, n.to)); + } + } + v(O, "findAndGoTo"), a.findUnder = function (e) { + O(e, !0); + }, a.findUnderPrevious = function (e) { + O(e, !1); + }, a.findAllUnder = function (e) { + var t = N(e); + if (t) { + for (var n = e.getSearchCursor(t.query), r = [], l = -1; n.findNext();) r.push({ + anchor: n.from(), + head: n.to() + }), n.from().line <= t.from.line && n.from().ch <= t.from.ch && l++; + e.setSelections(r, l); + } + }; + var C = h.keyMap; + C.macSublime = { + "Cmd-Left": "goLineStartSmart", + "Shift-Tab": "indentLess", + "Shift-Ctrl-K": "deleteLine", + "Alt-Q": "wrapLines", + "Ctrl-Left": "goSubwordLeft", + "Ctrl-Right": "goSubwordRight", + "Ctrl-Alt-Up": "scrollLineUp", + "Ctrl-Alt-Down": "scrollLineDown", + "Cmd-L": "selectLine", + "Shift-Cmd-L": "splitSelectionByLine", + Esc: "singleSelectionTop", + "Cmd-Enter": "insertLineAfter", + "Shift-Cmd-Enter": "insertLineBefore", + "Cmd-D": "selectNextOccurrence", + "Shift-Cmd-Space": "selectScope", + "Shift-Cmd-M": "selectBetweenBrackets", + "Cmd-M": "goToBracket", + "Cmd-Ctrl-Up": "swapLineUp", + "Cmd-Ctrl-Down": "swapLineDown", + "Cmd-/": "toggleCommentIndented", + "Cmd-J": "joinLines", + "Shift-Cmd-D": "duplicateLine", + F5: "sortLines", + "Shift-F5": "reverseSortLines", + "Cmd-F5": "sortLinesInsensitive", + "Shift-Cmd-F5": "reverseSortLinesInsensitive", + F2: "nextBookmark", + "Shift-F2": "prevBookmark", + "Cmd-F2": "toggleBookmark", + "Shift-Cmd-F2": "clearBookmarks", + "Alt-F2": "selectBookmarks", + Backspace: "smartBackspace", + "Cmd-K Cmd-D": "skipAndSelectNextOccurrence", + "Cmd-K Cmd-K": "delLineRight", + "Cmd-K Cmd-U": "upcaseAtCursor", + "Cmd-K Cmd-L": "downcaseAtCursor", + "Cmd-K Cmd-Space": "setSublimeMark", + "Cmd-K Cmd-A": "selectToSublimeMark", + "Cmd-K Cmd-W": "deleteToSublimeMark", + "Cmd-K Cmd-X": "swapWithSublimeMark", + "Cmd-K Cmd-Y": "sublimeYank", + "Cmd-K Cmd-C": "showInCenter", + "Cmd-K Cmd-G": "clearBookmarks", + "Cmd-K Cmd-Backspace": "delLineLeft", + "Cmd-K Cmd-1": "foldAll", + "Cmd-K Cmd-0": "unfoldAll", + "Cmd-K Cmd-J": "unfoldAll", + "Ctrl-Shift-Up": "addCursorToPrevLine", + "Ctrl-Shift-Down": "addCursorToNextLine", + "Cmd-F3": "findUnder", + "Shift-Cmd-F3": "findUnderPrevious", + "Alt-F3": "findAllUnder", + "Shift-Cmd-[": "fold", + "Shift-Cmd-]": "unfold", + "Cmd-I": "findIncremental", + "Shift-Cmd-I": "findIncrementalReverse", + "Cmd-H": "replace", + F3: "findNext", + "Shift-F3": "findPrev", + fallthrough: "macDefault" + }, h.normalizeKeyMap(C.macSublime), C.pcSublime = { + "Shift-Tab": "indentLess", + "Shift-Ctrl-K": "deleteLine", + "Alt-Q": "wrapLines", + "Ctrl-T": "transposeChars", + "Alt-Left": "goSubwordLeft", + "Alt-Right": "goSubwordRight", + "Ctrl-Up": "scrollLineUp", + "Ctrl-Down": "scrollLineDown", + "Ctrl-L": "selectLine", + "Shift-Ctrl-L": "splitSelectionByLine", + Esc: "singleSelectionTop", + "Ctrl-Enter": "insertLineAfter", + "Shift-Ctrl-Enter": "insertLineBefore", + "Ctrl-D": "selectNextOccurrence", + "Shift-Ctrl-Space": "selectScope", + "Shift-Ctrl-M": "selectBetweenBrackets", + "Ctrl-M": "goToBracket", + "Shift-Ctrl-Up": "swapLineUp", + "Shift-Ctrl-Down": "swapLineDown", + "Ctrl-/": "toggleCommentIndented", + "Ctrl-J": "joinLines", + "Shift-Ctrl-D": "duplicateLine", + F9: "sortLines", + "Shift-F9": "reverseSortLines", + "Ctrl-F9": "sortLinesInsensitive", + "Shift-Ctrl-F9": "reverseSortLinesInsensitive", + F2: "nextBookmark", + "Shift-F2": "prevBookmark", + "Ctrl-F2": "toggleBookmark", + "Shift-Ctrl-F2": "clearBookmarks", + "Alt-F2": "selectBookmarks", + Backspace: "smartBackspace", + "Ctrl-K Ctrl-D": "skipAndSelectNextOccurrence", + "Ctrl-K Ctrl-K": "delLineRight", + "Ctrl-K Ctrl-U": "upcaseAtCursor", + "Ctrl-K Ctrl-L": "downcaseAtCursor", + "Ctrl-K Ctrl-Space": "setSublimeMark", + "Ctrl-K Ctrl-A": "selectToSublimeMark", + "Ctrl-K Ctrl-W": "deleteToSublimeMark", + "Ctrl-K Ctrl-X": "swapWithSublimeMark", + "Ctrl-K Ctrl-Y": "sublimeYank", + "Ctrl-K Ctrl-C": "showInCenter", + "Ctrl-K Ctrl-G": "clearBookmarks", + "Ctrl-K Ctrl-Backspace": "delLineLeft", + "Ctrl-K Ctrl-1": "foldAll", + "Ctrl-K Ctrl-0": "unfoldAll", + "Ctrl-K Ctrl-J": "unfoldAll", + "Ctrl-Alt-Up": "addCursorToPrevLine", + "Ctrl-Alt-Down": "addCursorToNextLine", + "Ctrl-F3": "findUnder", + "Shift-Ctrl-F3": "findUnderPrevious", + "Alt-F3": "findAllUnder", + "Shift-Ctrl-[": "fold", + "Shift-Ctrl-]": "unfold", + "Ctrl-I": "findIncremental", + "Shift-Ctrl-I": "findIncrementalReverse", + "Ctrl-H": "replace", + F3: "findNext", + "Shift-F3": "findPrev", + fallthrough: "pcDefault" + }, h.normalizeKeyMap(C.pcSublime); + var V = C.default == C.macDefault; + C.sublime = V ? C.macSublime : C.pcSublime; }); -} -i(wn, "EditorContextProvider"); -const Z = ae(xt), - Qe = "shouldPersistHeaders", - ns = `# Welcome to GraphiQL -# -# GraphiQL is an in-browser tool for writing, validating, and -# testing GraphQL queries. -# -# Type queries into this side of the screen, and you will see intelligent -# typeaheads aware of the current GraphQL type schema and live syntax and -# validation errors highlighted within the text. -# -# GraphQL queries typically start with a "{" character. Lines that start -# with a # are ignored. -# -# An example GraphQL query might look like: -# -# { -# field(arg: "value") { -# subField -# } -# } -# -# Keyboard shortcuts: -# -# Prettify query: Shift-Ctrl-P (or press the prettify button) -# -# Merge fragments: Shift-Ctrl-M (or press the merge button) -# -# Run Query: Ctrl-Enter (or press the play button) -# -# Auto Complete: Ctrl-Space (or just start typing) -# +})(); +var q = G.exports; +const Q = E.getDefaultExportFromCjs(q), + X = J({ + __proto__: null, + default: Q + }, [q]); +exports.sublime = X; -`; -function Ye(_ref79) { - let { - isHidden: e, - ...t - } = _ref79; - const { - headerEditor: n - } = Z({ - nonNull: !0, - caller: Ye - }), - s = ce(t, Ye); - return l.useEffect(() => { - e || n == null || n.refresh(); - }, [n, e]), r.jsx("div", { - className: _.clsx("graphiql-editor", e && "hidden"), - ref: s - }); -} -i(Ye, "HeaderEditor"); -function Ae(e) { - var g; - const [t, n] = l.useState({ - width: null, - height: null - }), - [s, o] = l.useState(null), - d = l.useRef(null), - a = (g = En(e.token)) == null ? void 0 : g.href; - l.useEffect(() => { - if (d.current) { - if (!a) { - n({ - width: null, - height: null - }), o(null); - return; +/***/ }), + +/***/ "../../graphiql-toolkit/esm/async-helpers/index.js": +/*!*********************************************************!*\ + !*** ../../graphiql-toolkit/esm/async-helpers/index.js ***! + \*********************************************************/ +/***/ (function(__unused_webpack_module, exports) { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.fetcherReturnToPromise = fetcherReturnToPromise; +exports.isAsyncIterable = isAsyncIterable; +exports.isObservable = isObservable; +exports.isPromise = isPromise; +var __awaiter = void 0 && (void 0).__awaiter || function (thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P ? value : new P(function (resolve) { + resolve(value); + }); + } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); } - fetch(a, { - method: "HEAD" - }).then(m => { - o(m.headers.get("Content-Type")); - }).catch(() => { - o(null); - }); } - }, [a]); - const u = t.width !== null && t.height !== null ? r.jsxs("div", { - children: [t.width, "x", t.height, s === null ? null : " " + s] - }) : null; - return r.jsxs("div", { - children: [r.jsx("img", { - onLoad: () => { - var _ref80, _ref81; - var m, p; - n({ - width: (_ref80 = (m = d.current) == null ? void 0 : m.naturalWidth) !== null && _ref80 !== void 0 ? _ref80 : null, - height: (_ref81 = (p = d.current) == null ? void 0 : p.naturalHeight) !== null && _ref81 !== void 0 ? _ref81 : null - }); - }, - ref: d, - src: a - }), u] + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e) { + reject(e); + } + } + function step(result) { + result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); + } + step((generator = generator.apply(thisArg, _arguments || [])).next()); }); +}; +function isPromise(value) { + return typeof value === 'object' && value !== null && typeof value.then === 'function'; } -i(Ae, "ImagePreview"); -Ae.shouldRender = i(function (t) { - const n = En(t); - return n ? rs(n) : !1; -}, "shouldRender"); -function En(e) { - if (e.type !== "string") return; - const t = e.string.slice(1).slice(0, -1).trim(); - try { - const { - location: n - } = window; - return new URL(t, n.protocol + "//" + n.host); - } catch { - return; - } -} -i(En, "tokenToURL"); -function rs(e) { - return /(bmp|gif|jpeg|jpg|png|svg)$/.test(e.pathname); -} -i(rs, "isImageURL"); -function Sn(e) { - const t = ne(e, Sn); - return r.jsx("div", { - className: "graphiql-editor", - ref: t +function observableToPromise(observable) { + return new Promise((resolve, reject) => { + const subscription = observable.subscribe({ + next(v) { + resolve(v); + subscription.unsubscribe(); + }, + error: reject, + complete() { + reject(new Error('no value resolved')); + } + }); }); } -i(Sn, "QueryEditor"); -function Oe() { - let { - responseTooltip: e, - editorTheme: t = Be, - keyMap: n = We - } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - let s = arguments.length > 1 ? arguments[1] : undefined; - const { - fetchError: o, - validationErrors: d - } = X({ - nonNull: !0, - caller: s || Oe - }), - { - initialResponse: a, - responseEditor: u, - setResponseEditor: g - } = Z({ - nonNull: !0, - caller: s || Oe - }), - m = l.useRef(null), - p = l.useRef(e); - return l.useEffect(() => { - p.current = e; - }, [e]), l.useEffect(() => { - let y = !0; - return Ee([Promise.resolve().then(() => __webpack_require__(/*! ./foldgutter.cjs.js */ "../../graphiql-react/dist/foldgutter.cjs.js")).then(h => h.foldgutter), Promise.resolve().then(() => __webpack_require__(/*! ./brace-fold.cjs.js */ "../../graphiql-react/dist/brace-fold.cjs.js")).then(h => h.braceFold), Promise.resolve().then(() => __webpack_require__(/*! ./dialog.cjs.js */ "../../graphiql-react/dist/dialog.cjs.js")).then(h => h.dialog), Promise.resolve().then(() => __webpack_require__(/*! ./search.cjs.js */ "../../graphiql-react/dist/search.cjs.js")).then(h => h.search), Promise.resolve().then(() => __webpack_require__(/*! ./searchcursor.cjs.js */ "../../graphiql-react/dist/searchcursor.cjs.js")).then(h => h.searchcursor), Promise.resolve().then(() => __webpack_require__(/*! ./jump-to-line.cjs.js */ "../../graphiql-react/dist/jump-to-line.cjs.js")).then(h => h.jumpToLine), Promise.resolve().then(() => __webpack_require__(/*! ./sublime.cjs.js */ "../../graphiql-react/dist/sublime.cjs.js")).then(h => h.sublime), Promise.resolve().then(() => __webpack_require__(/*! ./mode.cjs3.js */ "../../graphiql-react/dist/mode.cjs3.js")), Promise.resolve().then(() => __webpack_require__(/*! ./info-addon.cjs.js */ "../../graphiql-react/dist/info-addon.cjs.js"))], { - useCommonAddons: !1 - }).then(h => { - if (!y) return; - const x = document.createElement("div"); - h.registerHelper("info", "graphql-results", (E, N, L, b) => { - const w = [], - T = p.current; - return T && w.push(r.jsx(T, { - pos: b, - token: E - })), Ae.shouldRender(E) && w.push(r.jsx(Ae, { - token: E - }, "image-preview")), w.length ? (vt.render(w, x), x) : (vt.unmountComponentAtNode(x), null); - }); - const f = m.current; - if (!f) return; - const C = h(f, { - value: a, - lineWrapping: !0, - readOnly: !0, - theme: t, - mode: "graphql-results", - foldGutter: !0, - gutters: ["CodeMirror-foldgutter"], - info: !0, - extraKeys: _e - }); - g(C); - }), () => { - y = !1; - }; - }, [t, a, g]), Ge(u, "keyMap", n), l.useEffect(() => { - o && (u == null || u.setValue(o)), d.length > 0 && (u == null || u.setValue(B.formatError(d))); - }, [u, o, d]), m; +function isObservable(value) { + return typeof value === 'object' && value !== null && 'subscribe' in value && typeof value.subscribe === 'function'; } -i(Oe, "useResponseEditor"); -function Ln(e) { - const t = Oe(e, Ln); - return r.jsx("section", { - className: "result-window", - "aria-label": "Result Window", - "aria-live": "polite", - "aria-atomic": "true", - ref: t - }); +function isAsyncIterable(input) { + return typeof input === 'object' && input !== null && (input[Symbol.toStringTag] === 'AsyncGenerator' || Symbol.asyncIterator in input); } -i(Ln, "ResponseEditor"); -function Xe(_ref82) { - let { - isHidden: e, - ...t - } = _ref82; - const { - variableEditor: n - } = Z({ - nonNull: !0, - caller: Xe - }), - s = oe(t, Xe); - return l.useEffect(() => { - n && !e && n.refresh(); - }, [n, e]), r.jsx("div", { - className: _.clsx("graphiql-editor", e && "hidden"), - ref: s +function asyncIterableToPromise(input) { + var _a; + return __awaiter(this, void 0, void 0, function* () { + const iteratorReturn = (_a = ('return' in input ? input : input[Symbol.asyncIterator]()).return) === null || _a === void 0 ? void 0 : _a.bind(input); + const iteratorNext = ('next' in input ? input : input[Symbol.asyncIterator]()).next.bind(input); + const result = yield iteratorNext(); + void (iteratorReturn === null || iteratorReturn === void 0 ? void 0 : iteratorReturn()); + return result.value; }); } -i(Xe, "VariableEditor"); -function ss(_ref83) { - let { - children: e, - dangerouslyAssumeSchemaIsValid: t, - defaultQuery: n, - defaultHeaders: s, - defaultTabs: o, - externalFragments: d, - fetcher: a, - getDefaultFieldNames: u, - headers: g, - inputValueDeprecation: m, - introspectionQueryName: p, - maxHistoryLength: y, - onEditOperationName: h, - onSchemaChange: x, - onTabChange: f, - onTogglePluginVisibility: C, - operationName: E, - plugins: N, - query: L, - response: b, - schema: w, - schemaDescription: T, - shouldPersistHeaders: A, - storage: F, - validationRules: I, - variables: H, - visiblePlugin: O - } = _ref83; - return r.jsx(Nt, { - storage: F, - children: r.jsx(sn, { - maxHistoryLength: y, - children: r.jsx(wn, { - defaultQuery: n, - defaultHeaders: s, - defaultTabs: o, - externalFragments: d, - headers: g, - onEditOperationName: h, - onTabChange: f, - query: L, - response: b, - shouldPersistHeaders: A, - validationRules: I, - variables: H, - children: r.jsx(it, { - dangerouslyAssumeSchemaIsValid: t, - fetcher: a, - inputValueDeprecation: m, - introspectionQueryName: p, - onSchemaChange: x, - schema: w, - schemaDescription: T, - children: r.jsx(qe, { - getDefaultFieldNames: u, - fetcher: a, - operationName: E, - children: r.jsx(ut, { - children: r.jsx(mn, { - onTogglePluginVisibility: C, - plugins: N, - visiblePlugin: O, - children: e - }) - }) - }) - }) - }) - }) +function fetcherReturnToPromise(fetcherResult) { + return __awaiter(this, void 0, void 0, function* () { + const result = yield fetcherResult; + if (isAsyncIterable(result)) { + return asyncIterableToPromise(result); + } + if (isObservable(result)) { + return observableToPromise(result); + } + return result; }); } -i(ss, "GraphiQLProvider"); -function os() { - const e = se(), - [t, n] = l.useState(() => { - if (!e) return null; - const o = e.get(ze); - switch (o) { - case "light": - return "light"; - case "dark": - return "dark"; - default: - return typeof o == "string" && e.set(ze, ""), null; + +/***/ }), + +/***/ "../../graphiql-toolkit/esm/create-fetcher/createFetcher.js": +/*!******************************************************************!*\ + !*** ../../graphiql-toolkit/esm/create-fetcher/createFetcher.js ***! + \******************************************************************/ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.createGraphiQLFetcher = createGraphiQLFetcher; +var _lib = __webpack_require__(/*! ./lib */ "../../graphiql-toolkit/esm/create-fetcher/lib.js"); +function createGraphiQLFetcher(options) { + let httpFetch; + if (typeof window !== 'undefined' && window.fetch) { + httpFetch = window.fetch; + } + if ((options === null || options === void 0 ? void 0 : options.enableIncrementalDelivery) === null || options.enableIncrementalDelivery !== false) { + options.enableIncrementalDelivery = true; + } + if (options.fetch) { + httpFetch = options.fetch; + } + if (!httpFetch) { + throw new Error('No valid fetcher implementation available'); + } + const simpleFetcher = (0, _lib.createSimpleFetcher)(options, httpFetch); + const httpFetcher = options.enableIncrementalDelivery ? (0, _lib.createMultipartFetcher)(options, httpFetch) : simpleFetcher; + return (graphQLParams, fetcherOpts) => { + if (graphQLParams.operationName === 'IntrospectionQuery') { + return (options.schemaFetcher || simpleFetcher)(graphQLParams, fetcherOpts); + } + const isSubscription = (fetcherOpts === null || fetcherOpts === void 0 ? void 0 : fetcherOpts.documentAST) ? (0, _lib.isSubscriptionWithName)(fetcherOpts.documentAST, graphQLParams.operationName || undefined) : false; + if (isSubscription) { + const wsFetcher = (0, _lib.getWsFetcher)(options, fetcherOpts); + if (!wsFetcher) { + throw new Error(`Your GraphiQL createFetcher is not properly configured for websocket subscriptions yet. ${options.subscriptionUrl ? `Provided URL ${options.subscriptionUrl} failed` : 'Please provide subscriptionUrl, wsClient or legacyClient option first.'}`); } - }); - l.useLayoutEffect(() => { - typeof window > "u" || (document.body.classList.remove("graphiql-light", "graphiql-dark"), t && document.body.classList.add(`graphiql-${t}`)); - }, [t]); - const s = l.useCallback(o => { - e == null || e.set(ze, o || ""), n(o); - }, [e]); - return l.useMemo(() => ({ - theme: t, - setTheme: s - }), [t, s]); + return wsFetcher(graphQLParams); + } + return httpFetcher(graphQLParams, fetcherOpts); + }; } -i(os, "useTheme"); -const ze = "theme"; -function ls(_ref84) { - let { - defaultSizeRelation: e = as, - direction: t, - initiallyHidden: n, - onHiddenElementChange: s, - sizeThresholdFirst: o = 100, - sizeThresholdSecond: d = 100, - storageKey: a - } = _ref84; - const u = se(), - g = l.useMemo(() => ue(500, L => { - a && (u == null || u.set(a, L)); - }), [u, a]), - [m, p] = l.useState(() => { - const L = a && (u == null ? void 0 : u.get(a)); - return L === Ne || n === "first" ? "first" : L === Te || n === "second" ? "second" : null; - }), - y = l.useCallback(L => { - L !== m && (p(L), s == null || s(L)); - }, [m, s]), - h = l.useRef(null), - x = l.useRef(null), - f = l.useRef(null), - C = l.useRef(`${e}`); - l.useLayoutEffect(() => { - const L = a && (u == null ? void 0 : u.get(a)) || C.current; - h.current && (h.current.style.display = "flex", h.current.style.flex = L === Ne || L === Te ? C.current : L), f.current && (f.current.style.display = "flex", f.current.style.flex = "1"), x.current && (x.current.style.display = "flex"); - }, [t, u, a]); - const E = l.useCallback(L => { - const b = L === "first" ? h.current : f.current; - if (b && (b.style.left = "-1000px", b.style.position = "absolute", b.style.opacity = "0", b.style.height = "500px", b.style.width = "500px", h.current)) { - const w = parseFloat(h.current.style.flex); - (!Number.isFinite(w) || w < 1) && (h.current.style.flex = "1"); - } - }, []), - N = l.useCallback(L => { - const b = L === "first" ? h.current : f.current; - if (b && (b.style.width = "", b.style.height = "", b.style.opacity = "", b.style.position = "", b.style.left = "", u && a)) { - const w = u.get(a); - h.current && w !== Ne && w !== Te && (h.current.style.flex = w || C.current); - } - }, [u, a]); - return l.useLayoutEffect(() => { - m === "first" ? E("first") : N("first"), m === "second" ? E("second") : N("second"); - }, [m, E, N]), l.useEffect(() => { - if (!x.current || !h.current || !f.current) return; - const L = x.current, - b = h.current, - w = b.parentElement, - T = t === "horizontal" ? "clientX" : "clientY", - A = t === "horizontal" ? "left" : "top", - F = t === "horizontal" ? "right" : "bottom", - I = t === "horizontal" ? "clientWidth" : "clientHeight"; - function H(D) { - D.preventDefault(); - const q = D[T] - L.getBoundingClientRect()[A]; - function k(S) { - if (S.buttons === 0) return P(); - const W = S[T] - w.getBoundingClientRect()[A] - q, - v = w.getBoundingClientRect()[F] - S[T] + q - L[I]; - if (W < o) y("first"), g(Ne);else if (v < d) y("second"), g(Te);else { - y(null); - const j = `${W / v}`; - b.style.flex = j, g(j); - } + +/***/ }), + +/***/ "../../graphiql-toolkit/esm/create-fetcher/index.js": +/*!**********************************************************!*\ + !*** ../../graphiql-toolkit/esm/create-fetcher/index.js ***! + \**********************************************************/ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +var _exportNames = { + createGraphiQLFetcher: true +}; +Object.defineProperty(exports, "createGraphiQLFetcher", ({ + enumerable: true, + get: function () { + return _createFetcher.createGraphiQLFetcher; + } +})); +var _types = __webpack_require__(/*! ./types */ "../../graphiql-toolkit/esm/create-fetcher/types.js"); +Object.keys(_types).forEach(function (key) { + if (key === "default" || key === "__esModule") return; + if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; + if (key in exports && exports[key] === _types[key]) return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function () { + return _types[key]; + } + }); +}); +var _createFetcher = __webpack_require__(/*! ./createFetcher */ "../../graphiql-toolkit/esm/create-fetcher/createFetcher.js"); + +/***/ }), + +/***/ "../../graphiql-toolkit/esm/create-fetcher/lib.js": +/*!********************************************************!*\ + !*** ../../graphiql-toolkit/esm/create-fetcher/lib.js ***! + \********************************************************/ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.isSubscriptionWithName = exports.getWsFetcher = exports.createWebsocketsFetcherFromUrl = exports.createWebsocketsFetcherFromClient = exports.createSimpleFetcher = exports.createMultipartFetcher = exports.createLegacyWebsocketsFetcher = void 0; +var _graphql = __webpack_require__(/*! graphql */ "../../../node_modules/graphql/index.mjs"); +var _meros = __webpack_require__(/*! meros */ "../../../node_modules/meros/browser/index.mjs"); +var _pushPullAsyncIterableIterator = __webpack_require__(/*! @n1ru4l/push-pull-async-iterable-iterator */ "../../../node_modules/@n1ru4l/push-pull-async-iterable-iterator/index.js"); +var __awaiter = void 0 && (void 0).__awaiter || function (thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P ? value : new P(function (resolve) { + resolve(value); + }); + } + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); } - i(k, "handleMouseMove"); - function P() { - document.removeEventListener("mousemove", k), document.removeEventListener("mouseup", P); + } + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e) { + reject(e); } - i(P, "handleMouseUp"), document.addEventListener("mousemove", k), document.addEventListener("mouseup", P); } - i(H, "handleMouseDown"), L.addEventListener("mousedown", H); - function O() { - h.current && (h.current.style.flex = C.current), g(C.current), y(null); + function step(result) { + result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - return i(O, "reset"), L.addEventListener("dblclick", O), () => { - L.removeEventListener("mousedown", H), L.removeEventListener("dblclick", O); + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __await = void 0 && (void 0).__await || function (v) { + return this instanceof __await ? (this.v = v, this) : new __await(v); +}; +var __asyncValues = void 0 && (void 0).__asyncValues || function (o) { + if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); + var m = o[Symbol.asyncIterator], + i; + return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { + return this; + }, i); + function verb(n) { + i[n] = o[n] && function (v) { + return new Promise(function (resolve, reject) { + v = o[n](v), settle(resolve, reject, v.done, v.value); + }); }; - }, [t, y, o, d, g]), l.useMemo(() => ({ - dragBarRef: x, - hiddenElement: m, - firstRef: h, - setHiddenElement: p, - secondRef: f - }), [m, p]); -} -i(ls, "useDragResize"); -const as = 1, - Ne = "hide-first", - Te = "hide-second"; -const jn = l.forwardRef((_ref85, s) => { - let { - label: e, - onClick: t, - ...n - } = _ref85; - const [o, d] = l.useState(null), - a = l.useCallback(u => { - try { - t == null || t(u), d(null); - } catch (g) { - d(g instanceof Error ? g : new Error(`Toolbar button click failed: ${g}`)); + } + function settle(resolve, reject, d, v) { + Promise.resolve(v).then(function (v) { + resolve({ + value: v, + done: d + }); + }, reject); + } +}; +var __asyncGenerator = void 0 && (void 0).__asyncGenerator || function (thisArg, _arguments, generator) { + if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); + var g = generator.apply(thisArg, _arguments || []), + i, + q = []; + return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { + return this; + }, i; + function verb(n) { + if (g[n]) i[n] = function (v) { + return new Promise(function (a, b) { + q.push([n, v, a, b]) > 1 || resume(n, v); + }); + }; + } + function resume(n, v) { + try { + step(g[n](v)); + } catch (e) { + settle(q[0][3], e); + } + } + function step(r) { + r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); + } + function fulfill(value) { + resume("next", value); + } + function reject(value) { + resume("throw", value); + } + function settle(f, v) { + if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); + } +}; +const errorHasCode = err => { + return typeof err === 'object' && err !== null && 'code' in err; +}; +const isSubscriptionWithName = (document, name) => { + let isSubscription = false; + (0, _graphql.visit)(document, { + OperationDefinition(node) { + var _a; + if (name === ((_a = node.name) === null || _a === void 0 ? void 0 : _a.value) && node.operation === 'subscription') { + isSubscription = true; } - }, [t]); - return r.jsx(J, { - label: e, - children: r.jsx(Q, { - ...n, - ref: s, - type: "button", - className: _.clsx("graphiql-toolbar-button", o && "error", n.className), - onClick: a, - "aria-label": o ? o.message : e, - "aria-invalid": o ? "true" : n["aria-invalid"] - }) + } + }); + return isSubscription; +}; +exports.isSubscriptionWithName = isSubscriptionWithName; +const createSimpleFetcher = (options, httpFetch) => (graphQLParams, fetcherOpts) => __awaiter(void 0, void 0, void 0, function* () { + const data = yield httpFetch(options.url, { + method: 'POST', + body: JSON.stringify(graphQLParams), + headers: Object.assign(Object.assign({ + 'content-type': 'application/json' + }, options.headers), fetcherOpts === null || fetcherOpts === void 0 ? void 0 : fetcherOpts.headers) }); + return data.json(); }); -jn.displayName = "ToolbarButton"; -function et() { - const { - queryEditor: e, - setOperationName: t - } = Z({ - nonNull: !0, - caller: et - }), - { - isFetching: n, - isSubscribed: s, - operationName: o, - run: d, - stop: a - } = we({ - nonNull: !0, - caller: et - }), - u = (e == null ? void 0 : e.operations) || [], - g = u.length > 1 && typeof o != "string", - m = n || s, - p = `${m ? "Stop" : "Execute"} query (Ctrl-Enter)`, - y = { - type: "button", - className: "graphiql-execute-button", - children: m ? r.jsx(Qt, {}) : r.jsx(_t, {}), - "aria-label": p - }; - return g && !m ? r.jsxs(ee, { - children: [r.jsx(J, { - label: p, - children: r.jsx(ee.Button, { - ...y - }) - }), r.jsx(ee.Content, { - children: u.map((h, x) => { - const f = h.name ? h.name.value : ``; - return r.jsx(ee.Item, { - onSelect: () => { - var E; - const C = (E = h.name) == null ? void 0 : E.value; - e && C && C !== e.operationName && t(C), d(); - }, - children: f - }, `${f}-${x}`); - }) - })] - }) : r.jsx(J, { - label: p, - children: r.jsx("button", { - ...y, - onClick: () => { - m ? a() : d(); +exports.createSimpleFetcher = createSimpleFetcher; +const createWebsocketsFetcherFromUrl = (url, connectionParams) => { + let wsClient; + try { + const { + createClient + } = __webpack_require__(/*! graphql-ws */ "../../../node_modules/graphql-ws/lib/index.js"); + wsClient = createClient({ + url, + connectionParams + }); + return createWebsocketsFetcherFromClient(wsClient); + } catch (err) { + if (errorHasCode(err) && err.code === 'MODULE_NOT_FOUND') { + throw new Error("You need to install the 'graphql-ws' package to use websockets when passing a 'subscriptionUrl'"); + } + console.error(`Error creating websocket client for ${url}`, err); + } +}; +exports.createWebsocketsFetcherFromUrl = createWebsocketsFetcherFromUrl; +const createWebsocketsFetcherFromClient = wsClient => graphQLParams => (0, _pushPullAsyncIterableIterator.makeAsyncIterableIteratorFromSink)(sink => wsClient.subscribe(graphQLParams, Object.assign(Object.assign({}, sink), { + error(err) { + if (err instanceof CloseEvent) { + sink.error(new Error(`Socket closed with event ${err.code} ${err.reason || ''}`.trim())); + } else { + sink.error(err); + } + } +}))); +exports.createWebsocketsFetcherFromClient = createWebsocketsFetcherFromClient; +const createLegacyWebsocketsFetcher = legacyWsClient => graphQLParams => { + const observable = legacyWsClient.request(graphQLParams); + return (0, _pushPullAsyncIterableIterator.makeAsyncIterableIteratorFromSink)(sink => observable.subscribe(sink).unsubscribe); +}; +exports.createLegacyWebsocketsFetcher = createLegacyWebsocketsFetcher; +const createMultipartFetcher = (options, httpFetch) => function (graphQLParams, fetcherOpts) { + return __asyncGenerator(this, arguments, function* () { + var e_1, _a; + const response = yield __await(httpFetch(options.url, { + method: 'POST', + body: JSON.stringify(graphQLParams), + headers: Object.assign(Object.assign({ + 'content-type': 'application/json', + accept: 'application/json, multipart/mixed' + }, options.headers), fetcherOpts === null || fetcherOpts === void 0 ? void 0 : fetcherOpts.headers) + }).then(r => (0, _meros.meros)(r, { + multiple: true + }))); + if (!(0, _pushPullAsyncIterableIterator.isAsyncIterable)(response)) { + return yield __await(yield yield __await(response.json())); + } + try { + for (var response_1 = __asyncValues(response), response_1_1; response_1_1 = yield __await(response_1.next()), !response_1_1.done;) { + const chunk = response_1_1.value; + if (chunk.some(part => !part.json)) { + const message = chunk.map(part => `Headers::\n${part.headers}\n\nBody::\n${part.body}`); + throw new Error(`Expected multipart chunks to be of json type. got:\n${message}`); + } + yield yield __await(chunk.map(part => part.body)); } - }) + } catch (e_1_1) { + e_1 = { + error: e_1_1 + }; + } finally { + try { + if (response_1_1 && !response_1_1.done && (_a = response_1.return)) yield __await(_a.call(response_1)); + } finally { + if (e_1) throw e_1.error; + } + } + }); +}; +exports.createMultipartFetcher = createMultipartFetcher; +const getWsFetcher = (options, fetcherOpts) => { + if (options.wsClient) { + return createWebsocketsFetcherFromClient(options.wsClient); + } + if (options.subscriptionUrl) { + return createWebsocketsFetcherFromUrl(options.subscriptionUrl, Object.assign(Object.assign({}, options.wsConnectionParams), fetcherOpts === null || fetcherOpts === void 0 ? void 0 : fetcherOpts.headers)); + } + const legacyWebsocketsClient = options.legacyClient || options.legacyWsClient; + if (legacyWebsocketsClient) { + return createLegacyWebsocketsFetcher(legacyWebsocketsClient); + } +}; +exports.getWsFetcher = getWsFetcher; + +/***/ }), + +/***/ "../../graphiql-toolkit/esm/create-fetcher/types.js": +/*!**********************************************************!*\ + !*** ../../graphiql-toolkit/esm/create-fetcher/types.js ***! + \**********************************************************/ +/***/ (function(__unused_webpack_module, exports) { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); + +/***/ }), + +/***/ "../../graphiql-toolkit/esm/format/index.js": +/*!**************************************************!*\ + !*** ../../graphiql-toolkit/esm/format/index.js ***! + \**************************************************/ +/***/ (function(__unused_webpack_module, exports) { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.formatError = formatError; +exports.formatResult = formatResult; +function stringify(obj) { + return JSON.stringify(obj, null, 2); +} +function formatSingleError(error) { + return Object.assign(Object.assign({}, error), { + message: error.message, + stack: error.stack }); } -i(et, "ExecuteButton"); -const is = i(_ref86 => { - let { - button: e, - children: t, - label: n, - ...s - } = _ref86; - return r.jsxs(ee, { - ...s, - children: [r.jsx(J, { - label: n, - children: r.jsx(ee.Button, { - className: _.clsx("graphiql-un-styled graphiql-toolbar-menu", s.className), - "aria-label": n, - children: e - }) - }), r.jsx(ee.Content, { - children: t - })] +function handleSingleError(error) { + if (error instanceof Error) { + return formatSingleError(error); + } + return error; +} +function formatError(error) { + if (Array.isArray(error)) { + return stringify({ + errors: error.map(e => handleSingleError(e)) }); - }, "ToolbarMenuRoot"), - cs = ye(is, { - Item: ee.Item + } + return stringify({ + errors: [handleSingleError(error)] }); -exports.Argument = Ce; -exports.ArgumentIcon = Tt; -exports.Button = me; -exports.ButtonGroup = Ut; -exports.ChevronDownIcon = hr; -exports.ChevronLeftIcon = Mt; -exports.ChevronUpIcon = mr; -exports.CloseIcon = Fe; -exports.CopyIcon = fr; -exports.DOC_EXPLORER_PLUGIN = de; -exports.DefaultValue = lt; -exports.DeprecatedArgumentIcon = Rt; -exports.DeprecatedEnumValueIcon = Pt; -exports.DeprecatedFieldIcon = qt; -exports.DeprecationReason = dt; -exports.Dialog = br; -exports.DialogRoot = Jt; -exports.Directive = an; -exports.DirectiveIcon = Vt; -exports.DocExplorer = Ie; -exports.DocsFilledIcon = It; -exports.DocsIcon = Ht; -exports.DropdownMenu = ee; -exports.EditorContext = xt; -exports.EditorContextProvider = wn; -exports.EnumValueIcon = Dt; -exports.ExecuteButton = et; -exports.ExecutionContext = ot; -exports.ExecutionContextProvider = qe; -exports.ExplorerContext = ct; -exports.ExplorerContextProvider = ut; -exports.ExplorerSection = $; -exports.FieldDocumentation = cn; -exports.FieldIcon = At; -exports.FieldLink = dn; -exports.GraphiQLProvider = ss; -exports.HISTORY_PLUGIN = Je; -exports.HeaderEditor = Ye; -exports.History = on; -exports.HistoryContext = st; -exports.HistoryContextProvider = sn; -exports.HistoryIcon = Ot; -exports.ImagePreview = Ae; -exports.ImplementsIcon = Ft; -exports.KeyboardShortcutIcon = pr; -exports.MagnifyingGlassIcon = Bt; -exports.MarkdownContent = K; -exports.MergeIcon = gr; -exports.PenIcon = Wt; -exports.PlayIcon = _t; -exports.PluginContext = mt; -exports.PluginContextProvider = mn; -exports.PlusIcon = xr; -exports.PrettifyIcon = Cr; -exports.QueryEditor = Sn; -exports.ReloadIcon = vr; -exports.ResponseEditor = Ln; -exports.RootTypeIcon = Zt; -exports.SchemaContext = at; -exports.SchemaContextProvider = it; -exports.SchemaDocumentation = un; -exports.Search = ht; -exports.SettingsIcon = yr; -exports.Spinner = rt; -exports.StarFilledIcon = Gt; -exports.StarIcon = $t; -exports.StopIcon = Qt; -exports.StorageContext = nt; -exports.StorageContextProvider = Nt; -exports.Tab = Sr; -exports.Tabs = rn; -exports.ToolbarButton = jn; -exports.ToolbarMenu = cs; -exports.Tooltip = J; -exports.TooltipRoot = Xt; -exports.TrashIcon = zt; -exports.TypeDocumentation = hn; -exports.TypeIcon = ge; -exports.TypeLink = U; -exports.UnStyledButton = Q; -exports.VariableEditor = Xe; -exports.useAutoCompleteLeafs = He; -exports.useCopyQuery = ft; -exports.useDragResize = ls; -exports.useEditorContext = Z; -exports.useExecutionContext = we; -exports.useExplorerContext = te; -exports.useHeaderEditor = ce; -exports.useHistoryContext = be; -exports.useMergeQuery = he; -exports.useOperationsEditorState = Ar; -exports.usePluginContext = Ze; -exports.usePrettifyEditors = Se; -exports.useQueryEditor = ne; -exports.useResponseEditor = Oe; -exports.useSchemaContext = X; -exports.useStorageContext = se; -exports.useTheme = os; -exports.useVariableEditor = oe; -exports.useVariablesEditorState = Or; +} +function formatResult(result) { + return stringify(result); +} /***/ }), -/***/ "../../graphiql-react/dist/info-addon.cjs.js": -/*!***************************************************!*\ - !*** ../../graphiql-react/dist/info-addon.cjs.js ***! - \***************************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { +/***/ "../../graphiql-toolkit/esm/graphql-helpers/auto-complete.js": +/*!*******************************************************************!*\ + !*** ../../graphiql-toolkit/esm/graphql-helpers/auto-complete.js ***! + \*******************************************************************/ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { -var M = Object.defineProperty; -var i = (e, t) => M(e, "name", { - value: t, - configurable: !0 -}); -const r = __webpack_require__(/*! ./codemirror.cjs.js */ "../../graphiql-react/dist/codemirror.cjs.js"); -__webpack_require__(/*! ./codemirror.cjs2.js */ "../../graphiql-react/dist/codemirror.cjs2.js"); -r.CodeMirror.defineOption("info", !1, (e, t, n) => { - if (n && n !== r.CodeMirror.Init) { - const o = e.state.info.onMouseOver; - r.CodeMirror.off(e.getWrapperElement(), "mouseover", o), clearTimeout(e.state.info.hoverTimeout), delete e.state.info; +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.fillLeafs = fillLeafs; +var _graphql = __webpack_require__(/*! graphql */ "../../../node_modules/graphql/index.mjs"); +function fillLeafs(schema, docString, getDefaultFieldNames) { + const insertions = []; + if (!schema || !docString) { + return { + insertions, + result: docString + }; } - if (t) { - const o = e.state.info = g(t); - o.onMouseOver = h.bind(null, e), r.CodeMirror.on(e.getWrapperElement(), "mouseover", o.onMouseOver); + let ast; + try { + ast = (0, _graphql.parse)(docString); + } catch (_a) { + return { + insertions, + result: docString + }; } -}); -function g(e) { + const fieldNameFn = getDefaultFieldNames || defaultGetDefaultFieldNames; + const typeInfo = new _graphql.TypeInfo(schema); + (0, _graphql.visit)(ast, { + leave(node) { + typeInfo.leave(node); + }, + enter(node) { + typeInfo.enter(node); + if (node.kind === 'Field' && !node.selectionSet) { + const fieldType = typeInfo.getType(); + const selectionSet = buildSelectionSet(isFieldType(fieldType), fieldNameFn); + if (selectionSet && node.loc) { + const indent = getIndentation(docString, node.loc.start); + insertions.push({ + index: node.loc.end, + string: ' ' + (0, _graphql.print)(selectionSet).replaceAll('\n', '\n' + indent) + }); + } + } + } + }); return { - options: e instanceof Function ? { - render: e - } : e === !0 ? {} : e + insertions, + result: withInsertions(docString, insertions) }; } -i(g, "createState"); -function T(e) { - const { - options: t - } = e.state.info; - return (t == null ? void 0 : t.hoverTime) || 500; +function defaultGetDefaultFieldNames(type) { + if (!('getFields' in type)) { + return []; + } + const fields = type.getFields(); + if (fields.id) { + return ['id']; + } + if (fields.edges) { + return ['edges']; + } + if (fields.node) { + return ['node']; + } + const leafFieldNames = []; + for (const fieldName of Object.keys(fields)) { + if ((0, _graphql.isLeafType)(fields[fieldName].type)) { + leafFieldNames.push(fieldName); + } + } + return leafFieldNames; } -i(T, "getHoverTime"); -function h(e, t) { - const n = e.state.info, - o = t.target || t.srcElement; - if (!(o instanceof HTMLElement) || o.nodeName !== "SPAN" || n.hoverTimeout !== void 0) return; - const s = o.getBoundingClientRect(), - u = i(function () { - clearTimeout(n.hoverTimeout), n.hoverTimeout = setTimeout(p, d); - }, "onMouseMove"), - f = i(function () { - r.CodeMirror.off(document, "mousemove", u), r.CodeMirror.off(e.getWrapperElement(), "mouseout", f), clearTimeout(n.hoverTimeout), n.hoverTimeout = void 0; - }, "onMouseOut"), - p = i(function () { - r.CodeMirror.off(document, "mousemove", u), r.CodeMirror.off(e.getWrapperElement(), "mouseout", f), n.hoverTimeout = void 0, C(e, s); - }, "onHover"), - d = T(e); - n.hoverTimeout = setTimeout(p, d), r.CodeMirror.on(document, "mousemove", u), r.CodeMirror.on(e.getWrapperElement(), "mouseout", f); +function buildSelectionSet(type, getDefaultFieldNames) { + const namedType = (0, _graphql.getNamedType)(type); + if (!type || (0, _graphql.isLeafType)(type)) { + return; + } + const fieldNames = getDefaultFieldNames(namedType); + if (!Array.isArray(fieldNames) || fieldNames.length === 0 || !('getFields' in namedType)) { + return; + } + return { + kind: _graphql.Kind.SELECTION_SET, + selections: fieldNames.map(fieldName => { + const fieldDef = namedType.getFields()[fieldName]; + const fieldType = fieldDef ? fieldDef.type : null; + return { + kind: _graphql.Kind.FIELD, + name: { + kind: _graphql.Kind.NAME, + value: fieldName + }, + selectionSet: buildSelectionSet(fieldType, getDefaultFieldNames) + }; + }) + }; } -i(h, "onMouseOver"); -function C(e, t) { - const n = e.coordsChar({ - left: (t.left + t.right) / 2, - top: (t.top + t.bottom) / 2 - }, "window"), - o = e.state.info, - { - options: s - } = o, - u = s.render || e.getHelper(n, "info"); - if (u) { - const f = e.getTokenAt(n, !0); - if (f) { - const p = u(f, s, e, n); - p && w(e, t, p); +function withInsertions(initial, insertions) { + if (insertions.length === 0) { + return initial; + } + let edited = ''; + let prevIndex = 0; + for (const { + index, + string + } of insertions) { + edited += initial.slice(prevIndex, index) + string; + prevIndex = index; + } + edited += initial.slice(prevIndex); + return edited; +} +function getIndentation(str, index) { + let indentStart = index; + let indentEnd = index; + while (indentStart) { + const c = str.charCodeAt(indentStart - 1); + if (c === 10 || c === 13 || c === 0x2028 || c === 0x2029) { + break; + } + indentStart--; + if (c !== 9 && c !== 11 && c !== 12 && c !== 32 && c !== 160) { + indentEnd = indentStart; } } + return str.slice(indentStart, indentEnd); } -i(C, "onMouseHover"); -function w(e, t, n) { - const o = document.createElement("div"); - o.className = "CodeMirror-info", o.append(n), document.body.append(o); - const s = o.getBoundingClientRect(), - u = window.getComputedStyle(o), - f = s.right - s.left + parseFloat(u.marginLeft) + parseFloat(u.marginRight), - p = s.bottom - s.top + parseFloat(u.marginTop) + parseFloat(u.marginBottom); - let d = t.bottom; - p > window.innerHeight - t.bottom - 15 && t.top > window.innerHeight - t.bottom && (d = t.top - p), d < 0 && (d = t.bottom); - let m = Math.max(0, window.innerWidth - f - 15); - m > t.left && (m = t.left), o.style.opacity = "1", o.style.top = d + "px", o.style.left = m + "px"; - let l; - const c = i(function () { - clearTimeout(l); - }, "onMouseOverPopup"), - a = i(function () { - clearTimeout(l), l = setTimeout(v, 200); - }, "onMouseOut"), - v = i(function () { - r.CodeMirror.off(o, "mouseover", c), r.CodeMirror.off(o, "mouseout", a), r.CodeMirror.off(e.getWrapperElement(), "mouseout", a), o.style.opacity ? (o.style.opacity = "0", setTimeout(() => { - o.parentNode && o.remove(); - }, 600)) : o.parentNode && o.remove(); - }, "hidePopup"); - r.CodeMirror.on(o, "mouseover", c), r.CodeMirror.on(o, "mouseout", a), r.CodeMirror.on(e.getWrapperElement(), "mouseout", a); +function isFieldType(fieldType) { + if (fieldType) { + return fieldType; + } } -i(w, "showPopup"); /***/ }), -/***/ "../../graphiql-react/dist/info.cjs.js": -/*!*********************************************!*\ - !*** ../../graphiql-react/dist/info.cjs.js ***! - \*********************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { +/***/ "../../graphiql-toolkit/esm/graphql-helpers/index.js": +/*!***********************************************************!*\ + !*** ../../graphiql-toolkit/esm/graphql-helpers/index.js ***! + \***********************************************************/ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { -var v = Object.defineProperty; -var l = (a, e) => v(a, "name", { - value: e, - configurable: !0 +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +var _autoComplete = __webpack_require__(/*! ./auto-complete */ "../../graphiql-toolkit/esm/graphql-helpers/auto-complete.js"); +Object.keys(_autoComplete).forEach(function (key) { + if (key === "default" || key === "__esModule") return; + if (key in exports && exports[key] === _autoComplete[key]) return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function () { + return _autoComplete[key]; + } + }); }); -const s = __webpack_require__(/*! graphql */ "../../../node_modules/graphql/index.mjs"), - D = __webpack_require__(/*! ./codemirror.cjs.js */ "../../graphiql-react/dist/codemirror.cjs.js"), - m = __webpack_require__(/*! ./SchemaReference.cjs.js */ "../../graphiql-react/dist/SchemaReference.cjs.js"); -__webpack_require__(/*! ./info-addon.cjs.js */ "../../graphiql-react/dist/info-addon.cjs.js"); -__webpack_require__(/*! ./codemirror.cjs2.js */ "../../graphiql-react/dist/codemirror.cjs2.js"); -__webpack_require__(/*! ./forEachState.cjs.js */ "../../graphiql-react/dist/forEachState.cjs.js"); -D.CodeMirror.registerHelper("info", "graphql", (a, e) => { - if (!e.schema || !a.state) return; - const { - kind: c, - step: n - } = a.state, - r = m.getTypeInfo(e.schema, a.state); - if (c === "Field" && n === 0 && r.fieldDef || c === "AliasedField" && n === 2 && r.fieldDef) { - const i = document.createElement("div"); - i.className = "CodeMirror-info-header", E(i, r, e); - const d = document.createElement("div"); - return d.append(i), o(d, e, r.fieldDef), d; - } - if (c === "Directive" && n === 1 && r.directiveDef) { - const i = document.createElement("div"); - i.className = "CodeMirror-info-header", h(i, r, e); - const d = document.createElement("div"); - return d.append(i), o(d, e, r.directiveDef), d; - } - if (c === "Argument" && n === 0 && r.argDef) { - const i = document.createElement("div"); - i.className = "CodeMirror-info-header", T(i, r, e); - const d = document.createElement("div"); - return d.append(i), o(d, e, r.argDef), d; - } - if (c === "EnumValue" && r.enumValue && r.enumValue.description) { - const i = document.createElement("div"); - i.className = "CodeMirror-info-header", g(i, r, e); - const d = document.createElement("div"); - return d.append(i), o(d, e, r.enumValue), d; - } - if (c === "NamedType" && r.type && r.type.description) { - const i = document.createElement("div"); - i.className = "CodeMirror-info-header", u(i, r, e, r.type); - const d = document.createElement("div"); - return d.append(i), o(d, e, r.type), d; - } +var _mergeAst = __webpack_require__(/*! ./merge-ast */ "../../graphiql-toolkit/esm/graphql-helpers/merge-ast.js"); +Object.keys(_mergeAst).forEach(function (key) { + if (key === "default" || key === "__esModule") return; + if (key in exports && exports[key] === _mergeAst[key]) return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function () { + return _mergeAst[key]; + } + }); }); -function E(a, e, c) { - N(a, e, c), f(a, e, c, e.type); -} -l(E, "renderField"); -function N(a, e, c) { - var n; - const r = ((n = e.fieldDef) === null || n === void 0 ? void 0 : n.name) || ""; - t(a, r, "field-name", c, m.getFieldReference(e)); -} -l(N, "renderQualifiedField"); -function h(a, e, c) { - var n; - const r = "@" + (((n = e.directiveDef) === null || n === void 0 ? void 0 : n.name) || ""); - t(a, r, "directive-name", c, m.getDirectiveReference(e)); -} -l(h, "renderDirective"); -function T(a, e, c) { - var n; - const r = ((n = e.argDef) === null || n === void 0 ? void 0 : n.name) || ""; - t(a, r, "arg-name", c, m.getArgumentReference(e)), f(a, e, c, e.inputType); -} -l(T, "renderArg"); -function g(a, e, c) { - var n; - const r = ((n = e.enumValue) === null || n === void 0 ? void 0 : n.name) || ""; - u(a, e, c, e.inputType), t(a, "."), t(a, r, "enum-value", c, m.getEnumValueReference(e)); -} -l(g, "renderEnumValue"); -function f(a, e, c, n) { - const r = document.createElement("span"); - r.className = "type-name-pill", n instanceof s.GraphQLNonNull ? (u(r, e, c, n.ofType), t(r, "!")) : n instanceof s.GraphQLList ? (t(r, "["), u(r, e, c, n.ofType), t(r, "]")) : t(r, (n == null ? void 0 : n.name) || "", "type-name", c, m.getTypeReference(e, n)), a.append(r); -} -l(f, "renderTypeAnnotation"); -function u(a, e, c, n) { - n instanceof s.GraphQLNonNull ? (u(a, e, c, n.ofType), t(a, "!")) : n instanceof s.GraphQLList ? (t(a, "["), u(a, e, c, n.ofType), t(a, "]")) : t(a, (n == null ? void 0 : n.name) || "", "type-name", c, m.getTypeReference(e, n)); -} -l(u, "renderType"); -function o(a, e, c) { - const { - description: n - } = c; - if (n) { - const r = document.createElement("div"); - r.className = "info-description", e.renderDescription ? r.innerHTML = e.renderDescription(n) : r.append(document.createTextNode(n)), a.append(r); +var _operationName = __webpack_require__(/*! ./operation-name */ "../../graphiql-toolkit/esm/graphql-helpers/operation-name.js"); +Object.keys(_operationName).forEach(function (key) { + if (key === "default" || key === "__esModule") return; + if (key in exports && exports[key] === _operationName[key]) return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function () { + return _operationName[key]; + } + }); +}); + +/***/ }), + +/***/ "../../graphiql-toolkit/esm/graphql-helpers/merge-ast.js": +/*!***************************************************************!*\ + !*** ../../graphiql-toolkit/esm/graphql-helpers/merge-ast.js ***! + \***************************************************************/ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.mergeAst = mergeAst; +var _graphql = __webpack_require__(/*! graphql */ "../../../node_modules/graphql/index.mjs"); +function uniqueBy(array, iteratee) { + var _a; + const FilteredMap = new Map(); + const result = []; + for (const item of array) { + if (item.kind === 'Field') { + const uniqueValue = iteratee(item); + const existing = FilteredMap.get(uniqueValue); + if ((_a = item.directives) === null || _a === void 0 ? void 0 : _a.length) { + const itemClone = Object.assign({}, item); + result.push(itemClone); + } else if ((existing === null || existing === void 0 ? void 0 : existing.selectionSet) && item.selectionSet) { + existing.selectionSet.selections = [...existing.selectionSet.selections, ...item.selectionSet.selections]; + } else if (!existing) { + const itemClone = Object.assign({}, item); + FilteredMap.set(uniqueValue, itemClone); + result.push(itemClone); + } + } else { + result.push(item); + } } - L(a, e, c); + return result; } -l(o, "renderDescription"); -function L(a, e, c) { - const n = c.deprecationReason; - if (n) { - const r = document.createElement("div"); - r.className = "info-deprecation", a.append(r); - const i = document.createElement("span"); - i.className = "info-deprecation-label", i.append(document.createTextNode("Deprecated")), r.append(i); - const d = document.createElement("div"); - d.className = "info-deprecation-reason", e.renderDescription ? d.innerHTML = e.renderDescription(n) : d.append(document.createTextNode(n)), r.append(d); +function inlineRelevantFragmentSpreads(fragmentDefinitions, selections, selectionSetType) { + var _a; + const selectionSetTypeName = selectionSetType ? (0, _graphql.getNamedType)(selectionSetType).name : null; + const outputSelections = []; + const seenSpreads = []; + for (let selection of selections) { + if (selection.kind === 'FragmentSpread') { + const fragmentName = selection.name.value; + if (!selection.directives || selection.directives.length === 0) { + if (seenSpreads.includes(fragmentName)) { + continue; + } else { + seenSpreads.push(fragmentName); + } + } + const fragmentDefinition = fragmentDefinitions[selection.name.value]; + if (fragmentDefinition) { + const { + typeCondition, + directives, + selectionSet + } = fragmentDefinition; + selection = { + kind: _graphql.Kind.INLINE_FRAGMENT, + typeCondition, + directives, + selectionSet + }; + } + } + if (selection.kind === _graphql.Kind.INLINE_FRAGMENT && (!selection.directives || ((_a = selection.directives) === null || _a === void 0 ? void 0 : _a.length) === 0)) { + const fragmentTypeName = selection.typeCondition ? selection.typeCondition.name.value : null; + if (!fragmentTypeName || fragmentTypeName === selectionSetTypeName) { + outputSelections.push(...inlineRelevantFragmentSpreads(fragmentDefinitions, selection.selectionSet.selections, selectionSetType)); + continue; + } + } + outputSelections.push(selection); } + return outputSelections; } -l(L, "renderDeprecation"); -function t(a, e) { - let c = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : ""; - let n = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : { - onClick: null +function mergeAst(documentAST, schema) { + const typeInfo = schema ? new _graphql.TypeInfo(schema) : null; + const fragmentDefinitions = Object.create(null); + for (const definition of documentAST.definitions) { + if (definition.kind === _graphql.Kind.FRAGMENT_DEFINITION) { + fragmentDefinitions[definition.name.value] = definition; + } + } + const flattenVisitors = { + SelectionSet(node) { + const selectionSetType = typeInfo ? typeInfo.getParentType() : null; + let { + selections + } = node; + selections = inlineRelevantFragmentSpreads(fragmentDefinitions, selections, selectionSetType); + return Object.assign(Object.assign({}, node), { + selections + }); + }, + FragmentDefinition() { + return null; + } }; - let r = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : null; - if (c) { - const { - onClick: i - } = n; - let d; - i ? (d = document.createElement("a"), d.href = "javascript:void 0", d.addEventListener("click", p => { - i(r, p); - })) : d = document.createElement("span"), d.className = c, d.append(document.createTextNode(e)), a.append(d); - } else a.append(document.createTextNode(e)); + const flattenedAST = (0, _graphql.visit)(documentAST, typeInfo ? (0, _graphql.visitWithTypeInfo)(typeInfo, flattenVisitors) : flattenVisitors); + const deduplicateVisitors = { + SelectionSet(node) { + let { + selections + } = node; + selections = uniqueBy(selections, selection => selection.alias ? selection.alias.value : selection.name.value); + return Object.assign(Object.assign({}, node), { + selections + }); + }, + FragmentDefinition() { + return null; + } + }; + return (0, _graphql.visit)(flattenedAST, deduplicateVisitors); } -l(t, "text"); /***/ }), -/***/ "../../graphiql-react/dist/javascript.cjs.js": -/*!***************************************************!*\ - !*** ../../graphiql-react/dist/javascript.cjs.js ***! - \***************************************************/ +/***/ "../../graphiql-toolkit/esm/graphql-helpers/operation-name.js": +/*!********************************************************************!*\ + !*** ../../graphiql-toolkit/esm/graphql-helpers/operation-name.js ***! + \********************************************************************/ +/***/ (function(__unused_webpack_module, exports) { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.getSelectedOperationName = getSelectedOperationName; +function getSelectedOperationName(prevOperations, prevSelectedOperationName, operations) { + if (!operations || operations.length < 1) { + return; + } + const names = operations.map(op => { + var _a; + return (_a = op.name) === null || _a === void 0 ? void 0 : _a.value; + }); + if (prevSelectedOperationName && names.includes(prevSelectedOperationName)) { + return prevSelectedOperationName; + } + if (prevSelectedOperationName && prevOperations) { + const prevNames = prevOperations.map(op => { + var _a; + return (_a = op.name) === null || _a === void 0 ? void 0 : _a.value; + }); + const prevIndex = prevNames.indexOf(prevSelectedOperationName); + if (prevIndex !== -1 && prevIndex < names.length) { + return names[prevIndex]; + } + } + return names[0]; +} + +/***/ }), + +/***/ "../../graphiql-toolkit/esm/index.js": +/*!*******************************************!*\ + !*** ../../graphiql-toolkit/esm/index.js ***! + \*******************************************/ /***/ (function(__unused_webpack_module, exports, __webpack_require__) { -var ve = Object.defineProperty; -var f = (F, W) => ve(F, "name", { - value: W, - configurable: !0 +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +var _asyncHelpers = __webpack_require__(/*! ./async-helpers */ "../../graphiql-toolkit/esm/async-helpers/index.js"); +Object.keys(_asyncHelpers).forEach(function (key) { + if (key === "default" || key === "__esModule") return; + if (key in exports && exports[key] === _asyncHelpers[key]) return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function () { + return _asyncHelpers[key]; + } + }); }); -const Dr = __webpack_require__(/*! ./codemirror.cjs2.js */ "../../graphiql-react/dist/codemirror.cjs2.js"); -function ge(F, W) { - for (var w = 0; w < W.length; w++) { - const M = W[w]; - if (typeof M != "string" && !Array.isArray(M)) { - for (const h in M) if (h !== "default" && !(h in F)) { - const A = Object.getOwnPropertyDescriptor(M, h); - A && Object.defineProperty(F, h, A.get ? A : { - enumerable: !0, - get: () => M[h] - }); - } +var _createFetcher = __webpack_require__(/*! ./create-fetcher */ "../../graphiql-toolkit/esm/create-fetcher/index.js"); +Object.keys(_createFetcher).forEach(function (key) { + if (key === "default" || key === "__esModule") return; + if (key in exports && exports[key] === _createFetcher[key]) return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function () { + return _createFetcher[key]; } - } - return Object.freeze(Object.defineProperty(F, Symbol.toStringTag, { - value: "Module" - })); + }); +}); +var _format = __webpack_require__(/*! ./format */ "../../graphiql-toolkit/esm/format/index.js"); +Object.keys(_format).forEach(function (key) { + if (key === "default" || key === "__esModule") return; + if (key in exports && exports[key] === _format[key]) return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function () { + return _format[key]; + } + }); +}); +var _graphqlHelpers = __webpack_require__(/*! ./graphql-helpers */ "../../graphiql-toolkit/esm/graphql-helpers/index.js"); +Object.keys(_graphqlHelpers).forEach(function (key) { + if (key === "default" || key === "__esModule") return; + if (key in exports && exports[key] === _graphqlHelpers[key]) return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function () { + return _graphqlHelpers[key]; + } + }); +}); +var _storage = __webpack_require__(/*! ./storage */ "../../graphiql-toolkit/esm/storage/index.js"); +Object.keys(_storage).forEach(function (key) { + if (key === "default" || key === "__esModule") return; + if (key in exports && exports[key] === _storage[key]) return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function () { + return _storage[key]; + } + }); +}); + +/***/ }), + +/***/ "../../graphiql-toolkit/esm/storage/base.js": +/*!**************************************************!*\ + !*** ../../graphiql-toolkit/esm/storage/base.js ***! + \**************************************************/ +/***/ (function(__unused_webpack_module, exports) { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.StorageAPI = void 0; +function isQuotaError(storage, e) { + return e instanceof DOMException && (e.code === 22 || e.code === 1014 || e.name === 'QuotaExceededError' || e.name === 'NS_ERROR_DOM_QUOTA_REACHED') && storage.length !== 0; } -f(ge, "_mergeNamespaces"); -var ye = { - exports: {} -}; -(function (F, W) { - (function (w) { - w(Dr.requireCodemirror()); - })(function (w) { - w.defineMode("javascript", function (M, h) { - var A = M.indentUnit, - vr = h.statementIndent, - rr = h.jsonld, - O = h.json || rr, - gr = h.trackScope !== !1, - k = h.typescript, - er = h.wordCharacters || /[\w$\xa1-\uffff]/, - yr = function () { - function r(y) { - return { - type: y, - style: "keyword" - }; - } - f(r, "kw"); - var e = r("keyword a"), - t = r("keyword b"), - a = r("keyword c"), - o = r("keyword d"), - d = r("operator"), - p = { - type: "atom", - style: "atom" - }; - return { - if: r("if"), - while: e, - with: e, - else: t, - do: t, - try: t, - finally: t, - return: o, - break: o, - continue: o, - new: r("new"), - delete: a, - void: a, - throw: a, - debugger: r("debugger"), - var: r("var"), - const: r("var"), - let: r("var"), - function: r("function"), - catch: r("catch"), - for: r("for"), - switch: r("switch"), - case: r("case"), - default: r("default"), - in: d, - typeof: d, - instanceof: d, - true: p, - false: p, - null: p, - undefined: p, - NaN: p, - Infinity: p, - this: r("this"), - class: r("class"), - super: r("atom"), - yield: a, - export: r("export"), - import: r("import"), - extends: a, - await: a - }; - }(), - jr = /[+\-*&%=<>!?|~^@]/, - Lr = /^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)"/; - function Qr(r) { - for (var e = !1, t, a = !1; (t = r.next()) != null;) { - if (!e) { - if (t == "/" && !a) return; - t == "[" ? a = !0 : a && t == "]" && (a = !1); - } - e = !e && t == "\\"; - } - } - f(Qr, "readRegexp"); - var K, nr; - function x(r, e, t) { - return K = r, nr = t, e; - } - f(x, "ret"); - function $(r, e) { - var t = r.next(); - if (t == '"' || t == "'") return e.tokenize = Rr(t), e.tokenize(r, e); - if (t == "." && r.match(/^\d[\d_]*(?:[eE][+\-]?[\d_]+)?/)) return x("number", "number"); - if (t == "." && r.match("..")) return x("spread", "meta"); - if (/[\[\]{}\(\),;\:\.]/.test(t)) return x(t); - if (t == "=" && r.eat(">")) return x("=>", "operator"); - if (t == "0" && r.match(/^(?:x[\dA-Fa-f_]+|o[0-7_]+|b[01_]+)n?/)) return x("number", "number"); - if (/\d/.test(t)) return r.match(/^[\d_]*(?:n|(?:\.[\d_]*)?(?:[eE][+\-]?[\d_]+)?)?/), x("number", "number"); - if (t == "/") return r.eat("*") ? (e.tokenize = tr, tr(r, e)) : r.eat("/") ? (r.skipToEnd(), x("comment", "comment")) : Fr(r, e, 1) ? (Qr(r), r.match(/^\b(([gimyus])(?![gimyus]*\2))+\b/), x("regexp", "string-2")) : (r.eat("="), x("operator", "operator", r.current())); - if (t == "`") return e.tokenize = H, H(r, e); - if (t == "#" && r.peek() == "!") return r.skipToEnd(), x("meta", "meta"); - if (t == "#" && r.eatWhile(er)) return x("variable", "property"); - if (t == "<" && r.match("!--") || t == "-" && r.match("->") && !/\S/.test(r.string.slice(0, r.start))) return r.skipToEnd(), x("comment", "comment"); - if (jr.test(t)) return (t != ">" || !e.lexical || e.lexical.type != ">") && (r.eat("=") ? (t == "!" || t == "=") && r.eat("=") : /[<>*+\-|&?]/.test(t) && (r.eat(t), t == ">" && r.eat(t))), t == "?" && r.eat(".") ? x(".") : x("operator", "operator", r.current()); - if (er.test(t)) { - r.eatWhile(er); - var a = r.current(); - if (e.lastType != ".") { - if (yr.propertyIsEnumerable(a)) { - var o = yr[a]; - return x(o.type, o.style, a); - } - if (a == "async" && r.match(/^(\s|\/\*([^*]|\*(?!\/))*?\*\/)*[\[\(\w]/, !1)) return x("async", "keyword", a); - } - return x("variable", "variable", a); - } - } - f($, "tokenBase"); - function Rr(r) { - return function (e, t) { - var a = !1, - o; - if (rr && e.peek() == "@" && e.match(Lr)) return t.tokenize = $, x("jsonld-keyword", "meta"); - for (; (o = e.next()) != null && !(o == r && !a);) a = !a && o == "\\"; - return a || (t.tokenize = $), x("string", "string"); - }; - } - f(Rr, "tokenString"); - function tr(r, e) { - for (var t = !1, a; a = r.next();) { - if (a == "/" && t) { - e.tokenize = $; - break; - } - t = a == "*"; - } - return x("comment", "comment"); - } - f(tr, "tokenComment"); - function H(r, e) { - for (var t = !1, a; (a = r.next()) != null;) { - if (!t && (a == "`" || a == "$" && r.eat("{"))) { - e.tokenize = $; - break; - } - t = !t && a == "\\"; - } - return x("quasi", "string-2", r.current()); - } - f(H, "tokenQuasi"); - var Ur = "([{}])"; - function dr(r, e) { - e.fatArrowAt && (e.fatArrowAt = null); - var t = r.string.indexOf("=>", r.start); - if (!(t < 0)) { - if (k) { - var a = /:\s*(?:\w+(?:<[^>]*>|\[\])?|\{[^}]*\})\s*$/.exec(r.string.slice(r.start, t)); - a && (t = a.index); - } - for (var o = 0, d = !1, p = t - 1; p >= 0; --p) { - var y = r.string.charAt(p), - V = Ur.indexOf(y); - if (V >= 0 && V < 3) { - if (!o) { - ++p; - break; - } - if (--o == 0) { - y == "(" && (d = !0); - break; - } - } else if (V >= 3 && V < 6) ++o;else if (er.test(y)) d = !0;else if (/["'\/`]/.test(y)) for (;; --p) { - if (p == 0) return; - var he = r.string.charAt(p - 1); - if (he == y && r.string.charAt(p - 2) != "\\") { - p--; - break; - } - } else if (d && !o) { - ++p; - break; - } - } - d && !o && (e.fatArrowAt = p); - } - } - f(dr, "findFatArrow"); - var Wr = { - atom: !0, - number: !0, - variable: !0, - string: !0, - regexp: !0, - this: !0, - import: !0, - "jsonld-keyword": !0 - }; - function Er(r, e, t, a, o, d) { - this.indented = r, this.column = e, this.type = t, this.prev = o, this.info = d, a != null && (this.align = a); - } - f(Er, "JSLexical"); - function Kr(r, e) { - if (!gr) return !1; - for (var t = r.localVars; t; t = t.next) if (t.name == e) return !0; - for (var a = r.context; a; a = a.prev) for (var t = a.vars; t; t = t.next) if (t.name == e) return !0; - } - f(Kr, "inScope"); - function Tr(r, e, t, a, o) { - var d = r.cc; - for (i.state = r, i.stream = o, i.marked = null, i.cc = d, i.style = e, r.lexical.hasOwnProperty("align") || (r.lexical.align = !0);;) { - var p = d.length ? d.pop() : O ? b : v; - if (p(t, a)) { - for (; d.length && d[d.length - 1].lex;) d.pop()(); - return i.marked ? i.marked : t == "variable" && Kr(r, a) ? "variable-2" : e; - } - } - } - f(Tr, "parseJS"); - var i = { - state: null, - column: null, - marked: null, - cc: null - }; - function s() { - for (var r = arguments.length - 1; r >= 0; r--) i.cc.push(arguments[r]); - } - f(s, "pass"); - function n() { - return s.apply(null, arguments), !0; - } - f(n, "cont"); - function mr(r, e) { - for (var t = e; t; t = t.next) if (t.name == r) return !0; - return !1; - } - f(mr, "inList"); - function D(r) { - var e = i.state; - if (i.marked = "def", !!gr) { - if (e.context) { - if (e.lexical.info == "var" && e.context && e.context.block) { - var t = Ar(r, e.context); - if (t != null) { - e.context = t; - return; - } - } else if (!mr(r, e.localVars)) { - e.localVars = new X(r, e.localVars); - return; - } - } - h.globalVars && !mr(r, e.globalVars) && (e.globalVars = new X(r, e.globalVars)); - } - } - f(D, "register"); - function Ar(r, e) { - if (e) { - if (e.block) { - var t = Ar(r, e.prev); - return t ? t == e.prev ? e : new G(t, e.vars, !0) : null; - } else return mr(r, e.vars) ? e : new G(e.prev, new X(r, e.vars), !1); - } else return null; - } - f(Ar, "registerVarScoped"); - function ir(r) { - return r == "public" || r == "private" || r == "protected" || r == "abstract" || r == "readonly"; - } - f(ir, "isModifier"); - function G(r, e, t) { - this.prev = r, this.vars = e, this.block = t; - } - f(G, "Context"); - function X(r, e) { - this.name = r, this.next = e; - } - f(X, "Var"); - var Hr = new X("this", new X("arguments", null)); - function q() { - i.state.context = new G(i.state.context, i.state.localVars, !1), i.state.localVars = Hr; - } - f(q, "pushcontext"); - function fr() { - i.state.context = new G(i.state.context, i.state.localVars, !0), i.state.localVars = null; - } - f(fr, "pushblockcontext"), q.lex = fr.lex = !0; - function E() { - i.state.localVars = i.state.context.vars, i.state.context = i.state.context.prev; - } - f(E, "popcontext"), E.lex = !0; - function c(r, e) { - var t = f(function () { - var a = i.state, - o = a.indented; - if (a.lexical.type == "stat") o = a.lexical.indented;else for (var d = a.lexical; d && d.type == ")" && d.align; d = d.prev) o = d.indented; - a.lexical = new Er(o, i.stream.column(), r, null, a.lexical, e); - }, "result"); - return t.lex = !0, t; - } - f(c, "pushlex"); - function u() { - var r = i.state; - r.lexical.prev && (r.lexical.type == ")" && (r.indented = r.lexical.indented), r.lexical = r.lexical.prev); - } - f(u, "poplex"), u.lex = !0; - function l(r) { - function e(t) { - return t == r ? n() : r == ";" || t == "}" || t == ")" || t == "]" ? s() : n(e); +class StorageAPI { + constructor(storage) { + if (storage) { + this.storage = storage; + } else if (storage === null) { + this.storage = null; + } else if (typeof window === 'undefined') { + this.storage = null; + } else { + this.storage = { + getItem: window.localStorage.getItem.bind(window.localStorage), + setItem: window.localStorage.setItem.bind(window.localStorage), + removeItem: window.localStorage.removeItem.bind(window.localStorage), + get length() { + let keys = 0; + for (const key in window.localStorage) { + if (key.indexOf(`${STORAGE_NAMESPACE}:`) === 0) { + keys += 1; + } + } + return keys; + }, + clear() { + for (const key in window.localStorage) { + if (key.indexOf(`${STORAGE_NAMESPACE}:`) === 0) { + window.localStorage.removeItem(key); + } + } } - return f(e, "exp"), e; - } - f(l, "expect"); - function v(r, e) { - return r == "var" ? n(c("vardef", e), xr, l(";"), u) : r == "keyword a" ? n(c("form"), pr, v, u) : r == "keyword b" ? n(c("form"), v, u) : r == "keyword d" ? i.stream.match(/^\s*$/, !1) ? n() : n(c("stat"), J, l(";"), u) : r == "debugger" ? n(l(";")) : r == "{" ? n(c("}"), fr, or, u, E) : r == ";" ? n() : r == "if" ? (i.state.lexical.info == "else" && i.state.cc[i.state.cc.length - 1] == u && i.state.cc.pop()(), n(c("form"), pr, v, u, Mr)) : r == "function" ? n(z) : r == "for" ? n(c("form"), fr, Or, v, E, u) : r == "class" || k && e == "interface" ? (i.marked = "keyword", n(c("form", r == "class" ? r : e), qr, u)) : r == "variable" ? k && e == "declare" ? (i.marked = "keyword", n(v)) : k && (e == "module" || e == "enum" || e == "type") && i.stream.match(/^\s*\w/, !1) ? (i.marked = "keyword", e == "enum" ? n(Pr) : e == "type" ? n($r, l("operator"), m, l(";")) : n(c("form"), T, l("{"), c("}"), or, u, u)) : k && e == "namespace" ? (i.marked = "keyword", n(c("form"), b, v, u)) : k && e == "abstract" ? (i.marked = "keyword", n(v)) : n(c("stat"), re) : r == "switch" ? n(c("form"), pr, l("{"), c("}", "switch"), fr, or, u, u, E) : r == "case" ? n(b, l(":")) : r == "default" ? n(l(":")) : r == "catch" ? n(c("form"), q, Gr, v, u, E) : r == "export" ? n(c("stat"), me, u) : r == "import" ? n(c("stat"), pe, u) : r == "async" ? n(v) : e == "@" ? n(b, v) : s(c("stat"), b, l(";"), u); - } - f(v, "statement"); - function Gr(r) { - if (r == "(") return n(P, l(")")); - } - f(Gr, "maybeCatchBinding"); - function b(r, e) { - return Vr(r, e, !1); - } - f(b, "expression"); - function j(r, e) { - return Vr(r, e, !0); - } - f(j, "expressionNoComma"); - function pr(r) { - return r != "(" ? s() : n(c(")"), J, l(")"), u); - } - f(pr, "parenExpr"); - function Vr(r, e, t) { - if (i.state.fatArrowAt == i.stream.start) { - var a = t ? Sr : Ir; - if (r == "(") return n(q, c(")"), g(P, ")"), u, l("=>"), a, E); - if (r == "variable") return s(q, T, l("=>"), a, E); + }; + } + } + get(name) { + if (!this.storage) { + return null; + } + const key = `${STORAGE_NAMESPACE}:${name}`; + const value = this.storage.getItem(key); + if (value === 'null' || value === 'undefined') { + this.storage.removeItem(key); + return null; + } + return value || null; + } + set(name, value) { + let quotaError = false; + let error = null; + if (this.storage) { + const key = `${STORAGE_NAMESPACE}:${name}`; + if (value) { + try { + this.storage.setItem(key, value); + } catch (e) { + error = e instanceof Error ? e : new Error(`${e}`); + quotaError = isQuotaError(this.storage, e); } - var o = t ? L : N; - return Wr.hasOwnProperty(r) ? n(o) : r == "function" ? n(z, o) : r == "class" || k && e == "interface" ? (i.marked = "keyword", n(c("form"), de, u)) : r == "keyword c" || r == "async" ? n(t ? j : b) : r == "(" ? n(c(")"), J, l(")"), u, o) : r == "operator" || r == "spread" ? n(t ? j : b) : r == "[" ? n(c("]"), be, u, o) : r == "{" ? Y(ur, "}", null, o) : r == "quasi" ? s(ar, o) : r == "new" ? n(Yr(t)) : n(); - } - f(Vr, "expressionInner"); - function J(r) { - return r.match(/[;\}\)\],]/) ? s() : s(b); - } - f(J, "maybeexpression"); - function N(r, e) { - return r == "," ? n(J) : L(r, e, !1); + } else { + this.storage.removeItem(key); } - f(N, "maybeoperatorComma"); - function L(r, e, t) { - var a = t == !1 ? N : L, - o = t == !1 ? b : j; - if (r == "=>") return n(q, t ? Sr : Ir, E); - if (r == "operator") return /\+\+|--/.test(e) || k && e == "!" ? n(a) : k && e == "<" && i.stream.match(/^([^<>]|<[^<>]*>)*>\s*\(/, !1) ? n(c(">"), g(m, ">"), u, a) : e == "?" ? n(b, l(":"), o) : n(o); - if (r == "quasi") return s(ar, a); - if (r != ";") { - if (r == "(") return Y(j, ")", "call", a); - if (r == ".") return n(ee, a); - if (r == "[") return n(c("]"), J, l("]"), u, a); - if (k && e == "as") return i.marked = "keyword", n(m, a); - if (r == "regexp") return i.state.lastType = i.marked = "operator", i.stream.backUp(i.stream.pos - i.stream.start - 1), n(o); + } + return { + isQuotaError: quotaError, + error + }; + } + clear() { + if (this.storage) { + this.storage.clear(); + } + } +} +exports.StorageAPI = StorageAPI; +const STORAGE_NAMESPACE = 'graphiql'; + +/***/ }), + +/***/ "../../graphiql-toolkit/esm/storage/custom.js": +/*!****************************************************!*\ + !*** ../../graphiql-toolkit/esm/storage/custom.js ***! + \****************************************************/ +/***/ (function(__unused_webpack_module, exports) { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.createLocalStorage = createLocalStorage; +function createLocalStorage(_ref) { + let { + namespace + } = _ref; + const storageKeyPrefix = `${namespace}:`; + const getStorageKey = key => `${storageKeyPrefix}${key}`; + const storage = { + setItem: (key, value) => localStorage.setItem(getStorageKey(key), value), + getItem: key => localStorage.getItem(getStorageKey(key)), + removeItem: key => localStorage.removeItem(getStorageKey(key)), + get length() { + let keys = 0; + for (const key in window.localStorage) { + if (key.indexOf(storageKeyPrefix) === 0) { + keys += 1; } } - f(L, "maybeoperatorNoComma"); - function ar(r, e) { - return r != "quasi" ? s() : e.slice(e.length - 2) != "${" ? n(ar) : n(J, Xr); - } - f(ar, "quasi"); - function Xr(r) { - if (r == "}") return i.marked = "string-2", i.state.tokenize = H, n(ar); - } - f(Xr, "continueQuasi"); - function Ir(r) { - return dr(i.stream, i.state), s(r == "{" ? v : b); - } - f(Ir, "arrowBody"); - function Sr(r) { - return dr(i.stream, i.state), s(r == "{" ? v : j); - } - f(Sr, "arrowBodyNoComma"); - function Yr(r) { - return function (e) { - return e == "." ? n(r ? Cr : Zr) : e == "variable" && k ? n(ue, r ? L : N) : s(r ? j : b); - }; - } - f(Yr, "maybeTarget"); - function Zr(r, e) { - if (e == "target") return i.marked = "keyword", n(N); - } - f(Zr, "target"); - function Cr(r, e) { - if (e == "target") return i.marked = "keyword", n(L); - } - f(Cr, "targetNoComma"); - function re(r) { - return r == ":" ? n(u, v) : s(N, l(";"), u); - } - f(re, "maybelabel"); - function ee(r) { - if (r == "variable") return i.marked = "property", n(); - } - f(ee, "property"); - function ur(r, e) { - if (r == "async") return i.marked = "property", n(ur); - if (r == "variable" || i.style == "keyword") { - if (i.marked = "property", e == "get" || e == "set") return n(ne); - var t; - return k && i.state.fatArrowAt == i.stream.start && (t = i.stream.match(/^\s*:\s*/, !1)) && (i.state.fatArrowAt = i.stream.pos + t[0].length), n(B); - } else { - if (r == "number" || r == "string") return i.marked = rr ? "property" : i.style + " property", n(B); - if (r == "jsonld-keyword") return n(B); - if (k && ir(e)) return i.marked = "keyword", n(ur); - if (r == "[") return n(b, Q, l("]"), B); - if (r == "spread") return n(j, B); - if (e == "*") return i.marked = "keyword", n(ur); - if (r == ":") return s(B); + return keys; + }, + clear() { + for (const key in window.localStorage) { + if (key.indexOf(storageKeyPrefix) === 0) { + window.localStorage.removeItem(key); } } - f(ur, "objprop"); - function ne(r) { - return r != "variable" ? s(B) : (i.marked = "property", n(z)); - } - f(ne, "getterSetter"); - function B(r) { - if (r == ":") return n(j); - if (r == "(") return s(z); + } + }; + return storage; +} + +/***/ }), + +/***/ "../../graphiql-toolkit/esm/storage/history.js": +/*!*****************************************************!*\ + !*** ../../graphiql-toolkit/esm/storage/history.js ***! + \*****************************************************/ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.HistoryStore = void 0; +var _graphql = __webpack_require__(/*! graphql */ "../../../node_modules/graphql/index.mjs"); +var _query = __webpack_require__(/*! ./query */ "../../graphiql-toolkit/esm/storage/query.js"); +const MAX_QUERY_SIZE = 100000; +class HistoryStore { + constructor(storage, maxHistoryLength) { + var _this = this; + this.storage = storage; + this.maxHistoryLength = maxHistoryLength; + this.updateHistory = _ref => { + let { + query, + variables, + headers, + operationName + } = _ref; + if (!this.shouldSaveQuery(query, variables, headers, this.history.fetchRecent())) { + return; } - f(B, "afterprop"); - function g(r, e, t) { - function a(o, d) { - if (t ? t.indexOf(o) > -1 : o == ",") { - var p = i.state.lexical; - return p.info == "call" && (p.pos = (p.pos || 0) + 1), n(function (y, V) { - return y == e || V == e ? s() : s(r); - }, a); - } - return o == e || d == e ? n() : t && t.indexOf(";") > -1 ? s(r) : n(l(e)); + this.history.push({ + query, + variables, + headers, + operationName + }); + const historyQueries = this.history.items; + const favoriteQueries = this.favorite.items; + this.queries = historyQueries.concat(favoriteQueries); + }; + this.deleteHistory = function (_ref2) { + let { + query, + variables, + headers, + operationName, + favorite + } = _ref2; + let clearFavorites = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + function deleteFromStore(store) { + const found = store.items.find(x => x.query === query && x.variables === variables && x.headers === headers && x.operationName === operationName); + if (found) { + store.delete(found); } - return f(a, "proceed"), function (o, d) { - return o == e || d == e ? n() : s(r, a); - }; } - f(g, "commasep"); - function Y(r, e, t) { - for (var a = 3; a < arguments.length; a++) i.cc.push(arguments[a]); - return n(c(e, t), g(r, e), u); + if (favorite || clearFavorites) { + deleteFromStore(_this.favorite); } - f(Y, "contCommasep"); - function or(r) { - return r == "}" ? n() : s(v, or); + if (!favorite || clearFavorites) { + deleteFromStore(_this.history); } - f(or, "block"); - function Q(r, e) { - if (k) { - if (r == ":") return n(m); - if (e == "?") return n(Q); + _this.queries = [..._this.history.items, ..._this.favorite.items]; + }; + this.history = new _query.QueryStore('queries', this.storage, this.maxHistoryLength); + this.favorite = new _query.QueryStore('favorites', this.storage, null); + this.queries = [...this.history.fetchAll(), ...this.favorite.fetchAll()]; + } + shouldSaveQuery(query, variables, headers, lastQuerySaved) { + if (!query) { + return false; + } + try { + (0, _graphql.parse)(query); + } catch (_a) { + return false; + } + if (query.length > MAX_QUERY_SIZE) { + return false; + } + if (!lastQuerySaved) { + return true; + } + if (JSON.stringify(query) === JSON.stringify(lastQuerySaved.query)) { + if (JSON.stringify(variables) === JSON.stringify(lastQuerySaved.variables)) { + if (JSON.stringify(headers) === JSON.stringify(lastQuerySaved.headers)) { + return false; + } + if (headers && !lastQuerySaved.headers) { + return false; } } - f(Q, "maybetype"); - function te(r, e) { - if (k && (r == ":" || e == "in")) return n(m); - } - f(te, "maybetypeOrIn"); - function _r(r) { - if (k && r == ":") return i.stream.match(/^\s*\w+\s+is\b/, !1) ? n(b, ie, m) : n(m); - } - f(_r, "mayberettype"); - function ie(r, e) { - if (e == "is") return i.marked = "keyword", n(); - } - f(ie, "isKW"); - function m(r, e) { - if (e == "keyof" || e == "typeof" || e == "infer" || e == "readonly") return i.marked = "keyword", n(e == "typeof" ? j : m); - if (r == "variable" || e == "void") return i.marked = "type", n(I); - if (e == "|" || e == "&") return n(m); - if (r == "string" || r == "number" || r == "atom") return n(I); - if (r == "[") return n(c("]"), g(m, "]", ","), u, I); - if (r == "{") return n(c("}"), kr, u, I); - if (r == "(") return n(g(wr, ")"), fe, I); - if (r == "<") return n(g(m, ">"), m); - if (r == "quasi") return s(br, I); - } - f(m, "typeexpr"); - function fe(r) { - if (r == "=>") return n(m); - } - f(fe, "maybeReturnType"); - function kr(r) { - return r.match(/[\}\)\]]/) ? n() : r == "," || r == ";" ? n(kr) : s(Z, kr); - } - f(kr, "typeprops"); - function Z(r, e) { - if (r == "variable" || i.style == "keyword") return i.marked = "property", n(Z); - if (e == "?" || r == "number" || r == "string") return n(Z); - if (r == ":") return n(m); - if (r == "[") return n(l("variable"), te, l("]"), Z); - if (r == "(") return s(U, Z); - if (!r.match(/[;\}\)\],]/)) return n(); - } - f(Z, "typeprop"); - function br(r, e) { - return r != "quasi" ? s() : e.slice(e.length - 2) != "${" ? n(br) : n(m, ae); - } - f(br, "quasiType"); - function ae(r) { - if (r == "}") return i.marked = "string-2", i.state.tokenize = H, n(br); - } - f(ae, "continueQuasiType"); - function wr(r, e) { - return r == "variable" && i.stream.match(/^\s*[?:]/, !1) || e == "?" ? n(wr) : r == ":" ? n(m) : r == "spread" ? n(wr) : s(m); - } - f(wr, "typearg"); - function I(r, e) { - if (e == "<") return n(c(">"), g(m, ">"), u, I); - if (e == "|" || r == "." || e == "&") return n(m); - if (r == "[") return n(m, l("]"), I); - if (e == "extends" || e == "implements") return i.marked = "keyword", n(m); - if (e == "?") return n(m, l(":"), m); - } - f(I, "afterType"); - function ue(r, e) { - if (e == "<") return n(c(">"), g(m, ">"), u, I); - } - f(ue, "maybeTypeArgs"); - function sr() { - return s(m, oe); - } - f(sr, "typeparam"); - function oe(r, e) { - if (e == "=") return n(m); - } - f(oe, "maybeTypeDefault"); - function xr(r, e) { - return e == "enum" ? (i.marked = "keyword", n(Pr)) : s(T, Q, _, ce); - } - f(xr, "vardef"); - function T(r, e) { - if (k && ir(e)) return i.marked = "keyword", n(T); - if (r == "variable") return D(e), n(); - if (r == "spread") return n(T); - if (r == "[") return Y(se, "]"); - if (r == "{") return Y(zr, "}"); - } - f(T, "pattern"); - function zr(r, e) { - return r == "variable" && !i.stream.match(/^\s*:/, !1) ? (D(e), n(_)) : (r == "variable" && (i.marked = "property"), r == "spread" ? n(T) : r == "}" ? s() : r == "[" ? n(b, l("]"), l(":"), zr) : n(l(":"), T, _)); - } - f(zr, "proppattern"); - function se() { - return s(T, _); - } - f(se, "eltpattern"); - function _(r, e) { - if (e == "=") return n(j); - } - f(_, "maybeAssign"); - function ce(r) { - if (r == ",") return n(xr); - } - f(ce, "vardefCont"); - function Mr(r, e) { - if (r == "keyword b" && e == "else") return n(c("form", "else"), v, u); - } - f(Mr, "maybeelse"); - function Or(r, e) { - if (e == "await") return n(Or); - if (r == "(") return n(c(")"), le, u); + if (variables && !lastQuerySaved.variables) { + return false; } - f(Or, "forspec"); - function le(r) { - return r == "var" ? n(xr, R) : r == "variable" ? n(R) : s(R); + } + return true; + } + toggleFavorite(_ref3) { + let { + query, + variables, + headers, + operationName, + label, + favorite + } = _ref3; + const item = { + query, + variables, + headers, + operationName, + label + }; + if (favorite) { + item.favorite = false; + this.favorite.delete(item); + this.history.push(item); + } else { + item.favorite = true; + this.favorite.push(item); + this.history.delete(item); + } + this.queries = [...this.history.items, ...this.favorite.items]; + } + editLabel(_ref4, index) { + let { + query, + variables, + headers, + operationName, + label, + favorite + } = _ref4; + const item = { + query, + variables, + headers, + operationName, + label + }; + if (favorite) { + this.favorite.edit(Object.assign(Object.assign({}, item), { + favorite + }), index); + } else { + this.history.edit(item, index); + } + this.queries = [...this.history.items, ...this.favorite.items]; + } +} +exports.HistoryStore = HistoryStore; + +/***/ }), + +/***/ "../../graphiql-toolkit/esm/storage/index.js": +/*!***************************************************!*\ + !*** ../../graphiql-toolkit/esm/storage/index.js ***! + \***************************************************/ +/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +var _base = __webpack_require__(/*! ./base */ "../../graphiql-toolkit/esm/storage/base.js"); +Object.keys(_base).forEach(function (key) { + if (key === "default" || key === "__esModule") return; + if (key in exports && exports[key] === _base[key]) return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function () { + return _base[key]; + } + }); +}); +var _history = __webpack_require__(/*! ./history */ "../../graphiql-toolkit/esm/storage/history.js"); +Object.keys(_history).forEach(function (key) { + if (key === "default" || key === "__esModule") return; + if (key in exports && exports[key] === _history[key]) return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function () { + return _history[key]; + } + }); +}); +var _query = __webpack_require__(/*! ./query */ "../../graphiql-toolkit/esm/storage/query.js"); +Object.keys(_query).forEach(function (key) { + if (key === "default" || key === "__esModule") return; + if (key in exports && exports[key] === _query[key]) return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function () { + return _query[key]; + } + }); +}); +var _custom = __webpack_require__(/*! ./custom */ "../../graphiql-toolkit/esm/storage/custom.js"); +Object.keys(_custom).forEach(function (key) { + if (key === "default" || key === "__esModule") return; + if (key in exports && exports[key] === _custom[key]) return; + Object.defineProperty(exports, key, { + enumerable: true, + get: function () { + return _custom[key]; + } + }); +}); + +/***/ }), + +/***/ "../../graphiql-toolkit/esm/storage/query.js": +/*!***************************************************!*\ + !*** ../../graphiql-toolkit/esm/storage/query.js ***! + \***************************************************/ +/***/ (function(__unused_webpack_module, exports) { + + + +Object.defineProperty(exports, "__esModule", ({ + value: true +})); +exports.QueryStore = void 0; +class QueryStore { + constructor(key, storage) { + let maxSize = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; + this.key = key; + this.storage = storage; + this.maxSize = maxSize; + this.items = this.fetchAll(); + } + get length() { + return this.items.length; + } + contains(item) { + return this.items.some(x => x.query === item.query && x.variables === item.variables && x.headers === item.headers && x.operationName === item.operationName); + } + edit(item, index) { + if (typeof index === 'number' && this.items[index]) { + const found = this.items[index]; + if (found.query === item.query && found.variables === item.variables && found.headers === item.headers && found.operationName === item.operationName) { + this.items.splice(index, 1, item); + this.save(); + return; } - f(le, "forspec1"); - function R(r, e) { - return r == ")" ? n() : r == ";" ? n(R) : e == "in" || e == "of" ? (i.marked = "keyword", n(b, R)) : s(b, R); + } + const itemIndex = this.items.findIndex(x => x.query === item.query && x.variables === item.variables && x.headers === item.headers && x.operationName === item.operationName); + if (itemIndex !== -1) { + this.items.splice(itemIndex, 1, item); + this.save(); + } + } + delete(item) { + const itemIndex = this.items.findIndex(x => x.query === item.query && x.variables === item.variables && x.headers === item.headers && x.operationName === item.operationName); + if (itemIndex !== -1) { + this.items.splice(itemIndex, 1); + this.save(); + } + } + fetchRecent() { + return this.items.at(-1); + } + fetchAll() { + const raw = this.storage.get(this.key); + if (raw) { + return JSON.parse(raw)[this.key]; + } + return []; + } + push(item) { + const items = [...this.items, item]; + if (this.maxSize && items.length > this.maxSize) { + items.shift(); + } + for (let attempts = 0; attempts < 5; attempts++) { + const response = this.storage.set(this.key, JSON.stringify({ + [this.key]: items + })); + if (!(response === null || response === void 0 ? void 0 : response.error)) { + this.items = items; + } else if (response.isQuotaError && this.maxSize) { + items.shift(); + } else { + return; } - f(R, "forspec2"); - function z(r, e) { - if (e == "*") return i.marked = "keyword", n(z); - if (r == "variable") return D(e), n(z); - if (r == "(") return n(q, c(")"), g(P, ")"), u, _r, v, E); - if (k && e == "<") return n(c(">"), g(sr, ">"), u, z); + } + } + save() { + this.storage.set(this.key, JSON.stringify({ + [this.key]: this.items + })); + } +} +exports.QueryStore = QueryStore; + +/***/ }), + +/***/ "../node_modules/linkify-it/build/index.cjs.js": +/*!*****************************************************!*\ + !*** ../node_modules/linkify-it/build/index.cjs.js ***! + \*****************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + + +var uc_micro = __webpack_require__(/*! uc.micro */ "../node_modules/uc.micro/build/index.cjs.js"); +function reFactory(opts) { + const re = {}; + opts = opts || {}; + re.src_Any = uc_micro.Any.source; + re.src_Cc = uc_micro.Cc.source; + re.src_Z = uc_micro.Z.source; + re.src_P = uc_micro.P.source; + + // \p{\Z\P\Cc\CF} (white spaces + control + format + punctuation) + re.src_ZPCc = [re.src_Z, re.src_P, re.src_Cc].join('|'); + + // \p{\Z\Cc} (white spaces + control) + re.src_ZCc = [re.src_Z, re.src_Cc].join('|'); + + // Experimental. List of chars, completely prohibited in links + // because can separate it from other part of text + const text_separators = '[><\uff5c]'; + + // All possible word characters (everything without punctuation, spaces & controls) + // Defined via punctuation & spaces to save space + // Should be something like \p{\L\N\S\M} (\w but without `_`) + re.src_pseudo_letter = '(?:(?!' + text_separators + '|' + re.src_ZPCc + ')' + re.src_Any + ')'; + // The same as abothe but without [0-9] + // var src_pseudo_letter_non_d = '(?:(?![0-9]|' + src_ZPCc + ')' + src_Any + ')'; + + re.src_ip4 = '(?:(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)'; + + // Prohibit any of "@/[]()" in user/pass to avoid wrong domain fetch. + re.src_auth = '(?:(?:(?!' + re.src_ZCc + '|[@/\\[\\]()]).)+@)?'; + re.src_port = '(?::(?:6(?:[0-4]\\d{3}|5(?:[0-4]\\d{2}|5(?:[0-2]\\d|3[0-5])))|[1-5]?\\d{1,4}))?'; + re.src_host_terminator = '(?=$|' + text_separators + '|' + re.src_ZPCc + ')' + '(?!' + (opts['---'] ? '-(?!--)|' : '-|') + '_|:\\d|\\.-|\\.(?!$|' + re.src_ZPCc + '))'; + re.src_path = '(?:' + '[/?#]' + '(?:' + '(?!' + re.src_ZCc + '|' + text_separators + '|[()[\\]{}.,"\'?!\\-;]).|' + '\\[(?:(?!' + re.src_ZCc + '|\\]).)*\\]|' + '\\((?:(?!' + re.src_ZCc + '|[)]).)*\\)|' + '\\{(?:(?!' + re.src_ZCc + '|[}]).)*\\}|' + '\\"(?:(?!' + re.src_ZCc + '|["]).)+\\"|' + "\\'(?:(?!" + re.src_ZCc + "|[']).)+\\'|" + + // allow `I'm_king` if no pair found + "\\'(?=" + re.src_pseudo_letter + '|[-])|' + + // google has many dots in "google search" links (#66, #81). + // github has ... in commit range links, + // Restrict to + // - english + // - percent-encoded + // - parts of file path + // - params separator + // until more examples found. + '\\.{2,}[a-zA-Z0-9%/&]|' + '\\.(?!' + re.src_ZCc + '|[.]|$)|' + (opts['---'] ? '\\-(?!--(?:[^-]|$))(?:-*)|' // `---` => long dash, terminate + : '\\-+|') + + // allow `,,,` in paths + ',(?!' + re.src_ZCc + '|$)|' + + // allow `;` if not followed by space-like char + ';(?!' + re.src_ZCc + '|$)|' + + // allow `!!!` in paths, but not at the end + '\\!+(?!' + re.src_ZCc + '|[!]|$)|' + '\\?(?!' + re.src_ZCc + '|[?]|$)' + ')+' + '|\\/' + ')?'; + + // Allow anything in markdown spec, forbid quote (") at the first position + // because emails enclosed in quotes are far more common + re.src_email_name = '[\\-;:&=\\+\\$,\\.a-zA-Z0-9_][\\-;:&=\\+\\$,\\"\\.a-zA-Z0-9_]*'; + re.src_xn = 'xn--[a-z0-9\\-]{1,59}'; + + // More to read about domain names + // http://serverfault.com/questions/638260/ + + re.src_domain_root = + // Allow letters & digits (http://test1) + '(?:' + re.src_xn + '|' + re.src_pseudo_letter + '{1,63}' + ')'; + re.src_domain = '(?:' + re.src_xn + '|' + '(?:' + re.src_pseudo_letter + ')' + '|' + '(?:' + re.src_pseudo_letter + '(?:-|' + re.src_pseudo_letter + '){0,61}' + re.src_pseudo_letter + ')' + ')'; + re.src_host = '(?:' + + // Don't need IP check, because digits are already allowed in normal domain names + // src_ip4 + + // '|' + + '(?:(?:(?:' + re.src_domain + ')\\.)*' + re.src_domain /* _root */ + ')' + ')'; + re.tpl_host_fuzzy = '(?:' + re.src_ip4 + '|' + '(?:(?:(?:' + re.src_domain + ')\\.)+(?:%TLDS%))' + ')'; + re.tpl_host_no_ip_fuzzy = '(?:(?:(?:' + re.src_domain + ')\\.)+(?:%TLDS%))'; + re.src_host_strict = re.src_host + re.src_host_terminator; + re.tpl_host_fuzzy_strict = re.tpl_host_fuzzy + re.src_host_terminator; + re.src_host_port_strict = re.src_host + re.src_port + re.src_host_terminator; + re.tpl_host_port_fuzzy_strict = re.tpl_host_fuzzy + re.src_port + re.src_host_terminator; + re.tpl_host_port_no_ip_fuzzy_strict = re.tpl_host_no_ip_fuzzy + re.src_port + re.src_host_terminator; + + // + // Main rules + // + + // Rude test fuzzy links by host, for quick deny + re.tpl_host_fuzzy_test = 'localhost|www\\.|\\.\\d{1,3}\\.|(?:\\.(?:%TLDS%)(?:' + re.src_ZPCc + '|>|$))'; + re.tpl_email_fuzzy = '(^|' + text_separators + '|"|\\(|' + re.src_ZCc + ')' + '(' + re.src_email_name + '@' + re.tpl_host_fuzzy_strict + ')'; + re.tpl_link_fuzzy = + // Fuzzy link can't be prepended with .:/\- and non punctuation. + // but can start with > (markdown blockquote) + '(^|(?![.:/\\-_@])(?:[$+<=>^`|\uff5c]|' + re.src_ZPCc + '))' + '((?![$+<=>^`|\uff5c])' + re.tpl_host_port_fuzzy_strict + re.src_path + ')'; + re.tpl_link_no_ip_fuzzy = + // Fuzzy link can't be prepended with .:/\- and non punctuation. + // but can start with > (markdown blockquote) + '(^|(?![.:/\\-_@])(?:[$+<=>^`|\uff5c]|' + re.src_ZPCc + '))' + '((?![$+<=>^`|\uff5c])' + re.tpl_host_port_no_ip_fuzzy_strict + re.src_path + ')'; + return re; +} + +// +// Helpers +// + +// Merge objects +// +function assign(obj /* from1, from2, from3, ... */) { + const sources = Array.prototype.slice.call(arguments, 1); + sources.forEach(function (source) { + if (!source) { + return; + } + Object.keys(source).forEach(function (key) { + obj[key] = source[key]; + }); + }); + return obj; +} +function _class(obj) { + return Object.prototype.toString.call(obj); +} +function isString(obj) { + return _class(obj) === '[object String]'; +} +function isObject(obj) { + return _class(obj) === '[object Object]'; +} +function isRegExp(obj) { + return _class(obj) === '[object RegExp]'; +} +function isFunction(obj) { + return _class(obj) === '[object Function]'; +} +function escapeRE(str) { + return str.replace(/[.?*+^$[\]\\(){}|-]/g, '\\$&'); +} + +// + +const defaultOptions = { + fuzzyLink: true, + fuzzyEmail: true, + fuzzyIP: false +}; +function isOptionsObj(obj) { + return Object.keys(obj || {}).reduce(function (acc, k) { + /* eslint-disable-next-line no-prototype-builtins */ + return acc || defaultOptions.hasOwnProperty(k); + }, false); +} +const defaultSchemas = { + 'http:': { + validate: function (text, pos, self) { + const tail = text.slice(pos); + if (!self.re.http) { + // compile lazily, because "host"-containing variables can change on tlds update. + self.re.http = new RegExp('^\\/\\/' + self.re.src_auth + self.re.src_host_port_strict + self.re.src_path, 'i'); } - f(z, "functiondef"); - function U(r, e) { - if (e == "*") return i.marked = "keyword", n(U); - if (r == "variable") return D(e), n(U); - if (r == "(") return n(q, c(")"), g(P, ")"), u, _r, E); - if (k && e == "<") return n(c(">"), g(sr, ">"), u, U); + if (self.re.http.test(tail)) { + return tail.match(self.re.http)[0].length; } - f(U, "functiondecl"); - function $r(r, e) { - if (r == "keyword" || r == "variable") return i.marked = "type", n($r); - if (e == "<") return n(c(">"), g(sr, ">"), u); + return 0; + } + }, + 'https:': 'http:', + 'ftp:': 'http:', + '//': { + validate: function (text, pos, self) { + const tail = text.slice(pos); + if (!self.re.no_http) { + // compile lazily, because "host"-containing variables can change on tlds update. + self.re.no_http = new RegExp('^' + self.re.src_auth + + // Don't allow single-level domains, because of false positives like '//test' + // with code comments + '(?:localhost|(?:(?:' + self.re.src_domain + ')\\.)+' + self.re.src_domain_root + ')' + self.re.src_port + self.re.src_host_terminator + self.re.src_path, 'i'); } - f($r, "typename"); - function P(r, e) { - return e == "@" && n(b, P), r == "spread" ? n(P) : k && ir(e) ? (i.marked = "keyword", n(P)) : k && r == "this" ? n(Q, _) : s(T, Q, _); + if (self.re.no_http.test(tail)) { + // should not be `://` & `///`, that protects from errors in protocol name + if (pos >= 3 && text[pos - 3] === ':') { + return 0; + } + if (pos >= 3 && text[pos - 3] === '/') { + return 0; + } + return tail.match(self.re.no_http)[0].length; } - f(P, "funarg"); - function de(r, e) { - return r == "variable" ? qr(r, e) : cr(r, e); + return 0; + } + }, + 'mailto:': { + validate: function (text, pos, self) { + const tail = text.slice(pos); + if (!self.re.mailto) { + self.re.mailto = new RegExp('^' + self.re.src_email_name + '@' + self.re.src_host_strict, 'i'); } - f(de, "classExpression"); - function qr(r, e) { - if (r == "variable") return D(e), n(cr); + if (self.re.mailto.test(tail)) { + return tail.match(self.re.mailto)[0].length; } - f(qr, "className"); - function cr(r, e) { - if (e == "<") return n(c(">"), g(sr, ">"), u, cr); - if (e == "extends" || e == "implements" || k && r == ",") return e == "implements" && (i.marked = "keyword"), n(k ? m : b, cr); - if (r == "{") return n(c("}"), S, u); + return 0; + } + } +}; + +// RE pattern for 2-character tlds (autogenerated by ./support/tlds_2char_gen.js) +/* eslint-disable-next-line max-len */ +const tlds_2ch_src_re = 'a[cdefgilmnoqrstuwxz]|b[abdefghijmnorstvwyz]|c[acdfghiklmnoruvwxyz]|d[ejkmoz]|e[cegrstu]|f[ijkmor]|g[abdefghilmnpqrstuwy]|h[kmnrtu]|i[delmnoqrst]|j[emop]|k[eghimnprwyz]|l[abcikrstuvy]|m[acdeghklmnopqrstuvwxyz]|n[acefgilopruz]|om|p[aefghklmnrstwy]|qa|r[eosuw]|s[abcdeghijklmnortuvxyz]|t[cdfghjklmnortvwz]|u[agksyz]|v[aceginu]|w[fs]|y[et]|z[amw]'; + +// DON'T try to make PRs with changes. Extend TLDs with LinkifyIt.tlds() instead +const tlds_default = 'biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф'.split('|'); +function resetScanCache(self) { + self.__index__ = -1; + self.__text_cache__ = ''; +} +function createValidator(re) { + return function (text, pos) { + const tail = text.slice(pos); + if (re.test(tail)) { + return tail.match(re)[0].length; + } + return 0; + }; +} +function createNormalizer() { + return function (match, self) { + self.normalize(match); + }; +} + +// Schemas compiler. Build regexps. +// +function compile(self) { + // Load & clone RE patterns. + const re = self.re = reFactory(self.__opts__); + + // Define dynamic patterns + const tlds = self.__tlds__.slice(); + self.onCompile(); + if (!self.__tlds_replaced__) { + tlds.push(tlds_2ch_src_re); + } + tlds.push(re.src_xn); + re.src_tlds = tlds.join('|'); + function untpl(tpl) { + return tpl.replace('%TLDS%', re.src_tlds); + } + re.email_fuzzy = RegExp(untpl(re.tpl_email_fuzzy), 'i'); + re.link_fuzzy = RegExp(untpl(re.tpl_link_fuzzy), 'i'); + re.link_no_ip_fuzzy = RegExp(untpl(re.tpl_link_no_ip_fuzzy), 'i'); + re.host_fuzzy_test = RegExp(untpl(re.tpl_host_fuzzy_test), 'i'); + + // + // Compile each schema + // + + const aliases = []; + self.__compiled__ = {}; // Reset compiled data + + function schemaError(name, val) { + throw new Error('(LinkifyIt) Invalid schema "' + name + '": ' + val); + } + Object.keys(self.__schemas__).forEach(function (name) { + const val = self.__schemas__[name]; + + // skip disabled methods + if (val === null) { + return; + } + const compiled = { + validate: null, + link: null + }; + self.__compiled__[name] = compiled; + if (isObject(val)) { + if (isRegExp(val.validate)) { + compiled.validate = createValidator(val.validate); + } else if (isFunction(val.validate)) { + compiled.validate = val.validate; + } else { + schemaError(name, val); } - f(cr, "classNameAfter"); - function S(r, e) { - if (r == "async" || r == "variable" && (e == "static" || e == "get" || e == "set" || k && ir(e)) && i.stream.match(/^\s+[\w$\xa1-\uffff]/, !1)) return i.marked = "keyword", n(S); - if (r == "variable" || i.style == "keyword") return i.marked = "property", n(C, S); - if (r == "number" || r == "string") return n(C, S); - if (r == "[") return n(b, Q, l("]"), C, S); - if (e == "*") return i.marked = "keyword", n(S); - if (k && r == "(") return s(U, S); - if (r == ";" || r == ",") return n(S); - if (r == "}") return n(); - if (e == "@") return n(b, S); + if (isFunction(val.normalize)) { + compiled.normalize = val.normalize; + } else if (!val.normalize) { + compiled.normalize = createNormalizer(); + } else { + schemaError(name, val); } - f(S, "classBody"); - function C(r, e) { - if (e == "!" || e == "?") return n(C); - if (r == ":") return n(m, _); - if (e == "=") return n(j); - var t = i.state.lexical.prev, - a = t && t.info == "interface"; - return s(a ? U : z); + return; + } + if (isString(val)) { + aliases.push(name); + return; + } + schemaError(name, val); + }); + + // + // Compile postponed aliases + // + + aliases.forEach(function (alias) { + if (!self.__compiled__[self.__schemas__[alias]]) { + // Silently fail on missed schemas to avoid errons on disable. + // schemaError(alias, self.__schemas__[alias]); + return; + } + self.__compiled__[alias].validate = self.__compiled__[self.__schemas__[alias]].validate; + self.__compiled__[alias].normalize = self.__compiled__[self.__schemas__[alias]].normalize; + }); + + // + // Fake record for guessed links + // + self.__compiled__[''] = { + validate: null, + normalize: createNormalizer() + }; + + // + // Build schema condition + // + const slist = Object.keys(self.__compiled__).filter(function (name) { + // Filter disabled & fake schemas + return name.length > 0 && self.__compiled__[name]; + }).map(escapeRE).join('|'); + // (?!_) cause 1.5x slowdown + self.re.schema_test = RegExp('(^|(?!_)(?:[><\uff5c]|' + re.src_ZPCc + '))(' + slist + ')', 'i'); + self.re.schema_search = RegExp('(^|(?!_)(?:[><\uff5c]|' + re.src_ZPCc + '))(' + slist + ')', 'ig'); + self.re.schema_at_start = RegExp('^' + self.re.schema_search.source, 'i'); + self.re.pretest = RegExp('(' + self.re.schema_test.source + ')|(' + self.re.host_fuzzy_test.source + ')|@', 'i'); + + // + // Cleanup + // + + resetScanCache(self); +} + +/** + * class Match + * + * Match result. Single element of array, returned by [[LinkifyIt#match]] + **/ +function Match(self, shift) { + const start = self.__index__; + const end = self.__last_index__; + const text = self.__text_cache__.slice(start, end); + + /** + * Match#schema -> String + * + * Prefix (protocol) for matched string. + **/ + this.schema = self.__schema__.toLowerCase(); + /** + * Match#index -> Number + * + * First position of matched string. + **/ + this.index = start + shift; + /** + * Match#lastIndex -> Number + * + * Next position after matched string. + **/ + this.lastIndex = end + shift; + /** + * Match#raw -> String + * + * Matched string. + **/ + this.raw = text; + /** + * Match#text -> String + * + * Notmalized text of matched string. + **/ + this.text = text; + /** + * Match#url -> String + * + * Normalized url of matched string. + **/ + this.url = text; +} +function createMatch(self, shift) { + const match = new Match(self, shift); + self.__compiled__[match.schema].normalize(match, self); + return match; +} + +/** + * class LinkifyIt + **/ + +/** + * new LinkifyIt(schemas, options) + * - schemas (Object): Optional. Additional schemas to validate (prefix/validator) + * - options (Object): { fuzzyLink|fuzzyEmail|fuzzyIP: true|false } + * + * Creates new linkifier instance with optional additional schemas. + * Can be called without `new` keyword for convenience. + * + * By default understands: + * + * - `http(s)://...` , `ftp://...`, `mailto:...` & `//...` links + * - "fuzzy" links and emails (example.com, foo@bar.com). + * + * `schemas` is an object, where each key/value describes protocol/rule: + * + * - __key__ - link prefix (usually, protocol name with `:` at the end, `skype:` + * for example). `linkify-it` makes shure that prefix is not preceeded with + * alphanumeric char and symbols. Only whitespaces and punctuation allowed. + * - __value__ - rule to check tail after link prefix + * - _String_ - just alias to existing rule + * - _Object_ + * - _validate_ - validator function (should return matched length on success), + * or `RegExp`. + * - _normalize_ - optional function to normalize text & url of matched result + * (for example, for @twitter mentions). + * + * `options`: + * + * - __fuzzyLink__ - recognige URL-s without `http(s):` prefix. Default `true`. + * - __fuzzyIP__ - allow IPs in fuzzy links above. Can conflict with some texts + * like version numbers. Default `false`. + * - __fuzzyEmail__ - recognize emails without `mailto:` prefix. + * + **/ +function LinkifyIt(schemas, options) { + if (!(this instanceof LinkifyIt)) { + return new LinkifyIt(schemas, options); + } + if (!options) { + if (isOptionsObj(schemas)) { + options = schemas; + schemas = {}; + } + } + this.__opts__ = assign({}, defaultOptions, options); + + // Cache last tested result. Used to skip repeating steps on next `match` call. + this.__index__ = -1; + this.__last_index__ = -1; // Next scan position + this.__schema__ = ''; + this.__text_cache__ = ''; + this.__schemas__ = assign({}, defaultSchemas, schemas); + this.__compiled__ = {}; + this.__tlds__ = tlds_default; + this.__tlds_replaced__ = false; + this.re = {}; + compile(this); +} + +/** chainable + * LinkifyIt#add(schema, definition) + * - schema (String): rule name (fixed pattern prefix) + * - definition (String|RegExp|Object): schema definition + * + * Add new rule definition. See constructor description for details. + **/ +LinkifyIt.prototype.add = function add(schema, definition) { + this.__schemas__[schema] = definition; + compile(this); + return this; +}; + +/** chainable + * LinkifyIt#set(options) + * - options (Object): { fuzzyLink|fuzzyEmail|fuzzyIP: true|false } + * + * Set recognition options for links without schema. + **/ +LinkifyIt.prototype.set = function set(options) { + this.__opts__ = assign(this.__opts__, options); + return this; +}; + +/** + * LinkifyIt#test(text) -> Boolean + * + * Searches linkifiable pattern and returns `true` on success or `false` on fail. + **/ +LinkifyIt.prototype.test = function test(text) { + // Reset scan cache + this.__text_cache__ = text; + this.__index__ = -1; + if (!text.length) { + return false; + } + let m, ml, me, len, shift, next, re, tld_pos, at_pos; + + // try to scan for link with schema - that's the most simple rule + if (this.re.schema_test.test(text)) { + re = this.re.schema_search; + re.lastIndex = 0; + while ((m = re.exec(text)) !== null) { + len = this.testSchemaAt(text, m[2], re.lastIndex); + if (len) { + this.__schema__ = m[2]; + this.__index__ = m.index + m[1].length; + this.__last_index__ = m.index + m[0].length + len; + break; } - f(C, "classfield"); - function me(r, e) { - return e == "*" ? (i.marked = "keyword", n(hr, l(";"))) : e == "default" ? (i.marked = "keyword", n(b, l(";"))) : r == "{" ? n(g(Nr, "}"), hr, l(";")) : s(v); + } + } + if (this.__opts__.fuzzyLink && this.__compiled__['http:']) { + // guess schemaless links + tld_pos = text.search(this.re.host_fuzzy_test); + if (tld_pos >= 0) { + // if tld is located after found link - no need to check fuzzy pattern + if (this.__index__ < 0 || tld_pos < this.__index__) { + if ((ml = text.match(this.__opts__.fuzzyIP ? this.re.link_fuzzy : this.re.link_no_ip_fuzzy)) !== null) { + shift = ml.index + ml[1].length; + if (this.__index__ < 0 || shift < this.__index__) { + this.__schema__ = ''; + this.__index__ = shift; + this.__last_index__ = ml.index + ml[0].length; + } + } } - f(me, "afterExport"); - function Nr(r, e) { - if (e == "as") return i.marked = "keyword", n(l("variable")); - if (r == "variable") return s(j, Nr); + } + } + if (this.__opts__.fuzzyEmail && this.__compiled__['mailto:']) { + // guess schemaless emails + at_pos = text.indexOf('@'); + if (at_pos >= 0) { + // We can't skip this check, because this cases are possible: + // 192.168.1.1@gmail.com, my.in@example.com + if ((me = text.match(this.re.email_fuzzy)) !== null) { + shift = me.index + me[1].length; + next = me.index + me[0].length; + if (this.__index__ < 0 || shift < this.__index__ || shift === this.__index__ && next > this.__last_index__) { + this.__schema__ = 'mailto:'; + this.__index__ = shift; + this.__last_index__ = next; + } } - f(Nr, "exportField"); - function pe(r) { - return r == "string" ? n() : r == "(" ? s(b) : r == "." ? s(N) : s(lr, Br, hr); + } + } + return this.__index__ >= 0; +}; + +/** + * LinkifyIt#pretest(text) -> Boolean + * + * Very quick check, that can give false positives. Returns true if link MAY BE + * can exists. Can be used for speed optimization, when you need to check that + * link NOT exists. + **/ +LinkifyIt.prototype.pretest = function pretest(text) { + return this.re.pretest.test(text); +}; + +/** + * LinkifyIt#testSchemaAt(text, name, position) -> Number + * - text (String): text to scan + * - name (String): rule (schema) name + * - position (Number): text offset to check from + * + * Similar to [[LinkifyIt#test]] but checks only specific protocol tail exactly + * at given position. Returns length of found pattern (0 on fail). + **/ +LinkifyIt.prototype.testSchemaAt = function testSchemaAt(text, schema, pos) { + // If not supported schema check requested - terminate + if (!this.__compiled__[schema.toLowerCase()]) { + return 0; + } + return this.__compiled__[schema.toLowerCase()].validate(text, pos, this); +}; + +/** + * LinkifyIt#match(text) -> Array|null + * + * Returns array of found link descriptions or `null` on fail. We strongly + * recommend to use [[LinkifyIt#test]] first, for best speed. + * + * ##### Result match description + * + * - __schema__ - link schema, can be empty for fuzzy links, or `//` for + * protocol-neutral links. + * - __index__ - offset of matched text + * - __lastIndex__ - index of next char after mathch end + * - __raw__ - matched text + * - __text__ - normalized text + * - __url__ - link, generated from matched text + **/ +LinkifyIt.prototype.match = function match(text) { + const result = []; + let shift = 0; + + // Try to take previous element from cache, if .test() called before + if (this.__index__ >= 0 && this.__text_cache__ === text) { + result.push(createMatch(this, shift)); + shift = this.__last_index__; + } + + // Cut head if cache was used + let tail = shift ? text.slice(shift) : text; + + // Scan string until end reached + while (this.test(tail)) { + result.push(createMatch(this, shift)); + tail = tail.slice(this.__last_index__); + shift += this.__last_index__; + } + if (result.length) { + return result; + } + return null; +}; + +/** + * LinkifyIt#matchAtStart(text) -> Match|null + * + * Returns fully-formed (not fuzzy) link if it starts at the beginning + * of the string, and null otherwise. + **/ +LinkifyIt.prototype.matchAtStart = function matchAtStart(text) { + // Reset scan cache + this.__text_cache__ = text; + this.__index__ = -1; + if (!text.length) return null; + const m = this.re.schema_at_start.exec(text); + if (!m) return null; + const len = this.testSchemaAt(text, m[2], m[0].length); + if (!len) return null; + this.__schema__ = m[2]; + this.__index__ = m.index + m[1].length; + this.__last_index__ = m.index + m[0].length + len; + return createMatch(this, 0); +}; + +/** chainable + * LinkifyIt#tlds(list [, keepOld]) -> this + * - list (Array): list of tlds + * - keepOld (Boolean): merge with current list if `true` (`false` by default) + * + * Load (or merge) new tlds list. Those are user for fuzzy links (without prefix) + * to avoid false positives. By default this algorythm used: + * + * - hostname with any 2-letter root zones are ok. + * - biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф + * are ok. + * - encoded (`xn--...`) root zones are ok. + * + * If list is replaced, then exact match for 2-chars root zones will be checked. + **/ +LinkifyIt.prototype.tlds = function tlds(list, keepOld) { + list = Array.isArray(list) ? list : [list]; + if (!keepOld) { + this.__tlds__ = list.slice(); + this.__tlds_replaced__ = true; + compile(this); + return this; + } + this.__tlds__ = this.__tlds__.concat(list).sort().filter(function (el, idx, arr) { + return el !== arr[idx - 1]; + }).reverse(); + compile(this); + return this; +}; + +/** + * LinkifyIt#normalize(match) + * + * Default normalizer (if schema does not define it's own). + **/ +LinkifyIt.prototype.normalize = function normalize(match) { + // Do minimal possible changes by default. Need to collect feedback prior + // to move forward https://github.com/markdown-it/linkify-it/issues/1 + + if (!match.schema) { + match.url = 'http://' + match.url; + } + if (match.schema === 'mailto:' && !/^mailto:/i.test(match.url)) { + match.url = 'mailto:' + match.url; + } +}; + +/** + * LinkifyIt#onCompile() + * + * Override to modify basic RegExp-s. + **/ +LinkifyIt.prototype.onCompile = function onCompile() {}; +module.exports = LinkifyIt; + +/***/ }), + +/***/ "../node_modules/markdown-it/dist/index.cjs.js": +/*!*****************************************************!*\ + !*** ../node_modules/markdown-it/dist/index.cjs.js ***! + \*****************************************************/ +/***/ (function(module, __unused_webpack_exports, __webpack_require__) { + + + +var mdurl = __webpack_require__(/*! mdurl */ "../node_modules/mdurl/build/index.cjs.js"); +var ucmicro = __webpack_require__(/*! uc.micro */ "../node_modules/uc.micro/build/index.cjs.js"); +var entities = __webpack_require__(/*! entities */ "../../../node_modules/entities/lib/index.js"); +var LinkifyIt = __webpack_require__(/*! linkify-it */ "../node_modules/linkify-it/build/index.cjs.js"); +var punycode = __webpack_require__(/*! punycode.js */ "../../../node_modules/punycode.js/punycode.es6.js"); +function _interopNamespaceDefault(e) { + var n = Object.create(null); + if (e) { + Object.keys(e).forEach(function (k) { + if (k !== 'default') { + var d = Object.getOwnPropertyDescriptor(e, k); + Object.defineProperty(n, k, d.get ? d : { + enumerable: true, + get: function () { + return e[k]; + } + }); } - f(pe, "afterImport"); - function lr(r, e) { - return r == "{" ? Y(lr, "}") : (r == "variable" && D(e), e == "*" && (i.marked = "keyword"), n(ke)); + }); + } + n.default = e; + return Object.freeze(n); +} +var mdurl__namespace = /*#__PURE__*/_interopNamespaceDefault(mdurl); +var ucmicro__namespace = /*#__PURE__*/_interopNamespaceDefault(ucmicro); + +// Utilities +// + +function _class(obj) { + return Object.prototype.toString.call(obj); +} +function isString(obj) { + return _class(obj) === '[object String]'; +} +const _hasOwnProperty = Object.prototype.hasOwnProperty; +function has(object, key) { + return _hasOwnProperty.call(object, key); +} + +// Merge objects +// +function assign(obj /* from1, from2, from3, ... */) { + const sources = Array.prototype.slice.call(arguments, 1); + sources.forEach(function (source) { + if (!source) { + return; + } + if (typeof source !== 'object') { + throw new TypeError(source + 'must be object'); + } + Object.keys(source).forEach(function (key) { + obj[key] = source[key]; + }); + }); + return obj; +} + +// Remove element from array and put another array at those position. +// Useful for some operations with tokens +function arrayReplaceAt(src, pos, newElements) { + return [].concat(src.slice(0, pos), newElements, src.slice(pos + 1)); +} +function isValidEntityCode(c) { + /* eslint no-bitwise:0 */ + // broken sequence + if (c >= 0xD800 && c <= 0xDFFF) { + return false; + } + // never used + if (c >= 0xFDD0 && c <= 0xFDEF) { + return false; + } + if ((c & 0xFFFF) === 0xFFFF || (c & 0xFFFF) === 0xFFFE) { + return false; + } + // control codes + if (c >= 0x00 && c <= 0x08) { + return false; + } + if (c === 0x0B) { + return false; + } + if (c >= 0x0E && c <= 0x1F) { + return false; + } + if (c >= 0x7F && c <= 0x9F) { + return false; + } + // out of range + if (c > 0x10FFFF) { + return false; + } + return true; +} +function fromCodePoint(c) { + /* eslint no-bitwise:0 */ + if (c > 0xffff) { + c -= 0x10000; + const surrogate1 = 0xd800 + (c >> 10); + const surrogate2 = 0xdc00 + (c & 0x3ff); + return String.fromCharCode(surrogate1, surrogate2); + } + return String.fromCharCode(c); +} +const UNESCAPE_MD_RE = /\\([!"#$%&'()*+,\-./:;<=>?@[\\\]^_`{|}~])/g; +const ENTITY_RE = /&([a-z#][a-z0-9]{1,31});/gi; +const UNESCAPE_ALL_RE = new RegExp(UNESCAPE_MD_RE.source + '|' + ENTITY_RE.source, 'gi'); +const DIGITAL_ENTITY_TEST_RE = /^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))$/i; +function replaceEntityPattern(match, name) { + if (name.charCodeAt(0) === 0x23 /* # */ && DIGITAL_ENTITY_TEST_RE.test(name)) { + const code = name[1].toLowerCase() === 'x' ? parseInt(name.slice(2), 16) : parseInt(name.slice(1), 10); + if (isValidEntityCode(code)) { + return fromCodePoint(code); + } + return match; + } + const decoded = entities.decodeHTML(match); + if (decoded !== match) { + return decoded; + } + return match; +} + +/* function replaceEntities(str) { + if (str.indexOf('&') < 0) { return str; } + + return str.replace(ENTITY_RE, replaceEntityPattern); +} */ + +function unescapeMd(str) { + if (str.indexOf('\\') < 0) { + return str; + } + return str.replace(UNESCAPE_MD_RE, '$1'); +} +function unescapeAll(str) { + if (str.indexOf('\\') < 0 && str.indexOf('&') < 0) { + return str; + } + return str.replace(UNESCAPE_ALL_RE, function (match, escaped, entity) { + if (escaped) { + return escaped; + } + return replaceEntityPattern(match, entity); + }); +} +const HTML_ESCAPE_TEST_RE = /[&<>"]/; +const HTML_ESCAPE_REPLACE_RE = /[&<>"]/g; +const HTML_REPLACEMENTS = { + '&': '&', + '<': '<', + '>': '>', + '"': '"' +}; +function replaceUnsafeChar(ch) { + return HTML_REPLACEMENTS[ch]; +} +function escapeHtml(str) { + if (HTML_ESCAPE_TEST_RE.test(str)) { + return str.replace(HTML_ESCAPE_REPLACE_RE, replaceUnsafeChar); + } + return str; +} +const REGEXP_ESCAPE_RE = /[.?*+^$[\]\\(){}|-]/g; +function escapeRE(str) { + return str.replace(REGEXP_ESCAPE_RE, '\\$&'); +} +function isSpace(code) { + switch (code) { + case 0x09: + case 0x20: + return true; + } + return false; +} + +// Zs (unicode class) || [\t\f\v\r\n] +function isWhiteSpace(code) { + if (code >= 0x2000 && code <= 0x200A) { + return true; + } + switch (code) { + case 0x09: // \t + case 0x0A: // \n + case 0x0B: // \v + case 0x0C: // \f + case 0x0D: // \r + case 0x20: + case 0xA0: + case 0x1680: + case 0x202F: + case 0x205F: + case 0x3000: + return true; + } + return false; +} + +/* eslint-disable max-len */ + +// Currently without astral characters support. +function isPunctChar(ch) { + return ucmicro__namespace.P.test(ch) || ucmicro__namespace.S.test(ch); +} + +// Markdown ASCII punctuation characters. +// +// !, ", #, $, %, &, ', (, ), *, +, ,, -, ., /, :, ;, <, =, >, ?, @, [, \, ], ^, _, `, {, |, }, or ~ +// http://spec.commonmark.org/0.15/#ascii-punctuation-character +// +// Don't confuse with unicode punctuation !!! It lacks some chars in ascii range. +// +function isMdAsciiPunct(ch) { + switch (ch) { + case 0x21 /* ! */: + case 0x22 /* " */: + case 0x23 /* # */: + case 0x24 /* $ */: + case 0x25 /* % */: + case 0x26 /* & */: + case 0x27 /* ' */: + case 0x28 /* ( */: + case 0x29 /* ) */: + case 0x2A /* * */: + case 0x2B /* + */: + case 0x2C /* , */: + case 0x2D /* - */: + case 0x2E /* . */: + case 0x2F /* / */: + case 0x3A /* : */: + case 0x3B /* ; */: + case 0x3C /* < */: + case 0x3D /* = */: + case 0x3E /* > */: + case 0x3F /* ? */: + case 0x40 /* @ */: + case 0x5B /* [ */: + case 0x5C /* \ */: + case 0x5D /* ] */: + case 0x5E /* ^ */: + case 0x5F /* _ */: + case 0x60 /* ` */: + case 0x7B /* { */: + case 0x7C /* | */: + case 0x7D /* } */: + case 0x7E /* ~ */: + return true; + default: + return false; + } +} + +// Hepler to unify [reference labels]. +// +function normalizeReference(str) { + // Trim and collapse whitespace + // + str = str.trim().replace(/\s+/g, ' '); + + // In node v10 'ẞ'.toLowerCase() === 'Ṿ', which is presumed to be a bug + // fixed in v12 (couldn't find any details). + // + // So treat this one as a special case + // (remove this when node v10 is no longer supported). + // + if ('ẞ'.toLowerCase() === 'Ṿ') { + str = str.replace(/ẞ/g, 'ß'); + } + + // .toLowerCase().toUpperCase() should get rid of all differences + // between letter variants. + // + // Simple .toLowerCase() doesn't normalize 125 code points correctly, + // and .toUpperCase doesn't normalize 6 of them (list of exceptions: + // İ, ϴ, ẞ, Ω, K, Å - those are already uppercased, but have differently + // uppercased versions). + // + // Here's an example showing how it happens. Lets take greek letter omega: + // uppercase U+0398 (Θ), U+03f4 (ϴ) and lowercase U+03b8 (θ), U+03d1 (ϑ) + // + // Unicode entries: + // 0398;GREEK CAPITAL LETTER THETA;Lu;0;L;;;;;N;;;;03B8; + // 03B8;GREEK SMALL LETTER THETA;Ll;0;L;;;;;N;;;0398;;0398 + // 03D1;GREEK THETA SYMBOL;Ll;0;L; 03B8;;;;N;GREEK SMALL LETTER SCRIPT THETA;;0398;;0398 + // 03F4;GREEK CAPITAL THETA SYMBOL;Lu;0;L; 0398;;;;N;;;;03B8; + // + // Case-insensitive comparison should treat all of them as equivalent. + // + // But .toLowerCase() doesn't change ϑ (it's already lowercase), + // and .toUpperCase() doesn't change ϴ (already uppercase). + // + // Applying first lower then upper case normalizes any character: + // '\u0398\u03f4\u03b8\u03d1'.toLowerCase().toUpperCase() === '\u0398\u0398\u0398\u0398' + // + // Note: this is equivalent to unicode case folding; unicode normalization + // is a different step that is not required here. + // + // Final result should be uppercased, because it's later stored in an object + // (this avoid a conflict with Object.prototype members, + // most notably, `__proto__`) + // + return str.toLowerCase().toUpperCase(); +} + +// Re-export libraries commonly used in both markdown-it and its plugins, +// so plugins won't have to depend on them explicitly, which reduces their +// bundled size (e.g. a browser build). +// +const lib = { + mdurl: mdurl__namespace, + ucmicro: ucmicro__namespace +}; +var utils = /*#__PURE__*/Object.freeze({ + __proto__: null, + arrayReplaceAt: arrayReplaceAt, + assign: assign, + escapeHtml: escapeHtml, + escapeRE: escapeRE, + fromCodePoint: fromCodePoint, + has: has, + isMdAsciiPunct: isMdAsciiPunct, + isPunctChar: isPunctChar, + isSpace: isSpace, + isString: isString, + isValidEntityCode: isValidEntityCode, + isWhiteSpace: isWhiteSpace, + lib: lib, + normalizeReference: normalizeReference, + unescapeAll: unescapeAll, + unescapeMd: unescapeMd +}); + +// Parse link label +// +// this function assumes that first character ("[") already matches; +// returns the end of the label +// + +function parseLinkLabel(state, start, disableNested) { + let level, found, marker, prevPos; + const max = state.posMax; + const oldPos = state.pos; + state.pos = start + 1; + level = 1; + while (state.pos < max) { + marker = state.src.charCodeAt(state.pos); + if (marker === 0x5D /* ] */) { + level--; + if (level === 0) { + found = true; + break; } - f(lr, "importSpec"); - function Br(r) { - if (r == ",") return n(lr, Br); + } + prevPos = state.pos; + state.md.inline.skipToken(state); + if (marker === 0x5B /* [ */) { + if (prevPos === state.pos - 1) { + // increase level if we find text `[`, which is not a part of any token + level++; + } else if (disableNested) { + state.pos = oldPos; + return -1; } - f(Br, "maybeMoreImports"); - function ke(r, e) { - if (e == "as") return i.marked = "keyword", n(lr); + } + } + let labelEnd = -1; + if (found) { + labelEnd = state.pos; + } + + // restore old state + state.pos = oldPos; + return labelEnd; +} + +// Parse link destination +// + +function parseLinkDestination(str, start, max) { + let code; + let pos = start; + const result = { + ok: false, + pos: 0, + str: '' + }; + if (str.charCodeAt(pos) === 0x3C /* < */) { + pos++; + while (pos < max) { + code = str.charCodeAt(pos); + if (code === 0x0A /* \n */) { + return result; } - f(ke, "maybeAs"); - function hr(r, e) { - if (e == "from") return i.marked = "keyword", n(b); + if (code === 0x3C /* < */) { + return result; } - f(hr, "maybeFrom"); - function be(r) { - return r == "]" ? n() : s(g(j, "]")); + if (code === 0x3E /* > */) { + result.pos = pos + 1; + result.str = unescapeAll(str.slice(start + 1, pos)); + result.ok = true; + return result; } - f(be, "arrayLiteral"); - function Pr() { - return s(c("form"), T, l("{"), c("}"), g(we, "}"), u, u); + if (code === 0x5C /* \ */ && pos + 1 < max) { + pos += 2; + continue; } - f(Pr, "enumdef"); - function we() { - return s(T, _); + pos++; + } + + // no closing '>' + return result; + } + + // this should be ... } else { ... branch + + let level = 0; + while (pos < max) { + code = str.charCodeAt(pos); + if (code === 0x20) { + break; + } + + // ascii control characters + if (code < 0x20 || code === 0x7F) { + break; + } + if (code === 0x5C /* \ */ && pos + 1 < max) { + if (str.charCodeAt(pos + 1) === 0x20) { + break; } - f(we, "enummember"); - function xe(r, e) { - return r.lastType == "operator" || r.lastType == "," || jr.test(e.charAt(0)) || /[,.]/.test(e.charAt(0)); + pos += 2; + continue; + } + if (code === 0x28 /* ( */) { + level++; + if (level > 32) { + return result; } - f(xe, "isContinuedStatement"); - function Fr(r, e, t) { - return e.tokenize == $ && /^(?:operator|sof|keyword [bcd]|case|new|export|default|spread|[\[{}\(,;:]|=>)$/.test(e.lastType) || e.lastType == "quasi" && /\{\s*$/.test(r.string.slice(0, r.pos - (t || 0))); + } + if (code === 0x29 /* ) */) { + if (level === 0) { + break; } - return f(Fr, "expressionAllowed"), { - startState: function (r) { - var e = { - tokenize: $, - lastType: "sof", - cc: [], - lexical: new Er((r || 0) - A, 0, "block", !1), - localVars: h.localVars, - context: h.localVars && new G(null, null, !1), - indented: r || 0 - }; - return h.globalVars && typeof h.globalVars == "object" && (e.globalVars = h.globalVars), e; - }, - token: function (r, e) { - if (r.sol() && (e.lexical.hasOwnProperty("align") || (e.lexical.align = !1), e.indented = r.indentation(), dr(r, e)), e.tokenize != tr && r.eatSpace()) return null; - var t = e.tokenize(r, e); - return K == "comment" ? t : (e.lastType = K == "operator" && (nr == "++" || nr == "--") ? "incdec" : K, Tr(e, t, K, nr, r)); - }, - indent: function (r, e) { - if (r.tokenize == tr || r.tokenize == H) return w.Pass; - if (r.tokenize != $) return 0; - var t = e && e.charAt(0), - a = r.lexical, - o; - if (!/^\s*else\b/.test(e)) for (var d = r.cc.length - 1; d >= 0; --d) { - var p = r.cc[d]; - if (p == u) a = a.prev;else if (p != Mr && p != E) break; - } - for (; (a.type == "stat" || a.type == "form") && (t == "}" || (o = r.cc[r.cc.length - 1]) && (o == N || o == L) && !/^[,\.=+\-*:?[\(]/.test(e));) a = a.prev; - vr && a.type == ")" && a.prev.type == "stat" && (a = a.prev); - var y = a.type, - V = t == y; - return y == "vardef" ? a.indented + (r.lastType == "operator" || r.lastType == "," ? a.info.length + 1 : 0) : y == "form" && t == "{" ? a.indented : y == "form" ? a.indented + A : y == "stat" ? a.indented + (xe(r, e) ? vr || A : 0) : a.info == "switch" && !V && h.doubleIndentSwitch != !1 ? a.indented + (/^(?:case|default)\b/.test(e) ? A : 2 * A) : a.align ? a.column + (V ? 0 : 1) : a.indented + (V ? 0 : A); - }, - electricInput: /^\s*(?:case .*?:|default:|\{|\})$/, - blockCommentStart: O ? null : "/*", - blockCommentEnd: O ? null : "*/", - blockCommentContinue: O ? null : " * ", - lineComment: O ? null : "//", - fold: "brace", - closeBrackets: "()[]{}''\"\"``", - helperType: O ? "json" : "javascript", - jsonldMode: rr, - jsonMode: O, - expressionAllowed: Fr, - skipExpression: function (r) { - Tr(r, "atom", "atom", "true", new w.StringStream("", 2, null)); + level--; + } + pos++; + } + if (start === pos) { + return result; + } + if (level !== 0) { + return result; + } + result.str = unescapeAll(str.slice(start, pos)); + result.pos = pos; + result.ok = true; + return result; +} + +// Parse link title +// + +// Parse link title within `str` in [start, max] range, +// or continue previous parsing if `prev_state` is defined (equal to result of last execution). +// +function parseLinkTitle(str, start, max, prev_state) { + let code; + let pos = start; + const state = { + // if `true`, this is a valid link title + ok: false, + // if `true`, this link can be continued on the next line + can_continue: false, + // if `ok`, it's the position of the first character after the closing marker + pos: 0, + // if `ok`, it's the unescaped title + str: '', + // expected closing marker character code + marker: 0 + }; + if (prev_state) { + // this is a continuation of a previous parseLinkTitle call on the next line, + // used in reference links only + state.str = prev_state.str; + state.marker = prev_state.marker; + } else { + if (pos >= max) { + return state; + } + let marker = str.charCodeAt(pos); + if (marker !== 0x22 /* " */ && marker !== 0x27 /* ' */ && marker !== 0x28 /* ( */) { + return state; + } + start++; + pos++; + + // if opening marker is "(", switch it to closing marker ")" + if (marker === 0x28) { + marker = 0x29; + } + state.marker = marker; + } + while (pos < max) { + code = str.charCodeAt(pos); + if (code === state.marker) { + state.pos = pos + 1; + state.str += unescapeAll(str.slice(start, pos)); + state.ok = true; + return state; + } else if (code === 0x28 /* ( */ && state.marker === 0x29 /* ) */) { + return state; + } else if (code === 0x5C /* \ */ && pos + 1 < max) { + pos++; + } + pos++; + } + + // no closing marker found, but this link title may continue on the next line (for references) + state.can_continue = true; + state.str += unescapeAll(str.slice(start, pos)); + return state; +} + +// Just a shortcut for bulk export + +var helpers = /*#__PURE__*/Object.freeze({ + __proto__: null, + parseLinkDestination: parseLinkDestination, + parseLinkLabel: parseLinkLabel, + parseLinkTitle: parseLinkTitle +}); + +/** + * class Renderer + * + * Generates HTML from parsed token stream. Each instance has independent + * copy of rules. Those can be rewritten with ease. Also, you can add new + * rules if you create plugin and adds new token types. + **/ + +const default_rules = {}; +default_rules.code_inline = function (tokens, idx, options, env, slf) { + const token = tokens[idx]; + return '' + escapeHtml(token.content) + ''; +}; +default_rules.code_block = function (tokens, idx, options, env, slf) { + const token = tokens[idx]; + return '' + escapeHtml(tokens[idx].content) + '\n'; +}; +default_rules.fence = function (tokens, idx, options, env, slf) { + const token = tokens[idx]; + const info = token.info ? unescapeAll(token.info).trim() : ''; + let langName = ''; + let langAttrs = ''; + if (info) { + const arr = info.split(/(\s+)/g); + langName = arr[0]; + langAttrs = arr.slice(2).join(''); + } + let highlighted; + if (options.highlight) { + highlighted = options.highlight(token.content, langName, langAttrs) || escapeHtml(token.content); + } else { + highlighted = escapeHtml(token.content); + } + if (highlighted.indexOf('${highlighted}\n`; + } + return `
${highlighted}
\n`; +}; +default_rules.image = function (tokens, idx, options, env, slf) { + const token = tokens[idx]; + + // "alt" attr MUST be set, even if empty. Because it's mandatory and + // should be placed on proper position for tests. + // + // Replace content with actual value + + token.attrs[token.attrIndex('alt')][1] = slf.renderInlineAsText(token.children, options, env); + return slf.renderToken(tokens, idx, options); +}; +default_rules.hardbreak = function (tokens, idx, options /*, env */) { + return options.xhtmlOut ? '
\n' : '
\n'; +}; +default_rules.softbreak = function (tokens, idx, options /*, env */) { + return options.breaks ? options.xhtmlOut ? '
\n' : '
\n' : '\n'; +}; +default_rules.text = function (tokens, idx /*, options, env */) { + return escapeHtml(tokens[idx].content); +}; +default_rules.html_block = function (tokens, idx /*, options, env */) { + return tokens[idx].content; +}; +default_rules.html_inline = function (tokens, idx /*, options, env */) { + return tokens[idx].content; +}; + +/** + * new Renderer() + * + * Creates new [[Renderer]] instance and fill [[Renderer#rules]] with defaults. + **/ +function Renderer() { + /** + * Renderer#rules -> Object + * + * Contains render rules for tokens. Can be updated and extended. + * + * ##### Example + * + * ```javascript + * var md = require('markdown-it')(); + * + * md.renderer.rules.strong_open = function () { return ''; }; + * md.renderer.rules.strong_close = function () { return ''; }; + * + * var result = md.renderInline(...); + * ``` + * + * Each rule is called as independent static function with fixed signature: + * + * ```javascript + * function my_token_render(tokens, idx, options, env, renderer) { + * // ... + * return renderedHTML; + * } + * ``` + * + * See [source code](https://github.com/markdown-it/markdown-it/blob/master/lib/renderer.mjs) + * for more details and examples. + **/ + this.rules = assign({}, default_rules); +} + +/** + * Renderer.renderAttrs(token) -> String + * + * Render token attributes to string. + **/ +Renderer.prototype.renderAttrs = function renderAttrs(token) { + let i, l, result; + if (!token.attrs) { + return ''; + } + result = ''; + for (i = 0, l = token.attrs.length; i < l; i++) { + result += ' ' + escapeHtml(token.attrs[i][0]) + '="' + escapeHtml(token.attrs[i][1]) + '"'; + } + return result; +}; + +/** + * Renderer.renderToken(tokens, idx, options) -> String + * - tokens (Array): list of tokens + * - idx (Numbed): token index to render + * - options (Object): params of parser instance + * + * Default token renderer. Can be overriden by custom function + * in [[Renderer#rules]]. + **/ +Renderer.prototype.renderToken = function renderToken(tokens, idx, options) { + const token = tokens[idx]; + let result = ''; + + // Tight list paragraphs + if (token.hidden) { + return ''; + } + + // Insert a newline between hidden paragraph and subsequent opening + // block-level tag. + // + // For example, here we should insert a newline before blockquote: + // - a + // > + // + if (token.block && token.nesting !== -1 && idx && tokens[idx - 1].hidden) { + result += '\n'; + } + + // Add token name, e.g. ``. + // + needLf = false; } - }; - }), w.registerHelper("wordChars", "javascript", /[\w$]/), w.defineMIME("text/javascript", "javascript"), w.defineMIME("text/ecmascript", "javascript"), w.defineMIME("application/javascript", "javascript"), w.defineMIME("application/x-javascript", "javascript"), w.defineMIME("application/ecmascript", "javascript"), w.defineMIME("application/json", { - name: "javascript", - json: !0 - }), w.defineMIME("application/x-json", { - name: "javascript", - json: !0 - }), w.defineMIME("application/manifest+json", { - name: "javascript", - json: !0 - }), w.defineMIME("application/ld+json", { - name: "javascript", - jsonld: !0 - }), w.defineMIME("text/typescript", { - name: "javascript", - typescript: !0 - }), w.defineMIME("application/typescript", { - name: "javascript", - typescript: !0 - }); - }); -})(); -var Jr = ye.exports; -const je = Dr.getDefaultExportFromCjs(Jr), - Ee = ge({ - __proto__: null, - default: je - }, [Jr]); -exports.javascript = Ee; + } + } + } + result += needLf ? '>\n' : '>'; + return result; +}; + +/** + * Renderer.renderInline(tokens, options, env) -> String + * - tokens (Array): list on block tokens to render + * - options (Object): params of parser instance + * - env (Object): additional data from parsed input (references, for example) + * + * The same as [[Renderer.render]], but for single token of `inline` type. + **/ +Renderer.prototype.renderInline = function (tokens, options, env) { + let result = ''; + const rules = this.rules; + for (let i = 0, len = tokens.length; i < len; i++) { + const type = tokens[i].type; + if (typeof rules[type] !== 'undefined') { + result += rules[type](tokens, i, options, env, this); + } else { + result += this.renderToken(tokens, i, options); + } + } + return result; +}; -/***/ }), +/** internal + * Renderer.renderInlineAsText(tokens, options, env) -> String + * - tokens (Array): list on block tokens to render + * - options (Object): params of parser instance + * - env (Object): additional data from parsed input (references, for example) + * + * Special kludge for image `alt` attributes to conform CommonMark spec. + * Don't try to use it! Spec requires to show `alt` content with stripped markup, + * instead of simple escaping. + **/ +Renderer.prototype.renderInlineAsText = function (tokens, options, env) { + let result = ''; + for (let i = 0, len = tokens.length; i < len; i++) { + switch (tokens[i].type) { + case 'text': + result += tokens[i].content; + break; + case 'image': + result += this.renderInlineAsText(tokens[i].children, options, env); + break; + case 'html_inline': + case 'html_block': + result += tokens[i].content; + break; + case 'softbreak': + case 'hardbreak': + result += '\n'; + break; + // all other tokens are skipped + } + } -/***/ "../../graphiql-react/dist/jump-to-line.cjs.js": -/*!*****************************************************!*\ - !*** ../../graphiql-react/dist/jump-to-line.cjs.js ***! - \*****************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + return result; +}; + +/** + * Renderer.render(tokens, options, env) -> String + * - tokens (Array): list on block tokens to render + * - options (Object): params of parser instance + * - env (Object): additional data from parsed input (references, for example) + * + * Takes token stream and generates HTML. Probably, you will never need to call + * this method directly. + **/ +Renderer.prototype.render = function (tokens, options, env) { + let result = ''; + const rules = this.rules; + for (let i = 0, len = tokens.length; i < len; i++) { + const type = tokens[i].type; + if (type === 'inline') { + result += this.renderInline(tokens[i].children, options, env); + } else if (typeof rules[type] !== 'undefined') { + result += rules[type](tokens, i, options, env, this); + } else { + result += this.renderToken(tokens, i, options, env); + } + } + return result; +}; + +/** + * class Ruler + * + * Helper class, used by [[MarkdownIt#core]], [[MarkdownIt#block]] and + * [[MarkdownIt#inline]] to manage sequences of functions (rules): + * + * - keep rules in defined order + * - assign the name to each rule + * - enable/disable rules + * - add/replace rules + * - allow assign rules to additional named chains (in the same) + * - cacheing lists of active rules + * + * You will not need use this class directly until write plugins. For simple + * rules control use [[MarkdownIt.disable]], [[MarkdownIt.enable]] and + * [[MarkdownIt.use]]. + **/ +/** + * new Ruler() + **/ +function Ruler() { + // List of added rules. Each element is: + // + // { + // name: XXX, + // enabled: Boolean, + // fn: Function(), + // alt: [ name2, name3 ] + // } + // + this.__rules__ = []; + // Cached rule chains. + // + // First level - chain name, '' for default. + // Second level - diginal anchor for fast filtering by charcodes. + // + this.__cache__ = null; +} -var m = Object.defineProperty; -var c = (u, p) => m(u, "name", { - value: p, - configurable: !0 -}); -const f = __webpack_require__(/*! ./codemirror.cjs2.js */ "../../graphiql-react/dist/codemirror.cjs2.js"), - g = __webpack_require__(/*! ./dialog.cjs2.js */ "../../graphiql-react/dist/dialog.cjs2.js"); -function h(u, p) { - for (var o = 0; o < p.length; o++) { - const s = p[o]; - if (typeof s != "string" && !Array.isArray(s)) { - for (const i in s) if (i !== "default" && !(i in u)) { - const a = Object.getOwnPropertyDescriptor(s, i); - a && Object.defineProperty(u, i, a.get ? a : { - enumerable: !0, - get: () => s[i] - }); - } +// Helper methods, should not be used directly + +// Find rule index by name +// +Ruler.prototype.__find__ = function (name) { + for (let i = 0; i < this.__rules__.length; i++) { + if (this.__rules__[i].name === name) { + return i; } } - return Object.freeze(Object.defineProperty(u, Symbol.toStringTag, { - value: "Module" - })); -} -c(h, "_mergeNamespaces"); -var b = { - exports: {} + return -1; }; -(function (u, p) { - (function (o) { - o(f.requireCodemirror(), g.requireDialog()); - })(function (o) { - o.defineOption("search", { - bottom: !1 - }); - function s(e, t, n, r, l) { - e.openDialog ? e.openDialog(t, l, { - value: r, - selectValueOnOpen: !0, - bottom: e.options.search.bottom - }) : l(prompt(n, r)); - } - c(s, "dialog"); - function i(e) { - return e.phrase("Jump to line:") + ' ' + e.phrase("(Use line:column or scroll% syntax)") + ""; - } - c(i, "getJumpDialog"); - function a(e, t) { - var n = Number(t); - return /^[-+]/.test(t) ? e.getCursor().line + n : n - 1; + +// Build rules lookup cache +// +Ruler.prototype.__compile__ = function () { + const self = this; + const chains = ['']; + + // collect unique names + self.__rules__.forEach(function (rule) { + if (!rule.enabled) { + return; } - c(a, "interpretLine"), o.commands.jumpToLine = function (e) { - var t = e.getCursor(); - s(e, i(e), e.phrase("Jump to line:"), t.line + 1 + ":" + t.ch, function (n) { - if (n) { - var r; - if (r = /^\s*([\+\-]?\d+)\s*\:\s*(\d+)\s*$/.exec(n)) e.setCursor(a(e, r[1]), Number(r[2]));else if (r = /^\s*([\+\-]?\d+(\.\d+)?)\%\s*/.exec(n)) { - var l = Math.round(e.lineCount() * Number(r[1]) / 100); - /^[-+]/.test(r[1]) && (l = t.line + l + 1), e.setCursor(l - 1, t.ch); - } else (r = /^\s*\:?\s*([\+\-]?\d+)\s*/.exec(n)) && e.setCursor(a(e, r[1]), t.ch); - } - }); - }, o.keyMap.default["Alt-G"] = "jumpToLine"; + rule.alt.forEach(function (altName) { + if (chains.indexOf(altName) < 0) { + chains.push(altName); + } + }); }); -})(); -var d = b.exports; -const j = f.getDefaultExportFromCjs(d), - y = h({ - __proto__: null, - default: j - }, [d]); -exports.jumpToLine = y; + self.__cache__ = {}; + chains.forEach(function (chain) { + self.__cache__[chain] = []; + self.__rules__.forEach(function (rule) { + if (!rule.enabled) { + return; + } + if (chain && rule.alt.indexOf(chain) < 0) { + return; + } + self.__cache__[chain].push(rule.fn); + }); + }); +}; -/***/ }), +/** + * Ruler.at(name, fn [, options]) + * - name (String): rule name to replace. + * - fn (Function): new rule function. + * - options (Object): new rule options (not mandatory). + * + * Replace rule by name with new function & options. Throws error if name not + * found. + * + * ##### Options: + * + * - __alt__ - array with names of "alternate" chains. + * + * ##### Example + * + * Replace existing typographer replacement rule with new one: + * + * ```javascript + * var md = require('markdown-it')(); + * + * md.core.ruler.at('replacements', function replace(state) { + * //... + * }); + * ``` + **/ +Ruler.prototype.at = function (name, fn, options) { + const index = this.__find__(name); + const opt = options || {}; + if (index === -1) { + throw new Error('Parser rule not found: ' + name); + } + this.__rules__[index].fn = fn; + this.__rules__[index].alt = opt.alt || []; + this.__cache__ = null; +}; -/***/ "../../graphiql-react/dist/jump.cjs.js": -/*!*********************************************!*\ - !*** ../../graphiql-react/dist/jump.cjs.js ***! - \*********************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { +/** + * Ruler.before(beforeName, ruleName, fn [, options]) + * - beforeName (String): new rule will be added before this one. + * - ruleName (String): name of added rule. + * - fn (Function): rule function. + * - options (Object): rule options (not mandatory). + * + * Add new rule to chain before one with given name. See also + * [[Ruler.after]], [[Ruler.push]]. + * + * ##### Options: + * + * - __alt__ - array with names of "alternate" chains. + * + * ##### Example + * + * ```javascript + * var md = require('markdown-it')(); + * + * md.block.ruler.before('paragraph', 'my_rule', function replace(state) { + * //... + * }); + * ``` + **/ +Ruler.prototype.before = function (beforeName, ruleName, fn, options) { + const index = this.__find__(beforeName); + const opt = options || {}; + if (index === -1) { + throw new Error('Parser rule not found: ' + beforeName); + } + this.__rules__.splice(index, 0, { + name: ruleName, + enabled: true, + fn, + alt: opt.alt || [] + }); + this.__cache__ = null; +}; +/** + * Ruler.after(afterName, ruleName, fn [, options]) + * - afterName (String): new rule will be added after this one. + * - ruleName (String): name of added rule. + * - fn (Function): rule function. + * - options (Object): rule options (not mandatory). + * + * Add new rule to chain after one with given name. See also + * [[Ruler.before]], [[Ruler.push]]. + * + * ##### Options: + * + * - __alt__ - array with names of "alternate" chains. + * + * ##### Example + * + * ```javascript + * var md = require('markdown-it')(); + * + * md.inline.ruler.after('text', 'my_rule', function replace(state) { + * //... + * }); + * ``` + **/ +Ruler.prototype.after = function (afterName, ruleName, fn, options) { + const index = this.__find__(afterName); + const opt = options || {}; + if (index === -1) { + throw new Error('Parser rule not found: ' + afterName); + } + this.__rules__.splice(index + 1, 0, { + name: ruleName, + enabled: true, + fn, + alt: opt.alt || [] + }); + this.__cache__ = null; +}; +/** + * Ruler.push(ruleName, fn [, options]) + * - ruleName (String): name of added rule. + * - fn (Function): rule function. + * - options (Object): rule options (not mandatory). + * + * Push new rule to the end of chain. See also + * [[Ruler.before]], [[Ruler.after]]. + * + * ##### Options: + * + * - __alt__ - array with names of "alternate" chains. + * + * ##### Example + * + * ```javascript + * var md = require('markdown-it')(); + * + * md.core.ruler.push('my_rule', function replace(state) { + * //... + * }); + * ``` + **/ +Ruler.prototype.push = function (ruleName, fn, options) { + const opt = options || {}; + this.__rules__.push({ + name: ruleName, + enabled: true, + fn, + alt: opt.alt || [] + }); + this.__cache__ = null; +}; -var c = Object.defineProperty; -var s = (e, r) => c(e, "name", { - value: r, - configurable: !0 -}); -const u = __webpack_require__(/*! ./codemirror.cjs.js */ "../../graphiql-react/dist/codemirror.cjs.js"), - d = __webpack_require__(/*! ./SchemaReference.cjs.js */ "../../graphiql-react/dist/SchemaReference.cjs.js"); -__webpack_require__(/*! ./codemirror.cjs2.js */ "../../graphiql-react/dist/codemirror.cjs2.js"); -__webpack_require__(/*! graphql */ "../../../node_modules/graphql/index.mjs"); -__webpack_require__(/*! ./forEachState.cjs.js */ "../../graphiql-react/dist/forEachState.cjs.js"); -u.CodeMirror.defineOption("jump", !1, (e, r, n) => { - if (n && n !== u.CodeMirror.Init) { - const t = e.state.jump.onMouseOver; - u.CodeMirror.off(e.getWrapperElement(), "mouseover", t); - const i = e.state.jump.onMouseOut; - u.CodeMirror.off(e.getWrapperElement(), "mouseout", i), u.CodeMirror.off(document, "keydown", e.state.jump.onKeyDown), delete e.state.jump; +/** + * Ruler.enable(list [, ignoreInvalid]) -> Array + * - list (String|Array): list of rule names to enable. + * - ignoreInvalid (Boolean): set `true` to ignore errors when rule not found. + * + * Enable rules with given names. If any rule name not found - throw Error. + * Errors can be disabled by second param. + * + * Returns list of found rule names (if no exception happened). + * + * See also [[Ruler.disable]], [[Ruler.enableOnly]]. + **/ +Ruler.prototype.enable = function (list, ignoreInvalid) { + if (!Array.isArray(list)) { + list = [list]; } - if (r) { - const t = e.state.jump = { - options: r, - onMouseOver: M.bind(null, e), - onMouseOut: m.bind(null, e), - onKeyDown: g.bind(null, e) - }; - u.CodeMirror.on(e.getWrapperElement(), "mouseover", t.onMouseOver), u.CodeMirror.on(e.getWrapperElement(), "mouseout", t.onMouseOut), u.CodeMirror.on(document, "keydown", t.onKeyDown); + const result = []; + + // Search by name and enable + list.forEach(function (name) { + const idx = this.__find__(name); + if (idx < 0) { + if (ignoreInvalid) { + return; + } + throw new Error('Rules manager: invalid rule name ' + name); + } + this.__rules__[idx].enabled = true; + result.push(name); + }, this); + this.__cache__ = null; + return result; +}; + +/** + * Ruler.enableOnly(list [, ignoreInvalid]) + * - list (String|Array): list of rule names to enable (whitelist). + * - ignoreInvalid (Boolean): set `true` to ignore errors when rule not found. + * + * Enable rules with given names, and disable everything else. If any rule name + * not found - throw Error. Errors can be disabled by second param. + * + * See also [[Ruler.disable]], [[Ruler.enable]]. + **/ +Ruler.prototype.enableOnly = function (list, ignoreInvalid) { + if (!Array.isArray(list)) { + list = [list]; } -}); -function M(e, r) { - const n = r.target || r.srcElement; - if (!(n instanceof HTMLElement) || (n == null ? void 0 : n.nodeName) !== "SPAN") return; - const t = n.getBoundingClientRect(), - i = { - left: (t.left + t.right) / 2, - top: (t.top + t.bottom) / 2 - }; - e.state.jump.cursor = i, e.state.jump.isHoldingModifier && l(e); -} -s(M, "onMouseOver"); -function m(e) { - if (!e.state.jump.isHoldingModifier && e.state.jump.cursor) { - e.state.jump.cursor = null; - return; + this.__rules__.forEach(function (rule) { + rule.enabled = false; + }); + this.enable(list, ignoreInvalid); +}; + +/** + * Ruler.disable(list [, ignoreInvalid]) -> Array + * - list (String|Array): list of rule names to disable. + * - ignoreInvalid (Boolean): set `true` to ignore errors when rule not found. + * + * Disable rules with given names. If any rule name not found - throw Error. + * Errors can be disabled by second param. + * + * Returns list of found rule names (if no exception happened). + * + * See also [[Ruler.enable]], [[Ruler.enableOnly]]. + **/ +Ruler.prototype.disable = function (list, ignoreInvalid) { + if (!Array.isArray(list)) { + list = [list]; } - e.state.jump.isHoldingModifier && e.state.jump.marker && p(e); -} -s(m, "onMouseOut"); -function g(e, r) { - if (e.state.jump.isHoldingModifier || !k(r.key)) return; - e.state.jump.isHoldingModifier = !0, e.state.jump.cursor && l(e); - const n = s(o => { - o.code === r.code && (e.state.jump.isHoldingModifier = !1, e.state.jump.marker && p(e), u.CodeMirror.off(document, "keyup", n), u.CodeMirror.off(document, "click", t), e.off("mousedown", i)); - }, "onKeyUp"), - t = s(o => { - const { - destination: a, - options: f - } = e.state.jump; - a && f.onClick(a, o); - }, "onClick"), - i = s((o, a) => { - e.state.jump.destination && (a.codemirrorIgnore = !0); - }, "onMouseDown"); - u.CodeMirror.on(document, "keyup", n), u.CodeMirror.on(document, "click", t), e.on("mousedown", i); -} -s(g, "onKeyDown"); -const j = typeof navigator < "u" && navigator && navigator.appVersion.includes("Mac"); -function k(e) { - return e === (j ? "Meta" : "Control"); -} -s(k, "isJumpModifier"); -function l(e) { - if (e.state.jump.marker) return; - const { - cursor: r, - options: n - } = e.state.jump, - t = e.coordsChar(r), - i = e.getTokenAt(t, !0), - o = n.getDestination || e.getHelper(t, "jump"); - if (o) { - const a = o(i, n, e); - if (a) { - const f = e.markText({ - line: t.line, - ch: i.start - }, { - line: t.line, - ch: i.end - }, { - className: "CodeMirror-jump-token" - }); - e.state.jump.marker = f, e.state.jump.destination = a; + const result = []; + + // Search by name and disable + list.forEach(function (name) { + const idx = this.__find__(name); + if (idx < 0) { + if (ignoreInvalid) { + return; + } + throw new Error('Rules manager: invalid rule name ' + name); } - } -} -s(l, "enableJumpMode"); -function p(e) { - const { - marker: r - } = e.state.jump; - e.state.jump.marker = null, e.state.jump.destination = null, r.clear(); -} -s(p, "disableJumpMode"); -u.CodeMirror.registerHelper("jump", "graphql", (e, r) => { - if (!r.schema || !r.onClick || !e.state) return; - const { - state: n - } = e, - { - kind: t, - step: i - } = n, - o = d.getTypeInfo(r.schema, n); - if (t === "Field" && i === 0 && o.fieldDef || t === "AliasedField" && i === 2 && o.fieldDef) return d.getFieldReference(o); - if (t === "Directive" && i === 1 && o.directiveDef) return d.getDirectiveReference(o); - if (t === "Argument" && i === 0 && o.argDef) return d.getArgumentReference(o); - if (t === "EnumValue" && o.enumValue) return d.getEnumValueReference(o); - if (t === "NamedType" && o.type) return d.getTypeReference(o); -}); + this.__rules__[idx].enabled = false; + result.push(name); + }, this); + this.__cache__ = null; + return result; +}; -/***/ }), +/** + * Ruler.getRules(chainName) -> Array + * + * Return array of active functions (rules) for given chain name. It analyzes + * rules configuration, compiles caches if not exists and returns result. + * + * Default chain name is `''` (empty string). It can't be skipped. That's + * done intentionally, to keep signature monomorphic for high speed. + **/ +Ruler.prototype.getRules = function (chainName) { + if (this.__cache__ === null) { + this.__compile__(); + } -/***/ "../../graphiql-react/dist/lint.cjs.js": -/*!*********************************************!*\ - !*** ../../graphiql-react/dist/lint.cjs.js ***! - \*********************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + // Chain can be empty, if rules disabled. But we still have to return Array. + return this.__cache__[chainName] || []; +}; +// Token class +/** + * class Token + **/ -var W = Object.defineProperty; -var s = (h, v) => W(h, "name", { - value: v, - configurable: !0 -}); -const x = __webpack_require__(/*! ./codemirror.cjs2.js */ "../../graphiql-react/dist/codemirror.cjs2.js"); -function q(h, v) { - for (var l = 0; l < v.length; l++) { - const u = v[l]; - if (typeof u != "string" && !Array.isArray(u)) { - for (const g in u) if (g !== "default" && !(g in h)) { - const c = Object.getOwnPropertyDescriptor(u, g); - c && Object.defineProperty(h, g, c.get ? c : { - enumerable: !0, - get: () => u[g] - }); - } - } - } - return Object.freeze(Object.defineProperty(h, Symbol.toStringTag, { - value: "Module" - })); -} -s(q, "_mergeNamespaces"); -var B = { - exports: {} -}; -(function (h, v) { - (function (l) { - l(x.requireCodemirror()); - })(function (l) { - var u = "CodeMirror-lint-markers", - g = "CodeMirror-lint-line-"; - function c(t, e, r) { - var n = document.createElement("div"); - n.className = "CodeMirror-lint-tooltip cm-s-" + t.options.theme, n.appendChild(r.cloneNode(!0)), t.state.lint.options.selfContain ? t.getWrapperElement().appendChild(n) : document.body.appendChild(n); - function i(o) { - if (!n.parentNode) return l.off(document, "mousemove", i); - n.style.top = Math.max(0, o.clientY - n.offsetHeight - 5) + "px", n.style.left = o.clientX + 5 + "px"; - } - return s(i, "position"), l.on(document, "mousemove", i), i(e), n.style.opacity != null && (n.style.opacity = 1), n; - } - s(c, "showTooltip"); - function L(t) { - t.parentNode && t.parentNode.removeChild(t); - } - s(L, "rm"); - function A(t) { - t.parentNode && (t.style.opacity == null && L(t), t.style.opacity = 0, setTimeout(function () { - L(t); - }, 600)); - } - s(A, "hideTooltip"); - function M(t, e, r, n) { - var i = c(t, e, r); - function o() { - l.off(n, "mouseout", o), i && (A(i), i = null); - } - s(o, "hide"); - var a = setInterval(function () { - if (i) for (var f = n;; f = f.parentNode) { - if (f && f.nodeType == 11 && (f = f.host), f == document.body) return; - if (!f) { - o(); - break; - } - } - if (!i) return clearInterval(a); - }, 400); - l.on(n, "mouseout", o); - } - s(M, "showTooltipFor"); - function F(t, e, r) { - this.marked = [], e instanceof Function && (e = { - getAnnotations: e - }), (!e || e === !0) && (e = {}), this.options = {}, this.linterOptions = e.options || {}; - for (var n in C) this.options[n] = C[n]; - for (var n in e) C.hasOwnProperty(n) ? e[n] != null && (this.options[n] = e[n]) : e.options || (this.linterOptions[n] = e[n]); - this.timeout = null, this.hasGutter = r, this.onMouseOver = function (i) { - U(t, i); - }, this.waitingFor = 0; - } - s(F, "LintState"); - var C = { - highlightLines: !1, - tooltips: !0, - delay: 500, - lintOnChange: !0, - getAnnotations: null, - async: !1, - selfContain: null, - formatAnnotation: null, - onUpdateLinting: null - }; - function E(t) { - var e = t.state.lint; - e.hasGutter && t.clearGutter(u), e.options.highlightLines && G(t); - for (var r = 0; r < e.marked.length; ++r) e.marked[r].clear(); - e.marked.length = 0; - } - s(E, "clearMarks"); - function G(t) { - t.eachLine(function (e) { - var r = e.wrapClass && /\bCodeMirror-lint-line-\w+\b/.exec(e.wrapClass); - r && t.removeLineClass(e, "wrap", r[0]); - }); - } - s(G, "clearErrorLines"); - function I(t, e, r, n, i) { - var o = document.createElement("div"), - a = o; - return o.className = "CodeMirror-lint-marker CodeMirror-lint-marker-" + r, n && (a = o.appendChild(document.createElement("div")), a.className = "CodeMirror-lint-marker CodeMirror-lint-marker-multiple"), i != !1 && l.on(a, "mouseover", function (f) { - M(t, f, e, a); - }), o; - } - s(I, "makeMarker"); - function D(t, e) { - return t == "error" ? t : e; - } - s(D, "getMaxSeverity"); - function j(t) { - for (var e = [], r = 0; r < t.length; ++r) { - var n = t[r], - i = n.from.line; - (e[i] || (e[i] = [])).push(n); - } - return e; - } - s(j, "groupByLine"); - function N(t) { - var e = t.severity; - e || (e = "error"); - var r = document.createElement("div"); - return r.className = "CodeMirror-lint-message CodeMirror-lint-message-" + e, typeof t.messageHTML < "u" ? r.innerHTML = t.messageHTML : r.appendChild(document.createTextNode(t.message)), r; - } - s(N, "annotationTooltip"); - function H(t, e) { - var r = t.state.lint, - n = ++r.waitingFor; - function i() { - n = -1, t.off("change", i); - } - s(i, "abort"), t.on("change", i), e(t.getValue(), function (o, a) { - t.off("change", i), r.waitingFor == n && (a && o instanceof l && (o = a), t.operation(function () { - O(t, o); - })); - }, r.linterOptions, t); - } - s(H, "lintAsync"); - function k(t) { - var e = t.state.lint; - if (e) { - var r = e.options, - n = r.getAnnotations || t.getHelper(l.Pos(0, 0), "lint"); - if (n) if (r.async || n.async) H(t, n);else { - var i = n(t.getValue(), e.linterOptions, t); - if (!i) return; - i.then ? i.then(function (o) { - t.operation(function () { - O(t, o); - }); - }) : t.operation(function () { - O(t, i); - }); - } - } - } - s(k, "startLinting"); - function O(t, e) { - var r = t.state.lint; - if (r) { - var n = r.options; - E(t); - for (var i = j(e), o = 0; o < i.length; ++o) { - var a = i[o]; - if (a) { - var f = []; - a = a.filter(function (w) { - return f.indexOf(w.message) > -1 ? !1 : f.push(w.message); - }); - for (var p = null, m = r.hasGutter && document.createDocumentFragment(), T = 0; T < a.length; ++T) { - var d = a[T], - y = d.severity; - y || (y = "error"), p = D(p, y), n.formatAnnotation && (d = n.formatAnnotation(d)), r.hasGutter && m.appendChild(N(d)), d.to && r.marked.push(t.markText(d.from, d.to, { - className: "CodeMirror-lint-mark CodeMirror-lint-mark-" + y, - __annotation: d - })); - } - r.hasGutter && t.setGutterMarker(o, u, I(t, m, p, i[o].length > 1, n.tooltips)), n.highlightLines && t.addLineClass(o, "wrap", g + p); - } - } - n.onUpdateLinting && n.onUpdateLinting(e, i, t); - } - } - s(O, "updateLinting"); - function b(t) { - var e = t.state.lint; - e && (clearTimeout(e.timeout), e.timeout = setTimeout(function () { - k(t); - }, e.options.delay)); - } - s(b, "onChange"); - function P(t, e, r) { - for (var n = r.target || r.srcElement, i = document.createDocumentFragment(), o = 0; o < e.length; o++) { - var a = e[o]; - i.appendChild(N(a)); - } - M(t, r, i, n); - } - s(P, "popupTooltips"); - function U(t, e) { - var r = e.target || e.srcElement; - if (/\bCodeMirror-lint-mark-/.test(r.className)) { - for (var n = r.getBoundingClientRect(), i = (n.left + n.right) / 2, o = (n.top + n.bottom) / 2, a = t.findMarksAt(t.coordsChar({ - left: i, - top: o - }, "client")), f = [], p = 0; p < a.length; ++p) { - var m = a[p].__annotation; - m && f.push(m); - } - f.length && P(t, f, e); - } - } - s(U, "onMouseOver"), l.defineOption("lint", !1, function (t, e, r) { - if (r && r != l.Init && (E(t), t.state.lint.options.lintOnChange !== !1 && t.off("change", b), l.off(t.getWrapperElement(), "mouseover", t.state.lint.onMouseOver), clearTimeout(t.state.lint.timeout), delete t.state.lint), e) { - for (var n = t.getOption("gutters"), i = !1, o = 0; o < n.length; ++o) n[o] == u && (i = !0); - var a = t.state.lint = new F(t, e, i); - a.options.lintOnChange && t.on("change", b), a.options.tooltips != !1 && a.options.tooltips != "gutter" && l.on(t.getWrapperElement(), "mouseover", a.onMouseOver), k(t); - } - }), l.defineExtension("performLint", function () { - k(this); - }); - }); -})(); -var _ = B.exports; -const R = x.getDefaultExportFromCjs(_), - V = q({ - __proto__: null, - default: R - }, [_]); -exports.lint = V; +/** + * new Token(type, tag, nesting) + * + * Create new token and fill passed properties. + **/ +function Token(type, tag, nesting) { + /** + * Token#type -> String + * + * Type of the token (string, e.g. "paragraph_open") + **/ + this.type = type; -/***/ }), + /** + * Token#tag -> String + * + * html tag name, e.g. "p" + **/ + this.tag = tag; -/***/ "../../graphiql-react/dist/lint.cjs2.js": -/*!**********************************************!*\ - !*** ../../graphiql-react/dist/lint.cjs2.js ***! - \**********************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + /** + * Token#attrs -> Array + * + * Html attributes. Format: `[ [ name1, value1 ], [ name2, value2 ] ]` + **/ + this.attrs = null; + /** + * Token#map -> Array + * + * Source map info. Format: `[ line_begin, line_end ]` + **/ + this.map = null; + /** + * Token#nesting -> Number + * + * Level change (number in {-1, 0, 1} set), where: + * + * - `1` means the tag is opening + * - `0` means the tag is self-closing + * - `-1` means the tag is closing + **/ + this.nesting = nesting; -const t = __webpack_require__(/*! ./codemirror.cjs.js */ "../../graphiql-react/dist/codemirror.cjs.js"), - c = __webpack_require__(/*! graphql-language-service */ "../../graphql-language-service/esm/index.js"); -__webpack_require__(/*! ./codemirror.cjs2.js */ "../../graphiql-react/dist/codemirror.cjs2.js"); -const a = ["error", "warning", "information", "hint"], - g = { - "GraphQL: Validation": "validation", - "GraphQL: Deprecation": "deprecation", - "GraphQL: Syntax": "syntax" - }; -t.CodeMirror.registerHelper("lint", "graphql", (n, s) => { - const { - schema: r, - validationRules: i, - externalFragments: o - } = s; - return c.getDiagnostics(n, r, i, void 0, o).map(e => ({ - message: e.message, - severity: e.severity ? a[e.severity - 1] : a[0], - type: e.source ? g[e.source] : void 0, - from: t.CodeMirror.Pos(e.range.start.line, e.range.start.character), - to: t.CodeMirror.Pos(e.range.end.line, e.range.end.character) - })); -}); + /** + * Token#level -> Number + * + * nesting level, the same as `state.level` + **/ + this.level = 0; -/***/ }), + /** + * Token#children -> Array + * + * An array of child nodes (inline and img tokens) + **/ + this.children = null; -/***/ "../../graphiql-react/dist/lint.cjs3.js": -/*!**********************************************!*\ - !*** ../../graphiql-react/dist/lint.cjs3.js ***! - \**********************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + /** + * Token#content -> String + * + * In a case of self-closing tag (code, html, fence, etc.), + * it has contents of this tag. + **/ + this.content = ''; + /** + * Token#markup -> String + * + * '*' or '_' for emphasis, fence string for fence, etc. + **/ + this.markup = ''; + /** + * Token#info -> String + * + * Additional information: + * + * - Info string for "fence" tokens + * - The value "auto" for autolink "link_open" and "link_close" tokens + * - The string value of the item marker for ordered-list "list_item_open" tokens + **/ + this.info = ''; -var V = Object.defineProperty; -var t = (e, n) => V(e, "name", { - value: n, - configurable: !0 -}); -const I = __webpack_require__(/*! ./codemirror.cjs.js */ "../../graphiql-react/dist/codemirror.cjs.js"), - b = __webpack_require__(/*! graphql */ "../../../node_modules/graphql/index.mjs"); -__webpack_require__(/*! ./codemirror.cjs2.js */ "../../graphiql-react/dist/codemirror.cjs2.js"); -function C(e) { - d = e, E = e.length, s = u = N = -1, o(), y(); - const n = q(); - return p("EOF"), n; + /** + * Token#meta -> Object + * + * A place for plugins to store an arbitrary data + **/ + this.meta = null; + + /** + * Token#block -> Boolean + * + * True for block-level tokens, false for inline tokens. + * Used in renderer to calculate line breaks + **/ + this.block = false; + + /** + * Token#hidden -> Boolean + * + * If it's true, ignore this element when rendering. Used for tight lists + * to hide paragraphs. + **/ + this.hidden = false; } -t(C, "jsonParse"); -let d, E, s, u, N, r, l; -function q() { - const e = s, - n = []; - if (p("{"), !x("}")) { - do n.push(M()); while (x(",")); - p("}"); + +/** + * Token.attrIndex(name) -> Number + * + * Search attribute index by name. + **/ +Token.prototype.attrIndex = function attrIndex(name) { + if (!this.attrs) { + return -1; } - return { - kind: "Object", - start: e, - end: N, - members: n - }; -} -t(q, "parseObj"); -function M() { - const e = s, - n = l === "String" ? G() : null; - p("String"), p(":"); - const i = B(); - return { - kind: "Member", - start: e, - end: N, - key: n, - value: i - }; -} -t(M, "parseMember"); -function v() { - const e = s, - n = []; - if (p("["), !x("]")) { - do n.push(B()); while (x(",")); - p("]"); + const attrs = this.attrs; + for (let i = 0, len = attrs.length; i < len; i++) { + if (attrs[i][0] === name) { + return i; + } } - return { - kind: "Array", - start: e, - end: N, - values: n - }; -} -t(v, "parseArr"); -function B() { - switch (l) { - case "[": - return v(); - case "{": - return q(); - case "String": - case "Number": - case "Boolean": - case "Null": - const e = G(); - return y(), e; + return -1; +}; + +/** + * Token.attrPush(attrData) + * + * Add `[ name, value ]` attribute to list. Init attrs if necessary + **/ +Token.prototype.attrPush = function attrPush(attrData) { + if (this.attrs) { + this.attrs.push(attrData); + } else { + this.attrs = [attrData]; + } +}; + +/** + * Token.attrSet(name, value) + * + * Set `name` attribute to `value`. Override old value if exists. + **/ +Token.prototype.attrSet = function attrSet(name, value) { + const idx = this.attrIndex(name); + const attrData = [name, value]; + if (idx < 0) { + this.attrPush(attrData); + } else { + this.attrs[idx] = attrData; + } +}; + +/** + * Token.attrGet(name) + * + * Get the value of attribute `name`, or null if it does not exist. + **/ +Token.prototype.attrGet = function attrGet(name) { + const idx = this.attrIndex(name); + let value = null; + if (idx >= 0) { + value = this.attrs[idx][1]; } - p("Value"); + return value; +}; + +/** + * Token.attrJoin(name, value) + * + * Join value to existing attribute via space. Or create new attribute if not + * exists. Useful to operate with token classes. + **/ +Token.prototype.attrJoin = function attrJoin(name, value) { + const idx = this.attrIndex(name); + if (idx < 0) { + this.attrPush([name, value]); + } else { + this.attrs[idx][1] = this.attrs[idx][1] + ' ' + value; + } +}; + +// Core state object +// + +function StateCore(src, md, env) { + this.src = src; + this.env = env; + this.tokens = []; + this.inlineMode = false; + this.md = md; // link to parser instance } -t(B, "parseVal"); -function G() { - return { - kind: l, - start: s, - end: u, - value: JSON.parse(d.slice(s, u)) - }; + +// re-export Token class to use in core rules +StateCore.prototype.Token = Token; + +// Normalize input string + +// https://spec.commonmark.org/0.29/#line-ending +const NEWLINES_RE = /\r\n?|\n/g; +const NULL_RE = /\0/g; +function normalize(state) { + let str; + + // Normalize newlines + str = state.src.replace(NEWLINES_RE, '\n'); + + // Replace NULL characters + str = str.replace(NULL_RE, '\uFFFD'); + state.src = str; } -t(G, "curToken"); -function p(e) { - if (l === e) { - y(); - return; - } - let n; - if (l === "EOF") n = "[end of file]";else if (u - s > 1) n = "`" + d.slice(s, u) + "`";else { - const i = d.slice(s).match(/^.+?\b/); - n = "`" + (i ? i[0] : d[s]) + "`"; +function block(state) { + let token; + if (state.inlineMode) { + token = new state.Token('inline', '', 0); + token.content = state.src; + token.map = [0, 1]; + token.children = []; + state.tokens.push(token); + } else { + state.md.block.parse(state.src, state.md, state.env, state.tokens); } - throw k(`Expected ${e} but found ${n}.`); } -t(p, "expect"); -class j extends Error { - constructor(n, i) { - super(n), this.position = i; +function inline(state) { + const tokens = state.tokens; + + // Parse inlines + for (let i = 0, l = tokens.length; i < l; i++) { + const tok = tokens[i]; + if (tok.type === 'inline') { + state.md.inline.parse(tok.content, state.md, state.env, tok.children); + } } } -t(j, "JSONSyntaxError"); -function k(e) { - return new j(e, { - start: s, - end: u - }); -} -t(k, "syntaxError"); -function x(e) { - if (l === e) return y(), !0; + +// Replace link-like texts with link nodes. +// +// Currently restricted by `md.validateLink()` to http/https/ftp +// + +function isLinkOpen$1(str) { + return /^\s]/i.test(str); } -t(x, "skip"); -function o() { - return u < E && (u++, r = u === E ? 0 : d.charCodeAt(u)), r; +function isLinkClose$1(str) { + return /^<\/a\s*>/i.test(str); } -t(o, "ch"); -function y() { - for (N = u; r === 9 || r === 10 || r === 13 || r === 32;) o(); - if (r === 0) { - l = "EOF"; +function linkify$1(state) { + const blockTokens = state.tokens; + if (!state.md.options.linkify) { return; } - switch (s = u, r) { - case 34: - return l = "String", D(); - case 45: - case 48: - case 49: - case 50: - case 51: - case 52: - case 53: - case 54: - case 55: - case 56: - case 57: - return l = "Number", H(); - case 102: - if (d.slice(s, s + 5) !== "false") break; - u += 4, o(), l = "Boolean"; - return; - case 110: - if (d.slice(s, s + 4) !== "null") break; - u += 3, o(), l = "Null"; - return; - case 116: - if (d.slice(s, s + 4) !== "true") break; - u += 3, o(), l = "Boolean"; - return; - } - l = d[s], o(); -} -t(y, "lex"); -function D() { - for (o(); r !== 34 && r > 31;) if (r === 92) switch (r = o(), r) { - case 34: - case 47: - case 92: - case 98: - case 102: - case 110: - case 114: - case 116: - o(); - break; - case 117: - o(), w(), w(), w(), w(); - break; - default: - throw k("Bad character escape sequence."); - } else { - if (u === E) throw k("Unterminated string."); - o(); - } - if (r === 34) { - o(); - return; + for (let j = 0, l = blockTokens.length; j < l; j++) { + if (blockTokens[j].type !== 'inline' || !state.md.linkify.pretest(blockTokens[j].content)) { + continue; + } + let tokens = blockTokens[j].children; + let htmlLinkLevel = 0; + + // We scan from the end, to keep position when new tags added. + // Use reversed logic in links start/end match + for (let i = tokens.length - 1; i >= 0; i--) { + const currentToken = tokens[i]; + + // Skip content of markdown links + if (currentToken.type === 'link_close') { + i--; + while (tokens[i].level !== currentToken.level && tokens[i].type !== 'link_open') { + i--; + } + continue; + } + + // Skip content of html tag links + if (currentToken.type === 'html_inline') { + if (isLinkOpen$1(currentToken.content) && htmlLinkLevel > 0) { + htmlLinkLevel--; + } + if (isLinkClose$1(currentToken.content)) { + htmlLinkLevel++; + } + } + if (htmlLinkLevel > 0) { + continue; + } + if (currentToken.type === 'text' && state.md.linkify.test(currentToken.content)) { + const text = currentToken.content; + let links = state.md.linkify.match(text); + + // Now split string to nodes + const nodes = []; + let level = currentToken.level; + let lastPos = 0; + + // forbid escape sequence at the start of the string, + // this avoids http\://example.com/ from being linkified as + // http:
//example.com/ + if (links.length > 0 && links[0].index === 0 && i > 0 && tokens[i - 1].type === 'text_special') { + links = links.slice(1); + } + for (let ln = 0; ln < links.length; ln++) { + const url = links[ln].url; + const fullUrl = state.md.normalizeLink(url); + if (!state.md.validateLink(fullUrl)) { + continue; + } + let urlText = links[ln].text; + + // Linkifier might send raw hostnames like "example.com", where url + // starts with domain name. So we prepend http:// in those cases, + // and remove it afterwards. + // + if (!links[ln].schema) { + urlText = state.md.normalizeLinkText('http://' + urlText).replace(/^http:\/\//, ''); + } else if (links[ln].schema === 'mailto:' && !/^mailto:/i.test(urlText)) { + urlText = state.md.normalizeLinkText('mailto:' + urlText).replace(/^mailto:/, ''); + } else { + urlText = state.md.normalizeLinkText(urlText); + } + const pos = links[ln].index; + if (pos > lastPos) { + const token = new state.Token('text', '', 0); + token.content = text.slice(lastPos, pos); + token.level = level; + nodes.push(token); + } + const token_o = new state.Token('link_open', 'a', 1); + token_o.attrs = [['href', fullUrl]]; + token_o.level = level++; + token_o.markup = 'linkify'; + token_o.info = 'auto'; + nodes.push(token_o); + const token_t = new state.Token('text', '', 0); + token_t.content = urlText; + token_t.level = level; + nodes.push(token_t); + const token_c = new state.Token('link_close', 'a', -1); + token_c.level = --level; + token_c.markup = 'linkify'; + token_c.info = 'auto'; + nodes.push(token_c); + lastPos = links[ln].lastIndex; + } + if (lastPos < text.length) { + const token = new state.Token('text', '', 0); + token.content = text.slice(lastPos); + token.level = level; + nodes.push(token); + } + + // replace current node + blockTokens[j].children = tokens = arrayReplaceAt(tokens, i, nodes); + } + } } - throw k("Unterminated string."); -} -t(D, "readString"); -function w() { - if (r >= 48 && r <= 57 || r >= 65 && r <= 70 || r >= 97 && r <= 102) return o(); - throw k("Expected hexadecimal digit."); -} -t(w, "readHex"); -function H() { - r === 45 && o(), r === 48 ? o() : $(), r === 46 && (o(), $()), (r === 69 || r === 101) && (r = o(), (r === 43 || r === 45) && o(), $()); } -t(H, "readNumber"); -function $() { - if (r < 48 || r > 57) throw k("Expected decimal digit."); - do o(); while (r >= 48 && r <= 57); + +// Simple typographic replacements +// +// (c) (C) → © +// (tm) (TM) → ™ +// (r) (R) → ® +// +- → ± +// ... → … (also ?.... → ?.., !.... → !..) +// ???????? → ???, !!!!! → !!!, `,,` → `,` +// -- → –, --- → — +// + +// TODO: +// - fractionals 1/2, 1/4, 3/4 -> ½, ¼, ¾ +// - multiplications 2 x 4 -> 2 × 4 + +const RARE_RE = /\+-|\.\.|\?\?\?\?|!!!!|,,|--/; + +// Workaround for phantomjs - need regex without /g flag, +// or root check will fail every second time +const SCOPED_ABBR_TEST_RE = /\((c|tm|r)\)/i; +const SCOPED_ABBR_RE = /\((c|tm|r)\)/ig; +const SCOPED_ABBR = { + c: '©', + r: '®', + tm: '™' +}; +function replaceFn(match, name) { + return SCOPED_ABBR[name.toLowerCase()]; } -t($, "readDigits"); -I.CodeMirror.registerHelper("lint", "graphql-variables", (e, n, i) => { - if (!e) return []; - let f; - try { - f = C(e); - } catch (c) { - if (c instanceof j) return [F(i, c.position, c.message)]; - throw c; - } - const { - variableToType: a - } = n; - return a ? U(i, a, f) : []; -}); -function U(e, n, i) { - var f; - const a = []; - for (const c of i.members) if (c) { - const h = (f = c.key) === null || f === void 0 ? void 0 : f.value, - m = n[h]; - if (m) for (const [O, Q] of g(m, c.value)) a.push(F(e, O, Q));else a.push(F(e, c.key, `Variable "$${h}" does not appear in any GraphQL query.`)); +function replace_scoped(inlineTokens) { + let inside_autolink = 0; + for (let i = inlineTokens.length - 1; i >= 0; i--) { + const token = inlineTokens[i]; + if (token.type === 'text' && !inside_autolink) { + token.content = token.content.replace(SCOPED_ABBR_RE, replaceFn); + } + if (token.type === 'link_open' && token.info === 'auto') { + inside_autolink--; + } + if (token.type === 'link_close' && token.info === 'auto') { + inside_autolink++; + } } - return a; } -t(U, "validateVariables"); -function g(e, n) { - if (!e || !n) return []; - if (e instanceof b.GraphQLNonNull) return n.kind === "Null" ? [[n, `Type "${e}" is non-nullable and cannot be null.`]] : g(e.ofType, n); - if (n.kind === "Null") return []; - if (e instanceof b.GraphQLList) { - const i = e.ofType; - if (n.kind === "Array") { - const f = n.values || []; - return L(f, a => g(i, a)); +function replace_rare(inlineTokens) { + let inside_autolink = 0; + for (let i = inlineTokens.length - 1; i >= 0; i--) { + const token = inlineTokens[i]; + if (token.type === 'text' && !inside_autolink) { + if (RARE_RE.test(token.content)) { + token.content = token.content.replace(/\+-/g, '±') + // .., ..., ....... -> … + // but ?..... & !..... -> ?.. & !.. + .replace(/\.{2,}/g, '…').replace(/([?!])…/g, '$1..').replace(/([?!]){4,}/g, '$1$1$1').replace(/,{2,}/g, ',') + // em-dash + .replace(/(^|[^-])---(?=[^-]|$)/mg, '$1\u2014') + // en-dash + .replace(/(^|\s)--(?=\s|$)/mg, '$1\u2013').replace(/(^|[^-\s])--(?=[^-\s]|$)/mg, '$1\u2013'); + } } - return g(i, n); - } - if (e instanceof b.GraphQLInputObjectType) { - if (n.kind !== "Object") return [[n, `Type "${e}" must be an Object.`]]; - const i = Object.create(null), - f = L(n.members, a => { - var c; - const h = (c = a == null ? void 0 : a.key) === null || c === void 0 ? void 0 : c.value; - i[h] = !0; - const m = e.getFields()[h]; - if (!m) return [[a.key, `Type "${e}" does not have a field "${h}".`]]; - const O = m ? m.type : void 0; - return g(O, a.value); - }); - for (const a of Object.keys(e.getFields())) { - const c = e.getFields()[a]; - !i[a] && c.type instanceof b.GraphQLNonNull && !c.defaultValue && f.push([n, `Object of type "${e}" is missing required field "${a}".`]); + if (token.type === 'link_open' && token.info === 'auto') { + inside_autolink--; + } + if (token.type === 'link_close' && token.info === 'auto') { + inside_autolink++; } - return f; } - return e.name === "Boolean" && n.kind !== "Boolean" || e.name === "String" && n.kind !== "String" || e.name === "ID" && n.kind !== "Number" && n.kind !== "String" || e.name === "Float" && n.kind !== "Number" || e.name === "Int" && (n.kind !== "Number" || (n.value | 0) !== n.value) ? [[n, `Expected value of type "${e}".`]] : (e instanceof b.GraphQLEnumType || e instanceof b.GraphQLScalarType) && (n.kind !== "String" && n.kind !== "Number" && n.kind !== "Boolean" && n.kind !== "Null" || _(e.parseValue(n.value))) ? [[n, `Expected value of type "${e}".`]] : []; -} -t(g, "validateValue"); -function F(e, n, i) { - return { - message: i, - severity: "error", - type: "validation", - from: e.posFromIndex(n.start), - to: e.posFromIndex(n.end) - }; -} -t(F, "lintError"); -function _(e) { - return e == null || e !== e; } -t(_, "isNullish"); -function L(e, n) { - return Array.prototype.concat.apply([], e.map(n)); +function replace(state) { + let blkIdx; + if (!state.md.options.typographer) { + return; + } + for (blkIdx = state.tokens.length - 1; blkIdx >= 0; blkIdx--) { + if (state.tokens[blkIdx].type !== 'inline') { + continue; + } + if (SCOPED_ABBR_TEST_RE.test(state.tokens[blkIdx].content)) { + replace_scoped(state.tokens[blkIdx].children); + } + if (RARE_RE.test(state.tokens[blkIdx].content)) { + replace_rare(state.tokens[blkIdx].children); + } + } } -t(L, "mapCat"); - -/***/ }), - -/***/ "../../graphiql-react/dist/matchbrackets.cjs.js": -/*!******************************************************!*\ - !*** ../../graphiql-react/dist/matchbrackets.cjs.js ***! - \******************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { +// Convert straight quotation marks to typographic ones +// +const QUOTE_TEST_RE = /['"]/; +const QUOTE_RE = /['"]/g; +const APOSTROPHE = '\u2019'; /* ’ */ -var i = Object.defineProperty; -var s = (e, c) => i(e, "name", { - value: c, - configurable: !0 -}); -const u = __webpack_require__(/*! ./codemirror.cjs2.js */ "../../graphiql-react/dist/codemirror.cjs2.js"), - f = __webpack_require__(/*! ./matchbrackets.cjs2.js */ "../../graphiql-react/dist/matchbrackets.cjs2.js"); -function b(e, c) { - for (var o = 0; o < c.length; o++) { - const t = c[o]; - if (typeof t != "string" && !Array.isArray(t)) { - for (const r in t) if (r !== "default" && !(r in e)) { - const a = Object.getOwnPropertyDescriptor(t, r); - a && Object.defineProperty(e, r, a.get ? a : { - enumerable: !0, - get: () => t[r] - }); +function replaceAt(str, index, ch) { + return str.slice(0, index) + ch + str.slice(index + 1); +} +function process_inlines(tokens, state) { + let j; + const stack = []; + for (let i = 0; i < tokens.length; i++) { + const token = tokens[i]; + const thisLevel = tokens[i].level; + for (j = stack.length - 1; j >= 0; j--) { + if (stack[j].level <= thisLevel) { + break; } } - } - return Object.freeze(Object.defineProperty(e, Symbol.toStringTag, { - value: "Module" - })); -} -s(b, "_mergeNamespaces"); -var n = f.requireMatchbrackets(); -const l = u.getDefaultExportFromCjs(n), - m = b({ - __proto__: null, - default: l - }, [n]); -exports.matchbrackets = m; + stack.length = j + 1; + if (token.type !== 'text') { + continue; + } + let text = token.content; + let pos = 0; + let max = text.length; -/***/ }), + /* eslint no-labels:0,block-scoped-var:0 */ + OUTER: while (pos < max) { + QUOTE_RE.lastIndex = pos; + const t = QUOTE_RE.exec(text); + if (!t) { + break; + } + let canOpen = true; + let canClose = true; + pos = t.index + 1; + const isSingle = t[0] === "'"; -/***/ "../../graphiql-react/dist/matchbrackets.cjs2.js": -/*!*******************************************************!*\ - !*** ../../graphiql-react/dist/matchbrackets.cjs2.js ***! - \*******************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + // Find previous character, + // default to space if it's the beginning of the line + // + let lastChar = 0x20; + if (t.index - 1 >= 0) { + lastChar = text.charCodeAt(t.index - 1); + } else { + for (j = i - 1; j >= 0; j--) { + if (tokens[j].type === 'softbreak' || tokens[j].type === 'hardbreak') break; // lastChar defaults to 0x20 + if (!tokens[j].content) continue; // should skip all tokens except 'text', 'html_inline' or 'code_inline' + lastChar = tokens[j].content.charCodeAt(tokens[j].content.length - 1); + break; + } + } + // Find next character, + // default to space if it's the end of the line + // + let nextChar = 0x20; + if (pos < max) { + nextChar = text.charCodeAt(pos); + } else { + for (j = i + 1; j < tokens.length; j++) { + if (tokens[j].type === 'softbreak' || tokens[j].type === 'hardbreak') break; // nextChar defaults to 0x20 + if (!tokens[j].content) continue; // should skip all tokens except 'text', 'html_inline' or 'code_inline' -var R = Object.defineProperty; -var f = (L, y) => R(L, "name", { - value: y, - configurable: !0 -}); -const F = __webpack_require__(/*! ./codemirror.cjs2.js */ "../../graphiql-react/dist/codemirror.cjs2.js"); -var T = { - exports: {} - }, - E; -function I() { - return E || (E = 1, function (L, y) { - (function (o) { - o(F.requireCodemirror()); - })(function (o) { - var S = /MSIE \d/.test(navigator.userAgent) && (document.documentMode == null || document.documentMode < 8), - g = o.Pos, - B = { - "(": ")>", - ")": "(<", - "[": "]>", - "]": "[<", - "{": "}>", - "}": "{<", - "<": ">>", - ">": "<<" - }; - function A(t) { - return t && t.bracketRegex || /[(){}[\]]/; + nextChar = tokens[j].content.charCodeAt(0); + break; + } + } + const isLastPunctChar = isMdAsciiPunct(lastChar) || isPunctChar(String.fromCharCode(lastChar)); + const isNextPunctChar = isMdAsciiPunct(nextChar) || isPunctChar(String.fromCharCode(nextChar)); + const isLastWhiteSpace = isWhiteSpace(lastChar); + const isNextWhiteSpace = isWhiteSpace(nextChar); + if (isNextWhiteSpace) { + canOpen = false; + } else if (isNextPunctChar) { + if (!(isLastWhiteSpace || isLastPunctChar)) { + canOpen = false; + } + } + if (isLastWhiteSpace) { + canClose = false; + } else if (isLastPunctChar) { + if (!(isNextWhiteSpace || isNextPunctChar)) { + canClose = false; + } + } + if (nextChar === 0x22 /* " */ && t[0] === '"') { + if (lastChar >= 0x30 /* 0 */ && lastChar <= 0x39 /* 9 */) { + // special case: 1"" - count first quote as an inch + canClose = canOpen = false; + } } - f(A, "bracketRegex"); - function b(t, r, e) { - var s = t.getLineHandle(r.line), - n = r.ch - 1, - h = e && e.afterCursor; - h == null && (h = /(^| )cm-fat-cursor($| )/.test(t.getWrapperElement().className)); - var l = A(e), - u = !h && n >= 0 && l.test(s.text.charAt(n)) && B[s.text.charAt(n)] || l.test(s.text.charAt(n + 1)) && B[s.text.charAt(++n)]; - if (!u) return null; - var a = u.charAt(1) == ">" ? 1 : -1; - if (e && e.strict && a > 0 != (n == r.ch)) return null; - var k = t.getTokenTypeAt(g(r.line, n + 1)), - i = H(t, g(r.line, n + (a > 0 ? 1 : 0)), a, k, e); - return i == null ? null : { - from: g(r.line, n), - to: i && i.pos, - match: i && i.ch == u.charAt(0), - forward: a > 0 - }; + if (canOpen && canClose) { + // Replace quotes in the middle of punctuation sequence, but not + // in the middle of the words, i.e.: + // + // 1. foo " bar " baz - not replaced + // 2. foo-"-bar-"-baz - replaced + // 3. foo"bar"baz - not replaced + // + canOpen = isLastPunctChar; + canClose = isNextPunctChar; } - f(b, "findMatchingBracket"); - function H(t, r, e, s, n) { - for (var h = n && n.maxScanLineLength || 1e4, l = n && n.maxScanLines || 1e3, u = [], a = A(n), k = e > 0 ? Math.min(r.line + l, t.lastLine() + 1) : Math.max(t.firstLine() - 1, r.line - l), i = r.line; i != k; i += e) { - var c = t.getLine(i); - if (c) { - var v = e > 0 ? 0 : c.length - 1, - q = e > 0 ? c.length : -1; - if (!(c.length > h)) for (i == r.line && (v = r.ch - (e < 0 ? 1 : 0)); v != q; v += e) { - var d = c.charAt(v); - if (a.test(d) && (s === void 0 || (t.getTokenTypeAt(g(i, v + 1)) || "") == (s || ""))) { - var m = B[d]; - if (m && m.charAt(1) == ">" == e > 0) u.push(d);else if (u.length) u.pop();else return { - pos: g(i, v), - ch: d - }; - } - } - } + if (!canOpen && !canClose) { + // middle of word + if (isSingle) { + token.content = replaceAt(token.content, t.index, APOSTROPHE); } - return i - e == (e > 0 ? t.lastLine() : t.firstLine()) ? !1 : null; + continue; } - f(H, "scanForBracket"); - function M(t, r, e) { - for (var s = t.state.matchBrackets.maxHighlightLineLength || 1e3, n = e && e.highlightNonMatching, h = [], l = t.listSelections(), u = 0; u < l.length; u++) { - var a = l[u].empty() && b(t, l[u].head, e); - if (a && (a.match || n !== !1) && t.getLine(a.from.line).length <= s) { - var k = a.match ? "CodeMirror-matchingbracket" : "CodeMirror-nonmatchingbracket"; - h.push(t.markText(a.from, g(a.from.line, a.from.ch + 1), { - className: k - })), a.to && t.getLine(a.to.line).length <= s && h.push(t.markText(a.to, g(a.to.line, a.to.ch + 1), { - className: k - })); + if (canClose) { + // this could be a closing quote, rewind the stack to get a match + for (j = stack.length - 1; j >= 0; j--) { + let item = stack[j]; + if (stack[j].level < thisLevel) { + break; + } + if (item.single === isSingle && stack[j].level === thisLevel) { + item = stack[j]; + let openQuote; + let closeQuote; + if (isSingle) { + openQuote = state.md.options.quotes[2]; + closeQuote = state.md.options.quotes[3]; + } else { + openQuote = state.md.options.quotes[0]; + closeQuote = state.md.options.quotes[1]; + } + + // replace token.content *before* tokens[item.token].content, + // because, if they are pointing at the same token, replaceAt + // could mess up indices when quote length != 1 + token.content = replaceAt(token.content, t.index, closeQuote); + tokens[item.token].content = replaceAt(tokens[item.token].content, item.pos, openQuote); + pos += closeQuote.length - 1; + if (item.token === i) { + pos += openQuote.length - 1; + } + text = token.content; + max = text.length; + stack.length = j; + continue OUTER; } - } - if (h.length) { - S && t.state.focused && t.focus(); - var i = f(function () { - t.operation(function () { - for (var c = 0; c < h.length; c++) h[c].clear(); - }); - }, "clear"); - if (r) setTimeout(i, 800);else return i; } } - f(M, "matchBrackets"); - function x(t) { - t.operation(function () { - t.state.matchBrackets.currentlyHighlighted && (t.state.matchBrackets.currentlyHighlighted(), t.state.matchBrackets.currentlyHighlighted = null), t.state.matchBrackets.currentlyHighlighted = M(t, !1, t.state.matchBrackets); + if (canOpen) { + stack.push({ + token: i, + pos: t.index, + single: isSingle, + level: thisLevel }); + } else if (canClose && isSingle) { + token.content = replaceAt(token.content, t.index, APOSTROPHE); } - f(x, "doMatchBrackets"); - function p(t) { - t.state.matchBrackets && t.state.matchBrackets.currentlyHighlighted && (t.state.matchBrackets.currentlyHighlighted(), t.state.matchBrackets.currentlyHighlighted = null); - } - f(p, "clearHighlighted"), o.defineOption("matchBrackets", !1, function (t, r, e) { - e && e != o.Init && (t.off("cursorActivity", x), t.off("focus", x), t.off("blur", p), p(t)), r && (t.state.matchBrackets = typeof r == "object" ? r : {}, t.on("cursorActivity", x), t.on("focus", x), t.on("blur", p)); - }), o.defineExtension("matchBrackets", function () { - M(this, !0); - }), o.defineExtension("findMatchingBracket", function (t, r, e) { - return (e || typeof r == "boolean") && (e ? (e.strict = r, r = e) : r = r ? { - strict: !0 - } : null), b(this, t, r); - }), o.defineExtension("scanForBracket", function (t, r, e, s) { - return H(this, t, r, e, s); - }); - }); - }()), T.exports; + } + } +} +function smartquotes(state) { + /* eslint max-depth:0 */ + if (!state.md.options.typographer) { + return; + } + for (let blkIdx = state.tokens.length - 1; blkIdx >= 0; blkIdx--) { + if (state.tokens[blkIdx].type !== 'inline' || !QUOTE_TEST_RE.test(state.tokens[blkIdx].content)) { + continue; + } + process_inlines(state.tokens[blkIdx].children, state); + } } -f(I, "requireMatchbrackets"); -exports.requireMatchbrackets = I; - -/***/ }), - -/***/ "../../graphiql-react/dist/mode-indent.cjs.js": -/*!****************************************************!*\ - !*** ../../graphiql-react/dist/mode-indent.cjs.js ***! - \****************************************************/ -/***/ (function(__unused_webpack_module, exports) { - +// Join raw text tokens with the rest of the text +// +// This is set as a separate rule to provide an opportunity for plugins +// to run text replacements after text join, but before escape join. +// +// For example, `\:)` shouldn't be replaced with an emoji. +// -var o = Object.defineProperty; -var v = (n, t) => o(n, "name", { - value: t, - configurable: !0 -}); -function s(n, t) { - var e, i; - const { - levels: l, - indentLevel: d - } = n; - return ((!l || l.length === 0 ? d : l.at(-1) - (!((e = this.electricInput) === null || e === void 0) && e.test(t) ? 1 : 0)) || 0) * (((i = this.config) === null || i === void 0 ? void 0 : i.indentUnit) || 0); +function text_join(state) { + let curr, last; + const blockTokens = state.tokens; + const l = blockTokens.length; + for (let j = 0; j < l; j++) { + if (blockTokens[j].type !== 'inline') continue; + const tokens = blockTokens[j].children; + const max = tokens.length; + for (curr = 0; curr < max; curr++) { + if (tokens[curr].type === 'text_special') { + tokens[curr].type = 'text'; + } + } + for (curr = last = 0; curr < max; curr++) { + if (tokens[curr].type === 'text' && curr + 1 < max && tokens[curr + 1].type === 'text') { + // collapse two adjacent text nodes + tokens[curr + 1].content = tokens[curr].content + tokens[curr + 1].content; + } else { + if (curr !== last) { + tokens[last] = tokens[curr]; + } + last++; + } + } + if (curr !== last) { + tokens.length = last; + } + } } -v(s, "indent"); -exports.indent = s; - -/***/ }), -/***/ "../../graphiql-react/dist/mode.cjs.js": -/*!*********************************************!*\ - !*** ../../graphiql-react/dist/mode.cjs.js ***! - \*********************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { +/** internal + * class Core + * + * Top-level rules executor. Glues block/inline parsers and does intermediate + * transformations. + **/ +const _rules$2 = [['normalize', normalize], ['block', block], ['inline', inline], ['linkify', linkify$1], ['replacements', replace], ['smartquotes', smartquotes], +// `text_join` finds `text_special` tokens (for escape sequences) +// and joins them with the rest of the text +['text_join', text_join]]; +/** + * new Core() + **/ +function Core() { + /** + * Core#ruler -> Ruler + * + * [[Ruler]] instance. Keep configuration of core rules. + **/ + this.ruler = new Ruler(); + for (let i = 0; i < _rules$2.length; i++) { + this.ruler.push(_rules$2[i][0], _rules$2[i][1]); + } +} -var n = Object.defineProperty; -var s = (e, r) => n(e, "name", { - value: r, - configurable: !0 -}); -const o = __webpack_require__(/*! ./codemirror.cjs.js */ "../../graphiql-react/dist/codemirror.cjs.js"), - t = __webpack_require__(/*! graphql-language-service */ "../../graphql-language-service/esm/index.js"), - i = __webpack_require__(/*! ./mode-indent.cjs.js */ "../../graphiql-react/dist/mode-indent.cjs.js"); -__webpack_require__(/*! ./codemirror.cjs2.js */ "../../graphiql-react/dist/codemirror.cjs2.js"); -const l = s(e => { - const r = t.onlineParser({ - eatWhitespace: a => a.eatWhile(t.isIgnored), - lexRules: t.LexRules, - parseRules: t.ParseRules, - editorConfig: { - tabSize: e.tabSize - } - }); - return { - config: e, - startState: r.startState, - token: r.token, - indent: i.indent, - electricInput: /^\s*[})\]]/, - fold: "brace", - lineComment: "#", - closeBrackets: { - pairs: '()[]{}""', - explode: "()[]{}" - } - }; -}, "graphqlModeFactory"); -o.CodeMirror.defineMode("graphql", l); +/** + * Core.process(state) + * + * Executes core chain rules. + **/ +Core.prototype.process = function (state) { + const rules = this.ruler.getRules(''); + for (let i = 0, l = rules.length; i < l; i++) { + rules[i](state); + } +}; +Core.prototype.State = StateCore; -/***/ }), +// Parser state class -/***/ "../../graphiql-react/dist/mode.cjs2.js": -/*!**********************************************!*\ - !*** ../../graphiql-react/dist/mode.cjs2.js ***! - \**********************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { +function StateBlock(src, md, env, tokens) { + this.src = src; + // link to parser instance + this.md = md; + this.env = env; + // + // Internal state vartiables + // -var n = Object.defineProperty; -var u = (t, r) => n(t, "name", { - value: r, - configurable: !0 -}); -const i = __webpack_require__(/*! ./codemirror.cjs.js */ "../../graphiql-react/dist/codemirror.cjs.js"), - e = __webpack_require__(/*! graphql-language-service */ "../../graphql-language-service/esm/index.js"), - s = __webpack_require__(/*! ./mode-indent.cjs.js */ "../../graphiql-react/dist/mode-indent.cjs.js"); -__webpack_require__(/*! ./codemirror.cjs2.js */ "../../graphiql-react/dist/codemirror.cjs2.js"); -i.CodeMirror.defineMode("graphql-variables", t => { - const r = e.onlineParser({ - eatWhitespace: a => a.eatSpace(), - lexRules: c, - parseRules: o, - editorConfig: { - tabSize: t.tabSize - } - }); - return { - config: t, - startState: r.startState, - token: r.token, - indent: s.indent, - electricInput: /^\s*[}\]]/, - fold: "brace", - closeBrackets: { - pairs: '[]{}""', - explode: "[]{}" - } - }; -}); -const c = { - Punctuation: /^\[|]|\{|\}|:|,/, - Number: /^-?(?:0|(?:[1-9][0-9]*))(?:\.[0-9]*)?(?:[eE][+-]?[0-9]+)?/, - String: /^"(?:[^"\\]|\\(?:"|\/|\\|b|f|n|r|t|u[0-9a-fA-F]{4}))*"?/, - Keyword: /^true|false|null/ - }, - o = { - Document: [e.p("{"), e.list("Variable", e.opt(e.p(","))), e.p("}")], - Variable: [l("variable"), e.p(":"), "Value"], - Value(t) { - switch (t.kind) { - case "Number": - return "NumberValue"; - case "String": - return "StringValue"; - case "Punctuation": - switch (t.value) { - case "[": - return "ListValue"; - case "{": - return "ObjectValue"; - } - return null; - case "Keyword": - switch (t.value) { - case "true": - case "false": - return "BooleanValue"; - case "null": - return "NullValue"; - } - return null; - } - }, - NumberValue: [e.t("Number", "number")], - StringValue: [e.t("String", "string")], - BooleanValue: [e.t("Keyword", "builtin")], - NullValue: [e.t("Keyword", "keyword")], - ListValue: [e.p("["), e.list("Value", e.opt(e.p(","))), e.p("]")], - ObjectValue: [e.p("{"), e.list("ObjectField", e.opt(e.p(","))), e.p("}")], - ObjectField: [l("attribute"), e.p(":"), "Value"] - }; -function l(t) { - return { - style: t, - match: r => r.kind === "String", - update(r, a) { - r.name = a.value.slice(1, -1); - } - }; -} -u(l, "namedKey"); + this.tokens = tokens; + this.bMarks = []; // line begin offsets for fast jumps + this.eMarks = []; // line end offsets for fast jumps + this.tShift = []; // offsets of the first non-space characters (tabs not expanded) + this.sCount = []; // indents for each line (tabs expanded) -/***/ }), + // An amount of virtual spaces (tabs expanded) between beginning + // of each line (bMarks) and real beginning of that line. + // + // It exists only as a hack because blockquotes override bMarks + // losing information in the process. + // + // It's used only when expanding tabs, you can think about it as + // an initial tab length, e.g. bsCount=21 applied to string `\t123` + // means first tab should be expanded to 4-21%4 === 3 spaces. + // + this.bsCount = []; -/***/ "../../graphiql-react/dist/mode.cjs3.js": -/*!**********************************************!*\ - !*** ../../graphiql-react/dist/mode.cjs3.js ***! - \**********************************************/ -/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { + // block parser variables + // required block content indent (for example, if we are + // inside a list, it would be positioned after list marker) + this.blkIndent = 0; + this.line = 0; // line index in src + this.lineMax = 0; // lines count + this.tight = false; // loose/tight mode for lists + this.ddIndent = -1; // indent of the current dd block (-1 if there isn't any) + this.listIndent = -1; // indent of the current list block (-1 if there isn't any) + // can be 'blockquote', 'list', 'root', 'paragraph' or 'reference' + // used in lists to determine if they interrupt a paragraph + this.parentType = 'root'; + this.level = 0; -const a = __webpack_require__(/*! ./codemirror.cjs.js */ "../../graphiql-react/dist/codemirror.cjs.js"), - e = __webpack_require__(/*! graphql-language-service */ "../../graphql-language-service/esm/index.js"), - l = __webpack_require__(/*! ./mode-indent.cjs.js */ "../../graphiql-react/dist/mode-indent.cjs.js"); -__webpack_require__(/*! ./codemirror.cjs2.js */ "../../graphiql-react/dist/codemirror.cjs2.js"); -a.CodeMirror.defineMode("graphql-results", r => { - const t = e.onlineParser({ - eatWhitespace: u => u.eatSpace(), - lexRules: n, - parseRules: s, - editorConfig: { - tabSize: r.tabSize - } - }); - return { - config: r, - startState: t.startState, - token: t.token, - indent: l.indent, - electricInput: /^\s*[}\]]/, - fold: "brace", - closeBrackets: { - pairs: '[]{}""', - explode: "[]{}" + // Create caches + // Generate markers. + const s = this.src; + for (let start = 0, pos = 0, indent = 0, offset = 0, len = s.length, indent_found = false; pos < len; pos++) { + const ch = s.charCodeAt(pos); + if (!indent_found) { + if (isSpace(ch)) { + indent++; + if (ch === 0x09) { + offset += 4 - offset % 4; + } else { + offset++; + } + continue; + } else { + indent_found = true; + } } - }; -}); -const n = { - Punctuation: /^\[|]|\{|\}|:|,/, - Number: /^-?(?:0|(?:[1-9][0-9]*))(?:\.[0-9]*)?(?:[eE][+-]?[0-9]+)?/, - String: /^"(?:[^"\\]|\\(?:"|\/|\\|b|f|n|r|t|u[0-9a-fA-F]{4}))*"?/, - Keyword: /^true|false|null/ - }, - s = { - Document: [e.p("{"), e.list("Entry", e.p(",")), e.p("}")], - Entry: [e.t("String", "def"), e.p(":"), "Value"], - Value(r) { - switch (r.kind) { - case "Number": - return "NumberValue"; - case "String": - return "StringValue"; - case "Punctuation": - switch (r.value) { - case "[": - return "ListValue"; - case "{": - return "ObjectValue"; - } - return null; - case "Keyword": - switch (r.value) { - case "true": - case "false": - return "BooleanValue"; - case "null": - return "NullValue"; - } - return null; + if (ch === 0x0A || pos === len - 1) { + if (ch !== 0x0A) { + pos++; } - }, - NumberValue: [e.t("Number", "number")], - StringValue: [e.t("String", "string")], - BooleanValue: [e.t("Keyword", "builtin")], - NullValue: [e.t("Keyword", "keyword")], - ListValue: [e.p("["), e.list("Value", e.p(",")), e.p("]")], - ObjectValue: [e.p("{"), e.list("ObjectField", e.p(",")), e.p("}")], - ObjectField: [e.t("String", "property"), e.p(":"), "Value"] - }; - -/***/ }), - -/***/ "../../graphiql-react/dist/search.cjs.js": -/*!***********************************************!*\ - !*** ../../graphiql-react/dist/search.cjs.js ***! - \***********************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - + this.bMarks.push(start); + this.eMarks.push(pos); + this.tShift.push(indent); + this.sCount.push(offset); + this.bsCount.push(0); + indent_found = false; + indent = 0; + offset = 0; + start = pos + 1; + } + } + // Push fake entry to simplify cache bounds checks + this.bMarks.push(s.length); + this.eMarks.push(s.length); + this.tShift.push(0); + this.sCount.push(0); + this.bsCount.push(0); + this.lineMax = this.bMarks.length - 1; // don't count last fake line +} -var K = Object.defineProperty; -var a = (S, O) => K(S, "name", { - value: O, - configurable: !0 -}); -const Q = __webpack_require__(/*! ./codemirror.cjs2.js */ "../../graphiql-react/dist/codemirror.cjs2.js"), - L = __webpack_require__(/*! ./searchcursor.cjs2.js */ "../../graphiql-react/dist/searchcursor.cjs2.js"), - z = __webpack_require__(/*! ./dialog.cjs2.js */ "../../graphiql-react/dist/dialog.cjs2.js"); -function U(S, O) { - for (var i = 0; i < O.length; i++) { - const y = O[i]; - if (typeof y != "string" && !Array.isArray(y)) { - for (const v in y) if (v !== "default" && !(v in S)) { - const h = Object.getOwnPropertyDescriptor(y, v); - h && Object.defineProperty(S, v, h.get ? h : { - enumerable: !0, - get: () => y[v] - }); - } +// Push new token to "stream". +// +StateBlock.prototype.push = function (type, tag, nesting) { + const token = new Token(type, tag, nesting); + token.block = true; + if (nesting < 0) this.level--; // closing tag + token.level = this.level; + if (nesting > 0) this.level++; // opening tag + + this.tokens.push(token); + return token; +}; +StateBlock.prototype.isEmpty = function isEmpty(line) { + return this.bMarks[line] + this.tShift[line] >= this.eMarks[line]; +}; +StateBlock.prototype.skipEmptyLines = function skipEmptyLines(from) { + for (let max = this.lineMax; from < max; from++) { + if (this.bMarks[from] + this.tShift[from] < this.eMarks[from]) { + break; } } - return Object.freeze(Object.defineProperty(S, Symbol.toStringTag, { - value: "Module" - })); -} -a(U, "_mergeNamespaces"); -var B = { - exports: {} + return from; }; -(function (S, O) { - (function (i) { - i(Q.requireCodemirror(), L.requireSearchcursor(), z.requireDialog()); - })(function (i) { - i.defineOption("search", { - bottom: !1 - }); - function y(e, n) { - return typeof e == "string" ? e = new RegExp(e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&"), n ? "gi" : "g") : e.global || (e = new RegExp(e.source, e.ignoreCase ? "gi" : "g")), { - token: function (t) { - e.lastIndex = t.pos; - var o = e.exec(t.string); - if (o && o.index == t.pos) return t.pos += o[0].length || 1, "searching"; - o ? t.pos = o.index : t.skipToEnd(); - } - }; + +// Skip spaces from given position. +StateBlock.prototype.skipSpaces = function skipSpaces(pos) { + for (let max = this.src.length; pos < max; pos++) { + const ch = this.src.charCodeAt(pos); + if (!isSpace(ch)) { + break; } - a(y, "searchOverlay"); - function v() { - this.posFrom = this.posTo = this.lastQuery = this.query = null, this.overlay = null; + } + return pos; +}; + +// Skip spaces from given position in reverse. +StateBlock.prototype.skipSpacesBack = function skipSpacesBack(pos, min) { + if (pos <= min) { + return pos; + } + while (pos > min) { + if (!isSpace(this.src.charCodeAt(--pos))) { + return pos + 1; } - a(v, "SearchState"); - function h(e) { - return e.state.search || (e.state.search = new v()); + } + return pos; +}; + +// Skip char codes from given position +StateBlock.prototype.skipChars = function skipChars(pos, code) { + for (let max = this.src.length; pos < max; pos++) { + if (this.src.charCodeAt(pos) !== code) { + break; } - a(h, "getSearchState"); - function m(e) { - return typeof e == "string" && e == e.toLowerCase(); + } + return pos; +}; + +// Skip char codes reverse from given position - 1 +StateBlock.prototype.skipCharsBack = function skipCharsBack(pos, code, min) { + if (pos <= min) { + return pos; + } + while (pos > min) { + if (code !== this.src.charCodeAt(--pos)) { + return pos + 1; } - a(m, "queryCaseInsensitive"); - function N(e, n, t) { - return e.getSearchCursor(n, t, { - caseFold: m(n), - multiline: !0 - }); + } + return pos; +}; + +// cut lines range from source. +StateBlock.prototype.getLines = function getLines(begin, end, indent, keepLastLF) { + if (begin >= end) { + return ''; + } + const queue = new Array(end - begin); + for (let i = 0, line = begin; line < end; line++, i++) { + let lineIndent = 0; + const lineStart = this.bMarks[line]; + let first = lineStart; + let last; + if (line + 1 < end || keepLastLF) { + // No need for bounds check because we have fake entry on tail. + last = this.eMarks[line] + 1; + } else { + last = this.eMarks[line]; } - a(N, "getSearchCursor"); - function j(e, n, t, o, r) { - e.openDialog(n, o, { - value: t, - selectValueOnOpen: !0, - closeOnEnter: !1, - onClose: function () { - w(e); - }, - onKeyDown: r, - bottom: e.options.search.bottom - }); + while (first < last && lineIndent < indent) { + const ch = this.src.charCodeAt(first); + if (isSpace(ch)) { + if (ch === 0x09) { + lineIndent += 4 - (lineIndent + this.bsCount[line]) % 4; + } else { + lineIndent++; + } + } else if (first - lineStart < this.tShift[line]) { + // patched tShift masked characters to look like spaces (blockquotes, list markers) + lineIndent++; + } else { + break; + } + first++; } - a(j, "persistentDialog"); - function R(e, n, t, o, r) { - e.openDialog ? e.openDialog(n, r, { - value: o, - selectValueOnOpen: !0, - bottom: e.options.search.bottom - }) : r(prompt(t, o)); + if (lineIndent > indent) { + // partially expanding tabs in code blocks, e.g '\t\tfoobar' + // with indent=2 becomes ' \tfoobar' + queue[i] = new Array(lineIndent - indent + 1).join(' ') + this.src.slice(first, last); + } else { + queue[i] = this.src.slice(first, last); } - a(R, "dialog"); - function k(e, n, t, o) { - e.openConfirm ? e.openConfirm(n, o) : confirm(t) && o[0](); + } + return queue.join(''); +}; + +// re-export Token class to use in block rules +StateBlock.prototype.Token = Token; + +// GFM table, https://github.github.com/gfm/#tables-extension- + +// Limit the amount of empty autocompleted cells in a table, +// see https://github.com/markdown-it/markdown-it/issues/1000, +// +// Both pulldown-cmark and commonmark-hs limit the number of cells this way to ~200k. +// We set it to 65k, which can expand user input by a factor of x370 +// (256x256 square is 1.8kB expanded into 650kB). +const MAX_AUTOCOMPLETED_CELLS = 0x10000; +function getLine(state, line) { + const pos = state.bMarks[line] + state.tShift[line]; + const max = state.eMarks[line]; + return state.src.slice(pos, max); +} +function escapedSplit(str) { + const result = []; + const max = str.length; + let pos = 0; + let ch = str.charCodeAt(pos); + let isEscaped = false; + let lastPos = 0; + let current = ''; + while (pos < max) { + if (ch === 0x7c /* | */) { + if (!isEscaped) { + // pipe separating cells, '|' + result.push(current + str.substring(lastPos, pos)); + current = ''; + lastPos = pos + 1; + } else { + // escaped pipe, '\|' + current += str.substring(lastPos, pos - 1); + lastPos = pos; + } } - a(k, "confirmDialog"); - function C(e) { - return e.replace(/\\([nrt\\])/g, function (n, t) { - return t == "n" ? ` -` : t == "r" ? "\r" : t == "t" ? " " : t == "\\" ? "\\" : n; - }); + isEscaped = ch === 0x5c /* \ */; + pos++; + ch = str.charCodeAt(pos); + } + result.push(current + str.substring(lastPos)); + return result; +} +function table(state, startLine, endLine, silent) { + // should have at least two lines + if (startLine + 2 > endLine) { + return false; + } + let nextLine = startLine + 1; + if (state.sCount[nextLine] < state.blkIndent) { + return false; + } + + // if it's indented more than 3 spaces, it should be a code block + if (state.sCount[nextLine] - state.blkIndent >= 4) { + return false; + } + + // first character of the second line should be '|', '-', ':', + // and no other characters are allowed but spaces; + // basically, this is the equivalent of /^[-:|][-:|\s]*$/ regexp + + let pos = state.bMarks[nextLine] + state.tShift[nextLine]; + if (pos >= state.eMarks[nextLine]) { + return false; + } + const firstCh = state.src.charCodeAt(pos++); + if (firstCh !== 0x7C /* | */ && firstCh !== 0x2D /* - */ && firstCh !== 0x3A /* : */) { + return false; + } + if (pos >= state.eMarks[nextLine]) { + return false; + } + const secondCh = state.src.charCodeAt(pos++); + if (secondCh !== 0x7C /* | */ && secondCh !== 0x2D /* - */ && secondCh !== 0x3A /* : */ && !isSpace(secondCh)) { + return false; + } + + // if first character is '-', then second character must not be a space + // (due to parsing ambiguity with list) + if (firstCh === 0x2D /* - */ && isSpace(secondCh)) { + return false; + } + while (pos < state.eMarks[nextLine]) { + const ch = state.src.charCodeAt(pos); + if (ch !== 0x7C /* | */ && ch !== 0x2D /* - */ && ch !== 0x3A /* : */ && !isSpace(ch)) { + return false; } - a(C, "parseString"); - function T(e) { - var n = e.match(/^\/(.*)\/([a-z]*)$/); - if (n) try { - e = new RegExp(n[1], n[2].indexOf("i") == -1 ? "" : "i"); - } catch {} else e = C(e); - return (typeof e == "string" ? e == "" : e.test("")) && (e = /x^/), e; + pos++; + } + let lineText = getLine(state, startLine + 1); + let columns = lineText.split('|'); + const aligns = []; + for (let i = 0; i < columns.length; i++) { + const t = columns[i].trim(); + if (!t) { + // allow empty columns before and after table, but not in between columns; + // e.g. allow ` |---| `, disallow ` ---||--- ` + if (i === 0 || i === columns.length - 1) { + continue; + } else { + return false; + } } - a(T, "parseQuery"); - function D(e, n, t) { - n.queryText = t, n.query = T(t), e.removeOverlay(n.overlay, m(n.query)), n.overlay = y(n.query, m(n.query)), e.addOverlay(n.overlay), e.showMatchesOnScrollbar && (n.annotate && (n.annotate.clear(), n.annotate = null), n.annotate = e.showMatchesOnScrollbar(n.query, m(n.query))); + if (!/^:?-+:?$/.test(t)) { + return false; } - a(D, "startSearch"); - function b(e, n, t, o) { - var r = h(e); - if (r.query) return P(e, n); - var s = e.getSelection() || r.lastQuery; - if (s instanceof RegExp && s.source == "x^" && (s = null), t && e.openDialog) { - var c = null, - u = a(function (f, x) { - i.e_stop(x), f && (f != r.queryText && (D(e, r, f), r.posFrom = r.posTo = e.getCursor()), c && (c.style.opacity = 1), P(e, x.shiftKey, function (d, g) { - var p; - g.line < 3 && document.querySelector && (p = e.display.wrapper.querySelector(".CodeMirror-dialog")) && p.getBoundingClientRect().bottom - 4 > e.cursorCoords(g, "window").top && ((c = p).style.opacity = .4); - })); - }, "searchNext"); - j(e, _(e), s, u, function (f, x) { - var d = i.keyName(f), - g = e.getOption("extraKeys"), - p = g && g[d] || i.keyMap[e.getOption("keyMap")][d]; - p == "findNext" || p == "findPrev" || p == "findPersistentNext" || p == "findPersistentPrev" ? (i.e_stop(f), D(e, h(e), x), e.execCommand(p)) : (p == "find" || p == "findPersistent") && (i.e_stop(f), u(x, f)); - }), o && s && (D(e, r, s), P(e, n)); - } else R(e, _(e), "Search for:", s, function (f) { - f && !r.query && e.operation(function () { - D(e, r, f), r.posFrom = r.posTo = e.getCursor(), P(e, n); - }); - }); + if (t.charCodeAt(t.length - 1) === 0x3A /* : */) { + aligns.push(t.charCodeAt(0) === 0x3A /* : */ ? 'center' : 'right'); + } else if (t.charCodeAt(0) === 0x3A /* : */) { + aligns.push('left'); + } else { + aligns.push(''); } - a(b, "doSearch"); - function P(e, n, t) { - e.operation(function () { - var o = h(e), - r = N(e, o.query, n ? o.posFrom : o.posTo); - !r.find(n) && (r = N(e, o.query, n ? i.Pos(e.lastLine()) : i.Pos(e.firstLine(), 0)), !r.find(n)) || (e.setSelection(r.from(), r.to()), e.scrollIntoView({ - from: r.from(), - to: r.to() - }, 20), o.posFrom = r.from(), o.posTo = r.to(), t && t(r.from(), r.to())); - }); + } + lineText = getLine(state, startLine).trim(); + if (lineText.indexOf('|') === -1) { + return false; + } + if (state.sCount[startLine] - state.blkIndent >= 4) { + return false; + } + columns = escapedSplit(lineText); + if (columns.length && columns[0] === '') columns.shift(); + if (columns.length && columns[columns.length - 1] === '') columns.pop(); + + // header row will define an amount of columns in the entire table, + // and align row should be exactly the same (the rest of the rows can differ) + const columnCount = columns.length; + if (columnCount === 0 || columnCount !== aligns.length) { + return false; + } + if (silent) { + return true; + } + const oldParentType = state.parentType; + state.parentType = 'table'; + + // use 'blockquote' lists for termination because it's + // the most similar to tables + const terminatorRules = state.md.block.ruler.getRules('blockquote'); + const token_to = state.push('table_open', 'table', 1); + const tableLines = [startLine, 0]; + token_to.map = tableLines; + const token_tho = state.push('thead_open', 'thead', 1); + token_tho.map = [startLine, startLine + 1]; + const token_htro = state.push('tr_open', 'tr', 1); + token_htro.map = [startLine, startLine + 1]; + for (let i = 0; i < columns.length; i++) { + const token_ho = state.push('th_open', 'th', 1); + if (aligns[i]) { + token_ho.attrs = [['style', 'text-align:' + aligns[i]]]; } - a(P, "findNext"); - function w(e) { - e.operation(function () { - var n = h(e); - n.lastQuery = n.query, n.query && (n.query = n.queryText = null, e.removeOverlay(n.overlay), n.annotate && (n.annotate.clear(), n.annotate = null)); - }); + const token_il = state.push('inline', '', 0); + token_il.content = columns[i].trim(); + token_il.children = []; + state.push('th_close', 'th', -1); + } + state.push('tr_close', 'tr', -1); + state.push('thead_close', 'thead', -1); + let tbodyLines; + let autocompletedCells = 0; + for (nextLine = startLine + 2; nextLine < endLine; nextLine++) { + if (state.sCount[nextLine] < state.blkIndent) { + break; } - a(w, "clearSearch"); - function l(e, n) { - var t = e ? document.createElement(e) : document.createDocumentFragment(); - for (var o in n) t[o] = n[o]; - for (var r = 2; r < arguments.length; r++) { - var s = arguments[r]; - t.appendChild(typeof s == "string" ? document.createTextNode(s) : s); + let terminate = false; + for (let i = 0, l = terminatorRules.length; i < l; i++) { + if (terminatorRules[i](state, nextLine, endLine, true)) { + terminate = true; + break; } - return t; } - a(l, "el"); - function _(e) { - return l("", null, l("span", { - className: "CodeMirror-search-label" - }, e.phrase("Search:")), " ", l("input", { - type: "text", - style: "width: 10em", - className: "CodeMirror-search-field" - }), " ", l("span", { - style: "color: #888", - className: "CodeMirror-search-hint" - }, e.phrase("(Use /re/ syntax for regexp search)"))); + if (terminate) { + break; } - a(_, "getQueryDialog"); - function A(e) { - return l("", null, " ", l("input", { - type: "text", - style: "width: 10em", - className: "CodeMirror-search-field" - }), " ", l("span", { - style: "color: #888", - className: "CodeMirror-search-hint" - }, e.phrase("(Use /re/ syntax for regexp search)"))); + lineText = getLine(state, nextLine).trim(); + if (!lineText) { + break; } - a(A, "getReplaceQueryDialog"); - function I(e) { - return l("", null, l("span", { - className: "CodeMirror-search-label" - }, e.phrase("With:")), " ", l("input", { - type: "text", - style: "width: 10em", - className: "CodeMirror-search-field" - })); + if (state.sCount[nextLine] - state.blkIndent >= 4) { + break; } - a(I, "getReplacementQueryDialog"); - function V(e) { - return l("", null, l("span", { - className: "CodeMirror-search-label" - }, e.phrase("Replace?")), " ", l("button", {}, e.phrase("Yes")), " ", l("button", {}, e.phrase("No")), " ", l("button", {}, e.phrase("All")), " ", l("button", {}, e.phrase("Stop"))); + columns = escapedSplit(lineText); + if (columns.length && columns[0] === '') columns.shift(); + if (columns.length && columns[columns.length - 1] === '') columns.pop(); + + // note: autocomplete count can be negative if user specifies more columns than header, + // but that does not affect intended use (which is limiting expansion) + autocompletedCells += columnCount - columns.length; + if (autocompletedCells > MAX_AUTOCOMPLETED_CELLS) { + break; } - a(V, "getDoReplaceConfirm"); - function E(e, n, t) { - e.operation(function () { - for (var o = N(e, n); o.findNext();) if (typeof n != "string") { - var r = e.getRange(o.from(), o.to()).match(n); - o.replace(t.replace(/\$(\d)/g, function (s, c) { - return r[c]; - })); - } else o.replace(t); - }); + if (nextLine === startLine + 2) { + const token_tbo = state.push('tbody_open', 'tbody', 1); + token_tbo.map = tbodyLines = [startLine + 2, 0]; } - a(E, "replaceAll"); - function F(e, n) { - if (!e.getOption("readOnly")) { - var t = e.getSelection() || h(e).lastQuery, - o = n ? e.phrase("Replace all:") : e.phrase("Replace:"), - r = l("", null, l("span", { - className: "CodeMirror-search-label" - }, o), A(e)); - R(e, r, o, t, function (s) { - s && (s = T(s), R(e, I(e), e.phrase("Replace with:"), "", function (c) { - if (c = C(c), n) E(e, s, c);else { - w(e); - var u = N(e, s, e.getCursor("from")), - f = a(function () { - var d = u.from(), - g; - !(g = u.findNext()) && (u = N(e, s), !(g = u.findNext()) || d && u.from().line == d.line && u.from().ch == d.ch) || (e.setSelection(u.from(), u.to()), e.scrollIntoView({ - from: u.from(), - to: u.to() - }), k(e, V(e), e.phrase("Replace?"), [function () { - x(g); - }, f, function () { - E(e, s, c); - }])); - }, "advance"), - x = a(function (d) { - u.replace(typeof s == "string" ? c : c.replace(/\$(\d)/g, function (g, p) { - return d[p]; - })), f(); - }, "doReplace"); - f(); - } - })); - }); + const token_tro = state.push('tr_open', 'tr', 1); + token_tro.map = [nextLine, nextLine + 1]; + for (let i = 0; i < columnCount; i++) { + const token_tdo = state.push('td_open', 'td', 1); + if (aligns[i]) { + token_tdo.attrs = [['style', 'text-align:' + aligns[i]]]; } + const token_il = state.push('inline', '', 0); + token_il.content = columns[i] ? columns[i].trim() : ''; + token_il.children = []; + state.push('td_close', 'td', -1); } - a(F, "replace"), i.commands.find = function (e) { - w(e), b(e); - }, i.commands.findPersistent = function (e) { - w(e), b(e, !1, !0); - }, i.commands.findPersistentNext = function (e) { - b(e, !1, !0, !0); - }, i.commands.findPersistentPrev = function (e) { - b(e, !0, !0, !0); - }, i.commands.findNext = b, i.commands.findPrev = function (e) { - b(e, !0); - }, i.commands.clearSearch = w, i.commands.replace = F, i.commands.replaceAll = function (e) { - F(e, !0); - }; - }); -})(); -var $ = B.exports; -const W = Q.getDefaultExportFromCjs($), - Y = U({ - __proto__: null, - default: W - }, [$]); -exports.search = Y; + state.push('tr_close', 'tr', -1); + } + if (tbodyLines) { + state.push('tbody_close', 'tbody', -1); + tbodyLines[1] = nextLine; + } + state.push('table_close', 'table', -1); + tableLines[1] = nextLine; + state.parentType = oldParentType; + state.line = nextLine; + return true; +} -/***/ }), +// Code block (4 spaces padded) -/***/ "../../graphiql-react/dist/searchcursor.cjs.js": -/*!*****************************************************!*\ - !*** ../../graphiql-react/dist/searchcursor.cjs.js ***! - \*****************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { +function code(state, startLine, endLine /*, silent */) { + if (state.sCount[startLine] - state.blkIndent < 4) { + return false; + } + let nextLine = startLine + 1; + let last = nextLine; + while (nextLine < endLine) { + if (state.isEmpty(nextLine)) { + nextLine++; + continue; + } + if (state.sCount[nextLine] - state.blkIndent >= 4) { + nextLine++; + last = nextLine; + continue; + } + break; + } + state.line = last; + const token = state.push('code_block', 'code', 0); + token.content = state.getLines(startLine, last, 4 + state.blkIndent, false) + '\n'; + token.map = [startLine, state.line]; + return true; +} + +// fences (``` lang, ~~~ lang) + +function fence(state, startLine, endLine, silent) { + let pos = state.bMarks[startLine] + state.tShift[startLine]; + let max = state.eMarks[startLine]; + + // if it's indented more than 3 spaces, it should be a code block + if (state.sCount[startLine] - state.blkIndent >= 4) { + return false; + } + if (pos + 3 > max) { + return false; + } + const marker = state.src.charCodeAt(pos); + if (marker !== 0x7E /* ~ */ && marker !== 0x60 /* ` */) { + return false; + } + + // scan marker length + let mem = pos; + pos = state.skipChars(pos, marker); + let len = pos - mem; + if (len < 3) { + return false; + } + const markup = state.src.slice(mem, pos); + const params = state.src.slice(pos, max); + if (marker === 0x60 /* ` */) { + if (params.indexOf(String.fromCharCode(marker)) >= 0) { + return false; + } + } + + // Since start is found, we can report success here in validation mode + if (silent) { + return true; + } + // search end of block + let nextLine = startLine; + let haveEndMarker = false; + for (;;) { + nextLine++; + if (nextLine >= endLine) { + // unclosed block should be autoclosed by end of document. + // also block seems to be autoclosed by end of parent + break; + } + pos = mem = state.bMarks[nextLine] + state.tShift[nextLine]; + max = state.eMarks[nextLine]; + if (pos < max && state.sCount[nextLine] < state.blkIndent) { + // non-empty line with negative indent should stop the list: + // - ``` + // test + break; + } + if (state.src.charCodeAt(pos) !== marker) { + continue; + } + if (state.sCount[nextLine] - state.blkIndent >= 4) { + // closing fence should be indented less than 4 spaces + continue; + } + pos = state.skipChars(pos, marker); + // closing code fence must be at least as long as the opening one + if (pos - mem < len) { + continue; + } -var n = Object.defineProperty; -var u = (r, o) => n(r, "name", { - value: o, - configurable: !0 -}); -const i = __webpack_require__(/*! ./codemirror.cjs2.js */ "../../graphiql-react/dist/codemirror.cjs2.js"), - f = __webpack_require__(/*! ./searchcursor.cjs2.js */ "../../graphiql-react/dist/searchcursor.cjs2.js"); -function l(r, o) { - for (var c = 0; c < o.length; c++) { - const e = o[c]; - if (typeof e != "string" && !Array.isArray(e)) { - for (const t in e) if (t !== "default" && !(t in r)) { - const s = Object.getOwnPropertyDescriptor(e, t); - s && Object.defineProperty(r, t, s.get ? s : { - enumerable: !0, - get: () => e[t] - }); - } + // make sure tail has spaces only + pos = state.skipSpaces(pos); + if (pos < max) { + continue; } + haveEndMarker = true; + // found! + break; } - return Object.freeze(Object.defineProperty(r, Symbol.toStringTag, { - value: "Module" - })); -} -u(l, "_mergeNamespaces"); -var a = f.requireSearchcursor(); -const g = i.getDefaultExportFromCjs(a), - p = l({ - __proto__: null, - default: g - }, [a]); -exports.searchcursor = p; - -/***/ }), -/***/ "../../graphiql-react/dist/searchcursor.cjs2.js": -/*!******************************************************!*\ - !*** ../../graphiql-react/dist/searchcursor.cjs2.js ***! - \******************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + // If a fence has heading spaces, they should be removed from its inner block + len = state.sCount[startLine]; + state.line = nextLine + (haveEndMarker ? 1 : 0); + const token = state.push('fence', 'code', 0); + token.info = params; + token.content = state.getLines(startLine + 1, nextLine, len, true); + token.markup = markup; + token.map = [startLine, state.line]; + return true; +} +// Block quotes +function blockquote(state, startLine, endLine, silent) { + let pos = state.bMarks[startLine] + state.tShift[startLine]; + let max = state.eMarks[startLine]; + const oldLineMax = state.lineMax; -var W = Object.defineProperty; -var o = (d, E) => W(d, "name", { - value: E, - configurable: !0 -}); -const G = __webpack_require__(/*! ./codemirror.cjs2.js */ "../../graphiql-react/dist/codemirror.cjs2.js"); -var N = { - exports: {} - }, - b; -function H() { - return b || (b = 1, function (d, E) { - (function (m) { - m(G.requireCodemirror()); - })(function (m) { - var a = m.Pos; - function B(e) { - var t = e.flags; - return t !== null && t !== void 0 ? t : (e.ignoreCase ? "i" : "") + (e.global ? "g" : "") + (e.multiline ? "m" : ""); - } - o(B, "regexpFlags"); - function F(e, t) { - for (var n = B(e), r = n, l = 0; l < t.length; l++) r.indexOf(t.charAt(l)) == -1 && (r += t.charAt(l)); - return n == r ? e : new RegExp(e.source, r); - } - o(F, "ensureFlags"); - function R(e) { - return /\\s|\\n|\n|\\W|\\D|\[\^/.test(e.source); - } - o(R, "maybeMultiline"); - function I(e, t, n) { - t = F(t, "g"); - for (var r = n.line, l = n.ch, i = e.lastLine(); r <= i; r++, l = 0) { - t.lastIndex = l; - var h = e.getLine(r), - f = t.exec(h); - if (f) return { - from: a(r, f.index), - to: a(r, f.index + f[0].length), - match: f - }; - } - } - o(I, "searchRegexpForward"); - function j(e, t, n) { - if (!R(t)) return I(e, t, n); - t = F(t, "gm"); - for (var r, l = 1, i = n.line, h = e.lastLine(); i <= h;) { - for (var f = 0; f < l && !(i > h); f++) { - var p = e.getLine(i++); - r = r == null ? p : r + ` -` + p; - } - l = l * 2, t.lastIndex = n.ch; - var u = t.exec(r); - if (u) { - var s = r.slice(0, u.index).split(` -`), - c = u[0].split(` -`), - g = n.line + s.length - 1, - v = s[s.length - 1].length; - return { - from: a(g, v), - to: a(g + c.length - 1, c.length == 1 ? v + c[0].length : c[c.length - 1].length), - match: u - }; - } - } - } - o(j, "searchRegexpForwardMultiline"); - function z(e, t, n) { - for (var r, l = 0; l <= e.length;) { - t.lastIndex = l; - var i = t.exec(e); - if (!i) break; - var h = i.index + i[0].length; - if (h > e.length - n) break; - (!r || h > r.index + r[0].length) && (r = i), l = i.index + 1; - } - return r; - } - o(z, "lastMatchIn"); - function D(e, t, n) { - t = F(t, "g"); - for (var r = n.line, l = n.ch, i = e.firstLine(); r >= i; r--, l = -1) { - var h = e.getLine(r), - f = z(h, t, l < 0 ? 0 : h.length - l); - if (f) return { - from: a(r, f.index), - to: a(r, f.index + f[0].length), - match: f - }; - } - } - o(D, "searchRegexpBackward"); - function A(e, t, n) { - if (!R(t)) return D(e, t, n); - t = F(t, "gm"); - for (var r, l = 1, i = e.getLine(n.line).length - n.ch, h = n.line, f = e.firstLine(); h >= f;) { - for (var p = 0; p < l && h >= f; p++) { - var u = e.getLine(h--); - r = r == null ? u : u + ` -` + r; - } - l *= 2; - var s = z(r, t, i); - if (s) { - var c = r.slice(0, s.index).split(` -`), - g = s[0].split(` -`), - v = h + c.length, - x = c[c.length - 1].length; - return { - from: a(v, x), - to: a(v + g.length - 1, g.length == 1 ? x + g[0].length : g[g.length - 1].length), - match: s - }; - } - } - } - o(A, "searchRegexpBackwardMultiline"); - var P, k; - String.prototype.normalize ? (P = o(function (e) { - return e.normalize("NFD").toLowerCase(); - }, "doFold"), k = o(function (e) { - return e.normalize("NFD"); - }, "noFold")) : (P = o(function (e) { - return e.toLowerCase(); - }, "doFold"), k = o(function (e) { - return e; - }, "noFold")); - function L(e, t, n, r) { - if (e.length == t.length) return n; - for (var l = 0, i = n + Math.max(0, e.length - t.length);;) { - if (l == i) return l; - var h = l + i >> 1, - f = r(e.slice(0, h)).length; - if (f == n) return h; - f > n ? i = h : l = h + 1; - } - } - o(L, "adjustPos"); - function y(e, t, n, r) { - if (!t.length) return null; - var l = r ? P : k, - i = l(t).split(/\r|\n\r?/); - t: for (var h = n.line, f = n.ch, p = e.lastLine() + 1 - i.length; h <= p; h++, f = 0) { - var u = e.getLine(h).slice(f), - s = l(u); - if (i.length == 1) { - var c = s.indexOf(i[0]); - if (c == -1) continue t; - var n = L(u, s, c, l) + f; - return { - from: a(h, L(u, s, c, l) + f), - to: a(h, L(u, s, c + i[0].length, l) + f) - }; - } else { - var g = s.length - i[0].length; - if (s.slice(g) != i[0]) continue t; - for (var v = 1; v < i.length - 1; v++) if (l(e.getLine(h + v)) != i[v]) continue t; - var x = e.getLine(h + i.length - 1), - O = l(x), - S = i[i.length - 1]; - if (O.slice(0, S.length) != S) continue t; - return { - from: a(h, L(u, s, g, l) + f), - to: a(h + i.length - 1, L(x, O, S.length, l)) - }; - } - } - } - o(y, "searchStringForward"); - function C(e, t, n, r) { - if (!t.length) return null; - var l = r ? P : k, - i = l(t).split(/\r|\n\r?/); - t: for (var h = n.line, f = n.ch, p = e.firstLine() - 1 + i.length; h >= p; h--, f = -1) { - var u = e.getLine(h); - f > -1 && (u = u.slice(0, f)); - var s = l(u); - if (i.length == 1) { - var c = s.lastIndexOf(i[0]); - if (c == -1) continue t; - return { - from: a(h, L(u, s, c, l)), - to: a(h, L(u, s, c + i[0].length, l)) - }; - } else { - var g = i[i.length - 1]; - if (s.slice(0, g.length) != g) continue t; - for (var v = 1, n = h - i.length + 1; v < i.length - 1; v++) if (l(e.getLine(n + v)) != i[v]) continue t; - var x = e.getLine(h + 1 - i.length), - O = l(x); - if (O.slice(O.length - i[0].length) != i[0]) continue t; - return { - from: a(h + 1 - i.length, L(x, O, x.length - i[0].length, l)), - to: a(h, L(u, s, g.length, l)) - }; - } - } - } - o(C, "searchStringBackward"); - function w(e, t, n, r) { - this.atOccurrence = !1, this.afterEmptyMatch = !1, this.doc = e, n = n ? e.clipPos(n) : a(0, 0), this.pos = { - from: n, - to: n - }; - var l; - typeof r == "object" ? l = r.caseFold : (l = r, r = null), typeof t == "string" ? (l == null && (l = !1), this.matches = function (i, h) { - return (i ? C : y)(e, t, h, l); - }) : (t = F(t, "gm"), !r || r.multiline !== !1 ? this.matches = function (i, h) { - return (i ? A : j)(e, t, h); - } : this.matches = function (i, h) { - return (i ? D : I)(e, t, h); - }); - } - o(w, "SearchCursor"), w.prototype = { - findNext: function () { - return this.find(!1); - }, - findPrevious: function () { - return this.find(!0); - }, - find: function (e) { - var t = this.doc.clipPos(e ? this.pos.from : this.pos.to); - if (this.afterEmptyMatch && this.atOccurrence && (t = a(t.line, t.ch), e ? (t.ch--, t.ch < 0 && (t.line--, t.ch = (this.doc.getLine(t.line) || "").length)) : (t.ch++, t.ch > (this.doc.getLine(t.line) || "").length && (t.ch = 0, t.line++)), m.cmpPos(t, this.doc.clipPos(t)) != 0)) return this.atOccurrence = !1; - var n = this.matches(e, t); - if (this.afterEmptyMatch = n && m.cmpPos(n.from, n.to) == 0, n) return this.pos = n, this.atOccurrence = !0, this.pos.match || !0; - var r = a(e ? this.doc.firstLine() : this.doc.lastLine() + 1, 0); - return this.pos = { - from: r, - to: r - }, this.atOccurrence = !1; - }, - from: function () { - if (this.atOccurrence) return this.pos.from; - }, - to: function () { - if (this.atOccurrence) return this.pos.to; - }, - replace: function (e, t) { - if (this.atOccurrence) { - var n = m.splitLines(e); - this.doc.replaceRange(n, this.pos.from, this.pos.to, t), this.pos.to = a(this.pos.from.line + n.length - 1, n[n.length - 1].length + (n.length == 1 ? this.pos.from.ch : 0)); - } - } - }, m.defineExtension("getSearchCursor", function (e, t, n) { - return new w(this.doc, e, t, n); - }), m.defineDocExtension("getSearchCursor", function (e, t, n) { - return new w(this, e, t, n); - }), m.defineExtension("selectMatches", function (e, t) { - for (var n = [], r = this.getSearchCursor(e, this.getCursor("from"), t); r.findNext() && !(m.cmpPos(r.to(), this.getCursor("to")) > 0);) n.push({ - anchor: r.from(), - head: r.to() - }); - n.length && this.setSelections(n, 0); - }); - }); - }()), N.exports; -} -o(H, "requireSearchcursor"); -exports.requireSearchcursor = H; + // if it's indented more than 3 spaces, it should be a code block + if (state.sCount[startLine] - state.blkIndent >= 4) { + return false; + } -/***/ }), + // check the block quote marker + if (state.src.charCodeAt(pos) !== 0x3E /* > */) { + return false; + } -/***/ "../../graphiql-react/dist/show-hint.cjs.js": -/*!**************************************************!*\ - !*** ../../graphiql-react/dist/show-hint.cjs.js ***! - \**************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + // we know that it's going to be a valid blockquote, + // so no point trying to find the end of it in silent mode + if (silent) { + return true; + } + const oldBMarks = []; + const oldBSCount = []; + const oldSCount = []; + const oldTShift = []; + const terminatorRules = state.md.block.ruler.getRules('blockquote'); + const oldParentType = state.parentType; + state.parentType = 'blockquote'; + let lastLineEmpty = false; + let nextLine; + // Search the end of the block + // + // Block ends with either: + // 1. an empty line outside: + // ``` + // > test + // + // ``` + // 2. an empty line inside: + // ``` + // > + // test + // ``` + // 3. another tag: + // ``` + // > test + // - - - + // ``` + for (nextLine = startLine; nextLine < endLine; nextLine++) { + // check if it's outdented, i.e. it's inside list item and indented + // less than said list item: + // + // ``` + // 1. anything + // > current blockquote + // 2. checking this line + // ``` + const isOutdented = state.sCount[nextLine] < state.blkIndent; + pos = state.bMarks[nextLine] + state.tShift[nextLine]; + max = state.eMarks[nextLine]; + if (pos >= max) { + // Case 1: line is not inside the blockquote, and this line is empty. + break; + } + if (state.src.charCodeAt(pos++) === 0x3E /* > */ && !isOutdented) { + // This line is inside the blockquote. + // set offset past spaces and ">" + let initial = state.sCount[nextLine] + 1; + let spaceAfterMarker; + let adjustTab; -var ct = Object.defineProperty; -var p = (H, A) => ct(H, "name", { - value: A, - configurable: !0 -}); -const G = __webpack_require__(/*! ./codemirror.cjs2.js */ "../../graphiql-react/dist/codemirror.cjs2.js"); -function lt(H, A) { - for (var r = 0; r < A.length; r++) { - const w = A[r]; - if (typeof w != "string" && !Array.isArray(w)) { - for (const v in w) if (v !== "default" && !(v in H)) { - const b = Object.getOwnPropertyDescriptor(w, v); - b && Object.defineProperty(H, v, b.get ? b : { - enumerable: !0, - get: () => w[v] - }); - } - } - } - return Object.freeze(Object.defineProperty(H, Symbol.toStringTag, { - value: "Module" - })); -} -p(lt, "_mergeNamespaces"); -var ht = { - exports: {} -}; -(function (H, A) { - (function (r) { - r(G.requireCodemirror()); - })(function (r) { - var w = "CodeMirror-hint", - v = "CodeMirror-hint-active"; - r.showHint = function (t, e, i) { - if (!e) return t.showHint(i); - i && i.async && (e.async = !0); - var n = { - hint: e - }; - if (i) for (var s in i) n[s] = i[s]; - return t.showHint(n); - }, r.defineExtension("showHint", function (t) { - t = tt(this, this.getCursor("start"), t); - var e = this.listSelections(); - if (!(e.length > 1)) { - if (this.somethingSelected()) { - if (!t.hint.supportsSelection) return; - for (var i = 0; i < e.length; i++) if (e[i].head.line != e[i].anchor.line) return; + // skip one optional space after '>' + if (state.src.charCodeAt(pos) === 0x20 /* space */) { + // ' > test ' + // ^ -- position start of line here: + pos++; + initial++; + adjustTab = false; + spaceAfterMarker = true; + } else if (state.src.charCodeAt(pos) === 0x09 /* tab */) { + spaceAfterMarker = true; + if ((state.bsCount[nextLine] + initial) % 4 === 3) { + // ' >\t test ' + // ^ -- position start of line here (tab has width===1) + pos++; + initial++; + adjustTab = false; + } else { + // ' >\t test ' + // ^ -- position start of line here + shift bsCount slightly + // to make extra space appear + adjustTab = true; } - this.state.completionActive && this.state.completionActive.close(); - var n = this.state.completionActive = new b(this, t); - n.options.hint && (r.signal(this, "startCompletion", this), n.update(!0)); - } - }), r.defineExtension("closeHint", function () { - this.state.completionActive && this.state.completionActive.close(); - }); - function b(t, e) { - if (this.cm = t, this.options = e, this.widget = null, this.debounce = 0, this.tick = 0, this.startPos = this.cm.getCursor("start"), this.startLen = this.cm.getLine(this.startPos.line).length - this.cm.getSelection().length, this.options.updateOnCursorActivity) { - var i = this; - t.on("cursorActivity", this.activityFunc = function () { - i.cursorActivity(); - }); + } else { + spaceAfterMarker = false; } - } - p(b, "Completion"); - var Q = window.requestAnimationFrame || function (t) { - return setTimeout(t, 1e3 / 60); - }, - Z = window.cancelAnimationFrame || clearTimeout; - b.prototype = { - close: function () { - this.active() && (this.cm.state.completionActive = null, this.tick = null, this.options.updateOnCursorActivity && this.cm.off("cursorActivity", this.activityFunc), this.widget && this.data && r.signal(this.data, "close"), this.widget && this.widget.close(), r.signal(this.cm, "endCompletion", this.cm)); - }, - active: function () { - return this.cm.state.completionActive == this; - }, - pick: function (t, e) { - var i = t.list[e], - n = this; - this.cm.operation(function () { - i.hint ? i.hint(n.cm, t, i) : n.cm.replaceRange(_(i), i.from || t.from, i.to || t.to, "complete"), r.signal(t, "pick", i), n.cm.scrollIntoView(); - }), this.options.closeOnPick && this.close(); - }, - cursorActivity: function () { - this.debounce && (Z(this.debounce), this.debounce = 0); - var t = this.startPos; - this.data && (t = this.data.from); - var e = this.cm.getCursor(), - i = this.cm.getLine(e.line); - if (e.line != this.startPos.line || i.length - e.ch != this.startLen - this.startPos.ch || e.ch < t.ch || this.cm.somethingSelected() || !e.ch || this.options.closeCharacters.test(i.charAt(e.ch - 1))) this.close();else { - var n = this; - this.debounce = Q(function () { - n.update(); - }), this.widget && this.widget.disable(); - } - }, - update: function (t) { - if (this.tick != null) { - var e = this, - i = ++this.tick; - U(this.options.hint, this.cm, this.options, function (n) { - e.tick == i && e.finishUpdate(n, t); - }); + let offset = initial; + oldBMarks.push(state.bMarks[nextLine]); + state.bMarks[nextLine] = pos; + while (pos < max) { + const ch = state.src.charCodeAt(pos); + if (isSpace(ch)) { + if (ch === 0x09) { + offset += 4 - (offset + state.bsCount[nextLine] + (adjustTab ? 1 : 0)) % 4; + } else { + offset++; + } + } else { + break; } - }, - finishUpdate: function (t, e) { - this.data && r.signal(this.data, "update"); - var i = this.widget && this.widget.picked || e && this.options.completeSingle; - this.widget && this.widget.close(), this.data = t, t && t.list.length && (i && t.list.length == 1 ? this.pick(t, 0) : (this.widget = new K(this, t), r.signal(t, "shown"))); + pos++; } - }; - function tt(t, e, i) { - var n = t.options.hintOptions, - s = {}; - for (var c in D) s[c] = D[c]; - if (n) for (var c in n) n[c] !== void 0 && (s[c] = n[c]); - if (i) for (var c in i) i[c] !== void 0 && (s[c] = i[c]); - return s.hint.resolve && (s.hint = s.hint.resolve(t, e)), s; + lastLineEmpty = pos >= max; + oldBSCount.push(state.bsCount[nextLine]); + state.bsCount[nextLine] = state.sCount[nextLine] + 1 + (spaceAfterMarker ? 1 : 0); + oldSCount.push(state.sCount[nextLine]); + state.sCount[nextLine] = offset - initial; + oldTShift.push(state.tShift[nextLine]); + state.tShift[nextLine] = pos - state.bMarks[nextLine]; + continue; } - p(tt, "parseOptions"); - function _(t) { - return typeof t == "string" ? t : t.text; + + // Case 2: line is not inside the blockquote, and the last line was empty. + if (lastLineEmpty) { + break; } - p(_, "getText"); - function et(t, e) { - var i = { - Up: function () { - e.moveFocus(-1); - }, - Down: function () { - e.moveFocus(1); - }, - PageUp: function () { - e.moveFocus(-e.menuSize() + 1, !0); - }, - PageDown: function () { - e.moveFocus(e.menuSize() - 1, !0); - }, - Home: function () { - e.setFocus(0); - }, - End: function () { - e.setFocus(e.length - 1); - }, - Enter: e.pick, - Tab: e.pick, - Esc: e.close - }, - n = /Mac/.test(navigator.platform); - n && (i["Ctrl-P"] = function () { - e.moveFocus(-1); - }, i["Ctrl-N"] = function () { - e.moveFocus(1); - }); - var s = t.options.customKeys, - c = s ? {} : i; - function o(u, l) { - var a; - typeof l != "string" ? a = p(function (S) { - return l(S, e); - }, "bound") : i.hasOwnProperty(l) ? a = i[l] : a = l, c[u] = a; + + // Case 3: another tag found. + let terminate = false; + for (let i = 0, l = terminatorRules.length; i < l; i++) { + if (terminatorRules[i](state, nextLine, endLine, true)) { + terminate = true; + break; } - if (p(o, "addBinding"), s) for (var f in s) s.hasOwnProperty(f) && o(f, s[f]); - var h = t.options.extraKeys; - if (h) for (var f in h) h.hasOwnProperty(f) && o(f, h[f]); - return c; } - p(et, "buildKeyMap"); - function B(t, e) { - for (; e && e != t;) { - if (e.nodeName.toUpperCase() === "LI" && e.parentNode == t) return e; - e = e.parentNode; + if (terminate) { + // Quirk to enforce "hard termination mode" for paragraphs; + // normally if you call `tokenize(state, startLine, nextLine)`, + // paragraphs will look below nextLine for paragraph continuation, + // but if blockquote is terminated by another tag, they shouldn't + state.lineMax = nextLine; + if (state.blkIndent !== 0) { + // state.blkIndent was non-zero, we now set it to zero, + // so we need to re-calculate all offsets to appear as + // if indent wasn't changed + oldBMarks.push(state.bMarks[nextLine]); + oldBSCount.push(state.bsCount[nextLine]); + oldTShift.push(state.tShift[nextLine]); + oldSCount.push(state.sCount[nextLine]); + state.sCount[nextLine] -= state.blkIndent; } + break; } - p(B, "getHintElement"); - function K(t, e) { - this.id = "cm-complete-" + Math.floor(Math.random(1e6)), this.completion = t, this.data = e, this.picked = !1; - var i = this, - n = t.cm, - s = n.getInputField().ownerDocument, - c = s.defaultView || s.parentWindow, - o = this.hints = s.createElement("ul"); - o.setAttribute("role", "listbox"), o.setAttribute("aria-expanded", "true"), o.id = this.id; - var f = t.cm.options.theme; - o.className = "CodeMirror-hints " + f, this.selectedHint = e.selectedHint || 0; - for (var h = e.list, u = 0; u < h.length; ++u) { - var l = o.appendChild(s.createElement("li")), - a = h[u], - S = w + (u != this.selectedHint ? "" : " " + v); - a.className != null && (S = a.className + " " + S), l.className = S, u == this.selectedHint && l.setAttribute("aria-selected", "true"), l.id = this.id + "-" + u, l.setAttribute("role", "option"), a.render ? a.render(l, e, a) : l.appendChild(s.createTextNode(a.displayText || _(a))), l.hintId = u; - } - var T = t.options.container || s.body, - y = n.cursorCoords(t.options.alignWithWord ? e.from : null), - k = y.left, - O = y.bottom, - j = !0, - F = 0, - E = 0; - if (T !== s.body) { - var st = ["absolute", "relative", "fixed"].indexOf(c.getComputedStyle(T).position) !== -1, - W = st ? T : T.offsetParent, - M = W.getBoundingClientRect(), - q = s.body.getBoundingClientRect(); - F = M.left - q.left - W.scrollLeft, E = M.top - q.top - W.scrollTop; - } - o.style.left = k - F + "px", o.style.top = O - E + "px"; - var N = c.innerWidth || Math.max(s.body.offsetWidth, s.documentElement.offsetWidth), - L = c.innerHeight || Math.max(s.body.offsetHeight, s.documentElement.offsetHeight); - T.appendChild(o), n.getInputField().setAttribute("aria-autocomplete", "list"), n.getInputField().setAttribute("aria-owns", this.id), n.getInputField().setAttribute("aria-activedescendant", this.id + "-" + this.selectedHint); - var m = t.options.moveOnOverlap ? o.getBoundingClientRect() : new DOMRect(), - z = t.options.paddingForScrollbar ? o.scrollHeight > o.clientHeight + 1 : !1, - x; - setTimeout(function () { - x = n.getScrollInfo(); - }); - var ot = m.bottom - L; - if (ot > 0) { - var P = m.bottom - m.top, - rt = y.top - (y.bottom - m.top); - if (rt - P > 0) o.style.top = (O = y.top - P - E) + "px", j = !1;else if (P > L) { - o.style.height = L - 5 + "px", o.style.top = (O = y.bottom - m.top - E) + "px"; - var V = n.getCursor(); - e.from.ch != V.ch && (y = n.cursorCoords(V), o.style.left = (k = y.left - F) + "px", m = o.getBoundingClientRect()); - } - } - var C = m.right - N; - if (z && (C += n.display.nativeBarWidth), C > 0 && (m.right - m.left > N && (o.style.width = N - 5 + "px", C -= m.right - m.left - N), o.style.left = (k = y.left - C - F) + "px"), z) for (var I = o.firstChild; I; I = I.nextSibling) I.style.paddingRight = n.display.nativeBarWidth + "px"; - if (n.addKeyMap(this.keyMap = et(t, { - moveFocus: function (d, g) { - i.changeActive(i.selectedHint + d, g); - }, - setFocus: function (d) { - i.changeActive(d); - }, - menuSize: function () { - return i.screenAmount(); - }, - length: h.length, - close: function () { - t.close(); - }, - pick: function () { - i.pick(); - }, - data: e - })), t.options.closeOnUnfocus) { - var Y; - n.on("blur", this.onBlur = function () { - Y = setTimeout(function () { - t.close(); - }, 100); - }), n.on("focus", this.onFocus = function () { - clearTimeout(Y); - }); - } - n.on("scroll", this.onScroll = function () { - var d = n.getScrollInfo(), - g = n.getWrapperElement().getBoundingClientRect(); - x || (x = n.getScrollInfo()); - var X = O + x.top - d.top, - R = X - (c.pageYOffset || (s.documentElement || s.body).scrollTop); - if (j || (R += o.offsetHeight), R <= g.top || R >= g.bottom) return t.close(); - o.style.top = X + "px", o.style.left = k + x.left - d.left + "px"; - }), r.on(o, "dblclick", function (d) { - var g = B(o, d.target || d.srcElement); - g && g.hintId != null && (i.changeActive(g.hintId), i.pick()); - }), r.on(o, "click", function (d) { - var g = B(o, d.target || d.srcElement); - g && g.hintId != null && (i.changeActive(g.hintId), t.options.completeOnSingleClick && i.pick()); - }), r.on(o, "mousedown", function () { - setTimeout(function () { - n.focus(); - }, 20); - }); - var $ = this.getSelectedHintRange(); - return ($.from !== 0 || $.to !== 0) && this.scrollToActive(), r.signal(e, "select", h[this.selectedHint], o.childNodes[this.selectedHint]), !0; + oldBMarks.push(state.bMarks[nextLine]); + oldBSCount.push(state.bsCount[nextLine]); + oldTShift.push(state.tShift[nextLine]); + oldSCount.push(state.sCount[nextLine]); + + // A negative indentation means that this is a paragraph continuation + // + state.sCount[nextLine] = -1; + } + const oldIndent = state.blkIndent; + state.blkIndent = 0; + const token_o = state.push('blockquote_open', 'blockquote', 1); + token_o.markup = '>'; + const lines = [startLine, 0]; + token_o.map = lines; + state.md.block.tokenize(state, startLine, nextLine); + const token_c = state.push('blockquote_close', 'blockquote', -1); + token_c.markup = '>'; + state.lineMax = oldLineMax; + state.parentType = oldParentType; + lines[1] = state.line; + + // Restore original tShift; this might not be necessary since the parser + // has already been here, but just to make sure we can do that. + for (let i = 0; i < oldTShift.length; i++) { + state.bMarks[i + startLine] = oldBMarks[i]; + state.tShift[i + startLine] = oldTShift[i]; + state.sCount[i + startLine] = oldSCount[i]; + state.bsCount[i + startLine] = oldBSCount[i]; + } + state.blkIndent = oldIndent; + return true; +} + +// Horizontal rule + +function hr(state, startLine, endLine, silent) { + const max = state.eMarks[startLine]; + // if it's indented more than 3 spaces, it should be a code block + if (state.sCount[startLine] - state.blkIndent >= 4) { + return false; + } + let pos = state.bMarks[startLine] + state.tShift[startLine]; + const marker = state.src.charCodeAt(pos++); + + // Check hr marker + if (marker !== 0x2A /* * */ && marker !== 0x2D /* - */ && marker !== 0x5F /* _ */) { + return false; + } + + // markers can be mixed with spaces, but there should be at least 3 of them + + let cnt = 1; + while (pos < max) { + const ch = state.src.charCodeAt(pos++); + if (ch !== marker && !isSpace(ch)) { + return false; } - p(K, "Widget"), K.prototype = { - close: function () { - if (this.completion.widget == this) { - this.completion.widget = null, this.hints.parentNode && this.hints.parentNode.removeChild(this.hints), this.completion.cm.removeKeyMap(this.keyMap); - var t = this.completion.cm.getInputField(); - t.removeAttribute("aria-activedescendant"), t.removeAttribute("aria-owns"); - var e = this.completion.cm; - this.completion.options.closeOnUnfocus && (e.off("blur", this.onBlur), e.off("focus", this.onFocus)), e.off("scroll", this.onScroll); - } - }, - disable: function () { - this.completion.cm.removeKeyMap(this.keyMap); - var t = this; - this.keyMap = { - Enter: function () { - t.picked = !0; - } - }, this.completion.cm.addKeyMap(this.keyMap); - }, - pick: function () { - this.completion.pick(this.data, this.selectedHint); - }, - changeActive: function (t, e) { - if (t >= this.data.list.length ? t = e ? this.data.list.length - 1 : 0 : t < 0 && (t = e ? 0 : this.data.list.length - 1), this.selectedHint != t) { - var i = this.hints.childNodes[this.selectedHint]; - i && (i.className = i.className.replace(" " + v, ""), i.removeAttribute("aria-selected")), i = this.hints.childNodes[this.selectedHint = t], i.className += " " + v, i.setAttribute("aria-selected", "true"), this.completion.cm.getInputField().setAttribute("aria-activedescendant", i.id), this.scrollToActive(), r.signal(this.data, "select", this.data.list[this.selectedHint], i); - } - }, - scrollToActive: function () { - var t = this.getSelectedHintRange(), - e = this.hints.childNodes[t.from], - i = this.hints.childNodes[t.to], - n = this.hints.firstChild; - e.offsetTop < this.hints.scrollTop ? this.hints.scrollTop = e.offsetTop - n.offsetTop : i.offsetTop + i.offsetHeight > this.hints.scrollTop + this.hints.clientHeight && (this.hints.scrollTop = i.offsetTop + i.offsetHeight - this.hints.clientHeight + n.offsetTop); - }, - screenAmount: function () { - return Math.floor(this.hints.clientHeight / this.hints.firstChild.offsetHeight) || 1; - }, - getSelectedHintRange: function () { - var t = this.completion.options.scrollMargin || 0; - return { - from: Math.max(0, this.selectedHint - t), - to: Math.min(this.data.list.length - 1, this.selectedHint + t) - }; - } - }; - function it(t, e) { - if (!t.somethingSelected()) return e; - for (var i = [], n = 0; n < e.length; n++) e[n].supportsSelection && i.push(e[n]); - return i; + if (ch === marker) { + cnt++; } - p(it, "applicableHelpers"); - function U(t, e, i, n) { - if (t.async) t(e, n, i);else { - var s = t(e, i); - s && s.then ? s.then(n) : n(s); - } + } + if (cnt < 3) { + return false; + } + if (silent) { + return true; + } + state.line = startLine + 1; + const token = state.push('hr', 'hr', 0); + token.map = [startLine, state.line]; + token.markup = Array(cnt + 1).join(String.fromCharCode(marker)); + return true; +} + +// Lists + +// Search `[-+*][\n ]`, returns next pos after marker on success +// or -1 on fail. +function skipBulletListMarker(state, startLine) { + const max = state.eMarks[startLine]; + let pos = state.bMarks[startLine] + state.tShift[startLine]; + const marker = state.src.charCodeAt(pos++); + // Check bullet + if (marker !== 0x2A /* * */ && marker !== 0x2D /* - */ && marker !== 0x2B /* + */) { + return -1; + } + if (pos < max) { + const ch = state.src.charCodeAt(pos); + if (!isSpace(ch)) { + // " -test " - is not a list item + return -1; } - p(U, "fetchHints"); - function nt(t, e) { - var i = t.getHelpers(e, "hint"), - n; - if (i.length) { - var s = p(function (c, o, f) { - var h = it(c, i); - function u(l) { - if (l == h.length) return o(null); - U(h[l], c, f, function (a) { - a && a.list.length > 0 ? o(a) : u(l + 1); - }); - } - p(u, "run"), u(0); - }, "resolved"); - return s.async = !0, s.supportsSelection = !0, s; - } else return (n = t.getHelper(t.getCursor(), "hintWords")) ? function (c) { - return r.hint.fromList(c, { - words: n - }); - } : r.hint.anyword ? function (c, o) { - return r.hint.anyword(c, o); - } : function () {}; + } + return pos; +} + +// Search `\d+[.)][\n ]`, returns next pos after marker on success +// or -1 on fail. +function skipOrderedListMarker(state, startLine) { + const start = state.bMarks[startLine] + state.tShift[startLine]; + const max = state.eMarks[startLine]; + let pos = start; + + // List marker should have at least 2 chars (digit + dot) + if (pos + 1 >= max) { + return -1; + } + let ch = state.src.charCodeAt(pos++); + if (ch < 0x30 /* 0 */ || ch > 0x39 /* 9 */) { + return -1; + } + for (;;) { + // EOL -> fail + if (pos >= max) { + return -1; } - p(nt, "resolveAutoHints"), r.registerHelper("hint", "auto", { - resolve: nt - }), r.registerHelper("hint", "fromList", function (t, e) { - var i = t.getCursor(), - n = t.getTokenAt(i), - s, - c = r.Pos(i.line, n.start), - o = i; - n.start < i.ch && /\w/.test(n.string.charAt(i.ch - n.start - 1)) ? s = n.string.substr(0, i.ch - n.start) : (s = "", c = i); - for (var f = [], h = 0; h < e.words.length; h++) { - var u = e.words[h]; - u.slice(0, s.length) == s && f.push(u); + ch = state.src.charCodeAt(pos++); + if (ch >= 0x30 /* 0 */ && ch <= 0x39 /* 9 */) { + // List marker should have no more than 9 digits + // (prevents integer overflow in browsers) + if (pos - start >= 10) { + return -1; } - if (f.length) return { - list: f, - from: c, - to: o - }; - }), r.commands.autocomplete = r.showHint; - var D = { - hint: r.hint.auto, - completeSingle: !0, - alignWithWord: !0, - closeCharacters: /[\s()\[\]{};:>,]/, - closeOnPick: !0, - closeOnUnfocus: !0, - updateOnCursorActivity: !0, - completeOnSingleClick: !0, - container: null, - customKeys: null, - extraKeys: null, - paddingForScrollbar: !0, - moveOnOverlap: !0 - }; - r.defineOption("hintOptions", null); - }); -})(); -var J = ht.exports; -const at = G.getDefaultExportFromCjs(J), - ft = lt({ - __proto__: null, - default: at - }, [J]); -exports.showHint = ft; + continue; + } + + // found valid marker + if (ch === 0x29 /* ) */ || ch === 0x2e /* . */) { + break; + } + return -1; + } + if (pos < max) { + ch = state.src.charCodeAt(pos); + if (!isSpace(ch)) { + // " 1.test " - is not a list item + return -1; + } + } + return pos; +} +function markTightParagraphs(state, idx) { + const level = state.level + 2; + for (let i = idx + 2, l = state.tokens.length - 2; i < l; i++) { + if (state.tokens[i].level === level && state.tokens[i].type === 'paragraph_open') { + state.tokens[i + 2].hidden = true; + state.tokens[i].hidden = true; + i += 2; + } + } +} +function list(state, startLine, endLine, silent) { + let max, pos, start, token; + let nextLine = startLine; + let tight = true; + + // if it's indented more than 3 spaces, it should be a code block + if (state.sCount[nextLine] - state.blkIndent >= 4) { + return false; + } + + // Special case: + // - item 1 + // - item 2 + // - item 3 + // - item 4 + // - this one is a paragraph continuation + if (state.listIndent >= 0 && state.sCount[nextLine] - state.listIndent >= 4 && state.sCount[nextLine] < state.blkIndent) { + return false; + } + let isTerminatingParagraph = false; + + // limit conditions when list can interrupt + // a paragraph (validation mode only) + if (silent && state.parentType === 'paragraph') { + // Next list item should still terminate previous list item; + // + // This code can fail if plugins use blkIndent as well as lists, + // but I hope the spec gets fixed long before that happens. + // + if (state.sCount[nextLine] >= state.blkIndent) { + isTerminatingParagraph = true; + } + } + + // Detect list type and position after marker + let isOrdered; + let markerValue; + let posAfterMarker; + if ((posAfterMarker = skipOrderedListMarker(state, nextLine)) >= 0) { + isOrdered = true; + start = state.bMarks[nextLine] + state.tShift[nextLine]; + markerValue = Number(state.src.slice(start, posAfterMarker - 1)); + + // If we're starting a new ordered list right after + // a paragraph, it should start with 1. + if (isTerminatingParagraph && markerValue !== 1) return false; + } else if ((posAfterMarker = skipBulletListMarker(state, nextLine)) >= 0) { + isOrdered = false; + } else { + return false; + } + + // If we're starting a new unordered list right after + // a paragraph, first line should not be empty. + if (isTerminatingParagraph) { + if (state.skipSpaces(posAfterMarker) >= state.eMarks[nextLine]) return false; + } + + // For validation mode we can terminate immediately + if (silent) { + return true; + } + + // We should terminate list on style change. Remember first one to compare. + const markerCharCode = state.src.charCodeAt(posAfterMarker - 1); + + // Start list + const listTokIdx = state.tokens.length; + if (isOrdered) { + token = state.push('ordered_list_open', 'ol', 1); + if (markerValue !== 1) { + token.attrs = [['start', markerValue]]; + } + } else { + token = state.push('bullet_list_open', 'ul', 1); + } + const listLines = [nextLine, 0]; + token.map = listLines; + token.markup = String.fromCharCode(markerCharCode); + + // + // Iterate list items + // + + let prevEmptyEnd = false; + const terminatorRules = state.md.block.ruler.getRules('list'); + const oldParentType = state.parentType; + state.parentType = 'list'; + while (nextLine < endLine) { + pos = posAfterMarker; + max = state.eMarks[nextLine]; + const initial = state.sCount[nextLine] + posAfterMarker - (state.bMarks[nextLine] + state.tShift[nextLine]); + let offset = initial; + while (pos < max) { + const ch = state.src.charCodeAt(pos); + if (ch === 0x09) { + offset += 4 - (offset + state.bsCount[nextLine]) % 4; + } else if (ch === 0x20) { + offset++; + } else { + break; + } + pos++; + } + const contentStart = pos; + let indentAfterMarker; + if (contentStart >= max) { + // trimming space in "- \n 3" case, indent is 1 here + indentAfterMarker = 1; + } else { + indentAfterMarker = offset - initial; + } -/***/ }), + // If we have more than 4 spaces, the indent is 1 + // (the rest is just indented code block) + if (indentAfterMarker > 4) { + indentAfterMarker = 1; + } -/***/ "../../graphiql-react/dist/sublime.cjs.js": -/*!************************************************!*\ - !*** ../../graphiql-react/dist/sublime.cjs.js ***! - \************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + // " - test" + // ^^^^^ - calculating total length of this thing + const indent = initial + indentAfterMarker; + // Run subparser & write tokens + token = state.push('list_item_open', 'li', 1); + token.markup = String.fromCharCode(markerCharCode); + const itemLines = [nextLine, 0]; + token.map = itemLines; + if (isOrdered) { + token.info = state.src.slice(start, posAfterMarker - 1); + } + // change current state, then restore it after parser subcall + const oldTight = state.tight; + const oldTShift = state.tShift[nextLine]; + const oldSCount = state.sCount[nextLine]; -var _ = Object.defineProperty; -var v = (m, B) => _(m, "name", { - value: B, - configurable: !0 -}); -const E = __webpack_require__(/*! ./codemirror.cjs2.js */ "../../graphiql-react/dist/codemirror.cjs2.js"), - Y = __webpack_require__(/*! ./searchcursor.cjs2.js */ "../../graphiql-react/dist/searchcursor.cjs2.js"), - z = __webpack_require__(/*! ./matchbrackets.cjs2.js */ "../../graphiql-react/dist/matchbrackets.cjs2.js"); -function J(m, B) { - for (var h = 0; h < B.length; h++) { - const a = B[h]; - if (typeof a != "string" && !Array.isArray(a)) { - for (const f in a) if (f !== "default" && !(f in m)) { - const A = Object.getOwnPropertyDescriptor(a, f); - A && Object.defineProperty(m, f, A.get ? A : { - enumerable: !0, - get: () => a[f] - }); - } + // - example list + // ^ listIndent position will be here + // ^ blkIndent position will be here + // + const oldListIndent = state.listIndent; + state.listIndent = state.blkIndent; + state.blkIndent = indent; + state.tight = true; + state.tShift[nextLine] = contentStart - state.bMarks[nextLine]; + state.sCount[nextLine] = offset; + if (contentStart >= max && state.isEmpty(nextLine + 1)) { + // workaround for this case + // (list item is empty, list terminates before "foo"): + // ~~~~~~~~ + // - + // + // foo + // ~~~~~~~~ + state.line = Math.min(state.line + 2, endLine); + } else { + state.md.block.tokenize(state, nextLine, endLine, true); } - } - return Object.freeze(Object.defineProperty(m, Symbol.toStringTag, { - value: "Module" - })); -} -v(J, "_mergeNamespaces"); -var G = { - exports: {} -}; -(function (m, B) { - (function (h) { - h(E.requireCodemirror(), Y.requireSearchcursor(), z.requireMatchbrackets()); - })(function (h) { - var a = h.commands, - f = h.Pos; - function A(e, t, n) { - if (n < 0 && t.ch == 0) return e.clipPos(f(t.line - 1)); - var r = e.getLine(t.line); - if (n > 0 && t.ch >= r.length) return e.clipPos(f(t.line + 1, 0)); - for (var l = "start", i, o = t.ch, s = o, u = n < 0 ? 0 : r.length, d = 0; s != u; s += n, d++) { - var p = r.charAt(n < 0 ? s - 1 : s), - c = p != "_" && h.isWordChar(p) ? "w" : "o"; - if (c == "w" && p.toUpperCase() == p && (c = "W"), l == "start") c != "o" ? (l = "in", i = c) : o = s + n;else if (l == "in" && i != c) { - if (i == "w" && c == "W" && n < 0 && s--, i == "W" && c == "w" && n > 0) if (s == o + 1) { - i = "w"; - continue; - } else s--; - break; - } - } - return f(t.line, s); + + // If any of list item is tight, mark list as tight + if (!state.tight || prevEmptyEnd) { + tight = false; } - v(A, "findPosSubword"); - function T(e, t) { - e.extendSelectionsBy(function (n) { - return e.display.shift || e.doc.extend || n.empty() ? A(e.doc, n.head, t) : t < 0 ? n.from() : n.to(); - }); + // Item become loose if finish with empty line, + // but we should filter last element, because it means list finish + prevEmptyEnd = state.line - nextLine > 1 && state.isEmpty(state.line - 1); + state.blkIndent = state.listIndent; + state.listIndent = oldListIndent; + state.tShift[nextLine] = oldTShift; + state.sCount[nextLine] = oldSCount; + state.tight = oldTight; + token = state.push('list_item_close', 'li', -1); + token.markup = String.fromCharCode(markerCharCode); + nextLine = state.line; + itemLines[1] = nextLine; + if (nextLine >= endLine) { + break; } - v(T, "moveSubword"), a.goSubwordLeft = function (e) { - T(e, -1); - }, a.goSubwordRight = function (e) { - T(e, 1); - }, a.scrollLineUp = function (e) { - var t = e.getScrollInfo(); - if (!e.somethingSelected()) { - var n = e.lineAtHeight(t.top + t.clientHeight, "local"); - e.getCursor().line >= n && e.execCommand("goLineUp"); - } - e.scrollTo(null, t.top - e.defaultTextHeight()); - }, a.scrollLineDown = function (e) { - var t = e.getScrollInfo(); - if (!e.somethingSelected()) { - var n = e.lineAtHeight(t.top, "local") + 1; - e.getCursor().line <= n && e.execCommand("goLineDown"); - } - e.scrollTo(null, t.top + e.defaultTextHeight()); - }, a.splitSelectionByLine = function (e) { - for (var t = e.listSelections(), n = [], r = 0; r < t.length; r++) for (var l = t[r].from(), i = t[r].to(), o = l.line; o <= i.line; ++o) i.line > l.line && o == i.line && i.ch == 0 || n.push({ - anchor: o == l.line ? l : f(o, 0), - head: o == i.line ? i : f(o) - }); - e.setSelections(n, 0); - }, a.singleSelectionTop = function (e) { - var t = e.listSelections()[0]; - e.setSelection(t.anchor, t.head, { - scroll: !1 - }); - }, a.selectLine = function (e) { - for (var t = e.listSelections(), n = [], r = 0; r < t.length; r++) { - var l = t[r]; - n.push({ - anchor: f(l.from().line, 0), - head: f(l.to().line + 1, 0) - }); + + // + // Try to check if list is terminated or continued. + // + if (state.sCount[nextLine] < state.blkIndent) { + break; + } + + // if it's indented more than 3 spaces, it should be a code block + if (state.sCount[nextLine] - state.blkIndent >= 4) { + break; + } + + // fail if terminating block found + let terminate = false; + for (let i = 0, l = terminatorRules.length; i < l; i++) { + if (terminatorRules[i](state, nextLine, endLine, true)) { + terminate = true; + break; } - e.setSelections(n); - }; - function x(e, t) { - if (e.isReadOnly()) return h.Pass; - e.operation(function () { - for (var n = e.listSelections().length, r = [], l = -1, i = 0; i < n; i++) { - var o = e.listSelections()[i].head; - if (!(o.line <= l)) { - var s = f(o.line + (t ? 0 : 1), 0); - e.replaceRange(` -`, s, null, "+insertLine"), e.indentLine(s.line, null, !0), r.push({ - head: s, - anchor: s - }), l = o.line + 1; - } - } - e.setSelections(r); - }), e.execCommand("indentAuto"); } - v(x, "insertLine"), a.insertLineAfter = function (e) { - return x(e, !1); - }, a.insertLineBefore = function (e) { - return x(e, !0); - }; - function K(e, t) { - for (var n = t.ch, r = n, l = e.getLine(t.line); n && h.isWordChar(l.charAt(n - 1));) --n; - for (; r < l.length && h.isWordChar(l.charAt(r));) ++r; - return { - from: f(t.line, n), - to: f(t.line, r), - word: l.slice(n, r) - }; + if (terminate) { + break; } - v(K, "wordAt"), a.selectNextOccurrence = function (e) { - var t = e.getCursor("from"), - n = e.getCursor("to"), - r = e.state.sublimeFindFullWord == e.doc.sel; - if (h.cmpPos(t, n) == 0) { - var l = K(e, t); - if (!l.word) return; - e.setSelection(l.from, l.to), r = !0; - } else { - var i = e.getRange(t, n), - o = r ? new RegExp("\\b" + i + "\\b") : i, - s = e.getSearchCursor(o, n), - u = s.findNext(); - if (u || (s = e.getSearchCursor(o, f(e.firstLine(), 0)), u = s.findNext()), !u || H(e.listSelections(), s.from(), s.to())) return; - e.addSelection(s.from(), s.to()); + + // fail if list has another type + if (isOrdered) { + posAfterMarker = skipOrderedListMarker(state, nextLine); + if (posAfterMarker < 0) { + break; } - r && (e.state.sublimeFindFullWord = e.doc.sel); - }, a.skipAndSelectNextOccurrence = function (e) { - var t = e.getCursor("anchor"), - n = e.getCursor("head"); - a.selectNextOccurrence(e), h.cmpPos(t, n) != 0 && e.doc.setSelections(e.doc.listSelections().filter(function (r) { - return r.anchor != t || r.head != n; - })); - }; - function y(e, t) { - for (var n = e.listSelections(), r = [], l = 0; l < n.length; l++) { - var i = n[l], - o = e.findPosV(i.anchor, t, "line", i.anchor.goalColumn), - s = e.findPosV(i.head, t, "line", i.head.goalColumn); - o.goalColumn = i.anchor.goalColumn != null ? i.anchor.goalColumn : e.cursorCoords(i.anchor, "div").left, s.goalColumn = i.head.goalColumn != null ? i.head.goalColumn : e.cursorCoords(i.head, "div").left; - var u = { - anchor: o, - head: s - }; - r.push(i), r.push(u); + start = state.bMarks[nextLine] + state.tShift[nextLine]; + } else { + posAfterMarker = skipBulletListMarker(state, nextLine); + if (posAfterMarker < 0) { + break; } - e.setSelections(r); } - v(y, "addCursorToSelection"), a.addCursorToPrevLine = function (e) { - y(e, -1); - }, a.addCursorToNextLine = function (e) { - y(e, 1); - }; - function H(e, t, n) { - for (var r = 0; r < e.length; r++) if (h.cmpPos(e[r].from(), t) == 0 && h.cmpPos(e[r].to(), n) == 0) return !0; - return !1; + if (markerCharCode !== state.src.charCodeAt(posAfterMarker - 1)) { + break; } - v(H, "isSelectedRange"); - var P = "(){}[]"; - function U(e) { - for (var t = e.listSelections(), n = [], r = 0; r < t.length; r++) { - var l = t[r], - i = l.head, - o = e.scanForBracket(i, -1); - if (!o) return !1; - for (;;) { - var s = e.scanForBracket(i, 1); - if (!s) return !1; - if (s.ch == P.charAt(P.indexOf(o.ch) + 1)) { - var u = f(o.pos.line, o.pos.ch + 1); - if (h.cmpPos(u, l.from()) == 0 && h.cmpPos(s.pos, l.to()) == 0) { - if (o = e.scanForBracket(o.pos, -1), !o) return !1; - } else { - n.push({ - anchor: u, - head: s.pos - }); - break; - } - } - i = f(s.pos.line, s.pos.ch + 1); - } - } - return e.setSelections(n), !0; + } + + // Finalize list + if (isOrdered) { + token = state.push('ordered_list_close', 'ol', -1); + } else { + token = state.push('bullet_list_close', 'ul', -1); + } + token.markup = String.fromCharCode(markerCharCode); + listLines[1] = nextLine; + state.line = nextLine; + state.parentType = oldParentType; + + // mark paragraphs tight if needed + if (tight) { + markTightParagraphs(state, listTokIdx); + } + return true; +} +function reference(state, startLine, _endLine, silent) { + let pos = state.bMarks[startLine] + state.tShift[startLine]; + let max = state.eMarks[startLine]; + let nextLine = startLine + 1; + + // if it's indented more than 3 spaces, it should be a code block + if (state.sCount[startLine] - state.blkIndent >= 4) { + return false; + } + if (state.src.charCodeAt(pos) !== 0x5B /* [ */) { + return false; + } + function getNextLine(nextLine) { + const endLine = state.lineMax; + if (nextLine >= endLine || state.isEmpty(nextLine)) { + // empty line or end of input + return null; } - v(U, "selectBetweenBrackets"), a.selectScope = function (e) { - U(e) || e.execCommand("selectAll"); - }, a.selectBetweenBrackets = function (e) { - if (!U(e)) return h.Pass; - }; - function I(e) { - return e ? /\bpunctuation\b/.test(e) ? e : void 0 : null; + let isContinuation = false; + + // this would be a code block normally, but after paragraph + // it's considered a lazy continuation regardless of what's there + if (state.sCount[nextLine] - state.blkIndent > 3) { + isContinuation = true; } - v(I, "puncType"), a.goToBracket = function (e) { - e.extendSelectionsBy(function (t) { - var n = e.scanForBracket(t.head, 1, I(e.getTokenTypeAt(t.head))); - if (n && h.cmpPos(n.pos, t.head) != 0) return n.pos; - var r = e.scanForBracket(t.head, -1, I(e.getTokenTypeAt(f(t.head.line, t.head.ch + 1)))); - return r && f(r.pos.line, r.pos.ch + 1) || t.head; - }); - }, a.swapLineUp = function (e) { - if (e.isReadOnly()) return h.Pass; - for (var t = e.listSelections(), n = [], r = e.firstLine() - 1, l = [], i = 0; i < t.length; i++) { - var o = t[i], - s = o.from().line - 1, - u = o.to().line; - l.push({ - anchor: f(o.anchor.line - 1, o.anchor.ch), - head: f(o.head.line - 1, o.head.ch) - }), o.to().ch == 0 && !o.empty() && --u, s > r ? n.push(s, u) : n.length && (n[n.length - 1] = u), r = u; - } - e.operation(function () { - for (var d = 0; d < n.length; d += 2) { - var p = n[d], - c = n[d + 1], - b = e.getLine(p); - e.replaceRange("", f(p, 0), f(p + 1, 0), "+swapLine"), c > e.lastLine() ? e.replaceRange(` -` + b, f(e.lastLine()), null, "+swapLine") : e.replaceRange(b + ` -`, f(c, 0), null, "+swapLine"); + + // quirk for blockquotes, this line should already be checked by that rule + if (state.sCount[nextLine] < 0) { + isContinuation = true; + } + if (!isContinuation) { + const terminatorRules = state.md.block.ruler.getRules('reference'); + const oldParentType = state.parentType; + state.parentType = 'reference'; + + // Some tags can terminate paragraph without empty line. + let terminate = false; + for (let i = 0, l = terminatorRules.length; i < l; i++) { + if (terminatorRules[i](state, nextLine, endLine, true)) { + terminate = true; + break; } - e.setSelections(l), e.scrollIntoView(); - }); - }, a.swapLineDown = function (e) { - if (e.isReadOnly()) return h.Pass; - for (var t = e.listSelections(), n = [], r = e.lastLine() + 1, l = t.length - 1; l >= 0; l--) { - var i = t[l], - o = i.to().line + 1, - s = i.from().line; - i.to().ch == 0 && !i.empty() && o--, o < r ? n.push(o, s) : n.length && (n[n.length - 1] = s), r = s; } - e.operation(function () { - for (var u = n.length - 2; u >= 0; u -= 2) { - var d = n[u], - p = n[u + 1], - c = e.getLine(d); - d == e.lastLine() ? e.replaceRange("", f(d - 1), f(d), "+swapLine") : e.replaceRange("", f(d, 0), f(d + 1, 0), "+swapLine"), e.replaceRange(c + ` -`, f(p, 0), null, "+swapLine"); - } - e.scrollIntoView(); - }); - }, a.toggleCommentIndented = function (e) { - e.toggleComment({ - indent: !0 - }); - }, a.joinLines = function (e) { - for (var t = e.listSelections(), n = [], r = 0; r < t.length; r++) { - for (var l = t[r], i = l.from(), o = i.line, s = l.to().line; r < t.length - 1 && t[r + 1].from().line == s;) s = t[++r].to().line; - n.push({ - start: o, - end: s, - anchor: !l.empty() && i - }); + state.parentType = oldParentType; + if (terminate) { + // terminated by another block + return null; } - e.operation(function () { - for (var u = 0, d = [], p = 0; p < n.length; p++) { - for (var c = n[p], b = c.anchor && f(c.anchor.line - u, c.anchor.ch), w, g = c.start; g <= c.end; g++) { - var S = g - u; - g == c.end && (w = f(S, e.getLine(S).length + 1)), S < e.lastLine() && (e.replaceRange(" ", f(S), f(S + 1, /^\s*/.exec(e.getLine(S + 1))[0].length)), ++u); - } - d.push({ - anchor: b || w, - head: w - }); - } - e.setSelections(d, 0); - }); - }, a.duplicateLine = function (e) { - e.operation(function () { - for (var t = e.listSelections().length, n = 0; n < t; n++) { - var r = e.listSelections()[n]; - r.empty() ? e.replaceRange(e.getLine(r.head.line) + ` -`, f(r.head.line, 0)) : e.replaceRange(e.getRange(r.from(), r.to()), r.from()); - } - e.scrollIntoView(); - }); - }; - function R(e, t, n) { - if (e.isReadOnly()) return h.Pass; - for (var r = e.listSelections(), l = [], i, o = 0; o < r.length; o++) { - var s = r[o]; - if (!s.empty()) { - for (var u = s.from().line, d = s.to().line; o < r.length - 1 && r[o + 1].from().line == d;) d = r[++o].to().line; - r[o].to().ch || d--, l.push(u, d); - } + } + const pos = state.bMarks[nextLine] + state.tShift[nextLine]; + const max = state.eMarks[nextLine]; + + // max + 1 explicitly includes the newline + return state.src.slice(pos, max + 1); + } + let str = state.src.slice(pos, max + 1); + max = str.length; + let labelEnd = -1; + for (pos = 1; pos < max; pos++) { + const ch = str.charCodeAt(pos); + if (ch === 0x5B /* [ */) { + return false; + } else if (ch === 0x5D /* ] */) { + labelEnd = pos; + break; + } else if (ch === 0x0A /* \n */) { + const lineContent = getNextLine(nextLine); + if (lineContent !== null) { + str += lineContent; + max = str.length; + nextLine++; } - l.length ? i = !0 : l.push(e.firstLine(), e.lastLine()), e.operation(function () { - for (var p = [], c = 0; c < l.length; c += 2) { - var b = l[c], - w = l[c + 1], - g = f(b, 0), - S = f(w), - F = e.getRange(g, S, !1); - t ? F.sort(function (k, L) { - return k < L ? -n : k == L ? 0 : n; - }) : F.sort(function (k, L) { - var W = k.toUpperCase(), - M = L.toUpperCase(); - return W != M && (k = W, L = M), k < L ? -n : k == L ? 0 : n; - }), e.replaceRange(F, g, S), i && p.push({ - anchor: g, - head: f(w + 1, 0) - }); + } else if (ch === 0x5C /* \ */) { + pos++; + if (pos < max && str.charCodeAt(pos) === 0x0A) { + const lineContent = getNextLine(nextLine); + if (lineContent !== null) { + str += lineContent; + max = str.length; + nextLine++; } - i && e.setSelections(p, 0); - }); + } } - v(R, "sortLines"), a.sortLines = function (e) { - R(e, !0, 1); - }, a.reverseSortLines = function (e) { - R(e, !0, -1); - }, a.sortLinesInsensitive = function (e) { - R(e, !1, 1); - }, a.reverseSortLinesInsensitive = function (e) { - R(e, !1, -1); - }, a.nextBookmark = function (e) { - var t = e.state.sublimeBookmarks; - if (t) for (; t.length;) { - var n = t.shift(), - r = n.find(); - if (r) return t.push(n), e.setSelection(r.from, r.to); + } + if (labelEnd < 0 || str.charCodeAt(labelEnd + 1) !== 0x3A /* : */) { + return false; + } + + // [label]: destination 'title' + // ^^^ skip optional whitespace here + for (pos = labelEnd + 2; pos < max; pos++) { + const ch = str.charCodeAt(pos); + if (ch === 0x0A) { + const lineContent = getNextLine(nextLine); + if (lineContent !== null) { + str += lineContent; + max = str.length; + nextLine++; } - }, a.prevBookmark = function (e) { - var t = e.state.sublimeBookmarks; - if (t) for (; t.length;) { - t.unshift(t.pop()); - var n = t[t.length - 1].find(); - if (!n) t.pop();else return e.setSelection(n.from, n.to); + } else if (isSpace(ch)) ;else { + break; + } + } + + // [label]: destination 'title' + // ^^^^^^^^^^^ parse this + const destRes = state.md.helpers.parseLinkDestination(str, pos, max); + if (!destRes.ok) { + return false; + } + const href = state.md.normalizeLink(destRes.str); + if (!state.md.validateLink(href)) { + return false; + } + pos = destRes.pos; + + // save cursor state, we could require to rollback later + const destEndPos = pos; + const destEndLineNo = nextLine; + + // [label]: destination 'title' + // ^^^ skipping those spaces + const start = pos; + for (; pos < max; pos++) { + const ch = str.charCodeAt(pos); + if (ch === 0x0A) { + const lineContent = getNextLine(nextLine); + if (lineContent !== null) { + str += lineContent; + max = str.length; + nextLine++; } - }, a.toggleBookmark = function (e) { - for (var t = e.listSelections(), n = e.state.sublimeBookmarks || (e.state.sublimeBookmarks = []), r = 0; r < t.length; r++) { - for (var l = t[r].from(), i = t[r].to(), o = t[r].empty() ? e.findMarksAt(l) : e.findMarks(l, i), s = 0; s < o.length; s++) if (o[s].sublimeBookmark) { - o[s].clear(); - for (var u = 0; u < n.length; u++) n[u] == o[s] && n.splice(u--, 1); + } else if (isSpace(ch)) ;else { + break; + } + } + + // [label]: destination 'title' + // ^^^^^^^ parse this + let titleRes = state.md.helpers.parseLinkTitle(str, pos, max); + while (titleRes.can_continue) { + const lineContent = getNextLine(nextLine); + if (lineContent === null) break; + str += lineContent; + pos = max; + max = str.length; + nextLine++; + titleRes = state.md.helpers.parseLinkTitle(str, pos, max, titleRes); + } + let title; + if (pos < max && start !== pos && titleRes.ok) { + title = titleRes.str; + pos = titleRes.pos; + } else { + title = ''; + pos = destEndPos; + nextLine = destEndLineNo; + } + + // skip trailing spaces until the rest of the line + while (pos < max) { + const ch = str.charCodeAt(pos); + if (!isSpace(ch)) { + break; + } + pos++; + } + if (pos < max && str.charCodeAt(pos) !== 0x0A) { + if (title) { + // garbage at the end of the line after title, + // but it could still be a valid reference if we roll back + title = ''; + pos = destEndPos; + nextLine = destEndLineNo; + while (pos < max) { + const ch = str.charCodeAt(pos); + if (!isSpace(ch)) { break; } - s == o.length && n.push(e.markText(l, i, { - sublimeBookmark: !0, - clearWhenEmpty: !1 - })); - } - }, a.clearBookmarks = function (e) { - var t = e.state.sublimeBookmarks; - if (t) for (var n = 0; n < t.length; n++) t[n].clear(); - t.length = 0; - }, a.selectBookmarks = function (e) { - var t = e.state.sublimeBookmarks, - n = []; - if (t) for (var r = 0; r < t.length; r++) { - var l = t[r].find(); - l ? n.push({ - anchor: l.from, - head: l.to - }) : t.splice(r--, 0); + pos++; } - n.length && e.setSelections(n, 0); + } + } + if (pos < max && str.charCodeAt(pos) !== 0x0A) { + // garbage at the end of the line + return false; + } + const label = normalizeReference(str.slice(1, labelEnd)); + if (!label) { + // CommonMark 0.20 disallows empty labels + return false; + } + + // Reference can not terminate anything. This check is for safety only. + /* istanbul ignore if */ + if (silent) { + return true; + } + if (typeof state.env.references === 'undefined') { + state.env.references = {}; + } + if (typeof state.env.references[label] === 'undefined') { + state.env.references[label] = { + title, + href }; - function D(e, t) { - e.operation(function () { - for (var n = e.listSelections(), r = [], l = [], i = 0; i < n.length; i++) { - var o = n[i]; - o.empty() ? (r.push(i), l.push("")) : l.push(t(e.getRange(o.from(), o.to()))); - } - e.replaceSelections(l, "around", "case"); - for (var i = r.length - 1, s; i >= 0; i--) { - var o = n[r[i]]; - if (!(s && h.cmpPos(o.head, s) > 0)) { - var u = K(e, o.head); - s = u.from, e.replaceRange(t(u.word), u.from, u.to); - } + } + state.line = nextLine; + return true; +} + +// List of valid html blocks names, according to commonmark spec +// https://spec.commonmark.org/0.30/#html-blocks + +var block_names = ['address', 'article', 'aside', 'base', 'basefont', 'blockquote', 'body', 'caption', 'center', 'col', 'colgroup', 'dd', 'details', 'dialog', 'dir', 'div', 'dl', 'dt', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'frame', 'frameset', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hr', 'html', 'iframe', 'legend', 'li', 'link', 'main', 'menu', 'menuitem', 'nav', 'noframes', 'ol', 'optgroup', 'option', 'p', 'param', 'search', 'section', 'summary', 'table', 'tbody', 'td', 'tfoot', 'th', 'thead', 'title', 'tr', 'track', 'ul']; + +// Regexps to match html elements + +const attr_name = '[a-zA-Z_:][a-zA-Z0-9:._-]*'; +const unquoted = '[^"\'=<>`\\x00-\\x20]+'; +const single_quoted = "'[^']*'"; +const double_quoted = '"[^"]*"'; +const attr_value = '(?:' + unquoted + '|' + single_quoted + '|' + double_quoted + ')'; +const attribute = '(?:\\s+' + attr_name + '(?:\\s*=\\s*' + attr_value + ')?)'; +const open_tag = '<[A-Za-z][A-Za-z0-9\\-]*' + attribute + '*\\s*\\/?>'; +const close_tag = '<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>'; +const comment = ''; +const processing = '<[?][\\s\\S]*?[?]>'; +const declaration = ']*>'; +const cdata = ''; +const HTML_TAG_RE = new RegExp('^(?:' + open_tag + '|' + close_tag + '|' + comment + '|' + processing + '|' + declaration + '|' + cdata + ')'); +const HTML_OPEN_CLOSE_TAG_RE = new RegExp('^(?:' + open_tag + '|' + close_tag + ')'); + +// HTML block + +// An array of opening and corresponding closing sequences for html tags, +// last argument defines whether it can terminate a paragraph or not +// +const HTML_SEQUENCES = [[/^<(script|pre|style|textarea)(?=(\s|>|$))/i, /<\/(script|pre|style|textarea)>/i, true], [/^/, true], [/^<\?/, /\?>/, true], [/^/, true], [/^/, true], [new RegExp('^|$))', 'i'), /^$/, true], [new RegExp(HTML_OPEN_CLOSE_TAG_RE.source + '\\s*$'), /^$/, false]]; +function html_block(state, startLine, endLine, silent) { + let pos = state.bMarks[startLine] + state.tShift[startLine]; + let max = state.eMarks[startLine]; + + // if it's indented more than 3 spaces, it should be a code block + if (state.sCount[startLine] - state.blkIndent >= 4) { + return false; + } + if (!state.md.options.html) { + return false; + } + if (state.src.charCodeAt(pos) !== 0x3C /* < */) { + return false; + } + let lineText = state.src.slice(pos, max); + let i = 0; + for (; i < HTML_SEQUENCES.length; i++) { + if (HTML_SEQUENCES[i][0].test(lineText)) { + break; + } + } + if (i === HTML_SEQUENCES.length) { + return false; + } + if (silent) { + // true if this sequence can be a terminator, false otherwise + return HTML_SEQUENCES[i][2]; + } + let nextLine = startLine + 1; + + // If we are here - we detected HTML block. + // Let's roll down till block end. + if (!HTML_SEQUENCES[i][1].test(lineText)) { + for (; nextLine < endLine; nextLine++) { + if (state.sCount[nextLine] < state.blkIndent) { + break; + } + pos = state.bMarks[nextLine] + state.tShift[nextLine]; + max = state.eMarks[nextLine]; + lineText = state.src.slice(pos, max); + if (HTML_SEQUENCES[i][1].test(lineText)) { + if (lineText.length !== 0) { + nextLine++; } - }); + break; + } } - v(D, "modifyWordOrSelection"), a.smartBackspace = function (e) { - if (e.somethingSelected()) return h.Pass; - e.operation(function () { - for (var t = e.listSelections(), n = e.getOption("indentUnit"), r = t.length - 1; r >= 0; r--) { - var l = t[r].head, - i = e.getRange({ - line: l.line, - ch: 0 - }, l), - o = h.countColumn(i, null, e.getOption("tabSize")), - s = e.findPosH(l, -1, "char", !1); - if (i && !/\S/.test(i) && o % n == 0) { - var u = new f(l.line, h.findColumn(i, o - n, n)); - u.ch != l.ch && (s = u); + } + state.line = nextLine; + const token = state.push('html_block', '', 0); + token.map = [startLine, nextLine]; + token.content = state.getLines(startLine, nextLine, state.blkIndent, true); + return true; +} + +// heading (#, ##, ...) + +function heading(state, startLine, endLine, silent) { + let pos = state.bMarks[startLine] + state.tShift[startLine]; + let max = state.eMarks[startLine]; + + // if it's indented more than 3 spaces, it should be a code block + if (state.sCount[startLine] - state.blkIndent >= 4) { + return false; + } + let ch = state.src.charCodeAt(pos); + if (ch !== 0x23 /* # */ || pos >= max) { + return false; + } + + // count heading level + let level = 1; + ch = state.src.charCodeAt(++pos); + while (ch === 0x23 /* # */ && pos < max && level <= 6) { + level++; + ch = state.src.charCodeAt(++pos); + } + if (level > 6 || pos < max && !isSpace(ch)) { + return false; + } + if (silent) { + return true; + } + + // Let's cut tails like ' ### ' from the end of string + + max = state.skipSpacesBack(max, pos); + const tmp = state.skipCharsBack(max, 0x23, pos); // # + if (tmp > pos && isSpace(state.src.charCodeAt(tmp - 1))) { + max = tmp; + } + state.line = startLine + 1; + const token_o = state.push('heading_open', 'h' + String(level), 1); + token_o.markup = '########'.slice(0, level); + token_o.map = [startLine, state.line]; + const token_i = state.push('inline', '', 0); + token_i.content = state.src.slice(pos, max).trim(); + token_i.map = [startLine, state.line]; + token_i.children = []; + const token_c = state.push('heading_close', 'h' + String(level), -1); + token_c.markup = '########'.slice(0, level); + return true; +} + +// lheading (---, ===) + +function lheading(state, startLine, endLine /*, silent */) { + const terminatorRules = state.md.block.ruler.getRules('paragraph'); + + // if it's indented more than 3 spaces, it should be a code block + if (state.sCount[startLine] - state.blkIndent >= 4) { + return false; + } + const oldParentType = state.parentType; + state.parentType = 'paragraph'; // use paragraph to match terminatorRules + + // jump line-by-line until empty one or EOF + let level = 0; + let marker; + let nextLine = startLine + 1; + for (; nextLine < endLine && !state.isEmpty(nextLine); nextLine++) { + // this would be a code block normally, but after paragraph + // it's considered a lazy continuation regardless of what's there + if (state.sCount[nextLine] - state.blkIndent > 3) { + continue; + } + + // + // Check for underline in setext header + // + if (state.sCount[nextLine] >= state.blkIndent) { + let pos = state.bMarks[nextLine] + state.tShift[nextLine]; + const max = state.eMarks[nextLine]; + if (pos < max) { + marker = state.src.charCodeAt(pos); + if (marker === 0x2D /* - */ || marker === 0x3D /* = */) { + pos = state.skipChars(pos, marker); + pos = state.skipSpaces(pos); + if (pos >= max) { + level = marker === 0x3D /* = */ ? 1 : 2; + break; } - e.replaceRange("", s, l, "+delete"); - } - }); - }, a.delLineRight = function (e) { - e.operation(function () { - for (var t = e.listSelections(), n = t.length - 1; n >= 0; n--) e.replaceRange("", t[n].anchor, f(t[n].to().line), "+delete"); - e.scrollIntoView(); - }); - }, a.upcaseAtCursor = function (e) { - D(e, function (t) { - return t.toUpperCase(); - }); - }, a.downcaseAtCursor = function (e) { - D(e, function (t) { - return t.toLowerCase(); - }); - }, a.setSublimeMark = function (e) { - e.state.sublimeMark && e.state.sublimeMark.clear(), e.state.sublimeMark = e.setBookmark(e.getCursor()); - }, a.selectToSublimeMark = function (e) { - var t = e.state.sublimeMark && e.state.sublimeMark.find(); - t && e.setSelection(e.getCursor(), t); - }, a.deleteToSublimeMark = function (e) { - var t = e.state.sublimeMark && e.state.sublimeMark.find(); - if (t) { - var n = e.getCursor(), - r = t; - if (h.cmpPos(n, r) > 0) { - var l = r; - r = n, n = l; } - e.state.sublimeKilled = e.getRange(n, r), e.replaceRange("", n, r); - } - }, a.swapWithSublimeMark = function (e) { - var t = e.state.sublimeMark && e.state.sublimeMark.find(); - t && (e.state.sublimeMark.clear(), e.state.sublimeMark = e.setBookmark(e.getCursor()), e.setCursor(t)); - }, a.sublimeYank = function (e) { - e.state.sublimeKilled != null && e.replaceSelection(e.state.sublimeKilled, null, "paste"); - }, a.showInCenter = function (e) { - var t = e.cursorCoords(null, "local"); - e.scrollTo(null, (t.top + t.bottom) / 2 - e.getScrollInfo().clientHeight / 2); - }; - function N(e) { - var t = e.getCursor("from"), - n = e.getCursor("to"); - if (h.cmpPos(t, n) == 0) { - var r = K(e, t); - if (!r.word) return; - t = r.from, n = r.to; } - return { - from: t, - to: n, - query: e.getRange(t, n), - word: r - }; } - v(N, "getTarget"); - function O(e, t) { - var n = N(e); - if (n) { - var r = n.query, - l = e.getSearchCursor(r, t ? n.to : n.from); - (t ? l.findNext() : l.findPrevious()) ? e.setSelection(l.from(), l.to()) : (l = e.getSearchCursor(r, t ? f(e.firstLine(), 0) : e.clipPos(f(e.lastLine()))), (t ? l.findNext() : l.findPrevious()) ? e.setSelection(l.from(), l.to()) : n.word && e.setSelection(n.from, n.to)); + + // quirk for blockquotes, this line should already be checked by that rule + if (state.sCount[nextLine] < 0) { + continue; + } + + // Some tags can terminate paragraph without empty line. + let terminate = false; + for (let i = 0, l = terminatorRules.length; i < l; i++) { + if (terminatorRules[i](state, nextLine, endLine, true)) { + terminate = true; + break; } } - v(O, "findAndGoTo"), a.findUnder = function (e) { - O(e, !0); - }, a.findUnderPrevious = function (e) { - O(e, !1); - }, a.findAllUnder = function (e) { - var t = N(e); - if (t) { - for (var n = e.getSearchCursor(t.query), r = [], l = -1; n.findNext();) r.push({ - anchor: n.from(), - head: n.to() - }), n.from().line <= t.from.line && n.from().ch <= t.from.ch && l++; - e.setSelections(r, l); + if (terminate) { + break; + } + } + if (!level) { + // Didn't find valid underline + return false; + } + const content = state.getLines(startLine, nextLine, state.blkIndent, false).trim(); + state.line = nextLine + 1; + const token_o = state.push('heading_open', 'h' + String(level), 1); + token_o.markup = String.fromCharCode(marker); + token_o.map = [startLine, state.line]; + const token_i = state.push('inline', '', 0); + token_i.content = content; + token_i.map = [startLine, state.line - 1]; + token_i.children = []; + const token_c = state.push('heading_close', 'h' + String(level), -1); + token_c.markup = String.fromCharCode(marker); + state.parentType = oldParentType; + return true; +} + +// Paragraph + +function paragraph(state, startLine, endLine) { + const terminatorRules = state.md.block.ruler.getRules('paragraph'); + const oldParentType = state.parentType; + let nextLine = startLine + 1; + state.parentType = 'paragraph'; + + // jump line-by-line until empty one or EOF + for (; nextLine < endLine && !state.isEmpty(nextLine); nextLine++) { + // this would be a code block normally, but after paragraph + // it's considered a lazy continuation regardless of what's there + if (state.sCount[nextLine] - state.blkIndent > 3) { + continue; + } + + // quirk for blockquotes, this line should already be checked by that rule + if (state.sCount[nextLine] < 0) { + continue; + } + + // Some tags can terminate paragraph without empty line. + let terminate = false; + for (let i = 0, l = terminatorRules.length; i < l; i++) { + if (terminatorRules[i](state, nextLine, endLine, true)) { + terminate = true; + break; } - }; - var C = h.keyMap; - C.macSublime = { - "Cmd-Left": "goLineStartSmart", - "Shift-Tab": "indentLess", - "Shift-Ctrl-K": "deleteLine", - "Alt-Q": "wrapLines", - "Ctrl-Left": "goSubwordLeft", - "Ctrl-Right": "goSubwordRight", - "Ctrl-Alt-Up": "scrollLineUp", - "Ctrl-Alt-Down": "scrollLineDown", - "Cmd-L": "selectLine", - "Shift-Cmd-L": "splitSelectionByLine", - Esc: "singleSelectionTop", - "Cmd-Enter": "insertLineAfter", - "Shift-Cmd-Enter": "insertLineBefore", - "Cmd-D": "selectNextOccurrence", - "Shift-Cmd-Space": "selectScope", - "Shift-Cmd-M": "selectBetweenBrackets", - "Cmd-M": "goToBracket", - "Cmd-Ctrl-Up": "swapLineUp", - "Cmd-Ctrl-Down": "swapLineDown", - "Cmd-/": "toggleCommentIndented", - "Cmd-J": "joinLines", - "Shift-Cmd-D": "duplicateLine", - F5: "sortLines", - "Shift-F5": "reverseSortLines", - "Cmd-F5": "sortLinesInsensitive", - "Shift-Cmd-F5": "reverseSortLinesInsensitive", - F2: "nextBookmark", - "Shift-F2": "prevBookmark", - "Cmd-F2": "toggleBookmark", - "Shift-Cmd-F2": "clearBookmarks", - "Alt-F2": "selectBookmarks", - Backspace: "smartBackspace", - "Cmd-K Cmd-D": "skipAndSelectNextOccurrence", - "Cmd-K Cmd-K": "delLineRight", - "Cmd-K Cmd-U": "upcaseAtCursor", - "Cmd-K Cmd-L": "downcaseAtCursor", - "Cmd-K Cmd-Space": "setSublimeMark", - "Cmd-K Cmd-A": "selectToSublimeMark", - "Cmd-K Cmd-W": "deleteToSublimeMark", - "Cmd-K Cmd-X": "swapWithSublimeMark", - "Cmd-K Cmd-Y": "sublimeYank", - "Cmd-K Cmd-C": "showInCenter", - "Cmd-K Cmd-G": "clearBookmarks", - "Cmd-K Cmd-Backspace": "delLineLeft", - "Cmd-K Cmd-1": "foldAll", - "Cmd-K Cmd-0": "unfoldAll", - "Cmd-K Cmd-J": "unfoldAll", - "Ctrl-Shift-Up": "addCursorToPrevLine", - "Ctrl-Shift-Down": "addCursorToNextLine", - "Cmd-F3": "findUnder", - "Shift-Cmd-F3": "findUnderPrevious", - "Alt-F3": "findAllUnder", - "Shift-Cmd-[": "fold", - "Shift-Cmd-]": "unfold", - "Cmd-I": "findIncremental", - "Shift-Cmd-I": "findIncrementalReverse", - "Cmd-H": "replace", - F3: "findNext", - "Shift-F3": "findPrev", - fallthrough: "macDefault" - }, h.normalizeKeyMap(C.macSublime), C.pcSublime = { - "Shift-Tab": "indentLess", - "Shift-Ctrl-K": "deleteLine", - "Alt-Q": "wrapLines", - "Ctrl-T": "transposeChars", - "Alt-Left": "goSubwordLeft", - "Alt-Right": "goSubwordRight", - "Ctrl-Up": "scrollLineUp", - "Ctrl-Down": "scrollLineDown", - "Ctrl-L": "selectLine", - "Shift-Ctrl-L": "splitSelectionByLine", - Esc: "singleSelectionTop", - "Ctrl-Enter": "insertLineAfter", - "Shift-Ctrl-Enter": "insertLineBefore", - "Ctrl-D": "selectNextOccurrence", - "Shift-Ctrl-Space": "selectScope", - "Shift-Ctrl-M": "selectBetweenBrackets", - "Ctrl-M": "goToBracket", - "Shift-Ctrl-Up": "swapLineUp", - "Shift-Ctrl-Down": "swapLineDown", - "Ctrl-/": "toggleCommentIndented", - "Ctrl-J": "joinLines", - "Shift-Ctrl-D": "duplicateLine", - F9: "sortLines", - "Shift-F9": "reverseSortLines", - "Ctrl-F9": "sortLinesInsensitive", - "Shift-Ctrl-F9": "reverseSortLinesInsensitive", - F2: "nextBookmark", - "Shift-F2": "prevBookmark", - "Ctrl-F2": "toggleBookmark", - "Shift-Ctrl-F2": "clearBookmarks", - "Alt-F2": "selectBookmarks", - Backspace: "smartBackspace", - "Ctrl-K Ctrl-D": "skipAndSelectNextOccurrence", - "Ctrl-K Ctrl-K": "delLineRight", - "Ctrl-K Ctrl-U": "upcaseAtCursor", - "Ctrl-K Ctrl-L": "downcaseAtCursor", - "Ctrl-K Ctrl-Space": "setSublimeMark", - "Ctrl-K Ctrl-A": "selectToSublimeMark", - "Ctrl-K Ctrl-W": "deleteToSublimeMark", - "Ctrl-K Ctrl-X": "swapWithSublimeMark", - "Ctrl-K Ctrl-Y": "sublimeYank", - "Ctrl-K Ctrl-C": "showInCenter", - "Ctrl-K Ctrl-G": "clearBookmarks", - "Ctrl-K Ctrl-Backspace": "delLineLeft", - "Ctrl-K Ctrl-1": "foldAll", - "Ctrl-K Ctrl-0": "unfoldAll", - "Ctrl-K Ctrl-J": "unfoldAll", - "Ctrl-Alt-Up": "addCursorToPrevLine", - "Ctrl-Alt-Down": "addCursorToNextLine", - "Ctrl-F3": "findUnder", - "Shift-Ctrl-F3": "findUnderPrevious", - "Alt-F3": "findAllUnder", - "Shift-Ctrl-[": "fold", - "Shift-Ctrl-]": "unfold", - "Ctrl-I": "findIncremental", - "Shift-Ctrl-I": "findIncrementalReverse", - "Ctrl-H": "replace", - F3: "findNext", - "Shift-F3": "findPrev", - fallthrough: "pcDefault" - }, h.normalizeKeyMap(C.pcSublime); - var V = C.default == C.macDefault; - C.sublime = V ? C.macSublime : C.pcSublime; - }); -})(); -var q = G.exports; -const Q = E.getDefaultExportFromCjs(q), - X = J({ - __proto__: null, - default: Q - }, [q]); -exports.sublime = X; + } + if (terminate) { + break; + } + } + const content = state.getLines(startLine, nextLine, state.blkIndent, false).trim(); + state.line = nextLine; + const token_o = state.push('paragraph_open', 'p', 1); + token_o.map = [startLine, state.line]; + const token_i = state.push('inline', '', 0); + token_i.content = content; + token_i.map = [startLine, state.line]; + token_i.children = []; + state.push('paragraph_close', 'p', -1); + state.parentType = oldParentType; + return true; +} -/***/ }), +/** internal + * class ParserBlock + * + * Block-level tokenizer. + **/ -/***/ "../../graphiql-toolkit/esm/async-helpers/index.js": -/*!*********************************************************!*\ - !*** ../../graphiql-toolkit/esm/async-helpers/index.js ***! - \*********************************************************/ -/***/ (function(__unused_webpack_module, exports) { +const _rules$1 = [ +// First 2 params - rule name & source. Secondary array - list of rules, +// which can be terminated by this one. +['table', table, ['paragraph', 'reference']], ['code', code], ['fence', fence, ['paragraph', 'reference', 'blockquote', 'list']], ['blockquote', blockquote, ['paragraph', 'reference', 'blockquote', 'list']], ['hr', hr, ['paragraph', 'reference', 'blockquote', 'list']], ['list', list, ['paragraph', 'reference', 'blockquote']], ['reference', reference], ['html_block', html_block, ['paragraph', 'reference', 'blockquote']], ['heading', heading, ['paragraph', 'reference', 'blockquote']], ['lheading', lheading], ['paragraph', paragraph]]; + +/** + * new ParserBlock() + **/ +function ParserBlock() { + /** + * ParserBlock#ruler -> Ruler + * + * [[Ruler]] instance. Keep configuration of block rules. + **/ + this.ruler = new Ruler(); + for (let i = 0; i < _rules$1.length; i++) { + this.ruler.push(_rules$1[i][0], _rules$1[i][1], { + alt: (_rules$1[i][2] || []).slice() + }); + } +} + +// Generate tokens for input range +// +ParserBlock.prototype.tokenize = function (state, startLine, endLine) { + const rules = this.ruler.getRules(''); + const len = rules.length; + const maxNesting = state.md.options.maxNesting; + let line = startLine; + let hasEmptyLines = false; + while (line < endLine) { + state.line = line = state.skipEmptyLines(line); + if (line >= endLine) { + break; + } + // Termination condition for nested calls. + // Nested calls currently used for blockquotes & lists + if (state.sCount[line] < state.blkIndent) { + break; + } + // If nesting level exceeded - skip tail to the end. That's not ordinary + // situation and we should not care about content. + if (state.level >= maxNesting) { + state.line = endLine; + break; + } -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.fetcherReturnToPromise = fetcherReturnToPromise; -exports.isAsyncIterable = isAsyncIterable; -exports.isObservable = isObservable; -exports.isPromise = isPromise; -var __awaiter = void 0 && (void 0).__awaiter || function (thisArg, _arguments, P, generator) { - function adopt(value) { - return value instanceof P ? value : new P(function (resolve) { - resolve(value); - }); - } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); + // Try all possible rules. + // On success, rule should: + // + // - update `state.line` + // - update `state.tokens` + // - return true + const prevLine = state.line; + let ok = false; + for (let i = 0; i < len; i++) { + ok = rules[i](state, line, endLine, false); + if (ok) { + if (prevLine >= state.line) { + throw new Error("block rule didn't increment state.line"); + } + break; } } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); - } + + // this can only happen if user disables paragraph rule + if (!ok) throw new Error('none of the block rules matched'); + + // set state.tight if we had an empty line before current tag + // i.e. latest empty line should not count + state.tight = !hasEmptyLines; + + // paragraph might "eat" one newline after it in nested lists + if (state.isEmpty(state.line - 1)) { + hasEmptyLines = true; } - function step(result) { - result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); + line = state.line; + if (line < endLine && state.isEmpty(line)) { + hasEmptyLines = true; + line++; + state.line = line; } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); + } }; -function isPromise(value) { - return typeof value === 'object' && value !== null && typeof value.then === 'function'; + +/** + * ParserBlock.parse(str, md, env, outTokens) + * + * Process input string and push block tokens into `outTokens` + **/ +ParserBlock.prototype.parse = function (src, md, env, outTokens) { + if (!src) { + return; + } + const state = new this.State(src, md, env, outTokens); + this.tokenize(state, state.line, state.lineMax); +}; +ParserBlock.prototype.State = StateBlock; + +// Inline parser state + +function StateInline(src, md, env, outTokens) { + this.src = src; + this.env = env; + this.md = md; + this.tokens = outTokens; + this.tokens_meta = Array(outTokens.length); + this.pos = 0; + this.posMax = this.src.length; + this.level = 0; + this.pending = ''; + this.pendingLevel = 0; + + // Stores { start: end } pairs. Useful for backtrack + // optimization of pairs parse (emphasis, strikes). + this.cache = {}; + + // List of emphasis-like delimiters for current tag + this.delimiters = []; + + // Stack of delimiter lists for upper level tags + this._prev_delimiters = []; + + // backtick length => last seen position + this.backticks = {}; + this.backticksScanned = false; + + // Counter used to disable inline linkify-it execution + // inside and markdown links + this.linkLevel = 0; } -function observableToPromise(observable) { - return new Promise((resolve, reject) => { - const subscription = observable.subscribe({ - next(v) { - resolve(v); - subscription.unsubscribe(); - }, - error: reject, - complete() { - reject(new Error('no value resolved')); - } - }); - }); + +// Flush pending text +// +StateInline.prototype.pushPending = function () { + const token = new Token('text', '', 0); + token.content = this.pending; + token.level = this.pendingLevel; + this.tokens.push(token); + this.pending = ''; + return token; +}; + +// Push new token to "stream". +// If pending text exists - flush it as text token +// +StateInline.prototype.push = function (type, tag, nesting) { + if (this.pending) { + this.pushPending(); + } + const token = new Token(type, tag, nesting); + let token_meta = null; + if (nesting < 0) { + // closing tag + this.level--; + this.delimiters = this._prev_delimiters.pop(); + } + token.level = this.level; + if (nesting > 0) { + // opening tag + this.level++; + this._prev_delimiters.push(this.delimiters); + this.delimiters = []; + token_meta = { + delimiters: this.delimiters + }; + } + this.pendingLevel = this.level; + this.tokens.push(token); + this.tokens_meta.push(token_meta); + return token; +}; + +// Scan a sequence of emphasis-like markers, and determine whether +// it can start an emphasis sequence or end an emphasis sequence. +// +// - start - position to scan from (it should point at a valid marker); +// - canSplitWord - determine if these markers can be found inside a word +// +StateInline.prototype.scanDelims = function (start, canSplitWord) { + const max = this.posMax; + const marker = this.src.charCodeAt(start); + + // treat beginning of the line as a whitespace + const lastChar = start > 0 ? this.src.charCodeAt(start - 1) : 0x20; + let pos = start; + while (pos < max && this.src.charCodeAt(pos) === marker) { + pos++; + } + const count = pos - start; + + // treat end of the line as a whitespace + const nextChar = pos < max ? this.src.charCodeAt(pos) : 0x20; + const isLastPunctChar = isMdAsciiPunct(lastChar) || isPunctChar(String.fromCharCode(lastChar)); + const isNextPunctChar = isMdAsciiPunct(nextChar) || isPunctChar(String.fromCharCode(nextChar)); + const isLastWhiteSpace = isWhiteSpace(lastChar); + const isNextWhiteSpace = isWhiteSpace(nextChar); + const left_flanking = !isNextWhiteSpace && (!isNextPunctChar || isLastWhiteSpace || isLastPunctChar); + const right_flanking = !isLastWhiteSpace && (!isLastPunctChar || isNextWhiteSpace || isNextPunctChar); + const can_open = left_flanking && (canSplitWord || !right_flanking || isLastPunctChar); + const can_close = right_flanking && (canSplitWord || !left_flanking || isNextPunctChar); + return { + can_open, + can_close, + length: count + }; +}; + +// re-export Token class to use in block rules +StateInline.prototype.Token = Token; + +// Skip text characters for text token, place those to pending buffer +// and increment current pos + +// Rule to skip pure text +// '{}$%@~+=:' reserved for extentions + +// !, ", #, $, %, &, ', (, ), *, +, ,, -, ., /, :, ;, <, =, >, ?, @, [, \, ], ^, _, `, {, |, }, or ~ + +// !!!! Don't confuse with "Markdown ASCII Punctuation" chars +// http://spec.commonmark.org/0.15/#ascii-punctuation-character +function isTerminatorChar(ch) { + switch (ch) { + case 0x0A /* \n */: + case 0x21 /* ! */: + case 0x23 /* # */: + case 0x24 /* $ */: + case 0x25 /* % */: + case 0x26 /* & */: + case 0x2A /* * */: + case 0x2B /* + */: + case 0x2D /* - */: + case 0x3A /* : */: + case 0x3C /* < */: + case 0x3D /* = */: + case 0x3E /* > */: + case 0x40 /* @ */: + case 0x5B /* [ */: + case 0x5C /* \ */: + case 0x5D /* ] */: + case 0x5E /* ^ */: + case 0x5F /* _ */: + case 0x60 /* ` */: + case 0x7B /* { */: + case 0x7D /* } */: + case 0x7E /* ~ */: + return true; + default: + return false; + } } -function isObservable(value) { - return typeof value === 'object' && value !== null && 'subscribe' in value && typeof value.subscribe === 'function'; +function text(state, silent) { + let pos = state.pos; + while (pos < state.posMax && !isTerminatorChar(state.src.charCodeAt(pos))) { + pos++; + } + if (pos === state.pos) { + return false; + } + if (!silent) { + state.pending += state.src.slice(state.pos, pos); + } + state.pos = pos; + return true; } -function isAsyncIterable(input) { - return typeof input === 'object' && input !== null && (input[Symbol.toStringTag] === 'AsyncGenerator' || Symbol.asyncIterator in input); + +// Alternative implementation, for memory. +// +// It costs 10% of performance, but allows extend terminators list, if place it +// to `ParserInline` property. Probably, will switch to it sometime, such +// flexibility required. + +/* +var TERMINATOR_RE = /[\n!#$%&*+\-:<=>@[\\\]^_`{}~]/; + +module.exports = function text(state, silent) { + var pos = state.pos, + idx = state.src.slice(pos).search(TERMINATOR_RE); + + // first char is terminator -> empty text + if (idx === 0) { return false; } + + // no terminator -> text till end of string + if (idx < 0) { + if (!silent) { state.pending += state.src.slice(pos); } + state.pos = state.src.length; + return true; + } + + if (!silent) { state.pending += state.src.slice(pos, pos + idx); } + + state.pos += idx; + + return true; +}; */ + +// Process links like https://example.org/ + +// RFC3986: scheme = ALPHA *( ALPHA / DIGIT / "+" / "-" / "." ) +const SCHEME_RE = /(?:^|[^a-z0-9.+-])([a-z][a-z0-9.+-]*)$/i; +function linkify(state, silent) { + if (!state.md.options.linkify) return false; + if (state.linkLevel > 0) return false; + const pos = state.pos; + const max = state.posMax; + if (pos + 3 > max) return false; + if (state.src.charCodeAt(pos) !== 0x3A /* : */) return false; + if (state.src.charCodeAt(pos + 1) !== 0x2F /* / */) return false; + if (state.src.charCodeAt(pos + 2) !== 0x2F /* / */) return false; + const match = state.pending.match(SCHEME_RE); + if (!match) return false; + const proto = match[1]; + const link = state.md.linkify.matchAtStart(state.src.slice(pos - proto.length)); + if (!link) return false; + let url = link.url; + + // invalid link, but still detected by linkify somehow; + // need to check to prevent infinite loop below + if (url.length <= proto.length) return false; + + // disallow '*' at the end of the link (conflicts with emphasis) + url = url.replace(/\*+$/, ''); + const fullUrl = state.md.normalizeLink(url); + if (!state.md.validateLink(fullUrl)) return false; + if (!silent) { + state.pending = state.pending.slice(0, -proto.length); + const token_o = state.push('link_open', 'a', 1); + token_o.attrs = [['href', fullUrl]]; + token_o.markup = 'linkify'; + token_o.info = 'auto'; + const token_t = state.push('text', '', 0); + token_t.content = state.md.normalizeLinkText(url); + const token_c = state.push('link_close', 'a', -1); + token_c.markup = 'linkify'; + token_c.info = 'auto'; + } + state.pos += url.length - proto.length; + return true; } -function asyncIterableToPromise(input) { - var _a; - return __awaiter(this, void 0, void 0, function* () { - const iteratorReturn = (_a = ('return' in input ? input : input[Symbol.asyncIterator]()).return) === null || _a === void 0 ? void 0 : _a.bind(input); - const iteratorNext = ('next' in input ? input : input[Symbol.asyncIterator]()).next.bind(input); - const result = yield iteratorNext(); - void (iteratorReturn === null || iteratorReturn === void 0 ? void 0 : iteratorReturn()); - return result.value; - }); + +// Proceess '\n' + +function newline(state, silent) { + let pos = state.pos; + if (state.src.charCodeAt(pos) !== 0x0A /* \n */) { + return false; + } + const pmax = state.pending.length - 1; + const max = state.posMax; + + // ' \n' -> hardbreak + // Lookup in pending chars is bad practice! Don't copy to other rules! + // Pending string is stored in concat mode, indexed lookups will cause + // convertion to flat mode. + if (!silent) { + if (pmax >= 0 && state.pending.charCodeAt(pmax) === 0x20) { + if (pmax >= 1 && state.pending.charCodeAt(pmax - 1) === 0x20) { + // Find whitespaces tail of pending chars. + let ws = pmax - 1; + while (ws >= 1 && state.pending.charCodeAt(ws - 1) === 0x20) ws--; + state.pending = state.pending.slice(0, ws); + state.push('hardbreak', 'br', 0); + } else { + state.pending = state.pending.slice(0, -1); + state.push('softbreak', 'br', 0); + } + } else { + state.push('softbreak', 'br', 0); + } + } + pos++; + + // skip heading spaces for next line + while (pos < max && isSpace(state.src.charCodeAt(pos))) { + pos++; + } + state.pos = pos; + return true; } -function fetcherReturnToPromise(fetcherResult) { - return __awaiter(this, void 0, void 0, function* () { - const result = yield fetcherResult; - if (isAsyncIterable(result)) { - return asyncIterableToPromise(result); + +// Process escaped chars and hardbreaks + +const ESCAPED = []; +for (let i = 0; i < 256; i++) { + ESCAPED.push(0); +} +'\\!"#$%&\'()*+,./:;<=>?@[]^_`{|}~-'.split('').forEach(function (ch) { + ESCAPED[ch.charCodeAt(0)] = 1; +}); +function escape(state, silent) { + let pos = state.pos; + const max = state.posMax; + if (state.src.charCodeAt(pos) !== 0x5C /* \ */) return false; + pos++; + + // '\' at the end of the inline block + if (pos >= max) return false; + let ch1 = state.src.charCodeAt(pos); + if (ch1 === 0x0A) { + if (!silent) { + state.push('hardbreak', 'br', 0); } - if (isObservable(result)) { - return observableToPromise(result); + pos++; + // skip leading whitespaces from next line + while (pos < max) { + ch1 = state.src.charCodeAt(pos); + if (!isSpace(ch1)) break; + pos++; } - return result; - }); + state.pos = pos; + return true; + } + let escapedStr = state.src[pos]; + if (ch1 >= 0xD800 && ch1 <= 0xDBFF && pos + 1 < max) { + const ch2 = state.src.charCodeAt(pos + 1); + if (ch2 >= 0xDC00 && ch2 <= 0xDFFF) { + escapedStr += state.src[pos + 1]; + pos++; + } + } + const origStr = '\\' + escapedStr; + if (!silent) { + const token = state.push('text_special', '', 0); + if (ch1 < 256 && ESCAPED[ch1] !== 0) { + token.content = escapedStr; + } else { + token.content = origStr; + } + token.markup = origStr; + token.info = 'escape'; + } + state.pos = pos + 1; + return true; } -/***/ }), +// Parse backticks -/***/ "../../graphiql-toolkit/esm/create-fetcher/createFetcher.js": -/*!******************************************************************!*\ - !*** ../../graphiql-toolkit/esm/create-fetcher/createFetcher.js ***! - \******************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { +function backtick(state, silent) { + let pos = state.pos; + const ch = state.src.charCodeAt(pos); + if (ch !== 0x60 /* ` */) { + return false; + } + const start = pos; + pos++; + const max = state.posMax; + // scan marker length + while (pos < max && state.src.charCodeAt(pos) === 0x60 /* ` */) { + pos++; + } + const marker = state.src.slice(start, pos); + const openerLength = marker.length; + if (state.backticksScanned && (state.backticks[openerLength] || 0) <= start) { + if (!silent) state.pending += marker; + state.pos += openerLength; + return true; + } + let matchEnd = pos; + let matchStart; + // Nothing found in the cache, scan until the end of the line (or until marker is found) + while ((matchStart = state.src.indexOf('`', matchEnd)) !== -1) { + matchEnd = matchStart + 1; -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.createGraphiQLFetcher = createGraphiQLFetcher; -var _lib = __webpack_require__(/*! ./lib */ "../../graphiql-toolkit/esm/create-fetcher/lib.js"); -function createGraphiQLFetcher(options) { - let httpFetch; - if (typeof window !== 'undefined' && window.fetch) { - httpFetch = window.fetch; + // scan marker length + while (matchEnd < max && state.src.charCodeAt(matchEnd) === 0x60 /* ` */) { + matchEnd++; + } + const closerLength = matchEnd - matchStart; + if (closerLength === openerLength) { + // Found matching closer length. + if (!silent) { + const token = state.push('code_inline', 'code', 0); + token.markup = marker; + token.content = state.src.slice(pos, matchStart).replace(/\n/g, ' ').replace(/^ (.+) $/, '$1'); + } + state.pos = matchEnd; + return true; + } + + // Some different length found, put it in cache as upper limit of where closer can be found + state.backticks[closerLength] = matchStart; } - if ((options === null || options === void 0 ? void 0 : options.enableIncrementalDelivery) === null || options.enableIncrementalDelivery !== false) { - options.enableIncrementalDelivery = true; + + // Scanned through the end, didn't find anything + state.backticksScanned = true; + if (!silent) state.pending += marker; + state.pos += openerLength; + return true; +} + +// ~~strike through~~ +// + +// Insert each marker as a separate text token, and add it to delimiter list +// +function strikethrough_tokenize(state, silent) { + const start = state.pos; + const marker = state.src.charCodeAt(start); + if (silent) { + return false; } - if (options.fetch) { - httpFetch = options.fetch; + if (marker !== 0x7E /* ~ */) { + return false; } - if (!httpFetch) { - throw new Error('No valid fetcher implementation available'); + const scanned = state.scanDelims(state.pos, true); + let len = scanned.length; + const ch = String.fromCharCode(marker); + if (len < 2) { + return false; + } + let token; + if (len % 2) { + token = state.push('text', '', 0); + token.content = ch; + len--; + } + for (let i = 0; i < len; i += 2) { + token = state.push('text', '', 0); + token.content = ch + ch; + state.delimiters.push({ + marker, + length: 0, + // disable "rule of 3" length checks meant for emphasis + token: state.tokens.length - 1, + end: -1, + open: scanned.can_open, + close: scanned.can_close + }); + } + state.pos += scanned.length; + return true; +} +function postProcess$1(state, delimiters) { + let token; + const loneMarkers = []; + const max = delimiters.length; + for (let i = 0; i < max; i++) { + const startDelim = delimiters[i]; + if (startDelim.marker !== 0x7E /* ~ */) { + continue; + } + if (startDelim.end === -1) { + continue; + } + const endDelim = delimiters[startDelim.end]; + token = state.tokens[startDelim.token]; + token.type = 's_open'; + token.tag = 's'; + token.nesting = 1; + token.markup = '~~'; + token.content = ''; + token = state.tokens[endDelim.token]; + token.type = 's_close'; + token.tag = 's'; + token.nesting = -1; + token.markup = '~~'; + token.content = ''; + if (state.tokens[endDelim.token - 1].type === 'text' && state.tokens[endDelim.token - 1].content === '~') { + loneMarkers.push(endDelim.token - 1); + } + } + + // If a marker sequence has an odd number of characters, it's splitted + // like this: `~~~~~` -> `~` + `~~` + `~~`, leaving one marker at the + // start of the sequence. + // + // So, we have to move all those markers after subsequent s_close tags. + // + while (loneMarkers.length) { + const i = loneMarkers.pop(); + let j = i + 1; + while (j < state.tokens.length && state.tokens[j].type === 's_close') { + j++; + } + j--; + if (i !== j) { + token = state.tokens[j]; + state.tokens[j] = state.tokens[i]; + state.tokens[i] = token; + } + } +} + +// Walk through delimiter list and replace text tokens with tags +// +function strikethrough_postProcess(state) { + const tokens_meta = state.tokens_meta; + const max = state.tokens_meta.length; + postProcess$1(state, state.delimiters); + for (let curr = 0; curr < max; curr++) { + if (tokens_meta[curr] && tokens_meta[curr].delimiters) { + postProcess$1(state, tokens_meta[curr].delimiters); + } + } +} +var r_strikethrough = { + tokenize: strikethrough_tokenize, + postProcess: strikethrough_postProcess +}; + +// Process *this* and _that_ +// + +// Insert each marker as a separate text token, and add it to delimiter list +// +function emphasis_tokenize(state, silent) { + const start = state.pos; + const marker = state.src.charCodeAt(start); + if (silent) { + return false; + } + if (marker !== 0x5F /* _ */ && marker !== 0x2A /* * */) { + return false; + } + const scanned = state.scanDelims(state.pos, marker === 0x2A); + for (let i = 0; i < scanned.length; i++) { + const token = state.push('text', '', 0); + token.content = String.fromCharCode(marker); + state.delimiters.push({ + // Char code of the starting marker (number). + // + marker, + // Total length of these series of delimiters. + // + length: scanned.length, + // A position of the token this delimiter corresponds to. + // + token: state.tokens.length - 1, + // If this delimiter is matched as a valid opener, `end` will be + // equal to its position, otherwise it's `-1`. + // + end: -1, + // Boolean flags that determine if this delimiter could open or close + // an emphasis. + // + open: scanned.can_open, + close: scanned.can_close + }); } - const simpleFetcher = (0, _lib.createSimpleFetcher)(options, httpFetch); - const httpFetcher = options.enableIncrementalDelivery ? (0, _lib.createMultipartFetcher)(options, httpFetch) : simpleFetcher; - return (graphQLParams, fetcherOpts) => { - if (graphQLParams.operationName === 'IntrospectionQuery') { - return (options.schemaFetcher || simpleFetcher)(graphQLParams, fetcherOpts); + state.pos += scanned.length; + return true; +} +function postProcess(state, delimiters) { + const max = delimiters.length; + for (let i = max - 1; i >= 0; i--) { + const startDelim = delimiters[i]; + if (startDelim.marker !== 0x5F /* _ */ && startDelim.marker !== 0x2A /* * */) { + continue; } - const isSubscription = (fetcherOpts === null || fetcherOpts === void 0 ? void 0 : fetcherOpts.documentAST) ? (0, _lib.isSubscriptionWithName)(fetcherOpts.documentAST, graphQLParams.operationName || undefined) : false; - if (isSubscription) { - const wsFetcher = (0, _lib.getWsFetcher)(options, fetcherOpts); - if (!wsFetcher) { - throw new Error(`Your GraphiQL createFetcher is not properly configured for websocket subscriptions yet. ${options.subscriptionUrl ? `Provided URL ${options.subscriptionUrl} failed` : 'Please provide subscriptionUrl, wsClient or legacyClient option first.'}`); - } - return wsFetcher(graphQLParams); + + // Process only opening markers + if (startDelim.end === -1) { + continue; } - return httpFetcher(graphQLParams, fetcherOpts); - }; -} + const endDelim = delimiters[startDelim.end]; -/***/ }), + // If the previous delimiter has the same marker and is adjacent to this one, + // merge those into one strong delimiter. + // + // `whatever` -> `whatever` + // + const isStrong = i > 0 && delimiters[i - 1].end === startDelim.end + 1 && + // check that first two markers match and adjacent + delimiters[i - 1].marker === startDelim.marker && delimiters[i - 1].token === startDelim.token - 1 && + // check that last two markers are adjacent (we can safely assume they match) + delimiters[startDelim.end + 1].token === endDelim.token + 1; + const ch = String.fromCharCode(startDelim.marker); + const token_o = state.tokens[startDelim.token]; + token_o.type = isStrong ? 'strong_open' : 'em_open'; + token_o.tag = isStrong ? 'strong' : 'em'; + token_o.nesting = 1; + token_o.markup = isStrong ? ch + ch : ch; + token_o.content = ''; + const token_c = state.tokens[endDelim.token]; + token_c.type = isStrong ? 'strong_close' : 'em_close'; + token_c.tag = isStrong ? 'strong' : 'em'; + token_c.nesting = -1; + token_c.markup = isStrong ? ch + ch : ch; + token_c.content = ''; + if (isStrong) { + state.tokens[delimiters[i - 1].token].content = ''; + state.tokens[delimiters[startDelim.end + 1].token].content = ''; + i--; + } + } +} -/***/ "../../graphiql-toolkit/esm/create-fetcher/index.js": -/*!**********************************************************!*\ - !*** ../../graphiql-toolkit/esm/create-fetcher/index.js ***! - \**********************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { +// Walk through delimiter list and replace text tokens with tags +// +function emphasis_post_process(state) { + const tokens_meta = state.tokens_meta; + const max = state.tokens_meta.length; + postProcess(state, state.delimiters); + for (let curr = 0; curr < max; curr++) { + if (tokens_meta[curr] && tokens_meta[curr].delimiters) { + postProcess(state, tokens_meta[curr].delimiters); + } + } +} +var r_emphasis = { + tokenize: emphasis_tokenize, + postProcess: emphasis_post_process +}; +// Process [link]( "stuff") +function link(state, silent) { + let code, label, res, ref; + let href = ''; + let title = ''; + let start = state.pos; + let parseReference = true; + if (state.src.charCodeAt(state.pos) !== 0x5B /* [ */) { + return false; + } + const oldPos = state.pos; + const max = state.posMax; + const labelStart = state.pos + 1; + const labelEnd = state.md.helpers.parseLinkLabel(state, state.pos, true); -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -var _exportNames = { - createGraphiQLFetcher: true -}; -Object.defineProperty(exports, "createGraphiQLFetcher", ({ - enumerable: true, - get: function () { - return _createFetcher.createGraphiQLFetcher; + // parser failed to find ']', so it's not a valid link + if (labelEnd < 0) { + return false; } -})); -var _types = __webpack_require__(/*! ./types */ "../../graphiql-toolkit/esm/create-fetcher/types.js"); -Object.keys(_types).forEach(function (key) { - if (key === "default" || key === "__esModule") return; - if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; - if (key in exports && exports[key] === _types[key]) return; - Object.defineProperty(exports, key, { - enumerable: true, - get: function () { - return _types[key]; - } - }); -}); -var _createFetcher = __webpack_require__(/*! ./createFetcher */ "../../graphiql-toolkit/esm/create-fetcher/createFetcher.js"); + let pos = labelEnd + 1; + if (pos < max && state.src.charCodeAt(pos) === 0x28 /* ( */) { + // + // Inline link + // -/***/ }), + // might have found a valid shortcut link, disable reference parsing + parseReference = false; -/***/ "../../graphiql-toolkit/esm/create-fetcher/lib.js": -/*!********************************************************!*\ - !*** ../../graphiql-toolkit/esm/create-fetcher/lib.js ***! - \********************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + // [link]( "title" ) + // ^^ skipping these spaces + pos++; + for (; pos < max; pos++) { + code = state.src.charCodeAt(pos); + if (!isSpace(code) && code !== 0x0A) { + break; + } + } + if (pos >= max) { + return false; + } + + // [link]( "title" ) + // ^^^^^^ parsing link destination + start = pos; + res = state.md.helpers.parseLinkDestination(state.src, pos, state.posMax); + if (res.ok) { + href = state.md.normalizeLink(res.str); + if (state.md.validateLink(href)) { + pos = res.pos; + } else { + href = ''; + } + // [link]( "title" ) + // ^^ skipping these spaces + start = pos; + for (; pos < max; pos++) { + code = state.src.charCodeAt(pos); + if (!isSpace(code) && code !== 0x0A) { + break; + } + } + // [link]( "title" ) + // ^^^^^^^ parsing link title + res = state.md.helpers.parseLinkTitle(state.src, pos, state.posMax); + if (pos < max && start !== pos && res.ok) { + title = res.str; + pos = res.pos; -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.isSubscriptionWithName = exports.getWsFetcher = exports.createWebsocketsFetcherFromUrl = exports.createWebsocketsFetcherFromClient = exports.createSimpleFetcher = exports.createMultipartFetcher = exports.createLegacyWebsocketsFetcher = void 0; -var _graphql = __webpack_require__(/*! graphql */ "../../../node_modules/graphql/index.mjs"); -var _meros = __webpack_require__(/*! meros */ "../../../node_modules/meros/browser/index.mjs"); -var _pushPullAsyncIterableIterator = __webpack_require__(/*! @n1ru4l/push-pull-async-iterable-iterator */ "../../../node_modules/@n1ru4l/push-pull-async-iterable-iterator/index.js"); -var __awaiter = void 0 && (void 0).__awaiter || function (thisArg, _arguments, P, generator) { - function adopt(value) { - return value instanceof P ? value : new P(function (resolve) { - resolve(value); - }); - } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); + // [link]( "title" ) + // ^^ skipping these spaces + for (; pos < max; pos++) { + code = state.src.charCodeAt(pos); + if (!isSpace(code) && code !== 0x0A) { + break; + } + } } } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); + if (pos >= max || state.src.charCodeAt(pos) !== 0x29 /* ) */) { + // parsing a valid shortcut link failed, fallback to reference + parseReference = true; + } + pos++; + } + if (parseReference) { + // + // Link reference + // + if (typeof state.env.references === 'undefined') { + return false; + } + if (pos < max && state.src.charCodeAt(pos) === 0x5B /* [ */) { + start = pos + 1; + pos = state.md.helpers.parseLinkLabel(state, pos); + if (pos >= 0) { + label = state.src.slice(start, pos++); + } else { + pos = labelEnd + 1; } + } else { + pos = labelEnd + 1; } - function step(result) { - result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); + + // covers label === '' and label === undefined + // (collapsed reference link and shortcut reference link respectively) + if (!label) { + label = state.src.slice(labelStart, labelEnd); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -var __await = void 0 && (void 0).__await || function (v) { - return this instanceof __await ? (this.v = v, this) : new __await(v); -}; -var __asyncValues = void 0 && (void 0).__asyncValues || function (o) { - if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); - var m = o[Symbol.asyncIterator], - i; - return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { - return this; - }, i); - function verb(n) { - i[n] = o[n] && function (v) { - return new Promise(function (resolve, reject) { - v = o[n](v), settle(resolve, reject, v.done, v.value); - }); - }; - } - function settle(resolve, reject, d, v) { - Promise.resolve(v).then(function (v) { - resolve({ - value: v, - done: d - }); - }, reject); - } -}; -var __asyncGenerator = void 0 && (void 0).__asyncGenerator || function (thisArg, _arguments, generator) { - if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); - var g = generator.apply(thisArg, _arguments || []), - i, - q = []; - return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { - return this; - }, i; - function verb(n) { - if (g[n]) i[n] = function (v) { - return new Promise(function (a, b) { - q.push([n, v, a, b]) > 1 || resume(n, v); - }); - }; - } - function resume(n, v) { - try { - step(g[n](v)); - } catch (e) { - settle(q[0][3], e); + ref = state.env.references[normalizeReference(label)]; + if (!ref) { + state.pos = oldPos; + return false; } + href = ref.href; + title = ref.title; } - function step(r) { - r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); + + // + // We found the end of the link, and know for a fact it's a valid link; + // so all that's left to do is to call tokenizer. + // + if (!silent) { + state.pos = labelStart; + state.posMax = labelEnd; + const token_o = state.push('link_open', 'a', 1); + const attrs = [['href', href]]; + token_o.attrs = attrs; + if (title) { + attrs.push(['title', title]); + } + state.linkLevel++; + state.md.inline.tokenize(state); + state.linkLevel--; + state.push('link_close', 'a', -1); } - function fulfill(value) { - resume("next", value); + state.pos = pos; + state.posMax = max; + return true; +} + +// Process ![image]( "title") + +function image(state, silent) { + let code, content, label, pos, ref, res, title, start; + let href = ''; + const oldPos = state.pos; + const max = state.posMax; + if (state.src.charCodeAt(state.pos) !== 0x21 /* ! */) { + return false; } - function reject(value) { - resume("throw", value); + if (state.src.charCodeAt(state.pos + 1) !== 0x5B /* [ */) { + return false; } - function settle(f, v) { - if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); + const labelStart = state.pos + 2; + const labelEnd = state.md.helpers.parseLinkLabel(state, state.pos + 1, false); + + // parser failed to find ']', so it's not a valid link + if (labelEnd < 0) { + return false; } -}; -const errorHasCode = err => { - return typeof err === 'object' && err !== null && 'code' in err; -}; -const isSubscriptionWithName = (document, name) => { - let isSubscription = false; - (0, _graphql.visit)(document, { - OperationDefinition(node) { - var _a; - if (name === ((_a = node.name) === null || _a === void 0 ? void 0 : _a.value) && node.operation === 'subscription') { - isSubscription = true; + pos = labelEnd + 1; + if (pos < max && state.src.charCodeAt(pos) === 0x28 /* ( */) { + // + // Inline link + // + + // [link]( "title" ) + // ^^ skipping these spaces + pos++; + for (; pos < max; pos++) { + code = state.src.charCodeAt(pos); + if (!isSpace(code) && code !== 0x0A) { + break; } } - }); - return isSubscription; -}; -exports.isSubscriptionWithName = isSubscriptionWithName; -const createSimpleFetcher = (options, httpFetch) => (graphQLParams, fetcherOpts) => __awaiter(void 0, void 0, void 0, function* () { - const data = yield httpFetch(options.url, { - method: 'POST', - body: JSON.stringify(graphQLParams), - headers: Object.assign(Object.assign({ - 'content-type': 'application/json' - }, options.headers), fetcherOpts === null || fetcherOpts === void 0 ? void 0 : fetcherOpts.headers) - }); - return data.json(); -}); -exports.createSimpleFetcher = createSimpleFetcher; -const createWebsocketsFetcherFromUrl = (url, connectionParams) => { - let wsClient; - try { - const { - createClient - } = __webpack_require__(/*! graphql-ws */ "../../../node_modules/graphql-ws/lib/index.js"); - wsClient = createClient({ - url, - connectionParams - }); - return createWebsocketsFetcherFromClient(wsClient); - } catch (err) { - if (errorHasCode(err) && err.code === 'MODULE_NOT_FOUND') { - throw new Error("You need to install the 'graphql-ws' package to use websockets when passing a 'subscriptionUrl'"); + if (pos >= max) { + return false; } - console.error(`Error creating websocket client for ${url}`, err); - } -}; -exports.createWebsocketsFetcherFromUrl = createWebsocketsFetcherFromUrl; -const createWebsocketsFetcherFromClient = wsClient => graphQLParams => (0, _pushPullAsyncIterableIterator.makeAsyncIterableIteratorFromSink)(sink => wsClient.subscribe(graphQLParams, Object.assign(Object.assign({}, sink), { - error(err) { - if (err instanceof CloseEvent) { - sink.error(new Error(`Socket closed with event ${err.code} ${err.reason || ''}`.trim())); - } else { - sink.error(err); + + // [link]( "title" ) + // ^^^^^^ parsing link destination + start = pos; + res = state.md.helpers.parseLinkDestination(state.src, pos, state.posMax); + if (res.ok) { + href = state.md.normalizeLink(res.str); + if (state.md.validateLink(href)) { + pos = res.pos; + } else { + href = ''; + } } - } -}))); -exports.createWebsocketsFetcherFromClient = createWebsocketsFetcherFromClient; -const createLegacyWebsocketsFetcher = legacyWsClient => graphQLParams => { - const observable = legacyWsClient.request(graphQLParams); - return (0, _pushPullAsyncIterableIterator.makeAsyncIterableIteratorFromSink)(sink => observable.subscribe(sink).unsubscribe); -}; -exports.createLegacyWebsocketsFetcher = createLegacyWebsocketsFetcher; -const createMultipartFetcher = (options, httpFetch) => function (graphQLParams, fetcherOpts) { - return __asyncGenerator(this, arguments, function* () { - var e_1, _a; - const response = yield __await(httpFetch(options.url, { - method: 'POST', - body: JSON.stringify(graphQLParams), - headers: Object.assign(Object.assign({ - 'content-type': 'application/json', - accept: 'application/json, multipart/mixed' - }, options.headers), fetcherOpts === null || fetcherOpts === void 0 ? void 0 : fetcherOpts.headers) - }).then(r => (0, _meros.meros)(r, { - multiple: true - }))); - if (!(0, _pushPullAsyncIterableIterator.isAsyncIterable)(response)) { - return yield __await(yield yield __await(response.json())); + + // [link]( "title" ) + // ^^ skipping these spaces + start = pos; + for (; pos < max; pos++) { + code = state.src.charCodeAt(pos); + if (!isSpace(code) && code !== 0x0A) { + break; + } } - try { - for (var response_1 = __asyncValues(response), response_1_1; response_1_1 = yield __await(response_1.next()), !response_1_1.done;) { - const chunk = response_1_1.value; - if (chunk.some(part => !part.json)) { - const message = chunk.map(part => `Headers::\n${part.headers}\n\nBody::\n${part.body}`); - throw new Error(`Expected multipart chunks to be of json type. got:\n${message}`); + + // [link]( "title" ) + // ^^^^^^^ parsing link title + res = state.md.helpers.parseLinkTitle(state.src, pos, state.posMax); + if (pos < max && start !== pos && res.ok) { + title = res.str; + pos = res.pos; + + // [link]( "title" ) + // ^^ skipping these spaces + for (; pos < max; pos++) { + code = state.src.charCodeAt(pos); + if (!isSpace(code) && code !== 0x0A) { + break; } - yield yield __await(chunk.map(part => part.body)); } - } catch (e_1_1) { - e_1 = { - error: e_1_1 - }; - } finally { - try { - if (response_1_1 && !response_1_1.done && (_a = response_1.return)) yield __await(_a.call(response_1)); - } finally { - if (e_1) throw e_1.error; + } else { + title = ''; + } + if (pos >= max || state.src.charCodeAt(pos) !== 0x29 /* ) */) { + state.pos = oldPos; + return false; + } + pos++; + } else { + // + // Link reference + // + if (typeof state.env.references === 'undefined') { + return false; + } + if (pos < max && state.src.charCodeAt(pos) === 0x5B /* [ */) { + start = pos + 1; + pos = state.md.helpers.parseLinkLabel(state, pos); + if (pos >= 0) { + label = state.src.slice(start, pos++); + } else { + pos = labelEnd + 1; } + } else { + pos = labelEnd + 1; } - }); -}; -exports.createMultipartFetcher = createMultipartFetcher; -const getWsFetcher = (options, fetcherOpts) => { - if (options.wsClient) { - return createWebsocketsFetcherFromClient(options.wsClient); + + // covers label === '' and label === undefined + // (collapsed reference link and shortcut reference link respectively) + if (!label) { + label = state.src.slice(labelStart, labelEnd); + } + ref = state.env.references[normalizeReference(label)]; + if (!ref) { + state.pos = oldPos; + return false; + } + href = ref.href; + title = ref.title; } - if (options.subscriptionUrl) { - return createWebsocketsFetcherFromUrl(options.subscriptionUrl, Object.assign(Object.assign({}, options.wsConnectionParams), fetcherOpts === null || fetcherOpts === void 0 ? void 0 : fetcherOpts.headers)); + + // + // We found the end of the link, and know for a fact it's a valid link; + // so all that's left to do is to call tokenizer. + // + if (!silent) { + content = state.src.slice(labelStart, labelEnd); + const tokens = []; + state.md.inline.parse(content, state.md, state.env, tokens); + const token = state.push('image', 'img', 0); + const attrs = [['src', href], ['alt', '']]; + token.attrs = attrs; + token.children = tokens; + token.content = content; + if (title) { + attrs.push(['title', title]); + } + } + state.pos = pos; + state.posMax = max; + return true; +} + +// Process autolinks '' + +/* eslint max-len:0 */ +const EMAIL_RE = /^([a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)$/; +/* eslint-disable-next-line no-control-regex */ +const AUTOLINK_RE = /^([a-zA-Z][a-zA-Z0-9+.-]{1,31}):([^<>\x00-\x20]*)$/; +function autolink(state, silent) { + let pos = state.pos; + if (state.src.charCodeAt(pos) !== 0x3C /* < */) { + return false; + } + const start = state.pos; + const max = state.posMax; + for (;;) { + if (++pos >= max) return false; + const ch = state.src.charCodeAt(pos); + if (ch === 0x3C /* < */) return false; + if (ch === 0x3E /* > */) break; + } + const url = state.src.slice(start + 1, pos); + if (AUTOLINK_RE.test(url)) { + const fullUrl = state.md.normalizeLink(url); + if (!state.md.validateLink(fullUrl)) { + return false; + } + if (!silent) { + const token_o = state.push('link_open', 'a', 1); + token_o.attrs = [['href', fullUrl]]; + token_o.markup = 'autolink'; + token_o.info = 'auto'; + const token_t = state.push('text', '', 0); + token_t.content = state.md.normalizeLinkText(url); + const token_c = state.push('link_close', 'a', -1); + token_c.markup = 'autolink'; + token_c.info = 'auto'; + } + state.pos += url.length + 2; + return true; } - const legacyWebsocketsClient = options.legacyClient || options.legacyWsClient; - if (legacyWebsocketsClient) { - return createLegacyWebsocketsFetcher(legacyWebsocketsClient); + if (EMAIL_RE.test(url)) { + const fullUrl = state.md.normalizeLink('mailto:' + url); + if (!state.md.validateLink(fullUrl)) { + return false; + } + if (!silent) { + const token_o = state.push('link_open', 'a', 1); + token_o.attrs = [['href', fullUrl]]; + token_o.markup = 'autolink'; + token_o.info = 'auto'; + const token_t = state.push('text', '', 0); + token_t.content = state.md.normalizeLinkText(url); + const token_c = state.push('link_close', 'a', -1); + token_c.markup = 'autolink'; + token_c.info = 'auto'; + } + state.pos += url.length + 2; + return true; } -}; -exports.getWsFetcher = getWsFetcher; + return false; +} -/***/ }), +// Process html tags -/***/ "../../graphiql-toolkit/esm/create-fetcher/types.js": -/*!**********************************************************!*\ - !*** ../../graphiql-toolkit/esm/create-fetcher/types.js ***! - \**********************************************************/ -/***/ (function(__unused_webpack_module, exports) { +function isLinkOpen(str) { + return /^\s]/i.test(str); +} +function isLinkClose(str) { + return /^<\/a\s*>/i.test(str); +} +function isLetter(ch) { + /* eslint no-bitwise:0 */ + const lc = ch | 0x20; // to lower case + return lc >= 0x61 /* a */ && lc <= 0x7a /* z */; +} +function html_inline(state, silent) { + if (!state.md.options.html) { + return false; + } + // Check start + const max = state.posMax; + const pos = state.pos; + if (state.src.charCodeAt(pos) !== 0x3C /* < */ || pos + 2 >= max) { + return false; + } -Object.defineProperty(exports, "__esModule", ({ - value: true -})); + // Quick fail on second char + const ch = state.src.charCodeAt(pos + 1); + if (ch !== 0x21 /* ! */ && ch !== 0x3F /* ? */ && ch !== 0x2F /* / */ && !isLetter(ch)) { + return false; + } + const match = state.src.slice(pos).match(HTML_TAG_RE); + if (!match) { + return false; + } + if (!silent) { + const token = state.push('html_inline', '', 0); + token.content = match[0]; + if (isLinkOpen(token.content)) state.linkLevel++; + if (isLinkClose(token.content)) state.linkLevel--; + } + state.pos += match[0].length; + return true; +} -/***/ }), +// Process html entity - {, ¯, ", ... -/***/ "../../graphiql-toolkit/esm/format/index.js": -/*!**************************************************!*\ - !*** ../../graphiql-toolkit/esm/format/index.js ***! - \**************************************************/ -/***/ (function(__unused_webpack_module, exports) { +const DIGITAL_RE = /^&#((?:x[a-f0-9]{1,6}|[0-9]{1,7}));/i; +const NAMED_RE = /^&([a-z][a-z0-9]{1,31});/i; +function entity(state, silent) { + const pos = state.pos; + const max = state.posMax; + if (state.src.charCodeAt(pos) !== 0x26 /* & */) return false; + if (pos + 1 >= max) return false; + const ch = state.src.charCodeAt(pos + 1); + if (ch === 0x23 /* # */) { + const match = state.src.slice(pos).match(DIGITAL_RE); + if (match) { + if (!silent) { + const code = match[1][0].toLowerCase() === 'x' ? parseInt(match[1].slice(1), 16) : parseInt(match[1], 10); + const token = state.push('text_special', '', 0); + token.content = isValidEntityCode(code) ? fromCodePoint(code) : fromCodePoint(0xFFFD); + token.markup = match[0]; + token.info = 'entity'; + } + state.pos += match[0].length; + return true; + } + } else { + const match = state.src.slice(pos).match(NAMED_RE); + if (match) { + const decoded = entities.decodeHTML(match[0]); + if (decoded !== match[0]) { + if (!silent) { + const token = state.push('text_special', '', 0); + token.content = decoded; + token.markup = match[0]; + token.info = 'entity'; + } + state.pos += match[0].length; + return true; + } + } + } + return false; +} +// For each opening emphasis-like marker find a matching closing one +// +function processDelimiters(delimiters) { + const openersBottom = {}; + const max = delimiters.length; + if (!max) return; + + // headerIdx is the first delimiter of the current (where closer is) delimiter run + let headerIdx = 0; + let lastTokenIdx = -2; // needs any value lower than -1 + const jumps = []; + for (let closerIdx = 0; closerIdx < max; closerIdx++) { + const closer = delimiters[closerIdx]; + jumps.push(0); + + // markers belong to same delimiter run if: + // - they have adjacent tokens + // - AND markers are the same + // + if (delimiters[headerIdx].marker !== closer.marker || lastTokenIdx !== closer.token - 1) { + headerIdx = closerIdx; + } + lastTokenIdx = closer.token; -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.formatError = formatError; -exports.formatResult = formatResult; -function stringify(obj) { - return JSON.stringify(obj, null, 2); -} -function formatSingleError(error) { - return Object.assign(Object.assign({}, error), { - message: error.message, - stack: error.stack - }); -} -function handleSingleError(error) { - if (error instanceof Error) { - return formatSingleError(error); + // Length is only used for emphasis-specific "rule of 3", + // if it's not defined (in strikethrough or 3rd party plugins), + // we can default it to 0 to disable those checks. + // + closer.length = closer.length || 0; + if (!closer.close) continue; + + // Previously calculated lower bounds (previous fails) + // for each marker, each delimiter length modulo 3, + // and for whether this closer can be an opener; + // https://github.com/commonmark/cmark/commit/34250e12ccebdc6372b8b49c44fab57c72443460 + /* eslint-disable-next-line no-prototype-builtins */ + if (!openersBottom.hasOwnProperty(closer.marker)) { + openersBottom[closer.marker] = [-1, -1, -1, -1, -1, -1]; + } + const minOpenerIdx = openersBottom[closer.marker][(closer.open ? 3 : 0) + closer.length % 3]; + let openerIdx = headerIdx - jumps[headerIdx] - 1; + let newMinOpenerIdx = openerIdx; + for (; openerIdx > minOpenerIdx; openerIdx -= jumps[openerIdx] + 1) { + const opener = delimiters[openerIdx]; + if (opener.marker !== closer.marker) continue; + if (opener.open && opener.end < 0) { + let isOddMatch = false; + + // from spec: + // + // If one of the delimiters can both open and close emphasis, then the + // sum of the lengths of the delimiter runs containing the opening and + // closing delimiters must not be a multiple of 3 unless both lengths + // are multiples of 3. + // + if (opener.close || closer.open) { + if ((opener.length + closer.length) % 3 === 0) { + if (opener.length % 3 !== 0 || closer.length % 3 !== 0) { + isOddMatch = true; + } + } + } + if (!isOddMatch) { + // If previous delimiter cannot be an opener, we can safely skip + // the entire sequence in future checks. This is required to make + // sure algorithm has linear complexity (see *_*_*_*_*_... case). + // + const lastJump = openerIdx > 0 && !delimiters[openerIdx - 1].open ? jumps[openerIdx - 1] + 1 : 0; + jumps[closerIdx] = closerIdx - openerIdx + lastJump; + jumps[openerIdx] = lastJump; + closer.open = false; + opener.end = closerIdx; + opener.close = false; + newMinOpenerIdx = -1; + // treat next token as start of run, + // it optimizes skips in **<...>**a**<...>** pathological case + lastTokenIdx = -2; + break; + } + } + } + if (newMinOpenerIdx !== -1) { + // If match for this delimiter run failed, we want to set lower bound for + // future lookups. This is required to make sure algorithm has linear + // complexity. + // + // See details here: + // https://github.com/commonmark/cmark/issues/178#issuecomment-270417442 + // + openersBottom[closer.marker][(closer.open ? 3 : 0) + (closer.length || 0) % 3] = newMinOpenerIdx; + } } - return error; } -function formatError(error) { - if (Array.isArray(error)) { - return stringify({ - errors: error.map(e => handleSingleError(e)) - }); +function link_pairs(state) { + const tokens_meta = state.tokens_meta; + const max = state.tokens_meta.length; + processDelimiters(state.delimiters); + for (let curr = 0; curr < max; curr++) { + if (tokens_meta[curr] && tokens_meta[curr].delimiters) { + processDelimiters(tokens_meta[curr].delimiters); + } } - return stringify({ - errors: [handleSingleError(error)] - }); } -function formatResult(result) { - return stringify(result); + +// Clean up tokens after emphasis and strikethrough postprocessing: +// merge adjacent text nodes into one and re-calculate all token levels +// +// This is necessary because initially emphasis delimiter markers (*, _, ~) +// are treated as their own separate text tokens. Then emphasis rule either +// leaves them as text (needed to merge with adjacent text) or turns them +// into opening/closing tags (which messes up levels inside). +// + +function fragments_join(state) { + let curr, last; + let level = 0; + const tokens = state.tokens; + const max = state.tokens.length; + for (curr = last = 0; curr < max; curr++) { + // re-calculate levels after emphasis/strikethrough turns some text nodes + // into opening/closing tags + if (tokens[curr].nesting < 0) level--; // closing tag + tokens[curr].level = level; + if (tokens[curr].nesting > 0) level++; // opening tag + + if (tokens[curr].type === 'text' && curr + 1 < max && tokens[curr + 1].type === 'text') { + // collapse two adjacent text nodes + tokens[curr + 1].content = tokens[curr].content + tokens[curr + 1].content; + } else { + if (curr !== last) { + tokens[last] = tokens[curr]; + } + last++; + } + } + if (curr !== last) { + tokens.length = last; + } } -/***/ }), +/** internal + * class ParserInline + * + * Tokenizes paragraph content. + **/ -/***/ "../../graphiql-toolkit/esm/graphql-helpers/auto-complete.js": -/*!*******************************************************************!*\ - !*** ../../graphiql-toolkit/esm/graphql-helpers/auto-complete.js ***! - \*******************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { +// Parser rules +const _rules = [['text', text], ['linkify', linkify], ['newline', newline], ['escape', escape], ['backticks', backtick], ['strikethrough', r_strikethrough.tokenize], ['emphasis', r_emphasis.tokenize], ['link', link], ['image', image], ['autolink', autolink], ['html_inline', html_inline], ['entity', entity]]; +// `rule2` ruleset was created specifically for emphasis/strikethrough +// post-processing and may be changed in the future. +// +// Don't use this for anything except pairs (plugins working with `balance_pairs`). +// +const _rules2 = [['balance_pairs', link_pairs], ['strikethrough', r_strikethrough.postProcess], ['emphasis', r_emphasis.postProcess], +// rules for pairs separate '**' into its own text tokens, which may be left unused, +// rule below merges unused segments back with the rest of the text +['fragments_join', fragments_join]]; -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.fillLeafs = fillLeafs; -var _graphql = __webpack_require__(/*! graphql */ "../../../node_modules/graphql/index.mjs"); -function fillLeafs(schema, docString, getDefaultFieldNames) { - const insertions = []; - if (!schema || !docString) { - return { - insertions, - result: docString - }; +/** + * new ParserInline() + **/ +function ParserInline() { + /** + * ParserInline#ruler -> Ruler + * + * [[Ruler]] instance. Keep configuration of inline rules. + **/ + this.ruler = new Ruler(); + for (let i = 0; i < _rules.length; i++) { + this.ruler.push(_rules[i][0], _rules[i][1]); } - let ast; - try { - ast = (0, _graphql.parse)(docString); - } catch (_a) { - return { - insertions, - result: docString - }; + + /** + * ParserInline#ruler2 -> Ruler + * + * [[Ruler]] instance. Second ruler used for post-processing + * (e.g. in emphasis-like rules). + **/ + this.ruler2 = new Ruler(); + for (let i = 0; i < _rules2.length; i++) { + this.ruler2.push(_rules2[i][0], _rules2[i][1]); } - const fieldNameFn = getDefaultFieldNames || defaultGetDefaultFieldNames; - const typeInfo = new _graphql.TypeInfo(schema); - (0, _graphql.visit)(ast, { - leave(node) { - typeInfo.leave(node); - }, - enter(node) { - typeInfo.enter(node); - if (node.kind === 'Field' && !node.selectionSet) { - const fieldType = typeInfo.getType(); - const selectionSet = buildSelectionSet(isFieldType(fieldType), fieldNameFn); - if (selectionSet && node.loc) { - const indent = getIndentation(docString, node.loc.start); - insertions.push({ - index: node.loc.end, - string: ' ' + (0, _graphql.print)(selectionSet).replaceAll('\n', '\n' + indent) - }); +} + +// Skip single token by running all rules in validation mode; +// returns `true` if any rule reported success +// +ParserInline.prototype.skipToken = function (state) { + const pos = state.pos; + const rules = this.ruler.getRules(''); + const len = rules.length; + const maxNesting = state.md.options.maxNesting; + const cache = state.cache; + if (typeof cache[pos] !== 'undefined') { + state.pos = cache[pos]; + return; + } + let ok = false; + if (state.level < maxNesting) { + for (let i = 0; i < len; i++) { + // Increment state.level and decrement it later to limit recursion. + // It's harmless to do here, because no tokens are created. But ideally, + // we'd need a separate private state variable for this purpose. + // + state.level++; + ok = rules[i](state, true); + state.level--; + if (ok) { + if (pos >= state.pos) { + throw new Error("inline rule didn't increment state.pos"); } + break; } } - }); - return { - insertions, - result: withInsertions(docString, insertions) - }; -} -function defaultGetDefaultFieldNames(type) { - if (!('getFields' in type)) { - return []; - } - const fields = type.getFields(); - if (fields.id) { - return ['id']; - } - if (fields.edges) { - return ['edges']; + } else { + // Too much nesting, just skip until the end of the paragraph. + // + // NOTE: this will cause links to behave incorrectly in the following case, + // when an amount of `[` is exactly equal to `maxNesting + 1`: + // + // [[[[[[[[[[[[[[[[[[[[[foo]() + // + // TODO: remove this workaround when CM standard will allow nested links + // (we can replace it by preventing links from being parsed in + // validation mode) + // + state.pos = state.posMax; } - if (fields.node) { - return ['node']; + if (!ok) { + state.pos++; } - const leafFieldNames = []; - for (const fieldName of Object.keys(fields)) { - if ((0, _graphql.isLeafType)(fields[fieldName].type)) { - leafFieldNames.push(fieldName); + cache[pos] = state.pos; +}; + +// Generate tokens for input range +// +ParserInline.prototype.tokenize = function (state) { + const rules = this.ruler.getRules(''); + const len = rules.length; + const end = state.posMax; + const maxNesting = state.md.options.maxNesting; + while (state.pos < end) { + // Try all possible rules. + // On success, rule should: + // + // - update `state.pos` + // - update `state.tokens` + // - return true + const prevPos = state.pos; + let ok = false; + if (state.level < maxNesting) { + for (let i = 0; i < len; i++) { + ok = rules[i](state, false); + if (ok) { + if (prevPos >= state.pos) { + throw new Error("inline rule didn't increment state.pos"); + } + break; + } + } + } + if (ok) { + if (state.pos >= end) { + break; + } + continue; } + state.pending += state.src[state.pos++]; } - return leafFieldNames; -} -function buildSelectionSet(type, getDefaultFieldNames) { - const namedType = (0, _graphql.getNamedType)(type); - if (!type || (0, _graphql.isLeafType)(type)) { - return; + if (state.pending) { + state.pushPending(); } - const fieldNames = getDefaultFieldNames(namedType); - if (!Array.isArray(fieldNames) || fieldNames.length === 0 || !('getFields' in namedType)) { - return; +}; + +/** + * ParserInline.parse(str, md, env, outTokens) + * + * Process input string and push inline tokens into `outTokens` + **/ +ParserInline.prototype.parse = function (str, md, env, outTokens) { + const state = new this.State(str, md, env, outTokens); + this.tokenize(state); + const rules = this.ruler2.getRules(''); + const len = rules.length; + for (let i = 0; i < len; i++) { + rules[i](state); } - return { - kind: _graphql.Kind.SELECTION_SET, - selections: fieldNames.map(fieldName => { - const fieldDef = namedType.getFields()[fieldName]; - const fieldType = fieldDef ? fieldDef.type : null; - return { - kind: _graphql.Kind.FIELD, - name: { - kind: _graphql.Kind.NAME, - value: fieldName - }, - selectionSet: buildSelectionSet(fieldType, getDefaultFieldNames) - }; - }) - }; -} -function withInsertions(initial, insertions) { - if (insertions.length === 0) { - return initial; +}; +ParserInline.prototype.State = StateInline; + +// markdown-it default options + +var cfg_default = { + options: { + // Enable HTML tags in source + html: false, + // Use '/' to close single tags (
) + xhtmlOut: false, + // Convert '\n' in paragraphs into
+ breaks: false, + // CSS language prefix for fenced blocks + langPrefix: 'language-', + // autoconvert URL-like texts to links + linkify: false, + // Enable some language-neutral replacements + quotes beautification + typographer: false, + // Double + single quotes replacement pairs, when typographer enabled, + // and smartquotes on. Could be either a String or an Array. + // + // For example, you can use '«»„“' for Russian, '„“‚‘' for German, + // and ['«\xA0', '\xA0»', '‹\xA0', '\xA0›'] for French (including nbsp). + quotes: '\u201c\u201d\u2018\u2019', + /* “”‘’ */ + + // Highlighter function. Should return escaped HTML, + // or '' if the source string is not changed and should be escaped externaly. + // If result starts with ) + xhtmlOut: false, + // Convert '\n' in paragraphs into
+ breaks: false, + // CSS language prefix for fenced blocks + langPrefix: 'language-', + // autoconvert URL-like texts to links + linkify: false, + // Enable some language-neutral replacements + quotes beautification + typographer: false, + // Double + single quotes replacement pairs, when typographer enabled, + // and smartquotes on. Could be either a String or an Array. + // + // For example, you can use '«»„“' for Russian, '„“‚‘' for German, + // and ['«\xA0', '\xA0»', '‹\xA0', '\xA0›'] for French (including nbsp). + quotes: '\u201c\u201d\u2018\u2019', + /* “”‘’ */ + + // Highlighter function. Should return escaped HTML, + // or '' if the source string is not changed and should be escaped externaly. + // If result starts with ) + xhtmlOut: true, + // Convert '\n' in paragraphs into
+ breaks: false, + // CSS language prefix for fenced blocks + langPrefix: 'language-', + // autoconvert URL-like texts to links + linkify: false, + // Enable some language-neutral replacements + quotes beautification + typographer: false, + // Double + single quotes replacement pairs, when typographer enabled, + // and smartquotes on. Could be either a String or an Array. + // + // For example, you can use '«»„“' for Russian, '„“‚‘' for German, + // and ['«\xA0', '\xA0»', '‹\xA0', '\xA0›'] for French (including nbsp). + quotes: '\u201c\u201d\u2018\u2019', + /* “”‘’ */ + + // Highlighter function. Should return escaped HTML, + // or '' if the source string is not changed and should be escaped externaly. + // If result starts with = 0) { + try { + parsed.hostname = punycode.toASCII(parsed.hostname); + } catch (er) {/**/} } } - return str.slice(indentStart, indentEnd); + return mdurl__namespace.encode(mdurl__namespace.format(parsed)); } -function isFieldType(fieldType) { - if (fieldType) { - return fieldType; +function normalizeLinkText(url) { + const parsed = mdurl__namespace.parse(url, true); + if (parsed.hostname) { + // Encode hostnames in urls like: + // `http://host/`, `https://host/`, `mailto:user@host`, `//host/` + // + // We don't encode unknown schemas, because it's likely that we encode + // something we shouldn't (e.g. `skype:name` treated as `skype:host`) + // + if (!parsed.protocol || RECODE_HOSTNAME_FOR.indexOf(parsed.protocol) >= 0) { + try { + parsed.hostname = punycode.toUnicode(parsed.hostname); + } catch (er) {/**/} + } } + + // add '%' to exclude list because of https://github.com/markdown-it/markdown-it/issues/720 + return mdurl__namespace.decode(mdurl__namespace.format(parsed), mdurl__namespace.decode.defaultChars + '%'); } -/***/ }), +/** + * class MarkdownIt + * + * Main parser/renderer class. + * + * ##### Usage + * + * ```javascript + * // node.js, "classic" way: + * var MarkdownIt = require('markdown-it'), + * md = new MarkdownIt(); + * var result = md.render('# markdown-it rulezz!'); + * + * // node.js, the same, but with sugar: + * var md = require('markdown-it')(); + * var result = md.render('# markdown-it rulezz!'); + * + * // browser without AMD, added to "window" on script load + * // Note, there are no dash. + * var md = window.markdownit(); + * var result = md.render('# markdown-it rulezz!'); + * ``` + * + * Single line rendering, without paragraph wrap: + * + * ```javascript + * var md = require('markdown-it')(); + * var result = md.renderInline('__markdown-it__ rulezz!'); + * ``` + **/ -/***/ "../../graphiql-toolkit/esm/graphql-helpers/index.js": -/*!***********************************************************!*\ - !*** ../../graphiql-toolkit/esm/graphql-helpers/index.js ***! - \***********************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { +/** + * new MarkdownIt([presetName, options]) + * - presetName (String): optional, `commonmark` / `zero` + * - options (Object) + * + * Creates parser instanse with given config. Can be called without `new`. + * + * ##### presetName + * + * MarkdownIt provides named presets as a convenience to quickly + * enable/disable active syntax rules and options for common use cases. + * + * - ["commonmark"](https://github.com/markdown-it/markdown-it/blob/master/lib/presets/commonmark.mjs) - + * configures parser to strict [CommonMark](http://commonmark.org/) mode. + * - [default](https://github.com/markdown-it/markdown-it/blob/master/lib/presets/default.mjs) - + * similar to GFM, used when no preset name given. Enables all available rules, + * but still without html, typographer & autolinker. + * - ["zero"](https://github.com/markdown-it/markdown-it/blob/master/lib/presets/zero.mjs) - + * all rules disabled. Useful to quickly setup your config via `.enable()`. + * For example, when you need only `bold` and `italic` markup and nothing else. + * + * ##### options: + * + * - __html__ - `false`. Set `true` to enable HTML tags in source. Be careful! + * That's not safe! You may need external sanitizer to protect output from XSS. + * It's better to extend features via plugins, instead of enabling HTML. + * - __xhtmlOut__ - `false`. Set `true` to add '/' when closing single tags + * (`
`). This is needed only for full CommonMark compatibility. In real + * world you will need HTML output. + * - __breaks__ - `false`. Set `true` to convert `\n` in paragraphs into `
`. + * - __langPrefix__ - `language-`. CSS language class prefix for fenced blocks. + * Can be useful for external highlighters. + * - __linkify__ - `false`. Set `true` to autoconvert URL-like text to links. + * - __typographer__ - `false`. Set `true` to enable [some language-neutral + * replacement](https://github.com/markdown-it/markdown-it/blob/master/lib/rules_core/replacements.mjs) + + * quotes beautification (smartquotes). + * - __quotes__ - `“”‘’`, String or Array. Double + single quotes replacement + * pairs, when typographer enabled and smartquotes on. For example, you can + * use `'«»„“'` for Russian, `'„“‚‘'` for German, and + * `['«\xA0', '\xA0»', '‹\xA0', '\xA0›']` for French (including nbsp). + * - __highlight__ - `null`. Highlighter function for fenced code blocks. + * Highlighter `function (str, lang)` should return escaped HTML. It can also + * return empty string if the source was not changed and should be escaped + * externaly. If result starts with ` or ``): + * + * ```javascript + * var hljs = require('highlight.js') // https://highlightjs.org/ + * + * // Actual default values + * var md = require('markdown-it')({ + * highlight: function (str, lang) { + * if (lang && hljs.getLanguage(lang)) { + * try { + * return '
' +
+ *                hljs.highlight(str, { language: lang, ignoreIllegals: true }).value +
+ *                '
'; + * } catch (__) {} + * } + * + * return '
' + md.utils.escapeHtml(str) + '
'; + * } + * }); + * ``` + * + **/ +function MarkdownIt(presetName, options) { + if (!(this instanceof MarkdownIt)) { + return new MarkdownIt(presetName, options); + } + if (!options) { + if (!isString(presetName)) { + options = presetName || {}; + presetName = 'default'; + } + } + /** + * MarkdownIt#inline -> ParserInline + * + * Instance of [[ParserInline]]. You may need it to add new rules when + * writing plugins. For simple rules control use [[MarkdownIt.disable]] and + * [[MarkdownIt.enable]]. + **/ + this.inline = new ParserInline(); + /** + * MarkdownIt#block -> ParserBlock + * + * Instance of [[ParserBlock]]. You may need it to add new rules when + * writing plugins. For simple rules control use [[MarkdownIt.disable]] and + * [[MarkdownIt.enable]]. + **/ + this.block = new ParserBlock(); -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -var _autoComplete = __webpack_require__(/*! ./auto-complete */ "../../graphiql-toolkit/esm/graphql-helpers/auto-complete.js"); -Object.keys(_autoComplete).forEach(function (key) { - if (key === "default" || key === "__esModule") return; - if (key in exports && exports[key] === _autoComplete[key]) return; - Object.defineProperty(exports, key, { - enumerable: true, - get: function () { - return _autoComplete[key]; - } - }); -}); -var _mergeAst = __webpack_require__(/*! ./merge-ast */ "../../graphiql-toolkit/esm/graphql-helpers/merge-ast.js"); -Object.keys(_mergeAst).forEach(function (key) { - if (key === "default" || key === "__esModule") return; - if (key in exports && exports[key] === _mergeAst[key]) return; - Object.defineProperty(exports, key, { - enumerable: true, - get: function () { - return _mergeAst[key]; - } - }); -}); -var _operationName = __webpack_require__(/*! ./operation-name */ "../../graphiql-toolkit/esm/graphql-helpers/operation-name.js"); -Object.keys(_operationName).forEach(function (key) { - if (key === "default" || key === "__esModule") return; - if (key in exports && exports[key] === _operationName[key]) return; - Object.defineProperty(exports, key, { - enumerable: true, - get: function () { - return _operationName[key]; - } - }); -}); + /** + * MarkdownIt#core -> Core + * + * Instance of [[Core]] chain executor. You may need it to add new rules when + * writing plugins. For simple rules control use [[MarkdownIt.disable]] and + * [[MarkdownIt.enable]]. + **/ + this.core = new Core(); -/***/ }), + /** + * MarkdownIt#renderer -> Renderer + * + * Instance of [[Renderer]]. Use it to modify output look. Or to add rendering + * rules for new token types, generated by plugins. + * + * ##### Example + * + * ```javascript + * var md = require('markdown-it')(); + * + * function myToken(tokens, idx, options, env, self) { + * //... + * return result; + * }; + * + * md.renderer.rules['my_token'] = myToken + * ``` + * + * See [[Renderer]] docs and [source code](https://github.com/markdown-it/markdown-it/blob/master/lib/renderer.mjs). + **/ + this.renderer = new Renderer(); -/***/ "../../graphiql-toolkit/esm/graphql-helpers/merge-ast.js": -/*!***************************************************************!*\ - !*** ../../graphiql-toolkit/esm/graphql-helpers/merge-ast.js ***! - \***************************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { + /** + * MarkdownIt#linkify -> LinkifyIt + * + * [linkify-it](https://github.com/markdown-it/linkify-it) instance. + * Used by [linkify](https://github.com/markdown-it/markdown-it/blob/master/lib/rules_core/linkify.mjs) + * rule. + **/ + this.linkify = new LinkifyIt(); + + /** + * MarkdownIt#validateLink(url) -> Boolean + * + * Link validation function. CommonMark allows too much in links. By default + * we disable `javascript:`, `vbscript:`, `file:` schemas, and almost all `data:...` schemas + * except some embedded image types. + * + * You can change this behaviour: + * + * ```javascript + * var md = require('markdown-it')(); + * // enable everything + * md.validateLink = function () { return true; } + * ``` + **/ + this.validateLink = validateLink; + + /** + * MarkdownIt#normalizeLink(url) -> String + * + * Function used to encode link url to a machine-readable format, + * which includes url-encoding, punycode, etc. + **/ + this.normalizeLink = normalizeLink; + /** + * MarkdownIt#normalizeLinkText(url) -> String + * + * Function used to decode link url to a human-readable format` + **/ + this.normalizeLinkText = normalizeLinkText; + // Expose utils & helpers for easy acces from plugins -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.mergeAst = mergeAst; -var _graphql = __webpack_require__(/*! graphql */ "../../../node_modules/graphql/index.mjs"); -function uniqueBy(array, iteratee) { - var _a; - const FilteredMap = new Map(); - const result = []; - for (const item of array) { - if (item.kind === 'Field') { - const uniqueValue = iteratee(item); - const existing = FilteredMap.get(uniqueValue); - if ((_a = item.directives) === null || _a === void 0 ? void 0 : _a.length) { - const itemClone = Object.assign({}, item); - result.push(itemClone); - } else if ((existing === null || existing === void 0 ? void 0 : existing.selectionSet) && item.selectionSet) { - existing.selectionSet.selections = [...existing.selectionSet.selections, ...item.selectionSet.selections]; - } else if (!existing) { - const itemClone = Object.assign({}, item); - FilteredMap.set(uniqueValue, itemClone); - result.push(itemClone); - } - } else { - result.push(item); - } + /** + * MarkdownIt#utils -> utils + * + * Assorted utility functions, useful to write plugins. See details + * [here](https://github.com/markdown-it/markdown-it/blob/master/lib/common/utils.mjs). + **/ + this.utils = utils; + + /** + * MarkdownIt#helpers -> helpers + * + * Link components parser functions, useful to write plugins. See details + * [here](https://github.com/markdown-it/markdown-it/blob/master/lib/helpers). + **/ + this.helpers = assign({}, helpers); + this.options = {}; + this.configure(presetName); + if (options) { + this.set(options); } - return result; } -function inlineRelevantFragmentSpreads(fragmentDefinitions, selections, selectionSetType) { - var _a; - const selectionSetTypeName = selectionSetType ? (0, _graphql.getNamedType)(selectionSetType).name : null; - const outputSelections = []; - const seenSpreads = []; - for (let selection of selections) { - if (selection.kind === 'FragmentSpread') { - const fragmentName = selection.name.value; - if (!selection.directives || selection.directives.length === 0) { - if (seenSpreads.includes(fragmentName)) { - continue; - } else { - seenSpreads.push(fragmentName); - } - } - const fragmentDefinition = fragmentDefinitions[selection.name.value]; - if (fragmentDefinition) { - const { - typeCondition, - directives, - selectionSet - } = fragmentDefinition; - selection = { - kind: _graphql.Kind.INLINE_FRAGMENT, - typeCondition, - directives, - selectionSet - }; - } - } - if (selection.kind === _graphql.Kind.INLINE_FRAGMENT && (!selection.directives || ((_a = selection.directives) === null || _a === void 0 ? void 0 : _a.length) === 0)) { - const fragmentTypeName = selection.typeCondition ? selection.typeCondition.name.value : null; - if (!fragmentTypeName || fragmentTypeName === selectionSetTypeName) { - outputSelections.push(...inlineRelevantFragmentSpreads(fragmentDefinitions, selection.selectionSet.selections, selectionSetType)); - continue; - } + +/** chainable + * MarkdownIt.set(options) + * + * Set parser options (in the same format as in constructor). Probably, you + * will never need it, but you can change options after constructor call. + * + * ##### Example + * + * ```javascript + * var md = require('markdown-it')() + * .set({ html: true, breaks: true }) + * .set({ typographer, true }); + * ``` + * + * __Note:__ To achieve the best possible performance, don't modify a + * `markdown-it` instance options on the fly. If you need multiple configurations + * it's best to create multiple instances and initialize each with separate + * config. + **/ +MarkdownIt.prototype.set = function (options) { + assign(this.options, options); + return this; +}; + +/** chainable, internal + * MarkdownIt.configure(presets) + * + * Batch load of all options and compenent settings. This is internal method, + * and you probably will not need it. But if you will - see available presets + * and data structure [here](https://github.com/markdown-it/markdown-it/tree/master/lib/presets) + * + * We strongly recommend to use presets instead of direct config loads. That + * will give better compatibility with next versions. + **/ +MarkdownIt.prototype.configure = function (presets) { + const self = this; + if (isString(presets)) { + const presetName = presets; + presets = config[presetName]; + if (!presets) { + throw new Error('Wrong `markdown-it` preset "' + presetName + '", check name'); } - outputSelections.push(selection); } - return outputSelections; -} -function mergeAst(documentAST, schema) { - const typeInfo = schema ? new _graphql.TypeInfo(schema) : null; - const fragmentDefinitions = Object.create(null); - for (const definition of documentAST.definitions) { - if (definition.kind === _graphql.Kind.FRAGMENT_DEFINITION) { - fragmentDefinitions[definition.name.value] = definition; - } + if (!presets) { + throw new Error('Wrong `markdown-it` preset, can\'t be empty'); } - const flattenVisitors = { - SelectionSet(node) { - const selectionSetType = typeInfo ? typeInfo.getParentType() : null; - let { - selections - } = node; - selections = inlineRelevantFragmentSpreads(fragmentDefinitions, selections, selectionSetType); - return Object.assign(Object.assign({}, node), { - selections - }); - }, - FragmentDefinition() { - return null; - } - }; - const flattenedAST = (0, _graphql.visit)(documentAST, typeInfo ? (0, _graphql.visitWithTypeInfo)(typeInfo, flattenVisitors) : flattenVisitors); - const deduplicateVisitors = { - SelectionSet(node) { - let { - selections - } = node; - selections = uniqueBy(selections, selection => selection.alias ? selection.alias.value : selection.name.value); - return Object.assign(Object.assign({}, node), { - selections - }); - }, - FragmentDefinition() { - return null; - } - }; - return (0, _graphql.visit)(flattenedAST, deduplicateVisitors); -} - -/***/ }), - -/***/ "../../graphiql-toolkit/esm/graphql-helpers/operation-name.js": -/*!********************************************************************!*\ - !*** ../../graphiql-toolkit/esm/graphql-helpers/operation-name.js ***! - \********************************************************************/ -/***/ (function(__unused_webpack_module, exports) { - - + if (presets.options) { + self.set(presets.options); + } + if (presets.components) { + Object.keys(presets.components).forEach(function (name) { + if (presets.components[name].rules) { + self[name].ruler.enableOnly(presets.components[name].rules); + } + if (presets.components[name].rules2) { + self[name].ruler2.enableOnly(presets.components[name].rules2); + } + }); + } + return this; +}; -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.getSelectedOperationName = getSelectedOperationName; -function getSelectedOperationName(prevOperations, prevSelectedOperationName, operations) { - if (!operations || operations.length < 1) { - return; +/** chainable + * MarkdownIt.enable(list, ignoreInvalid) + * - list (String|Array): rule name or list of rule names to enable + * - ignoreInvalid (Boolean): set `true` to ignore errors when rule not found. + * + * Enable list or rules. It will automatically find appropriate components, + * containing rules with given names. If rule not found, and `ignoreInvalid` + * not set - throws exception. + * + * ##### Example + * + * ```javascript + * var md = require('markdown-it')() + * .enable(['sub', 'sup']) + * .disable('smartquotes'); + * ``` + **/ +MarkdownIt.prototype.enable = function (list, ignoreInvalid) { + let result = []; + if (!Array.isArray(list)) { + list = [list]; } - const names = operations.map(op => { - var _a; - return (_a = op.name) === null || _a === void 0 ? void 0 : _a.value; + ['core', 'block', 'inline'].forEach(function (chain) { + result = result.concat(this[chain].ruler.enable(list, true)); + }, this); + result = result.concat(this.inline.ruler2.enable(list, true)); + const missed = list.filter(function (name) { + return result.indexOf(name) < 0; }); - if (prevSelectedOperationName && names.includes(prevSelectedOperationName)) { - return prevSelectedOperationName; + if (missed.length && !ignoreInvalid) { + throw new Error('MarkdownIt. Failed to enable unknown rule(s): ' + missed); } - if (prevSelectedOperationName && prevOperations) { - const prevNames = prevOperations.map(op => { - var _a; - return (_a = op.name) === null || _a === void 0 ? void 0 : _a.value; - }); - const prevIndex = prevNames.indexOf(prevSelectedOperationName); - if (prevIndex !== -1 && prevIndex < names.length) { - return names[prevIndex]; - } + return this; +}; + +/** chainable + * MarkdownIt.disable(list, ignoreInvalid) + * - list (String|Array): rule name or list of rule names to disable. + * - ignoreInvalid (Boolean): set `true` to ignore errors when rule not found. + * + * The same as [[MarkdownIt.enable]], but turn specified rules off. + **/ +MarkdownIt.prototype.disable = function (list, ignoreInvalid) { + let result = []; + if (!Array.isArray(list)) { + list = [list]; } - return names[0]; -} + ['core', 'block', 'inline'].forEach(function (chain) { + result = result.concat(this[chain].ruler.disable(list, true)); + }, this); + result = result.concat(this.inline.ruler2.disable(list, true)); + const missed = list.filter(function (name) { + return result.indexOf(name) < 0; + }); + if (missed.length && !ignoreInvalid) { + throw new Error('MarkdownIt. Failed to disable unknown rule(s): ' + missed); + } + return this; +}; -/***/ }), +/** chainable + * MarkdownIt.use(plugin, params) + * + * Load specified plugin with given params into current parser instance. + * It's just a sugar to call `plugin(md, params)` with curring. + * + * ##### Example + * + * ```javascript + * var iterator = require('markdown-it-for-inline'); + * var md = require('markdown-it')() + * .use(iterator, 'foo_replace', 'text', function (tokens, idx) { + * tokens[idx].content = tokens[idx].content.replace(/foo/g, 'bar'); + * }); + * ``` + **/ +MarkdownIt.prototype.use = function (plugin /*, params, ... */) { + const args = [this].concat(Array.prototype.slice.call(arguments, 1)); + plugin.apply(plugin, args); + return this; +}; -/***/ "../../graphiql-toolkit/esm/index.js": -/*!*******************************************!*\ - !*** ../../graphiql-toolkit/esm/index.js ***! - \*******************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { +/** internal + * MarkdownIt.parse(src, env) -> Array + * - src (String): source string + * - env (Object): environment sandbox + * + * Parse input string and return list of block tokens (special token type + * "inline" will contain list of inline tokens). You should not call this + * method directly, until you write custom renderer (for example, to produce + * AST). + * + * `env` is used to pass data between "distributed" rules and return additional + * metadata like reference info, needed for the renderer. It also can be used to + * inject data in specific cases. Usually, you will be ok to pass `{}`, + * and then pass updated object to renderer. + **/ +MarkdownIt.prototype.parse = function (src, env) { + if (typeof src !== 'string') { + throw new Error('Input data should be a String'); + } + const state = new this.core.State(src, this, env); + this.core.process(state); + return state.tokens; +}; +/** + * MarkdownIt.render(src [, env]) -> String + * - src (String): source string + * - env (Object): environment sandbox + * + * Render markdown string into html. It does all magic for you :). + * + * `env` can be used to inject additional metadata (`{}` by default). + * But you will not need it with high probability. See also comment + * in [[MarkdownIt.parse]]. + **/ +MarkdownIt.prototype.render = function (src, env) { + env = env || {}; + return this.renderer.render(this.parse(src, env), this.options, env); +}; +/** internal + * MarkdownIt.parseInline(src, env) -> Array + * - src (String): source string + * - env (Object): environment sandbox + * + * The same as [[MarkdownIt.parse]] but skip all block rules. It returns the + * block tokens list with the single `inline` element, containing parsed inline + * tokens in `children` property. Also updates `env` object. + **/ +MarkdownIt.prototype.parseInline = function (src, env) { + const state = new this.core.State(src, this, env); + state.inlineMode = true; + this.core.process(state); + return state.tokens; +}; -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -var _asyncHelpers = __webpack_require__(/*! ./async-helpers */ "../../graphiql-toolkit/esm/async-helpers/index.js"); -Object.keys(_asyncHelpers).forEach(function (key) { - if (key === "default" || key === "__esModule") return; - if (key in exports && exports[key] === _asyncHelpers[key]) return; - Object.defineProperty(exports, key, { - enumerable: true, - get: function () { - return _asyncHelpers[key]; - } - }); -}); -var _createFetcher = __webpack_require__(/*! ./create-fetcher */ "../../graphiql-toolkit/esm/create-fetcher/index.js"); -Object.keys(_createFetcher).forEach(function (key) { - if (key === "default" || key === "__esModule") return; - if (key in exports && exports[key] === _createFetcher[key]) return; - Object.defineProperty(exports, key, { - enumerable: true, - get: function () { - return _createFetcher[key]; - } - }); -}); -var _format = __webpack_require__(/*! ./format */ "../../graphiql-toolkit/esm/format/index.js"); -Object.keys(_format).forEach(function (key) { - if (key === "default" || key === "__esModule") return; - if (key in exports && exports[key] === _format[key]) return; - Object.defineProperty(exports, key, { - enumerable: true, - get: function () { - return _format[key]; - } - }); -}); -var _graphqlHelpers = __webpack_require__(/*! ./graphql-helpers */ "../../graphiql-toolkit/esm/graphql-helpers/index.js"); -Object.keys(_graphqlHelpers).forEach(function (key) { - if (key === "default" || key === "__esModule") return; - if (key in exports && exports[key] === _graphqlHelpers[key]) return; - Object.defineProperty(exports, key, { - enumerable: true, - get: function () { - return _graphqlHelpers[key]; - } - }); -}); -var _storage = __webpack_require__(/*! ./storage */ "../../graphiql-toolkit/esm/storage/index.js"); -Object.keys(_storage).forEach(function (key) { - if (key === "default" || key === "__esModule") return; - if (key in exports && exports[key] === _storage[key]) return; - Object.defineProperty(exports, key, { - enumerable: true, - get: function () { - return _storage[key]; - } - }); -}); +/** + * MarkdownIt.renderInline(src [, env]) -> String + * - src (String): source string + * - env (Object): environment sandbox + * + * Similar to [[MarkdownIt.render]] but for single paragraph content. Result + * will NOT be wrapped into `

` tags. + **/ +MarkdownIt.prototype.renderInline = function (src, env) { + env = env || {}; + return this.renderer.render(this.parseInline(src, env), this.options, env); +}; +module.exports = MarkdownIt; /***/ }), -/***/ "../../graphiql-toolkit/esm/storage/base.js": -/*!**************************************************!*\ - !*** ../../graphiql-toolkit/esm/storage/base.js ***! - \**************************************************/ +/***/ "../node_modules/mdurl/build/index.cjs.js": +/*!************************************************!*\ + !*** ../node_modules/mdurl/build/index.cjs.js ***! + \************************************************/ /***/ (function(__unused_webpack_module, exports) { -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.StorageAPI = void 0; -function isQuotaError(storage, e) { - return e instanceof DOMException && (e.code === 22 || e.code === 1014 || e.name === 'QuotaExceededError' || e.name === 'NS_ERROR_DOM_QUOTA_REACHED') && storage.length !== 0; -} -class StorageAPI { - constructor(storage) { - if (storage) { - this.storage = storage; - } else if (storage === null) { - this.storage = null; - } else if (typeof window === 'undefined') { - this.storage = null; - } else { - this.storage = { - getItem: window.localStorage.getItem.bind(window.localStorage), - setItem: window.localStorage.setItem.bind(window.localStorage), - removeItem: window.localStorage.removeItem.bind(window.localStorage), - get length() { - let keys = 0; - for (const key in window.localStorage) { - if (key.indexOf(`${STORAGE_NAMESPACE}:`) === 0) { - keys += 1; - } - } - return keys; - }, - clear() { - for (const key in window.localStorage) { - if (key.indexOf(`${STORAGE_NAMESPACE}:`) === 0) { - window.localStorage.removeItem(key); - } - } - } - }; - } - } - get(name) { - if (!this.storage) { - return null; - } - const key = `${STORAGE_NAMESPACE}:${name}`; - const value = this.storage.getItem(key); - if (value === 'null' || value === 'undefined') { - this.storage.removeItem(key); - return null; - } - return value || null; +/* eslint-disable no-bitwise */ +const decodeCache = {}; +function getDecodeCache(exclude) { + let cache = decodeCache[exclude]; + if (cache) { + return cache; } - set(name, value) { - let quotaError = false; - let error = null; - if (this.storage) { - const key = `${STORAGE_NAMESPACE}:${name}`; - if (value) { - try { - this.storage.setItem(key, value); - } catch (e) { - error = e instanceof Error ? e : new Error(`${e}`); - quotaError = isQuotaError(this.storage, e); - } - } else { - this.storage.removeItem(key); - } - } - return { - isQuotaError: quotaError, - error - }; + cache = decodeCache[exclude] = []; + for (let i = 0; i < 128; i++) { + const ch = String.fromCharCode(i); + cache.push(ch); } - clear() { - if (this.storage) { - this.storage.clear(); - } + for (let i = 0; i < exclude.length; i++) { + const ch = exclude.charCodeAt(i); + cache[ch] = '%' + ('0' + ch.toString(16).toUpperCase()).slice(-2); } + return cache; } -exports.StorageAPI = StorageAPI; -const STORAGE_NAMESPACE = 'graphiql'; - -/***/ }), -/***/ "../../graphiql-toolkit/esm/storage/custom.js": -/*!****************************************************!*\ - !*** ../../graphiql-toolkit/esm/storage/custom.js ***! - \****************************************************/ -/***/ (function(__unused_webpack_module, exports) { - - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.createLocalStorage = createLocalStorage; -function createLocalStorage(_ref) { - let { - namespace - } = _ref; - const storageKeyPrefix = `${namespace}:`; - const getStorageKey = key => `${storageKeyPrefix}${key}`; - const storage = { - setItem: (key, value) => localStorage.setItem(getStorageKey(key), value), - getItem: key => localStorage.getItem(getStorageKey(key)), - removeItem: key => localStorage.removeItem(getStorageKey(key)), - get length() { - let keys = 0; - for (const key in window.localStorage) { - if (key.indexOf(storageKeyPrefix) === 0) { - keys += 1; +// Decode percent-encoded string. +// +function decode(string, exclude) { + if (typeof exclude !== 'string') { + exclude = decode.defaultChars; + } + const cache = getDecodeCache(exclude); + return string.replace(/(%[a-f0-9]{2})+/gi, function (seq) { + let result = ''; + for (let i = 0, l = seq.length; i < l; i += 3) { + const b1 = parseInt(seq.slice(i + 1, i + 3), 16); + if (b1 < 0x80) { + result += cache[b1]; + continue; + } + if ((b1 & 0xE0) === 0xC0 && i + 3 < l) { + // 110xxxxx 10xxxxxx + const b2 = parseInt(seq.slice(i + 4, i + 6), 16); + if ((b2 & 0xC0) === 0x80) { + const chr = b1 << 6 & 0x7C0 | b2 & 0x3F; + if (chr < 0x80) { + result += '\ufffd\ufffd'; + } else { + result += String.fromCharCode(chr); + } + i += 3; + continue; } } - return keys; - }, - clear() { - for (const key in window.localStorage) { - if (key.indexOf(storageKeyPrefix) === 0) { - window.localStorage.removeItem(key); + if ((b1 & 0xF0) === 0xE0 && i + 6 < l) { + // 1110xxxx 10xxxxxx 10xxxxxx + const b2 = parseInt(seq.slice(i + 4, i + 6), 16); + const b3 = parseInt(seq.slice(i + 7, i + 9), 16); + if ((b2 & 0xC0) === 0x80 && (b3 & 0xC0) === 0x80) { + const chr = b1 << 12 & 0xF000 | b2 << 6 & 0xFC0 | b3 & 0x3F; + if (chr < 0x800 || chr >= 0xD800 && chr <= 0xDFFF) { + result += '\ufffd\ufffd\ufffd'; + } else { + result += String.fromCharCode(chr); + } + i += 6; + continue; } } + if ((b1 & 0xF8) === 0xF0 && i + 9 < l) { + // 111110xx 10xxxxxx 10xxxxxx 10xxxxxx + const b2 = parseInt(seq.slice(i + 4, i + 6), 16); + const b3 = parseInt(seq.slice(i + 7, i + 9), 16); + const b4 = parseInt(seq.slice(i + 10, i + 12), 16); + if ((b2 & 0xC0) === 0x80 && (b3 & 0xC0) === 0x80 && (b4 & 0xC0) === 0x80) { + let chr = b1 << 18 & 0x1C0000 | b2 << 12 & 0x3F000 | b3 << 6 & 0xFC0 | b4 & 0x3F; + if (chr < 0x10000 || chr > 0x10FFFF) { + result += '\ufffd\ufffd\ufffd\ufffd'; + } else { + chr -= 0x10000; + result += String.fromCharCode(0xD800 + (chr >> 10), 0xDC00 + (chr & 0x3FF)); + } + i += 9; + continue; + } + } + result += '\ufffd'; } - }; - return storage; + return result; + }); } +decode.defaultChars = ';/?:@&=+$,#'; +decode.componentChars = ''; +const encodeCache = {}; -/***/ }), - -/***/ "../../graphiql-toolkit/esm/storage/history.js": -/*!*****************************************************!*\ - !*** ../../graphiql-toolkit/esm/storage/history.js ***! - \*****************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { - - - -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.HistoryStore = void 0; -var _graphql = __webpack_require__(/*! graphql */ "../../../node_modules/graphql/index.mjs"); -var _query = __webpack_require__(/*! ./query */ "../../graphiql-toolkit/esm/storage/query.js"); -const MAX_QUERY_SIZE = 100000; -class HistoryStore { - constructor(storage, maxHistoryLength) { - var _this = this; - this.storage = storage; - this.maxHistoryLength = maxHistoryLength; - this.updateHistory = _ref => { - let { - query, - variables, - headers, - operationName - } = _ref; - if (!this.shouldSaveQuery(query, variables, headers, this.history.fetchRecent())) { - return; - } - this.history.push({ - query, - variables, - headers, - operationName - }); - const historyQueries = this.history.items; - const favoriteQueries = this.favorite.items; - this.queries = historyQueries.concat(favoriteQueries); - }; - this.deleteHistory = function (_ref2) { - let { - query, - variables, - headers, - operationName, - favorite - } = _ref2; - let clearFavorites = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; - function deleteFromStore(store) { - const found = store.items.find(x => x.query === query && x.variables === variables && x.headers === headers && x.operationName === operationName); - if (found) { - store.delete(found); - } - } - if (favorite || clearFavorites) { - deleteFromStore(_this.favorite); - } - if (!favorite || clearFavorites) { - deleteFromStore(_this.history); - } - _this.queries = [..._this.history.items, ..._this.favorite.items]; - }; - this.history = new _query.QueryStore('queries', this.storage, this.maxHistoryLength); - this.favorite = new _query.QueryStore('favorites', this.storage, null); - this.queries = [...this.history.fetchAll(), ...this.favorite.fetchAll()]; +// Create a lookup array where anything but characters in `chars` string +// and alphanumeric chars is percent-encoded. +// +function getEncodeCache(exclude) { + let cache = encodeCache[exclude]; + if (cache) { + return cache; } - shouldSaveQuery(query, variables, headers, lastQuerySaved) { - if (!query) { - return false; - } - try { - (0, _graphql.parse)(query); - } catch (_a) { - return false; + cache = encodeCache[exclude] = []; + for (let i = 0; i < 128; i++) { + const ch = String.fromCharCode(i); + if (/^[0-9a-z]$/i.test(ch)) { + // always allow unencoded alphanumeric characters + cache.push(ch); + } else { + cache.push('%' + ('0' + i.toString(16).toUpperCase()).slice(-2)); } - if (query.length > MAX_QUERY_SIZE) { - return false; + } + for (let i = 0; i < exclude.length; i++) { + cache[exclude.charCodeAt(i)] = exclude[i]; + } + return cache; +} + +// Encode unsafe characters with percent-encoding, skipping already +// encoded sequences. +// +// - string - string to encode +// - exclude - list of characters to ignore (in addition to a-zA-Z0-9) +// - keepEscaped - don't encode '%' in a correct escape sequence (default: true) +// +function encode(string, exclude, keepEscaped) { + if (typeof exclude !== 'string') { + // encode(string, keepEscaped) + keepEscaped = exclude; + exclude = encode.defaultChars; + } + if (typeof keepEscaped === 'undefined') { + keepEscaped = true; + } + const cache = getEncodeCache(exclude); + let result = ''; + for (let i = 0, l = string.length; i < l; i++) { + const code = string.charCodeAt(i); + if (keepEscaped && code === 0x25 /* % */ && i + 2 < l) { + if (/^[0-9a-f]{2}$/i.test(string.slice(i + 1, i + 3))) { + result += string.slice(i, i + 3); + i += 2; + continue; + } } - if (!lastQuerySaved) { - return true; + if (code < 128) { + result += cache[code]; + continue; } - if (JSON.stringify(query) === JSON.stringify(lastQuerySaved.query)) { - if (JSON.stringify(variables) === JSON.stringify(lastQuerySaved.variables)) { - if (JSON.stringify(headers) === JSON.stringify(lastQuerySaved.headers)) { - return false; - } - if (headers && !lastQuerySaved.headers) { - return false; + if (code >= 0xD800 && code <= 0xDFFF) { + if (code >= 0xD800 && code <= 0xDBFF && i + 1 < l) { + const nextCode = string.charCodeAt(i + 1); + if (nextCode >= 0xDC00 && nextCode <= 0xDFFF) { + result += encodeURIComponent(string[i] + string[i + 1]); + i++; + continue; } } - if (variables && !lastQuerySaved.variables) { - return false; - } - } - return true; - } - toggleFavorite(_ref3) { - let { - query, - variables, - headers, - operationName, - label, - favorite - } = _ref3; - const item = { - query, - variables, - headers, - operationName, - label - }; - if (favorite) { - item.favorite = false; - this.favorite.delete(item); - this.history.push(item); - } else { - item.favorite = true; - this.favorite.push(item); - this.history.delete(item); + result += '%EF%BF%BD'; + continue; } - this.queries = [...this.history.items, ...this.favorite.items]; + result += encodeURIComponent(string[i]); } - editLabel(_ref4, index) { - let { - query, - variables, - headers, - operationName, - label, - favorite - } = _ref4; - const item = { - query, - variables, - headers, - operationName, - label - }; - if (favorite) { - this.favorite.edit(Object.assign(Object.assign({}, item), { - favorite - }), index); - } else { - this.history.edit(item, index); - } - this.queries = [...this.history.items, ...this.favorite.items]; + return result; +} +encode.defaultChars = ";/?:@&=+$,-_.!~*'()#"; +encode.componentChars = "-_.!~*'()"; +function format(url) { + let result = ''; + result += url.protocol || ''; + result += url.slashes ? '//' : ''; + result += url.auth ? url.auth + '@' : ''; + if (url.hostname && url.hostname.indexOf(':') !== -1) { + // ipv6 address + result += '[' + url.hostname + ']'; + } else { + result += url.hostname || ''; } + result += url.port ? ':' + url.port : ''; + result += url.pathname || ''; + result += url.search || ''; + result += url.hash || ''; + return result; } -exports.HistoryStore = HistoryStore; -/***/ }), +// Copyright Joyent, Inc. and other Node contributors. +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to permit +// persons to whom the Software is furnished to do so, subject to the +// following conditions: +// +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +// USE OR OTHER DEALINGS IN THE SOFTWARE. -/***/ "../../graphiql-toolkit/esm/storage/index.js": -/*!***************************************************!*\ - !*** ../../graphiql-toolkit/esm/storage/index.js ***! - \***************************************************/ -/***/ (function(__unused_webpack_module, exports, __webpack_require__) { +// +// Changes from joyent/node: +// +// 1. No leading slash in paths, +// e.g. in `url.parse('http://foo?bar')` pathname is ``, not `/` +// +// 2. Backslashes are not replaced with slashes, +// so `http:\\example.org\` is treated like a relative path +// +// 3. Trailing colon is treated like a part of the path, +// i.e. in `http://example.org:foo` pathname is `:foo` +// +// 4. Nothing is URL-encoded in the resulting object, +// (in joyent/node some chars in auth and paths are encoded) +// +// 5. `url.parse()` does not have `parseQueryString` argument +// +// 6. Removed extraneous result properties: `host`, `path`, `query`, etc., +// which can be constructed using other parts of the url. +// + +function Url() { + this.protocol = null; + this.slashes = null; + this.auth = null; + this.port = null; + this.hostname = null; + this.hash = null; + this.search = null; + this.pathname = null; +} +// Reference: RFC 3986, RFC 1808, RFC 2396 +// define these here so at least they only have to be +// compiled once on the first module load. +const protocolPattern = /^([a-z0-9.+-]+:)/i; +const portPattern = /:[0-9]*$/; + +// Special case for a simple path URL +/* eslint-disable-next-line no-useless-escape */ +const simplePathPattern = /^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/; + +// RFC 2396: characters reserved for delimiting URLs. +// We actually just auto-escape these. +const delims = ['<', '>', '"', '`', ' ', '\r', '\n', '\t']; + +// RFC 2396: characters not allowed for various reasons. +const unwise = ['{', '}', '|', '\\', '^', '`'].concat(delims); + +// Allowed by RFCs, but cause of XSS attacks. Always escape these. +const autoEscape = ['\''].concat(unwise); +// Characters that are never ever allowed in a hostname. +// Note that any invalid chars are also handled, but these +// are the ones that are *expected* to be seen, so we fast-path +// them. +const nonHostChars = ['%', '/', '?', ';', '#'].concat(autoEscape); +const hostEndingChars = ['/', '?', '#']; +const hostnameMaxLen = 255; +const hostnamePartPattern = /^[+a-z0-9A-Z_-]{0,63}$/; +const hostnamePartStart = /^([+a-z0-9A-Z_-]{0,63})(.*)$/; +// protocols that can allow "unsafe" and "unwise" chars. +// protocols that never have a hostname. +const hostlessProtocol = { + javascript: true, + 'javascript:': true +}; +// protocols that always contain a // bit. +const slashedProtocol = { + http: true, + https: true, + ftp: true, + gopher: true, + file: true, + 'http:': true, + 'https:': true, + 'ftp:': true, + 'gopher:': true, + 'file:': true +}; +function urlParse(url, slashesDenoteHost) { + if (url && url instanceof Url) return url; + const u = new Url(); + u.parse(url, slashesDenoteHost); + return u; +} +Url.prototype.parse = function (url, slashesDenoteHost) { + let lowerProto, hec, slashes; + let rest = url; -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -var _base = __webpack_require__(/*! ./base */ "../../graphiql-toolkit/esm/storage/base.js"); -Object.keys(_base).forEach(function (key) { - if (key === "default" || key === "__esModule") return; - if (key in exports && exports[key] === _base[key]) return; - Object.defineProperty(exports, key, { - enumerable: true, - get: function () { - return _base[key]; + // trim before proceeding. + // This is to support parse stuff like " http://foo.com \n" + rest = rest.trim(); + if (!slashesDenoteHost && url.split('#').length === 1) { + // Try fast path regexp + const simplePath = simplePathPattern.exec(rest); + if (simplePath) { + this.pathname = simplePath[1]; + if (simplePath[2]) { + this.search = simplePath[2]; + } + return this; } - }); -}); -var _history = __webpack_require__(/*! ./history */ "../../graphiql-toolkit/esm/storage/history.js"); -Object.keys(_history).forEach(function (key) { - if (key === "default" || key === "__esModule") return; - if (key in exports && exports[key] === _history[key]) return; - Object.defineProperty(exports, key, { - enumerable: true, - get: function () { - return _history[key]; + } + let proto = protocolPattern.exec(rest); + if (proto) { + proto = proto[0]; + lowerProto = proto.toLowerCase(); + this.protocol = proto; + rest = rest.substr(proto.length); + } + + // figure out if it's got a host + // user@server is *always* interpreted as a hostname, and url + // resolution will treat //foo/bar as host=foo,path=bar because that's + // how the browser resolves relative URLs. + /* eslint-disable-next-line no-useless-escape */ + if (slashesDenoteHost || proto || rest.match(/^\/\/[^@\/]+@[^@\/]+/)) { + slashes = rest.substr(0, 2) === '//'; + if (slashes && !(proto && hostlessProtocol[proto])) { + rest = rest.substr(2); + this.slashes = true; } - }); -}); -var _query = __webpack_require__(/*! ./query */ "../../graphiql-toolkit/esm/storage/query.js"); -Object.keys(_query).forEach(function (key) { - if (key === "default" || key === "__esModule") return; - if (key in exports && exports[key] === _query[key]) return; - Object.defineProperty(exports, key, { - enumerable: true, - get: function () { - return _query[key]; + } + if (!hostlessProtocol[proto] && (slashes || proto && !slashedProtocol[proto])) { + // there's a hostname. + // the first instance of /, ?, ;, or # ends the host. + // + // If there is an @ in the hostname, then non-host chars *are* allowed + // to the left of the last @ sign, unless some host-ending character + // comes *before* the @-sign. + // URLs are obnoxious. + // + // ex: + // http://a@b@c/ => user:a@b host:c + // http://a@b?@c => user:a host:c path:/?@c + + // v0.12 TODO(isaacs): This is not quite how Chrome does things. + // Review our test case against browsers more comprehensively. + + // find the first instance of any hostEndingChars + let hostEnd = -1; + for (let i = 0; i < hostEndingChars.length; i++) { + hec = rest.indexOf(hostEndingChars[i]); + if (hec !== -1 && (hostEnd === -1 || hec < hostEnd)) { + hostEnd = hec; + } } - }); -}); -var _custom = __webpack_require__(/*! ./custom */ "../../graphiql-toolkit/esm/storage/custom.js"); -Object.keys(_custom).forEach(function (key) { - if (key === "default" || key === "__esModule") return; - if (key in exports && exports[key] === _custom[key]) return; - Object.defineProperty(exports, key, { - enumerable: true, - get: function () { - return _custom[key]; + + // at this point, either we have an explicit point where the + // auth portion cannot go past, or the last @ char is the decider. + let auth, atSign; + if (hostEnd === -1) { + // atSign can be anywhere. + atSign = rest.lastIndexOf('@'); + } else { + // atSign must be in auth portion. + // http://a@b/c@d => host:b auth:a path:/c@d + atSign = rest.lastIndexOf('@', hostEnd); } - }); -}); -/***/ }), + // Now we have a portion which is definitely the auth. + // Pull that off. + if (atSign !== -1) { + auth = rest.slice(0, atSign); + rest = rest.slice(atSign + 1); + this.auth = auth; + } -/***/ "../../graphiql-toolkit/esm/storage/query.js": -/*!***************************************************!*\ - !*** ../../graphiql-toolkit/esm/storage/query.js ***! - \***************************************************/ -/***/ (function(__unused_webpack_module, exports) { + // the host is the remaining to the left of the first non-host char + hostEnd = -1; + for (let i = 0; i < nonHostChars.length; i++) { + hec = rest.indexOf(nonHostChars[i]); + if (hec !== -1 && (hostEnd === -1 || hec < hostEnd)) { + hostEnd = hec; + } + } + // if we still have not hit it, then the entire thing is a host. + if (hostEnd === -1) { + hostEnd = rest.length; + } + if (rest[hostEnd - 1] === ':') { + hostEnd--; + } + const host = rest.slice(0, hostEnd); + rest = rest.slice(hostEnd); + // pull out port. + this.parseHost(host); + // we've indicated that there is a hostname, + // so even if it's empty, it has to be present. + this.hostname = this.hostname || ''; -Object.defineProperty(exports, "__esModule", ({ - value: true -})); -exports.QueryStore = void 0; -class QueryStore { - constructor(key, storage) { - let maxSize = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; - this.key = key; - this.storage = storage; - this.maxSize = maxSize; - this.items = this.fetchAll(); - } - get length() { - return this.items.length; - } - contains(item) { - return this.items.some(x => x.query === item.query && x.variables === item.variables && x.headers === item.headers && x.operationName === item.operationName); - } - edit(item, index) { - if (typeof index === 'number' && this.items[index]) { - const found = this.items[index]; - if (found.query === item.query && found.variables === item.variables && found.headers === item.headers && found.operationName === item.operationName) { - this.items.splice(index, 1, item); - this.save(); - return; + // if hostname begins with [ and ends with ] + // assume that it's an IPv6 address. + const ipv6Hostname = this.hostname[0] === '[' && this.hostname[this.hostname.length - 1] === ']'; + + // validate a little. + if (!ipv6Hostname) { + const hostparts = this.hostname.split(/\./); + for (let i = 0, l = hostparts.length; i < l; i++) { + const part = hostparts[i]; + if (!part) { + continue; + } + if (!part.match(hostnamePartPattern)) { + let newpart = ''; + for (let j = 0, k = part.length; j < k; j++) { + if (part.charCodeAt(j) > 127) { + // we replace non-ASCII char with a temporary placeholder + // we need this to make sure size of hostname is not + // broken by replacing non-ASCII by nothing + newpart += 'x'; + } else { + newpart += part[j]; + } + } + // we test again with ASCII char only + if (!newpart.match(hostnamePartPattern)) { + const validParts = hostparts.slice(0, i); + const notHost = hostparts.slice(i + 1); + const bit = part.match(hostnamePartStart); + if (bit) { + validParts.push(bit[1]); + notHost.unshift(bit[2]); + } + if (notHost.length) { + rest = notHost.join('.') + rest; + } + this.hostname = validParts.join('.'); + break; + } + } } } - const itemIndex = this.items.findIndex(x => x.query === item.query && x.variables === item.variables && x.headers === item.headers && x.operationName === item.operationName); - if (itemIndex !== -1) { - this.items.splice(itemIndex, 1, item); - this.save(); + if (this.hostname.length > hostnameMaxLen) { + this.hostname = ''; } - } - delete(item) { - const itemIndex = this.items.findIndex(x => x.query === item.query && x.variables === item.variables && x.headers === item.headers && x.operationName === item.operationName); - if (itemIndex !== -1) { - this.items.splice(itemIndex, 1); - this.save(); + + // strip [ and ] from the hostname + // the host field still retains them, though + if (ipv6Hostname) { + this.hostname = this.hostname.substr(1, this.hostname.length - 2); } } - fetchRecent() { - return this.items.at(-1); + + // chop off from the tail first. + const hash = rest.indexOf('#'); + if (hash !== -1) { + // got a fragment string. + this.hash = rest.substr(hash); + rest = rest.slice(0, hash); } - fetchAll() { - const raw = this.storage.get(this.key); - if (raw) { - return JSON.parse(raw)[this.key]; - } - return []; + const qm = rest.indexOf('?'); + if (qm !== -1) { + this.search = rest.substr(qm); + rest = rest.slice(0, qm); } - push(item) { - const items = [...this.items, item]; - if (this.maxSize && items.length > this.maxSize) { - items.shift(); - } - for (let attempts = 0; attempts < 5; attempts++) { - const response = this.storage.set(this.key, JSON.stringify({ - [this.key]: items - })); - if (!(response === null || response === void 0 ? void 0 : response.error)) { - this.items = items; - } else if (response.isQuotaError && this.maxSize) { - items.shift(); - } else { - return; - } + if (rest) { + this.pathname = rest; + } + if (slashedProtocol[lowerProto] && this.hostname && !this.pathname) { + this.pathname = ''; + } + return this; +}; +Url.prototype.parseHost = function (host) { + let port = portPattern.exec(host); + if (port) { + port = port[0]; + if (port !== ':') { + this.port = port.substr(1); } + host = host.substr(0, host.length - port.length); } - save() { - this.storage.set(this.key, JSON.stringify({ - [this.key]: this.items - })); + if (host) { + this.hostname = host; } -} -exports.QueryStore = QueryStore; +}; +exports.decode = decode; +exports.encode = encode; +exports.format = format; +exports.parse = urlParse; + +/***/ }), + +/***/ "../node_modules/uc.micro/build/index.cjs.js": +/*!***************************************************!*\ + !*** ../node_modules/uc.micro/build/index.cjs.js ***! + \***************************************************/ +/***/ (function(__unused_webpack_module, exports) { + + + +var regex$5 = /[\0-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/; +var regex$4 = /[\0-\x1F\x7F-\x9F]/; +var regex$3 = /[\xAD\u0600-\u0605\u061C\u06DD\u070F\u0890\u0891\u08E2\u180E\u200B-\u200F\u202A-\u202E\u2060-\u2064\u2066-\u206F\uFEFF\uFFF9-\uFFFB]|\uD804[\uDCBD\uDCCD]|\uD80D[\uDC30-\uDC3F]|\uD82F[\uDCA0-\uDCA3]|\uD834[\uDD73-\uDD7A]|\uDB40[\uDC01\uDC20-\uDC7F]/; +var regex$2 = /[!-#%-\*,-\/:;\?@\[-\]_\{\}\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061D-\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1B7D\u1B7E\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u2E52-\u2E5D\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD803[\uDEAD\uDF55-\uDF59\uDF86-\uDF89]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDC4B-\uDC4F\uDC5A\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDEB9\uDF3C-\uDF3E]|\uD806[\uDC3B\uDD44-\uDD46\uDDE2\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2\uDF00-\uDF09]|\uD807[\uDC41-\uDC45\uDC70\uDC71\uDEF7\uDEF8\uDF43-\uDF4F\uDFFF]|\uD809[\uDC70-\uDC74]|\uD80B[\uDFF1\uDFF2]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD81B[\uDE97-\uDE9A\uDFE2]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]|\uD83A[\uDD5E\uDD5F]/; +var regex$1 = /[\$\+<->\^`\|~\xA2-\xA6\xA8\xA9\xAC\xAE-\xB1\xB4\xB8\xD7\xF7\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u02FF\u0375\u0384\u0385\u03F6\u0482\u058D-\u058F\u0606-\u0608\u060B\u060E\u060F\u06DE\u06E9\u06FD\u06FE\u07F6\u07FE\u07FF\u0888\u09F2\u09F3\u09FA\u09FB\u0AF1\u0B70\u0BF3-\u0BFA\u0C7F\u0D4F\u0D79\u0E3F\u0F01-\u0F03\u0F13\u0F15-\u0F17\u0F1A-\u0F1F\u0F34\u0F36\u0F38\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE\u0FCF\u0FD5-\u0FD8\u109E\u109F\u1390-\u1399\u166D\u17DB\u1940\u19DE-\u19FF\u1B61-\u1B6A\u1B74-\u1B7C\u1FBD\u1FBF-\u1FC1\u1FCD-\u1FCF\u1FDD-\u1FDF\u1FED-\u1FEF\u1FFD\u1FFE\u2044\u2052\u207A-\u207C\u208A-\u208C\u20A0-\u20C0\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u214F\u218A\u218B\u2190-\u2307\u230C-\u2328\u232B-\u2426\u2440-\u244A\u249C-\u24E9\u2500-\u2767\u2794-\u27C4\u27C7-\u27E5\u27F0-\u2982\u2999-\u29D7\u29DC-\u29FB\u29FE-\u2B73\u2B76-\u2B95\u2B97-\u2BFF\u2CE5-\u2CEA\u2E50\u2E51\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFF\u3004\u3012\u3013\u3020\u3036\u3037\u303E\u303F\u309B\u309C\u3190\u3191\u3196-\u319F\u31C0-\u31E3\u31EF\u3200-\u321E\u322A-\u3247\u3250\u3260-\u327F\u328A-\u32B0\u32C0-\u33FF\u4DC0-\u4DFF\uA490-\uA4C6\uA700-\uA716\uA720\uA721\uA789\uA78A\uA828-\uA82B\uA836-\uA839\uAA77-\uAA79\uAB5B\uAB6A\uAB6B\uFB29\uFBB2-\uFBC2\uFD40-\uFD4F\uFDCF\uFDFC-\uFDFF\uFE62\uFE64-\uFE66\uFE69\uFF04\uFF0B\uFF1C-\uFF1E\uFF3E\uFF40\uFF5C\uFF5E\uFFE0-\uFFE6\uFFE8-\uFFEE\uFFFC\uFFFD]|\uD800[\uDD37-\uDD3F\uDD79-\uDD89\uDD8C-\uDD8E\uDD90-\uDD9C\uDDA0\uDDD0-\uDDFC]|\uD802[\uDC77\uDC78\uDEC8]|\uD805\uDF3F|\uD807[\uDFD5-\uDFF1]|\uD81A[\uDF3C-\uDF3F\uDF45]|\uD82F\uDC9C|\uD833[\uDF50-\uDFC3]|\uD834[\uDC00-\uDCF5\uDD00-\uDD26\uDD29-\uDD64\uDD6A-\uDD6C\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDDEA\uDE00-\uDE41\uDE45\uDF00-\uDF56]|\uD835[\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85\uDE86]|\uD838[\uDD4F\uDEFF]|\uD83B[\uDCAC\uDCB0\uDD2E\uDEF0\uDEF1]|\uD83C[\uDC00-\uDC2B\uDC30-\uDC93\uDCA0-\uDCAE\uDCB1-\uDCBF\uDCC1-\uDCCF\uDCD1-\uDCF5\uDD0D-\uDDAD\uDDE6-\uDE02\uDE10-\uDE3B\uDE40-\uDE48\uDE50\uDE51\uDE60-\uDE65\uDF00-\uDFFF]|\uD83D[\uDC00-\uDED7\uDEDC-\uDEEC\uDEF0-\uDEFC\uDF00-\uDF76\uDF7B-\uDFD9\uDFE0-\uDFEB\uDFF0]|\uD83E[\uDC00-\uDC0B\uDC10-\uDC47\uDC50-\uDC59\uDC60-\uDC87\uDC90-\uDCAD\uDCB0\uDCB1\uDD00-\uDE53\uDE60-\uDE6D\uDE70-\uDE7C\uDE80-\uDE88\uDE90-\uDEBD\uDEBF-\uDEC5\uDECE-\uDEDB\uDEE0-\uDEE8\uDEF0-\uDEF8\uDF00-\uDF92\uDF94-\uDFCA]/; +var regex = /[ \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/; +exports.Any = regex$5; +exports.Cc = regex$4; +exports.Cf = regex$3; +exports.P = regex$2; +exports.S = regex$1; +exports.Z = regex; /***/ }), @@ -72243,11 +72901,23 @@ var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react")); var _react2 = __webpack_require__(/*! @graphiql/react */ "../../graphiql-react/dist/index.js"); function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } -function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } +function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } /** + * Copyright (c) 2020 GraphQL Contributors. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ const majorVersion = parseInt(_react.default.version.slice(0, 2), 10); if (majorVersion < 16) { throw new Error(['GraphiQL 0.18.0 and after is not compatible with React 15 or below.', 'If you are using a CDN source (jsdelivr, unpkg, etc), follow this example:', 'https://github.com/graphql/graphiql/blob/master/examples/graphiql-cdn/index.html#L49'].join('\n')); } + +/** + * API docs for this live here: + * + * https://graphiql-test.netlify.app/typedoc/modules/graphiql.html#graphiqlprops + */ + /** * The top-level React component for GraphiQL, intended to encompass the entire * browser viewport. @@ -72256,6 +72926,7 @@ if (majorVersion < 16) { */ function GraphiQL(_ref) { + var _props$disableTabs; let { dangerouslyAssumeSchemaIsValid, defaultQuery, @@ -72317,7 +72988,8 @@ function GraphiQL(_ref) { validationRules: validationRules, variables: variables }, /*#__PURE__*/_react.default.createElement(GraphiQLInterface, _extends({ - showPersistHeadersSettings: shouldPersistHeaders !== false + showPersistHeadersSettings: shouldPersistHeaders !== false, + disableTabs: (_props$disableTabs = props.disableTabs) !== null && _props$disableTabs !== void 0 ? _props$disableTabs : false }, props))); } @@ -72326,7 +72998,7 @@ GraphiQL.Logo = GraphiQLLogo; GraphiQL.Toolbar = GraphiQLToolbar; GraphiQL.Footer = GraphiQLFooter; function GraphiQLInterface(props) { - var _props$isHeadersEdito, _pluginContext$visibl, _props$toolbar; + var _props$isHeadersEdito, _pluginContext$visibl, _props$toolbar, _props$toolbar2; const isHeadersEditorEnabled = (_props$isHeadersEdito = props.isHeadersEditorEnabled) !== null && _props$isHeadersEdito !== void 0 ? _props$isHeadersEdito : true; const editorContext = (0, _react2.useEditorContext)({ nonNull: true @@ -72408,7 +73080,7 @@ function GraphiQLInterface(props) { }, /*#__PURE__*/_react.default.createElement(_react2.CopyIcon, { className: "graphiql-toolbar-icon", "aria-hidden": "true" - })), (_props$toolbar = props.toolbar) === null || _props$toolbar === void 0 ? void 0 : _props$toolbar.additionalContent); + })), ((_props$toolbar = props.toolbar) === null || _props$toolbar === void 0 ? void 0 : _props$toolbar.additionalContent) && props.toolbar.additionalContent, ((_props$toolbar2 = props.toolbar) === null || _props$toolbar2 === void 0 ? void 0 : _props$toolbar2.additionalComponent) && /*#__PURE__*/_react.default.createElement(props.toolbar.additionalComponent, null)); const footer = children.find(child => isChildComponentType(child, GraphiQL.Footer)); const onClickReference = (0, _react.useCallback)(() => { if (pluginResize.hiddenElement === 'first') { @@ -72551,7 +73223,7 @@ function GraphiQLInterface(props) { className: "graphiql-sessions" }, /*#__PURE__*/_react.default.createElement("div", { className: "graphiql-session-header" - }, /*#__PURE__*/_react.default.createElement(_react2.Tabs, { + }, props.disableTabs ? null : /*#__PURE__*/_react.default.createElement(_react2.Tabs, { values: editorContext.tabs, onReorder: handleReorder, "aria-label": "Select active operation" @@ -75908,6 +76580,26 @@ function renderType(into, t) { text(into, t.name); } } +function renderDefinitionDescription(t, useMarkdown, description) { + const into = []; + const type = 'type' in t ? t.type : t; + if ('type' in t && t.description) { + text(into, t.description); + text(into, '\n\n'); + } + text(into, renderTypeToString(type, useMarkdown)); + if (description) { + text(into, '\n'); + text(into, description); + } else if (!(0, _graphql.isScalarType)(type) && 'description' in type && type.description) { + text(into, '\n'); + text(into, type.description); + } else if ('ofType' in type && !(0, _graphql.isScalarType)(type.ofType) && 'description' in type.ofType && type.ofType.description) { + text(into, '\n'); + text(into, type.ofType.description); + } + return into.join(''); +} function renderTypeToString(t, useMarkdown) { const into = []; if (useMarkdown) { @@ -75919,13 +76611,25 @@ function renderTypeToString(t, useMarkdown) { } return into.join(''); } -const scalarTypesMap = { - Int: 'integer', - String: 'string', - Float: 'number', - ID: 'string', - Boolean: 'boolean', - DateTime: 'string' +const defaultScalarTypesMap = { + Int: { + type: 'integer' + }, + String: { + type: 'string' + }, + Float: { + type: 'number' + }, + ID: { + type: 'string' + }, + Boolean: { + type: 'boolean' + }, + DateTime: { + type: 'string' + } }; class Marker { constructor() { @@ -75939,89 +76643,89 @@ class Marker { return true; } } -function getJSONSchemaFromGraphQLType(type, options) { - let required = false; +function getJSONSchemaFromGraphQLType(fieldOrType, options) { + var _a, _b; let definition = Object.create(null); const definitions = Object.create(null); - if ('defaultValue' in type && type.defaultValue !== undefined) { - definition.default = type.defaultValue; - } - if ((0, _graphql.isEnumType)(type)) { - definition.type = 'string'; - definition.enum = type.getValues().map(val => val.name); - } - if ((0, _graphql.isScalarType)(type) && scalarTypesMap[type.name]) { - definition.type = scalarTypesMap[type.name]; - } - if ((0, _graphql.isListType)(type)) { - definition.type = 'array'; - const { - definition: def, - definitions: defs - } = getJSONSchemaFromGraphQLType(type.ofType, options); - if (def.$ref) { - definition.items = { - $ref: def.$ref - }; + const isField = ('type' in fieldOrType); + const type = isField ? fieldOrType.type : fieldOrType; + const baseType = (0, _graphql.isNonNullType)(type) ? type.ofType : type; + const required = (0, _graphql.isNonNullType)(type); + if ((0, _graphql.isScalarType)(baseType)) { + if ((_a = options === null || options === void 0 ? void 0 : options.scalarSchemas) === null || _a === void 0 ? void 0 : _a[baseType.name]) { + definition = JSON.parse(JSON.stringify(options.scalarSchemas[baseType.name])); } else { - definition.items = def; - } - if (defs) { - for (const defName of Object.keys(defs)) { - definitions[defName] = defs[defName]; + definition.type = ['string', 'number', 'boolean', 'integer']; + } + if (!required) { + if (Array.isArray(definition.type)) { + definition.type.push('null'); + } else if (definition.type) { + definition.type = [definition.type, 'null']; + } else if (definition.enum) { + definition.enum.push(null); + } else if (definition.oneOf) { + definition.oneOf.push({ + type: 'null' + }); + } else { + definition = { + oneOf: [definition, { + type: 'null' + }] + }; } } - } - if ((0, _graphql.isNonNullType)(type)) { - required = true; + } else if ((0, _graphql.isEnumType)(baseType)) { + definition.enum = baseType.getValues().map(val => val.name); + if (!required) { + definition.enum.push(null); + } + } else if ((0, _graphql.isListType)(baseType)) { + if (required) { + definition.type = 'array'; + } else { + definition.type = ['array', 'null']; + } const { definition: def, definitions: defs - } = getJSONSchemaFromGraphQLType(type.ofType, options); - definition = def; + } = getJSONSchemaFromGraphQLType(baseType.ofType, options); + definition.items = def; if (defs) { for (const defName of Object.keys(defs)) { definitions[defName] = defs[defName]; } } - } - if ((0, _graphql.isInputObjectType)(type)) { - definition.$ref = `#/definitions/${type.name}`; - if (options === null || options === void 0 ? void 0 : options.definitionMarker.mark(type.name)) { - const fields = type.getFields(); + } else if ((0, _graphql.isInputObjectType)(baseType)) { + if (required) { + definition.$ref = `#/definitions/${baseType.name}`; + } else { + definition.oneOf = [{ + $ref: `#/definitions/${baseType.name}` + }, { + type: 'null' + }]; + } + if ((_b = options === null || options === void 0 ? void 0 : options.definitionMarker) === null || _b === void 0 ? void 0 : _b.mark(baseType.name)) { + const fields = baseType.getFields(); const fieldDef = { type: 'object', properties: {}, required: [] }; - if (type.description) { - fieldDef.description = type.description + '\n' + renderTypeToString(type); - if (options === null || options === void 0 ? void 0 : options.useMarkdownDescription) { - fieldDef.markdownDescription = type.description + '\n' + renderTypeToString(type, true); - } - } else { - fieldDef.description = renderTypeToString(type); - if (options === null || options === void 0 ? void 0 : options.useMarkdownDescription) { - fieldDef.markdownDescription = renderTypeToString(type, true); - } + fieldDef.description = renderDefinitionDescription(baseType); + if (options === null || options === void 0 ? void 0 : options.useMarkdownDescription) { + fieldDef.markdownDescription = renderDefinitionDescription(baseType, true); } for (const fieldName of Object.keys(fields)) { const field = fields[fieldName]; const { required: fieldRequired, - definition: typeDefinition, + definition: fieldDefinition, definitions: typeDefinitions - } = getJSONSchemaFromGraphQLType(field.type, options); - const { - definition: fieldDefinition } = getJSONSchemaFromGraphQLType(field, options); - fieldDef.properties[fieldName] = Object.assign(Object.assign({}, typeDefinition), fieldDefinition); - const renderedField = renderTypeToString(field.type); - fieldDef.properties[fieldName].description = field.description ? field.description + '\n' + renderedField : renderedField; - if (options === null || options === void 0 ? void 0 : options.useMarkdownDescription) { - const renderedFieldMarkdown = renderTypeToString(field.type, true); - fieldDef.properties[fieldName].markdownDescription = field.description ? field.description + '\n' + renderedFieldMarkdown : renderedFieldMarkdown; - } + fieldDef.properties[fieldName] = fieldDefinition; if (fieldRequired) { fieldDef.required.push(fieldName); } @@ -76031,19 +76735,18 @@ function getJSONSchemaFromGraphQLType(type, options) { } } } - definitions[type.name] = fieldDef; + definitions[baseType.name] = fieldDef; } } - if ('description' in type && !(0, _graphql.isScalarType)(type) && type.description && !definition.description) { - definition.description = type.description + '\n' + renderTypeToString(type); - if (options === null || options === void 0 ? void 0 : options.useMarkdownDescription) { - definition.markdownDescription = type.description + '\n' + renderTypeToString(type, true); - } - } else { - definition.description = renderTypeToString(type); - if (options === null || options === void 0 ? void 0 : options.useMarkdownDescription) { - definition.markdownDescription = renderTypeToString(type, true); - } + if ('defaultValue' in fieldOrType && fieldOrType.defaultValue !== undefined) { + definition.default = fieldOrType.defaultValue; + } + const { + description + } = definition; + definition.description = renderDefinitionDescription(fieldOrType, false, description); + if (options === null || options === void 0 ? void 0 : options.useMarkdownDescription) { + definition.markdownDescription = renderDefinitionDescription(fieldOrType, true, description); } return { required, @@ -76054,13 +76757,14 @@ function getJSONSchemaFromGraphQLType(type, options) { function getVariablesJSONSchema(variableToType, options) { var _a; const jsonSchema = { - $schema: 'https://json-schema.org/draft/2020-12/schema', + $schema: 'http://json-schema.org/draft-04/schema', type: 'object', properties: {}, required: [] }; const runtimeOptions = Object.assign(Object.assign({}, options), { - definitionMarker: new Marker() + definitionMarker: new Marker(), + scalarSchemas: Object.assign(Object.assign({}, defaultScalarTypesMap), options === null || options === void 0 ? void 0 : options.scalarSchemas) }); if (variableToType) { for (const [variableName, type] of Object.entries(variableToType)) { @@ -83505,16 +84209,6 @@ function _extends() { } module.exports = _extends, module.exports.__esModule = true, module.exports["default"] = module.exports; -/***/ }), - -/***/ "../../../node_modules/entities/lib/maps/entities.json": -/*!*************************************************************!*\ - !*** ../../../node_modules/entities/lib/maps/entities.json ***! - \*************************************************************/ -/***/ (function(module) { - -module.exports = JSON.parse('{"Aacute":"Á","aacute":"á","Abreve":"Ă","abreve":"ă","ac":"∾","acd":"∿","acE":"∾̳","Acirc":"Â","acirc":"â","acute":"´","Acy":"А","acy":"а","AElig":"Æ","aelig":"æ","af":"⁡","Afr":"𝔄","afr":"𝔞","Agrave":"À","agrave":"à","alefsym":"ℵ","aleph":"ℵ","Alpha":"Α","alpha":"α","Amacr":"Ā","amacr":"ā","amalg":"⨿","amp":"&","AMP":"&","andand":"⩕","And":"⩓","and":"∧","andd":"⩜","andslope":"⩘","andv":"⩚","ang":"∠","ange":"⦤","angle":"∠","angmsdaa":"⦨","angmsdab":"⦩","angmsdac":"⦪","angmsdad":"⦫","angmsdae":"⦬","angmsdaf":"⦭","angmsdag":"⦮","angmsdah":"⦯","angmsd":"∡","angrt":"∟","angrtvb":"⊾","angrtvbd":"⦝","angsph":"∢","angst":"Å","angzarr":"⍼","Aogon":"Ą","aogon":"ą","Aopf":"𝔸","aopf":"𝕒","apacir":"⩯","ap":"≈","apE":"⩰","ape":"≊","apid":"≋","apos":"\'","ApplyFunction":"⁡","approx":"≈","approxeq":"≊","Aring":"Å","aring":"å","Ascr":"𝒜","ascr":"𝒶","Assign":"≔","ast":"*","asymp":"≈","asympeq":"≍","Atilde":"Ã","atilde":"ã","Auml":"Ä","auml":"ä","awconint":"∳","awint":"⨑","backcong":"≌","backepsilon":"϶","backprime":"‵","backsim":"∽","backsimeq":"⋍","Backslash":"∖","Barv":"⫧","barvee":"⊽","barwed":"⌅","Barwed":"⌆","barwedge":"⌅","bbrk":"⎵","bbrktbrk":"⎶","bcong":"≌","Bcy":"Б","bcy":"б","bdquo":"„","becaus":"∵","because":"∵","Because":"∵","bemptyv":"⦰","bepsi":"϶","bernou":"ℬ","Bernoullis":"ℬ","Beta":"Β","beta":"β","beth":"ℶ","between":"≬","Bfr":"𝔅","bfr":"𝔟","bigcap":"⋂","bigcirc":"◯","bigcup":"⋃","bigodot":"⨀","bigoplus":"⨁","bigotimes":"⨂","bigsqcup":"⨆","bigstar":"★","bigtriangledown":"▽","bigtriangleup":"△","biguplus":"⨄","bigvee":"⋁","bigwedge":"⋀","bkarow":"⤍","blacklozenge":"⧫","blacksquare":"▪","blacktriangle":"▴","blacktriangledown":"▾","blacktriangleleft":"◂","blacktriangleright":"▸","blank":"␣","blk12":"▒","blk14":"░","blk34":"▓","block":"█","bne":"=⃥","bnequiv":"≡⃥","bNot":"⫭","bnot":"⌐","Bopf":"𝔹","bopf":"𝕓","bot":"⊥","bottom":"⊥","bowtie":"⋈","boxbox":"⧉","boxdl":"┐","boxdL":"╕","boxDl":"╖","boxDL":"╗","boxdr":"┌","boxdR":"╒","boxDr":"╓","boxDR":"╔","boxh":"─","boxH":"═","boxhd":"┬","boxHd":"╤","boxhD":"╥","boxHD":"╦","boxhu":"┴","boxHu":"╧","boxhU":"╨","boxHU":"╩","boxminus":"⊟","boxplus":"⊞","boxtimes":"⊠","boxul":"┘","boxuL":"╛","boxUl":"╜","boxUL":"╝","boxur":"└","boxuR":"╘","boxUr":"╙","boxUR":"╚","boxv":"│","boxV":"║","boxvh":"┼","boxvH":"╪","boxVh":"╫","boxVH":"╬","boxvl":"┤","boxvL":"╡","boxVl":"╢","boxVL":"╣","boxvr":"├","boxvR":"╞","boxVr":"╟","boxVR":"╠","bprime":"‵","breve":"˘","Breve":"˘","brvbar":"¦","bscr":"𝒷","Bscr":"ℬ","bsemi":"⁏","bsim":"∽","bsime":"⋍","bsolb":"⧅","bsol":"\\\\","bsolhsub":"⟈","bull":"•","bullet":"•","bump":"≎","bumpE":"⪮","bumpe":"≏","Bumpeq":"≎","bumpeq":"≏","Cacute":"Ć","cacute":"ć","capand":"⩄","capbrcup":"⩉","capcap":"⩋","cap":"∩","Cap":"⋒","capcup":"⩇","capdot":"⩀","CapitalDifferentialD":"ⅅ","caps":"∩︀","caret":"⁁","caron":"ˇ","Cayleys":"ℭ","ccaps":"⩍","Ccaron":"Č","ccaron":"č","Ccedil":"Ç","ccedil":"ç","Ccirc":"Ĉ","ccirc":"ĉ","Cconint":"∰","ccups":"⩌","ccupssm":"⩐","Cdot":"Ċ","cdot":"ċ","cedil":"¸","Cedilla":"¸","cemptyv":"⦲","cent":"¢","centerdot":"·","CenterDot":"·","cfr":"𝔠","Cfr":"ℭ","CHcy":"Ч","chcy":"ч","check":"✓","checkmark":"✓","Chi":"Χ","chi":"χ","circ":"ˆ","circeq":"≗","circlearrowleft":"↺","circlearrowright":"↻","circledast":"⊛","circledcirc":"⊚","circleddash":"⊝","CircleDot":"⊙","circledR":"®","circledS":"Ⓢ","CircleMinus":"⊖","CirclePlus":"⊕","CircleTimes":"⊗","cir":"○","cirE":"⧃","cire":"≗","cirfnint":"⨐","cirmid":"⫯","cirscir":"⧂","ClockwiseContourIntegral":"∲","CloseCurlyDoubleQuote":"”","CloseCurlyQuote":"’","clubs":"♣","clubsuit":"♣","colon":":","Colon":"∷","Colone":"⩴","colone":"≔","coloneq":"≔","comma":",","commat":"@","comp":"∁","compfn":"∘","complement":"∁","complexes":"ℂ","cong":"≅","congdot":"⩭","Congruent":"≡","conint":"∮","Conint":"∯","ContourIntegral":"∮","copf":"𝕔","Copf":"ℂ","coprod":"∐","Coproduct":"∐","copy":"©","COPY":"©","copysr":"℗","CounterClockwiseContourIntegral":"∳","crarr":"↵","cross":"✗","Cross":"⨯","Cscr":"𝒞","cscr":"𝒸","csub":"⫏","csube":"⫑","csup":"⫐","csupe":"⫒","ctdot":"⋯","cudarrl":"⤸","cudarrr":"⤵","cuepr":"⋞","cuesc":"⋟","cularr":"↶","cularrp":"⤽","cupbrcap":"⩈","cupcap":"⩆","CupCap":"≍","cup":"∪","Cup":"⋓","cupcup":"⩊","cupdot":"⊍","cupor":"⩅","cups":"∪︀","curarr":"↷","curarrm":"⤼","curlyeqprec":"⋞","curlyeqsucc":"⋟","curlyvee":"⋎","curlywedge":"⋏","curren":"¤","curvearrowleft":"↶","curvearrowright":"↷","cuvee":"⋎","cuwed":"⋏","cwconint":"∲","cwint":"∱","cylcty":"⌭","dagger":"†","Dagger":"‡","daleth":"ℸ","darr":"↓","Darr":"↡","dArr":"⇓","dash":"‐","Dashv":"⫤","dashv":"⊣","dbkarow":"⤏","dblac":"˝","Dcaron":"Ď","dcaron":"ď","Dcy":"Д","dcy":"д","ddagger":"‡","ddarr":"⇊","DD":"ⅅ","dd":"ⅆ","DDotrahd":"⤑","ddotseq":"⩷","deg":"°","Del":"∇","Delta":"Δ","delta":"δ","demptyv":"⦱","dfisht":"⥿","Dfr":"𝔇","dfr":"𝔡","dHar":"⥥","dharl":"⇃","dharr":"⇂","DiacriticalAcute":"´","DiacriticalDot":"˙","DiacriticalDoubleAcute":"˝","DiacriticalGrave":"`","DiacriticalTilde":"˜","diam":"⋄","diamond":"⋄","Diamond":"⋄","diamondsuit":"♦","diams":"♦","die":"¨","DifferentialD":"ⅆ","digamma":"ϝ","disin":"⋲","div":"÷","divide":"÷","divideontimes":"⋇","divonx":"⋇","DJcy":"Ђ","djcy":"ђ","dlcorn":"⌞","dlcrop":"⌍","dollar":"$","Dopf":"𝔻","dopf":"𝕕","Dot":"¨","dot":"˙","DotDot":"⃜","doteq":"≐","doteqdot":"≑","DotEqual":"≐","dotminus":"∸","dotplus":"∔","dotsquare":"⊡","doublebarwedge":"⌆","DoubleContourIntegral":"∯","DoubleDot":"¨","DoubleDownArrow":"⇓","DoubleLeftArrow":"⇐","DoubleLeftRightArrow":"⇔","DoubleLeftTee":"⫤","DoubleLongLeftArrow":"⟸","DoubleLongLeftRightArrow":"⟺","DoubleLongRightArrow":"⟹","DoubleRightArrow":"⇒","DoubleRightTee":"⊨","DoubleUpArrow":"⇑","DoubleUpDownArrow":"⇕","DoubleVerticalBar":"∥","DownArrowBar":"⤓","downarrow":"↓","DownArrow":"↓","Downarrow":"⇓","DownArrowUpArrow":"⇵","DownBreve":"̑","downdownarrows":"⇊","downharpoonleft":"⇃","downharpoonright":"⇂","DownLeftRightVector":"⥐","DownLeftTeeVector":"⥞","DownLeftVectorBar":"⥖","DownLeftVector":"↽","DownRightTeeVector":"⥟","DownRightVectorBar":"⥗","DownRightVector":"⇁","DownTeeArrow":"↧","DownTee":"⊤","drbkarow":"⤐","drcorn":"⌟","drcrop":"⌌","Dscr":"𝒟","dscr":"𝒹","DScy":"Ѕ","dscy":"ѕ","dsol":"⧶","Dstrok":"Đ","dstrok":"đ","dtdot":"⋱","dtri":"▿","dtrif":"▾","duarr":"⇵","duhar":"⥯","dwangle":"⦦","DZcy":"Џ","dzcy":"џ","dzigrarr":"⟿","Eacute":"É","eacute":"é","easter":"⩮","Ecaron":"Ě","ecaron":"ě","Ecirc":"Ê","ecirc":"ê","ecir":"≖","ecolon":"≕","Ecy":"Э","ecy":"э","eDDot":"⩷","Edot":"Ė","edot":"ė","eDot":"≑","ee":"ⅇ","efDot":"≒","Efr":"𝔈","efr":"𝔢","eg":"⪚","Egrave":"È","egrave":"è","egs":"⪖","egsdot":"⪘","el":"⪙","Element":"∈","elinters":"⏧","ell":"ℓ","els":"⪕","elsdot":"⪗","Emacr":"Ē","emacr":"ē","empty":"∅","emptyset":"∅","EmptySmallSquare":"◻","emptyv":"∅","EmptyVerySmallSquare":"▫","emsp13":" ","emsp14":" ","emsp":" ","ENG":"Ŋ","eng":"ŋ","ensp":" ","Eogon":"Ę","eogon":"ę","Eopf":"𝔼","eopf":"𝕖","epar":"⋕","eparsl":"⧣","eplus":"⩱","epsi":"ε","Epsilon":"Ε","epsilon":"ε","epsiv":"ϵ","eqcirc":"≖","eqcolon":"≕","eqsim":"≂","eqslantgtr":"⪖","eqslantless":"⪕","Equal":"⩵","equals":"=","EqualTilde":"≂","equest":"≟","Equilibrium":"⇌","equiv":"≡","equivDD":"⩸","eqvparsl":"⧥","erarr":"⥱","erDot":"≓","escr":"ℯ","Escr":"ℰ","esdot":"≐","Esim":"⩳","esim":"≂","Eta":"Η","eta":"η","ETH":"Ð","eth":"ð","Euml":"Ë","euml":"ë","euro":"€","excl":"!","exist":"∃","Exists":"∃","expectation":"ℰ","exponentiale":"ⅇ","ExponentialE":"ⅇ","fallingdotseq":"≒","Fcy":"Ф","fcy":"ф","female":"♀","ffilig":"ffi","fflig":"ff","ffllig":"ffl","Ffr":"𝔉","ffr":"𝔣","filig":"fi","FilledSmallSquare":"◼","FilledVerySmallSquare":"▪","fjlig":"fj","flat":"♭","fllig":"fl","fltns":"▱","fnof":"ƒ","Fopf":"𝔽","fopf":"𝕗","forall":"∀","ForAll":"∀","fork":"⋔","forkv":"⫙","Fouriertrf":"ℱ","fpartint":"⨍","frac12":"½","frac13":"⅓","frac14":"¼","frac15":"⅕","frac16":"⅙","frac18":"⅛","frac23":"⅔","frac25":"⅖","frac34":"¾","frac35":"⅗","frac38":"⅜","frac45":"⅘","frac56":"⅚","frac58":"⅝","frac78":"⅞","frasl":"⁄","frown":"⌢","fscr":"𝒻","Fscr":"ℱ","gacute":"ǵ","Gamma":"Γ","gamma":"γ","Gammad":"Ϝ","gammad":"ϝ","gap":"⪆","Gbreve":"Ğ","gbreve":"ğ","Gcedil":"Ģ","Gcirc":"Ĝ","gcirc":"ĝ","Gcy":"Г","gcy":"г","Gdot":"Ġ","gdot":"ġ","ge":"≥","gE":"≧","gEl":"⪌","gel":"⋛","geq":"≥","geqq":"≧","geqslant":"⩾","gescc":"⪩","ges":"⩾","gesdot":"⪀","gesdoto":"⪂","gesdotol":"⪄","gesl":"⋛︀","gesles":"⪔","Gfr":"𝔊","gfr":"𝔤","gg":"≫","Gg":"⋙","ggg":"⋙","gimel":"ℷ","GJcy":"Ѓ","gjcy":"ѓ","gla":"⪥","gl":"≷","glE":"⪒","glj":"⪤","gnap":"⪊","gnapprox":"⪊","gne":"⪈","gnE":"≩","gneq":"⪈","gneqq":"≩","gnsim":"⋧","Gopf":"𝔾","gopf":"𝕘","grave":"`","GreaterEqual":"≥","GreaterEqualLess":"⋛","GreaterFullEqual":"≧","GreaterGreater":"⪢","GreaterLess":"≷","GreaterSlantEqual":"⩾","GreaterTilde":"≳","Gscr":"𝒢","gscr":"ℊ","gsim":"≳","gsime":"⪎","gsiml":"⪐","gtcc":"⪧","gtcir":"⩺","gt":">","GT":">","Gt":"≫","gtdot":"⋗","gtlPar":"⦕","gtquest":"⩼","gtrapprox":"⪆","gtrarr":"⥸","gtrdot":"⋗","gtreqless":"⋛","gtreqqless":"⪌","gtrless":"≷","gtrsim":"≳","gvertneqq":"≩︀","gvnE":"≩︀","Hacek":"ˇ","hairsp":" ","half":"½","hamilt":"ℋ","HARDcy":"Ъ","hardcy":"ъ","harrcir":"⥈","harr":"↔","hArr":"⇔","harrw":"↭","Hat":"^","hbar":"ℏ","Hcirc":"Ĥ","hcirc":"ĥ","hearts":"♥","heartsuit":"♥","hellip":"…","hercon":"⊹","hfr":"𝔥","Hfr":"ℌ","HilbertSpace":"ℋ","hksearow":"⤥","hkswarow":"⤦","hoarr":"⇿","homtht":"∻","hookleftarrow":"↩","hookrightarrow":"↪","hopf":"𝕙","Hopf":"ℍ","horbar":"―","HorizontalLine":"─","hscr":"𝒽","Hscr":"ℋ","hslash":"ℏ","Hstrok":"Ħ","hstrok":"ħ","HumpDownHump":"≎","HumpEqual":"≏","hybull":"⁃","hyphen":"‐","Iacute":"Í","iacute":"í","ic":"⁣","Icirc":"Î","icirc":"î","Icy":"И","icy":"и","Idot":"İ","IEcy":"Е","iecy":"е","iexcl":"¡","iff":"⇔","ifr":"𝔦","Ifr":"ℑ","Igrave":"Ì","igrave":"ì","ii":"ⅈ","iiiint":"⨌","iiint":"∭","iinfin":"⧜","iiota":"℩","IJlig":"IJ","ijlig":"ij","Imacr":"Ī","imacr":"ī","image":"ℑ","ImaginaryI":"ⅈ","imagline":"ℐ","imagpart":"ℑ","imath":"ı","Im":"ℑ","imof":"⊷","imped":"Ƶ","Implies":"⇒","incare":"℅","in":"∈","infin":"∞","infintie":"⧝","inodot":"ı","intcal":"⊺","int":"∫","Int":"∬","integers":"ℤ","Integral":"∫","intercal":"⊺","Intersection":"⋂","intlarhk":"⨗","intprod":"⨼","InvisibleComma":"⁣","InvisibleTimes":"⁢","IOcy":"Ё","iocy":"ё","Iogon":"Į","iogon":"į","Iopf":"𝕀","iopf":"𝕚","Iota":"Ι","iota":"ι","iprod":"⨼","iquest":"¿","iscr":"𝒾","Iscr":"ℐ","isin":"∈","isindot":"⋵","isinE":"⋹","isins":"⋴","isinsv":"⋳","isinv":"∈","it":"⁢","Itilde":"Ĩ","itilde":"ĩ","Iukcy":"І","iukcy":"і","Iuml":"Ï","iuml":"ï","Jcirc":"Ĵ","jcirc":"ĵ","Jcy":"Й","jcy":"й","Jfr":"𝔍","jfr":"𝔧","jmath":"ȷ","Jopf":"𝕁","jopf":"𝕛","Jscr":"𝒥","jscr":"𝒿","Jsercy":"Ј","jsercy":"ј","Jukcy":"Є","jukcy":"є","Kappa":"Κ","kappa":"κ","kappav":"ϰ","Kcedil":"Ķ","kcedil":"ķ","Kcy":"К","kcy":"к","Kfr":"𝔎","kfr":"𝔨","kgreen":"ĸ","KHcy":"Х","khcy":"х","KJcy":"Ќ","kjcy":"ќ","Kopf":"𝕂","kopf":"𝕜","Kscr":"𝒦","kscr":"𝓀","lAarr":"⇚","Lacute":"Ĺ","lacute":"ĺ","laemptyv":"⦴","lagran":"ℒ","Lambda":"Λ","lambda":"λ","lang":"⟨","Lang":"⟪","langd":"⦑","langle":"⟨","lap":"⪅","Laplacetrf":"ℒ","laquo":"«","larrb":"⇤","larrbfs":"⤟","larr":"←","Larr":"↞","lArr":"⇐","larrfs":"⤝","larrhk":"↩","larrlp":"↫","larrpl":"⤹","larrsim":"⥳","larrtl":"↢","latail":"⤙","lAtail":"⤛","lat":"⪫","late":"⪭","lates":"⪭︀","lbarr":"⤌","lBarr":"⤎","lbbrk":"❲","lbrace":"{","lbrack":"[","lbrke":"⦋","lbrksld":"⦏","lbrkslu":"⦍","Lcaron":"Ľ","lcaron":"ľ","Lcedil":"Ļ","lcedil":"ļ","lceil":"⌈","lcub":"{","Lcy":"Л","lcy":"л","ldca":"⤶","ldquo":"“","ldquor":"„","ldrdhar":"⥧","ldrushar":"⥋","ldsh":"↲","le":"≤","lE":"≦","LeftAngleBracket":"⟨","LeftArrowBar":"⇤","leftarrow":"←","LeftArrow":"←","Leftarrow":"⇐","LeftArrowRightArrow":"⇆","leftarrowtail":"↢","LeftCeiling":"⌈","LeftDoubleBracket":"⟦","LeftDownTeeVector":"⥡","LeftDownVectorBar":"⥙","LeftDownVector":"⇃","LeftFloor":"⌊","leftharpoondown":"↽","leftharpoonup":"↼","leftleftarrows":"⇇","leftrightarrow":"↔","LeftRightArrow":"↔","Leftrightarrow":"⇔","leftrightarrows":"⇆","leftrightharpoons":"⇋","leftrightsquigarrow":"↭","LeftRightVector":"⥎","LeftTeeArrow":"↤","LeftTee":"⊣","LeftTeeVector":"⥚","leftthreetimes":"⋋","LeftTriangleBar":"⧏","LeftTriangle":"⊲","LeftTriangleEqual":"⊴","LeftUpDownVector":"⥑","LeftUpTeeVector":"⥠","LeftUpVectorBar":"⥘","LeftUpVector":"↿","LeftVectorBar":"⥒","LeftVector":"↼","lEg":"⪋","leg":"⋚","leq":"≤","leqq":"≦","leqslant":"⩽","lescc":"⪨","les":"⩽","lesdot":"⩿","lesdoto":"⪁","lesdotor":"⪃","lesg":"⋚︀","lesges":"⪓","lessapprox":"⪅","lessdot":"⋖","lesseqgtr":"⋚","lesseqqgtr":"⪋","LessEqualGreater":"⋚","LessFullEqual":"≦","LessGreater":"≶","lessgtr":"≶","LessLess":"⪡","lesssim":"≲","LessSlantEqual":"⩽","LessTilde":"≲","lfisht":"⥼","lfloor":"⌊","Lfr":"𝔏","lfr":"𝔩","lg":"≶","lgE":"⪑","lHar":"⥢","lhard":"↽","lharu":"↼","lharul":"⥪","lhblk":"▄","LJcy":"Љ","ljcy":"љ","llarr":"⇇","ll":"≪","Ll":"⋘","llcorner":"⌞","Lleftarrow":"⇚","llhard":"⥫","lltri":"◺","Lmidot":"Ŀ","lmidot":"ŀ","lmoustache":"⎰","lmoust":"⎰","lnap":"⪉","lnapprox":"⪉","lne":"⪇","lnE":"≨","lneq":"⪇","lneqq":"≨","lnsim":"⋦","loang":"⟬","loarr":"⇽","lobrk":"⟦","longleftarrow":"⟵","LongLeftArrow":"⟵","Longleftarrow":"⟸","longleftrightarrow":"⟷","LongLeftRightArrow":"⟷","Longleftrightarrow":"⟺","longmapsto":"⟼","longrightarrow":"⟶","LongRightArrow":"⟶","Longrightarrow":"⟹","looparrowleft":"↫","looparrowright":"↬","lopar":"⦅","Lopf":"𝕃","lopf":"𝕝","loplus":"⨭","lotimes":"⨴","lowast":"∗","lowbar":"_","LowerLeftArrow":"↙","LowerRightArrow":"↘","loz":"◊","lozenge":"◊","lozf":"⧫","lpar":"(","lparlt":"⦓","lrarr":"⇆","lrcorner":"⌟","lrhar":"⇋","lrhard":"⥭","lrm":"‎","lrtri":"⊿","lsaquo":"‹","lscr":"𝓁","Lscr":"ℒ","lsh":"↰","Lsh":"↰","lsim":"≲","lsime":"⪍","lsimg":"⪏","lsqb":"[","lsquo":"‘","lsquor":"‚","Lstrok":"Ł","lstrok":"ł","ltcc":"⪦","ltcir":"⩹","lt":"<","LT":"<","Lt":"≪","ltdot":"⋖","lthree":"⋋","ltimes":"⋉","ltlarr":"⥶","ltquest":"⩻","ltri":"◃","ltrie":"⊴","ltrif":"◂","ltrPar":"⦖","lurdshar":"⥊","luruhar":"⥦","lvertneqq":"≨︀","lvnE":"≨︀","macr":"¯","male":"♂","malt":"✠","maltese":"✠","Map":"⤅","map":"↦","mapsto":"↦","mapstodown":"↧","mapstoleft":"↤","mapstoup":"↥","marker":"▮","mcomma":"⨩","Mcy":"М","mcy":"м","mdash":"—","mDDot":"∺","measuredangle":"∡","MediumSpace":" ","Mellintrf":"ℳ","Mfr":"𝔐","mfr":"𝔪","mho":"℧","micro":"µ","midast":"*","midcir":"⫰","mid":"∣","middot":"·","minusb":"⊟","minus":"−","minusd":"∸","minusdu":"⨪","MinusPlus":"∓","mlcp":"⫛","mldr":"…","mnplus":"∓","models":"⊧","Mopf":"𝕄","mopf":"𝕞","mp":"∓","mscr":"𝓂","Mscr":"ℳ","mstpos":"∾","Mu":"Μ","mu":"μ","multimap":"⊸","mumap":"⊸","nabla":"∇","Nacute":"Ń","nacute":"ń","nang":"∠⃒","nap":"≉","napE":"⩰̸","napid":"≋̸","napos":"ʼn","napprox":"≉","natural":"♮","naturals":"ℕ","natur":"♮","nbsp":" ","nbump":"≎̸","nbumpe":"≏̸","ncap":"⩃","Ncaron":"Ň","ncaron":"ň","Ncedil":"Ņ","ncedil":"ņ","ncong":"≇","ncongdot":"⩭̸","ncup":"⩂","Ncy":"Н","ncy":"н","ndash":"–","nearhk":"⤤","nearr":"↗","neArr":"⇗","nearrow":"↗","ne":"≠","nedot":"≐̸","NegativeMediumSpace":"​","NegativeThickSpace":"​","NegativeThinSpace":"​","NegativeVeryThinSpace":"​","nequiv":"≢","nesear":"⤨","nesim":"≂̸","NestedGreaterGreater":"≫","NestedLessLess":"≪","NewLine":"\\n","nexist":"∄","nexists":"∄","Nfr":"𝔑","nfr":"𝔫","ngE":"≧̸","nge":"≱","ngeq":"≱","ngeqq":"≧̸","ngeqslant":"⩾̸","nges":"⩾̸","nGg":"⋙̸","ngsim":"≵","nGt":"≫⃒","ngt":"≯","ngtr":"≯","nGtv":"≫̸","nharr":"↮","nhArr":"⇎","nhpar":"⫲","ni":"∋","nis":"⋼","nisd":"⋺","niv":"∋","NJcy":"Њ","njcy":"њ","nlarr":"↚","nlArr":"⇍","nldr":"‥","nlE":"≦̸","nle":"≰","nleftarrow":"↚","nLeftarrow":"⇍","nleftrightarrow":"↮","nLeftrightarrow":"⇎","nleq":"≰","nleqq":"≦̸","nleqslant":"⩽̸","nles":"⩽̸","nless":"≮","nLl":"⋘̸","nlsim":"≴","nLt":"≪⃒","nlt":"≮","nltri":"⋪","nltrie":"⋬","nLtv":"≪̸","nmid":"∤","NoBreak":"⁠","NonBreakingSpace":" ","nopf":"𝕟","Nopf":"ℕ","Not":"⫬","not":"¬","NotCongruent":"≢","NotCupCap":"≭","NotDoubleVerticalBar":"∦","NotElement":"∉","NotEqual":"≠","NotEqualTilde":"≂̸","NotExists":"∄","NotGreater":"≯","NotGreaterEqual":"≱","NotGreaterFullEqual":"≧̸","NotGreaterGreater":"≫̸","NotGreaterLess":"≹","NotGreaterSlantEqual":"⩾̸","NotGreaterTilde":"≵","NotHumpDownHump":"≎̸","NotHumpEqual":"≏̸","notin":"∉","notindot":"⋵̸","notinE":"⋹̸","notinva":"∉","notinvb":"⋷","notinvc":"⋶","NotLeftTriangleBar":"⧏̸","NotLeftTriangle":"⋪","NotLeftTriangleEqual":"⋬","NotLess":"≮","NotLessEqual":"≰","NotLessGreater":"≸","NotLessLess":"≪̸","NotLessSlantEqual":"⩽̸","NotLessTilde":"≴","NotNestedGreaterGreater":"⪢̸","NotNestedLessLess":"⪡̸","notni":"∌","notniva":"∌","notnivb":"⋾","notnivc":"⋽","NotPrecedes":"⊀","NotPrecedesEqual":"⪯̸","NotPrecedesSlantEqual":"⋠","NotReverseElement":"∌","NotRightTriangleBar":"⧐̸","NotRightTriangle":"⋫","NotRightTriangleEqual":"⋭","NotSquareSubset":"⊏̸","NotSquareSubsetEqual":"⋢","NotSquareSuperset":"⊐̸","NotSquareSupersetEqual":"⋣","NotSubset":"⊂⃒","NotSubsetEqual":"⊈","NotSucceeds":"⊁","NotSucceedsEqual":"⪰̸","NotSucceedsSlantEqual":"⋡","NotSucceedsTilde":"≿̸","NotSuperset":"⊃⃒","NotSupersetEqual":"⊉","NotTilde":"≁","NotTildeEqual":"≄","NotTildeFullEqual":"≇","NotTildeTilde":"≉","NotVerticalBar":"∤","nparallel":"∦","npar":"∦","nparsl":"⫽⃥","npart":"∂̸","npolint":"⨔","npr":"⊀","nprcue":"⋠","nprec":"⊀","npreceq":"⪯̸","npre":"⪯̸","nrarrc":"⤳̸","nrarr":"↛","nrArr":"⇏","nrarrw":"↝̸","nrightarrow":"↛","nRightarrow":"⇏","nrtri":"⋫","nrtrie":"⋭","nsc":"⊁","nsccue":"⋡","nsce":"⪰̸","Nscr":"𝒩","nscr":"𝓃","nshortmid":"∤","nshortparallel":"∦","nsim":"≁","nsime":"≄","nsimeq":"≄","nsmid":"∤","nspar":"∦","nsqsube":"⋢","nsqsupe":"⋣","nsub":"⊄","nsubE":"⫅̸","nsube":"⊈","nsubset":"⊂⃒","nsubseteq":"⊈","nsubseteqq":"⫅̸","nsucc":"⊁","nsucceq":"⪰̸","nsup":"⊅","nsupE":"⫆̸","nsupe":"⊉","nsupset":"⊃⃒","nsupseteq":"⊉","nsupseteqq":"⫆̸","ntgl":"≹","Ntilde":"Ñ","ntilde":"ñ","ntlg":"≸","ntriangleleft":"⋪","ntrianglelefteq":"⋬","ntriangleright":"⋫","ntrianglerighteq":"⋭","Nu":"Ν","nu":"ν","num":"#","numero":"№","numsp":" ","nvap":"≍⃒","nvdash":"⊬","nvDash":"⊭","nVdash":"⊮","nVDash":"⊯","nvge":"≥⃒","nvgt":">⃒","nvHarr":"⤄","nvinfin":"⧞","nvlArr":"⤂","nvle":"≤⃒","nvlt":"<⃒","nvltrie":"⊴⃒","nvrArr":"⤃","nvrtrie":"⊵⃒","nvsim":"∼⃒","nwarhk":"⤣","nwarr":"↖","nwArr":"⇖","nwarrow":"↖","nwnear":"⤧","Oacute":"Ó","oacute":"ó","oast":"⊛","Ocirc":"Ô","ocirc":"ô","ocir":"⊚","Ocy":"О","ocy":"о","odash":"⊝","Odblac":"Ő","odblac":"ő","odiv":"⨸","odot":"⊙","odsold":"⦼","OElig":"Œ","oelig":"œ","ofcir":"⦿","Ofr":"𝔒","ofr":"𝔬","ogon":"˛","Ograve":"Ò","ograve":"ò","ogt":"⧁","ohbar":"⦵","ohm":"Ω","oint":"∮","olarr":"↺","olcir":"⦾","olcross":"⦻","oline":"‾","olt":"⧀","Omacr":"Ō","omacr":"ō","Omega":"Ω","omega":"ω","Omicron":"Ο","omicron":"ο","omid":"⦶","ominus":"⊖","Oopf":"𝕆","oopf":"𝕠","opar":"⦷","OpenCurlyDoubleQuote":"“","OpenCurlyQuote":"‘","operp":"⦹","oplus":"⊕","orarr":"↻","Or":"⩔","or":"∨","ord":"⩝","order":"ℴ","orderof":"ℴ","ordf":"ª","ordm":"º","origof":"⊶","oror":"⩖","orslope":"⩗","orv":"⩛","oS":"Ⓢ","Oscr":"𝒪","oscr":"ℴ","Oslash":"Ø","oslash":"ø","osol":"⊘","Otilde":"Õ","otilde":"õ","otimesas":"⨶","Otimes":"⨷","otimes":"⊗","Ouml":"Ö","ouml":"ö","ovbar":"⌽","OverBar":"‾","OverBrace":"⏞","OverBracket":"⎴","OverParenthesis":"⏜","para":"¶","parallel":"∥","par":"∥","parsim":"⫳","parsl":"⫽","part":"∂","PartialD":"∂","Pcy":"П","pcy":"п","percnt":"%","period":".","permil":"‰","perp":"⊥","pertenk":"‱","Pfr":"𝔓","pfr":"𝔭","Phi":"Φ","phi":"φ","phiv":"ϕ","phmmat":"ℳ","phone":"☎","Pi":"Π","pi":"π","pitchfork":"⋔","piv":"ϖ","planck":"ℏ","planckh":"ℎ","plankv":"ℏ","plusacir":"⨣","plusb":"⊞","pluscir":"⨢","plus":"+","plusdo":"∔","plusdu":"⨥","pluse":"⩲","PlusMinus":"±","plusmn":"±","plussim":"⨦","plustwo":"⨧","pm":"±","Poincareplane":"ℌ","pointint":"⨕","popf":"𝕡","Popf":"ℙ","pound":"£","prap":"⪷","Pr":"⪻","pr":"≺","prcue":"≼","precapprox":"⪷","prec":"≺","preccurlyeq":"≼","Precedes":"≺","PrecedesEqual":"⪯","PrecedesSlantEqual":"≼","PrecedesTilde":"≾","preceq":"⪯","precnapprox":"⪹","precneqq":"⪵","precnsim":"⋨","pre":"⪯","prE":"⪳","precsim":"≾","prime":"′","Prime":"″","primes":"ℙ","prnap":"⪹","prnE":"⪵","prnsim":"⋨","prod":"∏","Product":"∏","profalar":"⌮","profline":"⌒","profsurf":"⌓","prop":"∝","Proportional":"∝","Proportion":"∷","propto":"∝","prsim":"≾","prurel":"⊰","Pscr":"𝒫","pscr":"𝓅","Psi":"Ψ","psi":"ψ","puncsp":" ","Qfr":"𝔔","qfr":"𝔮","qint":"⨌","qopf":"𝕢","Qopf":"ℚ","qprime":"⁗","Qscr":"𝒬","qscr":"𝓆","quaternions":"ℍ","quatint":"⨖","quest":"?","questeq":"≟","quot":"\\"","QUOT":"\\"","rAarr":"⇛","race":"∽̱","Racute":"Ŕ","racute":"ŕ","radic":"√","raemptyv":"⦳","rang":"⟩","Rang":"⟫","rangd":"⦒","range":"⦥","rangle":"⟩","raquo":"»","rarrap":"⥵","rarrb":"⇥","rarrbfs":"⤠","rarrc":"⤳","rarr":"→","Rarr":"↠","rArr":"⇒","rarrfs":"⤞","rarrhk":"↪","rarrlp":"↬","rarrpl":"⥅","rarrsim":"⥴","Rarrtl":"⤖","rarrtl":"↣","rarrw":"↝","ratail":"⤚","rAtail":"⤜","ratio":"∶","rationals":"ℚ","rbarr":"⤍","rBarr":"⤏","RBarr":"⤐","rbbrk":"❳","rbrace":"}","rbrack":"]","rbrke":"⦌","rbrksld":"⦎","rbrkslu":"⦐","Rcaron":"Ř","rcaron":"ř","Rcedil":"Ŗ","rcedil":"ŗ","rceil":"⌉","rcub":"}","Rcy":"Р","rcy":"р","rdca":"⤷","rdldhar":"⥩","rdquo":"”","rdquor":"”","rdsh":"↳","real":"ℜ","realine":"ℛ","realpart":"ℜ","reals":"ℝ","Re":"ℜ","rect":"▭","reg":"®","REG":"®","ReverseElement":"∋","ReverseEquilibrium":"⇋","ReverseUpEquilibrium":"⥯","rfisht":"⥽","rfloor":"⌋","rfr":"𝔯","Rfr":"ℜ","rHar":"⥤","rhard":"⇁","rharu":"⇀","rharul":"⥬","Rho":"Ρ","rho":"ρ","rhov":"ϱ","RightAngleBracket":"⟩","RightArrowBar":"⇥","rightarrow":"→","RightArrow":"→","Rightarrow":"⇒","RightArrowLeftArrow":"⇄","rightarrowtail":"↣","RightCeiling":"⌉","RightDoubleBracket":"⟧","RightDownTeeVector":"⥝","RightDownVectorBar":"⥕","RightDownVector":"⇂","RightFloor":"⌋","rightharpoondown":"⇁","rightharpoonup":"⇀","rightleftarrows":"⇄","rightleftharpoons":"⇌","rightrightarrows":"⇉","rightsquigarrow":"↝","RightTeeArrow":"↦","RightTee":"⊢","RightTeeVector":"⥛","rightthreetimes":"⋌","RightTriangleBar":"⧐","RightTriangle":"⊳","RightTriangleEqual":"⊵","RightUpDownVector":"⥏","RightUpTeeVector":"⥜","RightUpVectorBar":"⥔","RightUpVector":"↾","RightVectorBar":"⥓","RightVector":"⇀","ring":"˚","risingdotseq":"≓","rlarr":"⇄","rlhar":"⇌","rlm":"‏","rmoustache":"⎱","rmoust":"⎱","rnmid":"⫮","roang":"⟭","roarr":"⇾","robrk":"⟧","ropar":"⦆","ropf":"𝕣","Ropf":"ℝ","roplus":"⨮","rotimes":"⨵","RoundImplies":"⥰","rpar":")","rpargt":"⦔","rppolint":"⨒","rrarr":"⇉","Rrightarrow":"⇛","rsaquo":"›","rscr":"𝓇","Rscr":"ℛ","rsh":"↱","Rsh":"↱","rsqb":"]","rsquo":"’","rsquor":"’","rthree":"⋌","rtimes":"⋊","rtri":"▹","rtrie":"⊵","rtrif":"▸","rtriltri":"⧎","RuleDelayed":"⧴","ruluhar":"⥨","rx":"℞","Sacute":"Ś","sacute":"ś","sbquo":"‚","scap":"⪸","Scaron":"Š","scaron":"š","Sc":"⪼","sc":"≻","sccue":"≽","sce":"⪰","scE":"⪴","Scedil":"Ş","scedil":"ş","Scirc":"Ŝ","scirc":"ŝ","scnap":"⪺","scnE":"⪶","scnsim":"⋩","scpolint":"⨓","scsim":"≿","Scy":"С","scy":"с","sdotb":"⊡","sdot":"⋅","sdote":"⩦","searhk":"⤥","searr":"↘","seArr":"⇘","searrow":"↘","sect":"§","semi":";","seswar":"⤩","setminus":"∖","setmn":"∖","sext":"✶","Sfr":"𝔖","sfr":"𝔰","sfrown":"⌢","sharp":"♯","SHCHcy":"Щ","shchcy":"щ","SHcy":"Ш","shcy":"ш","ShortDownArrow":"↓","ShortLeftArrow":"←","shortmid":"∣","shortparallel":"∥","ShortRightArrow":"→","ShortUpArrow":"↑","shy":"­","Sigma":"Σ","sigma":"σ","sigmaf":"ς","sigmav":"ς","sim":"∼","simdot":"⩪","sime":"≃","simeq":"≃","simg":"⪞","simgE":"⪠","siml":"⪝","simlE":"⪟","simne":"≆","simplus":"⨤","simrarr":"⥲","slarr":"←","SmallCircle":"∘","smallsetminus":"∖","smashp":"⨳","smeparsl":"⧤","smid":"∣","smile":"⌣","smt":"⪪","smte":"⪬","smtes":"⪬︀","SOFTcy":"Ь","softcy":"ь","solbar":"⌿","solb":"⧄","sol":"/","Sopf":"𝕊","sopf":"𝕤","spades":"♠","spadesuit":"♠","spar":"∥","sqcap":"⊓","sqcaps":"⊓︀","sqcup":"⊔","sqcups":"⊔︀","Sqrt":"√","sqsub":"⊏","sqsube":"⊑","sqsubset":"⊏","sqsubseteq":"⊑","sqsup":"⊐","sqsupe":"⊒","sqsupset":"⊐","sqsupseteq":"⊒","square":"□","Square":"□","SquareIntersection":"⊓","SquareSubset":"⊏","SquareSubsetEqual":"⊑","SquareSuperset":"⊐","SquareSupersetEqual":"⊒","SquareUnion":"⊔","squarf":"▪","squ":"□","squf":"▪","srarr":"→","Sscr":"𝒮","sscr":"𝓈","ssetmn":"∖","ssmile":"⌣","sstarf":"⋆","Star":"⋆","star":"☆","starf":"★","straightepsilon":"ϵ","straightphi":"ϕ","strns":"¯","sub":"⊂","Sub":"⋐","subdot":"⪽","subE":"⫅","sube":"⊆","subedot":"⫃","submult":"⫁","subnE":"⫋","subne":"⊊","subplus":"⪿","subrarr":"⥹","subset":"⊂","Subset":"⋐","subseteq":"⊆","subseteqq":"⫅","SubsetEqual":"⊆","subsetneq":"⊊","subsetneqq":"⫋","subsim":"⫇","subsub":"⫕","subsup":"⫓","succapprox":"⪸","succ":"≻","succcurlyeq":"≽","Succeeds":"≻","SucceedsEqual":"⪰","SucceedsSlantEqual":"≽","SucceedsTilde":"≿","succeq":"⪰","succnapprox":"⪺","succneqq":"⪶","succnsim":"⋩","succsim":"≿","SuchThat":"∋","sum":"∑","Sum":"∑","sung":"♪","sup1":"¹","sup2":"²","sup3":"³","sup":"⊃","Sup":"⋑","supdot":"⪾","supdsub":"⫘","supE":"⫆","supe":"⊇","supedot":"⫄","Superset":"⊃","SupersetEqual":"⊇","suphsol":"⟉","suphsub":"⫗","suplarr":"⥻","supmult":"⫂","supnE":"⫌","supne":"⊋","supplus":"⫀","supset":"⊃","Supset":"⋑","supseteq":"⊇","supseteqq":"⫆","supsetneq":"⊋","supsetneqq":"⫌","supsim":"⫈","supsub":"⫔","supsup":"⫖","swarhk":"⤦","swarr":"↙","swArr":"⇙","swarrow":"↙","swnwar":"⤪","szlig":"ß","Tab":"\\t","target":"⌖","Tau":"Τ","tau":"τ","tbrk":"⎴","Tcaron":"Ť","tcaron":"ť","Tcedil":"Ţ","tcedil":"ţ","Tcy":"Т","tcy":"т","tdot":"⃛","telrec":"⌕","Tfr":"𝔗","tfr":"𝔱","there4":"∴","therefore":"∴","Therefore":"∴","Theta":"Θ","theta":"θ","thetasym":"ϑ","thetav":"ϑ","thickapprox":"≈","thicksim":"∼","ThickSpace":"  ","ThinSpace":" ","thinsp":" ","thkap":"≈","thksim":"∼","THORN":"Þ","thorn":"þ","tilde":"˜","Tilde":"∼","TildeEqual":"≃","TildeFullEqual":"≅","TildeTilde":"≈","timesbar":"⨱","timesb":"⊠","times":"×","timesd":"⨰","tint":"∭","toea":"⤨","topbot":"⌶","topcir":"⫱","top":"⊤","Topf":"𝕋","topf":"𝕥","topfork":"⫚","tosa":"⤩","tprime":"‴","trade":"™","TRADE":"™","triangle":"▵","triangledown":"▿","triangleleft":"◃","trianglelefteq":"⊴","triangleq":"≜","triangleright":"▹","trianglerighteq":"⊵","tridot":"◬","trie":"≜","triminus":"⨺","TripleDot":"⃛","triplus":"⨹","trisb":"⧍","tritime":"⨻","trpezium":"⏢","Tscr":"𝒯","tscr":"𝓉","TScy":"Ц","tscy":"ц","TSHcy":"Ћ","tshcy":"ћ","Tstrok":"Ŧ","tstrok":"ŧ","twixt":"≬","twoheadleftarrow":"↞","twoheadrightarrow":"↠","Uacute":"Ú","uacute":"ú","uarr":"↑","Uarr":"↟","uArr":"⇑","Uarrocir":"⥉","Ubrcy":"Ў","ubrcy":"ў","Ubreve":"Ŭ","ubreve":"ŭ","Ucirc":"Û","ucirc":"û","Ucy":"У","ucy":"у","udarr":"⇅","Udblac":"Ű","udblac":"ű","udhar":"⥮","ufisht":"⥾","Ufr":"𝔘","ufr":"𝔲","Ugrave":"Ù","ugrave":"ù","uHar":"⥣","uharl":"↿","uharr":"↾","uhblk":"▀","ulcorn":"⌜","ulcorner":"⌜","ulcrop":"⌏","ultri":"◸","Umacr":"Ū","umacr":"ū","uml":"¨","UnderBar":"_","UnderBrace":"⏟","UnderBracket":"⎵","UnderParenthesis":"⏝","Union":"⋃","UnionPlus":"⊎","Uogon":"Ų","uogon":"ų","Uopf":"𝕌","uopf":"𝕦","UpArrowBar":"⤒","uparrow":"↑","UpArrow":"↑","Uparrow":"⇑","UpArrowDownArrow":"⇅","updownarrow":"↕","UpDownArrow":"↕","Updownarrow":"⇕","UpEquilibrium":"⥮","upharpoonleft":"↿","upharpoonright":"↾","uplus":"⊎","UpperLeftArrow":"↖","UpperRightArrow":"↗","upsi":"υ","Upsi":"ϒ","upsih":"ϒ","Upsilon":"Υ","upsilon":"υ","UpTeeArrow":"↥","UpTee":"⊥","upuparrows":"⇈","urcorn":"⌝","urcorner":"⌝","urcrop":"⌎","Uring":"Ů","uring":"ů","urtri":"◹","Uscr":"𝒰","uscr":"𝓊","utdot":"⋰","Utilde":"Ũ","utilde":"ũ","utri":"▵","utrif":"▴","uuarr":"⇈","Uuml":"Ü","uuml":"ü","uwangle":"⦧","vangrt":"⦜","varepsilon":"ϵ","varkappa":"ϰ","varnothing":"∅","varphi":"ϕ","varpi":"ϖ","varpropto":"∝","varr":"↕","vArr":"⇕","varrho":"ϱ","varsigma":"ς","varsubsetneq":"⊊︀","varsubsetneqq":"⫋︀","varsupsetneq":"⊋︀","varsupsetneqq":"⫌︀","vartheta":"ϑ","vartriangleleft":"⊲","vartriangleright":"⊳","vBar":"⫨","Vbar":"⫫","vBarv":"⫩","Vcy":"В","vcy":"в","vdash":"⊢","vDash":"⊨","Vdash":"⊩","VDash":"⊫","Vdashl":"⫦","veebar":"⊻","vee":"∨","Vee":"⋁","veeeq":"≚","vellip":"⋮","verbar":"|","Verbar":"‖","vert":"|","Vert":"‖","VerticalBar":"∣","VerticalLine":"|","VerticalSeparator":"❘","VerticalTilde":"≀","VeryThinSpace":" ","Vfr":"𝔙","vfr":"𝔳","vltri":"⊲","vnsub":"⊂⃒","vnsup":"⊃⃒","Vopf":"𝕍","vopf":"𝕧","vprop":"∝","vrtri":"⊳","Vscr":"𝒱","vscr":"𝓋","vsubnE":"⫋︀","vsubne":"⊊︀","vsupnE":"⫌︀","vsupne":"⊋︀","Vvdash":"⊪","vzigzag":"⦚","Wcirc":"Ŵ","wcirc":"ŵ","wedbar":"⩟","wedge":"∧","Wedge":"⋀","wedgeq":"≙","weierp":"℘","Wfr":"𝔚","wfr":"𝔴","Wopf":"𝕎","wopf":"𝕨","wp":"℘","wr":"≀","wreath":"≀","Wscr":"𝒲","wscr":"𝓌","xcap":"⋂","xcirc":"◯","xcup":"⋃","xdtri":"▽","Xfr":"𝔛","xfr":"𝔵","xharr":"⟷","xhArr":"⟺","Xi":"Ξ","xi":"ξ","xlarr":"⟵","xlArr":"⟸","xmap":"⟼","xnis":"⋻","xodot":"⨀","Xopf":"𝕏","xopf":"𝕩","xoplus":"⨁","xotime":"⨂","xrarr":"⟶","xrArr":"⟹","Xscr":"𝒳","xscr":"𝓍","xsqcup":"⨆","xuplus":"⨄","xutri":"△","xvee":"⋁","xwedge":"⋀","Yacute":"Ý","yacute":"ý","YAcy":"Я","yacy":"я","Ycirc":"Ŷ","ycirc":"ŷ","Ycy":"Ы","ycy":"ы","yen":"¥","Yfr":"𝔜","yfr":"𝔶","YIcy":"Ї","yicy":"ї","Yopf":"𝕐","yopf":"𝕪","Yscr":"𝒴","yscr":"𝓎","YUcy":"Ю","yucy":"ю","yuml":"ÿ","Yuml":"Ÿ","Zacute":"Ź","zacute":"ź","Zcaron":"Ž","zcaron":"ž","Zcy":"З","zcy":"з","Zdot":"Ż","zdot":"ż","zeetrf":"ℨ","ZeroWidthSpace":"​","Zeta":"Ζ","zeta":"ζ","zfr":"𝔷","Zfr":"ℨ","ZHcy":"Ж","zhcy":"ж","zigrarr":"⇝","zopf":"𝕫","Zopf":"ℤ","Zscr":"𝒵","zscr":"𝓏","zwj":"‍","zwnj":"‌"}'); - /***/ }) /******/ }); diff --git a/src/Symfony/Bundle/Resources/public/react/react-dom.production.min.js b/src/Symfony/Bundle/Resources/public/react/react-dom.production.min.js index e8a0213d7e1..fb4e099c056 100644 --- a/src/Symfony/Bundle/Resources/public/react/react-dom.production.min.js +++ b/src/Symfony/Bundle/Resources/public/react/react-dom.production.min.js @@ -10,258 +10,258 @@ (function(){/* Modernizr 3.0.0pre (Custom Build) | MIT */ -'use strict';(function(Q,mb){"object"===typeof exports&&"undefined"!==typeof module?mb(exports,require("react")):"function"===typeof define&&define.amd?define(["exports","react"],mb):(Q=Q||self,mb(Q.ReactDOM={},Q.React))})(this,function(Q,mb){function n(a){for(var b="https://reactjs.org/docs/error-decoder.html?invariant="+a,c=1;cb}return!1}function Y(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}function $d(a,b,c,d){var e=R.hasOwnProperty(b)?R[b]:null;if(null!==e?0!==e.type:d||!(2h||e[g]!==f[h]){var k="\n"+e[g].replace(" at new "," at ");a.displayName&&k.includes("")&&(k=k.replace("",a.displayName));return k}while(1<=g&&0<=h)}break}}}finally{ce=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:"")?bc(a): -""}function gj(a){switch(a.tag){case 5:return bc(a.type);case 16:return bc("Lazy");case 13:return bc("Suspense");case 19:return bc("SuspenseList");case 0:case 2:case 15:return a=be(a.type,!1),a;case 11:return a=be(a.type.render,!1),a;case 1:return a=be(a.type,!0),a;default:return""}}function de(a){if(null==a)return null;if("function"===typeof a)return a.displayName||a.name||null;if("string"===typeof a)return a;switch(a){case Bb:return"Fragment";case Cb:return"Portal";case ee:return"Profiler";case fe:return"StrictMode"; -case ge:return"Suspense";case he:return"SuspenseList"}if("object"===typeof a)switch(a.$$typeof){case gg:return(a.displayName||"Context")+".Consumer";case hg:return(a._context.displayName||"Context")+".Provider";case ie:var b=a.render;a=a.displayName;a||(a=b.displayName||b.name||"",a=""!==a?"ForwardRef("+a+")":"ForwardRef");return a;case je:return b=a.displayName||null,null!==b?b:de(a.type)||"Memo";case Ta:b=a._payload;a=a._init;try{return de(a(b))}catch(c){}}return null}function hj(a){var b=a.type; +'use strict';(function(Q,zb){"object"===typeof exports&&"undefined"!==typeof module?zb(exports,require("react")):"function"===typeof define&&define.amd?define(["exports","react"],zb):(Q=Q||self,zb(Q.ReactDOM={},Q.React))})(this,function(Q,zb){function m(a){for(var b="https://reactjs.org/docs/error-decoder.html?invariant="+a,c=1;cb}return!1}function Y(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}function $d(a,b,c,d){var e=R.hasOwnProperty(b)?R[b]:null;if(null!==e?0!==e.type:d||!(2h||e[g]!==f[h]){var k="\n"+e[g].replace(" at new "," at ");a.displayName&&k.includes("")&&(k=k.replace("",a.displayName));return k}while(1<=g&&0<=h)}break}}}finally{ce=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:"")?bc(a): +""}function fj(a){switch(a.tag){case 5:return bc(a.type);case 16:return bc("Lazy");case 13:return bc("Suspense");case 19:return bc("SuspenseList");case 0:case 2:case 15:return a=be(a.type,!1),a;case 11:return a=be(a.type.render,!1),a;case 1:return a=be(a.type,!0),a;default:return""}}function de(a){if(null==a)return null;if("function"===typeof a)return a.displayName||a.name||null;if("string"===typeof a)return a;switch(a){case Bb:return"Fragment";case Cb:return"Portal";case ee:return"Profiler";case fe:return"StrictMode"; +case ge:return"Suspense";case he:return"SuspenseList"}if("object"===typeof a)switch(a.$$typeof){case gg:return(a.displayName||"Context")+".Consumer";case hg:return(a._context.displayName||"Context")+".Provider";case ie:var b=a.render;a=a.displayName;a||(a=b.displayName||b.name||"",a=""!==a?"ForwardRef("+a+")":"ForwardRef");return a;case je:return b=a.displayName||null,null!==b?b:de(a.type)||"Memo";case Ta:b=a._payload;a=a._init;try{return de(a(b))}catch(c){}}return null}function gj(a){var b=a.type; switch(a.tag){case 24:return"Cache";case 9:return(b.displayName||"Context")+".Consumer";case 10:return(b._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return a=b.render,a=a.displayName||a.name||"",b.displayName||(""!==a?"ForwardRef("+a+")":"ForwardRef");case 7:return"Fragment";case 5:return b;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return de(b);case 8:return b===fe?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler"; case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if("function"===typeof b)return b.displayName||b.name||null;if("string"===typeof b)return b}return null}function Ua(a){switch(typeof a){case "boolean":case "number":case "string":case "undefined":return a;case "object":return a;default:return""}}function ig(a){var b=a.type;return(a=a.nodeName)&&"input"===a.toLowerCase()&&("checkbox"===b||"radio"=== -b)}function ij(a){var b=ig(a)?"checked":"value",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=""+a[b];if(!a.hasOwnProperty(b)&&"undefined"!==typeof c&&"function"===typeof c.get&&"function"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=""+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=""+a},stopTracking:function(){a._valueTracker= -null;delete a[b]}}}}function Pc(a){a._valueTracker||(a._valueTracker=ij(a))}function jg(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d="";a&&(d=ig(a)?a.checked?"true":"false":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Qc(a){a=a||("undefined"!==typeof document?document:void 0);if("undefined"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}function ke(a,b){var c=b.checked;return E({},b,{defaultChecked:void 0,defaultValue:void 0, +b)}function hj(a){var b=ig(a)?"checked":"value",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=""+a[b];if(!a.hasOwnProperty(b)&&"undefined"!==typeof c&&"function"===typeof c.get&&"function"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=""+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=""+a},stopTracking:function(){a._valueTracker= +null;delete a[b]}}}}function Pc(a){a._valueTracker||(a._valueTracker=hj(a))}function jg(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d="";a&&(d=ig(a)?a.checked?"true":"false":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Qc(a){a=a||("undefined"!==typeof document?document:void 0);if("undefined"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}function ke(a,b){var c=b.checked;return E({},b,{defaultChecked:void 0,defaultValue:void 0, value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function kg(a,b){var c=null==b.defaultValue?"":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Ua(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:"checkbox"===b.type||"radio"===b.type?null!=b.checked:null!=b.value}}function lg(a,b){b=b.checked;null!=b&&$d(a,"checked",b,!1)}function le(a,b){lg(a,b);var c=Ua(b.value),d=b.type;if(null!=c)if("number"===d){if(0===c&&""===a.value||a.value!= c)a.value=""+c}else a.value!==""+c&&(a.value=""+c);else if("submit"===d||"reset"===d){a.removeAttribute("value");return}b.hasOwnProperty("value")?me(a,b.type,c):b.hasOwnProperty("defaultValue")&&me(a,b.type,Ua(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}function mg(a,b,c){if(b.hasOwnProperty("value")||b.hasOwnProperty("defaultValue")){var d=b.type;if(!("submit"!==d&&"reset"!==d||void 0!==b.value&&null!==b.value))return;b=""+a._wrapperState.initialValue; c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;""!==c&&(a.name="");a.defaultChecked=!!a._wrapperState.initialChecked;""!==c&&(a.name=c)}function me(a,b,c){if("number"!==b||Qc(a.ownerDocument)!==a)null==c?a.defaultValue=""+a._wrapperState.initialValue:a.defaultValue!==""+c&&(a.defaultValue=""+c)}function Db(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e>>=0;return 0===a?32:31-(rj(a)/sj|0)|0}function hc(a){switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a& +if(c&&"function"!==typeof c)throw Error(m(231,b,typeof c));return c}function jj(a,b,c,d,e,f,g,h,k){gc=!1;Sc=null;kj.apply(lj,arguments)}function mj(a,b,c,d,e,f,g,h,k){jj.apply(this,arguments);if(gc){if(gc){var n=Sc;gc=!1;Sc=null}else throw Error(m(198));Tc||(Tc=!0,ue=n)}}function nb(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else{a=b;do b=a,0!==(b.flags&4098)&&(c=b.return),a=b.return;while(a)}return 3===b.tag?c:null}function zg(a){if(13===a.tag){var b=a.memoizedState;null===b&&(a=a.alternate, +null!==a&&(b=a.memoizedState));if(null!==b)return b.dehydrated}return null}function Ag(a){if(nb(a)!==a)throw Error(m(188));}function nj(a){var b=a.alternate;if(!b){b=nb(a);if(null===b)throw Error(m(188));return b!==a?null:a}for(var c=a,d=b;;){var e=c.return;if(null===e)break;var f=e.alternate;if(null===f){d=e.return;if(null!==d){c=d;continue}break}if(e.child===f.child){for(f=e.child;f;){if(f===c)return Ag(e),a;if(f===d)return Ag(e),b;f=f.sibling}throw Error(m(188));}if(c.return!==d.return)c=e,d=f; +else{for(var g=!1,h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===c){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}if(!g)throw Error(m(189));}}if(c.alternate!==d)throw Error(m(190));}if(3!==c.tag)throw Error(m(188));return c.stateNode.current===c?a:b}function Bg(a){a=nj(a);return null!==a?Cg(a):null}function Cg(a){if(5===a.tag||6===a.tag)return a;for(a=a.child;null!==a;){var b=Cg(a);if(null!==b)return b;a=a.sibling}return null} +function oj(a,b){if(Ca&&"function"===typeof Ca.onCommitFiberRoot)try{Ca.onCommitFiberRoot(Uc,a,void 0,128===(a.current.flags&128))}catch(c){}}function pj(a){a>>>=0;return 0===a?32:31-(qj(a)/rj|0)|0}function hc(a){switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a& 4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return a}}function Vc(a,b){var c=a.pendingLanes;if(0===c)return 0;var d=0,e=a.suspendedLanes,f=a.pingedLanes,g=c&268435455;if(0!==g){var h=g&~e;0!==h?d=hc(h):(f&=g,0!==f&&(d=hc(f)))}else g=c&~e,0!==g?d=hc(g):0!==f&&(d=hc(f));if(0===d)return 0;if(0!==b&&b!==d&&0===(b&e)&& -(e=d&-d,f=b&-b,e>=f||16===e&&0!==(f&4194240)))return b;0!==(d&4)&&(d|=c&16);b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0c;c++)b.push(a); -return b}function ic(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-ta(b);a[b]=c}function vj(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=b;a.mutableReadLanes&=b;a.entangledLanes&=b;b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;0=f||16===e&&0!==(f&4194240)))return b;0!==(d&4)&&(d|=c&16);b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0c;c++)b.push(a); +return b}function ic(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-ta(b);a[b]=c}function uj(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=b;a.mutableReadLanes&=b;a.entangledLanes&=b;b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;0=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=$g(c)}}function bh(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?bh(a,b.parentNode):"contains"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}function ch(){for(var a=window,b=Qc();b instanceof a.HTMLIFrameElement;){try{var c="string"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break; -b=Qc(a.document)}return b}function Ie(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&("input"===b&&("text"===a.type||"search"===a.type||"tel"===a.type||"url"===a.type||"password"===a.type)||"textarea"===b||"true"===a.contentEditable)}function Uj(a){var b=ch(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&bh(c.ownerDocument.documentElement,c)){if(null!==d&&Ie(c))if(b=d.start,a=d.end,void 0===a&&(a=b),"selectionStart"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length); +b=Qc(a.document)}return b}function Ie(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&("input"===b&&("text"===a.type||"search"===a.type||"tel"===a.type||"url"===a.type||"password"===a.type)||"textarea"===b||"true"===a.contentEditable)}function Tj(a){var b=ch(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&bh(c.ownerDocument.documentElement,c)){if(null!==d&&Ie(c))if(b=d.start,a=d.end,void 0===a&&(a=b),"selectionStart"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length); else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=ah(c,f);var g=ah(c,d);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset), a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});"function"===typeof c.focus&&c.focus();for(c=0;cMb||(a.current=Se[Mb],Se[Mb]=null,Mb--)} -function y(a,b,c){Mb++;Se[Mb]=a.current;a.current=b}function Nb(a,b){var c=a.type.contextTypes;if(!c)return cb;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function ea(a){a=a.childContextTypes;return null!==a&&void 0!==a}function th(a,b,c){if(J.current!==cb)throw Error(n(168)); -y(J,b);y(S,c)}function uh(a,b,c){var d=a.stateNode;b=b.childContextTypes;if("function"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(n(108,hj(a)||"Unknown",e));return E({},c,d)}function ld(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||cb;qb=J.current;y(J,a);y(S,S.current);return!0}function vh(a,b,c){var d=a.stateNode;if(!d)throw Error(n(169));c?(a=uh(a,b,qb),d.__reactInternalMemoizedMergedChildContext=a,w(S),w(J),y(J,a)):w(S); -y(S,c)}function wh(a){null===La?La=[a]:La.push(a)}function kk(a){md=!0;wh(a)}function db(){if(!Te&&null!==La){Te=!0;var a=0,b=z;try{var c=La;for(z=1;a>=g;e-=g;Ma=1<<32-ta(b)+e|c<q?(v=l,l=null):v=l.sibling;var A=r(e,l,h[q],k);if(null===A){null===l&&(l=v);break}a&&l&&null===A.alternate&&b(e,l);g=f(A,g,q);null===m?n=A:m.sibling=A;m=A;l=v}if(q===h.length)return c(e,l),D&&rb(e,q),n;if(null===l){for(;qv?(A=q,q=null):A=q.sibling;var x=r(e,q,t.value,k);if(null===x){null===q&&(q=A);break}a&&q&&null===x.alternate&&b(e,q);g=f(x,g,v);null===l?m=x:l.sibling=x;l=x;q=A}if(t.done)return c(e,q),D&&rb(e,v),m; -if(null===q){for(;!t.done;v++,t=h.next())t=u(e,t.value,k),null!==t&&(g=f(t,g,v),null===l?m=t:l.sibling=t,l=t);D&&rb(e,v);return m}for(q=d(e,q);!t.done;v++,t=h.next())t=p(q,e,v,t.value,k),null!==t&&(a&&null!==t.alternate&&q.delete(null===t.key?v:t.key),g=f(t,g,v),null===l?m=t:l.sibling=t,l=t);a&&q.forEach(function(a){return b(e,a)});D&&rb(e,v);return m}function w(a,d,f,h){"object"===typeof f&&null!==f&&f.type===Bb&&null===f.key&&(f=f.props.children);if("object"===typeof f&&null!==f){switch(f.$$typeof){case xd:a:{for(var k= -f.key,m=d;null!==m;){if(m.key===k){k=f.type;if(k===Bb){if(7===m.tag){c(a,m.sibling);d=e(m,f.props.children);d.return=a;a=d;break a}}else if(m.elementType===k||"object"===typeof k&&null!==k&&k.$$typeof===Ta&&Kh(k)===m.type){c(a,m.sibling);d=e(m,f.props);d.ref=vc(a,m,f);d.return=a;a=d;break a}c(a,m);break}else b(a,m);m=m.sibling}f.type===Bb?(d=ub(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=wd(f.type,f.key,f.props,null,a.mode,h),h.ref=vc(a,d,f),h.return=a,a=h)}return g(a);case Cb:a:{for(m=f.key;null!== -d;){if(d.key===m)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=hf(f,a.mode,h);d.return=a;a=d}return g(a);case Ta:return m=f._init,w(a,d,m(f._payload),h)}if(cc(f))return x(a,d,f,h);if(ac(f))return F(a,d,f,h);vd(a,f)}return"string"===typeof f&&""!==f||"number"===typeof f?(f=""+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d): -(c(a,d),d=gf(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return w}function vb(a){if(a===wc)throw Error(n(174));return a}function jf(a,b){y(xc,b);y(yc,a);y(Ea,wc);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:oe(null,"");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=oe(b,a)}w(Ea);y(Ea,b)}function Tb(a){w(Ea);w(yc);w(xc)}function Mh(a){vb(xc.current);var b=vb(Ea.current);var c=oe(b,a.type);b!==c&&(y(yc,a),y(Ea,c))}function kf(a){yc.current===a&& -(w(Ea),w(yc))}function yd(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||"$?"===c.data||"$!"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&128))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}function lf(){for(var a=0;ac?c:4;a(!0);var d=uf.transition;uf.transition={};try{a(!1),b()}finally{z=c,uf.transition=d}}function di(){return sa().memoizedState}function rk(a,b, -c){var d=hb(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(ei(a))fi(b,c);else if(c=Ch(a,b,c,d),null!==c){var e=Z();ya(c,a,d,e);gi(c,b,d)}}function pk(a,b,c){var d=hb(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(ei(a))fi(b,e);else{var f=a.alternate;if(0===a.lanes&&(null===f||0===f.lanes)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.hasEagerState=!0;e.eagerState=h;if(ua(h,g)){var k=b.interleaved;null===k?(e.next=e,cf(b)): -(e.next=k.next,k.next=e);b.interleaved=e;return}}catch(m){}finally{}c=Ch(a,b,e,d);null!==c&&(e=Z(),ya(c,a,d,e),gi(c,b,d))}}function ei(a){var b=a.alternate;return a===C||null!==b&&b===C}function fi(a,b){zc=Bd=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function gi(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;xe(a,c)}}function Ub(a,b){try{var c="",d=b;do c+=gj(d),d=d.return;while(d);var e=c}catch(f){e="\nError generating stack: "+f.message+ -"\n"+f.stack}return{value:a,source:b,stack:e,digest:null}}function vf(a,b,c){return{value:a,source:null,stack:null!=c?c:null,digest:null!=b?b:null}}function wf(a,b){try{console.error(b.value)}catch(c){setTimeout(function(){throw c;})}}function hi(a,b,c){c=Pa(-1,c);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){Ed||(Ed=!0,xf=d);wf(a,b)};return c}function ii(a,b,c){c=Pa(-1,c);c.tag=3;var d=a.type.getDerivedStateFromError;if("function"===typeof d){var e=b.value;c.payload=function(){return d(e)}; -c.callback=function(){wf(a,b)}}var f=a.stateNode;null!==f&&"function"===typeof f.componentDidCatch&&(c.callback=function(){wf(a,b);"function"!==typeof d&&(null===ib?ib=new Set([this]):ib.add(this));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:""})});return c}function ji(a,b,c){var d=a.pingCache;if(null===d){d=a.pingCache=new sk;var e=new Set;d.set(b,e)}else e=d.get(b),void 0===e&&(e=new Set,d.set(b,e));e.has(c)||(e.add(c),a=tk.bind(null,a,b,c),b.then(a,a))}function ki(a){do{var b; -if(b=13===a.tag)b=a.memoizedState,b=null!==b?null!==b.dehydrated?!0:!1:!0;if(b)return a;a=a.return}while(null!==a);return null}function li(a,b,c,d,e){if(0===(a.mode&1))return a===b?a.flags|=65536:(a.flags|=128,c.flags|=131072,c.flags&=-52805,1===c.tag&&(null===c.alternate?c.tag=17:(b=Pa(-1,1),b.tag=2,eb(c,b,1))),c.lanes|=1),a;a.flags|=65536;a.lanes=e;return a}function aa(a,b,c,d){b.child=null===a?mi(b,null,c,d):Vb(b,a.child,c,d)}function ni(a,b,c,d,e){c=c.render;var f=b.ref;Sb(b,e);d=of(a,b,c,d,f, -e);c=pf();if(null!==a&&!ha)return b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,Qa(a,b,e);D&&c&&Ue(b);b.flags|=1;aa(a,b,d,e);return b.child}function oi(a,b,c,d,e){if(null===a){var f=c.type;if("function"===typeof f&&!yf(f)&&void 0===f.defaultProps&&null===c.compare&&void 0===c.defaultProps)return b.tag=15,b.type=f,pi(a,b,f,d,e);a=wd(c.type,null,d,b,b.mode,e);a.ref=b.ref;a.return=b;return b.child=a}f=a.child;if(0===(a.lanes&e)){var g=f.memoizedProps;c=c.compare;c=null!==c?c:qc;if(c(g,d)&&a.ref=== -b.ref)return Qa(a,b,e)}b.flags|=1;a=gb(f,d);a.ref=b.ref;a.return=b;return b.child=a}function pi(a,b,c,d,e){if(null!==a){var f=a.memoizedProps;if(qc(f,d)&&a.ref===b.ref)if(ha=!1,b.pendingProps=d=f,0!==(a.lanes&e))0!==(a.flags&131072)&&(ha=!0);else return b.lanes=a.lanes,Qa(a,b,e)}return zf(a,b,c,d,e)}function qi(a,b,c){var d=b.pendingProps,e=d.children,f=null!==a?a.memoizedState:null;if("hidden"===d.mode)if(0===(b.mode&1))b.memoizedState={baseLanes:0,cachePool:null,transitions:null},y(Ga,ba),ba|=c; -else{if(0===(c&1073741824))return a=null!==f?f.baseLanes|c:c,b.lanes=b.childLanes=1073741824,b.memoizedState={baseLanes:a,cachePool:null,transitions:null},b.updateQueue=null,y(Ga,ba),ba|=a,null;b.memoizedState={baseLanes:0,cachePool:null,transitions:null};d=null!==f?f.baseLanes:c;y(Ga,ba);ba|=d}else null!==f?(d=f.baseLanes|c,b.memoizedState=null):d=c,y(Ga,ba),ba|=d;aa(a,b,e,c);return b.child}function ri(a,b){var c=b.ref;if(null===a&&null!==c||null!==a&&a.ref!==c)b.flags|=512,b.flags|=2097152}function zf(a, -b,c,d,e){var f=ea(c)?qb:J.current;f=Nb(b,f);Sb(b,e);c=of(a,b,c,d,f,e);d=pf();if(null!==a&&!ha)return b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,Qa(a,b,e);D&&d&&Ue(b);b.flags|=1;aa(a,b,c,e);return b.child}function si(a,b,c,d,e){if(ea(c)){var f=!0;ld(b)}else f=!1;Sb(b,e);if(null===b.stateNode)Fd(a,b),Hh(b,c,d),ff(b,c,d,e),d=!0;else if(null===a){var g=b.stateNode,h=b.memoizedProps;g.props=h;var k=g.context,m=c.contextType;"object"===typeof m&&null!==m?m=qa(m):(m=ea(c)?qb:J.current,m=Nb(b, -m));var l=c.getDerivedStateFromProps,n="function"===typeof l||"function"===typeof g.getSnapshotBeforeUpdate;n||"function"!==typeof g.UNSAFE_componentWillReceiveProps&&"function"!==typeof g.componentWillReceiveProps||(h!==d||k!==m)&&Ih(b,g,d,m);fb=!1;var r=b.memoizedState;g.state=r;td(b,d,g,e);k=b.memoizedState;h!==d||r!==k||S.current||fb?("function"===typeof l&&(ef(b,c,l,d),k=b.memoizedState),(h=fb||Gh(b,c,h,d,r,k,m))?(n||"function"!==typeof g.UNSAFE_componentWillMount&&"function"!==typeof g.componentWillMount|| -("function"===typeof g.componentWillMount&&g.componentWillMount(),"function"===typeof g.UNSAFE_componentWillMount&&g.UNSAFE_componentWillMount()),"function"===typeof g.componentDidMount&&(b.flags|=4194308)):("function"===typeof g.componentDidMount&&(b.flags|=4194308),b.memoizedProps=d,b.memoizedState=k),g.props=d,g.state=k,g.context=m,d=h):("function"===typeof g.componentDidMount&&(b.flags|=4194308),d=!1)}else{g=b.stateNode;Dh(a,b);h=b.memoizedProps;m=b.type===b.elementType?h:xa(b.type,h);g.props= -m;n=b.pendingProps;r=g.context;k=c.contextType;"object"===typeof k&&null!==k?k=qa(k):(k=ea(c)?qb:J.current,k=Nb(b,k));var p=c.getDerivedStateFromProps;(l="function"===typeof p||"function"===typeof g.getSnapshotBeforeUpdate)||"function"!==typeof g.UNSAFE_componentWillReceiveProps&&"function"!==typeof g.componentWillReceiveProps||(h!==n||r!==k)&&Ih(b,g,d,k);fb=!1;r=b.memoizedState;g.state=r;td(b,d,g,e);var x=b.memoizedState;h!==n||r!==x||S.current||fb?("function"===typeof p&&(ef(b,c,p,d),x=b.memoizedState), -(m=fb||Gh(b,c,m,d,r,x,k)||!1)?(l||"function"!==typeof g.UNSAFE_componentWillUpdate&&"function"!==typeof g.componentWillUpdate||("function"===typeof g.componentWillUpdate&&g.componentWillUpdate(d,x,k),"function"===typeof g.UNSAFE_componentWillUpdate&&g.UNSAFE_componentWillUpdate(d,x,k)),"function"===typeof g.componentDidUpdate&&(b.flags|=4),"function"===typeof g.getSnapshotBeforeUpdate&&(b.flags|=1024)):("function"!==typeof g.componentDidUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|= -4),"function"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=1024),b.memoizedProps=d,b.memoizedState=x),g.props=d,g.state=x,g.context=k,d=m):("function"!==typeof g.componentDidUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=4),"function"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=1024),d=!1)}return Af(a,b,c,d,f,e)}function Af(a,b,c,d,e,f){ri(a,b);var g=0!==(b.flags&128);if(!d&&!g)return e&&vh(b,c,!1), -Qa(a,b,f);d=b.stateNode;uk.current=b;var h=g&&"function"!==typeof c.getDerivedStateFromError?null:d.render();b.flags|=1;null!==a&&g?(b.child=Vb(b,a.child,null,f),b.child=Vb(b,null,h,f)):aa(a,b,h,f);b.memoizedState=d.state;e&&vh(b,c,!0);return b.child}function ti(a){var b=a.stateNode;b.pendingContext?th(a,b.pendingContext,b.pendingContext!==b.context):b.context&&th(a,b.context,!1);jf(a,b.containerInfo)}function ui(a,b,c,d,e){Qb();Ye(e);b.flags|=256;aa(a,b,c,d);return b.child}function Bf(a){return{baseLanes:a, -cachePool:null,transitions:null}}function vi(a,b,c){var d=b.pendingProps,e=G.current,f=!1,g=0!==(b.flags&128),h;(h=g)||(h=null!==a&&null===a.memoizedState?!1:0!==(e&2));if(h)f=!0,b.flags&=-129;else if(null===a||null!==a.memoizedState)e|=1;y(G,e&1);if(null===a){Xe(b);a=b.memoizedState;if(null!==a&&(a=a.dehydrated,null!==a))return 0===(b.mode&1)?b.lanes=1:"$!"===a.data?b.lanes=8:b.lanes=1073741824,null;g=d.children;a=d.fallback;return f?(d=b.mode,f=b.child,g={mode:"hidden",children:g},0===(d&1)&&null!== -f?(f.childLanes=0,f.pendingProps=g):f=Gd(g,d,0,null),a=ub(a,d,c,null),f.return=b,a.return=b,f.sibling=a,b.child=f,b.child.memoizedState=Bf(c),b.memoizedState=Cf,a):Df(b,g)}e=a.memoizedState;if(null!==e&&(h=e.dehydrated,null!==h))return vk(a,b,g,d,h,e,c);if(f){f=d.fallback;g=b.mode;e=a.child;h=e.sibling;var k={mode:"hidden",children:d.children};0===(g&1)&&b.child!==e?(d=b.child,d.childLanes=0,d.pendingProps=k,b.deletions=null):(d=gb(e,k),d.subtreeFlags=e.subtreeFlags&14680064);null!==h?f=gb(h,f):(f= -ub(f,g,c,null),f.flags|=2);f.return=b;d.return=b;d.sibling=f;b.child=d;d=f;f=b.child;g=a.child.memoizedState;g=null===g?Bf(c):{baseLanes:g.baseLanes|c,cachePool:null,transitions:g.transitions};f.memoizedState=g;f.childLanes=a.childLanes&~c;b.memoizedState=Cf;return d}f=a.child;a=f.sibling;d=gb(f,{mode:"visible",children:d.children});0===(b.mode&1)&&(d.lanes=c);d.return=b;d.sibling=null;null!==a&&(c=b.deletions,null===c?(b.deletions=[a],b.flags|=16):c.push(a));b.child=d;b.memoizedState=null;return d} -function Df(a,b,c){b=Gd({mode:"visible",children:b},a.mode,0,null);b.return=a;return a.child=b}function Hd(a,b,c,d){null!==d&&Ye(d);Vb(b,a.child,null,c);a=Df(b,b.pendingProps.children);a.flags|=2;b.memoizedState=null;return a}function vk(a,b,c,d,e,f,g){if(c){if(b.flags&256)return b.flags&=-257,d=vf(Error(n(422))),Hd(a,b,g,d);if(null!==b.memoizedState)return b.child=a.child,b.flags|=128,null;f=d.fallback;e=b.mode;d=Gd({mode:"visible",children:d.children},e,0,null);f=ub(f,e,g,null);f.flags|=2;d.return= -b;f.return=b;d.sibling=f;b.child=d;0!==(b.mode&1)&&Vb(b,a.child,null,g);b.child.memoizedState=Bf(g);b.memoizedState=Cf;return f}if(0===(b.mode&1))return Hd(a,b,g,null);if("$!"===e.data){d=e.nextSibling&&e.nextSibling.dataset;if(d)var h=d.dgst;d=h;f=Error(n(419));d=vf(f,d,void 0);return Hd(a,b,g,d)}h=0!==(g&a.childLanes);if(ha||h){d=O;if(null!==d){switch(g&-g){case 4:e=2;break;case 16:e=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:e= -32;break;case 536870912:e=268435456;break;default:e=0}e=0!==(e&(d.suspendedLanes|g))?0:e;0!==e&&e!==f.retryLane&&(f.retryLane=e,Oa(a,e),ya(d,a,e,-1))}Ef();d=vf(Error(n(421)));return Hd(a,b,g,d)}if("$?"===e.data)return b.flags|=128,b.child=a.child,b=wk.bind(null,a),e._reactRetry=b,null;a=f.treeContext;fa=Ka(e.nextSibling);la=b;D=!0;wa=null;null!==a&&(na[oa++]=Ma,na[oa++]=Na,na[oa++]=sb,Ma=a.id,Na=a.overflow,sb=b);b=Df(b,d.children);b.flags|=4096;return b}function wi(a,b,c){a.lanes|=b;var d=a.alternate; -null!==d&&(d.lanes|=b);bf(a.return,b,c)}function Ff(a,b,c,d,e){var f=a.memoizedState;null===f?a.memoizedState={isBackwards:b,rendering:null,renderingStartTime:0,last:d,tail:c,tailMode:e}:(f.isBackwards=b,f.rendering=null,f.renderingStartTime=0,f.last=d,f.tail=c,f.tailMode=e)}function xi(a,b,c){var d=b.pendingProps,e=d.revealOrder,f=d.tail;aa(a,b,d.children,c);d=G.current;if(0!==(d&2))d=d&1|2,b.flags|=128;else{if(null!==a&&0!==(a.flags&128))a:for(a=b.child;null!==a;){if(13===a.tag)null!==a.memoizedState&& -wi(a,c,b);else if(19===a.tag)wi(a,c,b);else if(null!==a.child){a.child.return=a;a=a.child;continue}if(a===b)break a;for(;null===a.sibling;){if(null===a.return||a.return===b)break a;a=a.return}a.sibling.return=a.return;a=a.sibling}d&=1}y(G,d);if(0===(b.mode&1))b.memoizedState=null;else switch(e){case "forwards":c=b.child;for(e=null;null!==c;)a=c.alternate,null!==a&&null===yd(a)&&(e=c),c=c.sibling;c=e;null===c?(e=b.child,b.child=null):(e=c.sibling,c.sibling=null);Ff(b,!1,e,c,f);break;case "backwards":c= -null;e=b.child;for(b.child=null;null!==e;){a=e.alternate;if(null!==a&&null===yd(a)){b.child=e;break}a=e.sibling;e.sibling=c;c=e;e=a}Ff(b,!0,c,null,f);break;case "together":Ff(b,!1,null,null,void 0);break;default:b.memoizedState=null}return b.child}function Fd(a,b){0===(b.mode&1)&&null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2)}function Qa(a,b,c){null!==a&&(b.dependencies=a.dependencies);ra|=b.lanes;if(0===(c&b.childLanes))return null;if(null!==a&&b.child!==a.child)throw Error(n(153));if(null!== -b.child){a=b.child;c=gb(a,a.pendingProps);b.child=c;for(c.return=b;null!==a.sibling;)a=a.sibling,c=c.sibling=gb(a,a.pendingProps),c.return=b;c.sibling=null}return b.child}function xk(a,b,c){switch(b.tag){case 3:ti(b);Qb();break;case 5:Mh(b);break;case 1:ea(b.type)&&ld(b);break;case 4:jf(b,b.stateNode.containerInfo);break;case 10:var d=b.type._context,e=b.memoizedProps.value;y(rd,d._currentValue);d._currentValue=e;break;case 13:d=b.memoizedState;if(null!==d){if(null!==d.dehydrated)return y(G,G.current& -1),b.flags|=128,null;if(0!==(c&b.child.childLanes))return vi(a,b,c);y(G,G.current&1);a=Qa(a,b,c);return null!==a?a.sibling:null}y(G,G.current&1);break;case 19:d=0!==(c&b.childLanes);if(0!==(a.flags&128)){if(d)return xi(a,b,c);b.flags|=128}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null,e.lastEffect=null);y(G,G.current);if(d)break;else return null;case 22:case 23:return b.lanes=0,qi(a,b,c)}return Qa(a,b,c)}function Dc(a,b){if(!D)switch(a.tailMode){case "hidden":b=a.tail;for(var c=null;null!== +if(3===k||4===k)if(k=g.stateNode.containerInfo,k===e||8===k.nodeType&&k.parentNode===e)return;g=g.return}for(;null!==h;){g=ob(h);if(null===g)return;k=g.tag;if(5===k||6===k){d=f=g;continue a}h=h.parentNode}}d=d.return}wg(function(){var d=f,e=re(c),g=[];a:{var h=fh.get(a);if(void 0!==h){var k=He,m=a;switch(a){case "keypress":if(0===cd(c))break a;case "keydown":case "keyup":k=Vj;break;case "focusin":m="focus";k=Pe;break;case "focusout":m="blur";k=Pe;break;case "beforeblur":case "afterblur":k=Pe;break; +case "click":if(2===c.button)break a;case "auxclick":case "dblclick":case "mousedown":case "mousemove":case "mouseup":case "mouseout":case "mouseover":case "contextmenu":k=ih;break;case "drag":case "dragend":case "dragenter":case "dragexit":case "dragleave":case "dragover":case "dragstart":case "drop":k=Wj;break;case "touchcancel":case "touchend":case "touchmove":case "touchstart":k=Xj;break;case jh:case kh:case lh:k=Yj;break;case mh:k=Zj;break;case "scroll":k=ak;break;case "wheel":k=bk;break;case "copy":case "cut":case "paste":k= +ck;break;case "gotpointercapture":case "lostpointercapture":case "pointercancel":case "pointerdown":case "pointermove":case "pointerout":case "pointerover":case "pointerup":k=nh}var l=0!==(b&4),p=!l&&"scroll"===a,w=l?null!==h?h+"Capture":null:h;l=[];for(var A=d,t;null!==A;){t=A;var M=t.stateNode;5===t.tag&&null!==M&&(t=M,null!==w&&(M=fc(A,w),null!=M&&l.push(tc(A,M,t))));if(p)break;A=A.return}0Mb||(a.current=Se[Mb],Se[Mb]=null,Mb--)} +function y(a,b,c){Mb++;Se[Mb]=a.current;a.current=b}function Nb(a,b){var c=a.type.contextTypes;if(!c)return cb;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function ea(a){a=a.childContextTypes;return null!==a&&void 0!==a}function th(a,b,c){if(J.current!==cb)throw Error(m(168)); +y(J,b);y(S,c)}function uh(a,b,c){var d=a.stateNode;b=b.childContextTypes;if("function"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(m(108,gj(a)||"Unknown",e));return E({},c,d)}function ld(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||cb;pb=J.current;y(J,a);y(S,S.current);return!0}function vh(a,b,c){var d=a.stateNode;if(!d)throw Error(m(169));c?(a=uh(a,b,pb),d.__reactInternalMemoizedMergedChildContext=a,v(S),v(J),y(J,a)):v(S); +y(S,c)}function wh(a){null===La?La=[a]:La.push(a)}function jk(a){md=!0;wh(a)}function db(){if(!Te&&null!==La){Te=!0;var a=0,b=z;try{var c=La;for(z=1;a>=g;e-=g;Ma=1<<32-ta(b)+e|c<t?(q=l,l=null):q=l.sibling;var A=r(e,l,h[t],k);if(null===A){null===l&&(l=q);break}a&&l&&null===A.alternate&&b(e,l);g=f(A,g,t);null===m?n=A:m.sibling=A;m=A;l=q}if(t===h.length)return c(e,l),D&&qb(e,t),n;if(null===l){for(;t< +h.length;t++)l=u(e,h[t],k),null!==l&&(g=f(l,g,t),null===m?n=l:m.sibling=l,m=l);D&&qb(e,t);return n}for(l=d(e,l);tt?(A=q,q=null):A=q.sibling;var x=r(e,q,w.value,k);if(null===x){null===q&&(q=A);break}a&&q&&null===x.alternate&&b(e,q);g=f(x,g,t);null===l?n=x:l.sibling=x;l=x;q=A}if(w.done)return c(e,q),D&&qb(e,t),n;if(null===q){for(;!w.done;t++,w=h.next())w=u(e,w.value,k),null!==w&&(g=f(w,g,t),null===l?n=w:l.sibling=w,l=w);D&&qb(e,t);return n}for(q=d(e,q);!w.done;t++,w=h.next())w=p(q,e,t,w.value,k),null!==w&&(a&&null!==w.alternate&&q.delete(null===w.key?t:w.key),g=f(w,g,t),null===l?n=w:l.sibling= +w,l=w);a&&q.forEach(function(a){return b(e,a)});D&&qb(e,t);return n}function v(a,d,f,h){"object"===typeof f&&null!==f&&f.type===Bb&&null===f.key&&(f=f.props.children);if("object"===typeof f&&null!==f){switch(f.$$typeof){case sd:a:{for(var k=f.key,n=d;null!==n;){if(n.key===k){k=f.type;if(k===Bb){if(7===n.tag){c(a,n.sibling);d=e(n,f.props.children);d.return=a;a=d;break a}}else if(n.elementType===k||"object"===typeof k&&null!==k&&k.$$typeof===Ta&&Ch(k)===n.type){c(a,n.sibling);d=e(n,f.props);d.ref=vc(a, +n,f);d.return=a;a=d;break a}c(a,n);break}else b(a,n);n=n.sibling}f.type===Bb?(d=sb(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=rd(f.type,f.key,f.props,null,a.mode,h),h.ref=vc(a,d,f),h.return=a,a=h)}return g(a);case Cb:a:{for(n=f.key;null!==d;){if(d.key===n)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=$e(f,a.mode,h);d.return=a; +a=d}return g(a);case Ta:return n=f._init,v(a,d,n(f._payload),h)}if(cc(f))return x(a,d,f,h);if(ac(f))return I(a,d,f,h);qd(a,f)}return"string"===typeof f&&""!==f||"number"===typeof f?(f=""+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):(c(a,d),d=Ze(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return v}function af(){bf=Rb=td=null}function cf(a,b){b=ud.current;v(ud);a._currentValue=b}function df(a,b,c){for(;null!==a;){var d=a.alternate;(a.childLanes&b)!==b?(a.childLanes|=b,null!==d&&(d.childLanes|= +b)):null!==d&&(d.childLanes&b)!==b&&(d.childLanes|=b);if(a===c)break;a=a.return}}function Sb(a,b){td=a;bf=Rb=null;a=a.dependencies;null!==a&&null!==a.firstContext&&(0!==(a.lanes&b)&&(ha=!0),a.firstContext=null)}function qa(a){var b=a._currentValue;if(bf!==a)if(a={context:a,memoizedValue:b,next:null},null===Rb){if(null===td)throw Error(m(308));Rb=a;td.dependencies={lanes:0,firstContext:a}}else Rb=Rb.next=a;return b}function ef(a){null===tb?tb=[a]:tb.push(a)}function Eh(a,b,c,d){var e=b.interleaved; +null===e?(c.next=c,ef(b)):(c.next=e.next,e.next=c);b.interleaved=c;return Oa(a,d)}function Oa(a,b){a.lanes|=b;var c=a.alternate;null!==c&&(c.lanes|=b);c=a;for(a=a.return;null!==a;)a.childLanes|=b,c=a.alternate,null!==c&&(c.childLanes|=b),c=a,a=a.return;return 3===c.tag?c.stateNode:null}function ff(a){a.updateQueue={baseState:a.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Fh(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue= +{baseState:a.baseState,firstBaseUpdate:a.firstBaseUpdate,lastBaseUpdate:a.lastBaseUpdate,shared:a.shared,effects:a.effects})}function Pa(a,b){return{eventTime:a,lane:b,tag:0,payload:null,callback:null,next:null}}function fb(a,b,c){var d=a.updateQueue;if(null===d)return null;d=d.shared;if(0!==(p&2)){var e=d.pending;null===e?b.next=b:(b.next=e.next,e.next=b);d.pending=b;return kk(a,c)}e=d.interleaved;null===e?(b.next=b,ef(d)):(b.next=e.next,e.next=b);d.interleaved=b;return Oa(a,c)}function vd(a,b,c){b= +b.updateQueue;if(null!==b&&(b=b.shared,0!==(c&4194240))){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;xe(a,c)}}function Gh(a,b){var c=a.updateQueue,d=a.alternate;if(null!==d&&(d=d.updateQueue,c===d)){var e=null,f=null;c=c.firstBaseUpdate;if(null!==c){do{var g={eventTime:c.eventTime,lane:c.lane,tag:c.tag,payload:c.payload,callback:c.callback,next:null};null===f?e=f=g:f=f.next=g;c=c.next}while(null!==c);null===f?e=f=b:f=f.next=b}else e=f=b;c={baseState:d.baseState,firstBaseUpdate:e,lastBaseUpdate:f, +shared:d.shared,effects:d.effects};a.updateQueue=c;return}a=c.lastBaseUpdate;null===a?c.firstBaseUpdate=b:a.next=b;c.lastBaseUpdate=b}function wd(a,b,c,d){var e=a.updateQueue;gb=!1;var f=e.firstBaseUpdate,g=e.lastBaseUpdate,h=e.shared.pending;if(null!==h){e.shared.pending=null;var k=h,n=k.next;k.next=null;null===g?f=n:g.next=n;g=k;var l=a.alternate;null!==l&&(l=l.updateQueue,h=l.lastBaseUpdate,h!==g&&(null===h?l.firstBaseUpdate=n:h.next=n,l.lastBaseUpdate=k))}if(null!==f){var m=e.baseState;g=0;l= +n=k=null;h=f;do{var r=h.lane,p=h.eventTime;if((d&r)===r){null!==l&&(l=l.next={eventTime:p,lane:0,tag:h.tag,payload:h.payload,callback:h.callback,next:null});a:{var x=a,v=h;r=b;p=c;switch(v.tag){case 1:x=v.payload;if("function"===typeof x){m=x.call(p,m,r);break a}m=x;break a;case 3:x.flags=x.flags&-65537|128;case 0:x=v.payload;r="function"===typeof x?x.call(p,m,r):x;if(null===r||void 0===r)break a;m=E({},m,r);break a;case 2:gb=!0}}null!==h.callback&&0!==h.lane&&(a.flags|=64,r=e.effects,null===r?e.effects= +[h]:r.push(h))}else p={eventTime:p,lane:r,tag:h.tag,payload:h.payload,callback:h.callback,next:null},null===l?(n=l=p,k=m):l=l.next=p,g|=r;h=h.next;if(null===h)if(h=e.shared.pending,null===h)break;else r=h,h=r.next,r.next=null,e.lastBaseUpdate=r,e.shared.pending=null}while(1);null===l&&(k=m);e.baseState=k;e.firstBaseUpdate=n;e.lastBaseUpdate=l;b=e.shared.interleaved;if(null!==b){e=b;do g|=e.lane,e=e.next;while(e!==b)}else null===f&&(e.shared.lanes=0);ra|=g;a.lanes=g;a.memoizedState=m}}function Hh(a, +b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;bc?c:4;a(!0);var d=sf.transition;sf.transition= +{};try{a(!1),b()}finally{z=c,sf.transition=d}}function $h(){return sa().memoizedState}function qk(a,b,c){var d=hb(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(ai(a))bi(b,c);else if(c=Eh(a,b,c,d),null!==c){var e=Z();xa(c,a,d,e);ci(c,b,d)}}function ok(a,b,c){var d=hb(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(ai(a))bi(b,e);else{var f=a.alternate;if(0===a.lanes&&(null===f||0===f.lanes)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState, +h=f(g,c);e.hasEagerState=!0;e.eagerState=h;if(ua(h,g)){var k=b.interleaved;null===k?(e.next=e,ef(b)):(e.next=k.next,k.next=e);b.interleaved=e;return}}catch(n){}finally{}c=Eh(a,b,e,d);null!==c&&(e=Z(),xa(c,a,d,e),ci(c,b,d))}}function ai(a){var b=a.alternate;return a===C||null!==b&&b===C}function bi(a,b){zc=Ad=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function ci(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;xe(a,c)}}function ya(a,b){if(a&& +a.defaultProps){b=E({},b);a=a.defaultProps;for(var c in a)void 0===b[c]&&(b[c]=a[c]);return b}return b}function tf(a,b,c,d){b=a.memoizedState;c=c(d,b);c=null===c||void 0===c?b:E({},b,c);a.memoizedState=c;0===a.lanes&&(a.updateQueue.baseState=c)}function di(a,b,c,d,e,f,g){a=a.stateNode;return"function"===typeof a.shouldComponentUpdate?a.shouldComponentUpdate(d,f,g):b.prototype&&b.prototype.isPureReactComponent?!qc(c,d)||!qc(e,f):!0}function ei(a,b,c){var d=!1,e=cb;var f=b.contextType;"object"===typeof f&& +null!==f?f=qa(f):(e=ea(b)?pb:J.current,d=b.contextTypes,f=(d=null!==d&&void 0!==d)?Nb(a,e):cb);b=new b(c,f);a.memoizedState=null!==b.state&&void 0!==b.state?b.state:null;b.updater=Dd;a.stateNode=b;b._reactInternals=a;d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=e,a.__reactInternalMemoizedMaskedChildContext=f);return b}function fi(a,b,c,d){a=b.state;"function"===typeof b.componentWillReceiveProps&&b.componentWillReceiveProps(c,d);"function"===typeof b.UNSAFE_componentWillReceiveProps&& +b.UNSAFE_componentWillReceiveProps(c,d);b.state!==a&&Dd.enqueueReplaceState(b,b.state,null)}function uf(a,b,c,d){var e=a.stateNode;e.props=c;e.state=a.memoizedState;e.refs={};ff(a);var f=b.contextType;"object"===typeof f&&null!==f?e.context=qa(f):(f=ea(b)?pb:J.current,e.context=Nb(a,f));e.state=a.memoizedState;f=b.getDerivedStateFromProps;"function"===typeof f&&(tf(a,b,f,c),e.state=a.memoizedState);"function"===typeof b.getDerivedStateFromProps||"function"===typeof e.getSnapshotBeforeUpdate||"function"!== +typeof e.UNSAFE_componentWillMount&&"function"!==typeof e.componentWillMount||(b=e.state,"function"===typeof e.componentWillMount&&e.componentWillMount(),"function"===typeof e.UNSAFE_componentWillMount&&e.UNSAFE_componentWillMount(),b!==e.state&&Dd.enqueueReplaceState(e,e.state,null),wd(a,c,e,d),e.state=a.memoizedState);"function"===typeof e.componentDidMount&&(a.flags|=4194308)}function Ub(a,b){try{var c="",d=b;do c+=fj(d),d=d.return;while(d);var e=c}catch(f){e="\nError generating stack: "+f.message+ +"\n"+f.stack}return{value:a,source:b,stack:e,digest:null}}function vf(a,b,c){return{value:a,source:null,stack:null!=c?c:null,digest:null!=b?b:null}}function wf(a,b){try{console.error(b.value)}catch(c){setTimeout(function(){throw c;})}}function gi(a,b,c){c=Pa(-1,c);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){Ed||(Ed=!0,xf=d);wf(a,b)};return c}function hi(a,b,c){c=Pa(-1,c);c.tag=3;var d=a.type.getDerivedStateFromError;if("function"===typeof d){var e=b.value;c.payload=function(){return d(e)}; +c.callback=function(){wf(a,b)}}var f=a.stateNode;null!==f&&"function"===typeof f.componentDidCatch&&(c.callback=function(){wf(a,b);"function"!==typeof d&&(null===ib?ib=new Set([this]):ib.add(this));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:""})});return c}function ii(a,b,c){var d=a.pingCache;if(null===d){d=a.pingCache=new rk;var e=new Set;d.set(b,e)}else e=d.get(b),void 0===e&&(e=new Set,d.set(b,e));e.has(c)||(e.add(c),a=sk.bind(null,a,b,c),b.then(a,a))}function ji(a){do{var b; +if(b=13===a.tag)b=a.memoizedState,b=null!==b?null!==b.dehydrated?!0:!1:!0;if(b)return a;a=a.return}while(null!==a);return null}function ki(a,b,c,d,e){if(0===(a.mode&1))return a===b?a.flags|=65536:(a.flags|=128,c.flags|=131072,c.flags&=-52805,1===c.tag&&(null===c.alternate?c.tag=17:(b=Pa(-1,1),b.tag=2,fb(c,b,1))),c.lanes|=1),a;a.flags|=65536;a.lanes=e;return a}function aa(a,b,c,d){b.child=null===a?li(b,null,c,d):Vb(b,a.child,c,d)}function mi(a,b,c,d,e){c=c.render;var f=b.ref;Sb(b,e);d=mf(a,b,c,d,f, +e);c=nf();if(null!==a&&!ha)return b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,Qa(a,b,e);D&&c&&Ue(b);b.flags|=1;aa(a,b,d,e);return b.child}function ni(a,b,c,d,e){if(null===a){var f=c.type;if("function"===typeof f&&!yf(f)&&void 0===f.defaultProps&&null===c.compare&&void 0===c.defaultProps)return b.tag=15,b.type=f,oi(a,b,f,d,e);a=rd(c.type,null,d,b,b.mode,e);a.ref=b.ref;a.return=b;return b.child=a}f=a.child;if(0===(a.lanes&e)){var g=f.memoizedProps;c=c.compare;c=null!==c?c:qc;if(c(g,d)&&a.ref=== +b.ref)return Qa(a,b,e)}b.flags|=1;a=eb(f,d);a.ref=b.ref;a.return=b;return b.child=a}function oi(a,b,c,d,e){if(null!==a){var f=a.memoizedProps;if(qc(f,d)&&a.ref===b.ref)if(ha=!1,b.pendingProps=d=f,0!==(a.lanes&e))0!==(a.flags&131072)&&(ha=!0);else return b.lanes=a.lanes,Qa(a,b,e)}return zf(a,b,c,d,e)}function pi(a,b,c){var d=b.pendingProps,e=d.children,f=null!==a?a.memoizedState:null;if("hidden"===d.mode)if(0===(b.mode&1))b.memoizedState={baseLanes:0,cachePool:null,transitions:null},y(Ga,ba),ba|=c; +else{if(0===(c&1073741824))return a=null!==f?f.baseLanes|c:c,b.lanes=b.childLanes=1073741824,b.memoizedState={baseLanes:a,cachePool:null,transitions:null},b.updateQueue=null,y(Ga,ba),ba|=a,null;b.memoizedState={baseLanes:0,cachePool:null,transitions:null};d=null!==f?f.baseLanes:c;y(Ga,ba);ba|=d}else null!==f?(d=f.baseLanes|c,b.memoizedState=null):d=c,y(Ga,ba),ba|=d;aa(a,b,e,c);return b.child}function qi(a,b){var c=b.ref;if(null===a&&null!==c||null!==a&&a.ref!==c)b.flags|=512,b.flags|=2097152}function zf(a, +b,c,d,e){var f=ea(c)?pb:J.current;f=Nb(b,f);Sb(b,e);c=mf(a,b,c,d,f,e);d=nf();if(null!==a&&!ha)return b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,Qa(a,b,e);D&&d&&Ue(b);b.flags|=1;aa(a,b,c,e);return b.child}function ri(a,b,c,d,e){if(ea(c)){var f=!0;ld(b)}else f=!1;Sb(b,e);if(null===b.stateNode)Fd(a,b),ei(b,c,d),uf(b,c,d,e),d=!0;else if(null===a){var g=b.stateNode,h=b.memoizedProps;g.props=h;var k=g.context,n=c.contextType;"object"===typeof n&&null!==n?n=qa(n):(n=ea(c)?pb:J.current,n=Nb(b, +n));var l=c.getDerivedStateFromProps,m="function"===typeof l||"function"===typeof g.getSnapshotBeforeUpdate;m||"function"!==typeof g.UNSAFE_componentWillReceiveProps&&"function"!==typeof g.componentWillReceiveProps||(h!==d||k!==n)&&fi(b,g,d,n);gb=!1;var r=b.memoizedState;g.state=r;wd(b,d,g,e);k=b.memoizedState;h!==d||r!==k||S.current||gb?("function"===typeof l&&(tf(b,c,l,d),k=b.memoizedState),(h=gb||di(b,c,h,d,r,k,n))?(m||"function"!==typeof g.UNSAFE_componentWillMount&&"function"!==typeof g.componentWillMount|| +("function"===typeof g.componentWillMount&&g.componentWillMount(),"function"===typeof g.UNSAFE_componentWillMount&&g.UNSAFE_componentWillMount()),"function"===typeof g.componentDidMount&&(b.flags|=4194308)):("function"===typeof g.componentDidMount&&(b.flags|=4194308),b.memoizedProps=d,b.memoizedState=k),g.props=d,g.state=k,g.context=n,d=h):("function"===typeof g.componentDidMount&&(b.flags|=4194308),d=!1)}else{g=b.stateNode;Fh(a,b);h=b.memoizedProps;n=b.type===b.elementType?h:ya(b.type,h);g.props= +n;m=b.pendingProps;r=g.context;k=c.contextType;"object"===typeof k&&null!==k?k=qa(k):(k=ea(c)?pb:J.current,k=Nb(b,k));var p=c.getDerivedStateFromProps;(l="function"===typeof p||"function"===typeof g.getSnapshotBeforeUpdate)||"function"!==typeof g.UNSAFE_componentWillReceiveProps&&"function"!==typeof g.componentWillReceiveProps||(h!==m||r!==k)&&fi(b,g,d,k);gb=!1;r=b.memoizedState;g.state=r;wd(b,d,g,e);var x=b.memoizedState;h!==m||r!==x||S.current||gb?("function"===typeof p&&(tf(b,c,p,d),x=b.memoizedState), +(n=gb||di(b,c,n,d,r,x,k)||!1)?(l||"function"!==typeof g.UNSAFE_componentWillUpdate&&"function"!==typeof g.componentWillUpdate||("function"===typeof g.componentWillUpdate&&g.componentWillUpdate(d,x,k),"function"===typeof g.UNSAFE_componentWillUpdate&&g.UNSAFE_componentWillUpdate(d,x,k)),"function"===typeof g.componentDidUpdate&&(b.flags|=4),"function"===typeof g.getSnapshotBeforeUpdate&&(b.flags|=1024)):("function"!==typeof g.componentDidUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|= +4),"function"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=1024),b.memoizedProps=d,b.memoizedState=x),g.props=d,g.state=x,g.context=k,d=n):("function"!==typeof g.componentDidUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=4),"function"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=1024),d=!1)}return Af(a,b,c,d,f,e)}function Af(a,b,c,d,e,f){qi(a,b);var g=0!==(b.flags&128);if(!d&&!g)return e&&vh(b,c,!1), +Qa(a,b,f);d=b.stateNode;tk.current=b;var h=g&&"function"!==typeof c.getDerivedStateFromError?null:d.render();b.flags|=1;null!==a&&g?(b.child=Vb(b,a.child,null,f),b.child=Vb(b,null,h,f)):aa(a,b,h,f);b.memoizedState=d.state;e&&vh(b,c,!0);return b.child}function si(a){var b=a.stateNode;b.pendingContext?th(a,b.pendingContext,b.pendingContext!==b.context):b.context&&th(a,b.context,!1);gf(a,b.containerInfo)}function ti(a,b,c,d,e){Qb();Ye(e);b.flags|=256;aa(a,b,c,d);return b.child}function Bf(a){return{baseLanes:a, +cachePool:null,transitions:null}}function ui(a,b,c){var d=b.pendingProps,e=F.current,f=!1,g=0!==(b.flags&128),h;(h=g)||(h=null!==a&&null===a.memoizedState?!1:0!==(e&2));if(h)f=!0,b.flags&=-129;else if(null===a||null!==a.memoizedState)e|=1;y(F,e&1);if(null===a){Xe(b);a=b.memoizedState;if(null!==a&&(a=a.dehydrated,null!==a))return 0===(b.mode&1)?b.lanes=1:"$!"===a.data?b.lanes=8:b.lanes=1073741824,null;g=d.children;a=d.fallback;return f?(d=b.mode,f=b.child,g={mode:"hidden",children:g},0===(d&1)&&null!== +f?(f.childLanes=0,f.pendingProps=g):f=Gd(g,d,0,null),a=sb(a,d,c,null),f.return=b,a.return=b,f.sibling=a,b.child=f,b.child.memoizedState=Bf(c),b.memoizedState=Cf,a):Df(b,g)}e=a.memoizedState;if(null!==e&&(h=e.dehydrated,null!==h))return uk(a,b,g,d,h,e,c);if(f){f=d.fallback;g=b.mode;e=a.child;h=e.sibling;var k={mode:"hidden",children:d.children};0===(g&1)&&b.child!==e?(d=b.child,d.childLanes=0,d.pendingProps=k,b.deletions=null):(d=eb(e,k),d.subtreeFlags=e.subtreeFlags&14680064);null!==h?f=eb(h,f):(f= +sb(f,g,c,null),f.flags|=2);f.return=b;d.return=b;d.sibling=f;b.child=d;d=f;f=b.child;g=a.child.memoizedState;g=null===g?Bf(c):{baseLanes:g.baseLanes|c,cachePool:null,transitions:g.transitions};f.memoizedState=g;f.childLanes=a.childLanes&~c;b.memoizedState=Cf;return d}f=a.child;a=f.sibling;d=eb(f,{mode:"visible",children:d.children});0===(b.mode&1)&&(d.lanes=c);d.return=b;d.sibling=null;null!==a&&(c=b.deletions,null===c?(b.deletions=[a],b.flags|=16):c.push(a));b.child=d;b.memoizedState=null;return d} +function Df(a,b,c){b=Gd({mode:"visible",children:b},a.mode,0,null);b.return=a;return a.child=b}function Hd(a,b,c,d){null!==d&&Ye(d);Vb(b,a.child,null,c);a=Df(b,b.pendingProps.children);a.flags|=2;b.memoizedState=null;return a}function uk(a,b,c,d,e,f,g){if(c){if(b.flags&256)return b.flags&=-257,d=vf(Error(m(422))),Hd(a,b,g,d);if(null!==b.memoizedState)return b.child=a.child,b.flags|=128,null;f=d.fallback;e=b.mode;d=Gd({mode:"visible",children:d.children},e,0,null);f=sb(f,e,g,null);f.flags|=2;d.return= +b;f.return=b;d.sibling=f;b.child=d;0!==(b.mode&1)&&Vb(b,a.child,null,g);b.child.memoizedState=Bf(g);b.memoizedState=Cf;return f}if(0===(b.mode&1))return Hd(a,b,g,null);if("$!"===e.data){d=e.nextSibling&&e.nextSibling.dataset;if(d)var h=d.dgst;d=h;f=Error(m(419));d=vf(f,d,void 0);return Hd(a,b,g,d)}h=0!==(g&a.childLanes);if(ha||h){d=O;if(null!==d){switch(g&-g){case 4:e=2;break;case 16:e=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:e= +32;break;case 536870912:e=268435456;break;default:e=0}e=0!==(e&(d.suspendedLanes|g))?0:e;0!==e&&e!==f.retryLane&&(f.retryLane=e,Oa(a,e),xa(d,a,e,-1))}Ef();d=vf(Error(m(421)));return Hd(a,b,g,d)}if("$?"===e.data)return b.flags|=128,b.child=a.child,b=vk.bind(null,a),e._reactRetry=b,null;a=f.treeContext;fa=Ka(e.nextSibling);la=b;D=!0;wa=null;null!==a&&(na[oa++]=Ma,na[oa++]=Na,na[oa++]=rb,Ma=a.id,Na=a.overflow,rb=b);b=Df(b,d.children);b.flags|=4096;return b}function vi(a,b,c){a.lanes|=b;var d=a.alternate; +null!==d&&(d.lanes|=b);df(a.return,b,c)}function Ff(a,b,c,d,e){var f=a.memoizedState;null===f?a.memoizedState={isBackwards:b,rendering:null,renderingStartTime:0,last:d,tail:c,tailMode:e}:(f.isBackwards=b,f.rendering=null,f.renderingStartTime=0,f.last=d,f.tail=c,f.tailMode=e)}function wi(a,b,c){var d=b.pendingProps,e=d.revealOrder,f=d.tail;aa(a,b,d.children,c);d=F.current;if(0!==(d&2))d=d&1|2,b.flags|=128;else{if(null!==a&&0!==(a.flags&128))a:for(a=b.child;null!==a;){if(13===a.tag)null!==a.memoizedState&& +vi(a,c,b);else if(19===a.tag)vi(a,c,b);else if(null!==a.child){a.child.return=a;a=a.child;continue}if(a===b)break a;for(;null===a.sibling;){if(null===a.return||a.return===b)break a;a=a.return}a.sibling.return=a.return;a=a.sibling}d&=1}y(F,d);if(0===(b.mode&1))b.memoizedState=null;else switch(e){case "forwards":c=b.child;for(e=null;null!==c;)a=c.alternate,null!==a&&null===xd(a)&&(e=c),c=c.sibling;c=e;null===c?(e=b.child,b.child=null):(e=c.sibling,c.sibling=null);Ff(b,!1,e,c,f);break;case "backwards":c= +null;e=b.child;for(b.child=null;null!==e;){a=e.alternate;if(null!==a&&null===xd(a)){b.child=e;break}a=e.sibling;e.sibling=c;c=e;e=a}Ff(b,!0,c,null,f);break;case "together":Ff(b,!1,null,null,void 0);break;default:b.memoizedState=null}return b.child}function Fd(a,b){0===(b.mode&1)&&null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2)}function Qa(a,b,c){null!==a&&(b.dependencies=a.dependencies);ra|=b.lanes;if(0===(c&b.childLanes))return null;if(null!==a&&b.child!==a.child)throw Error(m(153));if(null!== +b.child){a=b.child;c=eb(a,a.pendingProps);b.child=c;for(c.return=b;null!==a.sibling;)a=a.sibling,c=c.sibling=eb(a,a.pendingProps),c.return=b;c.sibling=null}return b.child}function wk(a,b,c){switch(b.tag){case 3:si(b);Qb();break;case 5:Ih(b);break;case 1:ea(b.type)&&ld(b);break;case 4:gf(b,b.stateNode.containerInfo);break;case 10:var d=b.type._context,e=b.memoizedProps.value;y(ud,d._currentValue);d._currentValue=e;break;case 13:d=b.memoizedState;if(null!==d){if(null!==d.dehydrated)return y(F,F.current& +1),b.flags|=128,null;if(0!==(c&b.child.childLanes))return ui(a,b,c);y(F,F.current&1);a=Qa(a,b,c);return null!==a?a.sibling:null}y(F,F.current&1);break;case 19:d=0!==(c&b.childLanes);if(0!==(a.flags&128)){if(d)return wi(a,b,c);b.flags|=128}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null,e.lastEffect=null);y(F,F.current);if(d)break;else return null;case 22:case 23:return b.lanes=0,pi(a,b,c)}return Qa(a,b,c)}function Dc(a,b){if(!D)switch(a.tailMode){case "hidden":b=a.tail;for(var c=null;null!== b;)null!==b.alternate&&(c=b),b=b.sibling;null===c?a.tail=null:c.sibling=null;break;case "collapsed":c=a.tail;for(var d=null;null!==c;)null!==c.alternate&&(d=c),c=c.sibling;null===d?b||null===a.tail?a.tail=null:a.tail.sibling=null:d.sibling=null}}function W(a){var b=null!==a.alternate&&a.alternate.child===a.child,c=0,d=0;if(b)for(var e=a.child;null!==e;)c|=e.lanes|e.childLanes,d|=e.subtreeFlags&14680064,d|=e.flags&14680064,e.return=a,e=e.sibling;else for(e=a.child;null!==e;)c|=e.lanes|e.childLanes, -d|=e.subtreeFlags,d|=e.flags,e.return=a,e=e.sibling;a.subtreeFlags|=d;a.childLanes=c;return b}function yk(a,b,c){var d=b.pendingProps;Ve(b);switch(b.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return W(b),null;case 1:return ea(b.type)&&(w(S),w(J)),W(b),null;case 3:d=b.stateNode;Tb();w(S);w(J);lf();d.pendingContext&&(d.context=d.pendingContext,d.pendingContext=null);if(null===a||null===a.child)pd(b)?b.flags|=4:null===a||a.memoizedState.isDehydrated&&0===(b.flags& -256)||(b.flags|=1024,null!==wa&&(Gf(wa),wa=null));yi(a,b);W(b);return null;case 5:kf(b);var e=vb(xc.current);c=b.type;if(null!==a&&null!=b.stateNode)zk(a,b,c,d,e),a.ref!==b.ref&&(b.flags|=512,b.flags|=2097152);else{if(!d){if(null===b.stateNode)throw Error(n(166));W(b);return null}a=vb(Ea.current);if(pd(b)){d=b.stateNode;c=b.type;var f=b.memoizedProps;d[Da]=b;d[uc]=f;a=0!==(b.mode&1);switch(c){case "dialog":B("cancel",d);B("close",d);break;case "iframe":case "object":case "embed":B("load",d);break; +d|=e.subtreeFlags,d|=e.flags,e.return=a,e=e.sibling;a.subtreeFlags|=d;a.childLanes=c;return b}function xk(a,b,c){var d=b.pendingProps;Ve(b);switch(b.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return W(b),null;case 1:return ea(b.type)&&(v(S),v(J)),W(b),null;case 3:d=b.stateNode;Tb();v(S);v(J);jf();d.pendingContext&&(d.context=d.pendingContext,d.pendingContext=null);if(null===a||null===a.child)pd(b)?b.flags|=4:null===a||a.memoizedState.isDehydrated&&0===(b.flags& +256)||(b.flags|=1024,null!==wa&&(Gf(wa),wa=null));xi(a,b);W(b);return null;case 5:hf(b);var e=ub(xc.current);c=b.type;if(null!==a&&null!=b.stateNode)yk(a,b,c,d,e),a.ref!==b.ref&&(b.flags|=512,b.flags|=2097152);else{if(!d){if(null===b.stateNode)throw Error(m(166));W(b);return null}a=ub(Ea.current);if(pd(b)){d=b.stateNode;c=b.type;var f=b.memoizedProps;d[Da]=b;d[uc]=f;a=0!==(b.mode&1);switch(c){case "dialog":B("cancel",d);B("close",d);break;case "iframe":case "object":case "embed":B("load",d);break; case "video":case "audio":for(e=0;e\x3c/script>",a=a.removeChild(a.firstChild)):"string"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),"select"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[Da]=b;a[uc]=d;Ak(a,b,!1,!1);b.stateNode=a;a:{g=qe(c,d);switch(c){case "dialog":B("cancel",a);B("close",a);e=d;break;case "iframe":case "object":case "embed":B("load",a);e=d;break; +a&&(a=qg(c));"http://www.w3.org/1999/xhtml"===a?"script"===c?(a=g.createElement("div"),a.innerHTML="