diff --git a/.github/workflows/build-deploy-doc.yml.DISABLED b/.github/workflows/build-deploy-doc.yml.DISABLED index a8eeca83b..dde53aa30 100644 --- a/.github/workflows/build-deploy-doc.yml.DISABLED +++ b/.github/workflows/build-deploy-doc.yml.DISABLED @@ -53,5 +53,5 @@ jobs: with: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Provided by github: https://help.github.com/en/actions/configuring-and-managing-workflows/authenticating-with-the-github_token#about-the-github_token-secret BRANCH: gh-pages # The branch the action should deploy to. - FOLDER: main/.vuepress/dist # The folder the action should deploy + FOLDER: main/.vitepress/dist # The folder the action should deploy CLEAN: true # Automatically remove deleted files from the deploy branch diff --git a/.github/workflows/test-build.yml b/.github/workflows/test-build.yml index 4e003a19f..b7a55b8e6 100644 --- a/.github/workflows/test-build.yml +++ b/.github/workflows/test-build.yml @@ -23,7 +23,7 @@ jobs: with: node-version: ${{ matrix.node-version }} - - name: Install and Build + - name: Install, Build, Check Links run: | yarn install yarn docs:build @@ -31,9 +31,5 @@ jobs: - name: HTML5 Validator uses: Cyb3r-Jak3/html5validator-action@master with: - root: main/.vuepress/dist + root: main/.vitepress/dist extra: --ignore_re r'\ADuplicate ID "outbound-link-title".*' - - - name: Vuepress checkmd - run: | - yarn check-links diff --git a/.gitignore b/.gitignore index e154bc551..4aadeafdc 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ dist/ .DS_Store _agstate mlc-config.json +main/.vitepress/cache/ diff --git a/.pyspelling.yml b/.pyspelling.yml index 9434a3bca..b333b3309 100644 --- a/.pyspelling.yml +++ b/.pyspelling.yml @@ -11,5 +11,5 @@ matrix: ignores: - div sources: - - 'main/.vuepress/dist/**/*.html' + - 'main/.vitepress/dist/**/*.html' default_encoding: utf-8 \ No newline at end of file diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 8fc0bca79..ee7d7cb25 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -26,10 +26,10 @@ process is: 6. When all issues from the initial review are resolved, convert the PR from Draft to Ready For Review. 7. Reviewers approve PR, you merge it with `main`. 8. Pull Requests automatically run tests on their committed files. -9. [VuePress](https://vuepress.vuejs.org/guide/#how-it-works) automatically +9. [VitePress](https://vitepress.dev/guide/what-is-vitepress) automatically processes any new or changed files for display. 10. The [Agoric website's Documentation Section](https://agoric.com/documentation/) displays - the VuePress processed files, which have been converted to HTML. + the VitePress processed files, which have been converted to HTML. This doc explains: - The overall documentation structure. @@ -47,7 +47,7 @@ This doc explains: `/main` is the root directory for all files for the documentation site. It is the base path and renders as `/`. `/main/README.md/` is the README file for the Agoric Documentation repo, and the homepage for the documentation -section of the Agoric website. The homepage uses the default VuePress homepage theme. +section of the Agoric website. The homepage uses the default VitePress homepage theme. ### Folders and Projects @@ -55,7 +55,7 @@ Each project gets its own folder, often with `/api` and `/guide` subfolders as w well as `/main/zoe/api/` and `/main/zoe/guide/`. Projects can have additional subfolders as needed. Each folder should have its own `README.md`, which is an effective `index.html` equivalent in terms of rendering when someone navigates to -the folder's URL. See the next section for an explanation of how VuePress uses READMEs. +the folder's URL. See the next section for an explanation of how VitePress uses READMEs. Images, diagrams, and similar content-supporting files should go in an `assets` subfolder under the appropriate project folder. For example, if you have a `process.svg` image file with a diagram for the Zoe Guide's Invitations page, it @@ -66,27 +66,27 @@ or similar for individual files/pages. ### README files -VuePress converts Markdown files to an HTML file with the same base name. `README.md` files are an exception; they're +VitePress converts Markdown files to an HTML file with the same base name. `index.md` files are an exception; they're renamed `index.html`, since that's the default file web servers expect to find in each directory. Navigating -to `https://agoric.com/documentation/ertp/guide/` displays the VuePress processed `/main/ertp/guide/README.md`. -While it may seem odd, VuePress expects multiple `README.md` files in a repo; most folders will have one. +to `https://agoric.com/documentation/ertp/guide/` displays the VitePress processed `/main/ertp/guide/index.md`. -The root README.md file must start with an H1 (`#` in Markdown) header. In fact, all our doc pages should start -with that. But for READMEs, it's needed to generate search indexes and sidebars. +The root index.md file must start with an H1 (`#` in Markdown) header. In fact, all our doc pages should start +with that. But for Index.md's, it's needed to generate search indexes and sidebars. -All directories/folders should have a `README.md` file, even if it's empty. They provide a landing page for -the folder in the VuePress processed documentation structure. +Note - as of the Vitepress upgrade, sidebars are not automatically generated. You must add a `{text: '', link: ''}` entry to `main/.vitepress/config.js`. + +All directories/folders should have a `index.md` file, even if it's empty. They provide a landing page for +the folder in the VitePress processed documentation structure. Lines with no special treatment are converted into standard HTML paragraph tags. ### Sectioning Pages -VuePress automatically builds search functionality and individual page menus from `h1`, `h2`, and `h3` headers (i.e. Markdown's `#`, `##`, and `###` commands). +VitePress automatically builds search functionality and individual page menus from `h1`, `h2`, and `h3` headers (i.e. Markdown's `#`, `##`, and `###` commands). You must have **only one** `h1` per `.md` file. Be careful not to have too many `h2` and `h3` level headers on one page and that they aren't too long. Otherwise the sidebar menu for the page will be cluttered and hard to read and use. -Individual pages do not automatically display a sidebar menu for their headers (As of March 2021, VuePress -documentation implies they do. We've filed a PR with them). +Individual pages do not automatically display a sidebar menu for their headers without the use of a plugin. To force an individual page sidebar menu, add the following YAML at the top of a page's source file (this file has this YAML at the top): ```js --- @@ -97,7 +97,7 @@ Other ways of activating this are: Turn it on for the whole site: ```js -// .vuepress/config.js +// .vitepress/config.js module.exports = { themeConfig: { sidebar: 'auto' @@ -107,22 +107,22 @@ module.exports = { Or, add a config entry, either as part of a group or as an individual page. ```js -// .vuepress/config.js +// .vitepress/config.js module.exports = { themeConfig: { sidebar: [ { title: 'Group 1', // required - path: '/foo/', // optional, link of the title, which should be an absolute path and must exist + link: '/foo/', // optional, link of the title, which should be an absolute path and must exist collapsable: false, // optional, defaults to true sidebarDepth: 1, // optional, defaults to 1 - children: [ - '/' + items: [ + { text: '', link: '/' }, ] }, { title: 'Group 2', - children: [ /* ... */ ], + items: [ /* ... */ ], initialOpenGroupIndex: -1 // optional, defaults to 0, defines the index of initially opened subgroup } ] @@ -132,12 +132,11 @@ module.exports = { ## Writing Links -VuePress turns Markdown links into HTML links. There are some quirks about how you should write Markdown links. +VitePress turns Markdown links into HTML links. There are some quirks about how you should write Markdown links. First, our link checker does **not** check `router-link` style links. Please only use Markdown style links. -Next, your Markdown links should be to the `.md` Markdown files in the Doc repo. VuePress processing changes -both the `.md` files and links to them to be `.html`. +Next, your Markdown links should be to the `.md` Markdown files in the Doc repo, but exclude the file extension. VitePress processing changes both the `.md` files and links to them to be `.html`. In general, use relative links instead of absolute ones for any links to files or folders in the Documentation repo. Relative links open in the same browser tab when clicked on, absolute links open a new tab. @@ -148,11 +147,11 @@ the same folder as the file you're writing (something like `(./assets/my-diagram difficult to remember/figure out what the right syntax is for relative linking to a file two folders up, in a different upper folder, and then two levels down from there on a different branch of the file structure. -Instead, VuePress considers `main` the top of the file hierarchy. So you can always get to, say, a Glossary entry +Instead, VitePress considers `main` the top of the file hierarchy. So you can always get to, say, a Glossary entry by just linking to `(/glossary/#allocation)`; its path starting at `main`. Any path starting with just `/` starts at `main`. These links also open in the same browser tab. -VuePress turns every header in a Markdown file into an HTML anchor you can link to, so clicking such a link takes you directly to +VitePress turns every header in a Markdown file into an HTML anchor you can link to, so clicking such a link takes you directly to that file location (called *slugifying* by WordPress and other blogging platforms). A header link consists of its file name, with an appended `#` and appended altered header text. The header text in a link has been converted to to lower case and all non-alphanumerics, including spaces, have been replaced by hyphens. The two exceptions to the latter @@ -241,7 +240,7 @@ regions in a file, including defining one region inside of another. Just be sure all the ones in a file different names. To include a defined snippet in a Markdown file, put a -line like `<<< @/snippets/test-intro-zoe.js#install` in it. +line like `<<< @/../snippets/test-intro-zoe.js#install` in it. Replace the `test-intro-zoe.js` with the filename in the snippets file. Replace the `install` with the name of the region you want included from the file. @@ -258,7 +257,7 @@ Note that the PR will automatically test and lint files. The above is for local ### Check Links -To check internal VuePress links locally, run the shell command `yarn check-links` from anywhere in the +To check internal VitePress links locally, run the shell command `yarn docs:build` from anywhere in the root of the local repo folder or below. Note this does **not** check either external links or router-links. Output is the text of any @@ -280,6 +279,8 @@ agoric install ```shell yarn docs:build ``` +The resulting build assets can be found in `/dist` in the project root. + 4. **Run**: To run a local server and see your changes in real time, run: ```shell yarn docs:dev @@ -287,11 +288,17 @@ yarn docs:dev Most edit changes are immediately reflected in the browser, but applying site config changes may require stopping and restarting this program. -View your local documentation site at `localhost:8080/documentation/` +View your local documentation site at `localhost:5173` + +5. **Preview**: To preview a production build, run: +```shell +yarn docs:preview +``` +View your local documentation site at `localhost:4173` ## Updating Zoe Version and DocsUpdated -In `[/.vuepress/config.js](/.vuepress/config.js)`, find the lines +In `[/.vitepress/config.js](/.vitepress/config.js)`, find the lines ``` zoeVersion: 'Beta Release v1.0.0', zoeDocsUpdated: 'Apr 7, 2021' @@ -302,8 +309,8 @@ normally on line 3. ## Editing Site Menus -VuePress processing adds a top menubar to all Documentation site pages. When viewing a doc in an -overall grouping, such as Zoe docs or Getting Started docs, VuePress adds a specified sidebar menu of +VitePress processing adds a top menubar to all Documentation site pages. When viewing a doc in an +overall grouping, such as Zoe docs or Getting Started docs, VitePress adds a specified sidebar menu of other docs in that grouping. This section describes how to edit the top menubar and sidebar menus. **Note**: We do not know how to specify which sidebar menu to display if a document is in @@ -318,14 +325,14 @@ But if you're viewing "Introduction to Zoe" itself, you'll always see the Gettin no way to have it sometimes (appropriately) display the Zoe sidebar menu instead. ### Configuration and navigation -All configuration is handled in [`/main/.vuepress/config.js`](/.vuepress/config.js). Here you can: +All configuration is handled in [`/main/.vitepress/config.js`](/.vitepress/config.js). Here you can: - Set and modify the website title and description. - Configure the top navigation bar. - Configure the various sidebar menus #### Configuring the top menubar -Go to `[main/.vuepress/themeConfig/nav.js](/.vuepress/themeConfig/nav.js)` to configure the top -navigation bar. `/main/.vuepress/config.js`, the overall VuePress configuration file, imports `nav.js`. +Go to `[main/.vitepress/themeConfig/nav.js](/.vitepress/themeConfig/nav.js)` to configure the top +navigation bar. `/main/.vitepress/config.js`, the overall VitePress configuration file, imports `nav.js`. Below is an abridged configuration of the top navigation bar showing an array of only two entries, Getting Started and Learn More. @@ -334,7 +341,7 @@ Each entry is an object with three or four properties: - `ariaLabel`: Labels this page element. Used to access it if the text is not visible. - `link`: Optional. Link to where the browser goes if you click the top menubar item itself, instead of a submenu item. Of the form `link: '/zoe/guide'` where the opening `/` starts the path at `main/`. In this - case, no filename was given, so it defaults to `guide`'s `README.md` file. If not present, the menubar + case, no filename was given, so it defaults to `guide`'s `index.md` file. If not present, the menubar entry is not clickable. - `items`: Optional. An array of submenu item objects, each of which is a single submenu item of its parent navbar item. Not present if the item doesn't have a submenu. @@ -419,7 +426,7 @@ entry from the `items` array. ``` #### Configuring sidebar menus. -Sidebar menus are configured in [`/.vuepress/config.js`](/.vuepress/config.js). There, +Sidebar menus are configured in [`/.vitepress/config.js`](/.vitepress/config.js). There, sidebars are configured where it starts: `sidebar: {`. Here's an abridged version of the overall sidebar configuration, only showing the Getting Started @@ -447,7 +454,7 @@ sidebar: { Below is an abridged version of the ERTP sidebar. Each item entry has five properties: - `title`: The string that appears in the sidebar menu for this item. - `path`: Where you go if you click on this menu item. As usual, the leading `/` denotes a path - starting at `main`. Note the full file name is given, including the `.md` suffix (which VuePress + starting at `main`. Note the full file name is given, including the `.md` suffix (which VitePress will change to `.html` during its processing). - `collapsible`: Can this item be collapsed? So far, we don't have any collapsible items, so always give this property the value `false`. @@ -455,18 +462,18 @@ Below is an abridged version of the ERTP sidebar. Each item entry has five prope default is 2, which displays h3 and is the max, but if fewer levels are desired, the setting can be overridden at the sidebar item level. More information - [here](https://vuepress.vuejs.org/theme/default-theme-config.html#nested-header-links). + [here](https://vitepress.dev/reference/default-theme-sidebar#multiple-sidebars). - `children`: An array of submenu items for this sidebar menu item. You just need to specify - the file paths to where you want to go when the submenu item is clicked. VuePress uses the - file's (including default README.md files for folders) H1 level header text for the sidebar text. + the file paths to where you want to go when the submenu item is clicked. VitePress uses the + file's (including default index.md files for folders) H1 level header text for the sidebar text. You can also specify what text to use using the form `{ title: 'Mint', path: '/api/mint' }`. ```js '/ertp/': [ { title: 'ERTP Introduction', - path: '/getting-started/ertp-introduction.md', + path: '/getting-started/ertp-introduction', collapsible: false, children: [ ] @@ -485,7 +492,7 @@ Below is an abridged version of the ERTP sidebar. Each item entry has five prope }, ], ``` -When viewing a page, VuePress has automatically constructed a sidebar menu entry for that page +When viewing a page, VitePress has automatically constructed a sidebar menu entry for that page consisting of all `h1`, `h2`, and `h3` header titles on the page. ## Redirecting links @@ -494,7 +501,9 @@ If you reorganize part of the Documentation repo or delete/deprecate a file in f you should establish a site URL redirect from the old file to the new one, in case anyone external to Agoric has made a link or bookmarked the old file. -Go to (or create if not there) `documentation/main/.vuepress/enhanceApp.js` As of March 2021, ours +If you need to redirect to an **external** website, this will be accomplished at the DNS/Hosting level (See [vitepress #2083](https://github.com/vuejs/vitepress/discussions/2083)). These are maintained in the project root's `_redirects` file. See [Cloudflare Pages Redirects](https://developers.cloudflare.com/pages/configuration/redirects/) for more details. + +Go to (or create if not there) `documentation/main/.vitepress/enhanceApp.js` As of March 2021, ours looks like this: ```js export default ({ router }) => { @@ -511,8 +520,8 @@ export default ({ router }) => { } ``` The general format should be self-explanatory. However, there are two things you need to know that aren't apparent -- VuePress treats `main` as the root of the folders. So all of the addresses start with `/` to represent `/main/`. +- VitePress treats `main` as the root of the folders. So all of the addresses start with `/` to represent `/main/`. - You'll notice there are two entries for every redirect, one where the redirected address ends with `.html` and - one where it ends with `/`. For each individual file that is not a `README.md`, there are two ways to access it. - So we cover both ways. No entry has a `.md` extension. The redirect happens after VuePress' build step, so there + one where it ends with `/`. For each individual file that is not a `index.md`, there are two ways to access it. + So we cover both ways. No entry has a `.md` extension. The redirect happens after VitePress' build step, so there are no longer any Markdown files; they've been converted to .html. So that's what's redirected. diff --git a/_redirects b/_redirects index 06551c0b4..db5cca4f3 100644 --- a/_redirects +++ b/_redirects @@ -1,34 +1,70 @@ # Send to a 404 error page on the main site for things we don't recognize. -/wallet-api/ /guides/wallet/ -/wallet-api.html /guides/wallet/ -/chainlink-integration/ /guides/chainlink-integration/ +/chainlink-integration /guides/chainlink-integration/ /chainlink-integration.html /guides/chainlink-integration/ -/distributed-programming/ /guides/js-programming/ +/chainlink-integration/ /guides/chainlink-integration/ +/chainlink-integration/* /guides/chainlink-integration/:splat +/dapps /guides/dapps/ +/dapps/ /guides/dapps/ +/dapps/* /guides/dapps/:splat +/distributed-programming /guides/js-programming/ /distributed-programming.html /guides/js-programming/ -/getting-started/agoric-cli-guide/ /guides/agoric-cli/ +/distributed-programming/ /guides/js-programming/ +/distributed-programming/* /guides/js-programming/:splat +/ertp/api /reference/ertp-api/ +/ertp/api/ /reference/ertp-api/ +/ertp/api/* /reference/ertp-api/:splat +/ertp/api/issuer.html /reference/ertp-api/issuer.html +/ertp/guide /guides/ertp/ +/ertp/guide/ /guides/ertp/ +/ertp/guide/* /guides/ertp/:splat +/ertp/guide/amounts.html /guides/ertp/amounts.html +/getting-started/ /guides/getting-started/ +/getting-started/agoric-cli-guide /guides/agoric-cli/ /getting-started/agoric-cli-guide.html /guides/agoric-cli/ -/guides/js-programming/ses/ses-guide.html https://github.com/endojs/endo/blob/HEAD/packages/ses/docs/guide.html -/guides/js-programming/ses/ses-reference.html https://github.com/endojs/endo/blob/HEAD/packages/ses/docs/reference.html -/guides/js-programming/ses/lockdown.html https://github.com/endojs/endo/blob/HEAD/packages/ses/docs/lockdown.html +/getting-started/agoric-cli-guide/ /guides/agoric-cli/ +/getting-started/agoric-cli-guide/* /guides/agoric-cli/:splat +/getting-started/before-using-agoric /guides/getting-started/ /getting-started/before-using-agoric.html /guides/getting-started/ +/getting-started/before-using-agoric/* /guides/getting-started/:splat +/getting-started/beta /guides/getting-started/ +/getting-started/beta.html /guides/getting-started/ +/getting-started/beta/* /guides/getting-started/:splat +/getting-started/intro-zoe /guides/zoe/offer-enforcement/ +/getting-started/intro-zoe.html /guides/zoe/offer-enforcement.html +/getting-started/intro-zoe/* /guides/zoe/offer-enforcement/:splat +/getting-started/start-a-project /guides/getting-started/start-a-project/ /getting-started/start-a-project.html /guides/getting-started/ +/getting-started/start-a-project/* /guides/getting-started/start-a-project/:splat +/guides/agoric-cli/commands /guides/agoric-cli/ /guides/agoric-cli/commands.html /guides/agoric-cli/ -/dapps/ /guides/dapps/ -/ertp/guide/ /guides/ertp/ -/ertp/guide/amounts.html /guides/ertp/amounts.html +/guides/agoric-cli/commands/* /guides/agoric-cli/:splat +/guides/js-programming/ses/lockdown https://github.com/endojs/endo/blob/HEAD/packages/ses/docs/lockdown.md +/guides/js-programming/ses/lockdown.html https://github.com/endojs/endo/blob/HEAD/packages/ses/docs/lockdown.md +/guides/js-programming/ses/ses-guide https://github.com/endojs/endo/blob/HEAD/packages/ses/docs/guide.md +/guides/js-programming/ses/ses-guide.html https://github.com/endojs/endo/blob/HEAD/packages/ses/docs/guide.md +/guides/js-programming/ses/ses-reference https://github.com/endojs/endo/blob/HEAD/packages/ses/docs/reference.md +/guides/js-programming/ses/ses-reference.html https://github.com/endojs/endo/blob/HEAD/packages/ses/docs/reference.md +/guides/wallet/api /reference/wallet-api/ +/guides/wallet/api.html /reference/wallet-api.html +/guides/wallet/api/* /reference/wallet-api/:splat /platform /guides/platform/ -/platform/* /guides/platform/:splat -/zoe/guide/ /guides/zoe/ -/getting-started/intro-zoe.html /guides/zoe/offer-enforcement.html -/zoe/guide/offer-safety.html /guides/zoe/offer-safety 302 -/zoe/guide/contracts/ /guides/zoe/contracts/ -/zoe/guide/contracts/oracle.html /guides/zoe/contracts/oracle.html -/ertp/api/ /reference/ertp-api/ -/ertp/api/issuer.html /reference/ertp-api/issuer.html +/platform /guides/platform/ +/platform/* /guides/platform/:splat +/repl /reference/repl/ /repl/ /reference/repl/ +/repl/* /reference/repl/:splat /repl/timerServices.html /reference/repl/timerServices.html -/guides/wallet/api.html /reference/wallet-api.html +/wallet-api /guides/wallet/ +/wallet-api.html /guides/wallet/ +/wallet-api/ /guides/wallet/ +/wallet-api/* /guides/wallet/:splat +/zoe/api /reference/zoe-api/ /zoe/api/ /reference/zoe-api/ +/zoe/api/* /reference/zoe-api/:splat /zoe/api/zoe.html /reference/zoe-api/zoe.html -/getting-started/beta.html /guides/getting-started/ -/getting-started/ /guides/getting-started/ +/zoe/guide /guides/zoe/ +/zoe/guide/ /guides/zoe/ +/zoe/guide/* /guides/zoe/:splat +/zoe/guide/contracts/ /guides/zoe/contracts/ +/zoe/guide/contracts/oracle.html /guides/zoe/contracts/oracle.html +/zoe/guide/offer-safety.html /guides/zoe/offer-safety 302 diff --git a/main/.vuepress/components/Button-Action-Link.vue b/main/.vitepress/components/Button-Action-Link.vue similarity index 100% rename from main/.vuepress/components/Button-Action-Link.vue rename to main/.vitepress/components/Button-Action-Link.vue diff --git a/main/.vuepress/components/Button-Go-Back.vue b/main/.vitepress/components/Button-Go-Back.vue similarity index 100% rename from main/.vuepress/components/Button-Go-Back.vue rename to main/.vitepress/components/Button-Go-Back.vue diff --git a/main/.vuepress/components/HomeButtonHeader.vue b/main/.vitepress/components/HomeButtonHeader.vue similarity index 100% rename from main/.vuepress/components/HomeButtonHeader.vue rename to main/.vitepress/components/HomeButtonHeader.vue diff --git a/main/.vuepress/components/HomeButtonRow.vue b/main/.vitepress/components/HomeButtonRow.vue similarity index 100% rename from main/.vuepress/components/HomeButtonRow.vue rename to main/.vitepress/components/HomeButtonRow.vue diff --git a/main/.vitepress/components/Zoe-Version.vue b/main/.vitepress/components/Zoe-Version.vue new file mode 100644 index 000000000..cc64e27ea --- /dev/null +++ b/main/.vitepress/components/Zoe-Version.vue @@ -0,0 +1,12 @@ + + + diff --git a/main/.vitepress/config.mjs b/main/.vitepress/config.mjs new file mode 100644 index 000000000..ad304cf56 --- /dev/null +++ b/main/.vitepress/config.mjs @@ -0,0 +1,514 @@ +import { defineConfig } from 'vitepress' +import { nav } from './themeConfig/nav.js'; +import { rewrites } from './themeConfig/rewrites.js'; + +export default defineConfig({ + /* --- FOR DEPLOYMENT TO GITHUB PAGES--- */ + base: '/', // The base URL the site will be deployed at. + outDir: '../dist', + /* --- HOME PAGE --- */ + title: 'Agoric Documentation', // title for the site. prefix for all page titles and displayed in the navbar + description: 'Build, deploy and operate dApps and DeFi markets.', // desc for the site; rendered as a tag in the page HTML + // Extra tags to inject into the page HTML . You can specify each tag in the form of [tagName, { attrName: attrValue }, innerHTML?]. + head: [ + [ + 'meta', + { name: 'viewport', content: 'width=device-width, initial-scale=1' }, + ], + ['link', { rel: 'icon', href: '/favicon-full.ico' }], + [ + 'style', + { type: 'text/css' }, + ` + .two-col-table td { + width: 50%; + } + .two-col-table table { + table-layout: fixed; + } + a[href^='#'] { + font-style: italic; + }`, + ], + [ + 'script', + { + src: 'https://www.googletagmanager.com/gtag/js?id=UA-118217811-1', + async: '', + }, + ], + [ + 'script', + {}, + "window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'UA-118217811-1'); ", + ], + [ + 'script', + {}, + ` + /** @type {Map<[...anySelectors: string[]], (elems: (Element | null)[]) => unknown>} */ + const fixups = new Map(); + + // Update the "home" link to target agoric.com while intercepting clicks + // such that those outside of its image continue routing to the root of + // the documentation site. + fixups.set(['.home-link', '.logo'], ([homeEl, logoEl]) => { + if (homeEl) { + homeEl.setAttribute('href', 'https://agoric.com'); + homeEl.setAttribute('onclick', 'return false;'); + } + if (logoEl) { + logoEl.setAttribute('onclick', "document.location='https://agoric.com';return false;"); + } + }); + + // Poll until all fixups trigger by matching at least one element. + const fixupInterval = setInterval(function() { + for (const [selectors, fixup] of fixups) { + const elems = selectors.map(sel => document.querySelector(sel)); + if (elems.some(el => el)) { + // console.log('fixup', selectors); + fixups.delete(selectors); + Promise.resolve(elems).then(fixup); + } + } + if (!fixups.size) { + clearInterval(fixupInterval); + // console.log('fixups are done'); + } + }, 500); + `, + ], + ], + ignoreDeadLinks: [ + // ignore all localhost links + /^https?:\/\/localhost/, + ], + sitemap: { + hostname: 'https://docs.agoric.com', + }, + plugins: [], + /* --- ROUTE REWRITES / REDIRECTS --- */ + rewrites, + /* --- DEFAULT THEME CONFIG --- */ + themeConfig: { + sidebarDepth: 1, + lastUpdated: { + text: 'Last Updated', + formatOptions: { + dateStyle: 'medium', + timeStyle: 'long', + timeZone: 'Etc/UTC', + }, + }, + logo: '/agoric-logo-red.svg', + /* --- NAVBAR (top) --- */ + nav, + /* --- SIDEBAR --- */ + // This configuration displays different sidebars for different sections of + // content. Pages must be organized into directories for each desired + // section + + // NOTES: + // Internal links: Must have a corresponding folder with a index.md file + // Links must be absolute with trailing slash '/guide/' + // Trailing slash implies it is looking for a .md file + sidebar: { + '/guides/': [ + { + text: 'Getting Started', + link: '/guides/getting-started/', + collapsed: true, + items: [ + { text: 'Getting Started', link: '/guides/getting-started/' }, + { + text: 'Smart Wallet Dapp Architecture', + link: '/guides/getting-started/contract-rpc', + }, + { + text: 'Deploying Smart Contracts', + link: '/guides/getting-started/deploying', + }, + ], + }, + { + text: 'Zoe', + link: '/guides/zoe/', + collapsed: true, + items: [ + { + text: 'Smart Contract Basics', + link: '/guides/zoe/contract-basics', + }, + { text: 'Zoe Overview', link: '/guides/zoe/' }, + { text: 'Contract Upgrade', link: '/guides/zoe/contract-upgrade' }, + ], + }, + { + text: 'Agoric CLI', + link: '/guides/agoric-cli/', + collapsed: true, + items: [ + { text: 'Agoric CLI Reference', link: '/guides/agoric-cli/' }, + { + text: 'Using agd to make queries and transactions', + link: '/guides/agoric-cli/agd-query-tx', + }, + ], + }, + { + text: 'JavaScript Framework', + link: '/guides/js-programming/', + collapsed: true, + items: [ + { + text: 'JavaScript Framework for Secure Distributed Computing', + link: '/guides/js-programming/', + }, + { + text: 'Hardened JavaScript', + link: '/guides/js-programming/hardened-js', + }, + { + text: 'Eventual Send with E()', + link: '/guides/js-programming/eventual-send', + }, + { + text: 'Far(), Remotable, and Marshaling', + link: '/guides/js-programming/far', + }, + { + text: 'Notifiers and Subscriptions', + link: '/guides/js-programming/notifiers', + }, + ], + }, + { + text: 'Wallet', + link: '/guides/wallet/', + collapsed: true, + items: [ + { text: 'Agoric Wallet', link: '/guides/wallet/' }, + { text: 'Wallet UI', link: '/guides/wallet/ui' }, + ], + }, + { + text: 'ERTP', + link: '/guides/ertp/', + collapsed: true, + items: [ + { text: 'ERTP Overview', link: '/guides/ertp/' }, + { + text: 'Amounts, Values, and Brands', + link: '/guides/ertp/amounts', + }, + { text: 'AmountMath', link: '/guides/ertp/amount-math' }, + { + text: 'Issuers and Mints', + link: '/guides/ertp/issuers-and-mints', + }, + { + text: 'Purses and Payments', + link: '/guides/ertp/purses-and-payments', + }, + ], + }, + { + text: 'Permissioned Contract Deployment', + link: '/guides/coreeval/', + collapsed: true, + items: [ + { + text: 'Permissioned Contract Deployment', + link: '/guides/coreeval/', + }, + { + text: 'Declaring Required Capabilities', + link: '/guides/coreeval/permissions', + }, + { + text: 'Code the Proposal', + link: '/guides/coreeval/proposal', + }, + { + text: 'Deploy a Governance Proposal to a Local Testnet', + link: '/guides/coreeval/local-testnet', + }, + ], + }, + { + text: 'Example Zoe Contracts', + link: '/guides/zoe/contracts/', + collapsed: true, + items: [ + { text: 'Example Zoe Contracts', link: '/guides/zoe/contracts/' }, + { + text: 'Oracle Query Contract', + link: '/guides/zoe/contracts/oracle', + }, + { + text: 'Vault Contract', + link: '/guides/zoe/contracts/vault', + }, + { text: 'Loan Contract', link: '/guides/zoe/contracts/loan' }, + { + text: 'Funded Call Spread Contract', + link: '/guides/zoe/contracts/fundedCallSpread', + }, + { + text: 'Priced Call Spread Contract', + link: '/guides/zoe/contracts/pricedCallSpread', + }, + { + text: 'Covered Call Contract', + link: '/guides/zoe/contracts/covered-call', + }, + { + text: 'OTC Desk Contract', + link: '/guides/zoe/contracts/otc-desk', + }, + { + text: 'ConstantProduct AMM Contract', + link: '/guides/zoe/contracts/constantProductAMM', + }, + { + text: 'Sell Items Contract', + link: '/guides/zoe/contracts/sell-items', + }, + { + text: 'Atomic Swap Contract', + link: '/guides/zoe/contracts/atomic-swap', + }, + { + text: 'Barter Exchange Contract', + link: '/guides/zoe/contracts/barter-exchange', + }, + { + text: 'Second-Price Auction Contract', + link: '/guides/zoe/contracts/second-price-auction', + }, + { + text: 'Simple Exchange Contract', + link: '/guides/zoe/contracts/simple-exchange', + }, + { + text: 'Escrow To Vote Contract', + link: '/guides/zoe/contracts/escrow-to-vote', + }, + { + text: 'Mint Payments Contract', + link: '/guides/zoe/contracts/mint-payments', + }, + { + text: 'Mint and Sell NFTs Contract', + link: '/guides/zoe/contracts/mint-and-sell-nfts', + }, + { + text: 'Use Object Contract', + link: '/guides/zoe/contracts/use-obj-example', + }, + { + text: 'Automatic Refund Contract', + link: '/guides/zoe/contracts/automatic-refund', + }, + ], + }, + { + text: 'Deployed Zoe Contracts', + link: '/guides/zoe/actual-contracts/', + collapsed: true, + items: [ + { + text: 'Deployed Zoe Contracts', + link: '/guides/zoe/actual-contracts/', + }, + { + text: 'PSM Contract', + link: '/guides/zoe/actual-contracts/PSM', + }, + ], + }, + { + text: 'Agoric Dapps', + link: '/guides/dapps/', + collapsed: true, + items: [ + { text: 'Agoric Dapps', link: '/guides/dapps/' }, + { + text: 'Dapp Templates', + link: '/guides/dapps/dapp-templates', + }, + { + text: 'Starting Multiuser Dapps', + link: '/guides/dapps/starting-multiuser-dapps', + }, + { + text: 'Deploying Smart Contracts', + link: '/guides/getting-started/deploying', + }, + { + text: 'Smart Wallet Dapp Architecture', + link: '/guides/getting-started/contract-rpc', + }, + ], + }, + { + text: 'Agoric Platform', + link: '/guides/platform/', + collapsed: true, + items: [], + }, + { + text: 'Chainlink Integration', + link: '/guides/chainlink-integration', + collapsed: true, + items: [], + }, + { + text: 'SubQuery Indexing', + link: '/guides/subquery-indexing', + collapsed: true, + items: [], + }, + ], + '/reference/': [ + { + text: 'Wallet API', + link: '/reference/wallet-api/', + collapsed: true, + items: [ + { + text: 'Wallet API Commands', + link: '/reference/wallet-api/wallet-commands', + }, + { + text: 'WalletBridge API Commands', + link: '/reference/wallet-api/wallet-bridge', + }, + ], + }, + { + text: 'ERTP API', + link: '/reference/ertp-api/', + collapsed: true, + items: [ + { text: 'ERTP API', link: '/reference/ertp-api/' }, + { text: 'Issuer Object', link: '/reference/ertp-api/issuer' }, + { text: 'Mint Object', link: '/reference/ertp-api/mint' }, + { text: 'Brand Object', link: '/reference/ertp-api/brand' }, + { text: 'Purse Object', link: '/reference/ertp-api/purse' }, + { + text: 'Payment Object', + link: '/reference/ertp-api/payment', + }, + { + text: 'AmountMath Object', + link: '/reference/ertp-api/amount-math', + }, + { + text: 'ERTP Data Types', + link: '/reference/ertp-api/ertp-data-types', + }, + ], + }, + { + text: 'REPL API', + link: '/reference/repl/', + collapsed: true, + items: [ + { text: 'Agoric REPL', link: '/reference/repl/' }, + { + text: 'Timer Services', + link: '/reference/repl/timerServices', + }, + { text: 'The Agoric Board', link: '/reference/repl/board' }, + { text: 'Network API', link: '/reference/repl/networking' }, + { + text: 'Price Authority', + link: '/reference/repl/priceAuthority', + }, + { text: 'Scratch', link: '/reference/repl/scratch' }, + ], + }, + { + text: 'Zoe API', + link: '/reference/zoe-api/', + collapsed: true, + items: [ + { text: 'Zoe API', link: '/reference/zoe-api/' }, + { text: 'Zoe Service', link: '/reference/zoe-api/zoe' }, + { + text: 'UserSeat Object', + link: '/reference/zoe-api/user-seat', + }, + { + text: 'Zoe Contract Facet', + link: '/reference/zoe-api/zoe-contract-facet', + }, + { text: 'ZCFSeat Object', link: '/reference/zoe-api/zcfseat' }, + { text: 'ZCFMint Object', link: '/reference/zoe-api/zcfmint' }, + { + text: 'PriceAuthority Object', + link: '/reference/zoe-api/price-authority', + }, + { + text: 'ZoeHelper Functions', + link: '/reference/zoe-api/zoe-helpers', + }, + { + text: 'Ratio Math Functions', + link: '/reference/zoe-api/ratio-math', + }, + { + text: 'Zoe Data Types', + link: '/reference/zoe-api/zoe-data-types', + }, + ], + }, + ], + }, + docsRepo: 'Agoric/documentation', + // if your docs are not at the root of the repo: + docsDir: 'main', + // if your docs are in a specific branch (defaults to 'master'): + docsBranch: 'main', + // defaults to false, set to true to enable + editLinks: true, + // custom text for edit link. Defaults to "Edit this page" + editLinkText: 'Help us improve this page!', + + zoeVersion: 'v0.24.0', + zoeDocsUpdated: 'August 25, 2022', + + // https://vitepress.dev/reference/default-theme-search#local-search + // uses minisearch: https://github.com/lucaong/minisearch/ + search: { + provider: 'local', + options: { + miniSearch: { + /** + * @type {Pick} + */ + options: { + /* ... */ + }, + /** + * @type {import('minisearch').SearchOptions} + * @default + * { fuzzy: 0.2, prefix: true, boost: { title: 4, text: 2, titles: 1 } } + */ + searchOptions: { + /* ... */ + }, + /** + * @param {string} src + * @param {import('vitepress').MarkdownEnv} env + * @param {import('markdown-it')} md + */ + // _render(src, env, md) { + // }, + }, + }, + }, + }, +}); diff --git a/main/.vuepress/package.json b/main/.vitepress/package.json similarity index 100% rename from main/.vuepress/package.json rename to main/.vitepress/package.json diff --git a/main/.vuepress/styles/_prism-coldark-cold.styl b/main/.vitepress/styles/_prism-coldark-cold.styl similarity index 100% rename from main/.vuepress/styles/_prism-coldark-cold.styl rename to main/.vitepress/styles/_prism-coldark-cold.styl diff --git a/main/.vuepress/styles/index.styl b/main/.vitepress/styles/index.styl similarity index 83% rename from main/.vuepress/styles/index.styl rename to main/.vitepress/styles/index.styl index bf1b89c5f..f7475e208 100644 --- a/main/.vuepress/styles/index.styl +++ b/main/.vitepress/styles/index.styl @@ -156,3 +156,38 @@ div[class*="language-"].secondary div[class*="language-"].secondary.style3 pre background-color bisque + +.page + max-width: 1280px + margin: 0 auto + padding: 20px 0 100px 0 + + h1, h3 + margin-top: 1em + margin-bottom: 0.25em + font-weight: 600 + line-height: 1.25 + h1 + color: #2c3e50 + font-size: 2.2rem + h3 + font-size: 1.35rem + a + color: #d73252 + + @media (max-width: 1280px) + padding: 1.5rem + + @media (max-width: 768px) + h1 + font-size: 1.75rem + h3 + font-size: 1.1rem + a + color: rgb(171, 35, 40) + font-weight: 500 + +.dark + .page + h1 + color: rgba(255, 255, 245, 0.86) diff --git a/main/.vuepress/styles/palette.styl b/main/.vitepress/styles/palette.styl similarity index 100% rename from main/.vuepress/styles/palette.styl rename to main/.vitepress/styles/palette.styl diff --git a/main/.vitepress/theme/index.js b/main/.vitepress/theme/index.js new file mode 100644 index 000000000..da5ea513b --- /dev/null +++ b/main/.vitepress/theme/index.js @@ -0,0 +1,27 @@ +// https://vitepress.dev/guide/custom-theme +import { h } from 'vue' +import DefaultTheme from 'vitepress/theme' +import './style.css' +import '../styles/index.styl'; +import ButtonActionLink from '../components/Button-Action-Link.vue'; +import ButtonGoBack from '../components/Button-Go-Back.vue'; +import HomeButtonHeader from '../components/HomeButtonHeader.vue'; +import HomeButtonRow from '../components/HomeButtonRow.vue'; +import ZoeVersion from '../components/Zoe-Version.vue'; + +/** @type {import('vitepress').Theme} */ +export default { + extends: DefaultTheme, + Layout: () => { + return h(DefaultTheme.Layout, null, { + // https://vitepress.dev/guide/extending-default-theme#layout-slots + }); + }, + enhanceApp({ app /*, router, siteData */ }) { + app.component('ButtonActionLink', ButtonActionLink); + app.component('ButtonGoBack', ButtonGoBack); + app.component('HomeButtonHeader', HomeButtonHeader); + app.component('HomeButtonRow', HomeButtonRow); + app.component('ZoeVersion', ZoeVersion); + }, +}; diff --git a/main/.vitepress/theme/style.css b/main/.vitepress/theme/style.css new file mode 100644 index 000000000..9a831958e --- /dev/null +++ b/main/.vitepress/theme/style.css @@ -0,0 +1,144 @@ +/** + * Customize default theme styling by overriding CSS variables: + * https://github.com/vuejs/vitepress/blob/main/src/client/theme-default/styles/vars.css + */ + +/** + * Colors + * + * Each colors have exact same color scale system with 3 levels of solid + * colors with different brightness, and 1 soft color. + * + * - `XXX-1`: The most solid color used mainly for colored text. It must + * satisfy the contrast ratio against when used on top of `XXX-soft`. + * + * - `XXX-2`: The color used mainly for hover state of the button. + * + * - `XXX-3`: The color for solid background, such as bg color of the button. + * It must satisfy the contrast ratio with pure white (#ffffff) text on + * top of it. + * + * - `XXX-soft`: The color used for subtle background such as custom container + * or badges. It must satisfy the contrast ratio when putting `XXX-1` colors + * on top of it. + * + * The soft color must be semi transparent alpha channel. This is crucial + * because it allows adding multiple "soft" colors on top of each other + * to create a accent, such as when having inline code block inside + * custom containers. + * + * - `default`: The color used purely for subtle indication without any + * special meanings attched to it such as bg color for menu hover state. + * + * - `brand`: Used for primary brand colors, such as link text, button with + * brand theme, etc. + * + * - `tip`: Used to indicate useful information. The default theme uses the + * brand color for this by default. + * + * - `warning`: Used to indicate warning to the users. Used in custom + * container, badges, etc. + * + * - `danger`: Used to show error, or dangerous message to the users. Used + * in custom container, badges, etc. + * -------------------------------------------------------------------------- */ + + :root { + --vp-c-amaranth-1: #d73252; + --vp-c-amaranth-2: #e84b62; + --vp-c-amaranth-3: #f27a88; + --vp-c-amaranth-soft:rgba(247, 170, 177, 0.14); + + --vp-c-default-1: var(--vp-c-gray-1); + --vp-c-default-2: var(--vp-c-gray-2); + --vp-c-default-3: var(--vp-c-gray-3); + --vp-c-default-soft: var(--vp-c-gray-soft); + + --vp-c-brand-1: var(--vp-c-amaranth-1); + --vp-c-brand-2: var(--vp-c-amaranth-2); + --vp-c-brand-3: var(--vp-c-amaranth-3); + --vp-c-brand-soft: var(--vp-c-amaranth-soft); + + --vp-c-tip-1: var(--vp-c-brand-1); + --vp-c-tip-2: var(--vp-c-brand-2); + --vp-c-tip-3: var(--vp-c-brand-3); + --vp-c-tip-soft: var(--vp-c-brand-soft); + + --vp-c-warning-1: var(--vp-c-yellow-1); + --vp-c-warning-2: var(--vp-c-yellow-2); + --vp-c-warning-3: var(--vp-c-yellow-3); + --vp-c-warning-soft: var(--vp-c-yellow-soft); + + --vp-c-danger-1: var(--vp-c-red-1); + --vp-c-danger-2: var(--vp-c-red-2); + --vp-c-danger-3: var(--vp-c-red-3); + --vp-c-danger-soft: var(--vp-c-red-soft); +} + +/** + * Component: Button + * -------------------------------------------------------------------------- */ + +:root { + --vp-button-brand-border: transparent; + --vp-button-brand-text: var(--vp-c-white); + --vp-button-brand-bg: var(--vp-c-brand-3); + --vp-button-brand-hover-border: transparent; + --vp-button-brand-hover-text: var(--vp-c-white); + --vp-button-brand-hover-bg: var(--vp-c-brand-2); + --vp-button-brand-active-border: transparent; + --vp-button-brand-active-text: var(--vp-c-white); + --vp-button-brand-active-bg: var(--vp-c-brand-1); +} + +/** + * Component: Home + * -------------------------------------------------------------------------- */ + +:root { + --vp-home-hero-name-color: transparent; + --vp-home-hero-name-background: -webkit-linear-gradient( + 120deg, + #bd34fe 30%, + #41d1ff + ); + + --vp-home-hero-image-background-image: linear-gradient( + -45deg, + #bd34fe 50%, + #47caff 50% + ); + --vp-home-hero-image-filter: blur(44px); +} + +@media (min-width: 640px) { + :root { + --vp-home-hero-image-filter: blur(56px); + } +} + +@media (min-width: 960px) { + :root { + --vp-home-hero-image-filter: blur(68px); + } +} + +/** + * Component: Custom Block + * -------------------------------------------------------------------------- */ + +:root { + --vp-custom-block-tip-border: transparent; + --vp-custom-block-tip-text: var(--vp-c-text-1); + --vp-custom-block-tip-bg: var(--vp-c-brand-soft); + --vp-custom-block-tip-code-bg: var(--vp-c-brand-soft); +} + +/** + * Component: Algolia + * -------------------------------------------------------------------------- */ + +.DocSearch { + --docsearch-primary-color: var(--vp-c-brand-1) !important; +} + diff --git a/main/.vuepress/themeConfig/nav.js b/main/.vitepress/themeConfig/nav.js similarity index 98% rename from main/.vuepress/themeConfig/nav.js rename to main/.vitepress/themeConfig/nav.js index 74efd7390..8e4d95fbd 100644 --- a/main/.vuepress/themeConfig/nav.js +++ b/main/.vitepress/themeConfig/nav.js @@ -4,7 +4,7 @@ // Links must be absolute with trailing slash '/guide/' // Trailing slash implies it is looking for a .md file -module.exports = [ +export const nav = [ { text: 'Getting Started', ariaLabel: 'Getting Started Menu', @@ -84,7 +84,7 @@ module.exports = [ { text: 'Wallet API', ariaLabel: 'Wallet API Menu', - link: '/reference/wallet-api', + link: '/reference/wallet-api/', }, { text: 'ERTP API', diff --git a/main/.vitepress/themeConfig/rewrites.js b/main/.vitepress/themeConfig/rewrites.js new file mode 100644 index 000000000..6c16c90ff --- /dev/null +++ b/main/.vitepress/themeConfig/rewrites.js @@ -0,0 +1,28 @@ +/** + * @file client side redirects for vitepress + * + * Please include local redirects here. For external redirects, please + * use `_redirects_` in the project route. You may also way to include + * your local redirect in the `_redirects_` file as well. + */ + +export const rewrites = { + '/chainlink-integration': '/guides/chainlink-integration/', + '/dapps': '/guides/dapps/', + '/distributed-programming': '/guides/js-programming/', + '/ertp/api': '/reference/ertp-api/', + '/ertp/guide': '/guides/ertp/', + '/getting-started/agoric-cli-guide': '/guides/agoric-cli/', + '/getting-started/before-using-agoric': '/guides/getting-started/', + '/getting-started/beta': '/guides/getting-started/', + '/getting-started/intro-zoe': '/guides/zoe/offer-enforcement/', + '/getting-started/start-a-project': + '/guides/getting-started/start-a-project/', + '/guides/agoric-cli/commands': '/guides/agoric-cli/', + '/guides/wallet/api': '/reference/wallet-api/', + '/platform': '/guides/platform/', + '/repl': '/reference/repl/', + '/wallet-api': '/guides/wallet/', + '/zoe/api': '/reference/zoe-api/', + '/zoe/guide': '/guides/zoe/', +}; diff --git a/main/.vuepress/components/Zoe-Version.vue b/main/.vuepress/components/Zoe-Version.vue deleted file mode 100644 index 047afd7de..000000000 --- a/main/.vuepress/components/Zoe-Version.vue +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/main/.vuepress/config.js b/main/.vuepress/config.js deleted file mode 100644 index 01c9a094d..000000000 --- a/main/.vuepress/config.js +++ /dev/null @@ -1,378 +0,0 @@ -const nav = require('./themeConfig/nav'); - -module.exports = { - /* --- FOR DEPLOYMENT TO GITHUB PAGES--- */ - base: '/', // The base URL the site will be deployed at. - /* --- HOME PAGE --- */ - title: 'Documentation', // title for the site. prefix for all page titles and displayed in the navbar - description: 'Build, deploy and operate dApps and DeFi markets.', // desc for the site; rendered as a tag in the page HTML - // Extra tags to inject into the page HTML . You can specify each tag in the form of [tagName, { attrName: attrValue }, innerHTML?]. - head: [ - [ - 'meta', - { name: 'viewport', content: 'width=device-width, initial-scale=1' }, - ], - ['link', { rel: 'icon', href: '/favicon-full.ico' }], - [ - 'style', - { type: 'text/css' }, - ` - .two-col-table td { - width: 50%; - } - .two-col-table table { - table-layout: fixed; - } - a[href^='#'] { - font-style: italic; - }`, - ], - [ - 'script', - { - src: 'https://www.googletagmanager.com/gtag/js?id=UA-118217811-1', - async: '', - }, - ], - [ - 'script', - {}, - "window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'UA-118217811-1'); ", - ], - [ - 'script', - {}, - ` - /** @type {Map<[...anySelectors: string[]], (elems: (Element | null)[]) => unknown>} */ - const fixups = new Map(); - - // Update the "home" link to target agoric.com while intercepting clicks - // such that those outside of its image continue routing to the root of - // the documentation site. - fixups.set(['.home-link', '.logo'], ([homeEl, logoEl]) => { - if (homeEl) { - homeEl.setAttribute('href', 'https://agoric.com'); - homeEl.setAttribute('onclick', 'return false;'); - } - if (logoEl) { - logoEl.setAttribute('onclick', "document.location='https://agoric.com';return false;"); - } - }); - - if (location.hash && location.hash !== '#') { - // Once content has loaded, re-navigate to the page target - // without triggering interfering router/history/scroll logic. - const hash = location.hash; - fixups.set(['main'], _elems => { - const stopPropagation = evt => { - evt.stopImmediatePropagation(); - - const props = {}; - const proto = Object.getPrototypeOf(evt); - const propSource = proto === Event.prototype ? {} : proto; - for (const name of Object.getOwnPropertyNames(propSource)) { - if (name !== 'constructor') props[name] = evt[name]; - } - console.log('suppress', evt.type, { __proto__: evt, ...props }); - }; - const stopEvents = types => { - const restorers = types.map(type => { - window.addEventListener(type, stopPropagation, true); - return () => window.removeEventListener(type, stopPropagation, true); - }); - const passEvents = () => { - // Run and drop references to all restore functions. - while (restorers.length > 0) restorers.pop()(); - }; - return passEvents; - }; - - // Navigate to the page itself as a blank slate. - const passStateEvents = stopEvents(['hashchange', 'popstate']); - const passScrollEvents = stopEvents(['scroll']); - location.replace('#'); - - // Restore state-change events, then navigate back to the target. - passStateEvents(); - try { - const target = document.getElementById(decodeURIComponent(hash.slice(1))); - if (target && target.innerHTML.trim() === '') { - document.documentElement.classList.add('scrollingToTarget'); - target.scrollIntoView({ behavior: 'instant' }); - document.documentElement.classList.remove('scrollingToTarget'); - } - } catch (err) { - console.warn(err); - } - location.replace(hash); - - // Restore scroll events and create a new history entry to be overridden - // if the initial target lacks a TOC entry to highlight. - passScrollEvents(); - history.pushState(null, '', hash); - }); - } - - // Poll until all fixups trigger by matching at least one element. - const fixupInterval = setInterval(function() { - for (const [selectors, fixup] of fixups) { - const elems = selectors.map(sel => document.querySelector(sel)); - if (elems.some(el => el)) { - // console.log('fixup', selectors); - fixups.delete(selectors); - Promise.resolve(elems).then(fixup); - } - } - if (!fixups.size) { - clearInterval(fixupInterval); - // console.log('fixups are done'); - } - }, 500); - `, - ], - ], - - plugins: [ - 'check-md', - [ - '@vuepress/last-updated', - { - dateOptions: { - dateStyle: 'medium', - timeStyle: 'long', - timeZone: 'Etc/UTC', - }, - }, - ], - ], - - /* --- DEFAULT THEME CONFIG --- */ - themeConfig: { - sidebarDepth: 1, - lastUpdated: 'Last Updated', - logo: '/logo.svg', - /* --- NAVBAR (top) --- */ - nav, - /* --- SIDEBAR --- */ - // This configuration displays different sidebars for different sections of - // content. Pages must be organized into directories for each desired - // section - - // NOTES: - // Internal links: Must have a corresponding folder with a README.md file - // Links must be absolute with trailing slash '/guide/' - // Trailing slash implies it is looking for a .md file - sidebar: { - '/guides/': [ - { - title: 'Getting Started', - path: '/guides/getting-started/', - collapsible: false, - children: [ - '/guides/getting-started/', - '/guides/getting-started/contract-rpc.html', - '/guides/getting-started/deploying.html', - ], - }, - { - title: 'Zoe', - path: '/guides/zoe/', - collapsible: false, - children: [ - '/guides/zoe/contract-basics.html', - '/guides/zoe/', - '/guides/zoe/contract-upgrade.html', - ], - }, - { - title: 'Agoric CLI', - path: '/guides/agoric-cli/', - collapsible: false, - children: [ - '/guides/agoric-cli/', - '/guides/agoric-cli/agd-query-tx.html', - ], - }, - { - title: 'JavaScript Framework', - path: '/guides/js-programming/', - collapsible: false, - children: [ - '/guides/js-programming/', - '/guides/js-programming/hardened-js.html', - '/guides/js-programming/eventual-send.html', - '/guides/js-programming/far.html', - '/guides/js-programming/notifiers.html', - ], - }, - { - title: 'Wallet', - path: '/guides/wallet/', - collapsible: false, - children: ['/guides/wallet/', '/guides/wallet/ui'], - }, - { - title: 'ERTP', - path: '/guides/ertp/', - collapsible: false, - children: [ - '/guides/ertp/', - '/guides/ertp/amounts.html', - '/guides/ertp/amount-math.html', - '/guides/ertp/issuers-and-mints.html', - '/guides/ertp/purses-and-payments.html', - ], - }, - { - title: 'Permissioned Contract Deployment', - path: '/guides/coreeval/', - collapsible: false, - children: [ - '/guides/coreeval/', - '/guides/coreeval/permissions.html', - '/guides/coreeval/proposal.html', - '/guides/coreeval/local-testnet.html', - ], - }, - { - title: 'Example Zoe Contracts', - path: '/guides/zoe/contracts/', - collapsible: false, - children: [ - '/guides/zoe/contracts/', - '/guides/zoe/contracts/oracle.html', - '/guides/zoe/contracts/vault.html', - '/guides/zoe/contracts/loan.html', - '/guides/zoe/contracts/fundedCallSpread.html', - '/guides/zoe/contracts/pricedCallSpread.html', - '/guides/zoe/contracts/covered-call.html', - '/guides/zoe/contracts/otc-desk.html', - '/guides/zoe/contracts/constantProductAMM.html', - '/guides/zoe/contracts/sell-items.html', - '/guides/zoe/contracts/atomic-swap.html', - '/guides/zoe/contracts/barter-exchange.html', - '/guides/zoe/contracts/second-price-auction.html', - '/guides/zoe/contracts/simple-exchange.html', - '/guides/zoe/contracts/escrow-to-vote.html', - '/guides/zoe/contracts/mint-payments.html', - '/guides/zoe/contracts/mint-and-sell-nfts.html', - '/guides/zoe/contracts/use-obj-example.html', - '/guides/zoe/contracts/automatic-refund.html', - ], - }, - { - title: 'Deployed Zoe Contracts', - path: '/guides/zoe/actual-contracts/', - collapsible: false, - children: [ - '/guides/zoe/actual-contracts/', - '/guides/zoe/actual-contracts/PSM.html', - ], - }, - { - title: 'Agoric Dapps', - path: '/guides/dapps/', - collapsible: false, - children: [ - '/guides/dapps/', - '/guides/dapps/dapp-templates.html', - '/guides/dapps/starting-multiuser-dapps.html', - '/guides/getting-started/deploying.html', - '/guides/getting-started/contract-rpc.html', - ], - }, - { - title: 'Agoric Platform', - path: '/guides/platform/', - collapsible: false, - children: [], - }, - { - title: 'Chainlink Integration', - path: '/guides/chainlink-integration.html', - collapsible: false, - children: [], - }, - { - title: 'SubQuery Indexing', - path: '/guides/subquery-indexing.html', - collapsible: false, - children: [], - }, - ], - '/reference/': [ - { - title: 'Wallet API', - path: '/reference/wallet-api.html', - collapsible: false, - children: [], - }, - { - title: 'ERTP API', - path: '/reference/ertp-api/', - collapsible: false, - children: [ - '/reference/ertp-api/', - '/reference/ertp-api/issuer.html', - '/reference/ertp-api/mint.html', - '/reference/ertp-api/brand.html', - '/reference/ertp-api/purse.html', - '/reference/ertp-api/payment.html', - '/reference/ertp-api/amount-math.html', - '/reference/ertp-api/ertp-data-types.html', - ], - }, - { - title: 'REPL API', - path: '/reference/repl/', - collapsible: false, - children: [ - '/reference/repl/', - '/reference/repl/timerServices.html', - '/reference/repl/board.html', - '/reference/repl/networking.html', - '/reference/repl/priceAuthority.html', - '/reference/repl/scratch.html', - ], - }, - { - title: 'Zoe API', - path: '/reference/zoe-api/', - collapsible: false, - children: [ - '/reference/zoe-api/', - '/reference/zoe-api/zoe.html', - '/reference/zoe-api/user-seat.html', - '/reference/zoe-api/zoe-contract-facet.html', - '/reference/zoe-api/zcfseat.html', - '/reference/zoe-api/zcfmint.html', - '/reference/zoe-api/price-authority.html', - '/reference/zoe-api/zoe-helpers.html', - '/reference/zoe-api/ratio-math.html', - '/reference/zoe-api/zoe-data-types.html', - ], - }, - ], - }, - docsRepo: 'Agoric/documentation', - // if your docs are not at the root of the repo: - docsDir: 'main', - // if your docs are in a specific branch (defaults to 'master'): - docsBranch: 'main', - // defaults to false, set to true to enable - editLinks: true, - // custom text for edit link. Defaults to "Edit this page" - editLinkText: 'Help us improve this page!', - - zoeVersion: 'v0.24.0', - zoeDocsUpdated: 'August 25, 2022', - - /* --- SEARCH --- */ - // Comes with built-in search functionality which builds its index from the - // h1, h2, and h3 headers - // Disable search by uncommenting the following line: - // search: false - // Customize how many suggestions will be shown with: - // searchMaxSuggestions: - }, -}; diff --git a/main/.vuepress/enhanceApp.js b/main/.vuepress/enhanceApp.js deleted file mode 100644 index 41f2d513a..000000000 --- a/main/.vuepress/enhanceApp.js +++ /dev/null @@ -1,128 +0,0 @@ -function isRouteExists(router, path) { - const pathLower = path.toLowerCase(); - return router.options.routes.some( - route => route.path.toLowerCase() === pathLower, - ); -} - -// Extracted from https://github.com/vuejs/vuepress/issues/3142 -function patchRoutesToPreserveFragments(router) { - router.beforeHooks = []; - router.beforeEach((to, from, next) => { - if (isRouteExists(router, to.path)) { - next(); - } else if (!/(\/|\.html)$/.test(to.path)) { - const endingSlashUrl = `${to.path}/`; - const endingHtmlUrl = `${to.path}.html`; - if (isRouteExists(router, endingHtmlUrl)) { - next({ - ...to, - path: endingHtmlUrl, - }); - } else if (isRouteExists(router, endingSlashUrl)) { - next({ - ...to, - path: endingSlashUrl, - }); - } else { - next(); - } - } else if (/\/$/.test(to.path)) { - const endingHtmlUrl = `${to.path.replace(/\/$/, '')}.html`; - if (isRouteExists(router, endingHtmlUrl)) { - next({ - ...to, - path: endingHtmlUrl, - }); - } else { - next(); - } - } else { - next(); - } - }); -} - -// The router assumes everything is site-local, so manually implement external redirection -// to avoid Not Found URLs like 'https://docs.agoric.com/https:/github.com/...'. -// cf. https://github.com/vuejs/vue-router/issues/1280 and -// https://stackoverflow.com/questions/62254666/use-vue-router-for-redirecting-to-absolute-path -const makeExternalRedirect = target => { - const externalRedirect = () => { - location.assign(target); - }; - return externalRedirect; -}; - -const isPathPrefix = (prefix, fullPath) => { - const trimmedPrefix = prefix.replace(/\/+$/, ''); - if (!fullPath.startsWith(trimmedPrefix)) { - return false; - } - if (fullPath.length === prefix.length || fullPath[trimmedPrefix.length] === '/') { - return true; - } - // As a special case, allow /path/to/resource to match /path/to/resource.html - return fullPath.slice(prefix.length).toLowerCase() === '.html'; -}; - -export default ({ router }) => { - patchRoutesToPreserveFragments(router); - - const redirects = [ - { path: '/chainlink-integration', redirect: '/guides/chainlink-integration/' }, - { path: '/dapps', redirect: '/guides/dapps/' }, - { path: '/distributed-programming', redirect: '/guides/js-programming/' }, - { path: '/ertp/api', redirect: '/reference/ertp-api/' }, - { path: '/ertp/guide', redirect: '/guides/ertp/' }, - { path: '/getting-started/agoric-cli-guide', redirect: '/guides/agoric-cli/' }, - { path: '/getting-started/before-using-agoric', redirect: '/guides/getting-started/' }, - { path: '/getting-started/beta', redirect: '/guides/getting-started/' }, - { path: '/getting-started/intro-zoe', redirect: '/guides/zoe/offer-enforcement/' }, - { path: '/getting-started/start-a-project', redirect: '/guides/getting-started/start-a-project/' }, - { path: '/guides/agoric-cli/commands', redirect: '/guides/agoric-cli/' }, - { path: '/guides/js-programming/ses/lockdown', redirect: makeExternalRedirect('https://github.com/endojs/endo/blob/master/packages/ses/docs/lockdown.md') }, - { path: '/guides/js-programming/ses/ses-guide', redirect: makeExternalRedirect('https://github.com/endojs/endo/blob/master/packages/ses/docs/guide.md') }, - { path: '/guides/js-programming/ses/ses-reference', redirect: makeExternalRedirect('https://github.com/endojs/endo/blob/master/packages/ses/docs/reference.md') }, - { path: '/guides/wallet/api', redirect: '/reference/wallet-api/' }, - { path: '/platform', redirect: '/guides/platform/' }, - { path: '/repl', redirect: '/reference/repl/' }, - { path: '/wallet-api', redirect: '/guides/wallet/' }, - { path: '/zoe/api', redirect: '/reference/zoe-api/' }, - { path: '/zoe/guide', redirect: '/guides/zoe/' }, - ].map(redirect => ({ ...redirect, path: redirect.path.replace(/\.html$/i, '') })); - - // Define exact-match redirect routes. - redirects.forEach(redirect => { - router.addRoute(redirect); - }); - - // Also redirect subpaths. - router.beforeEach((to, from, next) => { - const done = (...args) => { next(...args); }; - const target = to.path; - const prefixRedirects = redirects.filter(redirect => isPathPrefix(redirect.path, target)); - if (prefixRedirects.length === 0) { - // There is no covering redirect. - return done(); - } else if (prefixRedirects.some(redirect => redirect.path === target)) { - // There is an exact-match covering redirect. - return done(); - } - // Apply the longest-path covering redirect. - prefixRedirects.sort((a, b) => b.path.length - a.path.length); - const match = prefixRedirects[0]; - if (!target.startsWith(match.path)) { - console.error('unexpected covering redirect', { to, redirect }); - return done(); - } - if (typeof match.redirect === 'function') { - return done(match.redirect(to)); - } - const trimmedPrefix = match.path.replace(/\/+$/, ''); - const trimmedReplacementPrefix = match.redirect.replace(/\/+$/, ''); - const targetSuffix = target.slice(trimmedPrefix.length).replace(/\.html$/i, '/'); - const newPath = trimmedReplacementPrefix + targetSuffix; - return done({ ...to, path: newPath }); - }); -} diff --git a/main/README.md b/main/README.md deleted file mode 100644 index 086df4c88..000000000 --- a/main/README.md +++ /dev/null @@ -1,111 +0,0 @@ ---- -#### -# YAML section setting up the home page -# run `yarn docs:dev` at any time to start local dev server and access -# website at localhost:8080 by default -#### -home: false -footer: Apache-2.0 Licensed | Copyright © 2023 - Agoric ---- - -
- Receive our latest tutorials, webinar invites, and much more! Join our newsletter -
- -
- - -
- -
- - -
- -
- -

- Learn the basics of HardenedJS -

- It's JavaScript with the safety you expect - see why MetaMask uses it to safely run their Snaps technology for 30M+ customers. -

- See the safety properties of our Zoe Framework -

- From Offer Safety to the POLA, the Zoe Framework protects devs (and users) while writing your smart contract logic. -
- -
- - -
- -
-
- -
- - -
diff --git a/main/glossary/README.md b/main/glossary/index.md similarity index 91% rename from main/glossary/README.md rename to main/glossary/index.md index 34ed95bee..713c5f077 100644 --- a/main/glossary/README.md +++ b/main/glossary/index.md @@ -50,8 +50,8 @@ sword. They don't send you the actual 5 Quatloos; that only happens when there i trade terms and they send you a payment, not an amount, of 5 Quatloos, the actual asset. Creating a new `amount` does **not** create new assets. -For more information, see the [ERTP documentation's Amounts section](/guides/ertp/amounts.md) -and the [ERTP API's AmountMath section](/reference/ertp-api/amount-math.md). +For more information, see the [ERTP documentation's Amounts section](/guides/ertp/amounts) +and the [ERTP API's AmountMath section](/reference/ertp-api/amount-math). ## AmountMath @@ -78,8 +78,8 @@ five tickets is performed by set union rather than by arithmetic. of [Key](#key) values subject to the same constraints as those of `AssetKind.COPY_SET` but allowed to be present more than once. -For more information, see the [ERTP documentation's AmountMath section](/guides/ertp/amount-math.md) -and the [ERTP API's AmountMath section](/reference/ertp-api/amount-math.md). +For more information, see the [ERTP documentation's AmountMath section](/guides/ertp/amount-math) +and the [ERTP API's AmountMath section](/reference/ertp-api/amount-math). ## AmountValue @@ -88,9 +88,9 @@ An AmountValue is the part of an [Amount](#amount) that describes the value of s that can be owned or shared: how much, how many, or a description of a unique asset, such as $3, Pixel(3,2), or “Seat J12 for the show September 27th at 9:00pm”. For a [fungible](#fungible) Amount, the AmountValue is usually a non-negative **BigInt** such as `10n` or `137n`. -For a [non-fungible](#non-fungible) Amount, the AmountValue might be a [CopySet](/guides/js-programming/far.md#pass-styles-and-harden) containing strings naming particular rights or objects representing the rights directly. +For a [non-fungible](#non-fungible) Amount, the AmountValue might be a [CopySet](/guides/js-programming/far#pass-styles-and-harden) containing strings naming particular rights or objects representing the rights directly. -For more information, see the [ERTP documentation's AmountValue section](/guides/ertp/amounts.md#amountvalues). +For more information, see the [ERTP documentation's AmountValue section](/guides/ertp/amounts#amountvalues). ## AssetHolder @@ -99,9 +99,9 @@ digital assets in the quantity specified by an [amount](#amount). ## BigInt -In [ERTP AmountMath](/guides/ertp/amount-math.md), we use the JavaScript [BigInt](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt) type for the `value` of fungible amounts in order to avoid overflow risks from using the usual JavaScript `Number` type. +In [ERTP AmountMath](/guides/ertp/amount-math), we use the JavaScript [BigInt](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt) type for the `value` of fungible amounts in order to avoid overflow risks from using the usual JavaScript `Number` type. -[Timer Services](/reference/repl/timerServices.md) also use `BigInt` for absolute and relative times. +[Timer Services](/reference/repl/timerServices) also use `BigInt` for absolute and relative times. `BigInt`s are written with an `n` suffix: `0n`, `1n`, `2n`, ... or created with `BigInt("123")` or `BigInt(123)`. @@ -122,8 +122,8 @@ appropriate for an object, do not use the board to communicate access to it. Identifies the type of [issuer](#issuer), such as "[Quatloos](#quatloos)", "[Moola](#moola)", etc. Brands are one of the two elements that make up an [amount](#amount). -For more information, see the [ERTP documentation's Brand section](/guides/ertp/amounts.md#brands) -and the [ERTP API's Brand section](/reference/ertp-api/brand.md). +For more information, see the [ERTP documentation's Brand section](/guides/ertp/amounts#brands) +and the [ERTP API's Brand section](/reference/ertp-api/brand). ## Bundle @@ -150,7 +150,7 @@ unzip bundle.zip Destroy digital assets. Burning a [payment](#payment) additionally makes it unavailable for later use. See -[anIssuer.burn()](/reference/ertp-api/issuer.md#anissuer-burn-payment-optamount). +[anIssuer.burn()](/reference/ertp-api/issuer#anissuer-burn-payment-optamount). ## Comparable @@ -173,7 +173,7 @@ If they have ten houses for sale, they have ten different contract instances. A [hardened](#harden) acyclic array in which each element is [passable](#passable), such as `harden(['foo', 'bar'])`. For more information, see the -[Marshaling section in the JavaScript Distributed Programming Guide](/guides/js-programming/far.md#marshaling-by-copy-or-by-presence). +[Marshaling section in the JavaScript Distributed Programming Guide](/guides/js-programming/far#marshaling-by-copy-or-by-presence). ## CopyRecord @@ -181,11 +181,11 @@ A [hardened](#harden) acyclic plain object [dictionary](https://en.wikipedia.org in which each key is a string and each value is [passable](#passable), such as `harden({ keys: [0, 1], values: ['foo', 'bar'] })`. For more information, see the -[Marshaling section in the JavaScript Distributed Programming Guide](/guides/js-programming/far.md#marshaling-by-copy-or-by-presence). +[Marshaling section in the JavaScript Distributed Programming Guide](/guides/js-programming/far#marshaling-by-copy-or-by-presence). ## Creator Invitation -An [invitation](#invitation) optionally returned by [`E(zoe).startInstance(...)`](/reference/zoe-api/zoe.md#e-zoe-startinstance-installation-issuerkeywordrecord-terms-privateargs) that the contract instance +An [invitation](#invitation) optionally returned by [`E(zoe).startInstance(...)`](/reference/zoe-api/zoe#e-zoe-startinstance-installation-issuerkeywordrecord-terms-privateargs) that the contract instance creator can use. It is usually used in contracts where the creator immediately sells something (auctions, swaps, etc.). @@ -207,7 +207,7 @@ in another vat, machine, or blockchain. It takes as its argument either a local or a [presence](#presence) for a remote object or a promise for a local or remote object, and sends messages to the object using normal message-sending syntax. The local proxy forwards all messages to the remote object to deal with. All `E()` calls return a promise for the eventual result. For more detail, see -the [`E()` section in the Distributed JavaScript page](/guides/js-programming/eventual-send.md). +the [`E()` section in the Distributed JavaScript page](/guides/js-programming/eventual-send). ## Endo @@ -257,7 +257,7 @@ See [`E()`](#e) above. ## Exit Rule An object specifying how an [offer](#offer) can be cancelled, such as on demand or by a deadline. -For details, see [`E(zoe).offer(...)`](/reference/zoe-api/zoe.md#proposals). +For details, see [`E(zoe).offer(...)`](/reference/zoe-api/zoe#proposals). ## Facet @@ -312,7 +312,7 @@ For more details, see [What developers need to know about inter-blockchain commu A [payment](#payment) whose amount represents (and is required for) participation in a contract instance. Contracts often return a creator invitation on their instantiation, in case the contract instantiator wants to immediately participate. Otherwise, the contract instance must create any additional invitations. -Every [offer](#offer) to participate in a contract instance must include an invitation to that instance in the first argument to [`E(zoe).offer(...)`](/reference/zoe-api/zoe.md#e-zoe-offer-invitation-proposal-paymentpkeywordrecord-offerargs), and any wallet receiving one will validate it via the [InvitationIssuer](#invitationissuer). +Every [offer](#offer) to participate in a contract instance must include an invitation to that instance in the first argument to [`E(zoe).offer(...)`](/reference/zoe-api/zoe#e-zoe-offer-invitation-proposal-paymentpkeywordrecord-offerargs), and any wallet receiving one will validate it via the [InvitationIssuer](#invitationissuer). An invitation's [amount](#amount) includes the following properties: - The contract's installation in Zoe, including access to its source code. @@ -346,8 +346,8 @@ payments of their asset type (splitting, combining, burning, and exclusively cla payments). An issuer from a trusted source can determine if an untrusted payment of its asset type is valid. -For more information, see the [ERTP documentation's Issuer section](/guides/ertp/issuers-and-mints.md) -and the [ERTP API's Issuer section](/reference/ertp-api/issuer.md). +For more information, see the [ERTP documentation's Issuer section](/guides/ertp/issuers-and-mints) +and the [ERTP API's Issuer section](/reference/ertp-api/issuer). ## Key @@ -363,7 +363,7 @@ Keys can be used as elements of CopySets and CopyBags and as keys of CopyMaps (s A *Keyword* is a string that is an ASCII-only [identifier](https://developer.mozilla.org/en-US/docs/Glossary/Identifier), starts with an upper case letter, and is not equal to "NaN" or "Infinity". -See **[Zoe Data Types](/reference/zoe-api/zoe-data-types.md#keyword)**. +See **[Zoe Data Types](/reference/zoe-api/zoe-data-types#keyword)**. ## Mint @@ -386,9 +386,9 @@ They interact with Purses, Payments, Brands, and Issuers in the same ways. ZCFMints and ERTP mints do **not** have the same methods. Do not try to use ERTP methods on a ZCFMint or vice versa. However, issuers and brands associated with either an ERTP mint or a ZCFMint are the same concepts and have the same methods. -For more information on ERTP mints, see the [ERTP documentation's Mint section](/guides/ertp/issuers-and-mints.md) -and the [ERTP API's Mint section](/reference/ertp-api/mint.md). For more information about ZCFMints, -see the [ZCF API `zcf.makeZCFMint()`](/reference/zoe-api/zoe-contract-facet.md#zcf-makezcfmint-keyword-assetkind-displayinfo). +For more information on ERTP mints, see the [ERTP documentation's Mint section](/guides/ertp/issuers-and-mints) +and the [ERTP API's Mint section](/reference/ertp-api/mint). For more information about ZCFMints, +see the [ZCF API `zcf.makeZCFMint()`](/reference/zoe-api/zoe-contract-facet#zcf-makezcfmint-keyword-assetkind-displayinfo). ## Moola @@ -405,7 +405,7 @@ as they are not interchangeable (and may have different prices). See also [fungi ## Notifier A notifier provides a stream of updates describing changes to the state of an [offer](#offer) or other object. -For more information, see [Notifiers and Subscriptions](/guides/js-programming/notifiers.md). +For more information, see [Notifiers and Subscriptions](/guides/js-programming/notifiers). ## Object Capabilities @@ -436,7 +436,7 @@ to the amount in the proposal they're willing to give. The payments are automati according to the contract code. An offer gets a [payout](#payout) of some combination of what the party originally contributed and what others have contributed. The specific payout is determined by the contract code. -See [Offers](/guides/zoe/proposal.md). +See [Offers](/guides/zoe/proposal). ## Offer Safety @@ -455,15 +455,15 @@ Passables also include [CopyArrays](#copyarray) and [CopyRecords](#copyrecord), recursively terminate in non-container passables. For more information, see the -[Marshaling section in the JavaScript Distributed Programming Guide](/guides/js-programming/far.md#marshaling-by-copy-or-by-presence). +[Marshaling section in the JavaScript Distributed Programming Guide](/guides/js-programming/far#marshaling-by-copy-or-by-presence). ## Payment Payments hold assets created by [mints](#mint), specifically assets intended for transfer from one party to another. All assets of a payment are of the same [brand](#brand). -For more information, see the [ERTP documentation's Payments section](/guides/ertp/purses-and-payments.md#payments) -and the [ERTP API's Payments section](/reference/ertp-api/payment.md). +For more information, see the [ERTP documentation's Payments section](/guides/ertp/purses-and-payments#payments) +and the [ERTP API's Payments section](/reference/ertp-api/payment). ## Payout @@ -503,15 +503,15 @@ const myProposal = harden({ ``` `give` and `want` each associate [Keywords](#keyword) defined by the contract with corresponding [Amounts](#amount) describing respectively what will be given and what is being requested in exchange. -See [Offers](/guides/zoe/proposal.md). +See [Offers](/guides/zoe/proposal). ## Purse A purse holds [amounts](#amount) of assets issued by a particular [mint](#mint) that are all of the same [brand](#brand), often for arbitrarily long periods of time. When transfer is desired, a purse can move part of its held balance to a [payment](#payment). -For more information, see the [ERTP documentation's Purses section](/guides/ertp/purses-and-payments.md#purses-and-payments) and the -[ERTP API's Purses section](/reference/ertp-api/purse.md). +For more information, see the [ERTP documentation's Purses section](/guides/ertp/purses-and-payments#purses-and-payments) and the +[ERTP API's Purses section](/reference/ertp-api/purse). ## Quatloos @@ -528,13 +528,13 @@ current allocation as a [payout](#payout). Zoe uses a seat to represent an [offer](#offer) in progress, and has two seat [facets](#facet) representing two views of the same seat; a `ZCFSeat` and a `UserSeat`. The `UserSeat` is returned to the user who made an offer, and can check [payout](#payout) status or retrieve their results. The `ZCFSeat` is the argument passed to -the `offerHandler` in the contract code. It is used within contracts and with [`zcf` methods](/reference/zoe-api/zoe-contract-facet.md). +the `offerHandler` in the contract code. It is used within contracts and with [`zcf` methods](/reference/zoe-api/zoe-contract-facet). The two seat facets have slightly different methods but represent the same seat and offer in progress. The term comes from the expression "having a seat at the table" with regards to participating in a negotiation. -For more details, see the [ZCFSeat documentation](/reference/zoe-api/zcfseat.md) and -the [UserSeat documentation](/reference/zoe-api/user-seat.md). +For more details, see the [ZCFSeat documentation](/reference/zoe-api/zcfseat) and +the [UserSeat documentation](/reference/zoe-api/user-seat). ## Semi-fungible @@ -556,7 +556,7 @@ An imaginary currency Agoric documentation uses in examples. ## Terms -Contract instances have associated terms, gotten via [`E(zoe).getTerms(instance)`](/reference/zoe-api/zoe.md#e-zoe-getterms-instance), +Contract instances have associated terms, gotten via [`E(zoe).getTerms(instance)`](/reference/zoe-api/zoe#e-zoe-getterms-instance), which include the instance's associated [issuers](#issuer), [brands](#brand), and any custom terms. For example, you might have a general auction contract. When someone instantiates it, they provide terms applicable only to that instance. For some instances of @@ -584,7 +584,7 @@ See the [Wallet Guide and API](/guides/wallet/). *ZCF (Zoe Contract Facet)* is the [facet](#facet) of Zoe exposed to contract code. The Zoe Contract Facet methods can be called synchronously by contract code. -See the [ZCF API](/reference/zoe-api/zoe-contract-facet.md). +See the [ZCF API](/reference/zoe-api/zoe-contract-facet). ## ZCFMint @@ -593,8 +593,8 @@ See [Mint](#mint). ## Zoe Helpers A set of API helper methods for writing contracts. These methods extract common contract code and -patterns into reusable helpers. See the [Zoe Helpers API](/reference/zoe-api/zoe-helpers.md). +patterns into reusable helpers. See the [Zoe Helpers API](/reference/zoe-api/zoe-helpers). ## Zoe Service -A set of API methods for deploying and working with smart contracts. See [Zoe Service API](/reference/zoe-api/zoe.md). +A set of API methods for deploying and working with smart contracts. See [Zoe Service API](/reference/zoe-api/zoe). diff --git a/main/guides/agoric-cli/README.md b/main/guides/agoric-cli/index.md similarity index 100% rename from main/guides/agoric-cli/README.md rename to main/guides/agoric-cli/index.md diff --git a/main/guides/assets/README.md b/main/guides/assets/index.md similarity index 100% rename from main/guides/assets/README.md rename to main/guides/assets/index.md diff --git a/main/guides/chainlink-integration.md b/main/guides/chainlink-integration.md index 1123bacc9..17ec863c0 100644 --- a/main/guides/chainlink-integration.md +++ b/main/guides/chainlink-integration.md @@ -8,7 +8,7 @@ actually on-chain. Using Chainlink on Agoric provides two main features: - Price feeds are exposed on Agoric via the on-chain `home.priceAuthority`. This is an - officially-sponsored [price authority](/guides/zoe/price-authority.md) built + officially-sponsored [price authority](/guides/zoe/price-authority) built from aggregating several Chainlink nodes. - [Chainlink's Any API](https://docs.chain.link/docs/request-and-receive-data) can initiate a job on a single oracle and return its results @@ -21,7 +21,7 @@ software](https://github.com/Agoric/dapp-oracle/blob/HEAD/chainlink-agoric/READM ## Price Authority To test your contract against a locally-simulated price authority, just follow -the instructions in [the Price Authority API](/reference/zoe-api/price-authority.md). +the instructions in [the Price Authority API](/reference/zoe-api/price-authority). To use the curated on-chain price authority, see `home.priceAuthority`. For example, to get a quote for selling `30 Testnet.$LINK` in `Testnet.$USD`: @@ -40,7 +40,7 @@ const { quoteAmount: { value: [{ amountOut: usdAmount, timestamp }] } } = await ## Any API To use Chainlink's Any API, you need to get an instance of the -[Low-level Oracle Query Contract](/guides/zoe/contracts/oracle.md) and submit a +[Low-level Oracle Query Contract](/guides/zoe/contracts/oracle) and submit a query of the form: ```js diff --git a/main/guides/coreeval/README.md b/main/guides/coreeval/index.md similarity index 88% rename from main/guides/coreeval/README.md rename to main/guides/coreeval/index.md index eaaf13a05..a39c64caf 100644 --- a/main/guides/coreeval/README.md +++ b/main/guides/coreeval/index.md @@ -9,6 +9,6 @@ if such a proposal passes, its JavaScript code is run with ocaps extracted using To do try it out in a local testnet chain: -1. [Declare the capabilities that the proposal will require](./permissions.md). -2. [Code the proposal itself](./proposal.md). -3. [Deploy the proposal to a local testnet](./local-testnet.md). +1. [Declare the capabilities that the proposal will require](./permissions). +2. [Code the proposal itself](./proposal). +3. [Deploy the proposal to a local testnet](./local-testnet). diff --git a/main/guides/coreeval/permissions.md b/main/guides/coreeval/permissions.md index bc80e4593..55d41d75b 100644 --- a/main/guides/coreeval/permissions.md +++ b/main/guides/coreeval/permissions.md @@ -66,10 +66,10 @@ general interest to most contracts, while others are more specific to the PSM co * **agoricNamesAdmin**: Grants write access to the Agoric name service. This permission is somewhat specific to the PSM contract. * **bankManager**: Grants access to bank-related functionality within ERTP, allowing the contract to manipulate nearly all Cosmos assets in the chain. Because this capability is very powerful, this permission should only be granted to contracts that absolutely need it. -* **board**: Grants write access to the [board name service](/guides/wallet/README.md#the-agoric-board). +* **board**: Grants write access to the [board name service](/guides/wallet/index#the-agoric-board). * **chainStorage**: Grants write access to the chain storage node, which is required when running `agd query` commands. Thus, most contracts will need access to this. * **zoe**: When this permission is set, it grants access to the Zoe framework. All contracts will need access to this. -* **feeMintAccess**: When this permission is set, the contract will be able to create digital assets. Only contracts that mint privileged Agoric digital assets (i.e., not the unprivileged **[zcf.makeZCFMint()](/reference/zoe-api/zoe-contract-facet.md#zcf-makezcfmint-keyword-assetkind-displayinfo)**) will need access to this. +* **feeMintAccess**: When this permission is set, the contract will be able to create digital assets. Only contracts that mint privileged Agoric digital assets (i.e., not the unprivileged **[zcf.makeZCFMint()](/reference/zoe-api/zoe-contract-facet#zcf-makezcfmint-keyword-assetkind-displayinfo)**) will need access to this. * **economicCommitteeCreatorFacet**, **econCharterKit**, **provisionPoolStartResult**: These 3 permissions are required by governed contracts. * **chainTimerService**: When this permission is set, it grants access to the *chainTimerService*. All governed contracts need access to this so they know when a vote is complete. @@ -89,8 +89,8 @@ Specifies what instances, if any, the contract produces or consumes. ## Issuer Section -Specifies what **[Issuers](/reference/ertp-api/issuer.md)**, if any, the contract produces or consumes. +Specifies what **[Issuers](/reference/ertp-api/issuer)**, if any, the contract produces or consumes. ## Brand Section -Specifies what **[Brands](/reference/ertp-api/brand.md)**, if any, the contract produces or consumes. \ No newline at end of file +Specifies what **[Brands](/reference/ertp-api/brand)**, if any, the contract produces or consumes. diff --git a/main/guides/coreeval/proposal.md b/main/guides/coreeval/proposal.md index 059363b30..eaf59b2e0 100644 --- a/main/guides/coreeval/proposal.md +++ b/main/guides/coreeval/proposal.md @@ -4,7 +4,7 @@ You will need to write a proposal script that runs the contract, and possibly do depending on your needs. (Usually these additional things will be dependent on a governance vote.) For example, [gov-add-psm.js](https://github.com/Agoric/agoric-sdk/blob/master/packages/inter-protocol/test/psm/gov-add-psm.js) is a proposal Agoric created for the PSM contract. It executes in an environment with globals such as -**[E](../js-programming/eventual-send.md)** and **[Far](../js-programming/far.md#far-api)** provided. +**[E](../js-programming/eventual-send)** and **[Far](../js-programming/far#far-api)** provided. ::: details Show example proposal ```jsx diff --git a/main/guides/dapps/README.md b/main/guides/dapps/index.md similarity index 100% rename from main/guides/dapps/README.md rename to main/guides/dapps/index.md diff --git a/main/guides/ertp/amount-math.md b/main/guides/ertp/amount-math.md index b0ef3fa0f..1d8514ab4 100644 --- a/main/guides/ertp/amount-math.md +++ b/main/guides/ertp/amount-math.md @@ -12,7 +12,7 @@ There are two `AssetKinds`, each of which implements the same methods. Which kin for a particular `brand` depends on what was specified when the `brand` and its `issuer` were created. They are: - `AssetKind.NAT` ("nat"): Used with fungible assets. Values are natural numbers using the JavaScript [BigInt](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt) type to avoid overflow risks from using the usual JavaScript `Number` type. -- `AssetKind.SET` ("set"): Used with non-fungible assets. Values are [copyArray](../js-programming/far.md#passstyleof-api)s such as hardened arrays of strings. +- `AssetKind.SET` ("set"): Used with non-fungible assets. Values are [copyArray](../js-programming/far#passstyleof-api)s such as hardened arrays of strings. ## AmountMath Methods The following is a brief description and example of each `AmountMath` method. For @@ -24,66 +24,66 @@ optional. Where optional, use the `brand` you got from an issuer (or from Zoe) to add verification that the `brand` of "amount" argument(s) corresponds with that `brand`. - **Information Getting Methods** - - [AmountMath.getValue(brand, amount)](/reference/ertp-api/amount-math.md#amountmath-getvalue-brand-amount) + - [AmountMath.getValue(brand, amount)](/reference/ertp-api/amount-math#amountmath-getvalue-brand-amount) - Returns the `value` of the `amount` argument. For fungible assets, this will be a `BigInt`. - - <<< @/snippets/ertp/guide/test-amount-math.js#getValue + - <<< @/../snippets/ertp/guide/test-amount-math.js#getValue - **Comparison Methods** - - [AmountMath.isEmpty(amount, brand?)](/reference/ertp-api/amount-math.md#amountmath-isempty-amount-brand) + - [AmountMath.isEmpty(amount, brand?)](/reference/ertp-api/amount-math#amountmath-isempty-amount-brand) - Returns `true` if its `amount` argument is empty, otherwise `false`. Throws an error if the optional `brand` argument isn't the same as the `amount` argument brand. - - <<< @/snippets/ertp/guide/test-amount-math.js#isEmpty - - [AmountMath.isGTE(leftAmount, rightAmount, brand?)](/reference/ertp-api/amount-math.md#amountmath-isgte-leftamount-rightamount-brand) + - <<< @/../snippets/ertp/guide/test-amount-math.js#isEmpty + - [AmountMath.isGTE(leftAmount, rightAmount, brand?)](/reference/ertp-api/amount-math#amountmath-isgte-leftamount-rightamount-brand) - Returns `true` if the `leftAmount` argument is greater than or equal to the `rightAmount` argument, otherwise `false`. Throws an error if the optional `brand` argument isn't the same as the `amount` arguments brands. - - <<< @/snippets/ertp/guide/test-amount-math.js#isGTE - - [AmountMath.isEqual(leftAmount, rightAmount, brand?)](/reference/ertp-api/amount-math.md#amountmath-isequal-leftamount-rightamount-brand) + - <<< @/../snippets/ertp/guide/test-amount-math.js#isGTE + - [AmountMath.isEqual(leftAmount, rightAmount, brand?)](/reference/ertp-api/amount-math#amountmath-isequal-leftamount-rightamount-brand) - Returns `true` if the `leftAmount` argument equals the `rightAmount` argument. Throws an error if the optional `brand` argument isn't the same as the `amount` arguments brands. - - <<< @/snippets/ertp/guide/test-amount-math.js#isEqual - - [AmountMath.coerce(brand, allegedAmount)](/reference/ertp-api/amount-math.md#amountmath-coerce-brand-allegedamount) + - <<< @/../snippets/ertp/guide/test-amount-math.js#isEqual + - [AmountMath.coerce(brand, allegedAmount)](/reference/ertp-api/amount-math#amountmath-coerce-brand-allegedamount) - Takes an `amount` and returns it if it's a valid `amount`. If invalid, it throws an error. - - <<< @/snippets/ertp/guide/test-amount-math.js#coerce + - <<< @/../snippets/ertp/guide/test-amount-math.js#coerce - **Manipulator Methods** - - [AmountMath.add(leftAmount, rightAmount, brand?)](/reference/ertp-api/amount-math.md#amountmath-add-leftamount-rightamount-brand) + - [AmountMath.add(leftAmount, rightAmount, brand?)](/reference/ertp-api/amount-math#amountmath-add-leftamount-rightamount-brand) - Returns an `amount` that is the union of the `leftAmount` and `rightAmount` `amount` arguments. For a fungible `amount`, this means add their values. For a non-fungible `amount`, it usually means including all elements from both `leftAmount` and `rightAmount`. Throws an error if the optional `brand` argument isn't the same as the `amount` arguments brands. - - <<< @/snippets/ertp/guide/test-amount-math.js#add - - [AmountMath.subtract(leftAmount, rightAmount, brand?)](/reference/ertp-api/amount-math.md#amountmath-subtract-leftamount-rightamount-brand) + - <<< @/../snippets/ertp/guide/test-amount-math.js#add + - [AmountMath.subtract(leftAmount, rightAmount, brand?)](/reference/ertp-api/amount-math#amountmath-subtract-leftamount-rightamount-brand) - Returns a new `amount` that is the `leftAmount` argument minus the `rightAmount` argument (i.e., for strings or objects everything in `leftAmount` not in `rightAmount`). If `leftAmount` doesn't include the contents of `rightAmount`, it throws an error. It also throws an error if the optional `brand` argument isn't the same as the `amount` arguments brands. - - <<< @/snippets/ertp/guide/test-amount-math.js#subtract + - <<< @/../snippets/ertp/guide/test-amount-math.js#subtract - **Amount Creation Methods** - - [AmountMath.make(brand, allegedValue)](/reference/ertp-api/amount-math.md#amountmath-make-brand-allegedvalue) + - [AmountMath.make(brand, allegedValue)](/reference/ertp-api/amount-math#amountmath-make-brand-allegedvalue) - Takes a `value` argument and returns an `amount` by making a record with the `value` and the `brand` associated with the `AmountMath`. The `value` argument should be represented as a `BigInt` e.g. `10n` rather than `10`. - - <<< @/snippets/ertp/guide/test-amount-math.js#make - - [AmountMath.makeEmpty(brand, assetKind)](/reference/ertp-api/amount-math.md#amountmath-makeempty-brand-assetkind) + - <<< @/../snippets/ertp/guide/test-amount-math.js#make + - [AmountMath.makeEmpty(brand, assetKind)](/reference/ertp-api/amount-math#amountmath-makeempty-brand-assetkind) - Returns an `amount` representing an empty `amount`, which is the identity element for the `AmountMath` `add()` and `subtract()` operations. Note that this value varies depending on the `brand` and whether it is of kind `AssetKind.NAT` or `AssetKind.SET`. - - <<< @/snippets/ertp/guide/test-amount-math.js#makeEmpty - - [AmountMath.makeEmptyFromAmount(amount)](/reference/ertp-api/amount-math.md#amountmath-makeemptyfromamount-amount) + - <<< @/../snippets/ertp/guide/test-amount-math.js#makeEmpty + - [AmountMath.makeEmptyFromAmount(amount)](/reference/ertp-api/amount-math#amountmath-makeemptyfromamount-amount) - Returns an `amount` representing an empty `amount`, using another `amount` as the template for the new empty amount's `brand` and `assetKind`. - - <<< @/snippets/ertp/guide/test-amount-math.js#makeEmptyFromAmount + - <<< @/../snippets/ertp/guide/test-amount-math.js#makeEmptyFromAmount ## Methods On Other Objects -These methods return an **[AssetKind](/reference/ertp-api/ertp-data-types.md#assetkind)**: -- [anIssuer.getAssetKind()](/reference/ertp-api/issuer.md#anissuer-getassetkind) +These methods return an **[AssetKind](/reference/ertp-api/ertp-data-types#assetkind)**: +- [anIssuer.getAssetKind()](/reference/ertp-api/issuer#anissuer-getassetkind) - Returns the `AssetKind` of the `issuer`'s `brand`. (`AssetKind.NAT` or `AssetKind.SET`). - - <<< @/snippets/ertp/guide/test-amount-math.js#getAssetKind2 -- [zcf.getAssetKind(brand)](/reference/zoe-api/zoe-contract-facet.md#zcf-getassetkind-brand) + - <<< @/../snippets/ertp/guide/test-amount-math.js#getAssetKind2 +- [zcf.getAssetKind(brand)](/reference/zoe-api/zoe-contract-facet#zcf-getassetkind-brand) - Returns the `AssetKind` of the `brand` argument. - - <<< @/snippets/ertp/guide/test-amount-math.js#zcfGetAssetKind + - <<< @/../snippets/ertp/guide/test-amount-math.js#zcfGetAssetKind diff --git a/main/guides/ertp/amounts.md b/main/guides/ertp/amounts.md index 07e9fd2eb..58b09c19d 100644 --- a/main/guides/ertp/amounts.md +++ b/main/guides/ertp/amounts.md @@ -5,7 +5,7 @@ ![Amount methods](./assets/amount.svg) An `amount` describes digital assets. There are no `amount` API methods, -but [AmountMath](/reference/ertp-api/amount-math.md) methods take `amounts` as arguments +but [AmountMath](/reference/ertp-api/amount-math) methods take `amounts` as arguments to get information about and manipulate them. `AmountMath.make()` is generally how you make new `amounts`. @@ -13,7 +13,7 @@ However, you can also make an `amount` as an object literal by making a record o a `brand` and a `value`. While `AmountMath.make()` is recommended for proper object-oriented programming, this produces the same result: -<<< @/snippets/ertp/guide/test-amounts.js#manualMake +<<< @/../snippets/ertp/guide/test-amounts.js#manualMake Each `amount` has two properties: - **brand**: The type of digital asset, such as our imaginary `Quatloos` currency or, in a game, a powerful magic sword with a brand of `Plus3Sword-ABCGames` or similar. @@ -53,36 +53,36 @@ and example of each `brand` method. For more detail, click the method's name to go to its entry in the [ERTP API Reference](/reference/ertp-api/). -- [aBrand.isMyIssuer()](/reference/ertp-api/brand.md#abrand-ismyissuer-allegedissuer) +- [aBrand.isMyIssuer()](/reference/ertp-api/brand#abrand-ismyissuer-allegedissuer) - Returns `true` if the `issuer` argument matches the `issuer` associated with the `brand`. We have this method because the `issuer` is authoritative and the `brand` is not. You can create a `payment`, `purse`, or `amount` with a `brand` that claims a particular `issuer`, without that `issuer` having been involved. But if you use that `payment` or `purse`, it won't be accepted by genuine ones. So to know, you have to verify with the `issuer` to see if it agrees. - - <<< @/snippets/ertp/guide/test-amounts.js#isMyIssuer -- [aBrand.getAllegedName()](/reference/ertp-api/brand.md#abrand-getallegedname) + - <<< @/../snippets/ertp/guide/test-amounts.js#isMyIssuer +- [aBrand.getAllegedName()](/reference/ertp-api/brand#abrand-getallegedname) - Returns the `brand`'s alleged name, but should not be trusted as accurate. - - <<< @/snippets/ertp/guide/test-amounts.js#getAllegedName -- [aBrand.getDisplayInfo()](/reference/ertp-api/brand.md#abrand-getdisplayinfo) + - <<< @/../snippets/ertp/guide/test-amounts.js#getAllegedName +- [aBrand.getDisplayInfo()](/reference/ertp-api/brand#abrand-getdisplayinfo) - Returns the `DisplayInfo` associated with the `brand`. The `DisplayInfo` tells the UI how to correctly display `values` associated with the `brand`. - - <<< @/snippets/ertp/guide/test-amounts.js#getDisplayInfo + - <<< @/../snippets/ertp/guide/test-amounts.js#getDisplayInfo The following methods on other ERTP components also either operate on or return a `brand`. -- [anIssuer.getBrand()](/reference/ertp-api/issuer.md#anissuer-getbrand) +- [anIssuer.getBrand()](/reference/ertp-api/issuer#anissuer-getbrand) - Returns the `brand` for the `issuer`. The `brand` is not closely held, so this should not be trusted to identify an `issuer` alone. Fake digital assets and `amount`s can use the `brand` of another `issuer`. - - <<< @/snippets/ertp/guide/test-amounts.js#getBrand -- [aPayment.getAllegedBrand()](/reference/ertp-api/payment.md#apayment-getallegedbrand) + - <<< @/../snippets/ertp/guide/test-amounts.js#getBrand +- [aPayment.getAllegedBrand()](/reference/ertp-api/payment#apayment-getallegedbrand) - Return the `payment`'s alleged `brand`. Because a `payment` is not trusted, this should be treated with suspicion and verified elsewhere. This example code determines if a `payment` we got from untrusted sources is valid. It uses the `brand` to find a `purse` we want to deposit it in, then verifies that it's genuine. - - <<< @/snippets/ertp/guide/test-amounts.js#depositSomewhere + - <<< @/../snippets/ertp/guide/test-amounts.js#depositSomewhere ## AmountValues @@ -96,10 +96,10 @@ not `Number`s. Write `10n` rather than `10`. There are no `value` methods, but two `AmountMath` methods use or return them. -- [AmountMath.getValue(brand, amount)](/reference/ertp-api/amount-math.md#amountmath-getvalue-brand-amount) +- [AmountMath.getValue(brand, amount)](/reference/ertp-api/amount-math#amountmath-getvalue-brand-amount) - Return the `amount` argument's `value` - - <<< @/snippets/ertp/guide/test-amounts.js#getValue -- [AmountMath.make(brand, allegedValue)](/reference/ertp-api/amount-math.md#amountmath-make-brand-allegedvalue) + - <<< @/../snippets/ertp/guide/test-amounts.js#getValue +- [AmountMath.make(brand, allegedValue)](/reference/ertp-api/amount-math#amountmath-make-brand-allegedvalue) - Make an `amount`from a `brand` and a `value`. - - <<< @/snippets/ertp/guide/test-amounts.js#make + - <<< @/../snippets/ertp/guide/test-amounts.js#make diff --git a/main/guides/ertp/README.md b/main/guides/ertp/index.md similarity index 92% rename from main/guides/ertp/README.md rename to main/guides/ertp/index.md index ec28bf280..4caa95472 100644 --- a/main/guides/ertp/README.md +++ b/main/guides/ertp/index.md @@ -38,10 +38,10 @@ and Balcony sections, where a holder may sit in any seat of the respective secti ### Amount -Assets are described by **[Amount](./amounts.md)** records consisting of a `brand` and a `value`. -- **[Brand](./amounts.md#brands)**: An asset's type. +Assets are described by **[Amount](./amounts)** records consisting of a `brand` and a `value`. +- **[Brand](./amounts#brands)**: An asset's type. You can think of this as the answer to the question "What is it?" about an asset. -- **[AmountValue](./amounts.md#amountvalues)**: An asset's size. +- **[AmountValue](./amounts#amountvalues)**: An asset's size. You can think of this as the answer to the questions "how many?" or "how much?" about an asset. **Important**: Amounts are *descriptions* of digital assets, not the actual assets. They have no @@ -53,19 +53,19 @@ whose values have to be non-negative integers represented as BigInts (thus the a ### AmountMath -ERTP uses the **[AmountMath](./amount-math.md)** library for operations such as adding, subtracting, +ERTP uses the **[AmountMath](./amount-math)** library for operations such as adding, subtracting, and comparing amount values (such as when depositing to or withdrawing assets from a purse). ### Brand Most ERTP objects have a permanent constraint to working with or on one specific -**[Brand](./amounts.md#brands)** established at their creation. If one is +**[Brand](./amounts#brands)** established at their creation. If one is initially associated with Quatloos, it always associated with Quatloos and Quatloos only. In particular, a `brand` and its `mint` and its `issuer` are all in unchangeable respective one-to-one relationships with each other. -- **[Mint](./issuers-and-mints.md#mints)**: +- **[Mint](./issuers-and-mints#mints)**: The unique creator of digital assets of a particular `brand`. -- **[Issuer](./issuers-and-mints.md#issuers)**: +- **[Issuer](./issuers-and-mints#issuers)**: The source of truth of how many digital assets each `purse` and `payment` holds. An `issuer` is used to validate `payments` received from untrusted parties for the `brand` with which it is associated. @@ -82,9 +82,9 @@ Let's look at an example. Suppose there is the "Quatloos" `brand`. That means th ### Purses and Payments We've already mentioned our final two concepts: -- **[Purse](./purses-and-payments.md#purses)**: An +- **[Purse](./purses-and-payments#purses)**: An object for holding digital assets of a specific `brand`. -- **[Payment](./purses-and-payments.md#payments)**: +- **[Payment](./purses-and-payments#payments)**: An object for transferring digital assets of a specific `brand` to another party. Similar to other component instances, a `purse` and a `payment` only work with one @@ -119,7 +119,7 @@ are covered on the component-specific pages. ![Asset creation](./assets/asset-creation.svg) -<<< @/snippets/ertp/guide/test-readme.js#makeIssuerKit +<<< @/../snippets/ertp/guide/test-readme.js#makeIssuerKit First, you pass a string naming a new `brand` to `makeIssuerKit()`. As noted above, a `makeKit()` method creates both a new Foo, in this case an `issuer`, and some other things. @@ -129,7 +129,7 @@ are all in unchangeable one-to-one relationships with each other. In this case, you used the string 'quatloos' to name the `brand`. -<<< @/snippets/ertp/guide/test-readme.js#seven +<<< @/../snippets/ertp/guide/test-readme.js#seven Here you use `AmountMath` to make a new `amount` description of the asset you want to create. You need to specify what you want for the `value` of the new `amount`, in this case `7n`, as @@ -138,13 +138,13 @@ well as what `brand` it will be. This returns an `amount` description stored in `quatloosSeven`. Remember, an `amount` is only a description of an asset, not an asset itself. `quatloosSeven` has no intrinsic value. -<<< @/snippets/ertp/guide/test-readme.js#mintPayment +<<< @/../snippets/ertp/guide/test-readme.js#mintPayment This mints a new asset of 7 Quatloos. In this case, since it's a `mint` operation, you are creating a new digital asset of 7 Quatloos. It's returned as a `payment`, so you want a place to store it for the longer term. -<<< @/snippets/ertp/guide/test-readme.js#deposit +<<< @/../snippets/ertp/guide/test-readme.js#deposit For long term storage, we prefer using a `purse`. `payments` are generally used to transfer assets rather than hold them for extended periods. First you create a new empty `purse` for Quatloos using @@ -159,12 +159,12 @@ added to them so the `purse` balance would be 24 Quatloos. Start with your `quatloosPurse` that holds 7 Quatloos. You decide you want to send 5 Quatloos to another party named Alice. -<<< @/snippets/ertp/guide/test-readme.js#five +<<< @/../snippets/ertp/guide/test-readme.js#five First you create a new Quatloos branded `amount` with a `value` of 5 to describe what you want to withdraw. Remember, an `amount` is just a description of assets, not the actual assets. -<<< @/snippets/ertp/guide/test-readme.js#withdraw +<<< @/../snippets/ertp/guide/test-readme.js#withdraw Now you tell your Quatloos containing `purse` that you want to withdraw the specified `amount` from it. The withdrawn 5 Quatloos goes into a `payment` @@ -175,7 +175,7 @@ her rather than someone else.
-<<< @/snippets/ertp/guide/test-readme.js#depositFacet +<<< @/../snippets/ertp/guide/test-readme.js#depositFacet
@@ -189,7 +189,7 @@ of your friend's accounts or find out how much is in them.
-<<< @/snippets/ertp/guide/test-readme.js#getId +<<< @/../snippets/ertp/guide/test-readme.js#getId
@@ -201,7 +201,7 @@ others can get the value just by knowing the Id. Alice can make her Id(s) known communication method she likes; private email, an email blast to a mailing list or many individuals, buying an ad on a website, tv program, or newspaper, listing it on her website, etc. -<<< @/snippets/ertp/guide/test-readme.js#getValue +<<< @/../snippets/ertp/guide/test-readme.js#getValue Remember, ERTP's use of OCaps requires that you have access to an object in order to run methods on it. So someone who wants to use Alice's deposit facet @@ -217,7 +217,7 @@ in it, and the 5 Quatloos `payment` consumed when the transfer happened. The `E()` notation is a local "bridge" that lets you invoke methods on remote objects. It takes a local representative (a [presence](../../glossary/#presence)) for a remote object as an argument and sends messages to the remote object. This is explained in more detail at the -[`E()` section in the Distributed JavaScript page](../js-programming/eventual-send.md). +[`E()` section in the Distributed JavaScript page](../js-programming/eventual-send). ## Creating and Using Non-Fungible Assets @@ -231,14 +231,14 @@ An object representing a valid ticket has the properties: - `show`: A string describing the show. - `start`: A string representing a [time/date in ISO format](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString). -<<< @/snippets/ertp/guide/test-readme.js#ticketValues +<<< @/../snippets/ertp/guide/test-readme.js#ticketValues To create tickets, you first create JavaScript objects that each represent a ticket. Then, because you need to specify the amount of digital assets to be minted, you can use `AmountMath` to make an amount. In this case, you're making tickets for one performance of *Hamilton*. -<<< @/snippets/ertp/guide/test-readme.js#makeTicketIssuer +<<< @/../snippets/ertp/guide/test-readme.js#makeTicketIssuer As before, you use `makeIssuerKit()` to create a `mint` that can create Agoric Theatre ticket assets. The difference from when you created a fungible asset is that you have to use a second argument, @@ -248,7 +248,7 @@ There are two `AssetKinds`. Each one polymorphically implements the same set of - `AssetKind.NAT`: Works with natural number `values` and fungible assets. Default value for `makeIssuerKit()`. - `AssetKind.SET`: Used with non-fungible assets, operates on an array of records (objects) with keys and values. -<<< @/snippets/ertp/guide/test-readme.js#ticketPayments +<<< @/../snippets/ertp/guide/test-readme.js#ticketPayments First you define an `amount` description for each ticket you want to issue. diff --git a/main/guides/ertp/issuers-and-mints.md b/main/guides/ertp/issuers-and-mints.md index a68b543f8..13e28d6f6 100644 --- a/main/guides/ertp/issuers-and-mints.md +++ b/main/guides/ertp/issuers-and-mints.md @@ -37,46 +37,46 @@ more detail, click the method's name to go to its entry in the [ERTP API Reference](/reference/ertp-api/). - **Create issuer operation** - - [makeIssuerKit()](/reference/ertp-api/issuer.md#makeissuerkit-allegedname-assetkind-displayinfo-optshutdownwithfailure-elementshape) + - [makeIssuerKit()](/reference/ertp-api/issuer#makeissuerkit-allegedname-assetkind-displayinfo-optshutdownwithfailure-elementshape) - Create and return a new `issuer` and its associated `mint` and `brand`. - - <<< @/snippets/ertp/guide/test-issuers-and-mints.js#import - <<< @/snippets/ertp/guide/test-issuers-and-mints.js#makeIssuerKit + - <<< @/../snippets/ertp/guide/test-issuers-and-mints.js#import + <<< @/../snippets/ertp/guide/test-issuers-and-mints.js#makeIssuerKit - **Get information about the issuer operations** - - [anIssuer.getAllegedName()](/reference/ertp-api/issuer.md#anissuer-getallegedname) + - [anIssuer.getAllegedName()](/reference/ertp-api/issuer#anissuer-getallegedname) - Return the `allegedName` for the `issuer` (the non-trusted human-readable name of its associated `brand`). - - <<< @/snippets/ertp/guide/test-issuers-and-mints.js#getAllegedName - - [anIssuer.getAssetKind()](/reference/ertp-api/issuer.md#anissuer-getassetkind) + - <<< @/../snippets/ertp/guide/test-issuers-and-mints.js#getAllegedName + - [anIssuer.getAssetKind()](/reference/ertp-api/issuer#anissuer-getassetkind) - Return the kind of the `issuer`'s asset; either `AssetKind.NAT` ("nat") or `AssetKind.SET` ("set"). - - <<< @/snippets/ertp/guide/test-issuers-and-mints.js#getAssetKind - - [anIssuer.getBrand()](/reference/ertp-api/issuer.md#anissuer-getbrand) + - <<< @/../snippets/ertp/guide/test-issuers-and-mints.js#getAssetKind + - [anIssuer.getBrand()](/reference/ertp-api/issuer#anissuer-getbrand) - Return the `brand` for the `issuer`. - - <<< @/snippets/ertp/guide/test-issuers-and-mints.js#getBrand + - <<< @/../snippets/ertp/guide/test-issuers-and-mints.js#getBrand - **Purse operation** - - [anIssuer.makeEmptyPurse()](/reference/ertp-api/issuer.md#anissuer-makeemptypurse) + - [anIssuer.makeEmptyPurse()](/reference/ertp-api/issuer#anissuer-makeemptypurse) - Make and return an empty `purse` for holding assets of the `brand` associated with the `issuer`. - - <<< @/snippets/ertp/guide/test-issuers-and-mints.js#makeEmptyPurse + - <<< @/../snippets/ertp/guide/test-issuers-and-mints.js#makeEmptyPurse - **Payment operations** - - [anIssuer.burn(payment, optAmount)](/reference/ertp-api/issuer.md#anissuer-burn-payment-optamount) + - [anIssuer.burn(payment, optAmount)](/reference/ertp-api/issuer#anissuer-burn-payment-optamount) - Destroy all of the digital assets in the `payment`. - - <<< @/snippets/ertp/guide/test-issuers-and-mints.js#burn - - [anIssuer.claim(payment, optAmount)](/reference/ertp-api/issuer.md#anissuer-claim-payment-optamount) + - <<< @/../snippets/ertp/guide/test-issuers-and-mints.js#burn + - [anIssuer.claim(payment, optAmount)](/reference/ertp-api/issuer#anissuer-claim-payment-optamount) - Transfer all digital assets from `payment` to a new Payment. - - <<< @/snippets/ertp/guide/test-issuers-and-mints.js#claim - - [anIssuer.combine(paymentsArray)](/reference/ertp-api/issuer.md#anissuer-combine-paymentsarray-opttotalamount) + - <<< @/../snippets/ertp/guide/test-issuers-and-mints.js#claim + - [anIssuer.combine(paymentsArray)](/reference/ertp-api/issuer#anissuer-combine-paymentsarray-opttotalamount) - Combine multiple Payments into one new Payment. - - <<< @/snippets/ertp/guide/test-issuers-and-mints.js#combine - - [anIssuer.getAmountOf(payment)](/reference/ertp-api/issuer.md#anissuer-getamountof-payment) + - <<< @/../snippets/ertp/guide/test-issuers-and-mints.js#combine + - [anIssuer.getAmountOf(payment)](/reference/ertp-api/issuer#anissuer-getamountof-payment) - Describe the `payment`'s balance as an Amount. - - <<< @/snippets/ertp/guide/test-issuers-and-mints.js#getAmountOf - - [anIssuer.isLive(payment)](/reference/ertp-api/issuer.md#anissuer-islive-payment) + - <<< @/../snippets/ertp/guide/test-issuers-and-mints.js#getAmountOf + - [anIssuer.isLive(payment)](/reference/ertp-api/issuer#anissuer-islive-payment) - Return `true` if the `payment` was created by the issuer and is available for use (has not been consumed or burned). - - <<< @/snippets/ertp/guide/test-issuers-and-mints.js#isLive - - [anIssuer.split(payment, paymentAmountA)](/reference/ertp-api/issuer.md#anissuer-split-payment-paymentamounta) + - <<< @/../snippets/ertp/guide/test-issuers-and-mints.js#isLive + - [anIssuer.split(payment, paymentAmountA)](/reference/ertp-api/issuer#anissuer-split-payment-paymentamounta) - Split a single `payment` into two new Payments. - - <<< @/snippets/ertp/guide/test-issuers-and-mints.js#split - - [anIssuer.splitMany(payment, paymentAmountArray)](/reference/ertp-api/issuer.md#anissuer-splitmany-payment-amountarray) + - <<< @/../snippets/ertp/guide/test-issuers-and-mints.js#split + - [anIssuer.splitMany(payment, paymentAmountArray)](/reference/ertp-api/issuer#anissuer-splitmany-payment-amountarray) - Split a single `payment` into multiple Payments. - - <<< @/snippets/ertp/guide/test-issuers-and-mints.js#splitMany + - <<< @/../snippets/ertp/guide/test-issuers-and-mints.js#splitMany **Related Methods:** @@ -85,12 +85,12 @@ API Reference](/reference/ertp-api/). A `mint`, `brand`, or `purse` is actually associated with an `issuer` only if the `issuer` itself acknowledges the association. -- [aMint.getIssuer()](/reference/ertp-api/mint.md#amint-getissuer) +- [aMint.getIssuer()](/reference/ertp-api/mint#amint-getissuer) - Return the `issuer` uniquely associated with the `mint`. - - <<< @/snippets/ertp/guide/test-issuers-and-mints.js#mintGetIssuer -- [aBrand.isMyIssuer(issuer)](/reference/ertp-api/brand.md#abrand-ismyissuer-allegedissuer) + - <<< @/../snippets/ertp/guide/test-issuers-and-mints.js#mintGetIssuer +- [aBrand.isMyIssuer(issuer)](/reference/ertp-api/brand#abrand-ismyissuer-allegedissuer) - Return `true` if `issuer` is the brand's `issuer`, `false` if not. - - <<< @/snippets/ertp/guide/test-issuers-and-mints.js#isMyIssuer + - <<< @/../snippets/ertp/guide/test-issuers-and-mints.js#isMyIssuer ## Mints ![Mint methods](./assets/mint.svg) @@ -114,14 +114,14 @@ the one Quatloos `mint` can create new Quatloos. So a Quatloos `mint` can never become a Moola `mint`, or any other non-Quatloos asset. There are two `mint` methods, and the method that creates new mints. Click the method's name to go to its entry in the [ERTP -API Reference](/ertp/api/). -- [aMint.getIssuer()](/reference/ertp-api/mint.md#amint-getissuer) +API Reference](/reference/ertp-api/index). +- [aMint.getIssuer()](/reference/ertp-api/mint#amint-getissuer) - Return the `issuer` uniquely associated with the `mint`. - - <<< @/snippets/ertp/guide/test-issuers-and-mints.js#mintGetIssuer -- [aMint.mintPayment()](/reference/ertp-api/mint.md#amint-mintpayment-newamount) + - <<< @/../snippets/ertp/guide/test-issuers-and-mints.js#mintGetIssuer +- [aMint.mintPayment()](/reference/ertp-api/mint#amint-mintpayment-newamount) - Create new digital assets of the `mint`'s associated `brand`. - - <<< @/snippets/ertp/guide/test-issuers-and-mints.js#mintMintPayment -- [makeIssuerKit()](/reference/ertp-api/issuer.md#makeissuerkit-allegedname-assetkind-displayinfo-optshutdownwithfailure-elementshape) + - <<< @/../snippets/ertp/guide/test-issuers-and-mints.js#mintMintPayment +- [makeIssuerKit()](/reference/ertp-api/issuer#makeissuerkit-allegedname-assetkind-displayinfo-optshutdownwithfailure-elementshape) - Create and return a new `issuer` and its associated `mint` and `brand`. - - <<< @/snippets/ertp/guide/test-issuers-and-mints.js#makeIssuerKitMint + - <<< @/../snippets/ertp/guide/test-issuers-and-mints.js#makeIssuerKitMint diff --git a/main/guides/ertp/purses-and-payments.md b/main/guides/ertp/purses-and-payments.md index ed5499e3e..c44f1bde0 100644 --- a/main/guides/ertp/purses-and-payments.md +++ b/main/guides/ertp/purses-and-payments.md @@ -21,7 +21,7 @@ of any particular `brand`. Neither a `purse` nor a `payment` can ever change the associated `brand`. Each `purse` and `payment` object contains a specific amount of digital assets, -which may be none at all ("empty" in [AmountMath](./amount-math.md) terms). In the same way +which may be none at all ("empty" in [AmountMath](./amount-math) terms). In the same way you might have separate bank accounts for different purposes, you can have separate purses for the same `brand` of digital asset. One of your purses might hold 2 Quatloos while another holds 9000 Quatloos. @@ -31,8 +31,8 @@ whatever assets already exist there. So a 3 Quatloos deposit into a `purse` with 8 Quatloos results in a `purse` with 11 Quatloos. When adding a `payment` to a `purse`, you must add the entire `payment`. To -only add part of a `payment`, you must first call [anIssuer.split()](/reference/ertp-api/issuer.md#anissuer-split-payment-paymentamounta) -or [anIssuer.splitMany()](/reference/ertp-api/issuer.md#anissuer-splitmany-payment-amountarray) +only add part of a `payment`, you must first call [anIssuer.split()](/reference/ertp-api/issuer#anissuer-split-payment-paymentamounta) +or [anIssuer.splitMany()](/reference/ertp-api/issuer#anissuer-splitmany-payment-amountarray) to split it into two or more new `payments`. `mints` create entirely new digital assets and put them in a new `payment`. @@ -43,7 +43,7 @@ the `brand` of the new `payment` is the same as the associated `brand` of its or In ERTP, assets are not transferred directly from one `purse` to another. Instead, the transfer must be mediated by a `payment` as demonstrated below. In the Agoric stack, the actual send and receive operations are provided by -[`E()`](../js-programming/eventual-send.md). +[`E()`](../js-programming/eventual-send). - Sender: 1. Withdraw assets described by an `amount` from a `purse`, creating a `payment`. 2. Send this `payment` to a recipient. @@ -82,25 +82,25 @@ to a party, you should tell them what `brand` it accepts. The following is a brief description and example of each `purse` method. For more detail, click the method's name to go to its entry in the [ERTP API Reference](/reference/ertp-api/). -- [aPurse.getCurrentAmount()](/reference/ertp-api/purse.md#apurse-getcurrentamount) +- [aPurse.getCurrentAmount()](/reference/ertp-api/purse#apurse-getcurrentamount) - Describe the `purse`'s current balance as an Amount. Note that a `purse` can be empty. - - <<< @/snippets/ertp/guide/test-purses-and-payments.js#getCurrentAmount -- [aPurse.withdraw(amount)](/reference/ertp-api/purse.md#apurse-withdraw-amount) + - <<< @/../snippets/ertp/guide/test-purses-and-payments.js#getCurrentAmount +- [aPurse.withdraw(amount)](/reference/ertp-api/purse#apurse-withdraw-amount) - Withdraw the `amount` of specified digital assets from this `purse` into a new `payment`. - - <<< @/snippets/ertp/guide/test-purses-and-payments.js#withdraw -- [aPurse.deposit(payment, optAmount)](/reference/ertp-api/purse.md#apurse-deposit-payment-optamount) + - <<< @/../snippets/ertp/guide/test-purses-and-payments.js#withdraw +- [aPurse.deposit(payment, optAmount)](/reference/ertp-api/purse#apurse-deposit-payment-optamount) - Deposit all the contents of `payment` into this `purse`, returning an `amount` describing the `payment`. - - <<< @/snippets/ertp/guide/test-purses-and-payments.js#deposit -- [aPurse.getDepositFacet()](/reference/ertp-api/purse.md#apurse-getdepositfacet) + - <<< @/../snippets/ertp/guide/test-purses-and-payments.js#deposit +- [aPurse.getDepositFacet()](/reference/ertp-api/purse#apurse-getdepositfacet) - Return a deposit-only facet on the `purse`. Note that the command to add a `payment`'s assets via a `DepositFacet` is not `deposit()` but `receive()` as shown here. - - <<< @/snippets/ertp/guide/test-purses-and-payments.js#getDepositFacet + - <<< @/../snippets/ertp/guide/test-purses-and-payments.js#getDepositFacet In addition, the method to create a new, empty, `purse` is called on an `issuer`: -- [anIssuer.makeEmptyPurse()](/reference/ertp-api/issuer.md#anissuer-makeemptypurse) +- [anIssuer.makeEmptyPurse()](/reference/ertp-api/issuer#anissuer-makeemptypurse) - Make and return an empty `purse` that holds assets of the `brand` associated with the `issuer`. - - <<< @/snippets/ertp/guide/test-issuers-and-mints.js#makeEmptyPurse + - <<< @/../snippets/ertp/guide/test-issuers-and-mints.js#makeEmptyPurse ## Payments ![Payment methods](./assets/payment.svg) @@ -141,8 +141,8 @@ To consume a `payment` into a new `purse`: have `payments` as arguments and effectively operate on a `payment`. The following is a brief description and example of each `payment`-related method. For more detail, click the method's name to go to its entry in the [ERTP -API Reference](/ertp/api/). -- [aPayment.getAllegedBrand()](/reference/ertp-api/payment.md#apayment-getallegedbrand) +API Reference](/reference/ertp-api/index). +- [aPayment.getAllegedBrand()](/reference/ertp-api/payment#apayment-getallegedbrand) - Return the `brand` indicating the kind of digital asset this `payment` purports to be and which `issuer` to use with it. Because `payments` are not trusted, any method calls on them should be treated @@ -150,38 +150,38 @@ API Reference](/ertp/api/). ### Other Objects' Payment-Related Methods -- [anIssuer.burn(payment, optAmount)](/reference/ertp-api/issuer.md#anissuer-burn-payment-optamount) +- [anIssuer.burn(payment, optAmount)](/reference/ertp-api/issuer#anissuer-burn-payment-optamount) - Destroy all of the digital assets in the `payment`. - - <<< @/snippets/ertp/guide/test-issuers-and-mints.js#burn -- [anIissuer.claim(payment, optAmount)](/reference/ertp-api/issuer.md#anissuer-claim-payment-optamount) + - <<< @/../snippets/ertp/guide/test-issuers-and-mints.js#burn +- [anIissuer.claim(payment, optAmount)](/reference/ertp-api/issuer#anissuer-claim-payment-optamount) - Transfer all digital assets from `payment` to a new Payment. - - <<< @/snippets/ertp/guide/test-issuers-and-mints.js#claim -- [anIssuer.combine(paymentsArray)](/reference/ertp-api/issuer.md#anissuer-combine-paymentsarray-opttotalamount) + - <<< @/../snippets/ertp/guide/test-issuers-and-mints.js#claim +- [anIssuer.combine(paymentsArray)](/reference/ertp-api/issuer#anissuer-combine-paymentsarray-opttotalamount) - Combine multiple Payments into one new Payment. - - <<< @/snippets/ertp/guide/test-issuers-and-mints.js#combine -- [anIssuer.getAmountOf(payment)](/reference/ertp-api/issuer.md#anissuer-getamountof-payment) + - <<< @/../snippets/ertp/guide/test-issuers-and-mints.js#combine +- [anIssuer.getAmountOf(payment)](/reference/ertp-api/issuer#anissuer-getamountof-payment) - Describe the `payment`'s balance as an Amount. - - <<< @/snippets/ertp/guide/test-issuers-and-mints.js#getAmountOf -- [anIssuer.isLive(payment)](/reference/ertp-api/issuer.md#anissuer-islive-payment) + - <<< @/../snippets/ertp/guide/test-issuers-and-mints.js#getAmountOf +- [anIssuer.isLive(payment)](/reference/ertp-api/issuer#anissuer-islive-payment) - Return `true` if the `payment` was created by the issuer and is available for use (has not been consumed or burned). -- [anIssuer.split(payment, paymentAmountA)](/reference/ertp-api/issuer.md#anissuer-split-payment-paymentamounta) +- [anIssuer.split(payment, paymentAmountA)](/reference/ertp-api/issuer#anissuer-split-payment-paymentamounta) - Split a single `payment` into two new Payments. - - <<< @/snippets/ertp/guide/test-issuers-and-mints.js#split -- [anIssuer.splitMany(payment, amountArray)](/reference/ertp-api/issuer.md#anissuer-splitmany-payment-amountarray) + - <<< @/../snippets/ertp/guide/test-issuers-and-mints.js#split +- [anIssuer.splitMany(payment, amountArray)](/reference/ertp-api/issuer#anissuer-splitmany-payment-amountarray) - Split a single `payment` into multiple Payments. - - <<< @/snippets/ertp/guide/test-issuers-and-mints.js#splitManyConcise -- [aMint.mintPayment(newAmount)](/reference/ertp-api/mint.md#amint-mintpayment-newamount) + - <<< @/../snippets/ertp/guide/test-issuers-and-mints.js#splitManyConcise +- [aMint.mintPayment(newAmount)](/reference/ertp-api/mint#amint-mintpayment-newamount) - Create new digital assets of the `mint`'s associated `brand`. - - <<< @/snippets/ertp/guide/test-issuers-and-mints.js#mintMintPayment -- [aPurse.deposit(payment, optAmount)](/reference/ertp-api/purse.md#apurse-deposit-payment-optamount) + - <<< @/../snippets/ertp/guide/test-issuers-and-mints.js#mintMintPayment +- [aPurse.deposit(payment, optAmount)](/reference/ertp-api/purse#apurse-deposit-payment-optamount) - Deposit all the contents of `payment` into `purse`. - - <<< @/snippets/ertp/guide/test-purses-and-payments.js#deposit -- [aPurse.getDepositFacet()](/reference/ertp-api/purse.md#apurse-getdepositfacet) + - <<< @/../snippets/ertp/guide/test-purses-and-payments.js#deposit +- [aPurse.getDepositFacet()](/reference/ertp-api/purse#apurse-getdepositfacet) - Create and return a new deposit-only facet of the `purse` that allows arbitrary other parties to deposit Payments into `purse`. - - <<< @/snippets/ertp/guide/test-purses-and-payments.js#getDepositFacet -- [aPurse.withdraw(amount)](/reference/ertp-api/purse.md#apurse-withdraw-amount) + - <<< @/../snippets/ertp/guide/test-purses-and-payments.js#getDepositFacet +- [aPurse.withdraw(amount)](/reference/ertp-api/purse#apurse-withdraw-amount) - Withdraw the `amount` of specified digital assets from `purse` into a new `payment`. - - <<< @/snippets/ertp/guide/test-purses-and-payments.js#withdraw + - <<< @/../snippets/ertp/guide/test-purses-and-payments.js#withdraw ## Purse and Payment Example @@ -189,4 +189,4 @@ The following code creates a new `purse` for the `quatloos` brand, deposits 10 Quatloos into the `purse`, withdraws 3 Quatloos from the `purse` into a `payment`, and finally returns an `amount` describing what's currently in the `purse`, 7 Quatloos. -<<< @/snippets/ertp/guide/test-purses-and-payments.js#example +<<< @/../snippets/ertp/guide/test-purses-and-payments.js#example diff --git a/main/guides/getting-started/contract-rpc.md b/main/guides/getting-started/contract-rpc.md index c8123cb32..c70018e08 100644 --- a/main/guides/getting-started/contract-rpc.md +++ b/main/guides/getting-started/contract-rpc.md @@ -1,7 +1,7 @@ # Smart Wallet Dapp Architecture The [Agoric Platform](../platform/) consists of smart contracts -and services such as [Zoe](../zoe/) running in a [Hardened JavaScript](../js-programming/hardened-js.md) VM running on top of a Cosmos SDK consensus layer. Clients interact with the consensus layer by making +and services such as [Zoe](../zoe/) running in a [Hardened JavaScript](../js-programming/hardened-js) VM running on top of a Cosmos SDK consensus layer. Clients interact with the consensus layer by making queries and submitting messages in signed transactions. In the Smart Wallet Architecture, dapps consist of @@ -112,7 +112,7 @@ The [vstorage-viewer](https://github.com/p2p-org/p2p-agoric-vstorage-viewer) con ## Specifying Offers Recall that for an agent within the JavaScript VM, -[`E(zoe).offer(...)`](../../reference/zoe-api/zoe.md#e-zoe-offer-invitation-proposal-paymentpkeywordrecord-offerargs) takes an `Invitation` and optionally a `Proposal` with `{ give, want, exit }`, a `PaymentPKeywordRecord`, and `offerArgs`; it returns a `UserSeat` from which we can [getPayouts()](../../reference/zoe-api/user-seat.md#e-userseat-getpayouts). +[`E(zoe).offer(...)`](../../reference/zoe-api/zoe#e-zoe-offer-invitation-proposal-paymentpkeywordrecord-offerargs) takes an `Invitation` and optionally a `Proposal` with `{ give, want, exit }`, a `PaymentPKeywordRecord`, and `offerArgs`; it returns a `UserSeat` from which we can [getPayouts()](../../reference/zoe-api/user-seat#e-userseat-getpayouts). ![Zoe API diagram, simplified](./assets/zoe-simp.svg) @@ -120,7 +120,7 @@ In the Smart Wallet architecture, a client uses an `OfferSpec` to tell its `SmartWallet` how to conduct an offer. It includes an `invitationSpec` to say what invitation to pass to Zoe. For example: -<<< @/snippets/test-marshal.js#exInvitationSpec +<<< @/../snippets/test-marshal.js#exInvitationSpec Here the `SmartWallet` calls `E(zoe).getPublicFacet(instance)` and then uses the `publicInvitationMaker` and `invitationArgs` to call the contract's @@ -137,12 +137,12 @@ For more `InvitationSpec` examples, see [How to make an offer from a dapp via th The client fills in the proposal, which instructs the `SmartWallet` to withdraw corresponding payments to send to Zoe. -<<< @/snippets/test-marshal.js#exBridgeAction +<<< @/../snippets/test-marshal.js#exBridgeAction But recall the `spend_action` field in `MsgWalletSpendAction` is a string. In fact, the expected string in this case is of the form: -<<< @/snippets/test-marshal.js#exSpendActionCk +<<< @/../snippets/test-marshal.js#exSpendActionCk We recognize `"method":"executeOffer"` and such, but `body:`, `slots:`, and `$1.Alleged: Gold Brand` need further explanation. @@ -157,40 +157,40 @@ We recognize `"method":"executeOffer"` and such, but To start with, amounts include `bigint`s. The `@endo/marshal` API handles those: -<<< @/snippets/test-marshal.js#marshal-json-steroids +<<< @/../snippets/test-marshal.js#marshal-json-steroids -To marshal brands and instances, recall from the discussion of [marshal in eventual send](../js-programming/eventual-send.md#e-and-marshal-a-closer-look) +To marshal brands and instances, recall from the discussion of [marshal in eventual send](../js-programming/eventual-send#e-and-marshal-a-closer-look) how remotables are marshalled with a translation table. -The [Agoric Board](../../reference/repl/board.md) is a well-known name service that issues +The [Agoric Board](../../reference/repl/board) is a well-known name service that issues plain string identifiers for object identities and other passable _keys_ (that is: passable values excluding promises and errors). Contracts and other services can use its table of identifiers as a marshal translation table: -<<< @/snippets/test-marshal.js#boardMarshal +<<< @/../snippets/test-marshal.js#boardMarshal To reverse the process, clients can mirror the on-chain board translation table by synthesizing a remotable for each reference marker received: -<<< @/snippets/test-marshal.js#makeBoardContext +<<< @/../snippets/test-marshal.js#makeBoardContext Now we can take results of vstorage queries for `Data('published.agoricNames.brand')` and `Data('published.agoricNames.instance')` unmarshal ("ingest") them: -<<< @/snippets/test-marshal.js#useBoardContext +<<< @/../snippets/test-marshal.js#useBoardContext And now we have all the pieces of the `BridgeAction` above. The marshalled form is: -<<< @/snippets/test-marshal.js#exBridgeActionEq +<<< @/../snippets/test-marshal.js#exBridgeActionEq We still don't quite have a single string for the `spend_action` field. We need to `stringify` the `CapData`: -<<< @/snippets/test-marshal.js#exSpendAction +<<< @/../snippets/test-marshal.js#exSpendAction And now we have the `spend_action` in the expected form: -<<< @/snippets/test-marshal.js#exSpendActionCk +<<< @/../snippets/test-marshal.js#exSpendActionCk The wallet factory can now `JSON.parse` this string into `CapData` and unmarshal it using a board marshaller diff --git a/main/guides/getting-started/deploying.md b/main/guides/getting-started/deploying.md index ad69d6fd6..36bc2649f 100644 --- a/main/guides/getting-started/deploying.md +++ b/main/guides/getting-started/deploying.md @@ -1,6 +1,6 @@ # Deploying Smart Contracts -The `agoric deploy` command in the [Agoric command line tool](/guides/agoric-cli/README.md#agoric-deploy) supports deploying contracts and off-chain web applications that talk to those contracts. The command has two primary uses: +The `agoric deploy` command in the [Agoric command line tool](/guides/agoric-cli/index#agoric-deploy) supports deploying contracts and off-chain web applications that talk to those contracts. The command has two primary uses: * Deploy smart contract source code onto the blockchain. * Deploy and set up an application program on a local server running an Agoric process. @@ -38,7 +38,7 @@ First, let's look at *contract deployment*. `contract/deploy.js` bundles up a co it on the blockchain as source code, using `Zoe`. This does _not_ execute contract code; it just makes the code available on-chain. -The contract deployment process uses [`zoe.install()`](/reference/zoe-api/zoe.md#e-zoe-install-bundle) +The contract deployment process uses [`zoe.install()`](/reference/zoe-api/zoe#e-zoe-install-bundle) to install the contract source code on-chain. This returns an *installation* associated with the source code. In a typical contract deployment, the deploy script adds the installation to the default shared board so it is broadly accessible on the chain. The script then writes diff --git a/main/guides/getting-started/README.md b/main/guides/getting-started/index.md similarity index 99% rename from main/guides/getting-started/README.md rename to main/guides/getting-started/index.md index d83f55132..273677440 100644 --- a/main/guides/getting-started/README.md +++ b/main/guides/getting-started/index.md @@ -234,7 +234,7 @@ Use control-C to exit the logs, then start the smart contract. Starting the cont yarn start:contract ``` -This `start:contract` script will do a number of things that we will cover in more detail later (_[transaction commands](../agoric-cli/agd-query-tx.md#transaction-commands), [permissioned deployment](../coreeval/)_): +This `start:contract` script will do a number of things that we will cover in more detail later (_[transaction commands](../agoric-cli/agd-query-tx#transaction-commands), [permissioned deployment](../coreeval/)_): 1. Bundle the contract with `agoric run ...` 2. Collect some ATOM with `agd tx bank send ...`. diff --git a/main/guides/README.md b/main/guides/index.md similarity index 100% rename from main/guides/README.md rename to main/guides/index.md diff --git a/main/guides/integration/name-services.md b/main/guides/integration/name-services.md index 4e512c5ee..588c63fe8 100644 --- a/main/guides/integration/name-services.md +++ b/main/guides/integration/name-services.md @@ -50,7 +50,7 @@ The `NameAdmin` interface has an `onUpdate` method for registering a callback. This is used to reflect the brand entries, that is: `E(E(agoricNames).lookup('brand')).entries()` into vstorage at `published.agoricNames.brand` each time they change. The entries for `instance` and the other keys of `agoricNames` are likewise reflected under `published.agoricNames`. -See [marshalling amounts and instance](../getting-started/contract-rpc.md#marshalling-amounts-and-instances) +See [marshalling amounts and instance](../getting-started/contract-rpc#marshalling-amounts-and-instances) for details on the format of the data stored in vstorage. @@ -103,5 +103,5 @@ can look up the object: const instance = await E(board).getValue('board023423') ``` -See also: [marshalling amounts and instance](../getting-started/contract-rpc.md#marshalling-amounts-and-instances) -for details on using board ids to refer to objects from structures stored in vstorage, \ No newline at end of file +See also: [marshalling amounts and instance](../getting-started/contract-rpc#marshalling-amounts-and-instances) +for details on using board ids to refer to objects from structures stored in vstorage, diff --git a/main/guides/js-programming/eventual-send.md b/main/guides/js-programming/eventual-send.md index 6ace9cb3c..dfb0227d0 100644 --- a/main/guides/js-programming/eventual-send.md +++ b/main/guides/js-programming/eventual-send.md @@ -3,12 +3,12 @@ In web browsers, a common pattern of remote communication is using the [asynchronous fetch API with promises](https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Asynchronous/Introducing#promises): -<<< @/snippets/test-distributed-programming.js#asyncFetch +<<< @/../snippets/test-distributed-programming.js#asyncFetch In the Agoric platform, communicating with remote objects is similar, using the `E()` wrapper. For example, -a [deploy script](../getting-started/deploying.md) may want to use the -[Zoe Service API](/reference/zoe-api/zoe.md) to install a contract on a blockchain. +a [deploy script](../getting-started/deploying) may want to use the +[Zoe Service API](/reference/zoe-api/zoe) to install a contract on a blockchain. But the deploy script cannot call `zoe.install(bundle)`, because it does not have local access to the `zoe` object. However, the deploy script is given a `zoe` _remote presence_. To call methods on the @@ -24,7 +24,7 @@ E(zoe).install(bundle) ## Eventual Send -One of the ways [Zoe partitions risk](https://www.youtube.com/watch?v=T6h6TMuVHKQ&t=368s) is by running in its own [vat](../../glossary/README.md#vat), separate from any smart contract that might +One of the ways [Zoe partitions risk](https://www.youtube.com/watch?v=T6h6TMuVHKQ&t=368s) is by running in its own [vat](../../glossary/index#vat), separate from any smart contract that might use too much compute time or heap space. The smart contracts also run in separate vats. ![Zoe in a separate vat](../assets/zoe-partitions-risk-slide.svg) @@ -32,7 +32,7 @@ use too much compute time or heap space. The smart contracts also run in separat What happens when we call `E(zoe).install(bundle)` is an _eventual send_: 1. A message consisting of the method name `install` - with the `bundle` argument [marshaled](./far.md) + with the `bundle` argument [marshaled](./far) to a flat string and queued for delivery to the vat that `zoe` comes from. 2. `E(zoe).install(bundle)` returns a promise for the result. @@ -101,24 +101,24 @@ In [@endo/marshal](https://github.com/endojs/endo/tree/master/packages/marshal#r For example, we can marshal a remotable counter using the slot identifier `c1`: -<<< @/snippets/test-marshal.js#marshal-remotable +<<< @/../snippets/test-marshal.js#marshal-remotable Each end of a connection between vats typically keeps a table to translate slots to capabilities and back: -<<< @/snippets/test-marshal.js#marshal-table +<<< @/../snippets/test-marshal.js#marshal-table Each call to `E(rx)` makes a proxy for the reciver `rx`; each `E(rx).p` property reference invokes the `get` proxy trap. From the `get` trap, `E` returns a function that queues `rx`, `p`, and its arguments (in marshalled form) and returns a promise: -<<< @/snippets/test-marshal.js#marshal-messages-e +<<< @/../snippets/test-marshal.js#marshal-messages-e Now we can see the result in some detail. Note the way the promise from `E(zoe).install()` is passed to `E(zoe).startInstance()`. -<<< @/snippets/test-marshal.js#marshal-messages +<<< @/../snippets/test-marshal.js#marshal-messages ::: tip Watch: How Agoric Solves Reentrancy Hazards (November 2020) for more on eventual send and remote communication diff --git a/main/guides/js-programming/far.md b/main/guides/js-programming/far.md index 688cd8c7b..d9453aa44 100644 --- a/main/guides/js-programming/far.md +++ b/main/guides/js-programming/far.md @@ -1,29 +1,29 @@ # Far(), Remotable, and Marshaling -Let's look more closely at an [eventual send](./eventual-send.md) between vats: +Let's look more closely at an [eventual send](./eventual-send) between vats: ![counter remote presence](../assets/remote-presence-fig.svg) -In the exporting vat, we'll take the `makeCounter` [Hardened JavaScript example](./hardened-js.md#example-hardened-javascript-code) and refine it to make _remotable_ counters +In the exporting vat, we'll take the `makeCounter` [Hardened JavaScript example](./hardened-js#example-hardened-javascript-code) and refine it to make _remotable_ counters by marking them with [Far](#far-api): -<<< @/snippets/test-distributed-programming.js#makeFarCounter +<<< @/../snippets/test-distributed-programming.js#makeFarCounter ## Marshaling by Copy or by Presence -Recall that the first step in an [eventual send](./eventual-send.md#eventual-send) is +Recall that the first step in an [eventual send](./eventual-send#eventual-send) is to _marshal_ the method name and arguments. [Marshalling](https://en.wikipedia.org/wiki/Marshalling_%28computer_science%29) is transforming a data structure into a format suitable for storage or transmission. The [@endo/marshal](https://github.com/endojs/endo/tree/master/packages/marshal#readme) package uses [JSON](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON), but it can handle Javascript values that cannot be expressed directly as JSON, such as `undefined` and `BigInt`s. -<<< @/snippets/test-marshal.js#marshal-json-steroids +<<< @/../snippets/test-marshal.js#marshal-json-steroids Also, while many forms of data are copied between vats, remotables are marshalled so that they become remote _presences_ when unmarshaled. Another vat can then make and use the exported counters: -<<< @/snippets/test-distributed-programming.js#useFarCounter +<<< @/../snippets/test-distributed-programming.js#useFarCounter ## Pass Styles and harden @@ -41,7 +41,7 @@ There are four broad kinds of Passable: _CopyRecords_ like `harden({ keys: [0, 1], values: ['foo', 'bar'] })`, and _CopyTaggeds_ representing types like CopySet, CopyBag, and CopyMap (which extend the `passStyleOf` level of abstraction with - [tag-specific shapes and semantics](https://github.com/endojs/endo/blob/master/packages/patterns/docs/marshal-vs-patterns-level.md#kindof-vs-passstyleof)) + [tag-specific shapes and semantics](https://github.com/endojs/endo/blob/master/packages/patterns/docs/marshal-vs-patterns-level#kindof-vs-passstyleof)) - Pass-by-reference "**PassableCaps**": - _Remotables_: objects that can be shared with remote systems which can then invoke methods using e.g. `E()` eventual send notation. Remotables are created by [`Far()`](#far-api) @@ -69,7 +69,7 @@ data leads to behavior across vats that is straightforward to reason about. ## passStyleOf API -<<< @/snippets/test-distributed-programming.js#import-pass-style +<<< @/../snippets/test-distributed-programming.js#import-pass-style `passStyleOf(passable)` returns a `PassStyle` string that categorizes `passable`. @@ -93,7 +93,7 @@ this prevents malicious clients from playing tricks with cyclic data etc. ## Far() API -<<< @/snippets/test-distributed-programming.js#importFar +<<< @/../snippets/test-distributed-programming.js#importFar `Far(farName, objectWithMethods)` marks an object as Remotable. diff --git a/main/guides/js-programming/hardened-js.md b/main/guides/js-programming/hardened-js.md index a02f6f33b..2dc20fa4d 100644 --- a/main/guides/js-programming/hardened-js.md +++ b/main/guides/js-programming/hardened-js.md @@ -13,7 +13,7 @@ The last 10 minutes are Q&A._ The example below demonstrates several features of Hardened JavaScript. -<<< @/snippets/test-hardened-js.js#makeCounter +<<< @/../snippets/test-hardened-js.js#makeCounter We'll unpack this a bit [below](#objects-and-the-maker-pattern), but for now please note the use of functions and records: @@ -38,14 +38,14 @@ when people exit the room. We can give the `entryGuard` access to the `incr` function and give the `exitGuard` access to the `decr` function. -<<< @/snippets/test-hardened-js.js#entryExit +<<< @/../snippets/test-hardened-js.js#entryExit The result is that the `entryGuard` can _only_ count up and the `exitGuard` can _only_ count down. ::: tip Eventual send syntax The `entryGuard ! use(counter.incr);` code in the video -uses a proposed syntax for [eventual send](./eventual-send.md), +uses a proposed syntax for [eventual send](./eventual-send), which we will get to soon. ::: @@ -144,12 +144,12 @@ Let's unpack the `makeCounter` example a bit. JavaScript is somewhat novel in that objects need not belong to any class; they can just stand on their own: -<<< @/snippets/test-hardened-js.js#singleton +<<< @/../snippets/test-hardened-js.js#singleton We can make a new such object each time a function is called using the _maker pattern_: -<<< @/snippets/test-hardened-js.js#maker +<<< @/../snippets/test-hardened-js.js#maker ::: tip Use lexically scoped variables rather than properties of `this`. The style above avoids boilerplate such as `this.x = x; this.y = y`. @@ -166,22 +166,22 @@ for conciseness and to avoid `this`. By default, anyone can clobber the properties of our objects so that they fail to conform to the expected API: -<<< @/snippets/test-hardened-js.js#clobber +<<< @/../snippets/test-hardened-js.js#clobber Worse yet is to clobber a property so that it misbehaves but covers its tracks so that we don't notice: -<<< @/snippets/test-hardened-js.js#exploit +<<< @/../snippets/test-hardened-js.js#exploit Our goal is **defensive correctness**: a program is _defensively correct_ if it remains correct despite arbitrary behavior on the part of its clients. _For further discussion, see [Concurrency Among Strangers](http://erights.org/talks/promises/paper/tgc05.pdf) and other [Agoric papers on Robust Composition](https://papers.agoric.com/papers/#robust-composition)_. To prevent tampering, use the [harden](https://github.com/endojs/endo/blob/HEAD/packages/ses/README.md#harden) function, which is a deep form of [Object.freeze](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/freeze). -<<< @/snippets/test-hardened-js.js#defensiveMaker +<<< @/../snippets/test-hardened-js.js#defensiveMaker Any attempt to modify the properties of a hardened object throws: -<<< @/snippets/test-hardened-js.js#thwarted +<<< @/../snippets/test-hardened-js.js#thwarted `harden()` should be called on all objects that will be transferred across a trust boundary. It's important to `harden()` an object before exposing the object by returning it or passing it to some other function. @@ -194,7 +194,7 @@ For more details, see [harden API in the `ses` package](https://github.com/endoj Now let's review the `makeCounter` example: -<<< @/snippets/test-hardened-js.js#counterAnimation +<<< @/../snippets/test-hardened-js.js#counterAnimation Each call to `makeCounter` creates a new encapsulated `count` variable along with `incr` and `decr` functions. The `incr` and `decr` functions @@ -227,12 +227,12 @@ ordinary JavaScript is the ability to redefine built-ins (shown above as "mutable primordials"). Consider this `changePassword` function: -<<< @/snippets/test-no-ses.js#changePassword +<<< @/../snippets/test-no-ses.js#changePassword In ordinary JavaScript we run the risk of stolen passwords because someone might have redefined the `includes` method on `Array` objects: -<<< @/snippets/test-no-ses.js#exfiltrate +<<< @/../snippets/test-no-ses.js#exfiltrate In Hardened JavaScript, the `Object.assign` fails because `Array.prototype` and all other [standard, built-in objects](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects) @@ -276,7 +276,7 @@ or not: - `setImmediate`, `clearImmediate`, `setTimeout` - but `Promise` is available, so sometimes `Promise.resolve().then(_ => fn())` suffices - - see also [Timer Service](/reference/repl/timerServices.md) + - see also [Timer Service](/reference/repl/timerServices) - `require` (Use `import` module syntax instead.) - `localStorage` - [SwingSet](../platform/#swingset) orthogonal persistence means state lives indefinitely in ordinary variables and data structures and need not be explicitly written to storage. diff --git a/main/guides/js-programming/README.md b/main/guides/js-programming/index.md similarity index 84% rename from main/guides/js-programming/README.md rename to main/guides/js-programming/index.md index 8cf976ae5..60f6bfb37 100644 --- a/main/guides/js-programming/README.md +++ b/main/guides/js-programming/index.md @@ -23,32 +23,32 @@ We refer to this combination of an event loop with a message queue, a stack, and Vats are the unit of synchrony. We can only use ordinary synchronous function calls within the same vat. But we can use asynchronous function calls -(with [eventual send](./eventual-send.md)) either within the same vat or between vats. +(with [eventual send](./eventual-send)) either within the same vat or between vats. Vats may be on remote machines, including massively replicated machines such as blockchains. ## Parts of the Framework The framework includes: -- **[Hardened JavaScript](./hardened-js.md)** +- **[Hardened JavaScript](./hardened-js)** - Hardened JavaScript provides a platform for making objects that can interact with code you don't completely trust, without being vulnerable to bugs or bad intentions. - We introduce [object capabilities](./hardened-js.md#object-capabilities-ocaps) and how to use them - to apply the [principle of least authority](./hardened-js.md#the-principle-of-least-authority-pola). + We introduce [object capabilities](./hardened-js#object-capabilities-ocaps) and how to use them + to apply the [principle of least authority](./hardened-js#the-principle-of-least-authority-pola). -- **[`E()` for Eventual Send to Remote Presences](./eventual-send.md)** +- **[`E()` for Eventual Send to Remote Presences](./eventual-send)** - The `E()` wrapper function lets you invoke methods within or between vats. Given a local representative (a *presence*) for a remote object, it sends messages to the origin of the presence. `E(obj).myMethod(...args)` is an asynchronous form of `obj.myMethod(...args)`. -- **[`Far()`, Remoteable Objects, and Marshaling](./far.md)** +- **[`Far()`, Remoteable Objects, and Marshaling](./far)** - Objects used across vats are called *remotables*. To mark an object for exporting from a vat, use the `Far()` function. -- **[Notifiers and Subscriptions](./notifiers.md)** +- **[Notifiers and Subscriptions](./notifiers)** - Notifiers and Subscriptions distribute state change updates. Both deliver an asynchronous stream of messages as a publish-subscribe system might, without requiring explicit management of lists of subscribers. Notifiers are diff --git a/main/guides/js-programming/notifiers.md b/main/guides/js-programming/notifiers.md index fd2c1a658..9c69e5d42 100644 --- a/main/guides/js-programming/notifiers.md +++ b/main/guides/js-programming/notifiers.md @@ -155,19 +155,19 @@ Individual contracts can use notifiers and subscriptions to provide updates givi The following methods use or return notifiers. -- [aPurse.getCurrentAmountNotifier()](/reference/ertp-api/purse.md#apurse-getcurrentamountnotifier) +- [aPurse.getCurrentAmountNotifier()](/reference/ertp-api/purse#apurse-getcurrentamountnotifier) - Part of the ERTP API. Returns a lossy notifier for changes to this purse's balance. -- [getPursesNotifier()](/reference/wallet-api.md#getpursesnotifier) +- [getPursesNotifier()](/reference/wallet-api/wallet-bridge#getpursesnotifier) - Part of the Wallet API. It returns a notifier that follows changes in the purses in the Wallet. -- [getOffersNotifier()](/reference/wallet-api.md#getoffersnotifier) +- [getOffersNotifier()](/reference/wallet-api/wallet-bridge#getoffersnotifier) - Part of the Wallet API. It returns a notifier that follows changes to the offers received by the Wallet. -- [makeQuoteNotifier(amountIn,brandOut)](/reference/repl/priceAuthority.md#makequotenotifier-amountin-brandout) +- [makeQuoteNotifier(amountIn,brandOut)](/reference/repl/priceAuthority#makequotenotifier-amountin-brandout) - Part of the PriceAuthority API. Notifies the latest `PriceQuotes` for the given `amountIn`. -- [getPriceNotifier(brandIn, brandOut)](/reference/repl/priceAuthority.md#getpricenotifier-brandin-brandout) +- [getPriceNotifier(brandIn, brandOut)](/reference/repl/priceAuthority#getpricenotifier-brandin-brandout) - Part of the PriceAuthority API. Returns a notifier for the specified brands. Different PriceAuthorities may issue these at very different rates. - [E(home.localTimerService).makeNotifier(delay, interval) and - E(home.chainTimerService).makeNotifier(delay, interval)](/repl/timerServices.md#e-home-chain-or-local-timerservice-makenotifier-delay-interval) + E(home.chainTimerService).makeNotifier(delay, interval)](/reference/repl/timerServices#e-home-chain-or-local-timerservice-makenotifier-delay-interval) - Part of the REPL's TimerService API. It creates and returns a `Notifier` object that repeatedly delivers updates at times that are a multiple of the provided `interval` value, with the first update happening after the provided `delay` value. @@ -250,7 +250,7 @@ hang or miss values. For distributed operations, all the iteration values—non-final values, successful completion value, failure reason—must be *Passable*, which means they're values that -can somehow be passed between [vats](../../glossary/README.md#vat). The rest of this doc assumes all these +can somehow be passed between [vats](../../glossary/index#vat). The rest of this doc assumes all these values are Passable. The `makeNotifierKit()` or `makeSubscriptionKit()` call makes the notifier/updater diff --git a/main/guides/platform/README.md b/main/guides/platform/index.md similarity index 100% rename from main/guides/platform/README.md rename to main/guides/platform/index.md diff --git a/main/guides/wallet/README.md b/main/guides/wallet/index.md similarity index 97% rename from main/guides/wallet/README.md rename to main/guides/wallet/index.md index 81b4df51f..e7ca9a0c5 100644 --- a/main/guides/wallet/README.md +++ b/main/guides/wallet/index.md @@ -1,7 +1,7 @@ # Agoric Wallet This page documents the *Agoric Wallet*, including its use of *petnames* and its place in the Agoric Platform -architecture. See also [tour of the Wallet UI](./ui.md), [Wallet API reference](/reference/wallet-api.md). +architecture. See also [tour of the Wallet UI](./ui), [Wallet API reference](/reference/wallet-api/). ## Wallet and Agoric Architecture @@ -110,7 +110,7 @@ communication method you like; private email, an email blast to a mailing list or many individuals, buying an ad on a website, tv program, or newspaper, listing it on your website, etc. -<<< @/snippets/ertp/guide/test-readme.js#getValue +<<< @/../snippets/ertp/guide/test-readme.js#getValue To get an object, such as a depositFacet, using the Board, first you have to be told what Board Id is associated with it. Using the `getValue()` method, diff --git a/main/guides/zoe/actual-contracts/README.md b/main/guides/zoe/actual-contracts/index.md similarity index 90% rename from main/guides/zoe/actual-contracts/README.md rename to main/guides/zoe/actual-contracts/index.md index 27474b48a..6505b29f8 100644 --- a/main/guides/zoe/actual-contracts/README.md +++ b/main/guides/zoe/actual-contracts/index.md @@ -12,7 +12,7 @@ In the [mainnet-1B release of agoric-sdk](https://github.com/Agoric/agoric-sdk/r | binaryVoteCounter | instantiated once for each question that a committee votes on | | econCommitteeCharter | controls what questions can be put to the economic committee | | contractGovernor | each governed contract is started by starting its governor | -| [PSM](./PSM.md) | The Parity Stability Module (PSM) supports efficiently minting and burning Inter Stable Tokens (ISTs) in exchange for approved external stable tokens. | +| [PSM](./PSM) | The Parity Stability Module (PSM) supports efficiently minting and burning Inter Stable Tokens (ISTs) in exchange for approved external stable tokens. | | vaultFactory| allows users to mint IST backed by collateral such as ATOM; hands off vaults to auctioneer when value of collateral in a vault falls below a governed threshold | | auctioneer | auctions collateral from liquidated vaults | | fluxAggregator | aggregates prices from oracle oeprators | diff --git a/main/guides/zoe/contract-basics.md b/main/guides/zoe/contract-basics.md index f7b961cca..42a6d5dbd 100644 --- a/main/guides/zoe/contract-basics.md +++ b/main/guides/zoe/contract-basics.md @@ -6,25 +6,25 @@ basic dapp](./) in the previous section, let's cover some basics. A contract is defined by a JavaScript module that exports a `start` function that implements the contract's API. -<<< @/snippets/zoe/src/01-hello.js#start +<<< @/../snippets/zoe/src/01-hello.js#start Let's start with a contract with a simple `greet` function: -<<< @/snippets/zoe/src/01-hello.js#greet +<<< @/../snippets/zoe/src/01-hello.js#greet The `start` function can expose the `greet` function as part of the contract API by making it a method of the contract's `publicFacet`: -<<< @/snippets/zoe/src/01-hello.js#publicFacet +<<< @/../snippets/zoe/src/01-hello.js#publicFacet We mark it `Far(...)` to allow callers to use it from outside the contract and give it a suggestive interface name for debugging. -_We'll discuss [Far in more detail](../js-programming/far.md) later._ +_We'll discuss [Far in more detail](../js-programming/far) later._ Putting it all together: -<<< @/snippets/zoe/src/01-hello.js#contract +<<< @/../snippets/zoe/src/01-hello.js#contract ## Using, testing a contract @@ -32,25 +32,25 @@ Let's use some tests to explore how a contract is used. Agoric contracts are typically tested using the [ava](https://github.com/avajs/ava) framework. -They start with `@endo/init` to establish a [Hardened JavaScript](../js-programming/hardened-js.md) environment: +They start with `@endo/init` to establish a [Hardened JavaScript](../js-programming/hardened-js) environment: -<<< @/snippets/zoe/contracts/test-zoe-hello.js#test-imports +<<< @/../snippets/zoe/contracts/test-zoe-hello.js#test-imports -_We'll talk more about [using `E()` for async method calls](../js-programming/eventual-send.md) later._ +_We'll talk more about [using `E()` for async method calls](../js-programming/eventual-send) later._ A test that the `greet` method works as expected looks like: -<<< @/snippets/zoe/contracts/test-zoe-hello.js#test1 +<<< @/../snippets/zoe/contracts/test-zoe-hello.js#test1 ## State Contracts can use ordinary variables and data structures for state. -<<< @/snippets/zoe/src/02-state.js#startfn +<<< @/../snippets/zoe/src/02-state.js#startfn Using `makeRoom` changes the results of the following call to `getRoomCount`: -<<< @/snippets/zoe/contracts/test-zoe-hello.js#test-state +<<< @/../snippets/zoe/contracts/test-zoe-hello.js#test-state ::: tip Heap state is persistent @@ -58,7 +58,7 @@ Ordinary heap state persists between contract invocations. We'll discuss more explicit state management for large numbers of objects (_virtual objects_) and -objects that last across upgrades ([durable objects](./contract-upgrade.md#durability)) later. +objects that last across upgrades ([durable objects](./contract-upgrade#durability)) later. ::: @@ -68,17 +68,17 @@ We can limit the `publicFacet` API to read-only by omitting the `set()` method. The `creatorFacet` is provided only to the caller who creates the contract instance. -<<< @/snippets/zoe/src/03-access.js +<<< @/../snippets/zoe/src/03-access.js Trying to `set` using the `publicFacet` throws, but using the `creatorFacet` works: -<<< @/snippets/zoe/contracts/test-zoe-hello.js#test-access +<<< @/../snippets/zoe/contracts/test-zoe-hello.js#test-access Note that the `set()` method has no access check inside it. Access control is based on separation of powers between the `publicFacet`, which is expected to be shared widely, and the `creatorFacet`, which is closely held. -_We'll discuss this [object capabilities](../js-programming/hardened-js.md#object-capabilities-ocaps) approach more later._ +_We'll discuss this [object capabilities](../js-programming/hardened-js#object-capabilities-ocaps) approach more later._ Next, let's look at minting and trading assets with [Zoe](../zoe/). diff --git a/main/guides/zoe/contract-requirements.md b/main/guides/zoe/contract-requirements.md index 069dba000..dd13be991 100644 --- a/main/guides/zoe/contract-requirements.md +++ b/main/guides/zoe/contract-requirements.md @@ -39,7 +39,7 @@ Put it right before the start of your contract code. */ ``` Your contract code must export a function `start` as a non-default export. -`zcf` is the [Zoe Contract Facet](/reference/zoe-api/zoe-contract-facet.md) and is +`zcf` is the [Zoe Contract Facet](/reference/zoe-api/zoe-contract-facet) and is the first argument provided to the contract. The second argument, `privateArgs`, is used by the caller of `startInstance` to pass in any arguments that should not be part of the public terms. @@ -131,7 +131,7 @@ between multiple offers, or create new assets to order. ## Making an Invitation To create an invitation in the contract, use the Zoe Contract -Facet method [`zcf.makeInvitation(...)`](/reference/zoe-api/zoe-contract-facet.md#zcf-makeinvitation-offerhandler-description-customdetails-proposalshape). +Facet method [`zcf.makeInvitation(...)`](/reference/zoe-api/zoe-contract-facet#zcf-makeinvitation-offerhandler-description-customdetails-proposalshape). ## Using bundleSource diff --git a/main/guides/zoe/contract-upgrade.md b/main/guides/zoe/contract-upgrade.md index bbf3cf221..990bb25d0 100644 --- a/main/guides/zoe/contract-upgrade.md +++ b/main/guides/zoe/contract-upgrade.md @@ -62,7 +62,7 @@ There are a few requirements for the contract that differ from non-upgradable co The new code bundle declares that it supports upgrade by exporting a `prepare` function in place of `start`. -<<< @/snippets/zoe/src/02b-state-durable.js#export-prepare +<<< @/../snippets/zoe/src/02b-state-durable.js#export-prepare ### Durability @@ -97,17 +97,17 @@ The `zone` API is a convenient way to manage durability. Its store methods integ ::: details import { makeDurableZone } ... -<<< @/snippets/zoe/src/02b-state-durable.js#import-zone +<<< @/../snippets/zoe/src/02b-state-durable.js#import-zone ::: -<<< @/snippets/zoe/src/02b-state-durable.js#zone1 +<<< @/../snippets/zoe/src/02b-state-durable.js#zone1 ::: details What happens if we don't use baggage? When the contract instance is restarted, its [vat](../js-programming/#vats-the-unit-of-synchrony) gets a fresh heap, so [ordinary heap state](./contract-basics.md#state) does not survive upgrade. This implementation does not persist the rooms nor their counts between incarnations: -<<< @/snippets/zoe/src/02-state.js#heap-state{2} +<<< @/../snippets/zoe/src/02-state.js#heap-state{2} ::: @@ -115,18 +115,18 @@ When the contract instance is restarted, its [vat](../js-programming/#vats-the-u Use `zone.exoClass()` to define state and methods of kinds of durable objects such as `Room`: -<<< @/snippets/zoe/src/02b-state-durable.js#exoclass +<<< @/../snippets/zoe/src/02b-state-durable.js#exoclass Defining `publicFacet` as a singleton `exo` allows clients to continue to use it after an upgrade: -<<< @/snippets/zoe/src/02b-state-durable.js#exo +<<< @/../snippets/zoe/src/02b-state-durable.js#exo Now we have all the parts of an upgradable contract. ::: details full contract listing -<<< @/snippets/zoe/src/02b-state-durable.js#contract +<<< @/../snippets/zoe/src/02b-state-durable.js#contract ::: diff --git a/main/guides/zoe/contracts/README.md b/main/guides/zoe/contracts/README.md deleted file mode 100644 index f435f2ff1..000000000 --- a/main/guides/zoe/contracts/README.md +++ /dev/null @@ -1,65 +0,0 @@ -# Example Zoe Contracts - - - -While Zoe provides the means to build custom smart contracts, there is a good chance you will -want to use one that follows a commonly-used structure. Therefore, we currently provide several -pre-built example contracts that can be imported and run on Zoe. Note that none of the contracts described below are automatically deployed on-chain. - -## Oracle Contracts - -| Contract | Description | -| --- | --- | -| [Oracle Query](./oracle.md) | A low-level oracle contract for querying [Chainlink](https://docs.chain.link/docs/request-and-receive-data#config) or other oracles. | -| [PriceAuthority](/guides/zoe/price-authority.md) | To use an price oracle in your own contract, we recommend using the `priceAuthority` higher-level abstraction. | - -## DeFi Contracts - -These contracts create various sorts of financial instruments. - -| Contract | Description | -| --- | --- | -| [Vault](./vault.md) | The Vault is the primary mechanism for making IST (the Agoric stable-value currency) available to participants in the economy. It does this by issuing loans against supported types of collateral. The creator of the contract can add new types of collateral. (This is expected to be under the control of on-chain governance after the initial currencies are defined when the contract starts up.) | -| [Loan](./loan.md) | A basic collateralized loan contract. | -| [Funded Call Spread](./fundedCallSpread.md) | Creates a pair of fully collateralized call spread options. They are ERTP assets and can be used as such in other contracts. This contract has two variants, which affect how invitations are created. This version is fully funded by the creator, who receives a matching pair of call spread options. They can be traded or sold separately. | -|[Priced Call Spread](./pricedCallSpread.md) | Creates a pair of fully collateralized call spread options. They are ERTP assets and can be used as such in other contracts. This contract has two variants, which affect how invitations are created. In this version, the creator requests a pair of invitations. Each one lets the holder obtain one of the positions by providing a started portion of the collateral. This version is useful for a market maker who finds pairs of participants with matching interests. | -| [Covered Call](./covered-call.md) | Creates a call option, which is the right to buy an underlying asset. | -| [OTC Desk](./otc-desk.md) | A contract for giving quotes that can be exercised. The quotes are guaranteed to be exercisable because they are actually options with escrowed underlying assets. | - -## AMM (Automatic Market Maker) Contract - -| Contract | Description | -| --- | --- | -| [ConstantProduct AMM](./constantProductAMM.md) | An automated market maker with multiple liquidity pools that can trade between any pair of funded currencies. It charges a poolFee (added to the liquidity pools) and a protocolFee (set aside for the benefit of the Agoric economy). These fees are subject to change by votes controlled by and made visible by the governance system. | - -## Generic Sales/Trading Contracts - -These contracts involve trading or selling ERTP digital assets. - -| Contract | Description | -| --- | --- | -| [Sell Items](./sell-items.md) | A generic sales contract, mostly used for selling NFTs for money. | -| [Atomic Swap](./atomic-swap.md) | A basic trade of digital assets between two parties. | -| [Barter Exchange](./barter-exchange.md) | An exchange with an order book letting all kinds of goods to be offered for explicit barter swaps. | -| [Second-Price Auction](./second-price-auction.md) | An auction in which the highest bidder wins and pays the second-highest bid. This version doesn't conceal the bids (an essential aspect of second price auctions). Therefore, **it should not be used in production**. | -| [Simple Exchange](./simple-exchange.md) | A basic exchange with an order book for one asset, priced in a second asset. | - -## Governance Contract - -| Contract | Description | -| --- | --- | -| [Escrow To Vote](./escrow-to-vote.md) | A coin voting contract in which votes are weighted by the escrowed governance tokens. | - -## Minting Contracts - -| Contract | Description | -| --- | --- | -| [Mint Payments](./mint-payments.md) | An example of minting fungible tokens. | -| [Mint and Sell NFTs](./mint-and-sell-nfts.md) | A contract that mints NFTs and sells them through a separate sales contract. | - -## Miscellaneous Contracts - -| Contract | Description | -| --- | --- | -| [Use Object](./use-obj-example.md) | An example of how you might associate the ability to take an action with ownership of a particular digital asset. In this case, you can color a pixel if you own the NFT for the pixel. | -| [Automatic Refund](./automatic-refund.md) | A trivial contract that gives the user back what they put in. | diff --git a/main/guides/zoe/contracts/constantProductAMM.md b/main/guides/zoe/contracts/constantProductAMM.md index fd94cbc38..34add6658 100644 --- a/main/guides/zoe/contracts/constantProductAMM.md +++ b/main/guides/zoe/contracts/constantProductAMM.md @@ -196,7 +196,7 @@ An instance of the ConstantProduct AMM is managed by a contractGovernor, which controls the ability to change contract parameters and add new types of collateral. The contractGovernor adds these four methods to the contract's publicFacet: -* `getSubscription()`: get a [Subscription](/guides/js-programming/notifiers.md) that +* `getSubscription()`: get a [Subscription](/guides/js-programming/notifiers) that updates when votes are called. * `getContractGovernor()`: returns the contractGovernor for verification. * `getGovernedParamsValues()`: returns a structure showing the current values of diff --git a/main/guides/zoe/contracts/fundedCallSpread.md b/main/guides/zoe/contracts/fundedCallSpread.md index dd7dc9491..e2d13144b 100644 --- a/main/guides/zoe/contracts/fundedCallSpread.md +++ b/main/guides/zoe/contracts/fundedCallSpread.md @@ -15,7 +15,7 @@ on the value of some good at a known future time. This video gives a There are two variants of the callSpread. This one is fully funded by its creator, who can then sell (or transfer another way) the options to other parties. The other is called the -[pricedCallSpread](./pricedCallSpread.md). It allows the creator to specify the proportion of the +[pricedCallSpread](./pricedCallSpread). It allows the creator to specify the proportion of the collateral that should be provided by the two parties. Each get an invitation to contribute a stated amount of collateral for a particular position. @@ -42,7 +42,7 @@ The issuerKeywordRecord specifies issuers for three keywords: Underlying, Strike The terms include `{ timer, underlyingAmount, expiration, priceAuthority, strikePrice1, strikePrice2, settlementAmount }`. - * `timer` is a [timer](/reference/repl/timerServices.md), and must be recognized by `priceAuthority`. + * `timer` is a [timer](/reference/repl/timerServices), and must be recognized by `priceAuthority`. * `expiration` is a time recognized by the `timer`. * `underlyingAmount` is passed to `priceAuthority`. It could be an NFT or a fungible amount. * `strikePrice2` must be greater than `strikePrice1`. @@ -52,7 +52,7 @@ strikePrice2, settlementAmount }`. stated time. After the deadline, it will issue a PriceQuote giving the value of the underlying asset in the strike currency. -<<< @/snippets/zoe/contracts/test-callSpread.js#startInstance +<<< @/../snippets/zoe/contracts/test-callSpread.js#startInstance ## Creating the Options @@ -60,7 +60,7 @@ The terms specify all the details of the options. However, the options are not h creator provides the collateral that will make them valuable. The creatorInvitation has customProperties including the amounts of the two options: `longAmount` and `shortAmount`. -<<< @/snippets/zoe/contracts/test-callSpread.js#invitationDetails +<<< @/../snippets/zoe/contracts/test-callSpread.js#invitationDetails The creator uses these option amounts to create an offer that ensures that they will get the two options in exchange for the funds. The proposal describes the desired options and provided @@ -68,7 +68,7 @@ collateral. When the offer is made, a payout is returned containing the two opti positions are invitations which can be exercised for free, and provide the option payouts under the keyword `Collateral`. -<<< @/snippets/zoe/contracts/test-callSpread.js#creatorInvitation +<<< @/../snippets/zoe/contracts/test-callSpread.js#creatorInvitation ## Validating the Options @@ -80,7 +80,7 @@ check that the expiration matches their expectations (here `3n` is a small integ manual timer in a test; in actual use, it might represent block height or wall clock time.) The strike prices and settlement amount are likewise visible. -<<< @/snippets/zoe/contracts/test-callSpread.js#verifyTerms +<<< @/../snippets/zoe/contracts/test-callSpread.js#verifyTerms ## Options can be Exercised Independently @@ -89,7 +89,7 @@ option is exercised after the closing price is determined, the payouts will stil two options make their payment available as soon after exercise as the price is available, and neither waits for the other to exercise. -<<< @/snippets/zoe/contracts/test-callSpread.js#bobExercise +<<< @/../snippets/zoe/contracts/test-callSpread.js#bobExercise There is a [unit test](https://github.com/Agoric/agoric-sdk/blob/0b44d486390768fbf828e64ce52c99192f67ada0/packages/zoe/test/unitTests/contracts/test-callSpread.js#L440) diff --git a/main/guides/zoe/contracts/index.md b/main/guides/zoe/contracts/index.md new file mode 100644 index 000000000..f091fc720 --- /dev/null +++ b/main/guides/zoe/contracts/index.md @@ -0,0 +1,65 @@ +# Example Zoe Contracts + + + +While Zoe provides the means to build custom smart contracts, there is a good chance you will +want to use one that follows a commonly-used structure. Therefore, we currently provide several +pre-built example contracts that can be imported and run on Zoe. Note that none of the contracts described below are automatically deployed on-chain. + +## Oracle Contracts + +| Contract | Description | +| --- | --- | +| [Oracle Query](./oracle) | A low-level oracle contract for querying [Chainlink](https://docs.chain.link/docs/request-and-receive-data#config) or other oracles. | +| [PriceAuthority](/guides/zoe/price-authority) | To use an price oracle in your own contract, we recommend using the `priceAuthority` higher-level abstraction. | + +## DeFi Contracts + +These contracts create various sorts of financial instruments. + +| Contract | Description | +| --- | --- | +| [Vault](./vault) | The Vault is the primary mechanism for making IST (the Agoric stable-value currency) available to participants in the economy. It does this by issuing loans against supported types of collateral. The creator of the contract can add new types of collateral. (This is expected to be under the control of on-chain governance after the initial currencies are defined when the contract starts up.) | +| [Loan](./loan) | A basic collateralized loan contract. | +| [Funded Call Spread](./fundedCallSpread) | Creates a pair of fully collateralized call spread options. They are ERTP assets and can be used as such in other contracts. This contract has two variants, which affect how invitations are created. This version is fully funded by the creator, who receives a matching pair of call spread options. They can be traded or sold separately. | +|[Priced Call Spread](./pricedCallSpread) | Creates a pair of fully collateralized call spread options. They are ERTP assets and can be used as such in other contracts. This contract has two variants, which affect how invitations are created. In this version, the creator requests a pair of invitations. Each one lets the holder obtain one of the positions by providing a started portion of the collateral. This version is useful for a market maker who finds pairs of participants with matching interests. | +| [Covered Call](./covered-call) | Creates a call option, which is the right to buy an underlying asset. | +| [OTC Desk](./otc-desk) | A contract for giving quotes that can be exercised. The quotes are guaranteed to be exercisable because they are actually options with escrowed underlying assets. | + +## AMM (Automatic Market Maker) Contract + +| Contract | Description | +| --- | --- | +| [ConstantProduct AMM](./constantProductAMM) | An automated market maker with multiple liquidity pools that can trade between any pair of funded currencies. It charges a poolFee (added to the liquidity pools) and a protocolFee (set aside for the benefit of the Agoric economy). These fees are subject to change by votes controlled by and made visible by the governance system. | + +## Generic Sales/Trading Contracts + +These contracts involve trading or selling ERTP digital assets. + +| Contract | Description | +| --- | --- | +| [Sell Items](./sell-items) | A generic sales contract, mostly used for selling NFTs for money. | +| [Atomic Swap](./atomic-swap) | A basic trade of digital assets between two parties. | +| [Barter Exchange](./barter-exchange) | An exchange with an order book letting all kinds of goods to be offered for explicit barter swaps. | +| [Second-Price Auction](./second-price-auction) | An auction in which the highest bidder wins and pays the second-highest bid. This version doesn't conceal the bids (an essential aspect of second price auctions). Therefore, **it should not be used in production**. | +| [Simple Exchange](./simple-exchange) | A basic exchange with an order book for one asset, priced in a second asset. | + +## Governance Contract + +| Contract | Description | +| --- | --- | +| [Escrow To Vote](./escrow-to-vote) | A coin voting contract in which votes are weighted by the escrowed governance tokens. | + +## Minting Contracts + +| Contract | Description | +| --- | --- | +| [Mint Payments](./mint-payments) | An example of minting fungible tokens. | +| [Mint and Sell NFTs](./mint-and-sell-nfts) | A contract that mints NFTs and sells them through a separate sales contract. | + +## Miscellaneous Contracts + +| Contract | Description | +| --- | --- | +| [Use Object](./use-obj-example) | An example of how you might associate the ability to take an action with ownership of a particular digital asset. In this case, you can color a pixel if you own the NFT for the pixel. | +| [Automatic Refund](./automatic-refund) | A trivial contract that gives the user back what they put in. | diff --git a/main/guides/zoe/contracts/loan.md b/main/guides/zoe/contracts/loan.md index b8f9e5da7..7e32be177 100644 --- a/main/guides/zoe/contracts/loan.md +++ b/main/guides/zoe/contracts/loan.md @@ -26,13 +26,13 @@ loaned amount and interest must be of the same (separate) brand. percent. The default is 150, meaning that collateral should be worth at least 150% of the loan. If the value of the collateral drops below `mmr`, liquidation can occur. -* [`priceAuthority`](/guides/zoe/price-authority.md) - used for getting the current value of +* [`priceAuthority`](/guides/zoe/price-authority) - used for getting the current value of collateral and setting liquidation triggers. * `autoswapInstance` - The running contract instance for - [AMM](./constantProductAMM.md) installation. The `publicFacet` + [AMM](./constantProductAMM) installation. The `publicFacet` of the instance is used to make an invitation to sell the collateral on liquidation. -* `periodNotifier` - the [notifier](/guides/js-programming/notifiers.md) used for notifications +* `periodNotifier` - the [notifier](/guides/js-programming/notifiers) used for notifications that a period has passed, on which compound interest will be calculated using the `interestRate`. * `interestRate` - the rate in [basis points](https://www.investopedia.com/terms/b/basispoint.asp) that will be multiplied @@ -70,7 +70,7 @@ the exit rule was `waived`, a borrower could hold on to their invitation and effectively lock up the lender's escrowed loan amount forever. -<<< @/snippets/zoe/contracts/test-loan.js#lend +<<< @/../snippets/zoe/contracts/test-loan.js#lend ## The Borrower @@ -81,16 +81,16 @@ is exited at this point so the borrower gets the payout of their loan. The borrower also gets an object (`borrowFacet`) as their `offerResult` that lets them continue interacting with the contract. -<<< @/snippets/zoe/contracts/test-loan.js#borrow +<<< @/../snippets/zoe/contracts/test-loan.js#borrow Once the loan starts, the borrower can repay the loan in its entirety at any time (at which point the lender receives the loan amount back plus interest, and the contract closes), or add more collateral to prevent liquidation. -<<< @/snippets/zoe/contracts/test-loan.js#closeLoanInvitation +<<< @/../snippets/zoe/contracts/test-loan.js#closeLoanInvitation -<<< @/snippets/zoe/contracts/test-loan.js#addCollateralInvitation +<<< @/../snippets/zoe/contracts/test-loan.js#addCollateralInvitation ## Contract Shutdown @@ -112,7 +112,7 @@ is defined by the `interestRate` parameter. The `borrowFacet` has methods to get the current amount owed (`E(borrowFacet).getRecentCollateralAmount()`), or get a -[notifier](/guides/js-programming/notifiers.md) that will be updated when the debt +[notifier](/guides/js-programming/notifiers) that will be updated when the debt is recalculated. The contract also reveals the last timestamp at which debt was recalculated: (`E(borrowFacet).getLastCalculationTimestamp()`). @@ -122,12 +122,12 @@ Liquidation is scheduled using the `priceAuthority` parameter. Specifically, the contract gets a promise resolved when the value of the collateral falls below a trigger value defined by the `mmr` parameter: -<<< @/snippets/zoe/contracts/test-loan.js#liquidate +<<< @/../snippets/zoe/contracts/test-loan.js#liquidate The borrower can self-forewarn about a potential liquidation by setting up their own margin calls. -They do this by getting the [`priceAuthority`](/guides/zoe/price-authority.md) from the terms and calling: +They do this by getting the [`priceAuthority`](/guides/zoe/price-authority) from the terms and calling: -<<< @/snippets/zoe/contracts/test-loan.js#customMarginCall +<<< @/../snippets/zoe/contracts/test-loan.js#customMarginCall where `myWarningLevel` is the value of the collateral in the Loan brand at which they want a reminder to add collateral. diff --git a/main/guides/zoe/contracts/oracle.md b/main/guides/zoe/contracts/oracle.md index 317e17cef..168f3f3ff 100644 --- a/main/guides/zoe/contracts/oracle.md +++ b/main/guides/zoe/contracts/oracle.md @@ -7,7 +7,7 @@ **NOTE: You almost certainly do not want to use this contract directly. Instead, please read the [Chainlink integration -documentation](/guides/chainlink-integration.md)** +documentation](/guides/chainlink-integration)** This contract lets other contracts or users make single free or fee-based queries to a generic oracle node (a single instance). This provides a very @@ -21,14 +21,14 @@ individual node.** Relying on just a single node can be both expensive and risky. Instead, use the higher-level APIs described in the [Chainlink integration -documentation](/guides/chainlink-integration.md). +documentation](/guides/chainlink-integration). ## Making a Free Query To make a free query, obtain the `publicFacet` for the oracle contract instance. -<<< @/snippets/zoe/contracts/test-oracle.js#freeQuery +<<< @/../snippets/zoe/contracts/test-oracle.js#freeQuery The `query` that is passed in could be in any format that the oracle accepts. The response can be in any format, as the oracle determines. @@ -40,29 +40,29 @@ before, but this time, make a `queryInvitation`. Use the `queryInvitation` to make an offer and escrow the required payments in the `Fee` brand. The response will be the result of your offer. -<<< @/snippets/zoe/contracts/test-oracle.js#paidQuery +<<< @/../snippets/zoe/contracts/test-oracle.js#paidQuery ## Instantiating a New Oracle Contract If you want to create your own oracle contract instance, first bundle and install the code if it is not already installed. -<<< @/snippets/zoe/contracts/test-oracle.js#bundle +<<< @/../snippets/zoe/contracts/test-oracle.js#bundle Then start the contract instance. You will receive a `publicFacet` and a `creatorFacet`. -<<< @/snippets/zoe/contracts/test-oracle.js#startInstance +<<< @/../snippets/zoe/contracts/test-oracle.js#startInstance You will need to use the creatorFacet to initialize an `oracleHandler`. The `oracleHandler` is what will actually be queried, so we do not want to put it in the contract terms, which are publicly accessible. -<<< @/snippets/zoe/contracts/test-oracle.js#initialize +<<< @/../snippets/zoe/contracts/test-oracle.js#initialize ## The Oracle Handler API The contract expects all `oracleHandlers` to offer the following API: -<<< @/snippets/zoe/contracts/test-oracle.js#API +<<< @/../snippets/zoe/contracts/test-oracle.js#API diff --git a/main/guides/zoe/contracts/pricedCallSpread.md b/main/guides/zoe/contracts/pricedCallSpread.md index f27aab6cf..248059941 100644 --- a/main/guides/zoe/contracts/pricedCallSpread.md +++ b/main/guides/zoe/contracts/pricedCallSpread.md @@ -15,7 +15,7 @@ on the value of some good at a known future time. This video gives a There are two variants of the callSpread. In this version, the creator requests a pair of invitations, each of which enables the holder to obtain one of the positions by providing a started -portion of the collateral. The other is called the [fundedCallSpread](./fundedCallSpread.md). It is +portion of the collateral. The other is called the [fundedCallSpread](./fundedCallSpread). It is fully funded by its creator, who can then sell (or otherwise transfer) the options to other parties. The Zoe invitations representing options are produced in pairs. The individual options are Zoe invitations whose details are inspectable by prospective purchasers. @@ -43,7 +43,7 @@ The issuerKeywordRecord specifies issuers for three keywords: Underlying, Strike The terms include `{ timer, underlyingAmount, expiration, priceAuthority, strikePrice1, strikePrice2, settlementAmount }`. - * `timer` is a [timer](/reference/repl/timerServices.md), and must be recognized by `priceAuthority`. + * `timer` is a [timer](/reference/repl/timerServices), and must be recognized by `priceAuthority`. * `expiration` is a time recognized by the `timer`. * `underlyingAmount` is passed to `priceAuthority`. It could be an NFT or a fungible amount. * `strikePrice2` must be greater than `strikePrice1`. @@ -53,7 +53,7 @@ strikePrice2, settlementAmount }`. stated time. After the deadline, it will issue a PriceQuote giving the value of the underlying asset in the strike currency. -<<< @/snippets/zoe/contracts/test-callSpread.js#startInstancePriced +<<< @/../snippets/zoe/contracts/test-callSpread.js#startInstancePriced ## Creating the Option Invitations @@ -61,7 +61,7 @@ The terms specify all the details of the options. A call to `creatorFacet.makeIn required to specify the share (as a whole number percentage in BigInt form) that will be contributed for the long position. It returns a pair of invitations. -<<< @/snippets/zoe/contracts/test-callSpread.js#makeInvitationPriced +<<< @/../snippets/zoe/contracts/test-callSpread.js#makeInvitationPriced The creator gives these invitations to the two parties (or might retain one for their own use.) When Bob receives an invitation, he can extract the value of the call spread option that he wants, and @@ -69,26 +69,26 @@ create a proposal. The collateral required is also in the option's details. The invitations can exercise with the required collateral to receive the actual call spread option positions. -<<< @/snippets/zoe/contracts/test-callSpread.js#exercisePricedInvitation +<<< @/../snippets/zoe/contracts/test-callSpread.js#exercisePricedInvitation ## Validating the Options The options are packaged as invitations so they are fully self-describing, and can be verified with Zoe, so their value is apparent to anyone who might be interested in them. -<<< @/snippets/zoe/contracts/test-callSpread.js#validatePricedInvitation +<<< @/../snippets/zoe/contracts/test-callSpread.js#validatePricedInvitation The details of the underlying call spread option are accessible from the terms associated with this instance of the contract. -<<< @/snippets/zoe/contracts/test-callSpread.js#checkTerms-priced +<<< @/../snippets/zoe/contracts/test-callSpread.js#checkTerms-priced ## Options can be Exercised Independently The option position invitations can be exercised for free, and provide their payouts under the keyword `Collateral`. -<<< @/snippets/zoe/contracts/test-callSpread.js#bobExercise +<<< @/../snippets/zoe/contracts/test-callSpread.js#bobExercise The contract doesn't rely on the options being exercised before the specified close. If either option is exercised after the closing price is determined, the payouts will still be available. The diff --git a/main/guides/zoe/README.md b/main/guides/zoe/index.md similarity index 86% rename from main/guides/zoe/README.md rename to main/guides/zoe/index.md index 89862fa98..7e2c06c92 100644 --- a/main/guides/zoe/README.md +++ b/main/guides/zoe/index.md @@ -49,14 +49,14 @@ The results look something like... The test uses `createRequire` from the node `module` API to resolve the main module specifier: -<<< @/snippets/zoe/contracts/test-bundle-source.js#bundleSourceImports +<<< @/../snippets/zoe/contracts/test-bundle-source.js#bundleSourceImports -<<< @/snippets/zoe/contracts/test-bundle-source.js#contractPath +<<< @/../snippets/zoe/contracts/test-bundle-source.js#contractPath ::: `bundleSource()` returns a bundle object with `moduleFormat`, a hash, and the contents: -<<< @/snippets/zoe/contracts/test-bundle-source.js#testBundleSource{1} +<<< @/../snippets/zoe/contracts/test-bundle-source.js#testBundleSource{1} ::: details Getting the zip file from inside a bundle @@ -94,7 +94,7 @@ yarn ava test/test-contract.js -m 'Install the contract' The test starts by using `makeZoeKitForTest` to set up zoe for testing: -<<< @/snippets/zoe/contracts/test-bundle-source.js#importZoeForTest +<<< @/../snippets/zoe/contracts/test-bundle-source.js#importZoeForTest ```js const { zoeService: zoe } = makeZoeKitForTest(); @@ -115,7 +115,7 @@ go over in detail in the sections below. ::: details gameAssetContract.js listing -<<< @/snippets/zoe/src/gameAssetContract.js#file +<<< @/../snippets/zoe/src/gameAssetContract.js#file ::: @@ -166,11 +166,11 @@ The contract uses this `zcf` to get its terms. Likewise it uses `zcf` to make a `gameSeat` where it can store assets that it receives in trade as well as a `mint` for making assets consisting of collections (bags) of Places: -<<< @/snippets/zoe/src/gameAssetContract.js#start +<<< @/../snippets/zoe/src/gameAssetContract.js#start It defines a `joinShape` and `joinHandler` but doesn't do anything with them yet. They will come into play later. It defines and returns its `publicFacet` and stands by. -<<< @/snippets/zoe/src/gameAssetContract.js#started +<<< @/../snippets/zoe/src/gameAssetContract.js#started ## Trading with Offer Safety @@ -224,12 +224,12 @@ Alice starts by using the `instance` to get the contract's `publicFacet` and `te -<<< @/snippets/zoe/contracts/alice-trade.js#queryInstance +<<< @/../snippets/zoe/contracts/alice-trade.js#queryInstance Then she constructs a _proposal_ to give the `joinPrice` in exchange for 1 Park Place and 1 Boardwalk, denominated in the game's `Place` brand; and she withdraws a payment from her purse: -<<< @/snippets/zoe/contracts/alice-trade.js#makeProposal +<<< @/../snippets/zoe/contracts/alice-trade.js#makeProposal She then requests an _invitation_ to join the game; makes an _offer_ with (a promise for) this invitation, her proposal, and her payment; @@ -238,7 +238,7 @@ and awaits her **Places** payout: -<<< @/snippets/zoe/contracts/alice-trade.js#trade +<<< @/../snippets/zoe/contracts/alice-trade.js#trade ::: details Troubleshooting missing brands in offers @@ -249,12 +249,12 @@ Error#1: key Object [Alleged: IST brand] {} not found in collection brandToIssue ``` then it may be that your offer uses brands that are not known to the contract. -Use [E(zoe).getTerms()](/reference/zoe-api/zoe.md#e-zoe-getterms-instance) to find out what issuers +Use [E(zoe).getTerms()](/reference/zoe-api/zoe#e-zoe-getterms-instance) to find out what issuers are known to the contract. If you're writing or instantiating the contract, you can tell the contract about issuers when you are [creating an instance](#starting-a-contract-instance) or by using -[zcf.saveIssuer()](/reference/zoe-api/zoe-contract-facet.md#zcf-saveissuer-issuer-keyword). +[zcf.saveIssuer()](/reference/zoe-api/zoe-contract-facet#zcf-saveissuer-issuer-keyword). ::: @@ -263,7 +263,7 @@ The contract gets Alice's `E(publicFacet).makeJoinInvitation()` call and uses `z -<<< @/snippets/zoe/src/gameAssetContract.js#makeInvitation +<<< @/../snippets/zoe/src/gameAssetContract.js#makeInvitation The offer handler is invoked with a _seat_ representing the party making the offer. It extracts the `give` and `want` from the party's offer and checks that @@ -277,7 +277,7 @@ and allocate the minted places to the player. Finally, it concludes its business -<<< @/snippets/zoe/src/gameAssetContract.js#handler +<<< @/../snippets/zoe/src/gameAssetContract.js#handler Zoe checks that the contract's instructions are consistent with the offer and with conservation of assets. Then it allocates @@ -290,19 +290,19 @@ and tests that it's what she wanted. -<<< @/snippets/zoe/contracts/alice-trade.js#payouts +<<< @/../snippets/zoe/contracts/alice-trade.js#payouts ## Example Contracts Agoric has written [a number of example contracts that you can -use](/zoe/guide/contracts/), including: +use](./contracts/index), including: - an [Automated Market Maker (AMM) - implementation](/zoe/guide/contracts/constantProductAMM.md) -- a [covered call option contract](./contracts/covered-call.md) -- an [OTC Desk market maker contract](./contracts/otc-desk.md) -- contracts for [minting fungible](./contracts/mint-payments.md) and - [non-fungible tokens](./contracts/mint-and-sell-nfts.md) + implementation](./contracts/constantProductAMM) +- a [covered call option contract](./contracts/covered-call) +- an [OTC Desk market maker contract](./contracts/otc-desk) +- contracts for [minting fungible](./contracts/mint-payments) and + [non-fungible tokens](./contracts/mint-and-sell-nfts) ::: warning Beta Features diff --git a/main/guides/zoe/offer-enforcement.md b/main/guides/zoe/offer-enforcement.md index 06d554103..7bc9c0360 100644 --- a/main/guides/zoe/offer-enforcement.md +++ b/main/guides/zoe/offer-enforcement.md @@ -24,7 +24,7 @@ payments) involve an exchange of digital assets that can be put in terms of offer proposals. We can say things like, "I'll give you [three wool for two bricks](https://en.wikipedia.org/wiki/Catan)." [Learn more about the -particulars of structuring an offer proposal here](./proposal.md). +particulars of structuring an offer proposal here](./proposal). Offers are a structured way of describing user intent. To a certain extent, an offer's rules (called a *proposal*) are the user's @@ -66,7 +66,7 @@ even if we don't trust each other. We are assured that at worst, if the swap contract behaves badly, we both get a refund, and at best, we get what we each wanted. -Let's look at the basic [Atomic Swap contract](/guides/zoe/contracts/atomic-swap.md) +Let's look at the basic [Atomic Swap contract](/guides/zoe/contracts/atomic-swap) (link includes [real contract code](https://github.com/Agoric/agoric-sdk/blob/f29591519809dbadf19db0a26f38704d87429b89/packages/zoe/src/contracts/atomicSwap.js)). Here's a high-level overview of what happens: @@ -91,7 +91,7 @@ Here's a high-level overview of what happens: ## How to Write Smart Contracts Writing smart contracts that run on Zoe is easy. Let's look -at a simple contract like [Automatic Refund](/guides/zoe/contracts/automatic-refund.md) +at a simple contract like [Automatic Refund](/guides/zoe/contracts/automatic-refund) (link includes [real contract code](https://github.com/Agoric/agoric-sdk/blob/4e0aece631d8310c7ab8ef3f46fad8981f64d208/packages/zoe/src/contracts/automaticRefund.js)). It only does one thing, and it's pretty useless—it gives you back what you put in. @@ -135,12 +135,12 @@ several optional properties: ## Diving Deeper -Let's dive back into the [Atomic Swap contract](/guides/zoe/contracts/atomic-swap.md) +Let's dive back into the [Atomic Swap contract](/guides/zoe/contracts/atomic-swap) (link includes [real contract code](https://github.com/Agoric/agoric-sdk/blob/f29591519809dbadf19db0a26f38704d87429b89/packages/zoe/src/contracts/atomicSwap.js)). The contract first confirms that `issuers` are setup for the `Asset` and `Price` keywords. Those are the two items that will be swapped. -The following uses the [`assertIssuerKeywords` helper function](/reference/zoe-api/zoe-helpers.md#assertissuerkeywords-zcf-expected). It +The following uses the [`assertIssuerKeywords` helper function](/reference/zoe-api/zoe-helpers#assertissuerkeywords-zcf-expected). It checks properties of the running contract instance's terms. ```js const start = zcf => { @@ -153,7 +153,7 @@ the contract. When the associated `creatorInvitation` is used to make an offer, with the `seat` for that offer. This contract uses the -[`assertProposalShape` helper function](/reference/zoe-api/zoe-helpers.md#assertproposalshape-seat-expected) to +[`assertProposalShape` helper function](/reference/zoe-api/zoe-helpers#assertproposalshape-seat-expected) to check that the offer proposes the kind of trade the contract accepts. In this case, offers must have a proposal of the form: ```js @@ -177,7 +177,7 @@ The contract then uses `getProposal()` to extract the properties of the proposal `makeMatchingInvitation()` then constructs a `matchingSeatOfferHandler()` handler for the second offer, with the first offer's `want` and `give` in scope. This second handler is responsible for the final step. -It uses the [`swap` helper function](/reference/zoe-api/zoe-helpers.md#swap-zcf-leftseat-rightseat) +It uses the [`swap` helper function](/reference/zoe-api/zoe-helpers#swap-zcf-leftseat-rightseat) to attempt asset reallocation between the two seats as described above and then (whether or not the attempt succeeds) exits both seats, making payouts available to both parties. Finally, `matchingSeatOfferHandler()` shuts down the contract. @@ -217,5 +217,5 @@ and returns it as `creatorInvitation`. ``` The `creatorInvitation` is only available to the contract instance's creator -(see [`startInstance`](/reference/zoe-api/zoe.md#e-zoe-startinstance-installation-issuerkeywordrecord-terms-privateargs)). +(see [`startInstance`](/reference/zoe-api/zoe#e-zoe-startinstance-installation-issuerkeywordrecord-terms-privateargs)). The creator can use it to make their own offer, or can send it to some other party. diff --git a/main/guides/zoe/price-authority.md b/main/guides/zoe/price-authority.md index 4a2b189ee..73bedaa3e 100644 --- a/main/guides/zoe/price-authority.md +++ b/main/guides/zoe/price-authority.md @@ -56,5 +56,5 @@ by changing its trigger levels or by cancelling it. ## API Reference -The Price Authority API reference is a section of the [Zoe API reference](/reference/zoe-api/price-authority.md) +The Price Authority API reference is a section of the [Zoe API reference](/reference/zoe-api/price-authority) diff --git a/main/guides/zoe/proposal.md b/main/guides/zoe/proposal.md index 265240773..5e92b0297 100644 --- a/main/guides/zoe/proposal.md +++ b/main/guides/zoe/proposal.md @@ -4,15 +4,15 @@ ## Making An offer -To make an offer, you use [`E(zoe).offer(...)`](/reference/zoe-api/zoe.md#e-zoe-offer-invitation-proposal-paymentpkeywordrecord-offerargs), which takes up to four arguments: +To make an offer, you use [`E(zoe).offer(...)`](/reference/zoe-api/zoe#e-zoe-offer-invitation-proposal-paymentpkeywordrecord-offerargs), which takes up to four arguments: - An **invitation** to participate in this contract instance. - A **proposal** stating your offer conditions. -- The **payments** escrowed for the offer, each corresponding with a **give** [Keyword](/reference/zoe-api/zoe-data-types.md#keyword) in **proposal**. -- **offerArgs** expressing additional arguments for the **offerHandler** associated with the invitation by [`zcf.makeInvitation(...)`](/reference/zoe-api/zoe-contract-facet.md#zcf-makeinvitation-offerhandler-description-customdetails-proposalshape). +- The **payments** escrowed for the offer, each corresponding with a **give** [Keyword](/reference/zoe-api/zoe-data-types#keyword) in **proposal**. +- **offerArgs** expressing additional arguments for the **offerHandler** associated with the invitation by [`zcf.makeInvitation(...)`](/reference/zoe-api/zoe-contract-facet#zcf-makeinvitation-offerhandler-description-customdetails-proposalshape). ## Invitations -An [Invitation](/reference/zoe-api/zoe-data-types.md#invitation) is a special case of ERTP [Payment](/reference/ertp-api/payment.md). Each is linked to a specific contract [Instance](/reference/zoe-api/zoe-data-types.md#instance), and +An [Invitation](/reference/zoe-api/zoe-data-types#invitation) is a special case of ERTP [Payment](/reference/ertp-api/payment). Each is linked to a specific contract [Instance](/reference/zoe-api/zoe-data-types#instance), and having one gives you the right to participate in that contract instance by using that invitation as the first argument to `E(zoe).offer(...)`. @@ -33,13 +33,13 @@ const myProposal = harden({ exit: { onDemand: null }, }); ``` -**give** and **want** use [Keywords](/reference/zoe-api/zoe-data-types.md#keyword) defined by the contract. +**give** and **want** use [Keywords](/reference/zoe-api/zoe-data-types#keyword) defined by the contract. Keywords are unique identifiers per contract, that tie together proposals, payments to be escrowed, and payouts to users. In the example above, "Asset" and "Price" are the Keywords. However, in an auction contract, the Keywords might be "Asset" and "Bid". -Each `AmountMath.make` call above is just making an ERTP [Amount](/reference/ertp-api/ertp-data-types.md#amount), or description of digital assets. +Each `AmountMath.make` call above is just making an ERTP [Amount](/reference/ertp-api/ertp-data-types#amount), or description of digital assets. In this case, `AmountMath.make(quatloosBrand, 4n)` creates a description of 4 units of our imaginary Quatloos currency and `AmountMath.make(moolaBrand, 15n)` creates a description of 15 units of our imaginary Moola currency. (The "n" appended after each number indicates that @@ -48,7 +48,7 @@ rather than a [Number](https://developer.mozilla.org/en-US/docs/Web/JavaScript/R ::: warning Note Amounts are just _descriptions_ of assets, and have no intrinsic value of their own. -In contrast, [Payments](/reference/ertp-api/payment.md) hold actual digital assets. +In contrast, [Payments](/reference/ertp-api/payment) hold actual digital assets. ::: **exit** specifies how the offer can be cancelled. It must conform to one of three shapes: @@ -57,11 +57,11 @@ In contrast, [Payments](/reference/ertp-api/payment.md) hold actual digital asse - `{ afterDeadline: deadlineDetails }`: The offer is automatically cancelled after a deadline, as determined by its `timer` and `deadline` properties. -For more details, see [Proposals](/reference/zoe-api/zoe.md#proposals). +For more details, see [Proposals](/reference/zoe-api/zoe#proposals). ## Escrowed Payments -Using the same Keywords as the **give** object in your **proposal**, you must specify a [PaymentPKeywordRecord](/reference/zoe-api/zoe-data-types.md#keywordrecord) containing [Payments](/reference/ertp-api/payment.md) of the corresponding digital assets. +Using the same Keywords as the **give** object in your **proposal**, you must specify a [PaymentPKeywordRecord](/reference/zoe-api/zoe-data-types#keywordrecord) containing [Payments](/reference/ertp-api/payment) of the corresponding digital assets. Zoe escrows these payments on behalf of your offer until it is completed or rejected or the assets are reassigned to another offer. ```js diff --git a/main/index.md b/main/index.md new file mode 100644 index 000000000..6dab9851c --- /dev/null +++ b/main/index.md @@ -0,0 +1,112 @@ +--- +#### +# YAML section setting up the home page +# run `yarn docs:dev` at any time to start local dev server and access +# website at localhost:8080 by default +#### +layout: page +footer: Apache-2.0 Licensed | Copyright © 2023 - Agoric +--- + +
+
+ Receive our latest tutorials, webinar invites, and much more! Join our newsletter +
+ +
+ + +
+ +
+ + +
+ +
+ +

+ Learn the basics of HardenedJS +

+ It's JavaScript with the safety you expect - see why MetaMask uses it to safely run their Snaps technology for 30M+ customers. +

+ See the safety properties of our Zoe Framework +

+ From Offer Safety to the POLA, the Zoe Framework protects devs (and users) while writing your smart contract logic. +
+ +
+ +
+ +
+
+ +
+ + +
+
diff --git a/main/public/agoric-logo-red.svg b/main/public/agoric-logo-red.svg new file mode 100644 index 000000000..28822fa58 --- /dev/null +++ b/main/public/agoric-logo-red.svg @@ -0,0 +1,10 @@ + + + + + + + diff --git a/main/.vuepress/public/favicon-full.ico b/main/public/favicon-full.ico similarity index 100% rename from main/.vuepress/public/favicon-full.ico rename to main/public/favicon-full.ico diff --git a/main/.vuepress/public/logo.svg b/main/public/logo.svg similarity index 100% rename from main/.vuepress/public/logo.svg rename to main/public/logo.svg diff --git a/main/reference/assets/README.md b/main/reference/assets/index.md similarity index 100% rename from main/reference/assets/README.md rename to main/reference/assets/index.md diff --git a/main/reference/ertp-api/README.md b/main/reference/ertp-api/README.md deleted file mode 100644 index 5ac6fcc2e..000000000 --- a/main/reference/ertp-api/README.md +++ /dev/null @@ -1,31 +0,0 @@ -# ERTP API - -The ERTP API supports the following objects: - -| Object | Description | -| --- | --- | -| [Issuer](./issuer.md) | The authority on what holds digital assets of its kind. | -| [Mint](./mint.md) | Can issue new digital assets. | -| [Brand](./brand.md) | Identifies the asset type of the associated **Issuer** and **Mint**. | -| [Purse](./purse.md) | Holds digital assets. | -| [Payment](./payment.md) | Holds digital assets that are in transit. | - - - -The ETRP API uses the following library: - -| Object | Description | -| --- | --- | -| [AmountMath](./amount-math.md) | The **AmountMath** object has several methods which can be used to manipulate and analyze **[Amounts](./ertp-data-types.md#amount)**. | - - -The ERTP API introduces and uses the following data types: - -| Data Type | Description | -| --- | --- | -| [Amount](./ertp-data-types.md#amount) | Describes digital assets, specifying the number and **[Brand](./brand.md)** of assets. Note that **Amounts** can describe either fungible or non-fungible assets. | -| [AmountShape](./ertp-data-types.md#amountshape) | Describes digital assets, specifying the properties and **[Brand](./brand.md)** of assets. | -| [AmountValue](./ertp-data-types.md#amountvalue) | Describes how much of something there is. | -| [AssetKind](./ertp-data-types.md#assetkind) | Specifies whether an **Amount** is fungible or non-fungible. | -| [DisplayInfo](./ertp-data-types.md#displayinfo) | Specifies how to display a **Brand**'s **Amounts**. | - diff --git a/main/reference/ertp-api/amount-math.md b/main/reference/ertp-api/amount-math.md index b2ca9610e..abfb11b7e 100644 --- a/main/reference/ertp-api/amount-math.md +++ b/main/reference/ertp-api/amount-math.md @@ -1,6 +1,6 @@ # AmountMath Object -Library for manipulating and analyzing **[Amounts](./ertp-data-types.md#amount)**. +Library for manipulating and analyzing **[Amounts](./ertp-data-types#amount)**. ## Importing and Using AmountMath @@ -9,18 +9,18 @@ To use **AmountMath**, import it from ERTP: ## Brand Parameters -Note that many **AmountMath** methods have an optional **[Brand](./brand.md)** parameter. +Note that many **AmountMath** methods have an optional **[Brand](./brand)** parameter. For these methods, you should pass in a **Brand** argument you got from when -you need to do an "absolute" check on the **Brand** within an **[Amount](./ertp-data-types.md#amount)** parameter. +you need to do an "absolute" check on the **Brand** within an **[Amount](./ertp-data-types#amount)** parameter. In this case, you want to use the **Brand** you got from the **Issuer** (or from Zoe) as the optional parameter to compare the **Amount** **Brand**(s) to. If they are not equal, an error is thrown and no changes are made. ## AmountMath.make(brand, allegedValue) -- **brand**: **[Brand](./brand.md)** -- **allegedValue**: **[AmountValue](./ertp-data-types.md#amountvalue)** -- Returns: **[Amount](./ertp-data-types.md#amount)** +- **brand**: **[Brand](./brand)** +- **allegedValue**: **[AmountValue](./ertp-data-types#amountvalue)** +- Returns: **[Amount](./ertp-data-types#amount)** Creates an **Amount** from a given **Brand** and **AmountValue**. @@ -29,8 +29,8 @@ const bid = AmountMath.make(quatloosBrand, 300n); ``` ## AmountMath.coerce(brand, allegedAmount) -- **brand**: **[Brand](./brand.md)** -- **allegedAmount**: **[Amount](./ertp-data-types.md#amount)** +- **brand**: **[Brand](./brand)** +- **allegedAmount**: **[Amount](./ertp-data-types#amount)** - Returns: **Amount** Verifies that an **Amount** is for the specified *brand* and returns an equivalent **Amount**. @@ -41,9 +41,9 @@ const verifiedAmount = AmountMath.coerce(quatloosBrand, bid); ``` ## AmountMath.getValue(brand, amount) -- **brand**: **[Brand](./brand.md)** -- **amount**: **[Amount](./ertp-data-types.md#amount)** -- Returns: **[AmountValue](./ertp-data-types.md#amountvalue)** +- **brand**: **[Brand](./brand)** +- **amount**: **[Amount](./ertp-data-types#amount)** +- Returns: **[AmountValue](./ertp-data-types#amountvalue)** Returns the **AmountValue** from the given **Amount**. @@ -55,9 +55,9 @@ AmountMath.getValue(quatloosBrand, quatloos123); ``` ## AmountMath.makeEmpty(brand, assetKind) -- **brand**: **[Brand](./brand.md)** -- **assetKind**: **[AssetKind](./ertp-data-types.md#assetkind)** -- Returns: **[Amount](./ertp-data-types.md#amount)** +- **brand**: **[Brand](./brand)** +- **assetKind**: **[AssetKind](./ertp-data-types#assetkind)** +- Returns: **[Amount](./ertp-data-types#amount)** Returns the **Amount** representing an empty **Amount** for the *brand* parameter's **Brand**. This is the identity element for **AmountMath.add()** @@ -70,7 +70,7 @@ const empty = AmountMath.makeEmpty(quatloosBrand, AssetKind.NAT); ``` ## AmountMath.makeEmptyFromAmount(amount) -- **amount**: **[Amount](./ertp-data-types.md#amount)** +- **amount**: **[Amount](./ertp-data-types#amount)** - Returns: **Amount** Returns an empty **Amount** for the **Brand** of the *amount* parameter. @@ -83,8 +83,8 @@ const zeroQuatloos = AmountMath.makeEmptyFromAmount(bid); ``` ## AmountMath.isEmpty(amount, brand?) -- **amount**: **[Amount](./ertp-data-types.md#amount)** -- **brand**: **[Brand](./brand.md)** - Optional, defaults to **undefined**. +- **amount**: **[Amount](./ertp-data-types#amount)** +- **brand**: **[Brand](./brand)** - Optional, defaults to **undefined**. - Returns: **Boolean** Returns **true** if the **Amount** is empty. Otherwise returns **false**. @@ -103,12 +103,12 @@ const result = AmountMath.isEmpty(quatloos1); ``` ## AmountMath.isGTE(leftAmount, rightAmount, brand?) -- **leftAmount**: **[Amount](./ertp-data-types.md#amount)** +- **leftAmount**: **[Amount](./ertp-data-types#amount)** - **rightAmount**: **Amount** -- **brand**: **[Brand](./brand.md)** - Optional, defaults to **undefined**. +- **brand**: **[Brand](./brand)** - Optional, defaults to **undefined**. - Returns: **Boolean** -Returns **true** if the **[AmountValue](./ertp-data-types.md#amountvalue)** of *leftAmount* is greater than or equal to +Returns **true** if the **[AmountValue](./ertp-data-types#amountvalue)** of *leftAmount* is greater than or equal to the **AmountValue** of *rightAmount*. Both **Amount** arguments must have the same **Brand**. @@ -136,19 +136,19 @@ AmountMath.isGTE(quatloos5, quatloos5); ``` ## AmountMath.isEqual(leftAmount, rightAmount, brand?) -- **leftAmount**: **[Amount](./ertp-data-types.md#amount)** +- **leftAmount**: **[Amount](./ertp-data-types#amount)** - **rightAmount**: **Amount** -- **brand**: **[Brand](./brand.md)** - Optional, defaults to **undefined**. +- **brand**: **[Brand](./brand)** - Optional, defaults to **undefined**. - Returns: **Boolean** -Returns **true** if the **[AmountValue](./ertp-data-types.md#amountvalue)** of *leftAmount* is equal to +Returns **true** if the **[AmountValue](./ertp-data-types#amountvalue)** of *leftAmount* is equal to the **AmountValue** of *rightAmount*. Both **Amount** arguments must have the same **Brand**. If the optional *brand* argument doesn't match the **Amount**s' **Brand**, an error is thrown. For non-fungible **AmountValues**, "equal to" depends on the value of the -**Brand's** **[AssetKind](./ertp-data-types.md#assetkind)**. +**Brand's** **[AssetKind](./ertp-data-types#assetkind)**. For example, { 'seat 1', 'seat 2' } is considered unequal to { 'seat 2' } because the number of elements differ. @@ -171,9 +171,9 @@ AmountMath.isEqual(empty, quatloos10); ``` ## AmountMath.add(leftAmount, rightAmount, brand?) -- **leftAmount**: **[Amount](./ertp-data-types.md#amount)** +- **leftAmount**: **[Amount](./ertp-data-types#amount)** - **rightAmount**: **Amount** -- **brand**: **[Brand](./brand.md)** - Optional, defaults to **undefined**. +- **brand**: **[Brand](./brand)** - Optional, defaults to **undefined**. - Returns: **Amount** Returns a new **Amount** that is the combination of *leftAmount* and *rightAmount*. @@ -181,7 +181,7 @@ Both **Amount** arguments must have the same **Brand**. If the optional *brand* argument doesn't match the **Amount**s' **Brand**, an error is thrown. -For fungible **Amounts** this means adding their **[AmountValues](./ertp-data-types.md#amountvalue)**. For non-fungible +For fungible **Amounts** this means adding their **[AmountValues](./ertp-data-types#amountvalue)**. For non-fungible **Amounts**, it usually means including all of the elements from *leftAmount* and *rightAmount*. @@ -199,9 +199,9 @@ const combinedList = AmountMath.add(listAmountA, listAmountB); ``` ## AmountMath.subtract(leftAmount, rightAmount, brand?) -- **leftAmount**: **[Amount](./ertp-data-types.md#amount)** +- **leftAmount**: **[Amount](./ertp-data-types#amount)** - **rightAmount**: **Amount** -- **brand**: **[Brand](./brand.md)** - Optional, defaults to **undefined**. +- **brand**: **[Brand](./brand)** - Optional, defaults to **undefined**. - Returns: **Amount** Returns a new **Amount** that is the *leftAmount* minus the *rightAmount* (i.e., @@ -232,9 +232,9 @@ const badList = AmountMath.subtract(listAmountA, listAmountB) ``` ## AmountMath.min(x, y, brand?) -- **x**: **[Amount](./ertp-data-types.md#amount)** +- **x**: **[Amount](./ertp-data-types#amount)** - **y**: **Amount** -- **brand**: **[Brand](./brand.md)** - Optional, defaults to **undefined**. +- **brand**: **[Brand](./brand)** - Optional, defaults to **undefined**. - Returns: **Amount** Returns the minimum value between *x* and *y*. @@ -252,9 +252,9 @@ const comparisonResult = AmountMath.min(smallerAmount, largerAmount); ``` ## AmountMath.max(x, y, brand?) -- **x**: **[Amount](./ertp-data-types.md#amount)** +- **x**: **[Amount](./ertp-data-types#amount)** - **y**: **Amount** -- **brand**: **[Brand](./brand.md)** - Optional, defaults to **undefined**. +- **brand**: **[Brand](./brand)** - Optional, defaults to **undefined**. - Returns: **Amount** Returns the maximum value between *x* and *y*. @@ -276,9 +276,9 @@ const comparisonResult = AmountMath.max(smallerAmount, largerAmount); The following methods on other ERTP components and objects also either operate on or return an **Amount** or **AssetKind**. -- [**anIssuer.getAmountOf()**](./issuer.md#anissuer-getamountof-payment) +- [**anIssuer.getAmountOf()**](./issuer#anissuer-getamountof-payment) - Returns the **Amount** of a **Payment**. -- [**anIssuer.getAssetKind()**](./issuer.md#anissuer-getassetkind) +- [**anIssuer.getAssetKind()**](./issuer#anissuer-getassetkind) - Returns the **AssetKind** of the **Issuer**'s associated math helpers. -- [**zcf.getAssetKind()**](/reference/zoe-api/zoe-contract-facet.md#zcf-getassetkind-brand) +- [**zcf.getAssetKind()**](/reference/zoe-api/zoe-contract-facet#zcf-getassetkind-brand) - Returns the **AssetKind** associated with a **Brand**. diff --git a/main/reference/ertp-api/brand.md b/main/reference/ertp-api/brand.md index 157ae0a00..b550677cb 100644 --- a/main/reference/ertp-api/brand.md +++ b/main/reference/ertp-api/brand.md @@ -1,8 +1,8 @@ # Brand Object -A **Brand** identifies the asset type of the **[Issuer](./issuer.md)** and **[Mint](./mint.md)** +A **Brand** identifies the asset type of the **[Issuer](./issuer)** and **[Mint](./mint)** associated with the **Brand**. A given **Brand** has a one-to-one relationship -with an **Issuer** and a **Mint**, and a one-to-many relationship with **[Purses](./purse.md)** -and **[Payments](./payment.md)**. +with an **Issuer** and a **Mint**, and a one-to-many relationship with **[Purses](./purse)** +and **[Payments](./payment)**. For example, if you were to create a **Brand** that uses *Quatloos*: - There would be exactly one *Quatloos* **Issuer**. @@ -16,14 +16,14 @@ will always be associated with the *Quatloos* **Mint** and *Quatloos* **Issuer**. ## aBrand.isMyIssuer(allegedIssuer) -- **allegedIssuer**: **[Issuer](./issuer.md)** +- **allegedIssuer**: **[Issuer](./issuer)** - Returns: **Boolean** Returns **true** if *allegedIssuer* is the **Brand**'s **Issuer**. Returns **false** if it's not. Note that a **Brand** from an untrusted source can misrepresent its association with an **Issuer**. The claim should be cross-checked using the **Issuer's** -[**anIssuer.getBrand()**](./issuer.md#anissuer-getbrand) method for mutual agreement. +[**anIssuer.getBrand()**](./issuer#anissuer-getbrand) method for mutual agreement. ```js const isIssuer = brand.isMyIssuer(issuer); @@ -36,7 +36,7 @@ Returns the alleged name of the **Brand**. An alleged name is a human-readable string name of a type of digital asset. It should not be trusted as accurate since there is no public registry or -expectation of uniqueness. This means there can be multiple **[Issuers](./issuer.md)**, **[Mints](./mint.md)**, or **Brands** +expectation of uniqueness. This means there can be multiple **[Issuers](./issuer)**, **[Mints](./mint)**, or **Brands** with the same alleged name, and thus the name by itself does not uniquely identify an **Issuer**. Rather, the **Brand** object does that. @@ -49,12 +49,12 @@ const name = brand.getAllegedName(); ``` ## aBrand.getDisplayInfo() -- Returns: **[DisplayInfo](./ertp-data-types.md#displayinfo)** +- Returns: **[DisplayInfo](./ertp-data-types#displayinfo)** Returns the **DisplayInfo** associated with the **Brand**. You use a **DisplayInfo** object at the dapp and UI levels to correctly -display **[Amounts](./ertp-data-types.md#amount)**. For fungible tokens, use the **decimalPlaces** property +display **[Amounts](./ertp-data-types#amount)**. For fungible tokens, use the **decimalPlaces** property to display their value in the commonly used denomination, rather than the smallest denomination used for financial accounting (e.g., displaying in dollars rather than cents). @@ -64,7 +64,7 @@ const quatloosDisplay = quatloosBrand.getDisplayInfo(); ``` ## aBrand.getAmountShape() -- Returns: **[AmountShape](./ertp-data-types.md#amountshape)** +- Returns: **[AmountShape](./ertp-data-types#amountshape)** Returns the **AmountShape** for a **Brand** associated with a non-fungible asset. @@ -72,7 +72,7 @@ Returns the **AmountShape** for a **Brand** associated with a non-fungible asset ## Related Methods The following methods on other ERTP components are also related to the **Brand** object. -- [**anIssuer.getBrand()**](./issuer.md#anissuer-getbrand): Returns +- [**anIssuer.getBrand()**](./issuer#anissuer-getbrand): Returns the **Brand** for the **Issuer**. -- [**aPayment.getAllegedBrand()**](./payment.md#apayment-getallegedbrand): Returns +- [**aPayment.getAllegedBrand()**](./payment#apayment-getallegedbrand): Returns the **Payment**'s alleged **Brand**. diff --git a/main/reference/ertp-api/ertp-data-types.md b/main/reference/ertp-api/ertp-data-types.md index 0e4c01d07..31ed34fd4 100644 --- a/main/reference/ertp-api/ertp-data-types.md +++ b/main/reference/ertp-api/ertp-data-types.md @@ -5,8 +5,8 @@ ERTP introduces and uses several data types. ## Amount An **Amount** is a description of digital assets, answering the -questions "how much?" (its **[AmountValue](#amountvalue)**) and "of what kind?" (its **[Brand](./brand.md)**). -The **[AmountMath](./amount-math.md)** object +questions "how much?" (its **[AmountValue](#amountvalue)**) and "of what kind?" (its **[Brand](./brand)**). +The **[AmountMath](./amount-math)** object introduces a library of methods that can be used to manipulate and analyze **Amounts**. Note that **Amounts** can describe either fungible or non-fungible assets. @@ -21,11 +21,11 @@ someAmount: { ## AmountShape An **AmountShape** is a description of non-fungible digital assets. Similar to **[Amount](#amount)**, -**AmountShape** has 2 properties: a **[Brand](./brand.md)**, which states what kind of asset this is, +**AmountShape** has 2 properties: a **[Brand](./brand)**, which states what kind of asset this is, and a **ValueShape**, which is an object containing however many properties are required to describe this non-fungible asset. Note that an asset's **ValueShape** is defined by the *elementShape* parameter -when the asset's **[Issuer](./issuer.md)** is created via the -**[makeIssuerKit()](./issuer.md#makeissuerkit-allegedname-assetkind-displayinfo-optshutdownwithfailure-elementshape)** function. +when the asset's **[Issuer](./issuer)** is created via the +**[makeIssuerKit()](./issuer#makeissuerkit-allegedname-assetkind-displayinfo-optshutdownwithfailure-elementshape)** function. ```js someAmountShape: { @@ -41,7 +41,7 @@ An **AmountValue** is the part of an [Amount](#amount) that describes the value that can be owned or shared: how much, how many, or a description of a unique asset, such as $3, Pixel(3,2), or “Seat J12 for the show September 27th at 9:00pm”. For a fungible **Amount**, the **AmountValue** is usually a non-negative **BigInt** such as `10n` or `137n`. -For a non-fungible **Amount**, the **AmountValue** might be a [CopySet](/guides/js-programming/far.md#pass-styles-and-harden) containing strings naming particular rights or objects representing the rights directly. +For a non-fungible **Amount**, the **AmountValue** might be a [CopySet](/guides/js-programming/far#pass-styles-and-harden) containing strings naming particular rights or objects representing the rights directly. AmountValues must be [Keys](/glossary/#key). ## AssetKind @@ -54,10 +54,10 @@ There are several kinds of Assets. - **AssetKind.COPY_BAG** : Used with non-fungible assets where there can be duplicates. (e.g., weapons in a computer game). **AmountValues** are arrays of objects. Even though very different mathematical processes are performed, -**[AmountMath](./amount-math.md)** methods work for all kinds of assets. +**[AmountMath](./amount-math)** methods work for all kinds of assets. -Use **[makeIssuerKit()](./issuer.md#makeissuerkit-allegedname-assetkind-displayinfo-optshutdownwithfailure-elementshape)** to specify which **AssetKind** -your contract uses. See the **[Issuer](./issuer.md)** documentation for details on how to use this method. +Use **[makeIssuerKit()](./issuer#makeissuerkit-allegedname-assetkind-displayinfo-optshutdownwithfailure-elementshape)** to specify which **AssetKind** +your contract uses. See the **[Issuer](./issuer)** documentation for details on how to use this method. ```js import { AssetKind, makeIssuerKit } from '@agoric/ertp'; @@ -67,7 +67,7 @@ makeIssuerKit('kitties', AssetKind.COPY_SET); // Defaults to undefined DisplayIn ## DisplayInfo -A **DisplayInfo** data type is associated with a **[Brand](./brand.md)** and gives information about how +A **DisplayInfo** data type is associated with a **[Brand](./brand)** and gives information about how to display that **Brand**'s **[Amounts](#amount)**. **DisplayInfo** has one optional property, **decimalPlaces**, which takes a non-negative integer value. diff --git a/main/reference/ertp-api/index.md b/main/reference/ertp-api/index.md new file mode 100644 index 000000000..55821085d --- /dev/null +++ b/main/reference/ertp-api/index.md @@ -0,0 +1,31 @@ +# ERTP API + +The ERTP API supports the following objects: + +| Object | Description | +| --- | --- | +| [Issuer](./issuer) | The authority on what holds digital assets of its kind. | +| [Mint](./mint) | Can issue new digital assets. | +| [Brand](./brand) | Identifies the asset type of the associated **Issuer** and **Mint**. | +| [Purse](./purse) | Holds digital assets. | +| [Payment](./payment) | Holds digital assets that are in transit. | + + + +The ETRP API uses the following library: + +| Object | Description | +| --- | --- | +| [AmountMath](./amount-math) | The **AmountMath** object has several methods which can be used to manipulate and analyze **[Amounts](./ertp-data-types#amount)**. | + + +The ERTP API introduces and uses the following data types: + +| Data Type | Description | +| --- | --- | +| [Amount](./ertp-data-types#amount) | Describes digital assets, specifying the number and **[Brand](./brand)** of assets. Note that **Amounts** can describe either fungible or non-fungible assets. | +| [AmountShape](./ertp-data-types#amountshape) | Describes digital assets, specifying the properties and **[Brand](./brand)** of assets. | +| [AmountValue](./ertp-data-types#amountvalue) | Describes how much of something there is. | +| [AssetKind](./ertp-data-types#assetkind) | Specifies whether an **Amount** is fungible or non-fungible. | +| [DisplayInfo](./ertp-data-types#displayinfo) | Specifies how to display a **Brand**'s **Amounts**. | + diff --git a/main/reference/ertp-api/issuer.md b/main/reference/ertp-api/issuer.md index 89d1f96ba..d700b524d 100644 --- a/main/reference/ertp-api/issuer.md +++ b/main/reference/ertp-api/issuer.md @@ -1,13 +1,13 @@ # Issuer Object An **Issuer** is the authority on what holds digital assets of its kind. -While it cannot create new value by creating digital assets like a **[Mint](./mint.md)** can, -it recognizes and identifies **[Purses](./purse.md)** and **[Payments](./payment.md)** that carry actual value. +While it cannot create new value by creating digital assets like a **[Mint](./mint)** can, +it recognizes and identifies **[Purses](./purse)** and **[Payments](./payment)** that carry actual value. It can create empty **Purses** and transform **Payments** (by splitting, combining, burning, or exclusively claiming them). An **Issuer** has an unchangeable one-to-one relationship with the **Mint** and -**[Brand](./brand.md)** that were created with it. For any **Brands** for which you will accept +**[Brand](./brand)** that were created with it. For any **Brands** for which you will accept **Payments** in, you should obtain its **Issuer** from a trusted source. You can then rely on that **Issuer** as the authority to validate an untrusted **Payment** of that **Brand**. @@ -17,14 +17,14 @@ are ephemeral, so any object created there dies as soon as the script ends. ## makeIssuerKit(allegedName, assetKind?, displayInfo?, optShutdownWithFailure?, elementShape?) - **allegedName**: **String** -- **assetKind**: **[AssetKind](./ertp-data-types.md#assetkind)** - Optional, defaults to **AssetKind.NAT**. -- **displayInfo**: **[DisplayInfo](./ertp-data-types.md#displayinfo)** - Optional, defaults to **undefined**. +- **assetKind**: **[AssetKind](./ertp-data-types#assetkind)** - Optional, defaults to **AssetKind.NAT**. +- **displayInfo**: **[DisplayInfo](./ertp-data-types#displayinfo)** - Optional, defaults to **undefined**. - **optShutdownWithFailure** - Optional, defaults to **undefined**. - **elementShape** - Optional, defaults to **undefined**. - Returns **IssuerKit**. This is an object with three properties: - **issuer**: **Issuer** - - **mint**: **[Mint](./mint.md)** - - **brand**: **[Brand](./brand.md)** + - **mint**: **[Mint](./mint)** + - **brand**: **[Brand](./brand)** Creates and returns a new **Issuer** and its associated **Mint** and **Brand**. All three are in unchangeable one-to-one relationships with each other. @@ -35,12 +35,12 @@ is useful for debugging and double-checking assumptions, but should not be trust The optional *assetKind* parameter specifies the kind of asset associated with the **Issuer** about to be created. If no **AssetKind** argument is passed into the method, then the **Issuer**'s asset -kind defaults to **AssetKind.NAT**. **[AmountMath](./amount-math.md)**'s methods work with all the +kind defaults to **AssetKind.NAT**. **[AmountMath](./amount-math)**'s methods work with all the kinds of assets, but exactly what math or manipulation is performed varies depending on the **AssetKind**. The optional *displayInfo* parameter tells the UI how to -display **[Amounts](./ertp-data-types.md#amount)** of this **Brand**. +display **[Amounts](./ertp-data-types#amount)** of this **Brand**. The optional *optShutdownWithFailure* parameter should be used for mission-critical **Issuers**. This parameter is a function that will stop the vat hosting the @@ -49,7 +49,7 @@ The optional *optShutdownWithFailure* parameter should be used for mission-criti The optional *elementShape* parameter is only used when creating an **Issuer** that has a non-fungible asset associated with it. When used, the *elementShape* parameter is an object with however many properties are required to describe the asset. This object sets the -*valueShape's* properties of the asset's **[AmountShape](./ertp-data-types.md#amountshape)**. +*valueShape's* properties of the asset's **[AmountShape](./ertp-data-types#amountshape)**. ```js @@ -81,7 +81,7 @@ An alleged name is a human-readable string name of a kind of digital asset. An alleged name should not be trusted as accurate because there is no public registry or expectation of uniqueness. This -means there can be multiple **Issuers**, **[Mints](./mint.md)**, or **[Brands](./brand.md)** with the +means there can be multiple **Issuers**, **[Mints](./mint)**, or **[Brands](./brand)** with the same alleged name, and thus the name by itself does not uniquely identify an **Issuer**. Rather, the **Brand** does that. @@ -97,11 +97,11 @@ const quatloosIssuerAllegedName = quatloosIssuer.getAllegedName(); ``` ## anIssuer.getAssetKind() -- Returns: **[AssetKind](./ertp-data-types.md#assetkind)** +- Returns: **[AssetKind](./ertp-data-types#assetkind)** Returns the kind of the **Issuer**'s asset. -The **AssetKind** specifies what kind of values are used in **[Amounts](./ertp-data-types.md#amount)** for this **Issuer**. +The **AssetKind** specifies what kind of values are used in **[Amounts](./ertp-data-types#amount)** for this **Issuer**. ```js const { issuer: quatloosIssuer } = makeIssuerKit('quatloos'); @@ -111,12 +111,12 @@ moolaIssuer.getAssetKind(); // Returns 'copy_set', also known as 'AssetKind.COPY ``` ## anIssuer.getAmountOf(payment) -- **payment**: **[Payment](./payment.md)** -- Returns: **[Amount](./ertp-data-types.md#amount)** +- **payment**: **[Payment](./payment)** +- Returns: **[Amount](./ertp-data-types#amount)** Describes the **Payment**'s balance as an **Amount**. Because a **Payment** from an untrusted source cannot be trusted to provide its own true value, the **Issuer** must be used to -validate its **[Brand](./brand.md)** and report how much the returned **Amount** contains. +validate its **[Brand](./brand)** and report how much the returned **Amount** contains. ```js const { issuer: quatloosIssuer, mint: quatloosMint, brand: quatloosBrand } = @@ -126,10 +126,10 @@ quatloosIssuer.getAmountOf(quatloosPayment); // returns an amount of 100 Quatloo ``` ## anIssuer.getBrand() -- Returns: **[Brand](./brand.md)** +- Returns: **[Brand](./brand)** Returns the **Brand** for the **Issuer**. The **Brand** indicates the kind of digital asset -and is the same for the **Issuer**'s associated **[Mint](./mint.md)**, and any **[Purses](./purse.md)** and **[Payments](./payment.md)** of this particular +and is the same for the **Issuer**'s associated **[Mint](./mint)**, and any **[Purses](./purse)** and **[Payments](./payment)** of this particular kind. The **Brand** is not closely held, so this method should not be trusted to identify an **Issuer** alone. Fake digital assets and amounts can use another **Issuer's** **Brand**. @@ -140,9 +140,9 @@ const quatloosBrand = quatloosIssuer.getBrand(); ``` ## anIssuer.makeEmptyPurse() -- Returns: **[Purse](./purse.md)** +- Returns: **[Purse](./purse)** -Makes and returns an empty **Purse** that holds assets of the **[Brand](./brand.md)** associated with the **Issuer**. +Makes and returns an empty **Purse** that holds assets of the **[Brand](./brand)** associated with the **Issuer**. ```js const { issuer: quatloosIssuer } = makeIssuerKit('quatloos'); @@ -151,8 +151,8 @@ const quatloosPurse = quatloosIssuer.makeEmptyPurse(); ## **anIssuer.burn(payment, optAmount?)** -- **payment**: **[Payment](./payment.md)** -- **optAmount**: **[Amount](./ertp-data-types.md#amount)** - Optional. +- **payment**: **[Payment](./payment)** +- **optAmount**: **[Amount](./ertp-data-types#amount)** - Optional. - Returns: **Amount** @@ -178,8 +178,8 @@ const burntAmount = quatloosIssuer.burn(paymentToBurn, amountToBurn); ``` ## anIssuer.claim(payment, optAmount?) -- **payment**: **[Payment](./payment.md)** -- **optAmount**: **[Amount](./ertp-data-types.md#amount)** - Optional. +- **payment**: **[Payment](./payment)** +- **optAmount**: **[Amount](./ertp-data-types#amount)** - Optional. - Returns: **Payment** Transfers all digital assets from *payment* to a new **Payment** and consumes the @@ -202,8 +202,8 @@ const newPayment = quatloosIssuer.claim(originalPayment, amountToTransfer); ``` ## anIssuer.combine(paymentsArray, optTotalAmount?) -- **paymentsArray**: **Array<[Payment](./payment.md)>** -- **optTotalAmount**: **[Amount](./ertp-data-types.md#amount)** - Optional. +- **paymentsArray**: **Array<[Payment](./payment)>** +- **optTotalAmount**: **[Amount](./ertp-data-types#amount)** - Optional. - Returns: **Payment** Combines multiple **Payments** into one new **Payment**. If any item in *paymentsArray* is @@ -215,7 +215,7 @@ the total value of all **Payments** in *paymentsArray* must equal *optTotalAmount*. If they don't, the method throws an error, and the original **Payment** is unmodified. -Each **Payment** in *paymentsArray* must be associated with the same **[Brand](./brand.md)** as the **Issuer**. +Each **Payment** in *paymentsArray* must be associated with the same **[Brand](./brand)** as the **Issuer**. ```js const { issuer: quatloosIssuer, mint: quatloosMint, brand: quatloosBrand } = @@ -231,8 +231,8 @@ const combinedPayment = quatloosIssuer.combine(payments); ``` ## anIssuer.split(payment, paymentAmountA) -- **payment**: **[Payment](./payment.md)** -- **paymentAmountA**: **[Amount](./ertp-data-types.md#amount)** +- **payment**: **[Payment](./payment)** +- **paymentAmountA**: **[Amount](./ertp-data-types#amount)** - Returns: **Array<Payment>** Splits a single **Payment** into two new **Payments**, A and B, according to *paymentAmountA*. @@ -243,7 +243,7 @@ The original **Payment** is consumed and made unavailable for later use. If *payment* is a promise, the operation proceeds after it resolves to a **Payment**. -*payment* and *paymentAmountA* must both be associated with the same **[Brand](./brand.md)** as the **Issuer**. +*payment* and *paymentAmountA* must both be associated with the same **[Brand](./brand)** as the **Issuer**. ```js const { issuer: quatloosIssuer, mint: quatloosMint, brand: quatloosBrand } = @@ -254,8 +254,8 @@ const [paymentA, paymentB] = quatloosIssuer.split(oldPayment, AmountMath.make(qu ``` ## anIssuer.splitMany(payment, amountArray) -- **payment**: **[Payment](./payment.md)** -- **amountArray**: **Array<[Amount](./ertp-data-types.md#amount)>** +- **payment**: **[Payment](./payment)** +- **amountArray**: **Array<[Amount](./ertp-data-types#amount)>** - Returns: **Array<Payment>** Splits a single **Payment** into multiple **Payments**. @@ -266,7 +266,7 @@ The original **Payment** is consumed and made unavailable for later use. If *payment* is a promise, the operation proceeds after it resolves to a **Payment**. If the **Amounts** in *amountArray* don't add up to the value of *payment*, the operation fails. -*payment* and each **Amount** in *amountArray* must be associated with the same **[Brand](./brand.md)** as **Issuer**. +*payment* and each **Amount** in *amountArray* must be associated with the same **[Brand](./brand)** as **Issuer**. ```js const { issuer: quatloosIssuer, mint: quatloosMint, brand: quatloosBrand } = @@ -288,7 +288,7 @@ quatloosIssuer.splitMany(payment, badAmounts); ``` ## anIssuer.isLive(payment) -- **payment**: **[Payment](./payment.md)** +- **payment**: **[Payment](./payment)** - Returns: **Boolean** Returns **true** if the *payment* was created by the **Issuer** and is available for use diff --git a/main/reference/ertp-api/mint.md b/main/reference/ertp-api/mint.md index 679d66092..c12ca26bd 100644 --- a/main/reference/ertp-api/mint.md +++ b/main/reference/ertp-api/mint.md @@ -2,14 +2,14 @@ Only a **Mint** can issue new digital assets. -A **Mint** has a one-to-one relationship with both an **[Issuer](./issuer.md)** and a **[Brand](./brand.md)**. +A **Mint** has a one-to-one relationship with both an **[Issuer](./issuer)** and a **[Brand](./brand)**. So it can only mint new assets of that **Brand** and is the only **Mint** that can mint new assets of that **Brand**. -**Mints** are created by cqlling the **[makeIssuerKit()](./issuer.md#makeissuerkit-allegedname-assetkind-displayinfo-optshutdownwithfailure-elementshape)** function. See the **[Issuer](./issuer.md)** documentation for detailed information about how to use this function. +**Mints** are created by cqlling the **[makeIssuerKit()](./issuer#makeissuerkit-allegedname-assetkind-displayinfo-optshutdownwithfailure-elementshape)** function. See the **[Issuer](./issuer)** documentation for detailed information about how to use this function. ## aMint.getIssuer() -- Returns: **[Issuer](./issuer.md)** +- Returns: **[Issuer](./issuer)** Returns the **Issuer** uniquely associated with this **Mint**. From its creation, a **Mint** is always in an unchangeable one-to-one relationship with a particular **Issuer**. @@ -23,10 +23,10 @@ issuer === quatloosMintIssuer; ``` ## aMint.mintPayment(newAmount) -- **newAmount**: **[Amount](./ertp-data-types.md#amount)** -- Returns: **[Payment](./payment.md)** +- **newAmount**: **[Amount](./ertp-data-types#amount)** +- Returns: **[Payment](./payment)** -Creates and returns new digital assets of the **Mint**'s associated **[Brand](./brand.md)**. +Creates and returns new digital assets of the **Mint**'s associated **[Brand](./brand)**. From its creation, a **Mint** is always in an unchangeable one-to-one relationship with a **Brand**. diff --git a/main/reference/ertp-api/payment.md b/main/reference/ertp-api/payment.md index 54bf0085c..652cf4998 100644 --- a/main/reference/ertp-api/payment.md +++ b/main/reference/ertp-api/payment.md @@ -1,6 +1,6 @@ # Payment Object A **Payment** holds digital assets that are in transit or -expected to soon be in transit. It can be deposited in **[Purses](./purse.md)**, +expected to soon be in transit. It can be deposited in **[Purses](./purse)**, split into or combined with multiple **Payments**, or claimed (i.e., getting an exclusive **Payment** and revoking access from anyone else). @@ -16,22 +16,22 @@ take out, say, only 3 *Quatloos* from it. However, you can split a **Payment** into multiple **Payments**. For example, you could split a 10 *Quatloos* **Payment** into two new **Payments** of 3 *Quatloos* and 7 *Quatloos* by calling the -**[anIssuer.split()](./issuer.md#anissuer-split-payment-paymentamounta)** method which consumes the +**[anIssuer.split()](./issuer#anissuer-split-payment-paymentamounta)** method which consumes the original 10 *Quatloos* **Payment** and creates two new smaller **Payments**. **Payments** are often received from other actors. Since they are not self-verifying, -you cannot trust **Payments**. To get the verified balance of a **Payment**, call the **[anIssuer.getAmountOf()](./issuer.md#anissuer-getamountof-payment)** method. +you cannot trust **Payments**. To get the verified balance of a **Payment**, call the **[anIssuer.getAmountOf()](./issuer#anissuer-getamountof-payment)** method. To convert a **Payment** into a new **Purse**: -1. Get the **Payment**'s trusted **[Issuer](./issuer.md)**. +1. Get the **Payment**'s trusted **[Issuer](./issuer)**. 2. Use the **Issuer** to create an empty **Purse**. 3. Deposit the **Payment** into the new **Purse**. -**[aPurse.deposit()](./purse.md#apurse-deposit-payment-optamount)** consumes the **Payment**, +**[aPurse.deposit()](./purse#apurse-deposit-payment-optamount)** consumes the **Payment**, making it unavailable for later use. ## aPayment.getAllegedBrand() -- Returns: **[Brand](./brand.md)** +- Returns: **[Brand](./brand)** Returns the **Brand** indicating the kind of digital asset this **Payment** purports to be. Because **Payments** are not trusted, any method calls on them @@ -49,25 +49,25 @@ const allegedBrand = payment.getAllegedBrand(); The following methods on other ERTP components either operate on or return a **Payment**. -- [**anIssuer.burn()**](./issuer.md#anissuer-burn-payment-optamount) +- [**anIssuer.burn()**](./issuer#anissuer-burn-payment-optamount) - Destroys all of the digital assets in the **Payment**. -- [**anIssuer.claim()**](./issuer.md#anissuer-claim-payment-optamount) +- [**anIssuer.claim()**](./issuer#anissuer-claim-payment-optamount) - Transfers all digital assets from *payment* to a new **Payment**. -- [**anIssuer.combine()**](./issuer.md#anissuer-combine-paymentsarray-opttotalamount) +- [**anIssuer.combine()**](./issuer#anissuer-combine-paymentsarray-opttotalamount) - Combines multiple **Payments** into one new **Payment**. -- [**anIssuer.getAmountOf()**](./issuer.md#anissuer-getamountof-payment) +- [**anIssuer.getAmountOf()**](./issuer#anissuer-getamountof-payment) - Describes the **Payment**'s balance as an **Amount**. -- [**anIssuer.isLive()**](./issuer.md#anissuer-islive-payment) +- [**anIssuer.isLive()**](./issuer#anissuer-islive-payment) - Returns **true** if the **Payment** was created by the **Issuer** and is available for use (i.e., has not been consumed or burned). -- [**anIssuer.split()**](./issuer.md#anissuer-split-payment-paymentamounta) +- [**anIssuer.split()**](./issuer#anissuer-split-payment-paymentamounta) - Splits a single **Payment** into two new **Payments**. -- [**anIssuer.splitMany()**](./issuer.md#anissuer-splitmany-payment-amountarray) +- [**anIssuer.splitMany()**](./issuer#anissuer-splitmany-payment-amountarray) - Split a single **Payment** into multiple **Payments**. -- [**aMint.mintPayment()**](./mint.md#amint-mintpayment-newamount) +- [**aMint.mintPayment()**](./mint#amint-mintpayment-newamount) - Create new digital assets of the **Mint**'s associated **Brand**. -- [**aPurse.deposit()**](./purse.md#apurse-deposit-payment-optamount) +- [**aPurse.deposit()**](./purse#apurse-deposit-payment-optamount) - Deposits all the contents of *payment* into the **Purse**. -- [**aPurse.getDepositFacet()**](./purse.md#apurse-getdepositfacet) +- [**aPurse.getDepositFacet()**](./purse#apurse-getdepositfacet) - Creates and returns a new deposit-only facet of the **Purse** that allows arbitrary other parties to deposit **Payments** into the **Purse**. -- [**aPurse.withdraw()**](./purse.md#apurse-withdraw-amount) +- [**aPurse.withdraw()**](./purse#apurse-withdraw-amount) - Withdraws the *amount* of specified digital assets from **Purse** into a new **Payment**. diff --git a/main/reference/ertp-api/purse.md b/main/reference/ertp-api/purse.md index 706b4bb71..af1a96de8 100644 --- a/main/reference/ertp-api/purse.md +++ b/main/reference/ertp-api/purse.md @@ -1,6 +1,6 @@ # Purse Object -**Purses** hold digital assets. They are created to hold assets of a single **[Brand](./brand.md)**, +**Purses** hold digital assets. They are created to hold assets of a single **[Brand](./brand)**, and the **Brand** that the **Purse** holds cannot be changed. For example, if you were to create a **Purse** that holds *Quatloos*, that **Purse** wouldn't ever be able to hold *Moola*, theater tickets, or any other non-*Quatloo* asset type. @@ -13,8 +13,8 @@ While each **Purse** can only hold assets of one **Brand**, any number of **Purs created that hold that **Brand**. So you could have, say, three *Quatloos* **Purses**, your friend Alice could have eight *Quatloos* **Purses**, and so on. -**Purses** are created by calling the **[anIssuer.makeEmptyPurse()](./issuer.md#anissuer-makeemptypurse)** -method on the **[Issuer](./issuer.md)** associated with the **Brand** of assets you want the +**Purses** are created by calling the **[anIssuer.makeEmptyPurse()](./issuer#anissuer-makeemptypurse)** +method on the **[Issuer](./issuer)** associated with the **Brand** of assets you want the new **Purse** to hold. ```js @@ -28,15 +28,15 @@ You change a **Purse**'s balance by calling either a fungible currency means it has a value of 0. If it holds a non-fungible asset (e.g., theater tickets), then the **Purse** simply doesn't contain any assets if it's empty. -Unlike **[Payments](./payment.md)**, **Purses** are not meant to be sent to others. +Unlike **[Payments](./payment)**, **Purses** are not meant to be sent to others. To transfer digital assets, you should withdraw a **Payment** from a **Purse** and send the **Payment** to another party. ## aPurse.getCurrentAmount() -- Returns: **[Amount](./ertp-data-types.md#amount)** +- Returns: **[Amount](./ertp-data-types#amount)** Returns the **Purse**'s current balance as an **Amount**. -The returned **Amount** **[AmountValue](./ertp-data-types.md#amountvalue)** might be empty, and might be different the next time you +The returned **Amount** **[AmountValue](./ertp-data-types#amountvalue)** might be empty, and might be different the next time you call **aPurse.getCurrentAmount()** on the same **Purse** if assets have been deposited or withdrawn in the interim. @@ -50,10 +50,10 @@ const currentBalance = quatloosPurse.getCurrentAmount(); ``` ## aPurse.getCurrentAmountNotifier() -- Returns: **Notifier<[Amount](./ertp-data-types.md#amount)>** +- Returns: **Notifier<[Amount](./ertp-data-types#amount)>** Returns a lossy notifier for changes to this **Purse**'s balance. For more details, -see [Notifiers](/guides/js-programming/notifiers.md). +see [Notifiers](/guides/js-programming/notifiers). ```js const notifier = purse.getCurrentAmountNotifier(); @@ -66,8 +66,8 @@ const checkNotifier = async () => { ``` ## aPurse.deposit(payment, optAmount?) -- **payment**: **[Payment](./payment.md)** -- **optAmount**: **[Amount](./ertp-data-types.md#amount)** - Optional. +- **payment**: **[Payment](./payment)** +- **optAmount**: **[Amount](./ertp-data-types#amount)** - Optional. - Returns: **Amount** Deposit all the contents of *payment* into the **Purse**, returning an **Amount** describing the @@ -102,8 +102,8 @@ const depositAmountB = quatloosPurse.deposit(secondPayment, quatloos123); ## aPurse.withdraw(amount) -- **amount**: **[Amount](./ertp-data-types.md#amount)** -- Returns: **[Payment](./payment.md)** +- **amount**: **[Amount](./ertp-data-types#amount)** +- Returns: **[Payment](./payment)** Withdraws the specified **Amount** of digital assets from the **Purse** into a new **Payment** object. @@ -131,11 +131,11 @@ purse.getCurrentAmount(); ``` ## aPurse.getAllegedBrand() -- Returns: **[Brand](./brand.md)** +- Returns: **[Brand](./brand)** Returns an alleged brand (Note: a **Brand**, not a **String** as **allegedName()** methods do), indicating what kind of digital asset the **Purse** purports to hold. This can identify the -**Purse**'s **Brand** if the **Purse** was made by a trusted **[Issuer](./issuer.md)** using **[anIssuer.makeEmptyPurse()](./issuer.md#anissuer-makeemptypurse)**. +**Purse**'s **Brand** if the **Purse** was made by a trusted **[Issuer](./issuer)** using **[anIssuer.makeEmptyPurse()](./issuer#anissuer-makeemptypurse)**. ```js const purseBrand = quatloosPurse.getAllegedBrand(); @@ -145,11 +145,11 @@ const purseBrand = quatloosPurse.getAllegedBrand(); - Returns: **DepositFacet** Creates and returns a **DepositFacet**, a new deposit-only facet of the **Purse** that allows -other parties to deposit **[Payments](./payment.md)** into the **Purse** without the ability +other parties to deposit **[Payments](./payment)** into the **Purse** without the ability to check the **Purse's** balance or withdraw from it. This makes it a safe way to let other people send you **Payments**. -You can only deposit a **Payment** into a **DepositFacet** that's the same **[Brand](./brand.md)** as the original **Purse**. +You can only deposit a **Payment** into a **DepositFacet** that's the same **[Brand](./brand)** as the original **Purse**. ```js const depositOnlyFacet = purse.getDepositFacet(); @@ -169,8 +169,8 @@ To add assets to a **Purse** directly, you use **aPurse.deposit()**. To add asse to a **Purse** via its **DepositFacet**, you use **aDepositFacet.receive()**. ## aDepositFacet.receive(payment, optAmount?) -- **payment**: **[Payment](./payment.md)** -- **optAmount**: **[Amount](./ertp-data-types.md#amount)** - Optional. +- **payment**: **[Payment](./payment)** +- **optAmount**: **[Amount](./ertp-data-types#amount)** - Optional. - Returns **Amount** The **DepositFacet** takes the **Payment** and adds it to the balance of the **DepositFacet**'s associated **Purse**. diff --git a/main/reference/repl/board.md b/main/reference/repl/board.md index a7445b869..8944cf601 100644 --- a/main/reference/repl/board.md +++ b/main/reference/repl/board.md @@ -20,7 +20,7 @@ This means anyone can access any Board-stored value. The Board is public, not private. Note that when calling from the REPL's `home` object, you must use -the [`E` syntax](/guides/js-programming/eventual-send.md) +the [`E` syntax](/guides/js-programming/eventual-send) as shown below. ## `E(home.board).getId(value)` diff --git a/main/reference/repl/README.md b/main/reference/repl/index.md similarity index 89% rename from main/reference/repl/README.md rename to main/reference/repl/index.md index d31ab1a41..b47acb360 100644 --- a/main/reference/repl/README.md +++ b/main/reference/repl/index.md @@ -69,39 +69,39 @@ Several `home` objects are either for internal Agoric use only or have been depr are listed together in the final section. External developers should ignore them and not try to use them. -### [`wallet`](../wallet-api.md) +### [`wallet`](../wallet-api/) Holds on-chain digital assets and object capabilities on behalf of the user. The header link takes you to the standard non-REPL specific `wallet` API documentation. When calling `wallet` API methods from the REPL, `wallet` must be prefaced by `home.` and use `E()`. For example, `E(home.wallet).getPurses()`. [Full Wallet API documentation.](/guides/wallet/) -### [`chainTimerService`](./timerServices.md) -On-chain time authority used to schedule events. [Full `chainTimerService` documentation.](./timerServices.md) +### [`chainTimerService`](./timerServices) +On-chain time authority used to schedule events. [Full `chainTimerService` documentation.](./timerServices) -### [`localTimerService`](./timerServices.md) -Local off-chain time authority used to schedule events. [Full `localTimerService` documentation.](./timerServices.md) +### [`localTimerService`](./timerServices) +Local off-chain time authority used to schedule events. [Full `localTimerService` documentation.](./timerServices) -### [`board`](./board.md) -Shared on-chain location where users can post generally accessible values. [Full `board` documentation.](./board.md) +### [`board`](./board) +Shared on-chain location where users can post generally accessible values. [Full `board` documentation.](./board) -### [`ibcport`](./networking.md) +### [`ibcport`](./networking) IBC implementation that lets vats open and close listening ports, connect and disconnect to/from remote ports, and send and receive -data over those connections. [Full `ibcport` documentation.](./networking.md) +data over those connections. [Full `ibcport` documentation.](./networking) -### [`zoe`](../zoe-api/zoe.md) +### [`zoe`](../zoe-api/zoe) Deploy and interact with smart contracts. Zoe protects smart contract users by escrowing digital assets and guaranteeing users get either what they want or get a refund of what they escrowed. Even if the contract is buggy or malicious. The header link takes you to the standard, non-REPL specific, `zoe` API documentation. When calling any of the `zoe` API methods from the REPL, `zoe` must be prefaced by `home.` and use `E()`. For -example, `E(home.zoe).getFoo()`. [Full Zoe API documentation.](../zoe-api/zoe.md) +example, `E(home.zoe).getFoo()`. [Full Zoe API documentation.](../zoe-api/zoe) -### [`priceAuthority`](./priceAuthority.md) -Get price quotes for pairs of digital assets. [Full `priceAuthority` documentation.](./priceAuthority.md) +### [`priceAuthority`](./priceAuthority) +Get price quotes for pairs of digital assets. [Full `priceAuthority` documentation.](./priceAuthority) -### [`scratch`](./scratch.md) -An off-chain, private, place to store key-value pairs on your ag-solo for later use. [Full `scratch` documentation.](./scratch.md) +### [`scratch`](./scratch) +An off-chain, private, place to store key-value pairs on your ag-solo for later use. [Full `scratch` documentation.](./scratch) ### Deprecated and Internal-Only Objects @@ -109,7 +109,7 @@ An off-chain, private, place to store key-value pairs on your ag-solo for later - `faucet`: Internal for chain setup. - `http`: `api/deploy.js` uses this to install new HTTP and WebSocket handlers in an ag-solo. You should not need to use it. -- `network`: Privileged object for internal use. [Full Network documentation.](./networking.md) +- `network`: Privileged object for internal use. [Full Network documentation.](./networking) - `plugin`: Privileged object for internal use. - `priceAuthorityAdmin`: Privileged object for internal use. - `registrar`: Deprecated. diff --git a/main/reference/repl/networking.md b/main/reference/repl/networking.md index 7dbb99e03..a77e5d85c 100644 --- a/main/reference/repl/networking.md +++ b/main/reference/repl/networking.md @@ -14,9 +14,9 @@ vaguely like the BSD socket API. This code can: The type of connection is limited by the host in which the vat is running. Chain-based machines must operate in a platonic realm of replicated consensus, so their network options are limited to protocols like IBC, which allow one gestalt chain to talk to other chain-like entities. Each such entity is defined by an evolving set of consensus rules, which typically include a current set of validator public keys and a particular history of hashed block identifiers. **CAVEAT:** IBC uses -[Connection](https://github.com/cosmos/ibc/tree/main/spec/core/ics-003-connection-semantics/README.md) +[Connection](https://github.com/cosmos/ibc/tree/main/spec/core/ics-003-connection-semantics/README) to mean a chain-to-chain hop, and -[Channel](https://github.com/cosmos/ibc/tree/main/spec/core/ics-004-channel-and-packet-semantics/README.md) +[Channel](https://github.com/cosmos/ibc/tree/main/spec/core/ics-004-channel-and-packet-semantics/README) to mean a Port-to-Port pathway through a series of hops. This is unfortunate, because IBC "Channels" correspond most precisely to TCP "connections", and most discussions of network APIs (including this one, diff --git a/main/reference/repl/priceAuthority.md b/main/reference/repl/priceAuthority.md index 51f78d97e..54460e613 100644 --- a/main/reference/repl/priceAuthority.md +++ b/main/reference/repl/priceAuthority.md @@ -4,7 +4,7 @@ triggers and notifiers for changes in the price. `PriceAuthority` objects use timer services. You should be familiar with the objects -and methods in the [REPL TimerService document](./timerServices.md) +and methods in the [REPL TimerService document](./timerServices) ## Price quote objects diff --git a/main/reference/repl/scratch.md b/main/reference/repl/scratch.md index 8a231df7c..1ffd09b5a 100644 --- a/main/reference/repl/scratch.md +++ b/main/reference/repl/scratch.md @@ -2,7 +2,7 @@ You use `scratch` to save key-value pairs for later. It is only on the ag-solo and is not accessible from the chain, making it private to the ag-solo user. Since deploy scripts are ephemeral, use `scratch` to save objects from a deploy script for later scripts to use. -Note that when calling from the REPL's home object, you must use the [E() syntax](/guides/js-programming/eventual-send.md) as shown below. +Note that when calling from the REPL's home object, you must use the [E() syntax](/guides/js-programming/eventual-send) as shown below. Keys can be anything. diff --git a/main/reference/wallet-api.md b/main/reference/wallet-api.md deleted file mode 100644 index a36072e8d..000000000 --- a/main/reference/wallet-api.md +++ /dev/null @@ -1,137 +0,0 @@ -# Wallet API - -You can interact with a Wallet via the JavaScript *REPL* (*Read-Eval-Print Loop*), -which is visible at the bottom of the Wallet UI display. -In the REPL, you send messages to `home.wallet`, which is the Wallet running on that -page/process. Typing `E(home.wallet).foo()` in the REPL returns the names of all the Wallet -API methods by the clever method of asking it to evaluate a non-existent API method and -getting an error message listing all the valid methods. - -Running `agoric open --repl only` opens a browser tab that shows only the REPL, and not -the combination of Wallet UI and REPL area. When issuing commands to the Wallet from the -REPL, they must be of the form `E(home.wallet).`. For more -information about `E()`, see the [`E()` section](/guides/js-programming/eventual-send.md) in -the Distributed JavaScript Programming Guide. - -There are two objects on which the Wallet API commands work: -- `WalletUser`: The presence exposed as `local.wallet` (and `home.wallet` for backwards compatibility). - It provides a place for Wallet API commands. -- `WalletBridge`: Its methods can be used by an untrusted - Dapp without breaching the wallet's integrity. These methods are also - exposed via the iframe/WebSocket bridge that a Dapp UI can use to access the - wallet. - -## Wallet API Commands - -### `getBridge()` -- Returns: `{Promise}` - -Returns the wallet bridge that bypasses Dapp-authorization. This should -only be used within the REPL or deployment scripts that want to use the -WalletBridge API without the effort of calling `getScopedBridge`. -Since your REPL and deployment scripts already run using the ag-solo's full authority, -it doesn't really make a difference to have them use a more restricted bridge. - -### `getScopedBridge(suggestedDappPetname, dappOrigin)` -- `suggestedDappPetname` `{Petname}` -- `dappOrigin` `{String}` -- Returns: `{Promise}` - -Returns a wallet bridge corresponding to an origin that must be approved in the wallet UI. -This is available for completeness to provide the underlying API that's available over the -standard wallet-bridge.html. - -### `addPayment(payment)` -- `payment` `{ERef}` -- Returns: `void` - -Adds a payment to the Wallet for deposit to the user-specified purse, -either via an autodeposit or manually approved. - -### `getDepositFacetId(brandBoardId)` -- `brandBoardId` `{String}` -- Returns: `{Promise}` - -Returns the board ID for the deposit facet of the user's Wallet that accepts payments -of the brand specified by the `brandBoardId` parameter. - -### `getIssuers()` -- Returns: `{Array<[Petname, Issuer]>}` - -Returns an array of all the Issuers and their petnames associated with this Wallet. - -### `getIssuer(petname)` -- `petname` `{Petname}` -- Returns: `{Issuer}` - -Returns the issuer with the specified petname associated with this Wallet. - -### `getPurses()` -- Returns: `{Array<[Petname, Purse]>}` - -Returns all the purses associated with this wallet. - -### `getPurse(pursePetname)` -- `pursePetName` `{String}` -- Returns `{Purse}` -- Errors: Throws an error if there is no purse with the given petname. - -Returns the `purse` object with the given petname - -## WalletBridge API Commands - -These methods can be used by an untrusted Dapp without breaching the wallet's -integrity. They are also exposed via the iframe/WebSocket bridge that a -Dapp UI can use to access a Wallet. - -### `addOffer(offer)` -- `offer` `{OfferState}` -- Returns: `{Promise}` - -Adds an offer to the Wallet, returning the offer's unique private ID in the Wallet. -This ID is not stored in the Board. - -### `addOfferInvitation(offer, invitation)` -- `offer` `{OfferState}` -- `invitation` `{ERef}` -- Returns: `{Promise}` - -Add the specified invitation to the specified offer, returning the offer's private ID in the Wallet. -This ID is not stored in the Board. - -### `getDepositFacetId(brandBoardId` -- `brandBoardId` `{string}` -- Returns: `{Promise}` - -Returns the Board ID to use to receive payments of the specified by its Board ID brand. - -### `getPursesNotifier()` -- Returns: `{Promise>>}` - -Returns a notifier that follows changes to the purses in the Wallet. - -### `getOffersNotifier()` -- Returns: `{Promise>>}` - -Returns a notifier that follows changes to the offers received by the Wallet. - -### `suggestIssuer(petname, issuerBoardId)` -- `petname` `{Petname}` -- `issuerBoardId` `{string}` -- Returns: `void` - -Introduce an ERTP issuer with a suggested petname to the Wallet. - -### `suggestInstallation(petname, installationBoardID)` -- `petname` `{Petname}` -- `installationBoardId` `{string}` -- Returns: `void` - -Introduce a Zoe contract installation with a suggested petname to the Wallet. - -### `suggestInstance(petname, instanceBoardId)` -- `petname` `{Petname}` -- `instanceBoardId` `{string}` -- Returns: `void` - -Introduce a Zoe contract instance with a suggested petname to the Wallet. diff --git a/main/reference/wallet-api/index.md b/main/reference/wallet-api/index.md new file mode 100644 index 000000000..2787a3717 --- /dev/null +++ b/main/reference/wallet-api/index.md @@ -0,0 +1,23 @@ +# Wallet API + +You can interact with a Wallet via the JavaScript *REPL* (*Read-Eval-Print Loop*), +which is visible at the bottom of the Wallet UI display. +In the REPL, you send messages to `home.wallet`, which is the Wallet running on that +page/process. Typing `E(home.wallet).foo()` in the REPL returns the names of all the Wallet +API methods by the clever method of asking it to evaluate a non-existent API method and +getting an error message listing all the valid methods. + +Running `agoric open --repl only` opens a browser tab that shows only the REPL, and not +the combination of Wallet UI and REPL area. When issuing commands to the Wallet from the +REPL, they must be of the form `E(home.wallet).`. For more +information about `E()`, see the [`E()` section](/guides/js-programming/eventual-send) in +the Distributed JavaScript Programming Guide. + +There are two objects on which the Wallet API commands work: +- `WalletUser`: The presence exposed as `local.wallet` (and `home.wallet` for backwards compatibility). + It provides a place for Wallet API commands. +- `WalletBridge`: Its methods can be used by an untrusted + Dapp without breaching the wallet's integrity. These methods are also + exposed via the iframe/WebSocket bridge that a Dapp UI can use to access the + wallet. + \ No newline at end of file diff --git a/main/reference/wallet-api/wallet-bridge.md b/main/reference/wallet-api/wallet-bridge.md new file mode 100644 index 000000000..693979237 --- /dev/null +++ b/main/reference/wallet-api/wallet-bridge.md @@ -0,0 +1,57 @@ +# WalletBridge API Commands + +These methods can be used by an untrusted Dapp without breaching the wallet's +integrity. They are also exposed via the iframe/WebSocket bridge that a +Dapp UI can use to access a Wallet. + +### `addOffer(offer)` +- `offer` `{OfferState}` +- Returns: `{Promise}` + +Adds an offer to the Wallet, returning the offer's unique private ID in the Wallet. +This ID is not stored in the Board. + +### `addOfferInvitation(offer, invitation)` +- `offer` `{OfferState}` +- `invitation` `{ERef}` +- Returns: `{Promise}` + +Add the specified invitation to the specified offer, returning the offer's private ID in the Wallet. +This ID is not stored in the Board. + +### `getDepositFacetId(brandBoardId` +- `brandBoardId` `{string}` +- Returns: `{Promise}` + +Returns the Board ID to use to receive payments of the specified by its Board ID brand. + +### `getPursesNotifier()` +- Returns: `{Promise>>}` + +Returns a notifier that follows changes to the purses in the Wallet. + +### `getOffersNotifier()` +- Returns: `{Promise>>}` + +Returns a notifier that follows changes to the offers received by the Wallet. + +### `suggestIssuer(petname, issuerBoardId)` +- `petname` `{Petname}` +- `issuerBoardId` `{string}` +- Returns: `void` + +Introduce an ERTP issuer with a suggested petname to the Wallet. + +### `suggestInstallation(petname, installationBoardID)` +- `petname` `{Petname}` +- `installationBoardId` `{string}` +- Returns: `void` + +Introduce a Zoe contract installation with a suggested petname to the Wallet. + +### `suggestInstance(petname, instanceBoardId)` +- `petname` `{Petname}` +- `instanceBoardId` `{string}` +- Returns: `void` + +Introduce a Zoe contract instance with a suggested petname to the Wallet. diff --git a/main/reference/wallet-api/wallet-commands.md b/main/reference/wallet-api/wallet-commands.md new file mode 100644 index 000000000..4942f7869 --- /dev/null +++ b/main/reference/wallet-api/wallet-commands.md @@ -0,0 +1,56 @@ +# Wallet API Commands + +### `getBridge()` +- Returns: `{Promise}` + +Returns the wallet bridge that bypasses Dapp-authorization. This should +only be used within the REPL or deployment scripts that want to use the +WalletBridge API without the effort of calling `getScopedBridge`. +Since your REPL and deployment scripts already run using the ag-solo's full authority, +it doesn't really make a difference to have them use a more restricted bridge. + +### `getScopedBridge(suggestedDappPetname, dappOrigin)` +- `suggestedDappPetname` `{Petname}` +- `dappOrigin` `{String}` +- Returns: `{Promise}` + +Returns a wallet bridge corresponding to an origin that must be approved in the wallet UI. +This is available for completeness to provide the underlying API that's available over the +standard wallet-bridge.html. + +### `addPayment(payment)` +- `payment` `{ERef}` +- Returns: `void` + +Adds a payment to the Wallet for deposit to the user-specified purse, +either via an autodeposit or manually approved. + +### `getDepositFacetId(brandBoardId)` +- `brandBoardId` `{String}` +- Returns: `{Promise}` + +Returns the board ID for the deposit facet of the user's Wallet that accepts payments +of the brand specified by the `brandBoardId` parameter. + +### `getIssuers()` +- Returns: `{Array<[Petname, Issuer]>}` + +Returns an array of all the Issuers and their petnames associated with this Wallet. + +### `getIssuer(petname)` +- `petname` `{Petname}` +- Returns: `{Issuer}` + +Returns the issuer with the specified petname associated with this Wallet. + +### `getPurses()` +- Returns: `{Array<[Petname, Purse]>}` + +Returns all the purses associated with this wallet. + +### `getPurse(pursePetname)` +- `pursePetName` `{String}` +- Returns `{Purse}` +- Errors: Throws an error if there is no purse with the given petname. + +Returns the `purse` object with the given petname diff --git a/main/reference/zoe-api/README.md b/main/reference/zoe-api/README.md deleted file mode 100644 index 6c264933b..000000000 --- a/main/reference/zoe-api/README.md +++ /dev/null @@ -1,51 +0,0 @@ -# Zoe API - - - - -The Zoe framework provides a way to write smart contracts without having to worry about [offer safety](/guides/zoe/offer-safety.md). -To use Zoe, we put things in terms of "offers". An offer proposal is a statement about what you want and -what you're willing to offer. It turns out, many smart contracts (apart from gifts and one-way payments) -involve an exchange of digital assets that can be put in terms of offer proposals. - -Start creating your own contract or build on any of our existing contracts. -Explore our [pre-built contracts](/guides/zoe/contracts/README.md). - -The Zoe API supports the following objects: - -| Object | Description | -| --- | --- | -| [Zoe Service](./zoe.md) | Deploys and works with smart contracts. | -| [UserSeat](./user-seat.md) | Used outside contracts to access or manipulate offers. | -| [Zoe Contract Facet](./zoe-contract-facet.md) | Accesses a running contract instance. | -| [ZCFSeat](./zcfseat.md) | Used within contracts to access or manipulate offers. | -| [ZCFMint](./zcfmint.md) | Used by a contract to issue digital assets. | -| [Price Authority](./price-authority.md) | Gives quotes for prices. | - - -The Zoe API provides the following libraries: - -| Library | Description | -| --- | --- | -| [ZoeHelpers](./zoe-helpers.md) | Functions that extract common contract code and patterns into reusable helpers. | -| [Ratio Math](./ratio-math.md) | Functions that let you create and manipulate **[Ratios](./zoe-data-types.md#ratio)**. | - - -The Zoe API introduces and uses the following data types: - -| Data Type | Description | -| --- | --- | -| [Allocation](./zoe-data-types.md#allocation) | The **[Amounts](/reference/ertp-api/ertp-data-types.md#amount)** to be paid out to each seat upon exiting an **Offer**. | -| [AmountKeywordRecord](./zoe-data-types.md#keywordrecord) | A record in which the property names are **Keywords** and the values are **[Amounts](/reference/ertp-api/ertp-data-types.md#amount)**. | -| [Handle](./zoe-data-types.md#handle) | A **Far** object without any methods whose only useful property is its unique identity. | -| [Instance](./zoe-data-types.md#instance) | A handle to an opaque object that represents a contract instance. | -| [Invitation](./zoe-data-types.md#invitation) | A non-fungible eright that can be held in **[Payments](/reference/ertp-api/payment.md)** or **[Purses](/reference/ertp-api/purse.md)**, just like any other eright. | -| [InvitationIssuer](./zoe-data-types.md#invitationissuer) | An **[Issuer](/reference/ertp-api/issuer.md)** for **[Invitations](./zoe-data-types.md#invitation)**, which grant the right to participate in a contract. | -| [Keyword](./zoe-data-types.md#keyword) | An ASCII identifier string that must begin with an upper case letter. | -| [MutableQuote](./zoe-data-types.md#mutablequote) | Statement from a **[PriceAuthority](./price-authority.md)** as to the current price level at a particular time when multiple calls, replacing the trigger value, are expected. | -| [ParsableNumber](./zoe-data-types.md#parsablenumber) | Defined as a **bigint**, **number**, or **string**. | -| [PriceQuote](./zoe-data-types.md#pricequote) | Statement from a **[PriceAuthority](./price-authority.md)** as to the current price level at a particular time when only a single calls is expected. | -| [Ratio](./zoe-data-types.md#ratio) | Pass-by-value record that consists of a *numerator* **[Amount](/reference/ertp-api/ertp-data-types.md#amount)** and a *denominator* **Amount**. | -| [TransferPart](./zoe-data-types.md#transferpart) | **[Allocation](./zoe-data-types.md#allocation)** changes for one or two existing **[ZCFSeats](./zcfseat.md)**. **TransferParts** are the individual elements of the *transfer* array passed into the **[atomicRearrange()](./zoe-helpers.md#atomicrearrange-zcf-transfers)** function. | - - diff --git a/main/reference/zoe-api/index.md b/main/reference/zoe-api/index.md new file mode 100644 index 000000000..6de53437b --- /dev/null +++ b/main/reference/zoe-api/index.md @@ -0,0 +1,51 @@ +# Zoe API + + + + +The Zoe framework provides a way to write smart contracts without having to worry about [offer safety](/guides/zoe/offer-safety). +To use Zoe, we put things in terms of "offers". An offer proposal is a statement about what you want and +what you're willing to offer. It turns out, many smart contracts (apart from gifts and one-way payments) +involve an exchange of digital assets that can be put in terms of offer proposals. + +Start creating your own contract or build on any of our existing contracts. +Explore our [pre-built contracts](/guides/zoe/contracts/index). + +The Zoe API supports the following objects: + +| Object | Description | +| --- | --- | +| [Zoe Service](./zoe) | Deploys and works with smart contracts. | +| [UserSeat](./user-seat) | Used outside contracts to access or manipulate offers. | +| [Zoe Contract Facet](./zoe-contract-facet) | Accesses a running contract instance. | +| [ZCFSeat](./zcfseat) | Used within contracts to access or manipulate offers. | +| [ZCFMint](./zcfmint) | Used by a contract to issue digital assets. | +| [Price Authority](./price-authority) | Gives quotes for prices. | + + +The Zoe API provides the following libraries: + +| Library | Description | +| --- | --- | +| [ZoeHelpers](./zoe-helpers) | Functions that extract common contract code and patterns into reusable helpers. | +| [Ratio Math](./ratio-math) | Functions that let you create and manipulate **[Ratios](./zoe-data-types#ratio)**. | + + +The Zoe API introduces and uses the following data types: + +| Data Type | Description | +| --- | --- | +| [Allocation](./zoe-data-types#allocation) | The **[Amounts](/reference/ertp-api/ertp-data-types#amount)** to be paid out to each seat upon exiting an **Offer**. | +| [AmountKeywordRecord](./zoe-data-types#keywordrecord) | A record in which the property names are **Keywords** and the values are **[Amounts](/reference/ertp-api/ertp-data-types#amount)**. | +| [Handle](./zoe-data-types#handle) | A **Far** object without any methods whose only useful property is its unique identity. | +| [Instance](./zoe-data-types#instance) | A handle to an opaque object that represents a contract instance. | +| [Invitation](./zoe-data-types#invitation) | A non-fungible eright that can be held in **[Payments](/reference/ertp-api/payment)** or **[Purses](/reference/ertp-api/purse)**, just like any other eright. | +| [InvitationIssuer](./zoe-data-types#invitationissuer) | An **[Issuer](/reference/ertp-api/issuer)** for **[Invitations](./zoe-data-types#invitation)**, which grant the right to participate in a contract. | +| [Keyword](./zoe-data-types#keyword) | An ASCII identifier string that must begin with an upper case letter. | +| [MutableQuote](./zoe-data-types#mutablequote) | Statement from a **[PriceAuthority](./price-authority)** as to the current price level at a particular time when multiple calls, replacing the trigger value, are expected. | +| [ParsableNumber](./zoe-data-types#parsablenumber) | Defined as a **bigint**, **number**, or **string**. | +| [PriceQuote](./zoe-data-types#pricequote) | Statement from a **[PriceAuthority](./price-authority)** as to the current price level at a particular time when only a single calls is expected. | +| [Ratio](./zoe-data-types#ratio) | Pass-by-value record that consists of a *numerator* **[Amount](/reference/ertp-api/ertp-data-types#amount)** and a *denominator* **Amount**. | +| [TransferPart](./zoe-data-types#transferpart) | **[Allocation](./zoe-data-types#allocation)** changes for one or two existing **[ZCFSeats](./zcfseat)**. **TransferParts** are the individual elements of the *transfer* array passed into the **[atomicRearrange()](./zoe-helpers#atomicrearrange-zcf-transfers)** function. | + + diff --git a/main/reference/zoe-api/mutable-quote.md b/main/reference/zoe-api/mutable-quote.md index b97ca596f..7203e2711 100644 --- a/main/reference/zoe-api/mutable-quote.md +++ b/main/reference/zoe-api/mutable-quote.md @@ -15,14 +15,14 @@ Causes the **Promise** to reject with the message **e**. When the promise is used with a **E.when()** the message is part of the rejection notification. ## aMutableQuote.getPromise() -- Returns: **Promise<[PriceQuote](./zoe-data-types.md#pricequote)>** +- Returns: **Promise<[PriceQuote](./zoe-data-types#pricequote)>** ## aMutableQuote.updateLevel(newAmountIn, newAmountOutLimit) -- **newAmountIn** **[Amount](/reference/ertp-api/ertp-data-types.md#amount)** +- **newAmountIn** **[Amount](/reference/ertp-api/ertp-data-types#amount)** - **newAmountOutLimit** **Amount** Changes the **MutableQuote**'s trigger levels to the specified values without requiring a second **Promise**. -*newAmountIn*'s and *newAmountOutLimit*'s **[Brands](/reference/ertp-api/brand.md)** must match the original +*newAmountIn*'s and *newAmountOutLimit*'s **[Brands](/reference/ertp-api/brand)** must match the original *amountIn* and *amountOutLimit* **Brands**, respectively. diff --git a/main/reference/zoe-api/price-authority.md b/main/reference/zoe-api/price-authority.md index 431c4412e..1bbba0bad 100644 --- a/main/reference/zoe-api/price-authority.md +++ b/main/reference/zoe-api/price-authority.md @@ -11,11 +11,11 @@ price feed that updates with every price change. ## E(PriceAuthority).getQuoteIssuer(brandIn, brandOut) -- **brandIn**: **[Brand](/reference/ertp-api/brand.md)** +- **brandIn**: **[Brand](/reference/ertp-api/brand)** - **brandOut**: **Brand** -- Returns: **[Issuer](/reference/ertp-api/issuer.md) | Promise<Issuer>** +- Returns: **[Issuer](/reference/ertp-api/issuer) | Promise<Issuer>** -Gets the ERTP **Issuer** of **[PriceQuotes](./zoe-data-types.md#pricequote)** for a +Gets the ERTP **Issuer** of **[PriceQuotes](./zoe-data-types#pricequote)** for a given *brandIn*/*brandOut* pair. ```js @@ -26,11 +26,11 @@ const quoteIssuer = await E(PriceAuthority).getQuoteIssuer( ``` ## E(PriceAuthority).getTimerService(brandIn, brandOut) -- **brandIn**: **[Brand](/reference/ertp-api/brand.md)** +- **brandIn**: **[Brand](/reference/ertp-api/brand)** - **brandOut**: **Brand** - Returns: **TimerService | Promise<TimerService>** -Gets the timer used in **[PriceQuotes](./zoe-data-types.md#pricequote)** for a +Gets the timer used in **[PriceQuotes](./zoe-data-types#pricequote)** for a given *brandIn*/*brandOut* pair. ```js @@ -38,9 +38,9 @@ const myTimer = E(PriceAuthority).getTimerService(collateral.brand, loanKit.bran ``` ## E(PriceAuthority).makeQuoteNotifier(amountIn, brandOut) -- **amountIn**: **[Amount](/reference/ertp-api/ertp-data-types.md#amount)** -- **brandOut**: **[Brand](/reference/ertp-api/brand.md)** -- Returns: **ERef<Notifier<[PriceQuote](./zoe-data-types.md#pricequote)>>** +- **amountIn**: **[Amount](/reference/ertp-api/ertp-data-types#amount)** +- **brandOut**: **[Brand](/reference/ertp-api/brand)** +- Returns: **ERef<Notifier<[PriceQuote](./zoe-data-types#pricequote)>>** Be notified of the latest **PriceQuotes** for a given *amountIn*. The issuing rate may be very different between **PriceAuthorities**. @@ -50,9 +50,9 @@ const myNotifier = E(PriceAuthority).makeQuoteNotifier(quatloos100, usdBrand); ``` ## E(PriceAuthority).quoteGiven(amountIn, brandOut) -- **amountIn**: **[Amount](/reference/ertp-api/ertp-data-types.md#amount)** -- **brandOut**: **[Brand](/reference/ertp-api/brand.md)** -- Returns: **Promise<[PriceQuote](./zoe-data-types.md#pricequote)>** +- **amountIn**: **[Amount](/reference/ertp-api/ertp-data-types#amount)** +- **brandOut**: **[Brand](/reference/ertp-api/brand)** +- Returns: **Promise<[PriceQuote](./zoe-data-types#pricequote)>** Gets a quote on-demand corresponding to *amountIn*. @@ -61,9 +61,9 @@ const quote = await E(PriceAuthority).quoteGiven(moola500, quatloosBrand); ``` ## E(PriceAuthority).quoteWanted(brandIn, amountOut) -- **brandIn**: **[Brand](/reference/ertp-api/brand.md)** -- **amountOut**: **[Amount](/reference/ertp-api/ertp-data-types.md#amount)** -- Returns: **Promise<[PriceQuote](./zoe-data-types.md#pricequote)>** +- **brandIn**: **[Brand](/reference/ertp-api/brand)** +- **amountOut**: **[Amount](/reference/ertp-api/ertp-data-types#amount)** +- Returns: **Promise<[PriceQuote](./zoe-data-types#pricequote)>** Gets a quote on-demand corresponding to *amountOut*. @@ -73,9 +73,9 @@ const quote = await E(PriceAuthority).quoteWanted(quatloosBrand, moola500); ## E(PriceAuthority).quoteAtTime(deadline, amountIn, brandOut) - **deadline**: **Timestamp** -- **amountIn**: **[Amount](/reference/ertp-api/ertp-data-types.md#amount)** -- **brandOut**: **[Brand](/reference/ertp-api/brand.md)** -- Returns: **Promise<[PriceQuote](./zoe-data-types.md#pricequote)>** +- **amountIn**: **[Amount](/reference/ertp-api/ertp-data-types#amount)** +- **brandOut**: **[Brand](/reference/ertp-api/brand)** +- Returns: **Promise<[PriceQuote](./zoe-data-types#pricequote)>** Resolves after *deadline* passes on the **PriceAuthority**’s **timerService** with the **PriceQuote** of *amountIn* at that time. Note that *deadline*'s value is a **BigInt**. @@ -85,9 +85,9 @@ const priceQuoteOnThisAtTime = E(PriceAuthority).quoteAtTime(7n, quatloosAmount3 ``` ## E(PriceAuthority).quoteWhenGT(amountIn, amountOutLimit) -- **amountIn**: **[Amount](/reference/ertp-api/ertp-data-types.md#amount)** +- **amountIn**: **[Amount](/reference/ertp-api/ertp-data-types#amount)** - **amountOutLimit**: **Amount** -- Returns: **Promise<[PriceQuote](./zoe-data-types.md#pricequote)>** +- Returns: **Promise<[PriceQuote](./zoe-data-types#pricequote)>** Resolves when a **PriceQuote** of *amountIn* exceeds *amountOutLimit*. @@ -99,9 +99,9 @@ const quote = E(PriceAuthority).quoteWhenGT( ``` ## E(PriceAuthority).quoteWhenGTE(amountIn, amountOutLimit) -- **amountIn**: **[Amount](/reference/ertp-api/ertp-data-types.md#amount)** +- **amountIn**: **[Amount](/reference/ertp-api/ertp-data-types#amount)** - **amountOutLimit**: **Amount** -- Returns: **Promise<[PriceQuote](./zoe-data-types.md#pricequote)>** +- Returns: **Promise<[PriceQuote](./zoe-data-types#pricequote)>** Resolves when a **PriceQuote** of *amountIn* reaches or exceeds *amountOutLimit*. @@ -113,9 +113,9 @@ const quote = E(PriceAuthority).quoteWhenGTE( ``` ## E(PriceAuthority).quoteWhenLT(amountIn, amountOutLimit) -- **amountIn** **[Amount](/reference/ertp-api/ertp-data-types.md#amount)** +- **amountIn** **[Amount](/reference/ertp-api/ertp-data-types#amount)** - **amountOutLimit** **Amount** -- Returns: **Promise<[PriceQuote](./zoe-data-types.md#pricequote)>** +- Returns: **Promise<[PriceQuote](./zoe-data-types#pricequote)>** Resolves when a **PriceQuote** of *amountIn* drops below *amountOutLimit*. @@ -127,9 +127,9 @@ const quote = E(PriceAuthority).quoteWhenLT( ``` ## E(PriceAuthority).quoteWhenLTE(amountIn, amountOutLimit) -- **amountIn**: **[Amount](/reference/ertp-api/ertp-data-types.md#amount)** +- **amountIn**: **[Amount](/reference/ertp-api/ertp-data-types#amount)** - **amountOutLimit**: **Amount** -- Returns: **Promise<[PriceQuote](./zoe-data-types.md#pricequote)>** +- Returns: **Promise<[PriceQuote](./zoe-data-types#pricequote)>** Resolves when a **PriceQuote** of *amountIn* reaches or drops below *amountOutLimit*. @@ -141,9 +141,9 @@ const quote = E(PriceAuthority).quoteWhenLTE( ``` ## E(PriceAuthority).mutableQuoteWhenGT(amountIn, amountOutLimit) -- **amountIn**: **[Amount](/reference/ertp-api/ertp-data-types.md#amount)** +- **amountIn**: **[Amount](/reference/ertp-api/ertp-data-types#amount)** - **amountOutLimit**: **Amount** -- Returns: **Promise<[MutableQuote](./zoe-data-types.md#mutablequote)>** +- Returns: **Promise<[MutableQuote](./zoe-data-types#mutablequote)>** Resolves when a **PriceQuote** of *amountIn* exceeds *amountOutLimit*. @@ -155,9 +155,9 @@ const quote = E(PriceAuthority).mutableQuoteWhenGT( ``` ## E(PriceAuthority).mutableQuoteWhenGTE(amountIn, amountOutLimit) -- **amountIn**: **[Amount](/reference/ertp-api/ertp-data-types.md#amount)** +- **amountIn**: **[Amount](/reference/ertp-api/ertp-data-types#amount)** - **amountOutLimit**: **Amount** -- Returns: **Promise<[MutableQuote](./zoe-data-types.md#mutablequote)>** +- Returns: **Promise<[MutableQuote](./zoe-data-types#mutablequote)>** Resolves when a **PriceQuote** of *amountIn* reaches or exceeds *amountOutLimit*. @@ -170,9 +170,9 @@ const quote = E(PriceAuthority).mutableQuoteWhenGTE( ``` ## E(PriceAuthority).mutableQuoteWhenLT(amountIn, amountOutLimit) -- **amountIn**: **[Amount](/reference/ertp-api/ertp-data-types.md#amount)** +- **amountIn**: **[Amount](/reference/ertp-api/ertp-data-types#amount)** - **amountOutLimit**: **Amount** -- Returns: **Promise<[MutableQuote](./zoe-data-types.md#mutablequote)>** +- Returns: **Promise<[MutableQuote](./zoe-data-types#mutablequote)>** Resolves when a **PriceQuote** of *amountIn* drops below *amountOutLimit*. @@ -185,9 +185,9 @@ const quote = E(PriceAuthority).mutableQuoteWhenLT( ``` ## E(PriceAuthority).mutableQuoteWhenLTE(amountIn, amountOutLimit) -- **amountIn**: **[Amount](/reference/ertp-api/ertp-data-types.md#amount)** +- **amountIn**: **[Amount](/reference/ertp-api/ertp-data-types#amount)** - **amountOutLimit**: **Amount** -- Returns: **Promise<[MutableQuote](./zoe-data-types.md#mutablequote)>** +- Returns: **Promise<[MutableQuote](./zoe-data-types#mutablequote)>** Resolves when a **PriceQuote** of *amountIn* reaches or drops below *amountOutLimit*. diff --git a/main/reference/zoe-api/ratio-math.md b/main/reference/zoe-api/ratio-math.md index fdcbdbe9f..dfb542d18 100644 --- a/main/reference/zoe-api/ratio-math.md +++ b/main/reference/zoe-api/ratio-math.md @@ -1,12 +1,12 @@ # Ratio Math Functions -These functions let you apply a **[Ratio](./zoe-data-types.md#ratio)** (a fraction) to an amount, multiplying or +These functions let you apply a **[Ratio](./zoe-data-types#ratio)** (a fraction) to an amount, multiplying or dividing an amount by a ratio of two natural numbers. The Ratio Math functions have to be imported. ## assertIsRatio(ratio) -- **ratio**: **[Ratio](./zoe-data-types.md#ratio)** +- **ratio**: **[Ratio](./zoe-data-types#ratio)** - Returns: None. Throws an error if the argument is not a valid **Ratio**. @@ -21,10 +21,10 @@ assertIsRatio(aRatio); ## makeRatio(numerator, numeratorBrand, denominator?, denominatorBrand?) - **numerator**: **BigInt** -- **numeratorBrand**: **[Brand](/reference/ertp-api/brand.md)** +- **numeratorBrand**: **[Brand](/reference/ertp-api/brand)** - **denominator**: **BigInt** - Optional, defaults to 100n. - **denominatorBrand)**: **Brand** - Optional, defaults to the *numeratorBrand* value. -- Returns: **[Ratio](./zoe-data-types.md#ratio)** +- Returns: **[Ratio](./zoe-data-types#ratio)** Returns a **Ratio** based on the arguments passed into the function. @@ -38,9 +38,9 @@ const ratio = makeRatio(75n, quatloosBrand, 4n, moolasBrand); ``` ## makeRatioFromAmounts(numeratorAmount, denominatorAmount) -- **numeratorAmount**: **[Amount](/reference/ertp-api/ertp-data-types.md#amount)** +- **numeratorAmount**: **[Amount](/reference/ertp-api/ertp-data-types#amount)** - **denominatorAmount**: **Amount** -- Returns: **[Ratio](./zoe-data-types.md#ratio)** +- Returns: **[Ratio](./zoe-data-types#ratio)** Returns a **Ratio**, representing a fraction and consisting of an immutable pair of two **Amounts**. The *numeratorAmount* is the **Ratio's** numerator and @@ -53,11 +53,11 @@ const halfADollar = makeRatioFromAmounts(fiftyCents, dollar); ``` ## floorMultiplyBy(amount, ratio) -- **amount**: **[Amount](/reference/ertp-api/ertp-data-types.md#amount)** -- **ratio**: **[Ratio](./zoe-data-types.md#ratio)** +- **amount**: **[Amount](/reference/ertp-api/ertp-data-types#amount)** +- **ratio**: **[Ratio](./zoe-data-types#ratio)** - Returns: **Amount** -Returns an immutable **Amount**. Its **[Brand](/reference/ertp-api/brand.md)** is the *ratio*'s +Returns an immutable **Amount**. Its **[Brand](/reference/ertp-api/brand)** is the *ratio*'s numerator's **Brand**. Note that the denominator **Brand** has to be the same as the *amount* **Brand**. The resulting **Amount** is determined by: @@ -86,11 +86,11 @@ const exchange = floorMultiplyBy(dollars47, exchangeRatio); ``` ## ceilMultiplyBy(amount, ratio) -- **amount**: **[Amount](/reference/ertp-api/ertp-data-types.md#amount)** -- **ratio**: **[Ratio](./zoe-data-types.md#ratio)** +- **amount**: **[Amount](/reference/ertp-api/ertp-data-types#amount)** +- **ratio**: **[Ratio](./zoe-data-types#ratio)** - Returns: **Amount** -Returns an immutable **Amount**. Its **[Brand](/reference/ertp-api/brand.md)** is the *ratio*'s +Returns an immutable **Amount**. Its **[Brand](/reference/ertp-api/brand)** is the *ratio*'s numerator's **Brand**. Note that the denominator **Brand** has to be the same as the *amount* **Brand**. The resulting **Amount** is determined by: @@ -119,11 +119,11 @@ const exchange = ceilMultiplyBy(dollars47, exchangeRatio); ``` ## multiplyBy(amount, ratio) -- **amount**: **[Amount](/reference/ertp-api/ertp-data-types.md#amount)** -- **ratio**: **[Ratio](./zoe-data-types.md#ratio)** +- **amount**: **[Amount](/reference/ertp-api/ertp-data-types#amount)** +- **ratio**: **[Ratio](./zoe-data-types#ratio)** - Returns: **Amount** -Returns an immutable **Amount**. Its **[Brand](/reference/ertp-api/brand.md)** is the *ratio*'s +Returns an immutable **Amount**. Its **[Brand](/reference/ertp-api/brand)** is the *ratio*'s numerator's **Brand**. Note that the denominator **Brand** has to be the same as the *amount* **Brand**. The resulting **Amount** is determined by: @@ -151,11 +151,11 @@ const exchange = multiplyBy(dollars47, exchangeRatio); ``` ## floorDivideBy(amount, ratio) -- **amount**: **[Amount](/reference/ertp-api/ertp-data-types.md#amount)** -- **ratio**: **[Ratio](./zoe-data-types.md#ratio)** +- **amount**: **[Amount](/reference/ertp-api/ertp-data-types#amount)** +- **ratio**: **[Ratio](./zoe-data-types#ratio)** - Returns: **Amount** -Returns an immutable **Amount**. Its **[Brand](/reference/ertp-api/brand.md)** is the *ratio*'s denominator's **Brand**. +Returns an immutable **Amount**. Its **[Brand](/reference/ertp-api/brand)** is the *ratio*'s denominator's **Brand**. The resulting value is determined by: 1. Multiplying the *amount* value by the *ratio*'s denominator's value. @@ -182,11 +182,11 @@ const exchange = floorDivideBy(dollars47, exchangeRatio); ``` ## ceilDivideBy(amount, ratio) -- **amount**: **[Amount](/reference/ertp-api/ertp-data-types.md#amount)** -- **ratio**: **[Ratio](./zoe-data-types.md#ratio)** +- **amount**: **[Amount](/reference/ertp-api/ertp-data-types#amount)** +- **ratio**: **[Ratio](./zoe-data-types#ratio)** - Returns: **Amount** -Returns an immutable **Amount**. Its **[Brand](/reference/ertp-api/brand.md)** is the *ratio*'s denominator's **Brand**. +Returns an immutable **Amount**. Its **[Brand](/reference/ertp-api/brand)** is the *ratio*'s denominator's **Brand**. The resulting value is determined by: 1. Multiplying the *amount* value by the *ratio*'s denominator's value. @@ -213,11 +213,11 @@ const exchange = ceilDivideBy(dollars47, exchangeRatio); ``` ## divideBy(amount, ratio) -- **amount**: **[Amount](/reference/ertp-api/ertp-data-types.md#amount)** -- **ratio**: **[Ratio](./zoe-data-types.md#ratio)** +- **amount**: **[Amount](/reference/ertp-api/ertp-data-types#amount)** +- **ratio**: **[Ratio](./zoe-data-types#ratio)** - Returns: **Amount** -Returns an immutable **Amount**. Its **[Brand](/reference/ertp-api/brand.md)** is the *ratio*'s denominator's **Brand**. +Returns an immutable **Amount**. Its **[Brand](/reference/ertp-api/brand)** is the *ratio*'s denominator's **Brand**. The resulting value is determined by: 1. Multiplying the *amount* value by the *ratio*'s denominator's value. @@ -244,7 +244,7 @@ const exchange = divideBy(dollars47, exchangeRatio); ``` ## invertRatio(ratio) -- **ratio**: **[Ratio](./zoe-data-types.md#ratio)** +- **ratio**: **[Ratio](./zoe-data-types#ratio)** - Returns: **Ratio** Returns a **Ratio** such that the *ratio* argument's numerator is the returned value's @@ -257,13 +257,13 @@ const invertedRatio = invertRatio(exchangeRatio); ``` ## addRatios(left, right) -- **left**: **[Ratio](./zoe-data-types.md#ratio)** +- **left**: **[Ratio](./zoe-data-types#ratio)** - **right**: **Ratio** - Returns: **Ratio** Returns a **Ratio** that's the sum of the *left* and *right* parameters. -The **[Brands](/reference/ertp-api/brand.md)** of the *numerators* of *left* and *right* must be +The **[Brands](/reference/ertp-api/brand)** of the *numerators* of *left* and *right* must be identical. similarly, the **Brands** of the *denominators* of *left* and *right* must also be identical. If either of these conditions aren't met, then no **Ratio** is returned and an error is thrown instead. @@ -282,13 +282,13 @@ This **Ratio** would then be returned. ## subtractRatios(left, right) -- **left**: **[Ratio](./zoe-data-types.md#ratio)** +- **left**: **[Ratio](./zoe-data-types#ratio)** - **right**: **Ratio** - Returns: **Ratio** Returns a **Ratio** that's the result when the *right* parameter is subtracted from the *left* one. -The **[Brands](/reference/ertp-api/brand.md)** of the *numerators* of *left* and *right* must be +The **[Brands](/reference/ertp-api/brand)** of the *numerators* of *left* and *right* must be identical. similarly, the **Brands** of the *denominators* of *left* and *right* must also be identical. If either of these conditions aren't met, then no **Ratio** is returned and an error is thrown instead. @@ -306,59 +306,59 @@ For example: This **Ratio** would then be returned. ## multiplyRatios(left, right) -- **left**: **[Ratio](./zoe-data-types.md#ratio)** +- **left**: **[Ratio](./zoe-data-types#ratio)** - **right**: **Ratio** - Returns: **Ratio** Returns a **Ratio** that's the product of the *left* and *right* parameters. -The **[Brands](/reference/ertp-api/brand.md)** of the *numerators* of *left* and *right* must be +The **[Brands](/reference/ertp-api/brand)** of the *numerators* of *left* and *right* must be identical. similarly, the **Brands** of the *denominators* of *left* and *right* must also be identical. If either of these conditions aren't met, then no **Ratio** is returned and an error is thrown instead. ## oneMinus(ratio) -- **ratio**: **[Ratio](./zoe-data-types.md#ratio)** +- **ratio**: **[Ratio](./zoe-data-types#ratio)** - Returns: **Ratio** Subtracts the *ratio* argument from 1 and returns the resultant **Ratio**. -This function requires the *ratio* argument to be between 0 and 1. It also requires the numerator and denominator **[Brands](/reference/ertp-api/brand.md)** to be the same. If either of these conditions aren't met, an error is thrown and no **Ratio** is returned. +This function requires the *ratio* argument to be between 0 and 1. It also requires the numerator and denominator **[Brands](/reference/ertp-api/brand)** to be the same. If either of these conditions aren't met, an error is thrown and no **Ratio** is returned. ## ratioGTE(left, right) -- **left**: **[Ratio](./zoe-data-types.md#ratio)** +- **left**: **[Ratio](./zoe-data-types#ratio)** - **right**: **Ratio** - Returns: **Boolean** Returns **true** if *left* is larger than or equal to *right*, **false** otherwise. -An error is returned if the **[Brands](/reference/ertp-api/brand.md)** of *left* and *right* +An error is returned if the **[Brands](/reference/ertp-api/brand)** of *left* and *right* aren't identical. ## ratiosSame(left, right) -- **left**: **[Ratio](./zoe-data-types.md#ratio)** +- **left**: **[Ratio](./zoe-data-types#ratio)** - **right**: **Ratio** - Returns: **Boolean** Returns **true** if the *left* and *right* **Ratios** are the same, **false** otherwise. Note that for the two **Ratios** to be considered the same, the -**[AmountValue](/reference/ertp-api/ertp-data-types.md#amountvalue)** and **[Brand](/reference/ertp-api/brand.md)** +**[AmountValue](/reference/ertp-api/ertp-data-types#amountvalue)** and **[Brand](/reference/ertp-api/brand)** of both the *numerator* and *denominator* of one **Ratio** must be identical to the **AmountValue** and **Brand** of the *numerator* and *denominator* of the other **Ratio**. ## quantize(ratio, newDen) -- **ratio**: **[Ratio](./zoe-data-types.md#ratio)** +- **ratio**: **[Ratio](./zoe-data-types#ratio)** - **newDen**: **BigInt** - Returns: **Ratio** Creates and returns a new **Ratio** that's equivalent to the *ratio* argument, but with a new denominator specified by the *newDen* argument. ## parseRatio(numeric, numeratorBrand, denominatorBrand?) -- **numeric**: **[ParsableNumber](./zoe-data-types.md#parsablenumber)** -- **numeratorBrand**: **[Brand](/reference/ertp-api/brand.md)** +- **numeric**: **[ParsableNumber](./zoe-data-types#parsablenumber)** +- **numeratorBrand**: **[Brand](/reference/ertp-api/brand)** - **denominatorBrand**: **Brand** - Optional, defaults to *numeratorBrand*. -- Returns: **[Ratio](./zoe-data-types.md#ratio)** +- Returns: **[Ratio](./zoe-data-types#ratio)** Creates a **Ratio** from the *numeric* argument, and returns that **Ratio**. @@ -366,4 +366,4 @@ Creates a **Ratio** from the *numeric* argument, and returns that **Ratio**. - **specimen**: **Object** - Returns: None. -Throws an error if the argument is not a **[ParsableNumber](./zoe-data-types.md#parsablenumber)**. +Throws an error if the argument is not a **[ParsableNumber](./zoe-data-types#parsablenumber)**. diff --git a/main/reference/zoe-api/user-seat.md b/main/reference/zoe-api/user-seat.md index a75d85553..c177cbe8c 100644 --- a/main/reference/zoe-api/user-seat.md +++ b/main/reference/zoe-api/user-seat.md @@ -1,9 +1,9 @@ # UserSeat Object Within Zoe, **seats** are used by contracts and users to access or manipulate offers. -Zoe has two kinds of seats. **[ZCFSeats](./zcfseat.md)** +Zoe has two kinds of seats. **[ZCFSeats](./zcfseat)** are used within contracts and with **zcf** methods. **UserSeats** represent offers external to -Zoe and the contract. The party who exercises an **[Invitation](./zoe-data-types.md#invitation)** and sends the **offer()** message +Zoe and the contract. The party who exercises an **[Invitation](./zoe-data-types#invitation)** and sends the **offer()** message to Zoe gets a **UserSeat** that can check payouts' status or retrieve the result of processing the offer in the contract. This varies, but examples are a **String** and an **Invitation** for another seat. @@ -28,10 +28,10 @@ and an operation to request that the offer exit, as follows: - Returns: **Promise<ProposalRecord>** A **Proposal** is represented by a **ProposalRecord**. It is the rules -accompanying the escrow of **[Payments](/reference/ertp-api/payment.md)** dictating what the user expects +accompanying the escrow of **[Payments](/reference/ertp-api/payment)** dictating what the user expects to get back from Zoe. It has keys **give**, **want**, and -**exit**. **give** and **want** are records with **[Keywords](./zoe-data-types.md#keyword)** as keys and -**[Amounts](/reference/ertp-api/ertp-data-types.md#amount)** as values. If it is compatible with the contract, the +**exit**. **give** and **want** are records with **[Keywords](./zoe-data-types#keyword)** as keys and +**[Amounts](/reference/ertp-api/ertp-data-types#amount)** as values. If it is compatible with the contract, the contract tries to satisfy it. If not, the contract kicks the **seat** out. Offer safety is always enforced; if kicked out, the user gets back @@ -45,20 +45,20 @@ const { want, give, exit } = sellerSeat.getProposal(); ``` ## E(UserSeat).getPayouts() - - Returns: **Promise<[PaymentPKeywordRecord](./zoe-data-types.md#keywordrecord)>** + - Returns: **Promise<[PaymentPKeywordRecord](./zoe-data-types#keywordrecord)>** -Returns a **Promise** for a [KeywordRecord](./zoe-data-types.md#keywordrecord) containing **Promises** for all the **Payouts** associated with the **seat**'s offers. -A **Payout** is a **[Payment](/reference/ertp-api/payment.md)** that goes to a party in a successful transaction, +Returns a **Promise** for a [KeywordRecord](./zoe-data-types#keywordrecord) containing **Promises** for all the **Payouts** associated with the **seat**'s offers. +A **Payout** is a **[Payment](/reference/ertp-api/payment)** that goes to a party in a successful transaction, redirecting escrowed assets in accordance with the result of the transaction. The promise will be resolved promptly once the seat exits. ## E(UserSeat).getPayout(keyword) - - **keyword**: **[Keyword](./zoe-data-types.md#keyword)** - - Returns: **Promise<[Payment](/reference/ertp-api/payment.md)>** + - **keyword**: **[Keyword](./zoe-data-types#keyword)** + - Returns: **Promise<[Payment](/reference/ertp-api/payment)>** Returns a **Promise** for the **Payout** associated with the *keyword* argument. -A **Payout** is a **[Payment](/reference/ertp-api/payment.md)** that goes to a party in a successful transaction, +A **Payout** is a **[Payment](/reference/ertp-api/payment)** that goes to a party in a successful transaction, redirecting escrowed assets in accordance with the result of the transaction. The promise will be resolved promptly once the seat exits. @@ -67,11 +67,11 @@ The promise will be resolved promptly once the seat exits. - Returns: **Promise<OfferResult>** Returns a **Promise** for an **OfferResult**. The **OfferResult** can be any **[Passable](/glossary/#passable)**. -For example, in the [Automatic Refund](/guides/zoe/contracts/automatic-refund.md) example, it's the string "The offer was accepted". -In the [Covered Call](/guides/zoe/contracts/covered-call.md) example, it's a call option, which is an assayable **[Invitation](./zoe-data-types.md#invitation)** +For example, in the [Automatic Refund](/guides/zoe/contracts/automatic-refund) example, it's the string "The offer was accepted". +In the [Covered Call](/guides/zoe/contracts/covered-call) example, it's a call option, which is an assayable **[Invitation](./zoe-data-types#invitation)** to buy the underlying asset. Strings and invitations are the most common things returned. The value is the result returned by the **offerHandler** function passed -in the first argument to [`zcf.makeInvitation(...)`](./zoe-contract-facet.md#zcf-makeinvitation-offerhandler-description-customdetails-proposalshape). +in the first argument to [`zcf.makeInvitation(...)`](./zoe-contract-facet#zcf-makeinvitation-offerhandler-description-customdetails-proposalshape). Since the contract can return whatever it wants as an offer result, there is no guarantee that the promise will resolve promptly. @@ -99,7 +99,7 @@ Zoe's offer-safety guarantee applies no matter how a **seat**'s interaction with a contract ends. Under normal circumstances, the participant might be able to call **tryExit()**, or the contract might do something explicitly. On exiting, the seat holder -gets its current **[Allocation](./zoe-data-types.md#allocation)** and the **seat** can no longer interact with the contract. +gets its current **[Allocation](./zoe-data-types#allocation)** and the **seat** can no longer interact with the contract. ## E(UserSeat).numWantsSatisfied() - Returns: **Promise<Number>** @@ -120,7 +120,7 @@ Returns a **Promise** for the **Subscriber** for the seat. ## E(UserSeat).getFinalAllocation() -- Returns: **Promise<[Allocation](./zoe-data-types.md#allocation)>** +- Returns: **Promise<[Allocation](./zoe-data-types#allocation)>** Returns a **Promise** for the **Allocation** when the **UserSeat** exits the **proposal**. This promise will be resolved promptly once the seat exits. diff --git a/main/reference/zoe-api/zcfmint.md b/main/reference/zoe-api/zcfmint.md index d89d6423e..c7a42b49d 100644 --- a/main/reference/zoe-api/zcfmint.md +++ b/main/reference/zoe-api/zcfmint.md @@ -1,35 +1,35 @@ # ZCFMint Object -An object used by the **[Zoe Contract Facet](./zoe-contract-facet.md)** to issue digital assets. It's -very similar to the **[Mint](/reference/ertp-api/mint.md)** object, but it has a more limited set of +An object used by the **[Zoe Contract Facet](./zoe-contract-facet)** to issue digital assets. It's +very similar to the **[Mint](/reference/ertp-api/mint)** object, but it has a more limited set of methods. -**ZCFMints** are created and returned by **Zoe Contract Facet's** **[zcf.makeZCFMint()](./zoe-contract-facet.md#zcf-makezcfmint-keyword-assetkind-displayinfo)** method. +**ZCFMints** are created and returned by **Zoe Contract Facet's** **[zcf.makeZCFMint()](./zoe-contract-facet#zcf-makezcfmint-keyword-assetkind-displayinfo)** method. ## aZCFMint.getIssuerRecord() - Returns: **IssuerRecord** -Returns an **IssuerRecord** containing the **[Issuer](/reference/ertp-api/issuer.md)** and -**[Brand](/reference/ertp-api/brand.md)** associated with the **zcfMint**. +Returns an **IssuerRecord** containing the **[Issuer](/reference/ertp-api/issuer)** and +**[Brand](/reference/ertp-api/brand)** associated with the **zcfMint**. ## aZCFMint.mintGains(gains, zcfSeat?) - - **gains**: **[AmountKeywordRecord](./zoe-data-types.md#keywordrecord)** - - **zcfSeat**: **[ZCFSeat](./zcfseat.md)** - Optional. + - **gains**: **[AmountKeywordRecord](./zoe-data-types#keywordrecord)** + - **zcfSeat**: **[ZCFSeat](./zcfseat)** - Optional. - Returns: **ZCFSeat** -All **amounts** in *gains* must be of this **ZCFMint**'s **[Brand](/reference/ertp-api/brand.md)** -and the *gains*' **[Keywords](./zoe-data-types.md#keyword)** should be defined by the contract instance in which *zcfSeat* is participating. +All **amounts** in *gains* must be of this **ZCFMint**'s **[Brand](/reference/ertp-api/brand)** +and the *gains*' **[Keywords](./zoe-data-types#keyword)** should be defined by the contract instance in which *zcfSeat* is participating. If *zcfSeat* is not provided, a new **seat** is used. -Mints the *gains* **Amount** of assets and adds them to *zcfSeat*'s **[Allocation](./zoe-data-types.md#allocation)**, then returns *zcfSeat*. +Mints the *gains* **Amount** of assets and adds them to *zcfSeat*'s **[Allocation](./zoe-data-types#allocation)**, then returns *zcfSeat*. ## aZCFMint.burnLosses(losses, zcfSeat) - - **losses**: **[AmountKeywordRecord](./zoe-data-types.md#keywordrecord)** - - **zcfSeat**: **[ZCFSeat](./zcfseat.md)** + - **losses**: **[AmountKeywordRecord](./zoe-data-types#keywordrecord)** + - **zcfSeat**: **[ZCFSeat](./zcfseat)** - Returns: None -All **amounts** in *losses* must be of this **ZCFMint**'s **[Brand](/reference/ertp-api/brand.md)** -and the *losses*' **[Keywords](./zoe-data-types.md#keyword)** must be defined by the contract instance in which *zcfSeat* is participating. -Subtracts *losses* from *zcfSeat*'s **[Allocation](./zoe-data-types.md#allocation)**, then +All **amounts** in *losses* must be of this **ZCFMint**'s **[Brand](/reference/ertp-api/brand)** +and the *losses*' **[Keywords](./zoe-data-types#keyword)** must be defined by the contract instance in which *zcfSeat* is participating. +Subtracts *losses* from *zcfSeat*'s **[Allocation](./zoe-data-types#allocation)**, then burns that **amount** from the assets escrowed by Zoe for this contract instance. diff --git a/main/reference/zoe-api/zcfseat.md b/main/reference/zoe-api/zcfseat.md index 37cc69df4..0267a8347 100644 --- a/main/reference/zoe-api/zcfseat.md +++ b/main/reference/zoe-api/zcfseat.md @@ -22,10 +22,10 @@ Returns the **Subscriber** for the seat. A **Proposal** is represented by a **ProposalRecord**. It is the rules accompanying the escrow of **payments** dictating what the user expects to get back from Zoe. It has keys **give**, **want**, and -**exit**. **give** and **want** are records with **[Keywords](./zoe-data-types.md#keyword)** as keys and -**[Amounts](/reference/ertp-api/ertp-data-types.md#amount)** as values. The **proposal** is a user's understanding of the +**exit**. **give** and **want** are records with **[Keywords](./zoe-data-types#keyword)** as keys and +**[Amounts](/reference/ertp-api/ertp-data-types#amount)** as values. The **proposal** is a user's understanding of the contract that they are entering when they make an offer. See -[`E(zoe).offer(...)`](./zoe.md#e-zoe-offer-invitation-proposal-paymentpkeywordrecord-offerargs) for full details. +[`E(zoe).offer(...)`](./zoe#e-zoe-offer-invitation-proposal-paymentpkeywordrecord-offerargs) for full details. - Example: ```js @@ -40,7 +40,7 @@ Causes the **seat** to exit, preventing further changes to its allocation. All * if any, are made, and the **seat** object can no longer interact with the contract. The **completion** argument is usually a string, but this is not required. Its only use is for the notification sent to the corresponding **UserSeat**'s -**[exitSubscriber.](./user-seat.md#e-userseat-getexitsubscriber)** Any other still open +**[exitSubscriber.](./user-seat#e-userseat-getexitsubscriber)** Any other still open seats or outstanding promises and the contract instance continue. **Note**: You should not use **aZCFSeat.exit()** when exiting with an error. Use the method **[aZCFSeat.fail()](#azcfseat-fail-msg)** instead. @@ -67,11 +67,11 @@ throw seat.fail(Error('you did it wrong')); Returns **true** if the **ZCFSeat** has exited, **false** if it is still active. ## aZCFSeat.getAmountAllocated(keyword, brand) - - **keyword**: **[Keyword](./zoe-data-types.md#keyword)** - - **brand**: **[Brand](/reference/ertp-api/brand.md)** - - Returns: **[Amount](/reference/ertp-api/ertp-data-types.md#amount)** + - **keyword**: **[Keyword](./zoe-data-types#keyword)** + - **brand**: **[Brand](/reference/ertp-api/brand)** + - Returns: **[Amount](/reference/ertp-api/ertp-data-types#amount)** -Returns the **Amount** from the part of the **[Allocation](./zoe-data-types.md#allocation)** that matches the +Returns the **Amount** from the part of the **[Allocation](./zoe-data-types#allocation)** that matches the *keyword* and *brand*. If the *keyword* is not in the **Allocation**, it returns an empty **Amount** of the *brand* argument. (After **aZCFSeat.exit()** has been called, it continues to report the final allocation balance, @@ -82,11 +82,11 @@ gets the **Allocation** of one **Keyword** at a time, while **getCurrentAllocati all the current **Allocations** at once. ## aZCFSeat.getCurrentAllocation() - - Returns: **[Allocation](./zoe-data-types.md#allocation)** + - Returns: **[Allocation](./zoe-data-types#allocation)** An **Allocation** is an **AmountKeywordRecord** of key-value pairs where -the key is a **[Keyword](./zoe-data-types.md#keyword)** such as **Asset** or **Price** applicable to the -contract. The value is an **[Amount](/reference/ertp-api/ertp-data-types.md#amount)** with its **value** and **brand**. +the key is a **[Keyword](./zoe-data-types#keyword)** such as **Asset** or **Price** applicable to the +contract. The value is an **[Amount](/reference/ertp-api/ertp-data-types#amount)** with its **value** and **brand**. **Allocations** represent the **Amounts** to be paid out to each **seat** on exit. (After @@ -110,7 +110,7 @@ An **Allocation** example: ``` ## aZCFSeat.isOfferSafe(newAllocation) - - **newAllocation**: **[Allocation](./zoe-data-types.md#allocation)** + - **newAllocation**: **[Allocation](./zoe-data-types#allocation)** - Returns **Boolean** Takes an **allocation** as an argument and returns **true** if that **allocation** @@ -119,16 +119,16 @@ satisfies offer safety, **false** if it doesn't. Essentially, it checks It checks whether **newAllocation** fully satisfies **proposal.give** (giving a refund) or whether it fully satisfies **proposal.want**. Both can be fully satisfied. See the ZoeHelper -[**satisfies()**](./zoe-helpers.md#satisfies-zcf-seat-update) method for more details. +[**satisfies()**](./zoe-helpers#satisfies-zcf-seat-update) method for more details. ::: warning DEPRECATED ## aZCFSeat.getStagedAllocation() - - Returns: **[Allocation](./zoe-data-types.md#allocation)** + - Returns: **[Allocation](./zoe-data-types#allocation)** Gets and returns the **stagedAllocation**, which is the **Allocation** committed if the seat is reallocated over, if offer safety holds, and rights are conserved. -**Note**: This method has been deprecated. Use **[atomicRearrange()](./zoe-helpers.md#atomicrearrange-zcf-transfers)** instead. +**Note**: This method has been deprecated. Use **[atomicRearrange()](./zoe-helpers#atomicrearrange-zcf-transfers)** instead. ::: ::: warning DEPRECATED @@ -139,12 +139,12 @@ Returns **true** if there is a staged allocation, i.e., whether **ZCFSeat.increm **ZCFSeat.decrementBy()** has been called and **ZCFSeat.clear()** and **reallocate()** have not. Otherwise returns **false**. -**Note**: This method has been deprecated. Use **[atomicRearrange()](./zoe-helpers.md#atomicrearrange-zcf-transfers)** instead. +**Note**: This method has been deprecated. Use **[atomicRearrange()](./zoe-helpers#atomicrearrange-zcf-transfers)** instead. ::: ::: warning DEPRECATED ## aZCFSeat.incrementBy(amountKeywordRecord) - - **amountKeywordRecord**: **[AmountKeywordRecord](./zoe-data-types.md#keywordrecord)** + - **amountKeywordRecord**: **[AmountKeywordRecord](./zoe-data-types#keywordrecord)** - Returns: **AmountKeyRecord** Adds the **amountKeywordRecord** argument to the **ZCFseat**'s staged allocation and returns the @@ -152,7 +152,7 @@ same **amountKeywordRecord** so it can be reused in another call. Note that this **zcfSeat1.incrementBy(zcfSeat2.decrementBy(amountKeywordRecord))** work as a usage pattern. Note that you can add amounts to original or staged allocations which do not have the -specified **[Keyword](./zoe-data-types.md#keyword)** for the amount. The result is for the **Keyword** and amount to become part +specified **[Keyword](./zoe-data-types#keyword)** for the amount. The result is for the **Keyword** and amount to become part of the allocation. For example, if we start with a new, empty, allocation: ```js // Make an empty seat. @@ -168,12 +168,12 @@ t.deepEqual(zcfSeat1.getStagedAllocation(), { IST: empty }); While this incremented the allocation by an empty amount, any amount would have been added to the allocation in the same way. -**Note**: This method has been deprecated. Use **[atomicRearrange()](./zoe-helpers.md#atomicrearrange-zcf-transfers)** instead. +**Note**: This method has been deprecated. Use **[atomicRearrange()](./zoe-helpers#atomicrearrange-zcf-transfers)** instead. ::: ::: warning DEPRECATED ## aZCFSeat.decrementBy(amountKeywordRecord) - - **amountKeywordRecord**: **[AmountKeywordRecord](./zoe-data-types.md#keywordrecord)** + - **amountKeywordRecord**: **[AmountKeywordRecord](./zoe-data-types#keywordrecord)** - Returns: **AmountKeywordRecord** Subtracts the **amountKeywordRecord** argument from the **ZCFseat**'s staged allocation and returns the @@ -184,7 +184,7 @@ The amounts to subtract cannot be greater than the staged allocation (i.e., nega results are not allowed). **decrementBy()** has different behavior from **incrementBy()** if the original or staged allocation -does not have the **[Keyword](./zoe-data-types.md#keyword)** specified for an amount in the **amountKeywordRecord** argument. There are two +does not have the **[Keyword](./zoe-data-types#keyword)** specified for an amount in the **amountKeywordRecord** argument. There are two cases to look at; when the corresponding amount to subtract is empty and when it isn't. ```js // Make an empty seat. @@ -216,7 +216,7 @@ It throws an error because you cannot subtract something from nothing. So trying allocation by a non-empty amount is an error, while decrementing an empty allocation by an empty amount is effectively a null operation with no effects. -**Note**: This method has been deprecated. Use **[atomicRearrange()](./zoe-helpers.md#atomicrearrange-zcf-transfers)** instead. +**Note**: This method has been deprecated. Use **[atomicRearrange()](./zoe-helpers#atomicrearrange-zcf-transfers)** instead. ::: ::: warning DEPRECATED @@ -225,7 +225,7 @@ is effectively a null operation with no effects. Deletes the **ZCFSeat**'s current staged allocation, if any, -**Note**: This method has been deprecated. Use **[atomicRearrange()](./zoe-helpers.md#atomicrearrange-zcf-transfers)** instead. +**Note**: This method has been deprecated. Use **[atomicRearrange()](./zoe-helpers#atomicrearrange-zcf-transfers)** instead. ::: diff --git a/main/reference/zoe-api/zoe-contract-facet.md b/main/reference/zoe-api/zoe-contract-facet.md index 45fb354a0..dc074f7c3 100644 --- a/main/reference/zoe-api/zoe-contract-facet.md +++ b/main/reference/zoe-api/zoe-contract-facet.md @@ -7,17 +7,17 @@ for that instance. A Zoe Contract Facet is accessed synchronously from within th and usually is referred to in code as **zcf**. The contract instance is launched by **E(Zoe).startInstance()**, and is given access to -the **zcf** object during that launch (see [Contract Requirements](/guides/zoe/contract-requirements.md)). +the **zcf** object during that launch (see [Contract Requirements](/guides/zoe/contract-requirements)). In the operations below, **instance** is the handle for the running contract instance. ## zcf.makeZCFMint(keyword, assetKind?, displayInfo?) -- **keyword**: **[Keyword](./zoe-data-types.md#keyword)** -- **assetKind**: **[AssetKind](/reference/ertp-api/ertp-data-types.md#assetkind)** - Optional, defaults to **AssetKind.NAT**. -- **displayInfo**: **[DisplayInfo](/reference/ertp-api/ertp-data-types.md#displayinfo)** - Optional, defaults to **undefined**. -- Returns: **Promise<[ZCFMint](./zcfmint.md)>** +- **keyword**: **[Keyword](./zoe-data-types#keyword)** +- **assetKind**: **[AssetKind](/reference/ertp-api/ertp-data-types#assetkind)** - Optional, defaults to **AssetKind.NAT**. +- **displayInfo**: **[DisplayInfo](/reference/ertp-api/ertp-data-types#displayinfo)** - Optional, defaults to **undefined**. +- Returns: **Promise<[ZCFMint](./zcfmint)>** Creates a synchronous Zoe mint, allowing users to mint and reallocate digital assets synchronously -instead of relying on an asynchronous ERTP **[Mint](/reference/ertp-api/mint.md)**. +instead of relying on an asynchronous ERTP **[Mint](/reference/ertp-api/mint)**. The optional *displayInfo* parameter takes values like **decimalPlaces: 16** that tell the UI how to display values associated with the created mint's brand. It defaults to undefined. @@ -25,7 +25,7 @@ brand. It defaults to undefined. **Important**: **ZCFMints** do **not** have the same methods as an ERTP **Mint**. Do not try to use ERTP methods on a **ZCFMint** or vice versa. -**Important**: On the other hand, the **[Issuer](/reference/ertp-api/issuer.md)** and **[Brand](/reference/ertp-api/brand.md)** associated with a **zcfMint** +**Important**: On the other hand, the **[Issuer](/reference/ertp-api/issuer)** and **[Brand](/reference/ertp-api/brand)** associated with a **zcfMint** do have the same methods as their ERTP-derived counterparts. Assets created by a **zcfMint** are treated the same as assets created by ERTP **Mint** methods. @@ -41,7 +41,7 @@ mySynchronousMint.mintGains({ myKeyword: amount }, seat); ``` ## zcf.getInvitationIssuer() -- Returns: **Promise<[InvitationIssuer](./zoe-data-types.md#invitationissuer)>** +- Returns: **Promise<[InvitationIssuer](./zoe-data-types#invitationissuer)>** Returns the **InvitationIssuer** for the Zoe instance. @@ -50,8 +50,8 @@ const invitationIssuer = await zcf.getInvitationIssuer(); ``` ## zcf.saveIssuer(issuer, keyword) -- **issuer**: **[Issuer](/reference/ertp-api/issuer.md)** -- **keyword**: **[Keyword](./zoe-data-types.md#keyword)** +- **issuer**: **[Issuer](/reference/ertp-api/issuer)** +- **keyword**: **[Keyword](./zoe-data-types#keyword)** - Returns: **Promise<IssuerRecord>** Informs Zoe about an **Issuer** and returns a promise for acknowledging @@ -76,18 +76,18 @@ await zcf.saveIssuer(secondaryIssuer, keyword); - **description**: **String** - **customDetails**: **Object** - Optional. - **proposalShape**: **[Pattern](https://github.com/endojs/endo/tree/master/packages/patterns#readme)** - Optional. -- Returns: **Promise<[Invitation](./zoe-data-types.md#invitation)>** +- Returns: **Promise<[Invitation](./zoe-data-types#invitation)>** -Uses the Zoe **[InvitationIssuer](./zoe-data-types.md#invitationissuer)** to _mint_ +Uses the Zoe **[InvitationIssuer](./zoe-data-types#invitationissuer)** to _mint_ a credible **Invitation** for a smart contract. The returned **Invitation**'s **amount** specifies: - The specific contract **instance**. - The Zoe **installation**. -- A unique **[Handle](./zoe-data-types.md#handle)**. +- A unique **[Handle](./zoe-data-types#handle)**. **offerHandler** is a required function accepting a **ZCFSeat** and **offerArgs** (which will be present if and only if provided to -[`E(Zoe).offer(...)`](/reference/zoe-api/zoe.md#e-zoe-offer-invitation-proposal-paymentpkeywordrecord-offerargs)) +[`E(Zoe).offer(...)`](/reference/zoe-api/zoe#e-zoe-offer-invitation-proposal-paymentpkeywordrecord-offerargs)) and returning arbitrary offer results. **description** is a required string describing the **Invitation**, @@ -133,7 +133,7 @@ const creatorInvitation = ``` ## zcf.makeEmptySeatKit() -- Returns: **[ZCFSeat](./zcfseat.md), Promise<[UserSeat](./user-seat.md)>** +- Returns: **[ZCFSeat](./zcfseat), Promise<[UserSeat](./user-seat)>** Returns an empty **ZCFSeat** and a **Promise** for a **UserSeat** @@ -145,25 +145,25 @@ const { zcfSeat: mySeat } = zcf.makeEmptySeatKit(); ``` ## zcf.getInstance() -- Returns: **[Instance](./zoe-data-types.md#instance)** +- Returns: **[Instance](./zoe-data-types#instance)** The contract code can request its own current instance, so it can be sent elsewhere. ## zcf.getBrandForIssuer(issuer) -- **issuer**: **[Issuer](/reference/ertp-api/issuer.md)** -- Returns: **[Brand](/reference/ertp-api/brand.md)** +- **issuer**: **[Issuer](/reference/ertp-api/issuer)** +- Returns: **[Brand](/reference/ertp-api/brand)** Returns the **Brand** associated with the *issuer*. ## zcf.getIssuerForBrand(brand) -- **brand**: **[Brand](/reference/ertp-api/brand.md)** -- Returns: **[Issuer](/reference/ertp-api/issuer.md)** +- **brand**: **[Brand](/reference/ertp-api/brand)** +- Returns: **[Issuer](/reference/ertp-api/issuer)** Returns the **Issuer** of the *brand* argument. ## zcf.getAssetKind(brand) -- **brand**: **[Brand](/reference/ertp-api/brand.md)** -- Returns: **[AssetKind](/reference/ertp-api/ertp-data-types.md#assetkind)** +- **brand**: **[Brand](/reference/ertp-api/brand)** +- Returns: **[AssetKind](/reference/ertp-api/ertp-data-types#assetkind)** Returns the **AssetKind** associated with the *brand* argument. ```js @@ -220,7 +220,7 @@ zcf.shutdownWithFailure(); ## zcf.getTerms() - Returns: **Object** -Returns the **[Issuers](/reference/ertp-api/issuer.md)**, **[Brands](/reference/ertp-api/brand.md)**, and custom **terms** the current contract **instance** was instantiated with. +Returns the **[Issuers](/reference/ertp-api/issuer)**, **[Brands](/reference/ertp-api/brand)**, and custom **terms** the current contract **instance** was instantiated with. The returned values look like: ```js @@ -244,9 +244,9 @@ const { brands, issuers, maths, terms } = zcf.getTerms() ``` ## zcf.getZoeService() -- Returns: [ZoeService](./zoe.md) +- Returns: [ZoeService](./zoe) -This is the only way to get the user-facing [Zoe Service API](./zoe.md) to +This is the only way to get the user-facing [Zoe Service API](./zoe) to the contract code as well. ```js // Making an offer to another contract instance in the contract. @@ -255,7 +255,7 @@ E(zoeService).offer(creatorInvitation, proposal, paymentKeywordRecord); ``` ## zcf.assertUniqueKeyword(keyword) -- **keyword**: **[Keyword](./zoe-data-types.md#keyword)** +- **keyword**: **[Keyword](./zoe-data-types#keyword)** - Returns: **Undefined** Checks if a **Keyword** is valid and not already used as a **Brand** in this **Instance** (i.e., unique) @@ -292,7 +292,7 @@ that they provide a vulnerability. ::: warning DEPRECATED ## zcf.reallocate(seats) -- **seats**: **[ZCFSeats](./zcfseat.md)[]** (at least two) +- **seats**: **[ZCFSeats](./zcfseat)[]** (at least two) - Returns: None. **zcf.reallocate()** commits the staged allocations for each of its seat arguments, @@ -313,7 +313,7 @@ it will never abort part way through. It will completely succeed or it will fail before any seats have their current allocation changed. The reallocation only succeeds if it: -1. Conserves rights (the specified **[Amounts](/reference/ertp-api/ertp-data-types.md#amount)** have the same total value as the +1. Conserves rights (the specified **[Amounts](/reference/ertp-api/ertp-data-types#amount)** have the same total value as the current total amount) 2. Is 'offer-safe' for all parties involved. @@ -335,7 +335,7 @@ buyerSeat.incrementBy(sellerSeat.decrementBy({ Items: wantedItems })); zcf.reallocate(buyerSeat, sellerSeat); ``` -**Note**: This method has been deprecated. Use **[atomicRearrange()](./zoe-helpers.md#atomicrearrange-zcf-transfers)** instead. +**Note**: This method has been deprecated. Use **[atomicRearrange()](./zoe-helpers#atomicrearrange-zcf-transfers)** instead. ::: diff --git a/main/reference/zoe-api/zoe-data-types.md b/main/reference/zoe-api/zoe-data-types.md index b3e8a0ddc..6d7d5d931 100644 --- a/main/reference/zoe-api/zoe-data-types.md +++ b/main/reference/zoe-api/zoe-data-types.md @@ -4,7 +4,7 @@ Zoe introduces and uses several data types. ## Allocation -**Allocations** represent the **[Amounts](/reference/ertp-api/ertp-data-types.md#amount)** to be paid +**Allocations** represent the **[Amounts](/reference/ertp-api/ertp-data-types#amount)** to be paid out to each seat upon exiting a **Proposal**. For example, if a seat expected to be paid 5 *Quatloos* and 3 *Widgets* after successfully exiting a **Proposal**, the **Allocation** would look like: @@ -28,29 +28,29 @@ designated objects. An **Instance** is a handle that represents an instance of a contract. You can get information about the contract instance via these methods: -- **[E(Zoe).getBrands()](./zoe.md#e-zoe-getbrands-instance)** -- **[E(Zoe).getIssuers()](./zoe.md#e-zoe-getissuers-instance)** -- **[E(Zoe).getTerms()](./zoe.md#e-zoe-getterms-instance)** -- **[E(Zoe).getPublicFacet()](./zoe.md#e-zoe-getpublicfacet-instance)** +- **[E(Zoe).getBrands()](./zoe#e-zoe-getbrands-instance)** +- **[E(Zoe).getIssuers()](./zoe#e-zoe-getissuers-instance)** +- **[E(Zoe).getTerms()](./zoe#e-zoe-getterms-instance)** +- **[E(Zoe).getPublicFacet()](./zoe#e-zoe-getpublicfacet-instance)** ## Invitation An **Invitation** is a non-fungible asset created by the **[InvitationIssuer](#invitationissuer)**. -An **Invitation Payment** is a **[Payment](/reference/ertp-api/payment.md)** holding an **Invitation**. +An **Invitation Payment** is a **[Payment](/reference/ertp-api/payment)** holding an **Invitation**. ## InvitationIssuer -The **InvitationIssuer** is an **[Issuer](/reference/ertp-api/issuer.md)** that plays a +The **InvitationIssuer** is an **[Issuer](/reference/ertp-api/issuer)** that plays a special role throughout Zoe. Zoe has a single **InvitationIssuer** for its entire -lifetime. All **Invitations** come from the **[Mint](/reference/ertp-api/mint.md)** +lifetime. All **Invitations** come from the **[Mint](/reference/ertp-api/mint)** associated with the Zoe instance's **InvitationIssuer**. -The issuer is publicly available (via [`E(Zoe).getInvitationIssuer()`](./zoe-contract-facet.md#zcf-getinvitationissuer)), +The issuer is publicly available (via [`E(Zoe).getInvitationIssuer()`](./zoe-contract-facet#zcf-getinvitationissuer)), so the ability to validate invitations is widely available. **InvitationIssuer** has all the methods of regular **Issuers**, but the two methods that are most -often used are **[anIssuer.claim()](/reference/ertp-api/issuer.md#anissuer-claim-payment-optamount)** -and **[anIssuer.getAmountOf()](/reference/ertp-api/issuer.md#anissuer-getamountof-payment)**. +often used are **[anIssuer.claim()](/reference/ertp-api/issuer#anissuer-claim-payment-optamount)** +and **[anIssuer.getAmountOf()](/reference/ertp-api/issuer#anissuer-getamountof-payment)**. A successful call of **anInvitationIssuer.claim()** means you are assured the **Invitation** passed into the method is recognized as valid by the **InvitationIssuer**. You are also assured the **Invitation** @@ -73,9 +73,9 @@ A **KeywordRecord** is a [CopyRecord](/glossary/#copyrecord) in which every prop is a **[Keyword](#keyword)**, such as `harden({ Asset: moolaIssuer, Bid: simoleanIssuer })`. Subtypes further constrain property values (for example, an **AmountKeywordRecord** is a **KeywordRecord** in which every value is an -**[Amount](/reference/ertp-api/ertp-data-types.md#amount)** and a +**[Amount](/reference/ertp-api/ertp-data-types#amount)** and a **PaymentPKeywordRecord** is a **KeywordRecord** in which every value is either a -**[Payment](/reference/ertp-api/payment.md)** or a Promise for a Payment). +**[Payment](/reference/ertp-api/payment)** or a Promise for a Payment). Users submit their **payments** as **KeywordRecords**: ```js @@ -87,10 +87,10 @@ const paymentKeywordRecord = { ## MutableQuote -A **MutableQuote** represents a statement from a **[PriceAuthority](./price-authority.md)** as to the +A **MutableQuote** represents a statement from a **[PriceAuthority](./price-authority)** as to the current price level at a particular time. The significant content (prices -and time) is packaged in the **[Amount](/reference/ertp-api/ertp-data-types.md#amount)**, and repeated -in the **[Payment](/reference/ertp-api/payment.md)** for veracity. +and time) is packaged in the **[Amount](/reference/ertp-api/ertp-data-types#amount)**, and repeated +in the **[Payment](/reference/ertp-api/payment)** for veracity. **MutableQuotes** should be used when you expect to make multiple calls, replacing the trigger value. If you just need a single quote, and won't change the trigger level, you should use @@ -105,10 +105,10 @@ A **ParsableNumber** is defined as a **bigint**, **number**, or **string**. ## PriceQuote -A **PriceQuote** represents a statement from a **[PriceAuthority](./price-authority.md)** as to the +A **PriceQuote** represents a statement from a **[PriceAuthority](./price-authority)** as to the current price level at a particular time. The significant content (prices -and time) is packaged in the **[Amount](/reference/ertp-api/ertp-data-types.md#amount)** and repeated -in the **[Payment](/reference/ertp-api/payment.md)** for veracity. +and time) is packaged in the **[Amount](/reference/ertp-api/ertp-data-types#amount)** and repeated +in the **[Payment](/reference/ertp-api/payment)** for veracity. A **PriceQuote** is an **Amount**-**Payment** pair, where the **Amount** is also the current balance of the **Payment**. @@ -127,8 +127,8 @@ const { quoteAmount, quotePayment } = priceQuote; **Ratios** are pass-by-value records that consist of a *numerator* and a *denominator*. Both of these consist of a -**[AmountValue](/reference/ertp-api/ertp-data-types.md#amountvalue)** and a **[Brand](/reference/ertp-api/brand.md)**, -just like **[Amounts](/reference/ertp-api/ertp-data-types.md#amount)**. +**[AmountValue](/reference/ertp-api/ertp-data-types#amountvalue)** and a **[Brand](/reference/ertp-api/brand)**, +just like **[Amounts](/reference/ertp-api/ertp-data-types#amount)**. A **Ratio** cannot have a denominator value of 0. The most common kind of **Ratio** is applied to an **Amount** of a particular **Brand** @@ -140,9 +140,9 @@ hour or US dollars for Swiss francs (i.e., an exchange rate ratio). ## TransferPart **TransferParts** are the individual elements of the *transfer* array passed into the -**[atomicRearrange()](./zoe-helpers.md#atomicrearrange-zcf-transfers)** function. Each **TransferPart** +**[atomicRearrange()](./zoe-helpers#atomicrearrange-zcf-transfers)** function. Each **TransferPart** represents one or two **[Allocation](#allocation)** changes among existing -**[ZCFSeats](./zcfseat.md)**. Each **TransferPart** consists of 4 elements, each of which can be elided +**[ZCFSeats](./zcfseat)**. Each **TransferPart** consists of 4 elements, each of which can be elided in some cases: * **fromSeat**?: **ZCFSeat** - The seat from which **amounts** are being taken. @@ -156,8 +156,8 @@ specifying a *toAmounts*, it means that the *fromAmount* will be taken from *fro **TransferParts** that represent one side of a transfer can be created using the helper functions -**[fromOnly()](./zoe-helpers.md#fromonly-fromseat-fromamounts)** or -**[toOnly()](./zoe-helpers.md#toonly-toseat-toamounts)**. +**[fromOnly()](./zoe-helpers#fromonly-fromseat-fromamounts)** or +**[toOnly()](./zoe-helpers#toonly-toseat-toamounts)**. Of course, as with any JavaScript datatype, you can also manually create **TransferParts**. If you manually create a **TransferPart** and don't include the *fromSeat*, *toSeat*, and/or *fromAmounts* fields, you'll need to set the missing fields to **undefined**. (Note that if you don't diff --git a/main/reference/zoe-api/zoe-helpers.md b/main/reference/zoe-api/zoe-helpers.md index 0b4e5fd52..3502c7525 100644 --- a/main/reference/zoe-api/zoe-helpers.md +++ b/main/reference/zoe-api/zoe-helpers.md @@ -17,11 +17,11 @@ import { ``` ## atomicRearrange(zcf, transfers) -- **zcf**: **[ZoeContractFacet](./zoe-contract-facet.md)** -- **transfers**: **Array<[TransferPart](./zoe-data-types.md#transferpart)>** +- **zcf**: **[ZoeContractFacet](./zoe-contract-facet)** +- **transfers**: **Array<[TransferPart](./zoe-data-types#transferpart)>** - Returns: None. -Asks Zoe to rearrange the **[Allocations](./zoe-data-types.md#allocation)** among the seats mentioned in +Asks Zoe to rearrange the **[Allocations](./zoe-data-types#allocation)** among the seats mentioned in *transfers*. *transfers* are a set of changes to **Allocations** that must satisfy several constraints. If these constraints are all met, then the reallocation happens atomically. Otherwise an error is thrown and none of the propossed changes has any effect. The constraints are as follows. @@ -34,7 +34,7 @@ error is thrown and none of the propossed changes has any effect. The constraint To prevent confusion, each reallocation can only be expressed in the old way or the new way, but not a mixture. * Overall conservation must be maintained. In other words, the reallocated - **[Amounts](/reference/ertp-api/ertp-data-types.md#amount)** must balance out. + **[Amounts](/reference/ertp-api/ertp-data-types#amount)** must balance out. * Offer Safety is preserved for each seat. That means reallocations can only take assets from a seat as long as either it gets the assets described in the want section of its proposal, or it retains all of the assets specified in the give section of the proposal. This constraint applies to each @@ -46,31 +46,31 @@ transfers that only include one seat, you can use the helper functions **TransferParts** that only use a subset of the fields. ## fromOnly(fromSeat, fromAmounts) -- **fromSeat**: **[ZCFSeat](./zcfseat.md)** -- **fromAmounts**: **[AmountKeywordRecord](./zoe-data-types.md#keywordrecord)** -- Returns: **[TransferPart](./zoe-data-types.md#transferpart)** +- **fromSeat**: **[ZCFSeat](./zcfseat)** +- **fromAmounts**: **[AmountKeywordRecord](./zoe-data-types#keywordrecord)** +- Returns: **[TransferPart](./zoe-data-types#transferpart)** Returns a **TransferPart** which only takes **fromAmounts** from *fromSeat*. **TransferParts** are used as part of the *transfer* argument of the **[atomicRearrange()](#atomicrearrange-zcf-transfers)** function. ## toOnly(toSeat, toAmounts) -- **toSeat**: **[ZCFSeat](./zcfseat.md)** -- **toAmounts**: **[AmountKeywordRecord](./zoe-data-types.md#keywordrecord)** -- Returns: **[TransferPart](./zoe-data-types.md#transferpart)** +- **toSeat**: **[ZCFSeat](./zcfseat)** +- **toAmounts**: **[AmountKeywordRecord](./zoe-data-types#keywordrecord)** +- Returns: **[TransferPart](./zoe-data-types#transferpart)** Returns a **TransferPart** which only gives **toAmount** to *toSeat*. **TransferParts** are used as part of the *transfer* argument of the **[atomicRearrange()](#atomicrearrange-zcf-transfers)** function. ## atomicTransfer(zcf, fromSeat, toSeat, fromAmounts, toAmounts?) -- **zcf**: **[ZoeContractFacet](./zoe-contract-facet.md)** -- **fromSeat**: **[ZCFSeat](./zcfseat.md)** - Optional. +- **zcf**: **[ZoeContractFacet](./zoe-contract-facet)** +- **fromSeat**: **[ZCFSeat](./zcfseat)** - Optional. - **toSeat**: **ZCFSeat** - Optional. -- **fromAmounts**: **[AmountKeywordRecord](./zoe-data-types.md#keywordrecord)** - Optional. +- **fromAmounts**: **[AmountKeywordRecord](./zoe-data-types#keywordrecord)** - Optional. - **toAmounts**: **AmountKeywordRecord** - Optional, defaults to **fromAmounts**. - Returns: None. -Asks Zoe to rearrange the **[Allocations](./zoe-data-types.md#allocation)** among the seats mentioned in +Asks Zoe to rearrange the **[Allocations](./zoe-data-types#allocation)** among the seats mentioned in *fromSeat* and *toSeat*. The reallocations must satisfy several constraints. If these constraints are all met, then the reallocation happens atomically. Otherwise an error is thrown and none of the proposed changes has any effect. The constraints are as follows. @@ -83,7 +83,7 @@ changes has any effect. The constraints are as follows. To prevent confusion, each reallocation can only be expressed in the old way or the new way, but not a mixture. * Overall conservation must be maintained. In other words, the reallocated - **[Amounts](/reference/ertp-api/ertp-data-types.md#amount)** must balance out. + **[Amounts](/reference/ertp-api/ertp-data-types#amount)** must balance out. * Offer Safety is preserved for each seat. That means reallocations can only take assets from a seat as long as either it gets the assets described in the want section of its proposal, or it retains all of the assets specified in the give section of the proposal. This constraint applies to each @@ -93,11 +93,11 @@ When you don't specify *toAmounts*, it means that the *fromAmount* will be taken given to *toSeat*. ## assertIssuerKeywords(zcf, expected) -- **zcf**: **[ZoeContractFacet](./zoe-contract-facet.md)** +- **zcf**: **[ZoeContractFacet](./zoe-contract-facet)** - **expected**: **Array<String>** - Returns: None. -Checks that the **[Keywords](./zoe-data-types.md#keyword)** in the *expected* argument match what the contract expects. +Checks that the **[Keywords](./zoe-data-types#keyword)** in the *expected* argument match what the contract expects. The function throws an error if incorrect or extra **Keywords** are passed in, or if there are **Keywords** missing. The **Keyword** order is irrelevant. @@ -111,16 +111,16 @@ assertIssuerKeywords(zcf, harden(['Asset', 'Price'])); ``` ## satisfies(zcf, seat, update) -- **zcf**: **[ZoeContractFacet](./zoe-contract-facet.md)** -- **seat**: **[ZCFSeat](./zcfseat.md)** -- **update**: **[AmountKeywordRecord](./zoe-data-types.md#keywordrecord)** +- **zcf**: **[ZoeContractFacet](./zoe-contract-facet)** +- **seat**: **[ZCFSeat](./zcfseat)** +- **update**: **[AmountKeywordRecord](./zoe-data-types#keywordrecord)** - Returns: **Boolean** Returns **true** if an update to a **seat**'s **currentAllocation** satisfies its **proposal.want**. Note this is half of the offer safety check; -it does not check if the **[Allocation](./zoe-data-types.md#allocation)** constitutes a refund. +it does not check if the **[Allocation](./zoe-data-types#allocation)** constitutes a refund. The update is merged with **currentAllocation** such that -*update*'s values prevail if the **[Keywords](./zoe-data-types.md#keyword)** are the same. If they +*update*'s values prevail if the **[Keywords](./zoe-data-types#keyword)** are the same. If they are not the same, the **Keyword** and **value** is just added to the **currentAllocation**. The following example code uses **satisfies()** to define a **satisfiedBy()** comparison @@ -142,15 +142,15 @@ if (satisfiedBy(offer, seat) && satisfiedBy(seat, offer)) { ``` ## swap(zcf, leftSeat, rightSeat) -- **zcf**: **[ZoeContractFacet](./zoe-contract-facet.md)** -- **leftSeat**: **[ZCFSeat](./zcfseat.md)** +- **zcf**: **[ZoeContractFacet](./zoe-contract-facet)** +- **leftSeat**: **[ZCFSeat](./zcfseat)** - **rightSeat**: **ZCFSeat** - Returns: **defaultAcceptanceMsg** For both **seats**, everything a **seat** wants is given to it, having been taken from the other **seat**. **swap()** exits both **seats**. Use **swap()** when all of these are true: - - Both **seats** use the same **[Keywords](./zoe-data-types.md#keyword)**. + - Both **seats** use the same **[Keywords](./zoe-data-types#keyword)**. - The **seats**' wants can be fulfilled from the other **seat**. - No further **seat** interaction is desired. @@ -171,8 +171,8 @@ swap(zcf, firstSeat, secondSeat); ``` ## swapExact(zcf, leftSeat, rightSeat) -- **zcf**: **[ZoeContractFacet](./zoe-contract-facet.md)** -- **leftSeat**: **[ZCFSeat](./zcfseat.md)** +- **zcf**: **[ZoeContractFacet](./zoe-contract-facet)** +- **leftSeat**: **[ZCFSeat](./zcfseat)** - **rightSeat**: **ZCFSeat** - Returns: **defaultAcceptanceMsg** @@ -182,7 +182,7 @@ Use **swapExact()** when both of these are true: - The **seats**' wants can be fulfilled from the other **seat**. - No further **seat** interaction is desired. -Note that unlike the **swap()** function, *leftSeat* and *rightSeat* don't necessarily use the same **[Keywords](./zoe-data-types.md#keyword)**. +Note that unlike the **swap()** function, *leftSeat* and *rightSeat* don't necessarily use the same **[Keywords](./zoe-data-types#keyword)**. **swapExact()** is a special case of **swap()** such that it is successful only if both seats gain everything they want and lose everything they were willing to give. @@ -203,21 +203,21 @@ const swapMsg = swapExact(zcf, zcfSeatA, zcfSeatB); ``` ## fitProposalShape(seat, proposalShape) -- **seat**: **[ZCFSeat](./zcfseat.md)** +- **seat**: **[ZCFSeat](./zcfseat)** - **proposalShape**: **[Pattern](https://github.com/endojs/endo/tree/master/packages/patterns#readme)** - Returns: None. -Checks the seat's proposal against the *proposalShape* argument. If the proposal does not match *proposalShape*, the seat will be exited and all **[Payments](/reference/ertp-api/payment.md)** will be refunded. +Checks the seat's proposal against the *proposalShape* argument. If the proposal does not match *proposalShape*, the seat will be exited and all **[Payments](/reference/ertp-api/payment)** will be refunded. ## assertProposalShape(seat, expected) -- **seat**: **[ZCFSeat](./zcfseat.md)** +- **seat**: **[ZCFSeat](./zcfseat)** - **expected**: **ExpectedRecord** - Returns: None. Checks the seat's proposal against an *expected* record that says what shape of proposal is acceptable. -By "shape", we mean the **give**, **want**, and **exit** rule **[Keywords](./zoe-data-types.md#keyword)** of the proposal must be equal to +By "shape", we mean the **give**, **want**, and **exit** rule **[Keywords](./zoe-data-types#keyword)** of the proposal must be equal to those in *expected*. Note that **exit** rule **Keywords** are optional in *expected*. Also, none of the values of those **Keywords** are checked. @@ -241,12 +241,12 @@ const sell = seat => { ``` ## assertNatAssetKind(zcf, brand) -- **zcf**: **[ZoeContractFacet](./zoe-contract-facet.md)** -- **brand**: **[Brand](/reference/ertp-api/brand.md)** +- **zcf**: **[ZoeContractFacet](./zoe-contract-facet)** +- **brand**: **[Brand](/reference/ertp-api/brand)** - Returns: **Boolean** -Asserts that the *brand* is [AssetKind.NAT](/reference/ertp-api/ertp-data-types.md#assetkind). -This means the corresponding **[Mint](/reference/ertp-api/mint.md)** creates fungible assets. +Asserts that the *brand* is [AssetKind.NAT](/reference/ertp-api/ertp-data-types#assetkind). +This means the corresponding **[Mint](/reference/ertp-api/mint)** creates fungible assets. If **false** throws with message **brand must be AssetKind.NAT**. @@ -257,15 +257,15 @@ assertNatAssetKind(zcf, quatloosBrand); ``` ## depositToSeat(zcf, recipientSeat, amounts, payments) -- **zcf**: **[ZoeContractFacet](./zoe-contract-facet.md)** -- **recipientSeat**: **[ZCFSeat](./zcfseat.md)** -- **amounts**: **[AmountKeywordRecord](./zoe-data-types.md#allocation)** +- **zcf**: **[ZoeContractFacet](./zoe-contract-facet)** +- **recipientSeat**: **[ZCFSeat](./zcfseat)** +- **amounts**: **[AmountKeywordRecord](./zoe-data-types#allocation)** - **payments**: **PaymentPKeywordRecord** - Returns: **Promise<String>** Deposits payments such that their amounts are reallocated to a seat. The **amounts** and **payments** records must have corresponding -**[Keywords](./zoe-data-types.md#keyword)**. +**[Keywords](./zoe-data-types#keyword)**. If the seat has exited, aborts with the message **The recipientSeat cannot have exited.** @@ -278,14 +278,14 @@ await depositToSeat(zcf, zcfSeat, { Dep: quatloos(2n) }, { Dep: quatloosPayment ``` ## withdrawFromSeat(zcf, seat, amounts) -- **zcf**: **[ZoeContractFacet](./zoe-contract-facet.md)** -- **seat**: **[ZCFSeat](./zcfseat.md)** -- **amounts**: **[AmountKeywordRecord](./zoe-data-types.md#allocation)** +- **zcf**: **[ZoeContractFacet](./zoe-contract-facet)** +- **seat**: **[ZCFSeat](./zcfseat)** +- **amounts**: **[AmountKeywordRecord](./zoe-data-types#allocation)** - Returns: **Promise<PaymentPKeywordRecord>** Withdraws payments from a seat. Note that withdrawing the amounts of the payments must not and cannot violate offer safety for the seat. The -**amounts** and **payments** records must have corresponding **[Keywords](./zoe-data-types.md#keyword)**. +**amounts** and **payments** records must have corresponding **[Keywords](./zoe-data-types#keyword)**. If the seat has exited, aborts with the message **The seat cannot have exited.** @@ -297,14 +297,14 @@ const paymentKeywordRecord = await withdrawFromSeat(zcf, zcfSeat, { With: quatlo ``` ## saveAllIssuers(zcf, issuerKeywordRecord) -- **zcf**: **[ZoeContractFacet](./zoe-contract-facet.md)** +- **zcf**: **[ZoeContractFacet](./zoe-contract-facet)** - **issuerKeywordRecord**: **IssuerKeywordRecord** - Returns: **Promise<PaymentPKeywordRecord>** Saves all of the issuers in an **IssuersKeywordRecord** to ZCF, using -the method [**zcf.saveIssuer()**](./zoe-contract-facet.md#zcf-saveissuer-issuer-keyword). +the method [**zcf.saveIssuer()**](./zoe-contract-facet#zcf-saveissuer-issuer-keyword). -This does **not** error if any of the **[Keywords](./zoe-data-types.md#keyword)** already exist. If the **Keyword** is +This does **not** error if any of the **[Keywords](./zoe-data-types#keyword)** already exist. If the **Keyword** is already present, it is ignored. ```js @@ -314,11 +314,11 @@ await saveAllIssuers(zcf, { G: gIssuer, D: dIssuer, P: pIssuer }); ``` ## offerTo(zcf, invitation, keywordMapping, proposal, fromSeat, toSeat, offerArgs) -- **zcf**: **[ZoeContractFacet](./zoe-contract-facet.md)** -- **invitation**: **ERef<[Invitation](./zoe-data-types.md#invitation)>** +- **zcf**: **[ZoeContractFacet](./zoe-contract-facet)** +- **invitation**: **ERef<[Invitation](./zoe-data-types#invitation)>** - **keywordMapping**: **KeywordRecord** - **proposal**: **Proposal** -- **fromSeat**: **[ZCFSeat](./zcfseat.md)** +- **fromSeat**: **[ZCFSeat](./zcfseat)** - **toSeat**: **ZCFSeat** - **offerArgs**: **Object** - Returns: **OfferToReturns** @@ -338,7 +338,7 @@ do not have to be instances of the same contract. *zcf* is contractA's Zoe contract facet. The *invitation* parameter is an **Invitation** to contractB. The *proposal* parameter is the proposal part of the offer made to contractB. -*keywordMapping* is a record of the **[Keywords](./zoe-data-types.md#keyword)** used in contractA mapped to the +*keywordMapping* is a record of the **[Keywords](./zoe-data-types#keyword)** used in contractA mapped to the **Keywords** for contractB. Note that the pathway to deposit the payout back to contractA reverses this mapping. It looks like this, where the **Keywords** are from the contracts indicated by using "A" or "B" in the **Keyword** name. diff --git a/main/reference/zoe-api/zoe.md b/main/reference/zoe-api/zoe.md index 0f1ed2b7a..467b63639 100644 --- a/main/reference/zoe-api/zoe.md +++ b/main/reference/zoe-api/zoe.md @@ -4,8 +4,8 @@ Zoe provides a framework for deploying and working with smart contracts. It is accessed as a long-lived and well-trusted service that enforces offer safety for the contracts that use it. Zoe -has a single **[InvitationIssuer](./zoe-data-types.md#invitationissuer)** for the entirety of its lifetime. By having a reference to Zoe, a user -can get the **InvitationIssuer** and thus validate any **[Invitation](./zoe-data-types.md#invitation)** they receive from someone else. +has a single **[InvitationIssuer](./zoe-data-types#invitationissuer)** for the entirety of its lifetime. By having a reference to Zoe, a user +can get the **InvitationIssuer** and thus validate any **[Invitation](./zoe-data-types#invitation)** they receive from someone else. ::: tip Zoe is accessed asynchronously The Zoe service is accessed asynchronously, using a standards-track library extension @@ -17,17 +17,17 @@ local value, or to a **Presence** for another remote object (e.g., in another co running on another chain, etc.). Asynchronous messages can be sent using **E** with either promises or presences. -For more information about using **E**, see the [Agoric's JavaScript Distributed Programming Guide](/guides/js-programming/eventual-send.md). +For more information about using **E**, see the [Agoric's JavaScript Distributed Programming Guide](/guides/js-programming/eventual-send). ::: ## E(Zoe).getBrands(instance) -- **instance**: **[Instance](./zoe-data-types.md#instance)** +- **instance**: **[Instance](./zoe-data-types#instance)** - Returns: **Promise<BrandKeywordRecord>** -Returns a **Promise** for a **BrandKeywordRecord** containing all **[Brands](/reference/ertp-api/brand.md)** defined in the *instance* argument. +Returns a **Promise** for a **BrandKeywordRecord** containing all **[Brands](/reference/ertp-api/brand)** defined in the *instance* argument. -A **BrandKeywordRecord** is an object where the keys are **[Keywords](./zoe-data-types.md#keyword)**, -and the values are the **Brands** for particular **[Issuers](/reference/ertp-api/issuer.md)**. +A **BrandKeywordRecord** is an object where the keys are **[Keywords](./zoe-data-types#keyword)**, +and the values are the **Brands** for particular **[Issuers](/reference/ertp-api/issuer)**. ```js // Record example @@ -44,12 +44,12 @@ const brandKeywordRecord = await E(Zoe).getBrands(instance); ``` ## E(Zoe).getIssuers(instance) -- **instance**: **[Instance](./zoe-data-types.md#instance)** +- **instance**: **[Instance](./zoe-data-types#instance)** - Returns: **Promise<IssuerKeywordRecord>** -Returns a **Promise** for an **IssuerKeywordRecord** containing all **[Issuers](/reference/ertp-api/issuer.md)** defined in the *instance* argument. +Returns a **Promise** for an **IssuerKeywordRecord** containing all **[Issuers](/reference/ertp-api/issuer)** defined in the *instance* argument. -An **IssuerKeywordRecord** is an object where the keys are **[Keywords](./zoe-data-types.md#keyword)**, +An **IssuerKeywordRecord** is an object where the keys are **[Keywords](./zoe-data-types#keyword)**, and the values are **Issuers**. ```js @@ -66,10 +66,10 @@ const issuerKeywordRecord = await E(Zoe).getIssuers(instance); ``` ## E(Zoe).getTerms(instance) -- **instance**: **[Instance](./zoe-data-types.md#instance)** +- **instance**: **[Instance](./zoe-data-types#instance)** - Returns: **Promise<Object>** -Returns a **Promise** for the terms of the *instance* argument, including its **[Brands](/reference/ertp-api/brand.md)**, **[Issuers](/reference/ertp-api/issuer.md)**, and any +Returns a **Promise** for the terms of the *instance* argument, including its **[Brands](/reference/ertp-api/brand)**, **[Issuers](/reference/ertp-api/issuer)**, and any custom terms. The returned values look like: ```js @@ -88,13 +88,13 @@ const terms = await E(Zoe).getTerms(instance); ``` ## E(Zoe).getPublicFacet(instance) -- **instance**: **[Instance](./zoe-data-types.md#instance)** +- **instance**: **[Instance](./zoe-data-types#instance)** - Returns: **Promise<PublicFacet>** Returns a **Promise** for the **PublicFacet** defined for the *instance* argument. A contract instance's **PublicFacet** is an object available via Zoe to anyone knowing that **Instance**. -You use it for general queries and actions, such as getting a current price or creating public **[Invitations](./zoe-data-types.md#invitation)**. +You use it for general queries and actions, such as getting a current price or creating public **[Invitations](./zoe-data-types#invitation)**. Since a facet is defined just as any other object, the contract adds methods to the **PublicFacet** just like you would any object. @@ -103,7 +103,7 @@ const ticketSalesPublicFacet = await E(Zoe).getPublicFacet(sellItemsInstance); ``` ## E(Zoe).getInvitationIssuer() -- Returns: **Promise<[InvitationIssuer](./zoe-data-types.md#invitationissuer)>** +- Returns: **Promise<[InvitationIssuer](./zoe-data-types#invitationissuer)>** Returns a **Promise** for the **InvitationIssuer** for the Zoe instance. @@ -118,15 +118,15 @@ const { value: invitationValue } = ``` ## E(Zoe).getInvitationDetails(invitation) -- **invitation**: **[Invitation](./zoe-data-types.md#invitation)** +- **invitation**: **[Invitation](./zoe-data-types#invitation)** - Returns **Promise<Object>** Takes an **Invitation** as an argument and returns a **Promise** for an object containing the following details about the **Invitation**: - **installation**: **Installation**: The contract's Zoe installation. -- **instance**: **[Instance](./zoe-data-types.md#instance)**: The contract instance this invitation is for. -- **invitationHandle**: **[Handle](./zoe-data-types.md#handle)**: A **Handle** used to refer to this **Invitation**. +- **instance**: **[Instance](./zoe-data-types#instance)**: The contract instance this invitation is for. +- **invitationHandle**: **[Handle](./zoe-data-types#handle)**: A **Handle** used to refer to this **Invitation**. - **description**: **String**: Describes the purpose of this **Invitation**. Use it to match the invitation to the role it plays in the contract. @@ -154,23 +154,23 @@ const installationP = await E(Zoe).install(bundle); - Returns: **Promise<Object>** Returns a **Promise** for information about the feeIssuer. -(The **Issuer** whose associated **[Mint](/reference/ertp-api/mint.md)** can mint IST.) +(The **Issuer** whose associated **[Mint](/reference/ertp-api/mint)** can mint IST.) It consists of the issuer's name, assetKind, and displayInfo. ## E(Zoe).getFeeIssuer() -- Returns: **Promise<[Issuer](/reference/ertp-api/issuer.md)>** +- Returns: **Promise<[Issuer](/reference/ertp-api/issuer)>** -Returns a **Promise** for the **Issuer** whose associated **[Mint](/reference/ertp-api/mint.md)** can mint IST. +Returns a **Promise** for the **Issuer** whose associated **[Mint](/reference/ertp-api/mint)** can mint IST. ## E(Zoe).getOfferFilter(instance) -- **instance**: **[Instance](./zoe-data-types.md#instance)** +- **instance**: **[Instance](./zoe-data-types#instance)** - Returns: **Array<String>** -Returns all the offer **[Keywords](./zoe-data-types.md#keyword)** that have been disabled, if any. Offer **Keywords** may be disabled if they prove problematic in some fashion, or to debug undesired behavior. +Returns all the offer **[Keywords](./zoe-data-types#keyword)** that have been disabled, if any. Offer **Keywords** may be disabled if they prove problematic in some fashion, or to debug undesired behavior. ## E(Zoe).getInstance(invitation) -- **invitation**: **[Invitation](./zoe-data-types.md#invitation)** -- Returns: **Promise<[Instance](./zoe-data-types.md#instance)>** +- **invitation**: **[Invitation](./zoe-data-types#invitation)** +- Returns: **Promise<[Instance](./zoe-data-types#instance)>** Returns a **Promise** for the contract **instance** the **Invitation** is part of. @@ -187,13 +187,13 @@ const instance = await E(Zoe).getInstance(invitation); ``` ## E(Zoe).getProposalShapeForInvitation(invitation) -- **invitation**: **[Invitation](./zoe-data-types.md#invitation)** +- **invitation**: **[Invitation](./zoe-data-types#invitation)** - Returns: **Promise<[Pattern](https://github.com/endojs/endo/tree/master/packages/patterns#readme)>** Returns a **Promise** for the **Pattern** that the **Invitation's** **Proposal** adheres to. ## E(Zoe).getInstallation(invitation) -- **invitation**: **[Invitation](./zoe-data-types.md#invitation)** +- **invitation**: **[Invitation](./zoe-data-types#invitation)** - Returns: **Promise<Installation>** Returns a **Promise** for the contract **installation** the **Invitation**'s contract instance uses. @@ -203,7 +203,7 @@ const installation = await E(Zoe).getInstallation(invitation); ``` ## E(Zoe).getInstallationForInstance(instance) -- **instance**: **[Instance](./zoe-data-types.md#instance)** +- **instance**: **[Instance](./zoe-data-types#instance)** - Returns **Promise<Installation>** Returns a **Promise** for the contract **installation** used by the @@ -227,8 +227,8 @@ Creates an instance of the installed smart contract specified by the *installation* argument. All contracts each run in a new vat with their own version of the Zoe Contract Facet. There is one vat that contains the Zoe Service. -The *issuerKeywordRecord* is an optional object mapping **[Keywords](./zoe-data-types.md#keyword)** -to **[Issuers](/reference/ertp-api/issuer.md)**, such as **FirstCurrency: quatlooIssuer**. +The *issuerKeywordRecord* is an optional object mapping **[Keywords](./zoe-data-types#keyword)** +to **[Issuers](/reference/ertp-api/issuer)**, such as **FirstCurrency: quatlooIssuer**. Parties to the contract will use the **Keywords** to index their proposal and their payments. The **terms** are values used by this contract instance, such as the @@ -260,7 +260,7 @@ The **adminFacet** has one method: A **publicFacet** is an object available via Zoe to anyone knowing the instance they are associated with. The **publicFacet** is used for general queries -and actions, such as getting a current price or creating public **[Invitations](./zoe-data-types.md#invitation)**. Since a +and actions, such as getting a current price or creating public **[Invitations](./zoe-data-types#invitation)**. Since a facet is defined just as any other object, the contract developer can add methods to them just like they would any object. @@ -288,11 +288,11 @@ const { creatorFacet, publicFacet, creatorInvitation } = ## E(Zoe).offer(invitation, proposal?, paymentPKeywordRecord?, offerArgs?) -- **invitation**: **[Invitation](./zoe-data-types.md#invitation) | Promise<[Invitation](./zoe-data-types.md#invitation)>** +- **invitation**: **[Invitation](./zoe-data-types#invitation) | Promise<[Invitation](./zoe-data-types#invitation)>** - **proposal**: **[Proposal](/glossary/#proposal)** - Optional. -- **paymentPKeywordRecord**: **[PaymentPKeywordRecord](./zoe-data-types.md#keywordrecord)** - Optional. +- **paymentPKeywordRecord**: **[PaymentPKeywordRecord](./zoe-data-types#keywordrecord)** - Optional. - **offerArgs**: **[CopyRecord](/glossary/#copyrecord)** - Optional. -- Returns: **Promise<[UserSeat](./user-seat.md)>** +- Returns: **Promise<[UserSeat](./user-seat)>** Used to make an offer to the contract that created the **invitation**. @@ -315,7 +315,7 @@ const myProposal = harden({ }); ``` -**give** and **want** use **[Keywords](./zoe-data-types.md#keyword)** defined by the contract. +**give** and **want** use **[Keywords](./zoe-data-types#keyword)** defined by the contract. In the example above, "Asset" and "Price" are the Keywords. However, in an auction contract, the Keywords might be "Asset" and "Bid". @@ -326,7 +326,7 @@ the Keywords might be "Asset" and "Bid". as determined by its **timer** and **deadline** properties. The proposer cannot exit the seat before the deadline (the seat is in the **waived** state), but the contract can exit the proposer's seat early. **timer** must be a timer, and **deadline** must be timestamp understood by it. (Some timers use Unix epoch time, while others count block height.) - For more details, see [Timer Services](/reference/repl/timerServices.md). + For more details, see [Timer Services](/reference/repl/timerServices). ### Proposal Shape @@ -338,7 +338,7 @@ For example, a contract holding an auction might require that all offers include ### Payments -**paymentPKeywordRecord** must be either `undefined` or a **[PaymentPKeywordRecord](./zoe-data-types.md#keywordrecord)** +**paymentPKeywordRecord** must be either `undefined` or a **[PaymentPKeywordRecord](./zoe-data-types#keywordrecord)** containing the actual **payments** to be escrowed by Zoe. Every **Keyword** in **give** must have a corresponding **payment**. @@ -351,7 +351,7 @@ const paymentKeywordRecord = harden({ Asset: quatloosPayment }); **offerArgs** is an optional CopyRecord that can be used to pass additional arguments to the **offerHandler** contract code associated with the invitation by -[`zcf.makeInvitation(...)`](./zoe-contract-facet.md#zcf-makeinvitation-offerhandler-description-customdetails-proposalshape). +[`zcf.makeInvitation(...)`](./zoe-contract-facet#zcf-makeinvitation-offerhandler-description-customdetails-proposalshape). Each contract can define the properties it supports and which are required. ## E(Zoe).installBundleID(bundleId) diff --git a/mlc-config.json b/mlc-config.json deleted file mode 100644 index c503d3b2b..000000000 --- a/mlc-config.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "ignorePatterns": [ - { - "pattern": "^https://www.linkedin.com/company/agoric/" - }, - { - "pattern": "^http://localhost:*" - } - ], - "replacementPatterns": [ - { - "pattern": "^/", - "replacement": "/Users/katesills/code/documentation/main/" - } - ] -} \ No newline at end of file diff --git a/package.json b/package.json index 99c19073f..f6ff1cdcb 100644 --- a/package.json +++ b/package.json @@ -4,12 +4,10 @@ "description": "Documentation of Agoric products", "type": "module", "scripts": { - "docs:dev": "NODE_OPTIONS=--openssl-legacy-provider vuepress dev main", - "docs:build": "NODE_OPTIONS=--openssl-legacy-provider vuepress build main", - "docs:build-cf": "NODE_OPTIONS=--openssl-legacy-provider vuepress build main && cp _redirects main/.vuepress/dist/", - "docs:build-root": "NODE_OPTIONS=--openssl-legacy-provider yarn docs:build && yarn docs:re-root && cp _redirects main/.vuepress/dist-root/", - "docs:re-root": "cd main && mkdir -p .vuepress/dist-root/ && cp -rp .vuepress/dist/ .vuepress/dist-root/documentation/", - "check-links": "NODE_OPTIONS=--openssl-legacy-provider vuepress check-md main", + "docs:dev": "NODE_OPTIONS=--openssl-legacy-provider vitepress dev main", + "docs:build": "NODE_OPTIONS=--openssl-legacy-provider vitepress build main", + "docs:preview": "NODE_OPTIONS=--openssl-legacy-provider vitepress preview main", + "docs:build-cf": "NODE_OPTIONS=--openssl-legacy-provider vitepress build main && cp _redirects dist/", "test": "ava", "lint-fix": "yarn lint --fix", "lint": "eslint 'snippets/**/*.js'", @@ -66,8 +64,8 @@ "import-meta-resolve": "^1.1.1", "prettier": "^1.19.1", "ses": "^0.18.8", - "vuepress": "^1.8.2", - "vuepress-plugin-check-md": "0.0.2" + "stylus": "^0.62.0", + "vitepress": "^1.0.0-rc.42" }, "resolutions": {}, "globals": { diff --git a/snippets/test-marshal.js b/snippets/test-marshal.js index 15657e79b..547686032 100644 --- a/snippets/test-marshal.js +++ b/snippets/test-marshal.js @@ -128,7 +128,7 @@ const makeTranslationTable = (makeSlot, makeVal) => { * 1. A message consisting of the method name `install` * with the `bundle` argument is marshaled..." * - * [1]: https://docs.agoric.com/guides/js-programming/eventual-send.html#eventual-send + * [1]: https://docs.agoric.com/guides/js-programming/eventual-send#eventual-send */ test.serial( 'marshal messages from E(zoe).install(), E(zoe).startInstance()', diff --git a/yarn.lock b/yarn.lock index 0b3f29e0b..5da179b11 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,6 +2,11 @@ # yarn lockfile v1 +"@adobe/css-tools@~4.3.1": + version "4.3.3" + resolved "https://registry.yarnpkg.com/@adobe/css-tools/-/css-tools-4.3.3.tgz#90749bde8b89cd41764224f5aac29cd4138f75ff" + integrity sha512-rE0Pygv0sEZ4vBWHlAgJLGDU7Pm8xoO6p3wsEceb7GYAjScrOHpEo8KK/eVkAcnSM+slAEtXjA2JpdjLp4fJQQ== + "@agoric/access-token@^0.4.22-u11wf.0": version "0.4.22-u11wf.0" resolved "https://registry.yarnpkg.com/@agoric/access-token/-/access-token-0.4.22-u11wf.0.tgz#e1af953b8ab9c8059eff60ae96ee0c359b58f965" @@ -464,6 +469,137 @@ "@agoric/vat-data" "^0.5.3-u13.0" "@endo/far" "0.2.18" +"@algolia/autocomplete-core@1.9.3": + version "1.9.3" + resolved "https://registry.yarnpkg.com/@algolia/autocomplete-core/-/autocomplete-core-1.9.3.tgz#1d56482a768c33aae0868c8533049e02e8961be7" + integrity sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw== + dependencies: + "@algolia/autocomplete-plugin-algolia-insights" "1.9.3" + "@algolia/autocomplete-shared" "1.9.3" + +"@algolia/autocomplete-plugin-algolia-insights@1.9.3": + version "1.9.3" + resolved "https://registry.yarnpkg.com/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.9.3.tgz#9b7f8641052c8ead6d66c1623d444cbe19dde587" + integrity sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg== + dependencies: + "@algolia/autocomplete-shared" "1.9.3" + +"@algolia/autocomplete-preset-algolia@1.9.3": + version "1.9.3" + resolved "https://registry.yarnpkg.com/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.9.3.tgz#64cca4a4304cfcad2cf730e83067e0c1b2f485da" + integrity sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA== + dependencies: + "@algolia/autocomplete-shared" "1.9.3" + +"@algolia/autocomplete-shared@1.9.3": + version "1.9.3" + resolved "https://registry.yarnpkg.com/@algolia/autocomplete-shared/-/autocomplete-shared-1.9.3.tgz#2e22e830d36f0a9cf2c0ccd3c7f6d59435b77dfa" + integrity sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ== + +"@algolia/cache-browser-local-storage@4.22.1": + version "4.22.1" + resolved "https://registry.yarnpkg.com/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.22.1.tgz#14b6dc9abc9e3a304a5fffb063d15f30af1032d1" + integrity sha512-Sw6IAmOCvvP6QNgY9j+Hv09mvkvEIDKjYW8ow0UDDAxSXy664RBNQk3i/0nt7gvceOJ6jGmOTimaZoY1THmU7g== + dependencies: + "@algolia/cache-common" "4.22.1" + +"@algolia/cache-common@4.22.1": + version "4.22.1" + resolved "https://registry.yarnpkg.com/@algolia/cache-common/-/cache-common-4.22.1.tgz#c625dff4bc2a74e79f9aed67b4e053b0ef1b3ec1" + integrity sha512-TJMBKqZNKYB9TptRRjSUtevJeQVXRmg6rk9qgFKWvOy8jhCPdyNZV1nB3SKGufzvTVbomAukFR8guu/8NRKBTA== + +"@algolia/cache-in-memory@4.22.1": + version "4.22.1" + resolved "https://registry.yarnpkg.com/@algolia/cache-in-memory/-/cache-in-memory-4.22.1.tgz#858a3d887f521362e87d04f3943e2810226a0d71" + integrity sha512-ve+6Ac2LhwpufuWavM/aHjLoNz/Z/sYSgNIXsinGofWOysPilQZPUetqLj8vbvi+DHZZaYSEP9H5SRVXnpsNNw== + dependencies: + "@algolia/cache-common" "4.22.1" + +"@algolia/client-account@4.22.1": + version "4.22.1" + resolved "https://registry.yarnpkg.com/@algolia/client-account/-/client-account-4.22.1.tgz#a7fb8b66b9a4f0a428e1426b2561144267d76d43" + integrity sha512-k8m+oegM2zlns/TwZyi4YgCtyToackkOpE+xCaKCYfBfDtdGOaVZCM5YvGPtK+HGaJMIN/DoTL8asbM3NzHonw== + dependencies: + "@algolia/client-common" "4.22.1" + "@algolia/client-search" "4.22.1" + "@algolia/transporter" "4.22.1" + +"@algolia/client-analytics@4.22.1": + version "4.22.1" + resolved "https://registry.yarnpkg.com/@algolia/client-analytics/-/client-analytics-4.22.1.tgz#506558740b4d49b1b1e3393861f729a8ce921851" + integrity sha512-1ssi9pyxyQNN4a7Ji9R50nSdISIumMFDwKNuwZipB6TkauJ8J7ha/uO60sPJFqQyqvvI+px7RSNRQT3Zrvzieg== + dependencies: + "@algolia/client-common" "4.22.1" + "@algolia/client-search" "4.22.1" + "@algolia/requester-common" "4.22.1" + "@algolia/transporter" "4.22.1" + +"@algolia/client-common@4.22.1": + version "4.22.1" + resolved "https://registry.yarnpkg.com/@algolia/client-common/-/client-common-4.22.1.tgz#042b19c1b6157c485fa1b551349ab313944d2b05" + integrity sha512-IvaL5v9mZtm4k4QHbBGDmU3wa/mKokmqNBqPj0K7lcR8ZDKzUorhcGp/u8PkPC/e0zoHSTvRh7TRkGX3Lm7iOQ== + dependencies: + "@algolia/requester-common" "4.22.1" + "@algolia/transporter" "4.22.1" + +"@algolia/client-personalization@4.22.1": + version "4.22.1" + resolved "https://registry.yarnpkg.com/@algolia/client-personalization/-/client-personalization-4.22.1.tgz#ff088d797648224fb582e9fe5828f8087835fa3d" + integrity sha512-sl+/klQJ93+4yaqZ7ezOttMQ/nczly/3GmgZXJ1xmoewP5jmdP/X/nV5U7EHHH3hCUEHeN7X1nsIhGPVt9E1cQ== + dependencies: + "@algolia/client-common" "4.22.1" + "@algolia/requester-common" "4.22.1" + "@algolia/transporter" "4.22.1" + +"@algolia/client-search@4.22.1": + version "4.22.1" + resolved "https://registry.yarnpkg.com/@algolia/client-search/-/client-search-4.22.1.tgz#508cc6ab3d1f4e9c02735a630d4dff6fbb8514a2" + integrity sha512-yb05NA4tNaOgx3+rOxAmFztgMTtGBi97X7PC3jyNeGiwkAjOZc2QrdZBYyIdcDLoI09N0gjtpClcackoTN0gPA== + dependencies: + "@algolia/client-common" "4.22.1" + "@algolia/requester-common" "4.22.1" + "@algolia/transporter" "4.22.1" + +"@algolia/logger-common@4.22.1": + version "4.22.1" + resolved "https://registry.yarnpkg.com/@algolia/logger-common/-/logger-common-4.22.1.tgz#79cf4cd295de0377a94582c6aaac59b1ded731d9" + integrity sha512-OnTFymd2odHSO39r4DSWRFETkBufnY2iGUZNrMXpIhF5cmFE8pGoINNPzwg02QLBlGSaLqdKy0bM8S0GyqPLBg== + +"@algolia/logger-console@4.22.1": + version "4.22.1" + resolved "https://registry.yarnpkg.com/@algolia/logger-console/-/logger-console-4.22.1.tgz#0355345f6940f67aaa78ae9b81c06e44e49f2336" + integrity sha512-O99rcqpVPKN1RlpgD6H3khUWylU24OXlzkavUAMy6QZd1776QAcauE3oP8CmD43nbaTjBexZj2nGsBH9Tc0FVA== + dependencies: + "@algolia/logger-common" "4.22.1" + +"@algolia/requester-browser-xhr@4.22.1": + version "4.22.1" + resolved "https://registry.yarnpkg.com/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.22.1.tgz#f04df6fe9690a071b267c77d26b83a3be9280361" + integrity sha512-dtQGYIg6MteqT1Uay3J/0NDqD+UciHy3QgRbk7bNddOJu+p3hzjTRYESqEnoX/DpEkaNYdRHUKNylsqMpgwaEw== + dependencies: + "@algolia/requester-common" "4.22.1" + +"@algolia/requester-common@4.22.1": + version "4.22.1" + resolved "https://registry.yarnpkg.com/@algolia/requester-common/-/requester-common-4.22.1.tgz#27be35f3718aafcb6b388ff9c3aa2defabd559ff" + integrity sha512-dgvhSAtg2MJnR+BxrIFqlLtkLlVVhas9HgYKMk2Uxiy5m6/8HZBL40JVAMb2LovoPFs9I/EWIoFVjOrFwzn5Qg== + +"@algolia/requester-node-http@4.22.1": + version "4.22.1" + resolved "https://registry.yarnpkg.com/@algolia/requester-node-http/-/requester-node-http-4.22.1.tgz#589a6fa828ad0f325e727a6fcaf4e1a2343cc62b" + integrity sha512-JfmZ3MVFQkAU+zug8H3s8rZ6h0ahHZL/SpMaSasTCGYR5EEJsCc8SI5UZ6raPN2tjxa5bxS13BRpGSBUens7EA== + dependencies: + "@algolia/requester-common" "4.22.1" + +"@algolia/transporter@4.22.1": + version "4.22.1" + resolved "https://registry.yarnpkg.com/@algolia/transporter/-/transporter-4.22.1.tgz#8843841b857dc021668f31647aa557ff19cd9cb1" + integrity sha512-kzWgc2c9IdxMa3YqA6TN0NW5VrKYYW/BELIn7vnLyn+U/RFdZ4lxxt9/8yq3DKV5snvoDzzO4ClyejZRdV3lMQ== + dependencies: + "@algolia/cache-common" "4.22.1" + "@algolia/logger-common" "4.22.1" + "@algolia/requester-common" "4.22.1" + "@babel/code-frame@7.12.11": version "7.12.11" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" @@ -471,40 +607,14 @@ dependencies: "@babel/highlight" "^7.10.4" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.16.7": +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789" integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg== dependencies: "@babel/highlight" "^7.16.7" -"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.14.4": - version "7.14.4" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.14.4.tgz#45720fe0cecf3fd42019e1d12cc3d27fadc98d58" - integrity sha512-i2wXrWQNkH6JplJQGn3Rd2I4Pij8GdHkXwHMxm+zV5YG/Jci+bCNrWZEWC4o+umiDkRrRs4dVzH3X4GP7vyjQQ== - -"@babel/core@^7.11.0", "@babel/core@^7.8.4": - version "7.14.3" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.14.3.tgz#5395e30405f0776067fbd9cf0884f15bfb770a38" - integrity sha512-jB5AmTKOCSJIZ72sd78ECEhuPiDMKlQdDI/4QRI6lzYATx5SSogS1oQA2AoPecRCknm30gHi2l+QVvNUu3wZAg== - dependencies: - "@babel/code-frame" "^7.12.13" - "@babel/generator" "^7.14.3" - "@babel/helper-compilation-targets" "^7.13.16" - "@babel/helper-module-transforms" "^7.14.2" - "@babel/helpers" "^7.14.0" - "@babel/parser" "^7.14.3" - "@babel/template" "^7.12.13" - "@babel/traverse" "^7.14.2" - "@babel/types" "^7.14.2" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.1.2" - semver "^6.3.0" - source-map "^0.5.0" - -"@babel/generator@^7.14.3", "@babel/generator@^7.17.3": +"@babel/generator@^7.17.3": version "7.17.3" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.3.tgz#a2c30b0c4f89858cb87050c3ffdfd36bdf443200" integrity sha512-+R6Dctil/MgUsZsZAkYgK+ADNSZzJRRy0TvY65T71z/CR854xHQ1EweBYXdfT+HNeN7w0cSJJEzgxZMv40pxsg== @@ -513,65 +623,6 @@ jsesc "^2.5.1" source-map "^0.5.0" -"@babel/helper-annotate-as-pure@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.13.tgz#0f58e86dfc4bb3b1fcd7db806570e177d439b6ab" - integrity sha512-7YXfX5wQ5aYM/BOlbSccHDbuXXFPxeoUmfWtz8le2yTkTZc+BxsiEnENFoi2SlmA8ewDkG2LgIMIVzzn2h8kfw== - dependencies: - "@babel/types" "^7.12.13" - -"@babel/helper-builder-binary-assignment-operator-visitor@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.12.13.tgz#6bc20361c88b0a74d05137a65cac8d3cbf6f61fc" - integrity sha512-CZOv9tGphhDRlVjVkAgm8Nhklm9RzSmWpX2my+t7Ua/KT616pEzXsQCjinzvkRvHWJ9itO4f296efroX23XCMA== - dependencies: - "@babel/helper-explode-assignable-expression" "^7.12.13" - "@babel/types" "^7.12.13" - -"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.13.16", "@babel/helper-compilation-targets@^7.14.4", "@babel/helper-compilation-targets@^7.9.6": - version "7.14.4" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.14.4.tgz#33ebd0ffc34248051ee2089350a929ab02f2a516" - integrity sha512-JgdzOYZ/qGaKTVkn5qEDV/SXAh8KcyUVkCoSWGN8T3bwrgd6m+/dJa2kVGi6RJYJgEYPBdZ84BZp9dUjNWkBaA== - dependencies: - "@babel/compat-data" "^7.14.4" - "@babel/helper-validator-option" "^7.12.17" - browserslist "^4.16.6" - semver "^6.3.0" - -"@babel/helper-create-class-features-plugin@^7.13.0", "@babel/helper-create-class-features-plugin@^7.14.0", "@babel/helper-create-class-features-plugin@^7.14.2", "@babel/helper-create-class-features-plugin@^7.14.3": - version "7.14.4" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.14.4.tgz#abf888d836a441abee783c75229279748705dc42" - integrity sha512-idr3pthFlDCpV+p/rMgGLGYIVtazeatrSOQk8YzO2pAepIjQhCN3myeihVg58ax2bbbGK9PUE1reFi7axOYIOw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.12.13" - "@babel/helper-function-name" "^7.14.2" - "@babel/helper-member-expression-to-functions" "^7.13.12" - "@babel/helper-optimise-call-expression" "^7.12.13" - "@babel/helper-replace-supers" "^7.14.4" - "@babel/helper-split-export-declaration" "^7.12.13" - -"@babel/helper-create-regexp-features-plugin@^7.12.13": - version "7.14.3" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.14.3.tgz#149aa6d78c016e318c43e2409a0ae9c136a86688" - integrity sha512-JIB2+XJrb7v3zceV2XzDhGIB902CmKGSpSl4q2C6agU9SNLG/2V1RtFRGPG1Ajh9STj3+q6zJMOC+N/pp2P9DA== - dependencies: - "@babel/helper-annotate-as-pure" "^7.12.13" - regexpu-core "^4.7.1" - -"@babel/helper-define-polyfill-provider@^0.2.2": - version "0.2.3" - resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.3.tgz#0525edec5094653a282688d34d846e4c75e9c0b6" - integrity sha512-RH3QDAfRMzj7+0Nqu5oqgO5q9mFtQEVvCRsi8qCEfzLR9p2BHfn5FzhSB2oj1fF7I2+DcTORkYaQ6aTR9Cofew== - dependencies: - "@babel/helper-compilation-targets" "^7.13.0" - "@babel/helper-module-imports" "^7.12.13" - "@babel/helper-plugin-utils" "^7.13.0" - "@babel/traverse" "^7.13.0" - debug "^4.1.1" - lodash.debounce "^4.0.8" - resolve "^1.14.2" - semver "^6.1.2" - "@babel/helper-environment-visitor@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz#ff484094a839bde9d89cd63cba017d7aae80ecd7" @@ -579,14 +630,7 @@ dependencies: "@babel/types" "^7.16.7" -"@babel/helper-explode-assignable-expression@^7.12.13": - version "7.13.0" - resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.13.0.tgz#17b5c59ff473d9f956f40ef570cf3a76ca12657f" - integrity sha512-qS0peLTDP8kOisG1blKbaoBg/o9OSa1qoumMjTK5pM+KDTtpxpsiubnCGP34vK8BXGcb2M9eigwgvoJryrzwWA== - dependencies: - "@babel/types" "^7.13.0" - -"@babel/helper-function-name@^7.12.13", "@babel/helper-function-name@^7.14.2", "@babel/helper-function-name@^7.16.7": +"@babel/helper-function-name@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz#f1ec51551fb1c8956bc8dd95f38523b6cf375f8f" integrity sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA== @@ -602,122 +646,25 @@ dependencies: "@babel/types" "^7.16.7" -"@babel/helper-hoist-variables@^7.13.0", "@babel/helper-hoist-variables@^7.16.7": +"@babel/helper-hoist-variables@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz#86bcb19a77a509c7b77d0e22323ef588fa58c246" integrity sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg== dependencies: "@babel/types" "^7.16.7" -"@babel/helper-member-expression-to-functions@^7.13.12": - version "7.13.12" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.13.12.tgz#dfe368f26d426a07299d8d6513821768216e6d72" - integrity sha512-48ql1CLL59aKbU94Y88Xgb2VFy7a95ykGRbJJaaVv+LX5U8wFpLfiGXJJGUozsmA1oEh/o5Bp60Voq7ACyA/Sw== - dependencies: - "@babel/types" "^7.13.12" - -"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.13.12", "@babel/helper-module-imports@^7.8.3": - version "7.13.12" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.13.12.tgz#c6a369a6f3621cb25da014078684da9196b61977" - integrity sha512-4cVvR2/1B693IuOvSI20xqqa/+bl7lqAMR59R4iu39R9aOX8/JoYY1sFaNvUMyMBGnHdwvJgUrzNLoUZxXypxA== - dependencies: - "@babel/types" "^7.13.12" - -"@babel/helper-module-transforms@^7.13.0", "@babel/helper-module-transforms@^7.14.0", "@babel/helper-module-transforms@^7.14.2": - version "7.14.2" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.14.2.tgz#ac1cc30ee47b945e3e0c4db12fa0c5389509dfe5" - integrity sha512-OznJUda/soKXv0XhpvzGWDnml4Qnwp16GN+D/kZIdLsWoHj05kyu8Rm5kXmMef+rVJZ0+4pSGLkeixdqNUATDA== - dependencies: - "@babel/helper-module-imports" "^7.13.12" - "@babel/helper-replace-supers" "^7.13.12" - "@babel/helper-simple-access" "^7.13.12" - "@babel/helper-split-export-declaration" "^7.12.13" - "@babel/helper-validator-identifier" "^7.14.0" - "@babel/template" "^7.12.13" - "@babel/traverse" "^7.14.2" - "@babel/types" "^7.14.2" - -"@babel/helper-optimise-call-expression@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.13.tgz#5c02d171b4c8615b1e7163f888c1c81c30a2aaea" - integrity sha512-BdWQhoVJkp6nVjB7nkFWcn43dkprYauqtk++Py2eaf/GRDFm5BxRqEIZCiHlZUGAVmtwKcsVL1dC68WmzeFmiA== - dependencies: - "@babel/types" "^7.12.13" - -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - version "7.13.0" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.13.0.tgz#806526ce125aed03373bc416a828321e3a6a33af" - integrity sha512-ZPafIPSwzUlAoWT8DKs1W2VyF2gOWthGd5NGFMsBcMMol+ZhK+EQY/e6V96poa6PA/Bh+C9plWN0hXO1uB8AfQ== - -"@babel/helper-remap-async-to-generator@^7.13.0": - version "7.13.0" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.13.0.tgz#376a760d9f7b4b2077a9dd05aa9c3927cadb2209" - integrity sha512-pUQpFBE9JvC9lrQbpX0TmeNIy5s7GnZjna2lhhcHC7DzgBs6fWn722Y5cfwgrtrqc7NAJwMvOa0mKhq6XaE4jg== - dependencies: - "@babel/helper-annotate-as-pure" "^7.12.13" - "@babel/helper-wrap-function" "^7.13.0" - "@babel/types" "^7.13.0" - -"@babel/helper-replace-supers@^7.12.13", "@babel/helper-replace-supers@^7.13.12", "@babel/helper-replace-supers@^7.14.4": - version "7.14.4" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.14.4.tgz#b2ab16875deecfff3ddfcd539bc315f72998d836" - integrity sha512-zZ7uHCWlxfEAAOVDYQpEf/uyi1dmeC7fX4nCf2iz9drnCwi1zvwXL3HwWWNXUQEJ1k23yVn3VbddiI9iJEXaTQ== - dependencies: - "@babel/helper-member-expression-to-functions" "^7.13.12" - "@babel/helper-optimise-call-expression" "^7.12.13" - "@babel/traverse" "^7.14.2" - "@babel/types" "^7.14.4" - -"@babel/helper-simple-access@^7.13.12": - version "7.13.12" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.13.12.tgz#dd6c538afb61819d205a012c31792a39c7a5eaf6" - integrity sha512-7FEjbrx5SL9cWvXioDbnlYTppcZGuCY6ow3/D5vMggb2Ywgu4dMrpTJX0JdQAIcRRUElOIxF3yEooa9gUb9ZbA== - dependencies: - "@babel/types" "^7.13.12" - -"@babel/helper-skip-transparent-expression-wrappers@^7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz#462dc63a7e435ade8468385c63d2b84cce4b3cbf" - integrity sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA== - dependencies: - "@babel/types" "^7.12.1" - -"@babel/helper-split-export-declaration@^7.12.13", "@babel/helper-split-export-declaration@^7.16.7": +"@babel/helper-split-export-declaration@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz#0b648c0c42da9d3920d85ad585f2778620b8726b" integrity sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw== dependencies: "@babel/types" "^7.16.7" -"@babel/helper-validator-identifier@^7.12.11", "@babel/helper-validator-identifier@^7.14.0", "@babel/helper-validator-identifier@^7.16.7": +"@babel/helper-validator-identifier@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad" integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw== -"@babel/helper-validator-option@^7.12.17": - version "7.12.17" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.12.17.tgz#d1fbf012e1a79b7eebbfdc6d270baaf8d9eb9831" - integrity sha512-TopkMDmLzq8ngChwRlyjR6raKD6gMSae4JdYDB8bByKreQgG0RBTuKe9LRxW3wFtUnjxOPRKBDwEH6Mg5KeDfw== - -"@babel/helper-wrap-function@^7.13.0": - version "7.13.0" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.13.0.tgz#bdb5c66fda8526ec235ab894ad53a1235c79fcc4" - integrity sha512-1UX9F7K3BS42fI6qd2A4BjKzgGjToscyZTdp1DjknHLCIvpgne6918io+aL5LXFcER/8QWiwpoY902pVEqgTXA== - dependencies: - "@babel/helper-function-name" "^7.12.13" - "@babel/template" "^7.12.13" - "@babel/traverse" "^7.13.0" - "@babel/types" "^7.13.0" - -"@babel/helpers@^7.14.0": - version "7.14.0" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.14.0.tgz#ea9b6be9478a13d6f961dbb5f36bf75e2f3b8f62" - integrity sha512-+ufuXprtQ1D1iZTO/K9+EBRn+qPWMJjZSw/S0KlFrxCw4tkrzv9grgpDHkY9MeQTjTY8i2sp7Jep8DfU6tN9Mg== - dependencies: - "@babel/template" "^7.12.13" - "@babel/traverse" "^7.14.0" - "@babel/types" "^7.14.0" - "@babel/highlight@^7.10.4", "@babel/highlight@^7.16.7": version "7.16.10" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.10.tgz#744f2eb81579d6eea753c227b0f570ad785aba88" @@ -727,627 +674,17 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.14.3", "@babel/parser@^7.16.7", "@babel/parser@^7.17.3", "@babel/parser@^7.7.0": +"@babel/parser@^7.16.7", "@babel/parser@^7.17.3", "@babel/parser@^7.7.0": version "7.17.3" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.3.tgz#b07702b982990bf6fdc1da5049a23fece4c5c3d0" integrity sha512-7yJPvPV+ESz2IUTPbOL+YkIGyCqOyNIzdguKQuJGnH7bg1WTIifuM21YqokFt/THWh1AkCRn9IgoykTRCBVpzA== -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.13.12": - version "7.13.12" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.13.12.tgz#a3484d84d0b549f3fc916b99ee4783f26fabad2a" - integrity sha512-d0u3zWKcoZf379fOeJdr1a5WPDny4aOFZ6hlfKivgK0LY7ZxNfoaHL2fWwdGtHyVvra38FC+HVYkO+byfSA8AQ== - dependencies: - "@babel/helper-plugin-utils" "^7.13.0" - "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1" - "@babel/plugin-proposal-optional-chaining" "^7.13.12" - -"@babel/plugin-proposal-async-generator-functions@^7.14.2": - version "7.14.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.14.2.tgz#3a2085abbf5d5f962d480dbc81347385ed62eb1e" - integrity sha512-b1AM4F6fwck4N8ItZ/AtC4FP/cqZqmKRQ4FaTDutwSYyjuhtvsGEMLK4N/ztV/ImP40BjIDyMgBQAeAMsQYVFQ== - dependencies: - "@babel/helper-plugin-utils" "^7.13.0" - "@babel/helper-remap-async-to-generator" "^7.13.0" - "@babel/plugin-syntax-async-generators" "^7.8.4" - -"@babel/plugin-proposal-class-properties@^7.13.0", "@babel/plugin-proposal-class-properties@^7.8.3": - version "7.13.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.13.0.tgz#146376000b94efd001e57a40a88a525afaab9f37" - integrity sha512-KnTDjFNC1g+45ka0myZNvSBFLhNCLN+GeGYLDEA8Oq7MZ6yMgfLoIRh86GRT0FjtJhZw8JyUskP9uvj5pHM9Zg== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.13.0" - "@babel/helper-plugin-utils" "^7.13.0" - -"@babel/plugin-proposal-class-static-block@^7.14.3": - version "7.14.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.14.3.tgz#5a527e2cae4a4753119c3a3e7f64ecae8ccf1360" - integrity sha512-HEjzp5q+lWSjAgJtSluFDrGGosmwTgKwCXdDQZvhKsRlwv3YdkUEqxNrrjesJd+B9E9zvr1PVPVBvhYZ9msjvQ== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.14.3" - "@babel/helper-plugin-utils" "^7.13.0" - "@babel/plugin-syntax-class-static-block" "^7.12.13" - -"@babel/plugin-proposal-decorators@^7.8.3": - version "7.14.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.14.2.tgz#e68c3c5e4a6a08834456568256fc3e71b93590cf" - integrity sha512-LauAqDd/VjQDtae58QgBcEOE42NNP+jB2OE+XeC3KBI/E+BhhRjtr5viCIrj1hmu1YvrguLipIPRJZmS5yUcFw== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.14.2" - "@babel/helper-plugin-utils" "^7.13.0" - "@babel/plugin-syntax-decorators" "^7.12.13" - -"@babel/plugin-proposal-dynamic-import@^7.14.2": - version "7.14.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.14.2.tgz#01ebabd7c381cff231fa43e302939a9de5be9d9f" - integrity sha512-oxVQZIWFh91vuNEMKltqNsKLFWkOIyJc95k2Gv9lWVyDfPUQGSSlbDEgWuJUU1afGE9WwlzpucMZ3yDRHIItkA== - dependencies: - "@babel/helper-plugin-utils" "^7.13.0" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - -"@babel/plugin-proposal-export-namespace-from@^7.14.2": - version "7.14.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.14.2.tgz#62542f94aa9ce8f6dba79eec698af22112253791" - integrity sha512-sRxW3z3Zp3pFfLAgVEvzTFutTXax837oOatUIvSG9o5gRj9mKwm3br1Se5f4QalTQs9x4AzlA/HrCWbQIHASUQ== - dependencies: - "@babel/helper-plugin-utils" "^7.13.0" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - -"@babel/plugin-proposal-json-strings@^7.14.2": - version "7.14.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.14.2.tgz#830b4e2426a782e8b2878fbfe2cba85b70cbf98c" - integrity sha512-w2DtsfXBBJddJacXMBhElGEYqCZQqN99Se1qeYn8DVLB33owlrlLftIbMzn5nz1OITfDVknXF433tBrLEAOEjA== - dependencies: - "@babel/helper-plugin-utils" "^7.13.0" - "@babel/plugin-syntax-json-strings" "^7.8.3" - -"@babel/plugin-proposal-logical-assignment-operators@^7.14.2": - version "7.14.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.14.2.tgz#222348c080a1678e0e74ea63fe76f275882d1fd7" - integrity sha512-1JAZtUrqYyGsS7IDmFeaem+/LJqujfLZ2weLR9ugB0ufUPjzf8cguyVT1g5im7f7RXxuLq1xUxEzvm68uYRtGg== - dependencies: - "@babel/helper-plugin-utils" "^7.13.0" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - -"@babel/plugin-proposal-nullish-coalescing-operator@^7.14.2": - version "7.14.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.14.2.tgz#425b11dc62fc26939a2ab42cbba680bdf5734546" - integrity sha512-ebR0zU9OvI2N4qiAC38KIAK75KItpIPTpAtd2r4OZmMFeKbKJpUFLYP2EuDut82+BmYi8sz42B+TfTptJ9iG5Q== - dependencies: - "@babel/helper-plugin-utils" "^7.13.0" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - -"@babel/plugin-proposal-numeric-separator@^7.14.2": - version "7.14.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.14.2.tgz#82b4cc06571143faf50626104b335dd71baa4f9e" - integrity sha512-DcTQY9syxu9BpU3Uo94fjCB3LN9/hgPS8oUL7KrSW3bA2ePrKZZPJcc5y0hoJAM9dft3pGfErtEUvxXQcfLxUg== - dependencies: - "@babel/helper-plugin-utils" "^7.13.0" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - -"@babel/plugin-proposal-object-rest-spread@^7.14.4": - version "7.14.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.14.4.tgz#0e2b4de419915dc0b409378e829412e2031777c4" - integrity sha512-AYosOWBlyyXEagrPRfLJ1enStufsr7D1+ddpj8OLi9k7B6+NdZ0t/9V7Fh+wJ4g2Jol8z2JkgczYqtWrZd4vbA== - dependencies: - "@babel/compat-data" "^7.14.4" - "@babel/helper-compilation-targets" "^7.14.4" - "@babel/helper-plugin-utils" "^7.13.0" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.14.2" - -"@babel/plugin-proposal-optional-catch-binding@^7.14.2": - version "7.14.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.14.2.tgz#150d4e58e525b16a9a1431bd5326c4eed870d717" - integrity sha512-XtkJsmJtBaUbOxZsNk0Fvrv8eiqgneug0A6aqLFZ4TSkar2L5dSXWcnUKHgmjJt49pyB/6ZHvkr3dPgl9MOWRQ== - dependencies: - "@babel/helper-plugin-utils" "^7.13.0" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - -"@babel/plugin-proposal-optional-chaining@^7.13.12", "@babel/plugin-proposal-optional-chaining@^7.14.2": - version "7.14.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.14.2.tgz#df8171a8b9c43ebf4c1dabe6311b432d83e1b34e" - integrity sha512-qQByMRPwMZJainfig10BoaDldx/+VDtNcrA7qdNaEOAj6VXud+gfrkA8j4CRAU5HjnWREXqIpSpH30qZX1xivA== - dependencies: - "@babel/helper-plugin-utils" "^7.13.0" - "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - -"@babel/plugin-proposal-private-methods@^7.13.0": - version "7.13.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.13.0.tgz#04bd4c6d40f6e6bbfa2f57e2d8094bad900ef787" - integrity sha512-MXyyKQd9inhx1kDYPkFRVOBXQ20ES8Pto3T7UZ92xj2mY0EVD8oAVzeyYuVfy/mxAdTSIayOvg+aVzcHV2bn6Q== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.13.0" - "@babel/helper-plugin-utils" "^7.13.0" - -"@babel/plugin-proposal-private-property-in-object@^7.14.0": - version "7.14.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.14.0.tgz#b1a1f2030586b9d3489cc26179d2eb5883277636" - integrity sha512-59ANdmEwwRUkLjB7CRtwJxxwtjESw+X2IePItA+RGQh+oy5RmpCh/EvVVvh5XQc3yxsm5gtv0+i9oBZhaDNVTg== - dependencies: - "@babel/helper-annotate-as-pure" "^7.12.13" - "@babel/helper-create-class-features-plugin" "^7.14.0" - "@babel/helper-plugin-utils" "^7.13.0" - "@babel/plugin-syntax-private-property-in-object" "^7.14.0" - -"@babel/plugin-proposal-unicode-property-regex@^7.12.13", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.13.tgz#bebde51339be829c17aaaaced18641deb62b39ba" - integrity sha512-XyJmZidNfofEkqFV5VC/bLabGmO5QzenPO/YOfGuEbgU+2sSwMmio3YLb4WtBgcmmdwZHyVyv8on77IUjQ5Gvg== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.12.13" - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-syntax-async-generators@^7.8.4": - version "7.8.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" - integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-class-properties@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" - integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-syntax-class-static-block@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.12.13.tgz#8e3d674b0613e67975ceac2776c97b60cafc5c9c" - integrity sha512-ZmKQ0ZXR0nYpHZIIuj9zE7oIqCx2hw9TKi+lIo73NNrMPAZGHfS92/VRV0ZmPj6H2ffBgyFHXvJ5NYsNeEaP2A== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-syntax-decorators@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.12.13.tgz#fac829bf3c7ef4a1bc916257b403e58c6bdaf648" - integrity sha512-Rw6aIXGuqDLr6/LoBBYE57nKOzQpz/aDkKlMqEwH+Vp0MXbG6H/TfRjaY343LKxzAKAMXIHsQ8JzaZKuDZ9MwA== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-syntax-dynamic-import@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" - integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-export-namespace-from@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a" - integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-syntax-json-strings@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" - integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-jsx@^7.0.0", "@babel/plugin-syntax-jsx@^7.2.0", "@babel/plugin-syntax-jsx@^7.8.3": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.13.tgz#044fb81ebad6698fe62c478875575bcbb9b70f15" - integrity sha512-d4HM23Q1K7oq/SLNmG6mRt85l2csmQ0cHRaxRXjKW0YFdEXqlZ5kzFQKH5Uc3rDJECgu+yCRgPkG04Mm98R/1g== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-syntax-logical-assignment-operators@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" - integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" - integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-numeric-separator@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" - integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-object-rest-spread@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" - integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-catch-binding@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" - integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-chaining@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" - integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-private-property-in-object@^7.14.0": - version "7.14.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.0.tgz#762a4babec61176fec6c88480dec40372b140c0b" - integrity sha512-bda3xF8wGl5/5btF794utNOL0Jw+9jE5C1sLZcoK7c4uonE/y3iQiyG+KbkF3WBV/paX58VCpjhxLPkdj5Fe4w== - dependencies: - "@babel/helper-plugin-utils" "^7.13.0" - -"@babel/plugin-syntax-top-level-await@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.13.tgz#c5f0fa6e249f5b739727f923540cf7a806130178" - integrity sha512-A81F9pDwyS7yM//KwbCSDqy3Uj4NMIurtplxphWxoYtNPov7cJsDkAFNNyVlIZ3jwGycVsurZ+LtOA8gZ376iQ== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-transform-arrow-functions@^7.13.0": - version "7.13.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.13.0.tgz#10a59bebad52d637a027afa692e8d5ceff5e3dae" - integrity sha512-96lgJagobeVmazXFaDrbmCLQxBysKu7U6Do3mLsx27gf5Dk85ezysrs2BZUpXD703U/Su1xTBDxxar2oa4jAGg== - dependencies: - "@babel/helper-plugin-utils" "^7.13.0" - -"@babel/plugin-transform-async-to-generator@^7.13.0": - version "7.13.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.13.0.tgz#8e112bf6771b82bf1e974e5e26806c5c99aa516f" - integrity sha512-3j6E004Dx0K3eGmhxVJxwwI89CTJrce7lg3UrtFuDAVQ/2+SJ/h/aSFOeE6/n0WB1GsOffsJp6MnPQNQ8nmwhg== - dependencies: - "@babel/helper-module-imports" "^7.12.13" - "@babel/helper-plugin-utils" "^7.13.0" - "@babel/helper-remap-async-to-generator" "^7.13.0" - -"@babel/plugin-transform-block-scoped-functions@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.13.tgz#a9bf1836f2a39b4eb6cf09967739de29ea4bf4c4" - integrity sha512-zNyFqbc3kI/fVpqwfqkg6RvBgFpC4J18aKKMmv7KdQ/1GgREapSJAykLMVNwfRGO3BtHj3YQZl8kxCXPcVMVeg== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-transform-block-scoping@^7.14.4": - version "7.14.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.14.4.tgz#caf140b0b2e2462c509553d140e6d0abefb61ed8" - integrity sha512-5KdpkGxsZlTk+fPleDtGKsA+pon28+ptYmMO8GBSa5fHERCJWAzj50uAfCKBqq42HO+Zot6JF1x37CRprwmN4g== - dependencies: - "@babel/helper-plugin-utils" "^7.13.0" - -"@babel/plugin-transform-classes@^7.14.4": - version "7.14.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.14.4.tgz#a83c15503fc71a0f99e876fdce7dadbc6575ec3a" - integrity sha512-p73t31SIj6y94RDVX57rafVjttNr8MvKEgs5YFatNB/xC68zM3pyosuOEcQmYsYlyQaGY9R7rAULVRcat5FKJQ== - dependencies: - "@babel/helper-annotate-as-pure" "^7.12.13" - "@babel/helper-function-name" "^7.14.2" - "@babel/helper-optimise-call-expression" "^7.12.13" - "@babel/helper-plugin-utils" "^7.13.0" - "@babel/helper-replace-supers" "^7.14.4" - "@babel/helper-split-export-declaration" "^7.12.13" - globals "^11.1.0" - -"@babel/plugin-transform-computed-properties@^7.13.0": - version "7.13.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.13.0.tgz#845c6e8b9bb55376b1fa0b92ef0bdc8ea06644ed" - integrity sha512-RRqTYTeZkZAz8WbieLTvKUEUxZlUTdmL5KGMyZj7FnMfLNKV4+r5549aORG/mgojRmFlQMJDUupwAMiF2Q7OUg== - dependencies: - "@babel/helper-plugin-utils" "^7.13.0" - -"@babel/plugin-transform-destructuring@^7.14.4": - version "7.14.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.14.4.tgz#acbec502e9951f30f4441eaca1d2f29efade59ed" - integrity sha512-JyywKreTCGTUsL1OKu1A3ms/R1sTP0WxbpXlALeGzF53eB3bxtNkYdMj9SDgK7g6ImPy76J5oYYKoTtQImlhQA== - dependencies: - "@babel/helper-plugin-utils" "^7.13.0" - -"@babel/plugin-transform-dotall-regex@^7.12.13", "@babel/plugin-transform-dotall-regex@^7.4.4": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.13.tgz#3f1601cc29905bfcb67f53910f197aeafebb25ad" - integrity sha512-foDrozE65ZFdUC2OfgeOCrEPTxdB3yjqxpXh8CH+ipd9CHd4s/iq81kcUpyH8ACGNEPdFqbtzfgzbT/ZGlbDeQ== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.12.13" - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-transform-duplicate-keys@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.13.tgz#6f06b87a8b803fd928e54b81c258f0a0033904de" - integrity sha512-NfADJiiHdhLBW3pulJlJI2NB0t4cci4WTZ8FtdIuNc2+8pslXdPtRRAEWqUY+m9kNOk2eRYbTAOipAxlrOcwwQ== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-transform-exponentiation-operator@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.13.tgz#4d52390b9a273e651e4aba6aee49ef40e80cd0a1" - integrity sha512-fbUelkM1apvqez/yYx1/oICVnGo2KM5s63mhGylrmXUxK/IAXSIf87QIxVfZldWf4QsOafY6vV3bX8aMHSvNrA== - dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.12.13" - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-transform-for-of@^7.13.0": - version "7.13.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.13.0.tgz#c799f881a8091ac26b54867a845c3e97d2696062" - integrity sha512-IHKT00mwUVYE0zzbkDgNRP6SRzvfGCYsOxIRz8KsiaaHCcT9BWIkO+H9QRJseHBLOGBZkHUdHiqj6r0POsdytg== - dependencies: - "@babel/helper-plugin-utils" "^7.13.0" - -"@babel/plugin-transform-function-name@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.13.tgz#bb024452f9aaed861d374c8e7a24252ce3a50051" - integrity sha512-6K7gZycG0cmIwwF7uMK/ZqeCikCGVBdyP2J5SKNCXO5EOHcqi+z7Jwf8AmyDNcBgxET8DrEtCt/mPKPyAzXyqQ== - dependencies: - "@babel/helper-function-name" "^7.12.13" - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-transform-literals@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.13.tgz#2ca45bafe4a820197cf315794a4d26560fe4bdb9" - integrity sha512-FW+WPjSR7hiUxMcKqyNjP05tQ2kmBCdpEpZHY1ARm96tGQCCBvXKnpjILtDplUnJ/eHZ0lALLM+d2lMFSpYJrQ== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-transform-member-expression-literals@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.13.tgz#5ffa66cd59b9e191314c9f1f803b938e8c081e40" - integrity sha512-kxLkOsg8yir4YeEPHLuO2tXP9R/gTjpuTOjshqSpELUN3ZAg2jfDnKUvzzJxObun38sw3wm4Uu69sX/zA7iRvg== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-transform-modules-amd@^7.14.2": - version "7.14.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.14.2.tgz#6622806fe1a7c07a1388444222ef9535f2ca17b0" - integrity sha512-hPC6XBswt8P3G2D1tSV2HzdKvkqOpmbyoy+g73JG0qlF/qx2y3KaMmXb1fLrpmWGLZYA0ojCvaHdzFWjlmV+Pw== - dependencies: - "@babel/helper-module-transforms" "^7.14.2" - "@babel/helper-plugin-utils" "^7.13.0" - babel-plugin-dynamic-import-node "^2.3.3" - -"@babel/plugin-transform-modules-commonjs@^7.14.0": - version "7.14.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.14.0.tgz#52bc199cb581e0992edba0f0f80356467587f161" - integrity sha512-EX4QePlsTaRZQmw9BsoPeyh5OCtRGIhwfLquhxGp5e32w+dyL8htOcDwamlitmNFK6xBZYlygjdye9dbd9rUlQ== - dependencies: - "@babel/helper-module-transforms" "^7.14.0" - "@babel/helper-plugin-utils" "^7.13.0" - "@babel/helper-simple-access" "^7.13.12" - babel-plugin-dynamic-import-node "^2.3.3" - -"@babel/plugin-transform-modules-systemjs@^7.13.8": - version "7.13.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.13.8.tgz#6d066ee2bff3c7b3d60bf28dec169ad993831ae3" - integrity sha512-hwqctPYjhM6cWvVIlOIe27jCIBgHCsdH2xCJVAYQm7V5yTMoilbVMi9f6wKg0rpQAOn6ZG4AOyvCqFF/hUh6+A== - dependencies: - "@babel/helper-hoist-variables" "^7.13.0" - "@babel/helper-module-transforms" "^7.13.0" - "@babel/helper-plugin-utils" "^7.13.0" - "@babel/helper-validator-identifier" "^7.12.11" - babel-plugin-dynamic-import-node "^2.3.3" - -"@babel/plugin-transform-modules-umd@^7.14.0": - version "7.14.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.14.0.tgz#2f8179d1bbc9263665ce4a65f305526b2ea8ac34" - integrity sha512-nPZdnWtXXeY7I87UZr9VlsWme3Y0cfFFE41Wbxz4bbaexAjNMInXPFUpRRUJ8NoMm0Cw+zxbqjdPmLhcjfazMw== - dependencies: - "@babel/helper-module-transforms" "^7.14.0" - "@babel/helper-plugin-utils" "^7.13.0" - -"@babel/plugin-transform-named-capturing-groups-regex@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.13.tgz#2213725a5f5bbbe364b50c3ba5998c9599c5c9d9" - integrity sha512-Xsm8P2hr5hAxyYblrfACXpQKdQbx4m2df9/ZZSQ8MAhsadw06+jW7s9zsSw6he+mJZXRlVMyEnVktJo4zjk1WA== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.12.13" - -"@babel/plugin-transform-new-target@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.13.tgz#e22d8c3af24b150dd528cbd6e685e799bf1c351c" - integrity sha512-/KY2hbLxrG5GTQ9zzZSc3xWiOy379pIETEhbtzwZcw9rvuaVV4Fqy7BYGYOWZnaoXIQYbbJ0ziXLa/sKcGCYEQ== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" +"@babel/parser@^7.23.9": + version "7.23.9" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.9.tgz#7b903b6149b0f8fa7ad564af646c4c38a77fc44b" + integrity sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA== -"@babel/plugin-transform-object-super@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.13.tgz#b4416a2d63b8f7be314f3d349bd55a9c1b5171f7" - integrity sha512-JzYIcj3XtYspZDV8j9ulnoMPZZnF/Cj0LUxPOjR89BdBVx+zYJI9MdMIlUZjbXDX+6YVeS6I3e8op+qQ3BYBoQ== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - "@babel/helper-replace-supers" "^7.12.13" - -"@babel/plugin-transform-parameters@^7.14.2": - version "7.14.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.14.2.tgz#e4290f72e0e9e831000d066427c4667098decc31" - integrity sha512-NxoVmA3APNCC1JdMXkdYXuQS+EMdqy0vIwyDHeKHiJKRxmp1qGSdb0JLEIoPRhkx6H/8Qi3RJ3uqOCYw8giy9A== - dependencies: - "@babel/helper-plugin-utils" "^7.13.0" - -"@babel/plugin-transform-property-literals@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.13.tgz#4e6a9e37864d8f1b3bc0e2dce7bf8857db8b1a81" - integrity sha512-nqVigwVan+lR+g8Fj8Exl0UQX2kymtjcWfMOYM1vTYEKujeyv2SkMgazf2qNcK7l4SDiKyTA/nHCPqL4e2zo1A== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-transform-regenerator@^7.13.15": - version "7.13.15" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.13.15.tgz#e5eb28945bf8b6563e7f818945f966a8d2997f39" - integrity sha512-Bk9cOLSz8DiurcMETZ8E2YtIVJbFCPGW28DJWUakmyVWtQSm6Wsf0p4B4BfEr/eL2Nkhe/CICiUiMOCi1TPhuQ== - dependencies: - regenerator-transform "^0.14.2" - -"@babel/plugin-transform-reserved-words@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.13.tgz#7d9988d4f06e0fe697ea1d9803188aa18b472695" - integrity sha512-xhUPzDXxZN1QfiOy/I5tyye+TRz6lA7z6xaT4CLOjPRMVg1ldRf0LHw0TDBpYL4vG78556WuHdyO9oi5UmzZBg== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-transform-runtime@^7.11.0": - version "7.14.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.14.3.tgz#1fd885a2d0de1d3c223795a4e9be72c2db4515cf" - integrity sha512-t960xbi8wpTFE623ef7sd+UpEC5T6EEguQlTBJDEO05+XwnIWVfuqLw/vdLWY6IdFmtZE+65CZAfByT39zRpkg== - dependencies: - "@babel/helper-module-imports" "^7.13.12" - "@babel/helper-plugin-utils" "^7.13.0" - babel-plugin-polyfill-corejs2 "^0.2.0" - babel-plugin-polyfill-corejs3 "^0.2.0" - babel-plugin-polyfill-regenerator "^0.2.0" - semver "^6.3.0" - -"@babel/plugin-transform-shorthand-properties@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.13.tgz#db755732b70c539d504c6390d9ce90fe64aff7ad" - integrity sha512-xpL49pqPnLtf0tVluuqvzWIgLEhuPpZzvs2yabUHSKRNlN7ScYU7aMlmavOeyXJZKgZKQRBlh8rHbKiJDraTSw== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-transform-spread@^7.13.0": - version "7.13.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.13.0.tgz#84887710e273c1815ace7ae459f6f42a5d31d5fd" - integrity sha512-V6vkiXijjzYeFmQTr3dBxPtZYLPcUfY34DebOU27jIl2M/Y8Egm52Hw82CSjjPqd54GTlJs5x+CR7HeNr24ckg== - dependencies: - "@babel/helper-plugin-utils" "^7.13.0" - "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1" - -"@babel/plugin-transform-sticky-regex@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.13.tgz#760ffd936face73f860ae646fb86ee82f3d06d1f" - integrity sha512-Jc3JSaaWT8+fr7GRvQP02fKDsYk4K/lYwWq38r/UGfaxo89ajud321NH28KRQ7xy1Ybc0VUE5Pz8psjNNDUglg== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-transform-template-literals@^7.13.0": - version "7.13.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.13.0.tgz#a36049127977ad94438dee7443598d1cefdf409d" - integrity sha512-d67umW6nlfmr1iehCcBv69eSUSySk1EsIS8aTDX4Xo9qajAh6mYtcl4kJrBkGXuxZPEgVr7RVfAvNW6YQkd4Mw== - dependencies: - "@babel/helper-plugin-utils" "^7.13.0" - -"@babel/plugin-transform-typeof-symbol@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.13.tgz#785dd67a1f2ea579d9c2be722de8c84cb85f5a7f" - integrity sha512-eKv/LmUJpMnu4npgfvs3LiHhJua5fo/CysENxa45YCQXZwKnGCQKAg87bvoqSW1fFT+HA32l03Qxsm8ouTY3ZQ== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-transform-unicode-escapes@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.13.tgz#840ced3b816d3b5127dd1d12dcedc5dead1a5e74" - integrity sha512-0bHEkdwJ/sN/ikBHfSmOXPypN/beiGqjo+o4/5K+vxEFNPRPdImhviPakMKG4x96l85emoa0Z6cDflsdBusZbw== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-transform-unicode-regex@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.13.tgz#b52521685804e155b1202e83fc188d34bb70f5ac" - integrity sha512-mDRzSNY7/zopwisPZ5kM9XKCfhchqIYwAKRERtEnhYscZB79VRekuRSoYbN0+KVe3y8+q1h6A4svXtP7N+UoCA== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.12.13" - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/preset-env@^7.11.0": - version "7.14.4" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.14.4.tgz#73fc3228c59727e5e974319156f304f0d6685a2d" - integrity sha512-GwMMsuAnDtULyOtuxHhzzuSRxFeP0aR/LNzrHRzP8y6AgDNgqnrfCCBm/1cRdTU75tRs28Eh76poHLcg9VF0LA== - dependencies: - "@babel/compat-data" "^7.14.4" - "@babel/helper-compilation-targets" "^7.14.4" - "@babel/helper-plugin-utils" "^7.13.0" - "@babel/helper-validator-option" "^7.12.17" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.13.12" - "@babel/plugin-proposal-async-generator-functions" "^7.14.2" - "@babel/plugin-proposal-class-properties" "^7.13.0" - "@babel/plugin-proposal-class-static-block" "^7.14.3" - "@babel/plugin-proposal-dynamic-import" "^7.14.2" - "@babel/plugin-proposal-export-namespace-from" "^7.14.2" - "@babel/plugin-proposal-json-strings" "^7.14.2" - "@babel/plugin-proposal-logical-assignment-operators" "^7.14.2" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.14.2" - "@babel/plugin-proposal-numeric-separator" "^7.14.2" - "@babel/plugin-proposal-object-rest-spread" "^7.14.4" - "@babel/plugin-proposal-optional-catch-binding" "^7.14.2" - "@babel/plugin-proposal-optional-chaining" "^7.14.2" - "@babel/plugin-proposal-private-methods" "^7.13.0" - "@babel/plugin-proposal-private-property-in-object" "^7.14.0" - "@babel/plugin-proposal-unicode-property-regex" "^7.12.13" - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-syntax-class-properties" "^7.12.13" - "@babel/plugin-syntax-class-static-block" "^7.12.13" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - "@babel/plugin-syntax-private-property-in-object" "^7.14.0" - "@babel/plugin-syntax-top-level-await" "^7.12.13" - "@babel/plugin-transform-arrow-functions" "^7.13.0" - "@babel/plugin-transform-async-to-generator" "^7.13.0" - "@babel/plugin-transform-block-scoped-functions" "^7.12.13" - "@babel/plugin-transform-block-scoping" "^7.14.4" - "@babel/plugin-transform-classes" "^7.14.4" - "@babel/plugin-transform-computed-properties" "^7.13.0" - "@babel/plugin-transform-destructuring" "^7.14.4" - "@babel/plugin-transform-dotall-regex" "^7.12.13" - "@babel/plugin-transform-duplicate-keys" "^7.12.13" - "@babel/plugin-transform-exponentiation-operator" "^7.12.13" - "@babel/plugin-transform-for-of" "^7.13.0" - "@babel/plugin-transform-function-name" "^7.12.13" - "@babel/plugin-transform-literals" "^7.12.13" - "@babel/plugin-transform-member-expression-literals" "^7.12.13" - "@babel/plugin-transform-modules-amd" "^7.14.2" - "@babel/plugin-transform-modules-commonjs" "^7.14.0" - "@babel/plugin-transform-modules-systemjs" "^7.13.8" - "@babel/plugin-transform-modules-umd" "^7.14.0" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.12.13" - "@babel/plugin-transform-new-target" "^7.12.13" - "@babel/plugin-transform-object-super" "^7.12.13" - "@babel/plugin-transform-parameters" "^7.14.2" - "@babel/plugin-transform-property-literals" "^7.12.13" - "@babel/plugin-transform-regenerator" "^7.13.15" - "@babel/plugin-transform-reserved-words" "^7.12.13" - "@babel/plugin-transform-shorthand-properties" "^7.12.13" - "@babel/plugin-transform-spread" "^7.13.0" - "@babel/plugin-transform-sticky-regex" "^7.12.13" - "@babel/plugin-transform-template-literals" "^7.13.0" - "@babel/plugin-transform-typeof-symbol" "^7.12.13" - "@babel/plugin-transform-unicode-escapes" "^7.12.13" - "@babel/plugin-transform-unicode-regex" "^7.12.13" - "@babel/preset-modules" "^0.1.4" - "@babel/types" "^7.14.4" - babel-plugin-polyfill-corejs2 "^0.2.0" - babel-plugin-polyfill-corejs3 "^0.2.0" - babel-plugin-polyfill-regenerator "^0.2.0" - core-js-compat "^3.9.0" - semver "^6.3.0" - -"@babel/preset-modules@^0.1.4": - version "0.1.4" - resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.4.tgz#362f2b68c662842970fdb5e254ffc8fc1c2e415e" - integrity sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" - "@babel/plugin-transform-dotall-regex" "^7.4.4" - "@babel/types" "^7.4.4" - esutils "^2.0.2" - -"@babel/runtime@^7.11.0", "@babel/runtime@^7.8.4": - version "7.14.0" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.14.0.tgz#46794bc20b612c5f75e62dd071e24dfd95f1cbe6" - integrity sha512-JELkvo/DlpNdJ7dlyw/eY7E0suy5i5GQH+Vlxaq1nsNJ+H7f4Vtv3jMeCEgRhZZQFXTjldYfQgv2qmM6M1v5wA== - dependencies: - regenerator-runtime "^0.13.4" - -"@babel/template@^7.0.0", "@babel/template@^7.12.13", "@babel/template@^7.16.7": +"@babel/template@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.7.tgz#8d126c8701fde4d66b264b3eba3d96f07666d155" integrity sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w== @@ -1356,7 +693,7 @@ "@babel/parser" "^7.16.7" "@babel/types" "^7.16.7" -"@babel/traverse@^7.0.0", "@babel/traverse@^7.13.0", "@babel/traverse@^7.14.0", "@babel/traverse@^7.14.2", "@babel/traverse@^7.17.3", "@babel/traverse@^7.7.0": +"@babel/traverse@^7.17.3", "@babel/traverse@^7.7.0": version "7.17.3" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.17.3.tgz#0ae0f15b27d9a92ba1f2263358ea7c4e7db47b57" integrity sha512-5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw== @@ -1372,7 +709,7 @@ debug "^4.1.0" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.12.1", "@babel/types@^7.12.13", "@babel/types@^7.13.0", "@babel/types@^7.13.12", "@babel/types@^7.14.0", "@babel/types@^7.14.2", "@babel/types@^7.14.4", "@babel/types@^7.16.7", "@babel/types@^7.17.0", "@babel/types@^7.4.4", "@babel/types@^7.7.0": +"@babel/types@^7.16.7", "@babel/types@^7.17.0", "@babel/types@^7.7.0": version "7.17.0" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.17.0.tgz#a826e368bccb6b3d84acd76acad5c0d87342390b" integrity sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw== @@ -1380,6 +717,29 @@ "@babel/helper-validator-identifier" "^7.16.7" to-fast-properties "^2.0.0" +"@docsearch/css@3.5.2", "@docsearch/css@^3.5.2": + version "3.5.2" + resolved "https://registry.yarnpkg.com/@docsearch/css/-/css-3.5.2.tgz#610f47b48814ca94041df969d9fcc47b91fc5aac" + integrity sha512-SPiDHaWKQZpwR2siD0KQUwlStvIAnEyK6tAE2h2Wuoq8ue9skzhlyVQ1ddzOxX6khULnAALDiR/isSF3bnuciA== + +"@docsearch/js@^3.5.2": + version "3.5.2" + resolved "https://registry.yarnpkg.com/@docsearch/js/-/js-3.5.2.tgz#a11cb2e7e62890e9e940283fed6972ecf632629d" + integrity sha512-p1YFTCDflk8ieHgFJYfmyHBki1D61+U9idwrLh+GQQMrBSP3DLGKpy0XUJtPjAOPltcVbqsTjiPFfH7JImjUNg== + dependencies: + "@docsearch/react" "3.5.2" + preact "^10.0.0" + +"@docsearch/react@3.5.2": + version "3.5.2" + resolved "https://registry.yarnpkg.com/@docsearch/react/-/react-3.5.2.tgz#2e6bbee00eb67333b64906352734da6aef1232b9" + integrity sha512-9Ahcrs5z2jq/DcAvYtvlqEBHImbm4YJI8M9y0x6Tqg598P40HTEkX7hsMcIuThI+hTFxRGZ9hll0Wygm2yEjng== + dependencies: + "@algolia/autocomplete-core" "1.9.3" + "@algolia/autocomplete-preset-algolia" "1.9.3" + "@docsearch/css" "3.5.2" + algoliasearch "^4.19.1" + "@endo/base64@0.2.31": version "0.2.31" resolved "https://registry.yarnpkg.com/@endo/base64/-/base64-0.2.31.tgz#92378462cd791e0258a2291d44d2cfd15415cf32" @@ -1696,6 +1056,121 @@ esquery "^1.4.0" jsdoc-type-pratt-parser "1.0.0-alpha.23" +"@esbuild/aix-ppc64@0.19.12": + version "0.19.12" + resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.19.12.tgz#d1bc06aedb6936b3b6d313bf809a5a40387d2b7f" + integrity sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA== + +"@esbuild/android-arm64@0.19.12": + version "0.19.12" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.19.12.tgz#7ad65a36cfdb7e0d429c353e00f680d737c2aed4" + integrity sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA== + +"@esbuild/android-arm@0.19.12": + version "0.19.12" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.19.12.tgz#b0c26536f37776162ca8bde25e42040c203f2824" + integrity sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w== + +"@esbuild/android-x64@0.19.12": + version "0.19.12" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.19.12.tgz#cb13e2211282012194d89bf3bfe7721273473b3d" + integrity sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew== + +"@esbuild/darwin-arm64@0.19.12": + version "0.19.12" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.19.12.tgz#cbee41e988020d4b516e9d9e44dd29200996275e" + integrity sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g== + +"@esbuild/darwin-x64@0.19.12": + version "0.19.12" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.19.12.tgz#e37d9633246d52aecf491ee916ece709f9d5f4cd" + integrity sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A== + +"@esbuild/freebsd-arm64@0.19.12": + version "0.19.12" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.12.tgz#1ee4d8b682ed363b08af74d1ea2b2b4dbba76487" + integrity sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA== + +"@esbuild/freebsd-x64@0.19.12": + version "0.19.12" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.19.12.tgz#37a693553d42ff77cd7126764b535fb6cc28a11c" + integrity sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg== + +"@esbuild/linux-arm64@0.19.12": + version "0.19.12" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.19.12.tgz#be9b145985ec6c57470e0e051d887b09dddb2d4b" + integrity sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA== + +"@esbuild/linux-arm@0.19.12": + version "0.19.12" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.19.12.tgz#207ecd982a8db95f7b5279207d0ff2331acf5eef" + integrity sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w== + +"@esbuild/linux-ia32@0.19.12": + version "0.19.12" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.19.12.tgz#d0d86b5ca1562523dc284a6723293a52d5860601" + integrity sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA== + +"@esbuild/linux-loong64@0.19.12": + version "0.19.12" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.19.12.tgz#9a37f87fec4b8408e682b528391fa22afd952299" + integrity sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA== + +"@esbuild/linux-mips64el@0.19.12": + version "0.19.12" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.19.12.tgz#4ddebd4e6eeba20b509d8e74c8e30d8ace0b89ec" + integrity sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w== + +"@esbuild/linux-ppc64@0.19.12": + version "0.19.12" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.19.12.tgz#adb67dadb73656849f63cd522f5ecb351dd8dee8" + integrity sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg== + +"@esbuild/linux-riscv64@0.19.12": + version "0.19.12" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.19.12.tgz#11bc0698bf0a2abf8727f1c7ace2112612c15adf" + integrity sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg== + +"@esbuild/linux-s390x@0.19.12": + version "0.19.12" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.19.12.tgz#e86fb8ffba7c5c92ba91fc3b27ed5a70196c3cc8" + integrity sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg== + +"@esbuild/linux-x64@0.19.12": + version "0.19.12" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.19.12.tgz#5f37cfdc705aea687dfe5dfbec086a05acfe9c78" + integrity sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg== + +"@esbuild/netbsd-x64@0.19.12": + version "0.19.12" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.19.12.tgz#29da566a75324e0d0dd7e47519ba2f7ef168657b" + integrity sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA== + +"@esbuild/openbsd-x64@0.19.12": + version "0.19.12" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.19.12.tgz#306c0acbdb5a99c95be98bdd1d47c916e7dc3ff0" + integrity sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw== + +"@esbuild/sunos-x64@0.19.12": + version "0.19.12" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.19.12.tgz#0933eaab9af8b9b2c930236f62aae3fc593faf30" + integrity sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA== + +"@esbuild/win32-arm64@0.19.12": + version "0.19.12" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.19.12.tgz#773bdbaa1971b36db2f6560088639ccd1e6773ae" + integrity sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A== + +"@esbuild/win32-ia32@0.19.12": + version "0.19.12" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.19.12.tgz#000516cad06354cc84a73f0943a4aa690ef6fd67" + integrity sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ== + +"@esbuild/win32-x64@0.19.12": + version "0.19.12" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.19.12.tgz#c57c8afbb4054a3ab8317591a0b7320360b444ae" + integrity sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA== + "@eslint/eslintrc@^0.4.2": version "0.4.2" resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.2.tgz#f63d0ef06f5c0c57d76c4ab5f63d3835c51b0179" @@ -1728,6 +1203,11 @@ resolved "https://registry.yarnpkg.com/@iarna/toml/-/toml-2.2.5.tgz#b32366c89b43c6f8cefbdefac778b9c828e3ba8c" integrity sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg== +"@jridgewell/sourcemap-codec@^1.4.15": + version "1.4.15" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" + integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== + "@mapbox/node-pre-gyp@1.0.9": version "1.0.9" resolved "https://registry.yarnpkg.com/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.9.tgz#09a8781a3a036151cdebbe8719d6f8b25d4058bc" @@ -1743,14 +1223,6 @@ semver "^7.3.5" tar "^6.1.11" -"@mrmlnc/readdir-enhanced@^2.2.1": - version "2.2.1" - resolved "https://registry.yarnpkg.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde" - integrity sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g== - dependencies: - call-me-maybe "^1.0.1" - glob-to-regexp "^0.3.0" - "@nodelib/fs.scandir@2.1.5": version "2.1.5" resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" @@ -1764,11 +1236,6 @@ resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== -"@nodelib/fs.stat@^1.1.2": - version "1.1.3" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b" - integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw== - "@nodelib/fs.walk@^1.2.3": version "1.2.7" resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.7.tgz#94c23db18ee4653e129abd26fb06f870ac9e1ee2" @@ -1907,25 +1374,82 @@ estree-walker "^1.0.1" picomatch "^2.2.2" -"@sindresorhus/is@^0.14.0": - version "0.14.0" - resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea" - integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ== - -"@sindresorhus/slugify@^0.8.0": - version "0.8.0" - resolved "https://registry.yarnpkg.com/@sindresorhus/slugify/-/slugify-0.8.0.tgz#5550b7fa064f3a8a82651463ad635378054c72d0" - integrity sha512-Y+C3aG0JHmi4nCfixHgq0iAtqWCjMCliWghf6fXbemRKSGzpcrHdYxGZGDt8MeFg+gH7ounfMbz6WogqKCWvDg== - dependencies: - escape-string-regexp "^1.0.5" - lodash.deburr "^4.1.0" +"@rollup/rollup-android-arm-eabi@4.9.6": + version "4.9.6" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.9.6.tgz#66b8d9cb2b3a474d115500f9ebaf43e2126fe496" + integrity sha512-MVNXSSYN6QXOulbHpLMKYi60ppyO13W9my1qogeiAqtjb2yR4LSmfU2+POvDkLzhjYLXz9Rf9+9a3zFHW1Lecg== + +"@rollup/rollup-android-arm64@4.9.6": + version "4.9.6" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.9.6.tgz#46327d5b86420d2307946bec1535fdf00356e47d" + integrity sha512-T14aNLpqJ5wzKNf5jEDpv5zgyIqcpn1MlwCrUXLrwoADr2RkWA0vOWP4XxbO9aiO3dvMCQICZdKeDrFl7UMClw== + +"@rollup/rollup-darwin-arm64@4.9.6": + version "4.9.6" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.9.6.tgz#166987224d2f8b1e2fd28ee90c447d52271d5e90" + integrity sha512-CqNNAyhRkTbo8VVZ5R85X73H3R5NX9ONnKbXuHisGWC0qRbTTxnF1U4V9NafzJbgGM0sHZpdO83pLPzq8uOZFw== + +"@rollup/rollup-darwin-x64@4.9.6": + version "4.9.6" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.9.6.tgz#a2e6e096f74ccea6e2f174454c26aef6bcdd1274" + integrity sha512-zRDtdJuRvA1dc9Mp6BWYqAsU5oeLixdfUvkTHuiYOHwqYuQ4YgSmi6+/lPvSsqc/I0Omw3DdICx4Tfacdzmhog== + +"@rollup/rollup-linux-arm-gnueabihf@4.9.6": + version "4.9.6" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.9.6.tgz#09fcd4c55a2d6160c5865fec708a8e5287f30515" + integrity sha512-oNk8YXDDnNyG4qlNb6is1ojTOGL/tRhbbKeE/YuccItzerEZT68Z9gHrY3ROh7axDc974+zYAPxK5SH0j/G+QQ== + +"@rollup/rollup-linux-arm64-gnu@4.9.6": + version "4.9.6" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.9.6.tgz#19a3c0b6315c747ca9acf86e9b710cc2440f83c9" + integrity sha512-Z3O60yxPtuCYobrtzjo0wlmvDdx2qZfeAWTyfOjEDqd08kthDKexLpV97KfAeUXPosENKd8uyJMRDfFMxcYkDQ== + +"@rollup/rollup-linux-arm64-musl@4.9.6": + version "4.9.6" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.9.6.tgz#94aaf95fdaf2ad9335983a4552759f98e6b2e850" + integrity sha512-gpiG0qQJNdYEVad+1iAsGAbgAnZ8j07FapmnIAQgODKcOTjLEWM9sRb+MbQyVsYCnA0Im6M6QIq6ax7liws6eQ== + +"@rollup/rollup-linux-riscv64-gnu@4.9.6": + version "4.9.6" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.9.6.tgz#160510e63f4b12618af4013bddf1761cf9fc9880" + integrity sha512-+uCOcvVmFUYvVDr27aiyun9WgZk0tXe7ThuzoUTAukZJOwS5MrGbmSlNOhx1j80GdpqbOty05XqSl5w4dQvcOA== + +"@rollup/rollup-linux-x64-gnu@4.9.6": + version "4.9.6" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.9.6.tgz#5ac5d068ce0726bd0a96ca260d5bd93721c0cb98" + integrity sha512-HUNqM32dGzfBKuaDUBqFB7tP6VMN74eLZ33Q9Y1TBqRDn+qDonkAUyKWwF9BR9unV7QUzffLnz9GrnKvMqC/fw== + +"@rollup/rollup-linux-x64-musl@4.9.6": + version "4.9.6" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.9.6.tgz#bafa759ab43e8eab9edf242a8259ffb4f2a57a5d" + integrity sha512-ch7M+9Tr5R4FK40FHQk8VnML0Szi2KRujUgHXd/HjuH9ifH72GUmw6lStZBo3c3GB82vHa0ZoUfjfcM7JiiMrQ== + +"@rollup/rollup-win32-arm64-msvc@4.9.6": + version "4.9.6" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.9.6.tgz#1cc3416682e5a20d8f088f26657e6e47f8db468e" + integrity sha512-VD6qnR99dhmTQ1mJhIzXsRcTBvTjbfbGGwKAHcu+52cVl15AC/kplkhxzW/uT0Xl62Y/meBKDZvoJSJN+vTeGA== + +"@rollup/rollup-win32-ia32-msvc@4.9.6": + version "4.9.6" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.9.6.tgz#7d2251e1aa5e8a1e47c86891fe4547a939503461" + integrity sha512-J9AFDq/xiRI58eR2NIDfyVmTYGyIZmRcvcAoJ48oDld/NTR8wyiPUu2X/v1navJ+N/FGg68LEbX3Ejd6l8B7MQ== + +"@rollup/rollup-win32-x64-msvc@4.9.6": + version "4.9.6" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.9.6.tgz#2c1fb69e02a3f1506f52698cfdc3a8b6386df9a6" + integrity sha512-jqzNLhNDvIZOrt69Ce4UjGRpXJBzhUBzawMwnaDAwyHriki3XollsewxWzOzz+4yOFDkuJHtTsZFwMxhYJWmLQ== + +"@shikijs/core@1.0.0", "@shikijs/core@^1.0.0-rc.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@shikijs/core/-/core-1.0.0.tgz#8d4ae36bae6bd60d5d40116125bcca9b947b40e5" + integrity sha512-UMKGMZ+8b88N0/n6DWwWth1PHsOaxjW+R2u+hzSiargZWTv+l3s1l8dhuIxUSsEUPlBDKLs2CSMiFZeviKQM1w== -"@szmarczak/http-timer@^1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-1.1.2.tgz#b1665e2c461a2cd92f4c1bbf50d5454de0d4b421" - integrity sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA== +"@shikijs/transformers@^1.0.0-rc.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@shikijs/transformers/-/transformers-1.0.0.tgz#d07e8b193f05d9ad463d73306be6fb9e316e0250" + integrity sha512-US0Sc0OdH7eGL64BtfvX3XezPfqhqF5mPyBFLlbZqSpFt2/emnv9GveAWzELGsIuvXoJ6N1RjeAdmQx5Xni6BQ== dependencies: - defer-to-connect "^1.0.1" + shiki "1.0.0" "@tootallnate/once@2": version "2.0.0" @@ -1942,13 +1466,10 @@ resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== -"@types/glob@^7.1.1": - version "7.1.3" - resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.3.tgz#e6ba80f36b7daad2c685acd9266382e68985c183" - integrity sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w== - dependencies: - "@types/minimatch" "*" - "@types/node" "*" +"@types/estree@1.0.5": + version "1.0.5" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4" + integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== "@types/http-proxy@^1.17.8": version "1.17.14" @@ -1957,31 +1478,34 @@ dependencies: "@types/node" "*" -"@types/json-schema@^7.0.5": - version "7.0.7" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.7.tgz#98a993516c859eb0d5c4c8f098317a9ea68db9ad" - integrity sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA== - "@types/json5@^0.0.29": version "0.0.29" resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4= -"@types/minimatch@*": - version "3.0.4" - resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.4.tgz#f0ec25dbf2f0e4b18647313ac031134ca5b24b21" - integrity sha512-1z8k4wzFnNjVK/tlxvrWuK5WMt6mydWWP7+zvH5eFep4oj+UkrfiJTRtjCeBXNpwaA/FYqqtb4/QS4ianFpIRA== +"@types/linkify-it@*": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@types/linkify-it/-/linkify-it-3.0.5.tgz#1e78a3ac2428e6d7e6c05c1665c242023a4601d8" + integrity sha512-yg6E+u0/+Zjva+buc3EIb+29XEg4wltq7cSmd4Uc2EE/1nUVmxyzpX6gUXD0V8jIrG0r7YeOGVIbYRkxeooCtw== + +"@types/markdown-it@^13.0.7": + version "13.0.7" + resolved "https://registry.yarnpkg.com/@types/markdown-it/-/markdown-it-13.0.7.tgz#4a495115f470075bd4434a0438ac477a49c2e152" + integrity sha512-U/CBi2YUUcTHBt5tjO2r5QV/x0Po6nsYwQU4Y04fBS6vfoImaiZ6f8bi3CjTCxBPQSO1LMyUqkByzi8AidyxfA== + dependencies: + "@types/linkify-it" "*" + "@types/mdurl" "*" + +"@types/mdurl@*": + version "1.0.5" + resolved "https://registry.yarnpkg.com/@types/mdurl/-/mdurl-1.0.5.tgz#3e0d2db570e9fb6ccb2dc8fde0be1d79ac810d39" + integrity sha512-6L6VymKTzYSrEf4Nev4Xa1LCHKrlTlYCBMTlQKFuddo1CvQcE52I0mwfOJayueUC7MJuXOeHTcIU683lzd0cUA== "@types/node@*": version "15.12.1" resolved "https://registry.yarnpkg.com/@types/node/-/node-15.12.1.tgz#9b60797dee1895383a725f828a869c86c6caa5c2" integrity sha512-zyxJM8I1c9q5sRMtVF+zdd13Jt6RU4r4qfhTd7lQubyThvLfx6yYekWSQjGCGV2Tkecgxnlpl/DNlb6Hg+dmEw== -"@types/q@^1.5.1": - version "1.5.4" - resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.4.tgz#15925414e0ad2cd765bfef58842f7e26a7accb24" - integrity sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug== - "@types/resolve@1.17.1": version "1.17.1" resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-1.17.1.tgz#3afd6ad8967c77e4376c598a82ddd58f46ec45d6" @@ -1989,6 +1513,11 @@ dependencies: "@types/node" "*" +"@types/web-bluetooth@^0.0.20": + version "0.0.20" + resolved "https://registry.yarnpkg.com/@types/web-bluetooth/-/web-bluetooth-0.0.20.tgz#f066abfcd1cbe66267cdbbf0de010d8a41b41597" + integrity sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow== + "@typescript-eslint/parser@^4.26.0": version "4.26.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.26.0.tgz#31b6b732c9454f757b020dab9b6754112aa5eeaf" @@ -2033,441 +1562,157 @@ "@typescript-eslint/types" "4.26.0" eslint-visitor-keys "^2.0.0" -"@vue/babel-helper-vue-jsx-merge-props@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.2.1.tgz#31624a7a505fb14da1d58023725a4c5f270e6a81" - integrity sha512-QOi5OW45e2R20VygMSNhyQHvpdUwQZqGPc748JLGCYEy+yp8fNFNdbNIGAgZmi9e+2JHPd6i6idRuqivyicIkA== - -"@vue/babel-helper-vue-transform-on@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.0.2.tgz#9b9c691cd06fc855221a2475c3cc831d774bc7dc" - integrity sha512-hz4R8tS5jMn8lDq6iD+yWL6XNB699pGIVLk7WSJnn1dbpjaazsjZQkieJoRX6gW5zpYSCFqQ7jUquPNY65tQYA== - -"@vue/babel-plugin-jsx@^1.0.3": - version "1.0.6" - resolved "https://registry.yarnpkg.com/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.0.6.tgz#184bf3541ab6efdbe5079ab8b20c19e2af100bfb" - integrity sha512-RzYsvBhzKUmY2YG6LoV+W5PnlnkInq0thh1AzCmewwctAgGN6e9UFon6ZrQQV1CO5G5PeME7MqpB+/vvGg0h4g== - dependencies: - "@babel/helper-module-imports" "^7.0.0" - "@babel/plugin-syntax-jsx" "^7.0.0" - "@babel/template" "^7.0.0" - "@babel/traverse" "^7.0.0" - "@babel/types" "^7.0.0" - "@vue/babel-helper-vue-transform-on" "^1.0.2" - camelcase "^6.0.0" - html-tags "^3.1.0" - svg-tags "^1.0.0" - -"@vue/babel-plugin-transform-vue-jsx@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@vue/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-1.2.1.tgz#646046c652c2f0242727f34519d917b064041ed7" - integrity sha512-HJuqwACYehQwh1fNT8f4kyzqlNMpBuUK4rSiSES5D4QsYncv5fxFsLyrxFPG2ksO7t5WP+Vgix6tt6yKClwPzA== - dependencies: - "@babel/helper-module-imports" "^7.0.0" - "@babel/plugin-syntax-jsx" "^7.2.0" - "@vue/babel-helper-vue-jsx-merge-props" "^1.2.1" - html-tags "^2.0.0" - lodash.kebabcase "^4.1.1" - svg-tags "^1.0.0" - -"@vue/babel-preset-app@^4.1.2": - version "4.5.13" - resolved "https://registry.yarnpkg.com/@vue/babel-preset-app/-/babel-preset-app-4.5.13.tgz#cb475321e4c73f7f110dac29a48c2a9cb80afeb6" - integrity sha512-pM7CR3yXB6L8Gfn6EmX7FLNE3+V/15I3o33GkSNsWvgsMp6HVGXKkXgojrcfUUauyL1LZOdvTmu4enU2RePGHw== - dependencies: - "@babel/core" "^7.11.0" - "@babel/helper-compilation-targets" "^7.9.6" - "@babel/helper-module-imports" "^7.8.3" - "@babel/plugin-proposal-class-properties" "^7.8.3" - "@babel/plugin-proposal-decorators" "^7.8.3" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - "@babel/plugin-syntax-jsx" "^7.8.3" - "@babel/plugin-transform-runtime" "^7.11.0" - "@babel/preset-env" "^7.11.0" - "@babel/runtime" "^7.11.0" - "@vue/babel-plugin-jsx" "^1.0.3" - "@vue/babel-preset-jsx" "^1.2.4" - babel-plugin-dynamic-import-node "^2.3.3" - core-js "^3.6.5" - core-js-compat "^3.6.5" - semver "^6.1.0" - -"@vue/babel-preset-jsx@^1.2.4": - version "1.2.4" - resolved "https://registry.yarnpkg.com/@vue/babel-preset-jsx/-/babel-preset-jsx-1.2.4.tgz#92fea79db6f13b01e80d3a0099e2924bdcbe4e87" - integrity sha512-oRVnmN2a77bYDJzeGSt92AuHXbkIxbf/XXSE3klINnh9AXBmVS1DGa1f0d+dDYpLfsAKElMnqKTQfKn7obcL4w== - dependencies: - "@vue/babel-helper-vue-jsx-merge-props" "^1.2.1" - "@vue/babel-plugin-transform-vue-jsx" "^1.2.1" - "@vue/babel-sugar-composition-api-inject-h" "^1.2.1" - "@vue/babel-sugar-composition-api-render-instance" "^1.2.4" - "@vue/babel-sugar-functional-vue" "^1.2.2" - "@vue/babel-sugar-inject-h" "^1.2.2" - "@vue/babel-sugar-v-model" "^1.2.3" - "@vue/babel-sugar-v-on" "^1.2.3" - -"@vue/babel-sugar-composition-api-inject-h@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@vue/babel-sugar-composition-api-inject-h/-/babel-sugar-composition-api-inject-h-1.2.1.tgz#05d6e0c432710e37582b2be9a6049b689b6f03eb" - integrity sha512-4B3L5Z2G+7s+9Bwbf+zPIifkFNcKth7fQwekVbnOA3cr3Pq71q71goWr97sk4/yyzH8phfe5ODVzEjX7HU7ItQ== - dependencies: - "@babel/plugin-syntax-jsx" "^7.2.0" - -"@vue/babel-sugar-composition-api-render-instance@^1.2.4": - version "1.2.4" - resolved "https://registry.yarnpkg.com/@vue/babel-sugar-composition-api-render-instance/-/babel-sugar-composition-api-render-instance-1.2.4.tgz#e4cbc6997c344fac271785ad7a29325c51d68d19" - integrity sha512-joha4PZznQMsxQYXtR3MnTgCASC9u3zt9KfBxIeuI5g2gscpTsSKRDzWQt4aqNIpx6cv8On7/m6zmmovlNsG7Q== - dependencies: - "@babel/plugin-syntax-jsx" "^7.2.0" - -"@vue/babel-sugar-functional-vue@^1.2.2": - version "1.2.2" - resolved "https://registry.yarnpkg.com/@vue/babel-sugar-functional-vue/-/babel-sugar-functional-vue-1.2.2.tgz#267a9ac8d787c96edbf03ce3f392c49da9bd2658" - integrity sha512-JvbgGn1bjCLByIAU1VOoepHQ1vFsroSA/QkzdiSs657V79q6OwEWLCQtQnEXD/rLTA8rRit4rMOhFpbjRFm82w== - dependencies: - "@babel/plugin-syntax-jsx" "^7.2.0" - -"@vue/babel-sugar-inject-h@^1.2.2": - version "1.2.2" - resolved "https://registry.yarnpkg.com/@vue/babel-sugar-inject-h/-/babel-sugar-inject-h-1.2.2.tgz#d738d3c893367ec8491dcbb669b000919293e3aa" - integrity sha512-y8vTo00oRkzQTgufeotjCLPAvlhnpSkcHFEp60+LJUwygGcd5Chrpn5480AQp/thrxVm8m2ifAk0LyFel9oCnw== - dependencies: - "@babel/plugin-syntax-jsx" "^7.2.0" - -"@vue/babel-sugar-v-model@^1.2.3": - version "1.2.3" - resolved "https://registry.yarnpkg.com/@vue/babel-sugar-v-model/-/babel-sugar-v-model-1.2.3.tgz#fa1f29ba51ebf0aa1a6c35fa66d539bc459a18f2" - integrity sha512-A2jxx87mySr/ulAsSSyYE8un6SIH0NWHiLaCWpodPCVOlQVODCaSpiR4+IMsmBr73haG+oeCuSvMOM+ttWUqRQ== - dependencies: - "@babel/plugin-syntax-jsx" "^7.2.0" - "@vue/babel-helper-vue-jsx-merge-props" "^1.2.1" - "@vue/babel-plugin-transform-vue-jsx" "^1.2.1" - camelcase "^5.0.0" - html-tags "^2.0.0" - svg-tags "^1.0.0" - -"@vue/babel-sugar-v-on@^1.2.3": - version "1.2.3" - resolved "https://registry.yarnpkg.com/@vue/babel-sugar-v-on/-/babel-sugar-v-on-1.2.3.tgz#342367178586a69f392f04bfba32021d02913ada" - integrity sha512-kt12VJdz/37D3N3eglBywV8GStKNUhNrsxChXIV+o0MwVXORYuhDTHJRKPgLJRb/EY3vM2aRFQdxJBp9CLikjw== +"@vitejs/plugin-vue@^5.0.3": + version "5.0.3" + resolved "https://registry.yarnpkg.com/@vitejs/plugin-vue/-/plugin-vue-5.0.3.tgz#164b36653910d27c130cf6c945b4bd9bde5bcbee" + integrity sha512-b8S5dVS40rgHdDrw+DQi/xOM9ed+kSRZzfm1T74bMmBDCd8XO87NKlFYInzCtwvtWwXZvo1QxE2OSspTATWrbA== + +"@vue/compiler-core@3.4.17": + version "3.4.17" + resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.4.17.tgz#c16de3796d88345beb9d3a2d96360227e192aefa" + integrity sha512-SLECdJMmOSfQhRom6WqisORfZe5cgfOypXuwK3UEeDXbof5J0fK2pj0sc79E9Z+o4npACzrF3eqf3FhPOZcXyw== + dependencies: + "@babel/parser" "^7.23.9" + "@vue/shared" "3.4.17" + entities "^4.5.0" + estree-walker "^2.0.2" + source-map-js "^1.0.2" + +"@vue/compiler-dom@3.4.17": + version "3.4.17" + resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.4.17.tgz#26b351bd91c885b09c08c36ce1df2490478a4822" + integrity sha512-gXWh0G6rJjuOg62RGNM5sIj/AdcVXfJYRpaxexujaJqHmqdUP/9J3QzKUNadrLw5U98UWvVPpfriT2RVSUmx/w== + dependencies: + "@vue/compiler-core" "3.4.17" + "@vue/shared" "3.4.17" + +"@vue/compiler-sfc@3.4.17": + version "3.4.17" + resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.4.17.tgz#80e8e5b7dbb1b9c95d2a8ccbef5240030e87f5b7" + integrity sha512-rYWyfugylV69bFzWuyCS2VgQY9XpY1yfWRQrykct1dORhA57ppss1LtIo9pAzMf+XIe+ZZV8IPGSw6fbV+8SYg== + dependencies: + "@babel/parser" "^7.23.9" + "@vue/compiler-core" "3.4.17" + "@vue/compiler-dom" "3.4.17" + "@vue/compiler-ssr" "3.4.17" + "@vue/shared" "3.4.17" + estree-walker "^2.0.2" + magic-string "^0.30.6" + postcss "^8.4.33" + source-map-js "^1.0.2" + +"@vue/compiler-ssr@3.4.17": + version "3.4.17" + resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.4.17.tgz#dc4172812baf4b4a8b78706e7da6c1e424a417ec" + integrity sha512-08S6EZkAOsQSuIt6djF3wbkKwlUCvB/DlKCHgirVpLTSIkwLEw7E8K0fGsgTbbGtO3nsY8Y6uBbWm9ZGFif70Q== + dependencies: + "@vue/compiler-dom" "3.4.17" + "@vue/shared" "3.4.17" + +"@vue/devtools-api@^7.0.14": + version "7.0.14" + resolved "https://registry.yarnpkg.com/@vue/devtools-api/-/devtools-api-7.0.14.tgz#27eedda650f09d991718741268b7cef823dd08a6" + integrity sha512-TluWR9qZ6aO11bwtYK8+fzXxBqLfsE0mWZz1q/EQBmO9k82Cm6deieLwNNXjNFJz7xutazoia5Qa+zTYkPPOfw== + dependencies: + "@vue/devtools-kit" "^7.0.14" + +"@vue/devtools-kit@^7.0.14": + version "7.0.14" + resolved "https://registry.yarnpkg.com/@vue/devtools-kit/-/devtools-kit-7.0.14.tgz#39635f3478f0048d97df9b3dcceeae27a7ae3eec" + integrity sha512-wAAJazr4hI0aVRpgWOCVPw+NzMQdthhnprHHIg4njp1MkKrpCNGQ7MtQbZF1AltAA7xpMCGyyt+0kYH0FqTiPg== + dependencies: + "@vue/devtools-schema" "^7.0.14" + "@vue/devtools-shared" "^7.0.14" + hookable "^5.5.3" + mitt "^3.0.1" + perfect-debounce "^1.0.0" + speakingurl "^14.0.1" + +"@vue/devtools-schema@^7.0.14": + version "7.0.14" + resolved "https://registry.yarnpkg.com/@vue/devtools-schema/-/devtools-schema-7.0.14.tgz#5b638859918a71c218108d0e8b39000e2813f1f2" + integrity sha512-tpUeCLVrdHX+KzWMLTAwx/vAPFbo6jAUi7sr6Q+0mBIqIVSSIxNr5wEhegiFvYva+OtDeM2OrT+f7/X/5bvZNg== + +"@vue/devtools-shared@^7.0.14": + version "7.0.14" + resolved "https://registry.yarnpkg.com/@vue/devtools-shared/-/devtools-shared-7.0.14.tgz#7f2aee9c25a027d59962da90689d231a73a0e589" + integrity sha512-79RP1NDakBVWou9rDpVnT1WMjTbL1lJKm6YEOodjQ0dq5ehf0wsRbeYDhgAlnjehWRzTq5GAYFBFUPYBs0/QpA== + dependencies: + rfdc "^1.3.1" + +"@vue/reactivity@3.4.17": + version "3.4.17" + resolved "https://registry.yarnpkg.com/@vue/reactivity/-/reactivity-3.4.17.tgz#c6ec649fbeeec30b04a4917275df097c0d56825d" + integrity sha512-xpgg9b8XI+o+vALHHt/260bd4rZtHo8hp5djrF7kz3jU5NDWfVliXyF8y67sIDyLihkjbFG1vRKSeJfxCBpViQ== + dependencies: + "@vue/shared" "3.4.17" + +"@vue/runtime-core@3.4.17": + version "3.4.17" + resolved "https://registry.yarnpkg.com/@vue/runtime-core/-/runtime-core-3.4.17.tgz#0787fde88d13a2c7f5b9393aeffcc806f52f4a33" + integrity sha512-XtHbp01ycEnOEjNvwFhuEnhaXF0NvcYc1SsWW5u15jj0IZRUGzx3qnIt3pl+i/uhwNDerfEL1mvgRpcVPc4osw== + dependencies: + "@vue/reactivity" "3.4.17" + "@vue/shared" "3.4.17" + +"@vue/runtime-dom@3.4.17": + version "3.4.17" + resolved "https://registry.yarnpkg.com/@vue/runtime-dom/-/runtime-dom-3.4.17.tgz#a160f2ce5a72b305e351ab06f3900f0d61a8af51" + integrity sha512-19U7LLsDALEpKMSoSH60yUCh7YnJZoUNYnXoV6tahQj4jYAuQVvbcFOJi7er5m7Cm2P79iTNfpYEHtTAUtU9rw== + dependencies: + "@vue/runtime-core" "3.4.17" + "@vue/shared" "3.4.17" + csstype "^3.1.3" + +"@vue/server-renderer@3.4.17": + version "3.4.17" + resolved "https://registry.yarnpkg.com/@vue/server-renderer/-/server-renderer-3.4.17.tgz#623930ccef43ccb1c6483126aeaf0f58afa12aed" + integrity sha512-ImmlPjysrWO8R8i6puoa0WbMWXW7gUAq4EHqjniNDWEWzcggp+KL2VLFKYLHAZl5FcgK0nyXgufEiXbbUwUd8g== + dependencies: + "@vue/compiler-ssr" "3.4.17" + "@vue/shared" "3.4.17" + +"@vue/shared@3.4.17": + version "3.4.17" + resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.4.17.tgz#5c4807d10f98ec632adf01a0203bbc73f66dae52" + integrity sha512-BKloFjdOdVMnYVEKHzPHhJA5wW4iNzuUdEtj1F3phjHMSC269XcQl+L4cZ9EgbYyC/XuEYgn/ICV3VNmnDoH6g== + +"@vueuse/core@10.7.2", "@vueuse/core@^10.7.2": + version "10.7.2" + resolved "https://registry.yarnpkg.com/@vueuse/core/-/core-10.7.2.tgz#78917803a29a0bca1803a6521fdf7ff873f6e72c" + integrity sha512-AOyAL2rK0By62Hm+iqQn6Rbu8bfmbgaIMXcE3TSr7BdQ42wnSFlwIdPjInO62onYsEMK/yDMU8C6oGfDAtZ2qQ== + dependencies: + "@types/web-bluetooth" "^0.0.20" + "@vueuse/metadata" "10.7.2" + "@vueuse/shared" "10.7.2" + vue-demi ">=0.14.6" + +"@vueuse/integrations@^10.7.2": + version "10.7.2" + resolved "https://registry.yarnpkg.com/@vueuse/integrations/-/integrations-10.7.2.tgz#763de1337d3925be9097aac9a725eec39d4c8e69" + integrity sha512-+u3RLPFedjASs5EKPc69Ge49WNgqeMfSxFn+qrQTzblPXZg6+EFzhjarS5edj2qAf6xQ93f95TUxRwKStXj/sQ== + dependencies: + "@vueuse/core" "10.7.2" + "@vueuse/shared" "10.7.2" + vue-demi ">=0.14.6" + +"@vueuse/metadata@10.7.2": + version "10.7.2" + resolved "https://registry.yarnpkg.com/@vueuse/metadata/-/metadata-10.7.2.tgz#ba0187ce138c287fd80301afc5b0d6a97e563633" + integrity sha512-kCWPb4J2KGrwLtn1eJwaJD742u1k5h6v/St5wFe8Quih90+k2a0JP8BS4Zp34XUuJqS2AxFYMb1wjUL8HfhWsQ== + +"@vueuse/shared@10.7.2": + version "10.7.2" + resolved "https://registry.yarnpkg.com/@vueuse/shared/-/shared-10.7.2.tgz#746441fbc08072371dd600a55883422c83fd0cab" + integrity sha512-qFbXoxS44pi2FkgFjPvF4h7c9oMDutpyBdcJdMYIMg9XyXli2meFMuaKn+UMgsClo//Th6+beeCgqweT/79BVA== dependencies: - "@babel/plugin-syntax-jsx" "^7.2.0" - "@vue/babel-plugin-transform-vue-jsx" "^1.2.1" - camelcase "^5.0.0" - -"@vue/component-compiler-utils@^3.1.0": - version "3.2.0" - resolved "https://registry.yarnpkg.com/@vue/component-compiler-utils/-/component-compiler-utils-3.2.0.tgz#8f85182ceed28e9b3c75313de669f83166d11e5d" - integrity sha512-lejBLa7xAMsfiZfNp7Kv51zOzifnb29FwdnMLa96z26kXErPFioSf9BMcePVIQ6/Gc6/mC0UrPpxAWIHyae0vw== - dependencies: - consolidate "^0.15.1" - hash-sum "^1.0.2" - lru-cache "^4.1.2" - merge-source-map "^1.1.0" - postcss "^7.0.14" - postcss-selector-parser "^6.0.2" - source-map "~0.6.1" - vue-template-es2015-compiler "^1.9.0" - optionalDependencies: - prettier "^1.18.2" - -"@vuepress/core@1.8.2": - version "1.8.2" - resolved "https://registry.yarnpkg.com/@vuepress/core/-/core-1.8.2.tgz#4f5bafc894691bfea4146294a582a129483daf2a" - integrity sha512-lh9BLC06k9s0wxTuWtCkiNj49fkbW87enp0XSrFZHEoyDGSGndQjZmMMErcHc5Hx7nrW1nzc33sPH1NNtJl0hw== - dependencies: - "@babel/core" "^7.8.4" - "@vue/babel-preset-app" "^4.1.2" - "@vuepress/markdown" "1.8.2" - "@vuepress/markdown-loader" "1.8.2" - "@vuepress/plugin-last-updated" "1.8.2" - "@vuepress/plugin-register-components" "1.8.2" - "@vuepress/shared-utils" "1.8.2" - autoprefixer "^9.5.1" - babel-loader "^8.0.4" - cache-loader "^3.0.0" - chokidar "^2.0.3" - connect-history-api-fallback "^1.5.0" - copy-webpack-plugin "^5.0.2" - core-js "^3.6.4" - cross-spawn "^6.0.5" - css-loader "^2.1.1" - file-loader "^3.0.1" - js-yaml "^3.13.1" - lru-cache "^5.1.1" - mini-css-extract-plugin "0.6.0" - optimize-css-assets-webpack-plugin "^5.0.1" - portfinder "^1.0.13" - postcss-loader "^3.0.0" - postcss-safe-parser "^4.0.1" - toml "^3.0.0" - url-loader "^1.0.1" - vue "^2.6.10" - vue-loader "^15.7.1" - vue-router "^3.4.5" - vue-server-renderer "^2.6.10" - vue-template-compiler "^2.6.10" - vuepress-html-webpack-plugin "^3.2.0" - vuepress-plugin-container "^2.0.2" - webpack "^4.8.1" - webpack-chain "^6.0.0" - webpack-dev-server "^3.5.1" - webpack-merge "^4.1.2" - webpackbar "3.2.0" - -"@vuepress/markdown-loader@1.8.2": - version "1.8.2" - resolved "https://registry.yarnpkg.com/@vuepress/markdown-loader/-/markdown-loader-1.8.2.tgz#b2a58291a967f2bbe0af6e58f9542f5911879233" - integrity sha512-mWzFXikCUcAN/chpKkqZpRYKdo0312hMv8cBea2hvrJYV6y4ODB066XKvXN8JwOcxuCjxWYJkhWGr+pXq1oTtw== - dependencies: - "@vuepress/markdown" "1.8.2" - loader-utils "^1.1.0" - lru-cache "^5.1.1" - -"@vuepress/markdown@1.8.2": - version "1.8.2" - resolved "https://registry.yarnpkg.com/@vuepress/markdown/-/markdown-1.8.2.tgz#50ea5a1962591a436b26d1aa2b111df37eb9ea8a" - integrity sha512-zznBHVqW+iBkznF/BO/GY9RFu53khyl0Ey0PnGqvwCJpRLNan6y5EXgYumtjw2GSYn5nDTTALYxtyNBdz64PKg== - dependencies: - "@vuepress/shared-utils" "1.8.2" - markdown-it "^8.4.1" - markdown-it-anchor "^5.0.2" - markdown-it-chain "^1.3.0" - markdown-it-emoji "^1.4.0" - markdown-it-table-of-contents "^0.4.0" - prismjs "^1.13.0" - -"@vuepress/plugin-active-header-links@1.8.2": - version "1.8.2" - resolved "https://registry.yarnpkg.com/@vuepress/plugin-active-header-links/-/plugin-active-header-links-1.8.2.tgz#0cb9b29c826dd97d35357a9b09c962ef782cb793" - integrity sha512-JmXAQg8D7J8mcKe2Ue3BZ9dOCzJMJXP4Cnkkc/IrqfDg0ET0l96gYWZohCqlvRIWt4f0VPiFAO4FLYrW+hko+g== - dependencies: - lodash.debounce "^4.0.8" - -"@vuepress/plugin-last-updated@1.8.2": - version "1.8.2" - resolved "https://registry.yarnpkg.com/@vuepress/plugin-last-updated/-/plugin-last-updated-1.8.2.tgz#7ce689f8d5050cf0213949bc2e5aa879c09ff4b1" - integrity sha512-pYIRZi52huO9b6HY3JQNPKNERCLzMHejjBRt9ekdnJ1xhLs4MmRvt37BoXjI/qzvXkYtr7nmGgnKThNBVRTZuA== - dependencies: - cross-spawn "^6.0.5" - -"@vuepress/plugin-nprogress@1.8.2": - version "1.8.2" - resolved "https://registry.yarnpkg.com/@vuepress/plugin-nprogress/-/plugin-nprogress-1.8.2.tgz#dc6c082925420c8c59ecb7fc2d4a9401f6d4664a" - integrity sha512-3TOBee2NM3WLr1tdjDTGfrAMggjN+OlEPyKyv8FqThsVkDYhw48O3HwqlThp9KX7UbL3ExxIFBwWRFLC+kYrdw== - dependencies: - nprogress "^0.2.0" - -"@vuepress/plugin-register-components@1.8.2": - version "1.8.2" - resolved "https://registry.yarnpkg.com/@vuepress/plugin-register-components/-/plugin-register-components-1.8.2.tgz#2fb45a68b0a1efb8822670d95c3b231a2d0eb74d" - integrity sha512-6SUq3nHFMEh9qKFnjA8QnrNxj0kLs7+Gspq1OBU8vtu0NQmSvLFZVaMV7pzT/9zN2nO5Pld5qhsUJv1g71MrEA== - dependencies: - "@vuepress/shared-utils" "1.8.2" - -"@vuepress/plugin-search@1.8.2": - version "1.8.2" - resolved "https://registry.yarnpkg.com/@vuepress/plugin-search/-/plugin-search-1.8.2.tgz#74b92f663acf6b4560e15dc0442a84c4e874e206" - integrity sha512-JrSJr9o0Kar14lVtZ4wfw39pplxvvMh8vDBD9oW09a+6Zi/4bySPGdcdaqdqGW+OHSiZNvG+6uyfKSBBBqF6PA== - -"@vuepress/shared-utils@1.8.2", "@vuepress/shared-utils@^1.2.0": - version "1.8.2" - resolved "https://registry.yarnpkg.com/@vuepress/shared-utils/-/shared-utils-1.8.2.tgz#5ec1601f2196aca34ad82eed7c9be2d7948f705b" - integrity sha512-6kGubc7iBDWruEBUU7yR+sQ++SOhMuvKWvWeTZJKRZedthycdzYz7QVpua0FaZSAJm5/dIt8ymU4WQvxTtZgTQ== - dependencies: - chalk "^2.3.2" - escape-html "^1.0.3" - fs-extra "^7.0.1" - globby "^9.2.0" - gray-matter "^4.0.1" - hash-sum "^1.0.2" - semver "^6.0.0" - toml "^3.0.0" - upath "^1.1.0" - -"@vuepress/theme-default@1.8.2": - version "1.8.2" - resolved "https://registry.yarnpkg.com/@vuepress/theme-default/-/theme-default-1.8.2.tgz#7f474036c752c1f9801b83f68f5c70c092b182b4" - integrity sha512-rE7M1rs3n2xp4a/GrweO8EGwqFn3EA5gnFWdVmVIHyr7C1nix+EqjpPQF1SVWNnIrDdQuCw38PqS+oND1K2vYw== - dependencies: - "@vuepress/plugin-active-header-links" "1.8.2" - "@vuepress/plugin-nprogress" "1.8.2" - "@vuepress/plugin-search" "1.8.2" - docsearch.js "^2.5.2" - lodash "^4.17.15" - stylus "^0.54.8" - stylus-loader "^3.0.2" - vuepress-plugin-container "^2.0.2" - vuepress-plugin-smooth-scroll "^0.0.3" - -"@webassemblyjs/ast@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.9.0.tgz#bd850604b4042459a5a41cd7d338cbed695ed964" - integrity sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA== - dependencies: - "@webassemblyjs/helper-module-context" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/wast-parser" "1.9.0" - -"@webassemblyjs/floating-point-hex-parser@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz#3c3d3b271bddfc84deb00f71344438311d52ffb4" - integrity sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA== - -"@webassemblyjs/helper-api-error@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz#203f676e333b96c9da2eeab3ccef33c45928b6a2" - integrity sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw== - -"@webassemblyjs/helper-buffer@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz#a1442d269c5feb23fcbc9ef759dac3547f29de00" - integrity sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA== - -"@webassemblyjs/helper-code-frame@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz#647f8892cd2043a82ac0c8c5e75c36f1d9159f27" - integrity sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA== - dependencies: - "@webassemblyjs/wast-printer" "1.9.0" - -"@webassemblyjs/helper-fsm@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz#c05256b71244214671f4b08ec108ad63b70eddb8" - integrity sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw== - -"@webassemblyjs/helper-module-context@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz#25d8884b76839871a08a6c6f806c3979ef712f07" - integrity sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g== - dependencies: - "@webassemblyjs/ast" "1.9.0" - -"@webassemblyjs/helper-wasm-bytecode@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz#4fed8beac9b8c14f8c58b70d124d549dd1fe5790" - integrity sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw== - -"@webassemblyjs/helper-wasm-section@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz#5a4138d5a6292ba18b04c5ae49717e4167965346" - integrity sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-buffer" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/wasm-gen" "1.9.0" - -"@webassemblyjs/ieee754@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz#15c7a0fbaae83fb26143bbacf6d6df1702ad39e4" - integrity sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg== - dependencies: - "@xtuc/ieee754" "^1.2.0" - -"@webassemblyjs/leb128@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.9.0.tgz#f19ca0b76a6dc55623a09cffa769e838fa1e1c95" - integrity sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw== - dependencies: - "@xtuc/long" "4.2.2" - -"@webassemblyjs/utf8@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.9.0.tgz#04d33b636f78e6a6813227e82402f7637b6229ab" - integrity sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w== - -"@webassemblyjs/wasm-edit@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz#3fe6d79d3f0f922183aa86002c42dd256cfee9cf" - integrity sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-buffer" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/helper-wasm-section" "1.9.0" - "@webassemblyjs/wasm-gen" "1.9.0" - "@webassemblyjs/wasm-opt" "1.9.0" - "@webassemblyjs/wasm-parser" "1.9.0" - "@webassemblyjs/wast-printer" "1.9.0" - -"@webassemblyjs/wasm-gen@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz#50bc70ec68ded8e2763b01a1418bf43491a7a49c" - integrity sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/ieee754" "1.9.0" - "@webassemblyjs/leb128" "1.9.0" - "@webassemblyjs/utf8" "1.9.0" - -"@webassemblyjs/wasm-opt@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz#2211181e5b31326443cc8112eb9f0b9028721a61" - integrity sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-buffer" "1.9.0" - "@webassemblyjs/wasm-gen" "1.9.0" - "@webassemblyjs/wasm-parser" "1.9.0" - -"@webassemblyjs/wasm-parser@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz#9d48e44826df4a6598294aa6c87469d642fff65e" - integrity sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-api-error" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/ieee754" "1.9.0" - "@webassemblyjs/leb128" "1.9.0" - "@webassemblyjs/utf8" "1.9.0" - -"@webassemblyjs/wast-parser@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz#3031115d79ac5bd261556cecc3fa90a3ef451914" - integrity sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/floating-point-hex-parser" "1.9.0" - "@webassemblyjs/helper-api-error" "1.9.0" - "@webassemblyjs/helper-code-frame" "1.9.0" - "@webassemblyjs/helper-fsm" "1.9.0" - "@xtuc/long" "4.2.2" - -"@webassemblyjs/wast-printer@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz#4935d54c85fef637b00ce9f52377451d00d47899" - integrity sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/wast-parser" "1.9.0" - "@xtuc/long" "4.2.2" - -"@xtuc/ieee754@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" - integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== - -"@xtuc/long@4.2.2": - version "4.2.2" - resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" - integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== + vue-demi ">=0.14.6" abbrev@1, abbrev@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== -accepts@~1.3.4, accepts@~1.3.5: - version "1.3.7" - resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" - integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA== - dependencies: - mime-types "~2.1.24" - negotiator "0.6.2" - accepts@~1.3.8: version "1.3.8" resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" @@ -2486,11 +1731,6 @@ acorn-walk@^8.2.0: resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== -acorn@^6.4.1: - version "6.4.2" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6" - integrity sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ== - acorn@^7.4.0: version "7.4.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" @@ -2513,11 +1753,6 @@ agent-base@6, agent-base@^6.0.2: dependencies: debug "4" -agentkeepalive@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-2.2.0.tgz#c5d1bd4b129008f1163f236f86e5faea2026e2ef" - integrity sha1-xdG9SxKQCPEWPyNvhuX66iAm4u8= - agentkeepalive@^4.2.1: version "4.5.0" resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.5.0.tgz#2673ad1389b3c418c5a20c5d7364f93ca04be923" @@ -2541,17 +1776,7 @@ aggregate-error@^4.0.0: clean-stack "^4.0.0" indent-string "^5.0.0" -ajv-errors@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" - integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ== - -ajv-keywords@^3.1.0, ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: - version "3.5.2" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" - integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== - -ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.3, ajv@^6.12.4: +ajv@^6.10.0, ajv@^6.12.4: version "6.12.6" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== @@ -2571,71 +1796,31 @@ ajv@^8.0.1: require-from-string "^2.0.2" uri-js "^4.2.2" -algoliasearch@^3.24.5: - version "3.35.1" - resolved "https://registry.yarnpkg.com/algoliasearch/-/algoliasearch-3.35.1.tgz#297d15f534a3507cab2f5dfb996019cac7568f0c" - integrity sha512-K4yKVhaHkXfJ/xcUnil04xiSrB8B8yHZoFEhWNpXg23eiCnqvTZw1tn/SqvdsANlYHLJlKl0qi3I/Q2Sqo7LwQ== - dependencies: - agentkeepalive "^2.2.0" - debug "^2.6.9" - envify "^4.0.0" - es6-promise "^4.1.0" - events "^1.1.0" - foreach "^2.0.5" - global "^4.3.2" - inherits "^2.0.1" - isarray "^2.0.1" - load-script "^1.0.0" - object-keys "^1.0.11" - querystring-es3 "^0.2.1" - reduce "^1.0.1" - semver "^5.1.0" - tunnel-agent "^0.6.0" - -alphanum-sort@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" - integrity sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM= - -ansi-align@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.0.tgz#b536b371cf687caaef236c18d3e21fe3797467cb" - integrity sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw== - dependencies: - string-width "^3.0.0" - -ansi-colors@^3.0.0: - version "3.2.4" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf" - integrity sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA== +algoliasearch@^4.19.1: + version "4.22.1" + resolved "https://registry.yarnpkg.com/algoliasearch/-/algoliasearch-4.22.1.tgz#f10fbecdc7654639ec20d62f109c1b3a46bc6afc" + integrity sha512-jwydKFQJKIx9kIZ8Jm44SdpigFwRGPESaxZBaHSV0XWN2yBJAOT4mT7ppvlrpA4UGzz92pqFnVKr/kaZXrcreg== + dependencies: + "@algolia/cache-browser-local-storage" "4.22.1" + "@algolia/cache-common" "4.22.1" + "@algolia/cache-in-memory" "4.22.1" + "@algolia/client-account" "4.22.1" + "@algolia/client-analytics" "4.22.1" + "@algolia/client-common" "4.22.1" + "@algolia/client-personalization" "4.22.1" + "@algolia/client-search" "4.22.1" + "@algolia/logger-common" "4.22.1" + "@algolia/logger-console" "4.22.1" + "@algolia/requester-browser-xhr" "4.22.1" + "@algolia/requester-common" "4.22.1" + "@algolia/requester-node-http" "4.22.1" + "@algolia/transporter" "4.22.1" ansi-colors@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== -ansi-escapes@^4.1.0: - version "4.3.2" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" - integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== - dependencies: - type-fest "^0.21.3" - -ansi-html@0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e" - integrity sha1-gTWEAhliqenm/QOflA0S9WynhZ4= - -ansi-regex@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" - integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= - -ansi-regex@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" - integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== - ansi-regex@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" @@ -2651,12 +1836,7 @@ ansi-regex@^6.0.1: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a" integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== -ansi-styles@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" - integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= - -ansi-styles@^3.2.0, ansi-styles@^3.2.1: +ansi-styles@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== @@ -2685,15 +1865,7 @@ anylogger@^0.21.0: resolved "https://registry.yarnpkg.com/anylogger/-/anylogger-0.21.0.tgz#b6cbea631cd5e1c884e5c0fa007d80bde1b22bd4" integrity sha512-XJVplwflEff43l7aE48lW9gNoS0fpb1Ha4WttzjfTFlN3uJUIKALZ5oNWtwgRXPm/Q2dbp1EIddMbQ/AGHVX1A== -anymatch@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" - integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== - dependencies: - micromatch "^3.1.4" - normalize-path "^2.1.1" - -anymatch@~3.1.1, anymatch@~3.1.2: +anymatch@~3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== @@ -2706,11 +1878,6 @@ anymatch@~3.1.1, anymatch@~3.1.2: resolved "https://registry.yarnpkg.com/aproba/-/aproba-2.0.0.tgz#52520b8ae5b569215b354efc0caa3fe1e45a8adc" integrity sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ== -aproba@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" - integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== - are-we-there-yet@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz#372e0e7bd279d8e94c653aaa1f67200884bf3e1c" @@ -2734,21 +1901,6 @@ argparse@^1.0.7: dependencies: sprintf-js "~1.0.2" -arr-diff@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" - integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= - -arr-flatten@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" - integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== - -arr-union@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" - integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= - array-find-index@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" @@ -2759,11 +1911,6 @@ array-flatten@1.1.1: resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= -array-flatten@^2.1.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.2.tgz#24ef80a28c1a893617e2149b0c6d0d788293b099" - integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ== - array-includes@^3.1.4: version "3.1.5" resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.5.tgz#2c320010db8d31031fd2a5f6b3bbd4b1aad31bdb" @@ -2775,28 +1922,11 @@ array-includes@^3.1.4: get-intrinsic "^1.1.1" is-string "^1.0.7" -array-union@^1.0.1, array-union@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" - integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk= - dependencies: - array-uniq "^1.0.1" - array-union@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== -array-uniq@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" - integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= - -array-unique@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" - integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= - array.prototype.flat@^1.2.5: version "1.3.0" resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.0.tgz#0b0c1567bf57b38b56b4c97b8aa72ab45e4adc7b" @@ -2817,93 +1947,11 @@ arrify@^3.0.0: resolved "https://registry.yarnpkg.com/arrify/-/arrify-3.0.0.tgz#ccdefb8eaf2a1d2ab0da1ca2ce53118759fd46bc" integrity sha512-tLkvA81vQG/XqE2mjDkGQHoOINtMHtysSnemrmoGe6PydDPMRbVugqyk4A6V/WDWEfm3l+0d8anA9r8cv/5Jaw== -asn1.js@^5.2.0: - version "5.4.1" - resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" - integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== - dependencies: - bn.js "^4.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - safer-buffer "^2.1.0" - -asn1@~0.2.3: - version "0.2.4" - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" - integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== - dependencies: - safer-buffer "~2.1.0" - -assert-plus@1.0.0, assert-plus@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" - integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= - -assert@^1.1.1: - version "1.5.0" - resolved "https://registry.yarnpkg.com/assert/-/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb" - integrity sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA== - dependencies: - object-assign "^4.1.1" - util "0.10.3" - -assign-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" - integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= - astral-regex@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== -async-each@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" - integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ== - -async-limiter@~1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" - integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== - -async@^2.6.2: - version "2.6.4" - resolved "https://registry.yarnpkg.com/async/-/async-2.6.4.tgz#706b7ff6084664cd7eae713f6f965433b5504221" - integrity sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA== - dependencies: - lodash "^4.17.14" - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= - -atob@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" - integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== - -autocomplete.js@0.36.0: - version "0.36.0" - resolved "https://registry.yarnpkg.com/autocomplete.js/-/autocomplete.js-0.36.0.tgz#94fe775fe64b6cd42e622d076dc7fd26bedd837b" - integrity sha512-jEwUXnVMeCHHutUt10i/8ZiRaCb0Wo+ZyKxeGsYwBDtw6EJHqEeDrq4UwZRD8YBSvp3g6klP678il2eeiVXN2Q== - dependencies: - immediate "^3.2.3" - -autoprefixer@^9.5.1: - version "9.8.6" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.8.6.tgz#3b73594ca1bf9266320c5acf1588d74dea74210f" - integrity sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg== - dependencies: - browserslist "^4.12.0" - caniuse-lite "^1.0.30001109" - colorette "^1.2.1" - normalize-range "^0.1.2" - num2fraction "^1.2.2" - postcss "^7.0.32" - postcss-value-parser "^4.1.0" - ava@^4.3.1: version "4.3.1" resolved "https://registry.yarnpkg.com/ava/-/ava-4.3.1.tgz#376a788a5a863c39a9dd2dab9fcbbbcf94bf6c38" @@ -2955,16 +2003,6 @@ ava@^4.3.1: write-file-atomic "^4.0.1" yargs "^17.5.1" -aws-sign2@~0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" - integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= - -aws4@^1.8.0: - version "1.11.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" - integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== - babel-eslint@^10.0.3: version "10.1.0" resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.1.0.tgz#6968e568a910b78fb3779cdd8b6ac2f479943232" @@ -2977,70 +2015,16 @@ babel-eslint@^10.0.3: eslint-visitor-keys "^1.0.0" resolve "^1.12.0" -babel-loader@^8.0.4: - version "8.2.2" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.2.2.tgz#9363ce84c10c9a40e6c753748e1441b60c8a0b81" - integrity sha512-JvTd0/D889PQBtUXJ2PXaKU/pjZDMtHA9V2ecm+eNRmmBCMR09a+fmpGTNwnJtFmFl5Ei7Vy47LjBb+L0wQ99g== - dependencies: - find-cache-dir "^3.3.1" - loader-utils "^1.4.0" - make-dir "^3.1.0" - schema-utils "^2.6.5" - -babel-plugin-dynamic-import-node@^2.3.3: - version "2.3.3" - resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3" - integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ== - dependencies: - object.assign "^4.1.0" - -babel-plugin-polyfill-corejs2@^0.2.0: - version "0.2.2" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.2.tgz#e9124785e6fd94f94b618a7954e5693053bf5327" - integrity sha512-kISrENsJ0z5dNPq5eRvcctITNHYXWOA4DUZRFYCz3jYCcvTb/A546LIddmoGNMVYg2U38OyFeNosQwI9ENTqIQ== - dependencies: - "@babel/compat-data" "^7.13.11" - "@babel/helper-define-polyfill-provider" "^0.2.2" - semver "^6.1.1" - -babel-plugin-polyfill-corejs3@^0.2.0: - version "0.2.2" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.2.tgz#7424a1682ee44baec817327710b1b094e5f8f7f5" - integrity sha512-l1Cf8PKk12eEk5QP/NQ6TH8A1pee6wWDJ96WjxrMXFLHLOBFzYM4moG80HFgduVhTqAFez4alnZKEhP/bYHg0A== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.2.2" - core-js-compat "^3.9.1" - -babel-plugin-polyfill-regenerator@^0.2.0: - version "0.2.2" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.2.tgz#b310c8d642acada348c1fa3b3e6ce0e851bee077" - integrity sha512-Goy5ghsc21HgPDFtzRkSirpZVW35meGoTmTOb2bxqdl60ghub4xOidgNTHaZfQ2FaxQsKmwvXtOAkcIS4SMBWg== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.2.2" - balanced-match@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== -base64-js@^1.0.2, base64-js@^1.3.1: +base64-js@^1.3.1: version "1.5.1" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== -base@^0.11.1: - version "0.11.2" - resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" - integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== - dependencies: - cache-base "^1.0.1" - class-utils "^0.3.5" - component-emitter "^1.2.1" - define-property "^1.0.0" - isobject "^3.0.1" - mixin-deep "^1.2.0" - pascalcase "^0.1.1" - basic-auth@~2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/basic-auth/-/basic-auth-2.0.1.tgz#b998279bf47ce38344b4f3cf916d4679bbf51e3a" @@ -3048,18 +2032,6 @@ basic-auth@~2.0.1: dependencies: safe-buffer "5.1.2" -batch@0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" - integrity sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY= - -bcrypt-pbkdf@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" - integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= - dependencies: - tweetnacl "^0.14.3" - better-sqlite3@^8.2.0: version "8.5.1" resolved "https://registry.yarnpkg.com/better-sqlite3/-/better-sqlite3-8.5.1.tgz#984f7645303afa76289569804ee56e211d8ffa66" @@ -3068,21 +2040,6 @@ better-sqlite3@^8.2.0: bindings "^1.5.0" prebuild-install "^7.1.0" -big.js@^3.1.3: - version "3.2.0" - resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.2.0.tgz#a5fc298b81b9e0dca2e458824784b65c52ba588e" - integrity sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q== - -big.js@^5.2.2: - version "5.2.2" - resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" - integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== - -binary-extensions@^1.0.0: - version "1.13.1" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" - integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== - binary-extensions@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" @@ -3104,26 +2061,11 @@ bl@^4.0.3: inherits "^2.0.4" readable-stream "^3.4.0" -bluebird@^3.1.1, bluebird@^3.5.5: - version "3.7.2" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" - integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== - blueimp-md5@^2.10.0: version "2.18.0" resolved "https://registry.yarnpkg.com/blueimp-md5/-/blueimp-md5-2.18.0.tgz#1152be1335f0c6b3911ed9e36db54f3e6ac52935" integrity sha512-vE52okJvzsVWhcgUHOv+69OG3Mdg151xyn41aVQN/5W5S+S43qZhxECtYLAEHMSFWX6Mv5IZrzj3T5+JqXfj5Q== -bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.9: - version "4.12.0" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" - integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== - -bn.js@^5.0.0, bn.js@^5.1.1: - version "5.2.0" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.0.tgz#358860674396c6997771a9d051fcc1b57d4ae002" - integrity sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw== - body-parser@1.20.1: version "1.20.1" resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.1.tgz#b1812a8912c195cd371a3ee5e66faa2338a5c668" @@ -3142,37 +2084,6 @@ body-parser@1.20.1: type-is "~1.6.18" unpipe "1.0.0" -bonjour@^3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/bonjour/-/bonjour-3.5.0.tgz#8e890a183d8ee9a2393b3844c691a42bcf7bc9f5" - integrity sha1-jokKGD2O6aI5OzhExpGkK897yfU= - dependencies: - array-flatten "^2.1.0" - deep-equal "^1.0.1" - dns-equal "^1.0.0" - dns-txt "^2.0.2" - multicast-dns "^6.0.1" - multicast-dns-service-types "^1.1.0" - -boolbase@^1.0.0, boolbase@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" - integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= - -boxen@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/boxen/-/boxen-4.2.0.tgz#e411b62357d6d6d36587c8ac3d5d974daa070e64" - integrity sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ== - dependencies: - ansi-align "^3.0.0" - camelcase "^5.3.1" - chalk "^3.0.0" - cli-boxes "^2.2.0" - string-width "^4.1.0" - term-size "^2.1.0" - type-fest "^0.8.1" - widest-line "^3.1.0" - brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" @@ -3188,22 +2099,6 @@ brace-expansion@^2.0.1: dependencies: balanced-match "^1.0.0" -braces@^2.3.1, braces@^2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" - integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== - dependencies: - arr-flatten "^1.1.0" - array-unique "^0.3.2" - extend-shallow "^2.0.1" - fill-range "^4.0.0" - isobject "^3.0.1" - repeat-element "^1.1.2" - snapdragon "^0.8.1" - snapdragon-node "^2.0.1" - split-string "^3.0.2" - to-regex "^3.0.1" - braces@^3.0.1, braces@^3.0.2, braces@~3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" @@ -3211,112 +2106,6 @@ braces@^3.0.1, braces@^3.0.2, braces@~3.0.2: dependencies: fill-range "^7.0.1" -brorand@^1.0.1, brorand@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" - integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= - -browserify-aes@^1.0.0, browserify-aes@^1.0.4: - version "1.2.0" - resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" - integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== - dependencies: - buffer-xor "^1.0.3" - cipher-base "^1.0.0" - create-hash "^1.1.0" - evp_bytestokey "^1.0.3" - inherits "^2.0.1" - safe-buffer "^5.0.1" - -browserify-cipher@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" - integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== - dependencies: - browserify-aes "^1.0.4" - browserify-des "^1.0.0" - evp_bytestokey "^1.0.0" - -browserify-des@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" - integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== - dependencies: - cipher-base "^1.0.1" - des.js "^1.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - -browserify-rsa@^4.0.0, browserify-rsa@^4.0.1: - version "4.1.0" - resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.1.0.tgz#b2fd06b5b75ae297f7ce2dc651f918f5be158c8d" - integrity sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog== - dependencies: - bn.js "^5.0.0" - randombytes "^2.0.1" - -browserify-sign@^4.0.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.1.tgz#eaf4add46dd54be3bb3b36c0cf15abbeba7956c3" - integrity sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg== - dependencies: - bn.js "^5.1.1" - browserify-rsa "^4.0.1" - create-hash "^1.2.0" - create-hmac "^1.1.7" - elliptic "^6.5.3" - inherits "^2.0.4" - parse-asn1 "^5.1.5" - readable-stream "^3.6.0" - safe-buffer "^5.2.0" - -browserify-zlib@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" - integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA== - dependencies: - pako "~1.0.5" - -browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.16.6: - version "4.16.6" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.6.tgz#d7901277a5a88e554ed305b183ec9b0c08f66fa2" - integrity sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ== - dependencies: - caniuse-lite "^1.0.30001219" - colorette "^1.2.2" - electron-to-chromium "^1.3.723" - escalade "^3.1.1" - node-releases "^1.1.71" - -buffer-from@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" - integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== - -buffer-indexof@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/buffer-indexof/-/buffer-indexof-1.1.1.tgz#52fabcc6a606d1a00302802648ef68f639da268c" - integrity sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g== - -buffer-json@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/buffer-json/-/buffer-json-2.0.0.tgz#f73e13b1e42f196fe2fd67d001c7d7107edd7c23" - integrity sha512-+jjPFVqyfF1esi9fvfUs3NqM0pH1ziZ36VP4hmA/y/Ssfo/5w5xHKfTw9BwQjoJ1w/oVtpLomqwUHKdefGyuHw== - -buffer-xor@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" - integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= - -buffer@^4.3.0: - version "4.9.2" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8" - integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg== - dependencies: - base64-js "^1.0.2" - ieee754 "^1.1.4" - isarray "^1.0.0" - buffer@^5.5.0: version "5.7.1" resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" @@ -3338,11 +2127,6 @@ builtin-modules@^3.1.0: resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.2.0.tgz#45d5db99e7ee5e6bc4f362e008bf917ab5049887" integrity sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA== -builtin-status-codes@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" - integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug= - builtins@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/builtins/-/builtins-4.0.0.tgz#a8345420de82068fdc4d6559d0456403a8fb1905" @@ -3350,42 +2134,11 @@ builtins@^4.0.0: dependencies: semver "^7.0.0" -bytes@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" - integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg= - bytes@3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== -cac@^6.5.6: - version "6.7.3" - resolved "https://registry.yarnpkg.com/cac/-/cac-6.7.3.tgz#10410b8611677990cc2e3c8b576d471c1d71b768" - integrity sha512-ECVqVZh74qgSuZG9YOt2OJPI3wGcf+EwwuF/XIOYqZBD0KZYLtgPWqFPxmDPQ6joxI1nOlvVgRV6VT53Ooyocg== - -cacache@^12.0.2, cacache@^12.0.3: - version "12.0.4" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.4.tgz#668bcbd105aeb5f1d92fe25570ec9525c8faa40c" - integrity sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ== - dependencies: - bluebird "^3.5.5" - chownr "^1.1.1" - figgy-pudding "^3.5.1" - glob "^7.1.4" - graceful-fs "^4.1.15" - infer-owner "^1.0.3" - lru-cache "^5.1.1" - mississippi "^3.0.0" - mkdirp "^0.5.1" - move-concurrently "^1.0.1" - promise-inflight "^1.0.1" - rimraf "^2.6.3" - ssri "^6.0.1" - unique-filename "^1.1.1" - y18n "^4.0.0" - cacache@^16.1.0: version "16.1.3" resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.1.3.tgz#a02b9f34ecfaf9a78c9f4bc16fceb94d5d67a38e" @@ -3410,46 +2163,6 @@ cacache@^16.1.0: tar "^6.1.11" unique-filename "^2.0.0" -cache-base@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" - integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== - dependencies: - collection-visit "^1.0.0" - component-emitter "^1.2.1" - get-value "^2.0.6" - has-value "^1.0.0" - isobject "^3.0.1" - set-value "^2.0.0" - to-object-path "^0.3.0" - union-value "^1.0.0" - unset-value "^1.0.0" - -cache-loader@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/cache-loader/-/cache-loader-3.0.1.tgz#cee6cf4b3cdc7c610905b26bad6c2fc439c821af" - integrity sha512-HzJIvGiGqYsFUrMjAJNDbVZoG7qQA+vy9AIoKs7s9DscNfki0I589mf2w6/tW+kkFH3zyiknoWV5Jdynu6b/zw== - dependencies: - buffer-json "^2.0.0" - find-cache-dir "^2.1.0" - loader-utils "^1.2.3" - mkdirp "^0.5.1" - neo-async "^2.6.1" - schema-utils "^1.0.0" - -cacheable-request@^6.0.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-6.1.0.tgz#20ffb8bd162ba4be11e9567d823db651052ca912" - integrity sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg== - dependencies: - clone-response "^1.0.2" - get-stream "^5.1.0" - http-cache-semantics "^4.0.0" - keyv "^3.0.0" - lowercase-keys "^2.0.0" - normalize-url "^4.1.0" - responselike "^1.0.2" - call-bind@^1.0.0, call-bind@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" @@ -3458,30 +2171,6 @@ call-bind@^1.0.0, call-bind@^1.0.2: function-bind "^1.1.1" get-intrinsic "^1.0.2" -call-me-maybe@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.1.tgz#26d208ea89e37b5cbde60250a15f031c16a4d66b" - integrity sha1-JtII6onje1y95gJQoV8DHBak1ms= - -caller-callsite@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134" - integrity sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ= - dependencies: - callsites "^2.0.0" - -caller-path@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-2.0.0.tgz#468f83044e369ab2010fac5f06ceee15bb2cb1f4" - integrity sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ= - dependencies: - caller-callsite "^2.0.0" - -callsites@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50" - integrity sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA= - callsites@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" @@ -3492,44 +2181,6 @@ callsites@^4.0.0: resolved "https://registry.yarnpkg.com/callsites/-/callsites-4.0.0.tgz#8014cea4fedfe681a30e2f7d2d557dd95808a92a" integrity sha512-y3jRROutgpKdz5vzEhWM34TidDU8vkJppF8dszITeb1PQmSqV3DTxyV8G/lyO/DNvtE1YTedehmw9MPZsCBHxQ== -camel-case@3.0.x: - version "3.0.0" - resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73" - integrity sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M= - dependencies: - no-case "^2.2.0" - upper-case "^1.1.1" - -camelcase@^5.0.0, camelcase@^5.2.0, camelcase@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - -camelcase@^6.0.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" - integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== - -caniuse-api@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" - integrity sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw== - dependencies: - browserslist "^4.0.0" - caniuse-lite "^1.0.0" - lodash.memoize "^4.1.2" - lodash.uniq "^4.5.0" - -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001219: - version "1.0.30001234" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001234.tgz#8fc2e709e3b0679d7af7f073a1c661155c39b975" - integrity sha512-a3gjUVKkmwLdNysa1xkUAwN2VfJUJyVW47rsi3aCbkRCtbHAfo+rOsCqVw29G6coQ8gzAPb5XBXwiGHwme3isA== - -caseless@~0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" - integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= - cbor@^8.1.0: version "8.1.0" resolved "https://registry.yarnpkg.com/cbor/-/cbor-8.1.0.tgz#cfc56437e770b73417a2ecbfc9caf6b771af60d5" @@ -3537,18 +2188,7 @@ cbor@^8.1.0: dependencies: nofilter "^3.1.0" -chalk@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" - integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= - dependencies: - ansi-styles "^2.2.1" - escape-string-regexp "^1.0.2" - has-ansi "^2.0.0" - strip-ansi "^3.0.0" - supports-color "^2.0.0" - -chalk@^2.0.0, chalk@^2.3.2, chalk@^2.4.1, chalk@^2.4.2: +chalk@^2.0.0: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -3557,14 +2197,6 @@ chalk@^2.0.0, chalk@^2.3.2, chalk@^2.4.1, chalk@^2.4.2: escape-string-regexp "^1.0.5" supports-color "^5.3.0" -chalk@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" - integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - chalk@^4.0.0: version "4.1.1" resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.1.tgz#c80b3fab28bf6371e6863325eee67e618b77e6ad" @@ -3578,51 +2210,6 @@ chalk@^5.0.1: resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.0.1.tgz#ca57d71e82bb534a296df63bbacc4a1c22b2a4b6" integrity sha512-Fo07WOYGqMfCWHOzSXOt2CxDbC6skS/jO9ynEcmpANMoPrD+W1r1K6Vx7iNm+AQmETU1Xr2t+n8nzkV9t6xh3w== -check-md@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/check-md/-/check-md-1.0.0.tgz#6ba97cf4e061b23691b4132591afb168d4cd5910" - integrity sha512-H9LS+TDB6ix4QZQFiTp2TVIL+24zKutOKDqxIxAxnvkx3phpzrwPINaykD8RSeynxIVp3s0PecR2GEA3KLbziQ== - dependencies: - "@sindresorhus/slugify" "^0.8.0" - chalk "^2.4.2" - commander "^2.19.0" - diacritics "^1.3.0" - globby "^9.1.0" - -chokidar@^2.0.3, chokidar@^2.1.8: - version "2.1.8" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" - integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg== - dependencies: - anymatch "^2.0.0" - async-each "^1.0.1" - braces "^2.3.2" - glob-parent "^3.1.0" - inherits "^2.0.3" - is-binary-path "^1.0.0" - is-glob "^4.0.0" - normalize-path "^3.0.0" - path-is-absolute "^1.0.0" - readdirp "^2.2.1" - upath "^1.1.1" - optionalDependencies: - fsevents "^1.2.7" - -chokidar@^3.4.1: - version "3.5.1" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.1.tgz#ee9ce7bbebd2b79f49f304799d5468e31e14e68a" - integrity sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw== - dependencies: - anymatch "~3.1.1" - braces "~3.0.2" - glob-parent "~5.1.0" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.5.0" - optionalDependencies: - fsevents "~2.3.1" - chokidar@^3.5.3: version "3.5.3" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" @@ -3648,26 +2235,11 @@ chownr@^2.0.0: resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== -chrome-trace-event@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" - integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== - chunkd@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/chunkd/-/chunkd-2.0.1.tgz#49cd1d7b06992dc4f7fccd962fe2a101ee7da920" integrity sha512-7d58XsFmOq0j6el67Ug9mHf9ELUXsQXYJBkyxhH/k+6Ke0qXRnv0kbemx+Twc6fRJ07C49lcbdgm9FL1Ei/6SQ== -ci-info@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" - integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== - -ci-info@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.2.0.tgz#2876cb948a498797b5236f0095bc057d0dca38b6" - integrity sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A== - ci-info@^3.3.1: version "3.3.2" resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.3.2.tgz#6d2967ffa407466481c6c90b6e16b3098f080128" @@ -3678,31 +2250,6 @@ ci-parallel-vars@^1.0.1: resolved "https://registry.yarnpkg.com/ci-parallel-vars/-/ci-parallel-vars-1.0.1.tgz#e87ff0625ccf9d286985b29b4ada8485ca9ffbc2" integrity sha512-uvzpYrpmidaoxvIQHM+rKSrigjOe9feHYbw4uOI2gdfe1C3xIlxO+kVXq83WQWNniTf8bAxVpy+cQeFQsMERKg== -cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" - integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -class-utils@^0.3.5: - version "0.3.6" - resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" - integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== - dependencies: - arr-union "^3.1.0" - define-property "^0.2.5" - isobject "^3.0.0" - static-extend "^0.1.1" - -clean-css@4.2.x: - version "4.2.3" - resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.3.tgz#507b5de7d97b48ee53d84adb0160ff6216380f78" - integrity sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA== - dependencies: - source-map "~0.6.0" - clean-stack@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" @@ -3720,11 +2267,6 @@ clean-yaml-object@^0.1.0: resolved "https://registry.yarnpkg.com/clean-yaml-object/-/clean-yaml-object-0.1.0.tgz#63fb110dc2ce1a84dc21f6d9334876d010ae8b68" integrity sha1-Y/sRDcLOGoTcIfbZM0h20BCui2g= -cli-boxes@^2.2.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.1.tgz#ddd5035d25094fce220e9cab40a45840a440318f" - integrity sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw== - cli-truncate@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-3.1.0.tgz#3f23ab12535e3d73e839bb43e73c9de487db1389" @@ -3733,15 +2275,6 @@ cli-truncate@^3.1.0: slice-ansi "^5.0.0" string-width "^5.0.0" -cliui@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" - integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA== - dependencies: - string-width "^3.1.0" - strip-ansi "^5.2.0" - wrap-ansi "^5.1.0" - cliui@^7.0.2: version "7.0.4" resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" @@ -3751,22 +2284,6 @@ cliui@^7.0.2: strip-ansi "^6.0.0" wrap-ansi "^7.0.0" -clone-response@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b" - integrity sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws= - dependencies: - mimic-response "^1.0.0" - -coa@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/coa/-/coa-2.0.2.tgz#43f6c21151b4ef2bf57187db0d73de229e3e7ec3" - integrity sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA== - dependencies: - "@types/q" "^1.5.1" - chalk "^2.4.1" - q "^1.1.2" - code-excerpt@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/code-excerpt/-/code-excerpt-4.0.0.tgz#2de7d46e98514385cb01f7b3b741320115f4c95e" @@ -3774,15 +2291,7 @@ code-excerpt@^4.0.0: dependencies: convert-to-spaces "^2.0.1" -collection-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" - integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= - dependencies: - map-visit "^1.0.0" - object-visit "^1.0.0" - -color-convert@^1.9.0, color-convert@^1.9.1: +color-convert@^1.9.0: version "1.9.3" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== @@ -3801,59 +2310,16 @@ color-name@1.1.3: resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= -color-name@^1.0.0, color-name@~1.1.4: +color-name@~1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== -color-string@^1.5.4: - version "1.5.5" - resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.5.tgz#65474a8f0e7439625f3d27a6a19d89fc45223014" - integrity sha512-jgIoum0OfQfq9Whcfc2z/VhCNcmQjWbey6qBX0vqt7YICflUmBCh9E9CiQD5GSJ+Uehixm3NUwHVhqUAWRivZg== - dependencies: - color-name "^1.0.0" - simple-swizzle "^0.2.2" - color-support@^1.1.2, color-support@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== -color@^3.0.0: - version "3.1.3" - resolved "https://registry.yarnpkg.com/color/-/color-3.1.3.tgz#ca67fb4e7b97d611dcde39eceed422067d91596e" - integrity sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ== - dependencies: - color-convert "^1.9.1" - color-string "^1.5.4" - -colorette@^1.2.1, colorette@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94" - integrity sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w== - -combined-stream@^1.0.6, combined-stream@~1.0.6: - version "1.0.8" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" - integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== - dependencies: - delayed-stream "~1.0.0" - -commander@2.17.x: - version "2.17.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" - integrity sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg== - -commander@^2.19.0, commander@^2.20.0: - version "2.20.3" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" - integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== - -commander@~2.19.0: - version "2.19.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a" - integrity sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg== - comment-parser@1.1.5, comment-parser@^1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/comment-parser/-/comment-parser-1.1.5.tgz#453627ef8f67dbcec44e79a9bd5baa37f0bce9b2" @@ -3869,46 +2335,11 @@ commondir@^1.0.1: resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= -component-emitter@^1.2.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" - integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== - -compressible@~2.0.16: - version "2.0.18" - resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" - integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg== - dependencies: - mime-db ">= 1.43.0 < 2" - -compression@^1.7.4: - version "1.7.4" - resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f" - integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ== - dependencies: - accepts "~1.3.5" - bytes "3.0.0" - compressible "~2.0.16" - debug "2.6.9" - on-headers "~1.0.2" - safe-buffer "5.1.2" - vary "~1.1.2" - concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= -concat-stream@^1.5.0: - version "1.6.2" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" - integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== - dependencies: - buffer-from "^1.0.0" - inherits "^2.0.3" - readable-stream "^2.2.2" - typedarray "^0.0.6" - concordance@^5.0.4: version "5.0.4" resolved "https://registry.yarnpkg.com/concordance/-/concordance-5.0.4.tgz#9896073261adced72f88d60e4d56f8efc4bbbbd2" @@ -3923,55 +2354,16 @@ concordance@^5.0.4: semver "^7.3.2" well-known-symbols "^2.0.0" -configstore@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/configstore/-/configstore-5.0.1.tgz#d365021b5df4b98cdd187d6a3b0e3f6a7cc5ed96" - integrity sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA== - dependencies: - dot-prop "^5.2.0" - graceful-fs "^4.1.2" - make-dir "^3.0.0" - unique-string "^2.0.0" - write-file-atomic "^3.0.0" - xdg-basedir "^4.0.0" - confusing-browser-globals@^1.0.10: version "1.0.10" resolved "https://registry.yarnpkg.com/confusing-browser-globals/-/confusing-browser-globals-1.0.10.tgz#30d1e7f3d1b882b25ec4933d1d1adac353d20a59" integrity sha512-gNld/3lySHwuhaVluJUKLePYirM3QNCKzVxqAdhJII9/WXKVX5PURzMVJspS1jTslSqjeuG4KMVTSouit5YPHA== -connect-history-api-fallback@^1.5.0, connect-history-api-fallback@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz#8b32089359308d111115d81cad3fceab888f97bc" - integrity sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg== - -consola@^2.6.0: - version "2.15.3" - resolved "https://registry.yarnpkg.com/consola/-/consola-2.15.3.tgz#2e11f98d6a4be71ff72e0bdf07bd23e12cb61550" - integrity sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw== - -console-browserify@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" - integrity sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA== - console-control-strings@^1.0.0, console-control-strings@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" integrity sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ== -consolidate@^0.15.1: - version "0.15.1" - resolved "https://registry.yarnpkg.com/consolidate/-/consolidate-0.15.1.tgz#21ab043235c71a07d45d9aad98593b0dba56bab7" - integrity sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw== - dependencies: - bluebird "^3.1.1" - -constants-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" - integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U= - content-disposition@0.5.4: version "0.5.4" resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" @@ -3984,13 +2376,6 @@ content-type@~1.0.4: resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== -convert-source-map@^1.7.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" - integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== - dependencies: - safe-buffer "~5.1.1" - convert-to-spaces@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/convert-to-spaces/-/convert-to-spaces-2.0.1.tgz#61a6c98f8aa626c16b296b862a91412a33bceb6b" @@ -4006,111 +2391,6 @@ cookie@0.5.0: resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b" integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== -copy-concurrently@^1.0.0: - version "1.0.5" - resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" - integrity sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A== - dependencies: - aproba "^1.1.1" - fs-write-stream-atomic "^1.0.8" - iferr "^0.1.5" - mkdirp "^0.5.1" - rimraf "^2.5.4" - run-queue "^1.0.0" - -copy-descriptor@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" - integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= - -copy-webpack-plugin@^5.0.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-5.1.2.tgz#8a889e1dcafa6c91c6cd4be1ad158f1d3823bae2" - integrity sha512-Uh7crJAco3AjBvgAy9Z75CjK8IG+gxaErro71THQ+vv/bl4HaQcpkexAY8KVW/T6D2W2IRr+couF/knIRkZMIQ== - dependencies: - cacache "^12.0.3" - find-cache-dir "^2.1.0" - glob-parent "^3.1.0" - globby "^7.1.1" - is-glob "^4.0.1" - loader-utils "^1.2.3" - minimatch "^3.0.4" - normalize-path "^3.0.0" - p-limit "^2.2.1" - schema-utils "^1.0.0" - serialize-javascript "^4.0.0" - webpack-log "^2.0.0" - -core-js-compat@^3.6.5, core-js-compat@^3.9.0, core-js-compat@^3.9.1: - version "3.13.1" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.13.1.tgz#05444caa8f153be0c67db03cf8adb8ec0964e58e" - integrity sha512-mdrcxc0WznfRd8ZicEZh1qVeJ2mu6bwQFh8YVUK48friy/FOwFV5EJj9/dlh+nMQ74YusdVfBFDuomKgUspxWQ== - dependencies: - browserslist "^4.16.6" - semver "7.0.0" - -core-js@^3.6.4, core-js@^3.6.5: - version "3.13.1" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.13.1.tgz#30303fabd53638892062d8b4e802cac7599e9fb7" - integrity sha512-JqveUc4igkqwStL2RTRn/EPFGBOfEZHxJl/8ej1mXJR75V3go2mFF4bmUYkEIT1rveHKnkUlcJX/c+f1TyIovQ== - -core-util-is@1.0.2, core-util-is@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= - -cosmiconfig@^5.0.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a" - integrity sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA== - dependencies: - import-fresh "^2.0.0" - is-directory "^0.3.1" - js-yaml "^3.13.1" - parse-json "^4.0.0" - -create-ecdh@^4.0.0: - version "4.0.4" - resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e" - integrity sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A== - dependencies: - bn.js "^4.1.0" - elliptic "^6.5.3" - -create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" - integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== - dependencies: - cipher-base "^1.0.1" - inherits "^2.0.1" - md5.js "^1.3.4" - ripemd160 "^2.0.1" - sha.js "^2.4.0" - -create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" - integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== - dependencies: - cipher-base "^1.0.3" - create-hash "^1.1.0" - inherits "^2.0.1" - ripemd160 "^2.0.0" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - -cross-spawn@^6.0.0, cross-spawn@^6.0.5: - version "6.0.5" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" - integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== - dependencies: - nice-try "^1.0.4" - path-key "^2.0.1" - semver "^5.5.0" - shebang-command "^1.2.0" - which "^1.2.9" - cross-spawn@^7.0.2: version "7.0.3" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" @@ -4120,190 +2400,10 @@ cross-spawn@^7.0.2: shebang-command "^2.0.0" which "^2.0.1" -crypto-browserify@^3.11.0: - version "3.12.0" - resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" - integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== - dependencies: - browserify-cipher "^1.0.0" - browserify-sign "^4.0.0" - create-ecdh "^4.0.0" - create-hash "^1.1.0" - create-hmac "^1.1.0" - diffie-hellman "^5.0.0" - inherits "^2.0.1" - pbkdf2 "^3.0.3" - public-encrypt "^4.0.0" - randombytes "^2.0.0" - randomfill "^1.0.3" - -crypto-random-string@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" - integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== - -css-color-names@0.0.4, css-color-names@^0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0" - integrity sha1-gIrcLnnPhHOAabZGyyDsJ762KeA= - -css-declaration-sorter@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz#c198940f63a76d7e36c1e71018b001721054cb22" - integrity sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA== - dependencies: - postcss "^7.0.1" - timsort "^0.3.0" - -css-loader@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-2.1.1.tgz#d8254f72e412bb2238bb44dd674ffbef497333ea" - integrity sha512-OcKJU/lt232vl1P9EEDamhoO9iKY3tIjY5GU+XDLblAykTdgs6Ux9P1hTHve8nFKy5KPpOXOsVI/hIwi3841+w== - dependencies: - camelcase "^5.2.0" - icss-utils "^4.1.0" - loader-utils "^1.2.3" - normalize-path "^3.0.0" - postcss "^7.0.14" - postcss-modules-extract-imports "^2.0.0" - postcss-modules-local-by-default "^2.0.6" - postcss-modules-scope "^2.1.0" - postcss-modules-values "^2.0.0" - postcss-value-parser "^3.3.0" - schema-utils "^1.0.0" - -css-parse@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/css-parse/-/css-parse-2.0.0.tgz#a468ee667c16d81ccf05c58c38d2a97c780dbfd4" - integrity sha1-pGjuZnwW2BzPBcWMONKpfHgNv9Q= - dependencies: - css "^2.0.0" - -css-select-base-adapter@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz#3b2ff4972cc362ab88561507a95408a1432135d7" - integrity sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w== - -css-select@^2.0.0, css-select@^2.0.2: - version "2.1.0" - resolved "https://registry.yarnpkg.com/css-select/-/css-select-2.1.0.tgz#6a34653356635934a81baca68d0255432105dbef" - integrity sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ== - dependencies: - boolbase "^1.0.0" - css-what "^3.2.1" - domutils "^1.7.0" - nth-check "^1.0.2" - -css-tree@1.0.0-alpha.37: - version "1.0.0-alpha.37" - resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.37.tgz#98bebd62c4c1d9f960ec340cf9f7522e30709a22" - integrity sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg== - dependencies: - mdn-data "2.0.4" - source-map "^0.6.1" - -css-tree@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d" - integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q== - dependencies: - mdn-data "2.0.14" - source-map "^0.6.1" - -css-what@^3.2.1: - version "3.4.2" - resolved "https://registry.yarnpkg.com/css-what/-/css-what-3.4.2.tgz#ea7026fcb01777edbde52124e21f327e7ae950e4" - integrity sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ== - -css@^2.0.0: - version "2.2.4" - resolved "https://registry.yarnpkg.com/css/-/css-2.2.4.tgz#c646755c73971f2bba6a601e2cf2fd71b1298929" - integrity sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw== - dependencies: - inherits "^2.0.3" - source-map "^0.6.1" - source-map-resolve "^0.5.2" - urix "^0.1.0" - -cssesc@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" - integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== - -cssnano-preset-default@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-4.0.8.tgz#920622b1fc1e95a34e8838203f1397a504f2d3ff" - integrity sha512-LdAyHuq+VRyeVREFmuxUZR1TXjQm8QQU/ktoo/x7bz+SdOge1YKc5eMN6pRW7YWBmyq59CqYba1dJ5cUukEjLQ== - dependencies: - css-declaration-sorter "^4.0.1" - cssnano-util-raw-cache "^4.0.1" - postcss "^7.0.0" - postcss-calc "^7.0.1" - postcss-colormin "^4.0.3" - postcss-convert-values "^4.0.1" - postcss-discard-comments "^4.0.2" - postcss-discard-duplicates "^4.0.2" - postcss-discard-empty "^4.0.1" - postcss-discard-overridden "^4.0.1" - postcss-merge-longhand "^4.0.11" - postcss-merge-rules "^4.0.3" - postcss-minify-font-values "^4.0.2" - postcss-minify-gradients "^4.0.2" - postcss-minify-params "^4.0.2" - postcss-minify-selectors "^4.0.2" - postcss-normalize-charset "^4.0.1" - postcss-normalize-display-values "^4.0.2" - postcss-normalize-positions "^4.0.2" - postcss-normalize-repeat-style "^4.0.2" - postcss-normalize-string "^4.0.2" - postcss-normalize-timing-functions "^4.0.2" - postcss-normalize-unicode "^4.0.1" - postcss-normalize-url "^4.0.1" - postcss-normalize-whitespace "^4.0.2" - postcss-ordered-values "^4.1.2" - postcss-reduce-initial "^4.0.3" - postcss-reduce-transforms "^4.0.2" - postcss-svgo "^4.0.3" - postcss-unique-selectors "^4.0.1" - -cssnano-util-get-arguments@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz#ed3a08299f21d75741b20f3b81f194ed49cc150f" - integrity sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8= - -cssnano-util-get-match@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz#c0e4ca07f5386bb17ec5e52250b4f5961365156d" - integrity sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0= - -cssnano-util-raw-cache@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz#b26d5fd5f72a11dfe7a7846fb4c67260f96bf282" - integrity sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA== - dependencies: - postcss "^7.0.0" - -cssnano-util-same-parent@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz#574082fb2859d2db433855835d9a8456ea18bbf3" - integrity sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q== - -cssnano@^4.1.10: - version "4.1.11" - resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-4.1.11.tgz#c7b5f5b81da269cb1fd982cb960c1200910c9a99" - integrity sha512-6gZm2htn7xIPJOHY824ERgj8cNPgPxyCSnkXc4v7YvNW+TdVfzgngHcEhy/8D11kUWRUMbke+tC+AUcUsnMz2g== - dependencies: - cosmiconfig "^5.0.0" - cssnano-preset-default "^4.0.8" - is-resolvable "^1.0.0" - postcss "^7.0.0" - -csso@^4.0.2: - version "4.2.0" - resolved "https://registry.yarnpkg.com/csso/-/csso-4.2.0.tgz#ea3a561346e8dc9f546d6febedd50187cf389529" - integrity sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA== - dependencies: - css-tree "^1.1.2" +csstype@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81" + integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== currently-unhandled@^0.4.1: version "0.4.1" @@ -4312,18 +2412,6 @@ currently-unhandled@^0.4.1: dependencies: array-find-index "^1.0.1" -cyclist@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9" - integrity sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk= - -dashdash@^1.12.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" - integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= - dependencies: - assert-plus "^1.0.0" - date-time@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/date-time/-/date-time-3.1.0.tgz#0d1e934d170579f481ed8df1e2b8ff70ee845e1e" @@ -4331,26 +2419,21 @@ date-time@^3.1.0: dependencies: time-zone "^1.0.0" -de-indent@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/de-indent/-/de-indent-1.0.2.tgz#b2038e846dc33baa5796128d0804b455b8c1e21d" - integrity sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0= - -debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.9: +debug@2.6.9, debug@^2.6.9: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== dependencies: ms "2.0.0" -debug@4, debug@^4.3.3, debug@^4.3.4: +debug@4, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4: version "4.3.4" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== dependencies: ms "2.1.2" -debug@^3.1.1, debug@^3.2.6, debug@^3.2.7: +debug@^3.2.7: version "3.2.7" resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== @@ -4364,30 +2447,6 @@ debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1: dependencies: ms "2.1.2" -debug@~3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" - integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== - dependencies: - ms "2.0.0" - -decamelize@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= - -decode-uri-component@^0.2.0: - version "0.2.2" - resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz#e69dbe25d37941171dd540e024c444cd5188e1e9" - integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ== - -decompress-response@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" - integrity sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M= - dependencies: - mimic-response "^1.0.0" - decompress-response@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc" @@ -4395,18 +2454,6 @@ decompress-response@^6.0.0: dependencies: mimic-response "^3.1.0" -deep-equal@^1.0.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.1.tgz#b5c98c942ceffaf7cb051e24e1434a25a2e6076a" - integrity sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g== - dependencies: - is-arguments "^1.0.4" - is-date-object "^1.0.1" - is-regex "^1.0.4" - object-is "^1.0.1" - object-keys "^1.1.1" - regexp.prototype.flags "^1.2.0" - deep-extend@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" @@ -4417,30 +2464,12 @@ deep-is@^0.1.3: resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= -deepmerge@^1.5.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-1.5.2.tgz#10499d868844cdad4fee0842df8c7f6f0c95a753" - integrity sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ== - deepmerge@^4.2.2: version "4.2.2" resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== -default-gateway@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-4.2.0.tgz#167104c7500c2115f6dd69b0a536bb8ed720552b" - integrity sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA== - dependencies: - execa "^1.0.0" - ip-regex "^2.1.0" - -defer-to-connect@^1.0.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591" - integrity sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ== - -define-properties@^1.1.2, define-properties@^1.1.3: +define-properties@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== @@ -4455,41 +2484,6 @@ define-properties@^1.1.4: has-property-descriptors "^1.0.0" object-keys "^1.1.1" -define-property@^0.2.5: - version "0.2.5" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" - integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= - dependencies: - is-descriptor "^0.1.0" - -define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" - integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= - dependencies: - is-descriptor "^1.0.0" - -define-property@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" - integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== - dependencies: - is-descriptor "^1.0.2" - isobject "^3.0.1" - -del@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/del/-/del-4.1.1.tgz#9e8f117222ea44a31ff3a156c049b99052a9f0b4" - integrity sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ== - dependencies: - "@types/glob" "^7.1.1" - globby "^6.1.0" - is-path-cwd "^2.0.0" - is-path-in-cwd "^2.0.0" - p-map "^2.0.0" - pify "^4.0.1" - rimraf "^2.6.3" - del@^6.1.1: version "6.1.1" resolved "https://registry.yarnpkg.com/del/-/del-6.1.1.tgz#3b70314f1ec0aa325c6b14eb36b95786671edb7a" @@ -4504,11 +2498,6 @@ del@^6.1.1: rimraf "^3.0.2" slash "^3.0.0" -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= - delegates@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" @@ -4519,19 +2508,6 @@ depd@2.0.0, depd@~2.0.0: resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== -depd@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" - integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= - -des.js@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.1.tgz#5382142e1bdc53f85d86d53e5f4aa7deb91e0843" - integrity sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA== - dependencies: - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - destroy@1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" @@ -4542,11 +2518,6 @@ detect-libc@^2.0.0: resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.0.2.tgz#8ccf2ba9315350e1241b88d0ac3b0e1fbd99605d" integrity sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw== -detect-node@^2.0.4: - version "2.1.0" - resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1" - integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g== - deterministic-json@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/deterministic-json/-/deterministic-json-1.0.5.tgz#718230459840122a1558007b483cf72753c00f21" @@ -4554,27 +2525,6 @@ deterministic-json@^1.0.5: dependencies: json-stable-stringify "^1.0.1" -diacritics@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/diacritics/-/diacritics-1.3.0.tgz#3efa87323ebb863e6696cebb0082d48ff3d6f7a1" - integrity sha1-PvqHMj67hj5mls67AILUj/PW96E= - -diffie-hellman@^5.0.0: - version "5.0.3" - resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" - integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== - dependencies: - bn.js "^4.1.0" - miller-rabin "^4.0.0" - randombytes "^2.0.0" - -dir-glob@^2.0.0, dir-glob@^2.2.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.2.2.tgz#fa09f0694153c8918b18ba0deafae94769fc50c4" - integrity sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw== - dependencies: - path-type "^3.0.0" - dir-glob@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" @@ -4582,39 +2532,6 @@ dir-glob@^3.0.1: dependencies: path-type "^4.0.0" -dns-equal@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d" - integrity sha1-s55/HabrCnW6nBcySzR1PEfgZU0= - -dns-packet@^1.3.1: - version "1.3.4" - resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-1.3.4.tgz#e3455065824a2507ba886c55a89963bb107dec6f" - integrity sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA== - dependencies: - ip "^1.1.0" - safe-buffer "^5.0.1" - -dns-txt@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/dns-txt/-/dns-txt-2.0.2.tgz#b91d806f5d27188e4ab3e7d107d881a1cc4642b6" - integrity sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY= - dependencies: - buffer-indexof "^1.0.0" - -docsearch.js@^2.5.2: - version "2.6.3" - resolved "https://registry.yarnpkg.com/docsearch.js/-/docsearch.js-2.6.3.tgz#57cb4600d3b6553c677e7cbbe6a734593e38625d" - integrity sha512-GN+MBozuyz664ycpZY0ecdQE0ND/LSgJKhTLA0/v3arIS3S1Rpf2OJz6A35ReMsm91V5apcmzr5/kM84cvUg+A== - dependencies: - algoliasearch "^3.24.5" - autocomplete.js "0.36.0" - hogan.js "^3.0.2" - request "^2.87.0" - stack-utils "^1.0.1" - to-factory "^1.0.0" - zepto "^1.2.0" - doctrine@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" @@ -4629,124 +2546,21 @@ doctrine@^3.0.0: dependencies: esutils "^2.0.2" -dom-converter@^0.2: - version "0.2.0" - resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" - integrity sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA== - dependencies: - utila "~0.4" - -dom-serializer@0: - version "0.2.2" - resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51" - integrity sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g== - dependencies: - domelementtype "^2.0.1" - entities "^2.0.0" - -dom-walk@^0.1.0: - version "0.1.2" - resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.2.tgz#0c548bef048f4d1f2a97249002236060daa3fd84" - integrity sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w== - -domain-browser@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" - integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA== - -domelementtype@1, domelementtype@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" - integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== - -domelementtype@^2.0.1: - version "2.2.0" - resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.2.0.tgz#9a0b6c2782ed6a1c7323d42267183df9bd8b1d57" - integrity sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A== - -domhandler@^2.3.0: - version "2.4.2" - resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.2.tgz#8805097e933d65e85546f726d60f5eb88b44f803" - integrity sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA== - dependencies: - domelementtype "1" - -domutils@^1.5.1, domutils@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" - integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg== - dependencies: - dom-serializer "0" - domelementtype "1" - -dot-prop@^5.2.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" - integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== - dependencies: - is-obj "^2.0.0" - -duplexer3@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" - integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI= - -duplexify@^3.4.2, duplexify@^3.6.0: - version "3.7.1" - resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" - integrity sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g== - dependencies: - end-of-stream "^1.0.0" - inherits "^2.0.1" - readable-stream "^2.0.0" - stream-shift "^1.0.0" - eastasianwidth@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== -ecc-jsbn@~0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" - integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= - dependencies: - jsbn "~0.1.0" - safer-buffer "^2.1.0" - ee-first@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= -electron-to-chromium@^1.3.723: - version "1.3.749" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.749.tgz#0ecebc529ceb49dd2a7c838ae425236644c3439a" - integrity sha512-F+v2zxZgw/fMwPz/VUGIggG4ZndDsYy0vlpthi3tjmDZlcfbhN5mYW0evXUsBr2sUtuDANFtle410A9u/sd/4A== - -elliptic@^6.5.3: - version "6.5.4" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" - integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== - dependencies: - bn.js "^4.11.9" - brorand "^1.1.0" - hash.js "^1.0.0" - hmac-drbg "^1.0.1" - inherits "^2.0.4" - minimalistic-assert "^1.0.1" - minimalistic-crypto-utils "^1.0.1" - emittery@^0.11.0: version "0.11.0" resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.11.0.tgz#eb5f756a200d3431de2c6e850cb2d8afd97a03b9" integrity sha512-S/7tzL6v5i+4iJd627Nhv9cLFIo5weAIlGccqJFpnBoDB8U1TF2k5tez4J/QNuxyyhWuFqHg1L84Kd3m7iXg6g== -emoji-regex@^7.0.1: - version "7.0.3" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" - integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== - emoji-regex@^8.0.0: version "8.0.0" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" @@ -4757,16 +2571,6 @@ emoji-regex@^9.2.2: resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== -emojis-list@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" - integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k= - -emojis-list@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" - integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== - encodeurl@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" @@ -4779,22 +2583,13 @@ encoding@^0.1.13: dependencies: iconv-lite "^0.6.2" -end-of-stream@^1.0.0, end-of-stream@^1.1.0, end-of-stream@^1.4.1: +end-of-stream@^1.1.0, end-of-stream@^1.4.1: version "1.4.4" resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== dependencies: once "^1.4.0" -enhanced-resolve@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz#2f3cfd84dbe3b487f18f2db2ef1e064a571ca5ec" - integrity sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg== - dependencies: - graceful-fs "^4.1.2" - memory-fs "^0.5.0" - tapable "^1.0.0" - enquirer@^2.3.5: version "2.3.6" resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" @@ -4802,54 +2597,22 @@ enquirer@^2.3.5: dependencies: ansi-colors "^4.1.1" -entities@^1.1.1, entities@~1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" - integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w== - -entities@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" - integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== +entities@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" + integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== env-paths@^2.2.0: version "2.2.1" resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2" integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== -envify@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/envify/-/envify-4.1.0.tgz#f39ad3db9d6801b4e6b478b61028d3f0b6819f7e" - integrity sha512-IKRVVoAYr4pIx4yIWNsz9mOsboxlNXiu7TNBnem/K/uTHdkyzXWDzHCK7UTolqBbgaBz0tQHsD3YNls0uIIjiw== - dependencies: - esprima "^4.0.0" - through "~2.3.4" - -envinfo@^7.2.0: - version "7.8.1" - resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.8.1.tgz#06377e3e5f4d379fea7ac592d5ad8927e0c4d475" - integrity sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw== - err-code@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/err-code/-/err-code-2.0.3.tgz#23c2f3b756ffdfc608d30e27c9a941024807e7f9" integrity sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA== -errno@^0.1.3, errno@~0.1.7: - version "0.1.8" - resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" - integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== - dependencies: - prr "~1.0.1" - -error-ex@^1.3.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" - integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== - dependencies: - is-arrayish "^0.2.1" - -es-abstract@^1.17.2, es-abstract@^1.18.0-next.2, es-abstract@^1.18.2: +es-abstract@^1.18.2: version "1.18.3" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.3.tgz#25c4c3380a27aa203c44b2b685bba94da31b63e0" integrity sha512-nQIr12dxV7SSxE6r6f1l3DtAeEYdsGpps13dR0TwJg1S8gyp4ZPgy3FZcHBgbiQqnoqSTb+oC+kO4UQ0C/J8vw== @@ -4916,22 +2679,41 @@ es-to-primitive@^1.2.1: is-date-object "^1.0.1" is-symbol "^1.0.2" -es6-promise@^4.1.0: - version "4.2.8" - resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a" - integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w== +esbuild@^0.19.3: + version "0.19.12" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.19.12.tgz#dc82ee5dc79e82f5a5c3b4323a2a641827db3e04" + integrity sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg== + optionalDependencies: + "@esbuild/aix-ppc64" "0.19.12" + "@esbuild/android-arm" "0.19.12" + "@esbuild/android-arm64" "0.19.12" + "@esbuild/android-x64" "0.19.12" + "@esbuild/darwin-arm64" "0.19.12" + "@esbuild/darwin-x64" "0.19.12" + "@esbuild/freebsd-arm64" "0.19.12" + "@esbuild/freebsd-x64" "0.19.12" + "@esbuild/linux-arm" "0.19.12" + "@esbuild/linux-arm64" "0.19.12" + "@esbuild/linux-ia32" "0.19.12" + "@esbuild/linux-loong64" "0.19.12" + "@esbuild/linux-mips64el" "0.19.12" + "@esbuild/linux-ppc64" "0.19.12" + "@esbuild/linux-riscv64" "0.19.12" + "@esbuild/linux-s390x" "0.19.12" + "@esbuild/linux-x64" "0.19.12" + "@esbuild/netbsd-x64" "0.19.12" + "@esbuild/openbsd-x64" "0.19.12" + "@esbuild/sunos-x64" "0.19.12" + "@esbuild/win32-arm64" "0.19.12" + "@esbuild/win32-ia32" "0.19.12" + "@esbuild/win32-x64" "0.19.12" escalade@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== -escape-goat@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/escape-goat/-/escape-goat-2.1.1.tgz#1b2dc77003676c457ec760b2dc68edb648188675" - integrity sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q== - -escape-html@^1.0.3, escape-html@~1.0.3: +escape-html@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= @@ -4941,7 +2723,7 @@ escape-string-regexp@5.0.0, escape-string-regexp@^5.0.0: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz#4683126b500b61762f2dbebace1806e8be31b1c8" integrity sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw== -escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: +escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= @@ -5040,14 +2822,6 @@ eslint-plugin-prettier@^3.4.0: dependencies: prettier-linter-helpers "^1.0.0" -eslint-scope@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" - integrity sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg== - dependencies: - esrecurse "^4.1.0" - estraverse "^4.1.1" - eslint-scope@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" @@ -5143,7 +2917,7 @@ esquery@^1.4.0: dependencies: estraverse "^5.1.0" -esrecurse@^4.1.0, esrecurse@^4.3.0: +esrecurse@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== @@ -5165,7 +2939,7 @@ estree-walker@^1.0.1: resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700" integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg== -estree-walker@^2.0.1: +estree-walker@^2.0.1, estree-walker@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== @@ -5185,55 +2959,6 @@ eventemitter3@^4.0.0: resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== -events@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" - integrity sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ= - -events@^3.0.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" - integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== - -eventsource@^1.0.7: - version "1.1.2" - resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-1.1.2.tgz#bc75ae1c60209e7cb1541231980460343eaea7c2" - integrity sha512-xAH3zWhgO2/3KIniEKYPr8plNSzlGINOUqYj0m0u7AB81iRw8b/3E73W6AuU+6klLbaSFmZnaETQ2lXPfAydrA== - -evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" - integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== - dependencies: - md5.js "^1.3.4" - safe-buffer "^5.1.1" - -execa@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" - integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== - dependencies: - cross-spawn "^6.0.0" - get-stream "^4.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - -expand-brackets@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" - integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= - dependencies: - debug "^2.3.3" - define-property "^0.2.5" - extend-shallow "^2.0.1" - posix-character-classes "^0.1.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - expand-template@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/expand-template/-/expand-template-2.0.3.tgz#6e14b3fcee0f3a6340ecb57d2e8918692052a47c" @@ -5281,50 +3006,6 @@ express@^4.17.1: utils-merge "1.0.1" vary "~1.1.2" -extend-shallow@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" - integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= - dependencies: - is-extendable "^0.1.0" - -extend-shallow@^3.0.0, extend-shallow@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" - integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= - dependencies: - assign-symbols "^1.0.0" - is-extendable "^1.0.1" - -extend@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" - integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== - -extglob@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" - integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== - dependencies: - array-unique "^0.3.2" - define-property "^1.0.0" - expand-brackets "^2.1.4" - extend-shallow "^2.0.1" - fragment-cache "^0.2.1" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -extsprintf@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" - integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= - -extsprintf@^1.2.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" - integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= - fast-check@^3.0.0: version "3.12.0" resolved "https://registry.yarnpkg.com/fast-check/-/fast-check-3.12.0.tgz#440949277387a053f7f82cd532fa3fcf67346ba1" @@ -5342,18 +3023,6 @@ fast-diff@^1.1.2, fast-diff@^1.2.0: resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== -fast-glob@^2.2.6: - version "2.2.7" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-2.2.7.tgz#6953857c3afa475fff92ee6015d52da70a4cd39d" - integrity sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw== - dependencies: - "@mrmlnc/readdir-enhanced" "^2.2.1" - "@nodelib/fs.stat" "^1.1.2" - glob-parent "^3.1.0" - is-glob "^4.0.0" - merge2 "^1.2.3" - micromatch "^3.1.10" - fast-glob@^3.1.1: version "3.2.5" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.5.tgz#7939af2a656de79a4f1901903ee8adcaa7cb9661" @@ -5394,25 +3063,6 @@ fastq@^1.6.0: dependencies: reusify "^1.0.4" -faye-websocket@^0.11.3: - version "0.11.4" - resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.4.tgz#7f0d9275cfdd86a1c963dc8b65fcc451edcbb1da" - integrity sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g== - dependencies: - websocket-driver ">=0.5.1" - -figgy-pudding@^3.5.1: - version "3.5.2" - resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e" - integrity sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw== - -figures@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" - integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== - dependencies: - escape-string-regexp "^1.0.5" - figures@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/figures/-/figures-4.0.1.tgz#27b26609907bc888b3e3b0ef5403643f80aa2518" @@ -5428,29 +3078,11 @@ file-entry-cache@^6.0.1: dependencies: flat-cache "^3.0.4" -file-loader@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-3.0.1.tgz#f8e0ba0b599918b51adfe45d66d1e771ad560faa" - integrity sha512-4sNIOXgtH/9WZq4NvlfU3Opn5ynUsqBwSLyM+I7UOwdGigTBYfVVQEwe/msZNX/j4pCJTIM14Fsw66Svo1oVrw== - dependencies: - loader-utils "^1.0.2" - schema-utils "^1.0.0" - file-uri-to-path@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== -fill-range@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" - integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= - dependencies: - extend-shallow "^2.0.1" - is-number "^3.0.0" - repeat-string "^1.6.1" - to-regex-range "^2.1.0" - fill-range@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" @@ -5471,46 +3103,13 @@ finalhandler@1.2.0: statuses "2.0.1" unpipe "~1.0.0" -find-cache-dir@^2.1.0: +find-up@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" - integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ== - dependencies: - commondir "^1.0.1" - make-dir "^2.0.0" - pkg-dir "^3.0.0" - -find-cache-dir@^3.3.1: - version "3.3.1" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.1.tgz#89b33fad4a4670daa94f855f7fbe31d6d84fe880" - integrity sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ== - dependencies: - commondir "^1.0.1" - make-dir "^3.0.2" - pkg-dir "^4.1.0" - -find-up@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" - integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= + resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" + integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= dependencies: locate-path "^2.0.0" -find-up@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" - integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== - dependencies: - locate-path "^3.0.0" - -find-up@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== - dependencies: - locate-path "^5.0.0" - path-exists "^4.0.0" - find-up@^6.0.0: version "6.3.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-6.3.0.tgz#2abab3d3280b2dc7ac10199ef324c4e002c8c790" @@ -5532,82 +3131,33 @@ flatted@^3.1.0: resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.1.1.tgz#c4b489e80096d9df1dfc97c79871aea7c617c469" integrity sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA== -flush-write-stream@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" - integrity sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w== +focus-trap@^7.5.4: + version "7.5.4" + resolved "https://registry.yarnpkg.com/focus-trap/-/focus-trap-7.5.4.tgz#6c4e342fe1dae6add9c2aa332a6e7a0bbd495ba2" + integrity sha512-N7kHdlgsO/v+iD/dMoJKtsSqs5Dz/dXZVebRgJw23LDk+jMi/974zyiOYDziY2JPp8xivq9BmUGwIJMiuSBi7w== dependencies: - inherits "^2.0.3" - readable-stream "^2.3.6" + tabbable "^6.2.0" follow-redirects@^1.0.0: version "1.15.1" resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.1.tgz#0ca6a452306c9b276e4d3127483e29575e207ad5" integrity sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA== -for-in@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" - integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= - -foreach@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" - integrity sha1-C+4AUBiusmDQo6865ljdATbsG5k= - -forever-agent@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" - integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= - -form-data@~2.3.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" - integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.6" - mime-types "^2.1.12" - forwarded@0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== -fragment-cache@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" - integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= - dependencies: - map-cache "^0.2.2" - fresh@0.5.2: version "0.5.2" resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= -from2@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" - integrity sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8= - dependencies: - inherits "^2.0.1" - readable-stream "^2.0.0" - fs-constants@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== -fs-extra@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" - integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== - dependencies: - graceful-fs "^4.1.2" - jsonfile "^4.0.0" - universalify "^0.1.0" - fs-minipass@^2.0.0, fs-minipass@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" @@ -5615,34 +3165,21 @@ fs-minipass@^2.0.0, fs-minipass@^2.1.0: dependencies: minipass "^3.0.0" -fs-write-stream-atomic@^1.0.8: - version "1.0.10" - resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" - integrity sha1-tH31NJPvkR33VzHnCp3tAYnbQMk= - dependencies: - graceful-fs "^4.1.2" - iferr "^0.1.5" - imurmurhash "^0.1.4" - readable-stream "1 || 2" - fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= -fsevents@^1.2.7: - version "1.2.13" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38" - integrity sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw== - dependencies: - bindings "^1.5.0" - nan "^2.12.1" - -fsevents@~2.3.1, fsevents@~2.3.2: +fsevents@~2.3.2: version "2.3.2" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== +fsevents@~2.3.3: + version "2.3.3" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" + integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== + function-bind@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" @@ -5697,12 +3234,7 @@ gauge@^4.0.3: strip-ansi "^6.0.1" wide-align "^1.1.5" -gensync@^1.0.0-beta.2: - version "1.0.0-beta.2" - resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" - integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== - -get-caller-file@^2.0.1, get-caller-file@^2.0.5: +get-caller-file@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== @@ -5725,20 +3257,6 @@ get-intrinsic@^1.1.0: has "^1.0.3" has-symbols "^1.0.3" -get-stream@^4.0.0, get-stream@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" - integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== - dependencies: - pump "^3.0.0" - -get-stream@^5.1.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" - integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== - dependencies: - pump "^3.0.0" - get-symbol-description@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" @@ -5747,44 +3265,19 @@ get-symbol-description@^1.0.0: call-bind "^1.0.2" get-intrinsic "^1.1.1" -get-value@^2.0.3, get-value@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" - integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= - -getpass@^0.1.1: - version "0.1.7" - resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" - integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= - dependencies: - assert-plus "^1.0.0" - github-from-package@0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/github-from-package/-/github-from-package-0.0.0.tgz#97fb5d96bfde8973313f20e8288ef9a167fa64ce" integrity sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4= -glob-parent@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" - integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= - dependencies: - is-glob "^3.1.0" - path-dirname "^1.0.0" - -glob-parent@^5.1.0, glob-parent@^5.1.2, glob-parent@~5.1.0, glob-parent@~5.1.2: +glob-parent@^5.1.0, glob-parent@^5.1.2, glob-parent@~5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== dependencies: is-glob "^4.0.1" -glob-to-regexp@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab" - integrity sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs= - -glob@^7.0.3, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: +glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: version "7.1.7" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== @@ -5807,21 +3300,6 @@ glob@^8.0.1: minimatch "^5.0.1" once "^1.3.0" -global-dirs@^2.0.1: - version "2.1.0" - resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-2.1.0.tgz#e9046a49c806ff04d6c1825e196c8f0091e8df4d" - integrity sha512-MG6kdOUh/xBnyo9cJFeIKkLEc1AyFq42QTU4XiX51i2NEdxLxLWXIjEjmqKeSuKR7pAZjTqUVoT2b2huxVLgYQ== - dependencies: - ini "1.3.7" - -global@^4.3.2: - version "4.4.0" - resolved "https://registry.yarnpkg.com/global/-/global-4.4.0.tgz#3e7b105179006a323ed71aafca3e9c57a5cc6406" - integrity sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w== - dependencies: - min-document "^2.19.0" - process "^0.11.10" - globals@^11.1.0: version "11.12.0" resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" @@ -5857,61 +3335,7 @@ globby@^13.1.1: merge2 "^1.4.1" slash "^4.0.0" -globby@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" - integrity sha1-9abXDoOV4hyFj7BInWTfAkJNUGw= - dependencies: - array-union "^1.0.1" - glob "^7.0.3" - object-assign "^4.0.1" - pify "^2.0.0" - pinkie-promise "^2.0.0" - -globby@^7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/globby/-/globby-7.1.1.tgz#fb2ccff9401f8600945dfada97440cca972b8680" - integrity sha1-+yzP+UAfhgCUXfral0QMypcrhoA= - dependencies: - array-union "^1.0.1" - dir-glob "^2.0.0" - glob "^7.1.2" - ignore "^3.3.5" - pify "^3.0.0" - slash "^1.0.0" - -globby@^9.1.0, globby@^9.2.0: - version "9.2.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-9.2.0.tgz#fd029a706c703d29bdd170f4b6db3a3f7a7cb63d" - integrity sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg== - dependencies: - "@types/glob" "^7.1.1" - array-union "^1.0.2" - dir-glob "^2.2.2" - fast-glob "^2.2.6" - glob "^7.1.3" - ignore "^4.0.3" - pify "^4.0.1" - slash "^2.0.0" - -got@^9.6.0: - version "9.6.0" - resolved "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85" - integrity sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q== - dependencies: - "@sindresorhus/is" "^0.14.0" - "@szmarczak/http-timer" "^1.1.2" - cacheable-request "^6.0.0" - decompress-response "^3.3.0" - duplexer3 "^0.1.4" - get-stream "^4.1.0" - lowercase-keys "^1.0.1" - mimic-response "^1.0.1" - p-cancelable "^1.0.0" - to-readable-stream "^1.0.0" - url-parse-lax "^3.0.0" - -graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.4: +graceful-fs@^4.2.4: version "4.2.6" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee" integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ== @@ -5921,41 +3345,6 @@ graceful-fs@^4.2.6: resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== -gray-matter@^4.0.1: - version "4.0.3" - resolved "https://registry.yarnpkg.com/gray-matter/-/gray-matter-4.0.3.tgz#e893c064825de73ea1f5f7d88c7a9f7274288798" - integrity sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q== - dependencies: - js-yaml "^3.13.1" - kind-of "^6.0.2" - section-matter "^1.0.0" - strip-bom-string "^1.0.0" - -handle-thing@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e" - integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg== - -har-schema@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" - integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= - -har-validator@~5.1.3: - version "5.1.5" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" - integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== - dependencies: - ajv "^6.12.3" - har-schema "^2.0.0" - -has-ansi@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" - integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= - dependencies: - ansi-regex "^2.0.0" - has-bigints@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113" @@ -6005,168 +3394,23 @@ has-unicode@^2.0.1: resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" integrity sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ== -has-value@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" - integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= - dependencies: - get-value "^2.0.3" - has-values "^0.1.4" - isobject "^2.0.0" - -has-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" - integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= - dependencies: - get-value "^2.0.6" - has-values "^1.0.0" - isobject "^3.0.0" - -has-values@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" - integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= - -has-values@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" - integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= - dependencies: - is-number "^3.0.0" - kind-of "^4.0.0" - -has-yarn@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/has-yarn/-/has-yarn-2.1.0.tgz#137e11354a7b5bf11aa5cb649cf0c6f3ff2b2e77" - integrity sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw== - -has@^1.0.0, has@^1.0.3: +has@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== dependencies: function-bind "^1.1.1" -hash-base@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" - integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== - dependencies: - inherits "^2.0.4" - readable-stream "^3.6.0" - safe-buffer "^5.2.0" - -hash-sum@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/hash-sum/-/hash-sum-1.0.2.tgz#33b40777754c6432573c120cc3808bbd10d47f04" - integrity sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ= - -hash.js@^1.0.0, hash.js@^1.0.3: - version "1.1.7" - resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" - integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== - dependencies: - inherits "^2.0.3" - minimalistic-assert "^1.0.1" - -he@1.2.x, he@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" - integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== - -hex-color-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e" - integrity sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ== - -hmac-drbg@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" - integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= - dependencies: - hash.js "^1.0.3" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.1" - -hogan.js@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/hogan.js/-/hogan.js-3.0.2.tgz#4cd9e1abd4294146e7679e41d7898732b02c7bfd" - integrity sha1-TNnhq9QpQUbnZ55B14mHMrAse/0= - dependencies: - mkdirp "0.3.0" - nopt "1.0.10" - -hpack.js@^2.1.6: - version "2.1.6" - resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" - integrity sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI= - dependencies: - inherits "^2.0.1" - obuf "^1.0.0" - readable-stream "^2.0.1" - wbuf "^1.1.0" - -hsl-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/hsl-regex/-/hsl-regex-1.0.0.tgz#d49330c789ed819e276a4c0d272dffa30b18fe6e" - integrity sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4= - -hsla-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/hsla-regex/-/hsla-regex-1.0.0.tgz#c1ce7a3168c8c6614033a4b5f7877f3b225f9c38" - integrity sha1-wc56MWjIxmFAM6S194d/OyJfnDg= - -html-entities@^1.3.1: - version "1.4.0" - resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.4.0.tgz#cfbd1b01d2afaf9adca1b10ae7dffab98c71d2dc" - integrity sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA== - -html-minifier@^3.2.3: - version "3.5.21" - resolved "https://registry.yarnpkg.com/html-minifier/-/html-minifier-3.5.21.tgz#d0040e054730e354db008463593194015212d20c" - integrity sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA== - dependencies: - camel-case "3.0.x" - clean-css "4.2.x" - commander "2.17.x" - he "1.2.x" - param-case "2.1.x" - relateurl "0.2.x" - uglify-js "3.4.x" - -html-tags@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-2.0.0.tgz#10b30a386085f43cede353cc8fa7cb0deeea668b" - integrity sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos= - -html-tags@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-3.1.0.tgz#7b5e6f7e665e9fb41f30007ed9e0d41e97fb2140" - integrity sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg== - -htmlparser2@^3.10.1: - version "3.10.1" - resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.10.1.tgz#bd679dc3f59897b6a34bb10749c855bb53a9392f" - integrity sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ== - dependencies: - domelementtype "^1.3.1" - domhandler "^2.3.0" - domutils "^1.5.1" - entities "^1.1.1" - inherits "^2.0.1" - readable-stream "^3.1.1" +hookable@^5.5.3: + version "5.5.3" + resolved "https://registry.yarnpkg.com/hookable/-/hookable-5.5.3.tgz#6cfc358984a1ef991e2518cb9ed4a778bbd3215d" + integrity sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ== -http-cache-semantics@^4.0.0, http-cache-semantics@^4.1.0: +http-cache-semantics@^4.1.0: version "4.1.1" resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz#abe02fcb2985460bf0323be664436ec3476a6d5a" integrity sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ== -http-deceiver@^1.2.7: - version "1.2.7" - resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" - integrity sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc= - http-errors@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" @@ -6178,21 +3422,6 @@ http-errors@2.0.0: statuses "2.0.1" toidentifier "1.0.1" -http-errors@~1.6.2: - version "1.6.3" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" - integrity sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0= - dependencies: - depd "~1.1.2" - inherits "2.0.3" - setprototypeof "1.1.0" - statuses ">= 1.4.0 < 2" - -http-parser-js@>=0.5.1: - version "0.5.3" - resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.3.tgz#01d2709c79d41698bb01d4decc5e9da4e4a033d9" - integrity sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg== - http-proxy-agent@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz#5129800203520d434f142bc78ff3c170800f2b43" @@ -6202,16 +3431,6 @@ http-proxy-agent@^5.0.0: agent-base "6" debug "4" -http-proxy-middleware@0.19.1: - version "0.19.1" - resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz#183c7dc4aa1479150306498c210cdaf96080a43a" - integrity sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q== - dependencies: - http-proxy "^1.17.0" - is-glob "^4.0.0" - lodash "^4.17.11" - micromatch "^3.1.10" - http-proxy-middleware@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz#e1a4dd6979572c7ab5a4e4b55095d1f32a74963f" @@ -6223,7 +3442,7 @@ http-proxy-middleware@^2.0.6: is-plain-obj "^3.0.0" micromatch "^4.0.2" -http-proxy@^1.17.0, http-proxy@^1.18.1: +http-proxy@^1.18.1: version "1.18.1" resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549" integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== @@ -6232,20 +3451,6 @@ http-proxy@^1.17.0, http-proxy@^1.18.1: follow-redirects "^1.0.0" requires-port "^1.0.0" -http-signature@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" - integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= - dependencies: - assert-plus "^1.0.0" - jsprim "^1.2.2" - sshpk "^1.7.0" - -https-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" - integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= - https-proxy-agent@^5.0.0: version "5.0.1" resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" @@ -6275,39 +3480,17 @@ iconv-lite@^0.6.2: dependencies: safer-buffer ">= 2.1.2 < 3.0.0" -icss-replace-symbols@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded" - integrity sha1-Bupvg2ead0njhs/h/oEq5dsiPe0= - -icss-utils@^4.1.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-4.1.1.tgz#21170b53789ee27447c2f47dd683081403f9a467" - integrity sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA== - dependencies: - postcss "^7.0.14" - -ieee754@^1.1.13, ieee754@^1.1.4: +ieee754@^1.1.13: version "1.2.1" resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== -iferr@^0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" - integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE= - ignore-by-default@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/ignore-by-default/-/ignore-by-default-2.1.0.tgz#c0e0de1a99b6065bdc93315a6f728867981464db" integrity sha512-yiWd4GVmJp0Q6ghmM2B/V3oZGRmjrKLXvHR3TE1nfoXsmoggllfZUQe74EN0fJdPFZu2NIvNdrMMLm3OsV7Ohw== -ignore@^3.3.5: - version "3.3.10" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043" - integrity sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug== - -ignore@^4.0.3, ignore@^4.0.6: +ignore@^4.0.6: version "4.0.6" resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== @@ -6317,26 +3500,6 @@ ignore@^5.0.5, ignore@^5.1.4, ignore@^5.2.0: resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== -immediate@^3.2.3: - version "3.3.0" - resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.3.0.tgz#1aef225517836bcdf7f2a2de2600c79ff0269266" - integrity sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q== - -import-cwd@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/import-cwd/-/import-cwd-2.1.0.tgz#aa6cf36e722761285cb371ec6519f53e2435b0a9" - integrity sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk= - dependencies: - import-from "^2.1.0" - -import-fresh@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546" - integrity sha1-2BNVwVYS04bGH53dOSLUMEgipUY= - dependencies: - caller-path "^2.0.0" - resolve-from "^3.0.0" - import-fresh@^3.0.0, import-fresh@^3.2.1: version "3.3.0" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" @@ -6345,26 +3508,6 @@ import-fresh@^3.0.0, import-fresh@^3.2.1: parent-module "^1.0.0" resolve-from "^4.0.0" -import-from@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/import-from/-/import-from-2.1.0.tgz#335db7f2a7affd53aaa471d4b8021dee36b7f3b1" - integrity sha1-M1238qev/VOqpHHUuAId7ja387E= - dependencies: - resolve-from "^3.0.0" - -import-lazy@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" - integrity sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM= - -import-local@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d" - integrity sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ== - dependencies: - pkg-dir "^3.0.0" - resolve-cwd "^2.0.0" - import-meta-resolve@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/import-meta-resolve/-/import-meta-resolve-1.1.1.tgz#244fd542fd1fae73550d4f8b3cde3bba1d7b2b18" @@ -6392,12 +3535,7 @@ indent-string@^5.0.0: resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-5.0.0.tgz#4fd2980fccaf8622d14c64d694f4cf33c81951a5" integrity sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg== -indexes-of@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" - integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc= - -infer-owner@^1.0.3, infer-owner@^1.0.4: +infer-owner@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== @@ -6410,39 +3548,16 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3: +inherits@2, inherits@2.0.4, inherits@^2.0.3, inherits@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== -inherits@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" - integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE= - -inherits@2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" - integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= - -ini@1.3.7: - version "1.3.7" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.7.tgz#a09363e1911972ea16d7a8851005d84cf09a9a84" - integrity sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ== - ini@~1.3.0: version "1.3.8" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== -internal-ip@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/internal-ip/-/internal-ip-4.3.0.tgz#845452baad9d2ca3b69c635a137acb9a0dad0907" - integrity sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg== - dependencies: - default-gateway "^4.2.0" - ipaddr.js "^1.9.0" - internal-slot@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" @@ -6452,22 +3567,12 @@ internal-slot@^1.0.3: has "^1.0.3" side-channel "^1.0.4" -ip-regex@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" - integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= - -ip@^1.1.0, ip@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" - integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo= - ip@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ip/-/ip-2.0.0.tgz#4cf4ab182fee2314c75ede1276f8c80b479936da" integrity sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ== -ipaddr.js@1.9.1, ipaddr.js@^1.9.0: +ipaddr.js@1.9.1: version "1.9.1" resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== @@ -6477,59 +3582,11 @@ irregular-plurals@^3.3.0: resolved "https://registry.yarnpkg.com/irregular-plurals/-/irregular-plurals-3.3.0.tgz#67d0715d4361a60d9fd9ee80af3881c631a31ee2" integrity sha512-MVBLKUTangM3EfRPFROhmWQQKRDsrgI83J8GS3jXy+OwYqiR2/aoWndYQ5416jLE3uaGgLH7ncme3X9y09gZ3g== -is-absolute-url@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6" - integrity sha1-UFMN+4T8yap9vnhS6Do3uTufKqY= - -is-absolute-url@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-3.0.3.tgz#96c6a22b6a23929b11ea0afb1836c36ad4a5d698" - integrity sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q== - -is-accessor-descriptor@^0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" - integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= - dependencies: - kind-of "^3.0.2" - -is-accessor-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" - integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== - dependencies: - kind-of "^6.0.0" - -is-arguments@^1.0.4: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.0.tgz#62353031dfbee07ceb34656a6bde59efecae8dd9" - integrity sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg== - dependencies: - call-bind "^1.0.0" - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= - -is-arrayish@^0.3.1: - version "0.3.2" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" - integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== - is-bigint@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.2.tgz#ffb381442503235ad245ea89e45b3dbff040ee5a" integrity sha512-0JV5+SOCQkIdzjBK9buARcV804Ddu7A0Qet6sHi3FimE9ne6m4BGQZfRn+NZiXbBk4F4XmHfDZIipLj9pX8dSA== -is-binary-path@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" - integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg= - dependencies: - binary-extensions "^1.0.0" - is-binary-path@~2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" @@ -6544,11 +3601,6 @@ is-boolean-object@^1.1.0: dependencies: call-bind "^1.0.2" -is-buffer@^1.1.5: - version "1.1.6" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" - integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== - is-callable@^1.1.4, is-callable@^1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.3.tgz#8b1e0500b73a1d76c70487636f368e519de8db8e" @@ -6559,25 +3611,6 @@ is-callable@^1.2.4: resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== -is-ci@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" - integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== - dependencies: - ci-info "^2.0.0" - -is-color-stop@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-color-stop/-/is-color-stop-1.1.0.tgz#cfff471aee4dd5c9e158598fbe12967b5cdad345" - integrity sha1-z/9HGu5N1cnhWFmPvhKWe1za00U= - dependencies: - css-color-names "^0.0.4" - hex-color-regex "^1.1.0" - hsl-regex "^1.0.0" - hsla-regex "^1.0.0" - rgb-regex "^1.0.1" - rgba-regex "^1.0.0" - is-core-module@^2.8.0: version "2.8.1" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.1.tgz#f59fdfca701d5879d0a6b100a40aa1560ce27211" @@ -6592,75 +3625,21 @@ is-core-module@^2.8.1, is-core-module@^2.9.0: dependencies: has "^1.0.3" -is-data-descriptor@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" - integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= - dependencies: - kind-of "^3.0.2" - -is-data-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" - integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== - dependencies: - kind-of "^6.0.0" - is-date-object@^1.0.1: version "1.0.4" resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.4.tgz#550cfcc03afada05eea3dd30981c7b09551f73e5" integrity sha512-/b4ZVsG7Z5XVtIxs/h9W8nvfLgSAyKYdtGWQLbqy6jA1icmgjf8WCoTKgeS4wy5tYaPePouzFMANbnj94c2Z+A== -is-descriptor@^0.1.0: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" - integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== - dependencies: - is-accessor-descriptor "^0.1.6" - is-data-descriptor "^0.1.4" - kind-of "^5.0.0" - -is-descriptor@^1.0.0, is-descriptor@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" - integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== - dependencies: - is-accessor-descriptor "^1.0.0" - is-data-descriptor "^1.0.0" - kind-of "^6.0.2" - -is-directory@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" - integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE= - is-error@^2.2.2: version "2.2.2" resolved "https://registry.yarnpkg.com/is-error/-/is-error-2.2.2.tgz#c10ade187b3c93510c5470a5567833ee25649843" integrity sha512-IOQqts/aHWbiisY5DuPJQ0gcbvaLFCa7fBa9xoLfxBZvQ+ZI/Zh9xoI7Gk+G64N0FdK4AbibytHht2tWgpJWLg== -is-extendable@^0.1.0, is-extendable@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" - integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= - -is-extendable@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" - integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== - dependencies: - is-plain-object "^2.0.4" - -is-extglob@^2.1.0, is-extglob@^2.1.1: +is-extglob@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= -is-fullwidth-code-point@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" - integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= - is-fullwidth-code-point@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" @@ -6671,13 +3650,6 @@ is-fullwidth-code-point@^4.0.0: resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz#fae3167c729e7463f8461ce512b080a49268aa88" integrity sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ== -is-glob@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" - integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= - dependencies: - is-extglob "^2.1.0" - is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" @@ -6692,14 +3664,6 @@ is-glob@^4.0.3: dependencies: is-extglob "^2.1.1" -is-installed-globally@^0.3.1: - version "0.3.2" - resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.3.2.tgz#fd3efa79ee670d1187233182d5b0a1dd00313141" - integrity sha512-wZ8x1js7Ia0kecP/CHM/3ABkAmujX7WPvQk6uu3Fly/Mk44pySulQpnHG46OMjHGXApINnV4QhY3SWnECO2z5g== - dependencies: - global-dirs "^2.0.1" - is-path-inside "^3.0.1" - is-lambda@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-lambda/-/is-lambda-1.0.1.tgz#3d9877899e6a53efc0160504cde15f82e6f061d5" @@ -6720,74 +3684,31 @@ is-negative-zero@^2.0.2: resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== -is-npm@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-4.0.0.tgz#c90dd8380696df87a7a6d823c20d0b12bbe3c84d" - integrity sha512-96ECIfh9xtDDlPylNPXhzjsykHsMJZ18ASpaWzQyBr4YRTcVjUvzaHayDAES2oU/3KpljhHUjtSRNiDwi0F0ig== - is-number-object@^1.0.4: version "1.0.5" resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.5.tgz#6edfaeed7950cff19afedce9fbfca9ee6dd289eb" integrity sha512-RU0lI/n95pMoUKu9v1BZP5MBcZuNSVJkMkAG2dJqC4z2GlkGUNeH68SuHuBKBD/XFe+LHZ+f9BKkLET60Niedw== -is-number@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" - integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= - dependencies: - kind-of "^3.0.2" - is-number@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== -is-obj@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" - integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== - -is-path-cwd@^2.0.0, is-path-cwd@^2.2.0: +is-path-cwd@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb" integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ== -is-path-in-cwd@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz#bfe2dca26c69f397265a4009963602935a053acb" - integrity sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ== - dependencies: - is-path-inside "^2.1.0" - -is-path-inside@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-2.1.0.tgz#7c9810587d659a40d27bcdb4d5616eab059494b2" - integrity sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg== - dependencies: - path-is-inside "^1.0.2" - -is-path-inside@^3.0.1, is-path-inside@^3.0.2: +is-path-inside@^3.0.2: version "3.0.3" resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== -is-plain-obj@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" - integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= - is-plain-obj@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-3.0.0.tgz#af6f2ea14ac5a646183a5bbdb5baabbc156ad9d7" integrity sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA== -is-plain-object@^2.0.3, is-plain-object@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" - integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== - dependencies: - isobject "^3.0.1" - is-plain-object@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344" @@ -6805,7 +3726,7 @@ is-reference@^1.2.1: dependencies: "@types/estree" "*" -is-regex@^1.0.4, is-regex@^1.1.3: +is-regex@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.3.tgz#d029f9aff6448b93ebbe3f33dac71511fdcbef9f" integrity sha512-qSVXFz28HM7y+IWX6vLCsexdlvzT1PJNFSBuaQLQ5o0IEw8UDYW6/2+eCMVyIsbM8CNLX2a/QWmSpyxYEHY7CQ== @@ -6821,11 +3742,6 @@ is-regex@^1.1.4: call-bind "^1.0.2" has-tostringtag "^1.0.0" -is-resolvable@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" - integrity sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg== - is-shared-array-buffer@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79" @@ -6833,11 +3749,6 @@ is-shared-array-buffer@^1.0.2: dependencies: call-bind "^1.0.2" -is-stream@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" - integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= - is-string@^1.0.5, is-string@^1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.6.tgz#3fe5d5992fb0d93404f32584d4b0179a71b54a5f" @@ -6857,11 +3768,6 @@ is-symbol@^1.0.2, is-symbol@^1.0.3: dependencies: has-symbols "^1.0.2" -is-typedarray@^1.0.0, is-typedarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= - is-unicode-supported@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-1.2.0.tgz#f4f54f34d8ebc84a46b93559a036763b6d3e1014" @@ -6874,63 +3780,11 @@ is-weakref@^1.0.2: dependencies: call-bind "^1.0.2" -is-windows@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" - integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== - -is-wsl@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" - integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= - -is-yarn-global@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/is-yarn-global/-/is-yarn-global-0.3.0.tgz#d502d3382590ea3004893746754c89139973e232" - integrity sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw== - -isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= - -isarray@^2.0.1: - version "2.0.5" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" - integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== - isexe@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= -isobject@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" - integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= - dependencies: - isarray "1.0.0" - -isobject@^3.0.0, isobject@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" - integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= - -isstream@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" - integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= - -javascript-stringify@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/javascript-stringify/-/javascript-stringify-1.6.0.tgz#142d111f3a6e3dae8f4a9afd77d45855b5a9cce3" - integrity sha1-FC0RHzpuPa6PSpr9d9RYVbWpzOM= - -javascript-stringify@^2.0.1: - version "2.1.0" - resolved "https://registry.yarnpkg.com/javascript-stringify/-/javascript-stringify-2.1.0.tgz#27c76539be14d8bd128219a2d731b09337904e79" - integrity sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg== - jessie.js@^0.3.2: version "0.3.3" resolved "https://registry.yarnpkg.com/jessie.js/-/jessie.js-0.3.3.tgz#c79a8b1f105b41f4e5a278f8dc67339c273b5900" @@ -6956,11 +3810,6 @@ js-yaml@^3.13.1, js-yaml@^3.14.1: argparse "^1.0.7" esprima "^4.0.0" -jsbn@~0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" - integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= - jsdoc-type-pratt-parser@1.0.0-alpha.23: version "1.0.0-alpha.23" resolved "https://registry.yarnpkg.com/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-1.0.0-alpha.23.tgz#01c232d92b99b7e7ef52235ab8c9115137426639" @@ -6976,21 +3825,6 @@ jsesc@^2.5.1: resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== -jsesc@~0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" - integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= - -json-buffer@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898" - integrity sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg= - -json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" - integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== - json-schema-traverse@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" @@ -7001,11 +3835,6 @@ json-schema-traverse@^1.0.0: resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== -json-schema@0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" - integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= - json-stable-stringify-without-jsonify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" @@ -7018,21 +3847,6 @@ json-stable-stringify@^1.0.1: dependencies: jsonify "~0.0.0" -json-stringify-safe@~5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= - -json3@^3.3.3: - version "3.3.3" - resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.3.tgz#7fc10e375fc5ae42c4705a5cc0aa6f62be305b81" - integrity sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA== - -json5@^0.5.0: - version "0.5.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" - integrity sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE= - json5@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" @@ -7040,86 +3854,11 @@ json5@^1.0.1: dependencies: minimist "^1.2.0" -json5@^2.1.2: - version "2.2.0" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" - integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA== - dependencies: - minimist "^1.2.5" - -jsonfile@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" - integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= - optionalDependencies: - graceful-fs "^4.1.6" - jsonify@~0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" integrity sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM= -jsprim@^1.2.2: - version "1.4.1" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" - integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= - dependencies: - assert-plus "1.0.0" - extsprintf "1.3.0" - json-schema "0.2.3" - verror "1.10.0" - -keyv@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9" - integrity sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA== - dependencies: - json-buffer "3.0.0" - -killable@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/killable/-/killable-1.0.1.tgz#4c8ce441187a061c7474fb87ca08e2a638194892" - integrity sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg== - -kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" - integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= - dependencies: - is-buffer "^1.1.5" - -kind-of@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" - integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= - dependencies: - is-buffer "^1.1.5" - -kind-of@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" - integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== - -kind-of@^6.0.0, kind-of@^6.0.2: - version "6.0.3" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" - integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== - -last-call-webpack-plugin@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/last-call-webpack-plugin/-/last-call-webpack-plugin-3.0.0.tgz#9742df0e10e3cf46e5c0381c2de90d3a7a2d7555" - integrity sha512-7KI2l2GIZa9p2spzPIVZBYyNKkN+e/SQPpnjlTiPhdbDW3F86tdKKELxKpzJ5sgU19wQWsACULZmpTPYHeWO5w== - dependencies: - lodash "^4.17.5" - webpack-sources "^1.1.0" - -latest-version@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-5.1.0.tgz#119dfe908fe38d15dfa43ecd13fa12ec8832face" - integrity sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA== - dependencies: - package-json "^6.3.0" - levn@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" @@ -7128,47 +3867,11 @@ levn@^0.4.1: prelude-ls "^1.2.1" type-check "~0.4.0" -linkify-it@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/linkify-it/-/linkify-it-2.2.0.tgz#e3b54697e78bf915c70a38acd78fd09e0058b1cf" - integrity sha512-GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw== - dependencies: - uc.micro "^1.0.1" - load-json-file@^7.0.0: version "7.0.1" resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-7.0.1.tgz#a3c9fde6beffb6bedb5acf104fad6bb1604e1b00" integrity sha512-Gnxj3ev3mB5TkVBGad0JM6dmLiQL+o0t23JPBZ9sd+yvSLk05mFoqKBw5N8gbbkU4TNXyqCgIrl/VM17OgUIgQ== -load-script@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/load-script/-/load-script-1.0.0.tgz#0491939e0bee5643ee494a7e3da3d2bac70c6ca4" - integrity sha1-BJGTngvuVkPuSUp+PaPSuscMbKQ= - -loader-runner@^2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" - integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw== - -loader-utils@^0.2.16: - version "0.2.17" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.17.tgz#f86e6374d43205a6e6c60e9196f17c0299bfb348" - integrity sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g= - dependencies: - big.js "^3.1.3" - emojis-list "^2.0.0" - json5 "^0.5.0" - object-assign "^4.0.1" - -loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@^1.2.3, loader-utils@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" - integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA== - dependencies: - big.js "^5.2.2" - emojis-list "^3.0.0" - json5 "^1.0.1" - locate-path@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" @@ -7177,21 +3880,6 @@ locate-path@^2.0.0: p-locate "^2.0.0" path-exists "^3.0.0" -locate-path@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" - integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== - dependencies: - p-locate "^3.0.0" - path-exists "^3.0.0" - -locate-path@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" - integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== - dependencies: - p-locate "^4.1.0" - locate-path@^7.1.0: version "7.1.1" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-7.1.1.tgz#8e1e5a75c7343770cef02ff93c4bf1f0aa666374" @@ -7199,106 +3887,26 @@ locate-path@^7.1.0: dependencies: p-locate "^6.0.0" -lodash._reinterpolate@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" - integrity sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0= - lodash.clonedeep@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8= -lodash.debounce@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" - integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168= - -lodash.deburr@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/lodash.deburr/-/lodash.deburr-4.1.0.tgz#ddb1bbb3ef07458c0177ba07de14422cb033ff9b" - integrity sha1-3bG7s+8HRYwBd7oH3hRCLLAz/5s= - -lodash.kebabcase@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz#8489b1cb0d29ff88195cceca448ff6d6cc295c36" - integrity sha1-hImxyw0p/4gZXM7KRI/21swpXDY= - -lodash.memoize@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" - integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= - lodash.merge@4.6.2, lodash.merge@^4.6.2: version "4.6.2" resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== -lodash.template@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.5.0.tgz#f976195cf3f347d0d5f52483569fe8031ccce8ab" - integrity sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A== - dependencies: - lodash._reinterpolate "^3.0.0" - lodash.templatesettings "^4.0.0" - -lodash.templatesettings@^4.0.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz#e481310f049d3cf6d47e912ad09313b154f0fb33" - integrity sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ== - dependencies: - lodash._reinterpolate "^3.0.0" - lodash.truncate@^4.4.2: version "4.4.2" resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" integrity sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM= -lodash.uniq@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" - integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= - -lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.3, lodash@^4.17.5: +lodash@^4.17.15, lodash@^4.17.21: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== -loglevel@^1.6.8: - version "1.7.1" - resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.7.1.tgz#005fde2f5e6e47068f935ff28573e125ef72f197" - integrity sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw== - -lower-case@^1.1.1: - version "1.1.4" - resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac" - integrity sha1-miyr0bno4K6ZOkv31YdcOcQujqw= - -lowercase-keys@^1.0.0, lowercase-keys@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" - integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA== - -lowercase-keys@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" - integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== - -lru-cache@^4.1.2: - version "4.1.5" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" - integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== - dependencies: - pseudomap "^1.0.2" - yallist "^2.1.2" - -lru-cache@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" - integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== - dependencies: - yallist "^3.0.2" - lru-cache@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" @@ -7318,15 +3926,14 @@ magic-string@^0.25.7: dependencies: sourcemap-codec "^1.4.4" -make-dir@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" - integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== +magic-string@^0.30.6: + version "0.30.7" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.7.tgz#0cecd0527d473298679da95a2d7aeb8c64048505" + integrity sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA== dependencies: - pify "^4.0.1" - semver "^5.6.0" + "@jridgewell/sourcemap-codec" "^1.4.15" -make-dir@^3.0.0, make-dir@^3.0.2, make-dir@^3.1.0: +make-dir@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== @@ -7362,55 +3969,10 @@ map-age-cleaner@^0.1.3: dependencies: p-defer "^1.0.0" -map-cache@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" - integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= - -map-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" - integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= - dependencies: - object-visit "^1.0.0" - -markdown-it-anchor@^5.0.2: - version "5.3.0" - resolved "https://registry.yarnpkg.com/markdown-it-anchor/-/markdown-it-anchor-5.3.0.tgz#d549acd64856a8ecd1bea58365ef385effbac744" - integrity sha512-/V1MnLL/rgJ3jkMWo84UR+K+jF1cxNG1a+KwqeXqTIJ+jtA8aWSHuigx8lTzauiIjBDbwF3NcWQMotd0Dm39jA== - -markdown-it-chain@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/markdown-it-chain/-/markdown-it-chain-1.3.0.tgz#ccf6fe86c10266bafb4e547380dfd7f277cc17bc" - integrity sha512-XClV8I1TKy8L2qsT9iX3qiV+50ZtcInGXI80CA+DP62sMs7hXlyV/RM3hfwy5O3Ad0sJm9xIwQELgANfESo8mQ== - dependencies: - webpack-chain "^4.9.0" - -markdown-it-container@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/markdown-it-container/-/markdown-it-container-2.0.0.tgz#0019b43fd02eefece2f1960a2895fba81a404695" - integrity sha1-ABm0P9Au7+zi8ZYKKJX7qBpARpU= - -markdown-it-emoji@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/markdown-it-emoji/-/markdown-it-emoji-1.4.0.tgz#9bee0e9a990a963ba96df6980c4fddb05dfb4dcc" - integrity sha1-m+4OmpkKljupbfaYDE/dsF37Tcw= - -markdown-it-table-of-contents@^0.4.0: - version "0.4.4" - resolved "https://registry.yarnpkg.com/markdown-it-table-of-contents/-/markdown-it-table-of-contents-0.4.4.tgz#3dc7ce8b8fc17e5981c77cc398d1782319f37fbc" - integrity sha512-TAIHTHPwa9+ltKvKPWulm/beozQU41Ab+FIefRaQV1NRnpzwcV9QOe6wXQS5WLivm5Q/nlo0rl6laGkMDZE7Gw== - -markdown-it@^8.4.1: - version "8.4.2" - resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-8.4.2.tgz#386f98998dc15a37722aa7722084f4020bdd9b54" - integrity sha512-GcRz3AWTqSUphY3vsUqQSFMbgR38a4Lh3GWlHRh/7MRwz8mcu9n2IO7HOh+bXHrR9kOPDl5RNCaEsrneb+xhHQ== - dependencies: - argparse "^1.0.7" - entities "~1.1.1" - linkify-it "^2.0.0" - mdurl "^1.0.1" - uc.micro "^1.0.5" +mark.js@8.11.1: + version "8.11.1" + resolved "https://registry.yarnpkg.com/mark.js/-/mark.js-8.11.1.tgz#180f1f9ebef8b0e638e4166ad52db879beb2ffc5" + integrity sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ== matcher@^5.0.0: version "5.0.0" @@ -7426,30 +3988,6 @@ md5-hex@^3.0.1: dependencies: blueimp-md5 "^2.10.0" -md5.js@^1.3.4: - version "1.3.5" - resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" - integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - -mdn-data@2.0.14: - version "2.0.14" - resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50" - integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== - -mdn-data@2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b" - integrity sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA== - -mdurl@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e" - integrity sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4= - media-typer@0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" @@ -7463,35 +4001,12 @@ mem@^9.0.2: map-age-cleaner "^0.1.3" mimic-fn "^4.0.0" -memory-fs@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" - integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI= - dependencies: - errno "^0.1.3" - readable-stream "^2.0.1" - -memory-fs@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.5.0.tgz#324c01288b88652966d161db77838720845a8e3c" - integrity sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA== - dependencies: - errno "^0.1.3" - readable-stream "^2.0.1" - merge-descriptors@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= -merge-source-map@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/merge-source-map/-/merge-source-map-1.1.0.tgz#2fdde7e6020939f70906a68f2d7ae685e4c8c646" - integrity sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw== - dependencies: - source-map "^0.6.1" - -merge2@^1.2.3, merge2@^1.3.0, merge2@^1.4.1: +merge2@^1.3.0, merge2@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== @@ -7501,25 +4016,6 @@ methods@~1.1.2: resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= -micromatch@^3.1.10, micromatch@^3.1.4: - version "3.1.10" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" - integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - braces "^2.3.1" - define-property "^2.0.2" - extend-shallow "^3.0.2" - extglob "^2.0.4" - fragment-cache "^0.2.1" - kind-of "^6.0.2" - nanomatch "^1.2.9" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.2" - micromatch@^4.0.2: version "4.0.4" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" @@ -7544,15 +4040,7 @@ microtime@^3.1.0: node-addon-api "^5.0.0" node-gyp-build "^4.4.0" -miller-rabin@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" - integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== - dependencies: - bn.js "^4.0.0" - brorand "^1.0.1" - -mime-db@1.48.0, "mime-db@>= 1.43.0 < 2": +mime-db@1.48.0: version "1.48.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.48.0.tgz#e35b31045dd7eada3aaad537ed88a33afbef2d1d" integrity sha512-FM3QwxV+TnZYQ2aRqhlKBMHxk10lTbMt3bBkMAp54ddrNeVSfcQYOOKuGuy3Ddrm38I04If834fOUSq1yzslJQ== @@ -7562,7 +4050,7 @@ mime-db@1.52.0: resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== -mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24: +mime-types@~2.1.24: version "2.1.31" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.31.tgz#a00d76b74317c61f9c2db2218b8e9f8e9c5c9e6b" integrity sha512-XGZnNzm3QvgKxa8dpzyhFTHmpP3l5YNusmne07VUOXxou9CqUqYa/HBy124RqtVh/O2pECas/MOcsDgpilPOPg== @@ -7581,53 +4069,16 @@ mime@1.6.0: resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== -mime@^2.0.3, mime@^2.4.4: - version "2.5.2" - resolved "https://registry.yarnpkg.com/mime/-/mime-2.5.2.tgz#6e3dc6cc2b9510643830e5f19d5cb753da5eeabe" - integrity sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg== - mimic-fn@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-4.0.0.tgz#60a90550d5cb0b239cca65d893b1a53b29871ecc" integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw== -mimic-response@^1.0.0, mimic-response@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" - integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== - mimic-response@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9" integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== -min-document@^2.19.0: - version "2.19.0" - resolved "https://registry.yarnpkg.com/min-document/-/min-document-2.19.0.tgz#7bd282e3f5842ed295bb748cdd9f1ffa2c824685" - integrity sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU= - dependencies: - dom-walk "^0.1.0" - -mini-css-extract-plugin@0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.6.0.tgz#a3f13372d6fcde912f3ee4cd039665704801e3b9" - integrity sha512-79q5P7YGI6rdnVyIAV4NXpBQJFWdkzJxCim3Kog4078fM0piAaFlwocqbejdWtLW1cEzCexPrh6EdyFsPgVdAw== - dependencies: - loader-utils "^1.1.0" - normalize-url "^2.0.1" - schema-utils "^1.0.0" - webpack-sources "^1.1.0" - -minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" - integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== - -minimalistic-crypto-utils@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" - integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= - minimatch@^3.0.4, minimatch@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" @@ -7698,6 +4149,11 @@ minipass@^5.0.0: resolved "https://registry.yarnpkg.com/minipass/-/minipass-5.0.0.tgz#3e9788ffb90b694a5d0ec94479a45b5d8738133d" integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ== +minisearch@^6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/minisearch/-/minisearch-6.3.0.tgz#985a2f1ca3c73c2d65af94f0616bfe57164b0b6b" + integrity sha512-ihFnidEeU8iXzcVHy74dhkxh/dn8Dc08ERl0xwoMMGqp4+LvRSCgicb+zGqWthVokQKvCSxITlh3P08OzdTYCQ== + minizlib@^2.1.1, minizlib@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" @@ -7706,48 +4162,24 @@ minizlib@^2.1.1, minizlib@^2.1.2: minipass "^3.0.0" yallist "^4.0.0" -mississippi@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022" - integrity sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA== - dependencies: - concat-stream "^1.5.0" - duplexify "^3.4.2" - end-of-stream "^1.1.0" - flush-write-stream "^1.0.0" - from2 "^2.1.0" - parallel-transform "^1.1.0" - pump "^3.0.0" - pumpify "^1.3.3" - stream-each "^1.1.0" - through2 "^2.0.0" - -mixin-deep@^1.2.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" - integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== - dependencies: - for-in "^1.0.2" - is-extendable "^1.0.1" +mitt@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/mitt/-/mitt-3.0.1.tgz#ea36cf0cc30403601ae074c8f77b7092cdab36d1" + integrity sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw== mkdirp-classic@^0.5.2, mkdirp-classic@^0.5.3: version "0.5.3" resolved "https://registry.yarnpkg.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz#fa10c9115cc6d8865be221ba47ee9bed78601113" integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== -mkdirp@0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.3.0.tgz#1bbf5ab1ba827af23575143490426455f481fe1e" - integrity sha1-G79asbqCevI1dRQ0kEJkVfSB/h4= - -mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.5, mkdirp@~0.5.1: +mkdirp@^0.5.1: version "0.5.5" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== dependencies: minimist "^1.2.5" -mkdirp@^1.0.3, mkdirp@^1.0.4, mkdirp@~1.0.4: +mkdirp@^1.0.3, mkdirp@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== @@ -7763,18 +4195,6 @@ morgan@^1.9.1: on-finished "~2.3.0" on-headers "~1.0.2" -move-concurrently@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" - integrity sha1-viwAX9oy4LKa8fBdfEszIUxwH5I= - dependencies: - aproba "^1.1.1" - copy-concurrently "^1.0.0" - fs-write-stream-atomic "^1.0.8" - mkdirp "^0.5.1" - rimraf "^2.5.4" - run-queue "^1.0.3" - ms@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" @@ -7790,45 +4210,15 @@ ms@2.1.3, ms@^2.0.0, ms@^2.1.1, ms@^2.1.3: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== -multicast-dns-service-types@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz#899f11d9686e5e05cb91b35d5f0e63b773cfc901" - integrity sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE= - -multicast-dns@^6.0.1: - version "6.2.3" - resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-6.2.3.tgz#a0ec7bd9055c4282f790c3c82f4e28db3b31b229" - integrity sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g== - dependencies: - dns-packet "^1.3.1" - thunky "^1.0.2" - n-readlines@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/n-readlines/-/n-readlines-1.0.1.tgz#bbb7364d38bc31a170a199f986fcacfa76b95f6e" integrity sha512-z4SyAIVgMy7CkgsoNw7YVz40v0g4+WWvvqy8+ZdHrCtgevcEO758WQyrYcw3XPxcLxF+//RszTz/rO48nzD0wQ== -nan@^2.12.1: - version "2.15.0" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.15.0.tgz#3f34a473ff18e15c1b5626b62903b5ad6e665fee" - integrity sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ== - -nanomatch@^1.2.9: - version "1.2.13" - resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" - integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - define-property "^2.0.2" - extend-shallow "^3.0.2" - fragment-cache "^0.2.1" - is-windows "^1.0.2" - kind-of "^6.0.2" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" +nanoid@^3.3.7: + version "3.3.7" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" + integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== napi-build-utils@^1.0.1: version "1.0.2" @@ -7845,33 +4235,11 @@ natural-compare@^1.4.0: resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= -negotiator@0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" - integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== - negotiator@0.6.3, negotiator@^0.6.3: version "0.6.3" resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== -neo-async@^2.5.0, neo-async@^2.6.1: - version "2.6.2" - resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" - integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== - -nice-try@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" - integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== - -no-case@^2.2.0: - version "2.3.2" - resolved "https://registry.yarnpkg.com/no-case/-/no-case-2.3.2.tgz#60b813396be39b3f1288a4c1ed5d1e7d28b464ac" - integrity sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ== - dependencies: - lower-case "^1.1.1" - node-abi@^3.3.0: version "3.5.0" resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-3.5.0.tgz#26e8b7b251c3260a5ac5ba5aef3b4345a0229248" @@ -7903,11 +4271,6 @@ node-fetch@^2.6.7: dependencies: whatwg-url "^5.0.0" -node-forge@^0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.10.0.tgz#32dea2afb3e9926f02ee5ce8794902691a676bf3" - integrity sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA== - node-gyp-build@^4.4.0: version "4.6.0" resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.6.0.tgz#0c52e4cbf54bbd28b709820ef7b6a3c2d6209055" @@ -7930,52 +4293,11 @@ node-gyp@^9.3.1: tar "^6.1.2" which "^2.0.2" -node-libs-browser@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425" - integrity sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q== - dependencies: - assert "^1.1.1" - browserify-zlib "^0.2.0" - buffer "^4.3.0" - console-browserify "^1.1.0" - constants-browserify "^1.0.0" - crypto-browserify "^3.11.0" - domain-browser "^1.1.1" - events "^3.0.0" - https-browserify "^1.0.0" - os-browserify "^0.3.0" - path-browserify "0.0.1" - process "^0.11.10" - punycode "^1.2.4" - querystring-es3 "^0.2.0" - readable-stream "^2.3.3" - stream-browserify "^2.0.1" - stream-http "^2.7.2" - string_decoder "^1.0.0" - timers-browserify "^2.0.4" - tty-browserify "0.0.0" - url "^0.11.0" - util "^0.11.0" - vm-browserify "^1.0.1" - -node-releases@^1.1.71: - version "1.1.72" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.72.tgz#14802ab6b1039a79a0c7d662b610a5bbd76eacbe" - integrity sha512-LLUo+PpH3dU6XizX3iVoubUNheF/owjXCZZ5yACDxNnPtgFuludV1ZL3ayK1kVep42Rmm0+R9/Y60NQbZ2bifw== - nofilter@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/nofilter/-/nofilter-3.1.0.tgz#c757ba68801d41ff930ba2ec55bab52ca184aa66" integrity sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g== -nopt@1.0.10: - version "1.0.10" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-1.0.10.tgz#6ddd21bd2a31417b92727dd585f8a6f37608ebee" - integrity sha1-bd0hvSoxQXuScn3Vhfim83YI6+4= - dependencies: - abbrev "1" - nopt@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/nopt/-/nopt-5.0.0.tgz#530942bb58a512fccafe53fe210f13a25355dc88" @@ -7990,49 +4312,11 @@ nopt@^6.0.0: dependencies: abbrev "^1.0.0" -normalize-path@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" - integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= - dependencies: - remove-trailing-separator "^1.0.1" - normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== -normalize-range@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" - integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI= - -normalize-url@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-2.0.1.tgz#835a9da1551fa26f70e92329069a23aa6574d7e6" - integrity sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw== - dependencies: - prepend-http "^2.0.0" - query-string "^5.0.1" - sort-keys "^2.0.0" - -normalize-url@^3.0.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559" - integrity sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg== - -normalize-url@^4.1.0: - version "4.5.1" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.1.tgz#0dd90cf1288ee1d1313b87081c9a5932ee48518a" - integrity sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA== - -npm-run-path@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" - integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= - dependencies: - path-key "^2.0.0" - npmlog@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-5.0.1.tgz#f06678e80e29419ad67ab964e0fa69959c1eb8b0" @@ -8053,42 +4337,11 @@ npmlog@^6.0.0: gauge "^4.0.3" set-blocking "^2.0.0" -nprogress@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/nprogress/-/nprogress-0.2.0.tgz#cb8f34c53213d895723fcbab907e9422adbcafb1" - integrity sha1-y480xTIT2JVyP8urkH6UIq28r7E= - -nth-check@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" - integrity sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg== - dependencies: - boolbase "~1.0.0" - -num2fraction@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" - integrity sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4= - -oauth-sign@~0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" - integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== - -object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: +object-assign@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= -object-copy@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" - integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= - dependencies: - copy-descriptor "^0.1.0" - define-property "^0.2.5" - kind-of "^3.0.3" - object-inspect@^1.10.3: version "1.10.3" resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.10.3.tgz#c2aa7d2d09f50c99375704f7a0adf24c5782d369" @@ -8099,27 +4352,12 @@ object-inspect@^1.12.0, object-inspect@^1.9.0: resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.2.tgz#c0641f26394532f28ab8d796ab954e43c009a8ea" integrity sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ== -object-is@^1.0.1: - version "1.1.5" - resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac" - integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - -object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.0, object-keys@^1.1.1: +object-keys@^1.0.12, object-keys@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== -object-visit@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" - integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= - dependencies: - isobject "^3.0.0" - -object.assign@^4.1.0, object.assign@^4.1.2: +object.assign@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== @@ -8138,31 +4376,6 @@ object.entries@^1.1.2: define-properties "^1.1.3" es-abstract "^1.18.2" -object.getownpropertydescriptors@^2.0.3, object.getownpropertydescriptors@^2.1.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.2.tgz#1bd63aeacf0d5d2d2f31b5e393b03a7c601a23f7" - integrity sha512-WtxeKSzfBjlzL+F9b7M7hewDzMwy+C8NRssHd1YrNlzHzIDrXcXiNOMrezdAEM4UXixgV+vvnyBeN7Rygl2ttQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.18.0-next.2" - -object.pick@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" - integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= - dependencies: - isobject "^3.0.1" - -object.values@^1.1.0: - version "1.1.4" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.4.tgz#0d273762833e816b693a637d30073e7051535b30" - integrity sha512-TnGo7j4XSnKQoK3MfvkzqKCi0nVe/D9I9IjwTNYdb/fxYHpjrluHVOgw0AF6jrRFGMPHdfuidR09tIDiIvnaSg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.18.2" - object.values@^1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.5.tgz#959f63e3ce9ef108720333082131e4a459b716ac" @@ -8172,11 +4385,6 @@ object.values@^1.1.5: define-properties "^1.1.3" es-abstract "^1.19.1" -obuf@^1.0.0, obuf@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" - integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== - on-finished@2.4.1: version "2.4.1" resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" @@ -8203,26 +4411,6 @@ once@^1.3.0, once@^1.3.1, once@^1.4.0: dependencies: wrappy "1" -opencollective-postinstall@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz#7a0fff978f6dbfa4d006238fbac98ed4198c3259" - integrity sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q== - -opn@^5.5.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/opn/-/opn-5.5.0.tgz#fc7164fab56d235904c51c3b27da6758ca3b9bfc" - integrity sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA== - dependencies: - is-wsl "^1.1.0" - -optimize-css-assets-webpack-plugin@^5.0.1: - version "5.0.6" - resolved "https://registry.yarnpkg.com/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.6.tgz#abad0c6c11a632201794f75ddba3ce13e32ae80e" - integrity sha512-JAYw7WrIAIuHWoKeSBB3lJ6ZG9PSDK3JJduv/FMpIY060wvbA8Lqn/TCtxNGICNlg0X5AGshLzIhpYrkltdq+A== - dependencies: - cssnano "^4.1.10" - last-call-webpack-plugin "^3.0.0" - optionator@^0.9.1: version "0.9.1" resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" @@ -8235,16 +4423,6 @@ optionator@^0.9.1: type-check "^0.4.0" word-wrap "^1.2.3" -os-browserify@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" - integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc= - -p-cancelable@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-1.1.0.tgz#d078d15a3af409220c886f1d9a0ca2e441ab26cc" - integrity sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw== - p-defer@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" @@ -8257,11 +4435,6 @@ p-event@^5.0.1: dependencies: p-timeout "^5.0.2" -p-finally@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" - integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= - p-limit@^1.1.0: version "1.3.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" @@ -8269,13 +4442,6 @@ p-limit@^1.1.0: dependencies: p-try "^1.0.0" -p-limit@^2.0.0, p-limit@^2.2.0, p-limit@^2.2.1: - version "2.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" - integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== - dependencies: - p-try "^2.0.0" - p-limit@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-4.0.0.tgz#914af6544ed32bfa54670b061cafcbd04984b644" @@ -8290,20 +4456,6 @@ p-locate@^2.0.0: dependencies: p-limit "^1.1.0" -p-locate@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" - integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== - dependencies: - p-limit "^2.0.0" - -p-locate@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" - integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== - dependencies: - p-limit "^2.2.0" - p-locate@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-6.0.0.tgz#3da9a49d4934b901089dca3302fa65dc5a05c04f" @@ -8311,11 +4463,6 @@ p-locate@^6.0.0: dependencies: p-limit "^4.0.0" -p-map@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175" - integrity sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw== - p-map@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" @@ -8330,13 +4477,6 @@ p-map@^5.4.0: dependencies: aggregate-error "^4.0.0" -p-retry@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-3.0.1.tgz#316b4c8893e2c8dc1cfa891f406c4b422bebf328" - integrity sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w== - dependencies: - retry "^0.12.0" - p-timeout@^5.0.2: version "5.1.0" resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-5.1.0.tgz#b3c691cf4415138ce2d9cfe071dba11f0fee085b" @@ -8347,42 +4487,6 @@ p-try@^1.0.0: resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= -p-try@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" - integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== - -package-json@^6.3.0: - version "6.5.0" - resolved "https://registry.yarnpkg.com/package-json/-/package-json-6.5.0.tgz#6feedaca35e75725876d0b0e64974697fed145b0" - integrity sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ== - dependencies: - got "^9.6.0" - registry-auth-token "^4.0.0" - registry-url "^5.0.0" - semver "^6.2.0" - -pako@~1.0.5: - version "1.0.11" - resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" - integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== - -parallel-transform@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.2.0.tgz#9049ca37d6cb2182c3b1d2c720be94d14a5814fc" - integrity sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg== - dependencies: - cyclist "^1.0.1" - inherits "^2.0.3" - readable-stream "^2.1.5" - -param-case@2.1.x: - version "2.1.1" - resolved "https://registry.yarnpkg.com/param-case/-/param-case-2.1.1.tgz#df94fd8cf6531ecf75e6bef9a0858fbc72be2247" - integrity sha1-35T9jPZTHs915r75oIWPvHK+Ikc= - dependencies: - no-case "^2.2.0" - parent-module@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" @@ -8390,60 +4494,21 @@ parent-module@^1.0.0: dependencies: callsites "^3.0.0" -parse-asn1@^5.0.0, parse-asn1@^5.1.5: - version "5.1.6" - resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.6.tgz#385080a3ec13cb62a62d39409cb3e88844cdaed4" - integrity sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw== - dependencies: - asn1.js "^5.2.0" - browserify-aes "^1.0.0" - evp_bytestokey "^1.0.0" - pbkdf2 "^3.0.3" - safe-buffer "^5.1.1" - -parse-json@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" - integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= - dependencies: - error-ex "^1.3.1" - json-parse-better-errors "^1.0.1" - parse-ms@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/parse-ms/-/parse-ms-2.1.0.tgz#348565a753d4391fa524029956b172cb7753097d" integrity sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA== -parseurl@~1.3.2, parseurl@~1.3.3: +parseurl@~1.3.3: version "1.3.3" resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== -pascalcase@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" - integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= - -path-browserify@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a" - integrity sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ== - -path-dirname@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" - integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= - path-exists@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - path-exists@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-5.0.0.tgz#a6aad9489200b21fab31e49cf09277e5116fb9e7" @@ -8454,16 +4519,6 @@ path-is-absolute@^1.0.0: resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= -path-is-inside@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" - integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= - -path-key@^2.0.0, path-key@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" - integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= - path-key@^3.1.0: version "3.1.1" resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" @@ -8479,33 +4534,20 @@ path-to-regexp@0.1.7: resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= -path-type@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" - integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== - dependencies: - pify "^3.0.0" - path-type@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== -pbkdf2@^3.0.3: - version "3.1.2" - resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075" - integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA== - dependencies: - create-hash "^1.1.2" - create-hmac "^1.1.4" - ripemd160 "^2.0.1" - safe-buffer "^5.0.1" - sha.js "^2.4.8" +perfect-debounce@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/perfect-debounce/-/perfect-debounce-1.0.0.tgz#9c2e8bc30b169cc984a58b7d5b28049839591d2a" + integrity sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA== -performance-now@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" - integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.2.3: version "2.3.0" @@ -8517,33 +4559,6 @@ picomatch@^2.3.1: resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== -pify@^2.0.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" - integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= - -pify@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" - integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= - -pify@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" - integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== - -pinkie-promise@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" - integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= - dependencies: - pinkie "^2.0.0" - -pinkie@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" - integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= - pkg-conf@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/pkg-conf/-/pkg-conf-4.0.0.tgz#63ace00cbacfa94c2226aee133800802d3e3b80c" @@ -8552,20 +4567,6 @@ pkg-conf@^4.0.0: find-up "^6.0.0" load-json-file "^7.0.0" -pkg-dir@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" - integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw== - dependencies: - find-up "^3.0.0" - -pkg-dir@^4.1.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" - integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== - dependencies: - find-up "^4.0.0" - plur@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/plur/-/plur-5.1.0.tgz#bff58c9f557b9061d60d8ebf93959cf4b08594ae" @@ -8573,358 +4574,19 @@ plur@^5.1.0: dependencies: irregular-plurals "^3.3.0" -portfinder@^1.0.13, portfinder@^1.0.26: - version "1.0.28" - resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.28.tgz#67c4622852bd5374dd1dd900f779f53462fac778" - integrity sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA== - dependencies: - async "^2.6.2" - debug "^3.1.1" - mkdirp "^0.5.5" - -posix-character-classes@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" - integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= - -postcss-calc@^7.0.1: - version "7.0.5" - resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-7.0.5.tgz#f8a6e99f12e619c2ebc23cf6c486fdc15860933e" - integrity sha512-1tKHutbGtLtEZF6PT4JSihCHfIVldU72mZ8SdZHIYriIZ9fh9k9aWSppaT8rHsyI3dX+KSR+W+Ix9BMY3AODrg== - dependencies: - postcss "^7.0.27" - postcss-selector-parser "^6.0.2" - postcss-value-parser "^4.0.2" - -postcss-colormin@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-4.0.3.tgz#ae060bce93ed794ac71264f08132d550956bd381" - integrity sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw== - dependencies: - browserslist "^4.0.0" - color "^3.0.0" - has "^1.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-convert-values@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz#ca3813ed4da0f812f9d43703584e449ebe189a7f" - integrity sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ== - dependencies: - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-discard-comments@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz#1fbabd2c246bff6aaad7997b2b0918f4d7af4033" - integrity sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg== +postcss@^8.4.33, postcss@^8.4.35: + version "8.4.35" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.35.tgz#60997775689ce09011edf083a549cea44aabe2f7" + integrity sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA== dependencies: - postcss "^7.0.0" + nanoid "^3.3.7" + picocolors "^1.0.0" + source-map-js "^1.0.2" -postcss-discard-duplicates@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz#3fe133cd3c82282e550fc9b239176a9207b784eb" - integrity sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ== - dependencies: - postcss "^7.0.0" - -postcss-discard-empty@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz#c8c951e9f73ed9428019458444a02ad90bb9f765" - integrity sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w== - dependencies: - postcss "^7.0.0" - -postcss-discard-overridden@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz#652aef8a96726f029f5e3e00146ee7a4e755ff57" - integrity sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg== - dependencies: - postcss "^7.0.0" - -postcss-load-config@^2.0.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-2.1.2.tgz#c5ea504f2c4aef33c7359a34de3573772ad7502a" - integrity sha512-/rDeGV6vMUo3mwJZmeHfEDvwnTKKqQ0S7OHUi/kJvvtx3aWtyWG2/0ZWnzCt2keEclwN6Tf0DST2v9kITdOKYw== - dependencies: - cosmiconfig "^5.0.0" - import-cwd "^2.0.0" - -postcss-loader@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-3.0.0.tgz#6b97943e47c72d845fa9e03f273773d4e8dd6c2d" - integrity sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA== - dependencies: - loader-utils "^1.1.0" - postcss "^7.0.0" - postcss-load-config "^2.0.0" - schema-utils "^1.0.0" - -postcss-merge-longhand@^4.0.11: - version "4.0.11" - resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz#62f49a13e4a0ee04e7b98f42bb16062ca2549e24" - integrity sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw== - dependencies: - css-color-names "0.0.4" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - stylehacks "^4.0.0" - -postcss-merge-rules@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz#362bea4ff5a1f98e4075a713c6cb25aefef9a650" - integrity sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ== - dependencies: - browserslist "^4.0.0" - caniuse-api "^3.0.0" - cssnano-util-same-parent "^4.0.0" - postcss "^7.0.0" - postcss-selector-parser "^3.0.0" - vendors "^1.0.0" - -postcss-minify-font-values@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz#cd4c344cce474343fac5d82206ab2cbcb8afd5a6" - integrity sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg== - dependencies: - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-minify-gradients@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz#93b29c2ff5099c535eecda56c4aa6e665a663471" - integrity sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q== - dependencies: - cssnano-util-get-arguments "^4.0.0" - is-color-stop "^1.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-minify-params@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz#6b9cef030c11e35261f95f618c90036d680db874" - integrity sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg== - dependencies: - alphanum-sort "^1.0.0" - browserslist "^4.0.0" - cssnano-util-get-arguments "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - uniqs "^2.0.0" - -postcss-minify-selectors@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz#e2e5eb40bfee500d0cd9243500f5f8ea4262fbd8" - integrity sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g== - dependencies: - alphanum-sort "^1.0.0" - has "^1.0.0" - postcss "^7.0.0" - postcss-selector-parser "^3.0.0" - -postcss-modules-extract-imports@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz#818719a1ae1da325f9832446b01136eeb493cd7e" - integrity sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ== - dependencies: - postcss "^7.0.5" - -postcss-modules-local-by-default@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-2.0.6.tgz#dd9953f6dd476b5fd1ef2d8830c8929760b56e63" - integrity sha512-oLUV5YNkeIBa0yQl7EYnxMgy4N6noxmiwZStaEJUSe2xPMcdNc8WmBQuQCx18H5psYbVxz8zoHk0RAAYZXP9gA== - dependencies: - postcss "^7.0.6" - postcss-selector-parser "^6.0.0" - postcss-value-parser "^3.3.1" - -postcss-modules-scope@^2.1.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz#385cae013cc7743f5a7d7602d1073a89eaae62ee" - integrity sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ== - dependencies: - postcss "^7.0.6" - postcss-selector-parser "^6.0.0" - -postcss-modules-values@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-2.0.0.tgz#479b46dc0c5ca3dc7fa5270851836b9ec7152f64" - integrity sha512-Ki7JZa7ff1N3EIMlPnGTZfUMe69FFwiQPnVSXC9mnn3jozCRBYIxiZd44yJOV2AmabOo4qFf8s0dC/+lweG7+w== - dependencies: - icss-replace-symbols "^1.1.0" - postcss "^7.0.6" - -postcss-normalize-charset@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz#8b35add3aee83a136b0471e0d59be58a50285dd4" - integrity sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g== - dependencies: - postcss "^7.0.0" - -postcss-normalize-display-values@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz#0dbe04a4ce9063d4667ed2be476bb830c825935a" - integrity sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ== - dependencies: - cssnano-util-get-match "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-positions@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz#05f757f84f260437378368a91f8932d4b102917f" - integrity sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA== - dependencies: - cssnano-util-get-arguments "^4.0.0" - has "^1.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-repeat-style@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz#c4ebbc289f3991a028d44751cbdd11918b17910c" - integrity sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q== - dependencies: - cssnano-util-get-arguments "^4.0.0" - cssnano-util-get-match "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-string@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz#cd44c40ab07a0c7a36dc5e99aace1eca4ec2690c" - integrity sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA== - dependencies: - has "^1.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-timing-functions@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz#8e009ca2a3949cdaf8ad23e6b6ab99cb5e7d28d9" - integrity sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A== - dependencies: - cssnano-util-get-match "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-unicode@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz#841bd48fdcf3019ad4baa7493a3d363b52ae1cfb" - integrity sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg== - dependencies: - browserslist "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-url@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz#10e437f86bc7c7e58f7b9652ed878daaa95faae1" - integrity sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA== - dependencies: - is-absolute-url "^2.0.0" - normalize-url "^3.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-whitespace@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz#bf1d4070fe4fcea87d1348e825d8cc0c5faa7d82" - integrity sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA== - dependencies: - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-ordered-values@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz#0cf75c820ec7d5c4d280189559e0b571ebac0eee" - integrity sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw== - dependencies: - cssnano-util-get-arguments "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-reduce-initial@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz#7fd42ebea5e9c814609639e2c2e84ae270ba48df" - integrity sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA== - dependencies: - browserslist "^4.0.0" - caniuse-api "^3.0.0" - has "^1.0.0" - postcss "^7.0.0" - -postcss-reduce-transforms@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz#17efa405eacc6e07be3414a5ca2d1074681d4e29" - integrity sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg== - dependencies: - cssnano-util-get-match "^4.0.0" - has "^1.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-safe-parser@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-safe-parser/-/postcss-safe-parser-4.0.2.tgz#a6d4e48f0f37d9f7c11b2a581bf00f8ba4870b96" - integrity sha512-Uw6ekxSWNLCPesSv/cmqf2bY/77z11O7jZGPax3ycZMFU/oi2DMH9i89AdHc1tRwFg/arFoEwX0IS3LCUxJh1g== - dependencies: - postcss "^7.0.26" - -postcss-selector-parser@^3.0.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz#b310f5c4c0fdaf76f94902bbaa30db6aa84f5270" - integrity sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA== - dependencies: - dot-prop "^5.2.0" - indexes-of "^1.0.1" - uniq "^1.0.1" - -postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2: - version "6.0.6" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz#2c5bba8174ac2f6981ab631a42ab0ee54af332ea" - integrity sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg== - dependencies: - cssesc "^3.0.0" - util-deprecate "^1.0.2" - -postcss-svgo@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-4.0.3.tgz#343a2cdbac9505d416243d496f724f38894c941e" - integrity sha512-NoRbrcMWTtUghzuKSoIm6XV+sJdvZ7GZSc3wdBN0W19FTtp2ko8NqLsgoh/m9CzNhU3KLPvQmjIwtaNFkaFTvw== - dependencies: - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - svgo "^1.0.0" - -postcss-unique-selectors@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz#9446911f3289bfd64c6d680f073c03b1f9ee4bac" - integrity sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg== - dependencies: - alphanum-sort "^1.0.0" - postcss "^7.0.0" - uniqs "^2.0.0" - -postcss-value-parser@^3.0.0, postcss-value-parser@^3.3.0, postcss-value-parser@^3.3.1: - version "3.3.1" - resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" - integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== - -postcss-value-parser@^4.0.2, postcss-value-parser@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb" - integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== - -postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.26, postcss@^7.0.27, postcss@^7.0.32, postcss@^7.0.5, postcss@^7.0.6: - version "7.0.36" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.36.tgz#056f8cffa939662a8f5905950c07d5285644dfcb" - integrity sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw== - dependencies: - chalk "^2.4.2" - source-map "^0.6.1" - supports-color "^6.1.0" +preact@^10.0.0: + version "10.19.4" + resolved "https://registry.yarnpkg.com/preact/-/preact-10.19.4.tgz#735d331d5b1bd2182cc36f2ba481fd6f0da3fe3b" + integrity sha512-dwaX5jAh0Ga8uENBX1hSOujmKWgx9RtL80KaKUFLc6jb4vCEAc3EeZ0rnQO/FO4VgjfPMfoLFWnNG8bHuZ9VLw== prebuild-install@^7.1.0: version "7.1.1" @@ -8949,11 +4611,6 @@ prelude-ls@^1.2.1: resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== -prepend-http@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" - integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc= - prettier-linter-helpers@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b" @@ -8961,19 +4618,11 @@ prettier-linter-helpers@^1.0.0: dependencies: fast-diff "^1.1.2" -prettier@^1.18.2, prettier@^1.19.1: +prettier@^1.19.1: version "1.19.1" resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb" integrity sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew== -pretty-error@^2.0.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.2.tgz#be89f82d81b1c86ec8fdfbc385045882727f93b6" - integrity sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw== - dependencies: - lodash "^4.17.20" - renderkid "^2.0.4" - pretty-ms@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/pretty-ms/-/pretty-ms-7.0.1.tgz#7d903eaab281f7d8e03c66f867e239dc32fb73e8" @@ -8981,26 +4630,6 @@ pretty-ms@^7.0.1: dependencies: parse-ms "^2.1.0" -pretty-time@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/pretty-time/-/pretty-time-1.1.0.tgz#ffb7429afabb8535c346a34e41873adf3d74dd0e" - integrity sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA== - -prismjs@^1.13.0: - version "1.28.0" - resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.28.0.tgz#0d8f561fa0f7cf6ebca901747828b149147044b6" - integrity sha512-8aaXdYvl1F7iC7Xm1spqSaY/OJBpYW3v+KJ+F17iYxvdc8sfjW194COK5wVhMZX45tGteiBQgdvD/nhxcRwylw== - -process-nextick-args@~2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" - integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== - -process@^0.11.10: - version "0.11.10" - resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" - integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= - progress@^2.0.0: version "2.0.3" resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" @@ -9027,41 +4656,6 @@ proxy-addr@~2.0.7: forwarded "0.2.0" ipaddr.js "1.9.1" -prr@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" - integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= - -pseudomap@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" - integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= - -psl@^1.1.28: - version "1.8.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" - integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== - -public-encrypt@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" - integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== - dependencies: - bn.js "^4.1.0" - browserify-rsa "^4.0.0" - create-hash "^1.1.0" - parse-asn1 "^5.0.0" - randombytes "^2.0.1" - safe-buffer "^5.1.2" - -pump@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" - integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - pump@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" @@ -9070,47 +4664,16 @@ pump@^3.0.0: end-of-stream "^1.1.0" once "^1.3.1" -pumpify@^1.3.3: - version "1.5.1" - resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" - integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ== - dependencies: - duplexify "^3.6.0" - inherits "^2.0.3" - pump "^2.0.0" - -punycode@1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" - integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= - -punycode@^1.2.4: - version "1.4.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" - integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= - -punycode@^2.1.0, punycode@^2.1.1: +punycode@^2.1.0: version "2.1.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== -pupa@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/pupa/-/pupa-2.1.1.tgz#f5e8fd4afc2c5d97828faa523549ed8744a20d62" - integrity sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A== - dependencies: - escape-goat "^2.0.0" - pure-rand@^6.0.0: version "6.0.2" resolved "https://registry.yarnpkg.com/pure-rand/-/pure-rand-6.0.2.tgz#a9c2ddcae9b68d736a8163036f088a2781c8b306" integrity sha512-6Yg0ekpKICSjPswYOuC5sku/TSWaRYlA0qsXqJgM/d/4pLPHPuTxK7Nbf7jFKzAeedUhR8C7K9Uv63FBsSo8xQ== -q@^1.1.2: - version "1.5.1" - resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" - integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= - qs@6.11.0: version "6.11.0" resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a" @@ -9118,56 +4681,12 @@ qs@6.11.0: dependencies: side-channel "^1.0.4" -qs@~6.5.2: - version "6.5.3" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.3.tgz#3aeeffc91967ef6e35c0e488ef46fb296ab76aad" - integrity sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA== - -query-string@^5.0.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/query-string/-/query-string-5.1.1.tgz#a78c012b71c17e05f2e3fa2319dd330682efb3cb" - integrity sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw== - dependencies: - decode-uri-component "^0.2.0" - object-assign "^4.1.0" - strict-uri-encode "^1.0.0" - -querystring-es3@^0.2.0, querystring-es3@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" - integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM= - -querystring@0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" - integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= - -querystringify@^2.1.1: - version "2.2.0" - resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" - integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== - queue-microtask@^1.2.2: version "1.2.3" resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== -randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" - integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== - dependencies: - safe-buffer "^5.1.0" - -randomfill@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" - integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== - dependencies: - randombytes "^2.0.5" - safe-buffer "^5.1.0" - -range-parser@^1.2.1, range-parser@~1.2.1: +range-parser@~1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== @@ -9182,7 +4701,7 @@ raw-body@2.5.1: iconv-lite "0.4.24" unpipe "1.0.0" -rc@^1.2.7, rc@^1.2.8: +rc@^1.2.7: version "1.2.8" resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== @@ -9192,20 +4711,7 @@ rc@^1.2.7, rc@^1.2.8: minimist "^1.2.0" strip-json-comments "~2.0.1" -"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6: - version "2.3.7" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" - integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.1.1" - util-deprecate "~1.0.1" - -readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0: +readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== @@ -9214,22 +4720,6 @@ readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.4.0, readable string_decoder "^1.1.1" util-deprecate "^1.0.1" -readdirp@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" - integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ== - dependencies: - graceful-fs "^4.1.11" - micromatch "^3.1.10" - readable-stream "^2.0.2" - -readdirp@~3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.5.0.tgz#9ba74c019b15d365278d2e91bb8c48d7b4d42c9e" - integrity sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ== - dependencies: - picomatch "^2.2.1" - readdirp@~3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" @@ -9237,53 +4727,6 @@ readdirp@~3.6.0: dependencies: picomatch "^2.2.1" -reduce@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/reduce/-/reduce-1.0.2.tgz#0cd680ad3ffe0b060e57a5c68bdfce37168d361b" - integrity sha512-xX7Fxke/oHO5IfZSk77lvPa/7bjMh9BuCk4OOoX5XTXrM7s0Z+MkPfSDfz0q7r91BhhGSs8gii/VEN/7zhCPpQ== - dependencies: - object-keys "^1.1.0" - -regenerate-unicode-properties@^8.2.0: - version "8.2.0" - resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz#e5de7111d655e7ba60c057dbe9ff37c87e65cdec" - integrity sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA== - dependencies: - regenerate "^1.4.0" - -regenerate@^1.4.0: - version "1.4.2" - resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" - integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== - -regenerator-runtime@^0.13.4: - version "0.13.7" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz#cac2dacc8a1ea675feaabaeb8ae833898ae46f55" - integrity sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew== - -regenerator-transform@^0.14.2: - version "0.14.5" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.5.tgz#c98da154683671c9c4dcb16ece736517e1b7feb4" - integrity sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw== - dependencies: - "@babel/runtime" "^7.8.4" - -regex-not@^1.0.0, regex-not@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" - integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== - dependencies: - extend-shallow "^3.0.2" - safe-regex "^1.1.0" - -regexp.prototype.flags@^1.2.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz#7ef352ae8d159e758c0eadca6f8fcb4eef07be26" - integrity sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - regexp.prototype.flags@^1.4.3: version "1.4.3" resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz#87cab30f80f66660181a3bb7bf5981a872b367ac" @@ -9298,106 +4741,11 @@ regexpp@^3.1.0: resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2" integrity sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q== -regexpu-core@^4.7.1: - version "4.7.1" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.7.1.tgz#2dea5a9a07233298fbf0db91fa9abc4c6e0f8ad6" - integrity sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ== - dependencies: - regenerate "^1.4.0" - regenerate-unicode-properties "^8.2.0" - regjsgen "^0.5.1" - regjsparser "^0.6.4" - unicode-match-property-ecmascript "^1.0.4" - unicode-match-property-value-ecmascript "^1.2.0" - regextras@^0.8.0: version "0.8.0" resolved "https://registry.yarnpkg.com/regextras/-/regextras-0.8.0.tgz#ec0f99853d4912839321172f608b544814b02217" integrity sha512-k519uI04Z3SaY0fLX843MRXnDeG2+vHOFsyhiPZvNLe7r8rD2YNRjq4BQLZZ0oAr2NrtvZlICsXysGNFPGa3CQ== -registry-auth-token@^4.0.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.2.1.tgz#6d7b4006441918972ccd5fedcd41dc322c79b250" - integrity sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw== - dependencies: - rc "^1.2.8" - -registry-url@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-5.1.0.tgz#e98334b50d5434b81136b44ec638d9c2009c5009" - integrity sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw== - dependencies: - rc "^1.2.8" - -regjsgen@^0.5.1: - version "0.5.2" - resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.2.tgz#92ff295fb1deecbf6ecdab2543d207e91aa33733" - integrity sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A== - -regjsparser@^0.6.4: - version "0.6.9" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.9.tgz#b489eef7c9a2ce43727627011429cf833a7183e6" - integrity sha512-ZqbNRz1SNjLAiYuwY0zoXW8Ne675IX5q+YHioAGbCw4X96Mjl2+dcX9B2ciaeyYjViDAfvIjFpQjJgLttTEERQ== - dependencies: - jsesc "~0.5.0" - -relateurl@0.2.x: - version "0.2.7" - resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" - integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk= - -remove-trailing-separator@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" - integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= - -renderkid@^2.0.4: - version "2.0.5" - resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.5.tgz#483b1ac59c6601ab30a7a596a5965cabccfdd0a5" - integrity sha512-ccqoLg+HLOHq1vdfYNm4TBeaCDIi1FLt3wGojTDSvdewUv65oTmI3cnT2E4hRjl1gzKZIPK+KZrXzlUYKnR+vQ== - dependencies: - css-select "^2.0.2" - dom-converter "^0.2" - htmlparser2 "^3.10.1" - lodash "^4.17.20" - strip-ansi "^3.0.0" - -repeat-element@^1.1.2: - version "1.1.4" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9" - integrity sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ== - -repeat-string@^1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= - -request@^2.87.0: - version "2.88.2" - resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" - integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== - dependencies: - aws-sign2 "~0.7.0" - aws4 "^1.8.0" - caseless "~0.12.0" - combined-stream "~1.0.6" - extend "~3.0.2" - forever-agent "~0.6.1" - form-data "~2.3.2" - har-validator "~5.1.3" - http-signature "~1.2.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.19" - oauth-sign "~0.9.0" - performance-now "^2.1.0" - qs "~6.5.2" - safe-buffer "^5.1.2" - tough-cookie "~2.5.0" - tunnel-agent "^0.6.0" - uuid "^3.3.2" - require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" @@ -9408,23 +4756,11 @@ require-from-string@^2.0.2: resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== -require-main-filename@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" - integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== - requires-port@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== -resolve-cwd@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a" - integrity sha1-AKn3OHVW4nA46uIyyqNypqWbZlo= - dependencies: - resolve-from "^3.0.0" - resolve-cwd@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" @@ -9432,11 +4768,6 @@ resolve-cwd@^3.0.0: dependencies: resolve-from "^5.0.0" -resolve-from@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" - integrity sha1-six699nWiBvItuZTM17rywoYh0g= - resolve-from@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" @@ -9447,12 +4778,7 @@ resolve-from@^5.0.0: resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== -resolve-url@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" - integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= - -resolve@^1.12.0, resolve@^1.14.2, resolve@^1.17.0, resolve@^1.19.0, resolve@^1.2.0, resolve@^1.20.0: +resolve@^1.12.0, resolve@^1.17.0, resolve@^1.19.0, resolve@^1.20.0: version "1.21.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.21.0.tgz#b51adc97f3472e6a5cf4444d34bc9d6b9037591f" integrity sha512-3wCbTpk5WJlyE4mSOtDLhqQmGFi0/TD9VPwmiolnk8U0wRgMEktqCXd3vy5buTO3tljvalNvKrjHEfrd2WpEKA== @@ -9470,18 +4796,6 @@ resolve@^1.22.0: path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" -responselike@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7" - integrity sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec= - dependencies: - lowercase-keys "^1.0.0" - -ret@~0.1.10: - version "0.1.15" - resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" - integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== - retry@^0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" @@ -9492,22 +4806,10 @@ reusify@^1.0.4: resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== -rgb-regex@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/rgb-regex/-/rgb-regex-1.0.1.tgz#c0e0d6882df0e23be254a475e8edd41915feaeb1" - integrity sha1-wODWiC3w4jviVKR16O3UGRX+rrE= - -rgba-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/rgba-regex/-/rgba-regex-1.0.0.tgz#43374e2e2ca0968b0ef1523460b7d730ff22eeb3" - integrity sha1-QzdOLiyglosO8VI0YLfXMP8i7rM= - -rimraf@^2.5.4, rimraf@^2.6.3: - version "2.7.1" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" - integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== - dependencies: - glob "^7.1.3" +rfdc@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.1.tgz#2b6d4df52dffe8bb346992a10ea9451f24373a8f" + integrity sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg== rimraf@^3.0.0, rimraf@^3.0.2: version "3.0.2" @@ -9523,14 +4825,6 @@ rimraf@~2.6.2: dependencies: glob "^7.1.3" -ripemd160@^2.0.0, ripemd160@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" - integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - rollup@^2.79.1: version "2.79.1" resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.79.1.tgz#bedee8faef7c9f93a2647ac0108748f497f081c7" @@ -9538,6 +4832,28 @@ rollup@^2.79.1: optionalDependencies: fsevents "~2.3.2" +rollup@^4.2.0: + version "4.9.6" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.9.6.tgz#4515facb0318ecca254a2ee1315e22e09efc50a0" + integrity sha512-05lzkCS2uASX0CiLFybYfVkwNbKZG5NFQ6Go0VWyogFTXXbR039UVsegViTntkk4OglHBdF54ccApXRRuXRbsg== + dependencies: + "@types/estree" "1.0.5" + optionalDependencies: + "@rollup/rollup-android-arm-eabi" "4.9.6" + "@rollup/rollup-android-arm64" "4.9.6" + "@rollup/rollup-darwin-arm64" "4.9.6" + "@rollup/rollup-darwin-x64" "4.9.6" + "@rollup/rollup-linux-arm-gnueabihf" "4.9.6" + "@rollup/rollup-linux-arm64-gnu" "4.9.6" + "@rollup/rollup-linux-arm64-musl" "4.9.6" + "@rollup/rollup-linux-riscv64-gnu" "4.9.6" + "@rollup/rollup-linux-x64-gnu" "4.9.6" + "@rollup/rollup-linux-x64-musl" "4.9.6" + "@rollup/rollup-win32-arm64-msvc" "4.9.6" + "@rollup/rollup-win32-ia32-msvc" "4.9.6" + "@rollup/rollup-win32-x64-msvc" "4.9.6" + fsevents "~2.3.2" + run-parallel@^1.1.9: version "1.2.0" resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" @@ -9545,96 +4861,27 @@ run-parallel@^1.1.9: dependencies: queue-microtask "^1.2.2" -run-queue@^1.0.0, run-queue@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" - integrity sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec= - dependencies: - aproba "^1.1.1" - -safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: +safe-buffer@5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== -safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: +safe-buffer@5.2.1, safe-buffer@^5.0.1, safe-buffer@~5.2.0: version "5.2.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== -safe-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" - integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= - dependencies: - ret "~0.1.10" - -"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@^2.1.2, safer-buffer@~2.1.0: +"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0": version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== -sax@~1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" - integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== - -schema-utils@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770" - integrity sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g== - dependencies: - ajv "^6.1.0" - ajv-errors "^1.0.0" - ajv-keywords "^3.1.0" - -schema-utils@^2.6.5: - version "2.7.1" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7" - integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg== - dependencies: - "@types/json-schema" "^7.0.5" - ajv "^6.12.4" - ajv-keywords "^3.5.2" - -section-matter@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/section-matter/-/section-matter-1.0.0.tgz#e9041953506780ec01d59f292a19c7b850b84167" - integrity sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA== - dependencies: - extend-shallow "^2.0.1" - kind-of "^6.0.0" - -select-hose@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" - integrity sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo= - -selfsigned@^1.10.8: - version "1.10.11" - resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.11.tgz#24929cd906fe0f44b6d01fb23999a739537acbe9" - integrity sha512-aVmbPOfViZqOZPgRBT0+3u4yZFHpmnIghLMlAcb5/xhp5ZtB/RVnKhz5vl2M32CLXAqR4kha9zfhNg0Lf/sxKA== - dependencies: - node-forge "^0.10.0" - -semver-diff@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-3.1.1.tgz#05f77ce59f325e00e2706afd67bb506ddb1ca32b" - integrity sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg== - dependencies: - semver "^6.3.0" - -semver@7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" - integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== - -semver@^5.1.0, semver@^5.5.0, semver@^5.6.0: - version "5.7.2" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" - integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== +sax@~1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.3.0.tgz#a5dbe77db3be05c9d1ee7785dbd3ea9de51593d0" + integrity sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA== -semver@^6.0.0, semver@^6.1.0, semver@^6.1.1, semver@^6.1.2, semver@^6.2.0, semver@^6.3.0: +semver@^6.0.0, semver@^6.3.0: version "6.3.1" resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== @@ -9672,33 +4919,6 @@ serialize-error@^7.0.1: dependencies: type-fest "^0.13.1" -serialize-javascript@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-3.1.0.tgz#8bf3a9170712664ef2561b44b691eafe399214ea" - integrity sha512-JIJT1DGiWmIKhzRsG91aS6Ze4sFUrYbltlkg2onR5OrnNM02Kl/hnY/T4FN2omvyeBbQmMJv+K4cPOpGzOTFBg== - dependencies: - randombytes "^2.1.0" - -serialize-javascript@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa" - integrity sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw== - dependencies: - randombytes "^2.1.0" - -serve-index@^1.9.1: - version "1.9.1" - resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" - integrity sha1-03aNabHn2C5c4FD/9bRTvqEqkjk= - dependencies: - accepts "~1.3.4" - batch "0.6.1" - debug "2.6.9" - escape-html "~1.0.3" - http-errors "~1.6.2" - mime-types "~2.1.17" - parseurl "~1.3.2" - serve-static@1.15.0: version "1.15.0" resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540" @@ -9721,46 +4941,11 @@ set-blocking@^2.0.0: resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= -set-value@^2.0.0, set-value@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" - integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== - dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.3" - split-string "^3.0.1" - -setimmediate@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" - integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= - -setprototypeof@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" - integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== - setprototypeof@1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== -sha.js@^2.4.0, sha.js@^2.4.8: - version "2.4.11" - resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" - integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -shebang-command@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" - integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= - dependencies: - shebang-regex "^1.0.0" - shebang-command@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" @@ -9768,16 +4953,18 @@ shebang-command@^2.0.0: dependencies: shebang-regex "^3.0.0" -shebang-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" - integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= - shebang-regex@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== +shiki@1.0.0, shiki@^1.0.0-rc.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/shiki/-/shiki-1.0.0.tgz#963059ec0df11cca75e2e95054a33289679b239d" + integrity sha512-rOUGJa3yFGgOrEoiELYxraoBbag3ZWf9bpodlr05Wjm85Scx8OIX+otdSefq9Pk7L47TKEzGodSQb4L38jka6A== + dependencies: + "@shikijs/core" "1.0.0" + side-channel@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" @@ -9787,7 +4974,7 @@ side-channel@^1.0.4: get-intrinsic "^1.0.2" object-inspect "^1.9.0" -signal-exit@^3.0.0, signal-exit@^3.0.2: +signal-exit@^3.0.0: version "3.0.3" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== @@ -9811,23 +4998,6 @@ simple-get@^4.0.0: once "^1.3.1" simple-concat "^1.0.0" -simple-swizzle@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" - integrity sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo= - dependencies: - is-arrayish "^0.3.1" - -slash@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" - integrity sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU= - -slash@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" - integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A== - slash@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" @@ -9860,62 +5030,6 @@ smart-buffer@^4.2.0: resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.2.0.tgz#6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae" integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== -smoothscroll-polyfill@^0.4.3: - version "0.4.4" - resolved "https://registry.yarnpkg.com/smoothscroll-polyfill/-/smoothscroll-polyfill-0.4.4.tgz#3a259131dc6930e6ca80003e1cb03b603b69abf8" - integrity sha512-TK5ZA9U5RqCwMpfoMq/l1mrH0JAR7y7KRvOBx0n2869aLxch+gT9GhN3yUfjiw+d/DiF1mKo14+hd62JyMmoBg== - -snapdragon-node@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" - integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== - dependencies: - define-property "^1.0.0" - isobject "^3.0.0" - snapdragon-util "^3.0.1" - -snapdragon-util@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" - integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== - dependencies: - kind-of "^3.2.0" - -snapdragon@^0.8.1: - version "0.8.2" - resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" - integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== - dependencies: - base "^0.11.1" - debug "^2.2.0" - define-property "^0.2.5" - extend-shallow "^2.0.1" - map-cache "^0.2.2" - source-map "^0.5.6" - source-map-resolve "^0.5.0" - use "^3.1.0" - -sockjs-client@^1.5.0: - version "1.5.1" - resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.5.1.tgz#256908f6d5adfb94dabbdbd02c66362cca0f9ea6" - integrity sha512-VnVAb663fosipI/m6pqRXakEOw7nvd7TUgdr3PlR/8V2I95QIdwT8L4nMxhyU8SmDBHYXU1TOElaKOmKLfYzeQ== - dependencies: - debug "^3.2.6" - eventsource "^1.0.7" - faye-websocket "^0.11.3" - inherits "^2.0.4" - json3 "^3.3.3" - url-parse "^1.5.1" - -sockjs@^0.3.21: - version "0.3.21" - resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.21.tgz#b34ffb98e796930b60a0cfa11904d6a339a7d417" - integrity sha512-DhbPFGpxjc6Z3I+uX07Id5ZO2XwYsWOrYjaSeieES78cq+JaJvVe5q/m1uvjIQhXinhIeCFRH6JgXe+mvVMyXw== - dependencies: - faye-websocket "^0.11.3" - uuid "^3.4.0" - websocket-driver "^0.7.4" - socks-proxy-agent@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz#dc069ecf34436621acb41e3efa66ca1b5fed15b6" @@ -9933,57 +5047,16 @@ socks@^2.6.2: ip "^2.0.0" smart-buffer "^4.2.0" -sort-keys@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-2.0.0.tgz#658535584861ec97d730d6cf41822e1f56684128" - integrity sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg= - dependencies: - is-plain-obj "^1.0.0" - -source-list-map@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" - integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== - -source-map-resolve@^0.5.0, source-map-resolve@^0.5.2: - version "0.5.3" - resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" - integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== - dependencies: - atob "^2.1.2" - decode-uri-component "^0.2.0" - resolve-url "^0.2.1" - source-map-url "^0.4.0" - urix "^0.1.0" - -source-map-support@~0.5.12: - version "0.5.21" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" - integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map-url@^0.4.0: - version "0.4.1" - resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" - integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== - -source-map@0.5.6: - version "0.5.6" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" - integrity sha1-dc449SvwczxafwwRjYEzSiu19BI= +source-map-js@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" + integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== -source-map@^0.5.0, source-map@^0.5.6: +source-map@^0.5.0: version "0.5.7" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= -source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - source-map@^0.7.3: version "0.7.3" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" @@ -10012,150 +5085,34 @@ spdx-license-ids@^3.0.0: resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.9.tgz#8a595135def9592bda69709474f1cbeea7c2467f" integrity sha512-Ki212dKK4ogX+xDo4CtOZBVIwhsKBEfsEEcwmJfLQzirgc2jIWdzg40Unxz/HzEUqM1WFzVlQSMF9kZZ2HboLQ== -spdy-transport@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31" - integrity sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw== - dependencies: - debug "^4.1.0" - detect-node "^2.0.4" - hpack.js "^2.1.6" - obuf "^1.1.2" - readable-stream "^3.0.6" - wbuf "^1.7.3" - -spdy@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/spdy/-/spdy-4.0.2.tgz#b74f466203a3eda452c02492b91fb9e84a27677b" - integrity sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA== - dependencies: - debug "^4.1.0" - handle-thing "^2.0.0" - http-deceiver "^1.2.7" - select-hose "^2.0.0" - spdy-transport "^3.0.0" - -split-string@^3.0.1, split-string@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" - integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== - dependencies: - extend-shallow "^3.0.0" +speakingurl@^14.0.1: + version "14.0.1" + resolved "https://registry.yarnpkg.com/speakingurl/-/speakingurl-14.0.1.tgz#f37ec8ddc4ab98e9600c1c9ec324a8c48d772a53" + integrity sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ== sprintf-js@~1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= -sshpk@^1.7.0: - version "1.16.1" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" - integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== - dependencies: - asn1 "~0.2.3" - assert-plus "^1.0.0" - bcrypt-pbkdf "^1.0.0" - dashdash "^1.12.0" - ecc-jsbn "~0.1.1" - getpass "^0.1.1" - jsbn "~0.1.0" - safer-buffer "^2.0.2" - tweetnacl "~0.14.0" - -ssri@^6.0.1: - version "6.0.2" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.2.tgz#157939134f20464e7301ddba3e90ffa8f7728ac5" - integrity sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q== - dependencies: - figgy-pudding "^3.5.1" - ssri@^9.0.0: version "9.0.1" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-9.0.1.tgz#544d4c357a8d7b71a19700074b6883fcb4eae057" - integrity sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q== - dependencies: - minipass "^3.1.1" - -stable@^0.1.8: - version "0.1.8" - resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" - integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== - -stack-utils@^1.0.1: - version "1.0.5" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.5.tgz#a19b0b01947e0029c8e451d5d61a498f5bb1471b" - integrity sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ== - dependencies: - escape-string-regexp "^2.0.0" - -stack-utils@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.5.tgz#d25265fca995154659dbbfba3b49254778d2fdd5" - integrity sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA== - dependencies: - escape-string-regexp "^2.0.0" - -static-extend@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" - integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= - dependencies: - define-property "^0.2.5" - object-copy "^0.1.0" - -statuses@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" - integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== - -"statuses@>= 1.4.0 < 2": - version "1.5.0" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" - integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= - -std-env@^2.2.1: - version "2.3.0" - resolved "https://registry.yarnpkg.com/std-env/-/std-env-2.3.0.tgz#66d4a4a4d5224242ed8e43f5d65cfa9095216eee" - integrity sha512-4qT5B45+Kjef2Z6pE0BkskzsH0GO7GrND0wGlTM1ioUe3v0dGYx9ZJH0Aro/YyA8fqQ5EyIKDRjZojJYMFTflw== - dependencies: - ci-info "^3.0.0" - -stream-browserify@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b" - integrity sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg== - dependencies: - inherits "~2.0.1" - readable-stream "^2.0.2" - -stream-each@^1.1.0: - version "1.2.3" - resolved "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae" - integrity sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw== + resolved "https://registry.yarnpkg.com/ssri/-/ssri-9.0.1.tgz#544d4c357a8d7b71a19700074b6883fcb4eae057" + integrity sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q== dependencies: - end-of-stream "^1.1.0" - stream-shift "^1.0.0" + minipass "^3.1.1" -stream-http@^2.7.2: - version "2.8.3" - resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc" - integrity sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw== +stack-utils@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.5.tgz#d25265fca995154659dbbfba3b49254778d2fdd5" + integrity sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA== dependencies: - builtin-status-codes "^3.0.0" - inherits "^2.0.1" - readable-stream "^2.3.6" - to-arraybuffer "^1.0.0" - xtend "^4.0.0" - -stream-shift@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d" - integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ== + escape-string-regexp "^2.0.0" -strict-uri-encode@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" - integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM= +statuses@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" + integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== "string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.2.3: version "4.2.3" @@ -10166,16 +5123,7 @@ strict-uri-encode@^1.0.0: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.1" -string-width@^3.0.0, string-width@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" - integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== - dependencies: - emoji-regex "^7.0.1" - is-fullwidth-code-point "^2.0.0" - strip-ansi "^5.1.0" - -string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0: +string-width@^4.1.0, string-width@^4.2.0: version "4.2.2" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.2.tgz#dafd4f9559a7585cfba529c6a0a4f73488ebd4c5" integrity sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA== @@ -10227,34 +5175,13 @@ string.prototype.trimstart@^1.0.5: define-properties "^1.1.4" es-abstract "^1.19.5" -string_decoder@^1.0.0, string_decoder@^1.1.1: +string_decoder@^1.1.1: version "1.3.0" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== dependencies: safe-buffer "~5.2.0" -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== - dependencies: - safe-buffer "~5.1.0" - -strip-ansi@^3.0.0, strip-ansi@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" - integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= - dependencies: - ansi-regex "^2.0.0" - -strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" - integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== - dependencies: - ansi-regex "^4.1.0" - strip-ansi@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" @@ -10276,21 +5203,11 @@ strip-ansi@^7.0.1: dependencies: ansi-regex "^6.0.1" -strip-bom-string@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-bom-string/-/strip-bom-string-1.0.0.tgz#e5211e9224369fbb81d633a2f00044dc8cedad92" - integrity sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI= - strip-bom@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= -strip-eof@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" - integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= - strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" @@ -10301,36 +5218,15 @@ strip-json-comments@~2.0.1: resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= -stylehacks@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-4.0.3.tgz#6718fcaf4d1e07d8a1318690881e8d96726a71d5" - integrity sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g== - dependencies: - browserslist "^4.0.0" - postcss "^7.0.0" - postcss-selector-parser "^3.0.0" - -stylus-loader@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/stylus-loader/-/stylus-loader-3.0.2.tgz#27a706420b05a38e038e7cacb153578d450513c6" - integrity sha512-+VomPdZ6a0razP+zinir61yZgpw2NfljeSsdUF5kJuEzlo3khXhY19Fn6l8QQz1GRJGtMCo8nG5C04ePyV7SUA== +stylus@^0.62.0: + version "0.62.0" + resolved "https://registry.yarnpkg.com/stylus/-/stylus-0.62.0.tgz#648a020e2bf90ed87587ab9c2f012757e977bb5d" + integrity sha512-v3YCf31atbwJQIMtPNX8hcQ+okD4NQaTuKGUWfII8eaqn+3otrbttGL1zSMZAAtiPsBztQnujVBugg/cXFUpyg== dependencies: - loader-utils "^1.0.2" - lodash.clonedeep "^4.5.0" - when "~3.6.x" - -stylus@^0.54.8: - version "0.54.8" - resolved "https://registry.yarnpkg.com/stylus/-/stylus-0.54.8.tgz#3da3e65966bc567a7b044bfe0eece653e099d147" - integrity sha512-vr54Or4BZ7pJafo2mpf0ZcwA74rpuYCZbxrHBsH8kbcXOwSfvBFwsRfpGO5OD5fhG5HDCFW737PKaawI7OqEAg== - dependencies: - css-parse "~2.0.0" - debug "~3.1.0" + "@adobe/css-tools" "~4.3.1" + debug "^4.3.2" glob "^7.1.6" - mkdirp "~1.0.4" - safer-buffer "^2.1.2" - sax "~1.2.4" - semver "^6.3.0" + sax "~1.3.0" source-map "^0.7.3" supertap@^3.0.1: @@ -10343,11 +5239,6 @@ supertap@^3.0.1: serialize-error "^7.0.1" strip-ansi "^7.0.1" -supports-color@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" - integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= - supports-color@^5.3.0: version "5.5.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" @@ -10355,13 +5246,6 @@ supports-color@^5.3.0: dependencies: has-flag "^3.0.0" -supports-color@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" - integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== - dependencies: - has-flag "^3.0.0" - supports-color@^7.1.0: version "7.2.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" @@ -10374,29 +5258,10 @@ supports-preserve-symlinks-flag@^1.0.0: resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== -svg-tags@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/svg-tags/-/svg-tags-1.0.0.tgz#58f71cee3bd519b59d4b2a843b6c7de64ac04764" - integrity sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q= - -svgo@^1.0.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/svgo/-/svgo-1.3.2.tgz#b6dc511c063346c9e415b81e43401145b96d4167" - integrity sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw== - dependencies: - chalk "^2.4.1" - coa "^2.0.2" - css-select "^2.0.0" - css-select-base-adapter "^0.1.1" - css-tree "1.0.0-alpha.37" - csso "^4.0.2" - js-yaml "^3.13.1" - mkdirp "~0.5.1" - object.values "^1.1.0" - sax "~1.2.4" - stable "^0.1.8" - unquote "~1.1.1" - util.promisify "~1.0.0" +tabbable@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/tabbable/-/tabbable-6.2.0.tgz#732fb62bc0175cfcec257330be187dcfba1f3b97" + integrity sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew== table@^6.0.9: version "6.7.1" @@ -10410,11 +5275,6 @@ table@^6.0.9: string-width "^4.2.0" strip-ansi "^6.0.0" -tapable@^1.0.0, tapable@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" - integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== - tar-fs@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.1.1.tgz#489a15ab85f1f0befabb370b7de4f9eb5cbe8784" @@ -10461,75 +5321,16 @@ temp@^0.9.1: mkdirp "^0.5.1" rimraf "~2.6.2" -term-size@^2.1.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/term-size/-/term-size-2.2.1.tgz#2a6a54840432c2fb6320fea0f415531e90189f54" - integrity sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg== - -terser-webpack-plugin@^1.4.3: - version "1.4.5" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz#a217aefaea330e734ffacb6120ec1fa312d6040b" - integrity sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw== - dependencies: - cacache "^12.0.2" - find-cache-dir "^2.1.0" - is-wsl "^1.1.0" - schema-utils "^1.0.0" - serialize-javascript "^4.0.0" - source-map "^0.6.1" - terser "^4.1.2" - webpack-sources "^1.4.0" - worker-farm "^1.7.0" - -terser@^4.1.2: - version "4.8.1" - resolved "https://registry.yarnpkg.com/terser/-/terser-4.8.1.tgz#a00e5634562de2239fd404c649051bf6fc21144f" - integrity sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw== - dependencies: - commander "^2.20.0" - source-map "~0.6.1" - source-map-support "~0.5.12" - text-table@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= -through2@^2.0.0: - version "2.0.5" - resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" - integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== - dependencies: - readable-stream "~2.3.6" - xtend "~4.0.1" - -through@~2.3.4: - version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= - -thunky@^1.0.2: - version "1.1.0" - resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d" - integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== - time-zone@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/time-zone/-/time-zone-1.0.0.tgz#99c5bf55958966af6d06d83bdf3800dc82faec5d" integrity sha1-mcW/VZWJZq9tBtg73zgA3IL67F0= -timers-browserify@^2.0.4: - version "2.0.12" - resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.12.tgz#44a45c11fbf407f34f97bccd1577c652361b00ee" - integrity sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ== - dependencies: - setimmediate "^1.0.4" - -timsort@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4" - integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q= - tmp@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.1.tgz#8457fc3037dcf4719c251367a1af6500ee1ccf14" @@ -10537,41 +5338,11 @@ tmp@^0.2.1: dependencies: rimraf "^3.0.0" -to-arraybuffer@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" - integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M= - -to-factory@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/to-factory/-/to-factory-1.0.0.tgz#8738af8bd97120ad1d4047972ada5563bf9479b1" - integrity sha1-hzivi9lxIK0dQEeXKtpVY7+UebE= - to-fast-properties@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= -to-object-path@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" - integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= - dependencies: - kind-of "^3.0.2" - -to-readable-stream@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/to-readable-stream/-/to-readable-stream-1.0.0.tgz#ce0aa0c2f3df6adf852efb404a783e77c0475771" - integrity sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q== - -to-regex-range@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" - integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= - dependencies: - is-number "^3.0.0" - repeat-string "^1.6.1" - to-regex-range@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" @@ -10579,39 +5350,11 @@ to-regex-range@^5.0.1: dependencies: is-number "^7.0.0" -to-regex@^3.0.1, to-regex@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" - integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== - dependencies: - define-property "^2.0.2" - extend-shallow "^3.0.2" - regex-not "^1.0.2" - safe-regex "^1.1.0" - toidentifier@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== -toml@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/toml/-/toml-3.0.0.tgz#342160f1af1904ec9d204d03a5d61222d762c5ee" - integrity sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w== - -toposort@^1.0.0: - version "1.0.7" - resolved "https://registry.yarnpkg.com/toposort/-/toposort-1.0.7.tgz#2e68442d9f64ec720b8cc89e6443ac6caa950029" - integrity sha1-LmhELZ9k7HILjMieZEOsbKqVACk= - -tough-cookie@~2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" - integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== - dependencies: - psl "^1.1.28" - punycode "^2.1.1" - tr46@~0.0.3: version "0.0.3" resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" @@ -10639,11 +5382,6 @@ tsutils@^3.21.0: dependencies: tslib "^1.8.1" -tty-browserify@0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" - integrity sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY= - tunnel-agent@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" @@ -10651,11 +5389,6 @@ tunnel-agent@^0.6.0: dependencies: safe-buffer "^5.0.1" -tweetnacl@^0.14.3, tweetnacl@~0.14.0: - version "0.14.5" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" - integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= - type-check@^0.4.0, type-check@~0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" @@ -10673,16 +5406,6 @@ type-fest@^0.20.2: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== -type-fest@^0.21.3: - version "0.21.3" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" - integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== - -type-fest@^0.8.1: - version "0.8.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" - integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== - type-is@~1.6.18: version "1.6.18" resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" @@ -10691,36 +5414,11 @@ type-is@~1.6.18: media-typer "0.3.0" mime-types "~2.1.24" -typedarray-to-buffer@^3.1.5: - version "3.1.5" - resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" - integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== - dependencies: - is-typedarray "^1.0.0" - -typedarray@^0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" - integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= - typescript@^4.0.3: version "4.3.2" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.3.2.tgz#399ab18aac45802d6f2498de5054fcbbe716a805" integrity sha512-zZ4hShnmnoVnAHpVHWpTcxdv7dWP60S2FsydQLV8V5PbS3FifjWFFRiHSWpDJahly88PRyV5teTSLoq4eG7mKw== -uc.micro@^1.0.1, uc.micro@^1.0.5: - version "1.0.6" - resolved "https://registry.yarnpkg.com/uc.micro/-/uc.micro-1.0.6.tgz#9c411a802a409a91fc6cf74081baba34b24499ac" - integrity sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA== - -uglify-js@3.4.x: - version "3.4.10" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.4.10.tgz#9ad9563d8eb3acdfb8d38597d2af1d815f6a755f" - integrity sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw== - dependencies: - commander "~2.19.0" - source-map "~0.6.1" - unbox-primitive@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471" @@ -10741,56 +5439,6 @@ unbox-primitive@^1.0.2: has-symbols "^1.0.3" which-boxed-primitive "^1.0.2" -unicode-canonical-property-names-ecmascript@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818" - integrity sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ== - -unicode-match-property-ecmascript@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz#8ed2a32569961bce9227d09cd3ffbb8fed5f020c" - integrity sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg== - dependencies: - unicode-canonical-property-names-ecmascript "^1.0.4" - unicode-property-aliases-ecmascript "^1.0.4" - -unicode-match-property-value-ecmascript@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz#0d91f600eeeb3096aa962b1d6fc88876e64ea531" - integrity sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ== - -unicode-property-aliases-ecmascript@^1.0.4: - version "1.1.0" - resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz#dd57a99f6207bedff4628abefb94c50db941c8f4" - integrity sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg== - -union-value@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" - integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== - dependencies: - arr-union "^3.1.0" - get-value "^2.0.6" - is-extendable "^0.1.1" - set-value "^2.0.1" - -uniq@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" - integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8= - -uniqs@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02" - integrity sha1-/+3ks2slKQaW5uFl1KWe25mOawI= - -unique-filename@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" - integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ== - dependencies: - unique-slug "^2.0.0" - unique-filename@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-2.0.1.tgz#e785f8675a9a7589e0ac77e0b5c34d2eaeac6da2" @@ -10798,13 +5446,6 @@ unique-filename@^2.0.0: dependencies: unique-slug "^3.0.0" -unique-slug@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c" - integrity sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w== - dependencies: - imurmurhash "^0.1.4" - unique-slug@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-3.0.0.tgz#6d347cf57c8a7a7a6044aabd0e2d74e4d76dc7c9" @@ -10812,65 +5453,11 @@ unique-slug@^3.0.0: dependencies: imurmurhash "^0.1.4" -unique-string@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-2.0.0.tgz#39c6451f81afb2749de2b233e3f7c5e8843bd89d" - integrity sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg== - dependencies: - crypto-random-string "^2.0.0" - -universalify@^0.1.0: - version "0.1.2" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" - integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== - unpipe@1.0.0, unpipe@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= -unquote@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/unquote/-/unquote-1.1.1.tgz#8fded7324ec6e88a0ff8b905e7c098cdc086d544" - integrity sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ= - -unset-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" - integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= - dependencies: - has-value "^0.3.1" - isobject "^3.0.0" - -upath@^1.1.0, upath@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" - integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== - -update-notifier@^4.0.0: - version "4.1.3" - resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-4.1.3.tgz#be86ee13e8ce48fb50043ff72057b5bd598e1ea3" - integrity sha512-Yld6Z0RyCYGB6ckIjffGOSOmHXj1gMeE7aROz4MG+XMkmixBX4jUngrGXNYz7wPKBmtoD4MnBa2Anu7RSKht/A== - dependencies: - boxen "^4.2.0" - chalk "^3.0.0" - configstore "^5.0.1" - has-yarn "^2.1.0" - import-lazy "^2.1.0" - is-ci "^2.0.0" - is-installed-globally "^0.3.1" - is-npm "^4.0.0" - is-yarn-global "^0.3.0" - latest-version "^5.0.0" - pupa "^2.0.1" - semver-diff "^3.1.1" - xdg-basedir "^4.0.0" - -upper-case@^1.1.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598" - integrity sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg= - uri-js@^4.2.2: version "4.4.1" resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" @@ -10878,100 +5465,16 @@ uri-js@^4.2.2: dependencies: punycode "^2.1.0" -urix@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" - integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= - -url-loader@^1.0.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-1.1.2.tgz#b971d191b83af693c5e3fea4064be9e1f2d7f8d8" - integrity sha512-dXHkKmw8FhPqu8asTc1puBfe3TehOCo2+RmOOev5suNCIYBcT626kxiWg1NBVkwc4rO8BGa7gP70W7VXuqHrjg== - dependencies: - loader-utils "^1.1.0" - mime "^2.0.3" - schema-utils "^1.0.0" - -url-parse-lax@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c" - integrity sha1-FrXK/Afb42dsGxmZF3gj1lA6yww= - dependencies: - prepend-http "^2.0.0" - -url-parse@^1.5.1: - version "1.5.10" - resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.10.tgz#9d3c2f736c1d75dd3bd2be507dcc111f1e2ea9c1" - integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ== - dependencies: - querystringify "^2.1.1" - requires-port "^1.0.0" - -url@^0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" - integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE= - dependencies: - punycode "1.3.2" - querystring "0.2.0" - -use@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" - integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== - -util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: +util-deprecate@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= -util.promisify@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" - integrity sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA== - dependencies: - define-properties "^1.1.2" - object.getownpropertydescriptors "^2.0.3" - -util.promisify@~1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.1.tgz#6baf7774b80eeb0f7520d8b81d07982a59abbaee" - integrity sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.2" - has-symbols "^1.0.1" - object.getownpropertydescriptors "^2.1.0" - -util@0.10.3: - version "0.10.3" - resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" - integrity sha1-evsa/lCAUkZInj23/g7TeTNqwPk= - dependencies: - inherits "2.0.1" - -util@^0.11.0: - version "0.11.1" - resolved "https://registry.yarnpkg.com/util/-/util-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61" - integrity sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ== - dependencies: - inherits "2.0.3" - -utila@~0.4: - version "0.4.0" - resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" - integrity sha1-ihagXURWV6Oupe7MWxKk+lN5dyw= - utils-merge@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= -uuid@^3.3.2, uuid@^3.4.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" - integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== - v8-compile-cache@^2.0.3: version "2.3.0" resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" @@ -10982,314 +5485,64 @@ vary@~1.1.2: resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= -vendors@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.4.tgz#e2b800a53e7a29b93506c3cf41100d16c4c4ad8e" - integrity sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w== - -verror@1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" - integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= - dependencies: - assert-plus "^1.0.0" - core-util-is "1.0.2" - extsprintf "^1.2.0" - -vm-browserify@^1.0.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" - integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== - -vue-hot-reload-api@^2.3.0: - version "2.3.4" - resolved "https://registry.yarnpkg.com/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz#532955cc1eb208a3d990b3a9f9a70574657e08f2" - integrity sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog== - -vue-loader@^15.7.1: - version "15.9.7" - resolved "https://registry.yarnpkg.com/vue-loader/-/vue-loader-15.9.7.tgz#15b05775c3e0c38407679393c2ce6df673b01044" - integrity sha512-qzlsbLV1HKEMf19IqCJqdNvFJRCI58WNbS6XbPqK13MrLz65es75w392MSQ5TsARAfIjUw+ATm3vlCXUJSOH9Q== - dependencies: - "@vue/component-compiler-utils" "^3.1.0" - hash-sum "^1.0.2" - loader-utils "^1.1.0" - vue-hot-reload-api "^2.3.0" - vue-style-loader "^4.1.0" - -vue-router@^3.4.5: - version "3.5.1" - resolved "https://registry.yarnpkg.com/vue-router/-/vue-router-3.5.1.tgz#edf3cf4907952d1e0583e079237220c5ff6eb6c9" - integrity sha512-RRQNLT8Mzr8z7eL4p7BtKvRaTSGdCbTy2+Mm5HTJvLGYSSeG9gDzNasJPP/yOYKLy+/cLG/ftrqq5fvkFwBJEw== - -vue-server-renderer@^2.6.10: - version "2.6.13" - resolved "https://registry.yarnpkg.com/vue-server-renderer/-/vue-server-renderer-2.6.13.tgz#969757bb4393f53df4af29abf76f6ddd7f072ab6" - integrity sha512-jYcgnLjqCn/rDvBPAwADcLsl+ZA2tTM6VQnng6KSteWsunyeOIms0hJ7pR61T4tgTL40gWfkkkJY6HUgqZEUrg== - dependencies: - chalk "^1.1.3" - hash-sum "^1.0.2" - he "^1.1.0" - lodash.template "^4.5.0" - lodash.uniq "^4.5.0" - resolve "^1.2.0" - serialize-javascript "^3.1.0" - source-map "0.5.6" - -vue-style-loader@^4.1.0: - version "4.1.3" - resolved "https://registry.yarnpkg.com/vue-style-loader/-/vue-style-loader-4.1.3.tgz#6d55863a51fa757ab24e89d9371465072aa7bc35" - integrity sha512-sFuh0xfbtpRlKfm39ss/ikqs9AbKCoXZBpHeVZ8Tx650o0k0q/YCM7FRvigtxpACezfq6af+a7JeqVTWvncqDg== - dependencies: - hash-sum "^1.0.2" - loader-utils "^1.0.2" - -vue-template-compiler@^2.6.10: - version "2.6.13" - resolved "https://registry.yarnpkg.com/vue-template-compiler/-/vue-template-compiler-2.6.13.tgz#a735b8974e013ce829e7f77e08e4ee5aecbd3005" - integrity sha512-latKAqpUjCkovB8XppW5gnZbSdYQzkf8pavsMBZYZrQcG6lAnj0EH4Ty7jMwAwFw5Cf4mybKBHlp1UTjnLPOWw== - dependencies: - de-indent "^1.0.2" - he "^1.1.0" - -vue-template-es2015-compiler@^1.9.0: - version "1.9.1" - resolved "https://registry.yarnpkg.com/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz#1ee3bc9a16ecbf5118be334bb15f9c46f82f5825" - integrity sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw== - -vue@^2.6.10: - version "2.6.13" - resolved "https://registry.yarnpkg.com/vue/-/vue-2.6.13.tgz#94b2c1b31fddf1dfcc34f28ec848ba8f01ea4c5b" - integrity sha512-O+pAdJkce1ooYS1XyoQtpBQr9An+Oys3w39rkqxukVO3ZD1ilYJkWBGoRuadiQEm2LLJnCL2utV4TMSf52ubjw== - -vuepress-html-webpack-plugin@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/vuepress-html-webpack-plugin/-/vuepress-html-webpack-plugin-3.2.0.tgz#219be272ad510faa8750d2d4e70fd028bfd1c16e" - integrity sha512-BebAEl1BmWlro3+VyDhIOCY6Gef2MCBllEVAP3NUAtMguiyOwo/dClbwJ167WYmcxHJKLl7b0Chr9H7fpn1d0A== - dependencies: - html-minifier "^3.2.3" - loader-utils "^0.2.16" - lodash "^4.17.3" - pretty-error "^2.0.2" - tapable "^1.0.0" - toposort "^1.0.0" - util.promisify "1.0.0" - -vuepress-plugin-check-md@0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/vuepress-plugin-check-md/-/vuepress-plugin-check-md-0.0.2.tgz#e0c5f296948fa5df24280971ee6a725c00a88738" - integrity sha512-XwA/IiMNvR42L3ajmkr+6JY3JRnhDN+uluh1wLYl0VAI8VqTkXT7Ng4xlxgebfLPChEFPnJgcydGv8E52Zdpig== - dependencies: - check-md "1.0.0" - -vuepress-plugin-container@^2.0.2: - version "2.1.5" - resolved "https://registry.yarnpkg.com/vuepress-plugin-container/-/vuepress-plugin-container-2.1.5.tgz#37fff05662fedbd63ffd3a5463b2592c7a7f3133" - integrity sha512-TQrDX/v+WHOihj3jpilVnjXu9RcTm6m8tzljNJwYhxnJUW0WWQ0hFLcDTqTBwgKIFdEiSxVOmYE+bJX/sq46MA== - dependencies: - "@vuepress/shared-utils" "^1.2.0" - markdown-it-container "^2.0.0" - -vuepress-plugin-smooth-scroll@^0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/vuepress-plugin-smooth-scroll/-/vuepress-plugin-smooth-scroll-0.0.3.tgz#6eff2d4c186cca917cc9f7df2b0af7de7c8c6438" - integrity sha512-qsQkDftLVFLe8BiviIHaLV0Ea38YLZKKonDGsNQy1IE0wllFpFIEldWD8frWZtDFdx6b/O3KDMgVQ0qp5NjJCg== - dependencies: - smoothscroll-polyfill "^0.4.3" - -vuepress@^1.8.2: - version "1.8.2" - resolved "https://registry.yarnpkg.com/vuepress/-/vuepress-1.8.2.tgz#97e8bf979630611fc7b621fc4cc35b798ee5e847" - integrity sha512-BU1lUDwsA3ghf7a9ga4dsf0iTc++Z/l7BR1kUagHWVBHw7HNRgRDfAZBDDQXhllMILVToIxaTifpne9mSi94OA== - dependencies: - "@vuepress/core" "1.8.2" - "@vuepress/theme-default" "1.8.2" - cac "^6.5.6" - envinfo "^7.2.0" - opencollective-postinstall "^2.0.2" - update-notifier "^4.0.0" - -watchpack-chokidar2@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz#38500072ee6ece66f3769936950ea1771be1c957" - integrity sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww== - dependencies: - chokidar "^2.1.8" - -watchpack@^1.7.4: - version "1.7.5" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.7.5.tgz#1267e6c55e0b9b5be44c2023aed5437a2c26c453" - integrity sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ== +vite@^5.0.12: + version "5.1.0" + resolved "https://registry.yarnpkg.com/vite/-/vite-5.1.0.tgz#4510394f48b942ecc6843025f4b926ba99a2fb8c" + integrity sha512-STmSFzhY4ljuhz14bg9LkMTk3d98IO6DIArnTY6MeBwiD1Za2StcQtz7fzOUnRCqrHSD5+OS2reg4HOz1eoLnw== dependencies: - graceful-fs "^4.1.2" - neo-async "^2.5.0" + esbuild "^0.19.3" + postcss "^8.4.35" + rollup "^4.2.0" optionalDependencies: - chokidar "^3.4.1" - watchpack-chokidar2 "^2.0.1" + fsevents "~2.3.3" + +vitepress@^1.0.0-rc.42: + version "1.0.0-rc.42" + resolved "https://registry.yarnpkg.com/vitepress/-/vitepress-1.0.0-rc.42.tgz#cdb822223136d642107254b5576de8b79b18c0a8" + integrity sha512-VeiVVXFblt/sjruFSJBNChMWwlztMrRMe8UXdNpf4e05mKtTYEY38MF5qoP90KxPTCfMQiKqwEGwXAGuOTK8HQ== + dependencies: + "@docsearch/css" "^3.5.2" + "@docsearch/js" "^3.5.2" + "@shikijs/core" "^1.0.0-rc.0" + "@shikijs/transformers" "^1.0.0-rc.0" + "@types/markdown-it" "^13.0.7" + "@vitejs/plugin-vue" "^5.0.3" + "@vue/devtools-api" "^7.0.14" + "@vueuse/core" "^10.7.2" + "@vueuse/integrations" "^10.7.2" + focus-trap "^7.5.4" + mark.js "8.11.1" + minisearch "^6.3.0" + shiki "^1.0.0-rc.0" + vite "^5.0.12" + vue "^3.4.15" + +vue-demi@>=0.14.6: + version "0.14.7" + resolved "https://registry.yarnpkg.com/vue-demi/-/vue-demi-0.14.7.tgz#8317536b3ef74c5b09f268f7782e70194567d8f2" + integrity sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA== + +vue@^3.4.15: + version "3.4.17" + resolved "https://registry.yarnpkg.com/vue/-/vue-3.4.17.tgz#a6d9a2124f6988482edfde01c8d26210897af015" + integrity sha512-uRaVQNbCblmh8V5cEV0HzJoKHvzfKQPGr+ejfwDyCtsu+v/0F6iHesqvuO19iS4+dSENQcEEO1UXZirpDI+nkg== + dependencies: + "@vue/compiler-dom" "3.4.17" + "@vue/compiler-sfc" "3.4.17" + "@vue/runtime-dom" "3.4.17" + "@vue/server-renderer" "3.4.17" + "@vue/shared" "3.4.17" wbasenodejscpp@latest: version "0.3.134" resolved "https://registry.yarnpkg.com/wbasenodejscpp/-/wbasenodejscpp-0.3.134.tgz#c23c06bd8c3e170afe59084cfa6e7d41c07b0ffa" integrity sha512-B3cyJ14XNKe7gfu+pQPdCkDKTMu4DiFS/iKWE+1AhroChj+hLiNYCcoUuvsjEocQtBPItjb57mbhdKCJ80pjCA== -wbuf@^1.1.0, wbuf@^1.7.3: - version "1.7.3" - resolved "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.3.tgz#c1d8d149316d3ea852848895cb6a0bfe887b87df" - integrity sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA== - dependencies: - minimalistic-assert "^1.0.0" - webidl-conversions@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" integrity sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE= -webpack-chain@^4.9.0: - version "4.12.1" - resolved "https://registry.yarnpkg.com/webpack-chain/-/webpack-chain-4.12.1.tgz#6c8439bbb2ab550952d60e1ea9319141906c02a6" - integrity sha512-BCfKo2YkDe2ByqkEWe1Rw+zko4LsyS75LVr29C6xIrxAg9JHJ4pl8kaIZ396SUSNp6b4815dRZPSTAS8LlURRQ== - dependencies: - deepmerge "^1.5.2" - javascript-stringify "^1.6.0" - -webpack-chain@^6.0.0: - version "6.5.1" - resolved "https://registry.yarnpkg.com/webpack-chain/-/webpack-chain-6.5.1.tgz#4f27284cbbb637e3c8fbdef43eef588d4d861206" - integrity sha512-7doO/SRtLu8q5WM0s7vPKPWX580qhi0/yBHkOxNkv50f6qB76Zy9o2wRTrrPULqYTvQlVHuvbA8v+G5ayuUDsA== - dependencies: - deepmerge "^1.5.2" - javascript-stringify "^2.0.1" - -webpack-dev-middleware@^3.7.2: - version "3.7.3" - resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz#0639372b143262e2b84ab95d3b91a7597061c2c5" - integrity sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ== - dependencies: - memory-fs "^0.4.1" - mime "^2.4.4" - mkdirp "^0.5.1" - range-parser "^1.2.1" - webpack-log "^2.0.0" - -webpack-dev-server@^3.5.1: - version "3.11.2" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.11.2.tgz#695ebced76a4929f0d5de7fd73fafe185fe33708" - integrity sha512-A80BkuHRQfCiNtGBS1EMf2ChTUs0x+B3wGDFmOeT4rmJOHhHTCH2naNxIHhmkr0/UillP4U3yeIyv1pNp+QDLQ== - dependencies: - ansi-html "0.0.7" - bonjour "^3.5.0" - chokidar "^2.1.8" - compression "^1.7.4" - connect-history-api-fallback "^1.6.0" - debug "^4.1.1" - del "^4.1.1" - express "^4.17.1" - html-entities "^1.3.1" - http-proxy-middleware "0.19.1" - import-local "^2.0.0" - internal-ip "^4.3.0" - ip "^1.1.5" - is-absolute-url "^3.0.3" - killable "^1.0.1" - loglevel "^1.6.8" - opn "^5.5.0" - p-retry "^3.0.1" - portfinder "^1.0.26" - schema-utils "^1.0.0" - selfsigned "^1.10.8" - semver "^6.3.0" - serve-index "^1.9.1" - sockjs "^0.3.21" - sockjs-client "^1.5.0" - spdy "^4.0.2" - strip-ansi "^3.0.1" - supports-color "^6.1.0" - url "^0.11.0" - webpack-dev-middleware "^3.7.2" - webpack-log "^2.0.0" - ws "^6.2.1" - yargs "^13.3.2" - -webpack-log@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/webpack-log/-/webpack-log-2.0.0.tgz#5b7928e0637593f119d32f6227c1e0ac31e1b47f" - integrity sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg== - dependencies: - ansi-colors "^3.0.0" - uuid "^3.3.2" - -webpack-merge@^4.1.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-4.2.2.tgz#a27c52ea783d1398afd2087f547d7b9d2f43634d" - integrity sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g== - dependencies: - lodash "^4.17.15" - -webpack-sources@^1.1.0, webpack-sources@^1.4.0, webpack-sources@^1.4.1: - version "1.4.3" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933" - integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ== - dependencies: - source-list-map "^2.0.0" - source-map "~0.6.1" - -webpack@^4.8.1: - version "4.46.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.46.0.tgz#bf9b4404ea20a073605e0a011d188d77cb6ad542" - integrity sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-module-context" "1.9.0" - "@webassemblyjs/wasm-edit" "1.9.0" - "@webassemblyjs/wasm-parser" "1.9.0" - acorn "^6.4.1" - ajv "^6.10.2" - ajv-keywords "^3.4.1" - chrome-trace-event "^1.0.2" - enhanced-resolve "^4.5.0" - eslint-scope "^4.0.3" - json-parse-better-errors "^1.0.2" - loader-runner "^2.4.0" - loader-utils "^1.2.3" - memory-fs "^0.4.1" - micromatch "^3.1.10" - mkdirp "^0.5.3" - neo-async "^2.6.1" - node-libs-browser "^2.2.1" - schema-utils "^1.0.0" - tapable "^1.1.3" - terser-webpack-plugin "^1.4.3" - watchpack "^1.7.4" - webpack-sources "^1.4.1" - -webpackbar@3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/webpackbar/-/webpackbar-3.2.0.tgz#bdaad103fad11a4e612500e72aaae98b08ba493f" - integrity sha512-PC4o+1c8gWWileUfwabe0gqptlXUDJd5E0zbpr2xHP1VSOVlZVPBZ8j6NCR8zM5zbKdxPhctHXahgpNK1qFDPw== - dependencies: - ansi-escapes "^4.1.0" - chalk "^2.4.1" - consola "^2.6.0" - figures "^3.0.0" - pretty-time "^1.1.0" - std-env "^2.2.1" - text-table "^0.2.0" - wrap-ansi "^5.1.0" - -websocket-driver@>=0.5.1, websocket-driver@^0.7.4: - version "0.7.4" - resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760" - integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg== - dependencies: - http-parser-js ">=0.5.1" - safe-buffer ">=5.1.0" - websocket-extensions ">=0.1.1" - -websocket-extensions@>=0.1.1: - version "0.1.4" - resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" - integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== - well-known-symbols@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/well-known-symbols/-/well-known-symbols-2.0.0.tgz#e9c7c07dbd132b7b84212c8174391ec1f9871ba5" @@ -11303,11 +5556,6 @@ whatwg-url@^5.0.0: tr46 "~0.0.3" webidl-conversions "^3.0.0" -when@~3.6.x: - version "3.6.4" - resolved "https://registry.yarnpkg.com/when/-/when-3.6.4.tgz#473b517ec159e2b85005497a13983f095412e34e" - integrity sha1-RztRfsFZ4rhQBUl6E5g/CVQS404= - which-boxed-primitive@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" @@ -11319,18 +5567,6 @@ which-boxed-primitive@^1.0.2: is-string "^1.0.5" is-symbol "^1.0.3" -which-module@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" - integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= - -which@^1.2.9: - version "1.3.1" - resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" - integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== - dependencies: - isexe "^2.0.0" - which@^2.0.1, which@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" @@ -11345,34 +5581,11 @@ wide-align@^1.1.2, wide-align@^1.1.5: dependencies: string-width "^1.0.2 || 2 || 3 || 4" -widest-line@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-3.1.0.tgz#8292333bbf66cb45ff0de1603b136b7ae1496eca" - integrity sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg== - dependencies: - string-width "^4.0.0" - word-wrap@^1.2.3: version "1.2.4" resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.4.tgz#cb4b50ec9aca570abd1f52f33cd45b6c61739a9f" integrity sha512-2V81OA4ugVo5pRo46hAoD2ivUJx8jXmWXfUkY4KFNw0hEptvN0QfH3K4nHiwzGeKl5rFKedV48QVoqYavy4YpA== -worker-farm@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8" - integrity sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw== - dependencies: - errno "~0.1.7" - -wrap-ansi@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" - integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== - dependencies: - ansi-styles "^3.2.0" - string-width "^3.0.0" - strip-ansi "^5.0.0" - wrap-ansi@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" @@ -11387,16 +5600,6 @@ wrappy@1: resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== -write-file-atomic@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" - integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== - dependencies: - imurmurhash "^0.1.4" - is-typedarray "^1.0.0" - signal-exit "^3.0.2" - typedarray-to-buffer "^3.1.5" - write-file-atomic@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.1.tgz#9faa33a964c1c85ff6f849b80b42a88c2c537c8f" @@ -11405,82 +5608,26 @@ write-file-atomic@^4.0.1: imurmurhash "^0.1.4" signal-exit "^3.0.7" -ws@^6.2.1: - version "6.2.2" - resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.2.tgz#dd5cdbd57a9979916097652d78f1cc5faea0c32e" - integrity sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw== - dependencies: - async-limiter "~1.0.0" - ws@^7.2.0: version "7.5.6" resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.6.tgz#e59fc509fb15ddfb65487ee9765c5a51dec5fe7b" integrity sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA== -xdg-basedir@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-4.0.0.tgz#4bc8d9984403696225ef83a1573cbbcb4e79db13" - integrity sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q== - -xtend@^4.0.0, xtend@~4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" - integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== - -y18n@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" - integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== - y18n@^5.0.5: version "5.0.8" resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== -yallist@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" - integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= - -yallist@^3.0.2: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" - integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== - yallist@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== -yargs-parser@^13.1.2: - version "13.1.2" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" - integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - yargs-parser@^21.0.0: version "21.0.1" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.0.1.tgz#0267f286c877a4f0f728fceb6f8a3e4cb95c6e35" integrity sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg== -yargs@^13.3.2: - version "13.3.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" - integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw== - dependencies: - cliui "^5.0.0" - find-up "^3.0.0" - get-caller-file "^2.0.1" - require-directory "^2.1.1" - require-main-filename "^2.0.0" - set-blocking "^2.0.0" - string-width "^3.0.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^13.1.2" - yargs@^17.5.1: version "17.5.1" resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.5.1.tgz#e109900cab6fcb7fd44b1d8249166feb0b36e58e" @@ -11498,8 +5645,3 @@ yocto-queue@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-1.0.0.tgz#7f816433fb2cbc511ec8bf7d263c3b58a1a3c251" integrity sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g== - -zepto@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/zepto/-/zepto-1.2.0.tgz#e127bd9e66fd846be5eab48c1394882f7c0e4f98" - integrity sha1-4Se9nmb9hGvl6rSME5SIL3wOT5g=