├── .gitignore ├── README.md ├── demo ├── basic.html ├── dark-theme.html ├── extra-styles-urls.html ├── extra-styles.html ├── go-to-nameddest.html ├── opened-findbar.html ├── pdf-data-load.html ├── viewer-custom-theme.css └── viewer-prebuilt-from-npm-package.html ├── index.html ├── package.json ├── pnpm-lock.yaml ├── src ├── elementReady.ts ├── pdfjs-viewer-element.ts └── vite-env.d.ts ├── tests ├── basic.test.ts └── utils.ts ├── tsconfig.json ├── tsconfig.node.json ├── types ├── elementReady.d.ts └── pdfjs-viewer-element.d.ts └── vite.config.ts /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | pnpm-debug.log* 8 | lerna-debug.log* 9 | 10 | node_modules 11 | public 12 | dist 13 | dist-ssr 14 | *.local 15 | 16 | # Editor directories and files 17 | .vscode/* 18 | !.vscode/extensions.json 19 | .idea 20 | .DS_Store 21 | *.suo 22 | *.ntvs* 23 | *.njsproj 24 | *.sln 25 | *.sw? 26 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

2 | 3 |

4 |

pdfjs-viewer-element

5 | 6 | The simplest integration of [PDF.js default viewer](https://mozilla.github.io/pdf.js/web/viewer.html) using the `iframe` element and web component. 7 | The package provides a custom element, based on PDF.js [viewer options](https://github.com/mozilla/pdf.js/wiki/Viewer-options) and [URL parameters](https://github.com/mozilla/pdf.js/wiki/Debugging-PDF.js#url-parameters) API. 8 | Supported in all [major browsers](https://caniuse.com/custom-elementsv1), and works with most [JS frameworks](https://custom-elements-everywhere.com/). 9 | 10 | See [demo pages](https://github.com/alekswebnet/pdfjs-viewer-element/tree/master/demo) for various usecases. 11 | See [live examples](https://alekswebnet.github.io/pdfjs-viewer-element/#demo) of usage with frameworks. 12 | 13 | ## Features 14 | 15 | - Simple PDF.js viewer integration to any web application 16 | - PDF.js viewer options and parameters support, access to the viewer application instance 17 | - Ability to customize viewer styles and themes 18 | 19 | ## How it works 20 | 21 | **⚠️ This is an important part, please read this FIRST !!!** 22 | 23 | **You should download and place the PDF.js prebuilt files in the project.** 24 | 25 | `pdfjs-viewer-element` requires PDF.js [prebuilt](http://mozilla.github.io/pdf.js/getting_started/), that includes the generic build of PDF.js and the viewer. 26 | 27 | The prebuilt comes with each PDF.js release. 28 | All v4 and v3 [releases](https://github.com/mozilla/pdf.js/releases) are supported. 29 | 30 | Then specify the path to the directory with the `viewer-path` property (`/pdfjs` by default) and PDF file URL with `src` property (should refer to the [same origin](https://github.com/mozilla/pdf.js/wiki/Frequently-Asked-Questions#can-i-load-a-pdf-from-another-server-cross-domain-request)). 31 | 32 | ## Status 33 | 34 | [![npm version](https://img.shields.io/npm/v/pdfjs-viewer-element?logo=npm&logoColor=fff)](https://www.npmjs.com/package/pdfjs-viewer-element) 35 | [![Package Quality](https://packagequality.com/shield/pdfjs-viewer-element.svg)](https://packagequality.com/#?package=pdfjs-viewer-element) 36 | [![Published on webcomponents.org](https://img.shields.io/badge/webcomponents.org-published-blue.svg)](https://www.webcomponents.org/element/pdfjs-viewer-element) 37 | 38 | ## Docs 39 | 40 | [Getting started](https://alekswebnet.github.io/pdfjs-viewer-element/) 41 | 42 | [API playground](https://alekswebnet.github.io/pdfjs-viewer-element/#api) 43 | 44 | [Live examples](https://alekswebnet.github.io/pdfjs-viewer-element/#demo) 45 | 46 | [Demo pages](https://github.com/alekswebnet/pdfjs-viewer-element/tree/master/demo) 47 | 48 | ## Install 49 | 50 | Using module bundlers: 51 | 52 | ```bash 53 | # With npm 54 | npm install pdfjs-viewer-element 55 | # With yarn 56 | yarn add pdfjs-viewer-element 57 | # With pnpm 58 | pnpm add pdfjs-viewer-element 59 | ``` 60 | 61 | ```javascript 62 | import 'pdfjs-viewer-element' 63 | ``` 64 | 65 | Using browser: 66 | 67 | ```html 68 | 69 | ``` 70 | 71 | ## Usage 72 | 73 | ```html 74 | 75 | ``` 76 | 77 | ## Attributes 78 | 79 | `src` - PDF file URL, should refer to the [same origin](https://github.com/mozilla/pdf.js/wiki/Frequently-Asked-Questions#can-i-load-a-pdf-from-another-server-cross-domain-request) 80 | 81 | `viewer-path` - Path to PDF.js [prebuilt](http://mozilla.github.io/pdf.js/getting_started/) 82 | 83 | `page` - Page number. 84 | 85 | `nameddest` - Go to a named destination. 86 | 87 | `search` - Search text. 88 | 89 | `phrase` - Search by phrase, `true` to enable. 90 | 91 | `zoom` - Zoom level. 92 | 93 | `pagemode` - Page mode, `thumbs | bookmarks | attachments | layers | none`. 94 | 95 | `disable-worker` - Disables the worker, `true` to enable. 96 | 97 | `text-layer` - Disables or reveals the text layer that is used for text selection, `off | visible | shadow | hover`. 98 | 99 | `disable-font-face` - Disables standard `@font-face` font loading and uses the internal font renderer instead, `true` to enable. 100 | 101 | `disable-range` - Disables HTTP range requests when fetching the document, `true` to enable. 102 | 103 | `disable-stream` - Disables streaming when fetching the document, `true` to enable. 104 | 105 | `disable-auto-fetch`- Disables auto fetching of the document; only gets necessary data to display the current view. Note: streaming also needs to be disabled for this to have any effect, `true` to enable. 106 | 107 | `verbosity`- Specifies the verbosity level of console messages. `0` - only errors, `1` - warnings and errors, `5` - warnings, errors and information messages. 108 | 109 | `locale` - Specifies which language to use in the viewer UI, `en-US | ...`. [Available locales](https://github.com/mozilla/pdf.js/tree/master/l10n) 110 | 111 | `viewer-css-theme` - Apply automatic, light, or dark theme, `AUTOMATIC | LIGHT | DARK` 112 | 113 | `viewer-extra-styles` - Add your CSS rules to the viewer application, pass a string with styles. 114 | 115 | `viewer-extra-styles-urls` - Add external CSS files to the viewer application, pass an array with URLs. 116 | 117 | Play with attributes on [Api docs page](https://alekswebnet.github.io/pdfjs-viewer-element/#api). 118 | 119 | ## Viewer CSS theme 120 | 121 | Use `viewer-css-theme` attribute to set light or dark theme manually: 122 | 123 | ```html 124 | 128 | 129 | ``` 130 | 131 | ## Viewer custom styles 132 | 133 | You can add your own CSS rules to the viewer application using `viewer-extra-styles` or `viewer-extra-styles-urls` attribute: 134 | 135 | ```html 136 | 141 | 142 | ``` 143 | Build your own theme with viewer's custom variables and `viewer-extra-styles-urls` attribute: 144 | 145 | ```css 146 | :root { 147 | --main-color: #5755FE; 148 | --toolbar-icon-bg-color: #0200a8; 149 | --field-color: #5755FE; 150 | --separator-color: #5755FE; 151 | --toolbar-border-color: #5755FE; 152 | --field-border-color: #5755FE; 153 | --toolbar-bg-color: rgba(139, 147, 255, .1); 154 | --body-bg-color: rgba(255, 247, 252, .7); 155 | --button-hover-color: rgba(139, 147, 255, .1); 156 | --toolbar-icon-hover-bg-color: #0200a8; 157 | --toggled-btn-color: #0200a8; 158 | --toggled-btn-bg-color: rgba(139, 147, 255, .1); 159 | --toggled-hover-active-btn-color: #5755FE; 160 | --doorhanger-hover-bg-color: rgba(139, 147, 255, .1); 161 | --doorhanger-hover-color: #0200a8; 162 | --dropdown-btn-bg-color: rgba(139, 147, 255, .1); 163 | } 164 | ``` 165 | 166 | ## PDF.js Viewer Application 167 | 168 | `initialize` - using this method you can access PDFViewerApplication and use methods and events of PDF.js default viewer 169 | 170 | ```html 171 | 172 | ``` 173 | 174 | ```javascript 175 | const viewer = document.querySelector('pdfjs-viewer-element') 176 | // Wait for the viewer initialization, receive PDFViewerApplication 177 | const viewerApp = await viewer.initialize() 178 | // Open PDF file data using Uint8Array instead of URL 179 | viewerApp.open({ data: pdfData }) 180 | ``` 181 | 182 | ## Known issues 183 | 184 | ### The `.mjs` files support 185 | 186 | Since v4 PDF.js requires `.mjs` files support, make sure your server has it. 187 | 188 | In case of `nginx` this may causes to errors, see https://github.com/mozilla/pdf.js/issues/17296 189 | 190 | Add `.mjs` files support for `nginx` example: 191 | 192 | ```bash 193 | server { 194 | # ... 195 | 196 | location / { 197 | root /usr/share/nginx/html; 198 | index index.html; 199 | 200 | location ~* \.mjs$ { 201 | types { 202 | text/javascript mjs; 203 | } 204 | } 205 | } 206 | } 207 | ``` 208 | 209 | ### Problem with range requests / streaming 210 | 211 | Sometimes a PDF file fails to load when working with range requests / streaming. 212 | If you encounter this issue, you can try disabling the broken functionality of PDF.js: 213 | 214 | `disable-range="true"` 215 | 216 | 217 | ## License 218 | [MIT](http://opensource.org/licenses/MIT) 219 | -------------------------------------------------------------------------------- /demo/basic.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | pdfjs-viewer-element | Basic demo 7 | 8 | 14 | 15 | 16 | 17 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /demo/dark-theme.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | pdfjs-viewer-element | Dark theme demo 7 | 8 | 14 | 15 | 16 | 17 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /demo/extra-styles-urls.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | pdfjs-viewer-element | Extra styles demo 7 | 8 | 14 | 15 | 16 | 17 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /demo/extra-styles.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | pdfjs-viewer-element | Extra styles demo 7 | 8 | 14 | 15 | 16 | 17 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /demo/go-to-nameddest.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | pdfjs-viewer-element | Disable font face demo 7 | 8 | 14 | 15 | 16 | 17 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /demo/opened-findbar.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | pdfjs-viewer-element | Opened find bar demo 7 | 8 | 14 | 15 | 16 | 17 | 22 | 23 | 24 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /demo/pdf-data-load.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | pdfjs-viewer-element | Basic demo 7 | 8 | 14 | 15 | 16 | 17 | 21 | 22 | 23 | 48 | 49 | 50 | -------------------------------------------------------------------------------- /demo/viewer-custom-theme.css: -------------------------------------------------------------------------------- 1 | :root { 2 | --main-color: #5755FE; 3 | --toolbar-icon-bg-color: #0200a8; 4 | --field-color: #5755FE; 5 | --separator-color: #5755FE; 6 | --toolbar-border-color: #5755FE; 7 | --field-border-color: #5755FE; 8 | --toolbar-bg-color: rgba(139, 147, 255, .1); 9 | --body-bg-color: rgba(255, 247, 252, .7); 10 | --button-hover-color: rgba(139, 147, 255, .1); 11 | --toolbar-icon-hover-bg-color: #0200a8; 12 | --toggled-btn-color: #0200a8; 13 | --toggled-btn-bg-color: rgba(139, 147, 255, .1); 14 | --toggled-hover-active-btn-color: #5755FE; 15 | --doorhanger-hover-bg-color: rgba(139, 147, 255, .1); 16 | --doorhanger-hover-color: #0200a8; 17 | --dropdown-btn-bg-color: rgba(139, 147, 255, .1); 18 | } -------------------------------------------------------------------------------- /demo/viewer-prebuilt-from-npm-package.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | pdfjs-viewer-element | Viewer prebuilt from npm package demo 7 | 8 | 14 | 15 | 16 | 17 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | pdfjs-viewer-element 7 | 8 | 9 | 10 | 11 | 15 | 16 | 23 | 24 | 25 | 26 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 53 | 54 | 55 | 56 | 84 | 85 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "pdfjs-viewer-element", 3 | "version": "2.7.1", 4 | "license": "MIT", 5 | "author": { 6 | "name": "Oleksandr Shevchuk", 7 | "email": "alekswebnet@gmail.com" 8 | }, 9 | "keywords": [ 10 | "pdf", 11 | "pdfjs", 12 | "pdf viewer", 13 | "pdfjs viewer", 14 | "web component", 15 | "pdfjs viewer element", 16 | "pdf" 17 | ], 18 | "main": "./dist/pdfjs-viewer-element.js", 19 | "module": "./dist/pdfjs-viewer-element.js", 20 | "types": "types/pdfjs-viewer-element.d.ts", 21 | "type": "module", 22 | "repository": { 23 | "type": "git", 24 | "url": "git+https://github.com/alekswebnet/pdfjs-viewer-element.git" 25 | }, 26 | "homepage": "https://alekswebnet.github.io/pdfjs-viewer-element/", 27 | "bugs": { 28 | "url": "https://github.com/alekswebnet/pdfjs-viewer-element/issues" 29 | }, 30 | "files": [ 31 | "dist", 32 | "types" 33 | ], 34 | "scripts": { 35 | "dev": "vite", 36 | "build": "tsc && vite build", 37 | "test": "vitest", 38 | "coverage": "vitest run --coverage" 39 | }, 40 | "devDependencies": { 41 | "@awlsn/pdfjs-full": "^4.2.392", 42 | "@rollup/plugin-terser": "^0.4.4", 43 | "@types/node": "^22.13.5", 44 | "@vitest/browser": "^3.0.7", 45 | "jsdom": "^26.0.0", 46 | "typescript": "^5.7.3", 47 | "vite": "^6.2.0", 48 | "vitest": "^3.0.7", 49 | "webdriverio": "^9.10.1" 50 | }, 51 | "packageManager": "pnpm@9.7.0+sha512.dc09430156b427f5ecfc79888899e1c39d2d690f004be70e05230b72cb173d96839587545d09429b55ac3c429c801b4dc3c0e002f653830a420fa2dd4e3cf9cf", 52 | "dependencies": { 53 | "perfect-debounce": "^1.0.0" 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: '9.0' 2 | 3 | settings: 4 | autoInstallPeers: true 5 | excludeLinksFromLockfile: false 6 | 7 | importers: 8 | 9 | .: 10 | dependencies: 11 | perfect-debounce: 12 | specifier: ^1.0.0 13 | version: 1.0.0 14 | devDependencies: 15 | '@awlsn/pdfjs-full': 16 | specifier: ^4.2.392 17 | version: 4.2.392 18 | '@rollup/plugin-terser': 19 | specifier: ^0.4.4 20 | version: 0.4.4(rollup@4.34.8) 21 | '@types/node': 22 | specifier: ^22.13.5 23 | version: 22.13.5 24 | '@vitest/browser': 25 | specifier: ^3.0.7 26 | version: 3.0.7(@types/node@22.13.5)(typescript@5.7.3)(vite@6.2.0(@types/node@22.13.5)(terser@5.37.0))(vitest@3.0.7)(webdriverio@9.10.1(@promptbook/core@0.44.0-14)) 27 | jsdom: 28 | specifier: ^26.0.0 29 | version: 26.0.0 30 | typescript: 31 | specifier: ^5.7.3 32 | version: 5.7.3 33 | vite: 34 | specifier: ^6.2.0 35 | version: 6.2.0(@types/node@22.13.5)(terser@5.37.0) 36 | vitest: 37 | specifier: ^3.0.7 38 | version: 3.0.7(@types/node@22.13.5)(@vitest/browser@3.0.7)(jsdom@26.0.0)(msw@2.7.3(@types/node@22.13.5)(typescript@5.7.3))(terser@5.37.0) 39 | webdriverio: 40 | specifier: ^9.10.1 41 | version: 9.10.1(@promptbook/core@0.44.0-14) 42 | 43 | packages: 44 | 45 | '@asamuzakjp/css-color@2.8.3': 46 | resolution: {integrity: sha512-GIc76d9UI1hCvOATjZPyHFmE5qhRccp3/zGfMPapK3jBi+yocEzp6BBB0UnfRYP9NP4FANqUZYb0hnfs3TM3hw==} 47 | 48 | '@awlsn/pdfjs-full@4.2.392': 49 | resolution: {integrity: sha512-8vVqhzUWatKYZ805k1zXBFtQKW7rW/L3qHmYDscnjoIDp8IJj6FbdK5mJ87H9sZyedJ3//e78FI9jHjjGSjtHA==} 50 | 51 | '@babel/code-frame@7.26.2': 52 | resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} 53 | engines: {node: '>=6.9.0'} 54 | 55 | '@babel/helper-validator-identifier@7.25.9': 56 | resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==} 57 | engines: {node: '>=6.9.0'} 58 | 59 | '@babel/runtime@7.26.9': 60 | resolution: {integrity: sha512-aA63XwOkcl4xxQa3HjPMqOP6LiK0ZDv3mUPYEFXkpHbaFjtGggE1A61FjFzJnB+p7/oy2gA8E+rcBNl/zC1tMg==} 61 | engines: {node: '>=6.9.0'} 62 | 63 | '@bundled-es-modules/cookie@2.0.1': 64 | resolution: {integrity: sha512-8o+5fRPLNbjbdGRRmJj3h6Hh1AQJf2dk3qQ/5ZFb+PXkRNiSoMGGUKlsgLfrxneb72axVJyIYji64E2+nNfYyw==} 65 | 66 | '@bundled-es-modules/statuses@1.0.1': 67 | resolution: {integrity: sha512-yn7BklA5acgcBr+7w064fGV+SGIFySjCKpqjcWgBAIfrAkY+4GQTJJHQMeT3V/sgz23VTEVV8TtOmkvJAhFVfg==} 68 | 69 | '@bundled-es-modules/tough-cookie@0.1.6': 70 | resolution: {integrity: sha512-dvMHbL464C0zI+Yqxbz6kZ5TOEp7GLW+pry/RWndAR8MJQAXZ2rPmIs8tziTZjeIyhSNZgZbCePtfSbdWqStJw==} 71 | 72 | '@csstools/color-helpers@5.0.2': 73 | resolution: {integrity: sha512-JqWH1vsgdGcw2RR6VliXXdA0/59LttzlU8UlRT/iUUsEeWfYq8I+K0yhihEUTTHLRm1EXvpsCx3083EU15ecsA==} 74 | engines: {node: '>=18'} 75 | 76 | '@csstools/css-calc@2.1.2': 77 | resolution: {integrity: sha512-TklMyb3uBB28b5uQdxjReG4L80NxAqgrECqLZFQbyLekwwlcDDS8r3f07DKqeo8C4926Br0gf/ZDe17Zv4wIuw==} 78 | engines: {node: '>=18'} 79 | peerDependencies: 80 | '@csstools/css-parser-algorithms': ^3.0.4 81 | '@csstools/css-tokenizer': ^3.0.3 82 | 83 | '@csstools/css-color-parser@3.0.8': 84 | resolution: {integrity: sha512-pdwotQjCCnRPuNi06jFuP68cykU1f3ZWExLe/8MQ1LOs8Xq+fTkYgd+2V8mWUWMrOn9iS2HftPVaMZDaXzGbhQ==} 85 | engines: {node: '>=18'} 86 | peerDependencies: 87 | '@csstools/css-parser-algorithms': ^3.0.4 88 | '@csstools/css-tokenizer': ^3.0.3 89 | 90 | '@csstools/css-parser-algorithms@3.0.4': 91 | resolution: {integrity: sha512-Up7rBoV77rv29d3uKHUIVubz1BTcgyUK72IvCQAbfbMv584xHcGKCKbWh7i8hPrRJ7qU4Y8IO3IY9m+iTB7P3A==} 92 | engines: {node: '>=18'} 93 | peerDependencies: 94 | '@csstools/css-tokenizer': ^3.0.3 95 | 96 | '@csstools/css-tokenizer@3.0.3': 97 | resolution: {integrity: sha512-UJnjoFsmxfKUdNYdWgOB0mWUypuLvAfQPH1+pyvRJs6euowbFkFC6P13w1l8mJyi3vxYMxc9kld5jZEGRQs6bw==} 98 | engines: {node: '>=18'} 99 | 100 | '@esbuild/aix-ppc64@0.25.0': 101 | resolution: {integrity: sha512-O7vun9Sf8DFjH2UtqK8Ku3LkquL9SZL8OLY1T5NZkA34+wG3OQF7cl4Ql8vdNzM6fzBbYfLaiRLIOZ+2FOCgBQ==} 102 | engines: {node: '>=18'} 103 | cpu: [ppc64] 104 | os: [aix] 105 | 106 | '@esbuild/android-arm64@0.25.0': 107 | resolution: {integrity: sha512-grvv8WncGjDSyUBjN9yHXNt+cq0snxXbDxy5pJtzMKGmmpPxeAmAhWxXI+01lU5rwZomDgD3kJwulEnhTRUd6g==} 108 | engines: {node: '>=18'} 109 | cpu: [arm64] 110 | os: [android] 111 | 112 | '@esbuild/android-arm@0.25.0': 113 | resolution: {integrity: sha512-PTyWCYYiU0+1eJKmw21lWtC+d08JDZPQ5g+kFyxP0V+es6VPPSUhM6zk8iImp2jbV6GwjX4pap0JFbUQN65X1g==} 114 | engines: {node: '>=18'} 115 | cpu: [arm] 116 | os: [android] 117 | 118 | '@esbuild/android-x64@0.25.0': 119 | resolution: {integrity: sha512-m/ix7SfKG5buCnxasr52+LI78SQ+wgdENi9CqyCXwjVR2X4Jkz+BpC3le3AoBPYTC9NHklwngVXvbJ9/Akhrfg==} 120 | engines: {node: '>=18'} 121 | cpu: [x64] 122 | os: [android] 123 | 124 | '@esbuild/darwin-arm64@0.25.0': 125 | resolution: {integrity: sha512-mVwdUb5SRkPayVadIOI78K7aAnPamoeFR2bT5nszFUZ9P8UpK4ratOdYbZZXYSqPKMHfS1wdHCJk1P1EZpRdvw==} 126 | engines: {node: '>=18'} 127 | cpu: [arm64] 128 | os: [darwin] 129 | 130 | '@esbuild/darwin-x64@0.25.0': 131 | resolution: {integrity: sha512-DgDaYsPWFTS4S3nWpFcMn/33ZZwAAeAFKNHNa1QN0rI4pUjgqf0f7ONmXf6d22tqTY+H9FNdgeaAa+YIFUn2Rg==} 132 | engines: {node: '>=18'} 133 | cpu: [x64] 134 | os: [darwin] 135 | 136 | '@esbuild/freebsd-arm64@0.25.0': 137 | resolution: {integrity: sha512-VN4ocxy6dxefN1MepBx/iD1dH5K8qNtNe227I0mnTRjry8tj5MRk4zprLEdG8WPyAPb93/e4pSgi1SoHdgOa4w==} 138 | engines: {node: '>=18'} 139 | cpu: [arm64] 140 | os: [freebsd] 141 | 142 | '@esbuild/freebsd-x64@0.25.0': 143 | resolution: {integrity: sha512-mrSgt7lCh07FY+hDD1TxiTyIHyttn6vnjesnPoVDNmDfOmggTLXRv8Id5fNZey1gl/V2dyVK1VXXqVsQIiAk+A==} 144 | engines: {node: '>=18'} 145 | cpu: [x64] 146 | os: [freebsd] 147 | 148 | '@esbuild/linux-arm64@0.25.0': 149 | resolution: {integrity: sha512-9QAQjTWNDM/Vk2bgBl17yWuZxZNQIF0OUUuPZRKoDtqF2k4EtYbpyiG5/Dk7nqeK6kIJWPYldkOcBqjXjrUlmg==} 150 | engines: {node: '>=18'} 151 | cpu: [arm64] 152 | os: [linux] 153 | 154 | '@esbuild/linux-arm@0.25.0': 155 | resolution: {integrity: sha512-vkB3IYj2IDo3g9xX7HqhPYxVkNQe8qTK55fraQyTzTX/fxaDtXiEnavv9geOsonh2Fd2RMB+i5cbhu2zMNWJwg==} 156 | engines: {node: '>=18'} 157 | cpu: [arm] 158 | os: [linux] 159 | 160 | '@esbuild/linux-ia32@0.25.0': 161 | resolution: {integrity: sha512-43ET5bHbphBegyeqLb7I1eYn2P/JYGNmzzdidq/w0T8E2SsYL1U6un2NFROFRg1JZLTzdCoRomg8Rvf9M6W6Gg==} 162 | engines: {node: '>=18'} 163 | cpu: [ia32] 164 | os: [linux] 165 | 166 | '@esbuild/linux-loong64@0.25.0': 167 | resolution: {integrity: sha512-fC95c/xyNFueMhClxJmeRIj2yrSMdDfmqJnyOY4ZqsALkDrrKJfIg5NTMSzVBr5YW1jf+l7/cndBfP3MSDpoHw==} 168 | engines: {node: '>=18'} 169 | cpu: [loong64] 170 | os: [linux] 171 | 172 | '@esbuild/linux-mips64el@0.25.0': 173 | resolution: {integrity: sha512-nkAMFju7KDW73T1DdH7glcyIptm95a7Le8irTQNO/qtkoyypZAnjchQgooFUDQhNAy4iu08N79W4T4pMBwhPwQ==} 174 | engines: {node: '>=18'} 175 | cpu: [mips64el] 176 | os: [linux] 177 | 178 | '@esbuild/linux-ppc64@0.25.0': 179 | resolution: {integrity: sha512-NhyOejdhRGS8Iwv+KKR2zTq2PpysF9XqY+Zk77vQHqNbo/PwZCzB5/h7VGuREZm1fixhs4Q/qWRSi5zmAiO4Fw==} 180 | engines: {node: '>=18'} 181 | cpu: [ppc64] 182 | os: [linux] 183 | 184 | '@esbuild/linux-riscv64@0.25.0': 185 | resolution: {integrity: sha512-5S/rbP5OY+GHLC5qXp1y/Mx//e92L1YDqkiBbO9TQOvuFXM+iDqUNG5XopAnXoRH3FjIUDkeGcY1cgNvnXp/kA==} 186 | engines: {node: '>=18'} 187 | cpu: [riscv64] 188 | os: [linux] 189 | 190 | '@esbuild/linux-s390x@0.25.0': 191 | resolution: {integrity: sha512-XM2BFsEBz0Fw37V0zU4CXfcfuACMrppsMFKdYY2WuTS3yi8O1nFOhil/xhKTmE1nPmVyvQJjJivgDT+xh8pXJA==} 192 | engines: {node: '>=18'} 193 | cpu: [s390x] 194 | os: [linux] 195 | 196 | '@esbuild/linux-x64@0.25.0': 197 | resolution: {integrity: sha512-9yl91rHw/cpwMCNytUDxwj2XjFpxML0y9HAOH9pNVQDpQrBxHy01Dx+vaMu0N1CKa/RzBD2hB4u//nfc+Sd3Cw==} 198 | engines: {node: '>=18'} 199 | cpu: [x64] 200 | os: [linux] 201 | 202 | '@esbuild/netbsd-arm64@0.25.0': 203 | resolution: {integrity: sha512-RuG4PSMPFfrkH6UwCAqBzauBWTygTvb1nxWasEJooGSJ/NwRw7b2HOwyRTQIU97Hq37l3npXoZGYMy3b3xYvPw==} 204 | engines: {node: '>=18'} 205 | cpu: [arm64] 206 | os: [netbsd] 207 | 208 | '@esbuild/netbsd-x64@0.25.0': 209 | resolution: {integrity: sha512-jl+qisSB5jk01N5f7sPCsBENCOlPiS/xptD5yxOx2oqQfyourJwIKLRA2yqWdifj3owQZCL2sn6o08dBzZGQzA==} 210 | engines: {node: '>=18'} 211 | cpu: [x64] 212 | os: [netbsd] 213 | 214 | '@esbuild/openbsd-arm64@0.25.0': 215 | resolution: {integrity: sha512-21sUNbq2r84YE+SJDfaQRvdgznTD8Xc0oc3p3iW/a1EVWeNj/SdUCbm5U0itZPQYRuRTW20fPMWMpcrciH2EJw==} 216 | engines: {node: '>=18'} 217 | cpu: [arm64] 218 | os: [openbsd] 219 | 220 | '@esbuild/openbsd-x64@0.25.0': 221 | resolution: {integrity: sha512-2gwwriSMPcCFRlPlKx3zLQhfN/2WjJ2NSlg5TKLQOJdV0mSxIcYNTMhk3H3ulL/cak+Xj0lY1Ym9ysDV1igceg==} 222 | engines: {node: '>=18'} 223 | cpu: [x64] 224 | os: [openbsd] 225 | 226 | '@esbuild/sunos-x64@0.25.0': 227 | resolution: {integrity: sha512-bxI7ThgLzPrPz484/S9jLlvUAHYMzy6I0XiU1ZMeAEOBcS0VePBFxh1JjTQt3Xiat5b6Oh4x7UC7IwKQKIJRIg==} 228 | engines: {node: '>=18'} 229 | cpu: [x64] 230 | os: [sunos] 231 | 232 | '@esbuild/win32-arm64@0.25.0': 233 | resolution: {integrity: sha512-ZUAc2YK6JW89xTbXvftxdnYy3m4iHIkDtK3CLce8wg8M2L+YZhIvO1DKpxrd0Yr59AeNNkTiic9YLf6FTtXWMw==} 234 | engines: {node: '>=18'} 235 | cpu: [arm64] 236 | os: [win32] 237 | 238 | '@esbuild/win32-ia32@0.25.0': 239 | resolution: {integrity: sha512-eSNxISBu8XweVEWG31/JzjkIGbGIJN/TrRoiSVZwZ6pkC6VX4Im/WV2cz559/TXLcYbcrDN8JtKgd9DJVIo8GA==} 240 | engines: {node: '>=18'} 241 | cpu: [ia32] 242 | os: [win32] 243 | 244 | '@esbuild/win32-x64@0.25.0': 245 | resolution: {integrity: sha512-ZENoHJBxA20C2zFzh6AI4fT6RraMzjYw4xKWemRTRmRVtN9c5DcH9r/f2ihEkMjOW5eGgrwCslG/+Y/3bL+DHQ==} 246 | engines: {node: '>=18'} 247 | cpu: [x64] 248 | os: [win32] 249 | 250 | '@inquirer/confirm@5.1.6': 251 | resolution: {integrity: sha512-6ZXYK3M1XmaVBZX6FCfChgtponnL0R6I7k8Nu+kaoNkT828FVZTcca1MqmWQipaW2oNREQl5AaPCUOOCVNdRMw==} 252 | engines: {node: '>=18'} 253 | peerDependencies: 254 | '@types/node': '>=18' 255 | peerDependenciesMeta: 256 | '@types/node': 257 | optional: true 258 | 259 | '@inquirer/core@10.1.7': 260 | resolution: {integrity: sha512-AA9CQhlrt6ZgiSy6qoAigiA1izOa751ugX6ioSjqgJ+/Gd+tEN/TORk5sUYNjXuHWfW0r1n/a6ak4u/NqHHrtA==} 261 | engines: {node: '>=18'} 262 | peerDependencies: 263 | '@types/node': '>=18' 264 | peerDependenciesMeta: 265 | '@types/node': 266 | optional: true 267 | 268 | '@inquirer/figures@1.0.10': 269 | resolution: {integrity: sha512-Ey6176gZmeqZuY/W/nZiUyvmb1/qInjcpiZjXWi6nON+nxJpD1bxtSoBxNliGISae32n6OwbY+TSXPZ1CfS4bw==} 270 | engines: {node: '>=18'} 271 | 272 | '@inquirer/type@3.0.4': 273 | resolution: {integrity: sha512-2MNFrDY8jkFYc9Il9DgLsHhMzuHnOYM1+CUYVWbzu9oT0hC7V7EcYvdCKeoll/Fcci04A+ERZ9wcc7cQ8lTkIA==} 274 | engines: {node: '>=18'} 275 | peerDependencies: 276 | '@types/node': '>=18' 277 | peerDependenciesMeta: 278 | '@types/node': 279 | optional: true 280 | 281 | '@isaacs/cliui@8.0.2': 282 | resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} 283 | engines: {node: '>=12'} 284 | 285 | '@jridgewell/gen-mapping@0.3.8': 286 | resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==} 287 | engines: {node: '>=6.0.0'} 288 | 289 | '@jridgewell/resolve-uri@3.1.2': 290 | resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} 291 | engines: {node: '>=6.0.0'} 292 | 293 | '@jridgewell/set-array@1.2.1': 294 | resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} 295 | engines: {node: '>=6.0.0'} 296 | 297 | '@jridgewell/source-map@0.3.6': 298 | resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==} 299 | 300 | '@jridgewell/sourcemap-codec@1.4.15': 301 | resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} 302 | 303 | '@jridgewell/sourcemap-codec@1.5.0': 304 | resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} 305 | 306 | '@jridgewell/trace-mapping@0.3.25': 307 | resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} 308 | 309 | '@mswjs/interceptors@0.37.6': 310 | resolution: {integrity: sha512-wK+5pLK5XFmgtH3aQ2YVvA3HohS3xqV/OxuVOdNx9Wpnz7VE/fnC+e1A7ln6LFYeck7gOJ/dsZV6OLplOtAJ2w==} 311 | engines: {node: '>=18'} 312 | 313 | '@open-draft/deferred-promise@2.2.0': 314 | resolution: {integrity: sha512-CecwLWx3rhxVQF6V4bAgPS5t+So2sTbPgAzafKkVizyi7tlwpcFpdFqq+wqF2OwNBmqFuu6tOyouTuxgpMfzmA==} 315 | 316 | '@open-draft/logger@0.3.0': 317 | resolution: {integrity: sha512-X2g45fzhxH238HKO4xbSr7+wBS8Fvw6ixhTDuvLd5mqh6bJJCFAPwU9mPDxbcrRtfxv4u5IHCEH77BmxvXmmxQ==} 318 | 319 | '@open-draft/until@2.1.0': 320 | resolution: {integrity: sha512-U69T3ItWHvLwGg5eJ0n3I62nWuE6ilHlmz7zM0npLBRvPRd7e6NYmg54vvRtP5mZG7kZqZCFVdsTWo7BPtBujg==} 321 | 322 | '@pkgjs/parseargs@0.11.0': 323 | resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} 324 | engines: {node: '>=14'} 325 | 326 | '@polka/url@1.0.0-next.24': 327 | resolution: {integrity: sha512-2LuNTFBIO0m7kKIQvvPHN6UE63VjpmL9rnEEaOOaiSPbZK+zUOYIzBAWcED+3XYzhYsd/0mD57VdxAEqqV52CQ==} 328 | 329 | '@promptbook/core@0.44.0-14': 330 | resolution: {integrity: sha512-3qR96hgYZ4IkM6Ugt2OT690/EvmVrk4LTpR3plZpVwIah7ZWOJW/epO/FlawJwYFPrYRO0IyouJ4zXz1qoGljA==} 331 | 332 | '@promptbook/utils@0.44.0-1': 333 | resolution: {integrity: sha512-6twWfKlM0wOqPTzyKKCn2OcXVxloveTfK/x2sFDIqOiyMYehrHVksrETEqr0QnZ4uY/yLMs6jIx5DdDlJrUJQw==} 334 | peerDependencies: 335 | '@promptbook/core': 0.44.0-1 336 | 337 | '@puppeteer/browsers@2.7.1': 338 | resolution: {integrity: sha512-MK7rtm8JjaxPN7Mf1JdZIZKPD2Z+W7osvrC1vjpvfOX1K0awDIHYbNi89f7eotp7eMUn2shWnt03HwVbriXtKQ==} 339 | engines: {node: '>=18'} 340 | hasBin: true 341 | 342 | '@rollup/plugin-terser@0.4.4': 343 | resolution: {integrity: sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==} 344 | engines: {node: '>=14.0.0'} 345 | peerDependencies: 346 | rollup: ^2.0.0||^3.0.0||^4.0.0 347 | peerDependenciesMeta: 348 | rollup: 349 | optional: true 350 | 351 | '@rollup/rollup-android-arm-eabi@4.34.8': 352 | resolution: {integrity: sha512-q217OSE8DTp8AFHuNHXo0Y86e1wtlfVrXiAlwkIvGRQv9zbc6mE3sjIVfwI8sYUyNxwOg0j/Vm1RKM04JcWLJw==} 353 | cpu: [arm] 354 | os: [android] 355 | 356 | '@rollup/rollup-android-arm64@4.34.8': 357 | resolution: {integrity: sha512-Gigjz7mNWaOL9wCggvoK3jEIUUbGul656opstjaUSGC3eT0BM7PofdAJaBfPFWWkXNVAXbaQtC99OCg4sJv70Q==} 358 | cpu: [arm64] 359 | os: [android] 360 | 361 | '@rollup/rollup-darwin-arm64@4.34.8': 362 | resolution: {integrity: sha512-02rVdZ5tgdUNRxIUrFdcMBZQoaPMrxtwSb+/hOfBdqkatYHR3lZ2A2EGyHq2sGOd0Owk80oV3snlDASC24He3Q==} 363 | cpu: [arm64] 364 | os: [darwin] 365 | 366 | '@rollup/rollup-darwin-x64@4.34.8': 367 | resolution: {integrity: sha512-qIP/elwR/tq/dYRx3lgwK31jkZvMiD6qUtOycLhTzCvrjbZ3LjQnEM9rNhSGpbLXVJYQ3rq39A6Re0h9tU2ynw==} 368 | cpu: [x64] 369 | os: [darwin] 370 | 371 | '@rollup/rollup-freebsd-arm64@4.34.8': 372 | resolution: {integrity: sha512-IQNVXL9iY6NniYbTaOKdrlVP3XIqazBgJOVkddzJlqnCpRi/yAeSOa8PLcECFSQochzqApIOE1GHNu3pCz+BDA==} 373 | cpu: [arm64] 374 | os: [freebsd] 375 | 376 | '@rollup/rollup-freebsd-x64@4.34.8': 377 | resolution: {integrity: sha512-TYXcHghgnCqYFiE3FT5QwXtOZqDj5GmaFNTNt3jNC+vh22dc/ukG2cG+pi75QO4kACohZzidsq7yKTKwq/Jq7Q==} 378 | cpu: [x64] 379 | os: [freebsd] 380 | 381 | '@rollup/rollup-linux-arm-gnueabihf@4.34.8': 382 | resolution: {integrity: sha512-A4iphFGNkWRd+5m3VIGuqHnG3MVnqKe7Al57u9mwgbyZ2/xF9Jio72MaY7xxh+Y87VAHmGQr73qoKL9HPbXj1g==} 383 | cpu: [arm] 384 | os: [linux] 385 | 386 | '@rollup/rollup-linux-arm-musleabihf@4.34.8': 387 | resolution: {integrity: sha512-S0lqKLfTm5u+QTxlFiAnb2J/2dgQqRy/XvziPtDd1rKZFXHTyYLoVL58M/XFwDI01AQCDIevGLbQrMAtdyanpA==} 388 | cpu: [arm] 389 | os: [linux] 390 | 391 | '@rollup/rollup-linux-arm64-gnu@4.34.8': 392 | resolution: {integrity: sha512-jpz9YOuPiSkL4G4pqKrus0pn9aYwpImGkosRKwNi+sJSkz+WU3anZe6hi73StLOQdfXYXC7hUfsQlTnjMd3s1A==} 393 | cpu: [arm64] 394 | os: [linux] 395 | 396 | '@rollup/rollup-linux-arm64-musl@4.34.8': 397 | resolution: {integrity: sha512-KdSfaROOUJXgTVxJNAZ3KwkRc5nggDk+06P6lgi1HLv1hskgvxHUKZ4xtwHkVYJ1Rep4GNo+uEfycCRRxht7+Q==} 398 | cpu: [arm64] 399 | os: [linux] 400 | 401 | '@rollup/rollup-linux-loongarch64-gnu@4.34.8': 402 | resolution: {integrity: sha512-NyF4gcxwkMFRjgXBM6g2lkT58OWztZvw5KkV2K0qqSnUEqCVcqdh2jN4gQrTn/YUpAcNKyFHfoOZEer9nwo6uQ==} 403 | cpu: [loong64] 404 | os: [linux] 405 | 406 | '@rollup/rollup-linux-powerpc64le-gnu@4.34.8': 407 | resolution: {integrity: sha512-LMJc999GkhGvktHU85zNTDImZVUCJ1z/MbAJTnviiWmmjyckP5aQsHtcujMjpNdMZPT2rQEDBlJfubhs3jsMfw==} 408 | cpu: [ppc64] 409 | os: [linux] 410 | 411 | '@rollup/rollup-linux-riscv64-gnu@4.34.8': 412 | resolution: {integrity: sha512-xAQCAHPj8nJq1PI3z8CIZzXuXCstquz7cIOL73HHdXiRcKk8Ywwqtx2wrIy23EcTn4aZ2fLJNBB8d0tQENPCmw==} 413 | cpu: [riscv64] 414 | os: [linux] 415 | 416 | '@rollup/rollup-linux-s390x-gnu@4.34.8': 417 | resolution: {integrity: sha512-DdePVk1NDEuc3fOe3dPPTb+rjMtuFw89gw6gVWxQFAuEqqSdDKnrwzZHrUYdac7A7dXl9Q2Vflxpme15gUWQFA==} 418 | cpu: [s390x] 419 | os: [linux] 420 | 421 | '@rollup/rollup-linux-x64-gnu@4.34.8': 422 | resolution: {integrity: sha512-8y7ED8gjxITUltTUEJLQdgpbPh1sUQ0kMTmufRF/Ns5tI9TNMNlhWtmPKKHCU0SilX+3MJkZ0zERYYGIVBYHIA==} 423 | cpu: [x64] 424 | os: [linux] 425 | 426 | '@rollup/rollup-linux-x64-musl@4.34.8': 427 | resolution: {integrity: sha512-SCXcP0ZpGFIe7Ge+McxY5zKxiEI5ra+GT3QRxL0pMMtxPfpyLAKleZODi1zdRHkz5/BhueUrYtYVgubqe9JBNQ==} 428 | cpu: [x64] 429 | os: [linux] 430 | 431 | '@rollup/rollup-win32-arm64-msvc@4.34.8': 432 | resolution: {integrity: sha512-YHYsgzZgFJzTRbth4h7Or0m5O74Yda+hLin0irAIobkLQFRQd1qWmnoVfwmKm9TXIZVAD0nZ+GEb2ICicLyCnQ==} 433 | cpu: [arm64] 434 | os: [win32] 435 | 436 | '@rollup/rollup-win32-ia32-msvc@4.34.8': 437 | resolution: {integrity: sha512-r3NRQrXkHr4uWy5TOjTpTYojR9XmF0j/RYgKCef+Ag46FWUTltm5ziticv8LdNsDMehjJ543x/+TJAek/xBA2w==} 438 | cpu: [ia32] 439 | os: [win32] 440 | 441 | '@rollup/rollup-win32-x64-msvc@4.34.8': 442 | resolution: {integrity: sha512-U0FaE5O1BCpZSeE6gBl3c5ObhePQSfk9vDRToMmTkbhCOgW4jqvtS5LGyQ76L1fH8sM0keRp4uDTsbjiUyjk0g==} 443 | cpu: [x64] 444 | os: [win32] 445 | 446 | '@testing-library/dom@10.4.0': 447 | resolution: {integrity: sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==} 448 | engines: {node: '>=18'} 449 | 450 | '@testing-library/user-event@14.6.1': 451 | resolution: {integrity: sha512-vq7fv0rnt+QTXgPxr5Hjc210p6YKq2kmdziLgnsZGgLJ9e6VAShx1pACLuRjd/AS/sr7phAR58OIIpf0LlmQNw==} 452 | engines: {node: '>=12', npm: '>=6'} 453 | peerDependencies: 454 | '@testing-library/dom': '>=7.21.4' 455 | 456 | '@tootallnate/quickjs-emscripten@0.23.0': 457 | resolution: {integrity: sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==} 458 | 459 | '@types/aria-query@5.0.4': 460 | resolution: {integrity: sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==} 461 | 462 | '@types/cookie@0.6.0': 463 | resolution: {integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==} 464 | 465 | '@types/estree@1.0.5': 466 | resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} 467 | 468 | '@types/estree@1.0.6': 469 | resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} 470 | 471 | '@types/node@20.17.19': 472 | resolution: {integrity: sha512-LEwC7o1ifqg/6r2gn9Dns0f1rhK+fPFDoMiceTJ6kWmVk6bgXBI/9IOWfVan4WiAavK9pIVWdX0/e3J+eEUh5A==} 473 | 474 | '@types/node@22.13.5': 475 | resolution: {integrity: sha512-+lTU0PxZXn0Dr1NBtC7Y8cR21AJr87dLLU953CWA6pMxxv/UDc7jYAY90upcrie1nRcD6XNG5HOYEDtgW5TxAg==} 476 | 477 | '@types/sinonjs__fake-timers@8.1.5': 478 | resolution: {integrity: sha512-mQkU2jY8jJEF7YHjHvsQO8+3ughTL1mcnn96igfhONmR+fUPSKIkefQYpSe8bsly2Ep7oQbn/6VG5/9/0qcArQ==} 479 | 480 | '@types/statuses@2.0.5': 481 | resolution: {integrity: sha512-jmIUGWrAiwu3dZpxntxieC+1n/5c3mjrImkmOSQ2NC5uP6cYO4aAZDdSmRcI5C1oiTmqlZGHC+/NmJrKogbP5A==} 482 | 483 | '@types/tough-cookie@4.0.5': 484 | resolution: {integrity: sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==} 485 | 486 | '@types/which@2.0.2': 487 | resolution: {integrity: sha512-113D3mDkZDjo+EeUEHCFy0qniNc1ZpecGiAU7WSo7YDoSzolZIQKpYFHrPpjkB2nuyahcKfrmLXeQlh7gqJYdw==} 488 | 489 | '@types/ws@8.5.10': 490 | resolution: {integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==} 491 | 492 | '@types/yauzl@2.10.3': 493 | resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} 494 | 495 | '@vitest/browser@3.0.7': 496 | resolution: {integrity: sha512-TDzZtnbe37KZLSLhvlO1pUkeRSRzW3rOhPLsshX8agGoPELMlG7EvS4z9GfsdaCxsP7oWLBJpFjNJwLS458Bzg==} 497 | peerDependencies: 498 | playwright: '*' 499 | safaridriver: '*' 500 | vitest: 3.0.7 501 | webdriverio: ^7.0.0 || ^8.0.0 || ^9.0.0 502 | peerDependenciesMeta: 503 | playwright: 504 | optional: true 505 | safaridriver: 506 | optional: true 507 | webdriverio: 508 | optional: true 509 | 510 | '@vitest/expect@3.0.7': 511 | resolution: {integrity: sha512-QP25f+YJhzPfHrHfYHtvRn+uvkCFCqFtW9CktfBxmB+25QqWsx7VB2As6f4GmwllHLDhXNHvqedwhvMmSnNmjw==} 512 | 513 | '@vitest/mocker@3.0.7': 514 | resolution: {integrity: sha512-qui+3BLz9Eonx4EAuR/i+QlCX6AUZ35taDQgwGkK/Tw6/WgwodSrjN1X2xf69IA/643ZX5zNKIn2svvtZDrs4w==} 515 | peerDependencies: 516 | msw: ^2.4.9 517 | vite: ^5.0.0 || ^6.0.0 518 | peerDependenciesMeta: 519 | msw: 520 | optional: true 521 | vite: 522 | optional: true 523 | 524 | '@vitest/pretty-format@3.0.7': 525 | resolution: {integrity: sha512-CiRY0BViD/V8uwuEzz9Yapyao+M9M008/9oMOSQydwbwb+CMokEq3XVaF3XK/VWaOK0Jm9z7ENhybg70Gtxsmg==} 526 | 527 | '@vitest/runner@3.0.7': 528 | resolution: {integrity: sha512-WeEl38Z0S2ZcuRTeyYqaZtm4e26tq6ZFqh5y8YD9YxfWuu0OFiGFUbnxNynwLjNRHPsXyee2M9tV7YxOTPZl2g==} 529 | 530 | '@vitest/snapshot@3.0.7': 531 | resolution: {integrity: sha512-eqTUryJWQN0Rtf5yqCGTQWsCFOQe4eNz5Twsu21xYEcnFJtMU5XvmG0vgebhdLlrHQTSq5p8vWHJIeJQV8ovsA==} 532 | 533 | '@vitest/spy@3.0.7': 534 | resolution: {integrity: sha512-4T4WcsibB0B6hrKdAZTM37ekuyFZt2cGbEGd2+L0P8ov15J1/HUsUaqkXEQPNAWr4BtPPe1gI+FYfMHhEKfR8w==} 535 | 536 | '@vitest/utils@3.0.7': 537 | resolution: {integrity: sha512-xePVpCRfooFX3rANQjwoditoXgWb1MaFbzmGuPP59MK6i13mrnDw/yEIyJudLeW6/38mCNcwCiJIGmpDPibAIg==} 538 | 539 | '@wdio/config@9.10.1': 540 | resolution: {integrity: sha512-HorSrCfSKItCrFCcntiAKbzyQ89wUg3XRekDgbAgwTPsqbnbsoovpWSUpX3SQFMhGiYF19HXMDo3CiFwfJINOQ==} 541 | engines: {node: '>=18.20.0'} 542 | 543 | '@wdio/logger@9.4.4': 544 | resolution: {integrity: sha512-BXx8RXFUW2M4dcO6t5Le95Hi2ZkTQBRsvBQqLekT2rZ6Xmw8ZKZBPf0FptnoftFGg6dYmwnDidYv/0+4PiHjpQ==} 545 | engines: {node: '>=18.20.0'} 546 | 547 | '@wdio/protocols@9.7.0': 548 | resolution: {integrity: sha512-5DI8cqJqT9K6oQn8UpaSTmcGAl4ufkUWC5FoPT3oXdLjILfxvweZDf/2XNBCbGMk4+VOMKqB2ofOqKhDIB2nAg==} 549 | 550 | '@wdio/repl@9.4.4': 551 | resolution: {integrity: sha512-kchPRhoG/pCn4KhHGiL/ocNhdpR8OkD2e6sANlSUZ4TGBVi86YSIEjc2yXUwLacHknC/EnQk/SFnqd4MsNjGGg==} 552 | engines: {node: '>=18.20.0'} 553 | 554 | '@wdio/types@9.10.1': 555 | resolution: {integrity: sha512-/t1VXPU5Ad1FQjRUP0WlK7IR0dCTX5hSkul8SpCuUpWbeyI4Iol/Wx2b1YU6nS+Ydh78rJCyHxtV0eE5TM1rbw==} 556 | engines: {node: '>=18.20.0'} 557 | 558 | '@wdio/utils@9.10.1': 559 | resolution: {integrity: sha512-gBrlA0vtUVnBthmWhMKKHogCdtPN7llG2qZGprqCZeRAlZJlEbFYrzMDoU7VC6KSU8upJWXlWnK6MV1J9cZn4Q==} 560 | engines: {node: '>=18.20.0'} 561 | 562 | '@zip.js/zip.js@2.7.57': 563 | resolution: {integrity: sha512-BtonQ1/jDnGiMed6OkV6rZYW78gLmLswkHOzyMrMb+CAR7CZO8phOHO6c2qw6qb1g1betN7kwEHhhZk30dv+NA==} 564 | engines: {bun: '>=0.7.0', deno: '>=1.0.0', node: '>=16.5.0'} 565 | 566 | abort-controller@3.0.0: 567 | resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} 568 | engines: {node: '>=6.5'} 569 | 570 | acorn@8.11.3: 571 | resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} 572 | engines: {node: '>=0.4.0'} 573 | hasBin: true 574 | 575 | agent-base@7.1.1: 576 | resolution: {integrity: sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==} 577 | engines: {node: '>= 14'} 578 | 579 | agent-base@7.1.3: 580 | resolution: {integrity: sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==} 581 | engines: {node: '>= 14'} 582 | 583 | ansi-escapes@4.3.2: 584 | resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} 585 | engines: {node: '>=8'} 586 | 587 | ansi-regex@5.0.1: 588 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 589 | engines: {node: '>=8'} 590 | 591 | ansi-regex@6.0.1: 592 | resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} 593 | engines: {node: '>=12'} 594 | 595 | ansi-styles@4.3.0: 596 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 597 | engines: {node: '>=8'} 598 | 599 | ansi-styles@5.2.0: 600 | resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} 601 | engines: {node: '>=10'} 602 | 603 | ansi-styles@6.2.1: 604 | resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} 605 | engines: {node: '>=12'} 606 | 607 | archiver-utils@5.0.2: 608 | resolution: {integrity: sha512-wuLJMmIBQYCsGZgYLTy5FIB2pF6Lfb6cXMSF8Qywwk3t20zWnAi7zLcQFdKQmIB8wyZpY5ER38x08GbwtR2cLA==} 609 | engines: {node: '>= 14'} 610 | 611 | archiver@7.0.1: 612 | resolution: {integrity: sha512-ZcbTaIqJOfCc03QwD468Unz/5Ir8ATtvAHsK+FdXbDIbGfihqh9mrvdcYunQzqn4HrvWWaFyaxJhGZagaJJpPQ==} 613 | engines: {node: '>= 14'} 614 | 615 | aria-query@5.3.0: 616 | resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} 617 | 618 | assertion-error@2.0.1: 619 | resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} 620 | engines: {node: '>=12'} 621 | 622 | ast-types@0.13.4: 623 | resolution: {integrity: sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==} 624 | engines: {node: '>=4'} 625 | 626 | async@3.2.5: 627 | resolution: {integrity: sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==} 628 | 629 | asynckit@0.4.0: 630 | resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} 631 | 632 | b4a@1.6.6: 633 | resolution: {integrity: sha512-5Tk1HLk6b6ctmjIkAcU/Ujv/1WqiDl0F0JdRCR80VsOcUlHcu7pWeWRlOqQLHfDEsVx9YH/aif5AG4ehoCtTmg==} 634 | 635 | balanced-match@1.0.2: 636 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 637 | 638 | bare-events@2.2.2: 639 | resolution: {integrity: sha512-h7z00dWdG0PYOQEvChhOSWvOfkIKsdZGkWr083FgN/HyoQuebSew/cgirYqh9SCuy/hRvxc5Vy6Fw8xAmYHLkQ==} 640 | 641 | bare-fs@4.0.1: 642 | resolution: {integrity: sha512-ilQs4fm/l9eMfWY2dY0WCIUplSUp7U0CT1vrqMg1MUdeZl4fypu5UP0XcDBK5WBQPJAKP1b7XEodISmekH/CEg==} 643 | engines: {bare: '>=1.7.0'} 644 | 645 | bare-os@3.4.0: 646 | resolution: {integrity: sha512-9Ous7UlnKbe3fMi7Y+qh0DwAup6A1JkYgPnjvMDNOlmnxNRQvQ/7Nst+OnUQKzk0iAT0m9BisbDVp9gCv8+ETA==} 647 | engines: {bare: '>=1.6.0'} 648 | 649 | bare-path@3.0.0: 650 | resolution: {integrity: sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw==} 651 | 652 | bare-stream@2.6.5: 653 | resolution: {integrity: sha512-jSmxKJNJmHySi6hC42zlZnq00rga4jjxcgNZjY9N5WlOe/iOoGRtdwGsHzQv2RlH2KOYMwGUXhf2zXd32BA9RA==} 654 | peerDependencies: 655 | bare-buffer: '*' 656 | bare-events: '*' 657 | peerDependenciesMeta: 658 | bare-buffer: 659 | optional: true 660 | bare-events: 661 | optional: true 662 | 663 | base64-js@1.5.1: 664 | resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} 665 | 666 | basic-ftp@5.0.4: 667 | resolution: {integrity: sha512-8PzkB0arJFV4jJWSGOYR+OEic6aeKMu/osRhBULN6RY0ykby6LKhbmuQ5ublvaas5BOwboah5D87nrHyuh8PPA==} 668 | engines: {node: '>=10.0.0'} 669 | 670 | boolbase@1.0.0: 671 | resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} 672 | 673 | brace-expansion@2.0.1: 674 | resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} 675 | 676 | buffer-crc32@0.2.13: 677 | resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} 678 | 679 | buffer-crc32@1.0.0: 680 | resolution: {integrity: sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w==} 681 | engines: {node: '>=8.0.0'} 682 | 683 | buffer-from@1.1.2: 684 | resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} 685 | 686 | buffer@6.0.3: 687 | resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} 688 | 689 | cac@6.7.14: 690 | resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} 691 | engines: {node: '>=8'} 692 | 693 | call-bind-apply-helpers@1.0.2: 694 | resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} 695 | engines: {node: '>= 0.4'} 696 | 697 | chai@5.2.0: 698 | resolution: {integrity: sha512-mCuXncKXk5iCLhfhwTc0izo0gtEmpz5CtG2y8GiOINBlMVS6v8TMRc5TaLWKS6692m9+dVVfzgeVxR5UxWHTYw==} 699 | engines: {node: '>=12'} 700 | 701 | chalk@4.1.2: 702 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 703 | engines: {node: '>=10'} 704 | 705 | chalk@5.3.0: 706 | resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} 707 | engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} 708 | 709 | check-error@2.1.1: 710 | resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==} 711 | engines: {node: '>= 16'} 712 | 713 | cheerio-select@2.1.0: 714 | resolution: {integrity: sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==} 715 | 716 | cheerio@1.0.0: 717 | resolution: {integrity: sha512-quS9HgjQpdaXOvsZz82Oz7uxtXiy6UIsIQcpBj7HRw2M63Skasm9qlDocAM7jNuaxdhpPU7c4kJN+gA5MCu4ww==} 718 | engines: {node: '>=18.17'} 719 | 720 | cli-width@4.1.0: 721 | resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} 722 | engines: {node: '>= 12'} 723 | 724 | cliui@8.0.1: 725 | resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} 726 | engines: {node: '>=12'} 727 | 728 | color-convert@2.0.1: 729 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 730 | engines: {node: '>=7.0.0'} 731 | 732 | color-name@1.1.4: 733 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 734 | 735 | combined-stream@1.0.8: 736 | resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} 737 | engines: {node: '>= 0.8'} 738 | 739 | commander@2.20.3: 740 | resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} 741 | 742 | commander@9.5.0: 743 | resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} 744 | engines: {node: ^12.20.0 || >=14} 745 | 746 | compress-commons@6.0.2: 747 | resolution: {integrity: sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg==} 748 | engines: {node: '>= 14'} 749 | 750 | cookie@0.7.2: 751 | resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==} 752 | engines: {node: '>= 0.6'} 753 | 754 | core-util-is@1.0.3: 755 | resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} 756 | 757 | crc-32@1.2.2: 758 | resolution: {integrity: sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==} 759 | engines: {node: '>=0.8'} 760 | hasBin: true 761 | 762 | crc32-stream@6.0.0: 763 | resolution: {integrity: sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g==} 764 | engines: {node: '>= 14'} 765 | 766 | cross-spawn@7.0.3: 767 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} 768 | engines: {node: '>= 8'} 769 | 770 | css-select@5.1.0: 771 | resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==} 772 | 773 | css-shorthand-properties@1.1.1: 774 | resolution: {integrity: sha512-Md+Juc7M3uOdbAFwOYlTrccIZ7oCFuzrhKYQjdeUEW/sE1hv17Jp/Bws+ReOPpGVBTYCBoYo+G17V5Qo8QQ75A==} 775 | 776 | css-value@0.0.1: 777 | resolution: {integrity: sha512-FUV3xaJ63buRLgHrLQVlVgQnQdR4yqdLGaDu7g8CQcWjInDfM9plBTPI9FRfpahju1UBSaMckeb2/46ApS/V1Q==} 778 | 779 | css-what@6.1.0: 780 | resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} 781 | engines: {node: '>= 6'} 782 | 783 | cssstyle@4.2.1: 784 | resolution: {integrity: sha512-9+vem03dMXG7gDmZ62uqmRiMRNtinIZ9ZyuF6BdxzfOD+FdN5hretzynkn0ReS2DO2GSw76RWHs0UmJPI2zUjw==} 785 | engines: {node: '>=18'} 786 | 787 | data-uri-to-buffer@4.0.1: 788 | resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} 789 | engines: {node: '>= 12'} 790 | 791 | data-uri-to-buffer@6.0.1: 792 | resolution: {integrity: sha512-MZd3VlchQkp8rdend6vrx7MmVDJzSNTBvghvKjirLkD+WTChA3KUf0jkE68Q4UyctNqI11zZO9/x2Yx+ub5Cvg==} 793 | engines: {node: '>= 14'} 794 | 795 | data-urls@5.0.0: 796 | resolution: {integrity: sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==} 797 | engines: {node: '>=18'} 798 | 799 | debug@4.3.4: 800 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} 801 | engines: {node: '>=6.0'} 802 | peerDependencies: 803 | supports-color: '*' 804 | peerDependenciesMeta: 805 | supports-color: 806 | optional: true 807 | 808 | debug@4.4.0: 809 | resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} 810 | engines: {node: '>=6.0'} 811 | peerDependencies: 812 | supports-color: '*' 813 | peerDependenciesMeta: 814 | supports-color: 815 | optional: true 816 | 817 | decamelize@6.0.0: 818 | resolution: {integrity: sha512-Fv96DCsdOgB6mdGl67MT5JaTNKRzrzill5OH5s8bjYJXVlcXyPYGyPsUkWyGV5p1TXI5esYIYMMeDJL0hEIwaA==} 819 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 820 | 821 | decimal.js@10.4.3: 822 | resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==} 823 | 824 | deep-eql@5.0.2: 825 | resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} 826 | engines: {node: '>=6'} 827 | 828 | deepmerge-ts@7.1.5: 829 | resolution: {integrity: sha512-HOJkrhaYsweh+W+e74Yn7YStZOilkoPb6fycpwNLKzSPtruFs48nYis0zy5yJz1+ktUhHxoRDJ27RQAWLIJVJw==} 830 | engines: {node: '>=16.0.0'} 831 | 832 | degenerator@5.0.1: 833 | resolution: {integrity: sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==} 834 | engines: {node: '>= 14'} 835 | 836 | delayed-stream@1.0.0: 837 | resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} 838 | engines: {node: '>=0.4.0'} 839 | 840 | dequal@2.0.3: 841 | resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} 842 | engines: {node: '>=6'} 843 | 844 | dom-accessibility-api@0.5.16: 845 | resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==} 846 | 847 | dom-serializer@2.0.0: 848 | resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} 849 | 850 | domelementtype@2.3.0: 851 | resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} 852 | 853 | domhandler@5.0.3: 854 | resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} 855 | engines: {node: '>= 4'} 856 | 857 | domutils@3.2.2: 858 | resolution: {integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==} 859 | 860 | dunder-proto@1.0.1: 861 | resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} 862 | engines: {node: '>= 0.4'} 863 | 864 | eastasianwidth@0.2.0: 865 | resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} 866 | 867 | edge-paths@3.0.5: 868 | resolution: {integrity: sha512-sB7vSrDnFa4ezWQk9nZ/n0FdpdUuC6R1EOrlU3DL+bovcNFK28rqu2emmAUjujYEJTWIgQGqgVVWUZXMnc8iWg==} 869 | engines: {node: '>=14.0.0'} 870 | 871 | edgedriver@6.1.1: 872 | resolution: {integrity: sha512-/dM/PoBf22Xg3yypMWkmRQrBKEnSyNaZ7wHGCT9+qqT14izwtFT+QvdR89rjNkMfXwW+bSFoqOfbcvM+2Cyc7w==} 873 | engines: {node: '>=18.0.0'} 874 | hasBin: true 875 | 876 | emoji-regex@8.0.0: 877 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} 878 | 879 | emoji-regex@9.2.2: 880 | resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} 881 | 882 | encoding-sniffer@0.2.0: 883 | resolution: {integrity: sha512-ju7Wq1kg04I3HtiYIOrUrdfdDvkyO9s5XM8QAj/bN61Yo/Vb4vgJxy5vi4Yxk01gWHbrofpPtpxM8bKger9jhg==} 884 | 885 | end-of-stream@1.4.4: 886 | resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} 887 | 888 | entities@4.5.0: 889 | resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} 890 | engines: {node: '>=0.12'} 891 | 892 | es-define-property@1.0.1: 893 | resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} 894 | engines: {node: '>= 0.4'} 895 | 896 | es-errors@1.3.0: 897 | resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} 898 | engines: {node: '>= 0.4'} 899 | 900 | es-module-lexer@1.6.0: 901 | resolution: {integrity: sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ==} 902 | 903 | es-object-atoms@1.1.1: 904 | resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} 905 | engines: {node: '>= 0.4'} 906 | 907 | es-set-tostringtag@2.1.0: 908 | resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} 909 | engines: {node: '>= 0.4'} 910 | 911 | esbuild@0.25.0: 912 | resolution: {integrity: sha512-BXq5mqc8ltbaN34cDqWuYKyNhX8D/Z0J1xdtdQ8UcIIIyJyz+ZMKUt58tF3SrZ85jcfN/PZYhjR5uDQAYNVbuw==} 913 | engines: {node: '>=18'} 914 | hasBin: true 915 | 916 | escalade@3.1.2: 917 | resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} 918 | engines: {node: '>=6'} 919 | 920 | escodegen@2.1.0: 921 | resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==} 922 | engines: {node: '>=6.0'} 923 | hasBin: true 924 | 925 | esprima@4.0.1: 926 | resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} 927 | engines: {node: '>=4'} 928 | hasBin: true 929 | 930 | estraverse@5.3.0: 931 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} 932 | engines: {node: '>=4.0'} 933 | 934 | estree-walker@3.0.3: 935 | resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} 936 | 937 | esutils@2.0.3: 938 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} 939 | engines: {node: '>=0.10.0'} 940 | 941 | event-target-shim@5.0.1: 942 | resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} 943 | engines: {node: '>=6'} 944 | 945 | events@3.3.0: 946 | resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} 947 | engines: {node: '>=0.8.x'} 948 | 949 | expect-type@1.1.0: 950 | resolution: {integrity: sha512-bFi65yM+xZgk+u/KRIpekdSYkTB5W1pEf0Lt8Q8Msh7b+eQ7LXVtIB1Bkm4fvclDEL1b2CZkMhv2mOeF8tMdkA==} 951 | engines: {node: '>=12.0.0'} 952 | 953 | extract-zip@2.0.1: 954 | resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==} 955 | engines: {node: '>= 10.17.0'} 956 | hasBin: true 957 | 958 | fast-deep-equal@2.0.1: 959 | resolution: {integrity: sha512-bCK/2Z4zLidyB4ReuIsvALH6w31YfAQDmXMqMx6FyfHqvBxtjC0eRumeSu4Bs3XtXwpyIywtSTrVT99BxY1f9w==} 960 | 961 | fast-fifo@1.3.2: 962 | resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==} 963 | 964 | fast-xml-parser@4.5.3: 965 | resolution: {integrity: sha512-RKihhV+SHsIUGXObeVy9AXiBbFwkVk7Syp8XgwN5U3JV416+Gwp/GO9i0JYKmikykgz/UHRrrV4ROuZEo/T0ig==} 966 | hasBin: true 967 | 968 | fd-slicer@1.1.0: 969 | resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} 970 | 971 | fetch-blob@3.2.0: 972 | resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} 973 | engines: {node: ^12.20 || >= 14.13} 974 | 975 | foreground-child@3.1.1: 976 | resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} 977 | engines: {node: '>=14'} 978 | 979 | form-data@4.0.2: 980 | resolution: {integrity: sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==} 981 | engines: {node: '>= 6'} 982 | 983 | formdata-polyfill@4.0.10: 984 | resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} 985 | engines: {node: '>=12.20.0'} 986 | 987 | fs-extra@8.1.0: 988 | resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} 989 | engines: {node: '>=6 <7 || >=8'} 990 | 991 | fsevents@2.3.3: 992 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} 993 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 994 | os: [darwin] 995 | 996 | function-bind@1.1.2: 997 | resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} 998 | 999 | geckodriver@5.0.0: 1000 | resolution: {integrity: sha512-vn7TtQ3b9VMJtVXsyWtQQl1fyBVFhQy7UvJF96kPuuJ0or5THH496AD3eUyaDD11+EqCxH9t6V+EP9soZQk4YQ==} 1001 | engines: {node: '>=18.0.0'} 1002 | hasBin: true 1003 | 1004 | get-caller-file@2.0.5: 1005 | resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} 1006 | engines: {node: 6.* || 8.* || >= 10.*} 1007 | 1008 | get-intrinsic@1.3.0: 1009 | resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} 1010 | engines: {node: '>= 0.4'} 1011 | 1012 | get-port@7.1.0: 1013 | resolution: {integrity: sha512-QB9NKEeDg3xxVwCCwJQ9+xycaz6pBB6iQ76wiWMl1927n0Kir6alPiP+yuiICLLU4jpMe08dXfpebuQppFA2zw==} 1014 | engines: {node: '>=16'} 1015 | 1016 | get-proto@1.0.1: 1017 | resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} 1018 | engines: {node: '>= 0.4'} 1019 | 1020 | get-stream@5.2.0: 1021 | resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} 1022 | engines: {node: '>=8'} 1023 | 1024 | get-uri@6.0.2: 1025 | resolution: {integrity: sha512-5KLucCJobh8vBY1K07EFV4+cPZH3mrV9YeAruUseCQKHB58SGjjT2l9/eA9LD082IiuMjSlFJEcdJ27TXvbZNw==} 1026 | engines: {node: '>= 14'} 1027 | 1028 | glob@10.3.12: 1029 | resolution: {integrity: sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg==} 1030 | engines: {node: '>=16 || 14 >=14.17'} 1031 | hasBin: true 1032 | 1033 | gopd@1.2.0: 1034 | resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} 1035 | engines: {node: '>= 0.4'} 1036 | 1037 | graceful-fs@4.2.11: 1038 | resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} 1039 | 1040 | grapheme-splitter@1.0.4: 1041 | resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} 1042 | 1043 | graphql@16.10.0: 1044 | resolution: {integrity: sha512-AjqGKbDGUFRKIRCP9tCKiIGHyriz2oHEbPIbEtcSLSs4YjReZOIPQQWek4+6hjw62H9QShXHyaGivGiYVLeYFQ==} 1045 | engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} 1046 | 1047 | has-flag@4.0.0: 1048 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 1049 | engines: {node: '>=8'} 1050 | 1051 | has-symbols@1.1.0: 1052 | resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} 1053 | engines: {node: '>= 0.4'} 1054 | 1055 | has-tostringtag@1.0.2: 1056 | resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} 1057 | engines: {node: '>= 0.4'} 1058 | 1059 | hasown@2.0.2: 1060 | resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} 1061 | engines: {node: '>= 0.4'} 1062 | 1063 | headers-polyfill@4.0.3: 1064 | resolution: {integrity: sha512-IScLbePpkvO846sIwOtOTDjutRMWdXdJmXdMvk6gCBHxFO8d+QKOQedyZSxFTTFYRSmlgSTDtXqqq4pcenBXLQ==} 1065 | 1066 | html-encoding-sniffer@4.0.0: 1067 | resolution: {integrity: sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==} 1068 | engines: {node: '>=18'} 1069 | 1070 | htmlfy@0.6.1: 1071 | resolution: {integrity: sha512-aXlXhSv/40ZRWSW8auSRgPkF5owlJE2c2EkOKTe3n+I1fa/MKWfiNWP9ukexW4Pnj94k7x8TK5sa44l2ySWQ6w==} 1072 | 1073 | htmlparser2@9.1.0: 1074 | resolution: {integrity: sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==} 1075 | 1076 | http-proxy-agent@7.0.2: 1077 | resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} 1078 | engines: {node: '>= 14'} 1079 | 1080 | https-proxy-agent@7.0.6: 1081 | resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==} 1082 | engines: {node: '>= 14'} 1083 | 1084 | iconv-lite@0.6.3: 1085 | resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} 1086 | engines: {node: '>=0.10.0'} 1087 | 1088 | ieee754@1.2.1: 1089 | resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} 1090 | 1091 | immediate@3.0.6: 1092 | resolution: {integrity: sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==} 1093 | 1094 | import-meta-resolve@4.0.0: 1095 | resolution: {integrity: sha512-okYUR7ZQPH+efeuMJGlq4f8ubUgO50kByRPyt/Cy1Io4PSRsPjxME+YlVaCOx+NIToW7hCsZNFJyTPFFKepRSA==} 1096 | 1097 | inherits@2.0.4: 1098 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 1099 | 1100 | ip-address@9.0.5: 1101 | resolution: {integrity: sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==} 1102 | engines: {node: '>= 12'} 1103 | 1104 | is-fullwidth-code-point@3.0.0: 1105 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} 1106 | engines: {node: '>=8'} 1107 | 1108 | is-node-process@1.2.0: 1109 | resolution: {integrity: sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw==} 1110 | 1111 | is-plain-obj@4.1.0: 1112 | resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} 1113 | engines: {node: '>=12'} 1114 | 1115 | is-potential-custom-element-name@1.0.1: 1116 | resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} 1117 | 1118 | is-stream@2.0.1: 1119 | resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} 1120 | engines: {node: '>=8'} 1121 | 1122 | isarray@1.0.0: 1123 | resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} 1124 | 1125 | isexe@2.0.0: 1126 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 1127 | 1128 | isexe@3.1.1: 1129 | resolution: {integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==} 1130 | engines: {node: '>=16'} 1131 | 1132 | jackspeak@2.3.6: 1133 | resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} 1134 | engines: {node: '>=14'} 1135 | 1136 | js-tokens@4.0.0: 1137 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} 1138 | 1139 | jsbn@1.1.0: 1140 | resolution: {integrity: sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==} 1141 | 1142 | jsdom@26.0.0: 1143 | resolution: {integrity: sha512-BZYDGVAIriBWTpIxYzrXjv3E/4u8+/pSG5bQdIYCbNCGOvsPkDQfTVLAIXAf9ETdCpduCVTkDe2NNZ8NIwUVzw==} 1144 | engines: {node: '>=18'} 1145 | peerDependencies: 1146 | canvas: ^3.0.0 1147 | peerDependenciesMeta: 1148 | canvas: 1149 | optional: true 1150 | 1151 | jsonfile@4.0.0: 1152 | resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} 1153 | 1154 | jszip@3.10.1: 1155 | resolution: {integrity: sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==} 1156 | 1157 | lazystream@1.0.1: 1158 | resolution: {integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==} 1159 | engines: {node: '>= 0.6.3'} 1160 | 1161 | lie@3.3.0: 1162 | resolution: {integrity: sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==} 1163 | 1164 | locate-app@2.4.8: 1165 | resolution: {integrity: sha512-Sut0UwjwQePwsfkUWwvJt6upC5nnlUp9+ac1ARtunD7evNpBnj3DAysTv4LIpEcsGfihJryqocMuowj8fF06TA==} 1166 | 1167 | lodash.clonedeep@4.5.0: 1168 | resolution: {integrity: sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==} 1169 | 1170 | lodash.zip@4.2.0: 1171 | resolution: {integrity: sha512-C7IOaBBK/0gMORRBd8OETNx3kmOkgIWIPvyDpZSCTwUrpYmgZwJkjZeOD8ww4xbOUOs4/attY+pciKvadNfFbg==} 1172 | 1173 | lodash@4.17.21: 1174 | resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} 1175 | 1176 | loglevel-plugin-prefix@0.8.4: 1177 | resolution: {integrity: sha512-WpG9CcFAOjz/FtNht+QJeGpvVl/cdR6P0z6OcXSkr8wFJOsV2GRj2j10JLfjuA4aYkcKCNIEqRGCyTife9R8/g==} 1178 | 1179 | loglevel@1.8.1: 1180 | resolution: {integrity: sha512-tCRIJM51SHjAayKwC+QAg8hT8vg6z7GSgLJKGvzuPb1Wc+hLzqtuVLxp6/HzSPOozuK+8ErAhy7U/sVzw8Dgfg==} 1181 | engines: {node: '>= 0.6.0'} 1182 | 1183 | lorem-ipsum@2.0.8: 1184 | resolution: {integrity: sha512-5RIwHuCb979RASgCJH0VKERn9cQo/+NcAi2BMe9ddj+gp7hujl6BI+qdOG4nVsLDpwWEJwTVYXNKP6BGgbcoGA==} 1185 | engines: {node: '>= 8.x', npm: '>= 5.x'} 1186 | hasBin: true 1187 | 1188 | loupe@3.1.3: 1189 | resolution: {integrity: sha512-kkIp7XSkP78ZxJEsSxW3712C6teJVoeHHwgo9zJ380de7IYyJ2ISlxojcH2pC5OFLewESmnRi/+XCDIEEVyoug==} 1190 | 1191 | lru-cache@10.4.3: 1192 | resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} 1193 | 1194 | lru-cache@7.18.3: 1195 | resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==} 1196 | engines: {node: '>=12'} 1197 | 1198 | lz-string@1.5.0: 1199 | resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==} 1200 | hasBin: true 1201 | 1202 | magic-string@0.30.17: 1203 | resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} 1204 | 1205 | math-intrinsics@1.1.0: 1206 | resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} 1207 | engines: {node: '>= 0.4'} 1208 | 1209 | mime-db@1.52.0: 1210 | resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} 1211 | engines: {node: '>= 0.6'} 1212 | 1213 | mime-types@2.1.35: 1214 | resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} 1215 | engines: {node: '>= 0.6'} 1216 | 1217 | minimatch@5.1.6: 1218 | resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} 1219 | engines: {node: '>=10'} 1220 | 1221 | minimatch@9.0.3: 1222 | resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} 1223 | engines: {node: '>=16 || 14 >=14.17'} 1224 | 1225 | minipass@7.0.4: 1226 | resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==} 1227 | engines: {node: '>=16 || 14 >=14.17'} 1228 | 1229 | moment@2.30.1: 1230 | resolution: {integrity: sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==} 1231 | 1232 | mrmime@2.0.0: 1233 | resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==} 1234 | engines: {node: '>=10'} 1235 | 1236 | ms@2.1.2: 1237 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} 1238 | 1239 | ms@2.1.3: 1240 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} 1241 | 1242 | msw@2.7.3: 1243 | resolution: {integrity: sha512-+mycXv8l2fEAjFZ5sjrtjJDmm2ceKGjrNbBr1durRg6VkU9fNUE/gsmQ51hWbHqs+l35W1iM+ZsmOD9Fd6lspw==} 1244 | engines: {node: '>=18'} 1245 | hasBin: true 1246 | peerDependencies: 1247 | typescript: '>= 4.8.x' 1248 | peerDependenciesMeta: 1249 | typescript: 1250 | optional: true 1251 | 1252 | mute-stream@2.0.0: 1253 | resolution: {integrity: sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==} 1254 | engines: {node: ^18.17.0 || >=20.5.0} 1255 | 1256 | nanoid@3.3.8: 1257 | resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==} 1258 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 1259 | hasBin: true 1260 | 1261 | netmask@2.0.2: 1262 | resolution: {integrity: sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==} 1263 | engines: {node: '>= 0.4.0'} 1264 | 1265 | node-domexception@1.0.0: 1266 | resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} 1267 | engines: {node: '>=10.5.0'} 1268 | 1269 | node-fetch@3.3.2: 1270 | resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} 1271 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1272 | 1273 | normalize-path@3.0.0: 1274 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} 1275 | engines: {node: '>=0.10.0'} 1276 | 1277 | nth-check@2.1.1: 1278 | resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} 1279 | 1280 | nwsapi@2.2.16: 1281 | resolution: {integrity: sha512-F1I/bimDpj3ncaNDhfyMWuFqmQDBwDB0Fogc2qpL3BWvkQteFD/8BzWuIRl83rq0DXfm8SGt/HFhLXZyljTXcQ==} 1282 | 1283 | once@1.4.0: 1284 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} 1285 | 1286 | outvariant@1.4.3: 1287 | resolution: {integrity: sha512-+Sl2UErvtsoajRDKCE5/dBz4DIvHXQQnAxtQTF04OJxY0+DyZXSo5P5Bb7XYWOh81syohlYL24hbDwxedPUJCA==} 1288 | 1289 | pac-proxy-agent@7.2.0: 1290 | resolution: {integrity: sha512-TEB8ESquiLMc0lV8vcd5Ql/JAKAoyzHFXaStwjkzpOpC5Yv+pIzLfHvjTSdf3vpa2bMiUQrg9i6276yn8666aA==} 1291 | engines: {node: '>= 14'} 1292 | 1293 | pac-resolver@7.0.1: 1294 | resolution: {integrity: sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg==} 1295 | engines: {node: '>= 14'} 1296 | 1297 | pako@1.0.11: 1298 | resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==} 1299 | 1300 | parse5-htmlparser2-tree-adapter@7.1.0: 1301 | resolution: {integrity: sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==} 1302 | 1303 | parse5-parser-stream@7.1.2: 1304 | resolution: {integrity: sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow==} 1305 | 1306 | parse5@7.2.1: 1307 | resolution: {integrity: sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ==} 1308 | 1309 | path-key@3.1.1: 1310 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 1311 | engines: {node: '>=8'} 1312 | 1313 | path-scurry@1.10.2: 1314 | resolution: {integrity: sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==} 1315 | engines: {node: '>=16 || 14 >=14.17'} 1316 | 1317 | path-to-regexp@6.3.0: 1318 | resolution: {integrity: sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==} 1319 | 1320 | pathe@2.0.3: 1321 | resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} 1322 | 1323 | pathval@2.0.0: 1324 | resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==} 1325 | engines: {node: '>= 14.16'} 1326 | 1327 | pend@1.2.0: 1328 | resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} 1329 | 1330 | perfect-debounce@1.0.0: 1331 | resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==} 1332 | 1333 | picocolors@1.0.0: 1334 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} 1335 | 1336 | picocolors@1.1.1: 1337 | resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} 1338 | 1339 | postcss@8.5.3: 1340 | resolution: {integrity: sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==} 1341 | engines: {node: ^10 || ^12 || >=14} 1342 | 1343 | prettier@2.8.1: 1344 | resolution: {integrity: sha512-lqGoSJBQNJidqCHE80vqZJHWHRFoNYsSpP9AjFhlhi9ODCJA541svILes/+/1GM3VaL/abZi7cpFzOpdR9UPKg==} 1345 | engines: {node: '>=10.13.0'} 1346 | hasBin: true 1347 | 1348 | pretty-format@27.5.1: 1349 | resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} 1350 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} 1351 | 1352 | process-nextick-args@2.0.1: 1353 | resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} 1354 | 1355 | process@0.11.10: 1356 | resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} 1357 | engines: {node: '>= 0.6.0'} 1358 | 1359 | progress@2.0.3: 1360 | resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} 1361 | engines: {node: '>=0.4.0'} 1362 | 1363 | proxy-agent@6.5.0: 1364 | resolution: {integrity: sha512-TmatMXdr2KlRiA2CyDu8GqR8EjahTG3aY3nXjdzFyoZbmB8hrBsTyMezhULIXKnC0jpfjlmiZ3+EaCzoInSu/A==} 1365 | engines: {node: '>= 14'} 1366 | 1367 | proxy-from-env@1.1.0: 1368 | resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} 1369 | 1370 | psl@1.9.0: 1371 | resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} 1372 | 1373 | pump@3.0.0: 1374 | resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} 1375 | 1376 | punycode@2.3.1: 1377 | resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} 1378 | engines: {node: '>=6'} 1379 | 1380 | query-selector-shadow-dom@1.0.1: 1381 | resolution: {integrity: sha512-lT5yCqEBgfoMYpf3F2xQRK7zEr1rhIIZuceDK6+xRkJQ4NMbHTwXqk4NkwDwQMNqXgG9r9fyHnzwNVs6zV5KRw==} 1382 | 1383 | querystringify@2.2.0: 1384 | resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} 1385 | 1386 | queue-tick@1.0.1: 1387 | resolution: {integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==} 1388 | 1389 | randombytes@2.1.0: 1390 | resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} 1391 | 1392 | react-is@17.0.2: 1393 | resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} 1394 | 1395 | readable-stream@2.3.8: 1396 | resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} 1397 | 1398 | readable-stream@4.5.2: 1399 | resolution: {integrity: sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==} 1400 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1401 | 1402 | readdir-glob@1.1.3: 1403 | resolution: {integrity: sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==} 1404 | 1405 | regenerator-runtime@0.14.1: 1406 | resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} 1407 | 1408 | require-directory@2.1.1: 1409 | resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} 1410 | engines: {node: '>=0.10.0'} 1411 | 1412 | requires-port@1.0.0: 1413 | resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} 1414 | 1415 | resq@1.11.0: 1416 | resolution: {integrity: sha512-G10EBz+zAAy3zUd/CDoBbXRL6ia9kOo3xRHrMDsHljI0GDkhYlyjwoCx5+3eCC4swi1uCoZQhskuJkj7Gp57Bw==} 1417 | 1418 | rgb2hex@0.2.5: 1419 | resolution: {integrity: sha512-22MOP1Rh7sAo1BZpDG6R5RFYzR2lYEgwq7HEmyW2qcsOqR2lQKmn+O//xV3YG/0rrhMC6KVX2hU+ZXuaw9a5bw==} 1420 | 1421 | rollup@4.34.8: 1422 | resolution: {integrity: sha512-489gTVMzAYdiZHFVA/ig/iYFllCcWFHMvUHI1rpFmkoUtRlQxqh6/yiNqnYibjMZ2b/+FUQwldG+aLsEt6bglQ==} 1423 | engines: {node: '>=18.0.0', npm: '>=8.0.0'} 1424 | hasBin: true 1425 | 1426 | rrweb-cssom@0.8.0: 1427 | resolution: {integrity: sha512-guoltQEx+9aMf2gDZ0s62EcV8lsXR+0w8915TC3ITdn2YueuNjdAYh/levpU9nFaoChh9RUS5ZdQMrKfVEN9tw==} 1428 | 1429 | safaridriver@1.0.0: 1430 | resolution: {integrity: sha512-J92IFbskyo7OYB3Dt4aTdyhag1GlInrfbPCmMteb7aBK7PwlnGz1HI0+oyNN97j7pV9DqUAVoVgkNRMrfY47mQ==} 1431 | engines: {node: '>=18.0.0'} 1432 | 1433 | safe-buffer@5.1.2: 1434 | resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} 1435 | 1436 | safe-buffer@5.2.1: 1437 | resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} 1438 | 1439 | safer-buffer@2.1.2: 1440 | resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} 1441 | 1442 | saxes@6.0.0: 1443 | resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==} 1444 | engines: {node: '>=v12.22.7'} 1445 | 1446 | semver@7.7.1: 1447 | resolution: {integrity: sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==} 1448 | engines: {node: '>=10'} 1449 | hasBin: true 1450 | 1451 | serialize-error@11.0.3: 1452 | resolution: {integrity: sha512-2G2y++21dhj2R7iHAdd0FIzjGwuKZld+7Pl/bTU6YIkrC2ZMbVUjm+luj6A6V34Rv9XfKJDKpTWu9W4Gse1D9g==} 1453 | engines: {node: '>=14.16'} 1454 | 1455 | serialize-javascript@6.0.2: 1456 | resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} 1457 | 1458 | setimmediate@1.0.5: 1459 | resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} 1460 | 1461 | shebang-command@2.0.0: 1462 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 1463 | engines: {node: '>=8'} 1464 | 1465 | shebang-regex@3.0.0: 1466 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 1467 | engines: {node: '>=8'} 1468 | 1469 | siginfo@2.0.0: 1470 | resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} 1471 | 1472 | signal-exit@4.1.0: 1473 | resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} 1474 | engines: {node: '>=14'} 1475 | 1476 | sirv@3.0.1: 1477 | resolution: {integrity: sha512-FoqMu0NCGBLCcAkS1qA+XJIQTR6/JHfQXl+uGteNCQ76T91DMUjPa9xfmeqMY3z80nLSg9yQmNjK0Px6RWsH/A==} 1478 | engines: {node: '>=18'} 1479 | 1480 | smart-buffer@4.2.0: 1481 | resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} 1482 | engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} 1483 | 1484 | smob@1.5.0: 1485 | resolution: {integrity: sha512-g6T+p7QO8npa+/hNx9ohv1E5pVCmWrVCUzUXJyLdMmftX6ER0oiWY/w9knEonLpnOp6b6FenKnMfR8gqwWdwig==} 1486 | 1487 | socks-proxy-agent@8.0.5: 1488 | resolution: {integrity: sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==} 1489 | engines: {node: '>= 14'} 1490 | 1491 | socks@2.8.3: 1492 | resolution: {integrity: sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==} 1493 | engines: {node: '>= 10.0.0', npm: '>= 3.0.0'} 1494 | 1495 | source-map-js@1.2.1: 1496 | resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} 1497 | engines: {node: '>=0.10.0'} 1498 | 1499 | source-map-support@0.5.21: 1500 | resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} 1501 | 1502 | source-map@0.6.1: 1503 | resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} 1504 | engines: {node: '>=0.10.0'} 1505 | 1506 | spacetrim@0.11.2: 1507 | resolution: {integrity: sha512-/rdSi1YqdWpJ2fm2tan8O9ntmAFm04K+aSBgntGJib8nw1aPYZNxGGoPq0c1bC36CbVwLzaiPOLIITQXLBM5Pw==} 1508 | 1509 | split2@4.2.0: 1510 | resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} 1511 | engines: {node: '>= 10.x'} 1512 | 1513 | sprintf-js@1.1.3: 1514 | resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==} 1515 | 1516 | stackback@0.0.2: 1517 | resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} 1518 | 1519 | statuses@2.0.1: 1520 | resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} 1521 | engines: {node: '>= 0.8'} 1522 | 1523 | std-env@3.8.0: 1524 | resolution: {integrity: sha512-Bc3YwwCB+OzldMxOXJIIvC6cPRWr/LxOp48CdQTOkPyk/t4JWWJbrilwBd7RJzKV8QW7tJkcgAmeuLLJugl5/w==} 1525 | 1526 | streamx@2.16.1: 1527 | resolution: {integrity: sha512-m9QYj6WygWyWa3H1YY69amr4nVgy61xfjys7xO7kviL5rfIEc2naf+ewFiOA+aEJD7y0JO3h2GoiUv4TDwEGzQ==} 1528 | 1529 | streamx@2.22.0: 1530 | resolution: {integrity: sha512-sLh1evHOzBy/iWRiR6d1zRcLao4gGZr3C1kzNz4fopCOKJb6xD9ub8Mpi9Mr1R6id5o43S+d93fI48UC5uM9aw==} 1531 | 1532 | strict-event-emitter@0.5.1: 1533 | resolution: {integrity: sha512-vMgjE/GGEPEFnhFub6pa4FmJBRBVOLpIII2hvCZ8Kzb7K0hlHo7mQv6xYrBvCL2LtAIBwFUK8wvuJgTVSQ5MFQ==} 1534 | 1535 | string-width@4.2.3: 1536 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} 1537 | engines: {node: '>=8'} 1538 | 1539 | string-width@5.1.2: 1540 | resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} 1541 | engines: {node: '>=12'} 1542 | 1543 | string_decoder@1.1.1: 1544 | resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} 1545 | 1546 | string_decoder@1.3.0: 1547 | resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} 1548 | 1549 | strip-ansi@6.0.1: 1550 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 1551 | engines: {node: '>=8'} 1552 | 1553 | strip-ansi@7.1.0: 1554 | resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} 1555 | engines: {node: '>=12'} 1556 | 1557 | strnum@1.1.1: 1558 | resolution: {integrity: sha512-O7aCHfYCamLCctjAiaucmE+fHf2DYHkus2OKCn4Wv03sykfFtgeECn505X6K4mPl8CRNd/qurC9guq+ynoN4pw==} 1559 | 1560 | supports-color@7.2.0: 1561 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 1562 | engines: {node: '>=8'} 1563 | 1564 | symbol-tree@3.2.4: 1565 | resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} 1566 | 1567 | tar-fs@3.0.8: 1568 | resolution: {integrity: sha512-ZoROL70jptorGAlgAYiLoBLItEKw/fUxg9BSYK/dF/GAGYFJOJJJMvjPAKDJraCXFwadD456FCuvLWgfhMsPwg==} 1569 | 1570 | tar-stream@3.1.7: 1571 | resolution: {integrity: sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==} 1572 | 1573 | terser@5.37.0: 1574 | resolution: {integrity: sha512-B8wRRkmre4ERucLM/uXx4MOV5cbnOlVAqUst+1+iLKPI0dOgFO28f84ptoQt9HEI537PMzfYa/d+GEPKTRXmYA==} 1575 | engines: {node: '>=10'} 1576 | hasBin: true 1577 | 1578 | text-decoder@1.2.3: 1579 | resolution: {integrity: sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==} 1580 | 1581 | tinybench@2.9.0: 1582 | resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} 1583 | 1584 | tinyexec@0.3.2: 1585 | resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} 1586 | 1587 | tinypool@1.0.2: 1588 | resolution: {integrity: sha512-al6n+QEANGFOMf/dmUMsuS5/r9B06uwlyNjZZql/zv8J7ybHCgoihBNORZCY2mzUuAnomQa2JdhyHKzZxPCrFA==} 1589 | engines: {node: ^18.0.0 || >=20.0.0} 1590 | 1591 | tinyrainbow@2.0.0: 1592 | resolution: {integrity: sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==} 1593 | engines: {node: '>=14.0.0'} 1594 | 1595 | tinyspy@3.0.2: 1596 | resolution: {integrity: sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==} 1597 | engines: {node: '>=14.0.0'} 1598 | 1599 | tldts-core@6.1.78: 1600 | resolution: {integrity: sha512-jS0svNsB99jR6AJBmfmEWuKIgz91Haya91Z43PATaeHJ24BkMoNRb/jlaD37VYjb0mYf6gRL/HOnvS1zEnYBiw==} 1601 | 1602 | tldts@6.1.78: 1603 | resolution: {integrity: sha512-fSgYrW0ITH0SR/CqKMXIruYIPpNu5aDgUp22UhYoSrnUQwc7SBqifEBFNce7AAcygUPBo6a/gbtcguWdmko4RQ==} 1604 | hasBin: true 1605 | 1606 | totalist@3.0.1: 1607 | resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} 1608 | engines: {node: '>=6'} 1609 | 1610 | tough-cookie@4.1.4: 1611 | resolution: {integrity: sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==} 1612 | engines: {node: '>=6'} 1613 | 1614 | tough-cookie@5.1.1: 1615 | resolution: {integrity: sha512-Ek7HndSVkp10hmHP9V4qZO1u+pn1RU5sI0Fw+jCU3lyvuMZcgqsNgc6CmJJZyByK4Vm/qotGRJlfgAX8q+4JiA==} 1616 | engines: {node: '>=16'} 1617 | 1618 | tr46@5.0.0: 1619 | resolution: {integrity: sha512-tk2G5R2KRwBd+ZN0zaEXpmzdKyOYksXwywulIX95MBODjSzMIuQnQ3m8JxgbhnL1LeVo7lqQKsYa1O3Htl7K5g==} 1620 | engines: {node: '>=18'} 1621 | 1622 | tslib@2.6.2: 1623 | resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} 1624 | 1625 | type-fest@0.21.3: 1626 | resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} 1627 | engines: {node: '>=10'} 1628 | 1629 | type-fest@2.13.0: 1630 | resolution: {integrity: sha512-lPfAm42MxE4/456+QyIaaVBAwgpJb6xZ8PRu09utnhPdWwcyj9vgy6Sq0Z5yNbJ21EdxB5dRU/Qg8bsyAMtlcw==} 1631 | engines: {node: '>=12.20'} 1632 | 1633 | type-fest@2.19.0: 1634 | resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} 1635 | engines: {node: '>=12.20'} 1636 | 1637 | type-fest@4.35.0: 1638 | resolution: {integrity: sha512-2/AwEFQDFEy30iOLjrvHDIH7e4HEWH+f1Yl1bI5XMqzuoCUqwYCdxachgsgv0og/JdVZUhbfjcJAoHj5L1753A==} 1639 | engines: {node: '>=16'} 1640 | 1641 | typescript@5.7.3: 1642 | resolution: {integrity: sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==} 1643 | engines: {node: '>=14.17'} 1644 | hasBin: true 1645 | 1646 | undici-types@6.19.8: 1647 | resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} 1648 | 1649 | undici-types@6.20.0: 1650 | resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==} 1651 | 1652 | undici@6.21.1: 1653 | resolution: {integrity: sha512-q/1rj5D0/zayJB2FraXdaWxbhWiNKDvu8naDT2dl1yTlvJp4BLtOcp2a5BvgGNQpYYJzau7tf1WgKv3b+7mqpQ==} 1654 | engines: {node: '>=18.17'} 1655 | 1656 | universalify@0.1.2: 1657 | resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} 1658 | engines: {node: '>= 4.0.0'} 1659 | 1660 | universalify@0.2.0: 1661 | resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} 1662 | engines: {node: '>= 4.0.0'} 1663 | 1664 | url-parse@1.5.10: 1665 | resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} 1666 | 1667 | urlpattern-polyfill@10.0.0: 1668 | resolution: {integrity: sha512-H/A06tKD7sS1O1X2SshBVeA5FLycRpjqiBeqGKmBwBDBy28EnRjORxTNe269KSSr5un5qyWi1iL61wLxpd+ZOg==} 1669 | 1670 | userhome@1.0.0: 1671 | resolution: {integrity: sha512-ayFKY3H+Pwfy4W98yPdtH1VqH4psDeyW8lYYFzfecR9d6hqLpqhecktvYR3SEEXt7vG0S1JEpciI3g94pMErig==} 1672 | engines: {node: '>= 0.8.0'} 1673 | 1674 | util-deprecate@1.0.2: 1675 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} 1676 | 1677 | vite-node@3.0.7: 1678 | resolution: {integrity: sha512-2fX0QwX4GkkkpULXdT1Pf4q0tC1i1lFOyseKoonavXUNlQ77KpW2XqBGGNIm/J4Ows4KxgGJzDguYVPKwG/n5A==} 1679 | engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} 1680 | hasBin: true 1681 | 1682 | vite@6.2.0: 1683 | resolution: {integrity: sha512-7dPxoo+WsT/64rDcwoOjk76XHj+TqNTIvHKcuMQ1k4/SeHDaQt5GFAeLYzrimZrMpn/O6DtdI03WUjdxuPM0oQ==} 1684 | engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} 1685 | hasBin: true 1686 | peerDependencies: 1687 | '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 1688 | jiti: '>=1.21.0' 1689 | less: '*' 1690 | lightningcss: ^1.21.0 1691 | sass: '*' 1692 | sass-embedded: '*' 1693 | stylus: '*' 1694 | sugarss: '*' 1695 | terser: ^5.16.0 1696 | tsx: ^4.8.1 1697 | yaml: ^2.4.2 1698 | peerDependenciesMeta: 1699 | '@types/node': 1700 | optional: true 1701 | jiti: 1702 | optional: true 1703 | less: 1704 | optional: true 1705 | lightningcss: 1706 | optional: true 1707 | sass: 1708 | optional: true 1709 | sass-embedded: 1710 | optional: true 1711 | stylus: 1712 | optional: true 1713 | sugarss: 1714 | optional: true 1715 | terser: 1716 | optional: true 1717 | tsx: 1718 | optional: true 1719 | yaml: 1720 | optional: true 1721 | 1722 | vitest@3.0.7: 1723 | resolution: {integrity: sha512-IP7gPK3LS3Fvn44x30X1dM9vtawm0aesAa2yBIZ9vQf+qB69NXC5776+Qmcr7ohUXIQuLhk7xQR0aSUIDPqavg==} 1724 | engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} 1725 | hasBin: true 1726 | peerDependencies: 1727 | '@edge-runtime/vm': '*' 1728 | '@types/debug': ^4.1.12 1729 | '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 1730 | '@vitest/browser': 3.0.7 1731 | '@vitest/ui': 3.0.7 1732 | happy-dom: '*' 1733 | jsdom: '*' 1734 | peerDependenciesMeta: 1735 | '@edge-runtime/vm': 1736 | optional: true 1737 | '@types/debug': 1738 | optional: true 1739 | '@types/node': 1740 | optional: true 1741 | '@vitest/browser': 1742 | optional: true 1743 | '@vitest/ui': 1744 | optional: true 1745 | happy-dom: 1746 | optional: true 1747 | jsdom: 1748 | optional: true 1749 | 1750 | w3c-xmlserializer@5.0.0: 1751 | resolution: {integrity: sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==} 1752 | engines: {node: '>=18'} 1753 | 1754 | wait-port@1.1.0: 1755 | resolution: {integrity: sha512-3e04qkoN3LxTMLakdqeWth8nih8usyg+sf1Bgdf9wwUkp05iuK1eSY/QpLvscT/+F/gA89+LpUmmgBtesbqI2Q==} 1756 | engines: {node: '>=10'} 1757 | hasBin: true 1758 | 1759 | web-streams-polyfill@3.3.3: 1760 | resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} 1761 | engines: {node: '>= 8'} 1762 | 1763 | webdriver@9.10.1: 1764 | resolution: {integrity: sha512-KZBCetzXJYrtjHh0M7nhjxqtMNI1+8YfJd7+tT5e5MWHTM3lgmhhWLBUywSCZtCaIRwpCVsTC/0JzM1CFM1usQ==} 1765 | engines: {node: '>=18.20.0'} 1766 | 1767 | webdriverio@9.10.1: 1768 | resolution: {integrity: sha512-nN/vd2Nm+tQV/g36pPhavUQF0F8/DGPTnGdZ4D9mxCzQAJpx5w6einCuBe+PjS9czSLIefi/wVzrec3IOJokeA==} 1769 | engines: {node: '>=18.20.0'} 1770 | peerDependencies: 1771 | puppeteer-core: ^22.3.0 1772 | peerDependenciesMeta: 1773 | puppeteer-core: 1774 | optional: true 1775 | 1776 | webidl-conversions@7.0.0: 1777 | resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} 1778 | engines: {node: '>=12'} 1779 | 1780 | whatwg-encoding@3.1.1: 1781 | resolution: {integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==} 1782 | engines: {node: '>=18'} 1783 | 1784 | whatwg-mimetype@4.0.0: 1785 | resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==} 1786 | engines: {node: '>=18'} 1787 | 1788 | whatwg-url@14.1.1: 1789 | resolution: {integrity: sha512-mDGf9diDad/giZ/Sm9Xi2YcyzaFpbdLpJPr+E9fSkyQ7KpQD4SdFcugkRQYzhmfI4KeV4Qpnn2sKPdo+kmsgRQ==} 1790 | engines: {node: '>=18'} 1791 | 1792 | which@2.0.2: 1793 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 1794 | engines: {node: '>= 8'} 1795 | hasBin: true 1796 | 1797 | which@5.0.0: 1798 | resolution: {integrity: sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==} 1799 | engines: {node: ^18.17.0 || >=20.5.0} 1800 | hasBin: true 1801 | 1802 | why-is-node-running@2.3.0: 1803 | resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==} 1804 | engines: {node: '>=8'} 1805 | hasBin: true 1806 | 1807 | wrap-ansi@6.2.0: 1808 | resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} 1809 | engines: {node: '>=8'} 1810 | 1811 | wrap-ansi@7.0.0: 1812 | resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} 1813 | engines: {node: '>=10'} 1814 | 1815 | wrap-ansi@8.1.0: 1816 | resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} 1817 | engines: {node: '>=12'} 1818 | 1819 | wrappy@1.0.2: 1820 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} 1821 | 1822 | ws@8.18.1: 1823 | resolution: {integrity: sha512-RKW2aJZMXeMxVpnZ6bck+RswznaxmzdULiBr6KY7XkTnW8uvt0iT9H5DkHUChXrc+uurzwa0rVI16n/Xzjdz1w==} 1824 | engines: {node: '>=10.0.0'} 1825 | peerDependencies: 1826 | bufferutil: ^4.0.1 1827 | utf-8-validate: '>=5.0.2' 1828 | peerDependenciesMeta: 1829 | bufferutil: 1830 | optional: true 1831 | utf-8-validate: 1832 | optional: true 1833 | 1834 | xml-name-validator@5.0.0: 1835 | resolution: {integrity: sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==} 1836 | engines: {node: '>=18'} 1837 | 1838 | xmlchars@2.2.0: 1839 | resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} 1840 | 1841 | y18n@5.0.8: 1842 | resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} 1843 | engines: {node: '>=10'} 1844 | 1845 | yargs-parser@21.1.1: 1846 | resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} 1847 | engines: {node: '>=12'} 1848 | 1849 | yargs@17.7.2: 1850 | resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} 1851 | engines: {node: '>=12'} 1852 | 1853 | yauzl@2.10.0: 1854 | resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} 1855 | 1856 | yoctocolors-cjs@2.1.2: 1857 | resolution: {integrity: sha512-cYVsTjKl8b+FrnidjibDWskAv7UKOfcwaVZdp/it9n1s9fU3IkgDbhdIRKCW4JDsAlECJY0ytoVPT3sK6kideA==} 1858 | engines: {node: '>=18'} 1859 | 1860 | zip-stream@6.0.1: 1861 | resolution: {integrity: sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==} 1862 | engines: {node: '>= 14'} 1863 | 1864 | snapshots: 1865 | 1866 | '@asamuzakjp/css-color@2.8.3': 1867 | dependencies: 1868 | '@csstools/css-calc': 2.1.2(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) 1869 | '@csstools/css-color-parser': 3.0.8(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) 1870 | '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) 1871 | '@csstools/css-tokenizer': 3.0.3 1872 | lru-cache: 10.4.3 1873 | 1874 | '@awlsn/pdfjs-full@4.2.392': {} 1875 | 1876 | '@babel/code-frame@7.26.2': 1877 | dependencies: 1878 | '@babel/helper-validator-identifier': 7.25.9 1879 | js-tokens: 4.0.0 1880 | picocolors: 1.0.0 1881 | 1882 | '@babel/helper-validator-identifier@7.25.9': {} 1883 | 1884 | '@babel/runtime@7.26.9': 1885 | dependencies: 1886 | regenerator-runtime: 0.14.1 1887 | 1888 | '@bundled-es-modules/cookie@2.0.1': 1889 | dependencies: 1890 | cookie: 0.7.2 1891 | 1892 | '@bundled-es-modules/statuses@1.0.1': 1893 | dependencies: 1894 | statuses: 2.0.1 1895 | 1896 | '@bundled-es-modules/tough-cookie@0.1.6': 1897 | dependencies: 1898 | '@types/tough-cookie': 4.0.5 1899 | tough-cookie: 4.1.4 1900 | 1901 | '@csstools/color-helpers@5.0.2': {} 1902 | 1903 | '@csstools/css-calc@2.1.2(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)': 1904 | dependencies: 1905 | '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) 1906 | '@csstools/css-tokenizer': 3.0.3 1907 | 1908 | '@csstools/css-color-parser@3.0.8(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)': 1909 | dependencies: 1910 | '@csstools/color-helpers': 5.0.2 1911 | '@csstools/css-calc': 2.1.2(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3) 1912 | '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) 1913 | '@csstools/css-tokenizer': 3.0.3 1914 | 1915 | '@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3)': 1916 | dependencies: 1917 | '@csstools/css-tokenizer': 3.0.3 1918 | 1919 | '@csstools/css-tokenizer@3.0.3': {} 1920 | 1921 | '@esbuild/aix-ppc64@0.25.0': 1922 | optional: true 1923 | 1924 | '@esbuild/android-arm64@0.25.0': 1925 | optional: true 1926 | 1927 | '@esbuild/android-arm@0.25.0': 1928 | optional: true 1929 | 1930 | '@esbuild/android-x64@0.25.0': 1931 | optional: true 1932 | 1933 | '@esbuild/darwin-arm64@0.25.0': 1934 | optional: true 1935 | 1936 | '@esbuild/darwin-x64@0.25.0': 1937 | optional: true 1938 | 1939 | '@esbuild/freebsd-arm64@0.25.0': 1940 | optional: true 1941 | 1942 | '@esbuild/freebsd-x64@0.25.0': 1943 | optional: true 1944 | 1945 | '@esbuild/linux-arm64@0.25.0': 1946 | optional: true 1947 | 1948 | '@esbuild/linux-arm@0.25.0': 1949 | optional: true 1950 | 1951 | '@esbuild/linux-ia32@0.25.0': 1952 | optional: true 1953 | 1954 | '@esbuild/linux-loong64@0.25.0': 1955 | optional: true 1956 | 1957 | '@esbuild/linux-mips64el@0.25.0': 1958 | optional: true 1959 | 1960 | '@esbuild/linux-ppc64@0.25.0': 1961 | optional: true 1962 | 1963 | '@esbuild/linux-riscv64@0.25.0': 1964 | optional: true 1965 | 1966 | '@esbuild/linux-s390x@0.25.0': 1967 | optional: true 1968 | 1969 | '@esbuild/linux-x64@0.25.0': 1970 | optional: true 1971 | 1972 | '@esbuild/netbsd-arm64@0.25.0': 1973 | optional: true 1974 | 1975 | '@esbuild/netbsd-x64@0.25.0': 1976 | optional: true 1977 | 1978 | '@esbuild/openbsd-arm64@0.25.0': 1979 | optional: true 1980 | 1981 | '@esbuild/openbsd-x64@0.25.0': 1982 | optional: true 1983 | 1984 | '@esbuild/sunos-x64@0.25.0': 1985 | optional: true 1986 | 1987 | '@esbuild/win32-arm64@0.25.0': 1988 | optional: true 1989 | 1990 | '@esbuild/win32-ia32@0.25.0': 1991 | optional: true 1992 | 1993 | '@esbuild/win32-x64@0.25.0': 1994 | optional: true 1995 | 1996 | '@inquirer/confirm@5.1.6(@types/node@22.13.5)': 1997 | dependencies: 1998 | '@inquirer/core': 10.1.7(@types/node@22.13.5) 1999 | '@inquirer/type': 3.0.4(@types/node@22.13.5) 2000 | optionalDependencies: 2001 | '@types/node': 22.13.5 2002 | 2003 | '@inquirer/core@10.1.7(@types/node@22.13.5)': 2004 | dependencies: 2005 | '@inquirer/figures': 1.0.10 2006 | '@inquirer/type': 3.0.4(@types/node@22.13.5) 2007 | ansi-escapes: 4.3.2 2008 | cli-width: 4.1.0 2009 | mute-stream: 2.0.0 2010 | signal-exit: 4.1.0 2011 | wrap-ansi: 6.2.0 2012 | yoctocolors-cjs: 2.1.2 2013 | optionalDependencies: 2014 | '@types/node': 22.13.5 2015 | 2016 | '@inquirer/figures@1.0.10': {} 2017 | 2018 | '@inquirer/type@3.0.4(@types/node@22.13.5)': 2019 | optionalDependencies: 2020 | '@types/node': 22.13.5 2021 | 2022 | '@isaacs/cliui@8.0.2': 2023 | dependencies: 2024 | string-width: 5.1.2 2025 | string-width-cjs: string-width@4.2.3 2026 | strip-ansi: 7.1.0 2027 | strip-ansi-cjs: strip-ansi@6.0.1 2028 | wrap-ansi: 8.1.0 2029 | wrap-ansi-cjs: wrap-ansi@7.0.0 2030 | 2031 | '@jridgewell/gen-mapping@0.3.8': 2032 | dependencies: 2033 | '@jridgewell/set-array': 1.2.1 2034 | '@jridgewell/sourcemap-codec': 1.4.15 2035 | '@jridgewell/trace-mapping': 0.3.25 2036 | 2037 | '@jridgewell/resolve-uri@3.1.2': {} 2038 | 2039 | '@jridgewell/set-array@1.2.1': {} 2040 | 2041 | '@jridgewell/source-map@0.3.6': 2042 | dependencies: 2043 | '@jridgewell/gen-mapping': 0.3.8 2044 | '@jridgewell/trace-mapping': 0.3.25 2045 | 2046 | '@jridgewell/sourcemap-codec@1.4.15': {} 2047 | 2048 | '@jridgewell/sourcemap-codec@1.5.0': {} 2049 | 2050 | '@jridgewell/trace-mapping@0.3.25': 2051 | dependencies: 2052 | '@jridgewell/resolve-uri': 3.1.2 2053 | '@jridgewell/sourcemap-codec': 1.4.15 2054 | 2055 | '@mswjs/interceptors@0.37.6': 2056 | dependencies: 2057 | '@open-draft/deferred-promise': 2.2.0 2058 | '@open-draft/logger': 0.3.0 2059 | '@open-draft/until': 2.1.0 2060 | is-node-process: 1.2.0 2061 | outvariant: 1.4.3 2062 | strict-event-emitter: 0.5.1 2063 | 2064 | '@open-draft/deferred-promise@2.2.0': {} 2065 | 2066 | '@open-draft/logger@0.3.0': 2067 | dependencies: 2068 | is-node-process: 1.2.0 2069 | outvariant: 1.4.3 2070 | 2071 | '@open-draft/until@2.1.0': {} 2072 | 2073 | '@pkgjs/parseargs@0.11.0': 2074 | optional: true 2075 | 2076 | '@polka/url@1.0.0-next.24': {} 2077 | 2078 | '@promptbook/core@0.44.0-14': 2079 | dependencies: 2080 | lorem-ipsum: 2.0.8 2081 | spacetrim: 0.11.2 2082 | 2083 | '@promptbook/utils@0.44.0-1(@promptbook/core@0.44.0-14)': 2084 | dependencies: 2085 | '@promptbook/core': 0.44.0-14 2086 | moment: 2.30.1 2087 | prettier: 2.8.1 2088 | spacetrim: 0.11.2 2089 | 2090 | '@puppeteer/browsers@2.7.1': 2091 | dependencies: 2092 | debug: 4.4.0 2093 | extract-zip: 2.0.1 2094 | progress: 2.0.3 2095 | proxy-agent: 6.5.0 2096 | semver: 7.7.1 2097 | tar-fs: 3.0.8 2098 | yargs: 17.7.2 2099 | transitivePeerDependencies: 2100 | - bare-buffer 2101 | - supports-color 2102 | 2103 | '@rollup/plugin-terser@0.4.4(rollup@4.34.8)': 2104 | dependencies: 2105 | serialize-javascript: 6.0.2 2106 | smob: 1.5.0 2107 | terser: 5.37.0 2108 | optionalDependencies: 2109 | rollup: 4.34.8 2110 | 2111 | '@rollup/rollup-android-arm-eabi@4.34.8': 2112 | optional: true 2113 | 2114 | '@rollup/rollup-android-arm64@4.34.8': 2115 | optional: true 2116 | 2117 | '@rollup/rollup-darwin-arm64@4.34.8': 2118 | optional: true 2119 | 2120 | '@rollup/rollup-darwin-x64@4.34.8': 2121 | optional: true 2122 | 2123 | '@rollup/rollup-freebsd-arm64@4.34.8': 2124 | optional: true 2125 | 2126 | '@rollup/rollup-freebsd-x64@4.34.8': 2127 | optional: true 2128 | 2129 | '@rollup/rollup-linux-arm-gnueabihf@4.34.8': 2130 | optional: true 2131 | 2132 | '@rollup/rollup-linux-arm-musleabihf@4.34.8': 2133 | optional: true 2134 | 2135 | '@rollup/rollup-linux-arm64-gnu@4.34.8': 2136 | optional: true 2137 | 2138 | '@rollup/rollup-linux-arm64-musl@4.34.8': 2139 | optional: true 2140 | 2141 | '@rollup/rollup-linux-loongarch64-gnu@4.34.8': 2142 | optional: true 2143 | 2144 | '@rollup/rollup-linux-powerpc64le-gnu@4.34.8': 2145 | optional: true 2146 | 2147 | '@rollup/rollup-linux-riscv64-gnu@4.34.8': 2148 | optional: true 2149 | 2150 | '@rollup/rollup-linux-s390x-gnu@4.34.8': 2151 | optional: true 2152 | 2153 | '@rollup/rollup-linux-x64-gnu@4.34.8': 2154 | optional: true 2155 | 2156 | '@rollup/rollup-linux-x64-musl@4.34.8': 2157 | optional: true 2158 | 2159 | '@rollup/rollup-win32-arm64-msvc@4.34.8': 2160 | optional: true 2161 | 2162 | '@rollup/rollup-win32-ia32-msvc@4.34.8': 2163 | optional: true 2164 | 2165 | '@rollup/rollup-win32-x64-msvc@4.34.8': 2166 | optional: true 2167 | 2168 | '@testing-library/dom@10.4.0': 2169 | dependencies: 2170 | '@babel/code-frame': 7.26.2 2171 | '@babel/runtime': 7.26.9 2172 | '@types/aria-query': 5.0.4 2173 | aria-query: 5.3.0 2174 | chalk: 4.1.2 2175 | dom-accessibility-api: 0.5.16 2176 | lz-string: 1.5.0 2177 | pretty-format: 27.5.1 2178 | 2179 | '@testing-library/user-event@14.6.1(@testing-library/dom@10.4.0)': 2180 | dependencies: 2181 | '@testing-library/dom': 10.4.0 2182 | 2183 | '@tootallnate/quickjs-emscripten@0.23.0': {} 2184 | 2185 | '@types/aria-query@5.0.4': {} 2186 | 2187 | '@types/cookie@0.6.0': {} 2188 | 2189 | '@types/estree@1.0.5': {} 2190 | 2191 | '@types/estree@1.0.6': {} 2192 | 2193 | '@types/node@20.17.19': 2194 | dependencies: 2195 | undici-types: 6.19.8 2196 | 2197 | '@types/node@22.13.5': 2198 | dependencies: 2199 | undici-types: 6.20.0 2200 | 2201 | '@types/sinonjs__fake-timers@8.1.5': {} 2202 | 2203 | '@types/statuses@2.0.5': {} 2204 | 2205 | '@types/tough-cookie@4.0.5': {} 2206 | 2207 | '@types/which@2.0.2': {} 2208 | 2209 | '@types/ws@8.5.10': 2210 | dependencies: 2211 | '@types/node': 22.13.5 2212 | 2213 | '@types/yauzl@2.10.3': 2214 | dependencies: 2215 | '@types/node': 22.13.5 2216 | optional: true 2217 | 2218 | '@vitest/browser@3.0.7(@types/node@22.13.5)(typescript@5.7.3)(vite@6.2.0(@types/node@22.13.5)(terser@5.37.0))(vitest@3.0.7)(webdriverio@9.10.1(@promptbook/core@0.44.0-14))': 2219 | dependencies: 2220 | '@testing-library/dom': 10.4.0 2221 | '@testing-library/user-event': 14.6.1(@testing-library/dom@10.4.0) 2222 | '@vitest/mocker': 3.0.7(msw@2.7.3(@types/node@22.13.5)(typescript@5.7.3))(vite@6.2.0(@types/node@22.13.5)(terser@5.37.0)) 2223 | '@vitest/utils': 3.0.7 2224 | magic-string: 0.30.17 2225 | msw: 2.7.3(@types/node@22.13.5)(typescript@5.7.3) 2226 | sirv: 3.0.1 2227 | tinyrainbow: 2.0.0 2228 | vitest: 3.0.7(@types/node@22.13.5)(@vitest/browser@3.0.7)(jsdom@26.0.0)(msw@2.7.3(@types/node@22.13.5)(typescript@5.7.3))(terser@5.37.0) 2229 | ws: 8.18.1 2230 | optionalDependencies: 2231 | webdriverio: 9.10.1(@promptbook/core@0.44.0-14) 2232 | transitivePeerDependencies: 2233 | - '@types/node' 2234 | - bufferutil 2235 | - typescript 2236 | - utf-8-validate 2237 | - vite 2238 | 2239 | '@vitest/expect@3.0.7': 2240 | dependencies: 2241 | '@vitest/spy': 3.0.7 2242 | '@vitest/utils': 3.0.7 2243 | chai: 5.2.0 2244 | tinyrainbow: 2.0.0 2245 | 2246 | '@vitest/mocker@3.0.7(msw@2.7.3(@types/node@22.13.5)(typescript@5.7.3))(vite@6.2.0(@types/node@22.13.5)(terser@5.37.0))': 2247 | dependencies: 2248 | '@vitest/spy': 3.0.7 2249 | estree-walker: 3.0.3 2250 | magic-string: 0.30.17 2251 | optionalDependencies: 2252 | msw: 2.7.3(@types/node@22.13.5)(typescript@5.7.3) 2253 | vite: 6.2.0(@types/node@22.13.5)(terser@5.37.0) 2254 | 2255 | '@vitest/pretty-format@3.0.7': 2256 | dependencies: 2257 | tinyrainbow: 2.0.0 2258 | 2259 | '@vitest/runner@3.0.7': 2260 | dependencies: 2261 | '@vitest/utils': 3.0.7 2262 | pathe: 2.0.3 2263 | 2264 | '@vitest/snapshot@3.0.7': 2265 | dependencies: 2266 | '@vitest/pretty-format': 3.0.7 2267 | magic-string: 0.30.17 2268 | pathe: 2.0.3 2269 | 2270 | '@vitest/spy@3.0.7': 2271 | dependencies: 2272 | tinyspy: 3.0.2 2273 | 2274 | '@vitest/utils@3.0.7': 2275 | dependencies: 2276 | '@vitest/pretty-format': 3.0.7 2277 | loupe: 3.1.3 2278 | tinyrainbow: 2.0.0 2279 | 2280 | '@wdio/config@9.10.1(@promptbook/core@0.44.0-14)': 2281 | dependencies: 2282 | '@wdio/logger': 9.4.4 2283 | '@wdio/types': 9.10.1 2284 | '@wdio/utils': 9.10.1(@promptbook/core@0.44.0-14) 2285 | deepmerge-ts: 7.1.5 2286 | glob: 10.3.12 2287 | import-meta-resolve: 4.0.0 2288 | transitivePeerDependencies: 2289 | - '@promptbook/core' 2290 | - bare-buffer 2291 | - supports-color 2292 | 2293 | '@wdio/logger@9.4.4': 2294 | dependencies: 2295 | chalk: 5.3.0 2296 | loglevel: 1.8.1 2297 | loglevel-plugin-prefix: 0.8.4 2298 | strip-ansi: 7.1.0 2299 | 2300 | '@wdio/protocols@9.7.0': {} 2301 | 2302 | '@wdio/repl@9.4.4': 2303 | dependencies: 2304 | '@types/node': 20.17.19 2305 | 2306 | '@wdio/types@9.10.1': 2307 | dependencies: 2308 | '@types/node': 20.17.19 2309 | 2310 | '@wdio/utils@9.10.1(@promptbook/core@0.44.0-14)': 2311 | dependencies: 2312 | '@puppeteer/browsers': 2.7.1 2313 | '@wdio/logger': 9.4.4 2314 | '@wdio/types': 9.10.1 2315 | decamelize: 6.0.0 2316 | deepmerge-ts: 7.1.5 2317 | edgedriver: 6.1.1 2318 | geckodriver: 5.0.0 2319 | get-port: 7.1.0 2320 | import-meta-resolve: 4.0.0 2321 | locate-app: 2.4.8(@promptbook/core@0.44.0-14) 2322 | safaridriver: 1.0.0 2323 | split2: 4.2.0 2324 | wait-port: 1.1.0 2325 | transitivePeerDependencies: 2326 | - '@promptbook/core' 2327 | - bare-buffer 2328 | - supports-color 2329 | 2330 | '@zip.js/zip.js@2.7.57': {} 2331 | 2332 | abort-controller@3.0.0: 2333 | dependencies: 2334 | event-target-shim: 5.0.1 2335 | 2336 | acorn@8.11.3: {} 2337 | 2338 | agent-base@7.1.1: 2339 | dependencies: 2340 | debug: 4.3.4 2341 | transitivePeerDependencies: 2342 | - supports-color 2343 | 2344 | agent-base@7.1.3: {} 2345 | 2346 | ansi-escapes@4.3.2: 2347 | dependencies: 2348 | type-fest: 0.21.3 2349 | 2350 | ansi-regex@5.0.1: {} 2351 | 2352 | ansi-regex@6.0.1: {} 2353 | 2354 | ansi-styles@4.3.0: 2355 | dependencies: 2356 | color-convert: 2.0.1 2357 | 2358 | ansi-styles@5.2.0: {} 2359 | 2360 | ansi-styles@6.2.1: {} 2361 | 2362 | archiver-utils@5.0.2: 2363 | dependencies: 2364 | glob: 10.3.12 2365 | graceful-fs: 4.2.11 2366 | is-stream: 2.0.1 2367 | lazystream: 1.0.1 2368 | lodash: 4.17.21 2369 | normalize-path: 3.0.0 2370 | readable-stream: 4.5.2 2371 | 2372 | archiver@7.0.1: 2373 | dependencies: 2374 | archiver-utils: 5.0.2 2375 | async: 3.2.5 2376 | buffer-crc32: 1.0.0 2377 | readable-stream: 4.5.2 2378 | readdir-glob: 1.1.3 2379 | tar-stream: 3.1.7 2380 | zip-stream: 6.0.1 2381 | 2382 | aria-query@5.3.0: 2383 | dependencies: 2384 | dequal: 2.0.3 2385 | 2386 | assertion-error@2.0.1: {} 2387 | 2388 | ast-types@0.13.4: 2389 | dependencies: 2390 | tslib: 2.6.2 2391 | 2392 | async@3.2.5: {} 2393 | 2394 | asynckit@0.4.0: {} 2395 | 2396 | b4a@1.6.6: {} 2397 | 2398 | balanced-match@1.0.2: {} 2399 | 2400 | bare-events@2.2.2: 2401 | optional: true 2402 | 2403 | bare-fs@4.0.1: 2404 | dependencies: 2405 | bare-events: 2.2.2 2406 | bare-path: 3.0.0 2407 | bare-stream: 2.6.5(bare-events@2.2.2) 2408 | transitivePeerDependencies: 2409 | - bare-buffer 2410 | optional: true 2411 | 2412 | bare-os@3.4.0: 2413 | optional: true 2414 | 2415 | bare-path@3.0.0: 2416 | dependencies: 2417 | bare-os: 3.4.0 2418 | optional: true 2419 | 2420 | bare-stream@2.6.5(bare-events@2.2.2): 2421 | dependencies: 2422 | streamx: 2.22.0 2423 | optionalDependencies: 2424 | bare-events: 2.2.2 2425 | optional: true 2426 | 2427 | base64-js@1.5.1: {} 2428 | 2429 | basic-ftp@5.0.4: {} 2430 | 2431 | boolbase@1.0.0: {} 2432 | 2433 | brace-expansion@2.0.1: 2434 | dependencies: 2435 | balanced-match: 1.0.2 2436 | 2437 | buffer-crc32@0.2.13: {} 2438 | 2439 | buffer-crc32@1.0.0: {} 2440 | 2441 | buffer-from@1.1.2: {} 2442 | 2443 | buffer@6.0.3: 2444 | dependencies: 2445 | base64-js: 1.5.1 2446 | ieee754: 1.2.1 2447 | 2448 | cac@6.7.14: {} 2449 | 2450 | call-bind-apply-helpers@1.0.2: 2451 | dependencies: 2452 | es-errors: 1.3.0 2453 | function-bind: 1.1.2 2454 | 2455 | chai@5.2.0: 2456 | dependencies: 2457 | assertion-error: 2.0.1 2458 | check-error: 2.1.1 2459 | deep-eql: 5.0.2 2460 | loupe: 3.1.3 2461 | pathval: 2.0.0 2462 | 2463 | chalk@4.1.2: 2464 | dependencies: 2465 | ansi-styles: 4.3.0 2466 | supports-color: 7.2.0 2467 | 2468 | chalk@5.3.0: {} 2469 | 2470 | check-error@2.1.1: {} 2471 | 2472 | cheerio-select@2.1.0: 2473 | dependencies: 2474 | boolbase: 1.0.0 2475 | css-select: 5.1.0 2476 | css-what: 6.1.0 2477 | domelementtype: 2.3.0 2478 | domhandler: 5.0.3 2479 | domutils: 3.2.2 2480 | 2481 | cheerio@1.0.0: 2482 | dependencies: 2483 | cheerio-select: 2.1.0 2484 | dom-serializer: 2.0.0 2485 | domhandler: 5.0.3 2486 | domutils: 3.2.2 2487 | encoding-sniffer: 0.2.0 2488 | htmlparser2: 9.1.0 2489 | parse5: 7.2.1 2490 | parse5-htmlparser2-tree-adapter: 7.1.0 2491 | parse5-parser-stream: 7.1.2 2492 | undici: 6.21.1 2493 | whatwg-mimetype: 4.0.0 2494 | 2495 | cli-width@4.1.0: {} 2496 | 2497 | cliui@8.0.1: 2498 | dependencies: 2499 | string-width: 4.2.3 2500 | strip-ansi: 6.0.1 2501 | wrap-ansi: 7.0.0 2502 | 2503 | color-convert@2.0.1: 2504 | dependencies: 2505 | color-name: 1.1.4 2506 | 2507 | color-name@1.1.4: {} 2508 | 2509 | combined-stream@1.0.8: 2510 | dependencies: 2511 | delayed-stream: 1.0.0 2512 | 2513 | commander@2.20.3: {} 2514 | 2515 | commander@9.5.0: {} 2516 | 2517 | compress-commons@6.0.2: 2518 | dependencies: 2519 | crc-32: 1.2.2 2520 | crc32-stream: 6.0.0 2521 | is-stream: 2.0.1 2522 | normalize-path: 3.0.0 2523 | readable-stream: 4.5.2 2524 | 2525 | cookie@0.7.2: {} 2526 | 2527 | core-util-is@1.0.3: {} 2528 | 2529 | crc-32@1.2.2: {} 2530 | 2531 | crc32-stream@6.0.0: 2532 | dependencies: 2533 | crc-32: 1.2.2 2534 | readable-stream: 4.5.2 2535 | 2536 | cross-spawn@7.0.3: 2537 | dependencies: 2538 | path-key: 3.1.1 2539 | shebang-command: 2.0.0 2540 | which: 2.0.2 2541 | 2542 | css-select@5.1.0: 2543 | dependencies: 2544 | boolbase: 1.0.0 2545 | css-what: 6.1.0 2546 | domhandler: 5.0.3 2547 | domutils: 3.2.2 2548 | nth-check: 2.1.1 2549 | 2550 | css-shorthand-properties@1.1.1: {} 2551 | 2552 | css-value@0.0.1: {} 2553 | 2554 | css-what@6.1.0: {} 2555 | 2556 | cssstyle@4.2.1: 2557 | dependencies: 2558 | '@asamuzakjp/css-color': 2.8.3 2559 | rrweb-cssom: 0.8.0 2560 | 2561 | data-uri-to-buffer@4.0.1: {} 2562 | 2563 | data-uri-to-buffer@6.0.1: {} 2564 | 2565 | data-urls@5.0.0: 2566 | dependencies: 2567 | whatwg-mimetype: 4.0.0 2568 | whatwg-url: 14.1.1 2569 | 2570 | debug@4.3.4: 2571 | dependencies: 2572 | ms: 2.1.2 2573 | 2574 | debug@4.4.0: 2575 | dependencies: 2576 | ms: 2.1.3 2577 | 2578 | decamelize@6.0.0: {} 2579 | 2580 | decimal.js@10.4.3: {} 2581 | 2582 | deep-eql@5.0.2: {} 2583 | 2584 | deepmerge-ts@7.1.5: {} 2585 | 2586 | degenerator@5.0.1: 2587 | dependencies: 2588 | ast-types: 0.13.4 2589 | escodegen: 2.1.0 2590 | esprima: 4.0.1 2591 | 2592 | delayed-stream@1.0.0: {} 2593 | 2594 | dequal@2.0.3: {} 2595 | 2596 | dom-accessibility-api@0.5.16: {} 2597 | 2598 | dom-serializer@2.0.0: 2599 | dependencies: 2600 | domelementtype: 2.3.0 2601 | domhandler: 5.0.3 2602 | entities: 4.5.0 2603 | 2604 | domelementtype@2.3.0: {} 2605 | 2606 | domhandler@5.0.3: 2607 | dependencies: 2608 | domelementtype: 2.3.0 2609 | 2610 | domutils@3.2.2: 2611 | dependencies: 2612 | dom-serializer: 2.0.0 2613 | domelementtype: 2.3.0 2614 | domhandler: 5.0.3 2615 | 2616 | dunder-proto@1.0.1: 2617 | dependencies: 2618 | call-bind-apply-helpers: 1.0.2 2619 | es-errors: 1.3.0 2620 | gopd: 1.2.0 2621 | 2622 | eastasianwidth@0.2.0: {} 2623 | 2624 | edge-paths@3.0.5: 2625 | dependencies: 2626 | '@types/which': 2.0.2 2627 | which: 2.0.2 2628 | 2629 | edgedriver@6.1.1: 2630 | dependencies: 2631 | '@wdio/logger': 9.4.4 2632 | '@zip.js/zip.js': 2.7.57 2633 | decamelize: 6.0.0 2634 | edge-paths: 3.0.5 2635 | fast-xml-parser: 4.5.3 2636 | http-proxy-agent: 7.0.2 2637 | https-proxy-agent: 7.0.6 2638 | node-fetch: 3.3.2 2639 | which: 5.0.0 2640 | transitivePeerDependencies: 2641 | - supports-color 2642 | 2643 | emoji-regex@8.0.0: {} 2644 | 2645 | emoji-regex@9.2.2: {} 2646 | 2647 | encoding-sniffer@0.2.0: 2648 | dependencies: 2649 | iconv-lite: 0.6.3 2650 | whatwg-encoding: 3.1.1 2651 | 2652 | end-of-stream@1.4.4: 2653 | dependencies: 2654 | once: 1.4.0 2655 | 2656 | entities@4.5.0: {} 2657 | 2658 | es-define-property@1.0.1: {} 2659 | 2660 | es-errors@1.3.0: {} 2661 | 2662 | es-module-lexer@1.6.0: {} 2663 | 2664 | es-object-atoms@1.1.1: 2665 | dependencies: 2666 | es-errors: 1.3.0 2667 | 2668 | es-set-tostringtag@2.1.0: 2669 | dependencies: 2670 | es-errors: 1.3.0 2671 | get-intrinsic: 1.3.0 2672 | has-tostringtag: 1.0.2 2673 | hasown: 2.0.2 2674 | 2675 | esbuild@0.25.0: 2676 | optionalDependencies: 2677 | '@esbuild/aix-ppc64': 0.25.0 2678 | '@esbuild/android-arm': 0.25.0 2679 | '@esbuild/android-arm64': 0.25.0 2680 | '@esbuild/android-x64': 0.25.0 2681 | '@esbuild/darwin-arm64': 0.25.0 2682 | '@esbuild/darwin-x64': 0.25.0 2683 | '@esbuild/freebsd-arm64': 0.25.0 2684 | '@esbuild/freebsd-x64': 0.25.0 2685 | '@esbuild/linux-arm': 0.25.0 2686 | '@esbuild/linux-arm64': 0.25.0 2687 | '@esbuild/linux-ia32': 0.25.0 2688 | '@esbuild/linux-loong64': 0.25.0 2689 | '@esbuild/linux-mips64el': 0.25.0 2690 | '@esbuild/linux-ppc64': 0.25.0 2691 | '@esbuild/linux-riscv64': 0.25.0 2692 | '@esbuild/linux-s390x': 0.25.0 2693 | '@esbuild/linux-x64': 0.25.0 2694 | '@esbuild/netbsd-arm64': 0.25.0 2695 | '@esbuild/netbsd-x64': 0.25.0 2696 | '@esbuild/openbsd-arm64': 0.25.0 2697 | '@esbuild/openbsd-x64': 0.25.0 2698 | '@esbuild/sunos-x64': 0.25.0 2699 | '@esbuild/win32-arm64': 0.25.0 2700 | '@esbuild/win32-ia32': 0.25.0 2701 | '@esbuild/win32-x64': 0.25.0 2702 | 2703 | escalade@3.1.2: {} 2704 | 2705 | escodegen@2.1.0: 2706 | dependencies: 2707 | esprima: 4.0.1 2708 | estraverse: 5.3.0 2709 | esutils: 2.0.3 2710 | optionalDependencies: 2711 | source-map: 0.6.1 2712 | 2713 | esprima@4.0.1: {} 2714 | 2715 | estraverse@5.3.0: {} 2716 | 2717 | estree-walker@3.0.3: 2718 | dependencies: 2719 | '@types/estree': 1.0.5 2720 | 2721 | esutils@2.0.3: {} 2722 | 2723 | event-target-shim@5.0.1: {} 2724 | 2725 | events@3.3.0: {} 2726 | 2727 | expect-type@1.1.0: {} 2728 | 2729 | extract-zip@2.0.1: 2730 | dependencies: 2731 | debug: 4.4.0 2732 | get-stream: 5.2.0 2733 | yauzl: 2.10.0 2734 | optionalDependencies: 2735 | '@types/yauzl': 2.10.3 2736 | transitivePeerDependencies: 2737 | - supports-color 2738 | 2739 | fast-deep-equal@2.0.1: {} 2740 | 2741 | fast-fifo@1.3.2: {} 2742 | 2743 | fast-xml-parser@4.5.3: 2744 | dependencies: 2745 | strnum: 1.1.1 2746 | 2747 | fd-slicer@1.1.0: 2748 | dependencies: 2749 | pend: 1.2.0 2750 | 2751 | fetch-blob@3.2.0: 2752 | dependencies: 2753 | node-domexception: 1.0.0 2754 | web-streams-polyfill: 3.3.3 2755 | 2756 | foreground-child@3.1.1: 2757 | dependencies: 2758 | cross-spawn: 7.0.3 2759 | signal-exit: 4.1.0 2760 | 2761 | form-data@4.0.2: 2762 | dependencies: 2763 | asynckit: 0.4.0 2764 | combined-stream: 1.0.8 2765 | es-set-tostringtag: 2.1.0 2766 | mime-types: 2.1.35 2767 | 2768 | formdata-polyfill@4.0.10: 2769 | dependencies: 2770 | fetch-blob: 3.2.0 2771 | 2772 | fs-extra@8.1.0: 2773 | dependencies: 2774 | graceful-fs: 4.2.11 2775 | jsonfile: 4.0.0 2776 | universalify: 0.1.2 2777 | 2778 | fsevents@2.3.3: 2779 | optional: true 2780 | 2781 | function-bind@1.1.2: {} 2782 | 2783 | geckodriver@5.0.0: 2784 | dependencies: 2785 | '@wdio/logger': 9.4.4 2786 | '@zip.js/zip.js': 2.7.57 2787 | decamelize: 6.0.0 2788 | http-proxy-agent: 7.0.2 2789 | https-proxy-agent: 7.0.6 2790 | node-fetch: 3.3.2 2791 | tar-fs: 3.0.8 2792 | which: 5.0.0 2793 | transitivePeerDependencies: 2794 | - bare-buffer 2795 | - supports-color 2796 | 2797 | get-caller-file@2.0.5: {} 2798 | 2799 | get-intrinsic@1.3.0: 2800 | dependencies: 2801 | call-bind-apply-helpers: 1.0.2 2802 | es-define-property: 1.0.1 2803 | es-errors: 1.3.0 2804 | es-object-atoms: 1.1.1 2805 | function-bind: 1.1.2 2806 | get-proto: 1.0.1 2807 | gopd: 1.2.0 2808 | has-symbols: 1.1.0 2809 | hasown: 2.0.2 2810 | math-intrinsics: 1.1.0 2811 | 2812 | get-port@7.1.0: {} 2813 | 2814 | get-proto@1.0.1: 2815 | dependencies: 2816 | dunder-proto: 1.0.1 2817 | es-object-atoms: 1.1.1 2818 | 2819 | get-stream@5.2.0: 2820 | dependencies: 2821 | pump: 3.0.0 2822 | 2823 | get-uri@6.0.2: 2824 | dependencies: 2825 | basic-ftp: 5.0.4 2826 | data-uri-to-buffer: 6.0.1 2827 | debug: 4.4.0 2828 | fs-extra: 8.1.0 2829 | transitivePeerDependencies: 2830 | - supports-color 2831 | 2832 | glob@10.3.12: 2833 | dependencies: 2834 | foreground-child: 3.1.1 2835 | jackspeak: 2.3.6 2836 | minimatch: 9.0.3 2837 | minipass: 7.0.4 2838 | path-scurry: 1.10.2 2839 | 2840 | gopd@1.2.0: {} 2841 | 2842 | graceful-fs@4.2.11: {} 2843 | 2844 | grapheme-splitter@1.0.4: {} 2845 | 2846 | graphql@16.10.0: {} 2847 | 2848 | has-flag@4.0.0: {} 2849 | 2850 | has-symbols@1.1.0: {} 2851 | 2852 | has-tostringtag@1.0.2: 2853 | dependencies: 2854 | has-symbols: 1.1.0 2855 | 2856 | hasown@2.0.2: 2857 | dependencies: 2858 | function-bind: 1.1.2 2859 | 2860 | headers-polyfill@4.0.3: {} 2861 | 2862 | html-encoding-sniffer@4.0.0: 2863 | dependencies: 2864 | whatwg-encoding: 3.1.1 2865 | 2866 | htmlfy@0.6.1: {} 2867 | 2868 | htmlparser2@9.1.0: 2869 | dependencies: 2870 | domelementtype: 2.3.0 2871 | domhandler: 5.0.3 2872 | domutils: 3.2.2 2873 | entities: 4.5.0 2874 | 2875 | http-proxy-agent@7.0.2: 2876 | dependencies: 2877 | agent-base: 7.1.1 2878 | debug: 4.3.4 2879 | transitivePeerDependencies: 2880 | - supports-color 2881 | 2882 | https-proxy-agent@7.0.6: 2883 | dependencies: 2884 | agent-base: 7.1.3 2885 | debug: 4.3.4 2886 | transitivePeerDependencies: 2887 | - supports-color 2888 | 2889 | iconv-lite@0.6.3: 2890 | dependencies: 2891 | safer-buffer: 2.1.2 2892 | 2893 | ieee754@1.2.1: {} 2894 | 2895 | immediate@3.0.6: {} 2896 | 2897 | import-meta-resolve@4.0.0: {} 2898 | 2899 | inherits@2.0.4: {} 2900 | 2901 | ip-address@9.0.5: 2902 | dependencies: 2903 | jsbn: 1.1.0 2904 | sprintf-js: 1.1.3 2905 | 2906 | is-fullwidth-code-point@3.0.0: {} 2907 | 2908 | is-node-process@1.2.0: {} 2909 | 2910 | is-plain-obj@4.1.0: {} 2911 | 2912 | is-potential-custom-element-name@1.0.1: {} 2913 | 2914 | is-stream@2.0.1: {} 2915 | 2916 | isarray@1.0.0: {} 2917 | 2918 | isexe@2.0.0: {} 2919 | 2920 | isexe@3.1.1: {} 2921 | 2922 | jackspeak@2.3.6: 2923 | dependencies: 2924 | '@isaacs/cliui': 8.0.2 2925 | optionalDependencies: 2926 | '@pkgjs/parseargs': 0.11.0 2927 | 2928 | js-tokens@4.0.0: {} 2929 | 2930 | jsbn@1.1.0: {} 2931 | 2932 | jsdom@26.0.0: 2933 | dependencies: 2934 | cssstyle: 4.2.1 2935 | data-urls: 5.0.0 2936 | decimal.js: 10.4.3 2937 | form-data: 4.0.2 2938 | html-encoding-sniffer: 4.0.0 2939 | http-proxy-agent: 7.0.2 2940 | https-proxy-agent: 7.0.6 2941 | is-potential-custom-element-name: 1.0.1 2942 | nwsapi: 2.2.16 2943 | parse5: 7.2.1 2944 | rrweb-cssom: 0.8.0 2945 | saxes: 6.0.0 2946 | symbol-tree: 3.2.4 2947 | tough-cookie: 5.1.1 2948 | w3c-xmlserializer: 5.0.0 2949 | webidl-conversions: 7.0.0 2950 | whatwg-encoding: 3.1.1 2951 | whatwg-mimetype: 4.0.0 2952 | whatwg-url: 14.1.1 2953 | ws: 8.18.1 2954 | xml-name-validator: 5.0.0 2955 | transitivePeerDependencies: 2956 | - bufferutil 2957 | - supports-color 2958 | - utf-8-validate 2959 | 2960 | jsonfile@4.0.0: 2961 | optionalDependencies: 2962 | graceful-fs: 4.2.11 2963 | 2964 | jszip@3.10.1: 2965 | dependencies: 2966 | lie: 3.3.0 2967 | pako: 1.0.11 2968 | readable-stream: 2.3.8 2969 | setimmediate: 1.0.5 2970 | 2971 | lazystream@1.0.1: 2972 | dependencies: 2973 | readable-stream: 2.3.8 2974 | 2975 | lie@3.3.0: 2976 | dependencies: 2977 | immediate: 3.0.6 2978 | 2979 | locate-app@2.4.8(@promptbook/core@0.44.0-14): 2980 | dependencies: 2981 | '@promptbook/utils': 0.44.0-1(@promptbook/core@0.44.0-14) 2982 | type-fest: 2.13.0 2983 | userhome: 1.0.0 2984 | transitivePeerDependencies: 2985 | - '@promptbook/core' 2986 | 2987 | lodash.clonedeep@4.5.0: {} 2988 | 2989 | lodash.zip@4.2.0: {} 2990 | 2991 | lodash@4.17.21: {} 2992 | 2993 | loglevel-plugin-prefix@0.8.4: {} 2994 | 2995 | loglevel@1.8.1: {} 2996 | 2997 | lorem-ipsum@2.0.8: 2998 | dependencies: 2999 | commander: 9.5.0 3000 | 3001 | loupe@3.1.3: {} 3002 | 3003 | lru-cache@10.4.3: {} 3004 | 3005 | lru-cache@7.18.3: {} 3006 | 3007 | lz-string@1.5.0: {} 3008 | 3009 | magic-string@0.30.17: 3010 | dependencies: 3011 | '@jridgewell/sourcemap-codec': 1.5.0 3012 | 3013 | math-intrinsics@1.1.0: {} 3014 | 3015 | mime-db@1.52.0: {} 3016 | 3017 | mime-types@2.1.35: 3018 | dependencies: 3019 | mime-db: 1.52.0 3020 | 3021 | minimatch@5.1.6: 3022 | dependencies: 3023 | brace-expansion: 2.0.1 3024 | 3025 | minimatch@9.0.3: 3026 | dependencies: 3027 | brace-expansion: 2.0.1 3028 | 3029 | minipass@7.0.4: {} 3030 | 3031 | moment@2.30.1: {} 3032 | 3033 | mrmime@2.0.0: {} 3034 | 3035 | ms@2.1.2: {} 3036 | 3037 | ms@2.1.3: {} 3038 | 3039 | msw@2.7.3(@types/node@22.13.5)(typescript@5.7.3): 3040 | dependencies: 3041 | '@bundled-es-modules/cookie': 2.0.1 3042 | '@bundled-es-modules/statuses': 1.0.1 3043 | '@bundled-es-modules/tough-cookie': 0.1.6 3044 | '@inquirer/confirm': 5.1.6(@types/node@22.13.5) 3045 | '@mswjs/interceptors': 0.37.6 3046 | '@open-draft/deferred-promise': 2.2.0 3047 | '@open-draft/until': 2.1.0 3048 | '@types/cookie': 0.6.0 3049 | '@types/statuses': 2.0.5 3050 | graphql: 16.10.0 3051 | headers-polyfill: 4.0.3 3052 | is-node-process: 1.2.0 3053 | outvariant: 1.4.3 3054 | path-to-regexp: 6.3.0 3055 | picocolors: 1.1.1 3056 | strict-event-emitter: 0.5.1 3057 | type-fest: 4.35.0 3058 | yargs: 17.7.2 3059 | optionalDependencies: 3060 | typescript: 5.7.3 3061 | transitivePeerDependencies: 3062 | - '@types/node' 3063 | 3064 | mute-stream@2.0.0: {} 3065 | 3066 | nanoid@3.3.8: {} 3067 | 3068 | netmask@2.0.2: {} 3069 | 3070 | node-domexception@1.0.0: {} 3071 | 3072 | node-fetch@3.3.2: 3073 | dependencies: 3074 | data-uri-to-buffer: 4.0.1 3075 | fetch-blob: 3.2.0 3076 | formdata-polyfill: 4.0.10 3077 | 3078 | normalize-path@3.0.0: {} 3079 | 3080 | nth-check@2.1.1: 3081 | dependencies: 3082 | boolbase: 1.0.0 3083 | 3084 | nwsapi@2.2.16: {} 3085 | 3086 | once@1.4.0: 3087 | dependencies: 3088 | wrappy: 1.0.2 3089 | 3090 | outvariant@1.4.3: {} 3091 | 3092 | pac-proxy-agent@7.2.0: 3093 | dependencies: 3094 | '@tootallnate/quickjs-emscripten': 0.23.0 3095 | agent-base: 7.1.3 3096 | debug: 4.4.0 3097 | get-uri: 6.0.2 3098 | http-proxy-agent: 7.0.2 3099 | https-proxy-agent: 7.0.6 3100 | pac-resolver: 7.0.1 3101 | socks-proxy-agent: 8.0.5 3102 | transitivePeerDependencies: 3103 | - supports-color 3104 | 3105 | pac-resolver@7.0.1: 3106 | dependencies: 3107 | degenerator: 5.0.1 3108 | netmask: 2.0.2 3109 | 3110 | pako@1.0.11: {} 3111 | 3112 | parse5-htmlparser2-tree-adapter@7.1.0: 3113 | dependencies: 3114 | domhandler: 5.0.3 3115 | parse5: 7.2.1 3116 | 3117 | parse5-parser-stream@7.1.2: 3118 | dependencies: 3119 | parse5: 7.2.1 3120 | 3121 | parse5@7.2.1: 3122 | dependencies: 3123 | entities: 4.5.0 3124 | 3125 | path-key@3.1.1: {} 3126 | 3127 | path-scurry@1.10.2: 3128 | dependencies: 3129 | lru-cache: 10.4.3 3130 | minipass: 7.0.4 3131 | 3132 | path-to-regexp@6.3.0: {} 3133 | 3134 | pathe@2.0.3: {} 3135 | 3136 | pathval@2.0.0: {} 3137 | 3138 | pend@1.2.0: {} 3139 | 3140 | perfect-debounce@1.0.0: {} 3141 | 3142 | picocolors@1.0.0: {} 3143 | 3144 | picocolors@1.1.1: {} 3145 | 3146 | postcss@8.5.3: 3147 | dependencies: 3148 | nanoid: 3.3.8 3149 | picocolors: 1.1.1 3150 | source-map-js: 1.2.1 3151 | 3152 | prettier@2.8.1: {} 3153 | 3154 | pretty-format@27.5.1: 3155 | dependencies: 3156 | ansi-regex: 5.0.1 3157 | ansi-styles: 5.2.0 3158 | react-is: 17.0.2 3159 | 3160 | process-nextick-args@2.0.1: {} 3161 | 3162 | process@0.11.10: {} 3163 | 3164 | progress@2.0.3: {} 3165 | 3166 | proxy-agent@6.5.0: 3167 | dependencies: 3168 | agent-base: 7.1.3 3169 | debug: 4.4.0 3170 | http-proxy-agent: 7.0.2 3171 | https-proxy-agent: 7.0.6 3172 | lru-cache: 7.18.3 3173 | pac-proxy-agent: 7.2.0 3174 | proxy-from-env: 1.1.0 3175 | socks-proxy-agent: 8.0.5 3176 | transitivePeerDependencies: 3177 | - supports-color 3178 | 3179 | proxy-from-env@1.1.0: {} 3180 | 3181 | psl@1.9.0: {} 3182 | 3183 | pump@3.0.0: 3184 | dependencies: 3185 | end-of-stream: 1.4.4 3186 | once: 1.4.0 3187 | 3188 | punycode@2.3.1: {} 3189 | 3190 | query-selector-shadow-dom@1.0.1: {} 3191 | 3192 | querystringify@2.2.0: {} 3193 | 3194 | queue-tick@1.0.1: {} 3195 | 3196 | randombytes@2.1.0: 3197 | dependencies: 3198 | safe-buffer: 5.2.1 3199 | 3200 | react-is@17.0.2: {} 3201 | 3202 | readable-stream@2.3.8: 3203 | dependencies: 3204 | core-util-is: 1.0.3 3205 | inherits: 2.0.4 3206 | isarray: 1.0.0 3207 | process-nextick-args: 2.0.1 3208 | safe-buffer: 5.1.2 3209 | string_decoder: 1.1.1 3210 | util-deprecate: 1.0.2 3211 | 3212 | readable-stream@4.5.2: 3213 | dependencies: 3214 | abort-controller: 3.0.0 3215 | buffer: 6.0.3 3216 | events: 3.3.0 3217 | process: 0.11.10 3218 | string_decoder: 1.3.0 3219 | 3220 | readdir-glob@1.1.3: 3221 | dependencies: 3222 | minimatch: 5.1.6 3223 | 3224 | regenerator-runtime@0.14.1: {} 3225 | 3226 | require-directory@2.1.1: {} 3227 | 3228 | requires-port@1.0.0: {} 3229 | 3230 | resq@1.11.0: 3231 | dependencies: 3232 | fast-deep-equal: 2.0.1 3233 | 3234 | rgb2hex@0.2.5: {} 3235 | 3236 | rollup@4.34.8: 3237 | dependencies: 3238 | '@types/estree': 1.0.6 3239 | optionalDependencies: 3240 | '@rollup/rollup-android-arm-eabi': 4.34.8 3241 | '@rollup/rollup-android-arm64': 4.34.8 3242 | '@rollup/rollup-darwin-arm64': 4.34.8 3243 | '@rollup/rollup-darwin-x64': 4.34.8 3244 | '@rollup/rollup-freebsd-arm64': 4.34.8 3245 | '@rollup/rollup-freebsd-x64': 4.34.8 3246 | '@rollup/rollup-linux-arm-gnueabihf': 4.34.8 3247 | '@rollup/rollup-linux-arm-musleabihf': 4.34.8 3248 | '@rollup/rollup-linux-arm64-gnu': 4.34.8 3249 | '@rollup/rollup-linux-arm64-musl': 4.34.8 3250 | '@rollup/rollup-linux-loongarch64-gnu': 4.34.8 3251 | '@rollup/rollup-linux-powerpc64le-gnu': 4.34.8 3252 | '@rollup/rollup-linux-riscv64-gnu': 4.34.8 3253 | '@rollup/rollup-linux-s390x-gnu': 4.34.8 3254 | '@rollup/rollup-linux-x64-gnu': 4.34.8 3255 | '@rollup/rollup-linux-x64-musl': 4.34.8 3256 | '@rollup/rollup-win32-arm64-msvc': 4.34.8 3257 | '@rollup/rollup-win32-ia32-msvc': 4.34.8 3258 | '@rollup/rollup-win32-x64-msvc': 4.34.8 3259 | fsevents: 2.3.3 3260 | 3261 | rrweb-cssom@0.8.0: {} 3262 | 3263 | safaridriver@1.0.0: {} 3264 | 3265 | safe-buffer@5.1.2: {} 3266 | 3267 | safe-buffer@5.2.1: {} 3268 | 3269 | safer-buffer@2.1.2: {} 3270 | 3271 | saxes@6.0.0: 3272 | dependencies: 3273 | xmlchars: 2.2.0 3274 | 3275 | semver@7.7.1: {} 3276 | 3277 | serialize-error@11.0.3: 3278 | dependencies: 3279 | type-fest: 2.19.0 3280 | 3281 | serialize-javascript@6.0.2: 3282 | dependencies: 3283 | randombytes: 2.1.0 3284 | 3285 | setimmediate@1.0.5: {} 3286 | 3287 | shebang-command@2.0.0: 3288 | dependencies: 3289 | shebang-regex: 3.0.0 3290 | 3291 | shebang-regex@3.0.0: {} 3292 | 3293 | siginfo@2.0.0: {} 3294 | 3295 | signal-exit@4.1.0: {} 3296 | 3297 | sirv@3.0.1: 3298 | dependencies: 3299 | '@polka/url': 1.0.0-next.24 3300 | mrmime: 2.0.0 3301 | totalist: 3.0.1 3302 | 3303 | smart-buffer@4.2.0: {} 3304 | 3305 | smob@1.5.0: {} 3306 | 3307 | socks-proxy-agent@8.0.5: 3308 | dependencies: 3309 | agent-base: 7.1.3 3310 | debug: 4.4.0 3311 | socks: 2.8.3 3312 | transitivePeerDependencies: 3313 | - supports-color 3314 | 3315 | socks@2.8.3: 3316 | dependencies: 3317 | ip-address: 9.0.5 3318 | smart-buffer: 4.2.0 3319 | 3320 | source-map-js@1.2.1: {} 3321 | 3322 | source-map-support@0.5.21: 3323 | dependencies: 3324 | buffer-from: 1.1.2 3325 | source-map: 0.6.1 3326 | 3327 | source-map@0.6.1: {} 3328 | 3329 | spacetrim@0.11.2: {} 3330 | 3331 | split2@4.2.0: {} 3332 | 3333 | sprintf-js@1.1.3: {} 3334 | 3335 | stackback@0.0.2: {} 3336 | 3337 | statuses@2.0.1: {} 3338 | 3339 | std-env@3.8.0: {} 3340 | 3341 | streamx@2.16.1: 3342 | dependencies: 3343 | fast-fifo: 1.3.2 3344 | queue-tick: 1.0.1 3345 | optionalDependencies: 3346 | bare-events: 2.2.2 3347 | 3348 | streamx@2.22.0: 3349 | dependencies: 3350 | fast-fifo: 1.3.2 3351 | text-decoder: 1.2.3 3352 | optionalDependencies: 3353 | bare-events: 2.2.2 3354 | optional: true 3355 | 3356 | strict-event-emitter@0.5.1: {} 3357 | 3358 | string-width@4.2.3: 3359 | dependencies: 3360 | emoji-regex: 8.0.0 3361 | is-fullwidth-code-point: 3.0.0 3362 | strip-ansi: 6.0.1 3363 | 3364 | string-width@5.1.2: 3365 | dependencies: 3366 | eastasianwidth: 0.2.0 3367 | emoji-regex: 9.2.2 3368 | strip-ansi: 7.1.0 3369 | 3370 | string_decoder@1.1.1: 3371 | dependencies: 3372 | safe-buffer: 5.1.2 3373 | 3374 | string_decoder@1.3.0: 3375 | dependencies: 3376 | safe-buffer: 5.2.1 3377 | 3378 | strip-ansi@6.0.1: 3379 | dependencies: 3380 | ansi-regex: 5.0.1 3381 | 3382 | strip-ansi@7.1.0: 3383 | dependencies: 3384 | ansi-regex: 6.0.1 3385 | 3386 | strnum@1.1.1: {} 3387 | 3388 | supports-color@7.2.0: 3389 | dependencies: 3390 | has-flag: 4.0.0 3391 | 3392 | symbol-tree@3.2.4: {} 3393 | 3394 | tar-fs@3.0.8: 3395 | dependencies: 3396 | pump: 3.0.0 3397 | tar-stream: 3.1.7 3398 | optionalDependencies: 3399 | bare-fs: 4.0.1 3400 | bare-path: 3.0.0 3401 | transitivePeerDependencies: 3402 | - bare-buffer 3403 | 3404 | tar-stream@3.1.7: 3405 | dependencies: 3406 | b4a: 1.6.6 3407 | fast-fifo: 1.3.2 3408 | streamx: 2.16.1 3409 | 3410 | terser@5.37.0: 3411 | dependencies: 3412 | '@jridgewell/source-map': 0.3.6 3413 | acorn: 8.11.3 3414 | commander: 2.20.3 3415 | source-map-support: 0.5.21 3416 | 3417 | text-decoder@1.2.3: 3418 | dependencies: 3419 | b4a: 1.6.6 3420 | optional: true 3421 | 3422 | tinybench@2.9.0: {} 3423 | 3424 | tinyexec@0.3.2: {} 3425 | 3426 | tinypool@1.0.2: {} 3427 | 3428 | tinyrainbow@2.0.0: {} 3429 | 3430 | tinyspy@3.0.2: {} 3431 | 3432 | tldts-core@6.1.78: {} 3433 | 3434 | tldts@6.1.78: 3435 | dependencies: 3436 | tldts-core: 6.1.78 3437 | 3438 | totalist@3.0.1: {} 3439 | 3440 | tough-cookie@4.1.4: 3441 | dependencies: 3442 | psl: 1.9.0 3443 | punycode: 2.3.1 3444 | universalify: 0.2.0 3445 | url-parse: 1.5.10 3446 | 3447 | tough-cookie@5.1.1: 3448 | dependencies: 3449 | tldts: 6.1.78 3450 | 3451 | tr46@5.0.0: 3452 | dependencies: 3453 | punycode: 2.3.1 3454 | 3455 | tslib@2.6.2: {} 3456 | 3457 | type-fest@0.21.3: {} 3458 | 3459 | type-fest@2.13.0: {} 3460 | 3461 | type-fest@2.19.0: {} 3462 | 3463 | type-fest@4.35.0: {} 3464 | 3465 | typescript@5.7.3: {} 3466 | 3467 | undici-types@6.19.8: {} 3468 | 3469 | undici-types@6.20.0: {} 3470 | 3471 | undici@6.21.1: {} 3472 | 3473 | universalify@0.1.2: {} 3474 | 3475 | universalify@0.2.0: {} 3476 | 3477 | url-parse@1.5.10: 3478 | dependencies: 3479 | querystringify: 2.2.0 3480 | requires-port: 1.0.0 3481 | 3482 | urlpattern-polyfill@10.0.0: {} 3483 | 3484 | userhome@1.0.0: {} 3485 | 3486 | util-deprecate@1.0.2: {} 3487 | 3488 | vite-node@3.0.7(@types/node@22.13.5)(terser@5.37.0): 3489 | dependencies: 3490 | cac: 6.7.14 3491 | debug: 4.4.0 3492 | es-module-lexer: 1.6.0 3493 | pathe: 2.0.3 3494 | vite: 6.2.0(@types/node@22.13.5)(terser@5.37.0) 3495 | transitivePeerDependencies: 3496 | - '@types/node' 3497 | - jiti 3498 | - less 3499 | - lightningcss 3500 | - sass 3501 | - sass-embedded 3502 | - stylus 3503 | - sugarss 3504 | - supports-color 3505 | - terser 3506 | - tsx 3507 | - yaml 3508 | 3509 | vite@6.2.0(@types/node@22.13.5)(terser@5.37.0): 3510 | dependencies: 3511 | esbuild: 0.25.0 3512 | postcss: 8.5.3 3513 | rollup: 4.34.8 3514 | optionalDependencies: 3515 | '@types/node': 22.13.5 3516 | fsevents: 2.3.3 3517 | terser: 5.37.0 3518 | 3519 | vitest@3.0.7(@types/node@22.13.5)(@vitest/browser@3.0.7)(jsdom@26.0.0)(msw@2.7.3(@types/node@22.13.5)(typescript@5.7.3))(terser@5.37.0): 3520 | dependencies: 3521 | '@vitest/expect': 3.0.7 3522 | '@vitest/mocker': 3.0.7(msw@2.7.3(@types/node@22.13.5)(typescript@5.7.3))(vite@6.2.0(@types/node@22.13.5)(terser@5.37.0)) 3523 | '@vitest/pretty-format': 3.0.7 3524 | '@vitest/runner': 3.0.7 3525 | '@vitest/snapshot': 3.0.7 3526 | '@vitest/spy': 3.0.7 3527 | '@vitest/utils': 3.0.7 3528 | chai: 5.2.0 3529 | debug: 4.4.0 3530 | expect-type: 1.1.0 3531 | magic-string: 0.30.17 3532 | pathe: 2.0.3 3533 | std-env: 3.8.0 3534 | tinybench: 2.9.0 3535 | tinyexec: 0.3.2 3536 | tinypool: 1.0.2 3537 | tinyrainbow: 2.0.0 3538 | vite: 6.2.0(@types/node@22.13.5)(terser@5.37.0) 3539 | vite-node: 3.0.7(@types/node@22.13.5)(terser@5.37.0) 3540 | why-is-node-running: 2.3.0 3541 | optionalDependencies: 3542 | '@types/node': 22.13.5 3543 | '@vitest/browser': 3.0.7(@types/node@22.13.5)(typescript@5.7.3)(vite@6.2.0(@types/node@22.13.5)(terser@5.37.0))(vitest@3.0.7)(webdriverio@9.10.1(@promptbook/core@0.44.0-14)) 3544 | jsdom: 26.0.0 3545 | transitivePeerDependencies: 3546 | - jiti 3547 | - less 3548 | - lightningcss 3549 | - msw 3550 | - sass 3551 | - sass-embedded 3552 | - stylus 3553 | - sugarss 3554 | - supports-color 3555 | - terser 3556 | - tsx 3557 | - yaml 3558 | 3559 | w3c-xmlserializer@5.0.0: 3560 | dependencies: 3561 | xml-name-validator: 5.0.0 3562 | 3563 | wait-port@1.1.0: 3564 | dependencies: 3565 | chalk: 4.1.2 3566 | commander: 9.5.0 3567 | debug: 4.4.0 3568 | transitivePeerDependencies: 3569 | - supports-color 3570 | 3571 | web-streams-polyfill@3.3.3: {} 3572 | 3573 | webdriver@9.10.1(@promptbook/core@0.44.0-14): 3574 | dependencies: 3575 | '@types/node': 20.17.19 3576 | '@types/ws': 8.5.10 3577 | '@wdio/config': 9.10.1(@promptbook/core@0.44.0-14) 3578 | '@wdio/logger': 9.4.4 3579 | '@wdio/protocols': 9.7.0 3580 | '@wdio/types': 9.10.1 3581 | '@wdio/utils': 9.10.1(@promptbook/core@0.44.0-14) 3582 | deepmerge-ts: 7.1.5 3583 | undici: 6.21.1 3584 | ws: 8.18.1 3585 | transitivePeerDependencies: 3586 | - '@promptbook/core' 3587 | - bare-buffer 3588 | - bufferutil 3589 | - supports-color 3590 | - utf-8-validate 3591 | 3592 | webdriverio@9.10.1(@promptbook/core@0.44.0-14): 3593 | dependencies: 3594 | '@types/node': 20.17.19 3595 | '@types/sinonjs__fake-timers': 8.1.5 3596 | '@wdio/config': 9.10.1(@promptbook/core@0.44.0-14) 3597 | '@wdio/logger': 9.4.4 3598 | '@wdio/protocols': 9.7.0 3599 | '@wdio/repl': 9.4.4 3600 | '@wdio/types': 9.10.1 3601 | '@wdio/utils': 9.10.1(@promptbook/core@0.44.0-14) 3602 | archiver: 7.0.1 3603 | aria-query: 5.3.0 3604 | cheerio: 1.0.0 3605 | css-shorthand-properties: 1.1.1 3606 | css-value: 0.0.1 3607 | grapheme-splitter: 1.0.4 3608 | htmlfy: 0.6.1 3609 | is-plain-obj: 4.1.0 3610 | jszip: 3.10.1 3611 | lodash.clonedeep: 4.5.0 3612 | lodash.zip: 4.2.0 3613 | query-selector-shadow-dom: 1.0.1 3614 | resq: 1.11.0 3615 | rgb2hex: 0.2.5 3616 | serialize-error: 11.0.3 3617 | urlpattern-polyfill: 10.0.0 3618 | webdriver: 9.10.1(@promptbook/core@0.44.0-14) 3619 | transitivePeerDependencies: 3620 | - '@promptbook/core' 3621 | - bare-buffer 3622 | - bufferutil 3623 | - supports-color 3624 | - utf-8-validate 3625 | 3626 | webidl-conversions@7.0.0: {} 3627 | 3628 | whatwg-encoding@3.1.1: 3629 | dependencies: 3630 | iconv-lite: 0.6.3 3631 | 3632 | whatwg-mimetype@4.0.0: {} 3633 | 3634 | whatwg-url@14.1.1: 3635 | dependencies: 3636 | tr46: 5.0.0 3637 | webidl-conversions: 7.0.0 3638 | 3639 | which@2.0.2: 3640 | dependencies: 3641 | isexe: 2.0.0 3642 | 3643 | which@5.0.0: 3644 | dependencies: 3645 | isexe: 3.1.1 3646 | 3647 | why-is-node-running@2.3.0: 3648 | dependencies: 3649 | siginfo: 2.0.0 3650 | stackback: 0.0.2 3651 | 3652 | wrap-ansi@6.2.0: 3653 | dependencies: 3654 | ansi-styles: 4.3.0 3655 | string-width: 4.2.3 3656 | strip-ansi: 6.0.1 3657 | 3658 | wrap-ansi@7.0.0: 3659 | dependencies: 3660 | ansi-styles: 4.3.0 3661 | string-width: 4.2.3 3662 | strip-ansi: 6.0.1 3663 | 3664 | wrap-ansi@8.1.0: 3665 | dependencies: 3666 | ansi-styles: 6.2.1 3667 | string-width: 5.1.2 3668 | strip-ansi: 7.1.0 3669 | 3670 | wrappy@1.0.2: {} 3671 | 3672 | ws@8.18.1: {} 3673 | 3674 | xml-name-validator@5.0.0: {} 3675 | 3676 | xmlchars@2.2.0: {} 3677 | 3678 | y18n@5.0.8: {} 3679 | 3680 | yargs-parser@21.1.1: {} 3681 | 3682 | yargs@17.7.2: 3683 | dependencies: 3684 | cliui: 8.0.1 3685 | escalade: 3.1.2 3686 | get-caller-file: 2.0.5 3687 | require-directory: 2.1.1 3688 | string-width: 4.2.3 3689 | y18n: 5.0.8 3690 | yargs-parser: 21.1.1 3691 | 3692 | yauzl@2.10.0: 3693 | dependencies: 3694 | buffer-crc32: 0.2.13 3695 | fd-slicer: 1.1.0 3696 | 3697 | yoctocolors-cjs@2.1.2: {} 3698 | 3699 | zip-stream@6.0.1: 3700 | dependencies: 3701 | archiver-utils: 5.0.2 3702 | compress-commons: 6.0.2 3703 | readable-stream: 4.5.2 3704 | -------------------------------------------------------------------------------- /src/elementReady.ts: -------------------------------------------------------------------------------- 1 | export const elementReady = (selector: string, document: Document | ShadowRoot) => { 2 | return new Promise((resolve) => { 3 | let el = document.querySelector(selector); 4 | if (el) { 5 | resolve(el); 6 | return 7 | } 8 | new MutationObserver((_mutationRecords, observer) => { 9 | Array.from(document.querySelectorAll(selector)).forEach((element) => { 10 | resolve(element); 11 | observer.disconnect(); 12 | }); 13 | }) 14 | .observe(document, { 15 | childList: true, 16 | subtree: true 17 | }); 18 | }); 19 | } -------------------------------------------------------------------------------- /src/pdfjs-viewer-element.ts: -------------------------------------------------------------------------------- 1 | import { elementReady } from "./elementReady"; 2 | import { debounce } from 'perfect-debounce' 3 | 4 | const DEFAULTS = { 5 | viewerPath: '/pdfjs', 6 | viewerEntry: '/web/viewer.html', 7 | src: '', 8 | page: '', 9 | search: '', 10 | phrase: '', 11 | zoom: '', 12 | pagemode: 'none', 13 | locale: '', 14 | disableWorker: '', 15 | textLayer: '', 16 | disableFontFace: '', 17 | disableRange: '', 18 | disableStream: '', 19 | disableAutoFetch: '', 20 | verbosity: '', 21 | viewerCssTheme: 'AUTOMATIC', 22 | viewerExtraStyles: '', 23 | viewerExtraStylesUrls: '', 24 | nameddest: '' 25 | } as const 26 | 27 | export const ViewerCssTheme = { 28 | AUTOMATIC: 0, // Default value. 29 | LIGHT: 1, 30 | DARK: 2, 31 | } as const 32 | 33 | export const hardRefreshAttributes = [ 34 | 'src', 'viewer-path', 35 | 'disable-worker', 'text-layer', 'disable-font-face', 'disable-range', 'disable-stream', 'disable-auto-fetch', 'verbosity', 'locale', 36 | 'viewer-css-theme', 'viewer-extra-styles', 'viewer-extra-styles-urls' 37 | ] 38 | 39 | export class PdfjsViewerElement extends HTMLElement { 40 | constructor() { 41 | super() 42 | const shadowRoot = this.attachShadow({ mode: 'open' }) 43 | const template = document.createElement('template') 44 | template.innerHTML = ` 45 | 46 | 47 | ` 48 | shadowRoot.appendChild(template.content.cloneNode(true)) 49 | } 50 | 51 | public iframe!: PdfjsViewerElementIframe 52 | 53 | static get observedAttributes() { 54 | return [ 55 | 'src', 'viewer-path', 'page', 'search', 'phrase', 'zoom', 'pagemode', 56 | 'disable-worker', 'text-layer', 'disable-font-face', 'disable-range', 'disable-stream', 'disable-auto-fetch', 'verbosity', 'locale', 57 | 'viewer-css-theme', 'viewer-extra-styles', 'viewer-extra-styles-urls', 'nameddest' 58 | ] 59 | } 60 | 61 | connectedCallback() { 62 | this.iframe = this.shadowRoot!.querySelector('iframe') as PdfjsViewerElementIframe 63 | document.addEventListener('webviewerloaded', async () => { 64 | this.setCssTheme(this.getCssThemeOption()) 65 | this.injectExtraStylesLinks(this.getAttribute('viewer-extra-styles-urls') ?? DEFAULTS.viewerExtraStylesUrls) 66 | this.setViewerExtraStyles(this.getAttribute('viewer-extra-styles') ?? DEFAULTS.viewerExtraStyles) 67 | if (this.getAttribute('src') !== DEFAULTS.src) this.iframe.contentWindow?.PDFViewerApplicationOptions?.set('defaultUrl', '') 68 | this.iframe.contentWindow?.PDFViewerApplicationOptions?.set('disablePreferences', true) 69 | this.iframe.contentWindow?.PDFViewerApplicationOptions?.set('pdfBugEnabled', true) 70 | this.iframe.contentWindow?.PDFViewerApplicationOptions?.set('eventBusDispatchToDOM', true) 71 | }); 72 | } 73 | 74 | attributeChangedCallback(name: string) { 75 | if (!hardRefreshAttributes.includes(name)) { 76 | this.onIframeReady(() => { 77 | this.iframe.src = this.getIframeSrc() 78 | }) 79 | return 80 | } 81 | this.onIframeReady(() => this.mountViewer(this.getIframeSrc())) 82 | } 83 | 84 | private onIframeReady = debounce(async (callback: () => void) => { 85 | await elementReady('iframe', this.shadowRoot!) 86 | callback() 87 | }, 0, { leading: true }) 88 | 89 | private getIframeSrc() { 90 | const src = this.getFullPath(this.getAttribute('src') || DEFAULTS.src) 91 | const viewerPath = this.getFullPath(this.getAttribute('viewer-path') || DEFAULTS.viewerPath) 92 | const page = this.getAttribute('page') || DEFAULTS.page 93 | const search = this.getAttribute('search') || DEFAULTS.search 94 | const phrase = this.getAttribute('phrase') || DEFAULTS.phrase 95 | const zoom = this.getAttribute('zoom') || DEFAULTS.zoom 96 | const pagemode = this.getAttribute('pagemode') || DEFAULTS.pagemode 97 | 98 | const disableWorker = this.getAttribute('disable-worker') || DEFAULTS.disableWorker 99 | const textLayer = this.getAttribute('text-layer') || DEFAULTS.textLayer 100 | const disableFontFace = this.getAttribute('disable-font-face') || DEFAULTS.disableFontFace 101 | const disableRange = this.getAttribute('disable-range') || DEFAULTS.disableRange 102 | const disableStream = this.getAttribute('disable-stream') || DEFAULTS.disableStream 103 | const disableAutoFetch = this.getAttribute('disable-auto-fetch') || DEFAULTS.disableAutoFetch 104 | const verbosity = this.getAttribute('verbosity') || DEFAULTS.verbosity 105 | const locale = this.getAttribute('locale') || DEFAULTS.locale 106 | 107 | const viewerCssTheme = this.getAttribute('viewer-css-theme') || DEFAULTS.viewerCssTheme 108 | const viewerExtraStyles = Boolean(this.getAttribute('viewer-extra-styles') || DEFAULTS.viewerExtraStyles) 109 | const nameddest = this.getAttribute('nameddest') || DEFAULTS.nameddest 110 | 111 | return ` 112 | ${viewerPath}${DEFAULTS.viewerEntry}?file= 113 | ${encodeURIComponent(src)}#page=${page}&zoom=${zoom}&pagemode=${pagemode}&search=${search}&phrase=${phrase}&textLayer= 114 | ${textLayer}&disableWorker= 115 | ${disableWorker}&disableFontFace= 116 | ${disableFontFace}&disableRange= 117 | ${disableRange}&disableStream= 118 | ${disableStream}&disableAutoFetch= 119 | ${disableAutoFetch}&verbosity= 120 | ${verbosity} 121 | ${locale ? '&locale='+locale : ''}&viewerCssTheme= 122 | ${viewerCssTheme}&viewerExtraStyles= 123 | ${viewerExtraStyles} 124 | ${nameddest ? '&nameddest=' + nameddest : ''}` 125 | } 126 | 127 | private mountViewer(src: string) { 128 | if (!src || !this.iframe) return 129 | this.shadowRoot!.replaceChild(this.iframe.cloneNode(), this.iframe) 130 | this.iframe = this.shadowRoot!.querySelector('iframe') as PdfjsViewerElementIframe 131 | this.iframe.src = src 132 | } 133 | 134 | private getFullPath(path: string) { 135 | return path.startsWith('/') ? `${window.location.origin}${path}` : path 136 | } 137 | 138 | private getCssThemeOption() { 139 | const attrValue = this.getAttribute('viewer-css-theme') as keyof typeof ViewerCssTheme 140 | return Object.keys(ViewerCssTheme).includes(attrValue) 141 | ? ViewerCssTheme[attrValue] 142 | : ViewerCssTheme[DEFAULTS.viewerCssTheme] 143 | } 144 | 145 | private setCssTheme(theme: 0 | 1 | 2) { 146 | if (theme === ViewerCssTheme.DARK) { 147 | const styleSheet = this.iframe.contentDocument?.styleSheets[0]; 148 | const cssRules = styleSheet?.cssRules || []; 149 | const rules = Object.keys(cssRules) 150 | .filter((key) => (cssRules[Number(key)] as CSSMediaRule)?.conditionText === "(prefers-color-scheme: dark)") 151 | .map((key) => { 152 | const rule = cssRules[Number(key)] 153 | return rule.cssText.split('@media (prefers-color-scheme: dark) {\n')[1].split('\n}')[0] 154 | }) 155 | this.setViewerExtraStyles(rules.join(''), 'theme') 156 | } 157 | else { 158 | this.iframe.contentDocument?.head.querySelector('style[theme]')?.remove() 159 | } 160 | } 161 | 162 | private setViewerExtraStyles = (styles?: string | null, id = 'extra') => { 163 | if (!styles) { 164 | this.iframe.contentDocument?.head.querySelector(`style[${id}]`)?.remove() 165 | return 166 | } 167 | if (this.iframe.contentDocument?.head.querySelector(`style[${id}]`)?.innerHTML === styles) return 168 | const style = document.createElement('style') 169 | style.innerHTML = styles 170 | style.setAttribute(id, '') 171 | this.iframe.contentDocument?.head.appendChild(style) 172 | } 173 | 174 | private injectExtraStylesLinks = (rawLinks?: string) => { 175 | if (!rawLinks) return 176 | const linksArray = rawLinks.replace(/'|]|\[/g, '').split(',').map((link) => link.trim()) 177 | linksArray.forEach((url) => { 178 | const linkExists = this.iframe.contentDocument?.head.querySelector(`link[href="${url}"]`); 179 | if (linkExists) return 180 | const linkEl = document.createElement('link') 181 | linkEl.rel = 'stylesheet' 182 | linkEl.href = url 183 | this.iframe.contentDocument?.head.appendChild(linkEl) 184 | }) 185 | } 186 | 187 | public initialize = (): Promise => new Promise(async (resolve) => { 188 | await elementReady('iframe', this.shadowRoot!) 189 | this.iframe?.addEventListener('load', async () => { 190 | await this.iframe.contentWindow?.PDFViewerApplication?.initializedPromise 191 | resolve(this.iframe.contentWindow?.PDFViewerApplication) 192 | }, { once: true }) 193 | }) 194 | } 195 | 196 | declare global { 197 | interface Window { 198 | PdfjsViewerElement: typeof PdfjsViewerElement 199 | } 200 | } 201 | 202 | export interface IPdfjsViewerElement extends HTMLElement { 203 | initialize: () => Promise 204 | } 205 | 206 | export interface PdfjsViewerElementIframeWindow extends Window { 207 | PDFViewerApplication: { 208 | initializedPromise: Promise; 209 | initialized: boolean; 210 | eventBus: Record; 211 | open: (data: Uint8Array) => void; 212 | }, 213 | PDFViewerApplicationOptions: { 214 | set: (name: string, value: string | boolean | number) => void, 215 | getAll: () => Record 216 | } 217 | } 218 | 219 | export interface PdfjsViewerElementIframe extends HTMLIFrameElement { 220 | contentWindow: PdfjsViewerElementIframeWindow 221 | } 222 | 223 | export default PdfjsViewerElement 224 | 225 | if (!window.customElements.get('pdfjs-viewer-element')) { 226 | window.PdfjsViewerElement = PdfjsViewerElement 227 | window.customElements.define('pdfjs-viewer-element', PdfjsViewerElement) 228 | } -------------------------------------------------------------------------------- /src/vite-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | -------------------------------------------------------------------------------- /tests/basic.test.ts: -------------------------------------------------------------------------------- 1 | import { describe, expect, it } from 'vitest' 2 | import { getFileData, getViewerElement, mountViewer } from './utils' 3 | import '../src/pdfjs-viewer-element' 4 | 5 | describe('Basic tests', async () => { 6 | it('should render the PDF file', async () => { 7 | const viewerApp = await mountViewer(` 8 | ` 12 | ) 13 | expect(getViewerElement()).exist 14 | 15 | viewerApp.eventBus.on('pagesloaded', () => { 16 | expect(getViewerElement('#numPages')?.textContent).contain('37') 17 | }) 18 | }) 19 | 20 | it('should not render PDF with wrong url', async () => { 21 | await mountViewer(` 22 | ` 26 | ) 27 | expect(getViewerElement()).exist 28 | expect(getViewerElement('#viewer .page')).not.exist 29 | }) 30 | 31 | it('should not render the viewer with wrong viewer path', async () => { 32 | await mountViewer(` 33 | ` 37 | ) 38 | expect(getViewerElement()).not.exist 39 | }) 40 | 41 | it('should open the external file with base64 source', async () => { 42 | const viewerApp = await mountViewer(` 43 | ` 46 | ) 47 | 48 | expect(getViewerElement()).exist 49 | 50 | const file = await getFileData() 51 | viewerApp.open(file) 52 | 53 | viewerApp.eventBus.on('pagesloaded', () => { 54 | expect(getViewerElement('#viewer .page')).exist 55 | }) 56 | }) 57 | 58 | it('should load the dark theme', async () => { 59 | await mountViewer(` 60 | ` 65 | ) 66 | 67 | expect(getViewerElement()).exist 68 | expect(getComputedStyle(getViewerElement()!).getPropertyValue('--body-bg-color')).toMatch('rgb(42 42 46)') 69 | }) 70 | 71 | it('should hide the download button', async () => { 72 | await mountViewer(` 73 | ` 78 | ) 79 | 80 | expect(getViewerElement()).exist 81 | expect(getComputedStyle(getViewerElement('#downloadButton')!).display).eq('none') 82 | }) 83 | }) -------------------------------------------------------------------------------- /tests/utils.ts: -------------------------------------------------------------------------------- 1 | import { IPdfjsViewerElement, PdfjsViewerElementIframe } from "../src/pdfjs-viewer-element" 2 | 3 | export const getIframe = (): PdfjsViewerElementIframe => { 4 | return document.body.querySelector('pdfjs-viewer-element')?.shadowRoot?.querySelector('iframe') as PdfjsViewerElementIframe 5 | } 6 | 7 | export const getViewerElement = (element = '#outerContainer'): HTMLElement | null | undefined => { 8 | return getIframe()?.contentDocument?.querySelector(element) 9 | } 10 | 11 | export const mountViewer = async (template: string) => { 12 | document.body.innerHTML = '' 13 | document.body.innerHTML = template 14 | 15 | const viewer = document.body.querySelector('pdfjs-viewer-element') 16 | return await (viewer as IPdfjsViewerElement).initialize() 17 | } 18 | 19 | export const getFileData = () => { 20 | const baseStr = 21 | 'JVBERi0xLjcKCjEgMCBvYmogICUgZW50cnkgcG9pbnQKPDwKICAvVHlwZSAvQ2F0YWxvZwog' + 22 | 'IC9QYWdlcyAyIDAgUgo+PgplbmRvYmoKCjIgMCBvYmoKPDwKICAvVHlwZSAvUGFnZXMKICAv' + 23 | 'TWVkaWFCb3ggWyAwIDAgMjAwIDIwMCBdCiAgL0NvdW50IDEKICAvS2lkcyBbIDMgMCBSIF0K' + 24 | 'Pj4KZW5kb2JqCgozIDAgb2JqCjw8CiAgL1R5cGUgL1BhZ2UKICAvUGFyZW50IDIgMCBSCiAg' + 25 | 'L1Jlc291cmNlcyA8PAogICAgL0ZvbnQgPDwKICAgICAgL0YxIDQgMCBSIAogICAgPj4KICA+' + 26 | 'PgogIC9Db250ZW50cyA1IDAgUgo+PgplbmRvYmoKCjQgMCBvYmoKPDwKICAvVHlwZSAvRm9u' + 27 | 'dAogIC9TdWJ0eXBlIC9UeXBlMQogIC9CYXNlRm9udCAvVGltZXMtUm9tYW4KPj4KZW5kb2Jq' + 28 | 'Cgo1IDAgb2JqICAlIHBhZ2UgY29udGVudAo8PAogIC9MZW5ndGggNDQKPj4Kc3RyZWFtCkJU' + 29 | 'CjcwIDUwIFRECi9GMSAxMiBUZgooSGVsbG8sIHdvcmxkISkgVGoKRVQKZW5kc3RyZWFtCmVu' + 30 | 'ZG9iagoKeHJlZgowIDYKMDAwMDAwMDAwMCA2NTUzNSBmIAowMDAwMDAwMDEwIDAwMDAwIG4g' + 31 | 'CjAwMDAwMDAwNzkgMDAwMDAgbiAKMDAwMDAwMDE3MyAwMDAwMCBuIAowMDAwMDAwMzAxIDAw' + 32 | 'MDAwIG4gCjAwMDAwMDAzODAgMDAwMDAgbiAKdHJhaWxlcgo8PAogIC9TaXplIDYKICAvUm9v' + 33 | 'dCAxIDAgUgo+PgpzdGFydHhyZWYKNDkyCiUlRU9G' 34 | 35 | return fetch(baseStr) 36 | .then(b => b.arrayBuffer()) 37 | .then(buff => new Uint8Array(buff)) 38 | } -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "module": "ESNext", 4 | "lib": ["ES2020", "DOM", "DOM.Iterable", "dom"], 5 | "declaration": true, 6 | "emitDeclarationOnly": true, 7 | "outDir": "./types", 8 | "strict": true, 9 | "noUnusedLocals": true, 10 | "noUnusedParameters": true, 11 | "noImplicitReturns": true, 12 | "noFallthroughCasesInSwitch": true, 13 | "moduleResolution": "Node", 14 | "isolatedModules": true, 15 | "allowSyntheticDefaultImports": true, 16 | "experimentalDecorators": true, 17 | "forceConsistentCasingInFileNames": true, 18 | "useDefineForClassFields": false, 19 | "skipLibCheck": true, 20 | "target": "es5" 21 | }, 22 | "include": ["src/**/*.ts"], 23 | "references": [{ "path": "./tsconfig.node.json" }], 24 | } 25 | -------------------------------------------------------------------------------- /tsconfig.node.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "composite": true, 4 | "module": "ESNext", 5 | "moduleResolution": "Node", 6 | "allowSyntheticDefaultImports": true 7 | }, 8 | "include": ["vite.config.ts"] 9 | } 10 | -------------------------------------------------------------------------------- /types/elementReady.d.ts: -------------------------------------------------------------------------------- 1 | export declare const elementReady: (selector: string, document: Document | ShadowRoot) => Promise; 2 | -------------------------------------------------------------------------------- /types/pdfjs-viewer-element.d.ts: -------------------------------------------------------------------------------- 1 | export declare const ViewerCssTheme: { 2 | readonly AUTOMATIC: 0; 3 | readonly LIGHT: 1; 4 | readonly DARK: 2; 5 | }; 6 | export declare const hardRefreshAttributes: string[]; 7 | export declare class PdfjsViewerElement extends HTMLElement { 8 | constructor(); 9 | iframe: PdfjsViewerElementIframe; 10 | static get observedAttributes(): string[]; 11 | connectedCallback(): void; 12 | attributeChangedCallback(name: string): void; 13 | private onIframeReady; 14 | private getIframeSrc; 15 | private mountViewer; 16 | private getFullPath; 17 | private getCssThemeOption; 18 | private setCssTheme; 19 | private setViewerExtraStyles; 20 | private injectExtraStylesLinks; 21 | initialize: () => Promise; 22 | } 23 | declare global { 24 | interface Window { 25 | PdfjsViewerElement: typeof PdfjsViewerElement; 26 | } 27 | } 28 | export interface IPdfjsViewerElement extends HTMLElement { 29 | initialize: () => Promise; 30 | } 31 | export interface PdfjsViewerElementIframeWindow extends Window { 32 | PDFViewerApplication: { 33 | initializedPromise: Promise; 34 | initialized: boolean; 35 | eventBus: Record; 36 | open: (data: Uint8Array) => void; 37 | }; 38 | PDFViewerApplicationOptions: { 39 | set: (name: string, value: string | boolean | number) => void; 40 | getAll: () => Record; 41 | }; 42 | } 43 | export interface PdfjsViewerElementIframe extends HTMLIFrameElement { 44 | contentWindow: PdfjsViewerElementIframeWindow; 45 | } 46 | export default PdfjsViewerElement; 47 | -------------------------------------------------------------------------------- /vite.config.ts: -------------------------------------------------------------------------------- 1 | /// 2 | import { defineConfig } from 'vite' 3 | import terser from '@rollup/plugin-terser' 4 | 5 | // https://vitejs.dev/config/ 6 | export default defineConfig({ 7 | build: { 8 | lib: { 9 | name: 'PdfjsViewerElement', 10 | fileName: 'pdfjs-viewer-element', 11 | entry: 'src/pdfjs-viewer-element.ts', 12 | formats: ['es'] 13 | }, 14 | copyPublicDir: false, 15 | rollupOptions: { 16 | plugins: [terser()] 17 | } 18 | }, 19 | test: { 20 | browser: { 21 | provider: 'webdriverio', 22 | enabled: true, 23 | // at least one instance is required 24 | instances: [ 25 | { browser: 'chrome' } 26 | ] 27 | } 28 | }, 29 | optimizeDeps: { 30 | // Prevent resolve external deps of the prebuild from v.4.0.189 31 | exclude: ['canvas', 'path2d-polyfill', 'path2d'] 32 | }, 33 | }) 34 | --------------------------------------------------------------------------------