From a96c5ed83a6872fb693c3e544167ad6949494d32 Mon Sep 17 00:00:00 2001 From: Emerson Bottero Date: Wed, 21 Sep 2022 19:40:49 -0300 Subject: [PATCH 01/33] docs: migrating to vitepress --- package.json | 10 +- src/docs/Setup.md | 1627 ---------------- vdocs/.vitepress/config.ts | 156 ++ vdocs/.vitepress/mermaid-markdown-all.ts | 32 + vdocs/.vitepress/theme/custom.css | 13 + vdocs/.vitepress/theme/index.ts | 6 + vdocs/community/CHANGELOG.md | 1024 +++++++++++ vdocs/community/development.md | 136 ++ vdocs/community/img/er.png | Bin 0 -> 56576 bytes vdocs/community/n00b-overview.md | 68 + vdocs/community/newDiagram.md | 263 +++ vdocs/community/security.md | 23 + vdocs/config/8.6.0_docs.md | 213 +++ vdocs/config/Setup.md | 1628 +++++++++++++++++ vdocs/config/Tutorials.md | 72 + vdocs/config/accessibility.md | 208 +++ vdocs/config/directives.md | 255 +++ .../img/accessibility-div-example-2.png | Bin 0 -> 122847 bytes .../config/img/accessibility-div-example.png | Bin 0 -> 122202 bytes vdocs/config/img/assignWithDepth.png | Bin 0 -> 6595 bytes .../img/object.assign without depth.png | Bin 0 -> 6067 bytes .../config/img/python-mermaid-integration.png | Bin 0 -> 39043 bytes vdocs/config/img/wrapped text.png | Bin 0 -> 105313 bytes vdocs/config/mermaidCLI.md | 3 + vdocs/config/n00b-advanced.md | 24 + vdocs/config/n00b-syntaxReference.md | 67 + vdocs/config/theming.md | 484 +++++ vdocs/config/usage.md | 398 ++++ vdocs/edit.md | 7 + vdocs/index.md | 43 + vdocs/intro/directives.md | 254 +++ vdocs/intro/img/Code-Preview-Config.png | Bin 0 -> 148873 bytes vdocs/intro/img/Live-Editor-Choices.png | Bin 0 -> 53011 bytes vdocs/intro/img/book-banner-post-release.jpg | Bin 0 -> 75158 bytes vdocs/intro/index.md | 398 ++++ vdocs/intro/n00b-gettingStarted.md | 216 +++ vdocs/intro/n00b-syntaxReference.md | 67 + vdocs/misc/faq.md | 11 + vdocs/misc/integrations.md | 180 ++ vdocs/public/.nojekyll | 0 vdocs/public/header.png | Bin 0 -> 69565 bytes vdocs/syntax/c4c.md | 363 ++++ vdocs/syntax/classDiagram.md | 625 +++++++ vdocs/syntax/entityRelationshipDiagram.md | 188 ++ vdocs/syntax/examples.md | 158 ++ vdocs/syntax/flowchart.md | 677 +++++++ vdocs/syntax/gantt.md | 343 ++++ vdocs/syntax/gitGraph.md | 1016 ++++++++++ .../syntax/img/Gantt-excluded-days-within.png | Bin 0 -> 79453 bytes vdocs/syntax/img/Gantt-long-weekend-look.png | Bin 0 -> 79092 bytes vdocs/syntax/pie.md | 51 + vdocs/syntax/requirementDiagram.md | 158 ++ vdocs/syntax/sequenceDiagram.md | 569 ++++++ vdocs/syntax/stateDiagram.md | 260 +++ vdocs/syntax/userJourney.md | 22 + vdocs/vite.config.ts | 11 + yarn.lock | 418 ++++- 57 files changed, 11104 insertions(+), 1641 deletions(-) create mode 100644 vdocs/.vitepress/config.ts create mode 100644 vdocs/.vitepress/mermaid-markdown-all.ts create mode 100644 vdocs/.vitepress/theme/custom.css create mode 100644 vdocs/.vitepress/theme/index.ts create mode 100644 vdocs/community/CHANGELOG.md create mode 100644 vdocs/community/development.md create mode 100644 vdocs/community/img/er.png create mode 100644 vdocs/community/n00b-overview.md create mode 100644 vdocs/community/newDiagram.md create mode 100644 vdocs/community/security.md create mode 100644 vdocs/config/8.6.0_docs.md create mode 100644 vdocs/config/Setup.md create mode 100644 vdocs/config/Tutorials.md create mode 100644 vdocs/config/accessibility.md create mode 100644 vdocs/config/directives.md create mode 100644 vdocs/config/img/accessibility-div-example-2.png create mode 100644 vdocs/config/img/accessibility-div-example.png create mode 100644 vdocs/config/img/assignWithDepth.png create mode 100644 vdocs/config/img/object.assign without depth.png create mode 100644 vdocs/config/img/python-mermaid-integration.png create mode 100644 vdocs/config/img/wrapped text.png create mode 100644 vdocs/config/mermaidCLI.md create mode 100644 vdocs/config/n00b-advanced.md create mode 100644 vdocs/config/n00b-syntaxReference.md create mode 100644 vdocs/config/theming.md create mode 100644 vdocs/config/usage.md create mode 100644 vdocs/edit.md create mode 100644 vdocs/index.md create mode 100644 vdocs/intro/directives.md create mode 100644 vdocs/intro/img/Code-Preview-Config.png create mode 100644 vdocs/intro/img/Live-Editor-Choices.png create mode 100644 vdocs/intro/img/book-banner-post-release.jpg create mode 100644 vdocs/intro/index.md create mode 100644 vdocs/intro/n00b-gettingStarted.md create mode 100644 vdocs/intro/n00b-syntaxReference.md create mode 100644 vdocs/misc/faq.md create mode 100644 vdocs/misc/integrations.md create mode 100644 vdocs/public/.nojekyll create mode 100644 vdocs/public/header.png create mode 100644 vdocs/syntax/c4c.md create mode 100644 vdocs/syntax/classDiagram.md create mode 100644 vdocs/syntax/entityRelationshipDiagram.md create mode 100644 vdocs/syntax/examples.md create mode 100644 vdocs/syntax/flowchart.md create mode 100644 vdocs/syntax/gantt.md create mode 100644 vdocs/syntax/gitGraph.md create mode 100644 vdocs/syntax/img/Gantt-excluded-days-within.png create mode 100644 vdocs/syntax/img/Gantt-long-weekend-look.png create mode 100644 vdocs/syntax/pie.md create mode 100644 vdocs/syntax/requirementDiagram.md create mode 100644 vdocs/syntax/sequenceDiagram.md create mode 100644 vdocs/syntax/stateDiagram.md create mode 100644 vdocs/syntax/userJourney.md create mode 100644 vdocs/vite.config.ts diff --git a/package.json b/package.json index d03d5fca8..b166ea4ad 100644 --- a/package.json +++ b/package.json @@ -29,10 +29,13 @@ "build:types": "tsc -p ./tsconfig.json --emitDeclarationOnly", "build:watch": "yarn build:code --watch", "build:esbuild": "concurrently \"yarn build:code\" \"yarn build:types\"", - "build": "yarn clean; yarn build:esbuild", + "build": "yarn clean && yarn build:esbuild", "dev": "node .esbuild/serve.cjs", "docs:build": "ts-node-esm src/docs.mts", "docs:verify": "yarn docs:build --verify", + "vdocs:dev": "vitepress dev vdocs", + "vdocs:build": "vitepress build vdocs", + "vdocs:serve": "vitepress serve vdocs", "postbuild": "documentation build src/mermaidAPI.ts src/config.ts src/defaultConfig.ts --shallow -f md --markdown-toc false > src/docs/Setup.md && prettier --write src/docs/Setup.md", "release": "yarn build", "lint": "eslint --cache --ignore-path .gitignore . && yarn lint:jison && prettier --check .", @@ -76,7 +79,8 @@ "lodash": "^4.17.21", "moment-mini": "^2.24.0", "non-layered-tidy-tree-layout": "^2.0.2", - "stylis": "^4.1.2" + "stylis": "^4.1.2", + "vitepress-plugin-mermaid": "^2.0.7" }, "devDependencies": { "@applitools/eyes-cypress": "^3.25.7", @@ -126,6 +130,8 @@ "ts-node": "^10.9.1", "typescript": "^4.8.3", "unist-util-flatmap": "^1.0.0", + "vitepress": "^1.0.0-alpha.15", + "vitepress-plugin-search": "^1.0.4-alpha.7", "vitest": "^0.23.1" }, "resolutions": { diff --git a/src/docs/Setup.md b/src/docs/Setup.md index aae2ae9c0..e69de29bb 100644 --- a/src/docs/Setup.md +++ b/src/docs/Setup.md @@ -1,1627 +0,0 @@ - - -## mermaidAPI - -This is the API to be used when optionally handling the integration with the web page, instead of -using the default integration provided by mermaid.js. - -The core of this api is the [**render**][1] function which, given a graph -definition as text, renders the graph/diagram and returns an svg element for the graph. - -It is then up to the user of the API to make use of the svg, either insert it somewhere in the -page or do something completely different. - -In addition to the render function, a number of behavioral configuration options are available. - -## Configuration - -**Configuration methods in Mermaid version 8.6.0 have been updated, to learn more\[[click -here][2]].** - -## **What follows are config instructions for older versions** - -These are the default options which can be overridden with the initialization call like so: - -**Example 1:**
 mermaid.initialize({ flowchart:{ htmlLabels: false } }); 
- -**Example 2:**
  
- -A summary of all options and their defaults is found [here][3]. -A description of each option follows below. - -## theme - -Theme , the CSS style sheet - -| Parameter | Description | Type | Required | Values | -| --------- | --------------- | ------ | -------- | ---------------------------------------------- | -| theme | Built in Themes | string | Optional | 'default', 'forest', 'dark', 'neutral', 'null' | - -**Notes:** To disable any pre-defined mermaid theme, use "null".
 "theme": "forest",
-"themeCSS": ".node rect { fill: red; }" 
- -## fontFamily - -| Parameter | Description | Type | Required | Values | -| ---------- | ------------------------------------------------------ | ------ | -------- | --------------------------- | -| fontFamily | specifies the font to be used in the rendered diagrams | string | Required | Any Possible CSS FontFamily | - -**Notes:** Default value: '"trebuchet ms", verdana, arial, sans-serif;'. - -## logLevel - -| Parameter | Description | Type | Required | Values | -| --------- | ----------------------------------------------------- | ---------------- | -------- | --------------------------------------------- | -| logLevel | This option decides the amount of logging to be used. | string \| number | Required | 'trace','debug','info','warn','error','fatal' | - -**Notes:** - -- Trace: 0 -- Debug: 1 -- Info: 2 -- Warn: 3 -- Error: 4 -- Fatal: 5 (default) - -## securityLevel - -| Parameter | Description | Type | Required | Values | -| ------------- | --------------------------------- | ------ | -------- | ------------------------------------------ | -| securityLevel | Level of trust for parsed diagram | string | Required | 'sandbox', 'strict', 'loose', 'antiscript' | - -**Notes**: - -- **strict**: (**default**) tags in text are encoded, click functionality is disabled -- **loose**: tags in text are allowed, click functionality is enabled -- **antiscript**: html tags in text are allowed, (only script element is removed), click - functionality is enabled -- **sandbox**: With this security level all rendering takes place in a sandboxed iframe. This - prevent any JavaScript from running in the context. This may hinder interactive functionality - of the diagram like scripts, popups in sequence diagram or links to other tabs/targets etc. - -## startOnLoad - -| Parameter | Description | Type | Required | Values | -| ----------- | -------------------------------------------- | ------- | -------- | ----------- | -| startOnLoad | Dictates whether mermaid starts on Page load | boolean | Required | true, false | - -**Notes:** Default value: true - -## arrowMarkerAbsolute - -| Parameter | Description | Type | Required | Values | -| ------------------- | ---------------------------------------------------------------------------- | ------- | -------- | ----------- | -| arrowMarkerAbsolute | Controls whether or arrow markers in html code are absolute paths or anchors | boolean | Required | true, false | - -**Notes**: - -This matters if you are using base tag settings. - -Default value: false - -## secure - -This option controls which currentConfig keys are considered _secure_ and can only be changed -via call to mermaidAPI.initialize. Calls to mermaidAPI.reinitialize cannot make changes to the -`secure` keys in the current currentConfig. This prevents malicious graph directives from -overriding a site's default security. - -**Notes**: - -Default value: ['secure', 'securityLevel', 'startOnLoad', 'maxTextSize'] - -## deterministicIds - -This option controls if the generated ids of nodes in the SVG are generated randomly or based -on a seed. If set to false, the IDs are generated based on the current date and thus are not -deterministic. This is the default behaviour. - -**Notes**: - -This matters if your files are checked into sourcecontrol e.g. git and should not change unless -content is changed. - -Default value: false - -## deterministicIDSeed - -This option is the optional seed for deterministic ids. if set to undefined but -deterministicIds is true, a simple number iterator is used. You can set this attribute to base -the seed on a static string. - -## flowchart - -The object containing configurations specific for flowcharts - -### diagramPadding - -| Parameter | Description | Type | Required | Values | -| -------------- | ----------------------------------------------- | ------- | -------- | ------------------ | -| diagramPadding | Amount of padding around the diagram as a whole | Integer | Required | Any Positive Value | - -**Notes:** - -The amount of padding around the diagram as a whole so that embedded diagrams have margins, -expressed in pixels - -Default value: 8 - -### htmlLabels - -| Parameter | Description | Type | Required | Values | -| ---------- | -------------------------------------------------------------------------------------------- | ------- | -------- | ----------- | -| htmlLabels | Flag for setting whether or not a html tag should be used for rendering labels on the edges. | boolean | Required | true, false | - -**Notes:** Default value: true. - -### nodeSpacing - -| Parameter | Description | Type | Required | Values | -| ----------- | --------------------------------------------------- | ------- | -------- | ------------------- | -| nodeSpacing | Defines the spacing between nodes on the same level | Integer | Required | Any positive Number | - -**Notes:** - -Pertains to horizontal spacing for TB (top to bottom) or BT (bottom to top) graphs, and the -vertical spacing for LR as well as RL graphs.\*\* - -Default value: 50 - -### rankSpacing - -| Parameter | Description | Type | Required | Values | -| ----------- | ----------------------------------------------------- | ------- | -------- | ------------------- | -| rankSpacing | Defines the spacing between nodes on different levels | Integer | Required | Any Positive Number | - -**Notes**: - -Pertains to vertical spacing for TB (top to bottom) or BT (bottom to top), and the horizontal -spacing for LR as well as RL graphs. - -Default value 50 - -### curve - -| Parameter | Description | Type | Required | Values | -| --------- | -------------------------------------------------- | ------ | -------- | ----------------------------- | -| curve | Defines how mermaid renders curves for flowcharts. | string | Required | 'basis', 'linear', 'cardinal' | - -**Notes:** - -Default Value: 'basis' - -### useMaxWidth - -| Parameter | Description | Type | Required | Values | -| ----------- | ----------- | ------- | -------- | ----------- | -| useMaxWidth | See notes | boolean | 4 | true, false | - -**Notes:** - -When this flag is set the height and width is set to 100% and is then scaling with the -available space if not the absolute space required is used. - -Default value: true - -### defaultRenderer - -| Parameter | Description | Type | Required | Values | -| --------------- | ----------- | ------- | -------- | ----------------------- | -| defaultRenderer | See notes | boolean | 4 | dagre-d3, dagre-wrapper | - -**Notes:** - -Decides which rendering engine that is to be used for the rendering. Legal values are: -dagre-d3 dagre-wrapper - wrapper for dagre implemented in mermaid - -Default value: 'dagre-wrapper' - -## sequence - -The object containing configurations specific for sequence diagrams - -### activationWidth - -| Parameter | Description | Type | Required | Values | -| --------------- | ---------------------------- | ------- | -------- | ------------------ | -| activationWidth | Width of the activation rect | Integer | Required | Any Positive Value | - -**Notes:** Default value :10 - -### diagramMarginX - -| Parameter | Description | Type | Required | Values | -| -------------- | ---------------------------------------------------- | ------- | -------- | ------------------ | -| diagramMarginX | Margin to the right and left of the sequence diagram | Integer | Required | Any Positive Value | - -**Notes:** Default value: 50 - -### diagramMarginY - -| Parameter | Description | Type | Required | Values | -| -------------- | ------------------------------------------------- | ------- | -------- | ------------------ | -| diagramMarginY | Margin to the over and under the sequence diagram | Integer | Required | Any Positive Value | - -**Notes:** Default value: 10 - -### actorMargin - -| Parameter | Description | Type | Required | Values | -| ----------- | --------------------- | ------- | -------- | ------------------ | -| actorMargin | Margin between actors | Integer | Required | Any Positive Value | - -**Notes:** Default value: 50 - -### width - -| Parameter | Description | Type | Required | Values | -| --------- | -------------------- | ------- | -------- | ------------------ | -| width | Width of actor boxes | Integer | Required | Any Positive Value | - -**Notes:** Default value: 150 - -### height - -| Parameter | Description | Type | Required | Values | -| --------- | --------------------- | ------- | -------- | ------------------ | -| height | Height of actor boxes | Integer | Required | Any Positive Value | - -**Notes:** Default value: 65 - -### boxMargin - -| Parameter | Description | Type | Required | Values | -| --------- | ------------------------ | ------- | -------- | ------------------ | -| boxMargin | Margin around loop boxes | Integer | Required | Any Positive Value | - -**Notes:** Default value: 10 - -### boxTextMargin - -| Parameter | Description | Type | Required | Values | -| ------------- | -------------------------------------------- | ------- | -------- | ------------------ | -| boxTextMargin | Margin around the text in loop/alt/opt boxes | Integer | Required | Any Positive Value | - -**Notes:** Default value: 5 - -### noteMargin - -| Parameter | Description | Type | Required | Values | -| ---------- | ------------------- | ------- | -------- | ------------------ | -| noteMargin | margin around notes | Integer | Required | Any Positive Value | - -**Notes:** Default value: 10 - -### messageMargin - -| Parameter | Description | Type | Required | Values | -| ------------- | ---------------------- | ------- | -------- | ------------------ | -| messageMargin | Space between messages | Integer | Required | Any Positive Value | - -**Notes:** Default value: 35 - -### messageAlign - -| Parameter | Description | Type | Required | Values | -| ------------ | --------------------------- | ------ | -------- | ------------------------- | -| messageAlign | Multiline message alignment | string | Required | 'left', 'center', 'right' | - -**Notes:** Default value: 'center' - -### mirrorActors - -| Parameter | Description | Type | Required | Values | -| ------------ | --------------------------- | ------- | -------- | ----------- | -| mirrorActors | Mirror actors under diagram | boolean | Required | true, false | - -**Notes:** Default value: true - -### forceMenus - -| Parameter | Description | Type | Required | Values | -| ---------- | ----------------------------------------------------------------------- | ------- | -------- | ----------- | -| forceMenus | forces actor popup menus to always be visible (to support E2E testing). | Boolean | Required | True, False | - -**Notes:** - -Default value: false. - -### bottomMarginAdj - -| Parameter | Description | Type | Required | Values | -| --------------- | ------------------------------------------ | ------- | -------- | ------------------ | -| bottomMarginAdj | Prolongs the edge of the diagram downwards | Integer | Required | Any Positive Value | - -**Notes:** - -Depending on css styling this might need adjustment. - -Default value: 1 - -### useMaxWidth - -| Parameter | Description | Type | Required | Values | -| ----------- | ----------- | ------- | -------- | ----------- | -| useMaxWidth | See Notes | boolean | Required | true, false | - -**Notes:** When this flag is set to true, the height and width is set to 100% and is then -scaling with the available space. If set to false, the absolute space required is used. - -Default value: true - -### rightAngles - -| Parameter | Description | Type | Required | Values | -| ----------- | ------------------------------------ | ------- | -------- | ----------- | -| rightAngles | display curve arrows as right angles | boolean | Required | true, false | - -**Notes:** - -This will display arrows that start and begin at the same node as right angles, rather than a -curve - -Default value: false - -### showSequenceNumbers - -| Parameter | Description | Type | Required | Values | -| ------------------- | ------------------------------- | ------- | -------- | ----------- | -| showSequenceNumbers | This will show the node numbers | boolean | Required | true, false | - -**Notes:** Default value: false - -### actorFontSize - -| Parameter | Description | Type | Required | Values | -| ------------- | -------------------------------------------------- | ------- | -------- | ------------------ | -| actorFontSize | This sets the font size of the actor's description | Integer | Require | Any Positive Value | - -**Notes:** **Default value 14**.. - -### actorFontFamily - -| Parameter | Description | Type | Required | Values | -| --------------- | ---------------------------------------------------- | ------ | -------- | --------------------------- | -| actorFontFamily | This sets the font family of the actor's description | string | Required | Any Possible CSS FontFamily | - -**Notes:** Default value: "'Open Sans", sans-serif' - -### actorFontWeight - -This sets the font weight of the actor's description - -**Notes:** Default value: 400. - -### noteFontSize - -| Parameter | Description | Type | Required | Values | -| ------------ | ----------------------------------------------- | ------- | -------- | ------------------ | -| noteFontSize | This sets the font size of actor-attached notes | Integer | Required | Any Positive Value | - -**Notes:** Default value: 14 - -### noteFontFamily - -| Parameter | Description | Type | Required | Values | -| -------------- | -------------------------------------------------- | ------ | -------- | --------------------------- | -| noteFontFamily | This sets the font family of actor-attached notes. | string | Required | Any Possible CSS FontFamily | - -**Notes:** Default value: ''"trebuchet ms", verdana, arial, sans-serif' - -### noteFontWeight - -This sets the font weight of the note's description - -**Notes:** Default value: 400 - -### noteAlign - -| Parameter | Description | Type | Required | Values | -| --------- | ---------------------------------------------------- | ------ | -------- | ------------------------- | -| noteAlign | This sets the text alignment of actor-attached notes | string | required | 'left', 'center', 'right' | - -**Notes:** Default value: 'center' - -### messageFontSize - -| Parameter | Description | Type | Required | Values | -| --------------- | ----------------------------------------- | ------- | -------- | ------------------- | -| messageFontSize | This sets the font size of actor messages | Integer | Required | Any Positive Number | - -**Notes:** Default value: 16 - -### messageFontFamily - -| Parameter | Description | Type | Required | Values | -| ----------------- | ------------------------------------------- | ------ | -------- | --------------------------- | -| messageFontFamily | This sets the font family of actor messages | string | Required | Any Possible CSS FontFamily | - -**Notes:** Default value: '"trebuchet ms", verdana, arial, sans-serif' - -### messageFontWeight - -This sets the font weight of the message's description - -**Notes:** Default value: 400. - -### wrap - -This sets the auto-wrap state for the diagram - -**Notes:** Default value: false. - -### wrapPadding - -This sets the auto-wrap padding for the diagram (sides only) - -**Notes:** Default value: 0. - -### labelBoxWidth - -This sets the width of the loop-box (loop, alt, opt, par) - -**Notes:** Default value: 50. - -### labelBoxHeight - -This sets the height of the loop-box (loop, alt, opt, par) - -**Notes:** Default value: 20. - -## gantt - -The object containing configurations specific for gantt diagrams - -### titleTopMargin - -### titleTopMargin - -| Parameter | Description | Type | Required | Values | -| -------------- | ---------------------------------------------- | ------- | -------- | ------------------ | -| titleTopMargin | Margin top for the text over the gantt diagram | Integer | Required | Any Positive Value | - -**Notes:** Default value: 25 - -### barHeight - -| Parameter | Description | Type | Required | Values | -| --------- | ----------------------------------- | ------- | -------- | ------------------ | -| barHeight | The height of the bars in the graph | Integer | Required | Any Positive Value | - -**Notes:** Default value: 20 - -### barGap - -| Parameter | Description | Type | Required | Values | -| --------- | ---------------------------------------------------------------- | ------- | -------- | ------------------ | -| barGap | The margin between the different activities in the gantt diagram | Integer | Optional | Any Positive Value | - -**Notes:** Default value: 4 - -### topPadding - -| Parameter | Description | Type | Required | Values | -| ---------- | -------------------------------------------------------------------------- | ------- | -------- | ------------------ | -| topPadding | Margin between title and gantt diagram and between axis and gantt diagram. | Integer | Required | Any Positive Value | - -**Notes:** Default value: 50 - -### rightPadding - -| Parameter | Description | Type | Required | Values | -| ------------ | ----------------------------------------------------------------------- | ------- | -------- | ------------------ | -| rightPadding | The space allocated for the section name to the right of the activities | Integer | Required | Any Positive Value | - -**Notes:** Default value: 75 - -### leftPadding - -| Parameter | Description | Type | Required | Values | -| ----------- | ---------------------------------------------------------------------- | ------- | -------- | ------------------ | -| leftPadding | The space allocated for the section name to the left of the activities | Integer | Required | Any Positive Value | - -**Notes:** Default value: 75 - -### gridLineStartPadding - -| Parameter | Description | Type | Required | Values | -| -------------------- | -------------------------------------------- | ------- | -------- | ------------------ | -| gridLineStartPadding | Vertical starting position of the grid lines | Integer | Required | Any Positive Value | - -**Notes:** Default value: 35 - -### fontSize - -| Parameter | Description | Type | Required | Values | -| --------- | ----------- | ------- | -------- | ------------------ | -| fontSize | Font size | Integer | Required | Any Positive Value | - -**Notes:** Default value: 11 - -### sectionFontSize - -| Parameter | Description | Type | Required | Values | -| --------------- | ---------------------- | ------- | -------- | ------------------ | -| sectionFontSize | Font size for sections | Integer | Required | Any Positive Value | - -**Notes:** Default value: 11 - -### numberSectionStyles - -| Parameter | Description | Type | Required | Values | -| ------------------- | ---------------------------------------- | ------- | -------- | ------------------ | -| numberSectionStyles | The number of alternating section styles | Integer | 4 | Any Positive Value | - -**Notes:** Default value: 4 - -### axisFormat - -| Parameter | Description | Type | Required | Values | -| ---------- | --------------------------- | ---- | -------- | ---------------- | -| axisFormat | Datetime format of the axis | 3 | Required | Date in yy-mm-dd | - -**Notes:** - -This might need adjustment to match your locale and preferences - -Default value: '%Y-%m-%d'. - -### useMaxWidth - -| Parameter | Description | Type | Required | Values | -| ----------- | ----------- | ------- | -------- | ----------- | -| useMaxWidth | See notes | boolean | 4 | true, false | - -**Notes:** - -When this flag is set the height and width is set to 100% and is then scaling with the -available space if not the absolute space required is used. - -Default value: true - -### topAxis - -| Parameter | Description | Type | Required | Values | -| --------- | ----------- | ------- | -------- | ----------- | -| topAxis | See notes | Boolean | 4 | True, False | - -**Notes:** when this flag is set date labels will be added to the top of the chart - -**Default value false**. - -## journey - -The object containing configurations specific for journey diagrams - -### diagramMarginX - -| Parameter | Description | Type | Required | Values | -| -------------- | ---------------------------------------------------- | ------- | -------- | ------------------ | -| diagramMarginX | Margin to the right and left of the sequence diagram | Integer | Required | Any Positive Value | - -**Notes:** Default value: 50 - -### diagramMarginY - -| Parameter | Description | Type | Required | Values | -| -------------- | -------------------------------------------------- | ------- | -------- | ------------------ | -| diagramMarginY | Margin to the over and under the sequence diagram. | Integer | Required | Any Positive Value | - -**Notes:** Default value: 10 - -### leftMargin - -| Parameter | Description | Type | Required | Values | -| ----------- | --------------------- | ------- | -------- | ------------------ | -| actorMargin | Margin between actors | Integer | Required | Any Positive Value | - -**Notes:** Default value: 50 - -### width - -| Parameter | Description | Type | Required | Values | -| --------- | -------------------- | ------- | -------- | ------------------ | -| width | Width of actor boxes | Integer | Required | Any Positive Value | - -**Notes:** Default value: 150 - -### height - -| Parameter | Description | Type | Required | Values | -| --------- | --------------------- | ------- | -------- | ------------------ | -| height | Height of actor boxes | Integer | Required | Any Positive Value | - -**Notes:** Default value: 65 - -### boxMargin - -| Parameter | Description | Type | Required | Values | -| --------- | ------------------------ | ------- | -------- | ------------------ | -| boxMargin | Margin around loop boxes | Integer | Required | Any Positive Value | - -**Notes:** Default value: 10 - -### boxTextMargin - -| Parameter | Description | Type | Required | Values | -| ------------- | -------------------------------------------- | ------- | -------- | ------------------ | -| boxTextMargin | Margin around the text in loop/alt/opt boxes | Integer | Required | Any Positive Value | - -**Notes:** Default value: 5 - -### noteMargin - -| Parameter | Description | Type | Required | Values | -| ---------- | ------------------- | ------- | -------- | ------------------ | -| noteMargin | Margin around notes | Integer | Required | Any Positive Value | - -**Notes:** Default value: 10 - -### messageMargin - -| Parameter | Description | Type | Required | Values | -| ------------- | ----------------------- | ------- | -------- | ------------------ | -| messageMargin | Space between messages. | Integer | Required | Any Positive Value | - -**Notes:** - -Space between messages. - -Default value: 35 - -### messageAlign - -| Parameter | Description | Type | Required | Values | -| ------------ | --------------------------- | ---- | -------- | ------------------------- | -| messageAlign | Multiline message alignment | 3 | 4 | 'left', 'center', 'right' | - -**Notes:** Default value: 'center' - -### bottomMarginAdj - -| Parameter | Description | Type | Required | Values | -| --------------- | ------------------------------------------ | ------- | -------- | ------------------ | -| bottomMarginAdj | Prolongs the edge of the diagram downwards | Integer | 4 | Any Positive Value | - -**Notes:** - -Depending on css styling this might need adjustment. - -Default value: 1 - -### useMaxWidth - -| Parameter | Description | Type | Required | Values | -| ----------- | ----------- | ------- | -------- | ----------- | -| useMaxWidth | See notes | boolean | 4 | true, false | - -**Notes:** - -When this flag is set the height and width is set to 100% and is then scaling with the -available space if not the absolute space required is used. - -Default value: true - -### rightAngles - -| Parameter | Description | Type | Required | Values | -| ----------- | --------------------------------- | ---- | -------- | ----------- | -| rightAngles | Curved Arrows become Right Angles | 3 | 4 | true, false | - -**Notes:** - -This will display arrows that start and begin at the same node as right angles, rather than a -curves - -Default value: false - -## useMaxWidth - -| Parameter | Description | Type | Required | Values | -| ----------- | ----------- | ------- | -------- | ----------- | -| useMaxWidth | See notes | boolean | 4 | true, false | - -**Notes:** - -When this flag is set the height and width is set to 100% and is then scaling with the -available space if not the absolute space required is used. - -Default value: true - -## defaultRenderer - -| Parameter | Description | Type | Required | Values | -| --------------- | ----------- | ------- | -------- | ----------------------- | -| defaultRenderer | See notes | boolean | 4 | dagre-d3, dagre-wrapper | - -**Notes**: - -Decides which rendering engine that is to be used for the rendering. Legal values are: -dagre-d3 dagre-wrapper - wrapper for dagre implemented in mermaid - -Default value: 'dagre-d3' - -## useMaxWidth - -| Parameter | Description | Type | Required | Values | -| ----------- | ----------- | ------- | -------- | ----------- | -| useMaxWidth | See notes | boolean | 4 | true, false | - -**Notes:** - -When this flag is set the height and width is set to 100% and is then scaling with the -available space if not the absolute space required is used. - -Default value: true - -## defaultRenderer - -| Parameter | Description | Type | Required | Values | -| --------------- | ----------- | ------- | -------- | ----------------------- | -| defaultRenderer | See notes | boolean | 4 | dagre-d3, dagre-wrapper | - -**Notes:** - -Decides which rendering engine that is to be used for the rendering. Legal values are: -dagre-d3 dagre-wrapper - wrapper for dagre implemented in mermaid - -Default value: 'dagre-d3' - -## er - -The object containing configurations specific for entity relationship diagrams - -### diagramPadding - -| Parameter | Description | Type | Required | Values | -| -------------- | ----------------------------------------------- | ------- | -------- | ------------------ | -| diagramPadding | Amount of padding around the diagram as a whole | Integer | Required | Any Positive Value | - -**Notes:** - -The amount of padding around the diagram as a whole so that embedded diagrams have margins, -expressed in pixels - -Default value: 20 - -### layoutDirection - -| Parameter | Description | Type | Required | Values | -| --------------- | ---------------------------------------- | ------ | -------- | ---------------------- | -| layoutDirection | Directional bias for layout of entities. | string | Required | "TB", "BT", "LR", "RL" | - -**Notes:** - -'TB' for Top-Bottom, 'BT'for Bottom-Top, 'LR' for Left-Right, or 'RL' for Right to Left. - -T = top, B = bottom, L = left, and R = right. - -Default value: 'TB' - -### minEntityWidth - -| Parameter | Description | Type | Required | Values | -| -------------- | ---------------------------------- | ------- | -------- | ------------------ | -| minEntityWidth | The minimum width of an entity box | Integer | Required | Any Positive Value | - -**Notes:** Expressed in pixels. Default value: 100 - -### minEntityHeight - -| Parameter | Description | Type | Required | Values | -| --------------- | ----------------------------------- | ------- | -------- | ------------------ | -| minEntityHeight | The minimum height of an entity box | Integer | 4 | Any Positive Value | - -**Notes:** Expressed in pixels Default value: 75 - -### entityPadding - -| Parameter | Description | Type | Required | Values | -| ------------- | ------------------------------------------------------------ | ------- | -------- | ------------------ | -| entityPadding | Minimum internal padding between text in box and box borders | Integer | 4 | Any Positive Value | - -**Notes:** - -The minimum internal padding between text in an entity box and the enclosing box borders, -expressed in pixels. - -Default value: 15 - -### stroke - -| Parameter | Description | Type | Required | Values | -| --------- | ----------------------------------- | ------ | -------- | -------------------- | -| stroke | Stroke color of box edges and lines | string | 4 | Any recognized color | - -**Notes:** Default value: 'gray' - -### fill - -| Parameter | Description | Type | Required | Values | -| --------- | -------------------------- | ------ | -------- | -------------------- | -| fill | Fill color of entity boxes | string | 4 | Any recognized color | - -**Notes:** Default value: 'honeydew' - -### fontSize - -| Parameter | Description | Type | Required | Values | -| --------- | ------------------- | ------- | -------- | ------------------ | -| fontSize | Font Size in pixels | Integer | | Any Positive Value | - -**Notes:** - -Font size (expressed as an integer representing a number of pixels) Default value: 12 - -### useMaxWidth - -| Parameter | Description | Type | Required | Values | -| ----------- | ----------- | ------- | -------- | ----------- | -| useMaxWidth | See Notes | boolean | Required | true, false | - -**Notes:** - -When this flag is set to true, the diagram width is locked to 100% and scaled based on -available space. If set to false, the diagram reserves its absolute width. - -Default value: true - -## pie - -The object containing configurations specific for pie diagrams - -### useMaxWidth - -| Parameter | Description | Type | Required | Values | -| ----------- | ----------- | ------- | -------- | ----------- | -| useMaxWidth | See Notes | boolean | Required | true, false | - -**Notes:** - -When this flag is set to true, the diagram width is locked to 100% and scaled based on -available space. If set to false, the diagram reserves its absolute width. - -Default value: true - -## requirement - -The object containing configurations specific for req diagrams - -### useMaxWidth - -| Parameter | Description | Type | Required | Values | -| ----------- | ----------- | ------- | -------- | ----------- | -| useMaxWidth | See Notes | boolean | Required | true, false | - -**Notes:** - -When this flag is set to true, the diagram width is locked to 100% and scaled based on -available space. If set to false, the diagram reserves its absolute width. - -Default value: true - -## c4 - -The object containing configurations specific for c4 diagrams - -### diagramMarginX - -| Parameter | Description | Type | Required | Values | -| -------------- | ---------------------------------------------- | ------- | -------- | ------------------ | -| diagramMarginX | Margin to the right and left of the c4 diagram | Integer | Required | Any Positive Value | - -**Notes:** Default value: 50 - -### diagramMarginY - -| Parameter | Description | Type | Required | Values | -| -------------- | ------------------------------------------- | ------- | -------- | ------------------ | -| diagramMarginY | Margin to the over and under the c4 diagram | Integer | Required | Any Positive Value | - -**Notes:** Default value: 10 - -### c4ShapeMargin - -| Parameter | Description | Type | Required | Values | -| ------------- | --------------------- | ------- | -------- | ------------------ | -| c4ShapeMargin | Margin between shapes | Integer | Required | Any Positive Value | - -**Notes:** Default value: 50 - -### c4ShapePadding - -| Parameter | Description | Type | Required | Values | -| -------------- | ---------------------- | ------- | -------- | ------------------ | -| c4ShapePadding | Padding between shapes | Integer | Required | Any Positive Value | - -**Notes:** Default value: 20 - -### width - -| Parameter | Description | Type | Required | Values | -| --------- | --------------------- | ------- | -------- | ------------------ | -| width | Width of person boxes | Integer | Required | Any Positive Value | - -**Notes:** Default value: 216 - -### height - -| Parameter | Description | Type | Required | Values | -| --------- | ---------------------- | ------- | -------- | ------------------ | -| height | Height of person boxes | Integer | Required | Any Positive Value | - -**Notes:** Default value: 60 - -### boxMargin - -| Parameter | Description | Type | Required | Values | -| --------- | ------------------- | ------- | -------- | ------------------ | -| boxMargin | Margin around boxes | Integer | Required | Any Positive Value | - -**Notes:** Default value: 10 - -### useMaxWidth - -| Parameter | Description | Type | Required | Values | -| ----------- | ----------- | ------- | -------- | ----------- | -| useMaxWidth | See Notes | boolean | Required | true, false | - -**Notes:** When this flag is set to true, the height and width is set to 100% and is then -scaling with the available space. If set to false, the absolute space required is used. - -Default value: true - -### c4ShapeInRow - -| Parameter | Description | Type | Required | Values | -| ------------ | ----------- | ------- | -------- | ------------------ | -| c4ShapeInRow | See Notes | Integer | Required | Any Positive Value | - -**Notes:** How many shapes to place in each row. - -Default value: 4 - -### c4BoundaryInRow - -| Parameter | Description | Type | Required | Values | -| --------------- | ----------- | ------- | -------- | ------------------ | -| c4BoundaryInRow | See Notes | Integer | Required | Any Positive Value | - -**Notes:** How many boundarys to place in each row. - -Default value: 2 - -### personFontSize - -This sets the font size of Person shape for the diagram - -**Notes:** Default value: 14. - -### personFontFamily - -This sets the font family of Person shape for the diagram - -**Notes:** Default value: "Open Sans", sans-serif. - -### personFontWeight - -This sets the font weight of Person shape for the diagram - -**Notes:** Default value: normal. - -### external_personFontSize - -This sets the font size of External Person shape for the diagram - -**Notes:** Default value: 14. - -### external_personFontFamily - -This sets the font family of External Person shape for the diagram - -**Notes:** Default value: "Open Sans", sans-serif. - -### external_personFontWeight - -This sets the font weight of External Person shape for the diagram - -**Notes:** Default value: normal. - -### systemFontSize - -This sets the font size of System shape for the diagram - -**Notes:** Default value: 14. - -### systemFontFamily - -This sets the font family of System shape for the diagram - -**Notes:** Default value: "Open Sans", sans-serif. - -### systemFontWeight - -This sets the font weight of System shape for the diagram - -**Notes:** Default value: normal. - -### external_systemFontSize - -This sets the font size of External System shape for the diagram - -**Notes:** Default value: 14. - -### external_systemFontFamily - -This sets the font family of External System shape for the diagram - -**Notes:** Default value: "Open Sans", sans-serif. - -### external_systemFontWeight - -This sets the font weight of External System shape for the diagram - -**Notes:** Default value: normal. - -### system_dbFontSize - -This sets the font size of System DB shape for the diagram - -**Notes:** Default value: 14. - -### system_dbFontFamily - -This sets the font family of System DB shape for the diagram - -**Notes:** Default value: "Open Sans", sans-serif. - -### system_dbFontWeight - -This sets the font weight of System DB shape for the diagram - -**Notes:** Default value: normal. - -### external_system_dbFontSize - -This sets the font size of External System DB shape for the diagram - -**Notes:** Default value: 14. - -### external_system_dbFontFamily - -This sets the font family of External System DB shape for the diagram - -**Notes:** Default value: "Open Sans", sans-serif. - -### external_system_dbFontWeight - -This sets the font weight of External System DB shape for the diagram - -**Notes:** Default value: normal. - -### system_queueFontSize - -This sets the font size of System Queue shape for the diagram - -**Notes:** Default value: 14. - -### system_queueFontFamily - -This sets the font family of System Queue shape for the diagram - -**Notes:** Default value: "Open Sans", sans-serif. - -### system_queueFontWeight - -This sets the font weight of System Queue shape for the diagram - -**Notes:** Default value: normal. - -### external_system_queueFontSize - -This sets the font size of External System Queue shape for the diagram - -**Notes:** Default value: 14. - -### external_system_queueFontFamily - -This sets the font family of External System Queue shape for the diagram - -**Notes:** Default value: "Open Sans", sans-serif. - -### external_system_queueFontWeight - -This sets the font weight of External System Queue shape for the diagram - -**Notes:** Default value: normal. - -### boundaryFontSize - -This sets the font size of Boundary shape for the diagram - -**Notes:** Default value: 14. - -### boundaryFontFamily - -This sets the font family of Boundary shape for the diagram - -**Notes:** Default value: "Open Sans", sans-serif. - -### boundaryFontWeight - -This sets the font weight of Boundary shape for the diagram - -**Notes:** Default value: normal. - -### messageFontSize - -This sets the font size of Message shape for the diagram - -**Notes:** Default value: 12. - -### messageFontFamily - -This sets the font family of Message shape for the diagram - -**Notes:** Default value: "Open Sans", sans-serif. - -### messageFontWeight - -This sets the font weight of Message shape for the diagram - -**Notes:** Default value: normal. - -### containerFontSize - -This sets the font size of Container shape for the diagram - -**Notes:** Default value: 14. - -### containerFontFamily - -This sets the font family of Container shape for the diagram - -**Notes:** Default value: "Open Sans", sans-serif. - -### containerFontWeight - -This sets the font weight of Container shape for the diagram - -**Notes:** Default value: normal. - -### external_containerFontSize - -This sets the font size of External Container shape for the diagram - -**Notes:** Default value: 14. - -### external_containerFontFamily - -This sets the font family of External Container shape for the diagram - -**Notes:** Default value: "Open Sans", sans-serif. - -### external_containerFontWeight - -This sets the font weight of External Container shape for the diagram - -**Notes:** Default value: normal. - -### container_dbFontSize - -This sets the font size of Container DB shape for the diagram - -**Notes:** Default value: 14. - -### container_dbFontFamily - -This sets the font family of Container DB shape for the diagram - -**Notes:** Default value: "Open Sans", sans-serif. - -### container_dbFontWeight - -This sets the font weight of Container DB shape for the diagram - -**Notes:** Default value: normal. - -### external_container_dbFontSize - -This sets the font size of External Container DB shape for the diagram - -**Notes:** Default value: 14. - -### external_container_dbFontFamily - -This sets the font family of External Container DB shape for the diagram - -**Notes:** Default value: "Open Sans", sans-serif. - -### external_container_dbFontWeight - -This sets the font weight of External Container DB shape for the diagram - -**Notes:** Default value: normal. - -### container_queueFontSize - -This sets the font size of Container Queue shape for the diagram - -**Notes:** Default value: 14. - -### container_queueFontFamily - -This sets the font family of Container Queue shape for the diagram - -**Notes:** Default value: "Open Sans", sans-serif. - -### container_queueFontWeight - -This sets the font weight of Container Queue shape for the diagram - -**Notes:** Default value: normal. - -### external_container_queueFontSize - -This sets the font size of External Container Queue shape for the diagram - -**Notes:** Default value: 14. - -### external_container_queueFontFamily - -This sets the font family of External Container Queue shape for the diagram - -**Notes:** Default value: "Open Sans", sans-serif. - -### external_container_queueFontWeight - -This sets the font weight of External Container Queue shape for the diagram - -**Notes:** Default value: normal. - -### componentFontSize - -This sets the font size of Component shape for the diagram - -**Notes:** Default value: 14. - -### componentFontFamily - -This sets the font family of Component shape for the diagram - -**Notes:** Default value: "Open Sans", sans-serif. - -### componentFontWeight - -This sets the font weight of Component shape for the diagram - -**Notes:** Default value: normal. - -### external_componentFontSize - -This sets the font size of External Component shape for the diagram - -**Notes:** Default value: 14. - -### external_componentFontFamily - -This sets the font family of External Component shape for the diagram - -**Notes:** Default value: "Open Sans", sans-serif. - -### external_componentFontWeight - -This sets the font weight of External Component shape for the diagram - -**Notes:** Default value: normal. - -### component_dbFontSize - -This sets the font size of Component DB shape for the diagram - -**Notes:** Default value: 14. - -### component_dbFontFamily - -This sets the font family of Component DB shape for the diagram - -**Notes:** Default value: "Open Sans", sans-serif. - -### component_dbFontWeight - -This sets the font weight of Component DB shape for the diagram - -**Notes:** Default value: normal. - -### external_component_dbFontSize - -This sets the font size of External Component DB shape for the diagram - -**Notes:** Default value: 14. - -### external_component_dbFontFamily - -This sets the font family of External Component DB shape for the diagram - -**Notes:** Default value: "Open Sans", sans-serif. - -### external_component_dbFontWeight - -This sets the font weight of External Component DB shape for the diagram - -**Notes:** Default value: normal. - -### component_queueFontSize - -This sets the font size of Component Queue shape for the diagram - -**Notes:** Default value: 14. - -### component_queueFontFamily - -This sets the font family of Component Queue shape for the diagram - -**Notes:** Default value: "Open Sans", sans-serif. - -### component_queueFontWeight - -This sets the font weight of Component Queue shape for the diagram - -**Notes:** Default value: normal. - -### external_component_queueFontSize - -This sets the font size of External Component Queue shape for the diagram - -**Notes:** Default value: 14. - -### external_component_queueFontFamily - -This sets the font family of External Component Queue shape for the diagram - -**Notes:** Default value: "Open Sans", sans-serif. - -### external_component_queueFontWeight - -This sets the font weight of External Component Queue shape for the diagram - -**Notes:** Default value: normal. - -### wrap - -This sets the auto-wrap state for the diagram - -**Notes:** Default value: true. - -### wrapPadding - -This sets the auto-wrap padding for the diagram (sides only) - -**Notes:** Default value: 0. - -## parse - -### Parameters - -- `text` **[string][4]** -- `parseError` **[Function][5]?** - -Returns **[boolean][6]** - -## setSiteConfig - -## setSiteConfig - -| Function | Description | Type | Values | -| ------------- | ------------------------------------- | ----------- | --------------------------------------- | -| setSiteConfig | Sets the siteConfig to desired values | Put Request | Any Values, except ones in secure array | - -**Notes:** Sets the siteConfig. The siteConfig is a protected configuration for repeat use. Calls -to reset() will reset the currentConfig to siteConfig. Calls to reset(configApi.defaultConfig) -will reset siteConfig and currentConfig to the defaultConfig Note: currentConfig is set in this -function _Default value: At default, will mirror Global Config_ - -### Parameters - -- `conf` **MermaidConfig** The base currentConfig to use as siteConfig - -Returns **[object][7]** The siteConfig - -## getSiteConfig - -## getSiteConfig - -| Function | Description | Type | Values | -| ------------- | ------------------------------------------------- | ----------- | -------------------------------- | -| setSiteConfig | Returns the current siteConfig base configuration | Get Request | Returns Any Values in siteConfig | - -**Notes**: Returns **any** values in siteConfig. - -Returns **[object][7]** The siteConfig - -## setConfig - -## setConfig - -| Function | Description | Type | Values | -| ------------- | ------------------------------------- | ----------- | --------------------------------------- | -| setSiteConfig | Sets the siteConfig to desired values | Put Request | Any Values, except ones in secure array | - -**Notes**: Sets the currentConfig. The parameter conf is sanitized based on the siteConfig.secure -keys. Any values found in conf with key found in siteConfig.secure will be replaced with the -corresponding siteConfig value. - -### Parameters - -- `conf` **any** The potential currentConfig - -Returns **any** The currentConfig merged with the sanitized conf - -## render - -Function that renders an svg with a graph from a chart definition. Usage example below. - -```javascript -mermaidAPI.initialize({ - startOnLoad: true, -}); -$(function () { - const graphDefinition = 'graph TB\na-->b'; - const cb = function (svgGraph) { - console.log(svgGraph); - }; - mermaidAPI.render('id1', graphDefinition, cb); -}); -``` - -### Parameters - -- `id` **[string][4]** The id of the element to be rendered -- `text` **[string][4]** The graph definition -- `cb` **function (svgCode: [string][4], bindFunctions: function (element: [Element][8]): void): void** -- `container` **[Element][8]** Selector to element in which a div with the graph temporarily will be - inserted. If one is provided a hidden div will be inserted in the body of the page instead. The - element will be removed when rendering is completed. - -Returns **void** - -## getConfig - -## getConfig - -| Function | Description | Type | Return Values | -| --------- | ------------------------- | ----------- | ------------------------------ | -| getConfig | Obtains the currentConfig | Get Request | Any Values from current Config | - -**Notes**: Returns **any** the currentConfig - -Returns **any** The currentConfig - -## sanitize - -## sanitize - -| Function | Description | Type | Values | -| -------- | -------------------------------------- | ----------- | ------ | -| sanitize | Sets the siteConfig to desired values. | Put Request | None | - -Ensures options parameter does not attempt to override siteConfig secure keys **Notes**: modifies -options in-place - -### Parameters - -- `options` **any** The potential setConfig parameter - -## addDirective - -Pushes in a directive to the configuration - -### Parameters - -- `directive` **[object][7]** The directive to push in - -## reset - -## reset - -| Function | Description | Type | Required | Values | -| -------- | ---------------------------- | ----------- | -------- | ------ | -| reset | Resets currentConfig to conf | Put Request | Required | None | - -## conf - -| Parameter | Description | Type | Required | Values | -| --------- | -------------------------------------------------------------- | ---------- | -------- | -------------------------------------------- | -| conf | base set of values, which currentConfig could be **reset** to. | Dictionary | Required | Any Values, with respect to the secure Array | - -**Notes**: (default: current siteConfig ) (optional, default `getSiteConfig()`) - -### Parameters - -- `config` (optional, default `siteConfig`) - -Returns **void** - -## initialize - -### Parameters - -- `options` **MermaidConfig** - -## - -## mermaidAPI configuration defaults - -```html - -``` - -[1]: Setup.md?id=render -[2]: 8.6.0_docs.md -[3]: #mermaidapi-configuration-defaults -[4]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String -[5]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function -[6]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean -[7]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object -[8]: https://developer.mozilla.org/docs/Web/API/Element diff --git a/vdocs/.vitepress/config.ts b/vdocs/.vitepress/config.ts new file mode 100644 index 000000000..307c1aba3 --- /dev/null +++ b/vdocs/.vitepress/config.ts @@ -0,0 +1,156 @@ +import { version } from '../../package.json'; +import MermaidMarkdown from './mermaid-markdown-all'; +import { defineConfig } from 'vitepress'; + +export default defineConfig({ + lang: 'en-US', + title: 'Mermaid', + description: 'Create diagrams and visualizations using text and code.', + base: '/mermaid-docs/', + markdown: MermaidMarkdown, + themeConfig: { + nav: nav(), + + sidebar: { + '/': sidebarAll(), + // "/intro/": sidebarIntro(), + // "/syntax/": sidebarSyntax(), + // "/config": sidebarConfig(), + // "/misc/": sidebarMisc(), + // "/community/": sidebarCommunity(), + }, + }, +}); + +function nav() { + return [ + { text: 'Intro', link: '/intro/', activeMatch: '/intro/' }, + { + text: 'Configuration', + link: '/config/Tutorials', + activeMatch: '/config/', + }, + { text: 'Syntax', link: '/syntax/classDiagram', activeMatch: '/syntax/' }, + { text: 'Misc', link: '/misc/integrations', activeMatch: '/misc/' }, + { + text: 'Community', + link: '/community/n00b-overview', + activeMatch: '/community/', + }, + { + text: version, + items: [ + { + text: 'Changelog', + link: 'https://github.com/mermaid-js/mermaid/blob/develop/CHANGELOG.md', + }, + { + text: 'Contributing', + link: 'https://github.com/knsv/mermaid/issues/866', + }, + ], + }, + { + text: '💻 Live Editor', + link: '/edit', + }, + ]; +} + +function sidebarAll() { + return [ + { + text: '📔 Introduction', + collapsible: true, + items: [ + { text: 'About Mermaid', link: '/intro/' }, + { text: 'Deployment', link: '/intro/n00b-gettingStarted' }, + { + text: 'Syntax and Configuration', + link: '/intro/n00b-syntaxReference', + }, + ], + }, + ...sidebarSyntax(), + ...sidebarConfig(), + ...sidebarMisc(), + ...sidebarCommunity(), + ]; +} + +function sidebarSyntax() { + return [ + { + text: '📊 Diagram Syntax', + collapsible: true, + items: [ + { text: 'Flowchart', link: '/syntax/flowchart' }, + { text: 'Sequence Diagram', link: '/syntax/sequenceDiagram' }, + { text: 'Class Diagram', link: '/syntax/classDiagram' }, + { text: 'State Diagram', link: '/syntax/stateDiagram' }, + { + text: 'Entity Relationship Diagram', + link: '/syntax/entityRelationshipDiagram', + }, + { text: 'User Journey', link: '/syntax/userJourney' }, + { text: 'Gantt', link: '/syntax/gantt' }, + { text: 'Pie Chart', link: '/syntax/pie' }, + { text: 'Requirement Diagram', link: '/syntax/requirementDiagram' }, + { text: 'Gitgraph (Git) Diagram 🔥', link: '/syntax/gitGraph' }, + { text: 'C4C Diagram (Context) Diagram 🦺⚠️', link: '/syntax/c4c' }, + { text: 'Other Examples', link: '/syntax/examples' }, + ], + }, + ]; +} + +function sidebarConfig() { + return [ + { + text: '⚙️ Deployment and Configuration', + collapsible: true, + items: [ + { text: 'Tutorials', link: '/config/Tutorials' }, + { text: 'API-Usage', link: '/config/usage' }, + { text: 'Mermaid API Configuration', link: '/config/Setup' }, + { text: 'Directives', link: '/config/directives' }, + { text: 'Theming', link: '/config/theming' }, + { text: 'Accessibility', link: '/config/accessibility' }, + { text: 'Mermaid CLI', link: '/config/mermaidCLI' }, + { text: 'Advanced usage', link: '/config/n00b-advanced' }, + ], + }, + ]; +} + +function sidebarMisc() { + return [ + { + text: '📚 Misc', + collapsible: true, + items: [ + { text: 'Use-Cases and Integrations', link: '/misc/integrations' }, + { text: 'FAQ', link: '/misc/faq' }, + ], + }, + ]; +} + +function sidebarCommunity() { + return [ + { + text: '🙌 Contributions and Community', + collapsible: true, + items: [ + { text: 'Overview for Beginners', link: '/community/n00b-overview' }, + { + text: 'Development and Contribution', + link: '/community/development', + }, + { text: 'Changelog', link: '/community/CHANGELOG' }, + { text: 'Adding Diagrams', link: '/community/newDiagram' }, + { text: 'Security', link: '/community/security' }, + ], + }, + ]; +} diff --git a/vdocs/.vitepress/mermaid-markdown-all.ts b/vdocs/.vitepress/mermaid-markdown-all.ts new file mode 100644 index 000000000..cf1e02881 --- /dev/null +++ b/vdocs/.vitepress/mermaid-markdown-all.ts @@ -0,0 +1,32 @@ +import { MermaidMarkdown } from 'vitepress-plugin-mermaid'; +const shiki = require('shiki'); + +export default { + config: async (md) => { + MermaidMarkdown(md); + const fence = md.renderer.rules.fence.bind(md.renderer.rules); + + const highlighter = await shiki.getHighlighter({ theme: 'material-palenight' }); + + md.renderer.rules.fence = (tokens, index, options, env, slf) => { + const token = tokens[index]; + + if (token.info.trim() === 'mermaid-example') { + let code = highlighter.codeToHtml(token.content, { lang: 'mermaid' }); + code = code.replace('#2e3440ff', 'transparent'); + code = code.replace('#292D3E', 'transparent'); + code = + '
Code:
' + + '
mermaid' + + code + + '
'; + + // return code; + return `${code} +
Render:
+ `; + } + return fence(tokens, index, options, env, slf); + }; + }, +}; diff --git a/vdocs/.vitepress/theme/custom.css b/vdocs/.vitepress/theme/custom.css new file mode 100644 index 000000000..d42052792 --- /dev/null +++ b/vdocs/.vitepress/theme/custom.css @@ -0,0 +1,13 @@ +@media (min-width: 1440px) { + .VPDoc:not(.has-sidebar) .container[data-v-10119189] { + max-width: 100%; + } + + .VPDoc.has-aside .content-container[data-v-10119189] { + max-width: 100%; + } +} + +:root { + --vp-layout-max-width: 100%; +} diff --git a/vdocs/.vitepress/theme/index.ts b/vdocs/.vitepress/theme/index.ts new file mode 100644 index 000000000..9ac90444b --- /dev/null +++ b/vdocs/.vitepress/theme/index.ts @@ -0,0 +1,6 @@ +import DefaultTheme from 'vitepress/theme'; +// import './custom.css'; + +export default { + ...DefaultTheme, +}; diff --git a/vdocs/community/CHANGELOG.md b/vdocs/community/CHANGELOG.md new file mode 100644 index 000000000..7a75ad4e2 --- /dev/null +++ b/vdocs/community/CHANGELOG.md @@ -0,0 +1,1024 @@ +# Change Log + +All changes are in descending order, beginning with the newest (latest) version. + +## Unreleased + +[Full Changelog](https://github.com/knsv/mermaid/compare/8.7.0...HEAD) + +## 8.7.0 (2020-08-09) + +🔖 [Release Notes](https://github.com/mermaid-js/mermaid/releases/tag/8.7.0) | +📜 [Full Changelog](https://github.com/mermaid-js/mermaid/compare/8.6.0...8.7.0) + +This version brings with it a system for [dynamic and integrated configuration of the diagram themes](../config/theming.md). +The objective of this is to increase the customizability of mermaid and the ease of Styling, with the customization of themes through the `%%init%%` directive and `initialize` calls. + +Themes follow and build upon the Levels of Configuration and employ `directives` to modify and create custom configurations, as they were introduced in Version [8.6.0](../getting-started/8.6.0_docs.md). + +**These Theming Configurations, similar to directives, will also be made applicable in the Live-Editor, for easier styling.** + +### Site-wide Themes + +Site-wide themes are still declared via `initialize` by site owners. + +Example of `Initalize` call setting `theme` to `base`: + +```javascript +mermaidAPI.initialize({ + securityLevel: 'loose', + theme: 'base', +}); +``` + +**Notes**: Only site owners can use the `mermaidAPI.initialize` call, to set values. Site-Users will have to use `%%init%%` to modify or create the theme for their diagrams. + +### Themes at the Local or Current Level + +When Generating a diagram using on a webpage that supports mermaid. +It is also possible to override site-wide theme settings locally, for a specific diagram, using directives, as long as it is not prohibited by the `secure` array. + +**Following is an example:** + +```mmd +%%{init: {'theme':'base'}}%% + graph TD + a --> b +``` + +### Making a Custom Theme with `themeVariables` + +The easiest way to make a custom theme is to start with the base theme, and just modify theme variables through `themeVariables`, via `%%init%%`. + +| Parameter | Description | Type | Required | Objects contained | +| -------------- | ------------------------------------------------------------------ | ----- | -------- | ---------------------------------- | +| themeVariables | Array containing objects, modifiable with the `%%init%%` directive | Array | Required | primaryColor, lineColor, textColor | + +Here is an example of overriding `primaryColor` and giving everything a different look, using `%%init%%`. + +```mmd +%%{init: {'theme': 'base', 'themeVariables': { 'primaryColor': '#ff0000'}}}%% + graph TD + A[Christmas] -->|Get money| B(Go shopping) + B --> C{Let me think} + B --> G[/Another/] + C ==>|One| D[Laptop] + C -->|Two| E[iPhone] + C -->|Three| F[fa:fa-car Car] + subgraph section + C + D + E + F + G + end +``` + +**Notes:** +Leaving it empty will set all variable values to default. + +## 8.6.0 (2020-07-13) + +🔖 [Release Notes](https://github.com/mermaid-js/mermaid/releases/tag/8.6.0) + +[Version 8.6.0](../getting-started/8.6.0_docs.md) introduces New Configuration Protocols and Directives and a Beta for the [New Mermaid Live-Editor](https://mermaid-js.github.io/docs/mermaid-live-editor-beta/#/edit/eyJjb2RlIjoiJSV7aW5pdDoge1widGhlbWVcIjogXCJmb3Jlc3RcIiwgXCJsb2dMZXZlbFwiOiAxIH19JSVcbmdyYXBoIFREXG4gIEFbQ2hyaXN0bWFzXSAtLT58R2V0IG1vbmV5fCBCKEdvIHNob3BwaW5nKVxuICBCIC0tPiBDe0xldCBtZSB0aGlua31cbiAgQyAtLT58T25lfCBEW0xhcHRvcF1cbiAgQyAtLT58VHdvfCBFW2lQaG9uZV1cbiAgQyAtLT58VGhyZWV8IEZbZmE6ZmEtY2FyIENhcl1cblx0XHQiLCJtZXJtYWlkIjp7InRoZW1lIjoiZGFyayJ9fQ) + +**With version 8.6.0 comes the release of directives for mermaid, a new system for modifying configurations, with the aim of establishing centralized, sane defaults and simple implementation.** + +Directives allow for a diagram specific overriding of config, as it has been discussed in Configurations. +This allows site users to input modifications to config alongside diagram definitions, when creating diagrams on a private webpage that supports Mermaid. + +## 8.5.0 (2020-04-11) + +🔖 [Release Notes](https://github.com/mermaid-js/mermaid/releases/tag/untagged-31c93788afe260d914bb) + +This version introduces New diagrams! + +**New diagrams in 8.5** + +With version 8.5 there are some bug fixes and enhancements, plus a new diagram type, entity relationship diagrams. + +![Image showing the new ER diagram type](./img/er.png) + +## 8.2.0 (2019-07-17) + +🏷️ [Tag](https://github.com/mermaid-js/mermaid/tree/8.2.0) + +Version 8.2.0, introduces a security improvement. + +A `securityLevel` configuration has to first be cleared, `securityLevel` sets the level of trust for the parsed diagrams and limits click functionality. +This was introduced in version 8.2 as a security improvement, aimed at preventing malicious use. + +### securityLevel + +| Parameter | Description | Type | Required | Values | +| ------------- | --------------------------------- | ------ | -------- | ------------------------- | +| securitylevel | Level of trust for parsed diagram | String | Required | Strict, Loose, antiscript | + +**Notes:** + +- **strict**: (**default**) tags in text are encoded, click functionality is disabled +- **loose**: tags in text are allowed, click functionality is enabled +- **antiscript**: html tags in text are allowed, (only script element is removed), click functionality is enabled + +⚠️ **Note**: This changes the default behaviour of mermaid so that after upgrade to 8.2, if the `securityLevel` is not configured, tags in flowcharts are encoded as tags and clicking is prohibited. + +If you are taking responsibility for the diagram source security you can set the `securityLevel` to a value of your choosing. +By doing this clicks and tags are again allowed. + +### To change `securityLevel` with `mermaidAPI.initialize`: + +```javascript +mermaidAPI.initialize({ + securityLevel: 'loose', +}); +``` + +**Closed issues:** + +- please add tag for 8.0.0 release [\#863](https://github.com/knsv/mermaid/issues/863) +- classDiagram breaks on any edit [\#858](https://github.com/knsv/mermaid/issues/858) + +## [8.1.0](https://github.com/knsv/mermaid/tree/8.1.0) (2019-06-25) + +[Full Changelog](https://github.com/knsv/mermaid/compare/7.0.5...8.1.0) + +**Implemented enhancements:** + +- Theme for dark background [\#301](https://github.com/knsv/mermaid/issues/301) +- \[Feature request\] gantt diagram axis format [\#269](https://github.com/knsv/mermaid/issues/269) +- Implement render function for server side rendering using phantomjs [\#169](https://github.com/knsv/mermaid/issues/169) + +**Fixed bugs:** + +- mermaid -v filename.mmd gives You must specify at least one source file. [\#328](https://github.com/knsv/mermaid/issues/328) +- Not Able to See Labels even htmlLabels:false added [\#268](https://github.com/knsv/mermaid/issues/268) + +**Closed issues:** + +- Gantt and sequence diagram do not render [\#853](https://github.com/knsv/mermaid/issues/853) +- margins around flowchart are not balanced [\#852](https://github.com/knsv/mermaid/issues/852) +- Smaller bundles [\#843](https://github.com/knsv/mermaid/issues/843) +- unicode in labels [\#776](https://github.com/knsv/mermaid/issues/776) +- Hard-changing drawing of arrows per edge type [\#775](https://github.com/knsv/mermaid/issues/775) +- SequenceDiagram wrong [\#773](https://github.com/knsv/mermaid/issues/773) +- Render mermaid on github pages with simple code [\#772](https://github.com/knsv/mermaid/issues/772) +- FlowChart - large space between text and the image [\#754](https://github.com/knsv/mermaid/issues/754) +- Class Diagram Issues when using Mermaid in Stackedit [\#748](https://github.com/knsv/mermaid/issues/748) +- Multi-platform CI [\#744](https://github.com/knsv/mermaid/issues/744) +- gantt: sections can't have a colon [\#742](https://github.com/knsv/mermaid/issues/742) +- Yarn build does not add mermaid.min.css to dist [\#732](https://github.com/knsv/mermaid/issues/732) +- Is there a grammar / keyword / more than just the basic examples? [\#718](https://github.com/knsv/mermaid/issues/718) +- Click event and react component [\#717](https://github.com/knsv/mermaid/issues/717) +- Long text going outside the box [\#706](https://github.com/knsv/mermaid/issues/706) +- How to migrate from yUML to mermaid? [\#704](https://github.com/knsv/mermaid/issues/704) +- Issue on Dynamic Creation in PHP [\#690](https://github.com/knsv/mermaid/issues/690) +- `click "\#target"` and `click "http://url"` should create regular links [\#689](https://github.com/knsv/mermaid/issues/689) +- Support Chinese punctuation [\#687](https://github.com/knsv/mermaid/issues/687) +- \[Question\] Proper way to install on Mac? [\#681](https://github.com/knsv/mermaid/issues/681) +- Has Mermaid a graphical interface to make diagrams? [\#668](https://github.com/knsv/mermaid/issues/668) +- mermaid installation on debian [\#649](https://github.com/knsv/mermaid/issues/649) +- "Cannot activate" in sequenceDiagram [\#647](https://github.com/knsv/mermaid/issues/647) +- Link \("click" statement\) in flowchart does not work in exported SVG [\#646](https://github.com/knsv/mermaid/issues/646) +- How to pass styling [\#639](https://github.com/knsv/mermaid/issues/639) +- The live editor cant show seq diagram with notes for 8.0.0-alpha.3 [\#638](https://github.com/knsv/mermaid/issues/638) +- import mermaid.css with ES6 + NPM [\#634](https://github.com/knsv/mermaid/issues/634) +- Actor line cuts through other elements [\#633](https://github.com/knsv/mermaid/issues/633) +- Graph TD line out of the picture \(left side\) [\#630](https://github.com/knsv/mermaid/issues/630) +- Flowchart labels appear "cutoff" [\#628](https://github.com/knsv/mermaid/issues/628) +- Uncaught TypeError: \_.constant is not a function \(mermaid.js\) [\#626](https://github.com/knsv/mermaid/issues/626) +- Missing tags and releases for newer versions [\#623](https://github.com/knsv/mermaid/issues/623) +- Mermaid and Leo / Leo Vue [\#622](https://github.com/knsv/mermaid/issues/622) +- mermaidAPI gantt Vue.js [\#621](https://github.com/knsv/mermaid/issues/621) +- Gantt sections are not separated by colors - Fix: set numberSectionStyles to 4 instead of 3 [\#620](https://github.com/knsv/mermaid/issues/620) +- how to get mermaidAPI? [\#617](https://github.com/knsv/mermaid/issues/617) +- Error in startOnLoad documentation? [\#616](https://github.com/knsv/mermaid/issues/616) +- Example export to SVG generates error [\#614](https://github.com/knsv/mermaid/issues/614) +- The new online editor does not support previously generated links [\#613](https://github.com/knsv/mermaid/issues/613) +- Grammar / Syntax documentation for flowcharts [\#607](https://github.com/knsv/mermaid/issues/607) +- Mermaid does not work with d3.js [\#606](https://github.com/knsv/mermaid/issues/606) +- Why does this code's flowchart lines get cut-off on screen? [\#604](https://github.com/knsv/mermaid/issues/604) +- click keyword does not fire my callback \(on the demo Website too\) [\#603](https://github.com/knsv/mermaid/issues/603) +- Online Editor fails to show exported SVG [\#601](https://github.com/knsv/mermaid/issues/601) +- Just saying thanks! [\#597](https://github.com/knsv/mermaid/issues/597) +- stylesheet crashed with other library like abcjs [\#596](https://github.com/knsv/mermaid/issues/596) +- Missing connection [\#594](https://github.com/knsv/mermaid/issues/594) +- How to use mermaid on node.js restful api? [\#593](https://github.com/knsv/mermaid/issues/593) +- Remove status code [\#589](https://github.com/knsv/mermaid/issues/589) +- Golang based editor [\#588](https://github.com/knsv/mermaid/issues/588) +- sequenceDiagram -\> notetext css font is hardcoded [\#587](https://github.com/knsv/mermaid/issues/587) +- Multiple graph in the live editor [\#586](https://github.com/knsv/mermaid/issues/586) +- All \ elements in page are colored black [\#584](https://github.com/knsv/mermaid/issues/584) +- Styling: classes aren't applied to elements. [\#582](https://github.com/knsv/mermaid/issues/582) +- Rounded connections [\#580](https://github.com/knsv/mermaid/issues/580) +- Arrows are not being shown correctly in the dark theme [\#578](https://github.com/knsv/mermaid/issues/578) +- The documentation for CLI seems outdated. [\#572](https://github.com/knsv/mermaid/issues/572) +- No effect of click event:can not open link [\#571](https://github.com/knsv/mermaid/issues/571) +- Text colors are not correct in VSCODE [\#570](https://github.com/knsv/mermaid/issues/570) +- Nodes aren't aligned properly \(just need an explanation\) [\#568](https://github.com/knsv/mermaid/issues/568) +- setting margin around figure in R [\#567](https://github.com/knsv/mermaid/issues/567) +- Arrows should Come out in upward and Downward direction from decision Node [\#566](https://github.com/knsv/mermaid/issues/566) +- TypeError: Cannot read property 'select' of undefined [\#563](https://github.com/knsv/mermaid/issues/563) +- A little bug [\#557](https://github.com/knsv/mermaid/issues/557) +- Japanese text appears garbled [\#554](https://github.com/knsv/mermaid/issues/554) +- classdiagram not works in mermaid live_editor [\#553](https://github.com/knsv/mermaid/issues/553) +- font awesome in link text? [\#546](https://github.com/knsv/mermaid/issues/546) +- q: heard of the cosmogol standard? [\#545](https://github.com/knsv/mermaid/issues/545) +- Arrow heads missing \(cli, 7.0.3\) [\#544](https://github.com/knsv/mermaid/issues/544) +- No Edge Boxes if useHtmlLabels=false [\#541](https://github.com/knsv/mermaid/issues/541) +- how to change mermaid text color or line text block color? [\#534](https://github.com/knsv/mermaid/issues/534) +- FlowChart visualization broken when downloading from live editor [\#533](https://github.com/knsv/mermaid/issues/533) +- Can't get flowchart to render paths at the top of the diagram; I even tried the online editor and that shows the same issue. Thoughts? [\#532](https://github.com/knsv/mermaid/issues/532) +- live editor make browser\(safari on macOS&iOS\) not longer respond [\#531](https://github.com/knsv/mermaid/issues/531) +- css classes need a prefix/namespace [\#527](https://github.com/knsv/mermaid/issues/527) +- input activate/deactivate cause safari unresponding [\#521](https://github.com/knsv/mermaid/issues/521) +- Cannot Render the Mermaid Graph to PDF ? [\#520](https://github.com/knsv/mermaid/issues/520) +- clicking links works from inset in subgraph but not from nodes [\#516](https://github.com/knsv/mermaid/issues/516) +- Strange syntax error - when importing mermaid.js [\#515](https://github.com/knsv/mermaid/issues/515) +- gantt x-axis display [\#510](https://github.com/knsv/mermaid/issues/510) +- phantomjs renamed to phantomjs-prebuilt [\#508](https://github.com/knsv/mermaid/issues/508) +- issue when using sphinxcontrib-mermaid extension for sphinx [\#507](https://github.com/knsv/mermaid/issues/507) +- layout of docs page looks broken [\#504](https://github.com/knsv/mermaid/issues/504) +- Problem showing graph with php on localhost [\#502](https://github.com/knsv/mermaid/issues/502) +- logLevel's option doesn't work at 7.0.0 [\#501](https://github.com/knsv/mermaid/issues/501) +- How do I get the log for a render or parse attempt? [\#500](https://github.com/knsv/mermaid/issues/500) +- Mermaid neutral style style to built in latest release [\#499](https://github.com/knsv/mermaid/issues/499) +- Any plans for adding a typescript definition file? [\#495](https://github.com/knsv/mermaid/issues/495) +- Gantt diagrams too narrow [\#493](https://github.com/knsv/mermaid/issues/493) +- Flowchart edge labels placement [\#490](https://github.com/knsv/mermaid/issues/490) +- Very different styles when rendering as png vs. svg [\#489](https://github.com/knsv/mermaid/issues/489) +- New editor that supports mermaid: Caret [\#488](https://github.com/knsv/mermaid/issues/488) +- Gant PNG margin [\#486](https://github.com/knsv/mermaid/issues/486) +- ReferenceError: window is not defined [\#485](https://github.com/knsv/mermaid/issues/485) +- Menu and layout bugs in docs [\#484](https://github.com/knsv/mermaid/issues/484) +- Mermaid resets some of the page CSS styles [\#482](https://github.com/knsv/mermaid/issues/482) +- Arrows rendering incorrectly in online editor [\#480](https://github.com/knsv/mermaid/issues/480) +- CSS stroke-dasharray ignored by browsers but not other viewers [\#474](https://github.com/knsv/mermaid/issues/474) +- mermaid - Browser Support issue [\#472](https://github.com/knsv/mermaid/issues/472) +- Totally love mermaid I might pop! [\#471](https://github.com/knsv/mermaid/issues/471) +- Sequence Diagram: Missing x on async arrows \(png\) [\#469](https://github.com/knsv/mermaid/issues/469) +- live editor: the svg file rendered from graph is not supported by browsers [\#468](https://github.com/knsv/mermaid/issues/468) +- Not found css [\#462](https://github.com/knsv/mermaid/issues/462) +- Phantomjs Dependency [\#461](https://github.com/knsv/mermaid/issues/461) +- Mermaid cli not working for subgraphs [\#459](https://github.com/knsv/mermaid/issues/459) +- Support for notes across multiple participants? [\#458](https://github.com/knsv/mermaid/issues/458) +- Related to Issue \#329: Phantomjs issues. [\#455](https://github.com/knsv/mermaid/issues/455) +- Add a click style [\#426](https://github.com/knsv/mermaid/issues/426) +- Add Parallel block \(par\) to sequence diagrams [\#425](https://github.com/knsv/mermaid/issues/425) +- updating shapes after the flow chart rendering complete [\#424](https://github.com/knsv/mermaid/issues/424) +- can't catch parse error Maximum call stack size exceeded on safari [\#421](https://github.com/knsv/mermaid/issues/421) +- Arrows endings are missing [\#419](https://github.com/knsv/mermaid/issues/419) +- shouldn't mermaid become more like Markdown ? [\#417](https://github.com/knsv/mermaid/issues/417) +- Live editor show rendered diagram if syntax invalid [\#415](https://github.com/knsv/mermaid/issues/415) +- Linkstyle stroke does not work [\#410](https://github.com/knsv/mermaid/issues/410) +- flowchart id's with dots in them .. break links [\#408](https://github.com/knsv/mermaid/issues/408) +- Flowchart: Link text beginning with lowercase 'o' causes flowchart to break [\#407](https://github.com/knsv/mermaid/issues/407) +- Some Chinese character will case Safari no responding. [\#405](https://github.com/knsv/mermaid/issues/405) +- Cannot center-justify text in nodes? [\#397](https://github.com/knsv/mermaid/issues/397) +- Edge labels should have white background in live editor [\#396](https://github.com/knsv/mermaid/issues/396) +- Live editor does not support activate/deactivate [\#394](https://github.com/knsv/mermaid/issues/394) +- Styling subgraph? [\#391](https://github.com/knsv/mermaid/issues/391) +- Update live editor to version 6.0.0 [\#387](https://github.com/knsv/mermaid/issues/387) +- sequence diagram config issue [\#385](https://github.com/knsv/mermaid/issues/385) +- How to add newline in the text [\#384](https://github.com/knsv/mermaid/issues/384) +- PhantomJS crashes on a large graph [\#380](https://github.com/knsv/mermaid/issues/380) +- Finnish support for class diagrams using plantuml syntax [\#377](https://github.com/knsv/mermaid/issues/377) +- mermaidAPI.render generated different svg code from mermaid.int\(\) [\#374](https://github.com/knsv/mermaid/issues/374) +- Put your own action on the chart [\#372](https://github.com/knsv/mermaid/issues/372) +- when declaring participants the elements are generated twice [\#370](https://github.com/knsv/mermaid/issues/370) +- Example Flowchart is cut in display \(Chrome\). [\#368](https://github.com/knsv/mermaid/issues/368) +- Add shebang support to diagrams [\#365](https://github.com/knsv/mermaid/issues/365) +- Silencing CLI output [\#352](https://github.com/knsv/mermaid/issues/352) +- SequenceDiagram: 3+ Alternative Paths [\#348](https://github.com/knsv/mermaid/issues/348) +- Smaller height of actor boxes [\#342](https://github.com/knsv/mermaid/issues/342) +- Question: lib/phantomscript.js - foreignObjects in SVG - related to \#58 [\#340](https://github.com/knsv/mermaid/issues/340) +- npm test fails on osx being blocked at Can not load "PhantomJS", it is not registered! [\#337](https://github.com/knsv/mermaid/issues/337) +- Tabs & subgraphs cause rendering error [\#336](https://github.com/knsv/mermaid/issues/336) +- Display question: right angles [\#335](https://github.com/knsv/mermaid/issues/335) +- No Arrows rendered v0.5.8 [\#330](https://github.com/knsv/mermaid/issues/330) +- You had errors in your syntax. Use --help for further information. [\#327](https://github.com/knsv/mermaid/issues/327) +- Allow alternate arrow syntax that doesn't close html comments [\#322](https://github.com/knsv/mermaid/issues/322) +- Comment in subgraph [\#319](https://github.com/knsv/mermaid/issues/319) +- Update graph [\#311](https://github.com/knsv/mermaid/issues/311) +- css conflicts with boostrap's css [\#308](https://github.com/knsv/mermaid/issues/308) +- Can not get click event to fire. [\#306](https://github.com/knsv/mermaid/issues/306) +- Fix phantomjs2 compatibility [\#304](https://github.com/knsv/mermaid/issues/304) +- Flowcharts do not work in native IE11 [\#303](https://github.com/knsv/mermaid/issues/303) +- Integration with remark.js - tutorial added [\#302](https://github.com/knsv/mermaid/issues/302) +- Sequence diagram Loops: changing boxMargin spoils the "loop" notation [\#299](https://github.com/knsv/mermaid/issues/299) +- src/mermaid.js generates bad code [\#297](https://github.com/knsv/mermaid/issues/297) +- Fresh fork: jasmine tests fail [\#294](https://github.com/knsv/mermaid/issues/294) +- CSS clash [\#292](https://github.com/knsv/mermaid/issues/292) +- Mermaid does not work in Chrome 48 [\#281](https://github.com/knsv/mermaid/issues/281) +- circle and ellipse cannot change color by classDef [\#271](https://github.com/knsv/mermaid/issues/271) +- npm run watch doesn't work due missing dependencies [\#266](https://github.com/knsv/mermaid/issues/266) +- label out of node [\#262](https://github.com/knsv/mermaid/issues/262) +- IE11 Support issue [\#261](https://github.com/knsv/mermaid/issues/261) +- mermaid without browser [\#260](https://github.com/knsv/mermaid/issues/260) +- Insufficient capacity of gantt diagrams [\#226](https://github.com/knsv/mermaid/issues/226) +- some WARN about installation [\#222](https://github.com/knsv/mermaid/issues/222) +- Live editor offline access [\#217](https://github.com/knsv/mermaid/issues/217) +- suggest: code highlight mode config for editors [\#212](https://github.com/knsv/mermaid/issues/212) +- Uncaught RangeError: Maximum call stack size exceeded [\#189](https://github.com/knsv/mermaid/issues/189) +- Styling label texts [\#50](https://github.com/knsv/mermaid/issues/50) + +**Merged pull requests:** + +- Remove console.log in classDB. [\#861](https://github.com/knsv/mermaid/pull/861) ([Arthaey](https://github.com/Arthaey)) +- Bump sshpk from 1.13.1 to 1.16.1 [\#851](https://github.com/knsv/mermaid/pull/851) ([dependabot[bot]](https://github.com/apps/dependabot)) +- Significantly smaller bundles [\#850](https://github.com/knsv/mermaid/pull/850) ([fabiospampinato](https://github.com/fabiospampinato)) +- Support styling of subgraphs [\#845](https://github.com/knsv/mermaid/pull/845) ([Qix-](https://github.com/Qix-)) +- fix dark theme loop labels not visible [\#837](https://github.com/knsv/mermaid/pull/837) ([jnnnnn](https://github.com/jnnnnn)) +- fix draw function can only call once [\#832](https://github.com/knsv/mermaid/pull/832) ([vaniship](https://github.com/vaniship)) +- Fix dotted lines not appearing in flowcharts when HTML labels disabled [\#828](https://github.com/knsv/mermaid/pull/828) ([stanhu](https://github.com/stanhu)) +- Fix issue with XML line breaks inside vertex labels [\#824](https://github.com/knsv/mermaid/pull/824) ([jsyang](https://github.com/jsyang)) +- fixed diagrams [\#810](https://github.com/knsv/mermaid/pull/810) ([0xflotus](https://github.com/0xflotus)) +- Clickable gantt tasks [\#804](https://github.com/knsv/mermaid/pull/804) ([abzicht](https://github.com/abzicht)) +- linkStyle now supports list of indexes with a few tests [\#798](https://github.com/knsv/mermaid/pull/798) ([ivan-danilov](https://github.com/ivan-danilov)) +- fix class diagram mermaid [\#795](https://github.com/knsv/mermaid/pull/795) ([DanShai](https://github.com/DanShai)) +- Added exclude weekdays to definition [\#792](https://github.com/knsv/mermaid/pull/792) ([jopapo](https://github.com/jopapo)) +- SVG link rendering [\#791](https://github.com/knsv/mermaid/pull/791) ([flying-sheep](https://github.com/flying-sheep)) +- Gantt milestones [\#788](https://github.com/knsv/mermaid/pull/788) ([gijswijs](https://github.com/gijswijs)) +- Remove duplicate code [\#768](https://github.com/knsv/mermaid/pull/768) ([znxkznxk1030](https://github.com/znxkznxk1030)) +- Render nodes as real links [\#765](https://github.com/knsv/mermaid/pull/765) ([flying-sheep](https://github.com/flying-sheep)) +- Fix issue with marker-end. [\#757](https://github.com/knsv/mermaid/pull/757) ([gjlubbertsen](https://github.com/gjlubbertsen)) +- Make Class Diagrams usable in Stackedit and Live Editor [\#749](https://github.com/knsv/mermaid/pull/749) ([monsterkrampe](https://github.com/monsterkrampe)) +- Adding trapezoid and inverse trapezoid vertex options. [\#741](https://github.com/knsv/mermaid/pull/741) ([adamwulf](https://github.com/adamwulf)) +- Add option for right angles [\#721](https://github.com/knsv/mermaid/pull/721) ([paulbland](https://github.com/paulbland)) +- Add nested activation classes [\#720](https://github.com/knsv/mermaid/pull/720) ([paulbland](https://github.com/paulbland)) +- wip: class diagram cardinality display [\#705](https://github.com/knsv/mermaid/pull/705) ([Vrixyz](https://github.com/Vrixyz)) +- add comments about CSS in config [\#688](https://github.com/knsv/mermaid/pull/688) ([imma90](https://github.com/imma90)) +- SequenceDiagram: Add support for multiple alt else statements [\#641](https://github.com/knsv/mermaid/pull/641) ([sechel](https://github.com/sechel)) +- fix \#426 - add class .clickable on nodes with click function or link [\#598](https://github.com/knsv/mermaid/pull/598) ([thomasleveil](https://github.com/thomasleveil)) +- Spec fix 1 [\#595](https://github.com/knsv/mermaid/pull/595) ([frankschmitt](https://github.com/frankschmitt)) + +## [7.0.5](https://github.com/knsv/mermaid/tree/7.0.5) (2017-09-01) + +[Full Changelog](https://github.com/knsv/mermaid/compare/7.0.3...7.0.5) + +**Closed issues:** + +- live editor latin error after update [\#560](https://github.com/knsv/mermaid/issues/560) +- Simple full example in online documentation is broken [\#558](https://github.com/knsv/mermaid/issues/558) +- Graph No Arrow Head v7.0.3 [\#543](https://github.com/knsv/mermaid/issues/543) +- Conflict while using mermaid along with core-js [\#512](https://github.com/knsv/mermaid/issues/512) +- Export to pdf on website [\#496](https://github.com/knsv/mermaid/issues/496) +- New downstream project: Mermaid Preview for VSCode [\#442](https://github.com/knsv/mermaid/issues/442) +- Can't Zoom the flowchart ? [\#399](https://github.com/knsv/mermaid/issues/399) +- line labels are not rendered correctly in live editor [\#366](https://github.com/knsv/mermaid/issues/366) +- mermaid-loader [\#361](https://github.com/knsv/mermaid/issues/361) +- Are there any documentation or examples for classDiagram and gitGraph? [\#359](https://github.com/knsv/mermaid/issues/359) +- \# character broken in 0.5.8 [\#347](https://github.com/knsv/mermaid/issues/347) +- Documentation issue: CSS example is not visible [\#345](https://github.com/knsv/mermaid/issues/345) +- Include documentation for command line usage [\#326](https://github.com/knsv/mermaid/issues/326) +- Fresh fork: can't build dist [\#296](https://github.com/knsv/mermaid/issues/296) +- Invalid value for \ attribute viewBox="0 0 -Infinity -Infinity" [\#291](https://github.com/knsv/mermaid/issues/291) +- Webpack require fails [\#277](https://github.com/knsv/mermaid/issues/277) +- New documentation - need improved logo [\#216](https://github.com/knsv/mermaid/issues/216) + +## [7.0.3](https://github.com/knsv/mermaid/tree/7.0.3) (2017-06-04) + +[Full Changelog](https://github.com/knsv/mermaid/compare/7.0.2...7.0.3) + +**Closed issues:** + +- the documentation website is down [\#539](https://github.com/knsv/mermaid/issues/539) +- Good example of interactivity with mermaidAPI [\#514](https://github.com/knsv/mermaid/issues/514) + +## [7.0.2](https://github.com/knsv/mermaid/tree/7.0.2) (2017-06-01) + +[Full Changelog](https://github.com/knsv/mermaid/compare/7.0.0...7.0.2) + +**Closed issues:** + +- CDN is not working [\#511](https://github.com/knsv/mermaid/issues/511) +- A sampe sequenceDiagram crashes mermaid-cli [\#492](https://github.com/knsv/mermaid/issues/492) +- Mermaid doesn't delete nodes when called multiple times [\#491](https://github.com/knsv/mermaid/issues/491) +- API crashes on 2nd render\(\) call [\#478](https://github.com/knsv/mermaid/issues/478) +- sequenceDiagram: dotted line for alt and empty bracket should be hidden [\#456](https://github.com/knsv/mermaid/issues/456) +- SVG output \(almost\) not correct [\#434](https://github.com/knsv/mermaid/issues/434) +- How to set axisFormatter of gantt in mermaid CLI? [\#428](https://github.com/knsv/mermaid/issues/428) +- customizing link style with any color sets `fill` property to `black` instead of `none` [\#416](https://github.com/knsv/mermaid/issues/416) +- New line at the end of SVG file [\#400](https://github.com/knsv/mermaid/issues/400) +- CLI doesn't work [\#389](https://github.com/knsv/mermaid/issues/389) +- Can't render subgraphs with htmlLabels: false [\#367](https://github.com/knsv/mermaid/issues/367) +- Color arrowhead [\#362](https://github.com/knsv/mermaid/issues/362) +- CLI: Invisible text, lines in SVG output [\#341](https://github.com/knsv/mermaid/issues/341) + +**Merged pull requests:** + +- Support Multi-line Actor Descriptions [\#764](https://github.com/knsv/mermaid/pull/764) ([watsoncj](https://github.com/watsoncj)) +- Update Travis config [\#538](https://github.com/knsv/mermaid/pull/538) ([tylerlong](https://github.com/tylerlong)) +- Fix spelling of 'you' in sequenceDiagram docs [\#537](https://github.com/knsv/mermaid/pull/537) ([ctruelson](https://github.com/ctruelson)) +- Improve CLI output [\#536](https://github.com/knsv/mermaid/pull/536) ([gibson042](https://github.com/gibson042)) +- Modernize mermaid [\#524](https://github.com/knsv/mermaid/pull/524) ([tylerlong](https://github.com/tylerlong)) +- Modernize mermaid [\#519](https://github.com/knsv/mermaid/pull/519) ([tylerlong](https://github.com/tylerlong)) +- Update CLI instructions [\#509](https://github.com/knsv/mermaid/pull/509) ([filipedeschamps](https://github.com/filipedeschamps)) +- Add style for classDiagram to dark/default theme [\#503](https://github.com/knsv/mermaid/pull/503) ([yudenzel](https://github.com/yudenzel)) +- Fix documentation for git graph. [\#498](https://github.com/knsv/mermaid/pull/498) ([gomlgs](https://github.com/gomlgs)) +- Fix links in documentations [\#497](https://github.com/knsv/mermaid/pull/497) ([saveman71](https://github.com/saveman71)) +- Update README.md with git graph sample [\#481](https://github.com/knsv/mermaid/pull/481) ([raghur](https://github.com/raghur)) +- Fix misspelling of “another” [\#479](https://github.com/knsv/mermaid/pull/479) ([stevenschobert](https://github.com/stevenschobert)) +- Fixed \#456 sequenceDiagram: dotted line for alt and empty bracket sho… [\#477](https://github.com/knsv/mermaid/pull/477) ([brookhong](https://github.com/brookhong)) +- Add viewbox attr to class diagram [\#473](https://github.com/knsv/mermaid/pull/473) ([gnkm](https://github.com/gnkm)) +- add par statement to sequenceDiagram [\#470](https://github.com/knsv/mermaid/pull/470) ([u-minor](https://github.com/u-minor)) + +## [7.0.0](https://github.com/knsv/mermaid/tree/7.0.0) (2017-01-29) + +[Full Changelog](https://github.com/knsv/mermaid/compare/6.0.0...7.0.0) + +**Implemented enhancements:** + +- npm install -g mermaid does not install phantomjs [\#329](https://github.com/knsv/mermaid/issues/329) +- activation boxes [\#313](https://github.com/knsv/mermaid/issues/313) + +**Closed issues:** + +- demos on io site not working [\#466](https://github.com/knsv/mermaid/issues/466) +- Can not be generated PNG pictures through CLI with Chinese [\#451](https://github.com/knsv/mermaid/issues/451) +- Round nodes cannot be styled with CSS classes [\#443](https://github.com/knsv/mermaid/issues/443) +- webpack gulp UglifyJsPlugin error. [\#440](https://github.com/knsv/mermaid/issues/440) +- String concatenation isn't working [\#432](https://github.com/knsv/mermaid/issues/432) +- text flow/wrap in actor box of sequence diagram [\#422](https://github.com/knsv/mermaid/issues/422) +- Online live editor still use old version [\#402](https://github.com/knsv/mermaid/issues/402) +- uncaught TypeError: t.getTransformToElement is not a function [\#401](https://github.com/knsv/mermaid/issues/401) +- Only works when using browserify'd code [\#373](https://github.com/knsv/mermaid/issues/373) +- document the use of shebang line in mmd files [\#364](https://github.com/knsv/mermaid/issues/364) +- Diagrams are small and unreadable in IE 11 - since 0.5.1 [\#356](https://github.com/knsv/mermaid/issues/356) +- \[Feature Request\] ER-Diagram Support [\#354](https://github.com/knsv/mermaid/issues/354) +- The need for mermaid.css should be mentioned explicitly in the intro docs... [\#273](https://github.com/knsv/mermaid/issues/273) + +**Merged pull requests:** + +- Update index.html [\#465](https://github.com/knsv/mermaid/pull/465) ([bmsleight](https://github.com/bmsleight)) +- Fix for \#416, customizing link style with any color sets `fill` property to `black` instead of `none` [\#452](https://github.com/knsv/mermaid/pull/452) ([joshuacolvin](https://github.com/joshuacolvin)) +- Allow .node\>circle to receive css styles [\#449](https://github.com/knsv/mermaid/pull/449) ([bfriedz](https://github.com/bfriedz)) +- Fix spelling [\#447](https://github.com/knsv/mermaid/pull/447) ([jawn](https://github.com/jawn)) +- added tests and fix cli css style selector lowercase problem [\#445](https://github.com/knsv/mermaid/pull/445) ([whyzdev](https://github.com/whyzdev)) +- Update d3.js [\#441](https://github.com/knsv/mermaid/pull/441) ([hetz](https://github.com/hetz)) +- added tests to reproduce \#434 in flowchart [\#439](https://github.com/knsv/mermaid/pull/439) ([whyzdev](https://github.com/whyzdev)) +- Code Climate config [\#437](https://github.com/knsv/mermaid/pull/437) ([larkinscott](https://github.com/larkinscott)) +- fix gantt and sequence digram cli cfg [\#435](https://github.com/knsv/mermaid/pull/435) ([whyzdev](https://github.com/whyzdev)) +- fix gantt chart cli configuration broken [\#433](https://github.com/knsv/mermaid/pull/433) ([whyzdev](https://github.com/whyzdev)) +- fix gantt chart cli configuration parsing including functions [\#430](https://github.com/knsv/mermaid/pull/430) ([whyzdev](https://github.com/whyzdev)) +- Uses an empty text node instead of a string for svg group labels [\#429](https://github.com/knsv/mermaid/pull/429) ([daveaglick](https://github.com/daveaglick)) +- use tspan via d3.textwrap to place actor text in sequence diagram [\#427](https://github.com/knsv/mermaid/pull/427) ([whyzdev](https://github.com/whyzdev)) +- \#422 use foreignObject/div to place actor label in sequence diagram [\#423](https://github.com/knsv/mermaid/pull/423) ([whyzdev](https://github.com/whyzdev)) +- Clarify the need for a CSS stylesheet [\#413](https://github.com/knsv/mermaid/pull/413) ([sifb](https://github.com/sifb)) +- Added hads downstream project [\#412](https://github.com/knsv/mermaid/pull/412) ([sinedied](https://github.com/sinedied)) +- update usage and fix \#273 [\#406](https://github.com/knsv/mermaid/pull/406) ([jinntrance](https://github.com/jinntrance)) +- Add https://github.com/raghur/mermaid-filter to downstream projects docs page [\#404](https://github.com/knsv/mermaid/pull/404) ([raghur](https://github.com/raghur)) +- New neutral theme [\#395](https://github.com/knsv/mermaid/pull/395) ([sinedied](https://github.com/sinedied)) +- fix cli issues [\#390](https://github.com/knsv/mermaid/pull/390) ([ben-page](https://github.com/ben-page)) +- Add missing space for 'Labels out of bounds' section [\#386](https://github.com/knsv/mermaid/pull/386) ([The-Alchemist](https://github.com/The-Alchemist)) +- Fix typo: `pats` -\> `paths` [\#382](https://github.com/knsv/mermaid/pull/382) ([swhgoon](https://github.com/swhgoon)) +- Added class diagram example to README.md [\#379](https://github.com/knsv/mermaid/pull/379) ([HustLion](https://github.com/HustLion)) +- override normal flowchart arrowhead to allow css styling [\#376](https://github.com/knsv/mermaid/pull/376) ([dodoinblue](https://github.com/dodoinblue)) +- added sphinx extension [\#371](https://github.com/knsv/mermaid/pull/371) ([mgaitan](https://github.com/mgaitan)) +- Fix typo in the sequence diagram documentation [\#369](https://github.com/knsv/mermaid/pull/369) ([ggpasqualino](https://github.com/ggpasqualino)) + +## [6.0.0](https://github.com/knsv/mermaid/tree/6.0.0) (2016-05-29) + +[Full Changelog](https://github.com/knsv/mermaid/compare/0.5.8...6.0.0) + +**Closed issues:** + +- Docs css: code hard to read [\#324](https://github.com/knsv/mermaid/issues/324) +- About Markpad integration [\#323](https://github.com/knsv/mermaid/issues/323) +- How to link backwards in flowchart? [\#321](https://github.com/knsv/mermaid/issues/321) +- Help with editor [\#310](https://github.com/knsv/mermaid/issues/310) +- +1 [\#293](https://github.com/knsv/mermaid/issues/293) +- Basic chart does not render on Chome, but does in Firefox [\#290](https://github.com/knsv/mermaid/issues/290) +- Live editor is broken [\#285](https://github.com/knsv/mermaid/issues/285) +- "No such file or directory" trying to run mermaid 0.5.7 on OS X [\#284](https://github.com/knsv/mermaid/issues/284) +- participant name as "Long Long Name" [\#283](https://github.com/knsv/mermaid/issues/283) +- Windows - cli - could not find phantomjs at the specified path [\#236](https://github.com/knsv/mermaid/issues/236) + +**Merged pull requests:** + +- The option of gantt for the spaces for the section names. [\#353](https://github.com/knsv/mermaid/pull/353) ([zeroyonichihachi](https://github.com/zeroyonichihachi)) +- Gitgraph: Make reset work with parent ref carets [\#350](https://github.com/knsv/mermaid/pull/350) ([raghur](https://github.com/raghur)) +- Remove the text-shadows that make the text look blurry [\#349](https://github.com/knsv/mermaid/pull/349) ([AsaAyers](https://github.com/AsaAyers)) +- add line interpolation to linkStyle in flowchart [\#346](https://github.com/knsv/mermaid/pull/346) ([AlanHohn](https://github.com/AlanHohn)) +- Support git graph diagrams in mermaid [\#344](https://github.com/knsv/mermaid/pull/344) ([raghur](https://github.com/raghur)) +- Build and test execution changes [\#338](https://github.com/knsv/mermaid/pull/338) ([ssbarnea](https://github.com/ssbarnea)) +- Reformatting of css files [\#331](https://github.com/knsv/mermaid/pull/331) ([Jmuccigr](https://github.com/Jmuccigr)) +- \(WIP\) Sequence Diagram Title Support [\#320](https://github.com/knsv/mermaid/pull/320) ([bronsoja](https://github.com/bronsoja)) +- activations doc + few fixes [\#318](https://github.com/knsv/mermaid/pull/318) ([ciekawy](https://github.com/ciekawy)) +- Dark theme for better contrast on darker backgrounds [\#317](https://github.com/knsv/mermaid/pull/317) ([crodriguez1a](https://github.com/crodriguez1a)) +- Activations [\#316](https://github.com/knsv/mermaid/pull/316) ([ciekawy](https://github.com/ciekawy)) +- Support leading comments for sequenceDiagrams [\#312](https://github.com/knsv/mermaid/pull/312) ([ashsearle](https://github.com/ashsearle)) +- Show a little lenience for white-space around names [\#309](https://github.com/knsv/mermaid/pull/309) ([ashsearle](https://github.com/ashsearle)) +- Update list of downstream projects [\#307](https://github.com/knsv/mermaid/pull/307) ([maxArturo](https://github.com/maxArturo)) +- Issue 299: Sequence diagram Loops: changing boxMargin spoils the "loop" notation [\#300](https://github.com/knsv/mermaid/pull/300) ([LarryKlugerDS](https://github.com/LarryKlugerDS)) +- Issue 297 - src/mermaid.js generates bad code [\#298](https://github.com/knsv/mermaid/pull/298) ([LarryKlugerDS](https://github.com/LarryKlugerDS)) +- Updated instructions for running tests [\#295](https://github.com/knsv/mermaid/pull/295) ([LarryKlugerDS](https://github.com/LarryKlugerDS)) +- Add Markdown Plus to Downstream projects [\#288](https://github.com/knsv/mermaid/pull/288) ([tylerlong](https://github.com/tylerlong)) +- Quote phantomPath so that it doesn't fail on window [\#286](https://github.com/knsv/mermaid/pull/286) ([raghur](https://github.com/raghur)) + +## [0.5.8](https://github.com/knsv/mermaid/tree/0.5.8) (2016-01-27) + +[Full Changelog](https://github.com/knsv/mermaid/compare/0.5.7...0.5.8) + +## [0.5.7](https://github.com/knsv/mermaid/tree/0.5.7) (2016-01-25) + +[Full Changelog](https://github.com/knsv/mermaid/compare/0.5.6...0.5.7) + +**Closed issues:** + +- Mermaid + LightPaper = ❤️ [\#280](https://github.com/knsv/mermaid/issues/280) +- Bower Integration [\#278](https://github.com/knsv/mermaid/issues/278) +- Mermaid breaks when variables end in 'v' [\#276](https://github.com/knsv/mermaid/issues/276) +- sequence diagrams don't support participant aliasing [\#263](https://github.com/knsv/mermaid/issues/263) +- One diagram that fails to render stops further execution on the page [\#259](https://github.com/knsv/mermaid/issues/259) +- Where to find line layout algorithm? [\#258](https://github.com/knsv/mermaid/issues/258) +- Compatibility with node.js [\#257](https://github.com/knsv/mermaid/issues/257) +- Label resizing with dynamically loaded fonts [\#255](https://github.com/knsv/mermaid/issues/255) +- SVG arrowheads are broken in the CLI [\#249](https://github.com/knsv/mermaid/issues/249) +- Cannot read property 'replace' of undefined [\#239](https://github.com/knsv/mermaid/issues/239) + +**Merged pull requests:** + +- gh-50 Allow styling of edge labels in css [\#267](https://github.com/knsv/mermaid/pull/267) ([Anoia](https://github.com/Anoia)) +- Allow sequenceDiagram participant aliasing [\#265](https://github.com/knsv/mermaid/pull/265) ([gibson042](https://github.com/gibson042)) + +## [0.5.6](https://github.com/knsv/mermaid/tree/0.5.6) (2015-11-22) + +[Full Changelog](https://github.com/knsv/mermaid/compare/0.5.5...0.5.6) + +**Implemented enhancements:** + +- Add download SVG link to the live editor [\#144](https://github.com/knsv/mermaid/issues/144) + +**Fixed bugs:** + +- Live Editor: Permalink address not being parsed [\#202](https://github.com/knsv/mermaid/issues/202) + +**Closed issues:** + +- title doesn't work in sequenceDiagram [\#248](https://github.com/knsv/mermaid/issues/248) +- hypen-minus should be valid in sequence diagram alt/else/etc. descriptions [\#247](https://github.com/knsv/mermaid/issues/247) +- Broken in firefox? [\#245](https://github.com/knsv/mermaid/issues/245) +- When there is a Chinese symbol in the flowchart, it will crash。 [\#238](https://github.com/knsv/mermaid/issues/238) +- Non-alpha characters included in ALPHA token \(flow graph jison\) [\#232](https://github.com/knsv/mermaid/issues/232) +- subgraph not rendering with change to sample [\#231](https://github.com/knsv/mermaid/issues/231) +- sequence diagram requires a new line at the end? [\#229](https://github.com/knsv/mermaid/issues/229) + +**Merged pull requests:** + +- Make sequenceDiagram terminal newline optional [\#253](https://github.com/knsv/mermaid/pull/253) ([gibson042](https://github.com/gibson042)) +- Support sequenceDiagram "over" notes [\#252](https://github.com/knsv/mermaid/pull/252) ([gibson042](https://github.com/gibson042)) +- Properly handle "rest of line" statements [\#251](https://github.com/knsv/mermaid/pull/251) ([gibson042](https://github.com/gibson042)) +- CLI: Propagate exit code from lib \(i.e., phantomjs\) [\#250](https://github.com/knsv/mermaid/pull/250) ([gibson042](https://github.com/gibson042)) +- flowRender.js - Fix FontAwesome icon insert [\#244](https://github.com/knsv/mermaid/pull/244) ([ma-zal](https://github.com/ma-zal)) +- updated sequence diagram link in live editor [\#242](https://github.com/knsv/mermaid/pull/242) ([r-a-v-a-s](https://github.com/r-a-v-a-s)) +- updated links in README.md [\#240](https://github.com/knsv/mermaid/pull/240) ([r-a-v-a-s](https://github.com/r-a-v-a-s)) +- Ellipse syntax [\#237](https://github.com/knsv/mermaid/pull/237) ([spect88](https://github.com/spect88)) +- Allow keywords as suffixes of node ids [\#235](https://github.com/knsv/mermaid/pull/235) ([spect88](https://github.com/spect88)) +- Highlighted the editor in the nav [\#234](https://github.com/knsv/mermaid/pull/234) ([knsv](https://github.com/knsv)) +- Live editor tweaks [\#233](https://github.com/knsv/mermaid/pull/233) ([spect88](https://github.com/spect88)) +- Add a Gitter chat badge to README.md [\#230](https://github.com/knsv/mermaid/pull/230) ([gitter-badger](https://github.com/gitter-badger)) + +## [0.5.5](https://github.com/knsv/mermaid/tree/0.5.5) (2015-10-21) + +[Full Changelog](https://github.com/knsv/mermaid/compare/0.5.4...0.5.5) + +**Closed issues:** + +- sequence diagram, arrowhead instead of crosshead [\#227](https://github.com/knsv/mermaid/issues/227) + +**Merged pull requests:** + +- Fix a typo: crosshead --\> arrowhead [\#228](https://github.com/knsv/mermaid/pull/228) ([tylerlong](https://github.com/tylerlong)) + +## [0.5.4](https://github.com/knsv/mermaid/tree/0.5.4) (2015-10-19) + +[Full Changelog](https://github.com/knsv/mermaid/compare/0.5.3...0.5.4) + +**Implemented enhancements:** + +- Set log level from mermaid configuration [\#220](https://github.com/knsv/mermaid/issues/220) +- Links in sequence diagrams [\#159](https://github.com/knsv/mermaid/issues/159) +- Add syntax for double headed arrows [\#123](https://github.com/knsv/mermaid/issues/123) + +**Fixed bugs:** + +- comment characters `%%` cause parse error [\#141](https://github.com/knsv/mermaid/issues/141) + +**Closed issues:** + +- Marker-end arrow cannot be shown for URL with query parameter [\#225](https://github.com/knsv/mermaid/issues/225) +- Please update bower's D3 version [\#221](https://github.com/knsv/mermaid/issues/221) +- Width fixed to 400px [\#204](https://github.com/knsv/mermaid/issues/204) +- render to png from the cli does not display the marker-end arrow heads [\#181](https://github.com/knsv/mermaid/issues/181) + +**Merged pull requests:** + +- Allow `end` as a substring of vertex id [\#224](https://github.com/knsv/mermaid/pull/224) ([spect88](https://github.com/spect88)) +- Remove duplicate npm dependencies: d3 and he [\#223](https://github.com/knsv/mermaid/pull/223) ([spect88](https://github.com/spect88)) + +## [0.5.3](https://github.com/knsv/mermaid/tree/0.5.3) (2015-10-04) + +[Full Changelog](https://github.com/knsv/mermaid/compare/0.5.2...0.5.3) + +## [0.5.2](https://github.com/knsv/mermaid/tree/0.5.2) (2015-10-04) + +[Full Changelog](https://github.com/knsv/mermaid/compare/0.5.1...0.5.2) + +**Implemented enhancements:** + +- Support for hyperlink and tooltip [\#34](https://github.com/knsv/mermaid/issues/34) + +**Closed issues:** + +- Installing “atom-mermaid@0.1.3” failed [\#218](https://github.com/knsv/mermaid/issues/218) +- node feature request [\#211](https://github.com/knsv/mermaid/issues/211) +- Please add prefix for styles [\#208](https://github.com/knsv/mermaid/issues/208) +- Bad handling of block arguments [\#207](https://github.com/knsv/mermaid/issues/207) +- please consider port to mac osx [\#203](https://github.com/knsv/mermaid/issues/203) +- allow phantomjs \>=1.9.x [\#201](https://github.com/knsv/mermaid/issues/201) +- syntax for venn diagrams? [\#200](https://github.com/knsv/mermaid/issues/200) +- Broken CLI Graphs? \(v0.5.1\) [\#196](https://github.com/knsv/mermaid/issues/196) +- Static site does not render under HTTPS [\#194](https://github.com/knsv/mermaid/issues/194) +- Error on simple graph [\#192](https://github.com/knsv/mermaid/issues/192) +- Escape "~" [\#191](https://github.com/knsv/mermaid/issues/191) +- Trying to add link using 'click' to flowchart [\#188](https://github.com/knsv/mermaid/issues/188) +- cli: no lines and arrowheads rendered / only dotted lines [\#187](https://github.com/knsv/mermaid/issues/187) +- text of mermaid div displayed on page [\#186](https://github.com/knsv/mermaid/issues/186) +- using mermaid with laravel [\#185](https://github.com/knsv/mermaid/issues/185) +- Atom editor package [\#183](https://github.com/knsv/mermaid/issues/183) +- Auto linewrap for notes in sequence diagrams [\#178](https://github.com/knsv/mermaid/issues/178) +- Execute code after initialize [\#176](https://github.com/knsv/mermaid/issues/176) +- Autoscaling for all diagram types [\#175](https://github.com/knsv/mermaid/issues/175) +- Problem wit click event callback [\#174](https://github.com/knsv/mermaid/issues/174) +- How to escape characters? [\#170](https://github.com/knsv/mermaid/issues/170) +- it can not work [\#167](https://github.com/knsv/mermaid/issues/167) +- Broken subgraph using the CLI [\#153](https://github.com/knsv/mermaid/issues/153) +- IE Support issue [\#142](https://github.com/knsv/mermaid/issues/142) +- Flowchart truncated [\#140](https://github.com/knsv/mermaid/issues/140) +- Double Quote as text is not working [\#219](https://github.com/knsv/mermaid/issues/219) +- classDef / class not working with htmlLabels? [\#210](https://github.com/knsv/mermaid/issues/210) +- Links in graph missing [\#209](https://github.com/knsv/mermaid/issues/209) +- Last word in comment boxes getting cut off by word wrap library : \( [\#195](https://github.com/knsv/mermaid/issues/195) +- Escaping characters in sequence diagram [\#193](https://github.com/knsv/mermaid/issues/193) +- SVG foreignObject rendering [\#180](https://github.com/knsv/mermaid/issues/180) +- IE9 issue [\#179](https://github.com/knsv/mermaid/issues/179) +- inoperable in an AMD/requirejs environment: IPython Notebook [\#127](https://github.com/knsv/mermaid/issues/127) +- \[Parser\] Hyphen in participant name bring TypeError [\#74](https://github.com/knsv/mermaid/issues/74) + +**Merged pull requests:** + +- Update flowchart.md [\#214](https://github.com/knsv/mermaid/pull/214) ([orschiro](https://github.com/orschiro)) +- Default style when using the CLI [\#205](https://github.com/knsv/mermaid/pull/205) ([gillesdemey](https://github.com/gillesdemey)) +- Gantt chart - add minutes and seconds durations [\#198](https://github.com/knsv/mermaid/pull/198) ([dbrans](https://github.com/dbrans)) +- Using QUnit for AMD testing [\#190](https://github.com/knsv/mermaid/pull/190) ([bollwyvl](https://github.com/bollwyvl)) +- Update phantomscript.js [\#182](https://github.com/knsv/mermaid/pull/182) ([phairow](https://github.com/phairow)) + +## [0.5.1](https://github.com/knsv/mermaid/tree/0.5.1) (2015-06-21) + +[Full Changelog](https://github.com/knsv/mermaid/compare/0.5.0...0.5.1) + +**Implemented enhancements:** + +- To SVG Export [\#146](https://github.com/knsv/mermaid/issues/146) +- Possibility to set the width of the generated flowchart [\#129](https://github.com/knsv/mermaid/issues/129) +- Special characters break parsing [\#54](https://github.com/knsv/mermaid/issues/54) +- Responsive graph layout for mobile viewers [\#51](https://github.com/knsv/mermaid/issues/51) +- Styling connector lines [\#31](https://github.com/knsv/mermaid/issues/31) + +**Fixed bugs:** + +- flowchart - styling of edges via css overrides specific styles set in the graph definition [\#128](https://github.com/knsv/mermaid/issues/128) + +**Closed issues:** + +- Live editor is broken [\#173](https://github.com/knsv/mermaid/issues/173) +- 0.5.0 no longer respects custom date definitions in Gantt diagrams [\#171](https://github.com/knsv/mermaid/issues/171) +- Drop label character restrictions [\#162](https://github.com/knsv/mermaid/issues/162) +- can't nest subgraphs in flowchart [\#161](https://github.com/knsv/mermaid/issues/161) +- Unable to generate gantt diagram with mermaid CLI [\#158](https://github.com/knsv/mermaid/issues/158) +- Inline css by "mermaid" [\#157](https://github.com/knsv/mermaid/issues/157) +- Finite State Machine Diagram [\#152](https://github.com/knsv/mermaid/issues/152) +- How to center align gantt diagram [\#150](https://github.com/knsv/mermaid/issues/150) +- Security concern regarding class definition [\#148](https://github.com/knsv/mermaid/issues/148) +- File Extension [\#147](https://github.com/knsv/mermaid/issues/147) +- `setTimeout` with clusters problematic with programmatic edits and no callback [\#133](https://github.com/knsv/mermaid/issues/133) +- module.exports.cloneCssStyles\(\) in combination with Angularjs breaks display in Chrome and IE [\#126](https://github.com/knsv/mermaid/issues/126) +- Gantt - suitable xAxis for longer project [\#125](https://github.com/knsv/mermaid/issues/125) +- How to get started with this project ? [\#64](https://github.com/knsv/mermaid/issues/64) + +**Merged pull requests:** + +- Remove moot `version` property from bower.json [\#172](https://github.com/knsv/mermaid/pull/172) ([kkirsche](https://github.com/kkirsche)) + +## [0.5.0](https://github.com/knsv/mermaid/tree/0.5.0) (2015-06-07) + +[Full Changelog](https://github.com/knsv/mermaid/compare/0.4.0...0.5.0) + +**Implemented enhancements:** + +- Add a css file, mermaid.css, with default styling [\#122](https://github.com/knsv/mermaid/issues/122) +- software architecture diagram [\#36](https://github.com/knsv/mermaid/issues/36) +- Support for bar charts and pie diagrams [\#22](https://github.com/knsv/mermaid/issues/22) + +**Closed issues:** + +- uglifyjs wanrings which means we can improve the code [\#156](https://github.com/knsv/mermaid/issues/156) +- New\(er\) features unavailable in downloadable js files? [\#151](https://github.com/knsv/mermaid/issues/151) +- Add gh-gapes link to description [\#143](https://github.com/knsv/mermaid/issues/143) +- Some examples not displayed on Firefox 36.0.1 [\#138](https://github.com/knsv/mermaid/issues/138) +- tags ending in a "v" don't render [\#132](https://github.com/knsv/mermaid/issues/132) +- Links in flowchart [\#131](https://github.com/knsv/mermaid/issues/131) +- Using the library for iOS development [\#130](https://github.com/knsv/mermaid/issues/130) +- Add capability for gantt diagrams [\#118](https://github.com/knsv/mermaid/issues/118) +- lower case v causes error in the parser [\#108](https://github.com/knsv/mermaid/issues/108) +- Label's css conflict with boostrap's .label [\#67](https://github.com/knsv/mermaid/issues/67) +- TypeError: Cannot read property 'layout' of undefined [\#37](https://github.com/knsv/mermaid/issues/37) + +**Merged pull requests:** + +- Dev 0.5.0 [\#168](https://github.com/knsv/mermaid/pull/168) ([knsv](https://github.com/knsv)) +- Fix spacing [\#164](https://github.com/knsv/mermaid/pull/164) ([rhcarvalho](https://github.com/rhcarvalho)) +- Fixing typo: "Think" -\> "Thick" [\#160](https://github.com/knsv/mermaid/pull/160) ([it0a](https://github.com/it0a)) +- IE, local html, cssRules access is denied [\#155](https://github.com/knsv/mermaid/pull/155) ([tylerlong](https://github.com/tylerlong)) +- Add automatically generated change log file. [\#139](https://github.com/knsv/mermaid/pull/139) ([skywinder](https://github.com/skywinder)) +- Adding init argument to the global API [\#137](https://github.com/knsv/mermaid/pull/137) ([bollwyvl](https://github.com/bollwyvl)) +- Add description of manual calling of init [\#136](https://github.com/knsv/mermaid/pull/136) ([bollwyvl](https://github.com/bollwyvl)) +- Allow other forms of node selection for init\(\) [\#135](https://github.com/knsv/mermaid/pull/135) ([bollwyvl](https://github.com/bollwyvl)) +- Use a library-level variable for assigning ids [\#134](https://github.com/knsv/mermaid/pull/134) ([bollwyvl](https://github.com/bollwyvl)) + +## [0.4.0](https://github.com/knsv/mermaid/tree/0.4.0) (2015-03-01) + +[Full Changelog](https://github.com/knsv/mermaid/compare/0.3.5...0.4.0) + +**Implemented enhancements:** + +- Assymetric shapes not documented [\#82](https://github.com/knsv/mermaid/issues/82) +- Improve arrows [\#3](https://github.com/knsv/mermaid/issues/3) + +**Fixed bugs:** + +- NoModificationAllowedError [\#23](https://github.com/knsv/mermaid/issues/23) + +**Closed issues:** + +- subgraph background is black in rendered flowchart PNG via CLI [\#121](https://github.com/knsv/mermaid/issues/121) +- Integrate editor at https://github.com/naseer/mermaid-webapp [\#110](https://github.com/knsv/mermaid/issues/110) +- Internet Explorer Support [\#99](https://github.com/knsv/mermaid/issues/99) + +## [0.3.5](https://github.com/knsv/mermaid/tree/0.3.5) (2015-02-15) + +[Full Changelog](https://github.com/knsv/mermaid/compare/0.3.4...0.3.5) + +## [0.3.4](https://github.com/knsv/mermaid/tree/0.3.4) (2015-02-15) + +[Full Changelog](https://github.com/knsv/mermaid/compare/0.3.3...0.3.4) + +**Implemented enhancements:** + +- Apply styling from css when using the CLI utility [\#85](https://github.com/knsv/mermaid/issues/85) +- Generated SVG works poorly outside web browsers [\#58](https://github.com/knsv/mermaid/issues/58) +- Generating SVG text blob for use in Node [\#2](https://github.com/knsv/mermaid/issues/2) + +**Closed issues:** + +- Subgraph syntax bug? [\#120](https://github.com/knsv/mermaid/issues/120) +- Live editor [\#115](https://github.com/knsv/mermaid/issues/115) +- Error in "Basic Syntax" wiki page [\#113](https://github.com/knsv/mermaid/issues/113) +- semicolons, anyone? [\#111](https://github.com/knsv/mermaid/issues/111) +- undefined `sequenceConfig` fails [\#109](https://github.com/knsv/mermaid/issues/109) +- Sequence Diagrams: Show Actors below as well [\#106](https://github.com/knsv/mermaid/issues/106) +- Allow overriding sequence diagram configuration \(SVG properties\) [\#103](https://github.com/knsv/mermaid/issues/103) +- Error when rendering A-- This is the text -- B [\#102](https://github.com/knsv/mermaid/issues/102) +- Clipping in documentation [\#97](https://github.com/knsv/mermaid/issues/97) +- isolate class styling to the svg container [\#92](https://github.com/knsv/mermaid/issues/92) +- Make the new graph declaration more visual [\#40](https://github.com/knsv/mermaid/issues/40) + +**Merged pull requests:** + +- Add live editor [\#119](https://github.com/knsv/mermaid/pull/119) ([naseer](https://github.com/naseer)) +- Adds CSS option to the CLI [\#116](https://github.com/knsv/mermaid/pull/116) ([fardog](https://github.com/fardog)) +- Update flowchart.md in response Issue \#113 [\#114](https://github.com/knsv/mermaid/pull/114) ([vijay40](https://github.com/vijay40)) +- Ignore all files except the license and dist/ folder when installing with Bower. [\#112](https://github.com/knsv/mermaid/pull/112) ([jasonbellamy](https://github.com/jasonbellamy)) + +## [0.3.3](https://github.com/knsv/mermaid/tree/0.3.3) (2015-01-25) + +[Full Changelog](https://github.com/knsv/mermaid/compare/0.3.2...0.3.3) + +**Implemented enhancements:** + +- Support for dotted links [\#26](https://github.com/knsv/mermaid/issues/26) + +**Closed issues:** + +- Missing arrows in sequence diagram [\#98](https://github.com/knsv/mermaid/issues/98) +- Error with \>9 linkStyles [\#95](https://github.com/knsv/mermaid/issues/95) + +**Merged pull requests:** + +- Require d3 directly to better support Node usage [\#107](https://github.com/knsv/mermaid/pull/107) ([markdalgleish](https://github.com/markdalgleish)) +- update doc with -c option [\#105](https://github.com/knsv/mermaid/pull/105) ([jjmr](https://github.com/jjmr)) +- Add new parameter to the console client to override the svg configuration in sequence diagrams [\#104](https://github.com/knsv/mermaid/pull/104) ([jjmr](https://github.com/jjmr)) +- Text based labels, new shape [\#101](https://github.com/knsv/mermaid/pull/101) ([bjowes](https://github.com/bjowes)) +- fix html tags in example usage [\#100](https://github.com/knsv/mermaid/pull/100) ([deiwin](https://github.com/deiwin)) + +## [0.3.2](https://github.com/knsv/mermaid/tree/0.3.2) (2015-01-11) + +[Full Changelog](https://github.com/knsv/mermaid/compare/0.3.1...0.3.2) + +**Implemented enhancements:** + +- Make link text look like it is on the line [\#53](https://github.com/knsv/mermaid/issues/53) + +**Closed issues:** + +- disable auto render [\#91](https://github.com/knsv/mermaid/issues/91) +- Tidy breaks mermaid \(linebreaks in \\) [\#87](https://github.com/knsv/mermaid/issues/87) +- Bug: \ being rendered as text in node [\#73](https://github.com/knsv/mermaid/issues/73) +- Graph edges appear to render outside of the canvas [\#70](https://github.com/knsv/mermaid/issues/70) + +**Merged pull requests:** + +- Merge pull request \#1 from knsv/master [\#96](https://github.com/knsv/mermaid/pull/96) ([gkchic](https://github.com/gkchic)) +- Removed duplicated section in flowchart docs [\#94](https://github.com/knsv/mermaid/pull/94) ([kaime](https://github.com/kaime)) +- Grammar changes to sequence page [\#93](https://github.com/knsv/mermaid/pull/93) ([gkchic](https://github.com/gkchic)) +- Github buttons [\#89](https://github.com/knsv/mermaid/pull/89) ([gkchic](https://github.com/gkchic)) +- Template change [\#88](https://github.com/knsv/mermaid/pull/88) ([gkchic](https://github.com/gkchic)) + +## [0.3.1](https://github.com/knsv/mermaid/tree/0.3.1) (2015-01-05) + +[Full Changelog](https://github.com/knsv/mermaid/compare/0.3.0...0.3.1) + +**Implemented enhancements:** + +- Support for sequence diagrams [\#16](https://github.com/knsv/mermaid/issues/16) +- Client utility for mermaid [\#6](https://github.com/knsv/mermaid/issues/6) + +**Closed issues:** + +- Non ASCII chars in labels [\#84](https://github.com/knsv/mermaid/issues/84) +- 'undefined' titles of Quicklinks on the usage page [\#80](https://github.com/knsv/mermaid/issues/80) +- \[cli\] Enhancement proposal: not fail --version / --help if phantomjs isn't installed [\#71](https://github.com/knsv/mermaid/issues/71) + +**Merged pull requests:** + +- Flowchart doc: Text in the circle now in a circle [\#81](https://github.com/knsv/mermaid/pull/81) ([Grahack](https://github.com/Grahack)) +- Fix for issue \#73 [\#79](https://github.com/knsv/mermaid/pull/79) ([it0a](https://github.com/it0a)) +- Ink template [\#78](https://github.com/knsv/mermaid/pull/78) ([gkchic](https://github.com/gkchic)) +- Show help and version even if phantom isn't present. Fixes \#71 [\#75](https://github.com/knsv/mermaid/pull/75) ([fardog](https://github.com/fardog)) +- Add apostrophe & 'and' [\#72](https://github.com/knsv/mermaid/pull/72) ([sudodoki](https://github.com/sudodoki)) + +## [0.3.0](https://github.com/knsv/mermaid/tree/0.3.0) (2014-12-22) + +[Full Changelog](https://github.com/knsv/mermaid/compare/0.2.16...0.3.0) + +**Implemented enhancements:** + +- How do I do comments? [\#47](https://github.com/knsv/mermaid/issues/47) +- Improve readability with new line as terminator and whitespace [\#38](https://github.com/knsv/mermaid/issues/38) + +**Fixed bugs:** + +- This characters failed the lexical parsing [\#46](https://github.com/knsv/mermaid/issues/46) + +**Closed issues:** + +- Trailing whitespace at the end of lines is not ignored [\#55](https://github.com/knsv/mermaid/issues/55) +- Use classes instead of inline style for easy styling [\#24](https://github.com/knsv/mermaid/issues/24) + +**Merged pull requests:** + +- Adds Command Line Interface for generating PNGs from mermaid description files [\#69](https://github.com/knsv/mermaid/pull/69) ([fardog](https://github.com/fardog)) +- Allow special symbols for direction along with acronyms [\#66](https://github.com/knsv/mermaid/pull/66) ([vijay40](https://github.com/vijay40)) + +## [0.2.16](https://github.com/knsv/mermaid/tree/0.2.16) (2014-12-15) + +[Full Changelog](https://github.com/knsv/mermaid/compare/0.2.15...0.2.16) + +**Fixed bugs:** + +- Lines routed outside visible area [\#19](https://github.com/knsv/mermaid/issues/19) + +**Closed issues:** + +- Mermaid not rendering properly on Wordpress pages [\#59](https://github.com/knsv/mermaid/issues/59) +- Improve example page with live demo [\#52](https://github.com/knsv/mermaid/issues/52) +- Does not render upon AngularJS Updates [\#45](https://github.com/knsv/mermaid/issues/45) +- Download link in README.MD doesn't work. [\#42](https://github.com/knsv/mermaid/issues/42) +- linkStyle usage is not obvious [\#41](https://github.com/knsv/mermaid/issues/41) +- Move \*.spec.js in src/ to test/ [\#35](https://github.com/knsv/mermaid/issues/35) + +**Merged pull requests:** + +- New grammar will allow statements ending without semicolon as disccused in Issue \#38 [\#63](https://github.com/knsv/mermaid/pull/63) ([vijay40](https://github.com/vijay40)) +- Class based styling [\#62](https://github.com/knsv/mermaid/pull/62) ([bjowes](https://github.com/bjowes)) +- Fix typos [\#60](https://github.com/knsv/mermaid/pull/60) ([sublimino](https://github.com/sublimino)) +- Included .DS_Store in gitignore [\#57](https://github.com/knsv/mermaid/pull/57) ([alvynmcq](https://github.com/alvynmcq)) +- Improves readability discussed in issue \#38 [\#56](https://github.com/knsv/mermaid/pull/56) ([vijay40](https://github.com/vijay40)) +- Added a linting task for gulp [\#43](https://github.com/knsv/mermaid/pull/43) ([serv](https://github.com/serv)) + +## [0.2.15](https://github.com/knsv/mermaid/tree/0.2.15) (2014-12-05) + +[Full Changelog](https://github.com/knsv/mermaid/compare/0.2.14...0.2.15) + +**Fixed bugs:** + +- Error with some characters [\#25](https://github.com/knsv/mermaid/issues/25) +- Cap-cased words break parser [\#8](https://github.com/knsv/mermaid/issues/8) + +**Closed issues:** + +- Question marks don't render properly with /dist/mermaid.full.min.js [\#30](https://github.com/knsv/mermaid/issues/30) +- Provide parse function in browser widthout `require`? [\#21](https://github.com/knsv/mermaid/issues/21) +- Better label text support [\#18](https://github.com/knsv/mermaid/issues/18) + +**Merged pull requests:** + +- Include bower_components/ to .gitignore [\#33](https://github.com/knsv/mermaid/pull/33) ([serv](https://github.com/serv)) +- Fixed reference to Git repo. [\#32](https://github.com/knsv/mermaid/pull/32) ([guyellis](https://github.com/guyellis)) + +## [0.2.14](https://github.com/knsv/mermaid/tree/0.2.14) (2014-12-03) + +[Full Changelog](https://github.com/knsv/mermaid/compare/0.2.13...0.2.14) + +## [0.2.13](https://github.com/knsv/mermaid/tree/0.2.13) (2014-12-03) + +[Full Changelog](https://github.com/knsv/mermaid/compare/0.2.10...0.2.13) + +**Implemented enhancements:** + +- Publish to NPM [\#7](https://github.com/knsv/mermaid/issues/7) + +**Closed issues:** + +- modified init to be applied more than once [\#29](https://github.com/knsv/mermaid/issues/29) +- Wanted to know build process for the project. [\#28](https://github.com/knsv/mermaid/issues/28) +- can not support Chinese description [\#20](https://github.com/knsv/mermaid/issues/20) +- Support unicode chars in labels [\#9](https://github.com/knsv/mermaid/issues/9) + +## [0.2.10](https://github.com/knsv/mermaid/tree/0.2.10) (2014-12-01) + +[Full Changelog](https://github.com/knsv/mermaid/compare/0.2.9...0.2.10) + +## [0.2.9](https://github.com/knsv/mermaid/tree/0.2.9) (2014-12-01) + +[Full Changelog](https://github.com/knsv/mermaid/compare/0.2.8...0.2.9) + +**Closed issues:** + +- Add link to jsbin playground to README [\#11](https://github.com/knsv/mermaid/issues/11) +- What are the requirements ? [\#10](https://github.com/knsv/mermaid/issues/10) + +**Merged pull requests:** + +- Allow unicode chars in labels [\#13](https://github.com/knsv/mermaid/pull/13) ([codebeige](https://github.com/codebeige)) + +## [0.2.8](https://github.com/knsv/mermaid/tree/0.2.8) (2014-12-01) + +[Full Changelog](https://github.com/knsv/mermaid/compare/0.2.7...0.2.8) + +## [0.2.7](https://github.com/knsv/mermaid/tree/0.2.7) (2014-12-01) + +[Full Changelog](https://github.com/knsv/mermaid/compare/0.2.6...0.2.7) + +**Closed issues:** + +- Provide parser as separate module [\#4](https://github.com/knsv/mermaid/issues/4) + +## [0.2.6](https://github.com/knsv/mermaid/tree/0.2.6) (2014-11-27) + +[Full Changelog](https://github.com/knsv/mermaid/compare/0.2.5...0.2.6) + +## [0.2.5](https://github.com/knsv/mermaid/tree/0.2.5) (2014-11-27) + +[Full Changelog](https://github.com/knsv/mermaid/compare/0.2.4...0.2.5) + +**Merged pull requests:** + +- Added new shapes! [\#1](https://github.com/knsv/mermaid/pull/1) ([bjowes](https://github.com/bjowes)) + +## [0.2.4](https://github.com/knsv/mermaid/tree/0.2.4) (2014-11-25) + +[Full Changelog](https://github.com/knsv/mermaid/compare/0.2.3...0.2.4) + +## [0.2.3](https://github.com/knsv/mermaid/tree/0.2.3) (2014-11-24) + +[Full Changelog](https://github.com/knsv/mermaid/compare/0.2.2...0.2.3) + +## [0.2.2](https://github.com/knsv/mermaid/tree/0.2.2) (2014-11-22) + +[Full Changelog](https://github.com/knsv/mermaid/compare/0.2.1...0.2.2) + +## [0.2.1](https://github.com/knsv/mermaid/tree/0.2.1) (2014-11-22) + +[Full Changelog](https://github.com/knsv/mermaid/compare/0.2.0...0.2.1) + +## [0.2.0](https://github.com/knsv/mermaid/tree/0.2.0) (2014-11-22) + +[Full Changelog](https://github.com/knsv/mermaid/compare/0.1.1...0.2.0) + +## [0.1.1](https://github.com/knsv/mermaid/tree/0.1.1) (2014-11-17) + +[Full Changelog](https://github.com/knsv/mermaid/compare/0.1.0...0.1.1) + +## [0.1.0](https://github.com/knsv/mermaid/tree/0.1.0) (2014-11-16) diff --git a/vdocs/community/development.md b/vdocs/community/development.md new file mode 100644 index 000000000..95e5fe417 --- /dev/null +++ b/vdocs/community/development.md @@ -0,0 +1,136 @@ +# Development and Contribution 🙌 + +So you want to help? That's great! + +![Image of happy people jumping with excitement](https://media.giphy.com/media/BlVnrxJgTGsUw/giphy.gif) + +Here are a few things to get you started on the right path. + +**The Docs Structure is dictated by [sidebar.md](https://github.com/mermaid-js/mermaid/edit/develop/src/docs/_sidebar.md)** + +**Note: Commits and Pull Requests should be directed to the develop branch.** + +## Branching + +Mermaid uses a [Git Flow](https://guides.github.com/introduction/flow/)–inspired approach to branching. So development is done in the `develop` branch. + +Once development is done we branch a `release` branch from `develop` for testing. + +Once the release happens we merge the `release` branch with `master` and kill the `release` branch. + +This means that **you should branch off your pull request from develop** and direct all Pull Requests to it. + +## Contributing Code + +We make all changes via Pull Requests. As we have many Pull Requests from developers new to mermaid, we have put in place a process, wherein _knsv, Knut Sveidqvist_ is the primary reviewer of changes and merging pull requests. The process is as follows: + +- Large changes reviewed by knsv or other developer asked to review by knsv +- Smaller, low-risk changes like dependencies, documentation, etc. can be merged by active collaborators +- Documentation (we encourage updates to the `src/docs` folder; you can submit them via direct commits) + +When you commit code, create a branch with the following naming convention: + +Start with the type, such as **feature** or **bug**, followed by the issue number for reference, and a text that describes the issue. + +**One example:** + +`feature/945_state_diagrams` + +**Another example:** + +`bug/123_nasty_bug_branch` + +## Contributing to Documentation + +If it is not in the documentation, it's like it never happened. Wouldn't that be sad? With all the effort that was put into the feature? + +The docs are located in the `src/docs` folder and are written in Markdown. Just pick the right section and start typing. If you want to propose changes to the structure of the documentation, such as adding a new section or a new file you do that via the **[sidebar](https://github.com/mermaid-js/mermaid/edit/develop/src/docs/_sidebar.md)**. + +> **All the documents displayed in the GitHub.io page are listed in [sidebar.md](https://github.com/mermaid-js/mermaid/edit/develop/src/docs/_sidebar.md)**. + +The contents of [https://mermaid-js.github.io/mermaid/](https://mermaid-js.github.io/mermaid/) are based on the docs from the `master` branch. Updates committed to the `master` branch are reflected in the [Mermaid Docs](https://mermaid-js.github.io/mermaid/) once released. + +## How to Contribute to Documentation + +We are a little less strict here, it is OK to commit directly in the `develop` branch if you are a collaborator. + +The documentation is located in the `src/docs` directory and organized according to relevant subfolder. + +The `docs` folder will be automatically generated when committing to `src/docs` and should not be edited manually. + +We encourage contributions to the documentation at [mermaid-js/mermaid/src/docs](https://github.com/mermaid-js/mermaid/tree/develop/src/docs). We publish documentation using GitHub Pages with [Docsify](https://www.youtube.com/watch?v=TV88lp7egMw&t=3s) + +### Add Unit Tests for Parsing + +This is important so that, if someone that does not know about this great feature suggests a change to the grammar, they get notified early on when that change breaks the parser. Another important aspect is that, without proper parsing, tests refactoring is pretty much impossible. + +### Add E2E Tests + +This tests the rendering and visual appearance of the diagrams. This ensures that the rendering of that feature in the e2e will be reviewed in the release process going forward. Less chance that it breaks! + +To start working with the e2e tests: + +1. Run `yarn dev` to start the dev server +2. Start **Cypress** by running `cypress open` in the **mermaid** folder. + (Make sure you have path to Cypress in order, the binary is located in `node_modules/.bin`). + +The rendering tests are very straightforward to create. There is a function `imgSnapshotTest`, which takes a diagram in text form and the mermaid options, and it renders that diagram in Cypress. + +When running in CI it will take a snapshot of the rendered diagram and compare it with the snapshot from last build and flag it for review if it differs. + +This is what a rendering test looks like: + +```js +it('should render forks and joins', () => { + imgSnapshotTest( + ` + stateDiagram + state fork_state <<fork>> + [*] --> fork_state + fork_state --> State2 + fork_state --> State3 + + state join_state <<join>> + State2 --> join_state + State3 --> join_state + join_state --> State4 + State4 --> [*] + `, + { logLevel: 0 } + ); + cy.get('svg'); +}); +``` + +### Any Questions or Suggestions? + +After logging in at [GitHub.com](https://www.github.com), open or append to an issue [using the GitHub issue tracker of the mermaid-js repository](https://github.com/mermaid-js/mermaid/issues?q=is%3Aissue+is%3Aopen+label%3A%22Area%3A+Documentation%22). + +### How to Contribute a Suggestion + +Markdown is used to format the text, for more information about Markdown [see the GitHub Markdown help page](https://help.github.com/en/github/writing-on-github/basic-writing-and-formatting-syntax). + +To edit Docs on your computer: + +1. Find the Markdown file (.md) to edit in the [mermaid-js/mermaid/src/docs](https://github.com/mermaid-js/mermaid/tree/develop/src/docs) directory in the `develop` branch. +2. Create a fork of the develop branch. +3. Make changes or add new documentation. +4. Commit changes to your fork and push it to GitHub. +5. Create a Pull Request of your fork. + +To edit Docs on GitHub: + +1. Login to [GitHub.com](https://www.github.com). +2. Navigate to [mermaid-js/mermaid/src/docs](https://github.com/mermaid-js/mermaid/tree/develop/src/docs). +3. To edit a file, click the pencil icon at the top-right of the file contents panel. +4. Describe what you changed in the **Propose file change** section, located at the bottom of the page. +5. Submit your changes by clicking the button **Propose file change** at the bottom (by automatic creation of a fork and a new branch). +6. Create a Pull Request of your newly forked branch by clicking the green **Create Pull Request** button. + +## Last Words + +Don't get daunted if it is hard in the beginning. We have a great community with only encouraging words. So, if you get stuck, ask for help and hints in the Slack forum. If you want to show off something good, show it off there. + +[Join our Slack community if you want closer contact!](https://join.slack.com/t/mermaid-talk/shared_invite/enQtNzc4NDIyNzk4OTAyLWVhYjQxOTI2OTg4YmE1ZmJkY2Y4MTU3ODliYmIwOTY3NDJlYjA0YjIyZTdkMDMyZTUwOGI0NjEzYmEwODcwOTE) + +![Image of superhero wishing you good luck](https://media.giphy.com/media/l49JHz7kJvl6MCj3G/giphy.gif) diff --git a/vdocs/community/img/er.png b/vdocs/community/img/er.png new file mode 100644 index 0000000000000000000000000000000000000000..21c44c257a3e0ee3e782dd5b6696602f6d9f5172 GIT binary patch literal 56576 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 These are the Mermaid diagram definitions inside `
` tags, with the `class=mermaid`. + +```html +
+    graph TD
+    A[Client] --> B[Load Balancer]
+    B --> C[Server01]
+    B --> D[Server02]
+
+``` + +**render** + +> This is the core function of the Mermaid API. It reads all the `Mermaid Definitions` inside `div` tags and returns an SVG file, based on the definition. + +**Nodes** + +> These are the boxes that contain text or otherwise discrete pieces of each diagram, separated generally by arrows, except for Gantt Charts and User Journey Diagrams. They will be referred often in the instructions. Read for Diagram Specific [Syntax](../config/n00b-syntaxReference) + +## Advantages of using Mermaid + +- Ease to generate, modify and render diagrams when you make them. +- The number of integrations and plugins it has. +- You can add it to your or companies website. +- Diagrams can be created through comments like this in a script: + +## The catch-22 of Diagrams and Charts: + +**Diagramming and charting is a large waste of developer's time, but not having diagrams ruins productivity.** + +Mermaid solves this by reducing the time and effort required to create diagrams and charts. + +Because, the text base for the diagrams allows it to be updated easily. Also, it can be made part of production scripts (and other pieces of code). So less time is spent on documenting, as a separate task. + +## Catching up with Development + +Being based on markdown, Mermaid can be used, not only by accomplished front-end developers, but by most computer savvy people to render diagrams, at much faster speeds. +In fact one can pick up the syntax for it quite easily from the examples given and there are many tutorials available in the internet. + +## Mermaid is for everyone. + +Video [Tutorials](../config/Tutorials) are also available for the mermaid [live editor](https://mermaid.live/). + +Alternatively you can use Mermaid [Plug-Ins](../misc/integrations), with tools you already use, like Google Docs. diff --git a/vdocs/community/newDiagram.md b/vdocs/community/newDiagram.md new file mode 100644 index 000000000..1f9aabcb0 --- /dev/null +++ b/vdocs/community/newDiagram.md @@ -0,0 +1,263 @@ +# Adding a New Diagram/Chart 📊 + +### Step 1: Grammar & Parsing + +#### Grammar + +This would be to define a jison grammar for the new diagram type. That should start with a way to identify that the text in the mermaid tag is a diagram of that type. Create a new folder under diagrams for your new diagram type and a parser folder in it. This leads us to step 2. + +For instance: + +- the flowchart starts with the keyword graph. +- the sequence diagram starts with the keyword sequenceDiagram + +#### Store data found during parsing + +There are some jison specific sub steps here where the parser stores the data encountered when parsing the diagram, this data is later used by the renderer. You can during the parsing call a object provided to the parser by the user of the parser. This object can be called during parsing for storing data. + +``` +statement + : 'participant' actor { $$='actor'; } + | signal { $$='signal'; } + | note_statement { $$='note'; } + | 'title' message { yy.setTitle($2); } + ; +``` + +In the extract of the grammar above, it is defined that a call to the setTitle method in the data object will be done when parsing and the title keyword is encountered. + +::: tip +Make sure that the `parseError` function for the parser is defined and calling `mermaid.parseError`. This way a common way of detecting parse errors is provided for the end-user. +::: + +For more info look in the example diagram type: + +The `yy` object has the following function: + +```javascript +exports.parseError = function (err, hash) { + mermaid.parseError(err, hash); +}; +``` + +when parsing the `yy` object is initialized as per below: + +```javascript +var parser; +parser = exampleParser.parser; +parser.yy = db; +``` + +### Step 2: Rendering + +Write a renderer that given the data found during parsing renders the diagram. To look at an example look at sequenceRenderer.js rather then the flowchart renderer as this is a more generic example. + +Place the renderer in the diagram folder. + +### Step 3: Detection of the new diagram type + +The second thing to do is to add the capability to detect the new new diagram to type to the detectType in utils.js. The detection should return a key for the new diagram type. + +### Step 4: The final piece - triggering the rendering + +At this point when mermaid is trying to render the diagram, it will detect it as being of the new type but there will be no match when trying to render the diagram. To fix this add a new case in the switch statement in main.js:init this should match the diagram type returned from step #2. The code in this new case statement should call the renderer for the diagram type with the data found by the parser as an argument. + +## Usage of the parser as a separate module + +### Setup + +```javascript +var graph = require('./graphDb'); +var flow = require('./parser/flow'); +flow.parser.yy = graph; +``` + +### Parsing + +```javascript +flow.parser.parse(text); +``` + +### Data extraction + +```javascript +graph.getDirection(); +graph.getVertices(); +graph.getEdges(); +``` + +The parser is also exposed in the mermaid api by calling: + +```javascript +var parser = mermaid.getParser(); +``` + +Note that the parse needs a graph object to store the data as per: + +```javascript +flow.parser.yy = graph; +``` + +Look at `graphDb.js` for more details on that object. + +## Layout + +If you are using a dagre based layout, please use flowchart-v2 as a template and by doing that you will be using dagre-wrapper instead of dagreD3 which we are migrating away from. + +### Common parts of a diagram + +There are a few features that are common between the different types of diagrams. We try to standardize the diagrams that work as similar as possible for the end user. The commonalities are: + +- Directives, a way of modifying the diagram configuration from within the diagram code. +- Accessibility, a way for an author to provide additional information like titles and descriptions to people accessing a text with diagrams using a screen reader. +- Themes, there is a common way to modify the styling of diagrams in Mermaid. +- Comments should follow mermaid standards + +Here some pointers on how to handle these different areas. + +#### [Directives](../intro/directives.md) + +Here is example handling from flowcharts: +Jison: + +``` + +/* lexical grammar */ +%lex +%x open_directive +%x type_directive +%x arg_directive +%x close_directive + +\%\%\{ { this.begin('open_directive'); return 'open_directive'; } +((?:(?!\}\%\%)[^:.])*) { this.begin('type_directive'); return 'type_directive'; } +":" { this.popState(); this.begin('arg_directive'); return ':'; } +\}\%\% { this.popState(); this.popState(); return 'close_directive'; } +((?:(?!\}\%\%).|\n)*) return 'arg_directive'; + +/* language grammar */ + +/* ... */ + +directive + : openDirective typeDirective closeDirective separator + | openDirective typeDirective ':' argDirective closeDirective separator + ; + +openDirective + : open_directive { yy.parseDirective('%%{', 'open_directive'); } + ; + +typeDirective + : type_directive { yy.parseDirective($1, 'type_directive'); } + ; + +argDirective + : arg_directive { $1 = $1.trim().replace(/'/g, '"'); yy.parseDirective($1, 'arg_directive'); } + ; + +closeDirective + : close_directive { yy.parseDirective('}%%', 'close_directive', 'flowchart'); } + ; +``` + +It is probably a good idea to keep the handling similar to this in your new diagram. The parseDirective function is provided by the mermaidAPI. + +## Accessibility + +The syntax for adding title and description looks like this: + +``` +accTitle: The title +accDescr: The description + +accDescr { + Syntax for a description text + written on multiple lines. +} +``` + +In a similar way to the directives the jison syntax are quite similar between the diagrams. + +``` +* lexical grammar */ +%lex +%x acc_title +%x acc_descr +%x acc_descr_multiline + +%% +accTitle\s*":"\s* { this.begin("acc_title");return 'acc_title'; } +(?!\n|;|#)*[^\n]* { this.popState(); return "acc_title_value"; } +accDescr\s*":"\s* { this.begin("acc_descr");return 'acc_descr'; } +(?!\n|;|#)*[^\n]* { this.popState(); return "acc_descr_value"; } +accDescr\s*"{"\s* { this.begin("acc_descr_multiline");} +[\}] { this.popState(); } +[^\}]* return "acc_descr_multiline_value"; + +statement + : acc_title acc_title_value { $$=$2.trim();yy.setTitle($$); } + | acc_descr acc_descr_value { $$=$2.trim();yy.setAccDescription($$); } + | acc_descr_multiline_value { $$=$1.trim();yy.setAccDescription($$); } +``` + +The functions for setting title and description are provided by a common module. This is the import from flowDb.js: + +``` +import { + setAccTitle, + getAccTitle, + getAccDescription, + setAccDescription, + clear as commonClear, +} from '../../commonDb'; +``` + +For rendering the accessibility tags you have again an existing function you can use. + +**In the renderer:** + +```js +import addSVGAccessibilityFields from '../../accessibility'; + +/* ... */ + +// Adds title and description to the flow chart +addSVGAccessibilityFields(parser.yy, svg, id); +``` + +## Theming + +Mermaid supports themes and has an integrated theming engine. You can read more about how the themes can be used [in the docs](../config/theming.md). + +When adding themes to a diagram it comes down to a few important locations in the code. + +The entry point for the styling engine is in **src/styles.js**. The getStyles function will be called by Mermaid when the styles are being applied to the diagram. + +This function will in turn call a function _your diagram should provide_ returning the css for the new diagram. The diagram specific, also which is commonly also called getStyles and located in the folder for your diagram under src/diagrams and should be named styles.js. The getStyles function will be called with the theme options as an argument like in the following example: + +```js +const getStyles = (options) => + ` + .line { + stroke-width: 1; + stroke: ${options.lineColor}; + stroke-dasharray: 2; + } + // ... + `; +``` + +Note that you need to provide your function to the main getStyles by adding it into the themes object in **src/styles.js** like in the xyzDiagram in the provided example: + +```js +const themes = { + flowchart, + 'flowchart-v2': flowchart, + sequence, + xyzDiagram, + //... +}; +``` + +The actual options and values for the colors are defined in **src/theme/theme-[xyz].js**. If you provide the options your diagram needs in the existing theme files then the theming will work smoothly without hiccups. diff --git a/vdocs/community/security.md b/vdocs/community/security.md new file mode 100644 index 000000000..7e61a60cf --- /dev/null +++ b/vdocs/community/security.md @@ -0,0 +1,23 @@ +# Security + +The Mermaid team takes the security of Mermaid and the applications that use Mermaid seriously. This page describes how to report any vulnerabilities you may find, and lists best practices to minimize the risk of introducing a vulnerability. + +## Reporting vulnerabilities + +To report a vulnerability, please e-mail security@mermaid.live with a description of the issue, the steps you took to create the issue, affected versions, and if known, mitigations for the issue. + +We aim to reply within three working days, probably much sooner. + +You should expect a close collaboration as we work to resolve the issue you have reported. Please reach out to security@mermaid.live again if you do not receive prompt attention and regular updates. + +You may also reach out to the team via our public Slack chat channels; however, please make sure to e-mail security@mernaid.live when reporting an issue, and avoid revealing information about vulnerabilities in public as that could that could put users at risk. + +## Best practices + +Keep current with the latest Mermaid releases. We regularly update Mermaid, and these updates may fix security defects discovered in previous versions. Check the Mermaid release notes for security-related updates. + +Keep your application’s dependencies up to date. Make sure you upgrade your package dependencies to keep the dependencies up to date. Avoid pinning to specific versions for your dependencies and, if you do, make sure you check periodically to see if your dependencies have had security updates, and update the pin accordingly. + +## Configuring DomPurify + +By default Mermaid uses a baseline [DOMPurify](https://github.com/cure53/DOMPurify) config. It is possible to override the options passed to DOMPurify by adding a `dompurifyConfig` key to the Mermaid options. This could potentially break the output of Mermaid so use this with caution. diff --git a/vdocs/config/8.6.0_docs.md b/vdocs/config/8.6.0_docs.md new file mode 100644 index 000000000..9e5264c12 --- /dev/null +++ b/vdocs/config/8.6.0_docs.md @@ -0,0 +1,213 @@ +# Version 8.6.0 Changes + +## [New Mermaid Live-Editor Beta](https://mermaid-js.github.io/docs/mermaid-live-editor-beta/#/edit/eyJjb2RlIjoiJSV7aW5pdDoge1widGhlbWVcIjogXCJmb3Jlc3RcIiwgXCJsb2dMZXZlbFwiOiAxIH19JSVcbmdyYXBoIFREXG4gIEFbQ2hyaXN0bWFzXSAtLT58R2V0IG1vbmV5fCBCKEdvIHNob3BwaW5nKVxuICBCIC0tPiBDe0xldCBtZSB0aGlua31cbiAgQyAtLT58T25lfCBEW0xhcHRvcF1cbiAgQyAtLT58VHdvfCBFW2lQaG9uZV1cbiAgQyAtLT58VGhyZWV8IEZbZmE6ZmEtY2FyIENhcl1cblx0XHQiLCJtZXJtYWlkIjp7InRoZW1lIjoiZGFyayJ9fQ) + +## [CDN](https://unpkg.com/mermaid/) + +With version 8.6.0 comes the release of directives for mermaid, a new system for modifying configurations, with the aim of establishing centralized, sane defaults and simple implementation. + +`directives` allow for a single-use overwriting of `config`, as it has been discussed in [Configurations](./Setup.md). +This allows site Diagram Authors to instantiate temporary modifications to `config` through the use of [Directives](../config/directives), which are parsed before rendering diagram definitions. This allows the Diagram Authors to alter the appearance of the diagrams. + +**A likely application for this is in the creation of diagrams/charts inside company/organizational webpages, that rely on mermaid for diagram and chart rendering.** + +the `init` directive is the main method of configuration for Site and Current Levels. + +The three levels of are Configuration, Global, Site and Current. + +| Level of Configuration | Description | +| ---------------------- | ----------------------------------- | +| Global Configuration | Default Mermaid Configurations | +| Site Configuration | Configurations made by site owner | +| Current Configuration | Configurations made by Implementors | + +# Limits to Modifying Configurations + +**secure Array** + +| Parameter | Description | Type | Required | Values | +| --------- | ------------------------------------------------ | ----- | -------- | -------------- | +| secure | Array of parameters excluded from init directive | Array | Required | Any parameters | + +The modifiable parts of the Configuration are limited by the secure array, which is an array of immutable parameters, this array can be expanded by site owners. + +**Notes**: secure arrays work like nesting dolls, with the Global Configurations’ secure array holding the default and immutable list of immutable parameters, or the smallest doll, to which site owners may add to, but implementors may not modify it. + +# Secure Arrays + +Site owners can add to the **secure** array using this command: +mermaidAPI.initialize( { startOnLoad: true, secure: ['parameter1', 'parameter2'] } ); + +Default values for the `secure array` consists of: ['secure', 'securityLevel', 'startOnLoad', 'maxTextSize']. These default values are immutable. + +Implementors can only modify configurations using directives, and cannot change the `secure` array. + +# Modifying Configurations and directives: + +The Two types of directives: are `init` (or `initialize`) and `wrap`. + +::: tip +All directives are enclosed in `%%{ }%%` +::: + +Older versions of mermaid will not parse directives because `%%` will comment out the directive. This makes the update backwards-compatible. + +# Init + +`init`, or `initialize`: this directive gives the user the ability to overwrite and change the values for any configuration parameters not set in the secure array. + +| Parameter | Description | Type | Required | Values | +| --------- | ----------------------- | --------- | -------- | ----------------------------------------------- | +| init | modifies configurations | Directive | Optional | Any parameters not included in the secure array | + +::: tip +init would be an argument-directive: `%%{init: { **insert argument here**}}%%` + +The json object that is passed as {**argument** } must be valid, quoted json or it will be ignored. +**for example**: + +`%%{init: {"theme": "default", "logLevel": 1 }}%%` + +Configurations that are passed through init cannot change the parameters in a secure array at a higher level. In the event of a collision, mermaid will give priority to secure arrays and parse the request without changing the values of those parameters in conflict. + +When deployed within code, init is called before the graph/diagram description. +::: + +**for example**: + +```mmd +%%{init: {"theme": "default", "logLevel": 1 }}%% + graph LR + a-->b + b-->c + c-->d + d-->e + e-->f + f-->g + g--> +``` + +# Wrap + +| Parameter | Description | Type | Required | Values | +| --------- | ----------------------------- | --------- | -------- | ---------- | +| wrap | a callable text-wrap function | Directive | Optional | %%{wrap}%% | + +::: tip +Wrap is a function that is currently only deployable for sequence diagrams. + +Wrap respects a manually added , so if the user wants to break up their text, they have full control over line breaks by adding tags. + +It is a non-argument directive and can be executed thusly: + +`%%{wrap}%%` . +::: + +**An example of text wrapping in a sequence diagram**: + +![Image showing wrapped text](img/wrapped text.png) + +# Resetting Configurations: + +There are two more functions in the mermaidAPI that can be called by site owners: **reset** and **globalReset**. + +**reset**: resets the configuration to whatever the last configuration was. This can be done to undo more recent changes set from the last mermaidAPI.initialize({...}) configuration. + +**globalReset** will reset both the current configuration AND the site configuration back to the global defaults. + +**Notes**: Both `reset` and `globalReset` are only available to site owners, and as such implementors have to edit their configs using `init`. + +# Additional Utils to mermaid + +• **memoize**: simple caching for computationally expensive functions, reducing rendering time by about 90%. + +• **assignWithDepth** - an improvement on previous functions with config.js and `Object.assign`. The purpose of this function is to provide a sane mechanism for merging objects, similar to `object.assign`, but with depth. + +Example of **assignWithDepth**: + +![Image showing assignWithDepth](img/assignWithDepth.png) + +Example of **object.Assign**: + +![Image showing object.assign without depth](img/object.assign without depth.png) + +• **calculateTextDimensions**, **calculateTextWidth**, and **calculateTextHeight** - for measuring text dimensions, width and height. + +**Notes**: For more information on usage, parameters, and return info for these new functions take a look at the jsdocs for them in the utils package. + +# New API Requests Introduced in Version 8.6.0 + +## setSiteConfig + +| Function | Description | Type | Values | Parameters | Returns | +| --------------- | ------------------------------------- | ----------- | --------------------------------------- | ---------- | ---------- | +| `setSiteConfig` | Sets the siteConfig to desired values | Put Request | Any Values, except ones in secure array | conf | siteConfig | + +::: tip +Sets the siteConfig. The siteConfig is a protected configuration for repeat use. Calls to reset() will reset +the currentConfig to siteConfig. Calls to reset(configApi.defaultConfig) will reset siteConfig and currentConfig +to the defaultConfig +Note: currentConfig is set in this function。 +Default value: will mirror Global Config +::: + +## getSiteConfig + +| Function | Description | Type | Values | +| --------------- | --------------------------------------------------- | ----------- | ---------------------------------- | +| `getSiteConfig` | Returns the current `siteConfig` base configuration | Get Request | Returns Any Values in `siteConfig` | + +::: tip +Returns any values in siteConfig. +::: + +## setConfig + +| Function | Description | Type | Values | Parameters | Returns | +| ----------- | ------------------------------------------ | ----------- | --------------------------------- | ---------- | ---------------------------------------------- | +| `setConfig` | Sets the `currentConfig` to desired values | Put Request | Any Values, those in secure array | conf | `currentConfig` merged with the sanitized conf | + +::: tip +Sets the currentConfig. The parameter conf is sanitized based on the siteConfig.secure keys. Any +values found in conf with key found in siteConfig.secure will be replaced with the corresponding +siteConfig value. +::: + +## getConfig + +| Function | Description | Type | Return Values | +| ----------- | --------------------------- | ----------- | ------------------------------- | +| `getConfig` | Obtains the `currentConfig` | Get Request | Any Values from `currentConfig` | + +::: tip +Returns any values in currentConfig. +::: + +## sanitize + +| Function | Description | Type | Values | +| ---------- | ---------------------------------------- | -------------- | ------ | +| `sanitize` | Sets the `siteConfig` to desired values. | Put Request(?) | None | + +::: tip +modifies options in-place +Ensures options parameter does not attempt to override siteConfig secure keys. +::: + +## reset + +| Function | Description | Type | Required | Values | Parameter | +| -------- | ------------------------------ | ----------- | -------- | ------ | --------- | +| `reset` | Resets `currentConfig` to conf | Put Request | Required | None | conf | + +## conf + +| Parameter | Description | Type | Required | Values | +| --------- | ------------------------------------------------------------ | ---------- | -------- | -------------------------------------------- | +| `conf` | base set of values, which `currentConfig` could be reset to. | Dictionary | Required | Any Values, with respect to the secure Array | + +::: tip +default: current siteConfig (optional, default `getSiteConfig()`) +::: + +## For more information, read [Setup](Setup.md). diff --git a/vdocs/config/Setup.md b/vdocs/config/Setup.md new file mode 100644 index 000000000..bcf8ef583 --- /dev/null +++ b/vdocs/config/Setup.md @@ -0,0 +1,1628 @@ +## mermaidAPI + +This is the API to be used when optionally handling the integration with the web page, instead of +using the default integration provided by mermaid.js. + +The core of this api is the [**render**][1] function which, given a graph +definition as text, renders the graph/diagram and returns an svg element for the graph. + +It is then up to the user of the API to make use of the svg, either insert it somewhere in the +page or do something completely different. + +In addition to the render function, a number of behavioral configuration options are available. + +## Configuration + +**Configuration methods in Mermaid version 8.6.0 have been updated, to learn more [click +here][2].** + +## **What follows are config instructions for older versions** + +These are the default options which can be overridden with the initialization call like so: + +**Example 1:** + +```js +mermaid.initialize({ flowchart: { htmlLabels: false } }); +``` + +**Example 2:** + +```js +var config = { + startOnLoad: true, + flowchart: { useMaxWidth: true, htmlLabels: true, curve: 'cardinal' }, + + securityLevel: 'loose', +}; +mermaid.initialize(config); +``` + +A summary of all options and their defaults is found [here][3]. +A description of each option follows below. + +## theme + +Theme , the CSS style sheet + +| Parameter | Description | Type | Required | Values | +| --------- | --------------- | ------ | -------- | ---------------------------------------------- | +| theme | Built in Themes | string | Optional | 'default', 'forest', 'dark', 'neutral', 'null' | + +**Notes:** To disable any pre-defined mermaid theme, use "null".
 "theme": "forest",
+"themeCSS": ".node rect { fill: red; }" 
+ +## fontFamily + +| Parameter | Description | Type | Required | Values | +| ---------- | ------------------------------------------------------ | ------ | -------- | --------------------------- | +| fontFamily | specifies the font to be used in the rendered diagrams | string | Required | Any Possible CSS FontFamily | + +**Notes:** Default value: '"trebuchet ms", verdana, arial, sans-serif;'. + +## logLevel + +| Parameter | Description | Type | Required | Values | | +| --------- | ----------------------------------------------------- | ------ | -------- | -------- | --------------------------------------------- | +| logLevel | This option decides the amount of logging to be used. | string | number | Required | 'trace','debug','info','warn','error','fatal' | + +**Notes:** + +- Trace: 0 +- Debug: 1 +- Info: 2 +- Warn: 3 +- Error: 4 +- Fatal: 5 (default) + +## securityLevel + +| Parameter | Description | Type | Required | Values | +| ------------- | --------------------------------- | ------ | -------- | ------------------------------------------ | +| securityLevel | Level of trust for parsed diagram | string | Required | 'sandbox', 'strict', 'loose', 'antiscript' | + +**Notes**: + +- **strict**: (**default**) tags in text are encoded, click functionality is disabled +- **loose**: tags in text are allowed, click functionality is enabled +- **antiscript**: html tags in text are allowed, (only script element is removed), click + functionality is enabled +- **sandbox**: With this security level all rendering takes place in a sandboxed iframe. This + prevent any JavaScript from running in the context. This may hinder interactive functionality + of the diagram like scripts, popups in sequence diagram or links to other tabs/targets etc. + +## startOnLoad + +| Parameter | Description | Type | Required | Values | +| ----------- | -------------------------------------------- | ------- | -------- | ----------- | +| startOnLoad | Dictates whether mermaid starts on Page load | boolean | Required | true, false | + +**Notes:** Default value: true + +## arrowMarkerAbsolute + +| Parameter | Description | Type | Required | Values | +| ------------------- | ---------------------------------------------------------------------------- | ------- | -------- | ----------- | +| arrowMarkerAbsolute | Controls whether or arrow markers in html code are absolute paths or anchors | boolean | Required | true, false | + +**Notes**: + +This matters if you are using base tag settings. + +Default value: false + +## secure + +This option controls which currentConfig keys are considered _secure_ and can only be changed +via call to mermaidAPI.initialize. Calls to mermaidAPI.reinitialize cannot make changes to the +`secure` keys in the current currentConfig. This prevents malicious graph directives from +overriding a site's default security. + +**Notes**: + +Default value: \['secure', 'securityLevel', 'startOnLoad', 'maxTextSize'] + +## deterministicIds + +This option controls if the generated ids of nodes in the SVG are generated randomly or based +on a seed. If set to false, the IDs are generated based on the current date and thus are not +deterministic. This is the default behaviour. + +**Notes**: + +This matters if your files are checked into sourcecontrol e.g. git and should not change unless +content is changed. + +Default value: false + +## deterministicIDSeed + +This option is the optional seed for deterministic ids. if set to undefined but +deterministicIds is true, a simple number iterator is used. You can set this attribute to base +the seed on a static string. + +## flowchart + +The object containing configurations specific for flowcharts + +### diagramPadding + +| Parameter | Description | Type | Required | Values | +| -------------- | ----------------------------------------------- | ------- | -------- | ------------------ | +| diagramPadding | Amount of padding around the diagram as a whole | Integer | Required | Any Positive Value | + +**Notes:** + +The amount of padding around the diagram as a whole so that embedded diagrams have margins, +expressed in pixels + +Default value: 8 + +### htmlLabels + +| Parameter | Description | Type | Required | Values | +| ---------- | -------------------------------------------------------------------------------------------- | ------- | -------- | ----------- | +| htmlLabels | Flag for setting whether or not a html tag should be used for rendering labels on the edges. | boolean | Required | true, false | + +**Notes:** Default value: true. + +### nodeSpacing + +| Parameter | Description | Type | Required | Values | +| ----------- | --------------------------------------------------- | ------- | -------- | ------------------- | +| nodeSpacing | Defines the spacing between nodes on the same level | Integer | Required | Any positive Number | + +**Notes:** + +Pertains to horizontal spacing for TB (top to bottom) or BT (bottom to top) graphs, and the +vertical spacing for LR as well as RL graphs.\*\* + +Default value: 50 + +### rankSpacing + +| Parameter | Description | Type | Required | Values | +| ----------- | ----------------------------------------------------- | ------- | -------- | ------------------- | +| rankSpacing | Defines the spacing between nodes on different levels | Integer | Required | Any Positive Number | + +**Notes**: + +Pertains to vertical spacing for TB (top to bottom) or BT (bottom to top), and the horizontal +spacing for LR as well as RL graphs. + +Default value 50 + +### curve + +| Parameter | Description | Type | Required | Values | +| --------- | -------------------------------------------------- | ------ | -------- | ----------------------------- | +| curve | Defines how mermaid renders curves for flowcharts. | string | Required | 'basis', 'linear', 'cardinal' | + +**Notes:** + +Default Value: 'basis' + +### useMaxWidth + +| Parameter | Description | Type | Required | Values | +| ----------- | ----------- | ------- | -------- | ----------- | +| useMaxWidth | See notes | boolean | 4 | true, false | + +**Notes:** + +When this flag is set the height and width is set to 100% and is then scaling with the +available space if not the absolute space required is used. + +Default value: true + +### defaultRenderer + +| Parameter | Description | Type | Required | Values | +| --------------- | ----------- | ------- | -------- | ----------------------- | +| defaultRenderer | See notes | boolean | 4 | dagre-d3, dagre-wrapper | + +**Notes:** + +Decides which rendering engine that is to be used for the rendering. Legal values are: +dagre-d3 dagre-wrapper - wrapper for dagre implemented in mermaid + +Default value: 'dagre-wrapper' + +## sequence + +The object containing configurations specific for sequence diagrams + +### activationWidth + +| Parameter | Description | Type | Required | Values | +| --------------- | ---------------------------- | ------- | -------- | ------------------ | +| activationWidth | Width of the activation rect | Integer | Required | Any Positive Value | + +**Notes:** Default value :10 + +### diagramMarginX + +| Parameter | Description | Type | Required | Values | +| -------------- | ---------------------------------------------------- | ------- | -------- | ------------------ | +| diagramMarginX | Margin to the right and left of the sequence diagram | Integer | Required | Any Positive Value | + +**Notes:** Default value: 50 + +### diagramMarginY + +| Parameter | Description | Type | Required | Values | +| -------------- | ------------------------------------------------- | ------- | -------- | ------------------ | +| diagramMarginY | Margin to the over and under the sequence diagram | Integer | Required | Any Positive Value | + +**Notes:** Default value: 10 + +### actorMargin + +| Parameter | Description | Type | Required | Values | +| ----------- | --------------------- | ------- | -------- | ------------------ | +| actorMargin | Margin between actors | Integer | Required | Any Positive Value | + +**Notes:** Default value: 50 + +### width + +| Parameter | Description | Type | Required | Values | +| --------- | -------------------- | ------- | -------- | ------------------ | +| width | Width of actor boxes | Integer | Required | Any Positive Value | + +**Notes:** Default value: 150 + +### height + +| Parameter | Description | Type | Required | Values | +| --------- | --------------------- | ------- | -------- | ------------------ | +| height | Height of actor boxes | Integer | Required | Any Positive Value | + +**Notes:** Default value: 65 + +### boxMargin + +| Parameter | Description | Type | Required | Values | +| --------- | ------------------------ | ------- | -------- | ------------------ | +| boxMargin | Margin around loop boxes | Integer | Required | Any Positive Value | + +**Notes:** Default value: 10 + +### boxTextMargin + +| Parameter | Description | Type | Required | Values | +| ------------- | -------------------------------------------- | ------- | -------- | ------------------ | +| boxTextMargin | Margin around the text in loop/alt/opt boxes | Integer | Required | Any Positive Value | + +**Notes:** Default value: 5 + +### noteMargin + +| Parameter | Description | Type | Required | Values | +| ---------- | ------------------- | ------- | -------- | ------------------ | +| noteMargin | margin around notes | Integer | Required | Any Positive Value | + +**Notes:** Default value: 10 + +### messageMargin + +| Parameter | Description | Type | Required | Values | +| ------------- | ---------------------- | ------- | -------- | ------------------ | +| messageMargin | Space between messages | Integer | Required | Any Positive Value | + +**Notes:** Default value: 35 + +### messageAlign + +| Parameter | Description | Type | Required | Values | +| ------------ | --------------------------- | ------ | -------- | ------------------------- | +| messageAlign | Multiline message alignment | string | Required | 'left', 'center', 'right' | + +**Notes:** Default value: 'center' + +### mirrorActors + +| Parameter | Description | Type | Required | Values | +| ------------ | --------------------------- | ------- | -------- | ----------- | +| mirrorActors | Mirror actors under diagram | boolean | Required | true, false | + +**Notes:** Default value: true + +### forceMenus + +| Parameter | Description | Type | Required | Values | +| ---------- | ----------------------------------------------------------------------- | ------- | -------- | ----------- | +| forceMenus | forces actor popup menus to always be visible (to support E2E testing). | Boolean | Required | True, False | + +**Notes:** + +Default value: false. + +### bottomMarginAdj + +| Parameter | Description | Type | Required | Values | +| --------------- | ------------------------------------------ | ------- | -------- | ------------------ | +| bottomMarginAdj | Prolongs the edge of the diagram downwards | Integer | Required | Any Positive Value | + +**Notes:** + +Depending on css styling this might need adjustment. + +Default value: 1 + +### useMaxWidth + +| Parameter | Description | Type | Required | Values | +| ----------- | ----------- | ------- | -------- | ----------- | +| useMaxWidth | See Notes | boolean | Required | true, false | + +**Notes:** When this flag is set to true, the height and width is set to 100% and is then +scaling with the available space. If set to false, the absolute space required is used. + +Default value: true + +### rightAngles + +| Parameter | Description | Type | Required | Values | +| ----------- | ------------------------------------ | ------- | -------- | ----------- | +| rightAngles | display curve arrows as right angles | boolean | Required | true, false | + +**Notes:** + +This will display arrows that start and begin at the same node as right angles, rather than a +curve + +Default value: false + +### showSequenceNumbers + +| Parameter | Description | Type | Required | Values | +| ------------------- | ------------------------------- | ------- | -------- | ----------- | +| showSequenceNumbers | This will show the node numbers | boolean | Required | true, false | + +**Notes:** Default value: false + +### actorFontSize + +| Parameter | Description | Type | Required | Values | +| ------------- | -------------------------------------------------- | ------- | -------- | ------------------ | +| actorFontSize | This sets the font size of the actor's description | Integer | Require | Any Positive Value | + +**Notes:** **Default value 14**.. + +### actorFontFamily + +| Parameter | Description | Type | Required | Values | +| --------------- | ---------------------------------------------------- | ------ | -------- | --------------------------- | +| actorFontFamily | This sets the font family of the actor's description | string | Required | Any Possible CSS FontFamily | + +**Notes:** Default value: "'Open Sans", sans-serif' + +### actorFontWeight + +This sets the font weight of the actor's description + +**Notes:** Default value: 400. + +### noteFontSize + +| Parameter | Description | Type | Required | Values | +| ------------ | ----------------------------------------------- | ------- | -------- | ------------------ | +| noteFontSize | This sets the font size of actor-attached notes | Integer | Required | Any Positive Value | + +**Notes:** Default value: 14 + +### noteFontFamily + +| Parameter | Description | Type | Required | Values | +| -------------- | -------------------------------------------------- | ------ | -------- | --------------------------- | +| noteFontFamily | This sets the font family of actor-attached notes. | string | Required | Any Possible CSS FontFamily | + +**Notes:** Default value: ''"trebuchet ms", verdana, arial, sans-serif' + +### noteFontWeight + +This sets the font weight of the note's description + +**Notes:** Default value: 400 + +### noteAlign + +| Parameter | Description | Type | Required | Values | +| --------- | ---------------------------------------------------- | ------ | -------- | ------------------------- | +| noteAlign | This sets the text alignment of actor-attached notes | string | required | 'left', 'center', 'right' | + +**Notes:** Default value: 'center' + +### messageFontSize + +| Parameter | Description | Type | Required | Values | +| --------------- | ----------------------------------------- | ------- | -------- | ------------------- | +| messageFontSize | This sets the font size of actor messages | Integer | Required | Any Positive Number | + +**Notes:** Default value: 16 + +### messageFontFamily + +| Parameter | Description | Type | Required | Values | +| ----------------- | ------------------------------------------- | ------ | -------- | --------------------------- | +| messageFontFamily | This sets the font family of actor messages | string | Required | Any Possible CSS FontFamily | + +**Notes:** Default value: '"trebuchet ms", verdana, arial, sans-serif' + +### messageFontWeight + +This sets the font weight of the message's description + +**Notes:** Default value: 400. + +### wrap + +This sets the auto-wrap state for the diagram + +**Notes:** Default value: false. + +### wrapPadding + +This sets the auto-wrap padding for the diagram (sides only) + +**Notes:** Default value: 0. + +### labelBoxWidth + +This sets the width of the loop-box (loop, alt, opt, par) + +**Notes:** Default value: 50. + +### labelBoxHeight + +This sets the height of the loop-box (loop, alt, opt, par) + +**Notes:** Default value: 20. + +## gantt + +The object containing configurations specific for gantt diagrams + +### titleTopMargin + +### titleTopMargin + +| Parameter | Description | Type | Required | Values | +| -------------- | ---------------------------------------------- | ------- | -------- | ------------------ | +| titleTopMargin | Margin top for the text over the gantt diagram | Integer | Required | Any Positive Value | + +**Notes:** Default value: 25 + +### barHeight + +| Parameter | Description | Type | Required | Values | +| --------- | ----------------------------------- | ------- | -------- | ------------------ | +| barHeight | The height of the bars in the graph | Integer | Required | Any Positive Value | + +**Notes:** Default value: 20 + +### barGap + +| Parameter | Description | Type | Required | Values | +| --------- | ---------------------------------------------------------------- | ------- | -------- | ------------------ | +| barGap | The margin between the different activities in the gantt diagram | Integer | Optional | Any Positive Value | + +**Notes:** Default value: 4 + +### topPadding + +| Parameter | Description | Type | Required | Values | +| ---------- | -------------------------------------------------------------------------- | ------- | -------- | ------------------ | +| topPadding | Margin between title and gantt diagram and between axis and gantt diagram. | Integer | Required | Any Positive Value | + +**Notes:** Default value: 50 + +### rightPadding + +| Parameter | Description | Type | Required | Values | +| ------------ | ----------------------------------------------------------------------- | ------- | -------- | ------------------ | +| rightPadding | The space allocated for the section name to the right of the activities | Integer | Required | Any Positive Value | + +**Notes:** Default value: 75 + +### leftPadding + +| Parameter | Description | Type | Required | Values | +| ----------- | ---------------------------------------------------------------------- | ------- | -------- | ------------------ | +| leftPadding | The space allocated for the section name to the left of the activities | Integer | Required | Any Positive Value | + +**Notes:** Default value: 75 + +### gridLineStartPadding + +| Parameter | Description | Type | Required | Values | +| -------------------- | -------------------------------------------- | ------- | -------- | ------------------ | +| gridLineStartPadding | Vertical starting position of the grid lines | Integer | Required | Any Positive Value | + +**Notes:** Default value: 35 + +### fontSize + +| Parameter | Description | Type | Required | Values | +| --------- | ----------- | ------- | -------- | ------------------ | +| fontSize | Font size | Integer | Required | Any Positive Value | + +**Notes:** Default value: 11 + +### sectionFontSize + +| Parameter | Description | Type | Required | Values | +| --------------- | ---------------------- | ------- | -------- | ------------------ | +| sectionFontSize | Font size for sections | Integer | Required | Any Positive Value | + +**Notes:** Default value: 11 + +### numberSectionStyles + +| Parameter | Description | Type | Required | Values | +| ------------------- | ---------------------------------------- | ------- | -------- | ------------------ | +| numberSectionStyles | The number of alternating section styles | Integer | 4 | Any Positive Value | + +**Notes:** Default value: 4 + +### axisFormat + +| Parameter | Description | Type | Required | Values | +| ---------- | --------------------------- | ---- | -------- | ---------------- | +| axisFormat | Datetime format of the axis | 3 | Required | Date in yy-mm-dd | + +**Notes:** + +This might need adjustment to match your locale and preferences + +Default value: '%Y-%m-%d'. + +### useMaxWidth + +| Parameter | Description | Type | Required | Values | +| ----------- | ----------- | ------- | -------- | ----------- | +| useMaxWidth | See notes | boolean | 4 | true, false | + +**Notes:** + +When this flag is set the height and width is set to 100% and is then scaling with the +available space if not the absolute space required is used. + +Default value: true + +### topAxis + +| Parameter | Description | Type | Required | Values | +| --------- | ----------- | ------- | -------- | ----------- | +| topAxis | See notes | Boolean | 4 | True, False | + +**Notes:** when this flag is set date labels will be added to the top of the chart + +**Default value false**. + +## journey + +The object containing configurations specific for journey diagrams + +### diagramMarginX + +| Parameter | Description | Type | Required | Values | +| -------------- | ---------------------------------------------------- | ------- | -------- | ------------------ | +| diagramMarginX | Margin to the right and left of the sequence diagram | Integer | Required | Any Positive Value | + +**Notes:** Default value: 50 + +### diagramMarginY + +| Parameter | Description | Type | Required | Values | +| -------------- | -------------------------------------------------- | ------- | -------- | ------------------ | +| diagramMarginY | Margin to the over and under the sequence diagram. | Integer | Required | Any Positive Value | + +**Notes:** Default value: 10 + +### leftMargin + +| Parameter | Description | Type | Required | Values | +| ----------- | --------------------- | ------- | -------- | ------------------ | +| actorMargin | Margin between actors | Integer | Required | Any Positive Value | + +**Notes:** Default value: 50 + +### width + +| Parameter | Description | Type | Required | Values | +| --------- | -------------------- | ------- | -------- | ------------------ | +| width | Width of actor boxes | Integer | Required | Any Positive Value | + +**Notes:** Default value: 150 + +### height + +| Parameter | Description | Type | Required | Values | +| --------- | --------------------- | ------- | -------- | ------------------ | +| height | Height of actor boxes | Integer | Required | Any Positive Value | + +**Notes:** Default value: 65 + +### boxMargin + +| Parameter | Description | Type | Required | Values | +| --------- | ------------------------ | ------- | -------- | ------------------ | +| boxMargin | Margin around loop boxes | Integer | Required | Any Positive Value | + +**Notes:** Default value: 10 + +### boxTextMargin + +| Parameter | Description | Type | Required | Values | +| ------------- | -------------------------------------------- | ------- | -------- | ------------------ | +| boxTextMargin | Margin around the text in loop/alt/opt boxes | Integer | Required | Any Positive Value | + +**Notes:** Default value: 5 + +### noteMargin + +| Parameter | Description | Type | Required | Values | +| ---------- | ------------------- | ------- | -------- | ------------------ | +| noteMargin | Margin around notes | Integer | Required | Any Positive Value | + +**Notes:** Default value: 10 + +### messageMargin + +| Parameter | Description | Type | Required | Values | +| ------------- | ----------------------- | ------- | -------- | ------------------ | +| messageMargin | Space between messages. | Integer | Required | Any Positive Value | + +**Notes:** + +Space between messages. + +Default value: 35 + +### messageAlign + +| Parameter | Description | Type | Required | Values | +| ------------ | --------------------------- | ---- | -------- | ------------------------- | +| messageAlign | Multiline message alignment | 3 | 4 | 'left', 'center', 'right' | + +**Notes:** Default value: 'center' + +### bottomMarginAdj + +| Parameter | Description | Type | Required | Values | +| --------------- | ------------------------------------------ | ------- | -------- | ------------------ | +| bottomMarginAdj | Prolongs the edge of the diagram downwards | Integer | 4 | Any Positive Value | + +**Notes:** + +Depending on css styling this might need adjustment. + +Default value: 1 + +### useMaxWidth + +| Parameter | Description | Type | Required | Values | +| ----------- | ----------- | ------- | -------- | ----------- | +| useMaxWidth | See notes | boolean | 4 | true, false | + +**Notes:** + +When this flag is set the height and width is set to 100% and is then scaling with the +available space if not the absolute space required is used. + +Default value: true + +### rightAngles + +| Parameter | Description | Type | Required | Values | +| ----------- | --------------------------------- | ---- | -------- | ----------- | +| rightAngles | Curved Arrows become Right Angles | 3 | 4 | true, false | + +**Notes:** + +This will display arrows that start and begin at the same node as right angles, rather than a +curves + +Default value: false + +## useMaxWidth + +| Parameter | Description | Type | Required | Values | +| ----------- | ----------- | ------- | -------- | ----------- | +| useMaxWidth | See notes | boolean | 4 | true, false | + +**Notes:** + +When this flag is set the height and width is set to 100% and is then scaling with the +available space if not the absolute space required is used. + +Default value: true + +## defaultRenderer + +| Parameter | Description | Type | Required | Values | +| --------------- | ----------- | ------- | -------- | ----------------------- | +| defaultRenderer | See notes | boolean | 4 | dagre-d3, dagre-wrapper | + +**Notes**: + +Decides which rendering engine that is to be used for the rendering. Legal values are: +dagre-d3 dagre-wrapper - wrapper for dagre implemented in mermaid + +Default value: 'dagre-d3' + +## useMaxWidth + +| Parameter | Description | Type | Required | Values | +| ----------- | ----------- | ------- | -------- | ----------- | +| useMaxWidth | See notes | boolean | 4 | true, false | + +**Notes:** + +When this flag is set the height and width is set to 100% and is then scaling with the +available space if not the absolute space required is used. + +Default value: true + +## defaultRenderer + +| Parameter | Description | Type | Required | Values | +| --------------- | ----------- | ------- | -------- | ----------------------- | +| defaultRenderer | See notes | boolean | 4 | dagre-d3, dagre-wrapper | + +**Notes:** + +Decides which rendering engine that is to be used for the rendering. Legal values are: +dagre-d3 dagre-wrapper - wrapper for dagre implemented in mermaid + +Default value: 'dagre-d3' + +## er + +The object containing configurations specific for entity relationship diagrams + +### diagramPadding + +| Parameter | Description | Type | Required | Values | +| -------------- | ----------------------------------------------- | ------- | -------- | ------------------ | +| diagramPadding | Amount of padding around the diagram as a whole | Integer | Required | Any Positive Value | + +**Notes:** + +The amount of padding around the diagram as a whole so that embedded diagrams have margins, +expressed in pixels + +Default value: 20 + +### layoutDirection + +| Parameter | Description | Type | Required | Values | +| --------------- | ---------------------------------------- | ------ | -------- | ---------------------- | +| layoutDirection | Directional bias for layout of entities. | string | Required | "TB", "BT", "LR", "RL" | + +**Notes:** + +'TB' for Top-Bottom, 'BT'for Bottom-Top, 'LR' for Left-Right, or 'RL' for Right to Left. + +T = top, B = bottom, L = left, and R = right. + +Default value: 'TB' + +### minEntityWidth + +| Parameter | Description | Type | Required | Values | +| -------------- | ---------------------------------- | ------- | -------- | ------------------ | +| minEntityWidth | The minimum width of an entity box | Integer | Required | Any Positive Value | + +**Notes:** Expressed in pixels. Default value: 100 + +### minEntityHeight + +| Parameter | Description | Type | Required | Values | +| --------------- | ----------------------------------- | ------- | -------- | ------------------ | +| minEntityHeight | The minimum height of an entity box | Integer | 4 | Any Positive Value | + +**Notes:** Expressed in pixels Default value: 75 + +### entityPadding + +| Parameter | Description | Type | Required | Values | +| ------------- | ------------------------------------------------------------ | ------- | -------- | ------------------ | +| entityPadding | Minimum internal padding between text in box and box borders | Integer | 4 | Any Positive Value | + +**Notes:** + +The minimum internal padding between text in an entity box and the enclosing box borders, +expressed in pixels. + +Default value: 15 + +### stroke + +| Parameter | Description | Type | Required | Values | +| --------- | ----------------------------------- | ------ | -------- | -------------------- | +| stroke | Stroke color of box edges and lines | string | 4 | Any recognized color | + +**Notes:** Default value: 'gray' + +### fill + +| Parameter | Description | Type | Required | Values | +| --------- | -------------------------- | ------ | -------- | -------------------- | +| fill | Fill color of entity boxes | string | 4 | Any recognized color | + +**Notes:** Default value: 'honeydew' + +### fontSize + +| Parameter | Description | Type | Required | Values | +| --------- | ------------------- | ------- | -------- | ------------------ | +| fontSize | Font Size in pixels | Integer | | Any Positive Value | + +**Notes:** + +Font size (expressed as an integer representing a number of pixels) Default value: 12 + +### useMaxWidth + +| Parameter | Description | Type | Required | Values | +| ----------- | ----------- | ------- | -------- | ----------- | +| useMaxWidth | See Notes | boolean | Required | true, false | + +**Notes:** + +When this flag is set to true, the diagram width is locked to 100% and scaled based on +available space. If set to false, the diagram reserves its absolute width. + +Default value: true + +## pie + +The object containing configurations specific for pie diagrams + +### useMaxWidth + +| Parameter | Description | Type | Required | Values | +| ----------- | ----------- | ------- | -------- | ----------- | +| useMaxWidth | See Notes | boolean | Required | true, false | + +**Notes:** + +When this flag is set to true, the diagram width is locked to 100% and scaled based on +available space. If set to false, the diagram reserves its absolute width. + +Default value: true + +## requirement + +The object containing configurations specific for req diagrams + +### useMaxWidth + +| Parameter | Description | Type | Required | Values | +| ----------- | ----------- | ------- | -------- | ----------- | +| useMaxWidth | See Notes | boolean | Required | true, false | + +**Notes:** + +When this flag is set to true, the diagram width is locked to 100% and scaled based on +available space. If set to false, the diagram reserves its absolute width. + +Default value: true + +## c4 + +The object containing configurations specific for c4 diagrams + +### diagramMarginX + +| Parameter | Description | Type | Required | Values | +| -------------- | ---------------------------------------------- | ------- | -------- | ------------------ | +| diagramMarginX | Margin to the right and left of the c4 diagram | Integer | Required | Any Positive Value | + +**Notes:** Default value: 50 + +### diagramMarginY + +| Parameter | Description | Type | Required | Values | +| -------------- | ------------------------------------------- | ------- | -------- | ------------------ | +| diagramMarginY | Margin to the over and under the c4 diagram | Integer | Required | Any Positive Value | + +**Notes:** Default value: 10 + +### c4ShapeMargin + +| Parameter | Description | Type | Required | Values | +| ------------- | --------------------- | ------- | -------- | ------------------ | +| c4ShapeMargin | Margin between shapes | Integer | Required | Any Positive Value | + +**Notes:** Default value: 50 + +### c4ShapePadding + +| Parameter | Description | Type | Required | Values | +| -------------- | ---------------------- | ------- | -------- | ------------------ | +| c4ShapePadding | Padding between shapes | Integer | Required | Any Positive Value | + +**Notes:** Default value: 20 + +### width + +| Parameter | Description | Type | Required | Values | +| --------- | --------------------- | ------- | -------- | ------------------ | +| width | Width of person boxes | Integer | Required | Any Positive Value | + +**Notes:** Default value: 216 + +### height + +| Parameter | Description | Type | Required | Values | +| --------- | ---------------------- | ------- | -------- | ------------------ | +| height | Height of person boxes | Integer | Required | Any Positive Value | + +**Notes:** Default value: 60 + +### boxMargin + +| Parameter | Description | Type | Required | Values | +| --------- | ------------------- | ------- | -------- | ------------------ | +| boxMargin | Margin around boxes | Integer | Required | Any Positive Value | + +**Notes:** Default value: 10 + +### useMaxWidth + +| Parameter | Description | Type | Required | Values | +| ----------- | ----------- | ------- | -------- | ----------- | +| useMaxWidth | See Notes | boolean | Required | true, false | + +**Notes:** When this flag is set to true, the height and width is set to 100% and is then +scaling with the available space. If set to false, the absolute space required is used. + +Default value: true + +### c4ShapeInRow + +| Parameter | Description | Type | Required | Values | +| ------------ | ----------- | ------- | -------- | ------------------ | +| c4ShapeInRow | See Notes | Integer | Required | Any Positive Value | + +**Notes:** How many shapes to place in each row. + +Default value: 4 + +### c4BoundaryInRow + +| Parameter | Description | Type | Required | Values | +| --------------- | ----------- | ------- | -------- | ------------------ | +| c4BoundaryInRow | See Notes | Integer | Required | Any Positive Value | + +**Notes:** How many boundarys to place in each row. + +Default value: 2 + +### personFontSize + +This sets the font size of Person shape for the diagram + +**Notes:** Default value: 14. + +### personFontFamily + +This sets the font family of Person shape for the diagram + +**Notes:** Default value: "Open Sans", sans-serif. + +### personFontWeight + +This sets the font weight of Person shape for the diagram + +**Notes:** Default value: normal. + +### external_personFontSize + +This sets the font size of External Person shape for the diagram + +**Notes:** Default value: 14. + +### external_personFontFamily + +This sets the font family of External Person shape for the diagram + +**Notes:** Default value: "Open Sans", sans-serif. + +### external_personFontWeight + +This sets the font weight of External Person shape for the diagram + +**Notes:** Default value: normal. + +### systemFontSize + +This sets the font size of System shape for the diagram + +**Notes:** Default value: 14. + +### systemFontFamily + +This sets the font family of System shape for the diagram + +**Notes:** Default value: "Open Sans", sans-serif. + +### systemFontWeight + +This sets the font weight of System shape for the diagram + +**Notes:** Default value: normal. + +### external_systemFontSize + +This sets the font size of External System shape for the diagram + +**Notes:** Default value: 14. + +### external_systemFontFamily + +This sets the font family of External System shape for the diagram + +**Notes:** Default value: "Open Sans", sans-serif. + +### external_systemFontWeight + +This sets the font weight of External System shape for the diagram + +**Notes:** Default value: normal. + +### system_dbFontSize + +This sets the font size of System DB shape for the diagram + +**Notes:** Default value: 14. + +### system_dbFontFamily + +This sets the font family of System DB shape for the diagram + +**Notes:** Default value: "Open Sans", sans-serif. + +### system_dbFontWeight + +This sets the font weight of System DB shape for the diagram + +**Notes:** Default value: normal. + +### external_system_dbFontSize + +This sets the font size of External System DB shape for the diagram + +**Notes:** Default value: 14. + +### external_system_dbFontFamily + +This sets the font family of External System DB shape for the diagram + +**Notes:** Default value: "Open Sans", sans-serif. + +### external_system_dbFontWeight + +This sets the font weight of External System DB shape for the diagram + +**Notes:** Default value: normal. + +### system_queueFontSize + +This sets the font size of System Queue shape for the diagram + +**Notes:** Default value: 14. + +### system_queueFontFamily + +This sets the font family of System Queue shape for the diagram + +**Notes:** Default value: "Open Sans", sans-serif. + +### system_queueFontWeight + +This sets the font weight of System Queue shape for the diagram + +**Notes:** Default value: normal. + +### external_system_queueFontSize + +This sets the font size of External System Queue shape for the diagram + +**Notes:** Default value: 14. + +### external_system_queueFontFamily + +This sets the font family of External System Queue shape for the diagram + +**Notes:** Default value: "Open Sans", sans-serif. + +### external_system_queueFontWeight + +This sets the font weight of External System Queue shape for the diagram + +**Notes:** Default value: normal. + +### boundaryFontSize + +This sets the font size of Boundary shape for the diagram + +**Notes:** Default value: 14. + +### boundaryFontFamily + +This sets the font family of Boundary shape for the diagram + +**Notes:** Default value: "Open Sans", sans-serif. + +### boundaryFontWeight + +This sets the font weight of Boundary shape for the diagram + +**Notes:** Default value: normal. + +### messageFontSize + +This sets the font size of Message shape for the diagram + +**Notes:** Default value: 12. + +### messageFontFamily + +This sets the font family of Message shape for the diagram + +**Notes:** Default value: "Open Sans", sans-serif. + +### messageFontWeight + +This sets the font weight of Message shape for the diagram + +**Notes:** Default value: normal. + +### containerFontSize + +This sets the font size of Container shape for the diagram + +**Notes:** Default value: 14. + +### containerFontFamily + +This sets the font family of Container shape for the diagram + +**Notes:** Default value: "Open Sans", sans-serif. + +### containerFontWeight + +This sets the font weight of Container shape for the diagram + +**Notes:** Default value: normal. + +### external_containerFontSize + +This sets the font size of External Container shape for the diagram + +**Notes:** Default value: 14. + +### external_containerFontFamily + +This sets the font family of External Container shape for the diagram + +**Notes:** Default value: "Open Sans", sans-serif. + +### external_containerFontWeight + +This sets the font weight of External Container shape for the diagram + +**Notes:** Default value: normal. + +### container_dbFontSize + +This sets the font size of Container DB shape for the diagram + +**Notes:** Default value: 14. + +### container_dbFontFamily + +This sets the font family of Container DB shape for the diagram + +**Notes:** Default value: "Open Sans", sans-serif. + +### container_dbFontWeight + +This sets the font weight of Container DB shape for the diagram + +**Notes:** Default value: normal. + +### external_container_dbFontSize + +This sets the font size of External Container DB shape for the diagram + +**Notes:** Default value: 14. + +### external_container_dbFontFamily + +This sets the font family of External Container DB shape for the diagram + +**Notes:** Default value: "Open Sans", sans-serif. + +### external_container_dbFontWeight + +This sets the font weight of External Container DB shape for the diagram + +**Notes:** Default value: normal. + +### container_queueFontSize + +This sets the font size of Container Queue shape for the diagram + +**Notes:** Default value: 14. + +### container_queueFontFamily + +This sets the font family of Container Queue shape for the diagram + +**Notes:** Default value: "Open Sans", sans-serif. + +### container_queueFontWeight + +This sets the font weight of Container Queue shape for the diagram + +**Notes:** Default value: normal. + +### external_container_queueFontSize + +This sets the font size of External Container Queue shape for the diagram + +**Notes:** Default value: 14. + +### external_container_queueFontFamily + +This sets the font family of External Container Queue shape for the diagram + +**Notes:** Default value: "Open Sans", sans-serif. + +### external_container_queueFontWeight + +This sets the font weight of External Container Queue shape for the diagram + +**Notes:** Default value: normal. + +### componentFontSize + +This sets the font size of Component shape for the diagram + +**Notes:** Default value: 14. + +### componentFontFamily + +This sets the font family of Component shape for the diagram + +**Notes:** Default value: "Open Sans", sans-serif. + +### componentFontWeight + +This sets the font weight of Component shape for the diagram + +**Notes:** Default value: normal. + +### external_componentFontSize + +This sets the font size of External Component shape for the diagram + +**Notes:** Default value: 14. + +### external_componentFontFamily + +This sets the font family of External Component shape for the diagram + +**Notes:** Default value: "Open Sans", sans-serif. + +### external_componentFontWeight + +This sets the font weight of External Component shape for the diagram + +**Notes:** Default value: normal. + +### component_dbFontSize + +This sets the font size of Component DB shape for the diagram + +**Notes:** Default value: 14. + +### component_dbFontFamily + +This sets the font family of Component DB shape for the diagram + +**Notes:** Default value: "Open Sans", sans-serif. + +### component_dbFontWeight + +This sets the font weight of Component DB shape for the diagram + +**Notes:** Default value: normal. + +### external_component_dbFontSize + +This sets the font size of External Component DB shape for the diagram + +**Notes:** Default value: 14. + +### external_component_dbFontFamily + +This sets the font family of External Component DB shape for the diagram + +**Notes:** Default value: "Open Sans", sans-serif. + +### external_component_dbFontWeight + +This sets the font weight of External Component DB shape for the diagram + +**Notes:** Default value: normal. + +### component_queueFontSize + +This sets the font size of Component Queue shape for the diagram + +**Notes:** Default value: 14. + +### component_queueFontFamily + +This sets the font family of Component Queue shape for the diagram + +**Notes:** Default value: "Open Sans", sans-serif. + +### component_queueFontWeight + +This sets the font weight of Component Queue shape for the diagram + +**Notes:** Default value: normal. + +### external_component_queueFontSize + +This sets the font size of External Component Queue shape for the diagram + +**Notes:** Default value: 14. + +### external_component_queueFontFamily + +This sets the font family of External Component Queue shape for the diagram + +**Notes:** Default value: "Open Sans", sans-serif. + +### external_component_queueFontWeight + +This sets the font weight of External Component Queue shape for the diagram + +**Notes:** Default value: normal. + +### wrap + +This sets the auto-wrap state for the diagram + +**Notes:** Default value: true. + +### wrapPadding + +This sets the auto-wrap padding for the diagram (sides only) + +**Notes:** Default value: 0. + +## parse + +### Parameters + +- `text` **[string][4]** +- `parseError` **[Function][5]?** + +Returns **[boolean][6]** + +## setSiteConfig + +## setSiteConfig + +| Function | Description | Type | Values | +| ------------- | ------------------------------------- | ----------- | --------------------------------------- | +| setSiteConfig | Sets the siteConfig to desired values | Put Request | Any Values, except ones in secure array | + +**Notes:** Sets the siteConfig. The siteConfig is a protected configuration for repeat use. Calls +to reset() will reset the currentConfig to siteConfig. Calls to reset(configApi.defaultConfig) +will reset siteConfig and currentConfig to the defaultConfig Note: currentConfig is set in this +function _Default value: At default, will mirror Global Config_ + +### Parameters + +- `conf` **MermaidConfig** The base currentConfig to use as siteConfig + +Returns **[object][7]** The siteConfig + +## getSiteConfig + +## getSiteConfig + +| Function | Description | Type | Values | +| ------------- | ------------------------------------------------- | ----------- | -------------------------------- | +| setSiteConfig | Returns the current siteConfig base configuration | Get Request | Returns Any Values in siteConfig | + +**Notes**: Returns **any** values in siteConfig. + +Returns **[object][7]** The siteConfig + +## setConfig + +## setConfig + +| Function | Description | Type | Values | +| ------------- | ------------------------------------- | ----------- | --------------------------------------- | +| setSiteConfig | Sets the siteConfig to desired values | Put Request | Any Values, except ones in secure array | + +**Notes**: Sets the currentConfig. The parameter conf is sanitized based on the siteConfig.secure +keys. Any values found in conf with key found in siteConfig.secure will be replaced with the +corresponding siteConfig value. + +### Parameters + +- `conf` **any** The potential currentConfig + +Returns **any** The currentConfig merged with the sanitized conf + +## render + +Function that renders an svg with a graph from a chart definition. Usage example below. + +```javascript +mermaidAPI.initialize({ + startOnLoad: true, +}); +$(function () { + const graphDefinition = 'graph TB\na-->b'; + const cb = function (svgGraph) { + console.log(svgGraph); + }; + mermaidAPI.render('id1', graphDefinition, cb); +}); +``` + +### Parameters + +- `id` **[string][4]** The id of the element to be rendered +- `text` **[string][4]** The graph definition +- `cb` **function (svgCode: [string][4], bindFunctions: function (element: [Element][8]): void): void** +- `container` **[Element][8]** Selector to element in which a div with the graph temporarily will be + inserted. If one is provided a hidden div will be inserted in the body of the page instead. The + element will be removed when rendering is completed. + +Returns **void** + +## getConfig + +| Function | Description | Type | Return Values | +| --------- | ------------------------- | ----------- | ------------------------------ | +| getConfig | Obtains the currentConfig | Get Request | Any Values from current Config | + +**Notes**: Returns **any** the currentConfig + +Returns **any** The currentConfig + +## sanitize + +| Function | Description | Type | Values | +| -------- | -------------------------------------- | ----------- | ------ | +| sanitize | Sets the siteConfig to desired values. | Put Request | None | + +Ensures options parameter does not attempt to override siteConfig secure keys **Notes**: modifies +options in-place + +### Parameters + +- `options` **any** The potential setConfig parameter + +## addDirective + +Pushes in a directive to the configuration + +### Parameters + +- `directive` **[object][7]** The directive to push in + +## reset + +| Function | Description | Type | Required | Values | +| -------- | ---------------------------- | ----------- | -------- | ------ | +| reset | Resets currentConfig to conf | Put Request | Required | None | + +## conf + +| Parameter | Description | Type | Required | Values | +| --------- | -------------------------------------------------------------- | ---------- | -------- | -------------------------------------------- | +| conf | base set of values, which currentConfig could be **reset** to. | Dictionary | Required | Any Values, with respect to the secure Array | + +**Notes**: (default: current siteConfig ) (optional, default `getSiteConfig()`) + +### Parameters + +- `config` (optional, default `siteConfig`) + +Returns **void** + +## initialize + +### Parameters + +- `options` **MermaidConfig** + +## + +## mermaidAPI configuration defaults + +```html + +``` + +[1]: Setup.md?id=render +[2]: 8.6.0_docs.md +[3]: #mermaidapi-configuration-defaults +[4]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String +[5]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function +[6]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean +[7]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object +[8]: https://developer.mozilla.org/docs/Web/API/Element diff --git a/vdocs/config/Tutorials.md b/vdocs/config/Tutorials.md new file mode 100644 index 000000000..bfaa4facf --- /dev/null +++ b/vdocs/config/Tutorials.md @@ -0,0 +1,72 @@ +# Tutorials + +This is list of publicly available Tutorials for using Mermaid.JS . This is intended as a basic introduction for the use of the Live Editor for generating diagrams, and deploying Mermaid.JS through HTML. + +**Note that these tutorials might display an older interface, but the usage of the live-editor will largely be the same.** + +For most purposes, you can use the [Live Editor](https://mermaid-js.github.io/mermaid-live-editor), to quickly and easily render a diagram. + +## Live-Editor Tutorials + +The definitions that can be generated the Live-Editor are also backwards-compatible as of version 8.7.0. + +[Chris Chinchilla: Hands on - Text-based diagrams with Mermaid](https://www.youtube.com/watch?v=4_LdV1cs2sA) + +[GitLab Unfiltered: How to Create Mermaid Diagrams](https://www.youtube.com/watch?v=SQ9QmuTHuSI&t=438s) + +[GitLab Unfiltered: Emilie adds a mermaid diagram to the handbook](https://www.youtube.com/watch?v=5RQqht3NNSE) + +[World of Zero: I Learn How To Build Flowcharts and Signal Diagram's in Mermaid.JS](https://www.youtube.com/watch?v=7_2IroEs6Is&t=207s) + +[Eddie Jaoude: Can you code your diagrams?](https://www.youtube.com/watch?v=9HZzKkAqrX8) + +## Mermaid with HTML + +Examples are provided in [Getting Started](../intro/n00b-gettingStarted) + +**CodePen Examples:** + +https://codepen.io/CarlBoneri/pen/BQwZzq + +https://codepen.io/tdkn/pen/vZxQzd + +https://codepen.io/janzeteachesit/pen/OWWZKN + +## Mermaid with Text Area + +https://codepen.io/Ryuno-Ki/pen/LNxwgR + +## Mermaid in open source docs + +[K8s.io Diagram Guide](https://kubernetes.io/docs/contribute/style/diagram-guide/) + +[K8s.dev blog: Improve your documentation with Mermaid.js diagrams](https://www.kubernetes.dev/blog/2021/12/01/improve-your-documentation-with-mermaid.js-diagrams/) + +## Jupyter Integration with mermaid-js + +Here's an example of Python integration with mermaid-js which uses the mermaid.ink service, that displays the graph in a Jupyter notebook. + +```python +import base64 +from IPython.display import Image, display +import matplotlib.pyplot as plt + +def mm(graph): + graphbytes = graph.encode("ascii") + base64_bytes = base64.b64encode(graphbytes) + base64_string = base64_bytes.decode("ascii") + display(Image(url="https://mermaid.ink/img/" + base64_string)) + +mm(""" +graph LR; + A--> B & C & D; + B--> A & E; + C--> A & E; + D--> A & E; + E--> B & C & D; +""") +``` + +**Output** + +![Example graph of the Python integration](img/python-mermaid-integration.png) diff --git a/vdocs/config/accessibility.md b/vdocs/config/accessibility.md new file mode 100644 index 000000000..387871de4 --- /dev/null +++ b/vdocs/config/accessibility.md @@ -0,0 +1,208 @@ +# Accessibility Options + +## Accessibility + +Now with Mermaid library in much wider use, we have started to work towards more accessible features, based on the feedback from the community. + +To begin with, we have added a new feature to Mermaid library, which is to support accessibility options, **Accessibility Title** and **Accessibility Description**. + +This support for accessibility options is available for all the diagrams/chart types. Also, we have tired to keep the same format for the accessibility options, so that it is easy to understand and maintain. + +## Defining Accessibility Options + +### Single line accessibility values + +The diagram authors can now add the accessibility options in the diagram definition, using the `accTitle` and `accDescr` keywords, where each keyword is followed by `:` and the string value for title and description like: + +- `accTitle: "Your Accessibility Title"` or +- `accDescr: "Your Accessibility Description"` + +**When these two options are defined, they will add a coressponding `` and `<desc>` tag in the SVG.** + +Let us take a look at the following example with a flowchart diagram: + +```mermaid-example + graph LR + accTitle: Big decisions + accDescr: Flow chart of the decision making process + A[Hard] -->|Text| B(Round) + B --> C{Decision} + C -->|One| D[Result 1] + +``` + +See in the code snippet above, the `accTitle` and `accDescr` are defined in the diagram definition. They result in the following tags in SVG code: + +![Accessibility options rendered inside SVG](img/accessibility-div-example.png) + +### Multi-line Accessibility title/description + +You can also define the accessibility options in a multi-line format, where the keyword is followed by opening curly bracket `{` and then multiple lines, followed by a closing `}`. + +`accTitle: My single line title value` (**_single line format_**) + +vs + +`accDescr: { My multi-line description of the diagram }` (**_multi-line format_**) + +Let us look at it in the following example, with same flowchart: + +```mermaid-example + graph LR + accTitle: Big decisions + + accDescr { + My multi-line description + of the diagram + } + + A[Hard] -->|Text| B(Round) + B --> C{Decision} + C -->|One| D[Result 1] + +``` + +See in the code snippet above, the `accTitle` and `accDescr` are defined in the diagram definition. They result in the following tags in SVG code: + +![Accessibility options rendered inside SVG](img/accessibility-div-example-2.png) + +### Sample Code Snippet for other diagram types + +#### Sequence Diagram + +```mermaid-example + sequenceDiagram + accTitle: My Sequence Diagram + accDescr: My Sequence Diagram Description + + Alice->>John: Hello John, how are you? + John-->>Alice: Great! + Alice-)John: See you later! +``` + +#### Class Diagram + +```mermaid-example + classDiagram + accTitle: My Class Diagram + accDescr: My Class Diagram Description + + Vehicle <|-- Car +``` + +#### State Diagram + +```mermaid-example + stateDiagram + accTitle: My State Diagram + accDescr: My State Diagram Description + + s1 --> s2 + +``` + +#### Entity Relationship Diagram + +```mermaid-example + erDiagram + accTitle: My Entity Relationship Diagram + accDescr: My Entity Relationship Diagram Description + + CUSTOMER ||--o{ ORDER : places + ORDER ||--|{ LINE-ITEM : contains + CUSTOMER }|..|{ DELIVERY-ADDRESS : uses + +``` + +#### User Journey Diagram + +```mermaid-example + journey + accTitle: My User Journey Diagram + accDescr: My User Journey Diagram Description + + title My working day + section Go to work + Make tea: 5: Me + Go upstairs: 3: Me + Do work: 1: Me, Cat + section Go home + Go downstairs: 5: Me + Sit down: 5: Me + +``` + +#### Gantt Chart + +```mermaid-example + gantt + accTitle: My Gantt Chart Accessibility Title + accDescr: My Gantt Chart Accessibility Description + + title A Gantt Diagram + dateFormat YYYY-MM-DD + section Section + A task :a1, 2014-01-01, 30d + Another task :after a1 , 20d + section Another + Task in sec :2014-01-12 , 12d + another task : 24d + +``` + +#### Pie Chart + +```mermaid-example + pie + accTitle: My Pie Chart Accessibility Title + accDescr: My Pie Chart Accessibility Description + + title Key elements in Product X + "Calcium" : 42.96 + "Potassium" : 50.05 + "Magnesium" : 10.01 + "Iron" : 5 + +``` + +#### Requirement Diagram + +```mermaid-example + requirementDiagram + accTitle: My Requirement Diagram + accDescr: My Requirement Diagram Description + + requirement test_req { + id: 1 + text: the test text. + risk: high + verifymethod: test + } + + element test_entity { + type: simulation + } + + test_entity - satisfies -> test_req + +``` + +#### Gitgraph + +```mermaid-example + gitGraph + accTitle: My Gitgraph Accessibility Title + accDescr: My Gitgraph Accessibility Description + + commit + commit + branch develop + checkout develop + commit + commit + checkout main + merge develop + commit + commit + +``` diff --git a/vdocs/config/directives.md b/vdocs/config/directives.md new file mode 100644 index 000000000..9060afdcf --- /dev/null +++ b/vdocs/config/directives.md @@ -0,0 +1,255 @@ +# Directives + +## Directives + +Directives gives a diagram author the capability to alter the appearance of a diagram before rendering by changing the applied configuration. + +The significance of having directives is that you have them available while writing the diagram, and can modify the default global and diagram specific configurations. So, directives are applied on top of the default configurations. The beauty of directives is that you can use them to alter configuration settings for a specific diagram, i.e. at an individual level. + +While directives allow you to change most of the default configuration settings, there are some that are not available, that too for security reasons. Also, you do have the _option to define the set of configurations_ that you would allow to be available to the diagram author for overriding with help of directives. + +## Types of Directives options + +Mermaid basically supports two types of configuration options to be overridden by directives. + +1. _General/Top Level configurations_ : These are the configurations that are available and applied to all the diagram. **Some of the most important top-level** configurations are: + +- theme +- fontFamily +- logLevel +- securityLevel +- startOnLoad +- secure + +2. _Diagram specific configurations_ : These are the configurations that are available and applied to a specific diagram. For each diagram there are specific configuration that will alter how that particular diagram looks and behaves. + For example, `mirrorActors` is a configuration that is specific to the `SequenceDiagram` and alter whether the actors are mirrored or not. So this config is available only for the `SequenceDiagram` type. + +**NOTE:** These options listed here are not all the configuration options. To get hold of all the configuration options, please refer to the [defaultConfig.js](https://github.com/mermaid-js/mermaid/blob/develop/src/defaultConfig.js) in the source code. + +``` +Soon we plan to publish a complete list of top-level configurations & all the diagram specific configurations, with their possible values in the docs +``` + +## Declaring directives + +Now that we have defined the types of configurations that are available, we can learn how to declare directives. +A directive always starts and end `%%` sign with directive text in between, like `%% {directive_text} %%`. + +Here the structure of a directive text is like a nested key-value pair map or a JSON object with root being _init_. Where all the general configurations are defined in the top level, and all the diagram specific configurations are defined one level deeper with diagram type as key/root for that section. + +Following code snippet shows the structure of a directive: + +``` +%%{ + init: { + "theme": "dark", + "fontFamily": "monospace", + "logLevel": "info", + "flowchart": { + "htmlLabels": true, + "curve": "linear" + }, + "sequence": { + "mirrorActors": true + } + } +}%% +``` + +You can also define the directives in a single line, like this: + +``` +%%{init: { **insert argument here**}}%% +``` + +For example, the following code snippet: + +``` +%%{init: { "sequence": { "mirrorActors":false }}}%% +``` + +**Notes:** +The json object that is passed as {**argument** } must be valid key value pairs and encased in quotation marks or it will be ignored. +Valid Key Value pairs can be found in config. + +Example with a simple graph: + +```mermaid-example +%%{init: { 'logLevel': 'debug', 'theme': 'dark' } }%% +graph LR +A-->B +``` + +Here the directive declaration will set the `logLevel` to `debug` and the `theme` to `dark` for a rendered mermaid diagram, changing the appearance of the diagram itself. + +Note: You can use 'init' or 'initialize' as both acceptable as init directives. Also note that `%%init%%` and `%%initialize%%` directives will be grouped together after they are parsed. This means: + +```mmd +%%{init: { 'logLevel': 'debug', 'theme': 'forest' } }%% +%%{initialize: { 'logLevel': 'fatal', "theme":'dark', 'startOnLoad': true } }%% +... +``` + +parsing the above generates a single `%%init%%` JSON object below, combining the two directives and carrying over the last value given for `loglevel`: + +```json +{ + "logLevel": "fatal", + "theme": "dark", + "startOnLoad": true +} +``` + +This will then be sent to `mermaid.initialize(...)` for rendering. + +## Directive Examples + +More directive examples for diagram specific configuration overrides +Now that the concept of directives has been explained, Let us see some more examples for directives usage: + +### Changing Theme via directive + +The following code snippet changes theme to forest: + +`%%{init: { "theme": "forest" } }%%` + +Possible themes value are: `default`,`base`, `dark`, `forest` and `neutral`. +Default Value is `default`. + +Example: + +```mermaid-example +%%{init: { "theme": "forest" } }%% +graph TD +A(Forest) --> B[/Another/] +A --> C[End] + subgraph section + B + C + end + +``` + +### Changing fontFamily via directive + +The following code snippet changes fontFamily to rebuchet MS, Verdana, Arial, Sans-Serif: + +`%%{init: { "fontFamily": "Trebuchet MS, Verdana, Arial, Sans-Serif" } }%%` + +Example: + +```mermaid-example +%%{init: { "fontFamily": "Trebuchet MS, Verdana, Arial, Sans-Serif" } }%% +graph TD +A(Forest) --> B[/Another/] +A --> C[End] + subgraph section + B + C + end + +``` + +### Changing logLevel via directive + +The following code snippet changes logLevel to 2: + +`%%{init: { "logLevel": 2 } }%%` + +Possible logLevel values are: + +- `1` for _debug_, +- `2` for _info_ +- `3` for _warn_ +- `4` for _error_ +- `5` for _only fatal errors_ + +Default Value is `5`. + +Example: + +```mermaid-example +%%{init: { "logLevel": 2 } }%% +graph TD +A(Forest) --> B[/Another/] +A --> C[End] + subgraph section + B + C + end +``` + +### Changing flowchart config via directive + +Some common flowchart configurations are: + +- _htmlLabels_: true/false +- _curve_: linear/curve +- _diagramPadding_: number +- _useMaxWidth_: number + +For complete list of flowchart configurations, see [defaultConfig.js](https://github.com/mermaid-js/mermaid/blob/develop/src/defaultConfig.js) in the source code. +_Soon we plan to publish a complete list all diagram specific configurations updated in the docs_ + +The following code snippet changes flowchart config: + +`%%{init: { "flowchart": { "htmlLabels": true, "curve": "linear" } } }%%` + +Here were are overriding only the flowchart config, and not the general config, where HtmlLabels is set to true and curve is set to linear. + +```mermaid-example +%%{init: { "flowchart": { "htmlLabels": true, "curve": "linear" } } }%% +graph TD +A(Forest) --> B[/Another/] +A --> C[End] + subgraph section + B + C + end +``` + +### Changing Sequence diagram config via directive + +Some common sequence configurations are: + +- _width_: number +- _height_: number +- _messageAlign_: left, center, right +- _mirrorActors_: boolean +- _useMaxWidth_: boolean +- _rightAngles_: boolean +- _showSequenceNumbers_: boolean +- _wrap_: boolean + +For complete list of sequence diagram configurations, see _defaultConfig.js_ in the source code. +_Soon we plan to publish a complete list all diagram specific configurations updated in the docs_ + +So, `wrap` by default has a value of `false` for sequence diagrams. + +Let us see an example: + +```mermaid-example +sequenceDiagram + +Alice->Bob: Hello Bob, how are you? +Bob->Alice: Fine, How did you mother like the book I suggested? And did you catch with the new book about alien invasion? +Alice->Bob: Good. +Bob->Alice: Cool +``` + +Now let us enable wrap for sequence diagrams. + +The following code snippet changes sequence diagram config for `wrap` to `true`: + +`%%{init: { "sequence": { "wrap": true} } }%%` + +Using in the diagram above, the wrap will be enabled. + +```mermaid-example +%%{init: { "sequence": { "wrap": true, "width":300 } } }%% +sequenceDiagram +Alice->Bob: Hello Bob, how are you? +Bob->Alice: Fine, How did you mother like the book I suggested? And did you catch with the new book about alien invasion? +Alice->Bob: Good. +Bob->Alice: Cool +``` diff --git a/vdocs/config/img/accessibility-div-example-2.png b/vdocs/config/img/accessibility-div-example-2.png new file mode 100644 index 0000000000000000000000000000000000000000..b257edbd03f5270e5ccd3bf52878b9e7030913ee GIT binary patch literal 122847 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 QBjBF^uP6_g>&y551BwyAjsO4v literal 0 HcmV?d00001 diff --git a/vdocs/config/img/accessibility-div-example.png b/vdocs/config/img/accessibility-div-example.png new file mode 100644 index 0000000000000000000000000000000000000000..2b3478f0bd4ab650690d736c4e9dbe3cddf3d7ed GIT binary patch literal 122202 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 Km%KIf|Nj6|=%H5t literal 0 HcmV?d00001 diff --git a/vdocs/config/img/assignWithDepth.png b/vdocs/config/img/assignWithDepth.png new file mode 100644 index 0000000000000000000000000000000000000000..d00e8eb7c9aa5cc48b0c2d1b102e57977b7b4845 GIT binary patch literal 6595 zcmb7JXH=8fx&|FVkzzxLG#%{J5IO;@Ac%m{q)HDp2odB11sN2SB329pf{K9j5+R0! zq8MsIKuAIo2~EOK0%#zJ5xAK%bJv-<>&)DHf9>^td#`V=x9n%X&$I8@+geIV?2`}? z5s|Vwcjl6a$R<EUM09TJX5p8dC+F9NgNwb5<Jpak4JMPx=kqxnj;pJylA_Xw4<D#h z>e(}AGtx6kUzg6$&qrU24uS=_UUn@gC?J!`csxGoRuY@de*XM9rVc}+(XyXrkBp4K z0%22AQ!Ey1X=y1@>0y|N2<V8_nUjvOOm2R9%=p{769R8_Rfg_xP8Y!5*ys&4)o20N zmg>$m1seZ!`+!f$L59=EER_vIQD}h*Qv7Fc<<48c{>_{uNu;<A^c`W`<M_17?q;Q% zyt4DSkb9avh}y|RZ?e}9j49}307P5_`<w#i0)C(rem7P-5Cfo8hZgUOWP^BN*ia9O zo3t_A8y&JhuUd1PN(Z!wZvg7qdaT>B*n!?SXSXBNq7eK=uEL~J&2_!ROVPtarfu%p z;po~KWHFi>KHM_naa3*ilA~HL|ES36VlwYxD4Wn&`=#c)tC7jt^)Vk`<xj*@B*YCp z4!Actn9~8E`>pmwpp~W=V6?*2G*McX=bhFJ9Jbm2=@Ts>JpSV}u5w!zE2T%(h?IQn zeoI_?jz4mI8$BEsC${?mSVZT+p)ERp3Bg~CIXL>l<EckmD(bKRmC{{gFRG5g0{W({ zdxJ#OF}~;v6ij}}TFB#*)z~^5!+*s-Phb7b)vnmGSNu)1%U~^kL)=kX%*)Ea7EQPO z^eV$}Z+5-$G-rhtay8bRM&d~``cWE7!KdBgF^zjYBi#zd%iL6C!7{YV3RA()=H?}C zGDVQ2*|dT0dtfGbZKQZ;1w}i|&P0h<e03P3f8<ucJd)L*gNsBP$#oHg|F`e1WUk&d zFZZ?nkql&$5f1L5&X>&&<<MnIq~vzm!*|`N!(8Ejv?-A;l$n%%WfCF}NMrBaYuHU_ zDB#R!sGq2k_)|UnB^c0tLgQGO*g<9e>PAwKE~@YpP1!$8j}kD0Q-E-&Dp*ikCo?%C zm5d5s{6deevuX|%YfS?VXjQ`#4D^*K0h0^`egY(96#H>&niRrGTP7--oX*O{k#;`| z$@4|amC{=cw>Zi7Ns-m61`|(r)B%y{DkV8AFK=(J>ZF^bNj1Br&gj!AI-k{1a#+3X zoScV1lNcWy-?7A2`vC1^?BM0utAQ!9@TKdY(zSb&^Gw=-#?pMfcK5wMy4r!-Bn{~( zUt^UVpVnP!2v$v{YuQO&`4iAe1c>euDMbJhqLXSGB{=V(EBO=_abNGj)9t&-6Eh%x zXg^d(Y=5%)u?M2O6Jn&zAZ;1{R_I@iv6H+@`Zq@Jrz=Lc6+8BQxk{SFH^9A?c_~2O z7j<5UXU$F(VYuvw850jcaZWIIgtGzGK0bS22F<D++Bp>D^#yxDtUiU9_u09Gz^@3s z1=M`l+*Em8Gq=Pe+^*U<sCbqrTo;1YY?D^U0j^X(y7y0<lkFC~8{m~zs0(6mxw1p@ zPNX<Ufjn?QX>WQrsV9U|CziqUzE=s!h&fyy?Ghi@q807DMOh((#1lNKGui%AbL?_h zoRR1)VLE<uDak|juWtR@;mcsk6ZL87)S7*~H_ZztL{OLY>}o$AQ55|hJ1TOqjX2d- z)rtbAQiYewb24BVfA2i;Kb<ZQ)6Jkxc@a?OqfP%QfWn<pnuQ4CF??3STP6jZbqyLT zeVR9uQY1eH5>}!%4DH)0o~o0}N~t(XO7;U4I9&{L6Sec!<cKP6he$r~Nk}<4m#mrt zscw8ACS$1s^BVS6R_yvj#mu~Sl{I{nlOal;h8pgzd-ZoY{I|3JGrRx48ML=oWMDlY z-)~Ue_@pNrS<L>it3qF9x1^s}<UGotk0Z*v9Ijk!$R>>K6jg_C7;yT~*-#CJ+i)@N zX;D2zzvfCkc=Bs^15(_<2Ib=E7~dnImjM*T$P8kc27Q%@tLV3E>JKaG)3Y2O(i@<? zY$A?U%BI~G%=tBz$`!grCV1O!ifDZUm_?Cu>Fa){f)s2$?g3X-wu33)0I&FhM#lr3 zO0<qop11=kiw7-kk$s>?F$-F7KE!#~wnRqUe4Ss$EG<XX(Jn;5%bED_x0ve&2BhRv zqxBgO?2%8}5fAL-49Mn0yGZAW>^=X48LqZoDcErzURh6uMPP5W<qT~!fDz)=eWL(U zz5bRgUwkjN?@JAUkuqCvwAC+FASK_I<)vZHQ_4{znPfU5IG&%<G?KCJ+cnN}<i4dw zq_|NJ2lrJ6p~>t@`U+Y+#sMD2No6?L-w_?|BaAoh(ip3}tZ&D-_IbP_FHn<+_#HiH z0-NQ|XhiXjtvW(r>@TlBj)YlomiG;HkiujSf@PxgKR}NRT9Yu#pyaZStrO5roL^oE zis|Y{2zXZzmM5q1h68}}vq;+B_nzXyFPjnX=p^Ra;&7E|FEsQPImhUoXDvy|hvrQR zu<3evRw)@rayzJy&e)fLzvKxq*GvC>$^HdYe>d7Jc+F8;Y*wO9Q$31<uq({ho#!5V zem5544x#`U?(SCQNphN`DZ14wpG-)sW$GBJmH};9aE)A}zB)V3s_q`4B><~kOw8S$ zWrs?jz-&@Wam@dXL>GxoaAb36FD!8`e&vAA2*!E)#Hl_QwZ|$(=_SP-4W>*_E5k$R z+KMksmvDD`OZx^t90?kX*HfMj&%|m)Bl+d5ht^ZkCn2Bhtb5w=s&8|x3VaJtQ!&+U z8rrGmnW-d9|8Ys82N#=(pm#f;{VtGezuML9?*%<o5;_7ch)sM)kek@adt)1Qt=0}T zQ<$)yQ>04D>9~Khx@$9Ml^ii~PbQva?RfK3-ZgG`ODL0MSZ$aZ>7}iu<kL$q)V@vk zEd(M*FoUcH2S!gxrgh{_QO}g!?+^%g6Ie8Y)yHaAJ;NJkhn5mF)NUlxlgeTL5a~Y} zoeCsuK(A=zXTrg9u-)Thn=ETW&_AF5>AuMC@a{}5<cmrBtW{VK?^yOuyen*wCjJcf zqcfn+|E2PUX9y)F0!{KEsVd2!+xnpRdXd&Ie}S=?w;CYMyN4N+ve%E+_uhy7J&t`k zAu}q^sX{x+^_I0hB>77Q*-pKy{pa50Ka|-Y&i~(M7E@6rd{+l-(B<N<jEWo=gA2n6 z-~e2-RR46n%2N}Y$jTI{nfBY&lii`9mHR*XHJ^GeEv%m<rX!4SBG+PUVx=LRB0C6D z?kS^nn6r9whcS;?&C#h}xYAdM`OwlM#i3@hzlkUkbAfwg&IJe0$H2pFJlnYAVwof! zRv&3F^2AiL;KB%0aIrz9iTl`^t}$IV*8z1Zj#q3zToWw|pLTvLB{g>-&wBlGF+2gQ z@pSFB`zkZiDeU?1`TX=o98Qc46@*ZU^+&5_!c?@Yd<1UAxK&L^#bK{JbI;9*>H*yK zDWI|KJ|}06JhO<9-?($9tKh>c0Jy4c%CmSehWRRbTz_`oH_FEtKfZHlkQxOSRG5GK zY5EOtHxW6d@DoqdDf%LprOn--=?iASocg*U@rlqPv9cygYyfr8%i=hWrC*oY(Dq@7 zlDnv>y<iol7ZI`;sFJ3NsY-I`TrO{C!JL9yHs}}Za;Fpy^716O<#_D4%)oL(mDAQX z&*aD0{$L{`*rIuM;=P8X_{pn#IP!LZg+SGIQinA^o{k|hB0~CzPz5jJ+Jw;MFSCVS z`qi1%%?kH9`P4K3Hfh4=Yk4P-vhAz}S4ZZHPKA=<b==7&cN{>XYEE%SZMWY@4nnI~ zNBa)1J0*U~4d7K&TXa0Tt2En37-W?#+9>(5(|`eRRu>mBje?nP!OB`(&-MvJZ+K@a z<O<$hj(u%T;}ujF^l*IZQw@B686_k9-ZlfwOd8=w@7^QP_GUS9(mNEs^)b_dz?w?S zZ^=4ii~L*j5l2uy9>@u^)Mh~c6o{LF8?v7~QXDg+($0ZDm^U{yKNe=f=$Wd&I$#}Y zANIVCQOkumJoq?&v@vwlOP8ch$o1jR8AnZwByX7X`M}+;`^*mBak}0~35Bz-t~AJZ zw;ePjN8)pKy7xiT3#-vMd(e2dpL$-EyD8jQrr9E+WiDV{_r5+Qx~O*I#@(Xb#E_y0 z0;^EBr7zD3*p&*C{B_XWymS0e8ZkrkdfH+$eJg15T;+G@`l5&IH@|m(hJ=4N4Cr95 zwJ)R8Z{N;5gYPF|W(LM*Uq@X{3M?_kFT79Y6#1_lX#3G5S+KE7Yxk!s^oKf|-s@>T zvwGepC7Ay9B$@C2%=#)lV7uPR;Q=bd^z|(S{qDfzF!w{_rs3+tziPjzc#eN0m-q>h zJ<l_SD)IsoWiT%I@rc0^t&wmq!NU$mwS2FSfwZ&ndHt1ODrLhF!pXce;X;PAVM}-) zs#4FHZ@dDimib?a@9~-DG0zs(o|Zot$(+hDc)J1Tg;}**n#Nkqp439rn8q#hiWl@E zo{mAj=Cz5t>T3yPi5Zna>|eKPy=#TiF{O@ACTE)CiUN)mY7||Pj?Y@0O%L#V!LMj4 z9I?qaznQqVoSxxa>!9?R6-q6a!5H#RLA37CsCLvnro6E0H#9E+?s4}F589I>Hs&W# za}vzcch6h()Sl?v+Zo^#N?dkvusuYQ5BJ!-;-8->JFl&^o~O#Yw2QAMZ%C3{E{Ig` zjtcMuf?X?^-974J#M&3#2NVy`(3vmqMoqsoF82yGzqawI87MjG?^QG_U3|K-@XN}Z zg7k|x!1IYz^>EXf*vA1R|N9X-VtpS`K`lK41)lu$9{+U{j-UILBWLbzi9(UmJ#Tc9 zRF;)XNxWr}!|D}+go=Z+TXxYVSl9eoqxgov+Hz|>tnhw!)01vvo89J<V5VE2+POin z6(i+MFJY$e*PIdo8UO6=*%MyrONYf<MCqipYk+QA6e}Vw`lt~&GA<n`g-2+*FBWm+ zCnTOP?Pl&H26_FOS|_9Kc%*$7O`3jKN$3?BDJRkB>0&5I{gg1+`@@H1vWirQbN9Q# zop52Zib1iu5jC0?gFiQQy#Smo3++zxY|feJ_6(F}a_ZaC);qL!^1NsS26Ad%lDel5 zNiR|1H9Gv<#?~K%m%Og^W?N2fqIl;`1r<=q+GUR$r2^#>%-)809bcA5x_EAU?=0S1 zs;Ol`Q6kU&d~Gh=vgMPB9cT@-L{2xqsop)4155NfEPE$lg0MKaW3@37ZF*{jrLbgm zJVV}L*{#8&d-REA|DML}n35|_D@g)_>5g0)VSHld8BTjT9QSadCKn&!#osAIGMV1^ z{PFu_N|?-oSTPQm5A(Iur8FONu+4d9&4;>nb$*wekku&>N4Og_I0s7z6I2vX8=~fP zzvxn}H+q{NPj{QNFdxlr(RDA@dz`AtIVIzwU#G7b*BKQRb=|lCXXMDG(QT(a5Z~u8 z+ioM&Wjl*%PwQ%-zin4()Wmny&~QNVpullI-Rv}~DorcFG+!(LUTkAN#dLit!2D=| z*j1Q9vet`=dn~>`_vt;A<dHTQ7j72Z;5^ftPqs}?djSL=hG|FSSMcY?^kzujpKpFf zDfSWH)Jyb`ON;~MWcGQO_MpATGwCMfQ6jEfMjL4J!!{kUK#9-H`NsIB$qZ2k_z%n_ z$g>DKL@cmi6?XFPTWrN3G?U;XOW3JEW?fwi>51`QOi+Ze&&(*F@Ffyn1S^nO!G*f9 z7iqri=et_DMuA)mE`ndK-#*ovc}YuKCi_=Z$?5m7?BXHH7D&L*$0=t4;eh9N|Iu0? zEPT`XiY#8-Y&o8-Z(MYmI5Ft)3w6yWhl-?M(HcfgrR{icp@w;wi4;Fy(GG<i*Q#m2 zWgcC63H-)6$&d_YQ6`@29}ms~iG}%2xXL=kY){qu7mJwx7mK(zK@!qy^^^ZhB5s88 z4CU6|-=IRBj@J`@nVd6D?$$CgNc^d)rAg<C{=%iwt^l{k`WVhMs^=Kebd!;|7P(!$ zbZ3m<aX~tVd{H+Mca{&!I)SF1$ABT%vf(Q_4vnVy<Kth9HRjNIS5X1F(dI95BwMh) zeq4qkd^wyI+&=zBopUGCy-o}c4ht6xx!A;a4y!OlsdD=trwxb+dBfXbL=`nE%VwDw zimBy?Nvkw5*$|=3LYmdP%hIWwn>b5~56~B$+Wsuy`+Z~y1PAlZTj`$DZM)iLxLZFq zs_iX&<SG0QUJ?J;El@s!=t3zwGv}{AXR$A4N3B}*HNnkjp)RrR;aQC*60p7t<*<18 z4r0z{7mf+4gNpfWuxxKt<5eP@M(_O1eIz9ILo7mLu!Q?p#0GVp!Gzq@{A!c4>Ti}` zS1FdGm#o@)-8Yf<#_mST2m!~03=bOP_hO$|gandiRYaS2#|Ky)dJ}W+#R|&6J)YLw zzzAZ0-8pJf>%wL1h+bb>jScqGMcuBr5p6#-*h+tX$YK?kzN`u0;P4C6jgyO{@$co^ zaJLTcQM)6#*(v*az@_B<CRB8$eXs0rct)|K))5BvMKsWpZNxiu#lxUzB(?CH;PXdx zIwJTb;y~T%xzK{quP?_GFb-VCH&>b{RpMbpMxfNSjVs$*9=4m_jG7A=rVnZ1XY>@z z)^>j91k3pzQ~A!GbBx!2kGih;NK{jU&2<e3yO^^Q92l9Te38`)UD3RNHe^C5v?nt0 zQQu;ITYHL_o9>OCy_|1QcFgR3ac~w9x_jo(6p06xX*TL0Yp2zSRvA#j(^zja%gxNp zL(JuQ1DTzl3@IOkRK*Tod0395Q1Gf$(<ZV-0bk&>ZKxX}r{Nb7I)y55DL-@fWwE+I zwUZ%KBM~fbG#6VxPfDK*Z+=!!W6)>rgcz74MG#RQrjTdLqKBYQSG21Q2UrOP?Dx>N zGb@5GdpYk6e)@am=`|B`TUou$wEHA-WW^?OdhCu-8DG7v0x3)wzu%iZ8|BDl%z-T| z^U6&firWctoYy4#XV0e&ZO8BW0rxON2gA)AnnHKTPfq!;)ew$c*PG>j-I3bWrnb!s zuC)DTTX^hyg&`EhW|kBOB*?OM%5qIM(q4Ef+=is$>+gjXIMTeOh4n67Zi;uDK*H3H ze6^17Wh)>CCEKd6fVH)*`0WqfA*_FAMW^_{?eB6?^KvOfrE`@)?aB2gXrL;t@>RmP z6F{S4o>qp9asTM1qMZItsTnKh<UHc$kM3+%=3QP_Q68J+9Q$ZBD%y-bbO%`6dW9lM zgvQ>krlW^3Su(8;ltP4Z=WB7)Y8)2?mJzP5hh^|acgCQ6_P}h9wTbaf%3rEnNf%*1 zSnEBgreB{dH5aoS7E@wz>lnXV-hR-(?eO2LR=){?%^~a`RRNpJ(t|fpv8@{JJ<D0x zi5?D_>!$yz@hD!jN50ZEO`x<Il0EpTDnK<2Q-|7RqqKj{M<jv>$L|_C6UWNgw^9#> zKjXosX-O(E#cS%Y7H25PIikZ$fF_OxVR1)$i{ZT+P=l5P=PFg|+OV>K!wBz7z@&X; z)zX_`?JLg`4!{R~V8IRXP0rN%%bL4%m_x%lcY%d=xBv~pk92p*ObQu5KXmf`8|@5C zygB-?<*mh!bGQXpR;g_V;gAQ^BYcZi2U>t;)Cxs)Cpjle-eFthl4nEoxUeHW&1bII z;D^cYrJ}7l`5#kY!(hS1LH!eimE`{m=?>GaHpJ*0oqNwgc3fJl*^VNs-jt8=L1gdY zyweQp6=rPc4!0gQ2iqRMc!CRJ$+Sv`Rhz1E-YJJwnfm34<69*+`;S&gbhhUBKlm5T t2W{TJ`JaUq;Y)|We0oJ>p>tz1r%z3F;IkG<_$nh}b=LMw)hX{^{tK+1AKw4~ literal 0 HcmV?d00001 diff --git a/vdocs/config/img/object.assign without depth.png b/vdocs/config/img/object.assign without depth.png new file mode 100644 index 0000000000000000000000000000000000000000..c87505c1c1f990915ddba0b61d378483e3736e35 GIT binary patch literal 6067 zcmb7Ic|6o@*B=xrYlX6<x+7#FvQ0?0C1LC|GPa2sj1lr9%5rP9wM?NHOWBvPjU{8O z%@Em_F~ekwN&H00lI_*!dEU=+zt8*J&-1>2ozHchYx$gWUFZ8f=RC568}siM-w%O6 z_)RVwSVJJ300hGEnU`yKW?8`6V^_c}&1?;Kc6OLd=E};-%*+e|fsm4vdiU<#;NYO4 zfni*1Tz+2u!oot(%^(aKgSd)FPfzdc>?D)PQISy}KYq-}$fzi<7#bQH8yiD=qS<VA zi~o@|2t-WA#6aIRgb5O2fl2N1i($%%PqEr8E&R*3J3DXap+DuZ(dMU0SGDDi%kb?Z zn?6IH+WPrpj@|%=SWJsCo0j!qLJ;sGgv7<sBd{kV2B5yR?Q1xFTaL!GOA4?OMkcb| zJ7O_PTRzRJ?&4s~vL*SEs%J`It_@3Q&b3jB>6?I@I@vseAM9GGq6Otm=UMPG^H;(_ z=Gh-_F+3*&n08`=AH69Odo>ghUiWO13P7Dozk#p8l)NoDJ9<3jT%EQS825vw7F2}~ zav6MUIaG6PsYr9=4di>97aL{oOs*|^TKW^Ib$-iY!tJ%x8Glu#mUKK22f8*Fml4nb z_3wPptpMP}rU5@a^<n^J_aeeRRc;M@<=BY8&2U+t=BcU)uvdcF^bqYNIdxMdE~NcD z0-DeyWX*9AaxneBZNK<uNBnIN$wjJQEI2)nyf$Bg{6P*tSV0gg^e*SsYC};7LbS4C z7O3hbjrn@Af4sr!V!J|5D@ll%)_l^ov)1F#xH<s+P3i60;0mD_6#;c5#1cu^ELNrV z?9A7pgSZgI#L8t(hHy&pfLAmktfE#F>BV?5S>Sk7q*nk}dZDTxie}k;A!VNRqQ6Mw zm+u0!-FkKvo>$yp!|NE02XikfwK%RL&f|T}15mI)=rdsVfV^$T%0ogCoYd!SJQZiW z*s|sJg{1=~eMChiiKHz>jcFamTj-$!$<uAIsGt^JK~F7fn4#Q(WyxIRh)$q~=*)4h zy?g$JCw~2pv;rjS28;8IAjScCPQXLeqOF;$8vvbV2;`@|#O=+t&xWGXA<{k2k@4m9 zIV^sAL1c00jJMdg`7bkmsQx*pL;}U_s|KDs+%$HauF16*lqt<Zj#_`1#@A#`90uzQ zqq%A8xy>@TBBXydMnck*Ni_#jQMl}#r$99Kib~S03;n`${<k!tt9?+MyeLWa5Xj9x zk6KAs=eK+a2n`<wQ_T<bc8R#~RoBKUS4B4#lo4>=xp7M|dvArJ$it2HtD1_0I5T;f zmPs>ptbC$E+vX*A+8w1S$J4|pdRGaLko_fnSh5Fri;R3eaZ@EEtw2hwwQ<=Nyu248 z_{c&A!i<7ocsMhpcq4)TIcQ`tv$IwjV>*rmwWL{&hsZGb4X+Ime{Mwq;~{B4C3KiW z@WM!?jY_a))-C5jhJD;%r*WR7DZi|b*c+)3bsvY#5l_I8;tu%FSvLd}`9uOwCW!E% z17ejnL`}5iNBpdRufXmJ{T{>I*(Jyl*D@bv4zRHT0dtAc>FctKqy9l1aOGr1p(}ve z{FY~M9We9-iozWS%CxM=8^ZhsYYQbS^pa{FYNaI1NXyrv$_@9=-|)wVb3h`m{oSIY zr~ju_|FE|-k06h5m0IyMB=v`~G9g3dmta)!)Kb;Ixuf(FnW`khp<X_-=L$>ctE<Dq zUH_o|98%+xM|dwPKzJ`s9{OL-`};L<m5N={ld^D#;JJ7pi{3P0R#_-9WO6rp7o=oL z2<}gKj8#<e{Ey%mo(C$yoQ7q$_DGuQGC3r<ZT1U|4?X`QkB8?eoml&%Q{b1x^#}-@ zi106}y}`Lx;6%#)3@u-t2l{_~{l9qCf7t)e@BP=BMjMi1SJ9ThonH|8t?EQhzD5JD zPeaQSuig3IL8GqGOsU=BLo`N1_e7lz0>t|H%sZARew<|Fte-Y5O!IYZ@IkeY9O!y2 z71!qFfV2(kV5%hm*?{1{u}Z&;YwJJ5dP1!>EDDHc)&;l%m`CU0=PcRUh(ik%k7sl0 zk9Nl_OW}n=d;^&4$u9<pTke-EB`j<n0i|u77<O_$kz#=?5CTQJ6Lv#HxS9q?tB%IC zdZUk#f(s9V<I*(dTVg-l3^W)tx194-#@m4`^&SQ}MUWI77DA({z{Oe~<~rf0Cy($Q z7lG`NS=#sS5Mvbn`~Bbv4zR$Kb{vnNODj+fF|6`QIyfB2985oUl%iH9ASsAR@?Bi- z4yrO?Wk_j??*0NOi-_A+SKsN%o?u9<gsXauAHqkwcn>gMOYKP{1ybE+oJbWM(}x%~ zq-9Zl@gwZ?{n0gL05#}1yqR2@MJRtnr6ROio$6;Ull8eal9h&E&OMx)F*_v~vb){C z&`tq^mSysb54W0CMLxywM49(?F-SrnHlCX2s?t0xz*$J!jUvK1nxg2Z*?7=B+8*YY zjejb?_xjb;_xH2mPD0DMQ_oZ07aSR|<|-is#5*||z}iYz>R8bB8?{F+SPUk_qQ-9( z09l-o58lcBiDUm6U0o}H$4=vY(FPVTOgH9NbW&{hd088}{E_R89`d3W0~dO`GFYaI zP9S$TGLuCt5g2;_BQ1v|h|u-S9m^?O#7$pNEG)fPGPY(^XV80f+Ged;7;aSfByqmd zl<I}E3%MP3yvj#xMbd|$3|+fz7d`Jz7yQZhDGul|U%g>NzCXbWW_BAMhTqGP)zzP3 z9q@ON^QjBXPbZDB?pxNn4C6C*vPcifus;-ozrXx;2OOQTinW_qjIObPN#r&!c8Fj{ zc!P_v`fnO`Xf;amFG;b+pPi(<*~{#+m{sl3T*A=%IOrEIn>$0n2IQM}QvvLY)qv4# z!WdRPZK|}oSbvcHK$S=VgU@utfiZzcM)rbz!U0TblT007N@Z+VLN>gLP~%*Wy%6KE zQ_F`A3sgnGeh*S*^t`8?Gyo^-(fOLi4prP|ImBB34V(Wx$GJMtHRF7x!6f9oy#dU8 zn`i#Re(><yWB&j$SPa_LZz%O*zQm-|{Qh2nJ+9b4BfgU)7soCea9qC4`734m=jYr_ zrXtG#94jIc_0kB|H#dGGhsm(p<`CGstEdBF^ra=KAI$7qm6~?Z$$eo@jKZwvgypwh zfpO(z>qtm-&S3)`&4+cs;5{txOZv05BU$fVBnzRb7o(!vayT*YktVk%YkU3`3H>!F z{l7IbMFb`~llj_hZ`(1d0n9ED@PG|oYq!y>DMGW<er%rnV$C@9W2mGTncBfP^}>8X zWc=E>p{^KL`jXQSj-rGBH;=1h95h0wxE7U;dO2tS{N3t69+kKH)MbxF74Md)Z{`fK zZ^kNpT@j(6L(sNDhrP~7;S0FFR6X51>~X-VAnbzgSG{!{^QSFxQ<b#St5<gCelJZ= z<xCecwV`YK<pl5G4?Xrb&%5Wte;aphZ`ix@^<GeY1TP9CuGmyCD+}JGbr|Zh3Q$am ze3*o>^x!r|;$2OD*r@UOus!6K$6n_7PzA%h$x&c_<>f4Il70P4O5}4@9W`hdEuMFB zLuEmNxy4t`WIVQ5S9wW6I<<`J{iqL=N)wSME;^^;HQ_L^k$GXz0;+lM_qSYcr*co` zefX`Z!Bc#n=J^(@WZTW(W?&4TiOS{lyl=vJH<7MCLt2?{ar7=TUmKByMeZC7`%-@$ z049ap-PA1B<FR7zXm4HeA#Iq9rdlUkkz(~UjhI?*UMnxWYn%NvW#0#lTYm=R<9|ru zw40v+%e@Kt^MdZTIjK&!<#q${{WBVnI1rqppEh=?U7eU>O1Jw-BLF6&S;%DW8Y6I` zUsxObfC-EXxgZw)q5@X;UM;&u`OOxG8C)!dm>W0JUZ9CrqPR>5j~Jx)&0Gf>cLocx z+m(+|)@F0km#fUpHl-^MSoL(?2>QxP0H*GAyWfq+&uG2@4bWmq$C_TnqB_`%L*ws` zqz%PSsF`m6q-D8j9t;cL;Y}nJZqEnpm2u)##c$wr(8UH`mzF-?yAZNJwilih1}e^J zGoBi0*l;jE22cNpP2S(=nWeYquaoofx4Y~S?40-5qDZ1C)}_0^BDUmBd#_<C;mdqI zN3ajwqd)%PETFp9fnBn0{%J~)N60ws2}E#fkJi}MM|E8BM{pNHee*_B%#!Htq7kbS zDIck0;JZ)TYj-ZSHGf8aiEY4z922Zt)0m3FByF9%e!zD!y}zbm!5d_DkDzs`k0C-$ zQhdY){k5xWZ5wtRJV+^@+Rl2TX?_-S{n6>Se{P{G3w7rfUnAj&waQNAh$Z&28ECXx zG6Y8|Y&_+2v7TF)ve7+mYS*Cm-4PT$s@IZhFO`S<YH_%~<~4vnxp`BTx!zoA``pfH zkntc~3i>HmvidnfYeB7f44N3Ueiw$nqI#lCvs0?6{%)_rN_MoREs`WY@BndJ<;j(5 zkp89GJ0=Rq3^h+up`WcYkldFyQxdVdWd3TP;{JHz!DLi?kFjc=qarclRRHv<tZ3W% zZ;X#ZZufwt)l^K<!SaZja1>}=dG&OAfCp0h@W&cG#1+^|gv3}A|MvdOq2rQGJANq% zlg0}0je<*VjvJ3Q*aDR>LkTk9^bKXH{ZjD_xm%WTUwr6P`XZBMdRGHME1Fr8MSVU) zx!*3*@p4<Q{K?>^-x#}6sk6wq>>>^il%WOXf8xVW4u;ex0|h&N$a~#wACKM_qmW!9 z`nRGb?e*65?6sRKzeUjecLvVFm(L38P0BMBl=F=Eq`kyGXoCga?imDW^{>t+hB$7? z^`%H|?R8RJ9r-b3sW!4bzP+z2Ud;XA4^hy45UC!qXeTRzcZ|u=c<8<J(S+Qy^<7tK zOje`>s8OHg)%ARp3X~}*T_<<<hj+m@{7JBNjD$7<<pM5SG~msb!8~N>qfB7dJfX4z zDt<@Y2fdl`My;A{AyMgLe5mEIn=F%(128b`1rlY_i6n6@4q!1J`^!nh^jp`}WU|mA z0h2r^nDLpwK%1B^S-M6x`}H=i4M2;}D)$j<x0e|yrZs*mZ&h#$dB}!x&HA;^kICQW zd#cez$jw2N)zC%QA$#t{^y_|Dv9!=xdMx$i&4^knhr_Y`o4j5bEDRQHk?{rEn6_=p z$_2-=j=4C3G2MkO^yaMUX`|Sw6APIDr8_u_WwKM^R}{vx;u@~Zq<0a{&p%``G(6h1 zz|pg;UPVbnn)T-5nJ@3n)J5;Vyt*nvioJ&_^ERcPw{*%_#Ovo0_C+tLO$Sk)`YAt= z7s+MxXSvYp00rp`y<2c&^<2_+@`j}u!%M7?-nVc1d()~XAG~x?c1v3+e1<qxShy`m z?7)2~400h`34|*=sqo-1%H3aUYoY-ST>kn#UB+26s$7?~lM=8=RS_w~pt~B0x<;># zN~)1&DeoB%Mt#n9N_P&4vqt6T)Dn;QB<0|^LD3sTDsH_iHpWwJK=+$@!spiv>s!+^ z72=GbKa9j$LoJk-Xt9KgS`cK;m9JzQjuQ{EIlq6ro?ex-;QSR(h-5gr<(^COOtRr9 z@7`4Tzi@5iYoNrsaL?GIX-unkV<`*;-fa6gKP|caeH6MDUc{7%G+cFa*-bcx^d3+U z!r<rYZhpV$KJ_98hbEHmKXQ3vCNuw;8fP-90+6ugDlar?AqQpws<Aa(SJmZoeS2_Q zqA`n}SopG9=K~9%x-etpEAvQ$_|NO|&ZKC*6vfv0gA`m6@iFu4iDJ`+<L_)?fox93 z;x{Z&GLV2heC2`f!i=ooK#G21=L?iGta@+!n82w98^vCMbHA4Caw&sCxJ~M4rw$98 z8&%29W7QuAxP;F?1kB`Jl~OD+@=E2BM$|UAcI$_PI!)TFd)tjHz)3QiZ#Vyi{HFVt zRkH>?;ZRq}`zdC=b^b`KH{CpEyV;|3RGTx2?)+SeM7D*l;w}Zq7815^yys+`d}6j( zaH0M>u-lBuK72^@ce~!r{=93(GC^PL7=F=^lt?rxv6trABE~-FNqO*TO`mIoT#zH3 zBa1Ivh0a&8ud*<7WKLhXGbvCwu%~fGE}eArmLbR>myV>NGCg~5W_z6c)l*oVbYv|& z%-0D+03(4PT8pdt&Hkn-0#*bzwzv(*Vjk5xt@nH3B@cmGG{8**&bH%h_G{d%n7&>{ z`Y<;2nFf^U7ZR!il<#?5S%S`2vy%z6j;3a(m6i*$KI7B-svc)?JHsO2xSo#JEOO}% zwM=J~Hg$6;_8X;gYI69OI4Lr2xIT0A^x~_(E=_kkQ!F)VhNto4@)X%5m2WRlnIt~v z_>-i5WIMj~3?`{ivOk@lN%?K#l<p~#w4Zos29g+H_EH>l#&0RK%DyvyZ~clrM)QTw z080JQ+)*a=QcTKevR#7t<&<ZqK<3nU#nw>%Nt>Pp^WowEtn}CjHyF3|+FHr5L|=du zW(5>VrX18bCE-nfvG`s5)5Tw&X)oL7Wm8@cs3SE+&H(%Y8LZfV(dQ?8uME+N4q8Kg zLax|VsN@aKQ$iZ2Vqc(E*yj>)*T6oa2PKz}RH4eccgb<><%O@4!_AzKMfiX0O)S;` z_bVG+6~lHD`d7SIlpuK6<V0z_&cXB^0rhg@S8~iIqm?|#4(wyzC#a<MvibXEkcxRL zEhAEN{H~x4@2;A9{#rBe<B_2<_P)cN+a;w5Iu>Gu8((TBwuYA`hqG$LWm>}XAu*S{ zuO9gKeV{4kbTFTU71C^D>;o6>Jc4+m?hp)<G@^nv3$g;lp36H{sIR0fg-qJuT1)p) z5sWR483CcHLy^I5t^Ax=-8%61_zh=`V@b;nv-TdxRx?{}do%>VOl-cs3lB@6mSU<? zPIu+tx^}cQBElVrI|D5`q7Rr1rMB(z@+DZ=SQ?5Jj1Tv~_HVkNuqC0z1wQ`d_Erok zxLAfs5r!>jdCup^$?4s;Vec4$&tZM>nJFy)B{kTWXa|omomOW3O<g9d*|3>vzj$Sy z%ubdXW0WC-tbzt`Gox*m*RPFs?t8xK-k{S;8bO>Hwam?8$@{7gNd+F!^W`cEQ>@YC z{?BOU3C5`U0L^bkg~6-IQqt1`;N?B{jo+SJ+6RtXEnHqUfQ38{Q)nI56P5l%Y*zs| zBU@{71L80|f&s?UM^Lbk!#Rg#Aaa%$A#ky1$iJ(|)*>1{fMz@>OTXPNJjBEhZa}=` H`p16(Z19u5 literal 0 HcmV?d00001 diff --git a/vdocs/config/img/python-mermaid-integration.png b/vdocs/config/img/python-mermaid-integration.png new file mode 100644 index 0000000000000000000000000000000000000000..d54a0e97d567ce61a36127cf05f278316d0a3d07 GIT binary patch literal 39043 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 DW0KD` literal 0 HcmV?d00001 diff --git a/vdocs/config/img/wrapped text.png b/vdocs/config/img/wrapped text.png new file mode 100644 index 0000000000000000000000000000000000000000..cf8dd12386e32d52b3f282ef45838920d37a70cc GIT binary patch literal 105313 zcmc$`bySso)GfNP1yK~FLy(d#=}<rriH(4CDc#*El2QUvQX&E(0@B?run`cDZjkP- zySDH9o$ve3J!jl;?ihF6zr@Y+uz$}l)|zY1xt<_-IZ13xVoU@Afi3k^TmgZ&fQ3L@ zzJBcre6q&&NE(6gMo5W2R&pL*8FSKAd~sa2Y1K<DtHDn%|A<@JF#_8sFc9-ajJNlN z3m1M|xjp2z{vzYvHL6C83pK1%TbT3(`i)45%R_F(MO~=%@ZPw7sgchc?q?=Zqls=P zvT`~k$|d)c>gKevFOKLn%E;6m`^)H`rp7)O-h&?k@uZ9%U!(NJc@T;6L0_Rjopc%g zEBg5<KNkGg_i2PZKKh0TszoMe44qod<XoSpEp}6Pg|seD`6qIYKiO;TL(VN?UZYo> zaj?`8T3<AEuAcmPq8TJCu~MxuR8SLn*DNjAi<-<|$@tW6DjRz;@8U?IMUpM*v#eth zXMspBZKX&fN0dE&Ro!a#LOH(2XkY(^>)_Lqj1(<8_3?#gwv(Ct$(D{`@@dbH&9zbz zIZdLp7D86Si`v(^zjsoLh@l^V>PfE}`T@k>{vSM<_y;^@1>cV!?;%yh0!hVCMC(+? zGwn}}D6e8&zdn`yBD=sqtN-hZH0xB+WXl2^r1;+}?k~K%5r&LMUcK>Av)s0+scEC# z8{^XD%bSOhG=!lNEIKuv4NrmzIh@%{i$7S5lti%V2ru<#2Rut}(B<kaw=)WnNE3^X zh=?dM?(umNjE}))v}Z0VCdQu7C6mY%R941IEBnEhh4Qs*0*~F%j!A{Xa?8e4qgsJ8 z`}U_#gb!`0pQYcauCF`!Lcg~<vA!rvbLrkfNNL3BR1$T;2HtaqXr)}ucowb7Pf83A zR7#jI{Vs$`hy~md*8ROPRdqh@W?ZapIa*d<xn2`I&>jBJZ1B_Ia=G=?1sdrX`v*?T z138Jp9>h92I*5~#6V)=~+X>tjpIizJ@g68#Dpv3E4<$KV%uJEbQkuoQ_MJJq$C%e? zjg&tr%wc)pd6ohV(&}sGGe69`f?9s0(tjtc(M`%|>cRBPjNb8tKF3sc{{`#yaiNiI z;!uCBN~c2W9;&0ARjfzun($X{rqz4b)_Q#yFyJD_9h_S3czy9|9G@MnEHTe~AI3$t zKf7O)f*v!j&hY=)b+zXwyMFz8iK|do1~NgST1C4(#^Is+wk(o|r!~^9rLyg8Lwk!; z{3gMjI}HWt(im}qE*u0bn!4@N&GgaF!btf<t*zOVv-?X<Dt4ENV8LE6sLY?89t*l3 zu=P9ato8*223~vip8oau%(&yZ=jnI#9GL{+q@&&CzJe!MFgpheDPCpvhaB~kluT+> zgcKAM0lOmEZwXjYfm4mo>G8g)RmPABII=l*628S}^jApL)mFkQHXZmZ>W3NEX?W!Z zVck+*jcBU;yLa#EUcb4j_Feb2bh%=t3?()7C2xX;#&`|`O!oYISdb4{ikTex8@g}r zGWyG9&O~8cjAQrU@5@9k%*E=^s^n@aWosu1rl!Wp(5_9?B5Ti1g{rd(68|1iNz_Mr z<*G9C%eUNEs$OM`=XXs^q#PU^;Kg3Y#&-CVli3>C98ARHDOhSbR&dHqh==DZm)WSx zh6tJx50!W$m$|)U5gkb!I&5^18`YO7JJU+xr9ZefhH&q#6@jmw3a@q}f_+Khw2mq= z>ErcWA<V8lBMy~lJaSm(wcVjNcou6ocC=g7SH*{(|MS-uxvU04$c5Z0v<AOMGai1_ zll&3Q+%Z}IX7P6xu1=2nlUBJT)e`#$0k<gTE7xlmT0%*fG{1Xq;?m03dV2U=xR|A! zLp<SeF4Uj>BJF7emHW<S>rhP&hbW4u+ah~KHDKk|`h5{GK|k1aa0b4u?(?}(Qc{Xb zNJP?caW&4J7g><(uTMA;isRwpie)LJn};*wOJ}6$^ToFe^02R%a1A#kAn4>05s%Up zQu`KF3-qt2z-o1ioQL!ni(9ebkdQ2IB)^aAG8{P<78c%F9ElBJXYUMuE1ILM#}U7= zzkQ#}$?~3!NOMb*E*qgdJzny-Ogw6EFxJ+fqrxM{b$1B{bK$e=%L~2kFKv0Au$J4= zE;d}UMg5lUI13C8mhP)@kld3zLLZ&}G$Z6zfM2;_o^p1UdOGInaA~*o5DAZ^y&K2K zxg$9dkyOG!j!-p`;MWmJihT1$g)6s+n_{{WTo#g?;<!xih@35mlo&)dxNdH4l8V^) z+`cctX1SsY8#USVkkvPU)2`))kB?8Bumv%~Wo!23P;a_sg*#DNPup*Hy)Qe{!4Tzi zIpTkpdWob-hG$rgRdkCR7e9J^Vdqaz<Ek0Vto`9eql`}GHeR(FrxC3iO8?ilcur0) zy*V~yffc8lmmrpYXM>{QueJ!m^ONmMSFc_SB3M;s)_9e#O33NRq>`s?02_+S_-EZ- z@)wuwjs5+FKlys%PoDG?N#UxOn!Fj(e+3sX>C}wAB(tjC#b?$isx#;2wEabIIbOB6 zG2)W*;h{^Og@zKtU5I1)Tkjtvk24Le6+V8WnY{d~oRc{8O11W_x_g-hw8-R;+S=Mx zlF(D+1+SCM0BM(nPicqtlaEGbU~%q{k#&9PNehA{&}^No_x1JtU2`{2t<YaKfqO_B zS<otb$fs6rJ9n^B*e#!}G+OILVJ(CzwVIH-S}9k!U49342AhEu#9EeRH8w9{gi&{r z-r8t6i{g&N4GOvTNSb&)y(?yeIWw@C?47-GHOu38oLCGC<Ch2X>~@!4#F}_hI4sYz z#TaaSeEcBhu&AT0M%IEqqtb(sR7!v9!KZ%H>$h%Y>Sf9ay1KI)_ZQH-xpK>J->SCf zn~7rVzEY0*-6T25*j%kFwL;o=yu$~m)e-xZU+w8>2>B8jB64B(wyH1aS-W00Nh!9m zy?s%4;_TFXtRi~C^ZYb^g`T?Aw0M{wvppz0yxaQE_I!@UNr7H~m}K3n{4(F}Bmqoh z8mwG_V;8Zq`ytKb8L!hm`LSKI%a3Hv=x0w<RSDhpR$jt$dN1QuU&p1pgNxgkdGTsR z^%oJ>oj`07ZtKNf8V02=lN{LJm9iA7&W@HfYi-^@?1B@Kp+4WoQhm(L+{gZ8>2u)* zUOq*!S+OcY{^;PhC!>lP*Q05?d&TP5-UEXKQSJJS_ZOX(w->tUDwEX;jS5d=bqIyc z35z2SCm(7s9njBh{E%~6A2)!UmYnOa0y&FNmUhJIXFJ(~VQ{nKODCt?&s=i#`W%~( z!tv-;-}zY@e&x;UNV<Yej6+1!u9AIDMrta8&Bn&|(|}3Z)IfN(x6-PQgG}+WoN!kP zm5q(fXq7`SYYcPYDfRc&%#=7GGknPGCuIg$2#8%7fE;8J*<M#4@7>17Z-FSw2N}IK zDHLy@FWU&IZT0gWyS?j-|HuSte|1bciQj>cvf6P9BZ1p0!!A?K{p27saW-sQOTekX zy8gn_K+f`>rj&`Mq^|D0G|A9Usy&}Hs~xcqoZf0zI<6Xzma!uUShe*xKRr>((;iC? z`SZsZaK*V0GI1btaCt1uKq{*<Q_FSVB1gU0ypR2jj}Ncy?6o>hc0)SO_Fq!0?}ijj z0BDkmcB$uZ_y2TM&tMqpNZ?_0S{rTO9ATgt5+Y-x+iuB<g2NQtJiU>_Sv(`iyzo{C zzycRBc7A?7k!7%Yj-1T>#0I3&o}OC4D-EHnmE@ao5grNS-DTe*6*J|2AX+ouZCmx4 z9C}NwOU(v_`QR+R6v1YZGHrEnWo>b-7Vfv9&$6ire=RU>9kESIG*nuEof2|#1C2}n zj{xg`;KGdy^{IzK07p{wn}-SSkQ<B~y;>jJv5$JfF`Foru)=So?*(Ag%in-j>c{Nm zoeEy<Z-b<N!S35oJN&0sIBx5-PPxfmTRy#i0KGoYn8Cg<_lE7sk+0-X@}dGNzNkId zPGV1TSbyJ0)iBb&yCDaFgIpr-)S~G%x|c6sB1S75I{IGRmYYr7WGN8gi2dI^&3on~ zzq+4n!=5GHkZ!l-*0a?1_RBZk?j#r9eRL)~HQ}n2;qpXiHg9HPpi$Ws{nJTw?a(m~ z8&^o(&n9;1<af*$NmH=G5qQWkq5c#@4&F9_c7)_Q%|eKi%kZA$v;$u56SoZ6ElxD7 zr&O5DM~OatdJXn$6%P5@qQyT|fxe>A<EgC>^_&dTXoe!QiSfRXM}bBt$*~G{k72G6 zy<+vG=`A?PpOw2l#H$BPHTttVZ|EYeFez=XU0%ygAEHU%$I5M_vYe>t${njDOAh|P z6Aq^&4Vfa0aOc-W=rC!ttf&<t;yB&7vz2r8o44kCrNu=9Z)B_HQ$2tF9KmHV{QmOx zLgCJK_XFi`aU*lvzW%+HPU|u`jk6CF>2-1wGkN@Q_<Zj=4fd`~=ePM3etnVssc-R5 zZ!zOTvjOoeC53WZg9`iAw+dOGHHQig4iEDIXmVQ&i*Flt36}KuIuomY3!)IT7%6%= z|4nTcm6T9oF>-<J<%u(G2!)k~W7lx8Dii*Q-a?qWDcSM!`;rQ!mRgWq7-LwGnzdRk zqJh5z(;_Y-s<o}Kyi7ej*yCkN29>^gS!uk4{NHbi!A2Y!6z<_+k$2VKfAdxKJO?g3 zpFBgf{nD=>z`aq7Dz7Zhb)42_2a^P%w8m@h>!i9LDhcc*l$xi$=!oGm>GdsKK)F=3 zi_Sjkw$`758UT+)DKH3^_Pf)Ba6?0bDpUkUaw#pkY}Qi^mt&Z;W#r{?B*RECK6=%9 z7FmvcfCA#;yHa^6%z)aqd@T`Y^ZS?)QDfC^v6A`us-1=qcv%szUcCwo3bLuJ3J(uo z^@?iuO{uMI)N>*`hD0AJ;AHuM+oVB7$761h7AxYS3wOagS*N6;3X9L}`kx>Jm9%PA zI5z)9lg<c<FygrlLfy8Xsj%I#(t4h@zb$^<RCy7TlEbhsL$=6jg1oS~;T@%zcT);2 z;wHJEvBnx;X(siucd3p3L;PFM(j(toy~QtBvi@5mM>#__<z^j)*GauJYjsmJql(~| zKBeuw?(uDQ*j$*&;a_B@Hr^tYew=Gn$+myBQfSk?G<gyvV!N^`?6>h53ZA|+Hz)sa z!usx!(n7O+%N^J1)m`M(oAxf<ldWXetykMJ2lBh4=x!POcs~^&n_!-Ii<I}BUTc_( ztKzi?F=v*qh#^9?gX5-TI+UQpWadg%4i2*NE~7Fp43PeFv`1^*;U;pV#OD0WBc!D% z%mY#$AH-9@Wkt-KdM!7QR#zx(-x*OC-1BvI{OyE!Z*$?saSE3&&f;!}_&;U!^E>}m zt>}yXhBy6x>+!aK>+y(x>v5`o>+yeYqzYpCC%nNQ7`jJKPe0a?xi3VuOtXrcBo~{z zPvdk|ic(yTGU9SXGax(O604ia+3gU5$iKhZwF*gLD)qysGKy;RX}c0cb~!CG8(l+- z{qIIGJGA_T!%aD@uCJPE)4bCDFf22BQZ$p(df)OJ`qsAFf^KA887QB-$o;qCs3OxY z7Rw3GgQmHaAt&0dj+zM<xssw))R?MVO7#ck<vXIY_Q};@KjJReua4Y`=Xc{&4)zOM zUAmp3J9!j(wW_b^N~1*H%U?g0Pl`_Iy~z2()zkHxCY1?8X)E?LWgdC6&UM^PwF)oQ z{E>8b_rBA5i+qI=<+zE$oA~V#HbZB#0nf^SURJ!>-Z_Dr2B^eRKLMv#Wp+INCb<08 zD@{*oM#^Ffdj?J9S$&Rne^h?cYZ>htt=zv>UEfx8oh*)j`D(6aH6*fEzw4aZQbc_D zw$B?wHEubtkMSdzRJU*u)xwtVGgj^Xv`u_dI~NcZe&&DE{PEf-hC9a}X+#Ju=eCi9 zjj`FO$`4NGS<@X?+;XuCgga7p&#L8rrgmzSl5=>qBb9PhFL+ywgcsO$$!+;w=}EQF zGF9?=-Ge)DQ9f1k`MAaA9rPsh{@#zTb!N=b_?2-!c~`Yld21f~Q+@Vrm?ZzqTQrp7 zF`Fw6N>o@r=d1irwp;oM*~{*l)r^TnKchJ`Illes)t#Tqp<ntL@R`RX@~K?Pofo;i z$j?Z!@2-u78%X_XwG_ZKLTT$woE74+;<r>-;j$JvtqV~JYj=m~ge$^8Vmb6EXns~N zClnbgN8N8dOMQHLP1`ezNvN`Bu_O)gv%p05M=Wzg`Jd&{szdL%-<OVd-4jZ3mNsg& z=rI0F99xhJhZI(4TCQ^Z%F&|j8ZqiRnjjMRgl)y`9HCX4a$&MJS|Eh@hy^`oCT23` z7aUBZDXo$p37>6XqY~{x$$kAU_vOlJkvG#I-hJfUaBTc4lkz*ccw(*Iyu^CzoMqc| z43o<$^7r+!^U2$Y@aY{W%C_dP=XVFG4mRE#k@CBa_XR}YP)WP&@iXY*U%HZZ9SU`K z_xG@!xQOpw-U`^58?4<@Ze)n-!pFpKlTC<mh~r!p`>Mon{ZV<r6Gf&%_2>nYzJi;} z$~PZn_y7E}OK|wA|D0ZpO2m7FL(J~#^m^WtOdiBXc?Pz4<`P>9!N7&dlpe&NU0R7S z9VBc6#iFOeuq_a##kUxu?^KU_XkYj8Vm><?wl}BXgil~R5J4PfyKtYvE?OH|%6^>v z0+)0)JTDJ3iN)fOS&4z-{WBVgC?X098tDb6h56O1H;9wt<lA3KoqQ~FVzo(pqnzC` zs3PWFi~mO3*7(|{eH1%ZL*r7dLUP{VdCPC9iJt{(%m`vhWrM}HI?m;eYVhd0%TL(c z&hTlwe(REmeUzCh%aPB$X0yrv3E#@#M`tK~G^V!OL!Y7NBE7r?rUeEJ<gxKPrH)++ zGRgV%_%ytSUIaw!mduEn8U`O9V2W0Z&iL(`OV+XqJ#`Pio^K9k-ySVH^foEv-W*)a z?u@G>^2ScsD}32^roU{-p-#xV!g%H8@!RU-?%uC1%>Ln89i=4aAICf9?u=LtIxm!b zbypC{xp_v^6`Sp4a2z({e%>gIsL`%XsK2kgE!Ri<$Nox2=jhX&2_9!k!A-glf(9%O z;{z2~aB@FU{s~b*4TwrF@EElPI|k1*ou43bpHS?pilrDle*BnpOyJFX4qo*f<xWE^ zhG=9#2jLA`Jj~0c4qF|((ofkYm$Mzq%7mrjgJUf3Q}cT7tJj*l$z^hW>^DUaax9r$ z@#;<dcu&N=*SbfJF|8-jluXgg?3w3pTkpw_2-87^&^)VYd8(-Pkaqo&V(dF<52W%k z```8-Q;*qk2L=XCHU;5AMdG|-GD4AD6ZS0mGKRNk>eKu*#K)e`=hmCseV-3pT|3N2 zmJDEONs|j}<G4Mti7_y0;)kCjdVj@B<>WlbQcWc!F8+~v|D(cT*-F%oBc3k~603cZ zUi<@1D6X~R+>#dN?5$MCoZg$=t*y(4%bj;Ig<=CP9Eu5Qo$Aws&Hw`3*XM?tR)V7i zoDbN>=UfVh8uD=ohIVEiBUPSXqfGXmRl}ibjPW?ck_^|Goz0ToIpgiMkn>gVm);zq z@WRODqhXN1Guk8&v0FON)h$*h`k9&U-a#PhObHn(f>I(azEP5u%}be}A%zuD)*YnV z&6j!Uk$ctadD*X=@bM!3HOi{@kk#67f}7te#Q&a<CI0z`h0aHP^-aC8>q&*4ToCmX z4VH5SAJEVj%9lUm5KS*<f6@;+ap$+E2?*Cle4i74`jm~$P}S_7&BkPW;b0sD%&vrA zx<5K8Hu}F94^_ovCO~>Mp)Q0}^&P{5SYVd?i%KbJv01cZ+|r+!H2t%0EG4baIYsQ- z9<YBz>LGc6R91lGNtqmIxAyv%E!Ah5Ovum91pg)N{$-p07a6nd3Z~zk>=&zm{lnWb zM$JS6nW)iec*j+Ub%6L??!KT!sgs8~AWjmXQ*$&*dr!!#wShRtqD+nx#}~)%Ti#u) z(FMu{2N!o{@hcXcdQOb5@1-FgQ9--^`TJb`*ZI}bUJ4vCdd*q6o^zY7lkL8%z3CPF z!n2WaiP9@2>~w00sCrpH)PMEo^0YHc6_v`Fa74P7pYw;&3YWgV7dWE&sh@8)zP8XA z5n3K<^Fhl6YU3|lSOhP4oAuBoCg-&k|Cv#%TKlHc+V|8@%sKP>cQ$YPE`OXMG-JM1 zv>HB}n+AyA(_emal+l*J6gXK*4vt8mFNF%&(PaiQyXSjSg4yR~2QC2@^G+W<XPSur ztS$6Nnv#NW>3XwOSdl7?Pk=fuFc6yi5z{<4I5>CsZDrIzWu&PV6OSJFrpxBxiX&H_ z1mjTx<k4Dg>pcB1x*1EfeC^sbYq!qKC-pv;+s}C~ynkWgb*DR)Nviqnnpbj;b~Qf~ zI5)cu^hGkM1qBn^+MaIBwnt6dMl-zF+R508yEszgXcxM(5_dW8Ez@X?M*`q;0YQR? zR^(8qNTdjRAP(&75H+eLAwz|RfBAal9L@H(a~;>aKLv_MH2A5NSyLj?B*OG({IP%K zXbi3vte2QJZ@g?QFv#Y1-|jM3Lxv{{jd>mz7%ZS_EYRe?$r!(4NB3Kf!ffsPk|Avc z4m_s6f9~-X&t$6?n*z}P`*?cX<ul!$WI(XV5Q+$E&E2FBPJ9qW2Yg+~js9$tC|WM( z(_Org<OtVvT4sZqldX;$B-|klepqxG60x^L?44QeAM??iot>fi)~_$VelF8IRnd`E zDK9icbr$ive&CV77mP8Qsw>G;By(3SHhlq{y2sI;!R}H&lj?WxAJL3`HDXuiQSoBs z1qPej+j>)<p5V2mq|A4HV80)HlQ8>XJ~mpF;Mc$QthrXeqH9oRd(~+o-)2UlbUpL~ z&n+)6uP|}}2_+>w*#xdshXn38Sz5={@z4}yX;^8t_^um-Y~KAk9)6;!_b4fW?Y~u^ zTYn*z!)<@*37Vz|AIw#I(_>7{!V;ET?Rp!i&JKKLwuG(_(uZ$(#+@%}iC(C5TsLf+ ztT%S|XvZaf+pa$i6#mZg#DoDEtjO%)LJA!(FX7XwxFXY`JHgEjart`XuDc9ySH|Nv zS4=FIx8^#?1~vyYtoVLy&vzxrBysq?dxwKC?f=&9W-;<fA&XwEfI2Eu#wN?Cn_TG2 z!F2GYgJVw1QQo7y<%ORmi=2jRK+OL#eK=BLF*96jmKC#z3L)aW))^fv9m~RQ(@Py& zlB-=!3`52A^8sPzzw`LUKR;sRsFy&=%Hf70l}iy`m7fnI6VL?B$Osvrmxf#)2kFH( zp40HV;~4*s_YY>i>xhu?zMIo=$M6mhzeOhCU~AI4W72o+2Bv6^!lups8hW)$NqA`4 zR9HMuHYE`O9vh<0yownzl(gJ2pc!yFEGbdlzi-m>>2feW^95@YvmUA^gxuzYFg_j6 zLqDt9V^nJAbaOB#l>6jDu1$Ve1cW@ERjbZe*RFlkIX}~^cI{6chff`Uhm&wy+Vh>Q zbO%pP>b8WFNKQ5Qp&8CJiEvsL7M5m@L>?>cWLCAvTb1_tLZ!}|uPQ($Xu6K8TI0?) z*AeT)n^9a-qvXE%#OI9<;X_kA#5$LiTqDnf{!B~g$#)aQue-zohBy9;((z5Rn4$SJ zj!}hWzAGts$b24($j-!vjQu48IU2FyB1hMro?N)ZW--hKLP5FnCKasR%j3OO`|r!{ zeCtL|3)$6%T_2v8S--?*QmuohB;qp0Asa4r;`I-w5J8EYpG2()w?#7&=(UDW0`uqi z&3<_xbgD6+P=E84@Y?v;oHGf#J1@}8MM(s}jZGE4zQ|4-`mfki_N}%2#)4hfp&jp9 z&wZHXAmmeB2n*)p1<eM>>3c4*%4<~X$*97~7ZI1Ac5;7FrW<d3w7eYLu3u1{p>R4< z3QWR*X)%H@w56$4?qwqgs76PVEmv=mmkI7q<Y@3YEWIC@i{clA(mNd<1YyiYyf#`R zi<V5PT_5Jvp79S_jow2V8&B60QgpXR(Ww<WGT;3X>!h)EavAIC)2H8s_I7vE(FC&d zhBs_8#s5YN2i2xfsEddI-o(JbI4~*xcC^HZN)iZ2NlB4D1kG+^!<yf5sVS|Mf*-c6 z{?Ez!m9tfz4-YLqtd&#<*d#7rXLD}D(MSSuvKtoUaCLtos``u7c!3`-ot!R5g3D<r zkLK{+ncI45ziGM6%$4<;W6KXe?3F7WEkY#jqeY}9si@JCewDOTkTYJg5z=dxv86wY zp8l1kD3ipE?R|^ieiF_&h^@kZe%7bUEV!C*5y$G?H$8JlZ&o0iw?LSySW)q=t9yiI zC7@10pB>csDG!8F-++L=A`?aQHr$*!PiEXZew3rU{io+XztftG-_{%`sAx7EcH9Vx zZ=s}Sf85Rd_|OPeJ_&s=(q(|<HaBNV5;=LNkp2uF!lE?+^fJlCqn_C+3Pk}{G{s)F zIaBVkjGuCoG|p6#a*?pcZa=rt?ks$HWqm#TS&k!LMpT#x&>_oK)N+Hz+dnB?ch_VK z=ezopSRrJ-7Z!#sP-5}E*VBFH&utQJ^U2<HX{9gnl(H75tECeMAo~5@tUb@4-R{nM zk&RFDmSACccNtCl4n!0#RHck1<?WS#CIPBQdy0sNX*6b%+=A_mOxneR0pT-u6;N+o z-OcGNNET)+8k&LtZ2U$AJAL3;01YmLSm?t*J1OIyL7Bi{qDa8$=_#N6ADq*p-87f& zdCO8A(-bF@xzLEqdBlYX>w}G#m;?+>aG-xzT2TPm2})=jXC_jQjj#+vWodj?T6+4x z`;uXZpS3z7>ZO)l8C?k&8@nA(hKQ|j?Di!}iq`5+kN>Q&jP4~02)=E-9R!5_#UMH# zxlBEvRNOgq5pX0qCDLwJ*FQ2h|0Z_zK{K;?@vCBWP|RU}c76~_Sgk#2fNcBaMIo*0 z8;l%f=^FP##CKJuroZZ&xkEvw5`#q#UUqZjL1H-aRcoiQcuo)Efzw*z$WoY{&=|W0 zlO-#;6s>GxTfSavps>@;;%9Tc+@N3reW?Z-IOIeJjSS!tWtRs^uq;iFd$crg@7w`J z_>Vn5aOQvdN?C8|y^5o_>!+S0k)>4dsu{Bd8CUl{OHu2Gb#82>UZZE_1(xHxk23qp z-5HU0aB%8Ab_?rm$1n@J?p)Iez2YbOy7^W8A0>hS*Z8iIa}RfSO>HO3Y>BjbW43pZ zzkjRV+f-E=UJd>{gNm;_HTF88QL$RkGn%Y>{T`WtTjR8@jXB%BzM<K>hl*y5UFAF0 z<6k_ebe+RoYF)@)+$4yb4bxa~jhCT4IX$`7l_Vg0oDb;_B$uuJrTzyc4{1C-JvA%r zgCMN^1ieuM)26UFa>Y6H7i#d}z!_-5KZB*LwQHmCE9~Z6#1=`fe-ZAujx6Z*x+RA5 z9G_nL=;Ce}AJU>PBDUHAqLOsqf^{!}A_YZ?eyPqg*f2DD_$$-|YHaZ`AVvjE-IvhK zS4Fe6Xj%2(Ixd2c&lC@SepK2z#pO*Y7SNk+rXrUt7?h{Of>|ve!PwJUX1Ck!^r3LP z+V%NYr3V!rJGa4{aq*+w0tx~{Yl#e?IkaZHo%Tr+I7F<C8H1Ub89vYHOZO#0bVq;Z z<FRTB%I=~?PAC976WQMYLWQ%=bUuxRd6%U#S>)`aN_TSA_{Ybu;<j3_&wdvM43cn7 zMxC8TowAi=_AQpdfd)Wmc-)fz-?g51whO58oHgFTZNCj`LsZ;jAY%I{yv%-=I<Yz| z{d(E7F=g3NW;=(uUb{~Y!?dl;byyx$T#r^k+eC!icC0lFLDM1Qx3@lC#he5}xILDK zb$cFV@aG+6d&$F~ep7>$ICdr1%_p!BFoo{tr~B@ELq<0!xI@|`LN$Nb=c?GYw)AJK zs8t!?hJTzYbrgqdL7yVLaph=tRT_*A1FaSs=wDJ$bg%6_P8M`QPgX38PKz;DZz+<3 zii*m3FqbTpgvZfj89XP(01oUHI;X~zb4FuKbh=>^oE<JuC^PBE!PCvRlKuL%mv*|j zuvS&(v`!9r!NqQ2nBOOFAX~CI@LK5z9WAXtrxEHqsL><c2p-E(-Nl8JDDc9Rw%Ye@ z5|EQyy45(Y4x?rLlu|3CVl_Hn{OL){(kQk3u%~Bl&y|{*dUL_IvLr))0hI)%6@P59 zAHVbU@&(7|D;?MLr+hA>p|*jDKuX>kI$(q5!fiPkx59qX5k^*I+W*7A-B$n}kd~L) zmnN8Cg#Rn5m87mYn80G88N_k;B9<sx+3D8vlU9rJJp+h=pBL@Wk=4*s32y|(<alh* zGB-+cAB#`8yFp;Rsu2`|!0_;^lg+MOd|uPHUacF93-09WwOH>CKNJRC`$p{4`npxN zo^7566TUsamj4f(Vp|#^*FF1dB7iJo1)SD?lbaQ*-?;K-^`o3rFX^1OHzI(eSl!~Q zgG^2iDsegf_UqTLORT=OgEM1pyxPrDCpaYJGgxcv*GBo8Ie^Ly3=J*zc$fK0IbA{O z>C?bQeqj3G9<*m=h-1v6`?Fr7R<hsD%HV8C?6zl#O0KzDh5cgWwAI<#FlNxj`O#DR z1vx<0KbLpW_6-XAmADn#2dk}}(~y{k%uB|+nbTLJiiCm*Sl8I{M2h!$rPsHldcM+C zXB)#V0+G)|*ptJyCSzfn8JR3t1vN*Na&3(TQ?x>scv{cz@s!a`!@O7GmyA%!vW~}P zjQ7)B_f~p<*eCyPvTYb}`hI*h_Br66cd|)-Z^KCrty(`yG&)|Ie^94$wZv$tBDw#P z%zCj!$FRdPM^05HbE=eSBo(Gf^>>%Ibdel$?NI^54^6+rlrU)_`)Fn9HA<LBybfL$ z8g(0L9CLIOI->NW0n}_O<fwnssZCBmS|=LqoqbU+W`M%<Wa9i(C&ucc6A|f{mSka+ z<bA9LxAv<kZkMs}n?T<t8;vGQ{#+;zMy4=wp`{H?*z1(__27o!8`^*IMgDaZ9Wuj3 z$m9Vhr=U&&HAcBD-;GWgv+9P%Mwcl+0$%G$gwyI3u8e_!Pfy-%OiqcFmR`%#%(_G2 zxY&@JByhNPyk1zeO67nYF^bE~OCu*Me0PG)>AN9^HaLa0-X9lA2U8hZKd!H@XF5Hx zqm@gH%h<<0n8l4<fIO>D;ue*-GcWN}Iv&YT?2eJu&sbi5hK$r`(C6On;+epS=ybkD z+53Z}mC2c_+XrWy1(GjR!u7^nwuf5==o38dxy(#lb4ZJ}&w#b-*~1ARI~0aa&HxQh zgU{hM2Cv&1Da2ISVr>W?_RGU}MZCQ5s8LTS0P|w{HE`#-Lny*yR=$xgS`S77NPeoY z$-!B&v(g`Yr#ZMUPe%l*n4}d~g^tk46>!Co{aE>xpVl#Ie_UcYT-5&Z<|*7K5lR|= zpi%Wdd~DxuF1TZ$_^wKXlFPoif^9sKfem_4yJCiJu`21(oMmpUhXzKhN2EFm<DTrB z0Kcc9vufY(1F?cjEnB^^QGfM@o8Z<--Rp}XBs^h*OM^(on#&7`7g6Q6L9_!{vNBW{ z0J-gRmNo&a)+dNOq=MFnr!p6cEJnBkT;@E_&Q=cQ2++tjRV)DU2P`8_>tktf-HFGU z;POD8Q{0_DOzET7)_7wV1$oBGb5M4F9ui|iXcEip%eNfkFMZ&Zw0)U(ffQl9e|CI> zoWmDNJ#dpGrIzroNA1j$;!veku@_AC2x8sQ!r^<p9k@K=w1$IA5}cQ3^<j${?zBdQ zg3abYzYc+k$JEx)I>f(PD^zJv%wfEtySFxSl^Vr}{PFswNZ#lfk4AR?TL28NxHIDt z?$PX(-|qe4X<1>XG1iqjxV#If<j$Qt=0SrB(<}?#U_CVE%23anoj<A^p+ogX-WLxH zc_)bF2y~JyX6(;`F~NhPSq*Cx-((^QlsxZx(j=aLGk%_{U3ukE(r~d0XY@pOT3VXL z@<@RT=X%w4SVxuZ@i6t=G`;5MYqjTR0+2Q`JSrW<#l?T_Z&s_Uq{oodlQ|g-cgq5X z*(N;-@!cGoBmI5Qc&jsBC;^mRTypZY674;^)1;9l%M^X;1#cXpDZrHR*p#EL!xDFl zii>7rzIUSsR6jUK5GoO6nj84uP>lLiKeD&#cn3A-rLZ=iAyC@ya??Yitb^~}4kyxd zgp1E)h;EPXD#MGf;sJZBhaTO@`s=v&3%dLEh~^iUjk&R{?N_nO6C@eL<)UM#mG<~Z z6InxCtIvX>mQ`~Glsei_VHfJoE?$K)$yznfP9ueyNbQc32%job%nc{J(f&TN<5_Vq z>wu8hxnn_}EVPyvo*c~J-Rb|ANP8VE8d$X5GKBMwuvZl*j=%Dh4z1}~(?nbr_~%ni zDgF8|`#WfAOy$nsO$_Q=L-haCrQ?KZ@7#cxtWwrBCbSUIcoZtJ>XNzti|P0n*lpMD zA<TDEwYwEEZlCsz7AC+(fLvDx#+1i*l!U6)d3fuq2(v;3Pg5WLW}#U9UrsOiEwU;s z(H14hn9|B;;Pp8=b3Y;EuOe9$7y<)Jx&)Rva6oPJO0(YfSR)0Wl#mt~B}WqamwF&! z5~cnRN7}yq3q%~R4OO-4u4r11e1=TCeKij?wJ(ru+ShI&9pj%xGq_X)Q6;#{#QB*o zF{#?D-6i|IS1e8df~e#1o&~T%s~eiXs$AUj&51mYb}%Nv@OkiRh{Le^!{xffp+YqX zGoZfH3Ho8#N#H%uj06555&(s({d#ile#P<ufZ5&*2eXkGj1>3CoDmi0<m2TuH0dY> zs%k{qi~r_~g5ZK?w*X~ArHiH;ySu~vg7NcB`e;A!n8hqQd{@U6X##rW2k?AocO#<O zbx*&i!4FJn@YIV#X;&dd&Vx%B)Q8dZ8O3Zv*>SUx7^ukE?b~qvnr8uE0baaPN6--i zzyLY-BRZbT=2Iq5ZQBL(VzOh229iqV4W=n)WBfcidc_fMo|mO`?)eQ+x_hxYB1A%O zT2Du3WchXK%l9E)x<JF%e^w3l&h7xMitk6+c|VQ0(Do@(KG*jg>C(91Sej?nkf)DU z%2o~?oN#V5=xnYzJ$~@~(<RDsyF%k0s*&w6;iEu5EPQ!jKY(OvsmxJ-o?)(bc06(J z>Z%gRbPrJaQ}k>-|KHh{xURf;jYYun9k>v*undAX;`Deo4f3)1a21hvmESW3-jimT zWqL$YOUnfS`QW;OXcWVw)<Adh%EorL2&c)kIDEInPPyF|3MbPQ0bzt;@MVg*T8b{n z(5gAgz(E4_@a^o#Oxtbs;afbGPOI9}`9&?t0&nyg`8zz?sGzVU{vmRw#o@b9FoVw% z11gC3je6+X!FG9o8K?vr#(^tnyE$jEwv>n@qN%mj?xg9uL<r$)i5$bdL_Wy0e)|({ z;qHf9`Nx}nXW+2dSsIE0hXtE^)3v?Tu?{FKU`Q{0`nqo@XGgp3uSI<9vpHL@6{;o? z$KPye6Xm8c_<C*f-H!MclXEFxmG-`AHJKkf?&20Z*KLqWDCuZvyMtdYJ6G-_7LX_P zN!bgW>0!VtO)V9ht&CL;uJX+Q>}r1XII|A}hmg=X_>sOi+9JsN^1|uy{(|9^u!~5# z{dN|<L(a~z-JY?3H}h2gneb*SuFmh9C+{70NrVh<ymPj(Z56J-5PU9)@zFN@8Ix88 zml)aQ2u^1`{l^@<n3UqQ*-BY=B*V#Nx3|zFh`+z>nfq2x*#2-yx?>W5$ztmC;#?>Z zDGi_oQT+nI7+)01IVjvW9>4AQrcs+b2{w5iS^bMvorU+%rUYkEIO(5Ui%qGiss9#? zmY4iQAA{}C<bUQfyZ)05&4)4-QQ^4y4C-@U*B$z~j%dA>&Uo<6zMB3lrCIAa*4KqM z)C7>5!w`aIvbRK9DtL^*bv^d-QIdzHFPi!RaEG?rKMuHga*%Sa%SC*6VAIkHDWC3> z=w;X~GBAke+5Ps$6Unf$x8E_w+T$g&a~Rf#q0JM>i^tURQi*o=!2+)QP4%&iITI|g zQnq?OWdvSbR|3!V8#mDY>_kDANZ99SLr{rT_vm6$!|{KFZR8s$hU8NC#K03Ch<s{I z<PFuy;o0%}A$UT6F507^hE>gJ46t9ER%@EMI<+XEtI8dYxeE=u4NuB!?3YI4U+8!= zhb;D?Zxb35kLaQ<(3J#}M_^_%XoF~bb89#q>h(ETqY=VHYzS|_w*@X8_!ll-bUE0d zM2xxZfbAm?c!6)qjOWL@Du{76APqb`vi5&4CJH)Wg4^{GP~~NI3t^cF3<a<M%`Tf< zJ<Gd<H~jT=N>!Ok!bBtE;s{GSu3Wx6wXo3oSt`oB+oSg7#R;q5lZ%FL&0(eg$yxho zE7z#YwxAaF6eT)mL2CGqob}hT@;ANpN<m7a{F~nX@u~bxZ~vcO3IfLap+e%zsOnF| z*ds%(NKgrHL-`;LVo`6EJCwPE9QxNFLKO-vKnMn&yH|7Gu3JbFpl|Ps?igkbs1u5n zmSgCU<RddsaaA%Yra!woZZa;|QIffF6ViL`V9&~X*`&*i@ExEO#r*NXnGPy4ABx1h z%fPFtj}g#{BA7aP`LgP0DZ8W<g1jD(^jR_Szf$R;{Q`{2)_-&nuw(fI_xAToqkATc z2c4@Qzrh>X+LWZ|fzo?qMgp585(aQ`dTP-f&GO<cxcn<}RC@VWV+r`8{!L=-ahEB@ z!wk3+7DqB~;RpLQOUK|45J<uv+}PZlf=C5c<dj$)Pa;3jdLXNb1T0CVW0+oo(uDv| za5Q_G<i(Ad80HW{zTWgsD96y2QV=a54<2qWKosg8Ew>8_3Q7fDxHE|}0C@2<LaxAY z$QMxdZY^c!eUhg?fcgdFr)jbK{%WbXq$H>QANc^so%O+RkUd70ddj45VK+j`^KX8I z=5BkYlbnnPz7au>0ETXZ@AWEh_d(!p47g=C-E<ww(hGI)v&ls2n@p$hwtGZ{x|00Y zMFTrGc0WA)^-V2GWoaNCR6l4{_&B(n1vlT945iXhC8Uvle~*f)VXivhCfO^XFK?Xe zD5_T<=Z<i6#4t;1x(iZx9#BHlK?WG(fB+eG`cuaPd`qh6<z%ljm+9$gAgI#JN-dT0 zltXXdm)zQ)@QUI=l52l`5p3H3)n<EMHWpA|V!0hu;mzF>Dc!=yoqO(;fG17+82~l3 z_8N3tYfnmmYUkod<*dN4uz9cZV+!DJK8gq3F&`<xj%sgW%&VGS9HUD1<_S}K2X-#1 z)-6~kxLb){hdf6)xW{;QrQFVZwCr|H9xHG_lRasYr2O`Q5Z)@88((p!$<s$NE9NM? z<RZpEvkrCo97AXOo10))M$2m~+7(T!Bc)l|ImGPj>_HuZXAh{jxnrtawiO_^YuMK% z_nSU3QMm;{SyPjgHtM>Fh)AhJcyRavYOE4spFI6{)f{j*BG>UZeW5Oa%<qfC_o3gk z`1BMw5PGezc<8(i&U^^VNq1<Zw*UkV#fW&!-+(1thwuiv+4lb7HmuG@*U|2K7Omm* zPN21-M3_RX2J(#NJL6fFMW8n*Kb*WLLzYCCjLjR(r!}=lbtVYJTGbx<`-c)w&CE3R z=(VDgft_Ku<49PVWcb#}c6TAbo6!;*pzW$OGjD=aINfoVF;e?G^Y*b-?dCj*)z8^Y zBq7zpRtr1U+gHuOMu)>GSV+=$cFad*t9(I_jsKSx+;;qKKe{t}Yv$q8eAS|-x7S9i z&5q|i_SdxD;y)0Dm~n7?;<7egEe(1DMDnKAW}C$=gUJaZ95j(6EDZ5v>m93=Hj7q` z%($S7=8sM=5H`QPI|KAQ;0yFFLjNkhH=PeA3WV3H!})|n5wGN#R$P&VA2H0qDasvF z_a*7oKZDa|6LKf-w?Qp8IQVdVNY2V<?s*5|73X6V83O9JwgkFc-2nlL>{LDw5x^#d zOsVnUERs#Z|1WsJK+$Mwh?h5omhVv9?Sqt2y_?HXV%GDtD`S;TbRa<igU}Y5z%#}Y z8&$FxwXt*7W}ZB5h0d>=GFuRko?N@fUfYl-;A9JeoBl-94)cVT65^xIM9sm~OB*1c z+U>86nOk&&HVgE|qmo=jeQfkeZ2<?O-~;BvyOEywPdRL+#Z7;Gi7<}`=?Hy}++DVZ zlkHH0lPm;2+Z+bu;Ym2%v{s~lu|pFl9o#ltWGM@T5<~Rcbm`b$5M+Qv?W#kH%$@F! z&!mNmI6iP%`jurq`n`V7`S;J%5;ej?!!9Zn-Fwg-;jfT2n`tq^>$JxNFsap?8yDJm z&XL0C&XtlOe2_#z*S|ylAL+~anS$qKXo{Gjl|^r~cX2vXCw^E}3Z*O}=EF_9Bs{?5 zS1II?qroxs-+h|zb{ctZoe51kGRYi%c0D~@W+13exCVneG#}(?;;KDjhG@*fAsJ9? z058nK4gdmVYG<)8B!#WMFG0#V5E9euI9NK36l@RgPLm6X<|y}N>480$uK|X<`J90) zMjCkCCpkU8&v@cx{@l3(Jq}=?0Z{{hGwr;@J$5XE-hx{c!n4719qnYqKZ>#xg{p&m z1Dt27DXHJ2;Y`Qtr|7(#{qo#f&(jZvO-1q$DlhB(aUsOn`uSOSc!fjSIAb1KjVqng zu5pit6tLY_Vv#81787w_;-fshYK8p+;KHG2%OB!iKG=#8;NvIZF|RY`0)1t1G)wW- zRk6(N9ojqOR79k!ZIFU|>Cg^hpf)1W#{ilgy)iD9+3m9!p%O9fY!keHp!EUJk%rux z{F#=aWNA6*M0=oE!Bx6GI<+=dsq{@X;_CkTh@sZX;mj?cH*ffCrZ0sObBky8vA>)a zM<okMySocQm<J`>=Ez2<sjwBOEHvcb?5uFx&$W0vlio^(I1a0WL!>z#6%$-`${{87 zArhpE_Pz6Bvq4^$rS}${mo}8<uHX;>KlB&B2rh@E@YdTbl3t_xFW?212yK57)%O8w z#LurU7!kC{4^6WGg7O@I_wrWGQ6D;6A1G#gLp~Aa`qL<7Xq?fP2j!2h!b_7&s+N#g zP+jl4M%vMW4E&zyxevIGIsX)P^V%P<2{^8_MY_&^wm70rF6o9^oae81C}0e-G+cJ^ zyZsQy$TnoM4f}rIt7w#tK2W{{<zDAC%wOfxO<$mN$|e^Xg3RYb_5K;Ba~4RYD6s61 z-z%j2hgMJ+gkdjo3F`d|AK@=B1~L7PkOL6^S?&{NH@Q^^Q=2(_yrCe)N7PjK#8B*a z1Y{%8vcZp!FFLOLjxZ?4_jLj%Fd2G$$+V!pqrOHnqKoYb&u!U?i3zwac0qr5wy+&= z`Oq)5@6)4<{NGp2f>_{sVu`<*1^P_T?hy1G_419JC+eQp+NuAczVqC<q`X$RLK~=7 zG(!?7voRAcQlQs*lbFl+QRq^CJhw;1>ciu2A$#Yy$hbTAYVC2v@5E!j{EGuJyZ(te z-rzB|<^4B!0O|~W`u~bQ`9Gjq{{Oku1vWvvP<H;m^NY5|Dd0ixi9vQP#>p|pQV!U< zP(-^-8mHLk29}-NyAQ0rJnXB(4C&BoSEURc*S0S^^z-*E@3^hUz^o}u0;TpOf4aG_ zDtk-Q`4VFA6VkaTpK2A<9$p*Kz1Y(0SXdV)2bd4P?{nLtoMSUByqu5t8PEkD%rkmd z8vgCC))xO~-)ztV7jemde&7C~LbM1|e%RN0hh!5Ymk5~J?XD;1`aO+Q+zY5=r~c=Z zP05b0aeNpfiPc}^PY!nuszsh`iW@XFHybP%-WJu*2gHu+ww}@W@Hy3AF0!iq5Z4V_ zzy+lTpYv8t<KB{s#0VQ_3{SZ+y+;cKRati0KV^(_lxVml@kll}yFilur@t#1XZpch zt{yzGpZT*NpX<t1l)xA_B5|joFSlZGEWp?I=Un40A@w}hyed)fBY}%7zrUU2pBC_s zOgc!&{`B%6y+;O#xy_$~aL(zGbeBP?ZObu8913Q%QYz|P*0`NKeDy`Pa&eLwYLv_> z-iEwPx^DLD=#MK|mt181^J}A$_-NtX-MwnnMqi&Az;H`%w@9XZswn7>i3ZZKTg?Rq z(CCP6?>#)LTvyG1bs5k&>b<L9K)^Qm7Hk1<068vITjLS`(2n+y;+*s)D-daU$~iw` zR)NHN2s*&~x#b`bhMqV2Tk3S+5<goXuZH1bPq_E(c|ku9ZcBLgjzi}MKF+=lcLfuZ z<)4&d^x9R<899nM%8JF$?hY4Qt#6z}t-UE7cMX=prGuuz*G)5DK;3>&W3(|@U*x<% zCb~Uqb6in5!_0}g=tOq0ebN}6^Q~+jV%J)fm<~lgesgsjTvO<_L#R84N-RjcR>nHM zMBI-TaAFB37y1M$f_t&)U1(PiZr+-WE~NE*6hb1B4F16@o<|RWF`9$k-cpaiFeph@ zHADa(+RpvB4ef$J6yf0EH7!WTKy_d4e#n7E!2Aj<USIl6p%#$<^5Ba~9yw&-H$6{* zfCux<O#=xa|2{pz!e>^$geD8o$Q}Aa!F&a9AKe36;d_bOV!U&)FLQAqhXl$FBWMHf z41W6xdQt%n?_9YE!ZCEX)^?P5R@&%Yu$!BPHs{aIo6{kL!lY1BeJC~?%GbMUHjtbC zJWT?8W8bG5wMx4Gi)51Sl&Agc>kBOJ|C<xakw{k^)Lyi}3T94^<Gts{>9Lw66VOrh z9I6r-L(Yp=Zs<b4=X)l#$bX$)XMlp0ZoSs7cHMl{{1!~@t~)D>y#qv?hB%~n;*TC7 z!~(FPNt<`&O^WAHkV#+0Z9Kv@P&eZR4c>~yi}~MlFfoJD7Tq8UHQtcjygY0j=#rA? z`SfI{+KtC;f7R}H9@uT<Kt(ei%fL2_LiZ&Vx*ysGIHEgoQ#-)|gYKMxSgor;TYX%Y z#G~z%#Hf<Hp{!3mn5#8YU1IS(O9?$@&}qt;CIH`<4t%NKT^?))<chY3@v?H8kN&Z( z;!C;uKX>iQjD*lQ4L<retXos4A=sd2^XTZp$DK`(t6p&sKR4q7Q=dini?2<dr65gK z54N_p?$v@LVCQ;xa#=E9^iOcE{_>9hHd2kTWGgXbX_j+<IqC^Cfr0u7u5M7LZ&J9| z!GgJ*SMNjpI$CD)#%aQXASZ<a*7Hf;pdEBjJ&R#lR9FMjhR@@u$fEMUw~Wy%e7*+n za{zF()rS;GRmf_)i=(Td40sEKSs*N-#WW4vKrG9~!$l7Oc`qDnHa*TnCsWw5gb!W0 zawa@@#4H@ZLvjrZORqaw2xg5J*YM2eG86%*Qa2!VW?I4*pxf4+-}>W7@UN7BoB7A3 z6J<af^_%^&9`Zz6pmqm!7LGzmX0Kz@fW`JdyK6JD(mwVWqx~-w9w+Q*#d$>8OGE^p zRjmP~Rq0%;Efnh^pRLUN438C6ygZl%f%9-{&W^rMOGD((&)3KM>w3VWeH6Q@oTuFd zcAG}vdQ>YdlR7+Qzb+?@ltN#Al(Zy<^@F~oowbWb;1fJK+}@t?I%_n`t8M|3d8opH zvG(+=as&$JSVk3FXk>;4E)=VPV_71>8gI%~gO2x8Kuf@hduAtzL0vE@PKDJ_NkgFa zyV#Bni-2jeBbsq&uMgRo{16L#(IE71?(P~uC_*>FQJim6Ab`neEJ&9ww?8acC2;`_ zgyz1fo%!G`q*5!873gj+TG?cCMgdw{+M&5s0Y<2KCt4|ofVCY;9yI1!8Lm!9@j4>{ z)DGRUf#JcR+r8u>gjRE;;uxB0=Xdwu1N|0E3!kC+Rw*QKa>S~(*dZgbp~1D99Lfh# zQJ);`J=jn9!I#t8->V{d$O?B#`s2ZJ3h!eu9;<kWevU>KEzKCTHHkjzTyA&K8w2gK zODVNTJDriQINig#aRb2a5dVEZ_C>|r<0Mv9^%Gv_T|mNU4NQ%W&knn;4nKSr%OWeU z`>{iq*M0UHpzVVG`-`s<6*NHXXH@=nkCuC&qzX#){??C!l`ATB79<J`ihqTKD39<; z4>ok2W;yl)-Wj18<8?R}+hfcH?$=0&OCW|C2Gca3{^>lddKwH((|uo_-}k>o(gN&{ z)+dAZ_6L78xJ&Jl_%)j4k*q4YMM7sU`)KX?lU8jqQAzNZ;LRKGwgzc?`y#O~JJ6hZ zDPZ1f8kYUQW=1}{AI-(oOniS0oqG`_7Q+bZjmgLNHuuLM^Ic$b+0tjxEUSY?XfWQ8 z^4a>rh`tSYb+-a<zzHVWuS&U{P#swi6u$p&uivnW0WPA^w3x%<$bM-s4++F3P&hNN zoKwAX9hU-p(Q<^lyF2MXN+Lu8bPF`PqZ8QNLW6C?*f63xh)HTi)}RewOBd&$fJG$| zGR1?M4c$QPy@(E;cuk!|oT^pM?4WYNQ=&NvXiF@2FBF1G9vs_1qCK?Hl3NCQ{=e@~ z`1m~AB6S~BpaSO}sv6arM9AY?&r2=QR?k&GZeR=gzyJd@TPHpi2wFBKjJjso{iY5> zSHTGK8G1Z#knrQ_<itQ-RQcWo-iZ=W0v-5&jXj{4?5zwn9$D2)g^Qf&0<PYK%I%w4 zVav-}S}BwD3dZgKrd9-Ut-euN?w?tTX0#N*iU=j%1Rhee$~hv8!u=6A_lCfU1kKm7 zq~~llpGGRu?X^SPPV7=nH}`->zq#-jQVc!FMCi8=@K}C!4WVm)P)J#@D4}o{gLFP$ zTED(h$b#pklq^V&d>egBbPV^w`|<0`^G5Fe0`pKFXXo{K+&QZ+V5vceyiT>kGS^*G z|1GA2<70svzwF_q8(hs+QxDKDu|Y>U2(l%ClHjd?H@>{7M^JmF{W9jdNtW~L(xpqh znu$@K%3x1H{!(_Usi^^b>nlAy&R=_<U0YgPfyDFE?<NAthY3G;Wbf*wOB>)-haP3& zX12=OS`pf)_7Yh|v+QkQ?<RHxxK&E>xljiDiVV@0u3VuV3F>U~l+Eevj3i2VxhTZC zHQ&{dB;b@>wzifVz6Na!QfvGVMqLN^v8or$4H{26<Llp1?~RAb)ZYEhLu=p)@6-5Q zVxdvN(u+(BNrsn7_yd@MH#kf$(h9z?{b8i4Ud!tS_!+n~#Qc8vj{RMZCyoBtE(ep3 z-`2+Z`}*R*t7y;$;|I%-g3>Y*R+ZsZ62KqI?P(O2vJu|6N#^Hs8S52$Liyq^%5U<i z7wC}5G9`)djv`T?HxT)3KMW?R$H%8bxjtIsz}V$bm={|)Yiwd-7IcTkR@{g(Geqs( z5RT|OLN#aN&oujWKy|kUv)07TbM$dYj*;xH^#=>KcgA<KcpUG%92+hM=)--waS>i_ zA-gMtw&>R{=T!<?rMT54HTYpZ2LNH;&sxmEDQ0?zrI7vackS9+Vj&}jaBhNsph`n7 zkO?i>Lec&S@S9SuQV>K983&fKLKx*HoQD(0S_pLe?|+*0(K$|R?e*#LUU}zpr{tOS zZ@Tq94^W#ERR+P*$$pSC`Dab(q4T@L{RC}vr$$}*11YG(HEH4CBJ@I#1Dol8lf+*% z)w->J1Nhtj$*C?a{05*<Up3?exwtxDDj#TN$W+Yt(sjB10p%999q^(6&%wbAwjVab z6;;?{WLuBXM+R)LnNtZ?1wgWT{w`{#-1inh_mb3lp7NrBK`poGZ=CG@A5Ifq-5Ih8 zn&UH?^TQ9#pxqk^o1Q`yR`7h24Ij0TSn-lF8g(bjKBNn<JM&2va+Tj~Cb+(_Zv;!9 z7#wEU5<+xo{zo&gUva!9k<!)Zvf*mwXIYemgHsiHp<p&?Dyz|z@(8yDbdICRs5J_& zPN11wAgH&4MV(P4$ChurC5%X{=T);j10JN;>3-K;1;Jare$NFfNS-%E03(cEu zbg<TbHi5-KZ$qn^!xnCu-ihv8fP?@gf*mb(^didc*I3u4Q_L{w`Oly7v4U8ra^lgh z)>}7j=mXmX9ix+;VdwCUEA#TJiFOaaC^5j?EuKsTyk~gvgC^y1@80XC*WL`p{9<;C z`)ebTZ~!d$?ng$tt^VT^U*e`{0&vrl?PT@gq18>^d2;K8_3Z_<Qcoc`3<dqiKU2m2 zHSstdlP_?1czB>+3v`QI@FP3}i-m)*a&Kf*BcE42sNKB(7i(`FRn-=@eQyv&K~YiZ z76p|C>FyFFq?Aw^>E5IgV$dK+i-3rLh)6d|m$b0y6p-%z?xmi3pYeX<{o;=^&Nv)p zuf5h>bKZ6RE~p<}&5MC<w=eV{kRYZAdFHW^Fm*$1BWIk-b*^A&Z;2C%U_b+qhp|E^ z$})O-fI=TG3Px99y2*Ke6(355;|*b#GZJylU#ijJ+uNL^Z6FQvhhszSs7JGrm<S1S ztQ@L|S#%_kBCPt`VFM6@BJ&5MBZJ3|;}IbPi6{bx?ufVv8&>mR?})mf9Z(GcCd$%b z-+le39HfL8LHx~PvheANkR-Op*VNLnU&B->?3B+J>=NBv;oOJ$^~hJJn{Iu0lB#`< z=tZs7;gi$`(N2H!-k<%JM^nUbQk#@2SM4p8*Wa}%e`%TU;a)`xq)XpTPV+KsVfT5Q zds~m86Dr1vAF6N&c=cWDZs+T6XsJV6#w3qaB)c~)yR9BCbTOVH;;Pal1X+?v0s%T{ z;-Ej6wPOj2{LUcbFzr#6<}aUS|I`OyQopB#F`My_2b!Oj)M@km9PTc`3k{8BYd+df zwk-UyaE2q3^`X4PWk|UZj&ZlmANTLFn6tR*So3exCknw#EmqR{QV2vWQ&fx^pWiWW zRaKO`LwG^}u}8fb*TD2P?(yUO)7zL#{Yqh7;r&opi5Lp+Y>noR$r7Xj&X%9#tarEO zWgyJ%|BTMF0(J2HFHb%8^W=3_IeA&{C%GFmPq&t>wFxN3ay3R}R#zzQd7MB<5=f|@ zmgKDjNh4Hwk^Vk3A#7hMj6mE2bzGh28_$D-3l5SZ2X8<`O<ibdhbe%Sln2MQ*Kh@; zZOhT9N7t1{K%nZX&=r8X$q!7rvg(A|pmm$^^_TKd-Ydub@rX^@slAIn_v~oVp4t0? zK0u&YP{u|w0xh|g^e|SN;ja{U5>Mzcy{VICkoh{9XRfV8sY{EBihja8oH#3jK;Vd4 zl9XLtdG|J#OaZKf47ZNGl3U!CZ$^h|@Ll;tgC_F3%V#{$kykg=-MHRzoE4e~aC%Kc zE!$(GM^p5{rjT#7L7aP1)Znog_WF^;(tBsL*{Maci^+aEoaLQym$hc`bZaBc)`+vP z#-7<Q$-i?$vopoC{UT=0Bg;tA00Pe3OBXLnT3TAh^7}0o2@I=ZsO3O3*K_4EMxY!m z1cQZZOtL3rXk`PLCjFA=2IZ7HUqQplVP#yZH%H&by=~`BTHm}{*(>Y}FVPYOiG)t6 zBPi5c8eR;C2`WY9L12e;4RO!l%bL&+$te(~{QSu%I$lno`tYG!IO~;qT?VeS&r{}M zVOuak8&G0o<Zdc0Lz`}78wtZQp`3M0Mo*S_ERkHHoMo#D9*R(6_cboANElcipd$WF z^9wNkBNi0YX^)I#)gK-c#{XTwDe)V>0pOw4;r#jDV(6`DT)1>eDl>{%Xs9ebJW$&f z>4CX4pE4wp?Cr3~XL==)q{>=m;QryaBCp|oF$^=2-L(8MJ9jk`a($Sg7@&fH?!88a zxIk$}KxoB2o^(nWY^qN{<I7bkld7vknuk2L(f(&lf<aGCQz_;?sD-`~h#DR#So_IE zTur{s2%~1BRn@*su7b^%<%Y}9q?~SC5cfoS9HMD*)xP~HYS1gWc>Jp_0i8_(K9;%4 zO|tttt1$5gWn<xk-7Oa_8OZB&?G<n)o2Eh)=)AQ^76$SqGJ96PoD~UW)vr)rBPnV| zvm5R@LeT++S*KxG0m+Pjc=UaEBEH_>FGLp(&bJ(I@9P>_KSFWG;SrNkDbT1gpou7; z81D+T?8$pbJ_>DTM3Q6M8gvfk%KxP`LLb4(e8p`=rkSH_xIH0=3uE0=aBvmOx<Raw z21!}Ly;E&`Ec>5z;5AEtQc?f(ET+qhi>3HVyo206`p3Ca@4cYAg*Iy@U!G)4v&*u~ z)IyrqUv&Q%^Dw%8Ve?bFA*iwcps*lb_K1{^7CcAy5T-O>*a0bNi?{Wp+vw|jHme3! zA~GHkJ$UkO842bdo;lon5Q&gb&)~>5*{#56k|B2-OlZ-q{F<A`>?ZKdM9DT?Ie&p% zL0lX=iGZXEBK&PMhFeEODJMad$`=MI$pfVWuSR5NyOj^$r|=a@)1?YX{qeXIu4H~P zvcU(c-ahd{<m1{r00D&55qh<-tHOnlBAtKOPLQzs5DRO+#DU=jF*6-B5-f+yV*Z;C zsWG?f3WeLt{mBYuIZdBJ@eiV_XUA@<Wt1M=^G;JWkDDKX-v}E$r%4;m=zp?<lL3M! zkYP2*m+k{<2WAoO7id|cX`uZN9j%S^MbEjZ$o_NTreZ}`&_rbsJi~7Wx?n60-Wmcm z**rR#$E6$#4)=^E<L%n6oIiI?6jH4ce!ez`gC2{Uc>Z*)oO*CE{(3nxAeKOAepT#e z{p8ag%tc<?uP_bi8@}J25Wi1)75!@%()9wedf;%o(kH1g$!M!-;%0x3Uejgo9$^f7 z-w67gkwwkwRElN)C&gF19h>o<!pEVV4yrEU{<;f|O^~3%ON9dsOu<raoBo>Vdh>Lt zO~4)eigx0V!IMO2{Nci^<?t<jJdhv5VRZ}&<V#nPvNi)W4}Px?AWzj?fI@^QQiwoC z1jkMh!X6NI9Pp?qG=9rC&zOFnbI8=DtB>TLrH_>51;zdZSMYK61c1MSfn|IxLETHZ z#SQ_sM_yMz$y_^lJPy!0D~>lMIsX0>8QPg;(B3)h@r&+ul8MB1x9EOs?0R|b+W#-t zD6aI3i80UgCSJU|)J?L2JS%!yLAV8USMWtf>gqkCP`2~E5@cmUQS28g@9%dnS>|Zw z2>97WR7&OWr0EPVdGFUo>mSU`nw(;_HNf<-Bplo7lj)l`a}I}&k*v{}x!vBT#M`#v zz@7)mhNW&mcX=Y6qxnWQtn4&-InY%E*lx_pEDi@HJ7$P`EPDwNPzct~-0%|1>{)hB zxh`3u-JdpS$Z$x@_AN;!#1Y0))Wg}o-0jMrp|c+L5N!`3TiqM3B)Pe+i+W(_RJPem z;x)wo<X-V-^Y?p2jU%gUR}%+rDs+89Ge^5!y8bH8hI{dg5l2^{JH0~XzW<A8>y#b~ z*AE7amroR~uTK+`{%aK|2mF_h@})Vyc{Rx@V8?KT^!gp9YM=&uFFazZec_+Gh#7en z(r3sPivT_lDhWmfq&qDB_%q1>G1=d&*GExobH*wMd`MN_c9?9Z9$$rVj@D4+xQY2p zCAIQ){i0`;m8_f$E=Ke1GN^lV8#~V_{ig86=QF2EZ|yzxOig#$l6|kiBKI=|N7=?L zOzf{!2l!S;Hj-N~P%%1@^3{y%yh;V51Mz;qjlM<pcix;I^eScYueW!-HKrW+oCUxS ztk>)K?N{zjA2}yYHoYtrbW8nW#HE(6DrcdNZ#wXmps_+G`O&w*$BZw{_iTB{THo~? zc~JmaDcX%R=&DZPyP(P>R<fY8DGXi+H$*>(EVDLmgkP#|>i52d4QCcJLJ+ye>0PCn z^2T^g2c_<ni&GzbBw=R8Vn0JLS{mg3OsDK+5iey#T}6^b%n=6dQ@bWC4wRI`FKCj$ z4~B$qTZg|sQ;SAuA6Ek{VCv<KLc2c&hR3%`RHSgq`g>VYgtsoO<|EdWCl$>z&4rvs z-F;>1c^C2g=S@x0H#cI0j%4hoI#=Zv>=TE(=^`d!qxv=Qfp(cHUOov>kECTYL#Y8N zNlDxBuX%Zu_VPxwOiZUA!GVJ=xlVNf3OgO;oU$xKc|8`jmIVOIpua0E?t`VT?-X0P zV@m8>?I#_v@4^fC2|b&y?aC2#ggxqR=A)cwo2T)sq*1-BZ3v<R_6K-ATtIcb=6vyy z<2}nfO?k@Ws5I5Fd?#Yk2*?@wxvDyzuPrezo^U!jb`1&$8;+MGua-FOC>3PQjMrkU zlR^&nP6Pz+C(O=w&7K}CCy!&cy3qe+$Uyq9*9<aunlS(L)<jQJfFP)uSUK+Pr^uXA ze6{NNHfQNKK*_?r>^EQO6|>bPZ3z<y#{19Jluki}MCar%eH1`mNVPm%>h!(ffbmA( zPkLoU+}xWcy+KSObYBQ{sp-<x5D_c8<vQ8bAkU<o7loZAQdYZX^&Zz+Ua=XbAuA)R z7P$40H`0dtE{U)+GdugrU`YZmk--AgsMl<{c2-YtPIgVJyXE2>$MgF>{C`hDGOyQs z=;AOvc+>v48R@FIgY}SG!~PW!mEs4dP|o{qK1<w-Q<m#aWZf@bdzG&y4zJT4vv0CI z3A;7y(TP_N+$&qZ1lXbIf1EBG`gpyIp}-U_gDs9Ze!sH0Os5dLHICjHdr`y{rz(Y4 z2&z{eXkYX}{z>8e*TMn8i7wZUx{q|<NanJ=F>!{T!u?#W9jBR7CQ6G>8;z!$dP-TA zwDS&K>VnO_#GTPI>RU=j6**23z)GA4$*}Eq0~#PeVj&-Fu+I?@DVB0Op)W?iQu`MH z=^CX!1yi~tkx`4!xrSH%=`r$CzN#5t%{V3iDl)sjI9PV@NbE}`HlZmAYOpk#mq;}8 z4(t-NRr)W)miQ-Xj0#?BFc7?6SGjJ*cOJ!MaY@>DcE#<^D@7C3Y3YB+Kr^e;r|4Z4 z9~sRH8GE?<*za`ArtAQ%sIZwa5>K(Q?5h2fcsLKCRg2s;A|7jDgPy+9?fLaPCM`pX zu8r6p<z75{1o2Y|Z*P8^J*^m19QK;VTkj<6$twJ@<D^{sHwY+&mbfb)=RIAm)!LjQ zP>L_Z0k!~4$jh_A`>54IBp=yuR&+x84vC=sO<iF#(ah<5WObZ6b)xR{!!x0CpIgx{ z4qx;<NOR3)i<Cc(dlYCgwB-)DEfsAw)@Mt-7qD})qw7u#TdBnL&D~i>_UBMF6A9VG z<6|01F)8ud_P_&c%nNl(Jnk-H$tP-i8wGq8pz*GhhBX@18F64f@n8c|2{Ug#wV&8+ zPfu@RzAmTGA^PC!W!h>{(ML-cESVegMi=PYf1mbI7vSVOxURwYL^|8P=v}6|FbkTb z6XtrhkiVUpo`QN77Qisi_%xmdd4ezqG8y0CBbyW+;!Sw2=5C|qNn8$caaW#M#-}Y8 zsdG%L!;@h8HS8F&0YO9nyW`Wzgx$*KES=I9uU@$h6ngsaou$gX-{mzvab~h94WVmU z?kpwkqbCI|UWP00aT{xN6K(z!x^*u;(W`v8?OQv=c>ll7C_28ecH+s_KD|`QmHqvh z^e^=EB(oj)AU``)&rlDa?_0_>o8^9fsj<0Mp^$H*&scbN=+*m|Nv7W(nRKcE!~LHy zCoDdvcah#jmSxx@n=Z5Oh~QC<#x2`W5!mflR!;nZT$usV%FB!F^oa=Odhzg-dY0vT z)wgSEe1wMR$E5y=Sj6bl;hg)qzi^~gu<FftX*B-1SoUVJSNTbk_K})YQt~3tJz5|W zePtja5!nz}-~CE|Ya-pNeI<feXozCW`0w9jBt}2;GP+qM&+Qr)8FfJFt*)!i9}o23 zNP3+<aRE`5Np%Vb<>}dsFAizV^<JBqoj%Em?5hx#!q!Wp8Wm-Sdu>Ylc1EP7)?Q4Y z{yCPv9yJ7ZVK0H`<@aQI)$yhu@n10_Jf@f%%xEHw?EYFH%?at=8M_a2;D6GCnmoga z>0>_yT#52^YW-BKwD%UM4h1Q0Rg_hq-ucYeWnwelmO!#N7<7NYj{vG%0P~Wu{V2j5 z+xr?yWi8Kl!%AHYVNUWKb(wz11jFI|jgk>)VXn^}5@q)ObZp48o&I^LqQB^DM5E%! zV%WaZ^z{*|!RG!S^IY$U#r*C4wYLta*Jr63Lsj%SjqeHk&uFPDPRZzTJmD{;2%HP1 z{{5C?=?gMigd6Oku6b|uT@pvvjt|AKZMXxlP65J+5*N>iBLUACgwy7l>p@TdV|G={ z^Ln|K52tBPuFaA5u-WY}r;$S?czv~2dX%mPdbK;V1}MAnNT+jhn2B<tg!OZMRRNth zTrT5LXin|vURIlYdB%LCfTdlCxT!Vn?9*p*sL`=6ys$xCxS}v=`rVXSu)JTADEyxQ zJn@W4UhP<J&+d|GgmiX|nQZ(tNvyy*K%Uvz@x!juu-vZmaW`&cd;aIm>ybCaA*jKu zUN_4p1DS-d@R8T68!zPp1o5R)p7k<YOf1d3kdENJE1s-w;C7EXU&p^X)Rnk(Z)?JG z>Bd2gL*lRz-3ugQ0pSu7vD^T#S^oRVs)m($5`kHASQSu__MuIwm~I;)kr%93QSUr0 z=Z~!vU-Gr-W~r;KNbno~H6ZStA0Ky;WFBscj3HOKe(AH#9^RMw560_$8-TT|y3#KG zClr}x**&{=R{GfOQj=>}+rL*GIVaF_aS?0g3>h}O%Xy~!&E1XjnPsF}9TVg8ORR}g zLzk3C0`8{jD-{!am_T#Q9~uTI0BBFmzIXk_>)dKX1(LErBYzBHzIqvR_xR3knS{1S zI@zC?&xVE?RP|{Fsm5$$S?6l8lLW#|Dm2z&(pY!9?B&&1Y0Z7N)APoBWJbn%rzl9n zIdWU#Y12KPq-`*umGxze;aGyOU3+4XT{a^HRkVQO)n5mC#V1Pt)V_#$M*8v(>Lw;K zVv{(0#x3I92dD4X?ragcBoosLrftOoGufvB`)WkY4b7ziD*X}<hT177{$qe!eEX0x z<7JFqKuF@u&*FK4_Mvj}7fPlL<JngPtA~{Tnwh7EY6|35%9*%l$F(ZvybJ2xHxuOS zb_84u`8+o*N_xX|VrDm%?_+aLTiUxWuJ>mS=FWdrOxTbhvSJS#Le2wF1LE+Rw)ogC z1u*0CE}L?>EY)&2OOh)}bE=uzi05#Ej)@AzZ8_XtcWV!g@EIL{5=n_Ziu(3Vv@XQ* z%L0bIMSu0e%NtRs(e^Lid7GFKl?)G(Lv01Xs=eZNzp%9^@}>p9y(2@yGn%7x^B$1I zSh9%lInx~{w?qyf47qqi`;uaazf!5Z<ipkz+qVAOm3ruk{*U#WyUCZm^Xxa2gctfQ zKAOrrtnamwx&8XJ@mee>gCBv&%N3i0yyj1;Dc-gzpJ1<^Ll!KZVscdNu)p4XzQp5p z((n*@f0TL0=d0+|{W$xb%>)vnmPPrBGBL>`Pv4Ip4F>Wvnp29tdf?6+R)}d;7`S<M zKLzewTYUMG9O>FfyM-U!$rTumC6T9wyI(iAclPX;hA&s>9g*jyJCEmU-Y7aCrM+e< zvGU-4*50Pe_=K*hxO(=!V7^6^_>rr{Q~-6EbU%kb3D@fw(8ypTMMmVI)iF&v!s<`9 zoP|HFj{OT`S1mK;EB~^yHGy!6E@M^Yfor^ewH`(zA6@Q+lTw#60Sn>B8R_o1NZ;K1 zJ3auspTzt2rjNmy;3D4b>x146<bhZ3wmosWft$)J+L>58zK!0U|Dd*y-nI!@JQjw? zbN+10;%yoQiuWrHr+E%b7fzxOPNbAVA^Q!B7gjN(4m@kX5>$-Ke@4zj{ko5Q$LL#h zys&!^M;gA}a=Tf@y@MMV7mArZ>djocW-N#>34?T`%ob5}O~g}k`K5tLyOgju+uwaF z1pOb325Xo1w`j}VmDgWBH`6cLbE6`?lFwbP%f1Z!%Po<g6Vdu1d8_jY6#Ja)G7`0T zwIsqOXF9w`P@{2Y+_y*CA`*wsK)?#Q!79_qLi;9)sg`hf^JNqLC)bz&PZ(e`E!R&r zq??N6w!Rn7*CnjDQqYl`%a465pJje!<4(%$)Wd4esU}@$5aUN%8;UN~A^D^;-%R|O z7#Wb12|z$23cq{lS1@DTM!P@Be@YHgw}=NYj4{htbXQp(0EU%|!i~5~Jqi%CroQqP z6CAP!qTsK0hv5?qhw_2jRGtTA?enR;GfytoB*a5l14<)^JZSw)|E`8WhX1c>h|IsM zA@rX@^Rl!K;sE*z^{I1<Bi^I47Q8BN`kI+@%47bii%e2Lbt^Dw|7CjS7+tzz&xK*B zf665PhgBJeJ{8xsjo9uiy{4`^4iI)f=`dR^dF&_?a_}YU$Zh1c1Z`QuUmxib<{#Um z&{6EktgOi_qlMK8u)<@1#T$*v2zu`Cx(cl8|2K6Zw1kmZI_K>Va}1WdCT!=YUT~O< z^L(wJ2V#t)*&ZHQP;4>&(U*kM-1VQmp(i#jt1_=0v^i+yy{VMJT=A1l{Bx;=Kxag# zv?6C^B3NzM%7rZ&TF`e%ILmH6tQ?Y<CB}QRs<PTz=LwPju5-v_@r*dKvQZ?rOs3oC z##N`O0g_qX9QSj30|%}Fnav&&3dcP=vF$ve2OFKj48aDU-CTHf%147nWz_m^kxJ~G z=l|f-vTVfu!^=f7`|8V@DSdGbl!R5Um1EWB{CyIKb;Sj5A}jj8gQz(j?rptXtPlT_ zK;2gq{D&30_CV4O2_8Orh?#lzAh81~`okbVd|if|FQUAL?E+aS^(VF)y)D~sCFVX( zyW#xptrTV9QpVlV(@qbg<s63kvW^mRFApr6_!9ST>|Kj?OW<=4^4x1zEz=^IuQ*5m zw(MN@b%|lY#~%A*<neqiJzb^pPt)ZAZD^U`OaDiy1*}C{S$(5wi-Rq{o_BXh&Riuc zKcv&o+68jzWPQENGpIl~y%^Zu+j-NmjSA&arYUy7En@C6;&7P!fi{t{8iO<&Mz2p* zeS6Hzs6%h_$!TS)?`>wni4@Y8^5BVZRyw6WP47g?GmATk>9?BsKbva@U|b%2v*^LW z-GSr|xX5k>OD9*>|B6Cq$@8F|lWLzvc$#$MCQ+V0;gwaj*P_<D>U)0Fy=SpstL^Q! zBpzKZwl_zoIrGi+FbAl{>^FM-Xh6r7-3b~Vy4-)TceK)+Q?J5E5iR1iN(WHV2{<b7 zAR@baCi5et94IJ2P8ZyZ=%}f>|E$o#x<Bh`c5L5+?eF=JM38W1-Fzfb4xv_!3;7md zzUvK$!w|l%@)8+sq6M7&zp0OUzB4s9ux*)lU7wT7x`zBMpmFVPNTyU(+_GeQ_024N z$>#2#_=8NDr}lA&nRNE1oL!6`&asM$xr+k4n;Kce_1lg5=n``(1Uui@xcB8>(p3&_ za=Nr&Y<e%lt%6|ePzxEX<t8`$6|TST7HM-HV5ONLp)kwWcE9hr%|`WT)WADnW@2Ik zLTEhy#Ab=d`?N77Z3@v#sk|DX_v8C3RG5uB6E=y&5yj+jQ%)H7(bJIhI-!RF6b#sB z?gLl0uD)W^5mL<2%8DE2;w@Uq>F~d%7~C%7Lusb9sYhVvv%VUN-}wa{ji`c|8O?-D z!PvL3wXB0p7r^j7@$L=x4R`~a_X;d{BIbh_dt?0nCVku6yqiPbM-!~Q-jy&4w}`-# z2P+OjGxB&0^R<3_|3G!=@^iIJw`*Q|6Ra5bx?6`)0qiT?AGBkmS|8etj`9iXui)!s zKPe=?L%Z7AL@@8VOp_Qk(RZHWr}B%pH{Ypd(35j7nNGYtDBH58BqTfyXx$hgcjXJj z>FN48g)1AaZ$r+|CSv_nR_r9#ey6j8w&-E<9}eYxx%}TC!@+xmhDjgUktA=2Qu8NZ zl@I&%;GH!b2c~Lg%0mes--8VJ#6oK!TkZP3d2hqb?%*;??c<OBTTq?&w7-MTv$C~i zJUtm~d9ZUbl=spnfV8$G_0*=Ngla7XKr&+9lXdkDOyazj>WT#bC%!C2>9X8X9TJiF zp5Tgrf_w~8P5G3O_Zr5xC#{d28oQ<(JExttDwcfvH3S`Ougoy-xpVqL47#_S;)Pr& zAsrYtn5_Q7i*fg$o?-oF<}o<U`cW&3@gg2HH$q*<Kroj(W%uZ7_46n7M+|ND+glG3 zBhSA1RXANjh{5}LM3y_V=N=9@ilU(9aW$g<LaEf#^u*HO$N!=SbW&??9|m~tug=?P zc$G)^dP}GLC;0epv;jz5L%>|el#YrpM#^6_=bee;$*6ukrk{IQI)e4?NFI%ZXod`) z63r&h)c6&m8ruJ0Ygzq>Cp*(H$VS21!!#A1UY&3uoh8@4m4#|BB*kn@5QRMKN+o^c zfvj5yUHK78fBeE}B(8BQZ~VO<LKEP3RV5LsDyq$S201d7?J+>K4q)@N%nGim^5$eB z3o?Ps$h=J#^|~*PqUp0vHk6ap-%qBCyp1}lj!`lNBwle~jO^LQJj7fK-eHN=U$T<r ztIBSDjlIlsMf-_1BPx$RPx07J-+TKTUYs%GZ5!32CgOjtF+vcZ0BS1B*2?@QP%BtX zv<3wvF7mcPt!&wv6at$wf2ZYVXeCb|^-IXteHcQZ#|v?u0|c^=55nZ(Yl%MeKj8Cj z_hO1Qq66ZDVcCd=_dgt^|Dm~yzaa;&gg-&-Xk$J6qNrOBSL+Y+vW~pY^4JK|=noq} zB#4e@oJGM7Kvg??%3D|@iFKr{Db17DaZ+#r(>n!cuTc3Z|8t}e3jc0)D!W_+i2LRG z9Mb_msNdKUr8EZqgWDc{I&6^IG0&=+GJya2;Q<~BFAY1Q|G|x!YG2njDg6|;eA|!$ znUi7Me=e+Q&5+2$^A65&aHQyOhb`?n#(3CT%RkABudXHyqjlu@VA20iwd}BPo*u<; zv_uCn>4w=|U>Gy}eNi$*D5AF6CrYLtZyCq)SClX0LjwlIW~hogKE95FvyFXwCXJ&T zoe^kN3`?jZ!_!llN9tsl^k0`DP{$-XU{6KwbaBx9H)mRK=rpY)8R(3E_0C$!`SD_C zT^3Qwn!tk~`0KC1)pK0W7sQAAN5r(#*wu4UoL-{tPp2$~QX6Ps=Q(Gr>MV0Ri&QSj zS1waPrdDT>`z=>j2q`?}C|A5Ts2-GzWEJmI%313f7=n{L=pL5N6OVy-sG^L;1?{oL zw5%^sH9EBWb69O&T^#b3j3G`;ksT{zK@*us9W)G;vPZJqdFnEPeg-Qg&veNgzViC~ z1~)7W0DyY<!WSl_wiyjNap~V-6c8l7a$fmUt~EM*<$q)?(1HniuUe{Mj_UQ^!fhqj zO!4S{qnL1TENR^>P8>epU57z<F8|es1ihK%u(fW_Vx}{5QmAEU=|s9E(`+pYjYChz z?E7oN3bIRTbq9OQUx5|&r<-KM^{%1B#ykDanvO?jDLa2cnAovcEFk^>@IlIkExC*Q zSGl>FXgxHE&2Je+3c)_oi!^pN60>3BALMN^-~xTDZ%7DX3i}FoJ9_N|)@X|S{!QDa z?alpynWG=;9Uc{TInSkZNX`@GuWYSJrL2rWIlbE=om`=RN*kI<>Y1y8Ryw`O5U4=y z01gX?FfprSL3qB^4ZZ<(@2E#YuLEr#nwn#@e;zT-T0K+Q(7Wpodym@uGDg<+sJ&H= zUaoqSAM(^G?LLWWCA4wRw&mZNVcum0{`TwN72kw`KGV&8>X_0WB0oh)Zb|MS-bB$W zYL$jPvAT~86aDd~o}VMmxookb0o3-Vsu?siRnglx$DmXgpl9<&DVrk@M*5*2ke@9g zRM<i!Zu9}EX{%(pt}yABmhRaiL#R`e?$xGIVG;u0iaoPo2vt}wq|$p_T?SZ4{g!f@ zL|sHLUi#tqe(9F|)6H2Lx%LvyG<|(&Q}4a-5EmbxZ*;<5cZ+Dw&PnP9AUlc3PNpI= zXL=a;1x`*Lj4kf|SmcjQKnnUsz)?#L#zw&GkXU`E!)j~qcezNjaqo0nvq1AtIIZX= zAoB3H+$9x%jP!lPS;bwOBAhQmG43Hb`RgvyB6l9{+9_7uiii)ZU8*K-h(m&e%;9v$ z<)I5b3MW^L1`j4j|7eFmSZ522L_Z#MCp*4=)?oFQfE5%3GR?DjnripF+ABC`uZu7n zzYS2bnZyL`Jw4oW`?SIDIBDa2u<0FBphWAJ`8h;;Im<FohX2WJWRtyW{tS{(=_kRv zWcdRD;a66>AP`~NTO|&rs%&Ufi~ez7haBrhhv7-@?&ad3Fa^}cQ?Uu4EqEh=Dd~Q9 zi2biH10}7jbyn2hUJ6}Ut3V;LayGN?;7R|3`?rrw;H(YcaDisd#>j$Lvii4T3D5VM zXH37py7{$smYwVt)3e?0X^U-q<j*g)$`o_>Q%1#b9*GPVZ9Li<&i>Nx(5DR@2PkL} zvyM#rZq1|Jh)=Dk%kNp9T%J@u4;C!8r;}U_+vNmHI|;QR$}St325G-raO)A@(+;!g z<qmv^G5nWj@KOIXX;7j*ZB>{vnH-)E+#&74eMEHYApjOwP>?LccFK{{n=QI_^(G3b zfl8l!*xJ%a37FKcX^IJLqQ1MA5PynF_(BosEGlnYNgUE$rhA#U`YA;Io!=y3jCZ%Z z;sVZ2pcpsA#ULq{$g8^vlLL}O^7=+&8AqfwPE7$&l^mvL4)aHLw)*S<vt5mwG<I)& zRAXH6cDCuguV<(W!w7Dm^A17y_BNw7f29DAjflaw<*)rXZocQKlOjbfLi6YANPDy& zj*v#?r8K&!sR(=S(?7cWLij5Q9_dWM$d~-4kgzab3(<>(m2&qGt$Y*B=S%0sQ<Vqm znFLd26R*6dDU;JNkr32mi-ayYr_-hhjh%*ABjL`D;}3ZP>T*<7wMYt7qp1K>EhB4- z0!I_XXTcM<ZB?o3YeRKlaoi3xlis!tNX~2IYZpy2K=}+!TSkLgz*N*M=RRz_^g7M7 z@Cjh@>XQ|-a|WE{uSLq!UB5Vy=~PO}W|XGT`IcUekNi&`w>$H0FdT4j9cKrNi4{Q8 zpuMrda>(!b5_WUWkNRqmsWdV8Y9ggKYOiIoLTeGDmajIh>2hbd$YNAzB~4^ub+k`Q zG}Z~?YkZJ85}3JD2a5lAK^eZhA_#c6@4~1bff|ik)7|ASQO9s_kKZoUm^F%Kk7<GJ zFW_1j(ThvI)vw;()i@T<>vSr!wx*65mqaKlA7eZ?W!b<49fvkjn}~=lnN=8g%1P<J zMqWu(6s!$xq12o0KBY<Is!exq=Zdp)S=@Qv{0=%xJH(OlQn3PfDDR|7tg3X+xT~ds zrSWIPPqxdu8(|5O>Mm=kUWKlvP57l#F(~<{h9u?<WipCuehu24!sO$m<zbNk1mkIZ ze>xZvns8+2gR+lUuM|`*=&tYql;?MO8%9rl9kyWZQCd9DNFlU&_J*KtF2#eR>O3gd zp5yy_jLiX*HLD{d$UlO*H*x>vLMCp6{nttJzp0TBBaJWCUxO~R=`Bw}OO^1%1{V2a zhOi~RnC<mrTX0#l3zVm;rl`2jeLjp_bsEVPY74Av_t*TKuYcI2zcarLj%0T6w>28C zxg@l_b(fGtHI#!HQhdDTfq9tgFk=yjJYV#wu{ZavFonX_YgBh=>$1>9u()()ET)7$ z45s~%O60jjT0^3HAUhu`x0jazS5&`fJ-25+9A<clDHmqvKz|$xV|(yt{I(Df#A1aU zNCc5_JYaPQ>EwX|-f;J`c|kphL^sSl!~YMoo~KOlKJAiw!rUJ4DUaV+q{D9`mp!Sx z($?TJU-%TLpokzYVCKzq>%<G=<{w?@XHm#p7!bbL-Ful((=Cauh<ZBLgKunXEJigC z;Wk{lbX@f4@PHH``CxXI3X|?E&7cKX27GP*r&>gkHzw}?$wLT4CR|_wu<#HqE-?!l zvbQ;TFo!;Hcoq;;HQOsOI$j!)F}lD;aWEmu9@-dq*+1xXdQhJ_uY%<oa>quq4T)5b zh*bU`V*De7wU~Rqp8dcF62UT8I~XyRhB@pauY;0>FP>i;!mLNg!3hDzrYVG+1K+)4 z1WPdSd2TDVI7MV|5a!A{-y17H>XbLrk_@;II6rEQI1pE?-HoLsRTG%9XV&>_0II`h z8-QwtiSiZ`&I=5;-hlbzXUh)ky#AI3l@!;BAf9hm=s&{Ug)zyN{yfu+|5f5Sk4PD9 zc&rr-KHS^io(MtowCBGB04L@90mdet*UksLj62_{q;M5F!4M?DJfqe}8X&xiM~7Ac za~g3i{xOtEoNv*CO~cFkYGtAhVZZ~fxB9o=rvqb(X$TcUqQ~ApAmy>9@Z8&Q==TEa zvdfHYp@_`Kw&RU@vtv4ZNrYqr;|7R@?Pn(tpdk1L#*2=#11~{P+kBrImLYr%aL_XW zQvl2FMIFg4pgk(-&IG0aLA^B0oPrjHp3}6&V4=h*@|xNSkVf#>3>!@cl7cjX1_)uv zX1Na-FX2r~N!k7QmaHg%o1~5`${-O5WB`+OX`WHkeuNH8MJ)2kP(Y9Y;mc;M{D#fZ zACF~F&R(G2+a1t5d-}`-0BbpouS$Y_!AU&4@xlJD?vlvBA>f>6o%>S>z%fiWV~6)% zPKQ~M!yY%x!asl;=<zN27?|Y3c=jrYg#Jr{$Jm2ca1)4Wt*jL1=&c4mKLbYymH$0Q z-t1ss3n=t%<%z)5y8X#WF4_sP_ygsW!@lb{w|hF;0W=?V@E|gd<}yhwGV|!9p1;<} z?Eh$YS>#~-0&0zz3H%|j9s!n)!+PJ<dbp(ax2fp=0+ufT_uza+l``JG5BdnegYn{X zcw}$?S8b$z&=YHFPrqt|*Dy%SvNsCD+At&w1e7zwo?E)n97Fj%JKtZi+0j8o8+jn! zhdb$3mDj13G*SNu2IOUAu*z<H3RS0W|FuQ7J!hg2_IRZy<j!GNg9G6C+5l>=hTpEA z|H9_MtMZpiA57*WHg}@K;#V3qf1raGc4^ft_<{DhyFM%NB8oYN)06<Nppj*Muv&$Y z5Q9G4M`IkI`wTX8kVha>shn?>8Mv>WfGFUuF!N6V7%5hM3;JY)3|;In^M;26<gSy= z(d`8Q6#v^`yK<gN<@e}opZ>&rToFOac_4M4&hP05;=(KN+fER0dIJn!PU@q0qjpQ~ zi4?`d(&5x+7j`^mRY8fQlBo{ppn!#$nVEXfuORlwD7a2QMHWTwfbs=V<dkOTc-C_j z7hI*M2dqiQtRrZ<*dA_L26%!}^?SZM4+u~=P4fEF6kR~l!Tq!Fh5;rAnK+#?vLs96 zks|t(F5DOfsEx-wGDP=8C={<=fQ9)<Xc3^{uo(eu=NKE<{|3~fK<hjOiZbv60HWKO zUl?I|=9KAHi41i@GP0&0?1m@=CyN3EF%F@(iymMZQ6Pr9!o<|lTb(O>$oJ(?ZF~=G zrt{i`5tu88cDQ;{Y?6clXL|dM<f(mX@08C=^c$cZAiN@Pz#UiYHE{y*mEGT7DO1lR zI^m0zmErwx&uK=9h*d`t%zpdJ(42R<ZA|{iSIgbE2BJ#64)|XXu^4SXJx`Fp2j5u( ztgLkk%pNBtQKy!XFQ8D5P;!!D>PP!)XHnp?eHrj>h!h+gGuotNK$3{q1cQFj;Tg_< zz=b@0amfpV#S!4i%VGKBHh?1$X9M`idrkZA?()Eh?07*QGMx=$!&*fKSSBz0y$*JZ ztsW9)_RM`c+ncT59$M|20kA)K*-ZzxR|t$ZXS?dt^xEp{5d9$xT{G!@e##ofIujz~ zP9owZ2s7@$5j-e8JWV;IeRNAW9RQ<o;T(5xLcg-|HRMGZ)Bz|2f`Q4MrvpDOPzkB< zvEE^69aEd>ASd+p76Eeh;ys}wNn>ZA$uG|&nZg}`90HN|!pwN*ohJ?fbumzK1P(2{ z?I!Pn!9&0VuB$+akiKo;V@|q8W~~7mkR?0sS;O4Vms)Ko4tAI^-g&S7X-3h)%8BTg zfw{uZuSU0lsty{!Yb+NiC=|gv;J<>wq$|K(LVP<*-u7zDc%sh1VuAY>&fKMKQU63E zGYw9tf}|H5*9CxTcrgAG;m0}?WrbI><Dx+#INYFH$6YMtG*Aw*6M%j(>k`j0tb9)R zw=D3zQA1aBb;kyzlrXGv&eb9Dczf`pw$sRb|Bbu7;P>N!1q2=lOz3szZ8fJs(ZD&V z^6r;oQE=GXmWHv{su>*jkc)Ag?PO^;y<>gKw>tDgu(+8SBcdbO(*eZ@1P)M6tsmQI zX`wt%NGJ|RE~`=J`lw{MDeW_G@WQsC${Xz;xyC8+82dOd)&mxDJu6Tyz>$!I)37r? zxVuR)2Rv^|Jhqd+IJEImbP5z!TE%fow#L<iu>%FaviY6QW-2A#`?<|)$~rlpWwRAQ zngi&AYa2EA*7{ppTj}UL6ZLG>TDXQm8|{dXEpfkQyJ!X5fZsFu`JK<&pjW>17t<uq zCpu|}Ll25z2OHJ<Z*w1&Pm-s=%B3Do6|5~jT$7epVsO$Uo&?V#t`<km3KmxW_C>{k zfomYWH^Az&%P941dkpk}kDhzZ{NHsQ;~jVdNrVUQTOYx&d(7OXImq$BFTL>0ejK|e zKL8D80B&{_^f}-n^ZYLho#trPblp;Cpg4MMkKrmM@=Jl55&?6-PGAh{GNbp#wHZ-W zmS>+QDG>jF$6{jd?p#L<L1=w()4%rubdAGg9asgP*LL>TP>9F~*nr@5Lds@<st=(q zJkzVl;nZ{y6L{QZuOCoMJ0ze!F5g=p1H>%=i!Q?9O*>KpU%Vgo#WQ4F4PR3R;06j_ zKoh~_Q(4@W)5WT;5&F(%w6!<H4%($AXKqyNcNPS~W0c*0hFG!w@p3_kYzVFswg@n1 z!?o!95CovPiN&E9&=~G<BusDez_}Yz>M{c>#@c}kp-v~-<9+}R^2}zsbV>)THwu%J zpxaFW41;E7e$Nef55rQVJ95<+4h0>b4pko1Wn&7_Yjy<<z>Y*bQ@|PuFc2BN&3w@~ zsfi9qNE3gwXCp2ye)8;D<@{{WG~6HfY!3Ax#6<^oGBB;`L-tUJb9KGi<Twz&n9`xC zsE;nd0minUqJu!c>CXG*`JBp<$-50?gxa!n(AEoW5I3<+#N?=Eu*E78I4mV-|0Qgz ztUs0dlW&FsaI~_|r?6NY_7?gkf=lC%A!J!tE#Uo%+2WgVH(MTfh?prI9d1>!G{flI zY3a*kL3P|UNYJ!2BV)EWSin8&$Pali9{t+|ujNrJ5gUv&sLn3T8*yU>QWUR3`WJs} zvzVS{C;k{vYESR}<g5#%RDgJCrN?X#d^7+{lAvUYNtELx0tT%P&))YTFX!mH50<FC zm-|hV>}EEtPM`3_c;IiIYUT)l!6`&fg?u&HSd2b!=d+Mt70_E3s4)j^)=8|R;3)wi zLv!V}kGMa6-b{!H;`F_M$-hiT=TqUidmD}scyVC_4-1GPB1l}fvpRh%-a*9ZDTafx z;B`+EzzOw*^*{Lme9+LDQ_A)~ehOAyCtVf>8*7f^gM9k~bAZGjFY!lK*4_}=VnINC z;*6d<bN@n~-Io&x#~0z*fU@l;rZNebg=!E9datp5cQQkes8iSP0OcfMVF%*;C}v&w zL`{%2XY|g)*#XqcW5Tl|BgsD}gWm(N?DUCa2fLeBczM4U#5>$o1HN7R$^`}z_6Il< zb-`&sUO|EJJTAm@Z<+(B0lvcv@iGEE1-X9lPg9p(@3k|m8d(kCtnk>|!S0tAM*VC) za1|6GpL)f6U;HX%&+tWU+4mu)NJFHzi~9`IO#m<3x(vJSb<52ZAN(>h54Yqp=xKVn z{-d9>7QMe{PXPLu^W@}lmY=KiAQ1w7@j8fc&AZYsB(!9gt2Ob35}EUv!XrV{s#2`+ z4&1z8i$x<WJe-`6QC_btZ7-L4MMlB`4wqalsKAwQF(-u$5?-6S+Yp}-0b8;h_gi=8 zAf`wA6trc&g-#a<r{dp<6VBi(T2Sx9)cUQBni&=+NBP;*1n@ONaQzhkc{UQj6MYgP zk`_?=!0w&9g_X;en;So#Xe?{*X5wd<`*0tyaN9Ho(oT5oUTYi&uZgl}_+^lu!T5+# z0I;`<1q+>rN|^MQ;E^GFL34I_o(~)=iZLA86^U7+)<>yVW~AI4t{BmWJeh$J7J8^b zoGjz}6uR~XztPS`vo6v|s^U?W2INdY++OV9SAVbm4D^z;kV}EUvJJ4cUF#Kq-X0%F z<eDs#wfW!|IN7mG0ZEG_sOoWs`Ao*lpI<*s$sc+B<qb~oI(tscssxLNMA(BDj`)Js zDR`PB{0YIzCr;Zo62mH`gfKQ(JlO!exPN}n{bEenhLDr0?o%CpXE(HT5f`*wrm+j5 zLR{fI#Ib=}X8?XWEIUO1$xty1%xMw!mtk{9tOXzqMUr!3mU{*eQosQh0MG!L5X#Hf zuQy#eEBPNEwB!HN6v4^89z@>R4>kAq4^&VfF?Z?rYTF_DA0`L_lV!H`!u3)s<Fzqx zU;qv2Q~ppt;NJKn`+<@Z?KwKw`(J^243~NM7q5FC4aA73iif$#>D=ccD1Ohue;R<j z+Nui!?2h8_>3xwzQ++VNQA*&i?Kba1^?6|Z7c<khz#rdin-~DDvj0-#)q_j71gNgT zogtRTW|4cuM>=J!Z2<#rJdIW|Sck1aZ0M$oD4>fg&zu!Wh0q6p7ngu~g5-wUc~?hc zamUNIh7B?8B5PnV=dm~B!tyU~g?esE_M885R;XIobcnV|R-0)XEO$Zhu%*B62ndS- zQ`+0>>=NJXIE=eEFn6>~0&QcNG>y`q^;uWKey=;D7I9~e9~<w~pNX}mqPM_)Y3jb> zX&^LNu1zk?Y(Dhx1nASNKxvG70$+3(*IDm<zf+1a{FhQXpc_X6AD{tqLtkN22MeH3 zn`D{x!~!grMeBCUc3~dueF5HY4{~2`Y&g9-6}}$yUHGgYVzb0^uA7g?=QqrS@%Bd= zd}{9(Kr3OB2sm9mGBV<smZfpx3{}gp=bq}I*Jj>vklFzV=0$(}*uCSMR?0W_JV!rd z%hiji;(i(OYT@TFp?wDGKWv*|CP7aG3Ti8R5|%kIEO4tfFNi5B1}==paupr{-LW5B z6+l_|7LqpvX<fwJR~(p%-iB8}$bGZOvmGS+ijtBzP<=9mts5b^+?NO#&+O?uSo!YT zz3H>IervBDcuo@_@-zahRXm^Pz``duwG5$jP_|M>z7Le?{an+t6ZIi8X*&6^BLfYC z!>yYUxaq}i3uK`rt2rRXZm!s->(|EZ=;$aYJK1O@f>=D10Z$(J>s(;117rjShz8)$ zVPn1CWK6lq$8xxqbd<{fvZq)vqH*%$*}?n`2w@T95@0Swzs>j*qX3=_VS@NI$ZS5E zkG<VT0Ak-VFi}JRFPkA<t01E0A`7z8NrI3c&V5jZUbzb|y=Y1YeVj^%F6p(_FH3-I z0QtW`*K{jE*LluZ8`?C7x{(o)o(w-o7$NdOfdF+BH0;tT=r`AbGOR>oy$J#srmU%p z9zK+w15G1GH0T1Mxu$&$t{*@thE3fW1vBvx8=y+QD1aBb%`BLPpHRx78XHh~RD}iX z)q5=B+UzzW%zU`v{CK0W<YGB}>EAa$%UbPKALY4>tlYYDL|w11O=*7Za(+uxxp^2Z zjR)mZyps))%&$3&PMxH~ZaSnr$%suSp>Cv%b;<4q!MWq9G~{W_jNdr;!%dD38K1S9 znI~IyuA+shgi~i*i)V(p%Nds9*NTgC#%$Be4o;U*J`~%U7YS$LZHR~HhYx?}8asPf zF#v;L5BD6pM2t9ZKxM+T;<GMn2vn}4k11@DiZ?|edNsooWXsIX{hR}H!*7qIUJ$A9 zj4<p^W$*8kPM(R$8>Io;_Nt@^|2JVQgSP<WuLWe5o9{K-R~$I{sK8eM3X!40G1g&c z`ujL}!TpVx_1<fsqE`s-(@ASc@X96}r(JI6!<VAHQ-lFSJx+*j0jiUsntvT^o65>< zX*Dum!lecDy;V#GT;BT6j$>)6jX(SJ>#g&OyQvT}tdXPTV{o|J7sM4OV!8H4qCD7k zmaJ)<h$xKOe9mn<e4@dN`1)0Hx-FquVWOVXyptY<(BBYq7(mRUJl(cT1{GL~TXMcb zk?064ESsH)S+&KX;uo*q_fEwZ-l$K;^BVfp_U9QKe*aRqk6|L9=9Yr0+>Ti**^D7n z&+_`?7uEm(Rgh0m){}N_M{N4{4PTxy66^G@`PmY~31o}sjXY{69xVWV<E~9bBNTNI zMmqqQ(~&xXjLce1Ll}xe&@~iqs+sfQv|?3$qS%H-&ns@H>s!4!ORCZ0leoxjcOvrB zR5h*MdM=;fUn-@MLn?E#v85S{GA-Vw(AvlS)-#ByPpmJsH*F2Ct@Ru~E;Gk8$s7ZE z*TZ<Gr!{RD83OLOg<w3U;=V}4dx15Wa(-Td*$3{JZx(DeM~Xy76+Y)Gu4d9w&_m)U z2Q~Cz*-xW1jW7xR2}G^Z;m2{|hoa#y{K*3=3x0?bj=&?sjH<=phoOiLHi#ad0DkzG z9$);V4ZXH4@<aG-;;xq)eSG1E$ZxA5mm~WB_z_J$n3txXXpS8pW0fw;$Moqgi;Jln zUDV0u9@$FmnkC_PG<!_Z^Yr}XGGXC4e`43EmztoRN0(GSIYZuAti~|YrxF&1_EJir zy9^NCmNkbf9=F82D&uTAOF|rMM?*I@I$RpXu?UC+BaUxf0D|K7!%xfmYZ6bN2RfoZ z8#RVg-L=TqiGE=@?JZCdJtV~|nVDvnBFz#~Y@?rP(rW2Weu)&_j9;#lo&sP*y{+>X zDOwI%W9<Oa5aqe-oHe`~hGx5+Cw&Gc@8k8`V{g8=dMnmw$0J)~-oC9oK?MH&DMUNZ zL<O8JB~=U=Do0w~$w`bnJtO(>#kV6X+q6GobdPwEz!mad!$OSqM*}Q(;ASa1FVtA% zV<WaJ?4G-h@Or|Iz5mgL)k>!j%mp75Vi16z!iZ;ITC2{@ha5J;f=opCs3V?-L{No; zq9OqWZ&jzui1F0(OHikSBJlz4>Cp(?QnQidWAlC46M(QoB>1TB3(jydwSeiP?xxCH zNAoCF{oo;M7pgAz8=8bvRKXo)Mpc~cY^H4#1vZ#zkG8LxdSexPi^rDTvcS=io<(@r zScE!T?-n2@f#VE@9PDPJqWsQ3WuY*M0<V^IxXFR!0#V@E#|}we^b8MdM&@eih<PK) z>7NHHG9haL;$rjl)G`_BtHbZ_e75Ne4!@$%2{1RR?U5tFfs6hzEx#AwK99DoCgeK9 z+9i>|)%unT&Ip#=<iNO3)?6BPT<k<#dpkQjff__&+!Q$mL~i)*aDa<~<DTGvpxr7x z0InVMz8=HIE&^BBuD8nRP$>2D_XnCEf{_8;yd(O9e42QMDj!A}h&ify;UQiJdlw*% z3Y|&9eGO(%h<7L?!qCAGvL@i>C<P$ztApKnZK{W{dP^(ua0PIpqTM^_P#RhH8n;CD zAGMksGx#=Iotl=GYqs(rhj;@LpUtHaWgQ(d=*dADA!Kb!5>o(B0Ej1)o#v-49Wa{< z9Jd+mkrxjZ%4nqn(V#w$b1CJETJe(VN2+PqqHwc7sr{yJKDXZzym(*MDnzl(1M<1M zTOAexcib5mh>%anV`FD#Zrvd`gj-QoXmRO^!pjGX@q8>8#4goKo0;e$Ub~A3<g4(f z^>SpAZ}X019D@r1m~X;@88)`PW0stp9MxV7kGF6}Mn<69*zufWDJ=&p)3X(x2)yNC zU$%qrwAUeAc^r?8$s)PU$I(`v1kAOUM+baXU?2#PnU*Ade3eIk?@zbjLthEGb92W9 zK``O~@I*ZlKEg*(&vq3wgy+NMJ<nVhNEM`$Jq@dpbm`DWuYpVN1U}puY2c89uZN{p zWg--8)Qatm-zvq_06Xs%z*^BJRgVJkUEKIlaHW=*l1uqIK||K?ouG*TFg`t8e4u1r zgR&~bNW!R5Am0GSuE1*OIiwduyBml(4047EkK_eFX?SIBvJpy>IrVd`%@g$ziHY!5 zF!1rkK<23eOAsaOdgOURaP2gla16e<XU3CpsVApSUAUL%EzA-OMgLdTz9)wEPmS6g z22%;igMm1BHX?;AIFb-++RkK8_xGBab<G#9E`Lu6=>)>E{t@;w0c6*{c<IKSrmgbm z%qaHaALB8Xg#~Vh2|z>!Q1IOn^5b>XGfa`0L=aTa_pv5oiRSc0SaYeu26M>o(zb*4 zgj>O9x0<?!hTsvhzOYxXWGyVN)ABG(%-Ym#E+(zbJMu@%`NM@sC*NKko9ls&1xdrU z=eKt~@w{lla=j3x^veLkarAwB<Jq&p3sj4i`k6f?>-DtPIl@)>DQ8a{V^B(z%<NGu zcXL9*Bvl{Sf$Xoahoz>{!#-H#wV)GKKlcHUrIEo;N5SEM{>l}!qO+r5AsD&9Jr8lf zx(x;!P#l5=;ypRVb+<#LNTrcEwY@UYR*w-{!GVhH*V_8LpF=Kk%F3qQKRPN7Z<aiq zsvY_0Q{+6g9+a1plX9F_>!ZU;i?;}`9ML{zh+At}X6n7vv7$0-U}~U>0AgCP05DfC zSkAp*W-_mK`<;<jD}*7wOBF|n-bV+0eM9g&TMeq$Zfcz?)1@xgmB9~hfdRxCPSa!> zk0LjxsAI>sjQxiPEuKv+TnCpy@PBgj60-d9%`*D7^J4ciIEAJys0%GP(}8iyc+8*f zSKwfAl6HB755M>zP!+6Rzb-Bk3)_rr72MKjN8T84XD(^p8hS|3634?T<JoHcZR~L6 zF{I&8l7|9s?T%K8bkNDhX)VJC58i2~NEg)44ddEanYai`sW8CmNJS!}nRx%fiWjb? zjf7BM2~f>2f)XX9@y7w12^2~6{cc9*g+XA;*P7(9LoeycX;N`Oyne(iw8RJy!yo#g zk^)5y3IXRpxd?{R&pU0MX;3qzcm&7JgVoF&dteZjc2kgW*}h)e)A!i9a{l~ztripH z)nHGN=>l`u-fUe3Xit96(h$a!$3dW9N>RU;si6YhW0<-HK&5D!#u|9xyrD6C`6R`& zbSM}eZ-+)UiI5u?#D$ZSMv04kAuh0ULr9sLnu=lr`+#UeA*Z>EOHA63n2KencV;-4 zMss6@tliwKCC&h_AauQ8)p8imsp}v4JoR9JI1yqJpPD45?o7=PV5N1y-$+DnYU>o5 zOUTRPmAh@dg;m(*@(r@b;~a!Oo#)TP`s219_zG;wY9Q`HsS}~Lef{eC89iEsWzrTa z1vQlg0Y`+MLUj`td_z#8djyoOdkcjf?|R<dBm*jeL-8A0p@a+dAzkos!XpbiEA90H z&dcqUM{q2omy-ir-&oz<^f=^80zb2?=x-GgxTfc?ZM04WLig$o6qUO_=*Hdu5&)-4 z$nNyq*)79`z8q?EHz6R_8rQU5Iv;~^Z1AX<>&<Td28gQ{FC17%FG(f*j>yEul!?@@ zzs$3KTx}o<)*#$*;O0ZR6eS@J-DfyrK;V9ofB=EYBH7iVvXIoX@mkpa;`u#eAy&O` zk>p2*379T$XZ9GIr>0Dc*7)N?+bqNjDyi_~jGLpJgo)ntd^!lAMwNY#Cizw=lH|2X zN~^<sJ&iC(+IQHX$|Bzc9p>Ea2g`|NgMeZ%<c@<w48!QX)=|67p|<E0PdgqYl$?X` zQG@}X&tZ4n91i90CC2zDo0d2k@NoEE;B*80U`L@~^nn?(pqRuRH2Mon>V0s)0}eFn z3z)tg6-h7-&>e^ea<gfBf<&5XuK9$tp69~NoSV2GbW7_BvhVg6KO_bNm^U^f72O~1 z;6qy^<+6f;LJBl4pw$@axN#l+?|35tWqgJVY?lr;UX~n&b*BlSJ_z(=Org~mOKyjs z-`SDP9N52dU^4QGicDTzJ+e6$j53puEGCZIS~B@IoAXbtXl^K+Puf+0ML~0?%dl9Q zs@>#Mrel=?kP6{u<k6IsV4{?E4L^-8I7JL~%E=7*bVpunOB4uz=n+<Vys#%(x!zKi z%DGFVat~Aq!QK;bY4c{$bFBCh@;opVUf?$V<BL``-cF?B;}h^)VFgm$xXRHd&lcC3 zn)a5En0jf@TVv@*zD{-?flo>hbhqyp_RGr2(XN;r-~_;bcI25V!z!+YohH714m@+@ zy5@y~@1%FB<UWuB4mLnFS*-XiWQ>IMg-To)v@+9rE{80y1XFsfcgV0DRABTt50#LF z1NlDTA|4epnf&<vw-g<@ki}^stjz0C0zf73@P2lIL2G$Bj>?x3-MUSjkr!I{D`zwP z6dKpg;KWY}NgCad!DzNWenQAua{kDmIBq^QAKQesdBMk7P>NfuJo2*CxH00jrTZb| zHKeDomw5FTwok1HENGg@JTT-NcUEbTivwCV#E$3Bku-q+?!?N03TxRTZhAl1av~xl zzsfx9wf)&Hl0kCmrSWyT=VX89wKGgc)ceMITl)NTK5!g=pW2I=KjE4g7D@?it5xG> z*xP8p6}q9|yXv$XPRv7kM~_vxMAz|CA-gz*U912|GY0m}0~J1VhaYP|T)9OqAIUhj z;c?<Pu7h`;2}|0?hrRER5>E4`s(UhHM9(=SUlJQrAc7<uD<t-0a}={709@OwIQq_* zb-z2Wmab?gEWFdBnXu*AAP?Cm5N6klv~NN@v)cGU_w&-X#~bs#x%N}?A9O3*!096w zvjE8N@Q4Uq3wqR``%-z9+maA)7Gw73G7Eq9-GIme*y}4W26KUgq~WVv#I{i%%gpnD zu*)(f^Z@hXG8pL2fJ^{t>@Ye}G?fdEdr?t5xEifXmDF$(-fs;<gZZRywP?<8IWlGd z?}LM|>9?xKj^GL5=Z903=PY4i@jl1<zGPy=@7$2lqY*Mx92@vf+Xq`CLKgIc^5Eeh zSFVk7>RvPnurkyU929oxkW#x|ISHpppiB_XBlul!mExp_+&1jHSzpTgtEP!(YY0Tk z4_I<TGeI0aUe00fBn=BoFpz&EqN1d=w6ubQoeuYR5I`^(oFVp25DS7!8!a<)5Nzok zMRtZEGg(^2;Y;4z)!Osb<<7p0&;R79c>144^)Apd3_hfnl#*Uu^*e>k3T0KIU;JnZ zrWR@Q+#13)O2rG-Ird1Q{FsbT0B?CBkjhKCWj}tm{BHf>!R^V9`VgJIt`e=Ose!l+ z1@oB|+p7vyc`P+uQ2R?)qU_DmZ3g~eSpoV6AYd~!b5<8W8Kc1FhpIt~BjeP`<z0%c zfioh9>uMjoYidU1e&^p8D~!f6b1L4L1d#<&-F!aAqrjE~A=iuA8gQdVry478XX!6x zkuR$kTC?0FwCK%x264dy^^5rrdsa(ASS$7+I&0sw!e~MFZ_6(rA~v=Oc0pJ{diWRl zEa(9aX4;<e=8dc2;yonmQ8$`o-UITgH#;=Nu4{gXPoa~YnHWC_!(;%OZ>t}~l)Vfh z=OH8_s(aOuf;J!Ibxf1TLIwr8uc?u6nVmy|Wp8Gk+Z7&YWQ%;O948GV;e>p0Nfmmi z19WSj(;KpCuG(kUF1nL&d@J_kBZVN}mJ4eX8+aUjvH(7!b)Cq{3yp1pVJ;Z|00V_^ zYc^g?L)l!_|HayS$79*Q|KmnBsVG9UjAZYvB!m=+Y$D2*>=}vdsAMOE&}GDBugVCQ zh-8y-#g)DH_c*z`yYJ8Y^LhM!-|yq|c>nQ!+$q;M&+~X4$8#N(3IsLMBO?dkaax-* ziFgvEvz)CE#*oHHiJ6tOlsAKDIZhCh7>mRv^p$q|+hbq8{3+%PU^M(dNmca$8%3l8 zT`M%Gk4gskaLTt|t4u#GpB5gSO~c3yMoCcAonQZe_0X_Lv47ef>hn~B!Yvz5_VHXo z;cu{E6T{f#NPd6wc)D7KDQqT#3&Pnq%^+&~>wY;l;k_Px4CxB6xB_=Ruaz;r{_=U- ziVt1kH3pD^`UDs0$c>$q!}5<4d<@;Q-6>|El~)*$a4OiU+H4@YL`*#q@bpY!zlB<_ zy-#?mt=t5B)tzORcVm-dPBeG}yQU1A6Qx#ggKyB@Wp<-G+jU~DM@m@{h)Vbo(%liQ zc7wm<4kWdyCWt*{hh?ULEbc*fnq!6v2K~zE3|${Kuz0lS@EXI4tv`)f;q7r{g>d?Z zU6$iDcGV_daQ6l)#C;1fb^n^>U0cXpq1YSr-YT(AQ90qyvNDqn;0D~|znmq@U1r|^ z4-RDm{(}(anyieZ*UO_3shXT_c3qsvwiugABHyNHwszRp1XCZPRe^?%P9glGdEq=f z1TZuaQ!_k*^-PP>9vnthQp={dAz}{!#*PbGEMTHopPkn}2uL8HI<AnWtZ%6zWb>^h zy{eA4dg}+yi1w)+d<h7~bX_cp2<~^_4}XH-CqjCIW5{#yYWNg)i3hY}J>@Q_#n;*D z*{~x3UK5y+uD4pBZWk56f=K`|FnSbp_dz}kTYoM>1D9z~E&_5)pgPDP{XJr4Kze0l z@Uh1Uf4IK(lO3!uGXo*?3T`?)DN*~Apzlk+mMkOHUd#;{@(}fVW1tMbr&|vX;?0p| zXljX)k|e4y{Eqe;`OFU!Qh%9w!VX177STcFGP@lJ(`|*4dJA@6z~J^@y3-ghF-sLC zuYmF=zgs$`V|d;hlkB}{y9k9;lMgTh+w=-`FCXjwyD1|=crCapy2aL4K(IkCbNc|m z0pqP@MBzesuovzy1H)AN8xKaGWZ7AbhGAqE9WWE|t&d^9l#}DRH-@MN;5*c_^L2BP zaKT3ubkO%=yew|o)sDajfd|u8szw&%P`)x8C_~Z#(S7h&p)r4@X<nhN{1taaRaq`e z^R-4+LW4OUeZ{vI_9#@|(twMbV=X}_8x0Mc>RgXqNF()MfMUQI9lW)PK07$%K!*UA z(Wlv+0@Ny%<Aw)MNXSp?7X2JT!CMRfIminUn_fu8{-N*W0Hxq9EIEmbkoocVe6EZr zF|g^cqCFUAoG1wh2?RKW2P=%NI*-rlfqLZ9WJh{WnGGZ8k&sIkdR#irf|#<gOUH42 zW8%}0EqW0saU|lNP4#6BisYb}h`p`HpOzG`tLdWRN9YZ5h>B%iWR_P4X!D<yt??~J zZXFW3Ln2(hku<&=^g}a1R<@8yW8^7>Y*&qwI_?XIE#N`-va-&yv8uz41rVyi+i{X< zbMVikVZSDUgY7M6U31$Ztx~$TQNQ7&uyB_Sx~9F_Wza3K300-+`NlLG?ojA;01`>< z#@XrE!I35hJ?oPzS1^xGo;&vhWVZ-g3KAwq5C7WX9J-Ml?x#_8J&sr@OO*p8B;}pj zzM;C5&=+BGc2)DssIZbNzZ<!-K4OX;j_N5c*as60wEUp=rVTWvSlovPx>eT4{R1iI zokVTpE6le-I&~WLG$3w=Trm;Zm(~?egAd@UBa=r2J%8Oe4#verfDC%nf;uN30Ff)C zU1{?@?-Ymy%cfIXn=U}mpTJxxmfm@h`B3S!Ho!S<fY~O{usOQtAc{hh50BAa*01xR zLLU@BUZx=-z!0E8fcE2r?$yCC5-Z@uIb3Orx1}xl3d$0*Fg`34c{*);Y9E?4>}w82 ziwvylosZuXa?LIuw*5zY<{9o$-H+oln~BlQePf#_@g9~n_L(}(TBxd03d05sah|L~ zdr^SY4i+%Tk#0F+{Ln6kp?U$G1@f^xom^N2|1I6N2GBAcv@>_gr(lyp-F53#TPTLv zgC4L+vDT50qyy+%KsbNq6b`=wL<8pdHaEse1oO$~tqS^d`xL-LJBDnG2N}e^q_^(I z3qv^6%TNgll7q+tqf>et*&b18cx@M-FhQ8{8%nPMWSX$fCP`%=Abqw95aWE)hK>dE z{H%%9p=;1bBNPG{KcG{amGMG!L)5Zce6WCnTMvB%=D7|Otdjv&n*vUuiRD{P5{Zhk zLplYIK!6k(6-7`3Q&u{r&fpS4+5py%JenmAqr||{K!1rBQHGEAc<F%}ldKvncUbpy zsc$%s6n^E~r?->5<Bp!!Uf8CVH7@L_m|6bV6b-T5n9|_=$#e26+U~{dn}I$`Qqo}% z3Br=zL^#6_Lu7+;`VV;7mY3pR$4dcTe6BoRG$Uueh;73{#5Mp~9WWHbIP$&PNA}*m zdw{^=e<`@5f=qYr%QLO3LtZgB)8%h%e^1H5RLGS>#!5JRFOIw{#5;cZ2`spns!(#v zW<2zIFWnaJco8uKtimsZGw~T`m(B9Wc{NE<7(NpMl6efuK6(H`QJ{Hl0uwu0keKTI z&|@G#&kg1o*fRK`*9oW3d`(RaQ;a$m!rHtTX&`%Ig7?-1Yiq87WcT2m?G60737D!U z&)9hfGsB#5-IwK(D;q_4^yx>ab-RLLWq@QSEt1=_Ev~(O{dx_?$I13o66micV!SpB zJduQWNN}&Hy!*6J4X=h|wz|#NBFUj=CChf;=U}BIvRVe$U1+npqPNmn+4?aaZI>i* zha7M!(IU%lW3l*zaEhj7WDu5g^5Ru|Gib!DmxwWYubIGUJLbu?@>6}#u;dWLq|zCA zUoi_HXKpBS#H#7aZ1DlyZwm7UPs7Fz35)B}qW|g;g34=VUVk{5k^;-j4>K|SQn#p8 z7gMHXUEft3>=Wk0;ZmWy^PaHPBc6!ZL!SXn%xqNR(XR;VvSgLdW(DLw9eGOiYUXFk z;4y$sP7+5aHpMDd(#;Jd4FVi)Z9rq@Xr$96Zg1x}T=Nhjv}E)v<6!j?;qmGl3`KEJ z909^Mn4(L2lb)i<p+Ch_GPGLTF1m&amjlcmI@MZh0rAb7fNuKv`-!>!ybj2sSUt3T zJPizVEZ4w4VXzVFR*-6lV!w)tfl<}>uL9=kgr+*SrS9FO!-4Gng_O{I?+?UAF6lLm zR`u0Ni2)VRZau2;!E(WjaK|Hitm3|;)6oK?xal0E?Z?T8Az-&5R4*x`sGo+rwbC|? z6hJl|7@VjSe<U0IyN0-6>K5Cm=QGbBlJ*Gh0V@i#9T&AJI@fIB$an^_NQc^rt^mV~ zukEmw9<@nIesE&Pyj5T3*xa|I&3t#9;zX^l$95o4MD1x;qPdc14a;l$)*Vqc{8rz% z5LA@I66uEES`h3e6ylL%qhta{K0HPsXsAgP$GD7VBV>{J5p$D-w{qzS$Q#-BhPoPR zkJXMhPB?2ET}d}XqfOYOYqHzVW<>37*r5Ahjf4OoY0f>0u%=X}%2V9Ae85e0Hdp@& zNJ&B4i{B>oAwk^ndzDT6qBxC_TfpW_Idu&#A68d(m>Pai%+{tka>P$L9Z?-JFSBTI z8L7d_^5de;T$LWn3z-a)hUF&kzT6XJX~}hEcf<g=Th+>a?N#oKY>HwYC||7E-O<ie z(V}nxCKMqZ=Z4H`w<9jWbm3+(se#DI8p2OJ3>|;=Kao47ceV*ubqPyzpT5$}N|<Jc zapxRwlOjMy5YS=KxY$N`Jo?aw4<C@d0f<dQl!P&M02V&AcyBLrMF_VxFEsw4YHA91 zKD?^+zoMdI+WzB{A@9^o5o4#}l<dFyKk>f)Vy|*a+F&N2J@>GVS?JSc4?34io9ZOP ziG1{xCg=K(W?lepzFUicfbjDVR+X2_KD&yRmX_~ubQfl<&Wdf^DY|u?LuzOno&{*1 zVXaVr+=yq!L1TefQYtE^;#4xy#`b*o^1ktk^~Eb!uiojT;B`Gge`h8_bkI_?Bv}@k zQINaEZq_q$xh`JCI)~p$#zWjS9Uq^pFIt@<k3`5a34}Ci@&jfAAP9If$k+>qjH}6* z63|k&M&?7IE_H0>qUj-N94Zgo41)zw4-EqLd6jXdZl%0F!Hul{Me3x->gp3@;{*^R z^I!a_k-40w%>^}J+yLJ`$QeNUO3fDiL?wpD0s3~>eRfUaz1_8C%Pv>9x&zD}OX{!& zV;E<2(xCw$@IM`z14gdYk{=%8``bUjupj1A)~*DB=j*tB@fhKqSSuEoiaBq-mA`%a zH1I-?`V&H9Zo;ioMh>4D2#~Q71;13ShpAo&;=}#;|B2t|`SuLiy9N2*R@{LtMT|_s zZ2fIU@FpNao=Mibf8Dj5JqaX9FG|*2UsP`LOioUQGD!D!S1Y&x&K8M=&oeh=%gD8M z#;8lDgwg8kSU?LZ7S@H#4Xh3=&Q|Ykl<DpN&Ar=hF(JTjH&mdUfo#y0Y<fmZh09L6 zr{K<HS7F8?4rD>*<&O#+Gt`8vzw>EtmfVaNFESZbIL<*!CIHWx7Pu*PF*=RY7SALS zF|5um)pKr}RcM<6cTkf#A+lV9s#!xvV@RPFpR#iHKe!q}{a%+FwqRtymBBPH2wTc4 zi8L_4w%t|+;R0!`RT)<+!Scm(!4f)DBZ#=6Mi$F8wqo#6Qsu?<clzR>l7x_Xb6AKD zjwnpBY#T+YLcSGN4Q_tGSYU&opjqP~kn8yk*jixvOW`jmL@<Cx3>g5Rx$a4Cb$P*a z=i}T6o@ap-U9^$cbMR>lrBBqndPtZ!v<uJMlc1oQ+ainWNzzF34~DD)+i6|7kfR^W zixzrj2Dpr>`p3lvjf#SyMM>4l)&W&FXHgss9><7|XA3b+_f0#)CyXez`~<>yn0n5# zvoAiV_O2*2BZKXaCs|pEd;#n%W5NNbicl`FAQuW6jDY3u$y^gq(DW${lsO^mtYF4H zcOzqCgHC=-G7F?0Ad;ZnF-w647iQjY_!o;Ug>4;WR~a=lG=6rKivs8Qpvr&dE1Ea* z=^-G?fXgd%_{z4kHcFjzoDUD6vi7@Y+1Tn+TM0=H@;QFv>iGH<cBK=7DPkp493d9) z5NHgRl!YneD!_bkog<<7DAnX-f|z##@^b68Z4o{)gZchGJKJ>S0~mj5>5nuveFfOX zHl(e!sC=|?LP9J=Da($>;ulm(*kYUt95*GSOaiR%#h&0Eh$u3u_D-8zMvQG_qT2Fi zwqH*zuD=B~28<|Ycz7_SW}384zo$M~9iWvkWkkgO_(jT)RjGjLwy4lMNCx38kuP4r zPIyErx=wNI3*^+7$u85f2GhanX2+?ed&ue=Sa+rv53o2O!7=Gi!{Z3a=y+T!FGFhc zW!PC+Y^{Se1s<Z$XAOVO+oB17dvg)`t;4UoUTbh7OUbB+bF{2p(A`tKN?JZJqcK}k zyM0SoG{%hp(?!W_F*NNd-b?2~1H~JjH$+?%DVT9BnGFC%SVe_5S6|_V?0B}(Ln9tA zwFI$|-hu(l(!H-hrzoUr%y+|vc%V{;s=N|eE-&GRhSFO>tmm-OFAmTHkOX60-G+<0 zj>8~y1oHWLV!1Q8_D*fAOsl}K3*rrNiGug<g?fwcT>|RiiZ<##{50v;m)cl&s9gf9 z6Af&F<}C>A1k6RASDy$BlyC%&{ztP`%7g=7LsK6GT><bR(C$KhztcTOK&Y9qI9TPt z<%K-~??^GcQDCkd$|Q0a)Mc03Os2`QQ4AW2_HZXY=;T(qdSwKdS)?{<X4XLIg+mL& zKm-jAjIhuTsshNchW&9FE4c+-A3VIHIX8v}*|xM}PVvYv1C62XSd)MIv}5i8fKzlW zIboAIX4_&p+%UUK0(VlZ7un9~93S@V8SN3fZ`bUR{{$hU*+h;`f`rp&x159E0~D$p z9EEA+1Uv<2d3X-OFYS1f>MTF8*ag}Tzam{-=><}j+3&TAEM8+Bv;PV1RlO~|{{5r8 z;@5O5?KcyPk3M8<uA~FTfcQX(?5ZaDzyF5*RA6X$=)*=)y6y>-EdSjvCp)N!2X#xn ztgpdxnVyn+(Sod`-IEm<n#N$@DM9Pl0JUS<WoUeZ6qZLkY_%MR9$ufh`m6UH=d&U& z&e+lgB)re+vYZ4rDgMKU$krL=Ar^4L+`S}s3;HP#O?bXHr)t>QiVjv+*LidLb>`FG z9itmYZl%^}!f7}C%xTxPkwAm0<WgH-Gy_==vT?+yIP@YRiNNiTLDnJMcit&RmMX|K zuqTf_VNaUNyk;-C-C<dz^G)2I_t^7jkwBSUDR5q<$Uiw^*k*Cvo^MsuYC?m&9Pnk} zG)t^`i|B#{kg|*vBEX&>k}%I@KFPE05ioB{n(k+F9PovCjUQAG*iopgU2a2xIWPhr z3sblh5r31WNS8bLSMOzj&u&%Qo`9{NW4+5b)p&`cK<D;Yvx$rMqyvfzlHffq0nRso zGTfWJD+NplkX4_swodHf!-uK~LQjBKzW>gZUi^NV%Iz<pb$D|%F&NlsV?I8gT0cEz z9Mt-IZjQ!XATxz80U<i}6;Df31My%=MxF<(BQX_|5<C)Dl$7wKtVGk^yn#ZiFebh) zLi4MO;VS8tpF=(q2to!@73y+3GYu0v<1a_nI6X-LQBS%S7=?kfT>8}&!f#sd+Np#G zfS2*q`+J?a+PsR}8d;hgH#s{kiyX7kTFp(NqeWg`2pxg<uSs?M=PhhoavRVrL1AI( zUV#TGnWbL-5gtKfwc?5ietv#^Cy*tfh`HZNH0ZU`zUJ=L94p0)@ZtM)l?n*9!+Y&z z4SY$B8}aBM%r6i>^h1MsLE-IirZ8Sfr=)$SW6)Qe4uaB#9SCWCJUzileEHz!ox&bc za>}z1a39@tz!z}V5Z>woQn=Gn1882SsZJA+%7dP)#VQ{C8qB=z%bc@3dc-v#3wRjH z8Xf10hiY>`4a|*RlO5k+=i2(4R#rJywJ~)bS>6ib0DAAj1B*|h*}=VF-BS^(s9S9I zVPhFnhL6aTG|r@$x5fd5$Ek2xy<CeMwYj$6^;!=VhZO-Kcg<DoZwbzH(FL#$`Ke_% zu1Ilm28&K$#sTDkk~dgj<g>j@2O_dGVD7~^{T_gD2EN9<akizhRj;SS;SA`bkTX4| zKJ1eATUtnLnpaH}2)O7^%<t7JwA1~X2!XqxL|TByzY}FNq*H#8_A+u9B@&Hv4HQ$h zutW#wb?Mlnp1>C>)+oi_rj9!47<Qm0o!L(mBSDdsl_2eL3~(;+%S{sd7lyTD9|YP6 z4~ADYc$|=P_GQq^o7I+`nHS4yhqtOy738(vYG%oS+|4|?sWj0;n$#uy$&+x??#Ty; z8v@j-76o|6UD_+6UMdCkQ5C*B%U0HDTk;>gDu@@z>3%b(<a4H^Af*+!erV_RN4@gd zil<T;C(+63Qx7B%)DkX8!N5C*(Rv=V2j)t7fWs4GRFd?$8*f5U<)_GV`>Tl^n?V+; zW5jX?PBxiwJC=)PjqBKS^jq}sJNF{X&fFX9&9mh``p9N35L*c}drhQKtzyNd*v!0J zDzE11EhVqJ^*H=OTXnw!u)58(dd9{bm$4}_GsGL}&;C^JcjxGX(Xsbwg-Z`3A7b}# zTWDf;TT2PNRqVOWjRRnQ1Vox!`3(un1m>88C!ee*fCNBhjPqLW%*KKaBf`Y36-MI9 zB$#0c#c*5|==-dI%Yy;|#8jaT3BFM5JJZAV=s5m0lUc*w_qJh>r*Dfc^jNipvo#RP zhAmpq{>#ZE_o;J#hRfSf8G63y;k}f)cjRik$S2F9g*Mq;upPU>%mX4pcnDxsAhKW? zhz>-^0_yY|vTVe_z18}Y#PU0`f$l^OG5c^n52fe#17x-#y;%M$4C_<pw-%att9C9Q zUf&Zw?_+4dqyw@Yz++Ip00ORsR?(rcOyFkFL*DV=AeG=PV<=)MQt$^Ed%A{tuH{WG zt@EI_yaO(=iX!_{AZ8z1dqRV-zVM-Fn3>fY)DnT^U-~&XV9GLMQ_{`PapMgo?0v1f zoeu_eBDm=YY5;sh*6M;a`~!4xw*_MJbaSP;av3ANDv9tw)&pJoWM^riW6gW#0SOE| zUDPsjc+*L)ezH4j{;Vo5zDzw;L}Xs#j*mf+efY$QtH48XXuo4hlyI4dwMcgA2}~`1 z)Tvz(|CeBxHrxz<I3wBnH6V<zg%eaxO3-LH8ran){@s+}fxp<V%Q79LBZ!`1<cxwb zx=(#DM{ih(5D$=Wz!{ls%Fy#*OXP8)1l!#%XjJlgtl?hJ6pgt(wd@Y$3w&AogYA_P zd;HY)pZzXc%g2~tuO`6-eNQP+mI8-7)s?FP3qyhT$nH`Gd5`j)dXIFW%A}8JXJN?T zeE!+Z8cgt3He{<C<e-d=5vAj*xhueLQg<MEyEteI!S(-Qm3-~0w&9Tb0Mrs(MsyDP zI+&33X2xOdAm~U!0PBOd=(^HlaqsIJD)1LzZqh+1cmo@ba@K#I0UrIaA<ClfTkbOs zbw4LVa*0y(h+)G?zLO_YHAY)0iWL&)tL{w42|wd8h|BFOc3AqUj$AT?V+D<(exh&; z%Fb|W+F26uzlSjh-v;_|%YE3_ln`6|rzM?hpXxHSQgO{j9Xfh+oPYKrEzy6eY&lb0 z&v>=NVXCz7^8Gc%?V8R1<^2^JP<tU8Mn9xAMdQQzp;~K^=ofLypg4h^t`2fJ;O$@+ znM8vmKqXkX12R0nZU!pd+;6F2El!jgH*O?4Q7~<L05$g#lm;IyB#>ozuvbUidrQo{ za_0rmQdaCxz@uJ18&f5Xii!#f4t@<*JwSCO(4zE|827`N-XrJEK{z8OwOHQXK2ODq zs4?>s!XiVaGo#UNZ&3VimKGY*yy1w2Y)oBFtRQS`AD>1KO+aH>C8L@#4v8ut88&hm zEpGaa*};7I%DzhndUEF%R^KKch;v#{^4<POiU*6ITOd0^++&7`icthv-`pc(_x(#s zsV>{gXpzdM=?f_^zlM6ve_~qYcB}@Tx8*#l;zxp5>{rvu0aKcQ=SZszV%zJk6I^)U z%zm-HI5EGlHsA76Cb86ULaZ7)Er(s>szf-6A(T#PJ-4>HkY#63q^dB9?M?q0z4)2U zT&ECxHBB?KV!COdgkW1?gY;@Yp(|=~*f8RhV>RfjoN%3p8KQ?ddo(pBC;aLZH?7k@ zifiMH!6O)wBqSJ?TW=Bq<O<(GidMF`&yEytD8r|+A}ca(Ez0<=&la$F0Mz2kgC4+r zCNYXds-2MR06nxtC6S#>PZ0$SKo!O_y`?lD?1f$i<j2g5N1=iG*)g%(8h2S$RaK!f zfRN<Y#!PvRem+6SCqF|}#;z|urWZiyeRcR|Yx+y)@<f#wUP0G6;}|a_twY-mQ-t*L z2;emA*k-aP;$E8h8rYtyFhBQ!8cAX)a5{hS;X|HnU^7|Z@4bQpNQW8sZ_Kbk1d;o> z!}*(4wG(jIP3<=~ab5>Byjjx|)5-W7OEXvhi1^@!yRCE$`*D8s!Bl^2n~Q~KivSz~ zaJ+WRPG;!j-)99giGLxL9Sp?2V32gnxi(aV*Ez3&-%;5L8JRqW6^-vFzup5S4kEhN z<b(;YHZ)eyASqiT>-t+wOfLmYo7dk0i0k!hs5)76(3KDf7wCQ0AT{QH<|$nC8X!|o z&eK!Mj#qbV`Fq-6-2hlC!07=@ixtN218hl$0fQ#;aCUsF`I5U=efenQAvxH22R`$Y zsS}Vbcaoc%Dx@b=BfYGWS-dyzmcHd7Gj@<|>)=iOk!{~!UpugqZ3?9oda_#}+z!^O zj&}dA+(p4LLbEi%p2R@6MJ%EY$)q#1KNfahe3#<bAx1`(RUq?05sP+`38+R8Y@#*( zM-~OcV&~-6;&x#=JV#3o608X50@`5&lhG}F{QSIDo()dRw!fqnFp!GkJm*#hD7MIF z&7s4atA)L)!?70n#bLprW{`RT=na_mYv05Z(pb#?O4@d`6P%y0Nyzw@N*fRAJwRZ1 z%ubYunsP2Wy0-5Bg3A~M`~Hg9w<@pAsNbsWp3(0oO$+W#xKq5&Y}$2M7<~5-nxS-n z)dXGo1o(Us3L|eO27ts6NQ8vtgRf7Y0fqEgc)Wljvj;91%;AOgzM}(9pq(ZoKj{38 z-#)nlYgk?5)iM11qx=jRH5RBZW*f;8H0+1J0OK{wJHu9RvOf$R;s&Z8I^}i{);Uo! zZQ8%bW#Wd_kTLi)9#|+5OF|1<wBsgn%rnt`ti2RiAf=V4)&SxcAl*HftRTh#Cc%W| z^Zk7#_Z?4;WuooTmF8QCzljW1pEXZj;BINtkaI~O_ExotKdL-xc1(EGXs?WR9g-VP zZt~-mO>Q|4?`s;zL+U_+um*ctW>JfaYldJQgpigOLMckfW#1F3DIa6D=?Yc}7&8re z%_Sibr>Ix-W5`Sp$TN_s$DaKVh?l0n9rG-EL6CFnj{&IEWxaznijur|dgr0lZUX)* z*c$E^^8Clg_74KLIF9^QU}+c3b#)uj#gT<y)`8a^f7@U`oh+zd?z&QK_iWLrO@0ue z^7hR}V}sDd>p%?Q(en!HW#>;1{q8;9f#*p5`k&YS-!LEP*q1M;9%Ev^LTa>F{gA+{ z!u+fO2WhOGtN}ok?n^&M@>>BB0Id?bk~&e%MX`;pDsmT9YqXlPOwR<qouz>xe*z{h z;QgX_NPYN!<PKEL_|cJ{HE3i6I8~h9-ZQZ$N2l;^M;aNPlV$fCs~8@rTxHgX070(5 zm-Ha{18;*0*LmyBzk2bGR3r2hdQ$|wp*xno<wNEE4|@<il0Vd@|5?N-k4wEoxENm| zz|g?Q3!>Ggl6+GHhKLujfu(B&_9Jp28Jv_g#)Hv40GvDr#h7e*r=4GTmpo<mC%FN_ zd%%pa7<N93k#e3rHn}xkl;pQH=wBR=zah%S4Qcc5^`?=*Q6LU!LR#6!fq;gF3}7dI z#Bg$Rwh~$6PVE2Cu+n35LzC_za-Qv7+LTNjK%00llp>ZP(-j=baiirpQ0I+*$QDXw zfdhEaO~^*&#M$1yz2ZIJYi?F5fIK{+5V8i1I+W{(?dt!Jws}+>9wTVytoz?TLHb=# zfk5kRBE$fKViSnr0W}$5kP5JV719&(QP&&~BO10nFPohD8(6}sqVnN({vjr&&;eTz z%S77p9n#Ht=~&)E=N9tm$GqB*RlF7>K0X7UwX>wN$2VC)KtVK~&NmolX-c4lV^v`n zth=?WPc6a5%H$=a(#p^O0D@gDQKofex{r*UGHu>#)dAY~L4#sSU!cPGzO28H(<rWf zZXonB)DnMmHATZa9>Jli2!>&VF@uq%#ckUu0t+`%fyuTzbP)(r2(+<OuPS(ykQB4B z2lpCp*VzA$@)@*uWy1=n`BK4T0AJ?L#-`mrr+u*BGm6>*q!0@7{>6?Gho8#N7nUcv z{ovu7DZQPpye^}8PMez;{1&P?&1ClzXh(crr=~s$3#(jw{L$vTHaA1fxD(Cc!}urB znV0~?4)SB{3Y1wyHH7M>p`rP(Y}JiOXnNGZuJZDke2JPO^z}e&?>Wc{M*mb<A=~!g z$h;py?{36`02AnjkEp<i0{3k#o+R-f?Q{)qLlDxq%Q6cRazGG@cuTCazfNX?7jsv? z;^!|509Fw5*S_y01%9HLbp*c9D6W#GkZO}bLw};$zUB5lr}rnXfQ1#%(aSwhzwz~n zi6N7#>As|INj%F%G3Mqi=^8hOYS&5fqyB!t3V_2C!KuC1rz5yFqe`g(zy#>Vy$?(; z5f|n4Ju6fg2a6B8f#zo48jFQ_-fqM>jGq5=TOWW*Jm)TLHt1=b<_c|F{be$>H0e1v z68KW}jXuz^H`rmc`niSB=olaL-F82qII4Zyk{W+oVH*<yUS~q*iOxX{yZ+MZ6N9b0 zf!%_wR(H1>{pD|R;51B6L7Hy*j-TkvCiMI%fB<4p*w%RL)@t+#i7)RABqPeG2RA0G z!b)!Z?l(c4|HHXw+Idi~v_r>eq)6K+9i+7|9ureDtClW|$AatxhAl|v11()yC;v+! zw*nOpWL|--t``(?9|7DK+-07+ZAv{apH1?;%9Mos6_f>z>vQW#Z8~KSvQ!w6u|lK{ zp@LH6h=BD-u#w!^1>+jQby>E@0irQR7^A$J)Ubc+34vKyT%P1T{g)2#WRslwcxJ$t zGAAn#hbe<?4i5w>aw*rL8Jg_LrZcS%ozFBKo`J+M3jmlwBk>iO5fJ%P)~r@<)kDZa zDcajBZpcR#JIa&iyx8#Gee7_ANJW<dy@;n6U`m-?$7ctiZyes*1uBKA=8tmEu<wuH zPtaq<+9-MDwES=XY{2Wr$|}E4w@v1wSn&`n;D@Lc9r#OrEV)NW5Dx;2K^wfgW1Rg= zIqIEZs=liOWJCb`cx&3ZW6AxQa@*={hOmiZ%QI;M`XGMbEVLd4C7v(ttg=G}Ja-(g z%xc5WQq(11DY*WA8*YfSv^N5_zi!ooLqDR}ay&oG;{>4{VlRL-yI<?WI$MOu4h!sj zJ|XV@?CsGr$NQ^AtC_`y=RNI;4kO}S!1*tP9OFj9i}1SN8JNQON=eT*Y(BbT-Dm&H zXiV5g`Ir>As@&NSI#OYZYb~i$r$lgO`6%97Z4|iQ5akXaKNiwNB&+c8fI5J_h@D3! zNrGyI{cMidWH%3iJy0i>@<WQs3shCxo{BHp+VmMuEq*2ewG%ucj$NPNImfO-_)Q@o zOk!-3p9Mbe?rAY#uDbv&&gH?W^Jed?hS%0k2_i3I_ReNFvk>{M*j3b7gYm8P5+-R` zM_IwIxMf2Ym!<AXs^e$Jz<n@$64V?Q0Oki9Gt$@!-I|jDd6~~C#HSoB%Sus|Sa|&c z4bxF2BE^xmExT8E8nyXzmV;>z7l#UWXLl2JnZXd?PkivfPM^t^3a|L?K<l)^&AOPa zEWcDN)QTp=e{XhiEH~LldTeX;JPo_VZYAh#QM*Y%#bbPSon{gihenOuo5np}zgoXh zaGh_vDHu910w1+w9|tB@{YescF;cG%Rlz%DO7lxSgkY4(U}Txta+!$Wl)pHiAwdzo zv-Wu3T|MWs;P8m|k8hit<O&^m+~2P3*Y=SQQeGjla&Ylq08$q|H&_smh90ycJI%Yq z<WM{0&0}!_L4H53fm3RG9!&qRG#T2#4Di=Vga|bWC>tSKI7ElHC9ZQQpp_;<R?dCl zrsX&K5Zzohpz1INWn*jWH#xQ6+<(sL3FI&(gIFXu*m}DIAJF~PN`goH^z6q(=_?OZ zDM6fl8h~lgCl&;saxBHRuyBigmP1>1eO~|GFFI&{uH!87Au!U~IhyB&0yzg~K5#er z`80=k)P_jjc&97m+l*s7eVV`*WC)vO9)6+KHqaG1O#cAtkG1(Gt1#>H;KL~oe5TI9 zDOkDLxRvAgg3jkdMI|wX9~zg6#@)Rb1?@0=De{BLW$w?v8&!`+Uz3@4(*Ae?`F@a( zig4(4jEGSL?v4M}5l{QY`1hj+e)+L$O@7E7aP*7uMfj|B$?HQG@WFRh*S&R4XRadr z*jeOz-E+{-XPBiJZ$uyck3aa|@Z0mgzuQg_-&(&XlYU3~ln98AXGG}pZDtpV$?J?l zU9Hfl^5FmipKEk*@)}eDI)d)69|89h#4#DX>-%C^1dp!~OIgYJv0baYD>xZU?ZZpo zx)tHg&7He)>^^oRkj4C02=DFuTS{tb6QA-;bwC^n>JaEv7V9$ARg;9Cytx_=&TY`P z`Or&Pzf_b2aW}}w5jfKfENA~BZu(Ng&gAF6_ug`VfpIoh_Y>e|o?e{tPuc!%yKJ*= zastl@?!3#Okjike`@@T$<rFybH=-$6XwkOPi}_QR|C4gLJNl&929o>$RZN=t*4mwM zk=E@`Z*_1F;2?pO7O>wPMm2D~zdv;fDcVH70H2|3fZ+z>6RI#GSOz<_OAI&RFpTcZ zHt-8Y>;_f$ZE{A*1nOgdp1S_5h;KP2V6jISU+AD<{V>@{5})2*yEgd_qY81=%g0O= zA{2791Oe`d5cv-$@W#fM%TK}bo8a;8R+dH;_07*WL-2p;OVPwnlO5SP15?@e@82cu zl=_SBcfH2fHxvaQCZ2wkXHSOLSIeSDxCbyn-pDq;s+J)2<X<MUgv^)Eo{bezHLOxW zt>ymPHZcYt$*>O*!|zLtC8Mc~ps{-lw10{7e9mHi)cD)`JDyB*ZA|m`hGv}I=0#ij ztnyB}mdm)8!=1i&9|!bz;FdoQR9r{AD~%<uEUGdsgq7x2ycG4s?~MYDRVCx;&>gw2 z)qDsg5C%7>d3#pPST0D^JapnjE4WgoapC0Z^6+h5_f=t+hJc3g({gLUyHvC%M}<c> z%G|(3Infs1P*25p3ve#VYMt_vWrou3t5dAIJi|UNcNa-(KPjsh=y&bzoY!mZt`<Ap z=2}I(7>B+S1=Bw(JfRunDg}qY90dbr*7X!Wlq9?Fvow_iF?UMepFiC{)-ykE3cDPP z)T3rg$h^pTJXfig`#2~l=oL6|7aSL87UJf43m8t@T|qE^cAdswFpS6;$(@sLM{Z&y zZo?<35NgDU-y|yrjtEp<UY@>PavwHm%TZF68qjPl1^wSm1JMX4wAr#Nl`xw@S(3+B z=Xlm>xAMBr7-puwaydrMnZ7b!aT1ls&+ij9WPbklsQmvcmxCj&qazgHa`SS?{R5LC z*x$t*SBz}WX0&Hsyop_nj?w^K<yj7nn(n|+LU=|Xmm3L!A-X~*|JdcltVv_z9ponS z*P4FA@AQq$yrt*I){Ymos`19JR{F4GTHbR<?YP&UnWSn*CRoq)PHbjZn_&E=TM`P7 z`gUp(3K|Vf6|_FNL8qju+~gqZBm3aR?CMVJ=(Nw)x)_V+QZDM6-LbL3J-^)E*#S?X zzqsAZN87^o>b6Tisn~YbS0xgYt?NFX!?{jBxAoi^H}RHya4<}_X)LDP1eQ{Z{W5@f zi7Y+#D7wcoBkeOR`93#tUcTt;e1OL=pcjx8T_$M%T>})qn7rED_4%05ij~hd@F<z) zIPg?ncwwHV`YcvY6dClYT)Bd6Y!@3$kgQq%Ub%e!#v4^KY<D$_M0223mFcfcc6_lT zo1*c>voIJg)GgYGdoK_$qPHH&Wevw>=xMw)<A*OpSRplbabEjp_vR@LjSjc5Ct055 z9*}`^u~f!~zx}!EY9+7OiUk48&vc5#@N$bh*xAX4cBX~BWYpBDT_4&Xco$q@-WFm7 z{CPiR#SI%j8v*NDOxddY!<^!MUXN7XT-$2Cbe5fwkD>LhkmZYa-!FY?w8u0UjG+B3 z^7}@nifCVOGyHIR6&V>RA3!d_eAh6fQkI2exO)i0xAL4iOFfqf0HC?vn6*dp;Y`wP z+gGjJJ!hACLgW=5TX=AVF=(did}W}&dR#>*rg~TS@am((w3#N&;jpSc{%)7R<9pE_ zb6x0sVANmC80db<_oCTY_9pdxb&`sv-uX1&^-F3XO~k7ll+QT0n(tccs2N(;FuFBB zW0;`G@?@gNn|pnGu2gF4p7P&8Gz;NP)^K;GXq@AZ=RR;C^W2TH11ve)FW7ZOKUx++ zkn|Pz2R5*In;WqHn%nsr8P1w7Y`hmgs2@2JrF8Xb!|mdZpM#u2_w>U`3zIMl;@a=} zjVBUvTN2lWIB(W()-7UD#zH!o>XlqhmN$(*Z5p{rU4!zUe@i|4Ci9SBJokgy4kjD> zllb_YRXZXt><#$e*FL1DJpL(Elaoj*zIB}`fI#^<*JF*?!Xb;*MeOxl<>PoLtX&^w z8<MjQy{4)&YiaJKN1h+V@DE8rv?AOrInB65SvI~4SG(0(@$L>4A8tG76*#nlVLf@_ zYIERgH^+G%%1LuW*D7vSmBMN9Fsx7}8!Yr%5!Wwi&*A1i%c1>@yNlHc%yUUdG9 zdDXY*rmv!rQI^K_3Asx@@5`<VzpMY2xY>>iQ}r%AfAJ!|kd1z#1C4B*Wxj-L_}!s5 zr+BN&9%DC(eylYesM=T|Z3u7pT4+T<ykyf9A0m57NGOOTzPsuBe5?2QXU7Sn+?`(2 zFD`8AS0~jMZZp>!^Ue3?xvZHENd+IJSaJ94bDqKeoIfCUiQu@{tLF{t%`JWF&9Vgy zbt%5K>L;i;#+YXV8V8)q4SZCO3D{l<f%a{Y`|af&G75^(Io`#R0rK!YzHVZ9pwz#~ z40K?x+B5IBFC<RN-aQ;$?~<ypT)?w^o%3kVim+gOE5yw}+qtWyxHhqMuVi({0kn9M zEb}W2Emq=QqrY&tyZEdW<ZzPgv<wlGA3v+Zkpn=uktZPmIp6on$uOPmpdb!!MdTN* zOI*kEk?`4h#^q|LNTGqRX20~u{I{1h^sq(mP|uT)Yb{+XGlT&N$|aG&y)3)xqeK@r zQwp~{Cd*LQF3U9ScE3V5g(BoSc=Ke&K~|eaaoS3DT2kjEES&v-Ds{LtJ73aeIU4bO z@z>gzFY=F&Uh}ubB#r#EBz%n)o8j9_?r(`A`B`9#L6AmzF#l*5^OpBdCY<PQkZ$hn z4iy9Oxy|DQgk7Bx?>=@MHM*YR>{dMeJ;KoLG+ebiA&<qhuZrbt4WB>ABHq?+>JUob z@nVQN@y<X!i+a|x3W0YNa8G^tRmFfAPr&<XVK<>rkTh}Cs-x(JptrPr-1w}|<?Gk+ zrhA3brbnqfy{7Ji81%37r=Yrw=IE>KlX8hhMpsnLo8k#e*`-1SEq2G3dVHRgWQctr zL7(E{db#v~Mj@4``~(~(CVVfCOXLZE3bDH9YIl^!sA{I8s>gbKc%=GP#jyC>o2|Es zOKe9YRO9>o8}zzhA8Ul$(qz9;%oj_-SlM#f@@laIW?TU|8l^%ZbW+-lFt0S#`H<hu zGggEt&WFwMn7j$ZJPWW9zkT*n^_aV}6(*HC)y<}!SS@jfBupW!-E3kbObF{p;4ef= z{q@M9SEr>1oW=uN%@y4o#na9>@Wtk4b}0i?Z|+#nL>#6tuK)R-h+g~M9g3XkmCz8q z)~Rt%FL&E$+19-#K8=8Z%hiYq=EXU>D9G6|AFNAcl681kO5r>=n~tLoGp`Tb^@Xic z8rkM<#j_jFQPtAQz6w{fqE3C3*EWM|083GB&?>VA>*>3|HPp<~kIP4SHr9Ud!T*wb zLy+yNUfaa9?BbVQfhjKJhp<_uU~OPP6Q%W{q~yG+s}1+6Xzs%wT9We~aL=we3(Mno z=``*Zy@l>0k!UDdf}+YX!|9l($<NI33gJ~90>WJni{z*%wfx(=0}-{>#jiEaIqF|M zEHI-STiP1BbaL}f7+drwc9l!Bq1D|wbJI?moMPliB7@wR>M9SnKF^eI^9B5pTmpp| zn~AirI??Nm!LneNc)4Si?(6+}5DP9>Ua<B?u9Ke@)s@lg?l$1?+qx(G$PUW|Q}kas zVf&*sqWj$s6odCptLjs58X3m{1b!s??>`v1l5+hv+RAf)O8o*Yxn0a9KpkKpYddI2 zO0vty;d_>%%2bFUYv|V}eQB(%p6#z$TP*geTaOv>{$D&K!`|fA*m76swh)8kasuRt z@X|4koOfGXoco_<uYV3>;2v80H5_0+2iQL{`k`P@N05U#P?5o^5g6!@kAE4F3&I#q zYWLs$0gTKtlCGzi5D)>Tz7Z?<g#AYyk0Dj*D)N!p_Xe{<#@Qyn(X(XmbJ6R*q1~Zr z6ak4~=LYE%Q2`2*DAAs0^1*ZH+Tuhj*mO%9MuCnZqhaH7@641M!tRq07wW}<SZi4w z<qGN^MtOX5r#x6;#Nrjtg-oa(1t%xrW<4|53yhCz$^{6jLxF~S4=ZjsK_|1?06YD< zZD1AzNgdCS3*EkCJHe>j&L=x0M=Kj<F1KmD2^pumLrE*sy>0`FlR>25C>qgc$@Y-# z-|Rs+3tL+wu)7<s-d9^R+^Ht6q@sj(05YTfD|Ypmyt*;Ee1~gDuQY0I&K}~936tC& zL%trr&6Fkp+F-pvL*o5XraHjRFaRn*+#h5M!u$oAoW$}6^WPi(fP;A7-#eT^^uN|3 zkezh}l330thC<xP{bBUb8nAx!0<L_J=`sN^W@}4@ZFj$x2`i@`0a-IFk<bAqn`d*a zTBi^)jFF@mBsQSfrg`|HKPY-Ut1PI2{=Wk<`IaPU$%cmBB0bR<FR6{6sXW^t0TbCL zOJIu_Y!5jDp;81j?B&k<kk%mXxn}RZJ+`pzlA70|^H+mLl=1H%ure2jnfil9j(}MU zbkHDbf;c2ZV>k@cBYb|;Y-1o5iyCmnmQM8^Ku$CPF|ZDb2V^(Fzue2=x*%875Kl&F zWtBXbJOVyhWN8L)HxXV4@{0{T$cn7OaK0v0%K}L@faly@Zajl_%9-ikBtvxJK(XQ> z*^q)3t*51>6G7!YHj1DYYZ3eK5{Fng?DYe?1-L<BC6*wd*<zK<0QF`;0(q5}Bry1( zf<klwaw#>|A~Z*jHvvdqI1tfle&#Bw!MqSZ&#n0wX!yDHiqqh7Tlc;v10##T9GKML z^1%-{i+ZhwmffYvFV|mgwndv3>4GR0QhnS9cC;F%FqO$46hr5vAcm$VaEtXfBH-6( z1aS(W$If$VK4#hdHsBvR8(g=C^=_B8kvhcffkogGNTn0$6pD1GmtRvNMDz_nm_e*t z3zBU_<T*JI4@_AEXh9SIc#P{{5)^m;MGvx6M9Bj;s54v!@xE@?<6Qc{r66P$guvh- z?ma{*0Ji4gZbA|~F`$d#B5=ox6810L8Yo>Age)vjN`Rdpmfw^ZRFU;y#D!~a-CM$+ z%pL)4t`yB)j8}>>xKn%+Lo9a6(IsaocBY+Yh<F#YN-f**cu?`MU>6UL&R@70GEtpM z^L}=m!4=hy#(dZJqqUTjm4VYc^6u+lB>9C0UK6pagXA2LS4E#igA%PhAKrS=rCe3I ztKgOQBck|TaEAhb-x{#{0OHg6_9g{*0>NH`p9u?V01Iz06GF1OBIBcvp0Kf)i7*`! zw(L9!NiAUbgewGgKqSN|#?*zWaC99lp|$E|Hj{x~jCuC#ky^%R(wsdCd%8SX(bm<2 z>evChZbiH9c0bJv{sDI{)P53F^t>N=dUd9_)=&1EPUG4rz<CN_J#HQ{6cn_;m_e90 zBLD6-n151noC_J&b=8K%Ha8?V_tD#+*A@_DRW&1b_%}$p2I-KCM;|qo!Z)QH!;{!B z8Lnyn;IGHfg$MG_VV%x;8KX<?&!2aJ&?W~e5eR}9UL*5gB@Qm%-~Nr5%F#N<@EY9T z=`#};SI_<%8VZthSzowQ9XITX1|P{QsLn{rB1lt(!MN}C<-h!UBXdZNb?g7fpZ+5q zlfxR~LOchEP+kiS-p9ifLKRX`<?2cZT(pNYUVjNb*ZGDjbY35K)lBfvjs3}=@|bP> z-|sTuYW;=UUpU(}>2iZn91rb%c%w+McX+k?)a>FK&Hfn)at%0liM}T1&<-QG!ALb6 zK60)L|IHDI_+>{Np`)n)3ok!ID>%j1fMmb6cB8;vd#|9aiT-u)iW<+|X5KP7ku<$Z znmjGuSkEo1o>CG1)BWh=mtua$p{<u~D@?cN3L^x5#zKI&(}_=V{`_h2FV}V3^omj4 zjK>!jNVxQbK6VFkRz&^AEK>3|x4-Cov)MZQT)FA|Xjz^~bHsbMCBxHaKE#UMIpJs_ z-RgHaIr7;v)mDb_NtmJkvsKmat#IZJ6S$*%e|S|;s&Do%tY*F|*WkR`p3-LxjbUxt zyup)eN@iaKBM9a;mO^D0wn@0<P@=E9h!=h>s?duKtH+6E$EKRb%6JHhMlB23=|;ax zjB{Hm^z4bU?yaH@`Sh8h4SnYmiIIcM3^~kHApZ((;&oYGjz}d%gbF%*<?~5gVro%` zswR90i5gv7mC7P%a3VX6@0+AuD{gvK?atHhS{cS)TV)!<da;*^z7b%*W?(k7b3^kj zeeL5`+1K5S{IT3f-}i|kX_1}-&vSQ_pV=*sIbHej{q+SZJQ3@SC+(xM#_;vt>4`yA zhoyU~-g)190dHf;HInoB>H80uusdasv=|$=dbWGEKb^vh@aFN^wK_dRc825nhZiR{ zm97X2{8%p*vb-MfOw%9bLwi{j4s4%+!f&Sb!`mAia1TQBBsXF%0Escr;W%nBKi}?@ zdJEdtBRqz8wtj}|uVFdE7`4(ByN@mX?Dc!~DpZ_EI6J1fpcPdW#tJjY$B$-J+avU! zf{EG-Jt)egdW4#>Th4P_M&2HecH?{d)*-lukKrn2r!%fqE5>Hpxm;1U)tq9WTu70T zN$G-b@VP>f!>_4M^Ih;CVDoRT_`B}QnRNfFN1np_^2+<pJGOLCW^pV}$w$4pX3<_= z?&h`Q{Ot3u-JcAUY)cyt43h@~MX{8_&2~F;-`QAM6SWQXRDR{V9;;eBu9Y2Tk!0jo zYkYfaO!zEoIv(HXGB=YrL(F*9LFSzhn3!+(e~jQT)K}5(Kgw27{9-fy+l7?5Us&HN zZkW>9x%4;AZBi%9FK6-oKv?ifgaxl!MQ~Um1Rd>p7~KCPJiIE~7LAK&LM({;^*mH; z6EMQ6nWQ#&*d5kl+)A|VTU@o@eO@Ug_J2}yp_QA2qRL!Ahm^EYBCK)!Ed|x;plmqw zu|_N!51aQ1YB%nT=xr~r6VDN4PaE{RS$b5ozH)_W{N)b`K=IEZ)Syw)WJwxGut8t9 znLu=$;~!EKv%$J)7;3p9w;_$_6K>Q3v(r2qh?!X5>G*mT6Co;pu@RYQBbfI4xI;47 zy@?h*n&HJxVJ3^>{XVlizYpWZVK-G&l}A2iQD9KosLiDF+P1Wf`Gbkju<u6=!$6%? zH|=IMpRwh!E>W3eS)0U5y*N@f`{g<L=wuT0m$9lT)!5R*zJM~gzHQ!CO(+Q8jsF(^ zX?Es~N6bX1_qvz0mgLBY$$NLPILtK>hkHYoMf~@A-J_zH^{b-z>5R80lGmn(kI#_t zVjkrumY}_X+CMh}IS(g-qF67{3+@o&wH!MS6C~Dwi6wXUVRQ!X5r!ilk-zJ?P8<^B zrRM+g^M(2&tza7)>5TQcyL?@Uo8>JIcf;rae1rRdYrt!>r6A}2lBdMJrv~K9zlFJ) zY8idA+kxPh`gYk-x3!1v52hmdNlToi0pS!n1BnqHbs>vC&$LVRp;)U~WU%c!`Ld&# z`uu*E7n46&7elFCUn##e(KZ8nepx}0)8N>TyMXtR_3T3L`D<<`I3OqbLHOfUE%To> z4fp_As3kK~N5;KSS4p|qe0Rsi$L2AWr#><HI+E4A&)TJM+{nHO+&p|*&gW4_Lz1x_ z&vBv2ONS%#3-E@gx<X6wE?#7S0B+KDViSQl>E6OyHkhVooar4p6!<4Eq}E#(^!K9} zLOzkZetU>V+I=+DtSORfb9*DS>QMl(Ae8<bt@v&mT4kaaTvhA~eu#_s_w5(v!)su% z+&e4o{exif*i4%4bAg<JHNs7A>C0I5_{b#NAIs}~WE5XDDs^>$EI!}7c7<hrbHvdQ z$50aTPVeb+7SF4{T6@XhjT6IXuCubr*Rj!jr_bQKV#BbokZtAq&gi_w35X*5*!g4t z-?r3qaXLL2lI^lI`3cfBY99_^@=S2oph0_n<kO{}y;;Xw<G&fNRM<#$rHe;MX|{D| zRFeYlhpAKnPBpAkXHFUzVFN9vV-@SJ-6&dWiWIlPxC6xI6`}>Va&B>HSsYcwOKtzL z<*imKi`6PRd|!j)G=e_W8pGb1xr3M&z<kqaSd2jMIx+}ezNuOneBf>;51kWio7bIo zZ^ukusO@vKy~%h=6pjNWh)8{PawY*z@jcK-5Sf`>-hFP3IPj=MdJimP6O%Z&1h|>p z{t=$@n4<#r-2xargR>2ioVW(Tp4;<b1j@%?XdY>U(_BY<#X>5(+vnQ-f}|>G7I0o^ z{tFAr!xav#O@9#=vSc+ia*ZMiai0Im%dVs%C}8PY-na4c(i$O5%;axmb)auRqPumn zwTieRWHpjMKUZFy#FFsSw@{w=9{1x@kx&Jie0R(7dHVU4>-+)<iw@di&QeMIXL`Q^ zUr=BDU7eUb;1BbB+6taCNNARG+j>g>&3fywZ_P=nPaoa`g!=_|^%?h#C}sn_FR4}( ze*T1fv0NAiii3f>Ya#dVs2o15-rpT~_P#3I)LFwEK$!;RbY*IV&#vq=eWtFyn1#2h zLCFvn{DS)O;=~Vwt)U7Vgc^v9ys$(}BRFAQd$)z7L&y}P1pxLe?!)2IAHd842UCYd zKAzj0kJDXuBPs#{O`gl~6Bzg2_1VwQRZInRAQ%(F8Wr0t#u#=iDoVrk)#VdLEa8nu z;rjs|{%`0ZjeO?}`{KcZ?7~-C=X;8GSYxZN{{)i$FH+`dwI(NPx^e(S@Sg5QM2Sc+ zGZbeS>(wDKF~@LK8X)L7C+*9{NPXNJv+4%SHZev$F2l48VR5mjWwU>mvzMC_2anK1 zgGkDJrX>Sn+$tnY2?0=>Tri_y7}N_O3XwT=?p$n~@aM0n)k{oIw&R5vS8f;e(64XN z!0RQdBnCuh9Qpp<3xbrM(<Rw8&qvdJFW9D2OI#1sqP~0srA8!Ty&d}$dK-A=+`Qab z{<FCP9B@Vs0kJ{ffPmOztWfl@M$ET+UZ1*9-x^o7>YhCCLJy^|Sg)r&+sd771Cf zZ8Y;t8>4odH!DbBi@4*q?tQ!M&k0gaPrWv;&ELwV7qQ-XYMU50zoR(B@2Jd+tz@bX zy?f2QEOwsP`GE2IrqPX5cb#{JSMLDBP{FrE<}Ldm9PaX0`lTA6K201mBg7N6O~W@9 z(8~mXkj7~02kxu$KLiIZ6xm%93q=DvLo7phVGM=mOk+*6qCS1G^amARhI>(gs(TiN zmB{q?T2@GBHqDjM$2Sw5j{5l#@Wr)cYVK}VJX21GT2a^|x60GnPE2y-P-MQYT#BY~ zX%7ovi%riUTMjmfCbVViR3@OV^%$uARfr*jA6mZ{0)kGVa+CxL^S$Q%Zr>y2^t9T_ z=dp9Wx<{g;vOE{-Z-gI>A}9LD95VXBX$Za^2KA#4koOTMlX!V{W&+BkI_J@)>GhM* zZ*na@w}iom9!SO1{k!+Tf93X-p(P0&W>+PvoTZVXU*h_l43!Ie<2N>h$k;)_(C_gH zgnC}HRaMmJ#>$EkI!}`y|7=En50~qzw{Fn~`oxmFv@55IZi3_v`E(75YK-lqse2h& zn8I{FbB!_IVfxIASuONB->sch*#w~tHtfsm`31<QpMT*_RhMP+a&Asx#>n7i!_$O> zgg~2P2lwe=KGgWq88;&%MZ|r!21^?j{5NY(LaQ?Dgg5NnuFZKA5>=Rn+ALoUuT^Qp z#t;%YVBrzDgzrT;;)U^}q<vIPKmX0v$fcHo2qbeDD9}fE&Wcxu12pfv36S%ZE9Xjk z8*+PFa{U9_9Hy3Jc_LU@)8X9tj4fo98sD}00`9j#R0N{#NM0O5b~Z>lY`ZgLYx#_B zZ9rdBI3UA+E&#yWvAwirv~52h-)!y)o`^&-r-vU^{a*s4hsh9R(+8Cgi4N7N13Tgt z7c~MBHsSQx+UPqT_3jOy&3$Sv^Ye~_{SWyE5Q+`2c)GuB<;3RXvL*%I2DPrdlF}gn zXiV#~rAzL!#(rv+$+)O`2hUs5^~G|$k9@8c|77~RM*&2FtF0&WD_<z*PL0#gJy3}d zAvvfA5oamiZA2!j2a{QRWH67pWgX$|`zN_Q3uK<F5Pjs)`uGKP*PXA$$q7TdFiy$n zFP<<}lqRcr+clKu(RPZK0}jP=H?yD3gKVx2WOJ8*CJ86p2C%0td2LUw(pXBO2QplR zE>hAjdAl|DWOk<xwJlpU1!4Qd&`@x0JSf{$=J_}H&wBc`n3ucM1xsCpO8>7GyR1Kw zeo(UXKhDcDR!b^VGWLz@&R8|6`N~~c>^AMrVAnFGk|z?Gt$jnM+=15)bG+sZb@$>1 zzhA2PrS#y#*59|zxL0D8gA}OVcI4cn3Kflk@aWmYmff6fYjl#IFPs_zG<NuBgdH-} z!q~bC2|eWKD__5<mz%o*uX{Y?Q}CzTm(sOTv@Bd4GeXOi-riJJ6~&!5`&Ovu$ZT`G z)k;vr9&Qi%tL8#+zdn2q@~DH_|LE}n6CrcTgS6z=IV*OVu9}AwntymqZPeoIXJ#%E zkGnkDHybhES6e8veVq2{j*vxdJIl~M!ocwhFsPc|s~+ptZKv><?QSN+8JTC?&Vv<! zJ_rna6fFjM{?Hx4hFn4OEfQEI{!~}E*>M;x=$SX6SGBc4swX?xuwqcXu#8qD`;vL? zrof}0W$OARFF%Hg>)ooH@j%&_gZB7m&$Le{^De%mjQDWDuZ~*1R$||{u4X~E4Ps~$ zkl&#_#60q$Xvkq09m+t(zsxCcZ%P7_uubQCwa@!U{A~EfM#J?32-E;b{N8$zG>o5% zPM40-HPO-vK^IM{CFiHa^b(fhcCB6_eSHcUX=yidZbdeD6A%h>(4xI#Vj?3Sb(xPQ z9`$f_koN$rWyDExHIB*+){pd)WfjgP6I7Iz?P<&Qn75maRI8-2*%$pT0hdq!9W65< zk=<rfIPhS7Ea4rf?o05{`&NsSgj*!CN%0HxaQctn$5i*}<C^x^Tdo0+%fnXzU{ z>h$YhEra|fuW7+y{@*VxDHVORuh*(ijv|5v;!zt&BTG1FA-6INRX(yx8%#hM5poue zbx*xo^?e08A1sMN<Q4GqTB8`op|EDQMNm~D76@qU0-nH%sJlXgZkOD+#Km=ZS}r3$ zBYMeI67?^zr5f~uu=wP^s>Mba!Ab;ZRmw<wL^9G6>~~s3ynib^N*C*c#RBB6Y@73L z80Y=vK!pFB3k!Ydw;tYiZpss_s`a<<V}BtFqR03*cd`mX6NI1`1k`3vSGa(QZ#>s# zR_hS;Xiga5n+x?;3LQiv=XhlJn`c?io;4}zopEJ>8CW)gJu)dt)REI#M3UG)s|KS! z2;<*hTtY#W%*M>@#r^dtSLpsxhQZum=iTcf&^*iSv8w{I1_S2!!r@W<+0p0S-|laj z5ttWt;Z}!qssc})iNUuA07JJZzP?i@{w2Q!#l3q9Z(8~r5yc45?)ZETQxeCxHXZ?w zy|%G5F1ODjz-xbomc#S2Pc)GOn(@yd*HE0e*;8dI3)3Wi&1dSWA9GI^^-Cf@zI6#C z<TJ&XzcWy|1Km>3dXL?&K}S*|@-k;j<u1-UQY-vkE9SOmA@uY;n}MXTX^)4|0?y8Y zv^&7W`^#nrM)vmZn_K+cSy{&kqZL-QOs3LiD4B|%!Ke#7G^@<1rx)9#$ZK$41$QP^ zS>BUY4h8|(QrO08GVH5(Z!qT#I0g`^YQMAdn=^7CdxFSHxD4l*@C=fygVpHBeSrX7 zy@W*wP(Wxum^ZJjnXC<qJed6c?2^w`D-i4{&bbSrKKZHL59>;+c~ZKF1$><0e-5Po zhqm{Q$Fl$5fG^6(u8gFTRAvz(BZSCG$QH`X-g_iOWt6>VLRL0eA!H{jdy_pbdtJ}_ ztowW4-QVBu8L#JgJ^$P<uRGV}y3X@+e%{CXIF9%6c}CZ9d&c!Xl=%xCkZ_PJf^(jf zE4O|mA?VmDe2X*t&A#1$m0=*v@pkzCq=#JHUKN0L`S*t#|MVo3m3m^+1=M$+OOx2i z4~`t@n3VF*sGE^JeM-HuXI7l$5djR)*?<9)7`5FQ-xP?bd>b7dSZ|uzS*c|7z4R<_ zb8*u)NC9K3zFmuvU0QNwWo7-LKYAqb_lg~_4wdQ~^>iY1us-;LGjsh%O^->&m+s83 z=@BEdKl5&dHv0?B1)5Y&V*c5)`ce+(dzw#CIrspYnLc`d)13DKgoT!?QdX@I*%)k0 zf1jp_Y|Wung7{H%vx&*e+ms!(4uW;YMQg2SY4$TR{s|Q?-n}D78B|pH&`V7I_1$ec z{wCZzQJMni(aMo4YO5B%56*x`e4^ONWmrs1PplZ&;Vrvu@0g(~17K`#9kd867e1eC zQlx?%+EI7>{)m&wH?tDx9Psg1`y6)9E?0VJ=9pu}|KT*v-JAHOdCr4Wya0Kv2;}a& zYFnOSf8dZfCanM?Fw1}=0FjVu$u4K!583}PtFaG228>y!$jQeRL^rWKq6@|bc}Q`f z;-I}-VsXahV0kgZaTqBD4R_r6t>&>`^30wYayxk1{@h|z0LgAdlxd59HxaPG-?02q z4)3c_a{scMi@?`GX(9SyqxYhN;+p00&Bf=zEF$au0yodJlk6dL-*(WS{-&L3p5nKb zbbtZdzF5V<8A@Y4)HDby7Qqlhrl!^SB3p=aeYY5qr@;a+Gp*96!==uscFB89mrour zymrC|O~mQ<Yqz~aZq6MOXHorH|7h{(H;Q{)QrBa`1gx+(IJIh)*+||-8@yAfcTugH zmnOpH6vZok?`U<6cqJQ@nZDZtX5ER*ZPC4-jhZ99qhg=vbbqwpSnPcc0Ju5q3(XlK z@lST9QgtqwK(I*O=SET6FaajJ7Tt46Q^lXIL$IN#i^|pQgSF(}>r=k8e+hG#1I>FR zc$=sfx&y5R&AFnUqK(|5xpM9&ER(M9M)=|reSaVzBQ5-lxpDj1H=~DO9Pk(C?8yw% z2UCV>!Be(IxkvBpGWR0QNmyb3Id<{qj38+IPWA~eu>}ftt9)yNe@U`v!6A-&WJhAk zqJFhA;DkUdJg9~s_y3|jylTW|P7yDu^GpT!lp{@itzA+m;|1#$H`7B$T5UHMZ{5bp zx&E6e6&tZQv=F`QsIN)&B&a@bbJFeIyEA?t5>p;#Jb)<1X79dUINv?aj+TJUL!Efs z>HM{Cobv2;luuBljx+a)8Sd?n0u%Bp273)AAX}{!Sm>^`A&R6~k<fTiQH8+!(~lq5 zwC_S@)K#vtMQ9UXL3)fuQ{<=nt-yA$0^$x#Ng;*r)r;6}snTIj?9U-`TyUcMH~mZR z_JgHT6+C}IdToU9|7*$n#jcK)i_TEN0{>O59$J$ByL|oDAb%eq=2~p4fO`U9DkweP zjPus<tV1`Y86JV-^57-325f)U_hgrl%vc6Ohr9Auq5VciBQ6p|cN)EOFQ9T84iKT| zX}L;x8v3H&=<yhi{5KG!;Y8!UVKPB*lpv4LK?EY~Yr~p_y|UJ0cT$*cdj5*G!yUhJ z^*a@~gwpvBp81r68x<i{#}gdlya%>#;~s1`rbxzA<!HBHrZMXn*Zu0r&4>hR_dZFa z=F_5~6r+zwBiJMdE{fe*-{NbP_PL_Qm`Ede_ZUIKFiLc4WZ0fQqZYOU^UKrK%f)^E z)hw(+L9ta<Tbp(d;o(^Y7dO8A21U3YlF)W%9I5tqUxOhP0Snp?3{pi#NjU?8(Am31 z*L^M%UI3JIBpnRj5Oy%IYiaygqSSV%UtuDbn&)xJyGH_cgnwT9=Eei|{ZBORxs0Pi zqQN*+)_s!Wqwo$QJI{ygzWWT>DeUmT_oZ{av&=Uq0u0pee-wEvNlB1CRB+w`5<sOj z3C3BFgc7m8{ZY=vgQ=<1yJ*MS^GgfL;FRVDiW!A8@L)^2a`Wb}eoX0(n07+GNQ=f( z!<9aX4)EtQC)Pa21}L{`c;sw>Z{?7$4%(1Q{P~1)U#)2h`kPm8u<Y<(Pl-;`ve0YF z@31MN-R2&0tKOD--#YMRh{xfLCEZKgl&H4BZL66@q3eT(g)4eFTl|JKje@r_kC<k+ zU;OFG$0%f}vbQZ~)*yw{a?_aEg6+^BUQS|0b5b$)6nb=|X_|%S)_&g=BHYsmrccwp z|0di(uY1-0IPRw-r)ukIT<G~;4jZI+B>1LlX86OHmuu;k#)t+Vk<Uc+>xXgb6q?0< zP~cdf|E*`?{;R!H0<Y|LyeQ*?Z$*lVAC#FU&rK20esAbYtNKh4&P(_kmL8s<UPYmv zp(MrbJglu=I+`HMcq$HDi|=%1)jQR^i{gT#;qSMV45!d$CrC(iTK%>_^a%rMWdjkG z(1$npiY!{eDw}7Hmb+k9TA*(BbMtD1=X0JEi9+OnEfjQbU#kw&(jVS<P7J+iE|2xU z+Bc`-QF_S1h=+H4XB@_X68Kg@31DP;p=<FpjM2f8-{FA;THR^%FtU{zC&vFOr`d&U zxsZmQxvs-Ixq~cWQmm9F;Y(4ia8wNibJ(eZ-CiFE$GifjSXd+vKVU{wjJug-u1bgR z8x4JAzWu2<5i}?8K$2O>oq=HEZ*MO8H~5#4LU(raP9`yoB5qMjQfeZPFG!`eqks6P z3QdOJbX4zoIVdkap6sQ?5*S(Y^*)}=6Nw;E@s!#6ifJ!9q#x}%vN-*SpBp{!qTDdv zyy@o}ExY@73D8Jzo`Fejy=Gu#$F$?lQKfAhSiUR~Fmr84vXbxZySXm4jb(GKgzEFD z-;3NDkDkmc>3#3Ei{;&CLk-$58V&{?RtZiE%Bu$ZV1K%6N2D`55rr|QVuraE7S<An z%E7PKJ{+o;YjZ-gaPCO|LRrRGWVivKt<~avBP3?sEWPK$IU(>==yF7zARzd<W&>-{ z)AMXlP3=;b<;vkCOk=dKaT1_M+5e-rL-a7xC14;%JDI&S1Q}#5=x7thf@9&Pj1y60 z=VHs3Rt$J^;lS1N*X~(c;3H>;ihQYOI7LAXjPsBkK}#hafl)g)(0=0`06SJCgpOQe zNd@<cg}1^6)lWFxnZGt=(EiIL6@+ZFujdMQZ0ObG(C=@~0RayVgSPeU>Pw7_&+N_4 zDpZ+Da+{69!PL_}vx6Mw-;Mtz>#P~sfNR!tG;dUmB?*&w7qE)_hle)|Dh9k@qtHE^ zp#@JaFm^0>?n0tEiP3wVVXB`d2<N-6cl-;zL{N~UXu*0nN)jiUqRg>7Z4OT&e~>ew z1HI(mn|m_*t?j-mpqzsG(gA=2i@Jp(^WpWj37n43tu<WMe`%(r3>CM61Wy4nS6@d2 zi@~K|Ovr=TK9y4;YU?w?0OKcH`#pHwwzMxTGqtbQnBfx=UcEi+-Dy-~?n~43^bC=~ z3ldY=wFz~Ev2BUSEibev8c_Z8gp`85j+fTKXOtv<Q{7_R9LgxdBx9hnB*!%<pa__$ z78<m7X&CK+MqhuR;cq4~@kw)*?B5pS{$|1=^{^Y%3aMZ8^1lJkL2^N`5qJ*vwbUGN zg2SWNXF;ip{WpSnwPD+L2oG6vIMZBK^;jfoP7D6{Lu7HDV+E)3cs0;Nt1AEadYzWS z(hxNEmj=43&hS`xG`ym0=d_5Zm*YpLxN}Ro|9Bz4<#vev_Clgw_cQ<%Y`CAJ4GC@9 z*j&a^VMKJSS(hfY)MV%UCXSmNE4y2U3ruODD`PYd)k^If^BGtj3OSlghLt{s@$TNn zN-OQQbhDXsF#3mItr*$INTm<R*@Hq1Soe@75n<upl}%_|#Zz{RBiKpK7sZy$2reja z^MTa+r2Z(g(1=?DoUdgcQgwc@{6<`58dXeol*`e4gh<^qMBwseAR_g;#Y;of@rKI_ zS4*qKW<0SiX{Zh~w)c_ig7aHnyW`jT+v8Yj0?z~-V*vCM0H0c_Kk6uy%YP~_-LL7q zU*-$F#EY)rZ2s+QtWJACKK$}+Fsmc7PqIl;irwM-4+kM{G-c4Q_xRF(mV)PVMkDc* zlQ1E&V2)24@)st7$IW{crn`Q_6~I6+Gx(oZ=-u%fr22&f9G60bwptD+!ELDN82AFg z17f%YB17>XKe8YF*rv2EuLqxv3xQAYUYnLJHS3fBctFqd!B`A}#Y#_8AM+U+C0j6` zG>giDZ-wju2+n}-*!mZ8fNKDVAo#C~aSWV|$UNeI>?X-ZP`M-9D1lT5iyGevs*rTG zN&(p6+s!5>PQQFbv@MB&@tZ`}(nn56N;(|A3daNZCC~0xdT{9XUY)5b^YSK?d`Ht} zI#Lw`R%5IFWuR(phTi`!{OGKp>SeWs8@Imh?Ws<Mz|;E%VKboyh}A^@W8?sDvEk8R zc_d#3KlrG{+UE7;GeiF|b)*7N#wBq9a!Yu=_vMsNlH4t}fjZy9wNF8$eeNwT(!NO# z4jhO-C}uuy;kLMT6zajIoz|y#4W;_==V{0`%1}!YFrzJx7}p(1G3^f)>kD`%7lap8 zV#y$MX#Kp9i$3K=2|fF2`}GuFIZD?EW?|1Og!ah2kb!$a9&6+ANF<Y3589zcsN&$8 z2(i6MQ91IpZ}dWvyX}?me~nuFShCzyCupH09*2*KS`|jCL*WhYbAzXO!#SiyxF)8P zegMYG&Z7S9EeZa>qfn*EgmllaEsI)OqIAUz)8xHA0MRgco|OC|&+h?7SXaoHqWl}A z?QiplpoLSKVk8#OBl8xB%7WDCfAo;VT615%q7==6PGhh9A(%0~%*BPD+4Dkbb9Dbn zfVxl9ROPeKCetLVx(|p~1T??IzO>U9;^lD^QrnG0;fUHiRrDg1?B5Fp9ucvc46STd zD=U>q&`Fjp)Q`bw3iPBB=$T|WWKaTiY_E8#tv=zS<y_jLkR>iEb#T)fYOCpBo>0r7 z0NPesJP7k_EktnQV3!4jcz8&A-5U*ENY=rgjnJ@@4A<E$#_!Mfyu2)%(4OqzfZjV; zf^?)Iua|#Fh!yA$VLl*KB>%_H@vBwx>mYeJb>G&O3l5&FS{C<YVr>$E+!E9;ra;9z z1_>Vp0NyaJJ!8dBaZdIsAr_Vz-Vk@p`IJr>OUut@+Z}(E?`9{OUp^0FDSfT#n7+Tt zx4mF+7YBA#RiG3SIRH>!`>S~(3Lw$4QR0{pJ&4F-f!k3uu=ydu)<>Bip-J%@gaghX zXiz5yk7QSN9`+Mxc|4G3=y@8LtvIaJJQo+hn{oMS>dxMq+vI=4N0FV^pg2sxWDru` zkolb3!&3^{NftqPPA+qX@Wj~~4f>h%DfSoZ3OQGT1@s~^Je0qOHMT8kxNF(w;D3Je zG77WZzzsS~QfGS9tsG8IPpm)G$xAH@KR#|6B0v;49Q~cK-im|yv;N{Rf#A*VF2i8_ zkS&Ixk>x+TmM5G?ZTR1w2njczVeNC5ZnoV^eYO43wI||#lv0<%K~SKhZ)SUThTb^A z$y@(9{qfSz{%o94SC3GZmptre{B0M0go2Nv#-Jc1))X}c;P!tI0_%&Bzytm2qhR%q zyV&o0P}PBGh;DPnk6K^>v0y+zJ>hCVW>?z27tET`{V`E++c1-Z>nw$F(J8pko5uQ4 z8wymtrUNZ&id0XBKL|q3(QA`F4gzkR;UNi~M83xTuP=cLKn8+--DF<J9kvG91N>)e zDGC2k2u+n~!dN02blA(fRgC&R(OIw#)m!+spUfdl6<d3wv8=n$xW6+$NPmw1f?P)q zwSL?z>&_W4L4bFT%!M^Dn|6i%O1<zyob#YXTaQmDLEWaTtnpKb@}P5l4B8dK|2qsu zufgX4@fu?XSwiQQAty-LT*(9L;{U_uf4m=%Wyu)t1;lh1Qp^5;Y{J|s6YA#RF`Q=% z2}Uw-P*985z3nSuQmNRf9Bg<5Bhye{9(_O|So2wJ2rIr7kF*@m+i(N1G?wsbZmYGI zVs~E{4&Fx_+;nqeybr(jy9<Sl!5j12WwfYr>7a1s9eUKcveSvi#N&!XoGmhsVS(JX zQLxF@Oz0<cU3|}hIzbie=yucyMq}e%#*XyIav#lR-HTU#$mOP~>##>g{%d=l1TV>r zss2X4+x8bKN51H0Kl#Hpq%zj1^cMy|{>sXwORu`p8jpeK_Y?)Rte@e2kywg+ftz7N z97DN4e<)k^(Xp?k)pe04mn7wQIFITBQJ2$xa+=@Q&wpdig+&(e=4<m6Q6{zZ-c06o z2w<}O&liv{1z9ze07vR>?@DQy)D_CtJ-c?o&(4N4wQkZpHR`4gp{ld1cjbP7lB68^ z)#yOsU$ww<=dS|}&T70?Ns62_2?lrIi`!=@)4ZkNxXRV8Q5u45dk!@uaBzYjN2+w< z@5X0R!Xf!?fx1jo(Oa4(XJ-ctt+3$G3qA)Z$iD=l|6U;LDeWTnfm+(x{%(g5zTgTG z==}6JFy4?$9iNExv$Oa0ckQ*;kk6&@_zW-wM@Z6}!x)!5MeVLOTAkNDeg&6c1fefL zxcg0CP$T&9Q=eDWa>IFu3b+6xpTD**{Bc5`=@ByEAbyXK(7;c>@z#GsjEOCvGyWs) z5OhfA{0Ds@IOjr2=RHJL`9yQ!z>djeMn41|aTwkCjoV5<k%JKtw_#$^rlzI~R0bY@ z<8RoE{y}x{`@b*_l|qgDP6=t+cA9395hM<VOG$*{3ZJ)c>U(t3{8dD@2(MSJ3*9+_ zmX66CPd3T2dG)GC%(o0Kc^#*-W`nG@zDHytQw8Ov&r<-TRHtfIF5dXGEn!X1gh?fQ z@!IgfV(W1D13O0Gvf5WM+!G@BzotYu5Ni&d_v+;)k*jLNrx5qBli({>k4J>pyvb_A zE)zyM((wBH?HLxl&2%?FBne@=^gmwoCi8)5nJB$5Ry`u}RzZO)cZ0f3sYLv0MT320 z0L_t!;EzipKfZxq6>$vKql4&k_z7Pwm{l*h&&wN`?h>~?3!|TH_T?=R7CQHM<ZsN! z503PKG9jPrhz}dgOvl_Q5qzt@^+r9!1e-UxloJxzsi<{N_9i=eGrQm1W?~9wregPo z$|+8BjXfBfbFJR)&|I2L*%VsskN0}_&XMwbH8}CI2V`|&e7H5TV7fR+fAiA{B&~|a z$I;Ni*YMq5_!Y515v4aivKI!qw%+Ik`aF+<r~87elq_rlqu~oY8x=)6r%}+J2Pmdt z9#7+G>vBc&(t7x~SJJK<+5DRl|AC%<+-ot=;ui41>QMYF#hMHQvx<KrIz$!-eo4t2 z?3krTGI8B;P$iQMHuKY!q$1q2`%5Fh-U|MWD1P+QBfr}n;Y-z)^Q}UK&WzC@zE6X# zS8caOCCk~tvF4x@F653s1ghgWzBcaA!&<j!uZ4E_Jxnvg`8Lhr=l2~S|2%EG)J?>1 zKOoSHdIm$YZ(@_vbociK;w^qx!f-aH_$Zs=VBoWQgN9p<M(=Z)J}{}RtE38obkp&l z32UHSD-?+Hg8KmM!@GNf^tLP3LMd9#qp8|V8MyJZJGVUI{bs+>dZ58_^M{27a_7kJ zfTNIdC`by{R|n*lv932^mj=CB*L?%y;CZT9={;co{l}Qwys*U_hMn0q1A@`MhfwG* zPmQ5ZGMM?KVNbnPZ4QL_h{hqY5_1HE;X7}b^wJD6{zp!lqc)Vv`26HB7lt>YKYkn& z5YmPfejo?g5~Hbvpl@KUyR>5q?{gD7?e^R}a1!vua?@C!nUGU0-B8@3y)|jK4+ha6 zc?&Aa*+&hNF8}xh!5a16diuL?gO30|0=WOO?XsV}Ca`YFWpRDad&`Ul%W)}U!XP9N z!(*ZD)sHS-YulE<x@FB3NS!-+bPg^6nU4hWQLYfadKJbzy+6_dDGOt8uzJ5av{DGB zd#gfm&J5`@qsGRb4Vu^K<&%-UDZ!G_+F)_u8gjwhf=D%+1AiDXc%n-<yY%QaN7>yX zOfVcQ$z%*Hu9gH^`YojAklfEGog}o@A|+q{fLwuBS3P7XUv<a&RD}LQau@I1*>#bx zwh|>32EHI@<-CAv;I}tA0G1XOy5M6bKO3sIp<I98{v28$n8L^TJ_(+cH<6*iEBm|C zeIbkco1uLx!=;aPMl|>drW}1>5yHX4ZzQ!KR=kMpzsy}=Zoh6vtn9i<F*}(<MounV zmY*7VV676wjf~`z_PI9xke9<=^{_Cd9~U_VckbmRADkrnIg^w7K}Bi!bvf?wfg-N| zi*eLMg|fgFcNprYDM3<XFLjW*#)3tdeYPzQ%q)A`PJWR;r3zisug4T0hED35?K^rs z-?bv3^Zv?nq-vP-06z4&BC@|tvZt;V_%Me_7r^v*p<4x3%P1xq3>^3b-9uR>I(lEw zW>32l31HplE^!0fX&`H&!=*1%D0BY?yRj-iG6ujiN;@qzK}>{8Kg`FS3N!N{jXma4 z|2Q}f+Z?V}RMIgGMfhR>7suD97cT6p{&K0z$(0uqW9`iB>)INRMuO{KcX%ejd_fg1 zF1b6hRZ=yHC>N0#E3?hI4prvVgsR1W#rEWx#2WLK-Ism;yI3Tq!a<($tFpH*9s6TI z)y57PP(_BIjZo}S*T95tc<sd?uQIYm6JR^>S<VT;BgNF0zNE!sci#wUSI6hh3;-LW z&3HoQ^+EpmvmoTH>7e;|2O4{Ww%2+}BoMD={3A{RR+wYGA(i@ErNNGFOZ6OhMkJ(O zd8QNa0n1!hs-mpOmwc;cKp2kvShSu0=8ZH`Fd;5ZY$DNux3Io<5Ojj*K^Ke)&)S3K z-*A0{Sms>cZg?XzEX!4NWBGl`mw*UA_*kad5hGMlM58Sv{ruqFz6fNPc#6Hd*)J}J zF^re?kUD@8rc)P6AV<%*2;yt=UE7y>+>oR-AMoaCBcU31muANo;JB{qYO6EKR2}@; zCaY7Y10c`MHtOBas&@(?KozS+fZJUp>8pL>n-E<J5q$a5UETZ#>2SJCD#!}Sm+C6r zbHUdOUVAbTzjAM(b~VQCOuF^&a{KrBFxh=HYWa(30W%??0djcl##duM8P_mY&FUP7 zjJMxbN0?0q%MzCOx4ITGD9;dG1-7?It~wR~^4Ik7B>}<fklFC3|2ESi$g$h}4^}|V zt_l-w2CJD2a7PP$l@!DxUq;zF<uma;Vno%{VEI#b#)H*~127_-DAn^Je0oh{Ua?H! zso>#3qQue*WB}L#!^EuQuTwWen>V;rVyXz672rS39cGBEfBOwS*@Z#yd?RGKnQP$@ zzf?FryvY;Qf;EYU%s$dfxFP)_U~Qc1EW!Z}{UReH%ByCob7oxVC|R>#K}?K%yQvJp z0UiK5zNj>bEau%3)ZD(^mz#Q0=?>oK3Lk#N(rrVvI5sNX2Nz$=g8hbWJEgyP2e#zR z4`Gw#l^*%)br!3|3i(=b_r7n;u{t~O<aUe(Dr7+J2RN8`tv6gf6OO?}IBJ2Y{Y&zO zbR}>ZhDcI6MTDOb+~uZ-{LN+O7EwWWn4J(?6CamL`ML2FoXndJE8<8R4jfNSKNMJo zhGXoS8fw(_+*_)Wxb`L-!SVqT<Dy`*1?}KnknHF*f0Z#C%Fl;rN{`Hf2jBko<08dI z2HD};G#C?k3CGxA6K$CX<K=X70BbcHbVLBo#NZbsDc9S2GBa8|To{yN;=p{aP~glv zQ&D!hyiFV<NQ#6`ya;j%f|CeOJ>m)WJa%CkaE#^p#$6H7=aKBirzM_X47#@5K-xwU z9HyJYo-D`kmpWeyQ}1axsYVz3?;!)17Cu5mZUSLid@&CV8q5U~in_=(T9i()s#?WZ z+4KEQ1pd(+MY58=bP?5?Ex3*MwD0}f0zEX$UUfkL$b4_$llB-|P6J2&<_MPh7#lox z$DMK{$OMlxZqgIe^S(#46NPZvP()hbtC{xa1@&exUtt$+Tj;{j>>fhCfSZe;aG7;# ztQ{rt_hA_6JIvbr;m5tmdpE(#izURzHs!>#Qg1Qk>(o+B!E`ui-IK6(900dRkw47W z;fi`>zOKii0aK3Y52adX{IB@K<OV9en>wMnLNJBR#bYl7%ZsW&fB4p)(BhS%;nAHG ztMU_}3ZC`GHp`P>%Lh_8QpO->^q!~<dPW|+DhToDR~`$Ix9<{XSPM<M{Oo8v^uTj` zu!FWz7gUWXqS@wH!f<yM>2jimRD`N3H#m_o9w`cXh<YIUIT*}C1?Oz1Cgfv2QztKo zTa7<C1&;B@05q|TMhbBYX3ZucQ)MQ-UF5YvQ6z^6y+$!+V#veX+ybC>vJosk!K{MB zKAKMBV^~N=Uv@F81)dp9%$<<|wc?Wi7z!VSi@r}Y?3Vxfp;yG-j`CtkuSgART<Cx8 zYE}`j#SMdvv{85*Ggyu;P5-d%IhoL}ii>kHf{Wq~IZyXcL~E=2`?48z<8tXOvm2b( zit4k5ZrU&vvED2hvSunM%rDgJ{9-LiOs1fB^3CI|-9t|qBF;daW}=-6Z8mKVhvnO| zLoSA;q_gp8O_Yy_)vz$u$L-_fn#$}JwE^olOIr$1J}o@}`zP8j=~AwjJ-Sot^X1|4 z2Tc+fU(m9+%s(i6?_U2x4sF64k$`y$f=BL;n^|8;N90)2F@=2{aDam)MrBK+@#)0o zF8+GGE~TJG@oRsg^C+eawOE0;pZ159`}Zj_4r)Wy$eq1j+Qn?0blFN+C|+27Td;Vv znXBQRg)|+s7Uv2cTymk@a6WBOQFJOm{H~*_emu=Ulw9?XCP=V2hvAH;61Tm=%j>oK zx@t0B{4r{AXPmJ``B3KGuJ8qq!rRw0x(z174^0OuMvtbNN=7vZh3oci{v1ssZhUey z({i)=NuD}2{|71ppW39>M?&=<?GLqJhDA<j<Sk{}r8Agz=KKO;SZkDRG~?Y{&v|J? zOdh^-A2udgaJ_}0xqel9Jnv}fmfH-i;NcT0Anr=NTLf;Ti>}3Tz@B!2?l$4>K}0-` zkPxvK?ufKr+y~R$nTuCLe14|PMhWe!T{0fV5l)r5Lv-Osd}co{YU*cztxGyJ=Ll`> zyqycy&#nRrI=V8Zh-;KAjTou1qb=gO;gl<=gxsB|l15UU-cW`N&9Yd<DCf$z_s`SZ zcse0$e?(rlCNy~>Q|)CLXZ%&(emm~Q`h=Bag?ixw*PB_R6&=%jDOx|p#l^WHUs&a_ zaDx5D{D=ZJkn^R-?sbR=Vp0vqRa-|*2i+s#%08~^+yAI;#u!#+6;#e3`Jsmyve@3c z?vkv-BOKo95xC-U;FWh;ncZ+t@r?h~hs@iZnm%vxjSk(Knr?u}<^l6it~R^jv1j7h zwMJap4m4p>@DLYO-<K|LE?yx)8&%uy?0mf_N$1TdTajm&B-Z{ST|HI6YAqs)+mP@L zf96GjERNi&Jb$=gShpM*!*9}T1xH4TmnEWL_h#uks;xSf=Jd|cyrZVIOyian$6JsY zITN)tD6j7Yeipt~ME?QBKGnG&$^P`FKK6m5`w!7C4DW7*&dp}#B?$Q_NItB4pq#bq z)0xX=BQ+4pz-A~K#o<2GS1fpbpfAlV^WOWm-RRIl)@be%hP%zfkoNx-{>~Y+wcOd> zT%gnhXPd)J<DDk3g4qmL+xNBC?gfRP0!l!PX)>UIPRcYM2Rz4Z1~!q{bJs0u`ZP$% z$j=B5_P*_V)Cf~v+#2WJi>YUG`->|k(VCn`8^Snyn5+ir>edd{^**bxg7K|j0m4+D zDYaFt^|-a`sY|Z+;(cN&&X3RAdzDw<1e|>_ks@FINFrOAcUl`ZG9MChRC|0m{^v}# z&5C8d9BXc*dl`$nO?bt)Rpfr)NulZmLmAsNS4*{sC~^xsL9dFMw|DK953V%h;K2C` z)M?wvLGdXv&xBxY<grQ1wq3gTx#XUwKY)Oh*#KQisV}B5W!37^#m(+A!X2KwH~n7y z<Lq|zE!(NAuJysV4&gLT@Hab{_o?OWQB@6}lvP#^Y}w}Iu#VgvH}KVGkYflAj<%B? z1Xx&$*5eivygR3M%W;S3aZ=cs10xq0W^dPNdok*`R+dw7)GPJAia+ugUdP8BbllGF z?ze1dMSuf%B=y13;q~uc9>W4W#m{X%(lO?_^t9_kplCdf$}Ukub>%D4tHe)^7zU}o zrCsy%JR)*CI*pC(`t(6HA6tOykEA#pw2%Prj=MqoaP7#bTyUJ(*fhq@<`Z%Lq;E>r z(Y%T}*XuDUac=#tgWaE#7M(OQpi%hSo6UdE6FpWnP}*13HcoG-wl&>Rv1h%U9Vpsq zs8(rCYFzZ{MDFGl_HWgW_cNg&X|&V0z$J_HnPfO+q?-Hbu&BqFo|AJsceTRxxOhm^ z>c?h(k8IL6{FUDfyl5S04KX#G=?@8<w~Zt*5(BFP-V}vTm3#$nYpm7f2tD&aQ|lSb z{p^9GTIN)8uq|&6!Z`&s24005tW}zO!7cVP(;fik1Bta)Cd-oIoTh!20WvfME>By> z_#Wk+*e8t}-+fFfpCodTrSG7*$Mo3ABIW|eInqKC#lEL82HV}qcA2+`8iqU*4coQA zWOwnxf=BLg0sz0YPLq*7Pd*VRCF(r1)oE-7t(nV=ydi^Aa;pyrpvfXaeP`!lHz&QN z4_gTgGU|6Lzm`Aky-b8Isvs~fA_$Xu2`4J3$<?^xDw`}fNlNdRlvle~p6xR;)H?Ew zC*{FxqgcYW_6X~AxH_k68i?jc<97>uDU4$z_KT)#0_7`iIuWOJ94MxnAyt8)uTNrj z!N`jFy$;q<OQg@$fI2_9dyi}RGk4%-F=<y3y_9^4tR7ol+=#*MOpSmr?Zf60{=gp* z*>G<g?yKGz)yl?d6d<HxdzAF}@T}>G^Rv_zkK>8<VifSNHRCC>i(brO=Iu%~2c#%0 ztg4^Z{xb2!7rbihCa&DA5-Gpk9lBzFR8xC}U$y*k5c0jtqjr|h+VUNvsTyf)PYBF2 zo$fd%K;H5`8}G+vmz67*aWfts`6v@~AyzGqFnd4CMtn|%8Q#g|nOKP7r>QkAf&*hZ zjdC#QPb)`$a%p^ibRAda)u*b=15zG({=u=0NK=RW{Eg6S3l4D(S2{$V(m7F9M7SDO zNI&JL4K_@|KXx9iy%Q#dBbEB$+rlhUvk%6g*CE3E6XUB>j3{$tdndc{k|$7&@niv= zc|)qSO6i+WDfrk-iZgpu-%Cqdyk97@#@8WK-_SFj_7{vNohZ#;jOaWWe(&}r-cD%D zVzh?yF0;eHVy=Zo4D`16O$Bc{Jm%C85*Ko_Yw2%ma2zcuRcwk2Rqc;6`Ub`#77Hs) zp}z{Id5c=HHP5K2Q0r%Rvqv-Ls<1!YkCRN6c}AOCJrDzzUvEDUCego@IIv*1>~Wg4 zQ<^HX$dN1yr=&;Uw<BkrgsS9P^pw`1z$YSpp*iwIOP;#v!*sHHY5OVP_Vz!T_H=lM zl1{Bj40h$;H8bcK6gM`$`qplF=H;F9vDQ+yORjQjvEpzYO5!$Hr_kEYl(4DKmeU5l ziHh>7(Gf|JN3R8+_g2mo);!QBxtnn9AusaR@7*(Z)>kQ`Ne+rlc^bklPO?PwnNv<c zxbl+&r@bwkvCn9IP&wwE!}bjHyFp3|Tc5I0bf{kojowXt<+-zKtXl0vOTlt{ZS0u5 z09s6fg!Z;X;K;oa-{>2Yhjdw5B@v2gAwNnmTsK8o@(hMA*z$SZPWy7u-ysFM23e~A zUmw-gwR=dZ?3{Mi!AoCSW0+z|ZGKckv^W^(={DF;`~97KCItKWFn1{}zsLyjU0oQd zb~N5`?ae*wC6!t@tMzP1>;bcq`7&-ulih8c7WSxCqMu!q+0|@<g3KfC7#3GIH~epV zkGZCLbCok8?k2L85{w}*B%8mYF_PGJz<UMOMd*c*9|aGR4MeB<Dor@!smtDoR^M-I zl#p#Ck#CKv4m(%*5^juC&xh%!gUrECZK|$bx%L`9?R>ESTtC6R9SxAK;A{5Niu9yE zW;{KjR^JsQB;2@vmffzmZ)Y!kZm_(l#hNgDt@}+Nydfku9F*poxkU_SY3>v5lf=%v zjlcF(wVH2%=dis(t~ewvd)7<R>(y-N321`wEn<n~lh;{?{5p-`Sl-gM$~RDAEss|8 zAb+wI%sW`Orp*D$Oii5`zOP%@Z(UNRrG=xS58^lxZb(bxLyyW$)E!T(LbLO8>}H${ z3_OkA3QnAzsZ(l<*DiNF-ws~!cVIG`6@@=h%M>ao=rbA@8#{z2E9+XB;HFkH1ZTQV zyx4^)A)mqHGC9pqjjzLK?^4-nXL{T^zovy7EWOm%JX@@xUvCiZ4x7e%=j$IX%H?f% zdlND}%vKm-dKsdgovdE;X2ConI{L2gv)mSMMQBZ>1b?AmL(wT7yRG*V{Wv`8g&uKG za{3FWQ9*(?(jE-5s(%VuG@YGQUmSL5Ub6pPW#J+9`z{H$%ckHqVS?+{ZI2^6EXe=; zNmU-=${TWHQbnggJ?iGBq;l?HOVUqOW@Y?|O%)eTw{`;s1rABcHoZNUAPB{|*fnc< z_1Yn`ory}SM#Oub)?7<^;(4XX#)P00o--#1zGJU0huZ1s%^SgOud3AGpB6_sn$=pn zx^l@lE}dNd#1ct5>rq!f#UjvK9oOOv>2odlY#uW`5iZ#58@oYFDmngcqwr}%UBAPg z(zeC=(^ed6U=2J4r!FW{KcikDt<hePmXf+Eba<{Vi%ISYw?^rkNU7eQb4V{BSgCF` z6;#b@$9F=T_NL<K`Buds2iAw~J~V5aJ<utqyE`l|dD+aeCH3ram^6o&Vg$D{B66(h z{oV8Mf`kU*Y2BO8dvnhFm~U~HeqW4NFEm%e6CEM%VCmm-lanr27f4gUr~6_y9dMhl zo}BfTkni9o`V%3;rGxAH9bwG4$qyJAPmlR(SroEucc$NX)ROl=u#{Cjo7UOuq}L6e zmx}QV(<=C^lO2k6vk)JNrCMZ9dV)$JXYf4$?CCtLZESEKotyvIZ!Kq8GlUN|im<&s z-m~VHF;z4~4Kd7+&F$@A<>qEv6-b$Os;^)yP(6Dh{_10-!YL?lo+$4{Czjf~QV{qV zKk)kU?%`EAjgEDt^4u70y1k!Hz6S)SM<2;9_DlC=^Rs^&75w=Ts@%jR8+uQJ1uzo{ zfzQHefyufy*WyJ9zG2$>dTEtNu*Wdmzsg~=Oc}9YvExk3@4?rQA0}k8`XH;$r7sgc zkyz6NT#i)c4iV7NT<e~OI=h*VU_&pdxJzMvmw(;)nt6{dB(<)yhEfI_*0?k|G?a%H zqoHh>*QI<Q46&fYbl1f+<yx`~SnY!d2IVPWO6}{cGVY1`Fqg5RUFlFlf<)I{4j*+P zK{}taJuE0Pm#s_GQT<%yY2k-%l_U4;i#^}G$@f97kJubT0o{68m@efj`t8rJda75K z0*&(XtqCe+k77@#<j$;)bQ6=Tq`fn+TDN_Y)B@#8eh<Mkr$)hHzWq6*ZssJ}m;?m* zL><fs!vbxD_Ui$73LUfA@JJgc7Bb&kJ(LyHTED%yFx=MAw%<AD4@cTICOgr`nv)_e zXJ++Y7&MHf!Ef7osyA4*D`Q$^&Wm2C3<A)|H)ZZPzZPgZl%F6Qvpr~YmFwxbhDQ!z z1rbrPu{8&GN3G;i*iku}ooh2wH;>~yo$D&NA{*n)A12>@K#FVt7v_*Fv&l-{dfSrs zN(he43xzz9i+P4@)-#KDnU#npJnG8H&isU+M~HsXEx03Yz|G5hRh-1lFY)3vc&Ct9 z*ZPb=1OsMk^p4lhe)?W2FMG*YDG7Zn06N7ei>lZ5&BLf~X@)E!A~_!A$qK0#aY;=( zdKP0%mf9~eGzwR1Wg87#9@3}2+lGO<lsvW85btv;%CP1<m<#tU8N$Hd(3)~Mu&&d{ zI1*j)q6^_{<aODjOM}^V-{vN~NEE&XwPs_FrsE4#e#0C+y{=tP@iVfNX+y+)7BOcF z`X|;a2Tm$QuBy`(yE{boKq1v^R64@@y=%^>F|NTKwkADry5uRbUt9+{qs>3q*fp{Q zcnUdViZ5K`-nt}s_U5$LF?=E-{Z^Wm3{56{k8Cy{S-Hfo+eSb6PAaLDJf#&nTxU@C zpiMs8t+TXO379Va+dPHSlLvT6C-5@lrA$I)6a%iqSWffw&yiH7$&rI#!-St=_Qmo4 zG@kR_In6I}x8H_^i3XUE1~aQRz=G2$7&x~s1WzjCqY5i-v5b}i_Vwv{*IS3wz7hh4 z`g2Sgy&XpbdijY8Oqed5J{|VS$rS5*FG7VJ>e{|71Q>D6FWk?l*gYTxFjx3SfN(^* zigP5jFpjjT!1A@lT`1S>bPrJHuyH=eyUtZJs^YCCq?wNx?Q4W#5D9pD9qz{y0?N-l zkv@Y-y1uyeCDO2RzFf0ET+q$%;66^?SO8a2#4mVxudh)d!4T_JCJZ~n$8CCNNJl#d zR(^cCSV`#r`(DSA6I|hrY0$-c$ECpdYK@DK&U;4=Y0l5&UTVKhIOh0(2=`ckM$p!e z8pgI)9A>aNde3Tl6en)5qRMI@F=zEh4f1vZZP5Mbwf+*4@9MRR2y)QC|Mj+<fsI4! zroo+1Q%F&ZHy3$%sbtujEaz*akL%@ojE^9KWLJ08_lK#098ap)1IAD;^V{mr0l=Py zr$EA)QYv9cczlKy+n(X=T#bm|!rOS{b-zBplWxcJ))&Z+6@INRkY9$cjBf~4C1``y zue+NSMx$D`;X!*F6=fqmFL}TH;`O8aGzS%YI)b~-l<RNfabSPAlys9>VQHBxZF}p; z9a~6<me0;VpN-#jid7}|?9Xpi?&Ax$!oCKx*{`c&Tux-mcaB$1O%Yvi*%Rd((xCNG zsEL`}8}4==k|_rQ%^5D-9RpFnCst!))RZ1or{VoR**%p4aLBs9Zm8u}#(;8h=dX$0 zthSn#;;xH#Cwn%X={}PgP`$P>d7g<@GaR@s9|#t?KF%RWG(YyR5$Qakgn-D&)37m~ z@OsYmmIn=riY>L=R7KV3%7wXp0@{G+tgLeeZiQhESBZ2sKUIqL<~&zVoywHmXOFp7 zv7xDQKNiscUL|AbtA%0~7U_;-q}6qDgQH0@)IxH!&U9iY=;3jDdvUz|30Kq!(#+PK zzP%q2MdlQ~HIe*1*3$#pyGAnwS*n$T?j{rCzR{gYZf*zzcDiv>A1I~YeX36jpK|ta z9rWptV8K<seIU7V;TnLvo7|?hyVWk5=5WGX{aW=YsGbNl_U`?oyTBeSr0K$He-WX* zAIn#i`6k>xY%^wCKGQ&-&(3tJ_>sH&SuKwuo~kO2+Y0#dw!iP~kkcg-6}$Z^5iF_t zYV8*Ubo!lp`=GhTl-^5K(8*KJEwAj<yOXV)tdIebB0k27OMc7<7&)|yz@tI;uhYU; z^p^sMGzVv*oJQeM)y_`(k4?o^;=$Ah!n<SnjA8NnPYCIxu3IdsF*aZY!eelXaj1;j zwK6D9=)7)!a{@1LQxf~bE$MmMADss8Jp5on+hRgX?ZdHc2Ylm?icOSs1m<Uct9zve z=i~3jy=Hp>B-@nc2cLm{;4nBKXz<tetkIeA+)s(*w4fO-=RP);L3cii(}TuF=;*~E zo-ScePV71Q4#8@&xcm8>1az<9L6+z^#7f4`Rzny2GAq$r<7Hf_Z}<@*+40=r^{ZEx zu3mlrZ2=D#*Lq_+YRD9~k&sFuPc@rWGvBL|%{I+?+L}ix5E7MB<cGiO!n`lcMegkH z57jE%<a)~aqP4a4l9^J5!W9%;MvFPYSD2jiQEDrfuqpKT{NB%bKJ{35v{wlrI3&TH zxBYaGUFjTz!A}3mmny9XkBo?Bg8#1vR?IyqiNXmAV7-Ehs|dl(4=Sr0*I`qU9=T<3 z2Od$CNL~lRN0^lhXS;LV2Nwp)S3-}2UXyzT$kTfr&n;)yr-|OT^*@J0)SGI~8<8u) zfgJnsLYPm_;9$y)*TcNPd5B81C&{yb&yY5V^bkL@UfhSk)Ap0lD+%XfTjuS$-BHUM zy97a-7L9;z&K%V;c=x7@walCpIQrq1rFux1)_z(3>gS+7?WHz<(h_!<zo4J#xMj;n zU%ezG3GLv)fh$5w!s_1KNIE4F$^o6wMc7bP_N=xOHkL<XUrz4j84qir;3btVg*r!z zhOjZb4T@O2Sm=y1F~MfTxX1eME^sz~NS@7>o}Qit1+H0O(W7`4sJ9O6u`_$bH{RNC znVo9*niPliwe|Zni6vKbCyl?}qnoR>Hjkd#%iU5_v5@661|htI#!&Pt@<BL|ToPuN z94~>B;|^G5$1Y_KQM7)pTH3MP<AnDLOh~}h)~3ZSbU#Dv6BCvskKw=g-Jsxx-8va| z%MQAGbr&=#Xfn?PT+PuWWQPQEEOjAQH?AL9@vql?$WkK&XfDytDUso{L0<;PZGXGW z92&TNQ)fOacWqO?tHi-1&CboW+jfzxK6Y25sWZlLt}KU#6*G~_!m3>sbDH6F6x`&X zEt5u1QNuHw?l{CW-4L9~0VLw@rVvif05juti|Xodf0^@MxI+tbqL+b^cASjFX)3s= z$-FE;m;-)2@begNZl;Nz4KN@lsF#(Es(2IG{GrIjao1ybb+auXCR>??mscFfzNH0f zB7^<?l0azS%%s*Uj=rZ~PJnXyCg}Ky32~%N6UMT3Ib*I2TrzAeKgsYJ!w7s~4HN%f zywItAjl_}9x_<fn6K;N?lJW1UEPWR?v#O`<8W`S{YHGdrr)^u#n4S~8<V{9WVbzM1 zp8EL${qnD0zwut{qmjuPEDZWlfEiln+g|3^$2jeN7}l(cwUTZTf?87Uak$V+%S!j< zd=uQmd+|8(tgwMHNCeee9dtNqo#_k%2xQI37ygRkx#MBa2&~w9ho5>D7pSgwh=2;> z%Lg0<7@=;16X$A0Z^UO|58n!ca`#t{58sdSo(HmzPplKz$~61-*m9r3!c3s&-&b#! zDlWeu+3uZ9395!1n9dXvPNePYVzY-hZa?YL*3({mj(ZPatGi{<S^(nB7c)Z+H9tY; zcpq94-JfV$h+*BGn>|Cx<`}sB-fT?d33JafiPev*Y#kzA&Nm~uXHCxD?J1m9`)TVD z+Tz?ETM6deI|98JE$m~5o<kJ`^x9fP!fAo>=LD?->4J*WjC<CvxBMI|pnxZ>ZGhON z%off|V>y1ZCy@_;Yk^e@7LaNx1;k?AA6h3;g+7`#y@u)#*vfjo@>9v`MiQk+C^m-y z9W8Z%<t!pp<lb&qOI3JMaJa7qjrR>|8#JR)H?x1AdzCzJ!xxtN!twaU*LtUJ#tKgE z*}o9U_-vZ@$+bg=9X&HuWLuGo1>4gXy<*@B*w4t?I(@w1wO3+zwD`DhOVYD`&msyU z5r(UepdO2ZJx8j6b&6h>a`{|Um2qtyGkTt;1uoTvFsb_6vbBzf*<tVA8Jx0TvKJXt ze(RdIZiw*VKzDq!Udol(8)MnqGJcfq%x!l2b526wWQx3^;H_t`BXZawhQLM3XNYf} zU4KU0eaLM{pa0mgL$#f`ZO8|y(LX<Y!MNFhAEPrKd_HUVBi^$Yn<gKf7O=vvV@`s8 z|D~(r8nEz=d*9$LUIgmkq7$XJbP0WjNR2CwcuN0LcVjI)5{xX;a{c-4n5U4jOYiQ! zOe+}|XJ#4wBx)8UIM=ml^O-j12H6t`9A#=k?@6Zwy9!<ge0b{ekQ2cSOR0RIH}W<= zt8ocF6NCNylP9)t<yT{w7}k;>-ef$DG>xoZP4Vf>Z)EpwS5sZ`F4c9KG{vVbxVX&7 z(_E0)MU7DRay*J~)F`^)2I2RDixnd314@8da9;O_Z(o;vnf0iLu0tfO{Q2%EOM-l= z6uUg}2hNQQJVaUegE`c_;eqaX?*@}3TFyBvN}1t?d$DcrQngdfmp(u^dJR)Y?V{7* zJ=wO)`R&6S9`A@bXU!k4tS~gSbFZ#rKCN{&j&l67;bZzTPUiX_VxvO(Yk_}o-urff zPKp}J{+k<wwJfgX^wH*zqC1Q2E~8BPFf(rq$HOpolgl5bqc{(lUSL*EzYyHK*eTK8 zc{GAV{_(FGuFaOGE0z;HeX61cOdzS9@$=lE=!}&ke)o$W@jic%f5=}o>0L_FUg@n^ z7jXc&Q&(ae`y!__oK_E<IM6Iue${Vk(+I^+ojW%+S9jH$(FZ})aMjj1&&ZO<1=@xg zCW-h6qaMx=l^ZHDkdF6NdaS{=o~3;gNWa!+f@Xk-CMHuRY!`)$xB_X{4xIj?_@3yD z+5?kF0>IST+MlE&XLU^;yphn!2FwiTv;da60^<4*H-fZ|pSV;F-~WbLZ{OmNUA*m* zT)98#JAR&y=gGnk4&jnMDHuqnRzCs0b45`;4#Okv=1@4-r+Bk$WyCq_QFTO9SMO={ z%1eM~bvg>ZRm*Acjr2X+jBz&{VHj*`??u<VyL0^bPIAi)4yOU<hQN8*@?JZq{lg-l zna*&HX<giI3I!^?+z}A}lp5Lf;XnaGpQJA8#ex&&p@ucaMQ=lNZ6h0u{(?0a{zG|$ zYR|lrWO;bErK!mc<9tWB=76l^#s5+rYQqk?NGw7PA#D2AG(Qk|B%atqw=6_zHVHp% z{!<*F>`G|flPL-!h6e84dxNq^z*MB(o2Gi-nhX<71inGB)ALG)9>x)H`TURq3cZ}+ zzG?q;4h~xsYz@$BBoA&vZBTl*PN--g4=303nhi)Ssx{(0oVMr#oZo-Apk1<$EJ0qR zaQUk-!VwVv-=*+`#=VkbV@un;*kz=a^Z!3<;a+K^)nv)u>ka*6uw2b){?E1WX+h&p ze=`r~P}UpbpKf>i1N#Ryj7rqTT>q;#Z#Yl@R01(!pAVO4zL!f#qXf0rI4y!`KLahO zP-e}W#sS+|93S_S?_WF@513v|dNiC?E;walC?IQ{zhD~pFJeBS#ZJ8PTY$g6DGHkU z+Gm1GpsuBY;^l|=^1F8}H4CgiXe(awo!hmvx#;lzxkA+bTg8kVOy}=3O_|;G^HVTF z$Qp$?7ja$t@uD|{uz4VESo2{-y2w2>=p=w|{@8EINU_}4(bCVpSAT)XWA6@%%a{U& z5<d-s+Q+J#d1wbaUwAH@vI~A@#;?D(POCv6h2u+iT4Z7haK6SVkzG)ZQW;eh-{?d` z`X_lyG_i}Mj7*B=0~B<EVJ04rM?Jd)zH^q$>dXvXLxk#${ut_Sxz`A(++egM9Jm$K znf0G;GLePR99ZrGLW^`0rxngMZ=idA2)Pra2B*JB%2GuWrf6%=gcdT%)x;A2zn8#y zTx;Kxi2zB|PZn%=r_?rcofU4IDR)dA`8@|G!Ya_)5<jB`iUUEUHYk7?y$SX!-$4W8 ziYC}}eEKX>XfjVN+jPMB8MquQ%K|fFiT_s^=YXqHLNhdd&8VB5oHk%!iO;yGnF;e8 z0&Z;+Q4n)}7p3KvF>8k?>A-cE^B~)JKUpn{o*@k+vs@9#vVL0<@VZ>a$mp)GK6oe= zO^?yh=|3_L;kgB*MnwR^AsC3_!wGLKGOiB9HdO9)Y%b>4C2G3+V`9T8S_@$6$Q%@F zMyWg=TmELS34#a#o{!oTZqt#D$)FJlXlsSd?;qFJz8R2WyuKE^Le2k)>JKg+0~U)l zL!nz!=5W~6<gUCl{&lL)QzaMZuUzSZ!nG$`ZNs+(1cYDm<3r=D{#6<_!M?D*QT3*7 z2Rxg9GYWm}+qVkQ3)y(LEE&VQ3t6wqp8J~MaphKMKcGN4S}E`(j05w+VQ|N>o3^o? z)7r>z-=uN`|5+O@byOKI(eKtJvFotxm@6)EMFd2M{8-%-j4v-<I_MWw`?$k@KS46t zd}<gms~q!fM}5oCC5Jsu_iM^hhI)}e#PvsXoSZy(qFV9CQ<`J|qBd0bHtO@Qn5fXk z5Ce>fJ;dwymgz$1%i%*dp}Yn~AJ&HBL$txk*ro^(wcm81_0pwyhD!p#nuDT(Vop5; z`5@}kd_2dV{eo%(3+xapWcDr%qag=kbD!C)w`68Il@m`}w0D2P)3?<!;A2rja0=`- zC}#(Yn#G{vlMfn#Tn5EJB|D=#qI!Q?>duadTU;+&WI2{~2uCHy79oV<)+Ou;0T=1! zQu5v`lMh0N-yXRQtPA_TfbqCBpvpU^&k*#qJKJUEt!HZU+A+WMJRHEj6~+X5;&W&f z0Kkub&u%Vwpvo6lbL41@gd~OyYK%$A+whb=DH`~wnq|cGLBt}ZkLESk?XKHR1rG*7 zr<@K`<s}6{z@?)-aZ1d6z_k*e=hHK)n+{$q$XrzZDojifB2z7;g1;e1@(*~9j`*yw zDo4t;k&Xm#ba<x9CP~ZWX$5n&L%ulAI*E4cweJ)q3s)En!S}kcF@8#9C<*CLpitJ& z1e7RSPjutRT%En+_m}f3#^NLW=MlFwcs;c9LQf`sR4gS9ZbCYoFN;bJ<)<Nd%l!Sm zn3j`3A>v2^-=^1E8>ioCC}cVIfR#c7`^K>046^WSr_P-%3Wi?zq<YGw%>`wfA2a{7 z-gut}SF&*uL2lnz>1xObguSd`WBbCa%%adiF^0UdykzR1revTfLwbSIZfCRPG~8pk za*Q5OPL5^|**-k<q^320{Dl)E(VAcdLJ{KBXlpXTC;0w7%}~1e_zrrGsvNkCFIO}X z<yW=RoXs~`H$#=q54!uMIZ-xm#>W*mI-Ua|_~gb!KPE+MxEy&X@7z%r)XMh)I@s@Z zb!*bkg6k#Jn<6|e7mh=^JCIbR)oyhQ?~TnL<njT&%d^{mylkczv@}XPZd~jcokXEl zvEeIHQ~=a#p|Sj+;B5|0>4<${rWESRny=HLMAp_s8w)+J-pkfz02(~DSD2!*9S%;h zW6)3}xCcH4D;FGN25<rh1}c$Ic7$Nir4-96P|bQ+#u5oK@7nl=A#m{LP%u2(X=Gm( zAeE}ubTC_LyGx+UkY!ocUPpRUzhz4_mM`vJ+<?-*+m|vsqlaf?a~3S?8yR>QM72hI z|IM{)nZ#hfzR5HCylrb`c1R+nL66n-kqAB(he6GF*aquR8E^xCHTSzZGvfPbih<%+ zQ?OXjAhcZ9`cw<Wh8NsdQ8p!Df{fxbISuNB0)O(W7VDJ{nt?kzE#PFqduC30bGkgv z<D+F0Nw4{jW5TdW+>g7D7<CAHdhN3p*0=Ue)T-wk$X^XfXs~G%#jwovcc)WgPmNIa z|EAFVq*AB;)V^Ng>7JllHbpKM(&p5^HLNk>g4r^HxP{NZ99FLcd~U3~4EM1b7h&$2 zF*W$^jTOqKjceIHj<_`;lR3?DW|W7P)<N_+Y#UD%gJ(A*#INikMk|C?US@mW-fbKv zdg*;FvuPsgBjy`*{Mqj{7Z{(}koeXfXSqAf12oKJfD@%2H}p7~WyvtQ3|frGu-)F4 z`O=&L0o}6Y$SoQXXUZ?<b)oH8MWd4x8yV$z?&8zsNdF?8efV2IL9m>cIfYo%px3|e zM0tUB@1*kU00Ii^Ia?2MkSxNp_oCjcdkP#Gxu_SXxBb)7Ad3i(B>wT*EdLt3Hz>4V zbqG?d{Hu!*>BE@Rt}6+ldm2U^_tpXn&DDGz(z5936(yi6-B=oqPU`TGDYMr9sFvLt zy>}TJm8i{5N>*hcA-Rfzw2jUwg#<;ocKqn9G>=5IhF7%+G~)JVq(u6hLdi4qzV;1I z^7y9J(%~V)qxGAJV&Jph`3ctUKk*wZ%P$ZalR>Ti^5()8^nZ|~>+P##094r{TmsY@ zm4f3!z)@?$AuEbhsM}xiG+sVB?M!=IwYTy@3xK=)!+m<xJMAWehJDf1zP(`Jg)JP! zy0WD?5s#S5V6SK{&lC2@y#9;yoaGO8X+fl71SQ5B+4P>wPthF@Uz^PsN5csgaCHw3 zxOVpT$Pzc}jK0Rn!-T<~o(H5M%2MMV5d6xXZ?9Ccsf^DgZE5+e&IJ4tyu7$FR|(Iy zRmYid#{@`G9Fu1x4?VF8a?}&{=yL`pkf=elyMDd28G{hl)0y_#Jcgh_l>S;Et<M=L zY26O4!9+%MQrIfG>j#>3>ZdG1$N%4W90-(hyL5AMD<3k3bqA)`0ui$Mw|YDI2?B5a zt0_xKf6!2o7uy{694^%WTIe{g@zO5sA09;x7EnO-5CV3c6+gn<E*=MH$NPbukI$x* z3lM5s+!lVIgEG^Q;FEdO+H?aNCo2-{BQKg+v9E4V^hb0HVSt@E?EA=zm=+8?cTzFI z0=d;(%uR?pVv7DwZQR{ot&^pLr}=Ma#?<Ip?a_IPgF^iA(Ow53IVx>z#sH1zWh}pU zI&T#M(oC5mV>&pi?P!;wZSHW#o4jOjVN+Z|vEbE1Lt|q~nCk5+zwTXH2f{5*6fxba zHc;ViOhp9&?^EcagS}50UpCI2krBnJvH7}d9Sp{0!`H9ed>xW@`gL~|{8y6c$up>6 zCDGt-0*Nj8$JFh&YYS$0_{7<MZ3dITdt|AX<H0c_G`f3a&}YA)c|7q$&~^Lp<f)MF z-~y)vKhWofYy16$PC~#X&*uLh?Y(7Om20;?Iz<5$0SW045d;KDr9lBfPzga&T0&9@ z=@3M^L`q6PL?k95T>=8qA|2A*-EqdFYp;0s{_l71bH1GO`<?a0g-+&t=JVY5xUVtB zbzLJK`aV<adqGYVUMHY$LDro$>@Sv<J*~nt18??ce}}fY_Z#r1c_^-r*9(b3$t=BR z5t<R4qxlt7LR9l1mWi(ArF}&Xq5^TDz<E*Sv3xmTBn92OO(Y1tHyUm21laVUxmRKu zo8n})$s!G4yF1gefqmuEa$op)#SR_2qM&;0I$%fWUn`RkpLzNWv-M8_mWOBcR=#XK zYH2-TWhrel*ZVDAyDI!Q&rg6Xp!g&Ycb=8~?yiMUKbl%}Nu)J8j}#p9eU5RL#dO|P zDpq*KQW4R6i%7_aM8Lr%En6`*E6(<kDG}*u)xr7sFkgmapt~|?IY0WOWEf_?y01)1 z_2XPrYcau^72QE3`T5=TtHcqK$zqwxus7{LYirOfkkx90^*r5c7M0y4K{+4toWe9& zT~$czAw8On5j!2403<a4=}Em0vmUh`Syv8aMgw;jO1eYjqNt~MXYr_m44QW?0ILrd zp44BY-}SE}c!S|+A$L!2J+(Ytc3<Boz##b2rZOG^Um7@(`qOgtJL?h{!CNim<(%eQ zJy7l)BJ1!5zU_HRCjw}htyP^kg(WbhA#Z<e1kPYCBy9i3_OP?!W-du^jM~2UYHSVm z9{IM6C6qK5_3?kx@}|Ep9qf|$Ndn*D27`l^+Y_bNZQej=kn%VcIxYDELp}rQV{P6s zMCV85Iqq<}y_4^KjzcG*@JGwC+N&UwUijxJC<iwp<>0p8UDMyqL)azfwIqPZLobZz zSYC4f#)4xJF#5OGj6#k#8QP>1?OkH0dyt|K;pI2iusmPXWlA}fkTb|Aq~3=!=-lr{ z8S*bDJQG*?2!L->#E5iQe#v|J*6ZStJq5AKo&b`V(e_l?sRlu&waNqbW74tXYvN_e z)N7SB$BEkq2`Zn(kJxvoYbX;0W^<q{CipPW`0LMn%EXTT??XR*J{jpVQCdZ&#xSf& zSJ*Uk+=uskIh~bUyK|8lQ#z+!s33W)?vo@>lJq?Go#QLr70s1q4ze_&EYq!bzj?kd zQ;~Lks_;aqztuYxoeVIZ>isd%UB@4NZlp?^HvVvh6D23>fn$wC_@ys>NW1qX)7jrG z?3Wtw3rN$q@cpm$_IV5Fh9R#Qd>xN)AjOKHt2B1QxI2T~g~s6}MOXT;4fzEzkJasU z%y*il&p$uusCyDOEfoazT3<U#uL5N&7LcOGLRWioG@mX;x#OlD%!S&T+-0AG3D_Ya z=e-R?L_~m_+^3Dd)Db6%JBRT-PYS=pc7BT3na8v{0F~LDh-dzy2d?4hssmtzT9ckM zaTxJZw%M)m*ua2*kg$5}w!eIO*Vo$GXJZr6B|;nLVJaOEwP3j0877q%TbUZ~<iB)V zR*Vi6m@^Z-o9v@IIkWer{C#R_N09>kRBPN_FdhjTb_zDvDAddATd1n)X48N<YA|{H z6)tUSda_i<yIUuLxDQsQWrwYT@gh7B{l(zU6xEVkdvqt-9Yw;f{?$~!j>G=@#oXLn zd$aEs#l*##Nr}J0&|i+2mdlKcgfuj=-UV!&F)i@6G&8-S%pD(eImpyjyBJ>ulbyI} zX2uEw@)%fH&bluNJL-V5$sCQ)<?S?|&3Txm?uixPeB>}TJ`Us2<3(8E<2`<TJRuPg zxzOX&)XS9#ky?(vFgEK#SOd%nt1--jQ+e^li(0)~DKK<beRuIY!B|^-wK3NTotjq< zb}jEkXLf|Xemj@VD(WS6>-qB=hI!;}ZpVXMW>!m(UskRUF8|OwNAlh%k?(#Sm)FRM z4p_;7L@i@y?XHMs?#n>R8zG^gxAwxXDy1v8xVHCv?26@gir-f+{4!W}Chf@+7&PXG zBOOV$bI0y&r~fxLzG1IQ$<4WY2_nFGX_;sU+nq~CQ}u($fzN4+m6rVxK+~~aP6w+L zDEA4$axCm^N|sb8w9o_($@*ZJr5tUPkOHIbV)?DH+}zv>jPs52)olc*QHH}h{rOLP znXh_Pj*p>KOC1DFGQP$I(e3v;^7Hct&<MW;li{HTUaV0o8Nb8OZ2h_bI)>}vCU(O> z>&mln962EyFEBY<1AQolC}g$XOYI<_re4fuy?#Bsvr}n*-$8Ubje?-r>%D(a@JFoH zI?apBbXB@)2l-zTbx<KHh6nkZEr#6Y1D{8~h0>e#W><B113Z=CKss+lUAs7EWy4ql zpkjRXlX^Z2piP_7LqGP)$KS?-*N66(2b?%yXAPc%`0?mlLgkl-vM)VIT~%J(9D0tT ze}zAtLaJ?JUup69eT^wCEv<)##{znNT8-(WYq{gbVn;pmvRD;YevgG+k!gB*&u(Fw zLV1ZIIaGIzLOF4g+z)nfB!j4C-w-8g6k4dVlEB<Yac^AxoowCD#_bsHeR)Rf^YOxF z10@&yYcamOIElT`M_Oq9Q)Zh+xVOOes$)4#pk&Po0e#fr&?$`1N3eQtm=E2n$D^hK zta3l0SuVW`6j6`3xVatH(o$m^W4GI-cJ`+uiYGecp1@qiK#J?tdO1&5Ms69lMc4dj z6RBxy3yzJYqM_vZ#;j7~Z9R4V{CRholq8kqp?Hz&pm?K$7<3kH#LdhH{F4$W`{y(A zKYsim6SC)EQ~#_31K?tP15;GcS}3>{5?0kO`kq*;4N12pq@=(NLAqpn=ERqv<;pAE z+(ao4q{A5R12|ncIy?`<^?05P_8P={dBBSD^gfrfeXfYby5qxrDghgxEX|UU@p177 z4+z7CTq0o%9VZN)#K6G#*4p~PtS^_xa)|0_a~E9dO_+R6+Y&Q9+X3r^<}$SSaEY6J zVHtm)wTWsm<mu6hX))a3=VyAzf`XVae7xf6!jar!D4zE1F#EQo<d4}G*u7;2ILhf4 z0@VX$(k@?T10pO{XHO$jlu^~g(zUuvMJyd4yv*#-h2e?=kBy85oP>BNaGyMR(yX2B zzAd`rUR1=F`Un?hOODNTrI#K2xVv>z`ZV2=5Zt&mc>DsU%IJb=c5uoQhvAA75-8Q( z$w-*@6OBvBYqhuWWGI#|R5Fkv$8=gYa*{^a@eS;%)k(h#@87>it?Y!*K_@&lSZ8Ry zObDmrgKW8Osb=_-ygo7^<MZ$UMqutEN<u<nrFFn^eS6p~@A;xSaE=@dI+?U6xnG5> zO;Qi&=5bmqs9w5s2}-w*4GkUlHsFl$wqFwX^cUMg@#K}-I(svzyM&p_^Bl(C&2n^j z$f&F?!5qjCU&{(<F)<I961`-}z@pdj76}Eayj(w?nCK7PtO`q&g`h8H97r)^BQQop z_|Z*{5(C5Yd+L=FNJM(trM@MEvx@ma&Lm%*<>kxs2_ZV@be-s?NH+b$y-g}U`w;8t zR!-}>a}dy)BG{*A+LLcC>D0ZwZVG;5VviohmS@1Z7WVqBOs(IAv`1-#Ms0D{Z<icW z)0EN(QQ&40Z{f#uk%gr(-blh;3-kl=U@H}m$^O1$)*|W)6EkyzYfg(Ihj>yt*P8aq z`m`qMPKiylyr>%&7Z+8*vv4CiH0Wp8h*{Ss(iA0V`Kw`4B+AFv7ZPuQ&p*3v><&<n zl1dHcUsixUJpCH5oKF_-$oGMJv3%{Lo4J!s!apy=iJkbH8usgC9<A*!DDxiK*T6Ur z#|+GEbw51z@bL5mcTz@}K59MPW_>isk4Jh(7*Sh(oPZ*(|KanI)6zM&-Si$meabPa ztNYT+yW{f{MO1|IURtUhz-JjI2*N4y@NV869sE?(aRUSLSyXWXwir4+S(@<{p!$Bp z0p-v)Rt|-i*F0Y4pv$Lb8P6cxCvvJ<>c{Y+dkLJLy5ioBCCtc)1*oj(BqlbtQwbQb z{PCkSVx)2#YQAH59chYJo;O~Ug71a_pKKRmct3`ahJ=wD_F2*$ppX}xgyD%DXiM!M z=trT>0Ob@OBNfmzZ$VLa5$?cm0_Y^=^wsU{=}-}uv-##)4?b8`RSET`5zWrd!j;r? zlwO7i|7L^rH2Vd&En@g4NdeuoDF0f$wov(An>Kh^8K-MmsvQ!$`QQ??=63odwx~7l z7^iTZn;E9fS7$3f2?2@#_F0*#i8=)*wyWVlfjKM)h~HI^)c=M`Lcd_<Q>acLe=!;X zp9t8gnho9(0bBnQjD@`JzkCBPVp#iVt#ae`Buw?ptq)D7&z#ArbRG2~jqUag2$-mV zp{oXqOT%bd%d%B0m=4Q&<jDvy3@O-&!E1FJ#%eblCJ5>RsqY5PbuBinr$fL{&+Mj) z`c~QMGg{*?TT8l#E(H`tM@P4_zuO=A5Umy0pKrn+u8}RgG-2r(jAp-2!8`RLh?;tc z-6R@WrE7z>pUG$y*o1M8ABM9$1T>bRmG^47VjnM4xoL-Y=-q995)@4SjZsLJOl&uX zumG_e3!l9Duk&DQc~}na<q71_`RTOr#V~KRFEs)1*p7XldjIxJmCNEl7!aCK=m6(e zCHXagq#)wwJ#HW*Vb=;k;;Yh+WFxuMf*>mX*WLnll4(k7eLqq%9u>d7k*P5-?6y*c z?Xc=a3cwDAzxlwX6ZpKIbIVi6rO4}ibrUR3rkCUO!PYY?y782p9)NGolabx=Ct-`? zvSl&S)1U21Cq<E7dvuYL6Gmy)uD6NG-MoqF>+5^NrV%0Rv`t7&-2x+eXNQu#%NMG| zU!mm7=QPdwO2X--g7xy$PkjIQ@M~RNuFdR&q@*PKwT3IwGBSE!eF%EY=W8@e!7C|8 zm33per)~DoM?IfIgY{r<9?hy%7ByPqE%-UlVSOrIWDpjU0RVGi59M@&spe>ie-SRL zm~uj^r*6dH=Jf@LT=C{IXu<&W2z8aHdyF0!C#CP+9S^(hkMi;NZ(1afKiE%HWFm$$ zMZZ9Gb+x@HLr^1?p5gk1ln1^rXxK2XSU4Hx?Ap$EKcnL$09lXr2jywkiSA5o7^Ih| zUmt`7e!EApih_{;Ok5GhNjh($gl?UCn6A3rr2+=RtB2de*8e<Wh<iLx`RaiW(jHG| zX@alnTH{BBvKxly=q8)2H)a$}x<1uLURCDn(uE^tYax%v&o4=@)~}4u=FSl1mTiH{ zI<DPMTT*|tX0Il{>j9r9HvUw&Lb5$XDU=VtYb<h9n@-(}cbFnCv6%(WQY1uYXqI-T z#la?8TOYJlB2dqpGRJ@TNmAlO2r=b&4mBGa!1F&sJN@<R7u?}Ae8wOgxAXGUoTOw@ z$E^Ecybt_vaCn%emdD7<%)C|EyN-1$UdYz3Bs3HTZTU?t3J{zpJH`KGXLkzkIjhE~ zg>0-)OKqiGNLZM-m+8s#*mzVv36-Mvmy5ln_BNjNbvtg(C3czcKO1{le&69Fh2jIn zG?<hvnH&nM?qsniB~F1N-=}{bF@8~GyVTQcG6TCS8?eDFA+fE_JWonGZ9^ygd?D&^ z8qPv~^W=`%g%`Ku;d)ceUtiN?>}*TexEr~!j2UzNz0u?T!r-1+*!Xm;tmgnWf4CRt z__H9M?^*Q|wIj#m<YelhyZ7(gnxq1`SqN!1t{i*|Ewo|LtvWdCr9gMNS67B%LaQ_3 zc=$Mq<Jl$fP>vV52V347A#`}b%_n%uCig-)-L|Bcv}~pH?5VYalhX%hQMUB-)LQ#H zJ79eC*iE=d&W_^x$N5~B&H1im%LEbGV#2c#Y8=zzy8SeSgk#zFhs=qfOJm(&c3R;} zL8eAdpBaFAz^&4e-ZWxhW|`O53sbRwme|(l<p9<q6EGvI@y50OR=Dy{@M_%gA+US_ zGN^3xdF2g9VVGt;N-xQ=Uw-D4@nMcSG)2pzgQx}M8E-b_iDP}=eBngCr1$AP?5Cx{ zVt^`Z6N+;D;rz?V!7JNsY}O5_2|o(%Q&L<vc@v{O`U}F2ztPs6k6;5NouPac<`_-a z@LQigeHz$!?df)watRb5raBLi9@A#I{bXL>Id}DxF_;<x&=8WfGx+$}BYlbDuq*Xf zMyjr@v;7mp%I;ox?tCm99UTp}BX4=0Kri<3_Odt3p-z$>ue%q00~f}<`JrzVpCd;7 zPe80DZ>1PCEA}?$iT+FE3ReZ+g2W#)Ts;s%XljS<jhOaFPH~Zzx6&S*0DsKgBX8P; zlT_=|Dn0=L?>kQ7|1ox)BA+7sfwYOb0AyGn(c!xEymymJpHH^fJbn0~%Y;EAwZ@UH zis<I^=LO~U;>qnH5fOC<m^k*wp7;=m_IZ~*`vNK}MgLm_E19VbDaB)OWdp~HE&qZk zb-m<pZC7cq{pibnmaJHTsj@b$az|SF#K<b0IJ`!dwyLa$^z}8)mC&Vo*4*=S!RcJ) zHz+-^ag*Tqp%QT>bB8I`Lk|1qM@Re1lv65j3<XdMM!;V}QUv!rUPKs4KVTP3D6X8i zYv_-eT;;Buo_~Cy^697;W5q5bB*5^@P+JFQb|>4==l^>c`Z0&lPM}V=Utde`>dTkC z>w=JN?B*I|XjjIc#KyN;8ss-@jd~%IqSv=JNhRz^{InGvqM{6kvb6O56bON`#SBYI zi1;VGz~PWV^B+j_(bU~<?7yLAnCLJ@QEPF?v4=JX`j%F_S3tlyZ*wF`O}qInq^EVq zwCb*wCT5e6!yIwDRM1oST$G-k9tTArp1EEA{iA}CMmB&ab~H#$*tjUho6jN4m*|Q> znO1>wacayj%oOk!aw$_Ch}b^w>~<GbT~i}1Cx@MVtSt`^vZ|^IDk|1X2M(<Xg7u>q zX>o8w5QjtI3NYf}cT4P`5Mrl{Zvy}TiD*b9Rqgri$K1fwfgJ|^h=A~3LWN1;Yzn*u zpKx4FdwX#??qp*-U_#XM#s10Jsb9bnT6)Zpc6Tqa-yz%YH;uP=jbPB%RSJW*;6=3? z<lJO8Y(A#OAep=m03JcOu<X<rfSA933_*y|3d8{4mN)?Z>7|~tA{O(x6au;h>?hry znE?iK(Zi|XC$R><d=tLa;ocU*VdI5{LIkEVLW?ZYv1t9|40nf5#yX2hJ_STnn%NGJ z5Kb`|u#i$Ud&UWb#>cn9l?avJh0j8&L@N(gjpUGT(rA2m0^r9M)fun*+p+L6%JF(9 zM-}ADhe7{4B`D$k<KcF%m&z<P?nj3(kMf5gd@SOEQSG1dA%(zt#Hhf0U~2XQ)V8Vb z0kh&4s)Ql~0yF=t*!?8<UFKx+y{!5hZz7Hg2>v|t2OdT40s=1)RR~hjtNNqFr-LY3 zpyY>Oa(Khbs!Y1zD>ehb2lBp~>0LuM<bVmcdf3ZWJURqILqiAchFuCXeje^`jt2tB zGiZvab^8v#dvJx2_02_iEvs5tlt{2pby1E!QkHOWa0Py-RC<@dDWcsTa!zMH_VS%1 zP!V|3z~I+YZlc=zxscH+mMXKQTHzGb#~qljtZt@2=o9*$lU%cZn++VABv!B1Nh$ds zf07Aj`PgNmj8?0G%kYK}en4sYJ?S<M%CIfI<)cFKcVix4JVShgTwizAC}DJZT1r+H zZ-09^)qJ1;1tpJgq|^oobD={HP8{blGqy#ijggA2MQQMIa95EO5&zjg3NbP%Iaw|D z@fm+o_Btr6DY4A9=cOuYNCi<fh{p-Se3)Ic*$2v5kECO|GZ&XdcSbzRcB*mUgutT_ z_&Qi@P2IoS`|j2+{6?1rdK<!toz-zF0q3Y`$pD@4SGWL*e!z9Z(cBo_s|q*)^NSY_ z>79G`U`pib!Fn4KyP-k{x7VO;sQj-whc3I*N(dcF3GGO#QD8Cotv$InLmA;lfr~P$ zX33k6ADQBv*Q6n>CF9ilYCEv^v?q%!P?D7d2cDR<qiB*cTQdnx<<TAtaAr5$SsBG! zG#e@_PQ@<-FklL$zf<id`OUHXL~*k9x$G4qzE|P_A|gk`^o0BeGc{DRA@^A?jIag? zd7X<;o^Z}JCO|!V_N-VK!_SS@_LDplR8Q*6a)3AaOwF!9R!YW%1xmACVlTkbWB-8L zzqT3*y&y&PsnW@2S4_7SwVLln*X!kc&(W8H>H*9lY5j%b$~-q<J;Bm3+Whn|V}I@{ z6v1{NhV#4Z@mR{n-hnDXZ@%>vKhs<8>X`uibFF)>{j(;)@3_H~Z_+i^bm3|&NJY)g zIc=#?+`g@lqjy`2O5pM`?!Lf4#qO)pr4s+zo@)zPRHCl2Ri4=EfK`PKI~7r1sYGS- z3|peETQjx^t)J5@v7x(o(H+KycV}tNcgn)H8M^fgX1d*c-sQuDdab7~R9?xTWo*n8 ze)ZwlLb3Jx4<9hTe^j8)dY?*^5OVY9w>wa~3>hFINC<I<qwu<E_hkl#+9Oh@p^M)D z)+z9Ey@o&9%QUY*apU3@T+!jdsvv`_gOFsT7Vm7Iv9hxI_|zOV1|_@I_3hMI;q8?> z2_n}9)X`ePpVir}$i`+DGF#r%hkFiizSfw>>R{*DMZ2f^RnN~#L5_xTk)OY><30hV z#O>PzMD&&8Ww(EyFpcIugpAj&wa$t;F7$Hlw_TBov+9>j?dUt{FSL5*jO@T=&60Z` z6GUetuk{V%+%Ub<_U*GJExH3K%D|Y@qobpH(E^(#=E8t<J8};;C8eYU%RrGm_v<#r zUn!(3>s_ap8v2p;5);~6l3pP?-pt`4P6}>EZpZr7UwvV4yTcv_h|-H%E~~ESwY<Gf zKcXIw0c9ea9CrIry9=i$%&}W{FQ5Rc3zTiGuF^3veLHe|ny>_8Sb7Zh=X%nmhDBUr ztr&<|^K@Fht3L}vH$pe2Y=9Ao?FoagRvru#Sk%H+?lK|gx4NuJ<9HepAdtiCZ!Ox) zcjNlkdcY4e*}CUwZ#2^lSEHS_5IhMR2L-VH9UNR+xuuYj0#a?C-!$f-fD(Sy!Zssx z#KCbd_sP1U!1I}#(I~byJo1}8*h>aQ{%NnF-vLSI>*(l)Fgf8#rKz%Dk?LX5!e)j9 zSDAqu=Ej{L6)ar6Jh7vNje-<iy)rclbaGU))icjgip1hiH^X{Eh0EMV50wkMn1C`a z2)bEXpPYheAU>fwSuOy7tlI2GSX9&<dwV`q8y>Zcx;h0UOV6V%fzO+(Q-uK)S06bN zHmgQ-_W1sCLvynPq|EQ7iJ(eZ>Lw}yrB6uf4I4khObtn8=llkPcPJem3g|ERlpB3{ z7#(xNeC&IoxXt1ZOejM`P>I@DDuou!LdouhwKb7Ww045KJBpByaL0H^NG^c{o*%t* zw!GN?%P^+IYN$>XPS;1Rxa;XE$;#=`LJnMz)j-X2|F(uTTTXi;d*yqO=$Q2uwKETU zT!j|w-|M2M?mD2^FKg<J(Ep5{GVB(oQ8DN@yMcvIApxZVKIa_{6afK2+4|PN0c66U z^+%Ew-si0Fmv9zAkzClt@z=ux{}K5rY}RNtk^roeP<}a5IjHu+iQbutf!0}3b0MmC z{mMk7XeAiXpH94P@~&eRJX+oz37eljeNHSP{?tuLNvx`eripbjgR^AbPl6p5GtLw0 zwJnc)YMyM0$Z<V%#G?}W1`95VUmuGl+|QsX63Mo|@IykN29fj%bU^$rToss%C{mP; z$6S8cKeZWY0}e^{djc#csmeoSQ>~-f=_=p9zr0_2L+;2KXGCCH><GuTstn7)f#g>$ zlb_P=#e0kwVp@XZXiRno+YA5alI9#sA>aa^G5RX8GuH=O#AC}EzWNeTYq4uo40hZH zk7ET1fQi512UPkJ3)q(Fc8(%YFTK6P;^Xmjjw|0m3kph_fH<cIch_S@?Sg7B9|(dD zj)@;|4)4am3;N5oG*{Q20}y@b?L|OBBMYVd6RK;osqsV95TI{guJR}{{{gkk*!b4b znVG?%S5}iVooPg<(&vk7HtTSG#IFJ9)?QkUkkAU@*vjt_LMpB2z2Fy_p2Lgu_5#Sy zQ3`ZI)PxH@4X`R0Dy&;JM98mtoWiNrM-Z3K>sua}qXd89OG5ZrVd3p{a~XTpsAeB{ z1)<mnSwB4@Dyn;x6)w`1R=3yK0N0$kRORt>ezX<;UE4kS+}3meH&B3ZcrTYAW*!sy zChgHv4*chH5>SxsFlq)3AVf%}OMvM#{vEs&8@!CXtiFvgcX>uk>}t5~&Eq3@_gQMV z7Quj1IAgCKbo}t)U*U!V+`5e-d>woD-$LM*8vnP!<NrhK`9J#ghpbg%%KZ#;`8%R0 zbrBxbqwTTd^v)+|ZrbO0Q)xMsXs#XSAD5n64SN3V7<%#A8OKH`nwPFF62>Q83zEtG z@mjbfOzaIwL*#_h<*#u}SK0cKH?NABc7Jx*yLft8{(2HYV&e5XassB>B#-h*o;_QI zCAMy}eoFqgvQv29U!3o^R<y38<$TY#-J<+I%kqDq=?hI!0JBXiDk^|7MdEn)<;zXf zhGThZ%(b&1wf~$zJL<q|Edr8oEYGTr``a>bzejKBONlmii1#~`kc$njf}R}Y;t@Kd z0<gTQlQY~KIszg78|6I_`gsb?sQ-UP^+`$qz^J1>bdd9bWDeY#p4o%OqPF9H83T+p zPD@iOET_rqL(B;ymuut8zky`JUp0xT0a?cOoz=C1WUFJBK*7pA(`in)Ty}gREH(3r z-~hrzO}V|_qqepy8#z#4t8F+|Y8q9#Lh0JKPWl%Gw#LzEJC5Z+>4%o1k~{PGj(atF z{93;a4DAQzi>(+C*CLzUp{{iPGG1HpoCWj>9-?tqU;<jSL07*pc;q1rlk4-_-zTdW zmC#x*RxQzbd;7uMpnH6v$nBe9%?k>cFE2ceR1bD#L1jAAox-dsI6SVjM9b->SdanS zUTbS99#g_rK_V=~ET!1-y7w9VeK7s@(v=gP$<?I1u{^yhwM?HY`*1(En{5t;y<S;B z^IG(^eQ4Qt$Z%WY=|UIMjC>EZHtv*R44SXc2rhuLPg=%=v18aNmTj0u?@!+)#LUR! z_V9_7N&-!bIeW--SHNTeF&YM5UPjF-3oX@`f0$p$r%@fp-<56EIZ9eCN>w033A*w% z<~|f9dLR-~PirpMM3V2YU!ITR$<X!$IyDCvL^*RjIlnI2*9wXx^6N|186=b!SWf+z zJz@gg`j5mQ5GjN6A2(Kcs7aR?%HFO~fQ!rav-t(-;i1eYKllPlmsnKZyIf$1L3$Er zk(+$)Eni4$97Uc}Tf*Q#0nPA&&s3pHs__q|fPZyX0*(@5xrTg~rkkVHUP_-H;v~8Z zlx+F$zYxzU+pFW6lTb=QgwbX_z>rr=cEl{4|C{XOpZws*nk}PXvo_n2enIMJC&nn= z-rdo5*>GV-tMhCnj{BDR{ErIrpD`j@f8#c0bgY)VPSl_H?v3!3KTGp9G^oTjW+*ZH zRGl2KzAlLEPE{TXBw2kRIU>wuSc~Is3{TzmUu`UfQl5IRU3~Tn__jfX8&QR>ykLrV zNTT-+j<^0aUK%H5zvUZLw(`hA-UbZ)KC5dR-gkHn1m)s1xL*m7Gy8~fzGa2cq|i46 z3(AjJ*ZCY5EGrI=PHTcQ2;3VOW5=0oDcH?Q8JLiOj|$CC*D7qLb>naK!bw9Y+JbJ) zE~;uEn{Ix)b{Pa}R>gr`Ci>fGH_(oPODd}eGK5K0Dp^4nv3j-4QBAW_;W)WpFkUm; z_8q<~YSObQscSEhmuzu!A{G9pYwzdAD#pk24<f)e-E>)yhMhK$LR%E~)(drKXQi1< zucpdBxtU=1cy~&)KBY;8Oi<UW#`S&5WRNv*C`ab!#ofE{ldFpH^7{N_GQ~1m7wvCE zvl{apgYMF-z;yEy5UaiVRTS2cx&YIge<<*~u}9+Tbl;~KDnP;vmX5LovTa~3#ckWo z_(rA{x9MPYnry1o{_T@6@2AZCHM1BA;VIKVp(k870^4I(9QP`nvDs;ocO8>>#tT2o zF%#I2eSMd+MoVd}j@NL(HzBP<y7~CAAPPi>qhA{&KC}(pQ{Q_i@Z3kQ^&r!k!<s&l z-3axrsC%&NnDY8L1Msl(5q2VQ4~*H)d$xWwzvSQd7@@lbkXL#PZznu=C|jcqi{aP8 z#;;wgjT8l6Kz%dt=RqM(m_@$YYj@frW;P{1wDwCZ^!Wo-6yqj19R$Q>d(=p^CCU#L z1;I{1Y|fhF3%e>@oDU4N+)NqF)w^;c+sp4N)|KxvxWyGctw9!yP?CCY1N|re;TTJy z)(&xXAd`7T?5lieT!fmbq_fNQ!bQDjJKxkQcC2{U4TZ<EAEk1?>moVgr<6=42P2@G z!_}$r&CTwUr!cX;gJ80vqS);)riG;0(7)UW`-=|8z%ctc|Jt)79EM;GIzDcF$aOXk zJ#=3@?1uig=H?9>@v_(Fo)U`@tLt9FIyw^ZVw#=m^3SOI+~64(LCPSH8r0gc2p@1M zqqu&qrQ9Wy{X7`<eC!I^B!Pd6#Zs;g3|48tBmNqA2YKuYeiX!S3`cdtfn@iq_Wxg3 zkT`L~>|^UXaN&4LmH#&Rotj@j%>MfzW=wRcj&))WJ{}%SgAIv|U6}pgj{$u!XnU{P zaDTlHC*b4$iA`jMVPDvc3`<C$g~IaM-4+}JL&HXg)k`onm<`0QfJ~6O)NgEHMLC8? zKt^U?V+(yQV4&5Ktt{7QV_-Bw8g{jFYiz4Y5Z|$U2+47w!qT|?)qk*gmxJsa**PpZ z-k(>cv!7za2|N+(LaUb-ZJGNLTc{igW6v~T=m|w34O>;U?VaqW-rsPE&u)LyfNZ9t z*Nn@nkNRIP<8J_osS5P<j^zaIh?g%s+bk{HSY}A@$7T(O2;sQhaw(4k@#5phGmk1r zT{ft|lhL|qo|SF-&KoUwn`i!@Ir*M8aCs;$HwYA-!#4a)DvMKVlL7M;mHR!F_WOtE zC=nxWQbI+r)ch@v4<gM&tbj{o<62?x>F|XohXm}`N&=<Uwg2!69hl!e{KC9N&9}H# z9uPof=&HK2G3XV3Om$(Cinwl(NpVmOq27;|3mQ<9M+<;1;k|WgUGtvt)#ZC+U%<x+ zgv4GzCdQ-Y_m<3jJXYiicD}Dfj?aLvBhN?exJXHn1tr6O7^kFib+IsLoA-P7nT@7Q zmspJ{T{7)izMZJF0+uYG8_ss^SdI-k^p>Sgn(0k^p-A1NeDu|bRy0^FF`GSIyYOv| z0B!5>EB^)+`wTZhDChm%i;!&Zp#IHO6|9)9Mkh<rI$*H&?(a*3%W&C2rNz$PCx@wG z%yTYtw?G}o+PV7ZANrL*ElV3dEpe=&dMR2r{~?_usUE|HgIO~0%SE{VCgE#fLfDhm zj0koXni3o~C*x7h9QyRg4L9x#pj|&*Q6W;s?|=(xm%R-$>CIAc)x1$&E$6JO=*s-p z$GC1j&n#Vit8^HP9-;KLXYYfMglevLec(*D#ZDZY&Gr_?Mu<gge=Hl6>f)&eUq~uk zpY2UNp=~~>G2_Cv(^q75d-{7T(1rVo3`Ao9oPa;_w+7A<A?)45T@{Qbm1Rb5#rhCH zEQgH`!MZhA*62N$&VaviRktO6pJ*PsqB9JJaFnnq`cNW<JW_&oM}+E`?0FxA8n%{$ z<qI-I)1Iib&z@V@n<c}Y?-?0q5Imi!^#VkCRDL4<Em%)x)mY#1Rzvn*tT~0)Cfk_3 zR*VMyUGC1hrqU-ep9J(Pu#`#cp`7i^AqZo{dps@2X){MwTW&tLdhop!Z2Q2pSJuep zH1Q)u0>s6YdxFnaz}ID8PLcaFA?UPkrE-V3GQ@x~74fB$4GLA!nvu<OGT{V6$bC$M zl`s3J(Q0Y(^}vE!?P%jfj!ST@#PLm&tvB7@mMVH{{?5?&HVOOTi;Q$EE&HsiElX#v z%$o!?S;hQR^zY7`)8UwsJ#J}k9G#plT?LQigQ9)DNJTEVkKfTMSHZUusx;tXq@fHp z&W2%LpqzO?_nwtLepeKP@iw3IK`a%`y(nE`Ykv02Kiw&ZIx9$&vg1%Ljs=%4zdwh9 zz<RCimMcO2r|-Kj>RxtbH1iJM4hz%Q`wOESAB0V<L?5n8RO2=gk4a7_(k~e^hG7Oy z4WpqBn%v|WxNEi>3|bDXcYm2ujxIxs%nXR_6c$aH)C#pnJwhY$AO5q&&bbR>jY*r^ z4B)rO9PnG>*91$bKDzg^I!`b(B_Dvz28sWL@VVhA?PO(Lo)Xy#1DL-)^f|&s8?j|k z;ye%h&uEk=jP0nXH~}^Q-ituYrVa`fyb;rKlou=+IIFI)M$7KmE&*mg9k~wXSolT3 z+aJ(ZZq9q7gJB;ke{@9s9?}Mb)#1DZ*Ef7^*UhU}WUs8sr`D07F-c};i>qEI{IW3v zuZIoC=~#N@bX+I|OD5;gvWLqUh-&lZp|eCtcL$=6xnE1ADG9`R9w=uVMUPk+%pBaL zuXt37jT$!HpBhgVOXU`DF$|Q<8{qOPB0!izpFxb}6I|ImZ<+c2e!2k69Hc1{_2XYJ zXa}Rse^FkMVWjMf&h$aZ0L!4NsMV_+WX*U67(&<I(_2qj>Mzv~XCLdBElKt?Dlu7C zMwn}K={7b8A`1vrf9$6}R+_$OD|BctB^h|=0mj|uN$qy~Z~TWlMaw_U|NaFKVLlg2 zls|ud#Q$3Tw}~h7oMcw)u3@QJ)4i)Z^Gl|nOWtz1f4}7))`TQaC()k<#P9D~Ow%IH zL-~|j#B)OC|F9HXT77$C-xS;{La~>EFHN=CM`ZT5gm0LcDB&amU*<3Ur96w}L3);5 za0CKq^5?AwI#(;Oz#H^xn8=P_MY;MwkAH>>FSs27@1tb&_d5RzcQwOzdlc_^02qIA zTKjmc!$34i>1I_cL!jj3Ms&GCG>G&seKu^V_FhYpI1A_M%rbZAxu6~+p0}V+D0LCt zM$2}wrNf>ExVy5w&D^<1%iebj++%1cpQ6RdC6mvHR#u0f0L|ss9+h!o)<GFwfp{R; zzzADs%TEW0YPU$mk%(-@a#^h%v3xVxH-&+iwR&tn__^UB{@l2sVL=Y=Hcd>;70}#` z;{{m}ViV^?IrrSz@GdXz{r-T^dUb8@!B^)oEOweIm`FXVAN+RxrdhOO2cv6Q17biw zeoE6VEX}JWeK$|Mo33d&b9%+LXavR!{nC^glQw#6uU|m?ZxXZj-)bwgsp$4QT<vFg zDY*88FzMxKJiMJ{uQ!BVanXPouK#N};6IvcAOWR@<<Pj^4{U1z;<Lq6CG?6{mQlaz z1Vi={4wG+f&t#IzIzGs7QInsPKiZup^ab*NIVA>s!k;M0=kF-WT+rsywbk4XE4#|3 zUvP@a7W)_8c}1C}BAI$caGwSEN?QgZjwi{Zqt_VL2wh!WCnhGo?XHMLuL-YSo1|w> zwQgn`r&J0jYWKQ(ijnHq<tBBu8>NKC+jQ&pY2JD${4;~_E*2j$dF6lKQUo<Yb(Y2B z%Qr4crP7PgRm~nk<5o9cb;o5`1O?4TvKwY(d$Cj^v4TAnL*NBPL`o}XWAk~QD?{1! z_;7omgdMtyDCng)uK1i)5J0eLb_~BYBSJ$^Vi7qW!zr-%Ik)19ju+-6I~OZrUFS-W z1sqPO@Zwd8L7xcpgL&9EyX=F)z%hG#Bg}r(qsjfU+?_i<132Z%>6ka6(GdyN;h$Pl zK!#i0+?-sr8(Q7ay^!=Z3@SRK?~dJ1us+ImcN)mo|29(Pyff-;vozRu<Q&R)|84e0 zUK>DK-LV+UT;ujjAMQo#4ZDtdU;;%xFe8H%RToSvmma|ey~cYnBGm46ffSrTordmW z^udr5-ll23dW7p%v~d3B7{gtA*NHoO_+(!^cGsaB84ax_nz=#plm`t)cO#K*AqB6= z%RVzk0Rgb8W9=_6$3b{A2>UD*Km9zzTcl&p*PHDs{P2^~XeqTI@FRec+-Y*1;{KB2 zUG_&sUj)M#+u!MmM-GS{S00Ckgt)86?HAselnDnSbH?G^)uWwpe3YKPzFLV5vx0(x z>;OKkNGw$NbMx|;fmW!druOkV#amuWSzvgpel{k+w_EgUH~tFUyGm_Q9+Q0WXj&~C z31CGrgXc$~J5q3<x);Uq0(eT$`Jzv7!V}fjhAtf^MIgfD2Hk`_ac-Gfo)P!s6&<XN zWx3*a7g4#k0uLT2DzL;IYk~CPeM$<#^hP044<NMGRcuiJ4}5a0)*qU!-I*HoUSB1k zl6DgN+*6hgq*F^=5H5Dw4$-oVjsV+s>ltdgEn&KrRQocpp<>v!pKM(>>C~y)m<5GK ze-Cd=ONMq~5Ed@QO6_!lVy61_{(M=sjA9gu@|3j1EhW?X(lEx=rT5Z27K3EK0o<)T zZq1xfSIYvrSp?Mew8*df^?<nGy|aUImbw>oq=)lggoAd$2)I6FTqeYFqML7;xPobf zWir+CcdTm9%F#ZclM%XY-14^ISSx@D7i2w`cs{?X3G4Sr@4j^HTKr|+Hh0q6)CVat zsLNNb3`eZZOG;X;bu#apW-8x>67%=z39vN9boaZ!GBUl~)}Aay-Q7g_NHy8fcHb&a zRtlP~Fh}?JG6Q5GI<yN>2stg}e55CpxR}_--_$m^nSBEhJ>w_j|Lh!o86F-si2kEh zztFKrc;UkBd-s~n(Ne^%hc2(ISHGh1nwCEG#3%4x+p_79xm*m=r|hft3SF}{c(+az z#ru5(PTD|83CHv><8j;St|1rkqe>mH&PJMo;)hv{HoOB+=(D$iav#Kz-;{%-uU6NS zB?lcpLHDJ6d{z<)um#Qrjo~<A3E>vnQ`!YW+xbskDcFU>UceIGB6B}jNKEj?rNo-R z6WVyS^{wsr=n>;Zcg0j$hx<-TZxWyd`t4mkO|o2q2#;z1o0XNPu+!4i(BvwLV-4tg zwem+I&&U*Ppzq*AczO2+11xOepXcbx{DOmn508N)?oh&?@*3*k&$%e8_kS++ogbS5 zf?8YDS{3%fV7~wQbn7#qyX;#<<32O}rIYd@oDW<bhk;yz9!Tm9U+ovy7khVaub=k2 z5*ZkFqGmQ7<#;uTfm~`VD(YpxK?V^z-lF6@FLW8s)9^gsNEQ-)AD0?KCv-DW{zuWK z@fi{c-;2n<8DQRvw|KdNin%{N%XnJB_|Jw31i`=O#YjSWw&j<H&xQ@RMGPcwa=f=r zqmd7=%T9gOW;DA-dt&Fg6ptKUO#Mqc<s8F9EhK?D98yQDu^AGUPw5;8rbh`|QUV&V zZfYzG6|RgM@xLH?p=q_Zbh*=wUBc(V9U!16U?2tx4^6khm(@Z49&LBVuy`bPjC{Ex zCNf20c3HIbpGxb$d3S)1HW7_-Ut;sdh8bdV?dh%WFy)Jln(0brC@;x>CsoOe2rG%| zwirgm&i-=tOk2jo8fnm7|2})pIKSe!xH*GW7+>fBPt@EEh_44{ZH17`84U2uHE#bv zO!ZuZ|DCy^_3!C6h^0^7vi?nX+R3I!gSD8G{LT|pf9XtF)%Q*!>4Dx+fOsnR+Q3oR z*IMnmwl?oi4;#6kJ<^tQGkaNtP;-3<b^doXRnV*s39ECsZRN?n!1%Hx?6&sB1s7~f zUx79j)$N=gsi0q}v%`IC_p@MOkNH(yV0A2pR}5Q6n_SI2daJId@TuaNwtuR;@%Aae zKLP<)#+zs1I;Z3})DV}tD(octDc>L}k-5EF;=dD^fWytnH}^=I$z^KKzW53qfPY9> zMWfXOGL$K?5EF(w-49Q)3-y5f^<|jt^?D*&B03970N+WcIR04_jVc|XymmQ-^SKf` z;jwhGLx=hwKKrB7k^96IJ}aeJ8dI$adQ6IS!EfH&bKRSiYmC?&Z$GgJ<9fPm3;Bs% zB4}L&>ads3fotquy#vh8lY<#QybnK!oj@v}N-Sq>S%0g@D@zbhoC<YT<xhhb%tT2b z8v~bU+CQBdn@o}VClfJD7!8o*2K&Uj8|~J}FpP2SdH>*GisbgM;Q?kqm|+R`KxNWa zh)|d*JBTDOY5sbW@4!wBvHP)&aZRo%-#k&2`i$&Jni|+2yn3~n9+ug`y&Sf9FD`%f z73mOoiweZW!}>IA{hYcpS}z*g-O%`By-wq*?=JU?Vw}oay_~fTYaB>Hxt@<jg5A{# z4u^iMAnM@KG_LjjwS{$@_Svk2hNrL`kz%FY(6QgYW;H?kbK}V$^u3v;nui;)xp}R2 ztt1nJR{zrQT7z#1%y$9j0*|oNu#c1uyx{Dt(<4{E+WwK5mg?po9$*>68-jk-wftgl zRM&h=bgu+|yyj|IvC1ch|3vent@Uw|a<S%>EA>8T^oQ?mDaR@>y3yNF*04T;cXg9( zC`cx`Js>!^e{uh;*VwE21xLw>vMBsi(eZ3;H8sb^h(o(aVDEQ?zn_^X9m5HfT9Wx^ zrHbF^KUuQDDIsx2A<93#vQjRmKpM{cXPc(AG%#S}q*ryB8$H;1Sofn3USN!b9+FfO zO@N+a?8BioXB?O_rcVCp%@VGmW%O)P3`$40ayscHq><n__Q9pVjFg;QAa(N32Gj@} zn%nK#%ir!Rl|n9LFPS#q<KG9_NP=rlSaSUs-;t3Jd%(=x8|+JbeD43z{23r_4t)Bb zy@5KPG3{lDYk9)8h{PV_l7^vIRF9v>imc<qyWv3Q`>5I=o~#p*{`oxkCH=Uq_uKk$ zH!p!9NqNbp*2CfAS*vi$Dq}7Pe9`dNwr4@fUxtPHuO~`ba3h4h+u(j9&tmOn`%$U* zn6&vMn3Hk^GIBpX96bH2!w~<^8872j)W2p#ZEnyJBy}Q?RRK!Jf45hB8i#!erb4C4 zUg10rTjXsH9Fc*ZJ~Rh)VL&iqd<6>%Wvp6>6;nu)E$R;yQ73Tc(Y@k8;-{^!#%dqq z!H;z|40}wnnBXi+RL?t`P$8VcunD!Id<17bQ#?CG#&nOyCuvHAsr-e<c?SP~M>oWh zq7#xGpT#<j4>If?G!y?s2g^(B7R~JFVw@YKj)&0r2l?AC;Z+GDyz+~Rin?S@-@$lW znhrS^l{)>seiw|bLRZCr$7`h}k;d@fv_;`y9(?_u$d3PPI7>HPewm$4N$!jLtsS9W zJaw!DeX}YXiR*A7zB>q)U*S@|0=)(PbZb6(`_A&v*V=j_5RI0cOAjA*J3cH}x(mz= zR9adZjZl)<8$9GtUNCHpl?DbP&@tL7cRVsR3I)oB(~aZ+vZl7h=4ijXs`5!fRW(XH z8zG7v92_iE0pr51jYgOwy5+J~(FoVY1|p!#Z;7G1Oilny-!cG<Rv5{zxAPQ6kT~qe z*$KI*dNHjc6>`2AQ5_TxDeK74^F=Z)dk$LH9lAI{ySknpQuqJwq$(Yp|9`52q$({~ zHzCc6;&c)4_4VCC)W-8YnaQ9FcV69{M$$`2qmj&{Oz;U|ASEx%h<<joTxor^SUKXV zX-^gd2S<pCWZ+mnr~YYX?fCF?WuU(G*_rE1u8!A}gR&MKKvCNPw6xsjWU1f>>B?*s zk8-Lzyp?<i<$%`sVX=~wUdHniK_Ga2+;aS(wx2ulDIb{pSD3e=Qe&>T0~PlKv~`>{ z8qt*G4GoH^3uq9_+0J#|N(if&d_#<4QU2%-Y8a_t8e3I%%cr`(q-VAQ)O`ZfK#e*G zdn4ftde3Zq*c}(d#2(>UojY?T5!59>y#l?9k)?)KF!oJw5BP49AItX)18CQg2HhXE zsDTuiEmwF~Nr{+~lM~ns3Vhq!<gK+tl>)4#=~_;%Lq)wE_pgQ`M@e<o$nA%z9sH*- zM;uv_WK;7j=jW<p-C_<z>!)KH<ewgTY!b6>11kw{vy`Rdry1Bwj5e4f>B%pOG}C8@ zLjtyQUx8U1#i#4x(%0Lgb@HMRYrrpsBgo*utQ7+G$>ZF~Gg<2M!)^~Rp%7;A?!<U7 zqK>6m=xlIZF6;kk7Zw-SGGJL=3r5`1!0SaR;8JqU<kU}053E`%y_p`kC@OeJMME;R zdgEJLvFP-(9ZltY5?6yJdW#@P>z}JVA?0^CU_vP<;QIRVThI;~b46#BY64rmA(9>3 z8b74kjRu8~hMb|xYU_C(-tlY|uPHZ(YQ-i`h85A6TV2l;<l~Eie3^)x+_%B_aaFY! zFs2ZOI*31+fj<Q#r#G`O^t5C*rF$_Rm(C)-`PIrbqz4Cx&np6$>)@@>SK(6XqNepO zWV_<mkh49odtObLz=VNkbTaJ7(S>Lq|6TCU9>H`zY_cyoGbRAZ?;3EaaF9`bRw6Q@ z(v1_C6m~N$lV7dlEnfBDuxLl)<hX@|D+`_Rt)|SsjV_&={ki4n+RwGKhxv5u3x2I~ zs<YAA)S?P*D-rm^&HJa!>o*NJk7R|U9xQOm@z%^UgziVWK67bjQNo@6VyErsSa|nk zgyt(^Q<t?k=Gd{l)^EE^v13Qn&#(UN$s-5DzdbMh`o2l>Ac>RJ(Rl|soP;mkF!}PO z>G8@?oy1e%21j)@f}K601Sy;3mo9ICk^5@GH<;}LpUZ#QQ=fT#Zl)b!QZ_f=(;^ps z3q=L6mU!9l_!1r63olx?=K1kD&`<W}=wn~Fs{CHu8xLq)0gOa)qK7<;VGW7RS(>Fk zQsrnxj&}4>BC*`wV3Ywfa}eDPFoC8#@kMUJhMZ#4;B#2JT=NQ7zxw4F*1ZWLk+;0T zg+tCDm<Jj1<D)W%g@MZ94sV&$H(`v1WUIH`>v*pRKo_-Y1Df%|_e4-90n64KB!l(! z-t`Ig9;-x*9I%9;x;75gn2qIOT2VJQ<xH)>DxHyo-F2Yx35J)t>_3-{7xG1;*`aT8 z#Cou!f5UR<-m+HtN3C)JP-+Fn+*ti-Hw>7andrQZb`QKaw^8f6o_V!AL)`msc~&<P zSsqf{Fq@fW1nBx}m6S!E!bt(=h}>hy1XefKPhMnWYpEE7-~3s5P+c7?I#nB~g>f@7 zE>H_y|ClGK%LM0PWW(de%$lA^Fk;{^?PhhfSw=iQ^m)kS)2#(F53=&BbU5Hc0dV9L zrt`!=%%xr`MXSy^ezZ1{Tek3J`1MF@oEm^Ao%N{L%DLq68I<COd!z70k(&v8T95_+ zDfx8F;xM*<mRe~<PkmrAFtkJB<7Fi!>u~4oL1gRe=LZwK&n@N~J9Rd(>*w`FiRfcd z3qF4j`Z$;*fN1LxqPTpq74oJ^EaBpZcAr3{&h@PN6!BTibY-+5BC&RyrZ#!`DoKe6 zq1~z%n%suR%BjJM*j})!WIzo81c@~-Jh9cXbzUeIgPuPHE*aGs<fAj!nfBPw;Mv-Q z^oRQ~b+EDsC@B22(9_}I)dHkZZo}r0A*bb(d(m7xmhB!O><7s$NPO1UJ}ShEC>6%R z_&opE;Mcck6c#aI@0O&<nL%|QM5%@IkRuJzsk8gtPH?U+4Z9K+8*5g{OGZZK15d%2 z2c!6>FSx!yB?K*^y!3g2YvMzK0Kfj84X9h{mb6_@jDWzi=;<g%<>8T_W%({6eY{f; zsBEkkf<<?%CS{zRomEQ>aixN2QlOM<+MP8SI#kZ@b|kcqPxa0Yt%Z1{MB1`x7X)01 zcYeLMImc-+$QSQC$E?h%-3sLE+SI!d=RvN!hf7&xzj_HklFpjbayy6)Fq$G#Kx&&Y zoc)5NB}TE_(H5B93JdjfhOkMk>p$_$g{+UdOx%!Q2DSf3ZFKzM(IZz7q$R@{`|=ID zTgRkZp*}VU$?-gWfb5&5m>Pr(tt_9^&VAin-@{ut(D69e&JyG6*RQB|%IQEJXI1~~ zqaqnRwZB|h|CmdcgQB6a(W<wO8dT}W;KaT<c9%UgG`iuyVIAZwK&AeCbo2%v56h}e zQQ44DGMT_jY;?B9rU@!c4=S~UBbW1y+dUu%U<|InD%q=^F!3AOtl)MaWei!q=jz2z z3k?7-fx;|^Hv(r!WYR)G#tbFj*a%Y|3Sg)<j?jr)lq>+jz4(A@y3%ea-&6$)j|?oc zM-&jPV+X@sgw3o`Xf_%uMKcQVL}!3^xVNWazPn@AhRPpG-(P(Z3<7e7GTq&L`b&sn z0?J;^QBdy&)QniiKmqt3BT?9pgEwO!Wmt5yZ=adr@X=w};nu)s%i*J-8TIn{tWq+5 ztM^UYjp0}8^V)<EmIU8z%dHHxp2OC`jJ`a>pL?DUs}CZrozmOt<8IcmzTrX^3P?OI z!M^)eZoEA|K$_mw2u1GDsHktSs1l(rxMe=&vOxeu{A9O-sxpW5nZ9J~lUR6P^={<t zM{28<*rbV5<BJ|}xa@CK>E*0UX;?m+{lVbvG@YrDKb9j!dplE^h=!*1O`4*xi>lvG zQ~i1YHmAAS)Ya8hh#4r3f-eFP2X3Wz^&clSxZNEo9Co#4S-xk+iVh;zchiIi1od=> z`NhJ9*4EZc{XstXdPc|T_FbPIg7BvA$ThzFS|fYITo1a<6kYyGG85bzsGlCi9<S8k z3&pb=U)#|{mPb@BuWR+GR7aBL1pF_v+(uD?c3B<7<-SCWVE@pX5zVbuZiwrRM{U(x z0h`yE$L<<1-rSCMy}y2yNPXgt2xrNfxWJ*K&>-SDueF6G4|PXZ@r58z{15{Vg8tGa zk1Gj|e(62eut5K2uu$~uU~L|~G1u1tV@_M%CicubfF}!>hG0$v-H<JIj)qq^GRvbr zsuW%$CntC2v7`Yt0*21uJbHY28UIVg;XZ%`!OEpRYbmU=JrL>^UQ}<+*p$R9?UlWW zZEn>prNTIo-Zj_hqQxQ46u7s!*aVXDodbV%R8NAn%D}{N7IAE@N{D*q2dIQE{49+G zLFb89#f>4SV;97E#<rO(l5{g&1)ckBToP=Op7drXcJO=wxVAFliNDrX>kqqA4#K6S zs^JrrPHT;**{HEP5V+l53+~TX%S1tMWWU@hFc^l(V%|w^M~zI+`}dg@M26Z8?}37= zC(~#vmj58z`U+89aO$S5>#BN&vXacM{e@I82r94~UYa$u2Lrdj2D5@;&x)bxLCD(K z7qTj@F4Zx^u0_uB(oagdiT=?nnDbUCuoi6=`@=729|`jD9P@n1HE0qDG$>YxPSI3o zGuQo~??)LnJe6_>&|&23uw6iri-o72J8x548@7FbScBO0xX;WOfBNadyIi?VQ@K1K zl_C?ay3ueYR={CxSf}Q`@Uhd817J>O;9!p3j@)kDhG4qbpRb=Ju~>cbhGkzh;Qd-3 z(?YAPZT{iI^){rd1+cF4AghS7N1?z>ZOC<=P0Y0OA}8~i9Xr3Fkt)yGp>jb);N`rw zS`Y3))oB5}y{e6o?8nR7?{B&Qfq7Du#17WfZQ(*lZVTk<&p{s;ERj%lU!&qQq(8_y zzR(a3XS{gvOJaIoTifz0%>l3IPj9rn&Rzf=FY{`BW87Fgp6Y9d@lI*bm}DrY*J#J_ z?!}T$mA*~@*Z_ydV*`Vq8x_VpZwGm*Ei4o!X`8GBgSy-v4tAWdoEjwAv>RM}@E}#T z5mo=-<B0HV^??WTT;w+*C`8;2b)$F`PwCR?@5p(B>>MwZw-r5Rg8qmf@1u#bhL%_j z{#VC=&>9A`_rGGjuO^UNWjTVUiO;|t4@~y+N)@@OG4hvQ@|yVPkg?0CJ&6=5Z(?}G znQEWFOE(-{&78Fy5F1?0yfmy^`1-QJ8U~ijjX=STx}M5_)R?iZ+#lCMU)wKLk}BP~ zf_HGUJmOeNZTI#}1l=@?+rm+a{rsEddx^w7c9N}9qr}_G*&5P6gh2%Xy;!6P16Thi qKkjeDwEr0t|IclNzqNR~k53+@D(eZ-r_!L{Kk3`D5?Nw89{(2w4ktSR literal 0 HcmV?d00001 diff --git a/vdocs/config/mermaidCLI.md b/vdocs/config/mermaidCLI.md new file mode 100644 index 000000000..f9473f1dd --- /dev/null +++ b/vdocs/config/mermaidCLI.md @@ -0,0 +1,3 @@ +# mermaid CLI + +mermaid CLI has been moved to [mermaid-cli](https://github.com/mermaid-js/mermaid-cli). Please read its documentation instead. diff --git a/vdocs/config/n00b-advanced.md b/vdocs/config/n00b-advanced.md new file mode 100644 index 000000000..1e6546f5c --- /dev/null +++ b/vdocs/config/n00b-advanced.md @@ -0,0 +1,24 @@ +# Advanced n00b mermaid (Coming soon..) + +## splitting mermaid code from html + +A more condensed html code can be achieved by embedding the mermaid code in its own .js file, which is referenced like so: + +``` +stuff stuff + </div> + </body> +</html> +``` + +The actual mermaid file could for example look like this: + +``` +mermaid content... +``` + +--- + +## mermaid configuration options + +... diff --git a/vdocs/config/n00b-syntaxReference.md b/vdocs/config/n00b-syntaxReference.md new file mode 100644 index 000000000..7db4de5b7 --- /dev/null +++ b/vdocs/config/n00b-syntaxReference.md @@ -0,0 +1,67 @@ +# Diagram Syntax + +Mermaid's syntax is used to create diagrams. You'll find that it is not too tricky and can be learned in a day. The next sections dive deep into the syntax of each diagram type. + +Syntax, together with Deployment and Configuration constitute the whole of Mermaid. + +Diagram Examples can be found in the [Mermaid Live Editor](https://mermaid-js.github.io/mermaid-live-editor), it is also a great practice area. + +## Syntax Structure + +One would notice that all **Diagrams definitions begin** with a declaration of the **diagram type**, followed by the definitions of the diagram and its contents. This declaration notifies the parser which kind of diagram the code is supposed to generate. + +**Example** : The code below is for an Entity Relationship Diagram, specified by the `erDiagram` declaration. What follows is the definition of the different `Entities` represented in it. + +```mermaid-example +erDiagram + CUSTOMER }|..|{ DELIVERY-ADDRESS : has + CUSTOMER ||--o{ ORDER : places + CUSTOMER ||--o{ INVOICE : "liable for" + DELIVERY-ADDRESS ||--o{ ORDER : receives + INVOICE ||--|{ ORDER : covers + ORDER ||--|{ ORDER-ITEM : includes + PRODUCT-CATEGORY ||--|{ PRODUCT : contains + PRODUCT ||--o{ ORDER-ITEM : "ordered in" +``` + +The [Getting Started](../intro/n00b-gettingStarted.md) section can also provide some practical examples of mermaid syntax. + +## Diagram Breaking + +One should **beware the use of some words or symbols** that can break diagrams. These words or symbols are few and often only affect specific types of diagrams. The table below will continuously be updated. + +| Diagram Breakers | Reason | Solution | +| -------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------ | ------------------------------------------------- | +| **Comments** | | | +| [` %%{``}%% `](https://github.com/mermaid-js/mermaid/issues/1968) | Similar to [Directives](./directives.md) confuses the renderer. | In comments using `%%`, avoid using "{}". | +| **Flow-Charts** | | | +| 'end' | The word "End" can cause Flowcharts and Sequence diagrams to break | Wrap them in quotation marks to prevent breakage. | +| [Nodes inside Nodes](https://mermaid-js.github.io/mermaid/#/flowchart?id=special-characters-that-break-syntax) | Mermaid gets confused with nested shapes | wrap them in quotation marks to prevent breaking | + +### Mermaid Live Editor + +Now, that you've seen what you should not add to your diagrams, you can play around with them in the [Mermaid Live Editor](https://mermaid-js.github.io/mermaid-live-editor). + +# Configuration + +Configuration is the third part of Mermaid, after deployment and syntax. It deals with the different ways that Mermaid can be customized across different deployments. + +If you are interested in altering and customizing your Mermaid Diagrams, you will find the methods and values available for [Configuration](../config/Setup.md) here. It includes themes. +This section will introduce the different methods of configuring the behaviors and appearances of Mermaid Diagrams. +The following are the most commonly used methods, and they are all tied to Mermaid [Deployment](../intro/n00b-gettingStarted.md) methods. + +### Configuration Section in the [Live Editor](https://mermaid-js.github.io/mermaid-live-editor). + +Here you can edit certain values to change the behavior and appearance of the diagram. + +### [The initialize() call](../intro/n00b-gettingStarted?id=_3-calling-the-javascript-api), + +Used when Mermaid is called via an API, or through a `<script>` tag. + +### [Directives](../config/directives.md), + +Allows for the limited reconfiguration of a diagram just before it is rendered. It can alter the font style, color and other aesthetic aspects of the diagram. You can pass a directive alongside your definition inside `%%{ }%%`. It can be done either above or below your diagram definition. + +### [Theme Manipulation](../config/theming.md): + +An application of using Directives to change [Themes](../config/theming.md). `Theme` is a value within Mermaid's configuration that dictates the color scheme for diagrams. diff --git a/vdocs/config/theming.md b/vdocs/config/theming.md new file mode 100644 index 000000000..0a56555b9 --- /dev/null +++ b/vdocs/config/theming.md @@ -0,0 +1,484 @@ +# Theme Configuration + +With Version 8.7.0 Mermaid comes out with a system for dynamic and integrated configuration of themes. The intent is to increase the customizability and ease of styling for mermaid diagrams. + +The theme can be altered by changing the root level variable `theme` variable in the configuration. To change it for the whole site you must use the `initialize` call. To do it for just for a single diagram you can use the `%%init%%` directive + +Themes follow and build upon the Levels of Configuration, and employ `directives` to modify and create custom configurations, as they were introduced in Version [8.6.0](./8.6.0_docs.md). + +## Deployable Themes + +The following are a list of **Deployable themes**, sample `%%init%%` directives and `initialize` calls. + +1. **base**- Designed to be modified, as the name implies it is supposed to be used as the base for making custom themes. + +2. **forest**- A theme full of light greens that is easy on the eyes. + +3. **dark**- A theme that would go well with other dark-colored elements. + +4. **default**- The default theme for all diagrams. + +5. **neutral**- The theme to be used for black and white printing. + +## Site-wide Themes + +Site-wide themes are declared via `initialize` by site owners. + +Example of `Initialize` call setting `theme` to `base`: + +```javascript +mermaidAPI.initialize({ + securityLevel: 'loose', + theme: 'base', +}); +``` + +**Notes**: Only site owners can use the `mermaidAPI.initialize` call, to set values. Site-Users will have to use `%%init%%` to modify or create the theme for their diagrams. + +## Themes at the Local or Current Level + +When Generating a diagram using on a webpage that supports mermaid. It is also possible to override site-wide theme settings locally, for a specific diagram, using directives, as long as it is not prohibited by the `secure` array. + +```mmd +%%{init: {'theme':'base'}}%% + graph TD + a --> b +``` + +Here is an example of how `%%init%%` can set the theme to 'base', this assumes that `themeVariables` are set to default: + +```mermaid-example +%%{init: {'theme':'base'}}%% + graph TD + A[Christmas] -->|Get money| B(Go shopping) + B --> C{Let me think} + B --> G[/Another/] + C ==>|One| D[Laptop] + C -->|Two| E[iPhone] + C -->|Three| F[fa:fa-car Car] + subgraph section + C + D + E + F + G + end +``` + +# List of Themes + +# Customizing Themes with `themeVariables` + +The easiest way to make a custom theme is to start with the base theme, and just modify theme variables through `themeVariables`, via `%%init%%`. + +| Parameter | Description | Type | Required | Objects contained | +| -------------- | ------------------------------------------------------------------ | ----- | -------- | ---------------------------------- | +| themeVariables | Array containing objects, modifiable with the `%%init%%` directive | Array | Required | primaryColor, lineColor, textColor | + +**Here is an example of overriding `primaryColor` through `themeVariables` and giving everything a different look, using `%%init%%`.** + +```mermaid-example +%%{init: {'theme': 'base', 'themeVariables': { 'primaryColor': '#ff0000'}}}%% + graph TD + A[Christmas] -->|Get money| B(Go shopping) + B --> C{Let me think} + B --> G[/Another/] + C ==>|One| D[Laptop] + C -->|Two| E[iPhone] + C -->|Three| F[fa:fa-car Car] + subgraph section + C + D + E + F + G + end +``` + +**Notes:** +Leaving it empty will set all variable values to default. + +## Color and Color Calculation: + +Color definitions have certain interactions in mermaid, this is in order to ensure visibility for diagrams. Mermaid will adjust some variables automatically, when colors are changed in order to compensate and maintain readability. + +**The Default Value Column** to the right of the Variable column will denote the Variable paired/associated with the Variable on the left and the nature of this pairing or association. If it for instance says primaryColor it means that it gets primaryColor as default value. If it says "based on primaryColor" it means that it is calculated/ derived from primaryColor. This calculation can be primary color inversion, a change of hue, darkening or lightening by 10%, etc. + +You can create your own themes, by changing any of the given variables below. If you are using a dark background, set dark mode to true to adjust the colors. It is possible to override the calculations using the variable names below, with `%%init%%` if you wish to style it differently. + +## Theme Variables Reference Table + +::: tip +Variables that are unique to some diagrams can be affected by changes in Theme Variables +::: + +| Variable | Default/Base/Factor value | Calc | Description | +| -------------------- | ------------------------------ | ---- | -------------------------------------------------------------------------------------------------------------------------------- | +| darkMode | false | | Boolean Value that dictates how to calculate colors. "true" will activate darkmode. | +| background | #f4f4f4 | | Used to calculate color for items that should either be background colored or contrasting to the background. | +| fontFamily | "trebuchet ms", verdana, arial | | | +| fontSize | 16px | | Font Size, in pixels | +| primaryColor | #fff4dd | | Color to be used as background in nodes, other colors will be derived from this | +| primaryBorderColor | based on primaryColor | \* | Color to be used as border in nodes using primaryColor | +| primaryTextColor | based on darkMode #ddd/#333 | \* | Color to be used as text color in nodes using primaryColor | +| secondaryColor | based on primaryColor | \* | | +| secondaryBorderColor | based on secondaryColor | \* | Color to be used as border in nodes using secondaryColor | +| secondaryTextColor | based on secondaryColor | \* | Color to be used as text color in nodes using secondaryColor | +| tertiaryColor | based on primaryColor | \* | | +| tertiaryBorderColor | based on tertiaryColor | \* | Color to be used as border in nodes using tertiaryColor | +| tertiaryTextColor | based on tertiaryColor | \* | Color to be used as text color in nodes using tertiaryColor | +| noteBkgColor | #fff5ad | | Color used as background in notes | +| noteTextColor | #333 | | Text color in note rectangles. | +| noteBorderColor | based on noteBkgColor | \* | Border color in note rectangles. | +| lineColor | based on background | \* | | +| textColor | based on primaryTextColor | \* | Text in diagram over the background for instance text on labels and on signals in sequence diagram or the title in gantt diagram | +| mainBkg | based on primaryColor | \* | Background in flowchart objects like rects/circles, class diagram classes, sequence diagram etc | +| errorBkgColor | tertiaryColor | \* | Color for syntax error message | +| errorTextColor | tertiaryTextColor | \* | Color for syntax error message | + +# What follows are Variables, specific to different diagrams and charts. + +## Some Theme Variables serve as, or affect the Default Values for Specific Diagram Variables, unless changed using `%%init%%` . + +## Flowchart + +| Variable | Default/ Associated Value | Calc | Description | +| ------------------- | ------------------------- | ---- | ---------------------------- | +| nodeBorder | primaryBorderColor | \* | Node Border Color | +| clusterBkg | tertiaryColor | \* | Background in subgraphs | +| clusterBorder | tertiaryBorderColor | \* | Cluster Border Color | +| defaultLinkColor | lineColor | \* | Link Color | +| titleColor | tertiaryTextColor | \* | Title Color | +| edgeLabelBackground | based on secondaryColor | \* | | +| nodeTextColor | primaryTextColor | \* | Color for text inside Nodes. | + +# sequence diagram + +| name | Default value | Calc | Description | +| --------------------- | ----------------------- | ---- | --------------------------- | +| actorBorder | primaryBorderColor | \* | Actor Border Color | +| actorBkg | mainBkg | \* | Actor Background Color | +| actorTextColor | primaryTextColor | \* | Actor Text Color | +| actorLineColor | grey | \* | Actor Line Color | +| signalColor | textColor | \* | Signal Color | +| signalTextColor | textColor | \* | Signal Text Color | +| labelBoxBkgColor | actorBkg | \* | Label Box Background Color | +| labelBoxBorderColor | actorBorder | \* | Label Box Border Color | +| labelTextColor | actorTextColor | \* | Label Text Color | +| loopTextColor | actorTextColor | \* | Loop ext Color | +| activationBorderColor | based on secondaryColor | \* | Activation Border Color | +| activationBkgColor | secondaryColor | \* | Activation Background Color | +| sequenceNumberColor | based on lineColor | \* | Sequence Number Color | + +# state colors + +| name | Default value | Calc | Description | +| ------------- | ---------------- | ---- | -------------------------------------------- | +| labelColor | primaryTextColor | \* | | +| altBackground | tertiaryColor | \* | Used for background in deep composite states | + +# class colors + +| name | Default value | Calc | Description | +| --------- | ------------- | ---- | ------------------------------- | +| classText | textColor | \* | Color of Text in class diagrams | + +# User journey colors + +| name | Default value | Calc | Description | +| --------- | ----------------------- | ---- | --------------------------------------- | +| fillType0 | primaryColor | \* | Fill for 1st section in journey diagram | +| fillType1 | secondaryColor | \* | Fill for 2nd section in journey diagram | +| fillType2 | based on primaryColor | \* | Fill for 3rd section in journey diagram | +| fillType3 | based on secondaryColor | \* | Fill for 4th section in journey diagram | +| fillType4 | based on primaryColor | \* | Fill for 5th section in journey diagram | +| fillType5 | based on secondaryColor | \* | Fill for 6th section in journey diagram | +| fillType6 | based on primaryColor | \* | Fill for 7th section in journey diagram | +| fillType7 | based on secondaryColor | \* | Fill for 8th section in journey diagram | + +\*\*Notes: Values are meant to create an alternating look. + +# Here is an example of overriding `primaryColor` and giving everything a different look, using `%%init%%`. + +```mermaid-example +%%{init: {'theme': 'base', 'themeVariables': { 'primaryColor': '#ff0000'}}}%% + graph TD + A[Christmas] -->|Get money| B(Go shopping) + B --> C{Let me think} + B --> G[/Another/] + C ==>|One| D[Laptop] + C -->|Two| E[iPhone] + C -->|Three| F[fa:fa-car Car] + subgraph section + C + D + E + F + G + end +``` + +\*\*This got a bit too dark and bit too colorful. With some easy steps this can be fixed: + +- Make the primary color a little lighter +- set the tertiary color to a reddish shade as well +- make the edge label background differ from the subgraph by setting the edgeLabelBackground + +```mermaid-example +%%{init: {'theme': 'base', 'themeVariables': { 'primaryColor': '#ffcccc', 'edgeLabelBackground':'#ffffee', 'tertiaryColor': '#fff0f0'}}}%% + graph TD + A[Christmas] -->|Get money| B(Go shopping) + B --> C{Let me think} + B --> G[/Another/] + C ==>|One| D[Laptop] + C -->|Two| E[iPhone] + C -->|Three| F[fa:fa-car Car] + subgraph section + C + D + E + F + G + end +``` + +The Theming Engine does not admit color codes and will only accept proper color values. Color Names is not supported so for instance, the color value 'red' will not work, but '#ff0000' will work. + +# Common theming activities + +## How to change the color of the arrows + +# Examples: + +When adjusting a theme it might be helpful to look at how your preferred theme goes with the diagrams, to evaluate whether everything is visible and looks good. +In the following examples, the directive `init` is used, with the `theme` being declared as `base`. For more information on using directives, read the documentation for [Version 8.6.0](/8.6.0_docs.md) + +### Flowchart + +```mmd +%%{init: {'securityLevel': 'loose', 'theme':'base'}}%% + graph TD + A[Christmas] -->|Get money| B(Go shopping) + B --> C{Let me think} + B --> G[/Another/] + C ==>|One| D[Laptop] + C -->|Two| E[iPhone] + C -->|Three| F[fa:fa-car Car] + subgraph section + C + D + E + F + G + end +``` + +```mermaid +%%{init: {'securityLevel': 'loose', 'theme':'base'}}%% + graph TD + A[Christmas] -->|Get money| B(Go shopping) + B --> C{Let me think} + B --> G[/Another/] + C ==>|One| D[Laptop] + C -->|Two| E[iPhone] + C -->|Three| F[fa:fa-car Car] + subgraph section + C + D + E + F + G + end +``` + +### Flowchart (beta) + +```mermaid-example +%%{init: {'securityLevel': 'loose', 'theme':'base'}}%% + flowchart TD + A[Christmas] -->|Get money| B(Go shopping) + B --> C{Let me think} + B --> G[Another] + C ==>|One| D[Laptop] + C x--x|Two| E[iPhone] + C o--o|Three| F[fa:fa-car Car] + subgraph section + C + D + E + F + G + end +``` + +### Sequence diagram + +```mermaid-example +%%{init: {'securityLevel': 'loose', 'theme':'base'}}%% + sequenceDiagram + autonumber + par Action 1 + Alice->>John: Hello John, how are you? + and Action 2 + Alice->>Bob: Hello Bob, how are you? + end + Alice->>+John: Hello John, how are you? + Alice->>+John: John, can you hear me? + John-->>-Alice: Hi Alice, I can hear you! + Note right of John: John is perceptive + John-->>-Alice: I feel great! + loop Every minute + John-->Alice: Great! + end +``` + +### Class diagram + +```mermaid-example +%%{init: {'securityLevel': 'loose', 'theme':'base'}}%% + +classDiagram + Animal "1" <|-- Duck + Animal <|-- Fish + Animal <--o Zebra + Animal : +int age + Animal : +String gender + Animal: +isMammal() + Animal: +mate() + class Duck{ + +String beakColor + +swim() + +quack() + } + class Fish{ + -int sizeInFeet + -canEat() + } + class Zebra{ + +bool is_wild + +run() + } +``` + +### Gantt + +```mermaid-example +gantt + dateFormat YYYY-MM-DD + title Adding GANTT diagram functionality to mermaid + excludes :excludes the named dates/days from being included in a charted task.. + section A section + Completed task :done, des1, 2014-01-06,2014-01-08 + Active task :active, des2, 2014-01-09, 3d + Future task : des3, after des2, 5d + Future task2 : des4, after des3, 5d + + section Critical tasks + Completed task in the critical line :crit, done, 2014-01-06,24h + Implement parser and jison :crit, done, after des1, 2d + Create tests for parser :crit, active, 3d + Future task in critical line :crit, 5d + Create tests for renderer :2d + Add to mermaid :1d + + section Documentation + Describe gantt syntax :active, a1, after des1, 3d + Add gantt diagram to demo page :after a1 , 20h + Add another diagram to demo page :doc1, after a1 , 48h + + section Last section + Describe gantt syntax :after doc1, 3d + Add gantt diagram to demo page :20h + Add another diagram to demo page :48h +``` + +### State diagram + +```mermaid-example +%%{init: {'securityLevel': 'loose', 'theme':'base'}}%% + stateDiagram + [*] --> Active + + state Active { + [*] --> NumLockOff + NumLockOff --> NumLockOn : EvNumLockPressed + NumLockOn --> NumLockOff : EvNumLockPressed + -- + [*] --> CapsLockOff + CapsLockOff --> CapsLockOn : EvCapsLockPressed + CapsLockOn --> CapsLockOff : EvCapsLockPressed + -- + [*] --> ScrollLockOff + ScrollLockOff --> ScrollLockOn : EvCapsLockPressed + ScrollLockOn --> ScrollLockOff : EvCapsLockPressed + } + state SomethingElse { + A --> B + B --> A + } + + Active --> SomethingElse + note right of SomethingElse : This is the note to the right. + + SomethingElse --> [*] + +``` + +### State diagram (beta) + +```mermaid-example +%%{init: {'securityLevel': 'loose', 'theme':'base'}}%% +stateDiagram-v2 + [*] --> Active + + state Active { + [*] --> NumLockOff + NumLockOff --> NumLockOn : EvNumLockPressed + NumLockOn --> NumLockOff : EvNumLockPressed + -- + [*] --> CapsLockOff + CapsLockOff --> CapsLockOn : EvCapsLockPressed + CapsLockOn --> CapsLockOff : EvCapsLockPressed + -- + [*] --> ScrollLockOff + ScrollLockOff --> ScrollLockOn : EvCapsLockPressed + ScrollLockOn --> ScrollLockOff : EvCapsLockPressed + } + state SomethingElse { + A --> B + B --> A + } + + Active --> SomethingElse2 + note right of SomethingElse2 : This is the note to the right. + + SomethingElse2 --> [*] +``` + +### Entity Relations diagram + +```mermaid-example + erDiagram + CUSTOMER }|..|{ DELIVERY-ADDRESS : has + CUSTOMER ||--o{ ORDER : places + CUSTOMER ||--o{ INVOICE : "liable for" + DELIVERY-ADDRESS ||--o{ ORDER : receives + INVOICE ||--|{ ORDER : covers + ORDER ||--|{ ORDER-ITEM : includes + PRODUCT-CATEGORY ||--|{ PRODUCT : contains + PRODUCT ||--o{ ORDER-ITEM : "ordered in" +``` + +### User journey diagram + +```mermaid-example +journey + title My working day + section Go to work + Make tea: 5: Me + Go upstairs: 3: Me + Do work: 1: Me, Cat + section Go home + Go downstairs: 5: Me + Sit down: 5: Me +``` diff --git a/vdocs/config/usage.md b/vdocs/config/usage.md new file mode 100644 index 000000000..10b3b7238 --- /dev/null +++ b/vdocs/config/usage.md @@ -0,0 +1,398 @@ +# Usage + +Mermaid is a JavaScript tool that makes use of a Markdown based syntax to render customizable diagrams, charts and visualizations. + +Diagrams can be re-rendered/modified by modifying their descriptions. + +### CDN + +[https://unpkg.com/mermaid/](https://unpkg.com/mermaid/) + +Please note that you can switch versions through the dropdown box at the top right. + +## Using mermaid + +For the majority of users, Using the [Live Editor](https://mermaid.live/) would be sufficient, however you may also opt to deploy mermaid as a dependency or using the [Mermaid API](./Setup.md). + +We have compiled some Video [Tutorials](./Tutorials.md) on how to use the mermaid Live Editor. + +**Installing and Hosting Mermaid on a Webpage** + +**Using the npm package** + +``` +1. You will need to install node v16, which would have npm. + +2. download yarn using npm. + +3. enter the following command: + yarn add mermaid + +4. At this point, you can add mermaid as a dev dependency using this command: + yarn add --dev mermaid + +5. Alternatively, you can also deploy mermaid using the script tag in an HTML file with mermaid diagram descriptions. + as is shown in the example below +``` + +**Hosting mermaid on a web page.** + +> Note:This topic explored in greater depth in the [User Guide for Beginners](../intro/n00b-gettingStarted.md) + +The easiest way to integrate mermaid on a web page requires three elements: + +1. Inclusion of the mermaid address in the html page using a `script` tag, in the `src` section.Example: + + ```html + <script src="https://cdn.jsdelivr.net/npm/mermaid/dist/mermaid.min.js"></script> + ``` + +2. The `mermaidAPI` call, in a separate `script` tag. Example: + + ```html + <script> + mermaid.initialize({ startOnLoad: true }); + </script> + ``` + +3. A graph definition, inside `<div>` tags labeled `class=mermaid`. Example: + +```html +<pre class="mermaid"> + graph LR + A --- B + B-->C[fa:fa-ban forbidden] + B-->D(fa:fa-spinner); +</pre> +``` + +**Following these directions, mermaid starts at page load and (when the page has loaded) it will +locate the graph definitions inside the `div` tags with `class="mermaid"` and return diagrams in SVG form, following given definitions.** + +## Simple full example: + +```html +<!DOCTYPE html> +<html lang="en"> + <head> + <meta charset="utf-8" /> + </head> + <body> + <pre class="mermaid"> + graph LR + A --- B + B-->C[fa:fa-ban forbidden] + B-->D(fa:fa-spinner); + </pre> + <script src="https://cdn.jsdelivr.net/npm/mermaid/dist/mermaid.min.js"></script> + <script> + mermaid.initialize({ startOnLoad: true }); + </script> + </body> +</html> +``` + +## Notes: + +An id attribute is also added to mermaid tags without one. + +Mermaid can load multiple diagrams, in the same page. + +> Try it out, save this code as HTML and load it using any browser.(Except Internet Explorer, please don't use Internet Explorer.) + +## Enabling Click Event and Tags in Nodes + +A `securityLevel` configuration has to first be cleared, `securityLevel` sets the level of trust for the parsed diagrams and limits click functionality. This was introduce in version 8.2 as a security improvement, aimed at preventing malicious use. + +**It is the site owner's responsibility to discriminate between trustworthy and untrustworthy user-bases and we encourage the use of discretion.** + +## securityLevel + +| Parameter | Description | Type | Required | Values | +| ------------- | --------------------------------- | ------ | -------- | ------------------------------------------ | +| securityLevel | Level of trust for parsed diagram | String | Required | 'sandbox', 'strict', 'loose', 'antiscript' | + +Values: + +- **strict**: (**default**) tags in text are encoded, click functionality is disabled +- **loose**: tags in text are allowed, click functionality is enabled +- **antiscript**: html tags in text are allowed, (only script element is removed), click functionality is enabled +- **sandbox**: With this security level all rendering takes place in a sandboxed iframe. This prevent any JavaScript running in the context. This may hinder interactive functionality of the diagram like scripts, popups in sequence diagram or links to other tabs/targets etc. + +::: warning +This changes the default behaviour of mermaid so that after upgrade to 8.2, unless the `securityLevel` is not changed, tags in flowcharts are encoded as tags and clicking is disabled. +**sandbox** security level is still in the beta version. +::: + +**If you are taking responsibility for the diagram source security you can set the `securityLevel` to a value of your choosing . This allows clicks and tags are allowed.** + +**To change `securityLevel`, you have to call `mermaidAPI.initialize`:** + +```javascript +mermaidAPI.initialize({ + securityLevel: 'loose', +}); +``` + +### Labels out of bounds + +If you use dynamically loaded fonts that are loaded through CSS, such as Google fonts, mermaid should wait for the +whole page to load (dom + assets, particularly the fonts file). + +```javascript +$(document).load(function () { + mermaid.initialize(); +}); +``` + +or + +```javascript +$(document).ready(function () { + mermaid.initialize(); +}); +``` + +Not doing so will most likely result in mermaid rendering graphs that have labels out of bounds. The default integration in mermaid uses the window.load event to start rendering. + +If your page has other fonts in its body those might be used instead of the mermaid font. Specifying the font in your styling is a workaround for this. + +```css +div.mermaid { + font-family: 'trebuchet ms', verdana, arial; +} +``` + +### Calling `mermaid.init` + +By default, `mermaid.init` will be called when the document is ready, finding all elements with +`class="mermaid"`. If you are adding content after mermaid is loaded, or otherwise need +finer-grained control of this behavior, you can call `init` yourself with: + +- a configuration object +- some nodes, as + - a node + - an array-like of nodes + - or W3C selector that will find your nodes + +Example: + +```javascript +mermaid.init({ noteMargin: 10 }, '.someOtherClass'); +``` + +Or with no config object, and a jQuery selection: + +```javascript +mermaid.init(undefined, $('#someId .yetAnotherClass')); +``` + +::: warning +This type of integration is deprecated. Instead the preferred way of handling more complex integration is to use the mermaidAPI instead. +::: + +## Usage with webpack + +mermaid fully supports webpack. Here is a [working demo](https://github.com/mermaidjs/mermaid-webpack-demo). + +## API usage + +The main idea of the API is to be able to call a render function with the graph definition as a string. The render function +will render the graph and call a callback with the resulting SVG code. With this approach it is up to the site creator to +fetch the graph definition from the site (perhaps from a textarea), render it and place the graph somewhere in the site. + +The example below show an outline of how this could be used. The example just logs the resulting SVG to the JavaScript console. + +```html +<script src="mermaid.js"></script> + +<script> + mermaid.mermaidAPI.initialize({ startOnLoad: false }); + $(function () { + // Example of using the API var + element = document.querySelector('#graphDiv'); + var insertSvg = function (svgCode, bindFunctions) { + element.innerHTML = svgCode; + }; + var graphDefinition = 'graph TB\na-->b'; + var graph = mermaid.mermaidAPI.render('graphDiv', graphDefinition, insertSvg); + }); +</script> +``` + +### Binding events + +Sometimes the generated graph also has defined interactions like tooltip and click events. When using the API one must +add those events after the graph has been inserted into the DOM. + +The example code below is an extract of what mermaid does when using the API. The example shows how it is possible to +bind events to an SVG when using the API for rendering. + +```javascript +var insertSvg = function (svgCode, bindFunctions) { + element.innerHTML = svgCode; + if (typeof callback !== 'undefined') { + callback(id); + } + bindFunctions(element); +}; + +var id = 'theGraph'; + +mermaidAPI.render(id, txt, insertSvg, element); +``` + +1. The graph is generated using the render call. +2. After generation the render function calls the provided callback function, in this case it's called insertSvg. +3. The callback function is called with two parameters, the SVG code of the generated graph and a function. This function binds events to the SVG **after** it is inserted into the DOM. +4. Insert the SVG code into the DOM for presentation. +5. Call the binding function that binds the events. + +## Example of a marked renderer + +This is the renderer used for transforming the documentation from Markdown to html with mermaid diagrams in the html. + +```javascript +var renderer = new marked.Renderer(); +renderer.code = function (code, language) { + if (code.match(/^sequenceDiagram/) || code.match(/^graph/)) { + return '<pre class="mermaid">' + code + '</pre>'; + } else { + return '<pre><code>' + code + '</code></pre>'; + } +}; +``` + +Another example in CoffeeScript that also includes the mermaid script tag in the generated markup. + +```coffee +marked = require 'marked' + +module.exports = (options) -> + hasMermaid = false + renderer = new marked.Renderer() + renderer.defaultCode = renderer.code + renderer.code = (code, language) -> + if language is 'mermaid' + html = '' + if not hasMermaid + hasMermaid = true + html += '<script src="'+options.mermaidPath+'"></script>' + html + '<pre class="mermaid">'+code+'</pre>' + else + @defaultCode(code, language) + + renderer +``` + +## Advanced usage + +**Syntax validation without rendering (Work in Progress)** + +The **mermaid.parse(txt)** function validates graph definitions without rendering a graph. **[This function is still a work in progress](https://github.com/mermaid-js/mermaid/issues/1066), find alternatives below.** + +The function **mermaid.parse(txt)**, takes a text string as an argument and returns true if the definition follows mermaid's syntax and +false if it does not. The parseError function will be called when the parse function returns false. + +When the parser encounters invalid syntax the **mermaid.parseError** function is called. It is possible to override this +function in order to handle the error in an application-specific way. + +The code-example below in meta code illustrates how this could work: + +```javascript +mermaid.parseError = function (err, hash) { + displayErrorInGui(err); +}; + +var textFieldUpdated = function () { + var textStr = getTextFromFormField('code'); + + if (mermaid.parse(textStr)) { + reRender(textStr); + } +}; + +bindEventHandler('change', 'code', textFieldUpdated); +``` + +**Alternative to mermaid.parse():** +One effective and more future-proof method of validating your graph definitions, is to paste and render them via the [Mermaid Live Editor](https://mermaid.live/). This will ensure that your code is compliant with the syntax of Mermaid's most recent version. + +## Configuration + +Mermaid takes a number of options which lets you tweak the rendering of the diagrams. Currently there are three ways of +setting the options in mermaid. + +1. Instantiation of the configuration using the initialize call +2. _Using the global mermaid object_ - **Deprecated** +3. _using the global mermaid_config object_ - **Deprecated** +4. Instantiation of the configuration using the **mermaid.init** call- **Deprecated** + +The list above has two ways too many of doing this. Three are deprecated and will eventually be removed. The list of +configuration objects are described [in the mermaidAPI documentation](Setup.md). + +## Using the `mermaidAPI.initialize`/`mermaid.initialize` call + +The future proof way of setting the configuration is by using the initialization call to mermaid or mermaidAPI depending +on what kind of integration you use. + +```html +<script src="../dist/mermaid.js"></script> +<script> + var config = { startOnLoad: true, flowchart: { useMaxWidth: false, htmlLabels: true } }; + mermaid.initialize(config); +</script> +``` + +::: tip +This is the preferred way of configuring mermaid. +::: + +### The following methods are deprecated and are kept only for backwards compatibility. + +## Using the mermaid object + +Is it possible to set some configuration via the mermaid object. The two parameters that are supported using this +approach are: + +- mermaid.startOnLoad +- mermaid.htmlLabels + +```javascript +mermaid.startOnLoad = true; +``` + +::: warning +This way of setting the configuration is deprecated. Instead the preferred way is to use the initialize method. This functionality is only kept for backwards compatibility. +::: + +## Using the mermaid_config + +It is possible to set some configuration via the mermaid object. The two parameters that are supported using this +approach are: + +- mermaid_config.startOnLoad +- mermaid_config.htmlLabels + +```javascript +mermaid_config.startOnLoad = true; +``` + +::: warning +This way of setting the configuration is deprecated. Instead the preferred way is to use the initialize method. This functionality is only kept for backwards compatibility. +::: + +## Using the mermaid.init call + +To set some configuration via the mermaid object. The two parameters that are supported using this approach are: + +- mermaid_config.startOnLoad +- mermaid_config.htmlLabels + +```javascript +mermaid_config.startOnLoad = true; +``` + +::: warning +This way of setting the configuration is deprecated. Instead the preferred way is to use the initialize method. This functionality is only kept for backwards compatibility. +::: diff --git a/vdocs/edit.md b/vdocs/edit.md new file mode 100644 index 000000000..5c623db4d --- /dev/null +++ b/vdocs/edit.md @@ -0,0 +1,7 @@ +--- +layout: home + +title: Live Mermaid +--- + +<iframe id="editor" src="https://mermaid.live" style="position: fixed;left: 0px;bottom: 0px;right: 0px;top: 80px;width: 100%;height: calc(100% - 80px);"></iframe> diff --git a/vdocs/index.md b/vdocs/index.md new file mode 100644 index 000000000..afe40c397 --- /dev/null +++ b/vdocs/index.md @@ -0,0 +1,43 @@ +--- +layout: home + +title: Mermaid +titleTemplate: Diagramming and charting tool + +hero: + name: Mermaid + text: Diagramming and charting tool + tagline: JavaScript based diagramming and charting tool that renders Markdown-inspired text definitions to create and modify diagrams dynamically. + image: + src: /header.png + alt: Mermaid + actions: + - theme: brand + text: Get Started + link: /intro/ + - theme: alt + text: View on GitHub + link: https://mermaid-js.github.io/mermaid/#/ + +features: + - title: ➕ Easy to use! + details: Mermaid allows even non-programmers to easily create detailed and diagrams through the Mermaid Live Editor. + - title: 🎥 Video Tutorials! + details: Has video tutorials for beginners and advanced users. + - title: 🏆 Award winner! + details: Mermaid was nominated and won the JS Open Source Awards (2019) in the category "The most exciting use of technology"!!! + - title: 🧩 Integrations available! + details: Use Mermaid with your favorite applications, check out the list of Integrations and Usages of Mermaid. +--- + +<style> + .image-container .image-src { + margin: 1rem auto; + max-width: 100%; + } + + .dark .image-src{ + filter: invert(1) hue-rotate(217deg) contrast(0.72); + max-width: 100%; + } +</style> diff --git a/vdocs/intro/directives.md b/vdocs/intro/directives.md new file mode 100644 index 000000000..b96a2184c --- /dev/null +++ b/vdocs/intro/directives.md @@ -0,0 +1,254 @@ +# Directives + +## Directives + +Directives gives a diagram author the capability to alter the appearance of a diagram before rendering by changing the applied configuration. + +The significance of having directives is that you have them available while writing the diagram, and can modify the default global and diagram specific configurations. So, directives are applied on top of the default configurations. The beauty of directives is that you can use them to alter configuration settings for a specific diagram, i.e. at an individual level. + +While directives allow you to change most of the default configuration settings, there are some that are not available, that too for security reasons. Also, you do have the _option to define the set of configurations_ that you would allow to be available to the diagram author for overriding with help of directives. + +## Types of Directives options + +Mermaid basically supports two types of configuration options to be overridden by directives. + +1. _General/Top Level configurations_ : These are the configurations that are available and applied to all the diagram. **Some of the most important top-level** configurations are: + +- theme +- fontFamily +- logLevel +- securityLevel +- startOnLoad +- secure + +2. _Diagram specific configurations_ : These are the configurations that are available and applied to a specific diagram. For each diagram there are specific configuration that will alter how that particular diagram looks and behaves. + For example, `mirrorActors` is a configuration that is specific to the `SequenceDiagram` and alter whether the actors are mirrored or not. So this config is available only for the `SequenceDiagram` type. + +**NOTE:** These options listed here are not all the configuration options. To get hold of all the configuration options, please refer to the [defaultConfig.js](https://github.com/mermaid-js/mermaid/blob/develop/src/defaultConfig.js) in the source code. + +``` +Soon we plan to publish a complete list of top-level configurations & all the diagram specific configurations, with their possible values in the docs +``` + +## Declaring directives + +Now that we have defined the types of configurations that are available, we can learn how to declare directives. +A directive always starts and end `%%` sign with directive text in between, like `%% {directive_text} %%`. + +Here the structure of a directive text is like a nested key-value pair map or a JSON object with root being _init_. Where all the general configurations are defined in the top level, and all the diagram specific configurations are defined one level deeper with diagram type as key/root for that section. + +Following code snippet shows the structure of a directive: + +``` +%%{ + init: { + "theme": "dark", + "fontFamily": "monospace", + "logLevel": "info", + "flowchart": { + "htmlLabels": true, + "curve": "linear" + }, + "sequence": { + "mirrorActors": true + } + } +}%% +``` + +You can also define the directives in a single line, like this: + +``` +%%{init: { **insert argument here**}}%% +``` + +For example, the following code snippet: + +``` +%%{init: { "sequence": { "mirrorActors":false }}}%% +``` + +**Notes:** +The json object that is passed as {**argument** } must be valid key value pairs and encased in quotation marks or it will be ignored. +Valid Key Value pairs can be found in config. + +Example with a simple graph: + +```mermaid-example +%%{init: { 'logLevel': 'debug', 'theme': 'dark' } }%% +graph LR +A-->B +``` + +Here the directive declaration will set the `logLevel` to `debug` and the `theme` to `dark` for a rendered mermaid diagram, changing the appearance of the diagram itself. + +Note: You can use 'init' or 'initialize' as both acceptable as init directives. Also note that `%%init%%` and `%%initialize%%` directives will be grouped together after they are parsed. This means: + +```mmd +%%{init: { 'logLevel': 'debug', 'theme': 'forest' } }%% +%%{initialize: { 'logLevel': 'fatal', "theme":'dark', 'startOnLoad': true } }%% +... +``` + +parsing the above generates a single `%%init%%` JSON object below, combining the two directives and carrying over the last value given for `loglevel`: + +```json +{ + "logLevel": "fatal", + "theme": "dark", + "startOnLoad": true +} +``` + +This will then be sent to `mermaid.initialize(...)` for rendering. + +## Directive Examples + +More directive examples for diagram specific configuration overrides +Now that the concept of directives has been explained, Let us see some more examples for directives usage: + +### Changing Theme via directive + +The following code snippet changes theme to forest: + +`%%{init: { "theme": "forest" } }%%` + +Possible themes value are: `default`,`base`, `dark`, `forest` and `neutral`. +Default Value is `default`. + +Example: + +```mermaid-example +%%{init: { "theme": "forest" } }%% +graph TD +A(Forest) --> B[/Another/] +A --> C[End] + subgraph section + B + C + end + +``` + +### Changing fontFamily via directive + +The following code snippet changes fontFamily to rebuchet MS, Verdana, Arial, Sans-Serif: + +`%%{init: { "fontFamily": "Trebuchet MS, Verdana, Arial, Sans-Serif" } }%%` + +Example: + +```mermaid-example +%%{init: { "fontFamily": "Trebuchet MS, Verdana, Arial, Sans-Serif" } }%% +graph TD +A(Forest) --> B[/Another/] +A --> C[End] + subgraph section + B + C + end +``` + +### Changing logLevel via directive + +The following code snippet changes logLevel to 2: + +`%%{init: { "logLevel": 2 } }%%` + +Possible logLevel values are: + +- `1` for _debug_, +- `2` for _info_ +- `3` for _warn_ +- `4` for _error_ +- `5` for _only fatal errors_ + +Default Value is `5`. + +Example: + +```mermaid-example +%%{init: { "logLevel": 2 } }%% +graph TD +A(Forest) --> B[/Another/] +A --> C[End] + subgraph section + B + C + end +``` + +### Changing flowchart config via directive + +Some common flowchart configurations are: + +- _htmlLabels_: true/false +- _curve_: linear/curve +- _diagramPadding_: number +- _useMaxWidth_: number + +For complete list of flowchart configurations, see [defaultConfig.js](https://github.com/mermaid-js/mermaid/blob/develop/src/defaultConfig.js) in the source code. +_Soon we plan to publish a complete list all diagram specific configurations updated in the docs_ + +The following code snippet changes flowchart config: + +`%%{init: { "flowchart": { "htmlLabels": true, "curve": "linear" } } }%%` + +Here were are overriding only the flowchart config, and not the general config, where HtmlLabels is set to true and curve is set to linear. + +```mermaid-example +%%{init: { "flowchart": { "htmlLabels": true, "curve": "linear" } } }%% +graph TD +A(Forest) --> B[/Another/] +A --> C[End] + subgraph section + B + C + end +``` + +### Changing Sequence diagram config via directive + +Some common sequence configurations are: + +- _width_: number +- _height_: number +- _messageAlign_: left, center, right +- _mirrorActors_: boolean +- _useMaxWidth_: boolean +- _rightAngles_: boolean +- _showSequenceNumbers_: boolean +- _wrap_: boolean + +For complete list of sequence diagram configurations, see _defaultConfig.js_ in the source code. +_Soon we plan to publish a complete list all diagram specific configurations updated in the docs_ + +So, `wrap` by default has a value of `false` for sequence diagrams. + +Let us see an example: + +```mermaid-example +sequenceDiagram + +Alice->Bob: Hello Bob, how are you? +Bob->Alice: Fine, How did you mother like the book I suggested? And did you catch with the new book about alien invasion? +Alice->Bob: Good. +Bob->Alice: Cool +``` + +Now let us enable wrap for sequence diagrams. + +The following code snippet changes sequence diagram config for `wrap` to `true`: + +`%%{init: { "sequence": { "wrap": true} } }%%` + +Using in the diagram above, the wrap will be enabled. + +```mermaid-example +%%{init: { "sequence": { "wrap": true, "width":300 } } }%% +sequenceDiagram +Alice->Bob: Hello Bob, how are you? +Bob->Alice: Fine, How did you mother like the book I suggested? And did you catch with the new book about alien invasion? +Alice->Bob: Good. +Bob->Alice: Cool +``` diff --git a/vdocs/intro/img/Code-Preview-Config.png b/vdocs/intro/img/Code-Preview-Config.png new file mode 100644 index 0000000000000000000000000000000000000000..426e6bf63304aba149b046e6e7c78f58dcbaf1ee GIT binary patch literal 148873 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�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 literal 0 HcmV?d00001 diff --git a/vdocs/intro/img/Live-Editor-Choices.png b/vdocs/intro/img/Live-Editor-Choices.png new file mode 100644 index 0000000000000000000000000000000000000000..5b4c2086dbce6311838b5ce33e34fc2b4c8e340a GIT binary patch literal 53011 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≦O_^+~1=%YCo=H`jgY~#| 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 C;wEkY literal 0 HcmV?d00001 diff --git a/vdocs/intro/img/book-banner-post-release.jpg b/vdocs/intro/img/book-banner-post-release.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9ce3cc6fc7fc025b55f357403f572a6860d17625 GIT binary patch literal 75158 zcmeFYbzEE7_9%Wz-AhZ078ocF3GPw@iWdnK9|!>gB!S=(s55vAEiT0!iaSh8fd&c` zcT(Kl{hfq%X72ml`~AK5_q#ctob0n@?X{P$eRhs|kA48x6y+4;fD<Q90FS^6I2r*y z$hsiS0YF6s-~<5R9B}#s4R9JPodCazCusjFYn)&QPLk@$z(#%myaN>ASI-*>oFdf& z02=%yen7~i@uXjVUVc7tUNLcg0Y*MiaRFg*0YLyb`QgM*Xy7~_$d1bwz+oRw9+yv8 z5&;o0yx3#u;9x5bg`({tCT18@1O$#jL0wF2p?nZtC?F~0Vrv4oMmR8<A}o+-DW;{0 z8YV`hnG}<bkP5Gg?E{1*@{t=Bq3Nco1$VQCi<vRWNHa>hh`XR{Q3wYUMi-O~+Fsm6 ziireV94r&7p-haVE)LdGOixrEGd{pz5sX3*AqX!MI2vnaF0S!V?&nzWNs8$wlFrV~ z5N81h25SN36B84I^72FZ`FX$|Joc_=2NM?_v_11L2oDkVa4gc+0f|8~5+RzHVjLZ$ zn82AyD4D_kf@<rCwIRVYgF_KE2owVCU=J>zkBB9yudOA<0b_58vHfevzfkM1W)jVQ z4FW0f@4NpZ?ms%JsQk}eQK-Lgv3HPl0+;bWam`-K)fNHOK-gm(v2cW}6Sy8`CdR+8 z6n}uR!C+M|W(X-Jfq&L3Jb3UJi!n#qfDQH<^7k1PWFH9gi3tny@I&~B*xHJNqmbsV z4^14vE=1Ae;T7ZI7ts18dR)Bx;=H^+yMlZ+GjTBa|LY7g+zc-6fON1y{N(*T8;74I z8zhkf;x;B|3n?ZS9y5fwiKC4JlQar}MVTPYcuY;uXattW9%W)<BMBvP*#-#?C6$h$ zK>q<7T!4y-_#>pf0|x8*a|TU>-QRPOXe(|4C(4WzlPwlw<_JfaF)<$3+hfcfoK3KZ zdln!;rI_xSn<LRk2UkW=(2y1&8jPUG@Dd4i+}+s{0Rs8YM1uZ8^cV%`|BfAL5&sb4 zU)@2?AQt~pF=@vCe*Q~=|5D(;6!<R%{!4-XQsDnR3j7_UBhX-E?hJ<DM+?C3kAFq2 zi~<l|K=i(X$|+(h0RZfDC-i`mv@G&;V46V&oT4K;4N&~Mkcu>hg*4`xsdL}8w|`{a z?lO^%<34Tq_GpyM3=9~JA8V+|DJaW=Sq}(H%Lb0JKgA0GD6|8X7(qVK)nhz60h|XY zfolLQz-I!tx4rlHu`&tfzrAgClad>tgNF#~-*)-Wl^4yxpdZYR&VgN|;kH-@uuM#o zl${-HiRE`-nF4NUVg{Dez%n-$L=Y@@66;Nm%hSZN#c_F`SjK8;JOI~r4J<QS{G)98 zk22g6ivs(AD+lhNY#c!xNFQRFcL{-pX@b8@;Fk`t2Q&bA;6A_zC;+m+13(zy1H{0) zFu()w0}${D_z&ZWu;~C*00WMNgLhlN6~F>Wzyh!Y8~|>x))9n`0DsNFdIWgc0Io#( zgX6%@-*mM%7vLvVow#%#08S4d9j$>pJ{tl62XBs!_TrC@4idl|au5LiME^Y=^8o-v zH^BNgf7jiK1Awb90id|{?>f^k04VVW0IEJ)6RZho9%5okW)7yotEm8RSr-6qd<TFF z`o}Z_+lcKzVh;dlxr3}~27ri20AL0CUo|)y0BLmg^qDhfPM-yD=gyryfARXIix)0j zq`XFc`8q8n9UToN4fXBcIPctMU}vPJVc}<C=jMU(LT@t*iV8wRI3Z975y**i=gwWc zaPiiqOSd5OH1v@F>(9}j0QtESmKT7NC&&RZ@)IY?PaJSM{Z*-4`C|N5Lbedgq; zvt;MMR;_CQ8QBRkveReJo;!Qy)ag?vffHmWPn{+|bN$9|eD~DPQZSj=z0Knn(y)IP zpMO(O_`Vj_;S;k!$mh29<y)rDUj&cb5qY3V33n`5VS&9%U^N>Bq0$mJ7{Dq2IVTb7 znX_P{6gh|wagwvA&ygJ?MtmZ_{u|%v8~pbu1k^R`p0(X%GI<++i&;=JIPcT)nUOp9 zg`Tfq9~|`qmrjDi$xo64GQgbG5g=iH;Bm;kcgg77w#b7N8;YmEg==I_$==>&2iO4) zfaxjt@Raey-4l1OJq8|wqD?`%$S#})cQ#Ig4WN91_Yc5_bL@9HpOU=+J^&}~o_c(W z;sS61IC1*IsmC8=fx94-XU7m8gL@>8LEvOy`)N=}z@~Gje}a8_8X&(5sxxsW5CU<3 zgw&7J>lgqCJ_*E(h}$tLCw?Mw|AZDJ1tW+Dh>7oU9YDk#MDMtg9ry{8;>2lU1BfcI z!^?9S*T|mTe@dKB_QI)iMA*NO1Mwj)k~E&UKoG()1;9xGrdP*(K};@ySc8PP2i{NI zPbbpvDQOT$GEe(%X{YAhoqgR+s!H-@w6}6E5pzZmF4NOvipmlvA(7~K)baY*fnyR9 z2}B~(GZ6Z<$4_C$R0pXBB19w+*#(Mo@ppZJry!J{^L_wL@rR!z1UH2!z@}>#evysD zUm}~pi@0`>LdTes=uTWZk+9$p@M0uV=+|mM0QXKmeo6*%8N8U-Vduc*J_1OPPCWWW zw_ig+m><BVBv5HS0P$p;FCU-K0zlG(V6Ty+gh)?t0c6K)d`<#N!k+|{h&?^-ZN{t} zzMQYQNLE#WXRkzR-_1bt$zHB$sonCrho^Rz460<<KT+Ye*9Kw`zIjo*b8jts>j>y| zqh~O6raB19Z7dI4*xWk;=B2J)&69}stX<7X-gB&8nRdbX432Fwymyot$leNiSUV3F zwcESeSRS{~y@#I;$8|2+?NP4gq=KDS-5?B(L5^xBJ35*N<ph^?1L;}kCkNgWhH9I0 zxUn|dy>!v^iHoGxrQ=rECTAB28NC%GTf3OIIO4@=<yAbi1Whp6(yVwv1dAG8RSmgX z9!*ZKw4<YOP)q_lQ)~Qtk)hJ&z%f*zAk#yw&Kh*duoUIh@}9zru+Ad@RY7_}T_AO= zB28b&@LmWykVBd+<$DeB0d)kV#rk;<!PzEMK!9Ge^giB0rk)@;RLNn&E-QoM)yBxM zh2kTiQw_w?w}{xQW|p2f1iqS*yoVxeTqPnuxSyWxIpBOCOI)@xen(T|pnPf92P9Fq z1nH@GY1bQEmqLUw5nzc|r_>E_T^gP+aH@*Kcp@#wLWmF@L5L4Qh|$3yhB5;=Ack%r z9&9X?L5-1dzeYAxRoIN^FMa(p-}P1to{MH!%`^M$xOKW7qCY2EK)}dm<V*htV1Fue ze<5mPZM$He&xQHNz?F!|G*COAf|BbC$`2@)C%_^oZ=eyn0FZ?1r^o}>h}MUww4h{y zccMVv1C0ksZox_>Pzi~8d5--t>46B1B&y(`Q$&INWj=^j@f2A)X#$cJ`(>GqP1a9Y zCmKg0I)B>^aH8WeztD;YA;*){4S4tyH<C^O9LJUS?gGaOLo`98Re=Tp{AHAV{FH*I zjEo=1*dH?<&qTD+>|oIMbB%vPI5y26fHk_@mZe?1hgx!-43>VwgLh2MrUYkm-E8UH z8O|5fkH1{H&-C&QACB?MC9}cjDI&5DocI%+XiqwXtCusHrrq)PXVt1mxHj|{{(IKF z3hI+L&+{`zrQPKV`wnL`9o&|fobxQ&Cm(V0M@5a#eUfPVNbin)dU7o`cP$6g(>mJv zvF=CE3kPxYPejW>1~P(zXido8fJKl-Bu79p5<dxd7dU1I(L9ry|An6*W$*v;G{DXK zpv@pI{MgEXCY5Lqk4+-coB-^1*?+O)1O@wFo<@UM1ZfP?kz}xbLLf5f?lEoviHCoA zKt?c_CiVSSPxB7|;A|vD{qLTJ{O;*v4|13D<*^?-c7q_M#0!*_UnqbQcub44;S-+D zUfoKgI0*E#(S`@~rH!!=aP5+_7M0@5lh^)8yOU;`#z&=ao;^wSo`0Gt<a=<uFMl4a z_u<>u*W<4-eW<_t6wdjA{N-Dx_r6arA=atBQk6(w-YF(zd!2GIOrEP&&6arva>?yq zximZWW9UjmIOxqmvH}|HBu!yFMO2MrDibmPMWLsES$mL&#D#&YKXLlp&&7f~@dchg zBN7=D)wH`8{<E(lHT}a^5d)B8#Z7ulbX*{n?tySXw?mTi|H)T@)3B5J-X$l+A{UN{ z3|u&_1Qmtk(m`(j3T6Nz56+QmF+IHivH^5YPhsasQ4fimAZo+~6PNsqhyqa@e#r~j zRldgk)gvG)?8~l!(S@qrZR0a_u^9mG+cQPyKAgPCbnZ^Z!X;xlZaM$>J9j=jl&C%1 ze(sMuX?L@3lKcCE9Atb7XS|z*Sg-i{iCRPZH!?=5rfI%6e4$gHYJ>+ia(@I}Ev$0J z_oOZhpKQetql&J>e-l-J`NscURB_Ce{}5G>LX2N@CaxSbrbIC%(hn31kOe1zj9(f; zQsra%knGyee*Z^|;(ST=@>pHSf66~`R#1*el}}HD;m@(H1T~b{paIGl`1_2g@I)*9 z{3#d!Jv|Otj*$byAMiSsLy{pr<{M}XPJYYxlKe`ve@S&eG6}h_>TPsqKb$=OxErv4 zzN6{8Cx?e{n0>F=5ZU~#fbvTLhoP_9JpYJ%Q;Y9>`aza$-n+G}A&srTTWoQCM?eXK z%a4a^bJ8#6FH%35YV|B1Z8*2P21X!-Rb$T>)LXng?)d!qsfn%;L15ogXZ1%kU$hFD zjmC{fCWd5|g&@gaUy$SH4UYfg+9kyOOIZkYs?!RTmUsU+!(TPxp9be?ec_2JnKS-G z&wzAW3dvRbVRJTinCShoJpSSRKt25k(uDmk$RydHEB7Vw0;JtP6$Yf*FAo9|mFV$E z_AwsFASp7~mmHL8q9Hy-!A^Q0Li=gUh>;pN!B0gdY9-kTEz$&_-6GitlGma*L1YW? zQ@4n278Dwy3;RovNzD6YA)lT;#|TabMz!Ge@G&tS1wj+l3m|(#WH!n0lfe9%8<Z(x zhx@0%0Q7zuDOhKEMfSJr0IkGNsU(d*hH&ihF928h@%u}^9RX`BE7BnpxW=m4Z3Eoo zP=uOR%=_+==yvk+6}jB~dyLT$E(mX(OKWH^7WUBJ0$Zr{Z4P0<duP6GFW?X=agVTY z#v!sbIHym=HT%2ioPT^_o#AI%GmZCeoWJ2bXd&w1Q@TghN7pq;V0hOVmQA&s=VTIP zP;Fp<!+nY53p2g(%5PUJ-JSYnw}!Eq>8X>{8Xu^>{_#mM_!$MreMmP|(_AG{{Rtxa z|6cta|4u4UU{a9*S~pTW{^3|@h%OB@QAGX`<7`sAL*(9H9_a%B5*TFe-;5xt*#+Pa zVihPR|2g{k=~aJ5KcFD}OY{T!^OxYPB=h(aI8j51{ADDfMC2Zb)Zb`<9KZ0>%E}VO z@n6|bbb`N<z+=(-2m3*1LTY2Y2}S`#={o_=0=i+Muo2;qmO>JsUj%s3C{Xa*rOH1( zOSWs{r4F)o{nfWPw=ze(@4MdW8{i3hE<9h*RaYXQP*viN-t&>7>UVnm$?LLe^x5c* z7-21`PQ9r0q%Z@WtdX1&_hs9rNP%wy-sUpep9161cWwsaq$Qzq`lxReR|15MHd%50 zc>{jV4++}^v2rtx)nBf66r!6uYB$$!4#cFH%&Zn+40W&fqnw2+0=eekUS+yrf)ksf zvu*rG07N|rA=)8<V=-M%WJlEqdbnSj(z)F^o^>N6bkVAC2;$No>fTyr0#|`)P9I3H z_Gr(Qp{-)HRpt!Knyzq6*H4c0z3{Lq?$5$LkKIs;xU*NXBAz#~#8o{+3y(&Z_J-ga z@YT1vsK)9P6|sFyot3hyw*6cSrn9M|%{4EmLmx1oR!{n2b(=Y)@m&w=kottXQ}p&4 zCbV;t&u4O{!(l!~aR(NJr|K@tDsCv`3i318-MCpxx0{?i*wn_N$`TP?wjI$4JFspD zOE%867(_N?`P5v_<m0dP`NK~IQ`RRr!P5V=E>>DvXf;1w{x>l>-q6*+)_kSXF69Di zWz=_U#|v6PgKV{A_YMcn#{=nW&Wk2Cgld0<iiBbUJf5yl({a_YO*7vLq9R`g={9k% zV|G=rlT#5K-P}l&D#OAdL$09>XoqBm%KEOp+q1bDUDHh#KlW7ImCmv&5QCyWKIv*a zX4)bL>Q$HPReIq(Juj-!|H0hO{eP1UVutZE*$_Uw@uNx9Pqjpt<|SVz#1SjLQ_|1p zzEr*|e<jn93VJhg3GY8(Zhr*4Dmeo7n!S2u*60Y<@)f(OH?q@RMJvv#HZ{8y**{rt z>A9(7FqmFdLg=&zDjePNUEYX8epy@VG$W}iFkBgGYC17n_OYoxWxGD0z4(HHG-A}X zD%oB8ZLNeo+?*}QGL^wk=z`r$PDWze>gUq5Ixl(3-hf>$m5<uyxSApBwwxG6k{*)G zqeP?}G<G)JB?_HWe$BJKd$O|RN76vwsR}yz6s1Sq*pGT1Z$dXp2xq&i$1Y17ZP6Jr zIm0hE&d+RzPEEFX-ya@GiD%G0n52eMWc7P^d-)1ZBgGfBPwTJ4R#!!aqcsoBtAur% ze4!jSD*0G9NP7P(M7+`+_2O;1h2|^2n_SuM^3M5&3pLvHl@VNl1=bEP%}TvrudUO+ z*44;pT$uHrMJ4Ui&(M6dLPmKqFtIsZn}(fi+mHM)f<X2KH`XT1$c=~O7qNyxvsT?7 zuw=T7#FX(C$aW=CS(SZ%sRgH<SLCn>p2W!~`#L8(Zwh!Te{(L3kzj+h<X$9av)OXT z&nJXgn^%@u2Ucn;#KcrHeiv}yvU;tVV_PJ0zI#9o-PJ?r_UE<Yh-CBr>NDgmk^ycW znTvXPuN5`%1ajqEONY4j_A6A^bylc)?E0GgF}enVQPEVxx36V=ZuHfzt%f>u%v<&a zv0!z4Gq1#lAIHO05-*l{F(WX?-Y1*-2W+Y02?XmU%asjXDD|e#CU0ymztn5RUlH?A zWsK?Qgxce^Xe;ytY<2yO#=wLV+I4rYKhKD|FCcR3dXJ&rrlaG1-j^t(9G6*jZKj%l zXeNJNo4*L?(LpBx8pdZIm0meMLK?r*%Y6SJ$<bcg@pcKJ0NpYcD&#V`f4%~6NIP@z zr>IMWI9fTM&$3u?fkar&70G7Qf_{BR39B$t7cVct%BLW!e<yfx&LUCm62C1qDR@6l z37&mih6xg~9h|!^nzSjbws0y{e3|I#htsccu+em=(6q|SKF+vJVa&~xP%^hnqok6z z#Q(rp9Cr8A&%6hq>rI!8)Ko|nD);Q5b$DC0Qp^gGj(Rv<pOP*SjJ~Fh!q%L8q2R8! zR=LCX`i<MAr@}dB8yddW@EFTFC7+v5J<U^2@M*{@>}EzPn7Ra(&vviQWstw52yOH2 zgCq~4KM9DAB24^6eukEyvp9})h`#d7%xBTk5~O`hZ)YDQB75r8@BsA23r%;~9VKdH z!47saW*HCm2luv!DunAYSSY@!Lyv4ut8*z<2>)YPPD!H;yS~ee%PG586~~NuA89w0 zJ!PrVTZ?^4@`+4OPnvul$z043HZw>kWZ#o_-rS}u>HMPFMw_yDS?ylUg;bmqS4L1{ zpG{9MB1lrtDOTxvEo~>!uQ9RTJ`hp)+DW%dNmYM4KV(*D98WPTzT>hvYNqNJtQq7D z=g&@PtGvR@NcINh)-5dMCZceG)BoVABCkTUOSV7=@|~5pDd;%?z(!K!h06C>*muo| zFmA01N*(>Z7K5$uiSy7ZxQJ@a^?ob$nfN=2(<nku0adz7q4GM-Onb(!VDTQ&o#)SV zs`F4Ly%%cqC|HlyKFFG=O067lu(nW4JB~zt?N#^!$J@hT)c8N_Re&)9(R-8FaZb`& zVr{=BCvMcDb7UE|)bO0{T<?pMViC7XDOHV+fGW(NKT=nmw#DE*N@mrfx)J4`At9-n z@B&56wbukmJwGJWu2#2-39Ie3IXyLO%4+H{gyT9Zm#Ey%908+LlP=-15T6pOIenHs zIS)J8Z2hg<^`3h_ibsPlkrt*NVqc%i!a80)NKw)Aaies>hHkf{xq9+j5S9A7qW!4( z9B0_u!n}EZ1JFTthBiq1v5MA_OQwhy!HbwG2k679SuHM^m}{rTTv){V6AW#w+tdba z&Gy=YyQaG=39he&vvy_rQ0VEICwYF~d|@d&n${)#0YhDhLQJS}ltgXh5R}Y+|JxrU zT=Cv7U@LX{3ufcx;|GuG1<WEJ+Mz1H-9RhjtZ5&2Y(&o>i%k2pd9XQrDsntcIqHNj zL&DL{NwOuAD#hXbx>+77!r5Mw_uN>V$I5R8LG;TSRVCIiy*+jbJ$S+BN_W)*Dol-7 z=vB?x5!_8wXU<n8%&@p%$Bo#*{rLAzt2pF)HLjOM$_9_h%o<p44H!sk%_=SRg-I^Y zT3fFx%pxP5qTVJ<O&HVdLK+e@Vq(-Yum?||l)VBLc!NB>1&PEOqbMI9d)4fbhUWS9 zUDxb5t~h3ofjuWd)r1u#`>DD^^_7$v7cq_RZhD&9riQqWetiV?>Lh+Eet8BNQ3YK6 z?gr#m)uBqR%8dO?4vxl(e`uk`*o|QRD54>fm8Y)pNrm3z6+c6o*xM96hNZTu=`e$x z(IbEm0wTA*Q=rdcZjn}RE8Cc@&!mwed<2YeyDL>7DvU8EL;V!PZwq%mD=5|e*={Q^ zme>(x9&fYLSz?#WmY*Zx90_&rUsEV<d$Qm5eUzJ1@W6tZ@^-Zkwvi9xe7So+x7TTU zwRw37jrDgEr&20VHGG3q>j)b5;VYNe(7l*gg;nbs_Ge9;_t)|_v&lk`aa_A(cFD{z z-oM1?%1$|H7Y0Y%g{k`IE==*yy)tkY=GWflKf(>EAUx&tu+B>G{x!)fT^nu7M*x2h zI{V_|(b(T|A2;UER4bd%rX;+pxNft)GQ+FFWd5<q(qU;7=f&j5UIF_Wqb>W{4m%rc zZ65Hx-6U)2rtoXJX)xe_dKx(UVTWmFOk&$>iMeUPSjX6pmUmd)OSy<)$LpXpYMr6B zXX;?Wx-Bb)82S8sQzIP5CR%M@_oUt0rH#7(U;tW`=vN4>eeOk3BG)sarZDp{t!p+Y z^}+PQz_du`VZ(MHq`A2$m2M|5tMcQfZq-%1c}TmNah5)VT<&x_VMb_1CeIO<wOXMh z+(tDLkleYN9?&*dx^v#qFtB7ZrKc8dVLsrYNss4jSCf51Oe?^h8}JTVaA(1+{Q#(R z^t^ewUhIqlI?~!auD99Mu3oVjH5uG!2fbl#JsY{0QI1SsjK4g*x`K*y*wq^uHg%48 z6cBzgIr!Pkp^~&s%kIXu`q*Yzp!6l~wFQeQ|07_OdtZ5d#jSk*w`g&>PjA|aBm<bG zE9cQVqKnapzB_xGLX&j{MI-sj=tVoWYZKPp?Mpc~bre0`cpK|4pblPFNk^8NI;}AY zn_PJX`T+l_D|WYxUPzSFjG(j^n$K@I=F~?tr*-HE53KgFia0ppl$f<!OC;FdtGYv; zY|28u1cc|waV~e63Oh7|d;*@o0yaD^99%PA^W<J}jICL<j?LweO0gnE3MctKztar) zLZxK}qvd>;+<cy=V_i2<6Pd#it}xxSbN6%Y=cd{~Rv|4p7#^>4yTm<umoBu*!q@q? z;Z^v7dGdVjUVU}jjB%uH_KMofmH3UUxem9CEC*ASSz^#aBDGD(=+J#PrH&y-^xX8& zkVlIIs&A~swSh)lcDuu(_0;It#GK(R72fh{U$szc#~O7<ry{#0-QJJ@JG&L396y?H zn6WHn)9HLd7LvyrKHO1uISk+0>}qU$(22F)w_8>clzOnXpPL<57aJ;biQn;C9Wk%} z`LghG*fVL|5fB0$$6Dj`^y3@6q`mM#Ypg+CNkRqL!Qk7m<NZ}YEKf!}agKR~ujIAd zMnjE|`o`Sy*R?_;v2DKB&)t-t3LgUdV<KD3D;8Hul32pgY&&}bTRop{(|Ey7@ySj6 z-24D3PE25ldF_cuA~_d#QoIbI&m|Xh0{jbI_siUMr{(1yssBoD(R4yDyx%5QK<hK` zYj}G_i2`qRciBxJIFD)+o65)XlEM)d_8L72bCH1L5RUY@2=UjFc2fpiulJh5yc8ns zeq^&b{9&rnc&uVib*xow^<Hxoj638JhD|~|srzVUZgJ-dr#Lh!zGux+$1R~s_F7a# zuB??mC`zuMb&#K0G*l0<!evNbs%7m6Sqz|Brv@GiL_>q*<X~;pX}UL!W)v_bx~*wo zcw`o)X^>Iws85WJC?Q~U1eK*8iHLlNzvTMyF+Yt_s#Ek-TfM-`Jvfx%hLN(mXJT$d zh`G7)D$hWqVN)KpM&6VDv*+J{WV!4-DYGl{w$8izj^J967BO=dKBU?yI)HC8`>Bs9 zSg9-y;8IPGL!jfV{!-7CHkH+{GZ`;;w45gO7y2!mkpaaD4npj5m2)HK((07V!tC-x zs!a6HM66Nn-`FmQW6P4ua^!q=mqZ*QKYnclNtDBE3xu!bbE+dZWK44JeA5Y53e(Fd z&yS~xr(!#`sf6BC))b)o3UBs3Mcjo3h3V(Zfm6qU9Jtp&+yVKQ?TTwI-Of`xUWPJX zTGPP|!{OZ5U<^{wrDF+)AkB;=ADJlDub8lj_6#QN>3W}bDc$eihT{h3G+K3Uj%TH3 zW@g5}+|*A)m2i051;SC`%dn<bS+n7yt94&m@-yxXjO$C4EDU(Ieyra$(21F(Y7zgo zIPFwCfU54^YhEEIFXW%O6ndpB>v#3Z?Z{U}?G?Xuwr`@#1KnqMhn>Tb(T;I!dX?Ww z&3E>(+-p?>Gy21ZIK#=|*=RaiETRxqFkxm)XKe=yYF-GA9vR|*tZq4ujt)dBKZvA> zO}zAVN}m7ggd8V%p3`d1lAcgY99_?Ac*yxAr8#C;C)UDasVRDB88%R^ugI|&`nlW& zHefkj&vnHH=d9PzkV_LI*9*InmXnh_QavyaN3qiC`<k%kRU}LL%_n5J4sd8{zRP?u z?-!=O6@~PD7c+O}JKW67)R-<>e@bO#)_-(&a~Y!Sh^N&PfeU$C%jk4&h<Ca6g_IX= zJ$7fQ3H;g<q~b?$&<ii*cEoAWxOc=yS$(myn?5k2-JDlwA1f-I6w3>@&H7easY5$O z>9bQ|Xvpxf#kSpfSUjnMdbd73t&7v%-U6kP+Ey4m<RqPB5~SouxAa8CKfpq}v2IP- zf6gWm6-_@Jyo@P2NGLael~BkFI_9ln`D~oV`sbqjURZzHOmv*lukU^tCLNbCtB11B zJjw6SBU0h3kiGA=cUf1kH(z!0rNfk1pUpzPs<uj*A}Hl6BHB!Og-q{r?gpim-CMg? z1f>vW8Ln^g-wdesuk=vnF@|3rDllsIrD|kKcuSV|#$SZeQUP6gd(E*%@9^C6o>GrT zjGNcV-z7IUfU{Fl##1(g+_<_p6TeRkXQmyRpMzVZ$FF6M?b4>q9pgk-<9em#yUP+f zJ@U2tO@`$al*?0Oy10<?Cso`@gImqkxt`TIaGF_1J6gFTAnbs)>E;*lv!}-_BYJ*F zV#HsmbTx&K?^Hz(na|S%!1A@B)r70NOo)W#VxzEtjQisCw_T~UcLlHnxBWZCd#!4k z%Au)?Q^?mEgQ8n6R?<Je&W-<`sLXsI1gq)@a_Cvx+K#5VjY=6B)}1<BeH7;Wy7Ylk zhXa=ogeBp6zWNLcEv;g>GbFd$>qmfF09rZ1g}3z}sWop(yjqpjJQYzYYFk%F2rW-s z_b|?m&EeF0*WXcD;Qevd<7Tb1I_2c|+MKdX?)<Cfqaj1W1dWZ|ptJN9l4^$iTVW4w zEwPE{70z1!X^(j?24kt%P|2M{6*=b7+1KoCLxl?(DjBqcj3=Z-qP|T)^f__38@K?O zD~mOgPL@Rlp)SxaQ-k40)h;cE40~T2ig1RWEa4dTniRdD{hGr;mEEf&b8CmIMboXz z7N^F{OdjZT4`?aa_dM`OZ<tZocAmGl+UU-%s5Hc-3!7`}ghcdygt^czm5AJLCv0u* zZHa9Q<<S`&0W!<cy;p>Plo!q;t;&_&<!P!mI!{h_9Dq4OS7MK<!s4pqlTc>-;ThJ% zFTC~52_hP^(Pb=s<sx(W`t%UamiFT5b?$|$FC1)M#l)#f@kTy=rHx@<tk4TGTFRz} z3Cv;}F0&$DukkPh)-V~TkHT#ag(adB%BBKVEjVQ4I3U?az?bzx!v&;pvrH5_p}812 z$X2_1CcHps3f4UzJ%uq~I`lWK@Z4;ni~QENRO=Uv5ol|Yqdd97jjI1M<B#FQnsuRa z3kE%Xo`Y}oJzX=KMZ2CBqOPgrmRpu?*`>FtU2+vGga=}wc}D>B<EG#anA<EjvN>@N zW}HoQy;DbER&TZ*|9n$+PapFmh^+|PSOhnp@Qd>KLNP~!@Ik2*)aOC3)Io##gQPo) z&nJ(yM$rdRG<K}oZ72!i?=`UsuPbtG#P0D_rMBs?pj2g8n}@$H)Q><I{;c=NF=TN# z+)sw88vE=8owT;X_7kXgg*HOZHnxZeUx^DV*>GwE&p)_g4mwiv7q+rtnazBbC0tBd zR*X}q{KqeK+%0mgWld31zeRQBm0G_pwO0*PEu1ZH?hy)O?eHWI@)~Zv)t|MqR4lD5 z5`lxI*jn7sbaZpz$eGUGNqdoDyRlkWVr;?&$yDPLnb}?w33m-GN+Bd!>HIM6;hdOm zLcJRs>?xwJr^^d{>w>sZ(NP$9>-$<M=0elQk&8JEFH;@#H3(({%aS(bm4(fGHyT;| zzb(#94g6U+qidTGeKGYR&Ep`gDae<16~@MH<_-Y{!y*v@EjA({I5yR;-_k1g9~sR# zuG(X!mzrxn-M$?kxjk8VqXbr1uxV;5=N-kZ{B^7{DrKU{fvyX=38_!0s_qDdW;7dd zE)}wgVW(`ReaszQ@jKObZoKcTTR4v*)Xe5Gj4N8N*15Rh>!8`ff#<u1!bL?(LsiL9 z$(sJf^Fs<rgvtn>jJl$1etYj2JEJ#+D&~Wt3XP%f--}6C>x^xt1nH<mRX5y<%}Q{# zC}ns#+r_z`oR;pI5!%&RUanH1?|HjHxIkBQ>UoR?;-lHXpErBg_pCo_sJ$=Mfu!!u zcnO5&WrdFgfVtf#v5J1o*=fNxh>Z*4GuA!_Uq#@W*H7(P5E}2EjF`*EK%pb$9F0A; ze5+jAFhmBw-@N6f(5=YP!dkKE-u*<Ro@WG)#5X<@`A1n(6NFr}VKw*ocSN-+M2wIC z>-v#HrPnzX7Cu48ncP(97L&hBD0A6U-iXYZTkOdSkr4idw`DyYbdo7rv{@?Yy+)MZ z2A-{?ax}?miO!Bcx-XWl{i8!8G&agh!6!t>MttX;TXCQCx@9M#S|Lz$>OB9-&|j&= zmK`y*$iL0}d$Vn*5Owr}R{<d!`4MII_cmo@3*unN6pkXdq;<r8JhD_AZBEB)7yr;g zAFEEtUbOr^QLXr`-&wJV<x{j&il=;NS>}D=d+CaNk;A+%omGm4cOx=&((uF1Pudaq zFD`>D5%HDt5_Wmnee004)iS(i=5u4uA;X6q1DXcWw}x>whi|Kw#HF+q&y0-kseJ0p zFEEJ-xR`iOwob`2wL(;=4-?4z+DVCb9~L0TcFlYYuAP~3U6IewuTAbiD5W<6)df#% zLyvee6sWuk9eY5}NuJ*X=ZVFmcL^pFa+!k0mNC5;2#=VpcA~}jzNCk4UqPREG=itX zDMY`<HB?QpfzByHtT2bK?YD$kzSj~V_2rTqYf^(AI<>=YG|Fp{(Yv+mG5tH8@n=>( zRdT7~E^2hXi@97K7~A4dqg!*bwQF`V<dbST|2Ja{nPS5W(UE$E)wTP@!Cuv2gtFEr zT?-AgM?lSUdkeuK@ocDE!F4~w!ep`gY9$sGd#W}OY^<srvq5yV^%Vk~(R$3ysC;!_ zsl8zi-NGFKH<%mc<>f;Po-T0-^Wm1JFcE=ef1QI?CP(VE0V}>?v%vSCD`kVMI^M$u z7`js+*I#VZEtKD0Ogz;<gW+9^QM#}oAwJL5v;JNQwXb8pr=vSNR%w)HX>nDtVFbr4 z@SyGpsFjP#PAF5H-cRm~T9}=i+lo~w(&Y$tU7~HeJb1J3&)$x;+j%U|;3@IJ-6H^( zT|M+IMaU@-;<fanvUibZ#K6Nt!OBg;F6X=ir<!BadO~x#p<y=q(o3b>@df0P_*O{U zPQTq6+M=fqf~s!z-`MxytL^w!fF2c{23KBnR;{fmVTM+1eovL|_R<kB)yC{pHr}w? ztkh?`6_`WJ3;RMltwsz*9v2^|^q6ZuESINcoS!f*55>Eyh)$^o=TXd@Z|>=FaaL$; zXG=p0^%#tuHM?!7o(JjdsafE!O~)%oQ{Q5loXWz3>E!yA8y$s)a5=k@3q|j>H~IvJ z57WJJ)>{QMLm=GIsUg(EG;(O3Qr$39gPNoaG_+?<ipB`~q|h}Vtygkor{)~Ik@pCw zgL|o9bo3{8l;&rTfTSOF>7%XE`0;wSD7}$pvDwHfs%8-lkIlo`g{@6os!<}FbD&Lr zt6jBlNa|;QWp44guW_kjJX`+mVf}|^g#-JbRoRlkx90?Le74x;C$?*GLYgz;Ta$f` zk%_`;k46ZgllugEwOeQ9t;6J}_E#t7*2|?5x6p>p^egk+csm;h5jjo#v={sO)x=3m zR1GRX&uGhKWO?yz#fx8QE+TiO;gii?F&#@XLRZy7)?9gfLd52FfJo0s{vFlCI~XIM z7DH9ek@>6mT+I#>nw{%W{tWS=(i<zn$Rd%kALU;P1=`J$Xw^>6Y`gAI+kI;Y$hhX` z8|JJpx)H(iD3BV?6WlEGYCS7#%B~?GOls^Rj^$=wXGK_c^xF{WM|;%@&1rK~+Y$Ts zKdxI@``_ujk-f{0Tit}}JR9-_g_k=xudRrO+1r8piJJQKeAIz^;<xbwb<v9XzU-nK zuJ88W*G6s%1*uNY=F8-285kJnKuev=mRkuT;g-~;#UqFTKM$w;GHlI?l(-(qFaflI zNUdnK#q9?$gGRf_0Ia(l--^YVL>L-!$;R9;z4}T^SVTkf2z(tbdapLOi>KHN`O-~A zdZihkwtN`j{b3vr|LokQ99gs&g>>2sp-<RqqT5kU+3!CB$UMMfo~*`SXS;WcwMCbv zT6g#k&DwSgUl%*(W1^)}ku=qQJw685gc$osf+J6P@_ws`v~qa9<9NNRVCHnOe-vMq zpY~_;W$5kJ`^7$i?Ak*)(_FN#^DNFC0crs~)`t58uEEW{E8OCN+#NLvk78}EUY;Sm zE7D7kc21#>sVT3h?#UMyqLwIE-pR_ZM5so+;<R1Pv(A~C>0@6iH*7j^3lP^g+UxJY z|2Fu&)Z!M^+fE_p&arP9Art;O{t>THDk+0h_%J6*ThE8xf+oIE?rd$Pm?Pj;)2MZL zXU~$ostv;p+u08IluMvSJq9VeQNAy}*VdNW=^W=Yq|MUssn?~fKcEYtNozu55R7Y$ z@bYnVF5<YM%Ti#RYC9b9W})#FuhRnlqST$>W#eX&4D?qkR2Icx_3XQ+Uq>0L=RhRe z(|7q%Th6y#Ob-TEvK(ya+}B_XMm3iLQIvt6=Pz4$JGff)@oR*<mcrQwFL)-;iLXsA zj;$d0`&Z*X_ruq0eDgXt=Txs?je5G<>U2BJ_P#enl_dO*?9@l2Bdp$2)<Lwk)U9i4 z=FO?|jZC>bKPt(Odc_sU;5^8uXAZQu!Ce>J{p<O5FPSDd1cME;gDuclk#8y&727{n zj=^m6aR%)L<8|9C!>-+}AuPp-w+W7L+wKDD4!;YDrpCK=j(E5BfvkE|9Hj)^NUBxu zEo4MTUEUf?&w12p;$X|ZE;EZue28T`?>fptB^vH`0h>s#TPjj%>=2eV*5px|+v5V4 z4381;&PR7y_=Ql?q`CJA^|1_<6cR$zpQPS&Yg}Bgd*~3&GU?*-J}az8EStczyjgHr z#?`9|IsPECR*$K3iYpfzD1@;nu_3&kbn`zTu+J(NUkdx&8{!hC6PQvS`50^6-_~Sw zNN~Fm6?O4$TYpT~XEBQY&di~u#>yLf)ro8h6RZoIyP1J`2y$OomiK7}aBGnMmAQM> z5pYIjKt#5UBiqbanIj{$nKi24D8+TXIn=^3W(!_f&GqMZM}OTc@wp&qVyl5Gf^w*9 zSQj65vwEe4j=c7}pk<G?M`j6=k~0_M#Fpc{f9V=x%E(*Hb_G2ByCXIA<1??VqRNBu zMrdWz8EZS+CqBQ6div%&dbnYp$6zOip*3wbGp)!Rv2a~fM5M4^fKbF+s;-B(2BQk2 zR#rS~earIuMd2A3jv$@Ov+iv{FbL8~4sv}nr@1awS{iF_wL2Lm1?A9Ano{mwjxx62 zNG!Nwv?{XpB((LDmtgB$^0GXAW_@sbqQOEH%)lU33|j};Dx1cT(>Afr$OR?MJn>zS z{fysgY$>XFZa8&n5+6LE9yoW&h@opl)U>{|Hw<NG`wr*s9E^z~ia^?|sMGJ}x&apY zezRfihTj$&T&h3;FmD&ElA%-zOiYs#nDmXB(oak6>l(%)n%s?_`<olk9MEtto4ofy zz=j~Da@9GGbB6U#P@z1vXg}H_`)qJ`>#9P#Hq9sRh*bx}{oKqbbU`D&u5K$_3D!N5 zEU}!Jx~?K7Wcq?og{m2LGL4Q>qh)s%O;oG>@+sq+jY|)kl}h%Wuz8iVl3vG+JEGhA zXKz6KeazZu>CA&M6=~&u{ROlNko6V8+Yszp$$4EdF?PHdHhVX;siNQ7ZvsD}im7nO zX49&7`T+*UGu_1s+k(sxW&5Ile#b6Vzf_gHiD+7t+iiS&mHcQ5WWQ0^E5p9!m#IAO zl10~e2w3^c`DS=jMxEa%H;%u^u+&M17BOHzKa<O#UUE8DGV9}?F^o5Rztq+6Z+AST zOF6*16wvB%(Kbq5yk5asmyzWM3r#Kv9ZHQr`b31A_K4=s*NJNMK<<RjG;GA>?qA6k z)X9yk)tg&b6psKN3oqV$Qf)Kn>M@ra*AV8J=%-m%^P}Ea@?qhyH_H(qKQ$cWl{~cn z`ij(8?}HHK_K#SHj8p_yQZ)UVVP;8I1b=@?OcLw1X9iEUJUzO!s%K7NH!kR-yt}}4 zdw3~^k`^-f3da}etIDy|)sJdLX34cHF=WCF#RFwwvU231c*tTRS}Y<<ITM;>S)};K z#8l0_9K@MT1(#yWrby?J4D{mtVfyIua}5lh&4V<1o4n!8bS)^aCka_7xmjcokKF*G z`XF5(@n%Y=&wHE5L4!gVRm%9zb)}kYy3#7s2f5D@$4p0?m^IX~15Q!1&kt={cCwNE zujjAeIt|@jI^{CLG?a>V``R9b2V%1Wqc4l7e0f!t_mdxv)#HJ>RZFN0e{_{xj4?}i z=sjIX|Bo#dm)(F;l<R~km1g{1k(k@?Z0TH)i2+1wNqZmKb;o%$rnl*8M#G~g+LEe% zDMP5n;e#skdE6A`@N~|Bxc2GNn~E^@G979~<ow<Z^RgzF!oX^S^+zN6-#`1ba9JjI zu^v=qHRgr+icl>uD7m&fJsCv$4LA<4{Rk+-E@K0e^4Hw12*wBm7&N8tLiBMd;Y+A* zlOxUTeEEF)V`|p85_P{JrG08-Xq&{7p=Wizp)lUaA+b8agH)B&cbQ0hM`1afb|FWo z=WNBCyFg$WR5G4{>#9<x-S|rUxrI*fMg8c(tFbCJFrlN7i;h=SdbwcjG)0f8D6Q0m zww%3ElG1hwBVO+t1Q~3U3Xopo)@Adg{w+7=!igf=-G;S?a}zVghau?Up5iH1)OOjr zf@4wLv$p=Z@wFU8bHUt3gy|R|?*8o|8csJ^TMUAQWvk#)K@r}zXXkpvPH|VG7fYGE zXARP#GS)&wO}`_f!5_<R@DYQQukE$)yVJ_?TU*D+iKsW3YM~q$4i{#`QY~$!1j0@3 zO4q<Sd(>`I#GVSd7_^1F?tRKA0xq%aq@m=H*ay`f`c{OuYU!p~Y0tQ~1+y>z+NC$F z;eJOUCefAl6fZ9?QnTru1seg<nn$<huID)mWqlu})y10|%ZIVd(H5z)2yd8n(0q$~ zTV5oXSgzJ@(}etET!~E*1-;(A2uqdz+LR6b*mbKa@y(a1`%wj5qK^Yx5tZ(=A{ypg zRj)Nf^*k?g>PqH^wMP=1XXRoghFve@6%OuBOz!6eFFo(e{b*+tBX?#uRkkC;ixUb@ zU~?Hn6gCT&Y31{mcj%{8CztpM67DP&UO`IH_k7O@kp40nxrg8TIw`%-v6B9&Xq7{i zH$)Rx_0m5y>PpV5@AmknuoObu$^g26dtl$k*^$M&NjfehWtsq4%B{gvevUSJK%Q!% z1Zk+S%aP$U{yOBo?4Q*A-gj55p026HVZ2$r0S%vAkfCIa4ZECHy%49l;r7z3$in&( zt)G9HSut|HLnI)0@Dd9>QahfiYJh-FjD(swtfi*9CQdW!$L`6$x9Q1h$;0hrUO|Hg z4~|a){tpL1U(^@W$TaTG9J1n6i3jT?A*XEEGCl+^A$J|iw)<bLFYdP_TL-o4Z@QNV znzb6(lS`wVDs@mpEKpfRF0ZS)<*st$6}!bT=&%qYslD}(6yc&0^Mm><YU|L-$DfP+ z?7bfil=rEd_>?_n3!Qf!yvK6ihWArQV>|y!VYH!MpVrDMqL9KksZwN1AdWtz1TQ+4 z#Wy<a1i#ZCI6Ym$WMS^^>riRPy3d(s7+@Tj9VS7@wfB>a?Q=;O*66u4^u1khZo_7G z*)G|@CK40bkgwo=d1p=MvP)J7<Wfd*PzYKo%DzkFyv>$=B7%o9OHZ<`{@XLBGmHvk z7Yq4@)@jDcUcTd^w5H{REnH*}lwLRC^?#16QxGax68dISuf+uJOTXp$+MTy>Zb<ak z-#RwKa&{yH56}GRx-bh|ZE>q<>8ml8@sqBld@g<Y`%Khn@a!e=_-E2%(z}#<^PZ1t z<W_6^!+t#b;gp*b<h>JG;pi%zz7}iI)4C!sNc=O1sH1Y-$^OdlD)r@6-MJ&+ax-{L zZgR&U<_K6`>f7A1@z}E5!YvKXO@1DF632z@x=Ho+`G69p!*0RJ+1{;qeh(*i*yQit zatK|9O?=$3+l>8I;4c4OVlnmAjulF7@Q?e=)q&0X8q!_`);FT!-tp$@_{H6AUU-}D zTCKunZWa~QF+P~wJ>YNDx+veWK+%mdwl<E^T9sX^cLrar56e4S?UwKB>iUdre>T9x z(6Th01z)QEC>M2%DwNn2a@zN*%ytu5;s_lG_#AUfcqOMPUTeoazQEnRU9zR+k7C?J zfLrD7yJs*~Kgya!p8aNI7L}V=oP)%jF5e5&>Gjym7ZsA|SvHZ<6A8K6o`zFC0^ZIz zg{AFemrEGI7NSdE(5DdY@R_!6lqorHLG8TFA3AHw_-Io;8@VW2pd1inmWAEZ(l>UK zm&-Tj)knkz>5S%XTG`cS{*ij~_5^1lM+--FHX(6fsNW?LeJBzwGx8EM{&{9|N3tV- z?%U_;jNDvL-Ao>Lbn!d}y_T?&jW?o|hX$`%duljJLAAdAS)tnWYVlgM&4dbeBc(zo zI|dgAo^~lT64omWX*2uael<jq+2?b6W1L2LUoRouO=igAMZfT9Yc0JpPgk<7b{V%c z$4pLWmxapbp}iX+Lo!~2ebd&wcE9(FcbSVxF*AF!SNKl%7(>3Nr$4B#>!Nm#+G57% zq`*&sXE>bTH9WDn31%JF{;7yAnQ7aqE2#q_t8smu)%9*Mao#T&C^kZ2uP5r$tt78< zmu3@KbjkOe2#X<-2MmiFk}_2A+j<NkU+;V9zG^vCj83RDW<CN|-Q0G<KS>Cb$S1C- z?LiTx8!MN_TB*ul)T&=Mq<g0KuCl4jklzsXsy#=*`*&bP&nh<t8eNgqB2csk=l68( zxy7khusB9=)w&EzD>Y}hK5XqM;?bn#Qo{$#sN+Q_x|<b>1{Ne7sFngl^y>$^v-`Cb zbJ;G~qLfy#`nd)ghZZr#yH%<E4b5ZT)xGPvcWSz3tNUvzU2ms%*T^h?ZkF(~c^|Ek z-l*o3`_8kjv-+%OsBo?E3-;;tX1y6uHC6_`?M%HeTJju5P#m(o_05}c_vHU9UI=9i zwi~T{7^jtJ>a{MiAEac=P#PB^;b69(!Lnn0UEi_Ntmd#?$O)4f=L;(&n5{_0)Vl<G zG@YSUlu|*5E-hJ5Jk-}Is><>hmUM3p`h6AS*kjuXw?@Gn;x8WtX>J$0NX0+#AB<e+ znxbRbRZ78msOiIIQOg!mw3zo^?~~nm4o7PH;`TghnrI3<#5hcsPoeAF2QFFL_!+CY z%J{U#iWceX51f}WdN>e*4MCMuU@Eut>Ep-C=Tegq9l}Gf!7`D>A;;W}QJ10QCw^aQ zFG{ZI?u^N7`^nspQZ~w|IcIU@?MEBBtGk-1hwC+`0#O!eC3};h(=DzV`$xdZ+2j?m z3Xxi~jAe_PCZpiyZWl9Naq@9d_E>>?DIS-bWwjn!RMF_jO3ed*zP|9__T;qF=Q6y# z9C?_K=BD)0v(#JV>#=k-n{O>5Rj=n@UyhEk7f0g0ZHzhxj096)VwJokJEe1EZn?%J zk7UyFN+NgF(>(XRE{HqCrexj*_ZF%8IJbpcv^(B$2I;(>UK4y<ogi%k&ul5xR+W@b zDcr<K>eQrdIP&d9c~Gm#^-U;1j{qfi$0I<o=0sgz4M@61*i=K>SH_KOE9{pa@{_^1 zCq?%ZaFmTvTf#2ka6iqhs{GI5mEoHM^aY<v^qtQ&B%@Zje!F$(OTaAeUA>`0PQ4@4 zsvS4Jc`fX^_W16I)*!9|wQRH0qrAnP-Bw{oGZMvb^}0-Sz3ug~f2vTS{=&Ljh0dUB zuf(=bw4t;z+>1>~wed%`2y+WBmMddehaMq8KeJ`i9Kn?VzOa?aU$gSCi+B~6^?>cn z_Rv{nt!Pbs1(C7Y-i5aI&W55ywDsjyo$`Ls^Qxhp`|W9q6(JL9i#9*%$i-t)2e{#x zjcUlKu5Dp#<H#eO;DP6w*&^#QJvzNE<)tI7mAtXpv@c{7KFYWmzlsga?d*HEZoZ%5 z>HcCvV>|jFZX_Sp^lLlP-(5c06A`&ZsmmoAB!w?2+|kLq6PV47dJQt7;gmG`mU@_; zMjmQba>0U|5JEk>I@V_n{y*BHR7P_@Dodx8C#_~zLh{x@(7cz^lyD}cYf#t|h1W|N z%j@<oerMIy4Jq7~j36>>guZ$CxFGdUzQ`RupK-iS+9+byHBv%RBO_@t&MaiX*nDmn z8SRwK%vf(b9CZ0i_5(In1vhLzraWy^rle#L-Dw`(q1Ui?r)5c^Yi%msN@P;av0bT6 zZ38}7)sX2&2T#(buKk{UKxX`@;YSce#&_rAnl-)Jp(p8-i{o6CPV@V6I<K{@{qQ4z zFMh+Azl!<@V3QG=z<F({HxsuKx!a16jYFFJc;UgEsJVklw<n2K4?Qo%Pd|x`JJA%C zdjy=7DU%A~94wL%rpJKiimmRIyNd14Nf3{}oT*8E(&s&PzR^QA;@iN4o$m%j3)5cT z8xKz``;*VVs839~w2h4cJ>x+uG-t8pB^cV3lS5koA@63PkL6w0N){^gY)SOH>UHyg zpcX8*SRD8Mv$$i+Jl6;;IEc%mTdF57Vz}J@ZBgPLU4H|`xQT^zUIontLRjvCy~2ic z!<LN`GSkYmzpeS51Ioh@@orl2COT09etu!y2{Zb(F7c1(=-vjM$k+mr6o+ENPyG3l zgTu^2)jeJPuCx!WgoCWF3K#qtCw&Cq!&W7Ps<Yph^V1wql}W;b<ZL?mCe%{dAco~h zJ;o()ZCbrjR_iY2#FCwhue?woT_zs(5N4&~;wwLT@T5IZ?O{=qIi%SUA0T9ww0X^a znduxGYp997-fu6+PWTeuAI3SY<(g$A5QIN8UXONYEv8Pu;0d`BH)Nm^iq;WbH>q=z zBImZ8Xi`Fxt-UO#Eop27>FB=sr$f+4F{OjAOC>cW3vz=y7D5S}YQk^w>63GMJeB$k z-_m2WoRu(n^xjvU{j7E#unskJ_gxnD9qrF)!bw$Z8Y&&Q(22AAR5nq$?#$%7sR|~C zd<xX%cdyi4B&18l4F+)%oYk8^r}Fd%Lrm_j_jZEAoCo=eu48FCHnz$}fA%Hw&G`YZ zNkmdW-nCj&Pe=J~`B4Y`TF&9pt;r1ODo<*9C%*=nGeTHfN%-ws*dT*shp5eYpRBmy z>)-Qv^5^D@yN5zT-bJlQaejG-x)fy$3|J^ds4gW=_!lp#6&$!<;jxix<KTwg*guHa zYx)rwAd~T&DiNDsDL~a^_*r9qim;$ii0s5RaPZ6-><6%@xK#!lq6;Tj7Um@frKZH{ z-_(!xeRc_}Wv1`F-|M8H+E7wCWZ9`F9Jg$5Dq1UWQFvaT4;qle_YRSdGqlD`qTAa$ zef;j%Cf6Fd6<K-U-HdZ<@Z(E_0~cB$I>{Sfl-lxl9RsZE)SXwWRng6RL68azogr0a z!j^S)gO`ZPx1F5|=cU0->*B$30Zjizhvh6(YK~O}YmK{;YgyT3zt<UouBnAG5f0&j zIn-8c6zjsD#k$;*kx2tNH&mswd%(ZvdFC_wviKK8$HiqIavTceRD&n4qKs+r*^uzm zF0RnS>J&R9^HS?4f4=>TY*V^+g!Jw>!VzGPE=c0etAw%fIJ1a!(QDPr$PEd4E}lc( zlty3m81mZI#o?nvnq-<K`)e-l@A)i*jaZl`b~U!jDFt%pO~7Fl(_Lr<H}L<4`GV7< zqUMjRd!2Mu4TU=ilID>E{f<UV)_k0UrQLjP2!2ev&Yh}nKibs@p}f04Y9cK*+P9gk zD$R<9Y5ftoW9iOfLJJcX+Fmd&DOz;V4!uSOO;YHL$SERYMDv`Zx3AykR&s$~-zEgv zn3y^Dt*Pv*go5W;Qupb4Jvke{d}~aY*MA?S)5H@pJ2$%>wcc4|&1d<<Oi;@Hx{Gbc z#%ZdwhPR4JE_fH2liD`7{OsCTFYCOXdC!mUKnyjvEtLl!0gnD|5d`bEJdYO4z_XnH zi?R2PYASo*zL{}mus4)mW<&@bX`zFPg475INFTZZLg+nVY$$z5AP59d>4YLJp=SUA z0|ca#1PHzN7P{}jneX>EzxR38df$}=f52KN`|NY}-uJ%ub$>3n3TR9DfE32x)ql_` z-Mc|lz%hnCuMxBzM-)0{7m?LSR?me{qgL)vwtc+WTFG+^uJHQcjxxw2Gf|n#d*OD? zAwC2k^}LPLZ13<yV8riJ(V?iKYDo(>7sl~y+7qpd+7g#Vq8$qL+whO0kfZpMhke0i z9N0?^%!aK`YhJu^hYIFyIxRt}QzXN;(?tZkVk_TkaVF2$k!q%fgmjCtCzH!rGb01t zA5`|`-<4NmE2#0Uo?fY&6Qo(!O04ZndM*k&AKtF)tT&bfNhnIRF*DbD#W`M1nJjWE zTc(yuwhs9&n0V`iz!Zvy8)jpbO}%Ub4Pq~LBGh$yvg3SBVv(vw*dv4`hv^Ur9mwf5 zLb^K~sIk>?QnH_!YCI7xz2L>xt*8#1N4mTmXlk}^M!&h_)3PGe1J0<Mt$-)Zro+Tm zP1~CI24|4VVaXl&3+E)l^Vz$t@z+B%O|y>EG)F>9amp<+SlPY%Jcelzy6{V>!?S&# z^--M9M@sU$j6?g-Xo@%;_bJs~^)lgXk8x_GrIzziNSt(V2P<<VuHCivMry0IfoP45 z*g_vUIH*uAGvCsg756$LwzNFK0gQ4D6SS!~j8&ej1O;bi<L0Ay^BpJu?!Zb(W0|(p zNdMC7f2E21Kv-`hmn`u$a$Cf4>KXw;LHrR(!E<*hfBTNjaeRxdMLO)kiYfi=sES&y z?slRy%B^|_YdV*dBF9o{$#=oPgF_C#&k|*m1B{0=sfIiP0<jHJu~q#cDifjl@rx%~ zXz`ZoZmjPZifar`-($x&%opUlQMLG}y<}IF2#3miMb{uMhHS$$tY!Rlcrab}jVVy8 zbzwX<aEB<n<@(0r50^dL8OKBZqb`INN|&qPXe$12b_B_88m5hojpC3P;2_pxDXR9m zCQ1X9Zal%7Yeff=<KFfgSxQH;Ne|;C7`Kx#z;Q>Cz_YT3wh)8SUCd?@RCEmX1%S9h zpO$)k9Bvg~9m+bnUFmI^HzbV}Nc6>pG?J@`rgQqinu}9H?d#jdU1&rBeyE<aJkZEi zX?sqL!6DzlUi{=v+vsnx(b?yOA65(ngLh1A->54P80yKn@{fR|SiXE7HFa5A(p$P^ z;y1>J+dF3o)Q?m_+q0c6CkBb7<}p6NS#y%hFf^B!?#HdL3uWJ05Kf84(-6}gQm7!E z(wh2;QA}ZutD%>6<<uaojpbTJG`?&!I800l?J7A8ZRr~6DN55z6);NJ))L;`mbMOq zc1Rt5wy%I=MR(Po*Gj%h0u%Q~)QUpQV<pdBK0(hfV81RUWu5fdK(2`g5rh@xYvKM! z2Jx7$0um|1NL=hUCTOm#x4__lk;UuUz+48u81h=;VAddOM}xMEspNGH8>R2;2tbwl z{yS9&sKqh*Tfq5$k#O4nSHhY5`mdN*J2ro{+B}~=dHPNX?1A(cWi@ypRdY<|-~~b9 ziuRS8v*QDL8!NneHc8FLY#g>P|HOZ8gx}KNRq$^+4o<F>C_%`=27{#WwxdT@4TciA z5@e9+2ep@?Jj=&%ej6YsTDZ7wkW`;RpOnN!BwwFb#j-m&%&45z+$|*q_eMsyWjEQ@ z7B!SI75ms$mW;=hpqtBECb`8$X!{#moPLfE{aX&|^b-aju6IEcoH*<UMoA^lYQTvm z6&hw~2QmJds^{a3^clym`WCkw(}ha}uc7+7>=HB1F5GbL%XM@!j&**bm{)=x7=xyN z?QkW3tjoml?$Y4p;oP9-@`<^|xb2!Q)zHl%jb|ZhKObs<MD>x&@u=WVZwFcN%Z1Cj zJF2>po!g57B;l3XgxX&DxdCeVjW(`M3^74DSw%6Yo=x7OZ^sNBXE5@o7iFzRUw6#T z+WBb*dx>?<)0SBf)L~1OpmiBq^O1xnIX#`s3lo$Kpe!wdjSX2+257Jd!kDAC0$jT( zrx4*_u?5rI+Y-`LZY4r<{Hoz~y|shv`q&0TyPicQn1_ymLWD;xFBx4n7g%>9pmYbT z{$fYfh3#iY2w&E$EA`}wf0T=JIVd11(!tyMnExJ59`pobqqo@9HzVLU#S85&+Bv3S zDLXzoMsD0Q0+9n!8(uzzxy;gvflI~Uw((;Zn~MaJ^$ORc#ni9oeg$|LH!t2~LNs12 zG+{6GF$~Q|SbMH%z<SM<=FT<hTpyLO%A9Zcu{6>8L-7-SpYgTSqJyDzt=CkW+Ue!K zJ+2?-2zgBEihvB^UwAEWbB=StX))Bp|3VtBIBY&VkWV~vB>r@Txf0<Us@_>iD{u^w z>s|YT-*=hGH<t$|Npu7d|0r>FEPMcCX8C~ISL(atTewW!Dw|OW2Dv*(Sf@r?Qg(u4 zs%muw)+{=;6rYw`k4vy(s*~r;AG;ZRw8{9!1h#z`rhb@av103E!?~9YQwB>4jXchK zIdLrEdP#sgVrbwCad(g&R{ME+`51JAK~b|cm5T%GzO3x@5bjy&@$=)7&a@TlC+>V0 z6<D&iJlJ(EvPq}9$D{cm%X;oxu>xPqWG|UdTGr*GXLCkta(PZf>vk#*BInv#ctR-; zR(Dr_&DHDZ%YI!z;oR7C#6@TAZXcR<SMTsCzo3XB#SnI{WU*m_H`>H?`Arhv<*!a~ zRyzqyG_1ir+A=)`l1oIkY(Ng}y!CH#7p~mxo3X6%GU>XyoKrcvg3yJZx%5l=5NV8_ z%RrURHV6HufF<)(xhd+*)h@Y!$pi$50Iz`s`EoB9$Pt_->>9WSw#UT2hVi@lM0QS3 zW96yFv@)-q9r(%)uSe#kZAwVHFCY(;dPj+lL!aI6+8m&@(GiKt5cnkqZRIeA?%FlR z8+LOtpo(bKS8?gwJm-_~O&-LR+cw8HES9{(v=0v$atofeK+!D7fOz9A9Y`tK9hh9n zPo`0AGH3DgvzxdBU9<I1M@CZ1-Nx$I>p9cYl07mq;!+K|+Qp2ucU3d&XsGyLvI`kK zyjAKOtJve3rl^9^=#8El5^)@|awHBO@;7F0KHJpO3!~X;s=wL0z@|es-`|gKe{%5n zWeG+qOna4XM^JxeDIO@y<x%dO*ru4G>HKLdKF;d5p9Ydl@unRu5?v*{-<Z7SpXH-~ zt!0q<b~|U!Z~=3L74deEve&*$>=n@+12=edTzcHt;z<~#q_ED;&o6VHi<k7K1yJ7D z^Oh=t&`*?vLG%E72B5tkx71cckG5%_kVAYZQ{~t~;DgN-97$b)rEhEYRDe~J?%O7+ zWZaLXK(4o&<rhshoL!eeu9*<0YOQvH)ME0?vlrh{Uqf}CbR*5iYB?F;kmS-<9eohF z%%&0tO)=wyRyf+v<aH6_-Az}OcUuirRLs4hl2XsyA}IY6tLK}0q-`?uoSJW$2u_eM zKQ%kq8r?m*xV2Q2qHx*`FzOXHCumSG8Qm-O!BoYx>#?P%0A0K`3D|4*_4WyPt)PO+ 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%0Dny~x4UA0Z<K`AQ-lB5~WQd)!i|Ew@ag-Lu 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 literal 0 HcmV?d00001 diff --git a/vdocs/intro/index.md b/vdocs/intro/index.md new file mode 100644 index 000000000..030409c6d --- /dev/null +++ b/vdocs/intro/index.md @@ -0,0 +1,398 @@ +# About Mermaid + +**Mermaid lets you create diagrams and visualizations using text and code.** + +It is a JavaScript based diagramming and charting tool that renders Markdown-inspired text definitions to create and modify diagrams dynamically. + +> If you are familiar with Markdown you should have no problem learning [Mermaid's Syntax](./n00b-syntaxReference.md). + +<img src="/header.png" alt="" /> + +[![Build Status](https://travis-ci.org/mermaid-js/mermaid.svg?branch=master)](https://travis-ci.org/mermaid-js/mermaid) [![NPM](https://img.shields.io/npm/v/mermaid)](https://www.npmjs.com/package/mermaid) [![Coverage Status](https://coveralls.io/repos/github/mermaid-js/mermaid/badge.svg?branch=master)](https://coveralls.io/github/mermaid-js/mermaid?branch=master) [![Join our Slack!](https://img.shields.io/static/v1?message=join%20chat&color=9cf&logo=slack&label=slack)](https://join.slack.com/t/mermaid-talk/shared_invite/enQtNzc4NDIyNzk4OTAyLWVhYjQxOTI2OTg4YmE1ZmJkY2Y4MTU3ODliYmIwOTY3NDJlYjA0YjIyZTdkMDMyZTUwOGI0NjEzYmEwODcwOTE) + +<!-- Mermaid book banner --> + +[![Explore Mermaid.js in depth, with real-world examples, tips & tricks from the creator... The first official book on Mermaid is available for purchase. Check it out!](img/book-banner-post-release.jpg)](https://mermaid-js.github.io/mermaid/landing/) + +<!-- <Main description> --> + +Mermaid is a JavaScript based diagramming and charting tool that uses Markdown-inspired text definitions and a renderer to create and modify complex diagrams. The main purpose of Mermaid is to help documentation catch up with development. + +> Doc-Rot is a Catch-22 that Mermaid helps to solve. + +Diagramming and documentation costs precious developer time and gets outdated quickly. +But not having diagrams or docs ruins productivity and hurts organizational learning.<br/> +Mermaid addresses this problem by enabling users to create easily modifiable diagrams, it can also be made part of production scripts (and other pieces of code).<br/> +<br/> +Mermaid allows even non-programmers to easily create detailed and diagrams through the [Mermaid Live Editor](https://mermaid.live/).<br/> +[Tutorials](../config/Tutorials.md) has video tutorials. +Use Mermaid with your favorite applications, check out the list of [Integrations and Usages of Mermaid](../misc/integrations.md). + +For a more detailed introduction to Mermaid and some of its more basic uses, look to the [Beginner's Guide](../community/n00b-overview.md) and [Usage](../config/usage.md). + +🌐 [CDN](https://unpkg.com/mermaid/) | 📖 [Documentation](https://mermaidjs.github.io) | 🙌 [Contribution](https://github.com/mermaid-js/mermaid/blob/develop/docs/development.md) | 📜 [Version Log](../community/CHANGELOG.md) | 🔌 [Plug-Ins](../misc/integrations.md) + +::: warning 🖖 +Keep a steady pulse: mermaid needs more Collaborators, [Read More](https://github.com/knsv/mermaid/issues/866). +::: + +:trophy: **Mermaid was nominated and won the [JS Open Source Awards (2019)](https://osawards.com/javascript/#nominees) in the category "The most exciting use of technology"!!!** + +**Thanks to all involved, people committing pull requests, people answering questions and special thanks to Tyler Long who is helping me maintain the project 🙏** + +In our release process we rely heavily on visual regression tests using [applitools](https://applitools.com/). Applitools is a great service which has been easy to use and integrate with our tests. + +<a href="https://applitools.com/"> +<svg width="170" height="32" viewBox="0 0 170 32" fill="none" xmlns="http://www.w3.org/2000/svg"><mask id="a" maskUnits="userSpaceOnUse" x="27" y="0" width="143" height="32"><path fill-rule="evenodd" clip-rule="evenodd" d="M27.732.227h141.391v31.19H27.733V.227z" fill="#fff"></path></mask><g mask="url(#a)"><path fill-rule="evenodd" clip-rule="evenodd" d="M153.851 22.562l1.971-3.298c1.291 1.219 3.837 2.402 5.988 2.402 1.971 0 2.903-.753 2.903-1.829 0-2.832-10.253-.502-10.253-7.313 0-2.904 2.51-5.45 7.099-5.45 2.904 0 5.234 1.004 6.955 2.367l-1.829 3.226c-1.039-1.075-3.011-2.008-5.126-2.008-1.65 0-2.725.717-2.725 1.685 0 2.546 10.289.395 10.289 7.386 0 3.19-2.724 5.52-7.528 5.52-3.012 0-5.916-1.003-7.744-2.688zm-5.7 2.259h4.553V.908h-4.553v23.913zm-6.273-8.676c0-2.689-1.578-5.02-4.446-5.02-2.832 0-4.409 2.331-4.409 5.02 0 2.724 1.577 5.055 4.409 5.055 2.868 0 4.446-2.33 4.446-5.055zm-13.588 0c0-4.912 3.442-9.07 9.142-9.07 5.736 0 9.178 4.158 9.178 9.07 0 4.911-3.442 9.106-9.178 9.106-5.7 0-9.142-4.195-9.142-9.106zm-5.628 0c0-2.689-1.577-5.02-4.445-5.02-2.832 0-4.41 2.331-4.41 5.02 0 2.724 1.578 5.055 4.41 5.055 2.868 0 4.445-2.33 4.445-5.055zm-13.587 0c0-4.912 3.441-9.07 9.142-9.07 5.736 0 9.178 4.158 9.178 9.07 0 4.911-3.442 9.106-9.178 9.106-5.701 0-9.142-4.195-9.142-9.106zm-8.425 4.338v-8.999h-2.868v-3.98h2.868V2.773h4.553v4.733h3.514v3.979h-3.514v7.78c0 1.111.574 1.936 1.578 1.936.681 0 1.326-.251 1.577-.538l.968 3.478c-.681.609-1.9 1.11-3.8 1.11-3.191 0-4.876-1.648-4.876-4.767zm-8.962 4.338h4.553V7.505h-4.553V24.82zm-.43-21.905a2.685 2.685 0 012.688-2.69c1.506 0 2.725 1.184 2.725 2.69a2.724 2.724 0 01-2.725 2.724c-1.47 0-2.688-1.219-2.688-2.724zM84.482 24.82h4.553V.908h-4.553v23.913zm-6.165-8.676c0-2.976-1.793-5.02-4.41-5.02-1.47 0-3.119.825-3.908 1.973v6.094c.753 1.111 2.438 2.008 3.908 2.008 2.617 0 4.41-2.044 4.41-5.055zm-8.318 6.453v8.82h-4.553V7.504H70v2.187c1.327-1.685 3.227-2.618 5.342-2.618 4.446 0 7.672 3.299 7.672 9.07 0 5.773-3.226 9.107-7.672 9.107-2.043 0-3.907-.86-5.342-2.653zm-10.718-6.453c0-2.976-1.793-5.02-4.41-5.02-1.47 0-3.119.825-3.908 1.973v6.094c.753 1.111 2.438 2.008 3.908 2.008 2.617 0 4.41-2.044 4.41-5.055zm-8.318 6.453v8.82H46.41V7.504h4.553v2.187c1.327-1.685 3.227-2.618 5.342-2.618 4.446 0 7.672 3.299 7.672 9.07 0 5.773-3.226 9.107-7.672 9.107-2.043 0-3.908-.86-5.342-2.653zm-11.758-1.936V18.51c-.753-1.004-2.187-1.542-3.657-1.542-1.793 0-3.263.968-3.263 2.617 0 1.65 1.47 2.582 3.263 2.582 1.47 0 2.904-.502 3.657-1.506zm0 4.159v-1.829c-1.183 1.434-3.227 2.259-5.485 2.259-2.761 0-5.988-1.864-5.988-5.736 0-4.087 3.227-5.593 5.988-5.593 2.33 0 4.337.753 5.485 2.115V13.85c0-1.756-1.506-2.904-3.8-2.904-1.829 0-3.55.717-4.984 2.044L28.63 9.8c2.115-1.901 4.84-2.726 7.564-2.726 3.98 0 7.6 1.578 7.6 6.561v11.186h-4.588z" fill="#00A298"></path></g><path fill-rule="evenodd" clip-rule="evenodd" d="M14.934 16.177c0 1.287-.136 2.541-.391 3.752-1.666-1.039-3.87-2.288-6.777-3.752 2.907-1.465 5.11-2.714 6.777-3.753.255 1.211.39 2.466.39 3.753m4.6-7.666V4.486a78.064 78.064 0 01-4.336 3.567c-1.551-2.367-3.533-4.038-6.14-5.207C11.1 4.658 12.504 6.7 13.564 9.262 5.35 15.155 0 16.177 0 16.177s5.35 1.021 13.564 6.915c-1.06 2.563-2.463 4.603-4.507 6.415 2.607-1.169 4.589-2.84 6.14-5.207a77.978 77.978 0 014.336 3.568v-4.025s-.492-.82-2.846-2.492c.6-1.611.93-3.354.93-5.174a14.8 14.8 0 00-.93-5.174c2.354-1.673 2.846-2.492 2.846-2.492" fill="#00A298"></path></svg> +</a> + +## Diagram Types + +### [Flowchart](../syntax/flowchart.md?id=flowcharts-basic-syntax) + +```mmd +graph TD; + A-->B; + A-->C; + B-->D; + C-->D; +``` + +```mermaid +graph TD; + A-->B; + A-->C; + B-->D; + C-->D; +``` + +### [Sequence diagram](../syntax/sequenceDiagram.md) + +```mmd +sequenceDiagram + participant Alice + participant Bob + Alice->>John: Hello John, how are you? + loop Healthcheck + John->>John: Fight against hypochondria + end + Note right of John: Rational thoughts <br/>prevail! + John-->>Alice: Great! + John->>Bob: How about you? + Bob-->>John: Jolly good! +``` + +```mermaid +sequenceDiagram + participant Alice + participant Bob + Alice->>John: Hello John, how are you? + loop Healthcheck + John->>John: Fight against hypochondria + end + Note right of John: Rational thoughts <br/>prevail! + John-->>Alice: Great! + John->>Bob: How about you? + Bob-->>John: Jolly good! +``` + +### [Gantt diagram](../syntax/gantt.md) + +```mmd +gantt + dateFormat YYYY-MM-DD + title Adding GANTT diagram to mermaid + excludes weekdays 2014-01-10 + + section A section + Completed task :done, des1, 2014-01-06,2014-01-08 + Active task :active, des2, 2014-01-09, 3d + Future task : des3, after des2, 5d + Future task2 : des4, after des3, 5d +``` + +```mermaid +gantt + dateFormat YYYY-MM-DD + title Adding GANTT diagram to mermaid + excludes weekdays 2014-01-10 + + section A section + Completed task :done, des1, 2014-01-06,2014-01-08 + Active task :active, des2, 2014-01-09, 3d + Future task : des3, after des2, 5d + Future task2 : des4, after des3, 5d +``` + +### [Class diagram](../syntax/classDiagram.md) + +```mmd +classDiagram + Class01 <|-- AveryLongClass : Cool + Class03 *-- Class04 + Class05 o-- Class06 + Class07 .. Class08 + Class09 --> C2 : Where am i? + Class09 --* C3 + Class09 --|> Class07 + Class07 : equals() + Class07 : Object[] elementData + Class01 : size() + Class01 : int chimp + Class01 : int gorilla + Class08 <--> C2: Cool label +``` + +```mermaid +classDiagram + Class01 <|-- AveryLongClass : Cool + Class03 *-- Class04 + Class05 o-- Class06 + Class07 .. Class08 + Class09 --> C2 : Where am i? + Class09 --* C3 + Class09 --|> Class07 + Class07 : equals() + Class07 : Object[] elementData + Class01 : size() + Class01 : int chimp + Class01 : int gorilla + Class08 <--> C2: Cool label +``` + +### Git graph + +```mmd + gitGraph + commit + commit + branch develop + commit + commit + commit + checkout main + commit + commit +``` + +```mermaid + gitGraph + commit + commit + branch develop + commit + commit + commit + checkout main + commit + commit +``` + +### [Entity Relationship Diagram - :exclamation: experimental](../syntax/entityRelationshipDiagram.md) + +```mmd +erDiagram + CUSTOMER ||--o{ ORDER : places + ORDER ||--|{ LINE-ITEM : contains + CUSTOMER }|..|{ DELIVERY-ADDRESS : uses + +``` + +```mermaid +erDiagram + CUSTOMER ||--o{ ORDER : places + ORDER ||--|{ LINE-ITEM : contains + CUSTOMER }|..|{ DELIVERY-ADDRESS : uses + +``` + +### [User Journey Diagram] (../syntax/userjourney.md) + +```mmd +journey + title My working day + section Go to work + Make tea: 5: Me + Go upstairs: 3: Me + Do work: 1: Me, Cat + section Go home + Go downstairs: 5: Me + Sit down: 5: Me +``` + +```mermaid +journey + title My working day + section Go to work + Make tea: 5: Me + Go upstairs: 3: Me + Do work: 1: Me, Cat + section Go home + Go downstairs: 5: Me + Sit down: 5: Me +``` + +## Installation + +**In depth guides and examples can be found at [Getting Started](n00b-gettingStarted) and [Usage](../config/usage).** + +**It would also be helpful to learn more about mermaid's [Syntax](n00b-syntaxReference).** + +### CDN + +``` +https://unpkg.com/mermaid@<version>/dist/ +``` + +To select a version: + +Replace `<version>` with the desired version number. + +Latest Version: [https://unpkg.com/browse/mermaid@8.8.0/](https://unpkg.com/browse/mermaid@8.8.0/) + +## Deploying Mermaid + +To Deploy Mermaid: + +1. You will need to install node v16, which would have npm +2. Download yarn using npm +3. Enter the following command: `yarn add mermaid` +4. You can then add mermaid as a dev dependency using this command: + `yarn add --dev mermaid` + +### [Mermaid API](../config/Setup.md): + +**To deploy mermaid without a bundler, one can insert a `script` tag with an absolute address and a `mermaidAPI` call into the HTML like so:** + +```html +<script src="https://cdn.jsdelivr.net/npm/mermaid/dist/mermaid.min.js"></script> +<script> + mermaid.initialize({ startOnLoad: true }); +</script> +``` + +**Doing so will command the mermaid parser to look for the `<div>` tags with `class="mermaid"`. From these tags mermaid will try to read the diagram/chart definitions and render them into SVG charts.** + +**Examples can be found at** [Other examples](../syntax/examples) + +## Sibling projects + +- [Mermaid Live Editor](https://github.com/mermaid-js/mermaid-live-editor) +- [Mermaid CLI](https://github.com/mermaid-js/mermaid-cli) +- [Mermaid Webpack Demo](https://github.com/mermaidjs/mermaid-webpack-demo) +- [Mermaid Parcel Demo](https://github.com/mermaidjs/mermaid-parcel-demo) + +## Request for Assistance + +Things are piling up and I have a hard time keeping up. It would be great if we could form a core team of developers to cooperate +with the future development of mermaid. + +As part of this team you would get write access to the repository and would +represent the project when answering questions and issues. + +Together we could continue the work with things like: + +- Adding more types of diagrams like mindmaps, ert diagrams, etc. +- Improving existing diagrams + +Don't hesitate to contact me if you want to get involved! + +## For contributors + +### Setup + +```sh +yarn install +``` + +### Build + +```sh +yarn build:watch +``` + +### Lint + +```sh +yarn lint +``` + +We use [eslint](https://eslint.org/). +We recommend you to install [editor plugins](https://eslint.org/docs/user-guide/integrations) to get real time lint result. + +### Test + +```sh +yarn test +``` + +Manual test in browser: open `dist/index.html` + +### Release + +For those who have the permission to do so: + +Update version number in `package.json`. + +```sh +npm publish +``` + +The above command generates files into the `dist` folder and publishes them to npmjs.org. + +## Related projects + +- [Command Line Interface](https://github.com/mermaid-js/mermaid-cli) +- [Live Editor](https://github.com/mermaid-js/mermaid-live-editor) +- [HTTP Server](https://github.com/TomWright/mermaid-server) + +## Contributors + +[![Good first issue](https://img.shields.io/github/labels/mermaid-js/mermaid/Good%20first%20issue%21)](https://github.com/mermaid-js/mermaid/issues?q=is%3Aissue+is%3Aopen+label%3A%22Good+first+issue%21%22) [![Contributors](https://img.shields.io/github/contributors/mermaid-js/mermaid)](https://github.com/mermaid-js/mermaid/graphs/contributors) [![Commits](https://img.shields.io/github/commit-activity/m/mermaid-js/mermaid)](https://github.com/mermaid-js/mermaid/graphs/contributors) + +Mermaid is a growing community and is always accepting new contributors. There's a lot of different ways to help out and we're always looking for extra hands! Look at [this issue](https://github.com/mermaid-js/mermaid/issues/866) if you want to know where to start helping out. + +Detailed information about how to contribute can be found in the [contribution guide](#) + +## Security and safe diagrams + +For public sites, it can be precarious to retrieve text from users on the internet, storing that content for presentation in a browser at a later stage. The reason is that the user content can contain embedded malicious scripts that will run when the data is presented. For Mermaid this is a risk, specially as mermaid diagrams contain many characters that are used in html which makes the standard sanitation unusable as it also breaks the diagrams. We still make an effort to sanitise the incoming code and keep refining the process but it is hard to guarantee that there are no loop holes. + +As an extra level of security for sites with external users we are happy to introduce a new security level in which the diagram is rendered in a sandboxed iframe preventing JavaScript in the code from being executed. This is a great step forward for better security. + +_Unfortunately you can not have a cake and eat it at the same time which in this case means that some of the interactive functionality gets blocked along with the possible malicious code._ + +## Reporting vulnerabilities + +To report a vulnerability, please e-mail security@mermaid.live with a description of the issue, the steps you took to create the issue, affected versions, and if known, mitigations for the issue. + +## Appreciation + +A quick note from Knut Sveidqvist: + +> _Many thanks to the [d3](https://d3js.org/) and [dagre-d3](https://github.com/cpettitt/dagre-d3) projects for providing the graphical layout and drawing libraries!_ >_Thanks also to the [js-sequence-diagram](https://bramp.github.io/js-sequence-diagrams) project for usage of the grammar for the sequence diagrams. Thanks to Jessica Peter for inspiration and starting point for gantt rendering._ >_Thank you to [Tyler Long](https://github.com/tylerlong) who has been a collaborator since April 2017._ +> +> _Thank you to the ever-growing list of [contributors](https://github.com/knsv/mermaid/graphs/contributors) that brought the project this far!_ + +--- + +_Mermaid was created by Knut Sveidqvist for easier documentation._ + +<style scoped> + #contributors + p, + #about-mermaid + p + p + blockquote + img + p + { + display: flex + } + + #contributors + p a, + #about-mermaid + p + p + blockquote + img + p a + { + margin: 0 0.5rem + } + + .dark #VPContent > div > div > div.content > div > main > div > div > img + { + filter: invert(1) hue-rotate(217deg) contrast(0.72); + } +</style> diff --git a/vdocs/intro/n00b-gettingStarted.md b/vdocs/intro/n00b-gettingStarted.md new file mode 100644 index 000000000..14b49057e --- /dev/null +++ b/vdocs/intro/n00b-gettingStarted.md @@ -0,0 +1,216 @@ +# A Mermaid User-Guide for Beginners + +Mermaid is composed of three parts: Deployment, Syntax and Configuration. + +This section talks about the different ways to deploy Mermaid. Learning the [Syntax](./n00b-syntaxReference.md) would be of great help to the beginner. + +> Generally the live editor is enough for most general uses of mermaid, and is a good place to start learning. + +**Absolute beginners are advised to view the Video [Tutorials](../config/Tutorials.md) on the Live Editor, to gain a better understanding of mermaid.** + +## Four ways of using mermaid: + +1. Using the Mermaid Live Editor at [mermaid.live](https://mermaid.live). +2. Using [mermaid plugins](../misc/integrations.md) with programs you are familiar with. +3. Calling the Mermaid JavaScript API. +4. Deploying Mermaid as a dependency. + +**Note: It is our recommendation that you review all approaches, and choose the one that is best for your project.** + +> More in depth information can be found at [Usage](../config/usage). + +## 1. Using the Live Editor + +Available at [mermaid.live](https://mermaid.live) + +```mermaid +graph TD + A[Enter Chart Definition] --> B(Preview) + B --> C{decide} + C --> D[Keep] + C --> E[Edit Definition] + E --> B + D --> F[Save Image and Code] + F --> B +``` + +In the `Code` section one can write or edit raw mermaid code, and instantly `Preview` the rendered result on the panel beside it. + +The `Configuration` Section is for changing the appearance and behavior of mermaid diagrams. An easy introduction to mermaid configuration is found in the [Advanced usage](../config/n00b-advanced) section. A complete configuration reference cataloging the default values can be found on the [mermaidAPI](../config/Setup) page. + +![Code,Config and Preview](./img/Code-Preview-Config.png) + +### Editing History + +Your code will be autosaved every minute into the Timeline tab of History which shows the most recent 30 items. + +You can manually save code by clicking the Save icon in the History section. It can also be accessed in the Saved tab. This is stored in the browser storage only. + +### Saving a Diagram: + +You may choose any of the methods below, to save it + +**We recommend that you save your diagram code on top of any method you choose, in order to make edits and modifications further down the line.** + +![Flowchart](./img/Live-Editor-Choices.png) + +### Editing your diagrams + +Editing is as easy as pasting your **Diagram code**, into the `code` section of the `Live Editor`. + +### Loading from Gists + +The Gist you create should have a code.mmd file and optionally a config.json. [Example](https://gist.github.com/sidharthv96/6268a23e673a533dcb198f241fd7012a) + +To load a gist into the Editor, you can use https://mermaid.live/edit?gist=https://gist.github.com/sidharthv96/6268a23e673a533dcb198f241fd7012a + +and to View, https://mermaid.live/view?gist=https://gist.github.com/sidharthv96/6268a23e673a533dcb198f241fd7012a + +## 2. Using Mermaid Plugins: + +You can generate mermaid diagrams from within popular applications using plug-ins. It can be done in the same way, you would use the Live Editor. Here's a list of [Mermaid Plugins](../misc/integrations). + +**This is covered in greater detail in the [Usage section](../config/usage)** + +## 3. Calling the JavaScript API + +This method can be used with any common web server like Apache, IIS, nginx, node express. + +You will also need a text editing tool like Notepad++ to generate a .html file. It is then deployed by a web browser (such as Firefox, Chrome, Safari, but not Internet Explorer). + +The API works by pulling rendering instructions from the source `mermaid.js` in order to render diagrams on the page. + +### Requirements for the Mermaid API. + +When writing the .html file, we give three instructions inside the html code to the web browser: + +a. A reference for fetching the online mermaid renderer, through the `mermaid.js` or `mermaid.min.js`. + +b. The mermaid code for the diagram we want to create. + +c. The `mermaid.initialize()` call, which dictates the appearance of diagrams and also starts the rendering process . + +**a. A reference to the external CDN in a `<script src>` tag, or a reference to mermaid.js as a separate file.:** + +```html +<body> + <script src="https://cdn.jsdelivr.net/npm/mermaid/dist/mermaid.min.js"></script> +</body> +``` + +**b. The embedded mermaid diagram definition inside a `<pre class="mermaid">`:** + +```html +<body> + Here is a mermaid diagram: + <pre class="mermaid"> + graph TD + A[Client] --> B[Load Balancer] + B --> C[Server01] + B --> D[Server02] + </pre> +</body> +``` + +**Notes**: Every Mermaid chart/graph/diagram definition, should have separate `<pre>` tags. + +**c. The `mermaid.initialize()` call.** + +`mermaid.initialize()` call takes all the definitions contained in all the `<pre class="mermaid">` tags that it finds in the html body and renders them into diagrams. Example: + +```html +<body> + <script> + mermaid.initialize({ startOnLoad: true }); + </script> +</body> +``` + +**Notes**: +Rendering in Mermaid is initialized by `mermaid.initialize()` call. You can place `mermaid.initialize()` inside `mermaid.min.js` for brevity. However, doing the opposite lets you control when it starts looking for `<div>`tags inside the web page with `mermaid.initialize()`. This is useful when you think that not all `<div>` tags may have loaded on the execution of `mermaid.min.js` file. + +`startOnLoad` is one of the parameters that can be defined by `mermaid.initialize()` + +| Parameter | Description | Type | Values | +| ----------- | --------------------------------- | ------- | ----------- | +| startOnLoad | Toggle for Rendering upon loading | Boolean | true, false | + +### Working Examples + +**Here is a full working example of the mermaidAPI being called through the CDN:** + +```html +<html> + <body> + <script src="https://cdn.jsdelivr.net/npm/mermaid/dist/mermaid.min.js"></script> + <script> + mermaid.initialize({ startOnLoad: true }); + </script> + + Here is one mermaid diagram: + <pre class="mermaid"> + graph TD + A[Client] --> B[Load Balancer] + B --> C[Server1] + B --> D[Server2] + </pre> + + And here is another: + <pre class="mermaid"> + graph TD + A[Client] -->|tcp_123| B + B(Load Balancer) + B -->|tcp_456| C[Server1] + B -->|tcp_456| D[Server2] + </pre> + </body> +</html> +``` + +**Another Option:** +In this example mermaid.js is referenced in `src` as a separate JavaScript file, in an example Path. + +```html +<html lang="en"> + <head> + <meta charset="utf-8" /> + </head> + <body> + <pre class="mermaid"> + graph LR + A --- B + B-->C[fa:fa-ban forbidden] + B-->D(fa:fa-spinner); + </pre> + <pre class="mermaid"> + graph TD + A[Client] --> B[Load Balancer] + B --> C[Server1] + B --> D[Server2] + </pre> + <script src="The\Path\In\Your\Package\mermaid.js"></script> + <script> + mermaid.initialize({ startOnLoad: true }); + </script> + </body> +</html> +``` + +--- + +## 4. Adding Mermaid as a dependency. + +1. install node v16, which would have npm + +2. download yarn using npm by entering the command below: + npm install -g yarn + +3. After yarn installs, enter the following command: + yarn add mermaid + +4. To add Mermaid as a Dev Dependency + yarn add --dev mermaid + +**Comments from Knut Sveidqvist, creator of mermaid:** + +- In early versions of mermaid, the `<script src>` tag was invoked in the `<head>` part of the web page. Nowadays we can place it in the `<body>` as seen above. Older parts of the documentation frequently reflects the previous way which still works. diff --git a/vdocs/intro/n00b-syntaxReference.md b/vdocs/intro/n00b-syntaxReference.md new file mode 100644 index 000000000..8434ec6c1 --- /dev/null +++ b/vdocs/intro/n00b-syntaxReference.md @@ -0,0 +1,67 @@ +# Diagram Syntax + +Mermaid's syntax is used to create diagrams. You'll find that it is not too tricky and can be learned in a day. The next sections dive deep into the syntax of each diagram type. + +Syntax, together with Deployment and Configuration constitute the whole of Mermaid. + +Diagram Examples can be found in the [Mermaid Live Editor](https://mermaid-js.github.io/mermaid-live-editor), it is also a great practice area. + +## Syntax Structure + +One would notice that all **Diagrams definitions begin** with a declaration of the **diagram type**, followed by the definitions of the diagram and its contents. This declaration notifies the parser which kind of diagram the code is supposed to generate. + +**Example** : The code below is for an Entity Relationship Diagram, specified by the `erDiagram` declaration. What follows is the definition of the different `Entities` represented in it. + +```mermaid-example +erDiagram + CUSTOMER }|..|{ DELIVERY-ADDRESS : has + CUSTOMER ||--o{ ORDER : places + CUSTOMER ||--o{ INVOICE : "liable for" + DELIVERY-ADDRESS ||--o{ ORDER : receives + INVOICE ||--|{ ORDER : covers + ORDER ||--|{ ORDER-ITEM : includes + PRODUCT-CATEGORY ||--|{ PRODUCT : contains + PRODUCT ||--o{ ORDER-ITEM : "ordered in" +``` + +The [Getting Started](./n00b-gettingStarted.md) section can also provide some practical examples of mermaid syntax. + +## Diagram Breaking + +One should **beware the use of some words or symbols** that can break diagrams. These words or symbols are few and often only affect specific types of diagrams. The table below will continuously be updated. + +| Diagram Breakers | Reason | Solution | +| -------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------- | ------------------------------------------------- | +| **Comments** | | | +| [` %%{``}%% `](https://github.com/mermaid-js/mermaid/issues/1968) | Similar to [Directives](../config/directives.md) confuses the renderer. | In comments using `%%`, avoid using "{}". | +| **Flow-Charts** | | | +| 'end' | The word "End" can cause Flowcharts and Sequence diagrams to break | Wrap them in quotation marks to prevent breakage. | +| [Nodes inside Nodes](https://mermaid-js.github.io/mermaid/#/flowchart?id=special-characters-that-break-syntax) | Mermaid gets confused with nested shapes | wrap them in quotation marks to prevent breaking | + +### Mermaid Live Editor + +Now, that you've seen what you should not add to your diagrams, you can play around with them in the [Mermaid Live Editor](https://mermaid-js.github.io/mermaid-live-editor). + +# Configuration + +Configuration is the third part of Mermaid, after deployment and syntax. It deals with the different ways that Mermaid can be customized across different deployments. + +If you are interested in altering and customizing your Mermaid Diagrams, you will find the methods and values available for [Configuration](../config/Setup) here. It includes themes. +This section will introduce the different methods of configuring the behaviors and appearances of Mermaid Diagrams. +The following are the most commonly used methods, and they are all tied to Mermaid [Deployment](./n00b-gettingStarted.md) methods. + +### Configuration Section in the [Live Editor](https://mermaid-js.github.io/mermaid-live-editor). + +Here you can edit certain values to change the behavior and appearance of the diagram. + +### [The initialize() call](https://mermaid-js.github.io/mermaid/#/n00b-gettingStarted?id=_3-calling-the-javascript-api), + +Used when Mermaid is called via an API, or through a `<script>` tag. + +### [Directives](../config/directives), + +Allows for the limited reconfiguration of a diagram just before it is rendered. It can alter the font style, color and other aesthetic aspects of the diagram. You can pass a directive alongside your definition inside `%%{ }%%`. It can be done either above or below your diagram definition. + +### [Theme Manipulation](../config/theming): + +An application of using Directives to change [Themes](../config/theming). `Theme` is a value within Mermaid's configuration that dictates the color scheme for diagrams. diff --git a/vdocs/misc/faq.md b/vdocs/misc/faq.md new file mode 100644 index 000000000..698061def --- /dev/null +++ b/vdocs/misc/faq.md @@ -0,0 +1,11 @@ +# Frequently Asked Questions + +1. [How to add title to flowchart?](https://github.com/knsv/mermaid/issues/556#issuecomment-363182217) +1. [How to specify custom CSS file?](https://github.com/mermaidjs/mermaid.cli/pull/24#issuecomment-373402785) +1. [How to fix tooltip misplacement issue?](https://github.com/knsv/mermaid/issues/542#issuecomment-3343564621) +1. [How to specify gantt diagram xAxis format?](https://github.com/knsv/mermaid/issues/269#issuecomment-373229136) +1. [How to bind an event?](https://github.com/knsv/mermaid/issues/372) +1. [How to add newline in the text?](https://github.com/knsv/mermaid/issues/384#issuecomment-281339381) +1. [How to have special characters in link text?](https://github.com/knsv/mermaid/issues/407#issuecomment-329944735) +1. [How to change Flowchart curve style?](https://github.com/knsv/mermaid/issues/580#issuecomment-373929046) +1. [How to create a Flowchart end-Node that says "End"](https://github.com/mermaid-js/mermaid/issues/1444#issuecomment-639528897) diff --git a/vdocs/misc/integrations.md b/vdocs/misc/integrations.md new file mode 100644 index 000000000..4147059a0 --- /dev/null +++ b/vdocs/misc/integrations.md @@ -0,0 +1,180 @@ +# Integrations + +The following list is a compilation of different integrations and plugins that allow the rendering of mermaid definitions within other applications. + +They also serve as proof of concept, for the variety of things that can be built with mermaid. + +## Productivity + +- [GitHub](https://github.com) (**Native support**) + - [Using code blocks](https://github.blog/2022-02-14-include-diagrams-markdown-files-mermaid/) (**Native support**) + - [GitHub action: Compile mermaid to image](https://github.com/neenjaw/compile-mermaid-markdown-action) + - [svg-generator](https://github.com/SimonKenyonShepard/mermaidjs-github-svg-generator) +- [GitLab](https://docs.gitlab.com/ee/user/markdown.html#diagrams-and-flowcharts) (**Native support**) +- [Gitea](https://gitea.io) (**Native support**) +- [Azure Devops](https://docs.microsoft.com/en-us/azure/devops/project/wiki/wiki-markdown-guidance?view=azure-devops#add-mermaid-diagrams-to-a-wiki-page) (**Native support**) +- [Tuleap](https://docs.tuleap.org/user-guide/writing-in-tuleap.html#graphs) (**Native support**) +- [Joplin](https://joplinapp.org) (**Native support**) +- [Notion](https://notion.so) (**Native support**) +- [Observable](https://observablehq.com/@observablehq/mermaid) (**Native support**) +- [GitBook](https://gitbook.com) + - [Mermaid Plugin](https://github.com/JozoVilcek/gitbook-plugin-mermaid) + - [Markdown with Mermaid CLI](https://github.com/miao1007/gitbook-plugin-mermaid-cli) + - [Mermaid plugin for GitBook](https://github.com/wwformat/gitbook-plugin-mermaid-pdf) +- [LiveBook](https://livebook.dev) (**Native support**) +- [Atlassian Products](https://www.atlassian.com) + - [Mermaid Plugin for Confluence](https://marketplace.atlassian.com/apps/1214124/mermaid-plugin-for-confluence?hosting=server&tab=overview) + - [CloudScript.io Addon](https://marketplace.atlassian.com/apps/1219878/cloudscript-io-mermaid-addon?hosting=cloud&tab=overview) + - [Auto convert diagrams in Jira](https://github.com/coddingtonbear/jirafs-mermaid) +- [Redmine](https://redmine.org) + - [Mermaid Macro](https://www.redmine.org/plugins/redmine_mermaid_macro) + - [redmine-mermaid](https://github.com/styz/redmine_mermaid) + - [markdown-for-mermaid-plugin](https://github.com/jamieh-mongolian/markdown-for-mermaid-plugin) +- [Jetsbrain IDE eg Pycharm](https://www.jetbrains.com/go/guide/tips/mermaid-js-support-in-markdown/) +- [mermerd](https://github.com/KarnerTh/mermerd) + +## CRM/ERP/Similar + +- [coreBOS](https://blog.corebos.org/blog/december2019) + +## Blogs + +- [Wordpress](https://wordpress.org) + - [WordPress Markdown Editor](https://wordpress.org/plugins/wp-githuber-md) + - [WP-ReliableMD](https://wordpress.org/plugins/wp-reliablemd/) +- [Hexo](https://hexo.io) + - [hexo-filter-mermaid-diagrams](https://github.com/webappdevelp/hexo-filter-mermaid-diagrams) + - [hexo-tag-mermaid](https://github.com/JameChou/hexo-tag-mermaid) + - [hexo-mermaid-diagrams](https://github.com/mslxl/hexo-mermaid-diagrams) + +## CMS + +- [VitePress](https://vitepress.vuejs.org/) + - [Plugin for Mermaid.js](https://emersonbottero.github.io/vitepress-plugin-mermaid/) +- [VuePress](https://vuepress.vuejs.org/) + - [Plugin for Mermaid.js](https://github.com/eFrane/vuepress-plugin-mermaidjs) +- [Grav CMS](https://getgrav.org/) + - [Mermaid Diagrams](https://github.com/DanielFlaum/grav-plugin-mermaid-diagrams) + - [Gitlab Markdown Adapter](https://github.com/Goutte/grav-plugin-gitlab-markdown-adapter) + +## Communication + +- [Discourse](https://discourse.org) + - [Mermaid Plugin](https://github.com/pnewell/discourse-mermaid), [And](https://github.com/unfoldingWord-dev/discourse-mermaid) +- [Mattermost](https://mattermost.com/) + - [Mermaid Plugin](https://github.com/SpikeTings/Mermaid) +- [phpBB](https://phpbb.com) + - [phpbb-ext-mermaid](https://github.com/AlfredoRamos/phpbb-ext-mermaid) +- [NodeBB](https://nodebb.org) + - [Mermaid Plugin](https://www.npmjs.com/package/nodebb-plugin-mermaid) + +## Wikis + +- [MediaWiki](https://www.mediawiki.org) + - [Mermaid Extension](https://www.mediawiki.org/wiki/Extension:Mermaid) + - [Flex Diagrams Extension](https://www.mediawiki.org/wiki/Extension:Flex_Diagrams) +- [Semantic Media Wiki](https://semantic-mediawiki.org) + - [Mermaid Plugin](https://github.com/SemanticMediaWiki/Mermaid) +- [FosWiki](https://foswiki.org) + - [Mermaid Plugin](https://foswiki.org/Extensions/MermaidPlugin) +- [DokuWiki](https://dokuwiki.org) + - [Flowcharts](https://www.dokuwiki.org/plugin:flowcharts?s[]=mermaid) + - [ComboStrap](https://combostrap.com/mermaid) +- [TiddlyWiki](https://tiddlywiki.com/) + - [mermaid-tw5: full js library](https://github.com/efurlanm/mermaid-tw5) + - [tw5-mermaid: wrapper for Mermaid Live](https://github.com/jasonmhoule/tw5-mermaid) + +## Editor Plugins + +- [Vs Code](https://code.visualstudio.com/) + - [Markdown Preview Mermaid Support](https://marketplace.visualstudio.com/items?itemName=bierner.markdown-mermaid) + - [Mermaid Preview](https://marketplace.visualstudio.com/items?itemName=vstirbu.vscode-mermaid-preview) + - [Mermaid Markdown Syntax Highlighting](https://marketplace.visualstudio.com/items?itemName=bpruitt-goddard.mermaid-markdown-syntax-highlighting) + - [Mermaid Editor](https://marketplace.visualstudio.com/items?itemName=tomoyukim.vscode-mermaid-editor) + - [Mermaid Export](https://marketplace.visualstudio.com/items?itemName=Gruntfuggly.mermaid-export) + - [Markdown PDF](https://marketplace.visualstudio.com/items?itemName=yzane.markdown-pdf) + - [Preview](https://marketplace.visualstudio.com/items?itemName=searKing.preview-vscode) + - [Preview Sequence Diagrams](https://marketplace.visualstudio.com/items?itemName=arichika.previewseqdiag-vscode) +- [Markdown-It](https://github.com/markdown-it/markdown-it) + - [Textual UML Parser](https://github.com/manastalukdar/markdown-it-textual-uml) + - [Mermaid Plugin](https://github.com/tylingsoft/markdown-it-mermaid) + - [md-it-mermaid](https://github.com/iamcco/md-it-mermaid) + - [markdown-it-mermaid-fence-new](https://github.com/Revomatico/markdown-it-mermaid-fence-new) + - [markdown-it-mermaid-less](https://github.com/searKing/markdown-it-mermaid-less) +- [Atom](https://atom.io) + - [Markdown Preview Enhanced](https://atom.io/packages/markdown-preview-enhanced) + - [Atom Mermaid](https://atom.io/packages/atom-mermaid) + - [Language Mermaid Syntax Highlighter](https://atom.io/packages/language-mermaid) +- [Sublime Text 3](https://sublimetext.com) + - [Mermaid Package](https://packagecontrol.io/packages/Mermaid) +- [Astah](https://astah.net) + - [Export to Mermaid](https://github.com/Avens666/Astah_Jude_UML_export_to_Markdown-mermaid-Plantuml-) +- [Light Table](http://lighttable.com/) + - [Mermaid Plugin](https://github.com/cldwalker/Mermaid) +- [Draw.io](https://draw.io) - [Plugin](https://github.com/nopeslide/drawio_mermaid_plugin) +- [Inkdrop](https://www.inkdrop.app) - [Plugin](https://github.com/inkdropapp/inkdrop-mermaid) +- [Vim](https://www.vim.org) + - [Vim Diagram Syntax](https://github.com/zhaozg/vim-diagram) +- [GNU Emacs](https://www.gnu.org/software/emacs/) + - [Major mode for .mmd files](https://github.com/abrochard/mermaid-mode) + - [Org-Mode integration](https://github.com/arnm/ob-mermaid) +- [Brackets](https://brackets.io/) + - [Mermaid Preview](https://github.com/AlanHohn/mermaid-preview) +- [Iodide](https://github.com/iodide-project/iodide) + - [iodide-mermaid-plugin](https://github.com/iodide-project/iodide-mermaid-plugin) +- [Google docs](https://docs.google.com/) + - [Mermaid plugin for google docs](https://workspace.google.com/marketplace/app/mermaid/636321283856) +- [Podlite](https://github.com/zag/podlite-desktop) + - [Named block =Diagram](https://github.com/zag/podlite/tree/main/packages/podlite-diagrams) +- [GNU Nano](https://www.nano-editor.org/) + - [Nano Mermaid](https://github.com/Yash-Singh1/nano-mermaid) + +## Document Generation + +- [Sphinx](https://www.sphinx-doc.org/en/master/) + - [sphinxcontrib-mermaid](https://github.com/mgaitan/sphinxcontrib-mermaid) +- [remark.js](https://remark.js.org/) + - [remark-mermaid](https://github.com/temando/remark-mermaid) +- [jSDoc](https://jsdoc.app/) + - [jsdoc-mermaid](https://github.com/Jellyvision/jsdoc-mermaid) +- [MkDocs](https://mkdocs.org) + - [mkdocs-mermaid2-plugin](https://github.com/fralau/mkdocs-mermaid2-plugin) + - [mkdocs-material](https://github.com/squidfunk/mkdocs-material), check the [docs](https://squidfunk.github.io/mkdocs-material/reference/diagrams/) +- [Type Doc](https://typedoc.org/) + - [typedoc-plugin-mermaid](https://www.npmjs.com/package/typedoc-plugin-mermaid) +- [Docsy Hugo Theme](https://www.docsy.dev/docs/adding-content/lookandfeel/#diagrams-with-mermaid) (Native support in theme) +- [Codedoc](https://codedoc.cc/) + - [codedoc-mermaid-plugin](https://www.npmjs.com/package/codedoc-mermaid-plugin) +- [mdbook](https://rust-lang.github.io/mdBook/index.html) + - [mdbook-mermaid](https://github.com/badboy/mdbook-mermaid) + +## Browser Extensions + +| Name | Chrome Web Store | Firefox Add-ons | Opera | Edge | Source/Repository | +| ------------------------ | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | +| GitHub + Mermaid | - | [🦊🔗](https://addons.mozilla.org/firefox/addon/github-mermaid/) | - | - | [🐙🔗](https://github.com/BackMarket/github-mermaid-extension) | +| Asciidoctor Live Preview | [🎡🔗](https://chrome.google.com/webstore/detail/asciidoctorjs-live-previe/iaalpfgpbocpdfblpnhhgllgbdbchmia) | - | - | [🌀🔗](https://microsoftedge.microsoft.com/addons/detail/asciidoctorjs-live-previ/pefkelkanablhjdekgdahplkccnbdggd?hl=en-US) | - | +| Diagram Tab | - | - | - | - | [🐙🔗](https://github.com/khafast/diagramtab) | +| Markdown Diagrams | [🎡🔗](https://chrome.google.com/webstore/detail/markdown-diagrams/pmoglnmodacnbbofbgcagndelmgaclel/) | [🦊🔗](https://addons.mozilla.org/en-US/firefox/addon/markdown-diagrams/) | [🔴🔗](https://addons.opera.com/en/extensions/details/markdown-diagrams/) | [🌀🔗](https://microsoftedge.microsoft.com/addons/detail/markdown-diagrams/hceenoomhhdkjjijnmlclkpenkapfihe) | [🐙🔗](https://github.com/marcozaccari/markdown-diagrams-browser-extension/tree/master/doc/examples) | +| Markdown Viewer | - | [🦊🔗](https://addons.mozilla.org/en-US/firefox/addon/markdown-viewer-chrome/) | - | - | [🐙🔗](https://github.com/simov/markdown-viewer) | +| Extensions for Mermaid | - | [🦊🔗](https://addons.mozilla.org/en-US/firefox/addon/markdown-viewer-chrome/) | [🔴🔗](https://addons.opera.com/en/extensions/details/extensions-for-mermaid/) | - | [🐙🔗](https://github.com/Stefan-S/mermaid-extension) | +| Chrome Diagrammer | [🎡🔗](https://chrome.google.com/webstore/detail/chrome-diagrammer/bkpbgjmkomfoakfklcjeoegkklgjnnpk) | - | - | - | - | +| Mermaid Diagrams | [🎡🔗](https://chrome.google.com/webstore/detail/mermaid-diagrams/phfcghedmopjadpojhmmaffjmfiakfil) | - | - | - | - | +| Mermaid Markdown | [🎡🔗](https://chrome.google.com/webstore/detail/mermaid-markdown/mboeoikjijmjcjgpccghbcoegikliijg) | - | - | - | - | +| Monkeys | [🎡🔗](https://chrome.google.com/webstore/detail/monkeys-mermaid-for-githu/cplfdpoajbclbgphaphphcldamfkjlgi) | - | - | - | - | +| Mermaid Previewer | [🎡🔗](https://chrome.google.com/webstore/detail/mermaid-previewer/oidjnlhbegipkcklbdfnbkikplpghfdl) | - | - | - | - | + +## Other + +- [Jekyll](https://jekyllrb.com/) + - [jekyll-mermaid](https://rubygems.org/gems/jekyll-mermaid) + - [jekyll-mermaid-diagrams](https://github.com/fuzhibo/jekyll-mermaid-diagrams) +- [Reveal.js](https://github.com/hakimel/reveal.js) + - [reveal.js-mermaid-plugin](https://github.com/ludwick/reveal.js-mermaid-plugin) +- [Bisheng](https://www.npmjs.com/package/bisheng) + - [bisheng-plugin-mermaid](https://github.com/yct21/bisheng-plugin-mermaid) +- [Reveal CK](https://github.com/jedcn/reveal-ck) + - [reveal-ck-mermaid-plugin](https://github.com/tmtm/reveal-ck-mermaid-plugin) +- [mermaid-server: Generate diagrams using a HTTP request](https://github.com/TomWright/mermaid-server) +- [ExDoc](https://github.com/elixir-lang/ex_doc) + - [Rendering Mermaid graphs](https://github.com/elixir-lang/ex_doc#rendering-mermaid-graphs) diff --git a/vdocs/public/.nojekyll b/vdocs/public/.nojekyll new file mode 100644 index 000000000..e69de29bb diff --git a/vdocs/public/header.png b/vdocs/public/header.png new file mode 100644 index 0000000000000000000000000000000000000000..6db8635c9d03eb8b40b21f72bdefb07217fcf359 GIT binary patch literal 69565 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 vM;@QFomwEf=Z>KI7 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≈emE(K<l^eH1-t z^G9UC(+sU<!9$r9Eqn0osW}`Q6Xp^dYdDS;-4ifqAf0zL0(wz^Q8A)+D>5oXDcW3b z%j^#gaCN{aBYVUil*3_%BQSuA-v(Ih*js6-(PTT`S}C)uY9rf-Cn4T1W3V*3hChwQ zHLB|~0`TU}=3iy$^d|YhZNai$VqRXkF$CojpXDHCz?CP)5)bx~`hZ#YQn@S;0OSGX z;QT<0@L!Mc`K7W#y&dV}pat;dv$9}@9R{TLLme*9AL_d>t)(6W@Yy~omenj1D#O&M z=XhAAr~p2Asso;aNrZ?G4-&xo;LRDz$aoN}hSgOF-(w5qn*S-GB|@hKLYbisJ@Bzv z*QpaV*kk`!S}VGc=8ZY4aU$sY(1sab9O9lmFW)gT^^fGiAIUzS8q=CjpOaqIQuR7K z?}6fXz+zdJ_voIOMlrsON3?AP27@7kP3(d_+=2-gZczx(08>M&>MEhNl+Zdhs+t!x zH7;oCDx%RB(CE{;1@-?=;7{@(dWQdRL4XH>9}*n@GlMnBGdRqRLV#WNAh{FH0RC=X Z1U$jbBb@w}pbtF+157N98Ah&m{tH}yzQq6l literal 0 HcmV?d00001 diff --git a/vdocs/syntax/c4c.md b/vdocs/syntax/c4c.md new file mode 100644 index 000000000..0ab805182 --- /dev/null +++ b/vdocs/syntax/c4c.md @@ -0,0 +1,363 @@ +# C4 Diagrams + +> C4 Diagram: This is an experimental diagram for now. The syntax and properties can change in future releases. Proper documentation will be provided when the syntax is stable. + +Mermaid's c4 diagram syntax is compatible with plantUML. See example below: + +```mermaid-example + C4Context + title System Context diagram for Internet Banking System + Enterprise_Boundary(b0, "BankBoundary0") { + Person(customerA, "Banking Customer A", "A customer of the bank, with personal bank accounts.") + Person(customerB, "Banking Customer B") + Person_Ext(customerC, "Banking Customer C", "desc") + + Person(customerD, "Banking Customer D", "A customer of the bank, <br/> with personal bank accounts.") + + System(SystemAA, "Internet Banking System", "Allows customers to view information about their bank accounts, and make payments.") + + Enterprise_Boundary(b1, "BankBoundary") { + + SystemDb_Ext(SystemE, "Mainframe Banking System", "Stores all of the core banking information about customers, accounts, transactions, etc.") + + System_Boundary(b2, "BankBoundary2") { + System(SystemA, "Banking System A") + System(SystemB, "Banking System B", "A system of the bank, with personal bank accounts. next line.") + } + + System_Ext(SystemC, "E-mail system", "The internal Microsoft Exchange e-mail system.") + SystemDb(SystemD, "Banking System D Database", "A system of the bank, with personal bank accounts.") + + Boundary(b3, "BankBoundary3", "boundary") { + SystemQueue(SystemF, "Banking System F Queue", "A system of the bank.") + SystemQueue_Ext(SystemG, "Banking System G Queue", "A system of the bank, with personal bank accounts.") + } + } + } + + BiRel(customerA, SystemAA, "Uses") + BiRel(SystemAA, SystemE, "Uses") + Rel(SystemAA, SystemC, "Sends e-mails", "SMTP") + Rel(SystemC, customerA, "Sends e-mails to") + + UpdateElementStyle(customerA, $fontColor="red", $bgColor="grey", $borderColor="red") + UpdateRelStyle(customerA, SystemAA, $textColor="blue", $lineColor="blue", $offsetX="5") + UpdateRelStyle(SystemAA, SystemE, $textColor="blue", $lineColor="blue", $offsetY="-10") + UpdateRelStyle(SystemAA, SystemC, $textColor="blue", $lineColor="blue", $offsetY="-40", $offsetX="-50") + UpdateRelStyle(SystemC, customerA, $textColor="red", $lineColor="red", $offsetX="-50", $offsetY="20") + + UpdateLayoutConfig($c4ShapeInRow="3", $c4BoundaryInRow="1") + + +``` + +For an example, see the source code demos/index.html + +5 types of C4 charts are supported. + +- System Context (C4Context) +- Container diagram (C4Container) +- Component diagram (C4Component) +- Dynamic diagram (C4Dynamic) +- Deployment diagram (C4Deployment) + +Please refer to the linked document [C4-PlantUML syntax](https://github.com/plantuml-stdlib/C4-PlantUML/blob/master/README.md) for how to write the c4 diagram. + +C4 diagram is fixed style, such as css color, so different css is not provided under different skins. +updateElementStyle and UpdateElementStyle are written in the diagram last part. updateElementStyle is inconsistent with the original definition and updates the style of the relationship, including the offset of the text label relative to the original position. + +The layout does not use a fully automated layout algorithm. The position of shapes is adjusted by changing the order in which statements are written. So there is no plan to support the following Layout statements. +The number of shapes per row and the number of boundaries can be adjusted using UpdateLayoutConfig. + +- Layout +- - Lay_U, Lay_Up +- - Lay_D, Lay_Down +- - Lay_L, Lay_Left +- - Lay_R, Lay_Right + +The following unfinished features are not supported in the short term. + +- [ ] sprite +- [ ] tags +- [ ] link +- [ ] Legend + +- [x] System Context +- - [x] Person(alias, label, ?descr, ?sprite, ?tags, $link) +- - [x] Person_Ext +- - [x] System(alias, label, ?descr, ?sprite, ?tags, $link) +- - [x] SystemDb +- - [x] SystemQueue +- - [x] System_Ext +- - [x] SystemDb_Ext +- - [x] SystemQueue_Ext +- - [x] Boundary(alias, label, ?type, ?tags, $link) +- - [x] Enterprise_Boundary(alias, label, ?tags, $link) +- - [x] System_Boundary + +- [x] Container diagram +- - [x] Container(alias, label, ?techn, ?descr, ?sprite, ?tags, $link) +- - [x] ContainerDb +- - [x] ContainerQueue +- - [x] Container_Ext +- - [x] ContainerDb_Ext +- - [x] ContainerQueue_Ext +- - [x] Container_Boundary(alias, label, ?tags, $link) + +- [x] Component diagram +- - [x] Component(alias, label, ?techn, ?descr, ?sprite, ?tags, $link) +- - [x] ComponentDb +- - [x] ComponentQueue +- - [x] Component_Ext +- - [x] ComponentDb_Ext +- - [x] ComponentQueue_Ext + +- [x] Dynamic diagram +- - [x] RelIndex(index, from, to, label, ?tags, $link) + +- [x] Deployment diagram +- - [x] Deployment_Node(alias, label, ?type, ?descr, ?sprite, ?tags, $link) +- - [x] Node(alias, label, ?type, ?descr, ?sprite, ?tags, $link): short name of Deployment_Node() +- - [x] Node_L(alias, label, ?type, ?descr, ?sprite, ?tags, $link): left aligned Node() +- - [x] Node_R(alias, label, ?type, ?descr, ?sprite, ?tags, $link): right aligned Node() + +- [x] Relationship Types +- - [x] Rel(from, to, label, ?techn, ?descr, ?sprite, ?tags, $link) +- - [x] BiRel (bidirectional relationship) +- - [x] Rel_U, Rel_Up +- - [x] Rel_D, Rel_Down +- - [x] Rel_L, Rel_Left +- - [x] Rel_R, Rel_Right +- - [x] Rel_Back +- - [x] RelIndex \* Compatible with C4-Plantuml syntax, but ignores the index parameter. The sequence number is determined by the order in which the rel statements are written. + +- [ ] Custom tags/stereotypes support and skinparam updates +- - [ ] AddElementTag(tagStereo, ?bgColor, ?fontColor, ?borderColor, ?shadowing, ?shape, ?sprite, ?techn, ?legendText, ?legendSprite): Introduces a new element tag. The styles of the tagged elements are updated and the tag is displayed in the calculated legend. +- - [ ] AddRelTag(tagStereo, ?textColor, ?lineColor, ?lineStyle, ?sprite, ?techn, ?legendText, ?legendSprite): Introduces a new Relationship tag. The styles of the tagged relationships are updated and the tag is displayed in the calculated legend. +- - [x] UpdateElementStyle(elementName, ?bgColor, ?fontColor, ?borderColor, ?shadowing, ?shape, ?sprite, ?techn, ?legendText, ?legendSprite): This call updates the default style of the elements (component, ...) and creates no additional legend entry. +- - [x] UpdateRelStyle(from, to, ?textColor, ?lineColor, ?offsetX, ?offsetY): This call updates the default relationship colors and creates no additional legend entry. Two new parameters, offsetX and offsetY, are added to set the offset of the original position of the text. +- - [ ] RoundedBoxShape(): This call returns the name of the rounded box shape and can be used as ?shape argument. +- - [ ] EightSidedShape(): This call returns the name of the eight sided shape and can be used as ?shape argument. +- - [ ] DashedLine(): This call returns the name of the dashed line and can be used as ?lineStyle argument. +- - [ ] DottedLine(): This call returns the name of the dotted line and can be used as ?lineStyle argument. +- - [ ] BoldLine(): This call returns the name of the bold line and can be used as ?lineStyle argument. +- - [x] UpdateLayoutConfig(?c4ShapeInRow, ?c4BoundaryInRow): New. This call updates the default c4ShapeInRow(4) and c4BoundaryInRow(2). + +There are two ways to assign parameters with question marks. One uses the non-named parameter assignment method in the order of the parameters, and the other uses the named parameter assignment method, where the name must start with a $ symbol. + +Example: UpdateRelStyle(from, to, ?textColor, ?lineColor, ?offsetX, ?offsetY) + +``` +UpdateRelStyle(customerA, bankA, "red", "blue", "-40", "60") +UpdateRelStyle(customerA, bankA, $offsetX="-40", $offsetY="60", $lineColor="blue", $textColor="red") +UpdateRelStyle(customerA, bankA, $offsetY="60") + +``` + +## C4 System Context Diagram (C4Context) + +```mermaid-example + C4Context + title System Context diagram for Internet Banking System + Enterprise_Boundary(b0, "BankBoundary0") { + Person(customerA, "Banking Customer A", "A customer of the bank, with personal bank accounts.") + Person(customerB, "Banking Customer B") + Person_Ext(customerC, "Banking Customer C", "desc") + + Person(customerD, "Banking Customer D", "A customer of the bank, <br/> with personal bank accounts.") + + System(SystemAA, "Internet Banking System", "Allows customers to view information about their bank accounts, and make payments.") + + Enterprise_Boundary(b1, "BankBoundary") { + + SystemDb_Ext(SystemE, "Mainframe Banking System", "Stores all of the core banking information about customers, accounts, transactions, etc.") + + System_Boundary(b2, "BankBoundary2") { + System(SystemA, "Banking System A") + System(SystemB, "Banking System B", "A system of the bank, with personal bank accounts. next line.") + } + + System_Ext(SystemC, "E-mail system", "The internal Microsoft Exchange e-mail system.") + SystemDb(SystemD, "Banking System D Database", "A system of the bank, with personal bank accounts.") + + Boundary(b3, "BankBoundary3", "boundary") { + SystemQueue(SystemF, "Banking System F Queue", "A system of the bank.") + SystemQueue_Ext(SystemG, "Banking System G Queue", "A system of the bank, with personal bank accounts.") + } + } + } + + BiRel(customerA, SystemAA, "Uses") + BiRel(SystemAA, SystemE, "Uses") + Rel(SystemAA, SystemC, "Sends e-mails", "SMTP") + Rel(SystemC, customerA, "Sends e-mails to") + + UpdateElementStyle(customerA, $fontColor="red", $bgColor="grey", $borderColor="red") + UpdateRelStyle(customerA, SystemAA, $textColor="blue", $lineColor="blue", $offsetX="5") + UpdateRelStyle(SystemAA, SystemE, $textColor="blue", $lineColor="blue", $offsetY="-10") + UpdateRelStyle(SystemAA, SystemC, $textColor="blue", $lineColor="blue", $offsetY="-40", $offsetX="-50") + UpdateRelStyle(SystemC, customerA, $textColor="red", $lineColor="red", $offsetX="-50", $offsetY="20") + + UpdateLayoutConfig($c4ShapeInRow="3", $c4BoundaryInRow="1") + +``` + +## C4 Container diagram (C4Container) + +```mermaid-example + C4Container + title Container diagram for Internet Banking System + + System_Ext(email_system, "E-Mail System", "The internal Microsoft Exchange system", $tags="v1.0") + Person(customer, Customer, "A customer of the bank, with personal bank accounts", $tags="v1.0") + + Container_Boundary(c1, "Internet Banking") { + Container(spa, "Single-Page App", "JavaScript, Angular", "Provides all the Internet banking functionality to cutomers via their web browser") + Container_Ext(mobile_app, "Mobile App", "C#, Xamarin", "Provides a limited subset of the Internet banking functionality to customers via their mobile device") + Container(web_app, "Web Application", "Java, Spring MVC", "Delivers the static content and the Internet banking SPA") + ContainerDb(database, "Database", "SQL Database", "Stores user registration information, hashed auth credentials, access logs, etc.") + ContainerDb_Ext(backend_api, "API Application", "Java, Docker Container", "Provides Internet banking functionality via API") + + } + + System_Ext(banking_system, "Mainframe Banking System", "Stores all of the core banking information about customers, accounts, transactions, etc.") + + Rel(customer, web_app, "Uses", "HTTPS") + UpdateRelStyle(customer, web_app, $offsetY="60", $offsetX="90") + Rel(customer, spa, "Uses", "HTTPS") + UpdateRelStyle(customer, spa, $offsetY="-40") + Rel(customer, mobile_app, "Uses") + UpdateRelStyle(customer, mobile_app, $offsetY="-30") + + Rel(web_app, spa, "Delivers") + UpdateRelStyle(web_app, spa, $offsetX="130") + Rel(spa, backend_api, "Uses", "async, JSON/HTTPS") + Rel(mobile_app, backend_api, "Uses", "async, JSON/HTTPS") + Rel_Back(database, backend_api, "Reads from and writes to", "sync, JDBC") + + Rel(email_system, customer, "Sends e-mails to") + UpdateRelStyle(email_system, customer, $offsetX="-45") + Rel(backend_api, email_system, "Sends e-mails using", "sync, SMTP") + UpdateRelStyle(backend_api, email_system, $offsetY="-60") + Rel(backend_api, banking_system, "Uses", "sync/async, XML/HTTPS") + UpdateRelStyle(backend_api, banking_system, $offsetY="-50", $offsetX="-140") + +``` + +## C4 Component diagram (C4Component) + +```mermaid-example + C4Component + title Component diagram for Internet Banking System - API Application + + Container(spa, "Single Page Application", "javascript and angular", "Provides all the internet banking functionality to customers via their web browser.") + Container(ma, "Mobile App", "Xamarin", "Provides a limited subset ot the internet banking functionality to customers via their mobile mobile device.") + ContainerDb(db, "Database", "Relational Database Schema", "Stores user registration information, hashed authentication credentials, access logs, etc.") + System_Ext(mbs, "Mainframe Banking System", "Stores all of the core banking information about customers, accounts, transactions, etc.") + + Container_Boundary(api, "API Application") { + Component(sign, "Sign In Controller", "MVC Rest Controller", "Allows users to sign in to the internet banking system") + Component(accounts, "Accounts Summary Controller", "MVC Rest Controller", "Provides customers with a summary of their bank accounts") + Component(security, "Security Component", "Spring Bean", "Provides functionality related to singing in, changing passwords, etc.") + Component(mbsfacade, "Mainframe Banking System Facade", "Spring Bean", "A facade onto the mainframe banking system.") + + Rel(sign, security, "Uses") + Rel(accounts, mbsfacade, "Uses") + Rel(security, db, "Read & write to", "JDBC") + Rel(mbsfacade, mbs, "Uses", "XML/HTTPS") + } + + Rel_Back(spa, sign, "Uses", "JSON/HTTPS") + Rel(spa, accounts, "Uses", "JSON/HTTPS") + + Rel(ma, sign, "Uses", "JSON/HTTPS") + Rel(ma, accounts, "Uses", "JSON/HTTPS") + + UpdateRelStyle(spa, sign, $offsetY="-40") + UpdateRelStyle(spa, accounts, $offsetX="40", $offsetY="40") + + UpdateRelStyle(ma, sign, $offsetX="-90", $offsetY="40") + UpdateRelStyle(ma, accounts, $offsetY="-40") + + UpdateRelStyle(sign, security, $offsetX="-160", $offsetY="10") + UpdateRelStyle(accounts, mbsfacade, $offsetX="140", $offsetY="10") + UpdateRelStyle(security, db, $offsetY="-40") + UpdateRelStyle(mbsfacade, mbs, $offsetY="-40") + +``` + +## C4 Dynamic diagram (C4Dynamic) + +```mermaid-example + C4Dynamic + title Dynamic diagram for Internet Banking System - API Application + + ContainerDb(c4, "Database", "Relational Database Schema", "Stores user registration information, hashed authentication credentials, access logs, etc.") + Container(c1, "Single-Page Application", "JavaScript and Angular", "Provides all of the Internet banking functionality to customers via their web browser.") + Container_Boundary(b, "API Application") { + Component(c3, "Security Component", "Spring Bean", "Provides functionality Related to signing in, changing passwords, etc.") + Component(c2, "Sign In Controller", "Spring MVC Rest Controller", "Allows users to sign in to the Internet Banking System.") + } + Rel(c1, c2, "Submits credentials to", "JSON/HTTPS") + Rel(c2, c3, "Calls isAuthenticated() on") + Rel(c3, c4, "select * from users where username = ?", "JDBC") + + UpdateRelStyle(c1, c2, $textColor="red", $offsetY="-40") + UpdateRelStyle(c2, c3, $textColor="red", $offsetX="-40", $offsetY="60") + UpdateRelStyle(c3, c4, $textColor="red", $offsetY="-40", $offsetX="10") + +``` + +## C4 Deployment diagram (C4Deployment) + +```mermaid-example + C4Deployment + title Deployment Diagram for Internet Banking System - Live + + Deployment_Node(mob, "Customer's mobile device", "Apple IOS or Android"){ + Container(mobile, "Mobile App", "Xamarin", "Provides a limited subset of the Internet Banking functionality to customers via their mobile device.") + } + + Deployment_Node(comp, "Customer's computer", "Mircosoft Windows or Apple macOS"){ + Deployment_Node(browser, "Web Browser", "Google Chrome, Mozilla Firefox,<br/> Apple Safari or Microsoft Edge"){ + Container(spa, "Single Page Application", "JavaScript and Angular", "Provides all of the Internet Banking functionality to customers via their web browser.") + } + } + + Deployment_Node(plc, "Big Bank plc", "Big Bank plc data center"){ + Deployment_Node(dn, "bigbank-api*** x8", "Ubuntu 16.04 LTS"){ + Deployment_Node(apache, "Apache Tomcat", "Apache Tomcat 8.x"){ + Container(api, "API Application", "Java and Spring MVC", "Provides Internet Banking functionality via a JSON/HTTPS API.") + } + } + Deployment_Node(bb2, "bigbank-web*** x4", "Ubuntu 16.04 LTS"){ + Deployment_Node(apache2, "Apache Tomcat", "Apache Tomcat 8.x"){ + Container(web, "Web Application", "Java and Spring MVC", "Delivers the static content and the Internet Banking single page application.") + } + } + Deployment_Node(bigbankdb01, "bigbank-db01", "Ubuntu 16.04 LTS"){ + Deployment_Node(oracle, "Oracle - Primary", "Oracle 12c"){ + ContainerDb(db, "Database", "Relational Database Schema", "Stores user registration information, hashed authentication credentials, access logs, etc.") + } + } + Deployment_Node(bigbankdb02, "bigbank-db02", "Ubuntu 16.04 LTS") { + Deployment_Node(oracle2, "Oracle - Secondary", "Oracle 12c") { + ContainerDb(db2, "Database", "Relational Database Schema", "Stores user registration information, hashed authentication credentials, access logs, etc.") + } + } + } + + Rel(mobile, api, "Makes API calls to", "json/HTTPS") + Rel(spa, api, "Makes API calls to", "json/HTTPS") + Rel_U(web, spa, "Delivers to the customer's web browser") + Rel(api, db, "Reads from and writes to", "JDBC") + Rel(api, db2, "Reads from and writes to", "JDBC") + Rel_R(db, db2, "Replicates data to") + + UpdateRelStyle(spa, api, $offsetY="-40") + UpdateRelStyle(web, spa, $offsetY="-40") + UpdateRelStyle(api, db, $offsetY="-20", $offsetX="5") + UpdateRelStyle(api, db2, $offsetX="-40", $offsetY="-20") + UpdateRelStyle(db, db2, $offsetY="-10") + +``` diff --git a/vdocs/syntax/classDiagram.md b/vdocs/syntax/classDiagram.md new file mode 100644 index 000000000..87d76cd37 --- /dev/null +++ b/vdocs/syntax/classDiagram.md @@ -0,0 +1,625 @@ +# Class diagrams + +> "In software engineering, a class diagram in the Unified Modeling Language (UML) is a type of static structure diagram that describes the structure of a system by showing the system's classes, their attributes, operations (or methods), and the relationships among objects." +> Wikipedia + +The class diagram is the main building block of object-oriented modeling. It is used for general conceptual modeling of the structure of the application, and for detailed modeling to translate the models into programming code. Class diagrams can also be used for data modeling. The classes in a class diagram represent both the main elements, interactions in the application, and the classes to be programmed. + +Mermaid can render class diagrams. + +```mermaid-example +classDiagram + Animal <|-- Duck + Animal <|-- Fish + Animal <|-- Zebra + Animal : +int age + Animal : +String gender + Animal: +isMammal() + Animal: +mate() + class Duck{ + +String beakColor + +swim() + +quack() + } + class Fish{ + -int sizeInFeet + -canEat() + } + class Zebra{ + +bool is_wild + +run() + } +``` + +## Syntax + +### Class + +UML provides mechanisms to represent class members, such as attributes and methods, and additional information about them. +A single instance of a class in the diagram contains three compartments: + +- The top compartment contains the name of the class. It is printed in bold and centered, and the first letter is capitalized. It may also contain optional annotation text describing the nature of the class. +- The middle compartment contains the attributes of the class. They are left-aligned and the first letter is lowercase. +- The bottom compartment contains the operations the class can execute. They are also left-aligned and the first letter is lowercase. + +```mermaid-example +classDiagram + class BankAccount + BankAccount : +String owner + BankAccount : +Bigdecimal balance + BankAccount : +deposit(amount) + BankAccount : +withdrawal(amount) + +``` + +## Define a class + +There are two ways to define a class: + +- Explicitly using keyword **class** like `class Animal` which would define the Animal class. +- Via a **relationship** which defines two classes at a time along with their relationship. For instance, `Vehicle <|-- Car`. + +```mermaid-example +classDiagram + class Animal + Vehicle <|-- Car +``` + +Naming convention: a class name should be composed only of alphanumeric characters (including unicode), and underscores. + +## Defining Members of a class + +UML provides mechanisms to represent class members such as attributes and methods, as well as additional information about them. + +Mermaid distinguishes between attributes and functions/methods based on if the **parenthesis** `()` are present or not. The ones with `()` are treated as functions/methods, and all others as attributes. + +There are two ways to define the members of a class, and regardless of whichever syntax is used to define the members, the output will still be same. The two different ways are : + +- Associate a member of a class using **:** (colon) followed by member name, useful to define one member at a time. For example: + +```mermaid-example +classDiagram +class BankAccount +BankAccount : +String owner +BankAccount : +BigDecimal balance +BankAccount : +deposit(amount) +BankAccount : +withdrawal(amount) +``` + +- Associate members of a class using **{}** brackets, where members are grouped within curly brackets. Suitable for defining multiple members at once. For example: + +```mermaid-example +classDiagram +class BankAccount{ + +String owner + +BigDecimal balance + +deposit(amount) + +withdrawal(amount) +} +``` + +#### Return Type + +Optionally you can end a method/function definition with the data type that will be returned (note: there must be a space between the final `)` and the return type). An example: + +```mermaid-example +classDiagram +class BankAccount{ + +String owner + +BigDecimal balance + +deposit(amount) bool + +withdrawal(amount) int +} +``` + +#### Generic Types + +Members can be defined using generic types, such as `List<int>`, for fields, parameters, and return types by enclosing the type within `~` (**tilde**). Note: **nested** type declarations such as `List<List<int>>` are not currently supported. + +Generics can be represented as part of a class definition and also in the parameters or the return value of a method/function: + +```mermaid-example +classDiagram +class Square~Shape~{ + int id + List~int~ position + setPoints(List~int~ points) + getPoints() List~int~ +} + +Square : -List~string~ messages +Square : +setMessages(List~string~ messages) +Square : +getMessages() List~string~ +``` + +#### Return Type + +Optionally you can end the method/function definition with the data type that will be returned. + +#### Visibility + +To describe the visibility (or encapsulation) of an attribute or method/function that is a part of a class (i.e. a class member), optional notation may be placed before that members' name: + +- `+` Public +- `-` Private +- `#` Protected +- `~` Package/Internal + +> _note_ you can also include additional _classifiers_ to a method definition by adding the following notation to the _end_ of the method, i.e.: after the `()`: +> +> - `*` Abstract e.g.: `someAbstractMethod()*` +> - `$` Static e.g.: `someStaticMethod()$` + +> _note_ you can also include additional _classifiers_ to a field definition by adding the following notation to the end of its name: +> +> - `$` Static e.g.: `String someField$` + +## Defining Relationship + +A relationship is a general term covering the specific types of logical connections found on class and object diagrams. + +``` +[classA][Arrow][ClassB] +``` + +There are eight different types of relations defined for classes under UML which are currently supported: + +| Type | Description | +| ----- | ------------- | +| <\|-- | Inheritance | +| \*-- | Composition | +| o-- | Aggregation | +| --> | Association | +| -- | Link (Solid) | +| ..> | Dependency | +| ..\|> | Realization | +| .. | Link (Dashed) | + +```mermaid-example +classDiagram +classA <|-- classB +classC *-- classD +classE o-- classF +classG <-- classH +classI -- classJ +classK <.. classL +classM <|.. classN +classO .. classP + +``` + +We can use the labels to describe the nature of the relation between two classes. Also, arrowheads can be used in the opposite direction as well: + +```mermaid-example +classDiagram +classA --|> classB : Inheritance +classC --* classD : Composition +classE --o classF : Aggregation +classG --> classH : Association +classI -- classJ : Link(Solid) +classK ..> classL : Dependency +classM ..|> classN : Realization +classO .. classP : Link(Dashed) + +``` + +### Labels on Relations + +It is possible to add label text to a relation: + +``` +[classA][Arrow][ClassB]:LabelText +``` + +```mermaid-example +classDiagram +classA <|-- classB : implements +classC *-- classD : composition +classE o-- classF : aggregation +``` + +### Two-way relations + +Relations can logically represent an N:M association: + +```mmd +classDiagram + Animal <|--|> Zebra +``` + +Here is the syntax: + +``` +[Relation Type][Link][Relation Type] +``` + +Where `Relation Type` can be one of: + +| Type | Description | +| ---- | ----------- | +| <\| | Inheritance | +| \* | Composition | +| o | Aggregation | +| > | Association | +| < | Association | +| \|> | Realization | + +And `Link` can be one of: + +| Type | Description | +| ---- | ----------- | +| -- | Solid | +| .. | Dashed | + +## Cardinality / Multiplicity on relations + +Multiplicity or cardinality in class diagrams indicates the number of instances of one class that can be linked to an instance of the other class. For example, each company will have one or more employees (not zero), and each employee currently works for zero or one companies. + +Multiplicity notations are placed near the end of an association. + +The different cardinality options are : + +- `1` Only 1 +- `0..1` Zero or One +- `1..*` One or more +- `*` Many +- `n` n {where n>1} +- `0..n` zero to n {where n>1} +- `1..n` one to n {where n>1} + +Cardinality can be easily defined by placing the text option within quotes `"` before or after a given arrow. For example: + +``` +[classA] "cardinality1" [Arrow] "cardinality2" [ClassB]:LabelText +``` + +```mermaid-example +classDiagram + Customer "1" --> "*" Ticket + Student "1" --> "1..*" Course + Galaxy --> "many" Star : Contains +``` + +## Annotations on classes + +It is possible to annotate classes with markers to provide additional metadata about the class. This can give a clearer indication about its nature. Some common annotations include: + +- `<<Interface>>` To represent an Interface class +- `<<Abstract>>` To represent an abstract class +- `<<Service>>` To represent a service class +- `<<Enumeration>>` To represent an enum + +Annotations are defined within the opening `<<` and closing `>>`. There are two ways to add an annotation to a class, and either way the output will be same: + +- In a **_separate line_** after a class is defined: + +```mermaid-example +classDiagram +class Shape +<<interface>> Shape +Shape : noOfVertices +Shape : draw() +``` + +- In a **_nested structure_** along with the class definition: + +```mermaid-example +classDiagram +class Shape{ + <<interface>> + noOfVertices + draw() +} +class Color{ + <<enumeration>> + RED + BLUE + GREEN + WHITE + BLACK +} + +``` + +## Comments + +Comments can be entered within a class diagram, which will be ignored by the parser. Comments need to be on their own line, and must be prefaced with `%%` (double percent signs). Any text until the next newline will be treated as a comment, including any class diagram syntax. + +```mmd +classDiagram +%% This whole line is a comment classDiagram class Shape <<interface>> +class Shape{ + <<interface>> + noOfVertices + draw() +} +``` + +## Setting the direction of the diagram + +With class diagrams you can use the direction statement to set the direction in which the diagram will render: + +```mermaid-example +classDiagram + direction RL + class Student { + -idCard : IdCard + } + class IdCard{ + -id : int + -name : string + } + class Bike{ + -id : int + -name : string + } + Student "1" --o "1" IdCard : carries + Student "1" --o "1" Bike : rides +``` + +## Interaction + +It is possible to bind a click event to a node. The click can lead to either a javascript callback or to a link which will be opened in a new browser tab. **Note**: This functionality is disabled when using `securityLevel='strict'` and enabled when using `securityLevel='loose'`. + +You would define these actions on a separate line after all classes have been declared. + +``` +action className "reference" "tooltip" +click className call callback() "tooltip" +click className href "url" "tooltip" +``` + +- _action_ is either `link` or `callback`, depending on which type of interaction you want to have called +- _className_ is the id of the node that the action will be associated with +- _reference_ is either the url link, or the function name for callback. +- (_optional_) tooltip is a string to be displayed when hovering over element (note: The styles of the tooltip are set by the class .mermaidTooltip.) +- note: callback function will be called with the nodeId as parameter. + +### Examples + +_URL Link:_ + +```mmd +classDiagram +class Shape +link Shape "https://www.github.com" "This is a tooltip for a link" +class Shape2 +click Shape2 href "https://www.github.com" "This is a tooltip for a link" +``` + +_Callback:_ + +```mmd +classDiagram +class Shape +callback Shape "callbackFunction" "This is a tooltip for a callback" +class Shape2 +click Shape2 call callbackFunction() "This is a tooltip for a callback" +``` + +```html +<script> + var callbackFunction = function () { + alert('A callback was triggered'); + }; +</script> +``` + +```mermaid +classDiagram + class Class01 + class Class02 + callback Class01 "callbackFunction" "Callback tooltip" + link Class02 "https://www.github.com" "This is a link" + class Class03 + class Class04 + click Class03 call callbackFunction() "Callback tooltip" + click Class04 href "https://www.github.com" "This is a link" +``` + +> **Success** The tooltip functionality and the ability to link to urls are available from version 0.5.2. + +Beginner's tip—a full example using interactive links in an HTML page: + +```html +<body> + <pre class="mermaid"> + classDiagram + Animal <|-- Duck + Animal <|-- Fish + Animal <|-- Zebra + Animal : +int age + Animal : +String gender + Animal: +isMammal() + Animal: +mate() + class Duck{ + +String beakColor + +swim() + +quack() + } + class Fish{ + -int sizeInFeet + -canEat() + } + class Zebra{ + +bool is_wild + +run() + } + + callback Duck callback "Tooltip" + link Zebra "https://www.github.com" "This is a link" + </pre> + + <script> + var callback = function () { + alert('A callback was triggered'); + }; + var config = { + startOnLoad: true, + securityLevel: 'loose', + }; + mermaid.initialize(config); + </script> +</body> +``` + +## Styling + +### Styling a node + +It is possible to apply specific styles such as a thicker border or a different background color to individual nodes. This is done by predefining classes in css styles that can be applied from the graph definition: + +```html +<style> + .cssClass > rect { + fill: #ff0000; + stroke: #ffff00; + stroke-width: 4px; + } +</style> +``` + +Then attaching that class to a specific node: + +``` + cssClass "nodeId1" cssClass; +``` + +It is also possible to attach a class to a list of nodes in one statement: + +``` + cssClass "nodeId1,nodeId2" cssClass; +``` + +A shorter form of adding a class is to attach the classname to the node using the `:::` operator: + +```mmd +classDiagram + class Animal:::cssClass +``` + +Or: + +```mmd +classDiagram + class Animal:::cssClass { + -int sizeInFeet + -canEat() + } +``` + +?> cssClasses cannot be added using this shorthand method at the same time as a relation statement. + +?> Due to limitations with existing markup for class diagrams, it is not currently possible to define css classes within the diagram itself. **_Coming soon!_** + +### Default Styles + +The main styling of the class diagram is done with a preset number of css classes. During rendering these classes are extracted from the file located at src/themes/class.scss. The classes used here are described below: + +| Class | Description | +| ------------------ | ----------------------------------------------------------------- | +| g.classGroup text | Styles for general class text | +| classGroup .title | Styles for general class title | +| g.classGroup rect | Styles for class diagram rectangle | +| g.classGroup line | Styles for class diagram line | +| .classLabel .box | Styles for class label box | +| .classLabel .label | Styles for class label text | +| composition | Styles for composition arrow head and arrow line | +| aggregation | Styles for aggregation arrow head and arrow line(dashed or solid) | +| dependency | Styles for dependency arrow head and arrow line | + +#### Sample stylesheet + +```scss +body { + background: white; +} + +g.classGroup text { + fill: $nodeBorder; + stroke: none; + font-family: 'trebuchet ms', verdana, arial; + font-family: var(--mermaid-font-family); + font-size: 10px; + + .title { + font-weight: bolder; + } +} + +g.classGroup rect { + fill: $nodeBkg; + stroke: $nodeBorder; +} + +g.classGroup line { + stroke: $nodeBorder; + stroke-width: 1; +} + +.classLabel .box { + stroke: none; + stroke-width: 0; + fill: $nodeBkg; + opacity: 0.5; +} + +.classLabel .label { + fill: $nodeBorder; + font-size: 10px; +} + +.relation { + stroke: $nodeBorder; + stroke-width: 1; + fill: none; +} + +@mixin composition { + fill: $nodeBorder; + stroke: $nodeBorder; + stroke-width: 1; +} + +#compositionStart { + @include composition; +} + +#compositionEnd { + @include composition; +} + +@mixin aggregation { + fill: $nodeBkg; + stroke: $nodeBorder; + stroke-width: 1; +} + +#aggregationStart { + @include aggregation; +} + +#aggregationEnd { + @include aggregation; +} + +#dependencyStart { + @include composition; +} + +#dependencyEnd { + @include composition; +} + +#extensionStart { + @include composition; +} + +#extensionEnd { + @include composition; +} +``` + +## Configuration + +`Coming soon` diff --git a/vdocs/syntax/entityRelationshipDiagram.md b/vdocs/syntax/entityRelationshipDiagram.md new file mode 100644 index 000000000..341c9147c --- /dev/null +++ b/vdocs/syntax/entityRelationshipDiagram.md @@ -0,0 +1,188 @@ +# Entity Relationship Diagrams + +> An entity–relationship model (or ER model) describes interrelated things of interest in a specific domain of knowledge. A basic ER model is composed of entity types (which classify the things of interest) and specifies relationships that can exist between entities (instances of those entity types). Wikipedia. + +Note that practitioners of ER modelling almost always refer to _entity types_ simply as _entities_. For example the `CUSTOMER` entity _type_ would be referred to simply as the `CUSTOMER` entity. This is so common it would be inadvisable to do anything else, but technically an entity is an abstract _instance_ of an entity type, and this is what an ER diagram shows - abstract instances, and the relationships between them. This is why entities are always named using singular nouns. + +Mermaid can render ER diagrams + +```mermaid-example +erDiagram + CUSTOMER ||--o{ ORDER : places + ORDER ||--|{ LINE-ITEM : contains + CUSTOMER }|..|{ DELIVERY-ADDRESS : uses +``` + +Entity names are often capitalised, although there is no accepted standard on this, and it is not required in Mermaid. + +Relationships between entities are represented by lines with end markers representing cardinality. Mermaid uses the most popular crow's foot notation. The crow's foot intuitively conveys the possibility of many instances of the entity that it connects to. + +ER diagrams can be used for various purposes, ranging from abstract logical models devoid of any implementation details, through to physical models of relational database tables. It can be useful to include attribute definitions on ER diagrams to aid comprehension of the purpose and meaning of entities. These do not necessarily need to be exhaustive; often a small subset of attributes is enough. Mermaid allows them to be defined in terms of their _type_ and _name_. + +```mermaid-example +erDiagram + CUSTOMER ||--o{ ORDER : places + CUSTOMER { + string name + string custNumber + string sector + } + ORDER ||--|{ LINE-ITEM : contains + ORDER { + int orderNumber + string deliveryAddress + } + LINE-ITEM { + string productCode + int quantity + float pricePerUnit + } +``` + +When including attributes on ER diagrams, you must decide whether to include foreign keys as attributes. This probably depends on how closely you are trying to represent relational table structures. If your diagram is a _logical_ model which is not meant to imply a relational implementation, then it is better to leave these out because the associative relationships already convey the way that entities are associated. For example, a JSON data structure can implement a one-to-many relationship without the need for foreign key properties, using arrays. Similarly an object-oriented programming language may use pointers or references to collections. Even for models that are intended for relational implementation, you might decide that inclusion of foreign key attributes duplicates information already portrayed by the relationships, and does not add meaning to entities. Ultimately, it's your choice. + +## Syntax + +### Entities and Relationships + +Mermaid syntax for ER diagrams is compatible with PlantUML, with an extension to label the relationship. Each statement consists of the following parts: + +``` + <first-entity> [<relationship> <second-entity> : <relationship-label>] +``` + +Where: + +- `first-entity` is the name of an entity. Names must begin with an alphabetic character and may also contain digits, hyphens, and underscores. +- `relationship` describes the way that both entities inter-relate. See below. +- `second-entity` is the name of the other entity. +- `relationship-label` describes the relationship from the perspective of the first entity. + +For example: + +``` + PROPERTY ||--|{ ROOM : contains +``` + +This statement can be read as _a property contains one or more rooms, and a room is part of one and only one property_. You can see that the label here is from the first entity's perspective: a property contains a room, but a room does not contain a property. When considered from the perspective of the second entity, the equivalent label is usually very easy to infer. (Some ER diagrams label relationships from both perspectives, but this is not supported here, and is usually superfluous). + +Only the `first-entity` part of a statement is mandatory. This makes it possible to show an entity with no relationships, which can be useful during iterative construction of diagrams. If any other parts of a statement are specified, then all parts are mandatory. + +### Relationship Syntax + +The `relationship` part of each statement can be broken down into three sub-components: + +- the cardinality of the first entity with respect to the second, +- whether the relationship confers identity on a 'child' entity +- the cardinality of the second entity with respect to the first + +Cardinality is a property that describes how many elements of another entity can be related to the entity in question. In the above example a `PROPERTY` can have one or more `ROOM` instances associated to it, whereas a `ROOM` can only be associated with one `PROPERTY`. In each cardinality marker there are two characters. The outermost character represents a maximum value, and the innermost character represents a minimum value. The table below summarises possible cardinalities. + +| Value (left) | Value (right) | Meaning | +| :----------: | :-----------: | ----------------------------- | +| `\|o` | `o\|` | Zero or one | +| `\|\|` | `\|\|` | Exactly one | +| `}o` | `o{` | Zero or more (no upper limit) | +| `}\|` | `\|{` | One or more (no upper limit) | + +### Identification + +Relationships may be classified as either _identifying_ or _non-identifying_ and these are rendered with either solid or dashed lines respectively. This is relevant when one of the entities in question can not have independent existence without the other. For example a firm that insures people to drive cars might need to store data on `NAMED-DRIVER`s. In modelling this we might start out by observing that a `CAR` can be driven by many `PERSON` instances, and a `PERSON` can drive many `CAR`s - both entities can exist without the other, so this is a non-identifying relationship that we might specify in Mermaid as: `PERSON }|..|{ CAR : "driver"`. Note the two dots in the middle of the relationship that will result in a dashed line being drawn between the two entities. But when this many-to-many relationship is resolved into two one-to-many relationships, we observe that a `NAMED-DRIVER` cannot exist without both a `PERSON` and a `CAR` - the relationships become identifying and would be specified using hyphens, which translate to a solid line: + +```mmd +erDiagram + CAR ||--o{ NAMED-DRIVER : allows + PERSON ||--o{ NAMED-DRIVER : is +``` + +### Attributes + +Attributes can be defined for entities by specifying the entity name followed by a block containing multiple `type name` pairs, where a block is delimited by an opening `{` and a closing `}`. For example: + +```mermaid-example +erDiagram + CAR ||--o{ NAMED-DRIVER : allows + CAR { + string registrationNumber + string make + string model + } + PERSON ||--o{ NAMED-DRIVER : is + PERSON { + string firstName + string lastName + int age + } +``` + +The attributes are rendered inside the entity boxes: + +```mermaid-example +erDiagram + CAR ||--o{ NAMED-DRIVER : allows + CAR { + string registrationNumber + string make + string model + } + PERSON ||--o{ NAMED-DRIVER : is + PERSON { + string firstName + string lastName + int age + } +``` + +The `type` and `name` values must begin with an alphabetic character and may contain digits, hyphens or underscores. Other than that, there are no restrictions, and there is no implicit set of valid data types. + +#### Attribute Keys and Comments + +Attributes may also have a `key` or comment defined. Keys can be "PK" or "FK", for Primary Key or Foreign Key. And a `comment` is defined by double quotes at the end of an attribute. Comments themselves cannot have double-quote characters in them. + +```mermaid-example +erDiagram + CAR ||--o{ NAMED-DRIVER : allows + CAR { + string allowedDriver FK "The license of the allowed driver" + string registrationNumber + string make + string model + } + PERSON ||--o{ NAMED-DRIVER : is + PERSON { + string driversLicense PK "The license #" + string firstName + string lastName + int age + } +``` + +### Other Things + +- If you want the relationship label to be more than one word, you must use double quotes around the phrase +- If you don't want a label at all on a relationship, you must use an empty double-quoted string + +## Styling + +### Config options + +For simple color customization: + +| Name | Used as | +| :------- | :------------------------------------------------------------------- | +| `fill` | Background color of an entity or attribute | +| `stroke` | Border color of an entity or attribute, line color of a relationship | + +### Classes used + +The following CSS class selectors are available for richer styling: + +| Selector | Description | +| :------------------------- | :---------------------------------------------------- | +| `.er.attributeBoxEven` | The box containing attributes on even-numbered rows | +| `.er.attributeBoxOdd` | The box containing attributes on odd-numbered rows | +| `.er.entityBox` | The box representing an entity | +| `.er.entityLabel` | The label for an entity | +| `.er.relationshipLabel` | The label for a relationship | +| `.er.relationshipLabelBox` | The box surrounding a relationship label | +| `.er.relationshipLine` | The line representing a relationship between entities | diff --git a/vdocs/syntax/examples.md b/vdocs/syntax/examples.md new file mode 100644 index 000000000..45fb06de3 --- /dev/null +++ b/vdocs/syntax/examples.md @@ -0,0 +1,158 @@ +# Examples + +This page contains a collection of examples of diagrams and charts that can be created through mermaid and its myriad applications. + +**If you wish to learn how to support mermaid on your webpage, read the [Beginner's Guide](../config/usage?id=usage).** + +**If you wish to learn about mermaid's syntax, Read the [Diagram Syntax](../syntax/flowchart?id=flowcharts-basic-syntax) section.** + +## Basic Pie Chart + +```mermaid-example +pie title NETFLIX + "Time spent looking for movie" : 90 + "Time spent watching it" : 10 +``` + +```mermaid-example +pie title What Voldemort doesn't have? + "FRIENDS" : 2 + "FAMILY" : 3 + "NOSE" : 45 +``` + +## Basic sequence diagram + +```mermaid-example +sequenceDiagram + Alice ->> Bob: Hello Bob, how are you? + Bob-->>John: How about you John? + Bob--x Alice: I am good thanks! + Bob-x John: I am good thanks! + Note right of John: Bob thinks a long<br/>long time, so long<br/>that the text does<br/>not fit on a row. + + Bob-->Alice: Checking with John... + Alice->John: Yes... John, how are you? +``` + +## Basic flowchart + +```mermaid-example +graph LR + A[Square Rect] -- Link text --> B((Circle)) + A --> C(Round Rect) + B --> D{Rhombus} + C --> D +``` + +## Larger flowchart with some styling + +```mermaid-example +graph TB + sq[Square shape] --> ci((Circle shape)) + + subgraph A + od>Odd shape]-- Two line<br/>edge comment --> ro + di{Diamond with <br/> line break} -.-> ro(Rounded<br>square<br>shape) + di==>ro2(Rounded square shape) + end + + %% Notice that no text in shape are added here instead that is appended further down + e --> od3>Really long text with linebreak<br>in an Odd shape] + + %% Comments after double percent signs + e((Inner / circle<br>and some odd <br>special characters)) --> f(,.?!+-*ز) + + cyr[Cyrillic]-->cyr2((Circle shape Начало)); + + classDef green fill:#9f6,stroke:#333,stroke-width:2px; + classDef orange fill:#f96,stroke:#333,stroke-width:4px; + class sq,e green + class di orange +``` + +## SequenceDiagram: Loops, alt and opt + +```mermaid-example +sequenceDiagram + loop Daily query + Alice->>Bob: Hello Bob, how are you? + alt is sick + Bob->>Alice: Not so good :( + else is well + Bob->>Alice: Feeling fresh like a daisy + end + + opt Extra response + Bob->>Alice: Thanks for asking + end + end +``` + +## SequenceDiagram: Message to self in loop + +```mermaid-example +sequenceDiagram + participant Alice + participant Bob + Alice->>John: Hello John, how are you? + loop Healthcheck + John->>John: Fight against hypochondria + end + Note right of John: Rational thoughts<br/>prevail... + John-->>Alice: Great! + John->>Bob: How about you? + Bob-->>John: Jolly good! +``` + +## Sequence Diagram: Blogging app service communication + +```mermaid-example +sequenceDiagram + participant web as Web Browser + participant blog as Blog Service + participant account as Account Service + participant mail as Mail Service + participant db as Storage + + Note over web,db: The user must be logged in to submit blog posts + web->>+account: Logs in using credentials + account->>db: Query stored accounts + db->>account: Respond with query result + + alt Credentials not found + account->>web: Invalid credentials + else Credentials found + account->>-web: Successfully logged in + + Note over web,db: When the user is authenticated, they can now submit new posts + web->>+blog: Submit new post + blog->>db: Store post data + + par Notifications + blog--)mail: Send mail to blog subscribers + blog--)db: Store in-site notifications + and Response + blog-->>-web: Successfully posted + end + end + +``` + +## A commit flow diagram. + +```mermaid +gitGraph: + commit "Ashish" + branch newbranch + checkout newbranch + commit id:"1111" + commit tag:"test" + checkout main + commit type: HIGHLIGHT + commit + merge newbranch + commit + branch b2 + commit +``` diff --git a/vdocs/syntax/flowchart.md b/vdocs/syntax/flowchart.md new file mode 100644 index 000000000..41ed2500a --- /dev/null +++ b/vdocs/syntax/flowchart.md @@ -0,0 +1,677 @@ +# Flowcharts - Basic Syntax + +All Flowcharts are composed of **nodes**, the geometric shapes and **edges**, the arrows or lines. The mermaid code defines the way that these **nodes** and **edges** are made and interact. + +It can also accommodate different arrow types, multi directional arrows, and linking to and from subgraphs. + +> **Important note**: Do not type the word "end" as a Flowchart node. Capitalize all or any one the letters to keep the flowchart from breaking, i.e, "End" or "END". Or you can apply this [workaround](https://github.com/mermaid-js/mermaid/issues/1444#issuecomment-639528897).\*\* + +### A node (default) + +```mermaid-example +flowchart LR + id +``` + +> **Note** The id is what is displayed in the box. + +### A node with text + +It is also possible to set text in the box that differs from the id. If this is done several times, it is the last text +found for the node that will be used. Also if you define edges for the node later on, you can omit text definitions. The +one previously defined will be used when rendering the box. + +```mermaid-example +flowchart LR + id1[This is the text in the box] +``` + +## Graph + +This statement declares the direction of the Flowchart. + +This declares the flowchart is oriented from top to bottom (`TD` or `TB`). + +```mermaid-example +flowchart TD + Start --> Stop +``` + +This declares the flowchart is oriented from left to right (`LR`). + +```mermaid-example +flowchart LR + Start --> Stop +``` + +## Flowchart Orientation + +Possible FlowChart orientations are: + +- TB - top to bottom +- TD - top-down/ same as top to bottom +- BT - bottom to top +- RL - right to left +- LR - left to right + +## Node shapes + +### A node with round edges + +```mermaid-example +flowchart LR + id1(This is the text in the box) +``` + +### A stadium-shaped node + +```mermaid-example +flowchart LR + id1([This is the text in the box]) +``` + +### A node in a subroutine shape + +```mermaid-example +flowchart LR + id1[[This is the text in the box]] +``` + +### A node in a cylindrical shape + +```mermaid-example +flowchart LR + id1[(Database)] +``` + +### A node in the form of a circle + +```mermaid-example +flowchart LR + id1((This is the text in the circle)) +``` + +### A node in an asymmetric shape + +```mermaid-example +flowchart LR + id1>This is the text in the box] +``` + +Currently only the shape above is possible and not its mirror. _This might change with future releases._ + +### A node (rhombus) + +```mermaid-example +flowchart LR + id1{This is the text in the box} +``` + +### A hexagon node + +Code: + +```mmd +flowchart LR + id1{{This is the text in the box}} +``` + +Render: + +```mermaid +flowchart LR + id1{{This is the text in the box}} +``` + +### Parallelogram + +```mermaid-example +flowchart TD + id1[/This is the text in the box/] +``` + +### Parallelogram alt + +```mermaid-example +flowchart TD + id1[\This is the text in the box\] +``` + +### Trapezoid + +```mermaid-example +flowchart TD + A[/Christmas\] +``` + +### Trapezoid alt + +```mermaid-example +flowchart TD + B[\Go shopping/] +``` + +### Double circle + +```mermaid-example +flowchart TD + id1(((This is the text in the circle))) +``` + +## Links between nodes + +Nodes can be connected with links/edges. It is possible to have different types of links or attach a text string to a link. + +### A link with arrow head + +```mermaid-example +flowchart LR + A-->B +``` + +### An open link + +```mermaid-example +flowchart LR + A --- B +``` + +### Text on links + +```mermaid-example +flowchart LR + A-- This is the text! ---B +``` + +or + +```mermaid-example +flowchart LR + A---|This is the text|B +``` + +### A link with arrow head and text + +```mermaid-example +flowchart LR + A-->|text|B +``` + +or + +```mermaid-example +flowchart LR + A-- text -->B +``` + +### Dotted link + +```mermaid-example +flowchart LR; + A-.->B; +``` + +### Dotted link with text + +```mermaid-example +flowchart LR + A-. text .-> B +``` + +### Thick link + +```mermaid-example +flowchart LR + A ==> B +``` + +### Thick link with text + +```mermaid-example +flowchart LR + A == text ==> B +``` + +### Chaining of links + +It is possible declare many links in the same line as per below: + +```mermaid-example +flowchart LR + A -- text --> B -- text2 --> C +``` + +It is also possible to declare multiple nodes links in the same line as per below: + +```mermaid-example +flowchart LR + a --> b & c--> d +``` + +You can then describe dependencies in a very expressive way. Like the one-liner below: + +```mermaid-example +flowchart TB + A & B--> C & D +``` + +If you describe the same diagram using the the basic syntax, it will take four lines. A +word of warning, one could go overboard with this making the flowchart harder to read in +markdown form. The Swedish word `lagom` comes to mind. It means, not too much and not too little. +This goes for expressive syntaxes as well. + +```mmd +flowchart TB + A --> C + A --> D + B --> C + B --> D +``` + +### New arrow types + +There are new types of arrows supported as per below: + +```mermaid-example +flowchart LR + A --o B + B --x C +``` + +### Multi directional arrows + +There is the possibility to use multidirectional arrows. + +```mermaid-example +flowchart LR + A o--o B + B <--> C + C x--x D +``` + +### Minimum length of a link + +Each node in the flowchart is ultimately assigned to a rank in the rendered +graph, i.e. to a vertical or horizontal level (depending on the flowchart +orientation), based on the nodes to which it is linked. By default, links +can span any number of ranks, but you can ask for any link to be longer +than the others by adding extra dashes in the link definition. + +In the following example, two extra dashes are added in the link from node _B_ +to node _E_, so that it spans two more ranks than regular links: + +```mermaid-example +flowchart TD + A[Start] --> B{Is it?} + B -->|Yes| C[OK] + C --> D[Rethink] + D --> B + B ---->|No| E[End] +``` + +> **Note** Links may still be made longer than the requested number of ranks +> by the rendering engine to accommodate other requests. + +When the link label is written in the middle of the link, the extra dashes must +be added on the right side of the link. The following example is equivalent to +the previous one: + +```mermaid-example +flowchart TD + A[Start] --> B{Is it?} + B -- Yes --> C[OK] + C --> D[Rethink] + D --> B + B -- No ----> E[End] +``` + +For dotted or thick links, the characters to add are equals signs or dots, +as summed up in the following table: + +| Length | 1 | 2 | 3 | +| ----------------- | :----: | :-----: | :------: | +| Normal | `---` | `----` | `-----` | +| Normal with arrow | `-->` | `--->` | `---->` | +| Thick | `===` | `====` | `=====` | +| Thick with arrow | `==>` | `===>` | `====>` | +| Dotted | `-.-` | `-..-` | `-...-` | +| Dotted with arrow | `-.->` | `-..->` | `-...->` | + +## Special characters that break syntax + +It is possible to put text within quotes in order to render more troublesome characters. As in the example below: + +```mermaid-example +flowchart LR + id1["This is the (text) in the box"] +``` + +### Entity codes to escape characters + +It is possible to escape characters using the syntax exemplified here. + +```mermaid-example + flowchart LR + A["A double quote:#quot;"] -->B["A dec char:#9829;"] +``` + +Numbers given are base 10, so `#` can be encoded as `#35;`. It is also supported to use HTML character names. + +## Subgraphs + +``` +subgraph title + graph definition +end +``` + +An example below: + +```mermaid-example +flowchart TB + c1-->a2 + subgraph one + a1-->a2 + end + subgraph two + b1-->b2 + end + subgraph three + c1-->c2 + end +``` + +You can also set an explicit id for the subgraph. + +```mermaid-example +flowchart TB + c1-->a2 + subgraph ide1 [one] + a1-->a2 + end +``` + +## flowcharts + +With the graphtype flowchart it is also possible to set edges to and from subgraphs as in the flowchart below. + +```mermaid-example +flowchart TB + c1-->a2 + subgraph one + a1-->a2 + end + subgraph two + b1-->b2 + end + subgraph three + c1-->c2 + end + one --> two + three --> two + two --> c2 +``` + +## Direction in subgraphs + +With the graphtype flowcharts you can use the direction statement to set the direction which the subgraph will render like in this example. + +```mermaid-example +flowchart LR + subgraph TOP + direction TB + subgraph B1 + direction RL + i1 -->f1 + end + subgraph B2 + direction BT + i2 -->f2 + end + end + A --> TOP --> B + B1 --> B2 +``` + +## Interaction + +It is possible to bind a click event to a node, the click can lead to either a javascript callback or to a link which will be opened in a new browser tab. **Note**: This functionality is disabled when using `securityLevel='strict'` and enabled when using `securityLevel='loose'`. + +``` +click nodeId callback +click nodeId call callback() +``` + +- nodeId is the id of the node +- callback is the name of a javascript function defined on the page displaying the graph, the function will be called with the nodeId as parameter. + +Examples of tooltip usage below: + +```html +<script> + var callback = function () { + alert('A callback was triggered'); + }; +</script> +``` + +The tooltip text is surrounded in double quotes. The styles of the tooltip are set by the class `.mermaidTooltip`. + +```mermaid-example +flowchart LR + A-->B + B-->C + C-->D + click A callback "Tooltip for a callback" + click B "https://www.github.com" "This is a tooltip for a link" + click A call callback() "Tooltip for a callback" + click B href "https://www.github.com" "This is a tooltip for a link" +``` + +> **Success** The tooltip functionality and the ability to link to urls are available from version 0.5.2. + +?> Due to limitations with how Docsify handles JavaScript callback functions, an alternate working demo for the above code can be viewed at [this jsfiddle](https://jsfiddle.net/s37cjoau/3/). + +Links are opened in the same browser tab/window by default. It is possible to change this by adding a link target to the click definition (`_self`, `_blank`, `_parent` and `_top` are supported): + +```mermaid-example +flowchart LR + A-->B + B-->C + C-->D + D-->E + click A "https://www.github.com" _blank + click B "https://www.github.com" "Open this in a new tab" _blank + click C href "https://www.github.com" _blank + click D href "https://www.github.com" "Open this in a new tab" _blank +``` + +Beginner's tip—a full example using interactive links in a html context: + +```html +<body> + <pre class="mermaid"> + flowchart LR + A-->B + B-->C + C-->D + click A callback "Tooltip" + click B "https://www.github.com" "This is a link" + click C call callback() "Tooltip" + click D href "https://www.github.com" "This is a link" + </pre> + + <script> + var callback = function () { + alert('A callback was triggered'); + }; + var config = { + startOnLoad: true, + flowchart: { useMaxWidth: true, htmlLabels: true, curve: 'cardinal' }, + securityLevel: 'loose', + }; + mermaid.initialize(config); + </script> +</body> +``` + +### Comments + +Comments can be entered within a flow diagram, which will be ignored by the parser. Comments need to be on their own line, and must be prefaced with `%%` (double percent signs). Any text after the start of the comment to the next newline will be treated as a comment, including any flow syntax + +```mmd +flowchart LR +%% this is a comment A -- text --> B{node} + A -- text --> B -- text2 --> C +``` + +## Styling and classes + +### Styling links + +It is possible to style links. For instance, you might want to style a link that is going backwards in the flow. As links +have no ids in the same way as nodes, some other way of deciding what style the links should be attached to is required. +Instead of ids, the order number of when the link was defined in the graph is used, or use default to apply to all links. +In the example below the style defined in the linkStyle statement will belong to the fourth link in the graph: + +``` +linkStyle 3 stroke:#ff3,stroke-width:4px,color:red; +``` + +### Styling line curves + +It is possible to style the type of curve used for lines between items, if the default method does not meet your needs. +Available curve styles include `basis`, `bump`, `linear`, `monotoneX`, `monotoneY`, `natural`, `step`, `stepAfter`, +and `stepBefore`. + +In this example, a left-to-right graph uses the `stepBefore` curve style: + +``` +%%{ init: { 'flowchart': { 'curve': 'stepBefore' } } }%% +graph LR +``` + +For a full list of available curves, including an explanation of custom curves, refer to +the [Shapes](https://github.com/d3/d3-shape/blob/main/README.md#curves) documentation in the +[d3-shape](https://github.com/d3/d3-shape/) project. + +### Styling a node + +It is possible to apply specific styles such as a thicker border or a different background color to a node. + +```mermaid-example +flowchart LR + id1(Start)-->id2(Stop) + style id1 fill:#f9f,stroke:#333,stroke-width:4px + style id2 fill:#bbf,stroke:#f66,stroke-width:2px,color:#fff,stroke-dasharray: 5 5 +``` + +#### Classes + +More convenient than defining the style every time is to define a class of styles and attach this class to the nodes that +should have a different look. + +a class definition looks like the example below: + +``` + classDef className fill:#f9f,stroke:#333,stroke-width:4px; +``` + +Attachment of a class to a node is done as per below: + +``` + class nodeId1 className; +``` + +It is also possible to attach a class to a list of nodes in one statement: + +``` + class nodeId1,nodeId2 className; +``` + +A shorter form of adding a class is to attach the classname to the node using the `:::`operator as per below: + +```mermaid-example +flowchart LR + A:::someclass --> B + classDef someclass fill:#f96; +``` + +### Css classes + +It is also possible to predefine classes in css styles that can be applied from the graph definition as in the example +below: + +**Example style** + +```html +<style> + .cssClass > rect { + fill: #ff0000; + stroke: #ffff00; + stroke-width: 4px; + } +</style> +``` + +**Example definition** + +```mermaid-example +flowchart LR; + A-->B[AAA<span>BBB</span>] + B-->D + class A cssClass +``` + +### Default class + +If a class is named default it will be assigned to all classes without specific class definitions. + +``` + classDef default fill:#f9f,stroke:#333,stroke-width:4px; +``` + +## Basic support for fontawesome + +It is possible to add icons from fontawesome. + +The icons are accessed via the syntax fa:#icon class name#. + +```mermaid-example +flowchart TD + B["fab:fa-twitter for peace"] + B-->C[fa:fa-ban forbidden] + B-->D(fa:fa-spinner); + B-->E(A fa:fa-camera-retro perhaps?) +``` + +?> Mermaid is now only compatible with Font Awesome versions 4 and 5. Check that you are using the correct version of Font Awesome. + +## Graph declarations with spaces between vertices and link and without semicolon + +- In graph declarations, the statements also can now end without a semicolon. After release 0.2.16, ending a graph statement with semicolon is just optional. So the below graph declaration is also valid along with the old declarations of the graph. + +- A single space is allowed between vertices and the link. However there should not be any space between a vertex and its text and a link and its text. The old syntax of graph declaration will also work and hence this new feature is optional and is introduced to improve readability. + +Below is the new declaration of the graph edges which is also valid along with the old declaration of the graph edges. + +```mermaid-example +flowchart LR + A[Hard edge] -->|Link text| B(Round edge) + B --> C{Decision} + C -->|One| D[Result one] + C -->|Two| E[Result two] +``` + +## Configuration... + +Is it possible to adjust the width of the rendered flowchart. + +This is done by defining **mermaid.flowchartConfig** or by the CLI to use a JSON file with the configuration. How to use the CLI is described in the mermaidCLI page. +mermaid.flowchartConfig can be set to a JSON string with config parameters or the corresponding object. + +```javascript +mermaid.flowchartConfig = { + width: 100% +} +``` diff --git a/vdocs/syntax/gantt.md b/vdocs/syntax/gantt.md new file mode 100644 index 000000000..5ed4c7601 --- /dev/null +++ b/vdocs/syntax/gantt.md @@ -0,0 +1,343 @@ +# Gantt diagrams + +> A Gantt chart is a type of bar chart, first developed by Karol Adamiecki in 1896, and independently by Henry Gantt in the 1910s, that illustrates a project schedule and the amount of time it would take for any one project to finish. Gantt charts illustrate number of days between the start and finish dates of the terminal elements and summary elements of a project. + +## A note to users + +Gantt Charts will record each scheduled task as one continuous bar that extends from the left to the right. The x axis represents time and the y records the different tasks and the order in which they are to be completed. + +It is important to remember that when a date, day, or collection of dates specific to a task are "excluded", the Gantt Chart will accommodate those changes by extending an equal number of days, towards the right, not by creating a gap inside the task. +As shown here ![](./img/Gantt-excluded-days-within.png) + +However, if the excluded dates are between two tasks that are set to start consecutively, the excluded dates will be skipped graphically and left blank, and the following task will begin after the end of the excluded dates. +As shown here ![](./img/Gantt-long-weekend-look.png) + +A Gantt chart is useful for tracking the amount of time it would take before a project is finished, but it can also be used to graphically represent "non-working days", with a few tweaks. + +Mermaid can render Gantt diagrams as SVG, PNG or a MarkDown link that can be pasted into docs. + +```mermaid-example +gantt + title A Gantt Diagram + dateFormat YYYY-MM-DD + section Section + A task :a1, 2014-01-01, 30d + Another task :after a1 , 20d + section Another + Task in sec :2014-01-12 , 12d + another task : 24d +``` + +## Syntax + +```mermaid-example +gantt + dateFormat YYYY-MM-DD + title Adding GANTT diagram functionality to mermaid + excludes weekends + %% (`excludes` accepts specific dates in YYYY-MM-DD format, days of the week ("sunday") or "weekends", but not the word "weekdays".) + + section A section + Completed task :done, des1, 2014-01-06,2014-01-08 + Active task :active, des2, 2014-01-09, 3d + Future task : des3, after des2, 5d + Future task2 : des4, after des3, 5d + + section Critical tasks + Completed task in the critical line :crit, done, 2014-01-06,24h + Implement parser and jison :crit, done, after des1, 2d + Create tests for parser :crit, active, 3d + Future task in critical line :crit, 5d + Create tests for renderer :2d + Add to mermaid :1d + Functionality added :milestone, 2014-01-25, 0d + + section Documentation + Describe gantt syntax :active, a1, after des1, 3d + Add gantt diagram to demo page :after a1 , 20h + Add another diagram to demo page :doc1, after a1 , 48h + + section Last section + Describe gantt syntax :after doc1, 3d + Add gantt diagram to demo page :20h + Add another diagram to demo page :48h +``` + +It is possible to set multiple dependencies separated by space: + +```mermaid-example + gantt + apple :a, 2017-07-20, 1w + banana :crit, b, 2017-07-23, 1d + cherry :active, c, after b a, 1d +``` + +### Title + +The `title` is an _optional_ string to be displayed at the top of the Gantt chart to describe the chart as a whole. + +### Section statements + +You can divide the chart into various sections, for example to separate different parts of a project like development and documentation. + +To do so, start a line with the `section` keyword and give it a name. (Note that unlike with the [title for the entire chart](#title), this name is _required_. + +### Milestones + +You can add milestones to the diagrams. Milestones differ from tasks as they represent a single instant in time and are identified by the keyword `milestone`. Below is an example on how to use milestones. As you may notice, the exact location of the milestone is determined by the initial date for the milestone and the "duration" of the task this way: _initial date_+_duration_/2. + +```mermaid-example +gantt +dateFormat HH:mm +axisFormat %H:%M +Initial milestone : milestone, m1, 17:49,2min +taska2 : 10min +taska3 : 5min +Final milestone : milestone, m2, 18:14, 2min +``` + +## Setting dates + +`dateFormat` defines the format of the date **input** of your gantt elements. How these dates are represented in the rendered chart **output** are defined by `axisFormat`. + +### Input date format + +The default input date format is `YYYY-MM-DD`. You can define your custom `dateFormat`. + +``` +dateFormat YYYY-MM-DD +``` + +The following formatting options are supported: + +``` +Input Example Description: +YYYY 2014 4 digit year +YY 14 2 digit year +Q 1..4 Quarter of year. Sets month to first month in quarter. +M MM 1..12 Month number +MMM MMMM January..Dec Month name in locale set by moment.locale() +D DD 1..31 Day of month +Do 1st..31st Day of month with ordinal +DDD DDDD 1..365 Day of year +X 1410715640.579 Unix timestamp +x 1410715640579 Unix ms timestamp +H HH 0..23 24 hour time +h hh 1..12 12 hour time used with a A. +a A am pm Post or ante meridiem +m mm 0..59 Minutes +s ss 0..59 Seconds +S 0..9 Tenths of a second +SS 0..99 Hundreds of a second +SSS 0..999 Thousandths of a second +Z ZZ +12:00 Offset from UTC as +-HH:mm, +-HHmm, or Z +``` + +More info in: https://momentjs.com/docs/#/parsing/string-format/ + +### Output date format on the axis + +The default output date format is YYYY-MM-DD. You can define your custom `axisFormat`, like `2020-Q1` for the first quarter of the year 2020. + +``` +axisFormat %Y-%m-%d +``` + +The following formatting strings are supported: + +``` +%a - abbreviated weekday name. +%A - full weekday name. +%b - abbreviated month name. +%B - full month name. +%c - date and time, as "%a %b %e %H:%M:%S %Y". +%d - zero-padded day of the month as a decimal number [01,31]. +%e - space-padded day of the month as a decimal number [ 1,31]; equivalent to %_d. +%H - hour (24-hour clock) as a decimal number [00,23]. +%I - hour (12-hour clock) as a decimal number [01,12]. +%j - day of the year as a decimal number [001,366]. +%m - month as a decimal number [01,12]. +%M - minute as a decimal number [00,59]. +%L - milliseconds as a decimal number [000, 999]. +%p - either AM or PM. +%S - second as a decimal number [00,61]. +%U - week number of the year (Sunday as the first day of the week) as a decimal number [00,53]. +%w - weekday as a decimal number [0(Sunday),6]. +%W - week number of the year (Monday as the first day of the week) as a decimal number [00,53]. +%x - date, as "%m/%d/%Y". +%X - time, as "%H:%M:%S". +%y - year without century as a decimal number [00,99]. +%Y - year with century as a decimal number. +%Z - time zone offset, such as "-0700". +%% - a literal "%" character. +``` + +More info in: https://github.com/mbostock/d3/wiki/Time-Formatting + +## Comments + +Comments can be entered within a gantt chart, which will be ignored by the parser. Comments need to be on their own line and must be prefaced with `%%` (double percent signs). Any text after the start of the comment to the next newline will be treated as a comment, including any diagram syntax + +```mmd +gantt + title A Gantt Diagram + %% this is a comment + dateFormat YYYY-MM-DD + section Section + A task :a1, 2014-01-01, 30d + Another task :after a1 , 20d + section Another + Task in sec :2014-01-12 , 12d + another task : 24d + +``` + +## Styling + +Styling of the a gantt diagram is done by defining a number of css classes. During rendering, these classes are extracted from the file located at src/themes/gantt.scss + +### Classes used + +| Class | Description | +| --------------------- | ---------------------------------------------------------------------- | +| grid.tick | Styling for the Grid Lines | +| grid.path | Styling for the Grid's borders | +| .taskText | Task Text Styling | +| .taskTextOutsideRight | Styling for Task Text that exceeds the activity bar towards the right. | +| .taskTextOutsideLeft | Styling for Task Text that exceeds the activity bar, towards the left. | +| todayMarker | Toggle and Styling for the "Today Marker" | + +### Sample stylesheet + +```css +.grid .tick { + stroke: lightgrey; + opacity: 0.3; + shape-rendering: crispEdges; +} +.grid path { + stroke-width: 0; +} + +#tag { + color: white; + background: #fa283d; + width: 150px; + position: absolute; + display: none; + padding: 3px 6px; + margin-left: -80px; + font-size: 11px; +} + +#tag:before { + border: solid transparent; + content: ' '; + height: 0; + left: 50%; + margin-left: -5px; + position: absolute; + width: 0; + border-width: 10px; + border-bottom-color: #fa283d; + top: -20px; +} +.taskText { + fill: white; + text-anchor: middle; +} +.taskTextOutsideRight { + fill: black; + text-anchor: start; +} +.taskTextOutsideLeft { + fill: black; + text-anchor: end; +} +``` + +## Today marker + +You can style or hide the marker for the current date. To style it, add a value for the `todayMarker` key. + +``` +todayMarker stroke-width:5px,stroke:#0f0,opacity:0.5 +``` + +To hide the marker, set `todayMarker` to `off`. + +``` +todayMarker off +``` + +## Configuration + +It is possible to adjust the margins for rendering the gantt diagram. + +This is done by defining the `ganttConfig` part of the configuration object. +How to use the CLI is described in the [mermaidCLI](../config/mermaidCLI) page. + +mermaid.ganttConfig can be set to a JSON string with config parameters or the corresponding object. + +```javascript +mermaid.ganttConfig = { + titleTopMargin: 25, + barHeight: 20, + barGap: 4, + topPadding: 75, + sidePadding: 75, +}; +``` + +### Possible configuration params: + +| Param | Description | Default value | +| --------------- | ------------------------------------------------------------------------------------------------------------------------------------------ | ------------- | +| mirrorActor | Turns on/off the rendering of actors below the diagram as well as above it | false | +| bottomMarginAdj | Adjusts how far down the graph ended. Wide borders styles with css could generate unwanted clipping which is why this config param exists. | 1 | + +## Interaction + +It is possible to bind a click event to a task. The click can lead to either a javascript callback or to a link which will be opened in the current browser tab. **Note**: This functionality is disabled when using `securityLevel='strict'` and enabled when using `securityLevel='loose'`. + +``` +click taskId call callback(arguments) +click taskId href URL +``` + +- taskId is the id of the task +- callback is the name of a javascript function defined on the page displaying the graph, the function will be called with the taskId as the parameter if no other arguments are specified. + +Beginner's tip—a full example using interactive links in an html context: + +```html +<body> + <pre class="mermaid"> + gantt + dateFormat YYYY-MM-DD + + section Clickable + Visit mermaidjs :active, cl1, 2014-01-07, 3d + Print arguments :cl2, after cl1, 3d + Print task :cl3, after cl2, 3d + + click cl1 href "https://mermaidjs.github.io/" + click cl2 call printArguments("test1", "test2", test3) + click cl3 call printTask() + </pre> + + <script> + var printArguments = function (arg1, arg2, arg3) { + alert('printArguments called with arguments: ' + arg1 + ', ' + arg2 + ', ' + arg3); + }; + var printTask = function (taskId) { + alert('taskId: ' + taskId); + }; + var config = { + startOnLoad: true, + securityLevel: 'loose', + }; + mermaid.initialize(config); + </script> +</body> +``` diff --git a/vdocs/syntax/gitGraph.md b/vdocs/syntax/gitGraph.md new file mode 100644 index 000000000..adfaabf40 --- /dev/null +++ b/vdocs/syntax/gitGraph.md @@ -0,0 +1,1016 @@ +# Gitgraph Diagrams + +> A Git Graph is a pictorial representation of git commits and git actions(commands) on various branches. + +These kind of diagram are particularly helpful to developers and devops teams to share their Git branching strategies. For example, it makes it easier to visualize how git flow works. + +Mermaid can render Git diagrams + +```mermaid-example + gitGraph + commit + commit + branch develop + checkout develop + commit + commit + checkout main + merge develop + commit + commit +``` + +In Mermaid, we support the basic git operations like: + +- _commit_ : Representing a new commit on the current branch. +- _branch_ : To create & switch to a new branch, setting it as the current branch. +- _checkout_ : To checking out an existing branch and setting it as the current branch. +- _merge_ : To merge an existing branch onto the current branch. + +With the help of these key git commands, you will be able to draw a gitgraph in Mermaid very easily and quickly. +Entity names are often capitalized, although there is no accepted standard on this, and it is not required in Mermaid. + +## Syntax + +Mermaid syntax for a gitgraph is very straight-forward and simple. It follows a declarative-approach, where each commit is drawn on the timeline in the diagram, in order of its occurrences/presence in code. Basically, it follows the insertion order for each command. + +First thing you do is to declare your diagram type using the **gitgraph** keyword. This `gitgraph` keyword, tells Mermaid that you wish to draw a gitgraph, and parse the diagram code accordingly. + +Each gitgraph, is initialized with **_main_** branch. So unless you create a different branch, by-default the commits will go to the main branch. This is driven with how git works, where in the beginning you always start with the main branch (formerly called as **_master_** branch). And by-default, `main` branch is set as your **_current branch_**. + +You make use of **_commit_** keyword to register a commit on the current branch. Let see how this works: + +A simple gitgraph showing three commits on the default (**_main_**) branch: + +```mermaid-example + gitGraph + commit + commit + commit +``` + +If you look closely at the previous example, you can see the default branch `main` along with three commits. Also, notice that by default each commit has been given a unique & random ID. What if you wanted to give your own custom ID to a commit? Yes, it is possible to do that with Mermaid. + +### Adding custom commit id + +For a given commit you may specify a custom ID at the time of declaring it using the `id` attribute, followed by `:` and your custom value within a `""` quote. For example: `commit id: "your_custom_id"` + +Let us see how this works with the help of the following diagram: + +```mermaid-example + gitGraph + commit id: "Alpha" + commit id: "Beta" + commit id: "Gamma" +``` + +In this example, we have given our custom IDs to the commits. + +### Modifying commit type + +In Mermaid, a commit can be of three type, which render a bit different in the diagram. These types are: + +- `NORMAL` : Default commit type. Represented by a solid circle in the diagram +- `REVERSE` : To emphasize a commit as a reverse commit. Represented by a crossed solid circle in the diagram. +- `HIGHLIGHT` : To highlight a particular commit in the diagram. Represented by a filled rectangle in the diagram. + +For a given commit you may specify its type at the time of declaring it using the `type` attribute, followed by `:` and the required type option discussed above. For example: `commit type: HIGHLIGHT` + +NOTE: If no commit type is specified, `NORMAL` is picked as default. + +Let us see how these different commit type look with the help of the following diagram: + +```mermaid-example + gitGraph + commit id: "Normal" + commit + commit id: "Reverse" type: REVERSE + commit + commit id: "Highlight" type: HIGHLIGHT + commit +``` + +In this example, we have specified different types to each commit. Also, see how we have included both `id` and `type` together at the time of declaring our commits. + +### Adding Tags + +For a given commit you may decorate it as a **tag**, similar to the concept of tags or release version in git world. +You can attach a custom tag at the time of declaring a commit using the `tag` attribute, followed by `:` and your custom value within `""` quote. For example: `commit tag: "your_custom_tag"` + +Let us see how this works with the help of the following diagram: + +```mermaid-example + gitGraph + commit + commit id: "Normal" tag: "v1.0.0" + commit + commit id: "Reverse" type: REVERSE tag: "RC_1" + commit + commit id: "Highlight" type: HIGHLIGHT tag: "8.8.4" + commit +``` + +In this example, we have given custom tags to the commits. Also, see how we have combined all these attributes in a single commit declaration. You can mix-match these attributes as you like. + +### Create a new branch + +In Mermaid, in-order to create a new branch, you make use of the `branch` keyword. You also need to provide a name of the new branch. The name has to be unique and cannot be that of an existing branch. Usage example: `branch develop` + +When Mermaid, reads the `branch` keyword, it creates a new branch and sets it as the current branch. Equivalent to you creating a new branch and checking it out in Git world. + +Let see this in an example: + +```mermaid-example + gitGraph + commit + commit + branch develop + commit + commit + commit +``` + +In this example, see how we started with default `main` branch, and pushed two commits on that. +Then we created the `develop` branch, and all commits afterwards are put on the `develop` branch as it became the current branch. + +### Checking out an existing branch + +In Mermaid, in order to switch to an existing branch, you make use of the `checkout` keyword. You also need to provide a name of an existing branch. If no branch is found with the given name, it will result in console error. Usage example: `checkout develop` + +When Mermaid, reads the `checkout` keyword, it finds the given branch and sets it as the current branch. Equivalent to checking out a branch in the Git world. + +Let see modify our previous example: + +```mermaid-example + gitGraph + commit + commit + branch develop + commit + commit + commit + checkout main + commit + commit +``` + +In this example, see how we started with default `main` branch, and pushed two commits on that. +Then we created the `develop` branch, and all three commits afterwards are put on the `develop` branch as it became the current branch. +After this we made use of the `checkout` keyword to set the current branch as `main`, and all commit that follow are registered against the current branch, i.e. `main`. + +### Merging two branches + +In Mermaid, in order to merge or join to an existing branch, you make use of the `merge` keyword. You also need to provide the name of an existing branch to merge from. If no branch is found with the given name, it will result in console error. Also, you can only merge two separate branches, and cannot merge a branch with itself. In such case an error is throw. + +Usage example: `merge develop` + +When Mermaid, reads the `merge` keyword, it finds the given branch and its head commit (the last commit on that branch), and joins it with the head commit on the **current branch**. Each merge results in a **_merge commit_**, represented in the diagram with **filled double circle**. + +Let us modify our previous example to merge our two branches: + +```mermaid-example + gitGraph + commit + commit + branch develop + commit + commit + commit + checkout main + commit + commit + merge develop + commit + commit +``` + +In this example, see how we started with default `main` branch, and pushed two commits on that. +Then we created the `develop` branch, and all three commits afterwards are put on the `develop` branch as it became the current branch. +After this we made use of the `checkout` keyword to set the current branch as `main`, and all commits that follow are registered against the current branch, i.e. `main`. +After this we merge the `develop` branch onto the current branch `main`, resulting in a merge commit. +Since the current branch at this point is still `main`, the last two commits are registered against that. + +You can also decorate your merge with similar attributes as you did for the commit using: + +- `id`--> To override the default ID with custom ID +- `tag`--> To add a custom tag to your merge commit +- `type`--> To override the default shape of merge commit. Here you can use other commit type mentioned earlier. + +And you can choose to use none, some or all of these attributes together. +For example: `merge develop id: "my_custom_id" tag: "my_custom_tag" type: REVERSE` + +Let us see how this works with the help of the following diagram: + +```mermaid-example + gitGraph + commit id: "1" + commit id: "2" + branch nice_feature + checkout nice_feature + commit id: "3" + checkout main + commit id: "4" + checkout nice_feature + branch very_nice_feature + checkout very_nice_feature + commit id: "5" + checkout main + commit id: "6" + checkout nice_feature + commit id: "7" + checkout main + merge nice_feature id: "customID" tag: "customTag" type: REVERSE + checkout very_nice_feature + commit id: "8" + checkout main + commit id: "9" +``` + +### Cherry Pick commit from another branch + +Similar to how 'git' allows you to cherry-pick a commit from **another branch** onto the **current** branch, Mermaid also supports this functionality. You can also cherry-pick a commit from another branch using the `cherry-pick` keyword. + +To use the `cherry-pick` keyword, you must specify the id using the `id` attribute, followed by `:` and your desired commit id within a `""` quote. For example: + +`cherry-pick id: "your_custom_id"` + +Here, a new commit representing the cherry-pick is created on the current branch, and is visually highlighted in the diagram with a **cherry** and a tag depicting the commit id from which it is cherry-picked from. + +A few important rules to note here are: + +1. You need to provide the `id` for an existing commit to be cherry-picked. If given commit id does not exist it will result in an error. For this, make use of the `commit id:$value` format of declaring commits. See the examples from above. +2. The given commit must not exist on the current branch. The cherry-picked commit must always be a different branch than the current branch. +3. Current branch must have at least one commit, before you can cherry-pick, otherwise it will cause an error is throw. + +Let see an example: + +```mermaid-example + gitGraph + commit id: "ZERO" + branch develop + commit id:"A" + checkout main + commit id:"ONE" + checkout develop + commit id:"B" + checkout main + commit id:"TWO" + cherry-pick id:"A" + commit id:"THREE" + checkout develop + commit id:"C" +``` + +## Gitgraph specific configuration options + +In Mermaid, you have the option to configure the gitgraph diagram. You can configure the following options: + +- `showBranches` : Boolean, default is `true`. If set to `false`, the branches are not shown in the diagram. +- `showCommitLabel` : Boolean, default is `true`. If set to `false`, the commit labels are not shown in the diagram. +- `mainBranchName` : String, default is `main`. The name of the default/root branch. +- `mainBranchOrder` : Position of the main branch in the list of branches. default is `0`, meaning, by default `main` branch is the first in the order. + +Let's look at them one by one. + +## Hiding Branch names and lines + +Sometimes you may want to hide the branch names and lines from the diagram. You can do this by using the `showBranches` keyword. By default its value is `true`. You can set it to `false` using directives. + +Usage example: + +```mermaid-example +%%{init: { 'logLevel': 'debug', 'theme': 'base', 'gitGraph': {'showBranches': false}} }%% + gitGraph + commit + branch hotfix + checkout hotfix + commit + branch develop + checkout develop + commit id:"ash" tag:"abc" + branch featureB + checkout featureB + commit type:HIGHLIGHT + checkout main + checkout hotfix + commit type:NORMAL + checkout develop + commit type:REVERSE + checkout featureB + commit + checkout main + merge hotfix + checkout featureB + commit + checkout develop + branch featureA + commit + checkout develop + merge hotfix + checkout featureA + commit + checkout featureB + commit + checkout develop + merge featureA + branch release + checkout release + commit + checkout main + commit + checkout release + merge main + checkout develop + merge release +``` + +## Commit labels Layout: Rotated or Horizontal + +Mermaid supports two types of commit labels layout. The default layout is **rotated**, which means the labels are placed below the commit circle, rotated at 45 degrees for better readability. This is particularly useful for commits with long labels. + +The other option is **horizontal**, which means the labels are placed below the commit circle centred horizontally, and are not rotated. This is particularly useful for commits with short labels. + +You can change the layout of the commit labels by using the `rotateCommitLabel` keyword in the directive. It defaults to `true`, which means the commit labels are rotated. + +Usage example: Rotated commit labels + +```mermaid-example +%%{init: { 'logLevel': 'debug', 'theme': 'base', 'gitGraph': {'rotateCommitLabel': true}} }%% +gitGraph + commit id: "feat(api): ..." + commit id: "a" + commit id: "b" + commit id: "fix(client): .extra long label.." + branch c2 + commit id: "feat(modules): ..." + commit id: "test(client): ..." + checkout main + commit id: "fix(api): ..." + commit id: "ci: ..." + branch b1 + commit + branch b2 + commit +``` + +Usage example: Horizontal commit labels + +```mermaid-example +%%{init: { 'logLevel': 'debug', 'theme': 'base', 'gitGraph': {'rotateCommitLabel': false}} }%% +gitGraph + commit id: "feat(api): ..." + commit id: "a" + commit id: "b" + commit id: "fix(client): .extra long label.." + branch c2 + commit id: "feat(modules): ..." + commit id: "test(client): ..." + checkout main + commit id: "fix(api): ..." + commit id: "ci: ..." + branch b1 + commit + branch b2 + commit +``` + +## Hiding commit labels + +Sometimes you may want to hide the commit labels from the diagram. You can do this by using the `showCommitLabel` keyword. By default its value is `true`. You can set it to `false` using directives. + +Usage example: + +```mermaid-example +%%{init: { 'logLevel': 'debug', 'theme': 'base', 'gitGraph': {'showBranches': false,'showCommitLabel': false}} }%% + gitGraph + commit + branch hotfix + checkout hotfix + commit + branch develop + checkout develop + commit id:"ash" + branch featureB + checkout featureB + commit type:HIGHLIGHT + checkout main + checkout hotfix + commit type:NORMAL + checkout develop + commit type:REVERSE + checkout featureB + commit + checkout main + merge hotfix + checkout featureB + commit + checkout develop + branch featureA + commit + checkout develop + merge hotfix + checkout featureA + commit + checkout featureB + commit + checkout develop + merge featureA + branch release + checkout release + commit + checkout main + commit + checkout release + merge main + checkout develop + merge release +``` + +## Customizing main branch name + +Sometimes you may want to customize the name of the main/default branch. You can do this by using the `mainBranchName` keyword. By default its value is `main`. You can set it to any string using directives. + +Usage example: + +```mermaid-example +%%{init: { 'logLevel': 'debug', 'theme': 'base', 'gitGraph': {'showBranches': true, 'showCommitLabel':true,'mainBranchName': 'MetroLine1'}} }%% + gitGraph + commit id:"NewYork" + commit id:"Dallas" + branch MetroLine2 + commit id:"LosAngeles" + commit id:"Chicago" + commit id:"Houston" + branch MetroLine3 + commit id:"Phoenix" + commit type: HIGHLIGHT id:"Denver" + commit id:"Boston" + checkout MetroLine1 + commit id:"Atlanta" + merge MetroLine3 + commit id:"Miami" + commit id:"Washington" + merge MetroLine2 tag:"MY JUNCTION" + commit id:"Boston" + commit id:"Detroit" + commit type:REVERSE id:"SanFrancisco" +``` + +Look at the imaginary railroad map created using Mermaid. Here, we have changed the default main branch name to `MetroLine1`. + +## Customizing branch ordering + +In Mermaid, by default the branches are shown in the order of their definition or appearance in the diagram code. + +Sometimes you may want to customize the order of the branches. You can do this by using the `order` keyword next the branch definition. You can set it to a positive number. + +Mermaid follows the given precedence order of the `order` keyword. + +- Main branch is always shown first as it has default order value of `0`. (unless its order is modified and changed from `0` using the `mainBranchOrder` keyword in the config) +- Next, All branches without an `order` are shown in the order of their appearance in the diagram code. +- Next, All branches with an `order` are shown in the order of their `order` value. + +To fully control the order of all the branches, you must define `order` for all the branches. + +Usage example: + +```mermaid-example +%%{init: { 'logLevel': 'debug', 'theme': 'base', 'gitGraph': {'showBranches': true, 'showCommitLabel':true}} }%% + gitGraph + commit + branch test1 order: 3 + branch test2 order: 2 + branch test3 order: 1 + +``` + +Look at the diagram, all the branches are following the order defined. + +Usage example: + +```mermaid-example +%%{init: { 'logLevel': 'debug', 'theme': 'base', 'gitGraph': {'showBranches': true, 'showCommitLabel':true,'mainBranchOrder': 2}} }%% + gitGraph + commit + branch test1 order: 3 + branch test2 + branch test3 + branch test4 order: 1 + +``` + +Look at the diagram, here, all the branches without a specified order are drawn in their order of definition. +Then, `test4` branch is drawn because the order of `1`. +Then, `main` branch is drawn because the order of `2`. +And, lastly `test1`is drawn because the order of `3`. + +NOTE: Because we have overridden the `mainBranchOrder` to `2`, the `main` branch is not drawn in the beginning, instead follows the ordering. + +Here, we have changed the default main branch name to `MetroLine1`. + +## Themes + +Mermaid supports a bunch of pre-defined themes which you can use to find the right one for you. PS: you can actually override an existing theme's variable to get your own custom theme going. Learn more about theming your diagram [here](../config/theming.md). + +The following are the different pre-defined theme options: + +- `base` +- `forest` +- `dark` +- `default` +- `neutral` + +**NOTE**: To change theme you can either use the `initialize` call or _directives_. Learn more about [directives](../config/directives.md) +Let's put them to use, and see how our sample diagram looks in different themes: + +### Base Theme + +```mermaid-example +%%{init: { 'logLevel': 'debug', 'theme': 'base' } }%% + gitGraph + commit + branch hotfix + checkout hotfix + commit + branch develop + checkout develop + commit id:"ash" tag:"abc" + branch featureB + checkout featureB + commit type:HIGHLIGHT + checkout main + checkout hotfix + commit type:NORMAL + checkout develop + commit type:REVERSE + checkout featureB + commit + checkout main + merge hotfix + checkout featureB + commit + checkout develop + branch featureA + commit + checkout develop + merge hotfix + checkout featureA + commit + checkout featureB + commit + checkout develop + merge featureA + branch release + checkout release + commit + checkout main + commit + checkout release + merge main + checkout develop + merge release +``` + +### Forest Theme + +```mermaid-example +%%{init: { 'logLevel': 'debug', 'theme': 'forest' } }%% + gitGraph + commit + branch hotfix + checkout hotfix + commit + branch develop + checkout develop + commit id:"ash" tag:"abc" + branch featureB + checkout featureB + commit type:HIGHLIGHT + checkout main + checkout hotfix + commit type:NORMAL + checkout develop + commit type:REVERSE + checkout featureB + commit + checkout main + merge hotfix + checkout featureB + commit + checkout develop + branch featureA + commit + checkout develop + merge hotfix + checkout featureA + commit + checkout featureB + commit + checkout develop + merge featureA + branch release + checkout release + commit + checkout main + commit + checkout release + merge main + checkout develop + merge release +``` + +### Default Theme + +```mermaid-example +%%{init: { 'logLevel': 'debug', 'theme': 'default' } }%% + gitGraph + commit type:HIGHLIGHT + branch hotfix + checkout hotfix + commit + branch develop + checkout develop + commit id:"ash" tag:"abc" + branch featureB + checkout featureB + commit type:HIGHLIGHT + checkout main + checkout hotfix + commit type:NORMAL + checkout develop + commit type:REVERSE + checkout featureB + commit + checkout main + merge hotfix + checkout featureB + commit + checkout develop + branch featureA + commit + checkout develop + merge hotfix + checkout featureA + commit + checkout featureB + commit + checkout develop + merge featureA + branch release + checkout release + commit + checkout main + commit + checkout release + merge main + checkout develop + merge release +``` + +### Dark Theme + +```mermaid-example +%%{init: { 'logLevel': 'debug', 'theme': 'dark' } }%% + gitGraph + commit + branch hotfix + checkout hotfix + commit + branch develop + checkout develop + commit id:"ash" tag:"abc" + branch featureB + checkout featureB + commit type:HIGHLIGHT + checkout main + checkout hotfix + commit type:NORMAL + checkout develop + commit type:REVERSE + checkout featureB + commit + checkout main + merge hotfix + checkout featureB + commit + checkout develop + branch featureA + commit + checkout develop + merge hotfix + checkout featureA + commit + checkout featureB + commit + checkout develop + merge featureA + branch release + checkout release + commit + checkout main + commit + checkout release + merge main + checkout develop + merge release +``` + +### Neutral Theme + +```mermaid-example +%%{init: { 'logLevel': 'debug', 'theme': 'neutral' } }%% + gitGraph + commit + branch hotfix + checkout hotfix + commit + branch develop + checkout develop + commit id:"ash" tag:"abc" + branch featureB + checkout featureB + commit type:HIGHLIGHT + checkout main + checkout hotfix + commit type:NORMAL + checkout develop + commit type:REVERSE + checkout featureB + commit + checkout main + merge hotfix + checkout featureB + commit + checkout develop + branch featureA + commit + checkout develop + merge hotfix + checkout featureA + commit + checkout featureB + commit + checkout develop + merge featureA + branch release + checkout release + commit + checkout main + commit + checkout release + merge main + checkout develop + merge release +``` + +## Customize using Theme Variables + +Mermaid allows you to customize your diagram using theme variables which govern the look and feel of various elements of the diagram. + +For understanding let us take a sample diagram with theme `default`, the default values of the theme variables is picked automatically from the theme. Later on we will see how to override the default values of the theme variables. + +See how the default theme is used to set the colors for the branches: + +```mermaid-example +%%{init: { 'logLevel': 'debug', 'theme': 'default' } }%% + gitGraph + commit + branch develop + commit tag:"v1.0.0" + commit + checkout main + commit type: HIGHLIGHT + commit + merge develop + commit + branch featureA + commit +``` + +> #### IMPORTANT: +> +> Mermaid supports the theme variables to override the default values for **up to 8 branches**, i.e., you can set the color/styling of up to 8 branches using theme variables. After this threshold of 8 branches, the theme variables are reused in the cyclic manner, i.e. the 9th branch will use the color/styling of the 1st branch, or the branch at index position '8' will use the color/styling of the branch at index position '0'. +> _More on this in the next section. See examples on **Customizing branch label colors** below_ + +### Customizing branch colors + +You can customize the branch colors using the `git0` to `git7` theme variables. Mermaid allows you to set the colors for up-to 8 branches, where `git0` variable will drive the value of the first branch, `git1` will drive the value of the second branch and so on. + +NOTE: Default values for these theme variables are picked from the selected theme. If you want to override the default values, you can use the `initialize` call to add your custom theme variable values. + +Example: + +Now let's override the default values for the `git0` to `git3` variables: + +```mermaid-example + %%{init: { 'logLevel': 'debug', 'theme': 'default' , 'themeVariables': { + 'git0': '#ff0000', + 'git1': '#00ff00', + 'git2': '#0000ff', + 'git3': '#ff00ff', + 'git4': '#00ffff', + 'git5': '#ffff00', + 'git6': '#ff00ff', + 'git7': '#00ffff' + } } }%% + gitGraph + commit + branch develop + commit tag:"v1.0.0" + commit + checkout main + commit type: HIGHLIGHT + commit + merge develop + commit + branch featureA + commit + +``` + +See how the branch colors are changed to the values specified in the theme variables. + +### Customizing branch label colors + +You can customize the branch label colors using the `gitBranchLabel0` to `gitBranchLabel7` theme variables. Mermaid allows you to set the colors for up-to 8 branches, where `gitBranchLabel0` variable will drive the value of the first branch label, `gitBranchLabel1` will drive the value of the second branch label and so on. + +Lets see how the default theme is used to set the colors for the branch labels: + +Now let's override the default values for the `gitBranchLabel0` to `gitBranchLabel2` variables: + +```mermaid-example + %%{init: { 'logLevel': 'debug', 'theme': 'default' , 'themeVariables': { + 'gitBranchLabel0': '#ffffff', + 'gitBranchLabel1': '#ffffff', + 'gitBranchLabel2': '#ffffff', + 'gitBranchLabel3': '#ffffff', + 'gitBranchLabel4': '#ffffff', + 'gitBranchLabel5': '#ffffff', + 'gitBranchLabel6': '#ffffff', + 'gitBranchLabel7': '#ffffff', + 'gitBranchLabel8': '#ffffff', + 'gitBranchLabel9': '#ffffff' + } } }%% + gitGraph + checkout main + branch branch1 + branch branch2 + branch branch3 + branch branch4 + branch branch5 + branch branch6 + branch branch7 + branch branch8 + branch branch9 + checkout branch1 + commit +``` + +Here, you can see that `branch8` and `branch9` colors and the styles are being picked from branch at index position `0` (`main`) and `1`(`branch1`) respectively, i.e., **branch themeVariables are repeated cyclically**. + +### Customizing Commit colors + +You can customize commit using the `commitLabelColor` and `commitLabelBackground` theme variables for changes in the commit label color and background color respectively. + +Example: +Now let's override the default values for the `commitLabelColor` to `commitLabelBackground` variables: + +```mermaid-example + %%{init: { 'logLevel': 'debug', 'theme': 'default' , 'themeVariables': { + 'commitLabelColor': '#ff0000', + 'commitLabelBackground': '#00ff00' + } } }%% + gitGraph + commit + branch develop + commit tag:"v1.0.0" + commit + checkout main + commit type: HIGHLIGHT + commit + merge develop + commit + branch featureA + commit + +``` + +See how the commit label color and background color are changed to the values specified in the theme variables. + +### Customizing Commit Label Font Size + +You can customize commit using the `commitLabelFontSize` theme variables for changing in the font soze of the commit label . + +Example: +Now let's override the default values for the `commitLabelFontSize` variable: + +```mermaid-example + %%{init: { 'logLevel': 'debug', 'theme': 'default' , 'themeVariables': { + 'commitLabelColor': '#ff0000', + 'commitLabelBackground': '#00ff00', + 'commitLabelFontSize': '16px' + } } }%% + gitGraph + commit + branch develop + commit tag:"v1.0.0" + commit + checkout main + commit type: HIGHLIGHT + commit + merge develop + commit + branch featureA + commit + +``` + +See how the commit label font size changed. + +### Customizing Tag Label Font Size + +You can customize commit using the `tagLabelFontSize` theme variables for changing in the font soze of the tag label . + +Example: +Now let's override the default values for the `tagLabelFontSize` variable: + +```mermaid-example + %%{init: { 'logLevel': 'debug', 'theme': 'default' , 'themeVariables': { + 'commitLabelColor': '#ff0000', + 'commitLabelBackground': '#00ff00', + 'tagLabelFontSize': '16px' + } } }%% + gitGraph + commit + branch develop + commit tag:"v1.0.0" + commit + checkout main + commit type: HIGHLIGHT + commit + merge develop + commit + branch featureA + commit + +``` + +See how the tag label font size changed. + +### Customizing Tag colors + +You can customize tag using the `tagLabelColor`,`tagLabelBackground` and `tagLabelBorder` theme variables for changes in the tag label color,tag label background color and tag label border respectively. +Example: +Now let's override the default values for the `tagLabelColor`, `tagLabelBackground` and to `tagLabelBorder` variables: + +```mermaid-example + %%{init: { 'logLevel': 'debug', 'theme': 'default' , 'themeVariables': { + 'tagLabelColor': '#ff0000', + 'tagLabelBackground': '#00ff00', + 'tagLabelBorder': '#0000ff' + } } }%% + gitGraph + commit + branch develop + commit tag:"v1.0.0" + commit + checkout main + commit type: HIGHLIGHT + commit + merge develop + commit + branch featureA + commit + +``` + +See how the tag colors are changed to the values specified in the theme variables. + +### Customizing Highlight commit colors + +You can customize the highlight commit colors in relation to the branch it is on using the `gitInv0` to `gitInv7` theme variables. Mermaid allows you to set the colors for up-to 8 branches specific highlight commit, where `gitInv0` variable will drive the value of the first branch's highlight commits, `gitInv1` will drive the value of the second branch's highlight commit label and so on. + +Example: + +Now let's override the default values for the `git0` to `git3` variables: + +```mermaid-example + %%{init: { 'logLevel': 'debug', 'theme': 'default' , 'themeVariables': { + 'gitInv0': '#ff0000' + } } }%% + gitGraph + commit + branch develop + commit tag:"v1.0.0" + commit + checkout main + commit type: HIGHLIGHT + commit + merge develop + commit + branch featureA + commit + +``` + +See how the highlighted commit color on the first branch is changed to the value specified in the theme variable `gitInv0`. diff --git a/vdocs/syntax/img/Gantt-excluded-days-within.png b/vdocs/syntax/img/Gantt-excluded-days-within.png new file mode 100644 index 0000000000000000000000000000000000000000..2283bf99d8d6ed1b721541ce1f0f8b38d6e19887 GIT binary patch literal 79453 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 literal 0 HcmV?d00001 diff --git a/vdocs/syntax/img/Gantt-long-weekend-look.png b/vdocs/syntax/img/Gantt-long-weekend-look.png new file mode 100644 index 0000000000000000000000000000000000000000..1b2fc8e17ef9a4adb34de9dc326d41584873292c GIT binary patch literal 79092 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 MKlB@l@6qgk080{I(f|Me literal 0 HcmV?d00001 diff --git a/vdocs/syntax/pie.md b/vdocs/syntax/pie.md new file mode 100644 index 000000000..75d377e4b --- /dev/null +++ b/vdocs/syntax/pie.md @@ -0,0 +1,51 @@ +# Pie chart diagrams + +> A pie chart (or a circle chart) is a circular statistical graphic, which is divided into slices to illustrate numerical proportion. In a pie chart, the arc length of each slice (and consequently its central angle and area), is proportional to the quantity it represents. While it is named for its resemblance to a pie which has been sliced, there are variations on the way it can be presented. The earliest known pie chart is generally credited to William Playfair's Statistical Breviary of 1801 +> -Wikipedia + +Mermaid can render Pie Chart diagrams. + +```mmd +pie title Pets adopted by volunteers + "Dogs" : 386 + "Cats" : 85 + "Rats" : 15 +``` + +```mermaid +pie title Pets adopted by volunteers + "Dogs" : 386 + "Cats" : 85 + "Rats" : 15 +``` + +## Syntax + +Drawing a pie chart is really simple in mermaid. + +- Start with `pie` keyword to begin the diagram + - `showData` to render the actual data values after the legend text. This is **_OPTIONAL_** +- Followed by `title` keyword and its value in string to give a title to the pie-chart. This is **_OPTIONAL_** +- Followed by dataSet + - `label` for a section in the pie diagram within `" "` quotes. + - Followed by `:` colon as separator + - Followed by `positive numeric value` (supported upto two decimal places) + +[pie] [showData] (OPTIONAL) +[title] [titlevalue] (OPTIONAL) +"[datakey1]" : [dataValue1] +"[datakey2]" : [dataValue2] +"[datakey3]" : [dataValue3] +. +. + +## Example + +```mermaid-example +pie showData + title Key elements in Product X + "Calcium" : 42.96 + "Potassium" : 50.05 + "Magnesium" : 10.01 + "Iron" : 5 +``` diff --git a/vdocs/syntax/requirementDiagram.md b/vdocs/syntax/requirementDiagram.md new file mode 100644 index 000000000..7c221312b --- /dev/null +++ b/vdocs/syntax/requirementDiagram.md @@ -0,0 +1,158 @@ +# Requirement Diagram + +> A Requirement diagram provides a visualization for requirements and their connections, to each other and other documented elements. The modeling specs follow those defined by SysML v1.6. + +Rendering requirements is straightforward. + +```mermaid-example + requirementDiagram + + requirement test_req { + id: 1 + text: the test text. + risk: high + verifymethod: test + } + + element test_entity { + type: simulation + } + + test_entity - satisfies -> test_req +``` + +## Syntax + +There are three types of components to a requirement diagram: requirement, element, and relationship. + +The grammar for defining each is defined below. Words denoted in angle brackets, such as `<word>`, are enumerated keywords that have options elaborated in a table. `user_defined_...` is use in any place where user input is expected. + +An important note on user text: all input can be surrounded in quotes or not. For example, both `Id: "here is an example"` and `Id: here is an example` are both valid. However, users must be careful with unquoted input. The parser will fail if another keyword is detected. + +### Requirement + +A requirement definition contains a requirement type, name, id, text, risk, and verification method. The syntax follows: + +``` +<type> user_defined_name { + id: user_defined_id + text: user_defined text + risk: <risk> + verifymethod: <method> +} +``` + +Type, risk, and method are enumerations defined in SysML. + +| Keyword | Options | +| ------------------ | ----------------------------------------------------------------------------------------------------------------------- | +| Type | requirement, functionalRequirement, interfaceRequirement, performanceRequirement, physicalRequirement, designConstraint | +| Risk | Low, Medium, High | +| VerificationMethod | Analysis, Inspection, Test, Demonstration | + +### Element + +An element definition contains an element name, type, and document reference. These three are all user defined. The element feature is intended to be lightweight but allow requirements to be connected to portions of other documents. + +``` +element user_defined_name { + type: user_defined_type + docref: user_defined_ref +} +``` + +### Relationship + +Relationships are comprised of a source node, destination node, and relationship type. + +Each follows the definition format of + +``` +{name of source} - <type> -> {name of destination} +``` + +or + +``` +{name of destination} <- <type> - {name of source} +``` + +"name of source" and "name of destination" should be names of requirement or element nodes defined elsewhere. + +A relationship type can be one of contains, copies, derives, satisfies, verifies, refines, or traces. + +Each relationship is labeled in the diagram. + +## Larger Example + +This example uses all features of the diagram. + +```mermaid-example + requirementDiagram + + requirement test_req { + id: 1 + text: the test text. + risk: high + verifymethod: test + } + + functionalRequirement test_req2 { + id: 1.1 + text: the second test text. + risk: low + verifymethod: inspection + } + + performanceRequirement test_req3 { + id: 1.2 + text: the third test text. + risk: medium + verifymethod: demonstration + } + + interfaceRequirement test_req4 { + id: 1.2.1 + text: the fourth test text. + risk: medium + verifymethod: analysis + } + + physicalRequirement test_req5 { + id: 1.2.2 + text: the fifth test text. + risk: medium + verifymethod: analysis + } + + designConstraint test_req6 { + id: 1.2.3 + text: the sixth test text. + risk: medium + verifymethod: analysis + } + + element test_entity { + type: simulation + } + + element test_entity2 { + type: word doc + docRef: reqs/test_entity + } + + element test_entity3 { + type: "test suite" + docRef: github.com/all_the_tests + } + + + test_entity - satisfies -> test_req2 + test_req - traces -> test_req2 + test_req - contains -> test_req3 + test_req3 - contains -> test_req4 + test_req4 - derives -> test_req5 + test_req5 - refines -> test_req6 + test_entity3 - verifies -> test_req5 + test_req <- copies - test_entity2 +``` diff --git a/vdocs/syntax/sequenceDiagram.md b/vdocs/syntax/sequenceDiagram.md new file mode 100644 index 000000000..079eaa4d5 --- /dev/null +++ b/vdocs/syntax/sequenceDiagram.md @@ -0,0 +1,569 @@ +# Sequence diagrams + +> A Sequence diagram is an interaction diagram that shows how processes operate with one another and in what order. + +Mermaid can render sequence diagrams. + +```mermaid-example +sequenceDiagram + Alice->>John: Hello John, how are you? + John-->>Alice: Great! + Alice-)John: See you later! +``` + +::: warning +A note on nodes, the word "end" could potentially break the diagram, due to the way that the mermaid language is scripted. + +If unavoidable, one must use parentheses(), quotation marks "", or brackets {},[], to enclose the word "end". i.e : (end), [end], {end}. +::: + +## Syntax + +### Participants + +The participants can be defined implicitly as in the first example on this page. The participants or actors are +rendered in order of appearance in the diagram source text. Sometimes you might want to show the participants in a +different order than how they appear in the first message. It is possible to specify the actor's order of +appearance by doing the following: + +```mermaid-example +sequenceDiagram + participant Alice + participant Bob + Alice->>Bob: Hi Bob + Bob->>Alice: Hi Alice +``` + +### Actors + +If you specifically want to use the actor symbol instead of a rectangle with text you can do so by using actor statements as per below. + +```mermaid-example +sequenceDiagram + actor Alice + actor Bob + Alice->>Bob: Hi Bob + Bob->>Alice: Hi Alice +``` + +### Aliases + +The actor can have a convenient identifier and a descriptive label. + +```mermaid-example +sequenceDiagram + participant A as Alice + participant J as John + A->>J: Hello John, how are you? + J->>A: Great! +``` + +## Messages + +Messages can be of two displayed either solid or with a dotted line. + +``` +[Actor][Arrow][Actor]:Message text +``` + +There are six types of arrows currently supported: + +| Type | Description | +| ---- | ------------------------------------------------ | +| -> | Solid line without arrow | +| --> | Dotted line without arrow | +| ->> | Solid line with arrowhead | +| -->> | Dotted line with arrowhead | +| -x | Solid line with a cross at the end | +| --x | Dotted line with a cross at the end. | +| -) | Solid line with an open arrow at the end (async) | +| --) | Dotted line with a open arrow at the end (async) | + +## Activations + +It is possible to activate and deactivate an actor. (de)activation can be dedicated declarations: + +```mermaid-example +sequenceDiagram + Alice->>John: Hello John, how are you? + activate John + John-->>Alice: Great! + deactivate John +``` + +There is also a shortcut notation by appending `+`/`-` suffix to the message arrow: + +```mermaid-example +sequenceDiagram + Alice->>+John: Hello John, how are you? + John-->>-Alice: Great! +``` + +Activations can be stacked for same actor: + +```mermaid-example +sequenceDiagram + Alice->>+John: Hello John, how are you? + Alice->>+John: John, can you hear me? + John-->>-Alice: Hi Alice, I can hear you! + John-->>-Alice: I feel great! +``` + +## Notes + +It is possible to add notes to a sequence diagram. This is done by the notation +Note [ right of | left of | over ] [Actor]: Text in note content + +See the example below: + +```mermaid-example +sequenceDiagram + participant John + Note right of John: Text in note +``` + +It is also possible to create notes spanning two participants: + +```mermaid-example +sequenceDiagram + Alice->John: Hello John, how are you? + Note over Alice,John: A typical interaction +``` + +## Loops + +It is possible to express loops in a sequence diagram. This is done by the notation + +``` +loop Loop text +... statements ... +end +``` + +See the example below: + +```mermaid-example +sequenceDiagram + Alice->John: Hello John, how are you? + loop Every minute + John-->Alice: Great! + end +``` + +## Alt + +It is possible to express alternative paths in a sequence diagram. This is done by the notation + +``` +alt Describing text +... statements ... +else +... statements ... +end +``` + +or if there is sequence that is optional (if without else). + +``` +opt Describing text +... statements ... +end +``` + +See the example below: + +```mermaid-example +sequenceDiagram + Alice->>Bob: Hello Bob, how are you? + alt is sick + Bob->>Alice: Not so good :( + else is well + Bob->>Alice: Feeling fresh like a daisy + end + opt Extra response + Bob->>Alice: Thanks for asking + end +``` + +## Parallel + +It is possible to show actions that are happening in parallel. + +This is done by the notation + +``` +par [Action 1] +... statements ... +and [Action 2] +... statements ... +and [Action N] +... statements ... +end +``` + +See the example below: + +```mermaid-example +sequenceDiagram + par Alice to Bob + Alice->>Bob: Hello guys! + and Alice to John + Alice->>John: Hello guys! + end + Bob-->>Alice: Hi Alice! + John-->>Alice: Hi Alice! +``` + +It is also possible to nest parallel blocks. + +```mermaid-example +sequenceDiagram + par Alice to Bob + Alice->>Bob: Go help John + and Alice to John + Alice->>John: I want this done today + par John to Charlie + John->>Charlie: Can we do this today? + and John to Diana + John->>Diana: Can you help us today? + end + end +``` + +## Critical Region + +It is possible to show actions that must happen automatically with conditional handling of circumstances. + +This is done by the notation + +``` +critical [Action that must be performed] +... statements ... +option [Circumstance A] +... statements ... +option [Circumstance B] +... statements ... +end +``` + +See the example below: + +```mermaid-example +sequenceDiagram + critical Establish a connection to the DB + Service-->DB: connect + option Network timeout + Service-->Service: Log error + option Credentials rejected + Service-->Service: Log different error + end +``` + +It is also possible to have no options at all + +```mermaid-example +sequenceDiagram + critical Establish a connection to the DB + Service-->DB: connect + end +``` + +This critical block can also be nested, equivalently to the `par` statement as seen above. + +## Break + +It is possible to indicate a stop of the sequence within the flow (usually used to model exceptions). + +This is done by the notation + +``` +break [something happened] +... statements ... +end +``` + +See the example below: + +```mermaid-example +sequenceDiagram + Consumer-->API: Book something + API-->BookingService: Start booking process + break when the booking process fails + API-->Consumer: show failure + end + API-->BillingService: Start billing process +``` + +## Background Highlighting + +It is possible to highlight flows by providing colored background rects. This is done by the notation + +The colors are defined using rgb and rgba syntax. + +``` +rect rgb(0, 255, 0) +... content ... +end +``` + +``` +rect rgba(0, 0, 255, .1) +... content ... +end +``` + +See the examples below: + +```mermaid-example +sequenceDiagram + participant Alice + participant John + + rect rgb(191, 223, 255) + note right of Alice: Alice calls John. + Alice->>+John: Hello John, how are you? + rect rgb(200, 150, 255) + Alice->>+John: John, can you hear me? + John-->>-Alice: Hi Alice, I can hear you! + end + John-->>-Alice: I feel great! + end + Alice ->>+ John: Did you want to go to the game tonight? + John -->>- Alice: Yeah! See you there. + +``` + +## Comments + +Comments can be entered within a sequence diagram, which will be ignored by the parser. Comments need to be on their own line, and must be prefaced with `%%` (double percent signs). Any text after the start of the comment to the next newline will be treated as a comment, including any diagram syntax + +```mmd +sequenceDiagram + Alice->>John: Hello John, how are you? + %% this is a comment + John-->>Alice: Great! +``` + +## Entity codes to escape characters + +It is possible to escape characters using the syntax exemplified here. + +```mermaid-example +sequenceDiagram + A->>B: I #9829; you! + B->>A: I #9829; you #infin; times more! +``` + +Numbers given are base 10, so `#` can be encoded as `#35;`. It is also supported to use HTML character names. + +Because semicolons can be used instead of line breaks to define the markup, you need to use `#59;` to include a semicolon in message text. + +## sequenceNumbers + +It is possible to get a sequence number attached to each arrow in a sequence diagram. This can be configured when adding mermaid to the website as shown below: + +```html +<script> + mermaid.initialize({ sequence: { showSequenceNumbers: true } }); +</script> +``` + +It can also be be turned on via the diagram code as in the diagram: + +```mermaid-example +sequenceDiagram + autonumber + Alice->>John: Hello John, how are you? + loop Healthcheck + John->>John: Fight against hypochondria + end + Note right of John: Rational thoughts! + John-->>Alice: Great! + John->>Bob: How about you? + Bob-->>John: Jolly good! +``` + +## Actor Menus + +Actors can have popup-menus containing individualized links to external pages. For example, if an actor represented a web service, useful links might include a link to the service health dashboard, repo containing the code for the service, or a wiki page describing the service. + +This can be configured by adding one or more link lines with the format: + +``` +link <actor>: <link-label> @ <link-url> +``` + +```mmd +sequenceDiagram + participant Alice + participant John + link Alice: Dashboard @ https://dashboard.contoso.com/alice + link Alice: Wiki @ https://wiki.contoso.com/alice + link John: Dashboard @ https://dashboard.contoso.com/john + link John: Wiki @ https://wiki.contoso.com/john + Alice->>John: Hello John, how are you? + John-->>Alice: Great! + Alice-)John: See you later! +``` + +#### Advanced Menu Syntax + +There is an advanced syntax that relies on JSON formatting. If you are comfortable with JSON format, then this exists as well. + +This can be configured by adding the links lines with the format: + +``` +links <actor>: <json-formatted link-name link-url pairs> +``` + +An example is below: + +```mermaid-example +sequenceDiagram + participant Alice + participant John + links Alice: {"Dashboard": "https://dashboard.contoso.com/alice", "Wiki": "https://wiki.contoso.com/alice"} + links John: {"Dashboard": "https://dashboard.contoso.com/john", "Wiki": "https://wiki.contoso.com/john"} + Alice->>John: Hello John, how are you? + John-->>Alice: Great! + Alice-)John: See you later! +``` + +## Styling + +Styling of a sequence diagram is done by defining a number of css classes. During rendering these classes are extracted from the file located at src/themes/sequence.scss + +### Classes used + +| Class | Description | +| ------------ | ----------------------------------------------------------- | +| actor | Style for the actor box at the top of the diagram. | +| text.actor | Styles for text in the actor box at the top of the diagram. | +| actor-line | The vertical line for an actor. | +| messageLine0 | Styles for the solid message line. | +| messageLine1 | Styles for the dotted message line. | +| messageText | Defines styles for the text on the message arrows. | +| labelBox | Defines styles label to left in a loop. | +| labelText | Styles for the text in label for loops. | +| loopText | Styles for the text in the loop box. | +| loopLine | Defines styles for the lines in the loop box. | +| note | Styles for the note box. | +| noteText | Styles for the text on in the note boxes. | + +### Sample stylesheet + +```css +body { + background: white; +} + +.actor { + stroke: #ccccff; + fill: #ececff; +} +text.actor { + fill: black; + stroke: none; + font-family: Helvetica; +} + +.actor-line { + stroke: grey; +} + +.messageLine0 { + stroke-width: 1.5; + stroke-dasharray: '2 2'; + marker-end: 'url(#arrowhead)'; + stroke: black; +} + +.messageLine1 { + stroke-width: 1.5; + stroke-dasharray: '2 2'; + stroke: black; +} + +#arrowhead { + fill: black; +} + +.messageText { + fill: black; + stroke: none; + font-family: 'trebuchet ms', verdana, arial; + font-size: 14px; +} + +.labelBox { + stroke: #ccccff; + fill: #ececff; +} + +.labelText { + fill: black; + stroke: none; + font-family: 'trebuchet ms', verdana, arial; +} + +.loopText { + fill: black; + stroke: none; + font-family: 'trebuchet ms', verdana, arial; +} + +.loopLine { + stroke-width: 2; + stroke-dasharray: '2 2'; + marker-end: 'url(#arrowhead)'; + stroke: #ccccff; +} + +.note { + stroke: #decc93; + fill: #fff5ad; +} + +.noteText { + fill: black; + stroke: none; + font-family: 'trebuchet ms', verdana, arial; + font-size: 14px; +} +``` + +## Configuration + +Is it possible to adjust the margins for rendering the sequence diagram. + +This is done by defining `mermaid.sequenceConfig` or by the CLI to use a json file with the configuration. +How to use the CLI is described in the [mermaidCLI](../config/mermaidCLI) page. +`mermaid.sequenceConfig` can be set to a JSON string with config parameters or the corresponding object. + +```javascript +mermaid.sequenceConfig = { + diagramMarginX: 50, + diagramMarginY: 10, + boxTextMargin: 5, + noteMargin: 10, + messageMargin: 35, + mirrorActors: true, +}; +``` + +### Possible configuration parameters: + +| Parameter | Description | Default value | +| ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------ | +| mirrorActors | Turns on/off the rendering of actors below the diagram as well as above it | false | +| bottomMarginAdj | Adjusts how far down the graph ended. Wide borders styles with css could generate unwanted clipping which is why this config param exists. | 1 | +| actorFontSize | Sets the font size for the actor's description | 14 | +| actorFontFamily | Sets the font family for the actor's description | "Open Sans", sans-serif | +| actorFontWeight | Sets the font weight for the actor's description | "Open Sans", sans-serif | +| noteFontSize | Sets the font size for actor-attached notes | 14 | +| noteFontFamily | Sets the font family for actor-attached notes | "trebuchet ms", verdana, arial | +| noteFontWeight | Sets the font weight for actor-attached notes | "trebuchet ms", verdana, arial | +| noteAlign | Sets the text alignment for text in actor-attached notes | center | +| messageFontSize | Sets the font size for actor<->actor messages | 16 | +| messageFontFamily | Sets the font family for actor<->actor messages | "trebuchet ms", verdana, arial | +| messageFontWeight | Sets the font weight for actor<->actor messages | "trebuchet ms", verdana, arial | diff --git a/vdocs/syntax/stateDiagram.md b/vdocs/syntax/stateDiagram.md new file mode 100644 index 000000000..e28819e7a --- /dev/null +++ b/vdocs/syntax/stateDiagram.md @@ -0,0 +1,260 @@ +# State diagrams + +> "A state diagram is a type of diagram used in computer science and related fields to describe the behavior of systems. State diagrams require that the system described is composed of a finite number of states; sometimes, this is indeed the case, while at other times this is a reasonable abstraction." Wikipedia + +Mermaid can render state diagrams. The syntax tries to be compliant with the syntax used in plantUml as this will make it easier for users to share diagrams between mermaid and plantUml. + +```mermaid-example +stateDiagram-v2 + [*] --> Still + Still --> [*] + + Still --> Moving + Moving --> Still + Moving --> Crash + Crash --> [*] +``` + +Older renderer: + +```mermaid-example +stateDiagram + [*] --> Still + Still --> [*] + + Still --> Moving + Moving --> Still + Moving --> Crash + Crash --> [*] +``` + +In state diagrams systems are described in terms of its states and how the systems state can change to another state via a transitions. The example diagram above shows three states **Still**, **Moving** and **Crash**. You start in the state of Still. From Still you can change the state to Moving. In Moving you can change the state either back to Still or to Crash. There is no transition from Still to Crash. + +## States + +A state can be declared in multiple ways. The simplest way is to define a state id as a description. + +```mermaid-example +stateDiagram-v2 + s1 +``` + +Another way is by using the state keyword with a description as per below: + +```mermaid-example +stateDiagram-v2 + state "This is a state description" as s2 +``` + +Another way to define a state with a description is to define the state id followed by a colon and the description: + +```mermaid-example +stateDiagram-v2 + s2 : This is a state description +``` + +## Transitions + +Transitions are path/edges when one state passes into another. This is represented using text arrow, "\-\-\>". + +When you define a transition between two states and the states are not already defined the undefined states are defined with the id from the transition. You can later add descriptions to states defined this way. + +```mermaid-example +stateDiagram-v2 + s1 --> s2 +``` + +It is possible to add text to a transition. To describe what it represents. + +```mermaid-example +stateDiagram-v2 + s1 --> s2: A transition +``` + +## Start and End + +There are two special states indicating the start and stop of the diagram. These are written with the [\*] syntax and the direction of the transition to it defines it either as a start or a stop state. + +```mermaid-example +stateDiagram-v2 + [*] --> s1 + s1 --> [*] +``` + +## Composite states + +In a real world use of state diagrams you often end up with diagrams that are multi-dimensional as one state can +have several internal states. These are called composite states in this terminology. + +In order to define a composite state you need to use the state keyword followed by an id and the body of the composite state between \{\}. See the example below: + +```mermaid-example +stateDiagram-v2 + [*] --> First + state First { + [*] --> second + second --> [*] + } +``` + +You can do this in several layers: + +```mermaid-example +stateDiagram-v2 + [*] --> First + + state First { + [*] --> Second + + state Second { + [*] --> second + second --> Third + + state Third { + [*] --> third + third --> [*] + } + } + } +``` + +You can also define transitions also between composite states: + +```mermaid-example +stateDiagram-v2 + [*] --> First + First --> Second + First --> Third + + state First { + [*] --> fir + fir --> [*] + } + state Second { + [*] --> sec + sec --> [*] + } + state Third { + [*] --> thi + thi --> [*] + } +``` + +_You can not define transitions between internal states belonging to different composite states_ + +## Choice + +Sometimes you need to model a choice between two or more paths, you can do so using <<choice>>. + +```mermaid-example +stateDiagram-v2 + state if_state <<choice>> + [*] --> IsPositive + IsPositive --> if_state + if_state --> False: if n < 0 + if_state --> True : if n >= 0 +``` + +## Forks + +It is possible to specify a fork in the diagram using <<fork>> <<join>>. + +```mermaid-example + stateDiagram-v2 + state fork_state <<fork>> + [*] --> fork_state + fork_state --> State2 + fork_state --> State3 + + state join_state <<join>> + State2 --> join_state + State3 --> join_state + join_state --> State4 + State4 --> [*] +``` + +## Notes + +Sometimes nothing says it better then a Post-it note. That is also the case in state diagrams. + +Here you can choose to put the note to the _right of_ or to the _left of_ a node. + +```mermaid-example + stateDiagram-v2 + State1: The state with a note + note right of State1 + Important information! You can write + notes. + end note + State1 --> State2 + note left of State2 : This is the note to the left. +``` + +## Concurrency + +As in plantUml you can specify concurrency using the -- symbol. + +```mermaid-example +stateDiagram-v2 + [*] --> Active + + state Active { + [*] --> NumLockOff + NumLockOff --> NumLockOn : EvNumLockPressed + NumLockOn --> NumLockOff : EvNumLockPressed + -- + [*] --> CapsLockOff + CapsLockOff --> CapsLockOn : EvCapsLockPressed + CapsLockOn --> CapsLockOff : EvCapsLockPressed + -- + [*] --> ScrollLockOff + ScrollLockOff --> ScrollLockOn : EvScrollLockPressed + ScrollLockOn --> ScrollLockOff : EvScrollLockPressed + } +``` + +## Setting the direction of the diagram + +With state diagrams you can use the direction statement to set the direction which the diagram will render like in this example. + +```mermaid-example +stateDiagram + direction LR + [*] --> A + A --> B + B --> C + state B { + direction LR + a --> b + } + B --> D +``` + +## Comments + +Comments can be entered within a state diagram chart, which will be ignored by the parser. Comments need to be on their own line, and must be prefaced with `%%` (double percent signs). Any text after the start of the comment to the next newline will be treated as a comment, including any diagram syntax + +```mmd +stateDiagram-v2 + [*] --> Still + Still --> [*] +%% this is a comment + Still --> Moving + Moving --> Still %% another comment + Moving --> Crash + Crash --> [*] +``` + +## Styling + +Styling of the a state diagram is done by defining a number of css classes. During rendering these classes are extracted from the file located at src/themes/state.scss + +## Spaces in state names + +Spaces can be added to a state by defining it at the top and referencing the acronym later. + +```mermaid-example +stateDiagram-v2 + Yswsii: Your state with spaces in it + [*] --> Yswsii +``` diff --git a/vdocs/syntax/userJourney.md b/vdocs/syntax/userJourney.md new file mode 100644 index 000000000..3476088ab --- /dev/null +++ b/vdocs/syntax/userJourney.md @@ -0,0 +1,22 @@ +# User Journey Diagram + +> User journeys describe at a high level of detail exactly what steps different users take to complete a specific task within a system, application or website. This technique shows the current (as-is) user workflow, and reveals areas of improvement for the to-be workflow. (Wikipedia) + +Mermaid can render user journey diagrams: + +```mermaid-example +journey + title My working day + section Go to work + Make tea: 5: Me + Go upstairs: 3: Me + Do work: 1: Me, Cat + section Go home + Go downstairs: 5: Me + Sit down: 5: Me +``` + +Each user journey is split into sections, these describe the part of the task +the user is trying to complete. + +Tasks syntax is `Task name: <score>: <comma separated list of actors>` diff --git a/vdocs/vite.config.ts b/vdocs/vite.config.ts new file mode 100644 index 000000000..2214d29a0 --- /dev/null +++ b/vdocs/vite.config.ts @@ -0,0 +1,11 @@ +import { defineConfig } from 'vite'; +import { SearchPlugin } from 'vitepress-plugin-search'; + +export default defineConfig({ + plugins: [SearchPlugin()], + resolve: { + alias: { + mermaid: 'https://unpkg.com/mermaid@9.1.7/dist/mermaid.esm.min.mjs', + }, + }, +}); diff --git a/yarn.lock b/yarn.lock index afcda016f..b2260c946 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,6 +2,129 @@ # yarn lockfile v1 +"@algolia/autocomplete-core@1.7.1": + version "1.7.1" + resolved "https://registry.yarnpkg.com/@algolia/autocomplete-core/-/autocomplete-core-1.7.1.tgz#025538b8a9564a9f3dd5bcf8a236d6951c76c7d1" + integrity sha512-eiZw+fxMzNQn01S8dA/hcCpoWCOCwcIIEUtHHdzN5TGB3IpzLbuhqFeTfh2OUhhgkE8Uo17+wH+QJ/wYyQmmzg== + dependencies: + "@algolia/autocomplete-shared" "1.7.1" + +"@algolia/autocomplete-preset-algolia@1.7.1": + version "1.7.1" + resolved "https://registry.yarnpkg.com/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.7.1.tgz#7dadc5607097766478014ae2e9e1c9c4b3f957c8" + integrity sha512-pJwmIxeJCymU1M6cGujnaIYcY3QPOVYZOXhFkWVM7IxKzy272BwCvMFMyc5NpG/QmiObBxjo7myd060OeTNJXg== + dependencies: + "@algolia/autocomplete-shared" "1.7.1" + +"@algolia/autocomplete-shared@1.7.1": + version "1.7.1" + resolved "https://registry.yarnpkg.com/@algolia/autocomplete-shared/-/autocomplete-shared-1.7.1.tgz#95c3a0b4b78858fed730cf9c755b7d1cd0c82c74" + integrity sha512-eTmGVqY3GeyBTT8IWiB2K5EuURAqhnumfktAEoHxfDY2o7vg2rSnO16ZtIG0fMgt3py28Vwgq42/bVEuaQV7pg== + +"@algolia/cache-browser-local-storage@4.14.2": + version "4.14.2" + resolved "https://registry.yarnpkg.com/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.14.2.tgz#d5b1b90130ca87c6321de876e167df9ec6524936" + integrity sha512-FRweBkK/ywO+GKYfAWbrepewQsPTIEirhi1BdykX9mxvBPtGNKccYAxvGdDCumU1jL4r3cayio4psfzKMejBlA== + dependencies: + "@algolia/cache-common" "4.14.2" + +"@algolia/cache-common@4.14.2": + version "4.14.2" + resolved "https://registry.yarnpkg.com/@algolia/cache-common/-/cache-common-4.14.2.tgz#b946b6103c922f0c06006fb6929163ed2c67d598" + integrity sha512-SbvAlG9VqNanCErr44q6lEKD2qoK4XtFNx9Qn8FK26ePCI8I9yU7pYB+eM/cZdS9SzQCRJBbHUumVr4bsQ4uxg== + +"@algolia/cache-in-memory@4.14.2": + version "4.14.2" + resolved "https://registry.yarnpkg.com/@algolia/cache-in-memory/-/cache-in-memory-4.14.2.tgz#88e4a21474f9ac05331c2fa3ceb929684a395a24" + integrity sha512-HrOukWoop9XB/VFojPv1R5SVXowgI56T9pmezd/djh2JnVN/vXswhXV51RKy4nCpqxyHt/aGFSq2qkDvj6KiuQ== + dependencies: + "@algolia/cache-common" "4.14.2" + +"@algolia/client-account@4.14.2": + version "4.14.2" + resolved "https://registry.yarnpkg.com/@algolia/client-account/-/client-account-4.14.2.tgz#b76ac1ba9ea71e8c3f77a1805b48350dc0728a16" + integrity sha512-WHtriQqGyibbb/Rx71YY43T0cXqyelEU0lB2QMBRXvD2X0iyeGl4qMxocgEIcbHyK7uqE7hKgjT8aBrHqhgc1w== + dependencies: + "@algolia/client-common" "4.14.2" + "@algolia/client-search" "4.14.2" + "@algolia/transporter" "4.14.2" + +"@algolia/client-analytics@4.14.2": + version "4.14.2" + resolved "https://registry.yarnpkg.com/@algolia/client-analytics/-/client-analytics-4.14.2.tgz#ca04dcaf9a78ee5c92c5cb5e9c74cf031eb2f1fb" + integrity sha512-yBvBv2mw+HX5a+aeR0dkvUbFZsiC4FKSnfqk9rrfX+QrlNOKEhCG0tJzjiOggRW4EcNqRmaTULIYvIzQVL2KYQ== + dependencies: + "@algolia/client-common" "4.14.2" + "@algolia/client-search" "4.14.2" + "@algolia/requester-common" "4.14.2" + "@algolia/transporter" "4.14.2" + +"@algolia/client-common@4.14.2": + version "4.14.2" + resolved "https://registry.yarnpkg.com/@algolia/client-common/-/client-common-4.14.2.tgz#e1324e167ffa8af60f3e8bcd122110fd0bfd1300" + integrity sha512-43o4fslNLcktgtDMVaT5XwlzsDPzlqvqesRi4MjQz2x4/Sxm7zYg5LRYFol1BIhG6EwxKvSUq8HcC/KxJu3J0Q== + dependencies: + "@algolia/requester-common" "4.14.2" + "@algolia/transporter" "4.14.2" + +"@algolia/client-personalization@4.14.2": + version "4.14.2" + resolved "https://registry.yarnpkg.com/@algolia/client-personalization/-/client-personalization-4.14.2.tgz#656bbb6157a3dd1a4be7de65e457fda136c404ec" + integrity sha512-ACCoLi0cL8CBZ1W/2juehSltrw2iqsQBnfiu/Rbl9W2yE6o2ZUb97+sqN/jBqYNQBS+o0ekTMKNkQjHHAcEXNw== + dependencies: + "@algolia/client-common" "4.14.2" + "@algolia/requester-common" "4.14.2" + "@algolia/transporter" "4.14.2" + +"@algolia/client-search@4.14.2": + version "4.14.2" + resolved "https://registry.yarnpkg.com/@algolia/client-search/-/client-search-4.14.2.tgz#357bdb7e640163f0e33bad231dfcc21f67dc2e92" + integrity sha512-L5zScdOmcZ6NGiVbLKTvP02UbxZ0njd5Vq9nJAmPFtjffUSOGEp11BmD2oMJ5QvARgx2XbX4KzTTNS5ECYIMWw== + dependencies: + "@algolia/client-common" "4.14.2" + "@algolia/requester-common" "4.14.2" + "@algolia/transporter" "4.14.2" + +"@algolia/logger-common@4.14.2": + version "4.14.2" + resolved "https://registry.yarnpkg.com/@algolia/logger-common/-/logger-common-4.14.2.tgz#b74b3a92431f92665519d95942c246793ec390ee" + integrity sha512-/JGlYvdV++IcMHBnVFsqEisTiOeEr6cUJtpjz8zc0A9c31JrtLm318Njc72p14Pnkw3A/5lHHh+QxpJ6WFTmsA== + +"@algolia/logger-console@4.14.2": + version "4.14.2" + resolved "https://registry.yarnpkg.com/@algolia/logger-console/-/logger-console-4.14.2.tgz#ec49cb47408f5811d4792598683923a800abce7b" + integrity sha512-8S2PlpdshbkwlLCSAB5f8c91xyc84VM9Ar9EdfE9UmX+NrKNYnWR1maXXVDQQoto07G1Ol/tYFnFVhUZq0xV/g== + dependencies: + "@algolia/logger-common" "4.14.2" + +"@algolia/requester-browser-xhr@4.14.2": + version "4.14.2" + resolved "https://registry.yarnpkg.com/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.14.2.tgz#a2cd4d9d8d90d53109cc7f3682dc6ebf20f798f2" + integrity sha512-CEh//xYz/WfxHFh7pcMjQNWgpl4wFB85lUMRyVwaDPibNzQRVcV33YS+63fShFWc2+42YEipFGH2iPzlpszmDw== + dependencies: + "@algolia/requester-common" "4.14.2" + +"@algolia/requester-common@4.14.2": + version "4.14.2" + resolved "https://registry.yarnpkg.com/@algolia/requester-common/-/requester-common-4.14.2.tgz#bc4e9e5ee16c953c0ecacbfb334a33c30c28b1a1" + integrity sha512-73YQsBOKa5fvVV3My7iZHu1sUqmjjfs9TteFWwPwDmnad7T0VTCopttcsM3OjLxZFtBnX61Xxl2T2gmG2O4ehg== + +"@algolia/requester-node-http@4.14.2": + version "4.14.2" + resolved "https://registry.yarnpkg.com/@algolia/requester-node-http/-/requester-node-http-4.14.2.tgz#7c1223a1785decaab1def64c83dade6bea45e115" + integrity sha512-oDbb02kd1o5GTEld4pETlPZLY0e+gOSWjWMJHWTgDXbv9rm/o2cF7japO6Vj1ENnrqWvLBmW1OzV9g6FUFhFXg== + dependencies: + "@algolia/requester-common" "4.14.2" + +"@algolia/transporter@4.14.2": + version "4.14.2" + resolved "https://registry.yarnpkg.com/@algolia/transporter/-/transporter-4.14.2.tgz#77c069047fb1a4359ee6a51f51829508e44a1e3d" + integrity sha512-t89dfQb2T9MFQHidjHcfhh6iGMNwvuKUvojAj+JsrHAGbuSy7yE4BylhLX6R0Q1xYRoC4Vvv+O5qIw/LdnQfsQ== + dependencies: + "@algolia/cache-common" "4.14.2" + "@algolia/logger-common" "4.14.2" + "@algolia/requester-common" "4.14.2" + "@applitools/dom-capture@11.1.1": version "11.1.1" resolved "https://registry.yarnpkg.com/@applitools/dom-capture/-/dom-capture-11.1.1.tgz#5bd61638dcacc224eaee876b1541bae7af339df4" @@ -689,7 +812,7 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.13.tgz#5b2dd21cae4a2c5145f1fbd8ca103f9313d3b7e4" integrity sha512-dgXcIfMuQ0kgzLB2b9tRZs7TTFFaGM2AbtA4fJgUUYukzGH4jwsS7hzQHEGs67jdehpm22vkgKwvbU+aEflgwg== -"@babel/parser@^7.19.1": +"@babel/parser@^7.16.4", "@babel/parser@^7.19.1": version "7.19.1" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.19.1.tgz#6f6d6c2e621aad19a92544cc217ed13f1aac5b4c" integrity sha512-h7RCSorm1DdTVGJf3P2Mhj3kdnkmF/EiysUkzS2TdgAYqyjFdMQJbVuXOBej2SBJaXan/lIVtT6KkGbyyq753A== @@ -1754,6 +1877,29 @@ debug "^3.1.0" lodash.once "^4.1.1" +"@docsearch/css@3.2.1", "@docsearch/css@^3.2.1": + version "3.2.1" + resolved "https://registry.yarnpkg.com/@docsearch/css/-/css-3.2.1.tgz#c05d7818b0e43b42f9efa2d82a11c36606b37b27" + integrity sha512-gaP6TxxwQC+K8D6TRx5WULUWKrcbzECOPA2KCVMuI+6C7dNiGUk5yXXzVhc5sld79XKYLnO9DRTI4mjXDYkh+g== + +"@docsearch/js@^3.2.1": + version "3.2.1" + resolved "https://registry.yarnpkg.com/@docsearch/js/-/js-3.2.1.tgz#d6856fb6223c7a47091640264d5144d59806bc30" + integrity sha512-H1PekEtSeS0msetR2YGGey2w7jQ2wAKfGODJvQTygSwMgUZ+2DHpzUgeDyEBIXRIfaBcoQneqrzsljM62pm6Xg== + dependencies: + "@docsearch/react" "3.2.1" + preact "^10.0.0" + +"@docsearch/react@3.2.1": + version "3.2.1" + resolved "https://registry.yarnpkg.com/@docsearch/react/-/react-3.2.1.tgz#112ad88db07367fa6fd933d67d58421d8d8289aa" + integrity sha512-EzTQ/y82s14IQC5XVestiK/kFFMe2aagoYFuTAIfIb/e+4FU7kSMKonRtLwsCiLQHmjvNQq+HO+33giJ5YVtaQ== + dependencies: + "@algolia/autocomplete-core" "1.7.1" + "@algolia/autocomplete-preset-algolia" "1.7.1" + "@docsearch/css" "3.2.1" + algoliasearch "^4.0.0" + "@es-joy/jsdoccomment@~0.31.0": version "0.31.0" resolved "https://registry.yarnpkg.com/@es-joy/jsdoccomment/-/jsdoccomment-0.31.0.tgz#dbc342cc38eb6878c12727985e693eaef34302bc" @@ -2412,6 +2558,11 @@ resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.6.tgz#250a7b16c3b91f672a24552ec64678eeb1d3a08d" integrity sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ== +"@types/web-bluetooth@^0.0.15": + version "0.0.15" + resolved "https://registry.yarnpkg.com/@types/web-bluetooth/-/web-bluetooth-0.0.15.tgz#d60330046a6ed8a13b4a53df3813c44942ebdf72" + integrity sha512-w7hEHXnPMEZ+4nGKl/KDRVpxkwYxYExuHOYXyzIzCDzEZ9ZCGMAewulr9IqJu2LR4N37fcnb1XVeuZ09qgOxhA== + "@types/yauzl@^2.9.1": version "2.9.2" resolved "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.9.2.tgz#c48e5d56aff1444409e39fa164b0b4d4552a7b7a" @@ -2546,6 +2697,11 @@ "@typescript-eslint/types" "5.37.0" eslint-visitor-keys "^3.3.0" +"@vitejs/plugin-vue@^3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@vitejs/plugin-vue/-/plugin-vue-3.1.0.tgz#3a423ea6943a450e806da412a911150e928598ed" + integrity sha512-fmxtHPjSOEIRg6vHYDaem+97iwCUg/uSIaTzp98lhELt2ISOQuDo2hbkBdXod0g15IhfPMQmAxh4heUks2zvDA== + "@vitest/coverage-c8@^0.23.2": version "0.23.2" resolved "https://registry.yarnpkg.com/@vitest/coverage-c8/-/coverage-c8-0.23.2.tgz#48bf6ea81a7ce57abf539361d5a6762e87c36448" @@ -2561,6 +2717,123 @@ dependencies: sirv "^2.0.2" +"@vue/compiler-core@3.2.39": + version "3.2.39" + resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.2.39.tgz#0d77e635f4bdb918326669155a2dc977c053943e" + integrity sha512-mf/36OWXqWn0wsC40nwRRGheR/qoID+lZXbIuLnr4/AngM0ov8Xvv8GHunC0rKRIkh60bTqydlqTeBo49rlbqw== + dependencies: + "@babel/parser" "^7.16.4" + "@vue/shared" "3.2.39" + estree-walker "^2.0.2" + source-map "^0.6.1" + +"@vue/compiler-dom@3.2.39": + version "3.2.39" + resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.2.39.tgz#bd69d35c1a48fe2cea4ab9e96d2a3a735d146fdf" + integrity sha512-HMFI25Be1C8vLEEv1hgEO1dWwG9QQ8LTTPmCkblVJY/O3OvWx6r1+zsox5mKPMGvqYEZa6l8j+xgOfUspgo7hw== + dependencies: + "@vue/compiler-core" "3.2.39" + "@vue/shared" "3.2.39" + +"@vue/compiler-sfc@3.2.39": + version "3.2.39" + resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.2.39.tgz#8fe29990f672805b7c5a2ecfa5b05e681c862ea2" + integrity sha512-fqAQgFs1/BxTUZkd0Vakn3teKUt//J3c420BgnYgEOoVdTwYpBTSXCMJ88GOBCylmUBbtquGPli9tVs7LzsWIA== + dependencies: + "@babel/parser" "^7.16.4" + "@vue/compiler-core" "3.2.39" + "@vue/compiler-dom" "3.2.39" + "@vue/compiler-ssr" "3.2.39" + "@vue/reactivity-transform" "3.2.39" + "@vue/shared" "3.2.39" + estree-walker "^2.0.2" + magic-string "^0.25.7" + postcss "^8.1.10" + source-map "^0.6.1" + +"@vue/compiler-ssr@3.2.39": + version "3.2.39" + resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.2.39.tgz#4f3bfb535cb98b764bee45e078700e03ccc60633" + integrity sha512-EoGCJ6lincKOZGW+0Ky4WOKsSmqL7hp1ZYgen8M7u/mlvvEQUaO9tKKOy7K43M9U2aA3tPv0TuYYQFrEbK2eFQ== + dependencies: + "@vue/compiler-dom" "3.2.39" + "@vue/shared" "3.2.39" + +"@vue/devtools-api@^6.2.1": + version "6.2.1" + resolved "https://registry.yarnpkg.com/@vue/devtools-api/-/devtools-api-6.2.1.tgz#6f2948ff002ec46df01420dfeff91de16c5b4092" + integrity sha512-OEgAMeQXvCoJ+1x8WyQuVZzFo0wcyCmUR3baRVLmKBo1LmYZWMlRiXlux5jd0fqVJu6PfDbOrZItVqUEzLobeQ== + +"@vue/reactivity-transform@3.2.39": + version "3.2.39" + resolved "https://registry.yarnpkg.com/@vue/reactivity-transform/-/reactivity-transform-3.2.39.tgz#da6ae6c8fd77791b9ae21976720d116591e1c4aa" + integrity sha512-HGuWu864zStiWs9wBC6JYOP1E00UjMdDWIG5W+FpUx28hV3uz9ODOKVNm/vdOy/Pvzg8+OcANxAVC85WFBbl3A== + dependencies: + "@babel/parser" "^7.16.4" + "@vue/compiler-core" "3.2.39" + "@vue/shared" "3.2.39" + estree-walker "^2.0.2" + magic-string "^0.25.7" + +"@vue/reactivity@3.2.39": + version "3.2.39" + resolved "https://registry.yarnpkg.com/@vue/reactivity/-/reactivity-3.2.39.tgz#e6e3615fe2288d4232b104640ddabd0729a78c80" + integrity sha512-vlaYX2a3qMhIZfrw3Mtfd+BuU+TZmvDrPMa+6lpfzS9k/LnGxkSuf0fhkP0rMGfiOHPtyKoU9OJJJFGm92beVQ== + dependencies: + "@vue/shared" "3.2.39" + +"@vue/runtime-core@3.2.39": + version "3.2.39" + resolved "https://registry.yarnpkg.com/@vue/runtime-core/-/runtime-core-3.2.39.tgz#dc1faccab11b3e81197aba33fb30c9447c1d2c84" + integrity sha512-xKH5XP57JW5JW+8ZG1khBbuLakINTgPuINKL01hStWLTTGFOrM49UfCFXBcFvWmSbci3gmJyLl2EAzCaZWsx8g== + dependencies: + "@vue/reactivity" "3.2.39" + "@vue/shared" "3.2.39" + +"@vue/runtime-dom@3.2.39": + version "3.2.39" + resolved "https://registry.yarnpkg.com/@vue/runtime-dom/-/runtime-dom-3.2.39.tgz#4a8cb132bcef316e8151c5ed07fc7272eb064614" + integrity sha512-4G9AEJP+sLhsqf5wXcyKVWQKUhI+iWfy0hWQgea+CpaTD7BR0KdQzvoQdZhwCY6B3oleSyNLkLAQwm0ya/wNoA== + dependencies: + "@vue/runtime-core" "3.2.39" + "@vue/shared" "3.2.39" + csstype "^2.6.8" + +"@vue/server-renderer@3.2.39": + version "3.2.39" + resolved "https://registry.yarnpkg.com/@vue/server-renderer/-/server-renderer-3.2.39.tgz#4358292d925233b0d8b54cf0513eaece8b2351c5" + integrity sha512-1yn9u2YBQWIgytFMjz4f/t0j43awKytTGVptfd3FtBk76t1pd8mxbek0G/DrnjJhd2V7mSTb5qgnxMYt8Z5iSQ== + dependencies: + "@vue/compiler-ssr" "3.2.39" + "@vue/shared" "3.2.39" + +"@vue/shared@3.2.39": + version "3.2.39" + resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.2.39.tgz#302df167559a1a5156da162d8cc6760cef67f8e3" + integrity sha512-D3dl2ZB9qE6mTuWPk9RlhDeP1dgNRUKC3NJxji74A4yL8M2MwlhLKUC/49WHjrNzSPug58fWx/yFbaTzGAQSBw== + +"@vueuse/core@^9.1.1": + version "9.2.0" + resolved "https://registry.yarnpkg.com/@vueuse/core/-/core-9.2.0.tgz#58e3588b9bc5a69010aa9104b00056ee9ebff738" + integrity sha512-/MZ6qpz6uSyaXrtoeBWQzAKRG3N7CvfVWvQxiM3ei3Xe5ydOjjtVbo7lGl9p8dECV93j7W8s63A8H0kFLpLyxg== + dependencies: + "@types/web-bluetooth" "^0.0.15" + "@vueuse/metadata" "9.2.0" + "@vueuse/shared" "9.2.0" + vue-demi "*" + +"@vueuse/metadata@9.2.0": + version "9.2.0" + resolved "https://registry.yarnpkg.com/@vueuse/metadata/-/metadata-9.2.0.tgz#6bf7c9c44b9f5ece405837226a0e04a997994458" + integrity sha512-exN4KE6iquxDCdt72BgEhb3tlOpECtD61AUdXnUqBTIUCl70x1Ar/QXo3bYcvxmdMS2/peQyfeTzBjRTpvL5xw== + +"@vueuse/shared@9.2.0": + version "9.2.0" + resolved "https://registry.yarnpkg.com/@vueuse/shared/-/shared-9.2.0.tgz#7831051b2c1d01c3413c749468ee53a86024510e" + integrity sha512-NnRp/noSWuXW0dKhZK5D0YLrDi0nmZ18UeEgwXQq7Ul5TTP93lcNnKjrHtd68j2xFB/l59yPGFlCryL692bnrA== + dependencies: + vue-demi "*" + "@wdio/config@7.16.11": version "7.16.11" resolved "https://registry.yarnpkg.com/@wdio/config/-/config-7.16.11.tgz#c35a0efb9c7ec6c80e3324e9818f636010087e97" @@ -2737,6 +3010,26 @@ ajv@^8.11.0: require-from-string "^2.0.2" uri-js "^4.2.2" +algoliasearch@^4.0.0: + version "4.14.2" + resolved "https://registry.yarnpkg.com/algoliasearch/-/algoliasearch-4.14.2.tgz#63f142583bfc3a9bd3cd4a1b098bf6fe58e56f6c" + integrity sha512-ngbEQonGEmf8dyEh5f+uOIihv4176dgbuOZspiuhmTTBRBuzWu3KCGHre6uHj5YyuC7pNvQGzB6ZNJyZi0z+Sg== + dependencies: + "@algolia/cache-browser-local-storage" "4.14.2" + "@algolia/cache-common" "4.14.2" + "@algolia/cache-in-memory" "4.14.2" + "@algolia/client-account" "4.14.2" + "@algolia/client-analytics" "4.14.2" + "@algolia/client-common" "4.14.2" + "@algolia/client-personalization" "4.14.2" + "@algolia/client-search" "4.14.2" + "@algolia/logger-common" "4.14.2" + "@algolia/logger-console" "4.14.2" + "@algolia/requester-browser-xhr" "4.14.2" + "@algolia/requester-common" "4.14.2" + "@algolia/requester-node-http" "4.14.2" + "@algolia/transporter" "4.14.2" + amdefine@>=0.0.4: version "1.0.1" resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" @@ -3079,6 +3372,11 @@ body-parser@1.20.0: type-is "~1.6.18" unpipe "1.0.0" +body-scroll-lock@^4.0.0-beta.0: + version "4.0.0-beta.0" + resolved "https://registry.yarnpkg.com/body-scroll-lock/-/body-scroll-lock-4.0.0-beta.0.tgz#4f78789d10e6388115c0460cd6d7d4dd2bbc4f7e" + integrity sha512-a7tP5+0Mw3YlUJcGAKUqIBkYYGlYxk2fnCasq/FUph1hadxlTRjF+gAcZksxANnaMnALjxEddmSi/H3OR8ugcQ== + body@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/body/-/body-5.1.0.tgz#e4ba0ce410a46936323367609ecb4e6553125069" @@ -3979,6 +4277,11 @@ cssstyle@^2.3.0: dependencies: cssom "~0.3.6" +csstype@^2.6.8: + version "2.6.21" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.21.tgz#2efb85b7cc55c80017c66a5ad7cbd931fda3a90e" + integrity sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w== + cypress-image-snapshot@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/cypress-image-snapshot/-/cypress-image-snapshot-4.0.1.tgz#59084e713a8d03500c8e053ad7a76f3f18609648" @@ -4836,15 +5139,6 @@ esbuild-freebsd-arm64@0.15.8: resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.8.tgz#0efe2741fbcaa2cfd31b9f94bd3ca7385b68c469" integrity sha512-2xp2UlljMvX8HExtcg7VHaeQk8OBU0CSl1j18B5CcZmSDkLF9p3utuMXIopG3a08fr9Hv+Dz6+seSXUow/G51w== -esbuild-jest@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/esbuild-jest/-/esbuild-jest-0.5.0.tgz#7a9964bfdecafca3b675a8aeb08193bcdba8b9d7" - integrity sha512-AMZZCdEpXfNVOIDvURlqYyHwC8qC1/BFjgsrOiSL1eyiIArVtHL8YAC83Shhn16cYYoAWEW17yZn0W/RJKJKHQ== - dependencies: - "@babel/core" "^7.12.17" - "@babel/plugin-transform-modules-commonjs" "^7.12.13" - babel-jest "^26.6.3" - esbuild-linux-32@0.15.8: version "0.15.8" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.8.tgz#6fc98659105da5c0d1fedfce3b7b9fa24ebee0d4" @@ -4920,7 +5214,7 @@ esbuild-windows-arm64@0.15.8: resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.8.tgz#1d75235290bf23a111e6c0b03febd324af115cb1" integrity sha512-dbpAb0VyPaUs9mgw65KRfQ9rqiWCHpNzrJusoPu+LpEoswosjt/tFxN7cd2l68AT4qWdBkzAjDLRon7uqMeWcg== -esbuild@^0.15.8: +esbuild@^0.15.6, esbuild@^0.15.8: version "0.15.8" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.8.tgz#75daa25d03f6dd9cc9355030eba2b93555b42cd4" integrity sha512-Remsk2dmr1Ia65sU+QasE6svJbsHe62lzR+CnjpUvbZ+uSYo1SitiOWPRfZQkCu82YWZBBKXiD/j0i//XWMZ+Q== @@ -5183,6 +5477,11 @@ estraverse@~1.5.0: resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-1.5.1.tgz#867a3e8e58a9f84618afb6c2ddbcd916b7cbaf71" integrity sha1-hno+jlip+EYYr7bC3bzZFrfLr3E= +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== + esutils@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" @@ -7274,6 +7573,13 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" +magic-string@^0.25.7: + version "0.25.9" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.9.tgz#de7f9faf91ef8a1c91d02c2e5314c8277dbcdd1c" + integrity sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ== + dependencies: + sourcemap-codec "^1.4.8" + make-dir@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" @@ -8005,6 +8311,11 @@ npm-run-path@^5.1.0: dependencies: path-key "^4.0.0" +nprogress@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/nprogress/-/nprogress-0.2.0.tgz#cb8f34c53213d895723fcbab907e9422adbcafb1" + integrity sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA== + null-check@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/null-check/-/null-check-1.0.0.tgz#977dffd7176012b9ec30d2a39db5cf72a0439edd" @@ -8515,7 +8826,7 @@ postcss-value-parser@4.1.0: resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb" integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== -postcss@^8.4.16: +postcss@^8.1.10, postcss@^8.4.16: version "8.4.16" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.16.tgz#33a1d675fac39941f5f445db0de4db2b6e01d43c" integrity sha512-ipHE1XBvKzm5xI7hiHCZJCSugxvsdq2mPnsq5+UF+VHCjiBvtDrlxJfMBToWaP9D5XlgNmcFGqoHmUn0EYEaRQ== @@ -8524,6 +8835,11 @@ postcss@^8.4.16: picocolors "^1.0.0" source-map-js "^1.0.2" +preact@^10.0.0: + version "10.11.0" + resolved "https://registry.yarnpkg.com/preact/-/preact-10.11.0.tgz#26af45a0613f4e17a197cc39d7a1ea23e09b2532" + integrity sha512-Fk6+vB2kb6mSJfDgODq0YDhMfl0HNtK5+Uc9QqECO4nlyPAQwCI+BKyWO//idA7ikV7o+0Fm6LQmNuQi1wXI1w== + prelude-ls@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" @@ -9391,6 +9707,15 @@ shell-quote@^1.7.3: resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.3.tgz#aa40edac170445b9a431e17bb62c0b881b9c4123" integrity sha512-Vpfqwm4EnqGdlsBFNmHhxhElJYrdfcxPThu+ryKS5J8L/fhAwLazFZtq+S+TWZ9ANj2piSQLGj6NQg+lKPmxrw== +shiki@^0.11.1: + version "0.11.1" + resolved "https://registry.yarnpkg.com/shiki/-/shiki-0.11.1.tgz#df0f719e7ab592c484d8b73ec10e215a503ab8cc" + integrity sha512-EugY9VASFuDqOexOgXR18ZV+TbFrQHeCpEYaXamO+SZlsnT/2LxuLBX25GGtIrwaEVFXUAbUQ601SWE2rMwWHA== + dependencies: + jsonc-parser "^3.0.0" + vscode-oniguruma "^1.6.1" + vscode-textmate "^6.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" @@ -9540,6 +9865,11 @@ source-map@~0.1.33: dependencies: amdefine ">=0.0.4" +sourcemap-codec@^1.4.8: + version "1.4.8" + resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" + integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== + space-separated-tokens@^1.0.0: version "1.1.5" resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz#85f32c3d10d9682007e917414ddc5c26d1aa6899" @@ -10730,6 +11060,44 @@ vinyl@^2.0.0, vinyl@^2.1.0: optionalDependencies: fsevents "~2.3.2" +vite@^3.1.0: + version "3.1.3" + resolved "https://registry.yarnpkg.com/vite/-/vite-3.1.3.tgz#b2a0821c11aae124bb7618f8036913c689afcc59" + integrity sha512-/3XWiktaopByM5bd8dqvHxRt5EEgRikevnnrpND0gRfNkrMrPaGGexhtLCzv15RcCMtV2CLw+BPas8YFeSG0KA== + dependencies: + esbuild "^0.15.6" + postcss "^8.4.16" + resolve "^1.22.1" + rollup "~2.78.0" + optionalDependencies: + fsevents "~2.3.2" + +vitepress-plugin-mermaid@^2.0.7: + version "2.0.7" + resolved "https://registry.yarnpkg.com/vitepress-plugin-mermaid/-/vitepress-plugin-mermaid-2.0.7.tgz#6949c301f39a08c168a8836832ab4ef1e92699a1" + integrity sha512-VIi+pCvi7StdMjZvJtIsg90k44eLtG/NGkeKKvu17G/7AqKVIlt3Cb23KogdHiSlS2f4Ku70a2JAH1x0aEDM4w== + +vitepress-plugin-search@^1.0.4-alpha.7: + version "1.0.4-alpha.7" + resolved "https://registry.yarnpkg.com/vitepress-plugin-search/-/vitepress-plugin-search-1.0.4-alpha.7.tgz#b0514b5fdb94fb6449465d9ab3207dc68cfc1333" + integrity sha512-2Ice0wP93lQRVFh9U0atZLMoGggik0BtFsz+CuuWVlUhHkw7qxgRwtGarTRKijht4G8gRQ0N6Qrw56pcCGXoYw== + +vitepress@^1.0.0-alpha.15: + version "1.0.0-alpha.15" + resolved "https://registry.yarnpkg.com/vitepress/-/vitepress-1.0.0-alpha.15.tgz#26ff8a8b5bae298ac6e47e5fec20d873a3a5960a" + integrity sha512-+pHJQCpnv0wVgLRyonisrj7Y77PVhbns2nTLxV9GkH3T+RTY/W2JmRatzBg5WciMaPyO8Ms6F3YElO5PULVv3w== + dependencies: + "@docsearch/css" "^3.2.1" + "@docsearch/js" "^3.2.1" + "@vitejs/plugin-vue" "^3.1.0" + "@vue/devtools-api" "^6.2.1" + "@vueuse/core" "^9.1.1" + body-scroll-lock "^4.0.0-beta.0" + nprogress "^0.2.0" + shiki "^0.11.1" + vite "^3.1.0" + vue "^3.2.38" + vitest@0.23.2: version "0.23.2" resolved "https://registry.yarnpkg.com/vitest/-/vitest-0.23.2.tgz#f978de0f2ada1b7c5ff8dc479ce75b976957ff19" @@ -10798,11 +11166,26 @@ vscode-nls@^5.0.0: resolved "https://registry.yarnpkg.com/vscode-nls/-/vscode-nls-5.0.0.tgz#99f0da0bd9ea7cda44e565a74c54b1f2bc257840" integrity sha512-u0Lw+IYlgbEJFF6/qAqG2d1jQmJl0eyAGJHoAJqr2HT4M2BNuQYSEiSE75f52pXHSJm8AlTjnLLbBFPrdz2hpA== +vscode-oniguruma@^1.6.1: + version "1.6.2" + resolved "https://registry.yarnpkg.com/vscode-oniguruma/-/vscode-oniguruma-1.6.2.tgz#aeb9771a2f1dbfc9083c8a7fdd9cccaa3f386607" + integrity sha512-KH8+KKov5eS/9WhofZR8M8dMHWN2gTxjMsG4jd04YhpbPR91fUj7rYQ2/XjeHCJWbg7X++ApRIU9NUwM2vTvLA== + +vscode-textmate@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/vscode-textmate/-/vscode-textmate-6.0.0.tgz#a3777197235036814ac9a92451492f2748589210" + integrity sha512-gu73tuZfJgu+mvCSy4UZwd2JXykjK9zAZsfmDeut5dx/1a7FeTk0XwJsSuqQn+cuMCGVbIBfl+s53X4T19DnzQ== + vscode-uri@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/vscode-uri/-/vscode-uri-3.0.2.tgz#ecfd1d066cb8ef4c3a208decdbab9a8c23d055d0" integrity sha512-jkjy6pjU1fxUvI51P+gCsxg1u2n8LSt0W6KrCNQceaziKzff74GoWmjVG46KieVzybO1sttPQmYfrwSHey7GUA== +vue-demi@*: + version "0.13.11" + resolved "https://registry.yarnpkg.com/vue-demi/-/vue-demi-0.13.11.tgz#7d90369bdae8974d87b1973564ad390182410d99" + integrity sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A== + vue-template-compiler@^2.5.16: version "2.6.14" resolved "https://registry.yarnpkg.com/vue-template-compiler/-/vue-template-compiler-2.6.14.tgz#a2f0e7d985670d42c9c9ee0d044fed7690f4f763" @@ -10811,6 +11194,17 @@ vue-template-compiler@^2.5.16: de-indent "^1.0.2" he "^1.1.0" +vue@^3.2.38: + version "3.2.39" + resolved "https://registry.yarnpkg.com/vue/-/vue-3.2.39.tgz#de071c56c4c32c41cbd54e55f11404295c0dd62d" + integrity sha512-tRkguhRTw9NmIPXhzk21YFBqXHT2t+6C6wPOgQ50fcFVWnPdetmRqbmySRHznrYjX2E47u0cGlKGcxKZJ38R/g== + dependencies: + "@vue/compiler-dom" "3.2.39" + "@vue/compiler-sfc" "3.2.39" + "@vue/runtime-dom" "3.2.39" + "@vue/server-renderer" "3.2.39" + "@vue/shared" "3.2.39" + w3c-hr-time@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" From 87911f4a568aea973c9affa500c4edb31555f7f5 Mon Sep 17 00:00:00 2001 From: Emerson Bottero <emersonbottero@gmail.com> Date: Fri, 23 Sep 2022 23:33:24 -0300 Subject: [PATCH 02/33] docs: build working --- package.json | 5 +- vdocs/.vitepress/config.ts | 4 +- vdocs/.vitepress/mermaid-markdown-all.ts | 2 +- vdocs/.vitepress/theme/custom.css | 14 +- vdocs/.vitepress/theme/index.ts | 5 + vdocs/syntax/flowchart.md | 26 +- vdocs/vite.config.ts | 30 +- yarn.lock | 4087 +--------------------- 8 files changed, 118 insertions(+), 4055 deletions(-) diff --git a/package.json b/package.json index b166ea4ad..de5d6ab9d 100644 --- a/package.json +++ b/package.json @@ -79,8 +79,7 @@ "lodash": "^4.17.21", "moment-mini": "^2.24.0", "non-layered-tidy-tree-layout": "^2.0.2", - "stylis": "^4.1.2", - "vitepress-plugin-mermaid": "^2.0.7" + "stylis": "^4.1.2" }, "devDependencies": { "@applitools/eyes-cypress": "^3.25.7", @@ -102,7 +101,6 @@ "coveralls": "^3.1.1", "cypress": "^10.0.0", "cypress-image-snapshot": "^4.0.1", - "documentation": "13.2.0", "esbuild": "^0.15.8", "eslint": "^8.23.1", "eslint-config-prettier": "^8.5.0", @@ -131,6 +129,7 @@ "typescript": "^4.8.3", "unist-util-flatmap": "^1.0.0", "vitepress": "^1.0.0-alpha.15", + "vitepress-plugin-mermaid": "^2.0.8", "vitepress-plugin-search": "^1.0.4-alpha.7", "vitest": "^0.23.1" }, diff --git a/vdocs/.vitepress/config.ts b/vdocs/.vitepress/config.ts index 307c1aba3..fec3b2172 100644 --- a/vdocs/.vitepress/config.ts +++ b/vdocs/.vitepress/config.ts @@ -1,5 +1,5 @@ import { version } from '../../package.json'; -import MermaidMarkdown from './mermaid-markdown-all'; +import ExampleMarkdown from './mermaid-markdown-all'; import { defineConfig } from 'vitepress'; export default defineConfig({ @@ -7,7 +7,7 @@ export default defineConfig({ title: 'Mermaid', description: 'Create diagrams and visualizations using text and code.', base: '/mermaid-docs/', - markdown: MermaidMarkdown, + markdown: ExampleMarkdown, themeConfig: { nav: nav(), diff --git a/vdocs/.vitepress/mermaid-markdown-all.ts b/vdocs/.vitepress/mermaid-markdown-all.ts index cf1e02881..fb699e27f 100644 --- a/vdocs/.vitepress/mermaid-markdown-all.ts +++ b/vdocs/.vitepress/mermaid-markdown-all.ts @@ -1,5 +1,5 @@ import { MermaidMarkdown } from 'vitepress-plugin-mermaid'; -const shiki = require('shiki'); +import shiki from 'shiki'; export default { config: async (md) => { diff --git a/vdocs/.vitepress/theme/custom.css b/vdocs/.vitepress/theme/custom.css index d42052792..2e457d61a 100644 --- a/vdocs/.vitepress/theme/custom.css +++ b/vdocs/.vitepress/theme/custom.css @@ -1,13 +1 @@ -@media (min-width: 1440px) { - .VPDoc:not(.has-sidebar) .container[data-v-10119189] { - max-width: 100%; - } - - .VPDoc.has-aside .content-container[data-v-10119189] { - max-width: 100%; - } -} - -:root { - --vp-layout-max-width: 100%; -} +Use this file to add custom css \ No newline at end of file diff --git a/vdocs/.vitepress/theme/index.ts b/vdocs/.vitepress/theme/index.ts index 9ac90444b..832876fae 100644 --- a/vdocs/.vitepress/theme/index.ts +++ b/vdocs/.vitepress/theme/index.ts @@ -1,6 +1,11 @@ import DefaultTheme from 'vitepress/theme'; +import Mermaid from 'vitepress-plugin-mermaid/Mermaid.vue'; // import './custom.css'; export default { ...DefaultTheme, + enhanceApp({ app }) { + // register global components + app.component('Mermaid', Mermaid); + }, }; diff --git a/vdocs/syntax/flowchart.md b/vdocs/syntax/flowchart.md index 41ed2500a..21c0b9145 100644 --- a/vdocs/syntax/flowchart.md +++ b/vdocs/syntax/flowchart.md @@ -637,14 +637,22 @@ It is possible to add icons from fontawesome. The icons are accessed via the syntax fa:#icon class name#. -```mermaid-example +```mmd flowchart TD B["fab:fa-twitter for peace"] B-->C[fa:fa-ban forbidden] - B-->D(fa:fa-spinner); + B-->D(fa:fa-spinner) B-->E(A fa:fa-camera-retro perhaps?) ``` +```mermaid +flowchart TD + B[<img class='fab' src='https://raw.githubusercontent.com/FortAwesome/Font-Awesome/afecf2af5d897b763e5e8e28d46aad2f710ccad6/svgs/brands/twitter.svg'> for peace .] + B-->C[<img class='fab' src='https://raw.githubusercontent.com/FortAwesome/Font-Awesome/afecf2af5d897b763e5e8e28d46aad2f710ccad6/svgs/solid/ban.svg'> forbidden .] + B-->D(<img class='fab' src='https://raw.githubusercontent.com/FortAwesome/Font-Awesome/afecf2af5d897b763e5e8e28d46aad2f710ccad6/svgs/solid/spinner.svg'> .) + B-->E(A <img class='fab' src='https://raw.githubusercontent.com/FortAwesome/Font-Awesome/afecf2af5d897b763e5e8e28d46aad2f710ccad6/svgs/solid/camera-retro.svg'> perhaps? .) +``` + ?> Mermaid is now only compatible with Font Awesome versions 4 and 5. Check that you are using the correct version of Font Awesome. ## Graph declarations with spaces between vertices and link and without semicolon @@ -675,3 +683,17 @@ mermaid.flowchartConfig = { width: 100% } ``` + +<style> +.fa, .fab, .fal, .far, .fas { + width: 16px; + height: 16px; + filter: opacity(0.5); +} + +.dark .fa, .dark .fab, .dark .fal, .dark .far, .dark .fas { + width: 16px; + height: 16px; + filter: invert(1) opacity(0.5); +} +</style> diff --git a/vdocs/vite.config.ts b/vdocs/vite.config.ts index 2214d29a0..dd7ef907a 100644 --- a/vdocs/vite.config.ts +++ b/vdocs/vite.config.ts @@ -1,11 +1,35 @@ +import { node } from 'stylis'; import { defineConfig } from 'vite'; -import { SearchPlugin } from 'vitepress-plugin-search'; +import path from 'path'; +// import { SearchPlugin } from 'vitepress-plugin-search'; + +const virtualModuleId = 'virtual:mermaid-config'; +const resolvedVirtualModuleId = '\0' + virtualModuleId; export default defineConfig({ - plugins: [SearchPlugin()], + plugins: [ + // SearchPlugin(), + { + name: 'fix-virtual', + + async resolveId(id) { + if (id === virtualModuleId) { + return resolvedVirtualModuleId; + } + }, + async load(this, id) { + if (id === resolvedVirtualModuleId) { + return `export default ${JSON.stringify({ + securityLevel: 'loose', + startOnLoad: false, + })};`; + } + }, + }, + ], resolve: { alias: { - mermaid: 'https://unpkg.com/mermaid@9.1.7/dist/mermaid.esm.min.mjs', + mermaid: path.join(__dirname, '../dist/mermaid.esm.min.mjs'), // Use this one to build }, }, }); diff --git a/yarn.lock b/yarn.lock index b2260c946..20d1671d5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -348,451 +348,18 @@ postcss-value-parser "4.1.0" throat "5.0.0" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.18.6": +"@babel/code-frame@^7.0.0": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a" integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q== dependencies: "@babel/highlight" "^7.18.6" -"@babel/compat-data@^7.17.7", "@babel/compat-data@^7.18.8": - version "7.18.8" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.18.8.tgz#2483f565faca607b8535590e84e7de323f27764d" - integrity sha512-HSmX4WZPPK3FUxYp7g2T6EyO8j96HlZJlxmKPSh6KAcqwyDrfx7hKjXpAW/0FhFfTJsR0Yt4lAjLI2coMptIHQ== - -"@babel/compat-data@^7.19.0", "@babel/compat-data@^7.19.1": - version "7.19.1" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.19.1.tgz#72d647b4ff6a4f82878d184613353af1dd0290f9" - integrity sha512-72a9ghR0gnESIa7jBN53U32FOVCEoztyIlKaNoU05zRhEecduGK9L9c3ww7Mp06JiR+0ls0GBPFJQwwtjn9ksg== - -"@babel/core@7.12.3": - version "7.12.3" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.12.3.tgz#1b436884e1e3bff6fb1328dc02b208759de92ad8" - integrity sha512-0qXcZYKZp3/6N2jKYVxZv0aNCsxTSVCiK72DTiTYZAu7sjg73W0/aynWjMbiGd87EQL4WyA8reiJVh92AVla9g== - dependencies: - "@babel/code-frame" "^7.10.4" - "@babel/generator" "^7.12.1" - "@babel/helper-module-transforms" "^7.12.1" - "@babel/helpers" "^7.12.1" - "@babel/parser" "^7.12.3" - "@babel/template" "^7.10.4" - "@babel/traverse" "^7.12.1" - "@babel/types" "^7.12.1" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.1" - json5 "^2.1.2" - lodash "^4.17.19" - resolve "^1.3.2" - semver "^5.4.1" - source-map "^0.5.0" - -"@babel/generator@7.12.1": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.12.1.tgz#0d70be32bdaa03d7c51c8597dda76e0df1f15468" - integrity sha512-DB+6rafIdc9o72Yc3/Ph5h+6hUjeOp66pF0naQBgUFFuPqzQwIlPTm3xZR7YNvduIMtkDIj2t21LSQwnbCrXvg== - dependencies: - "@babel/types" "^7.12.1" - jsesc "^2.5.1" - source-map "^0.5.0" - -"@babel/generator@^7.12.1", "@babel/generator@^7.18.13": - version "7.18.13" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.13.tgz#59550cbb9ae79b8def15587bdfbaa388c4abf212" - integrity sha512-CkPg8ySSPuHTYPJYo7IRALdqyjM9HCbt/3uOBEFbzyGVP6Mn8bwFPB0jX6982JVNBlYzM1nnPkfjuXSOPtQeEQ== - dependencies: - "@babel/types" "^7.18.13" - "@jridgewell/gen-mapping" "^0.3.2" - jsesc "^2.5.1" - -"@babel/generator@^7.19.0": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.19.0.tgz#785596c06425e59334df2ccee63ab166b738419a" - integrity sha512-S1ahxf1gZ2dpoiFgA+ohK9DIpz50bJ0CWs7Zlzb54Z4sG8qmdIrGrVqmy1sAtTVRb+9CU6U8VqT9L0Zj7hxHVg== - dependencies: - "@babel/types" "^7.19.0" - "@jridgewell/gen-mapping" "^0.3.2" - jsesc "^2.5.1" - -"@babel/helper-annotate-as-pure@^7.16.0", "@babel/helper-annotate-as-pure@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz#bb2339a7534a9c128e3102024c60760a3a7f3862" - integrity sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-annotate-as-pure@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz#eaa49f6f80d5a33f9a5dd2276e6d6e451be0a6bb" - integrity sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-builder-binary-assignment-operator-visitor@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.6.tgz#f14d640ed1ee9246fb33b8255f08353acfe70e6a" - integrity sha512-KT10c1oWEpmrIRYnthbzHgoOf6B+Xd6a5yhdbNtdhtG7aO1or5HViuf1TQR36xY/QprXA5nvxO6nAjhJ4y38jw== - dependencies: - "@babel/helper-explode-assignable-expression" "^7.18.6" - "@babel/types" "^7.18.6" - -"@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.9.tgz#69e64f57b524cde3e5ff6cc5a9f4a387ee5563bf" - integrity sha512-tzLCyVmqUiFlcFoAPLA/gL9TeYrF61VLNtb+hvkuVaB5SUjW7jcfrglBIX1vUIoT7CLP3bBlIMeyEsIl2eFQNg== - dependencies: - "@babel/compat-data" "^7.18.8" - "@babel/helper-validator-option" "^7.18.6" - browserslist "^4.20.2" - semver "^6.3.0" - -"@babel/helper-compilation-targets@^7.19.0": - version "7.19.1" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.1.tgz#7f630911d83b408b76fe584831c98e5395d7a17c" - integrity sha512-LlLkkqhCMyz2lkQPvJNdIYU7O5YjWRgC2R4omjCTpZd8u8KMQzZvX4qce+/BluN1rcQiV7BoGUpmQ0LeHerbhg== - dependencies: - "@babel/compat-data" "^7.19.1" - "@babel/helper-validator-option" "^7.18.6" - browserslist "^4.21.3" - semver "^6.3.0" - -"@babel/helper-create-class-features-plugin@^7.16.0": - version "7.18.0" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.0.tgz#fac430912606331cb075ea8d82f9a4c145a4da19" - integrity sha512-Kh8zTGR9de3J63e5nS0rQUdRs/kbtwoeQQ0sriS0lItjC96u8XXZN6lKpuyWd2coKSU13py/y+LTmThLuVX0Pg== - dependencies: - "@babel/helper-annotate-as-pure" "^7.16.7" - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-function-name" "^7.17.9" - "@babel/helper-member-expression-to-functions" "^7.17.7" - "@babel/helper-optimise-call-expression" "^7.16.7" - "@babel/helper-replace-supers" "^7.16.7" - "@babel/helper-split-export-declaration" "^7.16.7" - -"@babel/helper-create-class-features-plugin@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.6.tgz#6f15f8459f3b523b39e00a99982e2c040871ed72" - integrity sha512-YfDzdnoxHGV8CzqHGyCbFvXg5QESPFkXlHtvdCkesLjjVMT2Adxe4FGUR5ChIb3DxSaXO12iIOCWoXdsUVwnqw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-environment-visitor" "^7.18.6" - "@babel/helper-function-name" "^7.18.6" - "@babel/helper-member-expression-to-functions" "^7.18.6" - "@babel/helper-optimise-call-expression" "^7.18.6" - "@babel/helper-replace-supers" "^7.18.6" - "@babel/helper-split-export-declaration" "^7.18.6" - -"@babel/helper-create-regexp-features-plugin@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.18.6.tgz#3e35f4e04acbbf25f1b3534a657610a000543d3c" - integrity sha512-7LcpH1wnQLGrI+4v+nPp+zUvIkF9x0ddv1Hkdue10tg3gmRnLy97DXh4STiOf1qeIInyD69Qv5kKSZzKD8B/7A== - dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - regexpu-core "^5.1.0" - -"@babel/helper-create-regexp-features-plugin@^7.19.0": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.19.0.tgz#7976aca61c0984202baca73d84e2337a5424a41b" - integrity sha512-htnV+mHX32DF81amCDrwIDr8nrp1PTm+3wfBN9/v8QJOLEioOCOG7qNyq0nHeFiWbT3Eb7gsPwEmV64UCQ1jzw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - regexpu-core "^5.1.0" - -"@babel/helper-define-polyfill-provider@^0.3.2": - version "0.3.2" - resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.2.tgz#bd10d0aca18e8ce012755395b05a79f45eca5073" - integrity sha512-r9QJJ+uDWrd+94BSPcP6/de67ygLtvVy6cK4luE6MOuDsZIdoaPBnfSpbO/+LTifjPckbKXRuI9BB/Z2/y3iTg== - dependencies: - "@babel/helper-compilation-targets" "^7.17.7" - "@babel/helper-plugin-utils" "^7.16.7" - 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.18.2" - resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.2.tgz#8a6d2dedb53f6bf248e31b4baf38739ee4a637bd" - integrity sha512-14GQKWkX9oJzPiQQ7/J36FTXcD4kSp8egKjO9nINlSKiHITRA9q/R74qu8S9xlc/b/yjsJItQUeeh3xnGN0voQ== - -"@babel/helper-environment-visitor@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.6.tgz#b7eee2b5b9d70602e59d1a6cad7dd24de7ca6cd7" - integrity sha512-8n6gSfn2baOY+qlp+VSzsosjCVGFqWKmDF0cCWOybh52Dw3SEyoWR1KrhMJASjLwIEkkAufZ0xvr+SxLHSpy2Q== - -"@babel/helper-environment-visitor@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz#0c0cee9b35d2ca190478756865bb3528422f51be" - integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg== - -"@babel/helper-explode-assignable-expression@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz#41f8228ef0a6f1a036b8dfdfec7ce94f9a6bc096" - integrity sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-function-name@^7.16.7", "@babel/helper-function-name@^7.17.9": - version "7.17.9" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz#136fcd54bc1da82fcb47565cf16fd8e444b1ff12" - integrity sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg== - dependencies: - "@babel/template" "^7.16.7" - "@babel/types" "^7.17.0" - -"@babel/helper-function-name@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.18.6.tgz#8334fecb0afba66e6d87a7e8c6bb7fed79926b83" - integrity sha512-0mWMxV1aC97dhjCah5U5Ua7668r5ZmSC2DLfH2EZnf9c3/dHZKiFa5pRLMH5tjSl471tY6496ZWk/kjNONBxhw== - dependencies: - "@babel/template" "^7.18.6" - "@babel/types" "^7.18.6" - -"@babel/helper-function-name@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.18.9.tgz#940e6084a55dee867d33b4e487da2676365e86b0" - integrity sha512-fJgWlZt7nxGksJS9a0XdSaI4XvpExnNIgRP+rVefWh5U7BL8pPuir6SJUmFKRfjWQ51OtWSzwOxhaH/EBWWc0A== - dependencies: - "@babel/template" "^7.18.6" - "@babel/types" "^7.18.9" - -"@babel/helper-function-name@^7.19.0": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz#941574ed5390682e872e52d3f38ce9d1bef4648c" - integrity sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w== - dependencies: - "@babel/template" "^7.18.10" - "@babel/types" "^7.19.0" - -"@babel/helper-hoist-variables@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz#d4d2c8fb4baeaa5c68b99cc8245c56554f926678" - integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-member-expression-to-functions@^7.16.7", "@babel/helper-member-expression-to-functions@^7.17.7": - version "7.17.7" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.17.7.tgz#a34013b57d8542a8c4ff8ba3f747c02452a4d8c4" - integrity sha512-thxXgnQ8qQ11W2wVUObIqDL4p148VMxkt5T/qpN5k2fboRyzFGFmKsTGViquyM5QHKUy48OZoca8kw4ajaDPyw== - dependencies: - "@babel/types" "^7.17.0" - -"@babel/helper-member-expression-to-functions@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.6.tgz#44802d7d602c285e1692db0bad9396d007be2afc" - integrity sha512-CeHxqwwipekotzPDUuJOfIMtcIHBuc7WAzLmTYWctVigqS5RktNMQ5bEwQSuGewzYnCtTWa3BARXeiLxDTv+Ng== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-member-expression-to-functions@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz#1531661e8375af843ad37ac692c132841e2fd815" - integrity sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg== - dependencies: - "@babel/types" "^7.18.9" - -"@babel/helper-module-imports@^7.16.0": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz#25612a8091a999704461c8a222d0efec5d091437" - integrity sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-module-imports@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz#1e3ebdbbd08aad1437b428c50204db13c5a3ca6e" - integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-module-transforms@^7.12.1", "@babel/helper-module-transforms@^7.18.6": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.18.9.tgz#5a1079c005135ed627442df31a42887e80fcb712" - integrity sha512-KYNqY0ICwfv19b31XzvmI/mfcylOzbLtowkw+mfvGPAQ3kfCnMLYbED3YecL5tPd8nAYFQFAd6JHp2LxZk/J1g== - dependencies: - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-module-imports" "^7.18.6" - "@babel/helper-simple-access" "^7.18.6" - "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/helper-validator-identifier" "^7.18.6" - "@babel/template" "^7.18.6" - "@babel/traverse" "^7.18.9" - "@babel/types" "^7.18.9" - -"@babel/helper-module-transforms@^7.19.0": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.19.0.tgz#309b230f04e22c58c6a2c0c0c7e50b216d350c30" - integrity sha512-3HBZ377Fe14RbLIA+ac3sY4PTgpxHVkFrESaWhoI5PuyXPBBX8+C34qblV9G89ZtycGJCmCI/Ut+VUDK4bltNQ== - dependencies: - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-module-imports" "^7.18.6" - "@babel/helper-simple-access" "^7.18.6" - "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/helper-validator-identifier" "^7.18.6" - "@babel/template" "^7.18.10" - "@babel/traverse" "^7.19.0" - "@babel/types" "^7.19.0" - -"@babel/helper-optimise-call-expression@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz#a34e3560605abbd31a18546bd2aad3e6d9a174f2" - integrity sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w== - dependencies: - "@babel/types" "^7.16.7" - -"@babel/helper-optimise-call-expression@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz#9369aa943ee7da47edab2cb4e838acf09d290ffe" - integrity sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA== - dependencies: - "@babel/types" "^7.18.6" - -"@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.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.18.9", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.18.9.tgz#4b8aea3b069d8cb8a72cdfe28ddf5ceca695ef2f" - integrity sha512-aBXPT3bmtLryXaoJLyYPXPlSD4p1ld9aYeR+sJNOZjJJGiOpb+fKfh3NkcCu7J54nUJwCERPBExCCpyCOHnu/w== - -"@babel/helper-plugin-utils@^7.19.0": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz#4796bb14961521f0f8715990bee2fb6e51ce21bf" - integrity sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw== - -"@babel/helper-remap-async-to-generator@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.6.tgz#fa1f81acd19daee9d73de297c0308783cd3cfc23" - integrity sha512-z5wbmV55TveUPZlCLZvxWHtrjuJd+8inFhk7DG0WW87/oJuGDcjDiu7HIvGcpf5464L6xKCg3vNkmlVVz9hwyQ== - dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-environment-visitor" "^7.18.6" - "@babel/helper-wrap-function" "^7.18.6" - "@babel/types" "^7.18.6" - -"@babel/helper-remap-async-to-generator@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz#997458a0e3357080e54e1d79ec347f8a8cd28519" - integrity sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA== - dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-wrap-function" "^7.18.9" - "@babel/types" "^7.18.9" - -"@babel/helper-replace-supers@^7.16.7": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz#e9f5f5f32ac90429c1a4bdec0f231ef0c2838ab1" - integrity sha512-y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw== - dependencies: - "@babel/helper-environment-visitor" "^7.16.7" - "@babel/helper-member-expression-to-functions" "^7.16.7" - "@babel/helper-optimise-call-expression" "^7.16.7" - "@babel/traverse" "^7.16.7" - "@babel/types" "^7.16.7" - -"@babel/helper-replace-supers@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.18.6.tgz#efedf51cfccea7b7b8c0f00002ab317e7abfe420" - integrity sha512-fTf7zoXnUGl9gF25fXCWE26t7Tvtyn6H4hkLSYhATwJvw2uYxd3aoXplMSe0g9XbwK7bmxNes7+FGO0rB/xC0g== - dependencies: - "@babel/helper-environment-visitor" "^7.18.6" - "@babel/helper-member-expression-to-functions" "^7.18.6" - "@babel/helper-optimise-call-expression" "^7.18.6" - "@babel/traverse" "^7.18.6" - "@babel/types" "^7.18.6" - -"@babel/helper-replace-supers@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.18.9.tgz#1092e002feca980fbbb0bd4d51b74a65c6a500e6" - integrity sha512-dNsWibVI4lNT6HiuOIBr1oyxo40HvIVmbwPUm3XZ7wMh4k2WxrxTqZwSqw/eEmXDS9np0ey5M2bz9tBmO9c+YQ== - dependencies: - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-member-expression-to-functions" "^7.18.9" - "@babel/helper-optimise-call-expression" "^7.18.6" - "@babel/traverse" "^7.18.9" - "@babel/types" "^7.18.9" - -"@babel/helper-simple-access@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz#d6d8f51f4ac2978068df934b569f08f29788c7ea" - integrity sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-skip-transparent-expression-wrappers@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.18.9.tgz#778d87b3a758d90b471e7b9918f34a9a02eb5818" - integrity sha512-imytd2gHi3cJPsybLRbmFrF7u5BIEuI2cNheyKi3/iOBC63kNn3q8Crn2xVuESli0aM4KYsyEqKyS7lFL8YVtw== - dependencies: - "@babel/types" "^7.18.9" - -"@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-split-export-declaration@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz#7367949bc75b20c6d5a5d4a97bba2824ae8ef075" - integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-string-parser@^7.18.10": - version "7.18.10" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz#181f22d28ebe1b3857fa575f5c290b1aaf659b56" - integrity sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw== - "@babel/helper-validator-identifier@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz#9c97e30d31b2b8c72a1d08984f2ca9b574d7a076" integrity sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g== -"@babel/helper-validator-option@^7.14.5", "@babel/helper-validator-option@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz#bf0d2b5a509b1f336099e4ff36e1a63aa5db4db8" - integrity sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw== - -"@babel/helper-wrap-function@^7.16.0": - version "7.16.8" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.16.8.tgz#58afda087c4cd235de92f7ceedebca2c41274200" - integrity sha512-8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw== - dependencies: - "@babel/helper-function-name" "^7.16.7" - "@babel/template" "^7.16.7" - "@babel/traverse" "^7.16.8" - "@babel/types" "^7.16.8" - -"@babel/helper-wrap-function@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.18.6.tgz#ec44ea4ad9d8988b90c3e465ba2382f4de81a073" - integrity sha512-I5/LZfozwMNbwr/b1vhhuYD+J/mU+gfGAj5td7l5Rv9WYmH6i3Om69WGKNmlIpsVW/mF6O5bvTKbvDQZVgjqOw== - dependencies: - "@babel/helper-function-name" "^7.18.6" - "@babel/template" "^7.18.6" - "@babel/traverse" "^7.18.6" - "@babel/types" "^7.18.6" - -"@babel/helper-wrap-function@^7.18.9": - version "7.18.10" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.18.10.tgz#a7fcd3ab9b1be4c9b52cf7d7fdc1e88c2ce93396" - integrity sha512-95NLBP59VWdfK2lyLKe6eTMq9xg+yWKzxzxbJ1wcYNi1Auz200+83fMDADjRxBvc2QQor5zja2yTQzXGhk2GtQ== - dependencies: - "@babel/helper-function-name" "^7.18.9" - "@babel/template" "^7.18.10" - "@babel/traverse" "^7.18.10" - "@babel/types" "^7.18.10" - -"@babel/helpers@^7.12.1": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.18.9.tgz#4bef3b893f253a1eced04516824ede94dcfe7ff9" - integrity sha512-Jf5a+rbrLoR4eNdUmnFu8cN5eNJT6qdTdOg5IHIzq87WwyRw9PwguLFOWYgktN/60IP4fgDUawJvs7PjQIzELQ== - dependencies: - "@babel/template" "^7.18.6" - "@babel/traverse" "^7.18.9" - "@babel/types" "^7.18.9" - "@babel/highlight@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf" @@ -802,877 +369,11 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@7.12.3": - version "7.12.3" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.3.tgz#a305415ebe7a6c7023b40b5122a0662d928334cd" - integrity sha512-kFsOS0IbsuhO5ojF8Hc8z/8vEIOkylVBrjiZUbLTE3XFe0Qi+uu6HjzQixkFaqr0ZPAMZcBVxEwmsnsLPZ2Xsw== - -"@babel/parser@^7.10.5", "@babel/parser@^7.12.3", "@babel/parser@^7.18.10", "@babel/parser@^7.18.13": - version "7.18.13" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.13.tgz#5b2dd21cae4a2c5145f1fbd8ca103f9313d3b7e4" - integrity sha512-dgXcIfMuQ0kgzLB2b9tRZs7TTFFaGM2AbtA4fJgUUYukzGH4jwsS7hzQHEGs67jdehpm22vkgKwvbU+aEflgwg== - -"@babel/parser@^7.16.4", "@babel/parser@^7.19.1": +"@babel/parser@^7.16.4": version "7.19.1" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.19.1.tgz#6f6d6c2e621aad19a92544cc217ed13f1aac5b4c" integrity sha512-h7RCSorm1DdTVGJf3P2Mhj3kdnkmF/EiysUkzS2TdgAYqyjFdMQJbVuXOBej2SBJaXan/lIVtT6KkGbyyq753A== -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz#da5b8f9a580acdfbe53494dba45ea389fb09a4d2" - integrity sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz#a11af19aa373d68d561f08e0a57242350ed0ec50" - integrity sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg== - dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - "@babel/helper-skip-transparent-expression-wrappers" "^7.18.9" - "@babel/plugin-proposal-optional-chaining" "^7.18.9" - -"@babel/plugin-proposal-async-generator-functions@^7.19.0": - version "7.19.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.19.1.tgz#34f6f5174b688529342288cd264f80c9ea9fb4a7" - integrity sha512-0yu8vNATgLy4ivqMNBIwb1HebCelqN7YX8SL3FDXORv/RqT0zEEWUCH4GH44JsSrvCu6GqnAdR5EBFAPeNBB4Q== - dependencies: - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-plugin-utils" "^7.19.0" - "@babel/helper-remap-async-to-generator" "^7.18.9" - "@babel/plugin-syntax-async-generators" "^7.8.4" - -"@babel/plugin-proposal-class-properties@^7.12.1", "@babel/plugin-proposal-class-properties@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz#b110f59741895f7ec21a6fff696ec46265c446a3" - integrity sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-proposal-class-static-block@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz#8aa81d403ab72d3962fc06c26e222dacfc9b9020" - integrity sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - -"@babel/plugin-proposal-decorators@^7.12.1": - version "7.16.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.16.4.tgz#9b35ce0716425a93b978e79099e5f7ba217c1364" - integrity sha512-RESBNX16eNqnBeEVR5sCJpnW0mHiNLNNvGA8PrRuK/4ZJ4TO+6bHleRUuGQYDERVySOKtOhSya/C4MIhwAMAgg== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.16.0" - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/plugin-syntax-decorators" "^7.16.0" - -"@babel/plugin-proposal-do-expressions@^7.12.1": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-do-expressions/-/plugin-proposal-do-expressions-7.16.0.tgz#045794135cde56d4240288ea074b656b72ccf96e" - integrity sha512-JxhlW/ZFop2fm7pRpYijNr4FI2Id6+p3u2NT1Lh3eur3zDStdyx4EYr1FJpzpeqBh76dbuXL0gc9k1rEO8VSUQ== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/plugin-syntax-do-expressions" "^7.16.0" - -"@babel/plugin-proposal-dynamic-import@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz#72bcf8d408799f547d759298c3c27c7e7faa4d94" - integrity sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - -"@babel/plugin-proposal-export-default-from@^7.12.1": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.16.0.tgz#f8a07008ffcb0d3de4945f3eb52022ecc28b56ad" - integrity sha512-kFAhaIbh5qbBwETRNa/cgGmPJ/BicXhIyrZhAkyYhf/Z9LXCTRGO1mvUwczto0Hl1q4YtzP9cRtTKT4wujm38Q== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/plugin-syntax-export-default-from" "^7.16.0" - -"@babel/plugin-proposal-export-namespace-from@^7.12.1", "@babel/plugin-proposal-export-namespace-from@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz#5f7313ab348cdb19d590145f9247540e94761203" - integrity sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA== - dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - -"@babel/plugin-proposal-function-bind@^7.12.1": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-function-bind/-/plugin-proposal-function-bind-7.16.0.tgz#35225c9f2ff2d52da9625982e750b0647e90234c" - integrity sha512-oTf/NztwTma6O4e16Iy6+DOqodQydc1/MLmENMTduigCYxvUvLblCRP5Tu3PkAGPKq5/F3lB44GWLc+egJi3VA== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/plugin-syntax-function-bind" "^7.16.0" - -"@babel/plugin-proposal-function-sent@^7.12.1": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-function-sent/-/plugin-proposal-function-sent-7.16.0.tgz#6a873e125e4081e48d9b37518e8e2c63c9a8cddb" - integrity sha512-CkUaPsTiRB72BlsB1Istdb6LSJDi4SU4gH+hW9EKo2/o6naq0HEkuY2OV5anl5Tsnwtdn3FmpteguRc9kXd3Ig== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-wrap-function" "^7.16.0" - "@babel/plugin-syntax-function-sent" "^7.16.0" - -"@babel/plugin-proposal-json-strings@^7.12.1", "@babel/plugin-proposal-json-strings@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz#7e8788c1811c393aff762817e7dbf1ebd0c05f0b" - integrity sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-json-strings" "^7.8.3" - -"@babel/plugin-proposal-logical-assignment-operators@^7.12.1", "@babel/plugin-proposal-logical-assignment-operators@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz#8148cbb350483bf6220af06fa6db3690e14b2e23" - integrity sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q== - dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - -"@babel/plugin-proposal-nullish-coalescing-operator@^7.12.1", "@babel/plugin-proposal-nullish-coalescing-operator@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz#fdd940a99a740e577d6c753ab6fbb43fdb9467e1" - integrity sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - -"@babel/plugin-proposal-numeric-separator@^7.12.1", "@babel/plugin-proposal-numeric-separator@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz#899b14fbafe87f053d2c5ff05b36029c62e13c75" - integrity sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - -"@babel/plugin-proposal-object-rest-spread@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.9.tgz#f9434f6beb2c8cae9dfcf97d2a5941bbbf9ad4e7" - integrity sha512-kDDHQ5rflIeY5xl69CEqGEZ0KY369ehsCIEbTGb4siHG5BE9sga/T0r0OUwyZNLMmZE79E1kbsqAjwFCW4ds6Q== - dependencies: - "@babel/compat-data" "^7.18.8" - "@babel/helper-compilation-targets" "^7.18.9" - "@babel/helper-plugin-utils" "^7.18.9" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.18.8" - -"@babel/plugin-proposal-optional-catch-binding@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz#f9400d0e6a3ea93ba9ef70b09e72dd6da638a2cb" - integrity sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - -"@babel/plugin-proposal-optional-chaining@^7.12.1", "@babel/plugin-proposal-optional-chaining@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz#e8e8fe0723f2563960e4bf5e9690933691915993" - integrity sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w== - dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - "@babel/helper-skip-transparent-expression-wrappers" "^7.18.9" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - -"@babel/plugin-proposal-pipeline-operator@^7.12.1": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-pipeline-operator/-/plugin-proposal-pipeline-operator-7.16.0.tgz#9765a4fa46afc1b9b78cdeaa9d4d9a8863ae0fd5" - integrity sha512-y9WbLfaPDDkShmU89N1spx54ELht7rXE2jWDzCgc23OmTwliEK9NSoR8KZdtjr1mR3QfG7D6mcDHmI4M0bhMQA== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/plugin-syntax-pipeline-operator" "^7.16.0" - -"@babel/plugin-proposal-private-methods@^7.12.1", "@babel/plugin-proposal-private-methods@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz#5209de7d213457548a98436fa2882f52f4be6bea" - integrity sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-proposal-private-property-in-object@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz#a64137b232f0aca3733a67eb1a144c192389c503" - integrity sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-create-class-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" - -"@babel/plugin-proposal-throw-expressions@^7.12.1": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-throw-expressions/-/plugin-proposal-throw-expressions-7.16.0.tgz#f9450e11d90159eff29a36e5bcacc9b49eefc4d7" - integrity sha512-8u4KrMqdzRLkfHMN6WOK4taEwV6Dv69O/TuJ2TCGapRXtbjRKDW2UyTxEzlZpA1Eu+MxquSW9+y8qy89TIJfOA== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/plugin-syntax-throw-expressions" "^7.16.0" - -"@babel/plugin-proposal-unicode-property-regex@^7.18.6", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz#af613d2cd5e643643b65cded64207b15c85cb78e" - integrity sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@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.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406" - integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-decorators@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.16.0.tgz#eb8d811cdd1060f6ac3c00956bf3f6335505a32f" - integrity sha512-nxnnngZClvlY13nHJAIDow0S7Qzhq64fQ/NlqS+VER3kjW/4F0jLhXjeL8jcwSwz6Ca3rotT5NJD2T9I7lcv7g== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-do-expressions@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-do-expressions/-/plugin-syntax-do-expressions-7.16.0.tgz#94f323eb2dd88aa9623a4a4329aa044f51661999" - integrity sha512-WA0MZP59fbZehGlOVMoYdPs0yC2pOGQwHPIIIYtaXZ67f6J1X0ntmfkWkMa8lppBq0iSI7uBCTICF84gnKEfPQ== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@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-default-from@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.16.0.tgz#648520667776781f9a0da178f245fff85bc9e36f" - integrity sha512-xllLOdBj77mFSw8s02I+2SSQGHOftbWTlGmagheuNk/gjQsk7IrYsR/EosXVAVpgIUFffLckB/iPRioQYLHSrQ== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@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-flow@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.16.0.tgz#07427021d093ed77019408221beaf0272bbcfaec" - integrity sha512-dH91yCo0RyqfzWgoM5Ji9ir8fQ+uFbt9KHM3d2x4jZOuHS6wNA+CRmRUP/BWCsHG2bjc7A2Way6AvH1eQk0wig== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-function-bind@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-function-bind/-/plugin-syntax-function-bind-7.16.0.tgz#b268e330febdb851f5b57c31751607f758dda4ac" - integrity sha512-L+B4rMnFg2ElQUTjSr3gfmIAJ3ej/BeKGW32AL01qpLhkI4Vw1C+W8p6wl8S6eYqWSj9X9d/lyuQWI5JFYjCWw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-function-sent@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-function-sent/-/plugin-syntax-function-sent-7.16.0.tgz#c6e0eb280a101cd7bdaf6d3f750eb27b59978c48" - integrity sha512-CrwPwHy+ks1xokbZ5x2ZbRwZ5qptN0PE/N5M+o8eQ2LHXGFxlSuDVx515crT7DxUnT+uKctKDuk0NAwG7c1Ebw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-import-assertions@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.18.6.tgz#cd6190500a4fa2fe31990a963ffab4b63e4505e4" - integrity sha512-/DU3RXad9+bZwrgWJQKbr39gYbJpLJHezqEzRzi/BHRlJ9zsQb4CK2CA/5apllXNomwA1qHwzvHl+AdEmC5krQ== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-syntax-import-meta@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" - integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@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.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.16.0.tgz#f9624394317365a9a88c82358d3f8471154698f1" - integrity sha512-8zv2+xiPHwly31RK4RmnEYY5zziuF3O7W2kIDW+07ewWDh6Oi0dRq8kwvulRkFgt6DB97RlKs5c1y068iPlCUg== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@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-pipeline-operator@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-pipeline-operator/-/plugin-syntax-pipeline-operator-7.16.0.tgz#2a36d18bc00c3887ac8efb02b65de5a2c1e8ea86" - integrity sha512-wUWeLyChgsQ2cVp3vDtDqnwmDHdTiRyxuEeGRGwmPxp7YcNyQw+axni5R+WO/TF565j36Pp8zRU1qnY5etf4BQ== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-private-property-in-object@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad" - integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-throw-expressions@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-throw-expressions/-/plugin-syntax-throw-expressions-7.16.0.tgz#9d5fc5c185617bc5f727fbecc360601a52cf6879" - integrity sha512-tr5wm8EYRpFW47uVJ2B660pJQXgmeCShz82tE6LkIVkcLzXMz5xhj0drYyehuAl1utNGFqPnMmjpzs5zavAbNQ== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-top-level-await@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" - integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-transform-arrow-functions@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz#19063fcf8771ec7b31d742339dac62433d0611fe" - integrity sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-async-to-generator@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz#ccda3d1ab9d5ced5265fdb13f1882d5476c71615" - integrity sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag== - dependencies: - "@babel/helper-module-imports" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/helper-remap-async-to-generator" "^7.18.6" - -"@babel/plugin-transform-block-scoped-functions@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz#9187bf4ba302635b9d70d986ad70f038726216a8" - integrity sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-block-scoping@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.18.9.tgz#f9b7e018ac3f373c81452d6ada8bd5a18928926d" - integrity sha512-5sDIJRV1KtQVEbt/EIBwGy4T01uYIo4KRB3VUqzkhrAIOGx7AoctL9+Ux88btY0zXdDyPJ9mW+bg+v+XEkGmtw== - dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - -"@babel/plugin-transform-classes@^7.19.0": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.19.0.tgz#0e61ec257fba409c41372175e7c1e606dc79bb20" - integrity sha512-YfeEE9kCjqTS9IitkgfJuxjcEtLUHMqa8yUJ6zdz8vR7hKuo6mOy2C05P0F1tdMmDCeuyidKnlrw/iTppHcr2A== - dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-compilation-targets" "^7.19.0" - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-function-name" "^7.19.0" - "@babel/helper-optimise-call-expression" "^7.18.6" - "@babel/helper-plugin-utils" "^7.19.0" - "@babel/helper-replace-supers" "^7.18.9" - "@babel/helper-split-export-declaration" "^7.18.6" - globals "^11.1.0" - -"@babel/plugin-transform-computed-properties@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz#2357a8224d402dad623caf6259b611e56aec746e" - integrity sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw== - dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - -"@babel/plugin-transform-destructuring@^7.18.13": - version "7.18.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.13.tgz#9e03bc4a94475d62b7f4114938e6c5c33372cbf5" - integrity sha512-TodpQ29XekIsex2A+YJPj5ax2plkGa8YYY6mFjCohk/IG9IY42Rtuj1FuDeemfg2ipxIFLzPeA83SIBnlhSIow== - dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - -"@babel/plugin-transform-dotall-regex@^7.18.6", "@babel/plugin-transform-dotall-regex@^7.4.4": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz#b286b3e7aae6c7b861e45bed0a2fafd6b1a4fef8" - integrity sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-duplicate-keys@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz#687f15ee3cdad6d85191eb2a372c4528eaa0ae0e" - integrity sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw== - dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - -"@babel/plugin-transform-exponentiation-operator@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz#421c705f4521888c65e91fdd1af951bfefd4dacd" - integrity sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw== - dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-flow-strip-types@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.16.0.tgz#edd968dc2041c1b69e451a262e948d6654a79dc2" - integrity sha512-vs/F5roOaO/+WxKfp9PkvLsAyj0G+Q0zbFimHm9X2KDgabN2XmNFoAafmeGEYspUlIF9+MvVmyek9UyHiqeG/w== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/plugin-syntax-flow" "^7.16.0" - -"@babel/plugin-transform-for-of@^7.18.8": - version "7.18.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz#6ef8a50b244eb6a0bdbad0c7c61877e4e30097c1" - integrity sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-function-name@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz#cc354f8234e62968946c61a46d6365440fc764e0" - integrity sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ== - dependencies: - "@babel/helper-compilation-targets" "^7.18.9" - "@babel/helper-function-name" "^7.18.9" - "@babel/helper-plugin-utils" "^7.18.9" - -"@babel/plugin-transform-literals@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz#72796fdbef80e56fba3c6a699d54f0de557444bc" - integrity sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg== - dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - -"@babel/plugin-transform-member-expression-literals@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz#ac9fdc1a118620ac49b7e7a5d2dc177a1bfee88e" - integrity sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-modules-amd@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.6.tgz#8c91f8c5115d2202f277549848874027d7172d21" - integrity sha512-Pra5aXsmTsOnjM3IajS8rTaLCy++nGM4v3YR4esk5PCsyg9z8NA5oQLwxzMUtDBd8F+UmVza3VxoAaWCbzH1rg== - dependencies: - "@babel/helper-module-transforms" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - babel-plugin-dynamic-import-node "^2.3.3" - -"@babel/plugin-transform-modules-commonjs@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.6.tgz#afd243afba166cca69892e24a8fd8c9f2ca87883" - integrity sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q== - dependencies: - "@babel/helper-module-transforms" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/helper-simple-access" "^7.18.6" - babel-plugin-dynamic-import-node "^2.3.3" - -"@babel/plugin-transform-modules-systemjs@^7.19.0": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.19.0.tgz#5f20b471284430f02d9c5059d9b9a16d4b085a1f" - integrity sha512-x9aiR0WXAWmOWsqcsnrzGR+ieaTMVyGyffPVA7F8cXAGt/UxefYv6uSHZLkAFChN5M5Iy1+wjE+xJuPt22H39A== - dependencies: - "@babel/helper-hoist-variables" "^7.18.6" - "@babel/helper-module-transforms" "^7.19.0" - "@babel/helper-plugin-utils" "^7.19.0" - "@babel/helper-validator-identifier" "^7.18.6" - babel-plugin-dynamic-import-node "^2.3.3" - -"@babel/plugin-transform-modules-umd@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz#81d3832d6034b75b54e62821ba58f28ed0aab4b9" - integrity sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ== - dependencies: - "@babel/helper-module-transforms" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-named-capturing-groups-regex@^7.19.0": - version "7.19.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.19.1.tgz#ec7455bab6cd8fb05c525a94876f435a48128888" - integrity sha512-oWk9l9WItWBQYS4FgXD4Uyy5kq898lvkXpXQxoJEY1RnvPk4R/Dvu2ebXU9q8lP+rlMwUQTFf2Ok6d78ODa0kw== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.19.0" - "@babel/helper-plugin-utils" "^7.19.0" - -"@babel/plugin-transform-new-target@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz#d128f376ae200477f37c4ddfcc722a8a1b3246a8" - integrity sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-object-super@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz#fb3c6ccdd15939b6ff7939944b51971ddc35912c" - integrity sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/helper-replace-supers" "^7.18.6" - -"@babel/plugin-transform-parameters@^7.18.8": - version "7.18.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.18.8.tgz#ee9f1a0ce6d78af58d0956a9378ea3427cccb48a" - integrity sha512-ivfbE3X2Ss+Fj8nnXvKJS6sjRG4gzwPMsP+taZC+ZzEGjAYlvENixmt1sZ5Ca6tWls+BlKSGKPJ6OOXvXCbkFg== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-property-literals@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz#e22498903a483448e94e032e9bbb9c5ccbfc93a3" - integrity sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-react-display-name@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.16.0.tgz#9a0ad8aa8e8790883a7bd2736f66229a58125676" - integrity sha512-FJFdJAqaCpndL+pIf0aeD/qlQwT7QXOvR6Cc8JPvNhKJBi2zc/DPc4g05Y3fbD/0iWAMQFGij4+Xw+4L/BMpTg== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-transform-react-jsx-development@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.16.0.tgz#1cb52874678d23ab11d0d16488d54730807303ef" - integrity sha512-qq65iSqBRq0Hr3wq57YG2AmW0H6wgTnIzpffTphrUWUgLCOK+zf1f7G0vuOiXrp7dU1qq+fQBoqZ3wCDAkhFzw== - dependencies: - "@babel/plugin-transform-react-jsx" "^7.16.0" - -"@babel/plugin-transform-react-jsx@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.16.0.tgz#55b797d4960c3de04e07ad1c0476e2bc6a4889f1" - integrity sha512-rqDgIbukZ44pqq7NIRPGPGNklshPkvlmvqjdx3OZcGPk4zGIenYkxDTvl3LsSL8gqcc3ZzGmXPE6hR/u/voNOw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.16.0" - "@babel/helper-module-imports" "^7.16.0" - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/plugin-syntax-jsx" "^7.16.0" - "@babel/types" "^7.16.0" - -"@babel/plugin-transform-react-pure-annotations@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.16.0.tgz#23db6ddf558d8abde41b8ad9d59f48ad5532ccab" - integrity sha512-NC/Bj2MG+t8Ef5Pdpo34Ay74X4Rt804h5y81PwOpfPtmAK3i6CizmQqwyBQzIepz1Yt8wNr2Z2L7Lu3qBMfZMA== - dependencies: - "@babel/helper-annotate-as-pure" "^7.16.0" - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-transform-regenerator@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz#585c66cb84d4b4bf72519a34cfce761b8676ca73" - integrity sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - regenerator-transform "^0.15.0" - -"@babel/plugin-transform-reserved-words@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz#b1abd8ebf8edaa5f7fe6bbb8d2133d23b6a6f76a" - integrity sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-shorthand-properties@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz#6d6df7983d67b195289be24909e3f12a8f664dc9" - integrity sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-spread@^7.19.0": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.19.0.tgz#dd60b4620c2fec806d60cfaae364ec2188d593b6" - integrity sha512-RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w== - dependencies: - "@babel/helper-plugin-utils" "^7.19.0" - "@babel/helper-skip-transparent-expression-wrappers" "^7.18.9" - -"@babel/plugin-transform-sticky-regex@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz#c6706eb2b1524028e317720339583ad0f444adcc" - integrity sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-template-literals@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz#04ec6f10acdaa81846689d63fae117dd9c243a5e" - integrity sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA== - dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - -"@babel/plugin-transform-typeof-symbol@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz#c8cea68263e45addcd6afc9091429f80925762c0" - integrity sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw== - dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - -"@babel/plugin-transform-unicode-escapes@^7.18.10": - version "7.18.10" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz#1ecfb0eda83d09bbcb77c09970c2dd55832aa246" - integrity sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ== - dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - -"@babel/plugin-transform-unicode-regex@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz#194317225d8c201bbae103364ffe9e2cea36cdca" - integrity sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/preset-env@^7.12.1": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.19.0.tgz#fd18caf499a67d6411b9ded68dc70d01ed1e5da7" - integrity sha512-1YUju1TAFuzjIQqNM9WsF4U6VbD/8t3wEAlw3LFYuuEr+ywqLRcSXxFKz4DCEj+sN94l/XTDiUXYRrsvMpz9WQ== - dependencies: - "@babel/compat-data" "^7.19.0" - "@babel/helper-compilation-targets" "^7.19.0" - "@babel/helper-plugin-utils" "^7.19.0" - "@babel/helper-validator-option" "^7.18.6" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.18.6" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.18.9" - "@babel/plugin-proposal-async-generator-functions" "^7.19.0" - "@babel/plugin-proposal-class-properties" "^7.18.6" - "@babel/plugin-proposal-class-static-block" "^7.18.6" - "@babel/plugin-proposal-dynamic-import" "^7.18.6" - "@babel/plugin-proposal-export-namespace-from" "^7.18.9" - "@babel/plugin-proposal-json-strings" "^7.18.6" - "@babel/plugin-proposal-logical-assignment-operators" "^7.18.9" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.18.6" - "@babel/plugin-proposal-numeric-separator" "^7.18.6" - "@babel/plugin-proposal-object-rest-spread" "^7.18.9" - "@babel/plugin-proposal-optional-catch-binding" "^7.18.6" - "@babel/plugin-proposal-optional-chaining" "^7.18.9" - "@babel/plugin-proposal-private-methods" "^7.18.6" - "@babel/plugin-proposal-private-property-in-object" "^7.18.6" - "@babel/plugin-proposal-unicode-property-regex" "^7.18.6" - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-syntax-class-properties" "^7.12.13" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - "@babel/plugin-syntax-import-assertions" "^7.18.6" - "@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.5" - "@babel/plugin-syntax-top-level-await" "^7.14.5" - "@babel/plugin-transform-arrow-functions" "^7.18.6" - "@babel/plugin-transform-async-to-generator" "^7.18.6" - "@babel/plugin-transform-block-scoped-functions" "^7.18.6" - "@babel/plugin-transform-block-scoping" "^7.18.9" - "@babel/plugin-transform-classes" "^7.19.0" - "@babel/plugin-transform-computed-properties" "^7.18.9" - "@babel/plugin-transform-destructuring" "^7.18.13" - "@babel/plugin-transform-dotall-regex" "^7.18.6" - "@babel/plugin-transform-duplicate-keys" "^7.18.9" - "@babel/plugin-transform-exponentiation-operator" "^7.18.6" - "@babel/plugin-transform-for-of" "^7.18.8" - "@babel/plugin-transform-function-name" "^7.18.9" - "@babel/plugin-transform-literals" "^7.18.9" - "@babel/plugin-transform-member-expression-literals" "^7.18.6" - "@babel/plugin-transform-modules-amd" "^7.18.6" - "@babel/plugin-transform-modules-commonjs" "^7.18.6" - "@babel/plugin-transform-modules-systemjs" "^7.19.0" - "@babel/plugin-transform-modules-umd" "^7.18.6" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.19.0" - "@babel/plugin-transform-new-target" "^7.18.6" - "@babel/plugin-transform-object-super" "^7.18.6" - "@babel/plugin-transform-parameters" "^7.18.8" - "@babel/plugin-transform-property-literals" "^7.18.6" - "@babel/plugin-transform-regenerator" "^7.18.6" - "@babel/plugin-transform-reserved-words" "^7.18.6" - "@babel/plugin-transform-shorthand-properties" "^7.18.6" - "@babel/plugin-transform-spread" "^7.19.0" - "@babel/plugin-transform-sticky-regex" "^7.18.6" - "@babel/plugin-transform-template-literals" "^7.18.9" - "@babel/plugin-transform-typeof-symbol" "^7.18.9" - "@babel/plugin-transform-unicode-escapes" "^7.18.10" - "@babel/plugin-transform-unicode-regex" "^7.18.6" - "@babel/preset-modules" "^0.1.5" - "@babel/types" "^7.19.0" - babel-plugin-polyfill-corejs2 "^0.3.2" - babel-plugin-polyfill-corejs3 "^0.5.3" - babel-plugin-polyfill-regenerator "^0.4.0" - core-js-compat "^3.22.1" - semver "^6.3.0" - -"@babel/preset-flow@^7.9.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/preset-flow/-/preset-flow-7.16.0.tgz#9f1f6e72714d79460d48058cb5658fc87da7150b" - integrity sha512-e5NE1EoPMpoHFkyFkMSj2h9tu7OolARcUHki8mnBv4NiFK9so+UrhbvT9mV99tMJOUEx8BOj67T6dXvGcTeYeQ== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-validator-option" "^7.14.5" - "@babel/plugin-transform-flow-strip-types" "^7.16.0" - -"@babel/preset-modules@^0.1.5": - version "0.1.5" - resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.5.tgz#ef939d6e7f268827e1841638dc6ff95515e115d9" - integrity sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA== - 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/preset-react@^7.9.4": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.16.0.tgz#f71d3e8dff5218478011df037fad52660ee6d82a" - integrity sha512-d31IFW2bLRB28uL1WoElyro8RH5l6531XfxMtCeCmp6RVAF1uTfxxUA0LH1tXl+psZdwfmIbwoG4U5VwgbhtLw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-validator-option" "^7.14.5" - "@babel/plugin-transform-react-display-name" "^7.16.0" - "@babel/plugin-transform-react-jsx" "^7.16.0" - "@babel/plugin-transform-react-jsx-development" "^7.16.0" - "@babel/plugin-transform-react-pure-annotations" "^7.16.0" - -"@babel/preset-stage-0@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/preset-stage-0/-/preset-stage-0-7.8.3.tgz#b6a0eca1a3b72e07f9caf58f998e97568028f6f5" - integrity sha512-+l6FlG1j73t4wh78W41StbcCz0/9a1/y+vxfnjtHl060kSmcgMfGzK9MEkLvrCOXfhp9RCX+d88sm6rOqxEIEQ== - -"@babel/runtime@^7.8.4": - version "7.16.3" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.16.3.tgz#b86f0db02a04187a3c17caa77de69840165d42d5" - integrity sha512-WBwekcqacdY2e9AF/Q7WLFUWmdJGJTkbjqTjoMDgXkVZ3ZRUvOPsLb5KdwISoQVsbP+DQzVZW4Zhci0DvpbNTQ== - dependencies: - regenerator-runtime "^0.13.4" - -"@babel/template@^7.10.4", "@babel/template@^7.16.7", "@babel/template@^7.18.10", "@babel/template@^7.18.6": - version "7.18.10" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.18.10.tgz#6f9134835970d1dbf0835c0d100c9f38de0c5e71" - integrity sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA== - dependencies: - "@babel/code-frame" "^7.18.6" - "@babel/parser" "^7.18.10" - "@babel/types" "^7.18.10" - -"@babel/traverse@^7.10.5", "@babel/traverse@^7.12.1", "@babel/traverse@^7.16.7", "@babel/traverse@^7.16.8", "@babel/traverse@^7.18.10", "@babel/traverse@^7.18.6", "@babel/traverse@^7.18.9": - version "7.18.13" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.13.tgz#5ab59ef51a997b3f10c4587d648b9696b6cb1a68" - integrity sha512-N6kt9X1jRMLPxxxPYWi7tgvJRH/rtoU+dbKAPDM44RFHiMH8igdsaSBgFeskhSl/kLWLDUvIh1RXCrTmg0/zvA== - dependencies: - "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.18.13" - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-function-name" "^7.18.9" - "@babel/helper-hoist-variables" "^7.18.6" - "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/parser" "^7.18.13" - "@babel/types" "^7.18.13" - debug "^4.1.0" - globals "^11.1.0" - -"@babel/traverse@^7.19.0": - version "7.19.1" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.19.1.tgz#0fafe100a8c2a603b4718b1d9bf2568d1d193347" - integrity sha512-0j/ZfZMxKukDaag2PtOPDbwuELqIar6lLskVPPJDjXMXjfLb1Obo/1yjxIGqqAJrmfaTIY3z2wFLAQ7qSkLsuA== - dependencies: - "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.19.0" - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-function-name" "^7.19.0" - "@babel/helper-hoist-variables" "^7.18.6" - "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/parser" "^7.19.1" - "@babel/types" "^7.19.0" - debug "^4.1.0" - globals "^11.1.0" - -"@babel/types@^7.12.1", "@babel/types@^7.16.0", "@babel/types@^7.16.7", "@babel/types@^7.16.8", "@babel/types@^7.17.0", "@babel/types@^7.18.10", "@babel/types@^7.18.13", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.4.4": - version "7.18.13" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.13.tgz#30aeb9e514f4100f7c1cb6e5ba472b30e48f519a" - integrity sha512-ePqfTihzW0W6XAU+aMw2ykilisStJfDnsejDCXRchCcMJ4O0+8DhPXf2YUbZ6wjBlsEmZwLK/sPweWtu8hcJYQ== - dependencies: - "@babel/helper-string-parser" "^7.18.10" - "@babel/helper-validator-identifier" "^7.18.6" - to-fast-properties "^2.0.0" - -"@babel/types@^7.19.0": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.19.0.tgz#75f21d73d73dc0351f3368d28db73465f4814600" - integrity sha512-YuGopBq3ke25BVSiS6fgF49Ul9gH1x70Bcr6bqRLjWCkcX8Hre1/5+z+IiWOIerRMSSEfGZVB9z9kyq7wVs9YA== - dependencies: - "@babel/helper-string-parser" "^7.18.10" - "@babel/helper-validator-identifier" "^7.18.6" - to-fast-properties "^2.0.0" - "@bcoe/v8-coverage@^0.2.3": version "0.2.3" resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" @@ -1972,35 +673,16 @@ resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== -"@hutson/parse-repository-url@^3.0.0": - version "3.0.2" - resolved "https://registry.yarnpkg.com/@hutson/parse-repository-url/-/parse-repository-url-3.0.2.tgz#98c23c950a3d9b6c8f0daed06da6c3af06981340" - integrity sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q== - "@istanbuljs/schema@^0.1.2", "@istanbuljs/schema@^0.1.3": version "0.1.3" resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== -"@jridgewell/gen-mapping@^0.3.2": - version "0.3.2" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz#c1aedc61e853f2bb9f5dfe6d4442d3b565b253b9" - integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A== - dependencies: - "@jridgewell/set-array" "^1.0.1" - "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/trace-mapping" "^0.3.9" - "@jridgewell/resolve-uri@^3.0.3": version "3.1.0" resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== -"@jridgewell/set-array@^1.0.1": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" - integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== - "@jridgewell/sourcemap-codec@^1.4.10": version "1.4.14" resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" @@ -2014,7 +696,7 @@ "@jridgewell/resolve-uri" "^3.0.3" "@jridgewell/sourcemap-codec" "^1.4.10" -"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.9": +"@jridgewell/trace-mapping@^0.3.12": version "0.3.15" resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz#aba35c48a38d3fd84b37e66c9c0423f9744f9774" integrity sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g== @@ -2881,7 +1563,7 @@ JSONSelect@0.4.0: resolved "https://registry.yarnpkg.com/JSONSelect/-/JSONSelect-0.4.0.tgz#a08edcc67eb3fcbe99ed630855344a0cf282bb8d" integrity sha1-oI7cxn6z/L6Z7WMIVTRKDPKCu40= -JSONStream@^1.0.3, JSONStream@^1.0.4: +JSONStream@^1.0.4: version "1.3.5" resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ== @@ -2927,16 +1609,7 @@ acorn-jsx@^5.3.2: resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== -acorn-node@^1.6.1: - version "1.8.2" - resolved "https://registry.yarnpkg.com/acorn-node/-/acorn-node-1.8.2.tgz#114c95d64539e53dede23de8b9d96df7c7ae2af8" - integrity sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A== - dependencies: - acorn "^7.0.0" - acorn-walk "^7.0.0" - xtend "^4.0.2" - -acorn-walk@^7.0.0, acorn-walk@^7.1.1: +acorn-walk@^7.1.1: version "7.2.0" resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== @@ -2946,7 +1619,7 @@ acorn-walk@^8.1.1, 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@^7.0.0, acorn@^7.1.1: +acorn@^7.1.1: version "7.4.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== @@ -2961,11 +1634,6 @@ acorn@^8.5.0, acorn@^8.7.0, acorn@^8.7.1: resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.1.tgz#0197122c843d1bf6d0a5e83220a788f278f63c30" integrity sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A== -add-stream@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/add-stream/-/add-stream-1.0.0.tgz#6a7990437ca736d5e1288db92bd3266d5f5cb2aa" - integrity sha1-anmQQ3ynNtXhKI25K9MmbV9csqo= - agent-base@6, agent-base@^6.0.0, agent-base@^6.0.2: version "6.0.2" resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" @@ -3047,11 +1715,6 @@ ansi-escapes@^4.1.0, ansi-escapes@^4.3.0: 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" @@ -3096,14 +1759,6 @@ ansi-styles@~1.0.0: resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-1.0.0.tgz#cb102df1c56f5123eab8b67cd7b98027a0279178" integrity sha1-yxAt8cVvUSPquLZ817mAJ6AnkXg= -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== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - app-path@^3.2.0: version "3.3.0" resolved "https://registry.yarnpkg.com/app-path/-/app-path-3.3.0.tgz#0342a909db37079c593979c720f99e872475eba3" @@ -3111,13 +1766,6 @@ app-path@^3.2.0: dependencies: execa "^1.0.0" -append-buffer@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/append-buffer/-/append-buffer-1.0.2.tgz#d8220cf466081525efea50614f3de6514dfa58f1" - integrity sha1-2CIM9GYIFSXv6lBhTz3mUU36WPE= - dependencies: - buffer-equal "^1.0.0" - arch@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/arch/-/arch-2.2.0.tgz#1bc47818f305764f23ab3306b0bfc086c5a29d11" @@ -3140,21 +1788,6 @@ argparse@^2.0.1: resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== -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-flatten@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" @@ -3170,11 +1803,6 @@ array-union@^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-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= - arrify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" @@ -3197,11 +1825,6 @@ assertion-error@^1.1.0: resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b" integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== -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= - ast-types@^0.13.2: version "0.13.4" resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.13.4.tgz#ee0d77b343263965ecc3fb62da16e7222b2b6782" @@ -3229,11 +1852,6 @@ at-least-node@^1.0.0: resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== -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== - aws-sign2@~0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" @@ -3258,47 +1876,6 @@ axios@^0.21.1: dependencies: follow-redirects "^1.14.0" -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.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.2.tgz#e4c31d4c89b56f3cf85b92558954c66b54bd972d" - integrity sha512-LPnodUl3lS0/4wN3Rb+m+UK8s7lj2jcLRrjho4gLw+OJs+I4bvGXshINesY5xx/apM+biTnQ9reDI8yj+0M5+Q== - dependencies: - "@babel/compat-data" "^7.17.7" - "@babel/helper-define-polyfill-provider" "^0.3.2" - semver "^6.1.1" - -babel-plugin-polyfill-corejs3@^0.5.3: - version "0.5.3" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.3.tgz#d7e09c9a899079d71a8b670c6181af56ec19c5c7" - integrity sha512-zKsXDh0XjnrUEW0mxIHLfjBfnXSMr5Q/goMe/fxpQnLm07mcOZiIZHBNWCMx60HmdvjxfXcalac0tfFg0wqxyw== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.3.2" - core-js-compat "^3.21.0" - -babel-plugin-polyfill-regenerator@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.0.tgz#8f51809b6d5883e07e71548d75966ff7635527fe" - integrity sha512-RW1cnryiADFeHmfLS+WW/G431p1PsW5qdRdz0SDRi7TKcUgc7Oh/uXkT7MZ/+tGsT1BkczEAmD5XjUyJ5SWDTw== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.3.2" - -babelify@^10.0.0: - version "10.0.0" - resolved "https://registry.yarnpkg.com/babelify/-/babelify-10.0.0.tgz#fe73b1a22583f06680d8d072e25a1e0d1d1d7fb5" - integrity sha512-X40FaxyH7t3X+JFAKvb1H9wooWKLRCi8pg3m8poqtdZaIng+bjzp9RvKQCvRjF9isHiPkXspbbXT/zwXLtwgwg== - -bail@^1.0.0: - version "1.0.5" - resolved "https://registry.yarnpkg.com/bail/-/bail-1.0.5.tgz#b6fa133404a392cbc1f8c4bf63f5953351e7a776" - integrity sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ== - bail@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/bail/-/bail-2.0.2.tgz#d26f5cd8fe5d6f832a31517b9f7c356040ba6d5d" @@ -3314,19 +1891,6 @@ base64-js@^1.3.1, base64-js@^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" - bcrypt-pbkdf@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" @@ -3334,11 +1898,6 @@ bcrypt-pbkdf@^1.0.0: dependencies: tweetnacl "^0.14.3" -binary-extensions@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" - integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== - binary-searching@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/binary-searching/-/binary-searching-2.0.5.tgz#ab6d08d51cd1b58878ae208ab61988f885b22dd3" @@ -3377,16 +1936,6 @@ body-scroll-lock@^4.0.0-beta.0: resolved "https://registry.yarnpkg.com/body-scroll-lock/-/body-scroll-lock-4.0.0-beta.0.tgz#4f78789d10e6388115c0460cd6d7d4dd2bbc4f7e" integrity sha512-a7tP5+0Mw3YlUJcGAKUqIBkYYGlYxk2fnCasq/FUph1hadxlTRjF+gAcZksxANnaMnALjxEddmSi/H3OR8ugcQ== -body@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/body/-/body-5.1.0.tgz#e4ba0ce410a46936323367609ecb4e6553125069" - integrity sha1-5LoM5BCkaTYyM2dgnstOZVMSUGk= - dependencies: - continuable-cache "^0.3.1" - error "^7.0.0" - raw-body "~1.1.0" - safe-json-parse "~1.0.1" - brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" @@ -3395,23 +1944,7 @@ brace-expansion@^1.1.7: balanced-match "^1.0.0" concat-map "0.0.1" -braces@^2.3.1: - 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.2, braces@~3.0.2: +braces@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== @@ -3423,53 +1956,11 @@ browser-process-hrtime@^1.0.0: resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== -browser-resolve@^1.7.0: - version "1.11.3" - resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.3.tgz#9b7cbb3d0f510e4cb86bdbd796124d28b5890af6" - integrity sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ== - dependencies: - resolve "1.1.7" - -browserslist@^4.20.2, browserslist@^4.21.0: - version "4.21.1" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.1.tgz#c9b9b0a54c7607e8dc3e01a0d311727188011a00" - integrity sha512-Nq8MFCSrnJXSc88yliwlzQe3qNe3VntIjhsArW9IJOEPSHNx23FalwApUVbzAWABLhYJJ7y8AynWI/XM8OdfjQ== - dependencies: - caniuse-lite "^1.0.30001359" - electron-to-chromium "^1.4.172" - node-releases "^2.0.5" - update-browserslist-db "^1.0.4" - -browserslist@^4.21.3: - version "4.21.4" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.4.tgz#e7496bbc67b9e39dd0f98565feccdcb0d4ff6987" - integrity sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw== - dependencies: - caniuse-lite "^1.0.30001400" - electron-to-chromium "^1.4.251" - node-releases "^2.0.6" - update-browserslist-db "^1.0.9" - buffer-crc32@~0.2.3: version "0.2.13" resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" integrity sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI= -buffer-equal@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-1.0.0.tgz#59616b498304d556abd466966b22eeda3eca5fbe" - integrity sha1-WWFrSYME1Var1GaWayLu2j7KX74= - -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-shims@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/buffer-shims/-/buffer-shims-1.0.0.tgz#9978ce317388c649ad8793028c3477ef044a8b51" - integrity sha1-mXjOMXOIxkmth5MCjDR37wRKi1E= - buffer@^5.6.0: version "5.7.1" resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" @@ -3478,11 +1969,6 @@ buffer@^5.6.0: base64-js "^1.3.1" ieee754 "^1.1.13" -bytes@1: - version "1.0.0" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-1.0.0.tgz#3569ede8ba34315fab99c3e92cb04c7220de1fa8" - integrity sha1-NWnt6Lo0MV+rmcPpLLBMciDeH6g= - bytes@3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" @@ -3506,21 +1992,6 @@ c8@^7.12.0: yargs "^16.2.0" yargs-parser "^20.2.9" -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" - cacheable-lookup@^5.0.3: version "5.0.4" resolved "https://registry.yarnpkg.com/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz#5a6b865b2c44357be3d5ebc2a467b032719a7005" @@ -3539,11 +2010,6 @@ cacheable-request@^7.0.2: normalize-url "^6.0.1" responselike "^2.0.0" -cached-path-relative@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/cached-path-relative/-/cached-path-relative-1.1.0.tgz#865576dfef39c0d6a7defde794d078f5308e3ef3" - integrity sha512-WF0LihfemtesFcJgO7xfOoOcnWzY/QHR4qeDqV44jPU3HTI54+LnfXK3SA27AVVGCdZFgjjFFaqUA9Jx7dMJZA== - cachedir@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/cachedir/-/cachedir-2.3.0.tgz#0c75892a052198f0b21c7c1804d8331edfcae0e8" @@ -3571,31 +2037,16 @@ camelcase-keys@^6.2.2: map-obj "^4.0.0" quick-lru "^4.0.1" -camelcase@^5.0.0, camelcase@^5.3.1: +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== -caniuse-lite@^1.0.30001359: - version "1.0.30001406" - resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001406.tgz" - integrity sha512-bWTlaXUy/rq0BBtYShc/jArYfBPjEV95euvZ8JVtO43oQExEN/WquoqpufFjNu4kSpi5cy5kMbNvzztWDfv1Jg== - -caniuse-lite@^1.0.30001400: - version "1.0.30001408" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001408.tgz#8f5e96bd9c5fd1a8c629e4415cdbaf556333a591" - integrity sha512-DdUCktgMSM+1ndk9EFMZcavsGszV7zxV9O7MtOHniTa/iyAIwJCF0dFVBdU9SijJbfh29hC9bCs07wu8pjnGJQ== - caseless@~0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= -ccount@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/ccount/-/ccount-1.1.0.tgz#246687debb6014735131be8abab2d93898f8d043" - integrity sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg== - chai@^4.3.6: version "4.3.6" resolved "https://registry.yarnpkg.com/chai/-/chai-4.3.6.tgz#ffe4ba2d9fa9d6680cc0b370adae709ec9011e9c" @@ -3636,7 +2087,7 @@ chalk@^1.1.3: strip-ansi "^3.0.0" supports-color "^2.0.0" -chalk@^2.0.0, chalk@^2.3.0, chalk@^2.4.1, chalk@^2.4.2: +chalk@^2.0.0, chalk@^2.4.1: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -3654,11 +2105,6 @@ chalk@~0.4.0: has-color "~0.1.0" strip-ansi "~0.1.0" -character-entities-html4@^1.0.0: - version "1.1.4" - resolved "https://registry.yarnpkg.com/character-entities-html4/-/character-entities-html4-1.1.4.tgz#0e64b0a3753ddbf1fdc044c5fd01d0199a02e125" - integrity sha512-HRcDxZuZqMx3/a+qrzxdBKBPUpxWEq9xw2OPZ3a/174ihfrQKVsFhqtthBInFy1zZ9GgZyFXOatNujm8M+El3g== - character-entities-legacy@^1.0.0: version "1.1.4" resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz#94bc1845dce70a5bb9d2ecc748725661293d8fc1" @@ -3689,21 +2135,6 @@ check-more-types@2.24.0, check-more-types@^2.24.0: resolved "https://registry.yarnpkg.com/check-more-types/-/check-more-types-2.24.0.tgz#1420ffb10fd444dcfc79b43891bbfffd32a84600" integrity sha1-FCD/sQ/URNz8ebQ4kbv//TKoRgA= -chokidar@^3.4.0: - version "3.5.3" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" - integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== - dependencies: - anymatch "~3.1.2" - braces "~3.0.2" - glob-parent "~5.1.2" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.6.0" - optionalDependencies: - fsevents "~2.3.2" - ci-info@^3.2.0: version "3.3.0" resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.3.0.tgz#b4ed1fb6818dea4803a55c623041f9165d2066b2" @@ -3716,16 +2147,6 @@ cjson@0.3.0: dependencies: jsonlint "1.6.0" -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-stack@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" @@ -3763,15 +2184,6 @@ cli-truncate@^3.1.0: slice-ansi "^5.0.0" string-width "^5.0.0" -cliui@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" - integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^6.2.0" - cliui@^7.0.2: version "7.0.4" resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" @@ -3781,11 +2193,6 @@ cliui@^7.0.2: strip-ansi "^6.0.0" wrap-ansi "^7.0.0" -clone-buffer@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/clone-buffer/-/clone-buffer-1.0.0.tgz#e3e25b207ac4e701af721e2cb5a16792cac3dc58" - integrity sha1-4+JbIHrE5wGvch4staFnksrD3Fg= - clone-response@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b" @@ -3793,38 +2200,6 @@ clone-response@^1.0.2: dependencies: mimic-response "^1.0.0" -clone-stats@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-1.0.0.tgz#b3782dff8bb5474e18b9b6bf0fdfe782f8777680" - integrity sha1-s3gt/4u1R04Yuba/D9/ngvh3doA= - -clone@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" - integrity sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18= - -cloneable-readable@^1.0.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/cloneable-readable/-/cloneable-readable-1.1.3.tgz#120a00cb053bfb63a222e709f9683ea2e11d8cec" - integrity sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ== - dependencies: - inherits "^2.0.1" - process-nextick-args "^2.0.0" - readable-stream "^2.3.5" - -collapse-white-space@^1.0.0, collapse-white-space@^1.0.2: - version "1.0.6" - resolved "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-1.0.6.tgz#e63629c0016665792060dbbeb79c42239d2c5287" - integrity sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ== - -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: version "1.9.3" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" @@ -3871,11 +2246,6 @@ combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: dependencies: delayed-stream "~1.0.0" -comma-separated-tokens@^1.0.1: - version "1.0.8" - resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz#632b80b6117867a158f1080ad498b2fbe7e3f5ea" - integrity sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw== - commander@7: version "7.2.0" resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" @@ -3909,11 +2279,6 @@ compare-func@^2.0.0: array-ify "^1.0.0" dot-prop "^5.1.0" -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== - compress-brotli@^1.3.8: version "1.3.8" resolved "https://registry.yarnpkg.com/compress-brotli/-/compress-brotli-1.3.8.tgz#0c0a60c97a989145314ec381e84e26682e7b38db" @@ -3927,35 +2292,6 @@ concat-map@0.0.1: resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= -concat-stream@^1.6.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" - -concat-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-2.0.0.tgz#414cf5af790a48c60ab9be4527d56d5e41133cb1" - integrity sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A== - dependencies: - buffer-from "^1.0.0" - inherits "^2.0.3" - readable-stream "^3.0.2" - typedarray "^0.0.6" - -concat-stream@~1.5.0: - version "1.5.2" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.5.2.tgz#708978624d856af41a5a741defdd261da752c266" - integrity sha1-cIl4Yk2FavQaWnQd790mHadSwmY= - dependencies: - inherits "~2.0.1" - readable-stream "~2.0.0" - typedarray "~0.0.5" - concurrently@^7.4.0: version "7.4.0" resolved "https://registry.yarnpkg.com/concurrently/-/concurrently-7.4.0.tgz#bb0e344964bc172673577c420db21e963f2f7368" @@ -3983,12 +2319,7 @@ 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== -continuable-cache@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/continuable-cache/-/continuable-cache-0.3.1.tgz#bd727a7faed77e71ff3985ac93351a912733ad0f" - integrity sha1-vXJ6f67XfnH/OYWskzUakSczrQ8= - -conventional-changelog-angular@^5.0.11, conventional-changelog-angular@^5.0.12: +conventional-changelog-angular@^5.0.11: version "5.0.13" resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz#896885d63b914a70d4934b59d2fe7bde1832b28c" integrity sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA== @@ -3996,34 +2327,6 @@ conventional-changelog-angular@^5.0.11, conventional-changelog-angular@^5.0.12: compare-func "^2.0.0" q "^1.5.1" -conventional-changelog-atom@^2.0.8: - version "2.0.8" - resolved "https://registry.yarnpkg.com/conventional-changelog-atom/-/conventional-changelog-atom-2.0.8.tgz#a759ec61c22d1c1196925fca88fe3ae89fd7d8de" - integrity sha512-xo6v46icsFTK3bb7dY/8m2qvc8sZemRgdqLb/bjpBsH2UyOS8rKNTgcb5025Hri6IpANPApbXMg15QLb1LJpBw== - dependencies: - q "^1.5.1" - -conventional-changelog-codemirror@^2.0.8: - version "2.0.8" - resolved "https://registry.yarnpkg.com/conventional-changelog-codemirror/-/conventional-changelog-codemirror-2.0.8.tgz#398e9530f08ce34ec4640af98eeaf3022eb1f7dc" - integrity sha512-z5DAsn3uj1Vfp7po3gpt2Boc+Bdwmw2++ZHa5Ak9k0UKsYAO5mH1UBTN0qSCuJZREIhX6WU4E1p3IW2oRCNzQw== - dependencies: - q "^1.5.1" - -conventional-changelog-config-spec@2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/conventional-changelog-config-spec/-/conventional-changelog-config-spec-2.1.0.tgz#874a635287ef8b581fd8558532bf655d4fb59f2d" - integrity sha512-IpVePh16EbbB02V+UA+HQnnPIohgXvJRxHcS5+Uwk4AT5LjzCZJm5sp/yqs5C6KZJ1jMsV4paEV13BN1pvDuxQ== - -conventional-changelog-conventionalcommits@4.6.1, conventional-changelog-conventionalcommits@^4.5.0: - version "4.6.1" - resolved "https://registry.yarnpkg.com/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.6.1.tgz#f4c0921937050674e578dc7875f908351ccf4014" - integrity sha512-lzWJpPZhbM1R0PIzkwzGBCnAkH5RKJzJfFQZcl/D+2lsJxAwGnDKBqn/F4C1RD31GJNn8NuKWQzAZDAVXPp2Mw== - dependencies: - compare-func "^2.0.0" - lodash "^4.17.15" - q "^1.5.1" - conventional-changelog-conventionalcommits@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-5.0.0.tgz#41bdce54eb65a848a4a3ffdca93e92fa22b64a86" @@ -4033,108 +2336,7 @@ conventional-changelog-conventionalcommits@^5.0.0: lodash "^4.17.15" q "^1.5.1" -conventional-changelog-core@^4.2.1: - version "4.2.4" - resolved "https://registry.yarnpkg.com/conventional-changelog-core/-/conventional-changelog-core-4.2.4.tgz#e50d047e8ebacf63fac3dc67bf918177001e1e9f" - integrity sha512-gDVS+zVJHE2v4SLc6B0sLsPiloR0ygU7HaDW14aNJE1v4SlqJPILPl/aJC7YdtRE4CybBf8gDwObBvKha8Xlyg== - dependencies: - add-stream "^1.0.0" - conventional-changelog-writer "^5.0.0" - conventional-commits-parser "^3.2.0" - dateformat "^3.0.0" - get-pkg-repo "^4.0.0" - git-raw-commits "^2.0.8" - git-remote-origin-url "^2.0.0" - git-semver-tags "^4.1.1" - lodash "^4.17.15" - normalize-package-data "^3.0.0" - q "^1.5.1" - read-pkg "^3.0.0" - read-pkg-up "^3.0.0" - through2 "^4.0.0" - -conventional-changelog-ember@^2.0.9: - version "2.0.9" - resolved "https://registry.yarnpkg.com/conventional-changelog-ember/-/conventional-changelog-ember-2.0.9.tgz#619b37ec708be9e74a220f4dcf79212ae1c92962" - integrity sha512-ulzIReoZEvZCBDhcNYfDIsLTHzYHc7awh+eI44ZtV5cx6LVxLlVtEmcO+2/kGIHGtw+qVabJYjdI5cJOQgXh1A== - dependencies: - q "^1.5.1" - -conventional-changelog-eslint@^3.0.9: - version "3.0.9" - resolved "https://registry.yarnpkg.com/conventional-changelog-eslint/-/conventional-changelog-eslint-3.0.9.tgz#689bd0a470e02f7baafe21a495880deea18b7cdb" - integrity sha512-6NpUCMgU8qmWmyAMSZO5NrRd7rTgErjrm4VASam2u5jrZS0n38V7Y9CzTtLT2qwz5xEChDR4BduoWIr8TfwvXA== - dependencies: - q "^1.5.1" - -conventional-changelog-express@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/conventional-changelog-express/-/conventional-changelog-express-2.0.6.tgz#420c9d92a347b72a91544750bffa9387665a6ee8" - integrity sha512-SDez2f3iVJw6V563O3pRtNwXtQaSmEfTCaTBPCqn0oG0mfkq0rX4hHBq5P7De2MncoRixrALj3u3oQsNK+Q0pQ== - dependencies: - q "^1.5.1" - -conventional-changelog-jquery@^3.0.11: - version "3.0.11" - resolved "https://registry.yarnpkg.com/conventional-changelog-jquery/-/conventional-changelog-jquery-3.0.11.tgz#d142207400f51c9e5bb588596598e24bba8994bf" - integrity sha512-x8AWz5/Td55F7+o/9LQ6cQIPwrCjfJQ5Zmfqi8thwUEKHstEn4kTIofXub7plf1xvFA2TqhZlq7fy5OmV6BOMw== - dependencies: - q "^1.5.1" - -conventional-changelog-jshint@^2.0.9: - version "2.0.9" - resolved "https://registry.yarnpkg.com/conventional-changelog-jshint/-/conventional-changelog-jshint-2.0.9.tgz#f2d7f23e6acd4927a238555d92c09b50fe3852ff" - integrity sha512-wMLdaIzq6TNnMHMy31hql02OEQ8nCQfExw1SE0hYL5KvU+JCTuPaDO+7JiogGT2gJAxiUGATdtYYfh+nT+6riA== - dependencies: - compare-func "^2.0.0" - q "^1.5.1" - -conventional-changelog-preset-loader@^2.3.4: - version "2.3.4" - resolved "https://registry.yarnpkg.com/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.3.4.tgz#14a855abbffd59027fd602581f1f34d9862ea44c" - integrity sha512-GEKRWkrSAZeTq5+YjUZOYxdHq+ci4dNwHvpaBC3+ENalzFWuCWa9EZXSuZBpkr72sMdKB+1fyDV4takK1Lf58g== - -conventional-changelog-writer@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/conventional-changelog-writer/-/conventional-changelog-writer-5.0.0.tgz#c4042f3f1542f2f41d7d2e0d6cad23aba8df8eec" - integrity sha512-HnDh9QHLNWfL6E1uHz6krZEQOgm8hN7z/m7tT16xwd802fwgMN0Wqd7AQYVkhpsjDUx/99oo+nGgvKF657XP5g== - dependencies: - conventional-commits-filter "^2.0.7" - dateformat "^3.0.0" - handlebars "^4.7.6" - json-stringify-safe "^5.0.1" - lodash "^4.17.15" - meow "^8.0.0" - semver "^6.0.0" - split "^1.0.0" - through2 "^4.0.0" - -conventional-changelog@3.1.24: - version "3.1.24" - resolved "https://registry.yarnpkg.com/conventional-changelog/-/conventional-changelog-3.1.24.tgz#ebd180b0fd1b2e1f0095c4b04fd088698348a464" - integrity sha512-ed6k8PO00UVvhExYohroVPXcOJ/K1N0/drJHx/faTH37OIZthlecuLIRX/T6uOp682CAoVoFpu+sSEaeuH6Asg== - dependencies: - conventional-changelog-angular "^5.0.12" - conventional-changelog-atom "^2.0.8" - conventional-changelog-codemirror "^2.0.8" - conventional-changelog-conventionalcommits "^4.5.0" - conventional-changelog-core "^4.2.1" - conventional-changelog-ember "^2.0.9" - conventional-changelog-eslint "^3.0.9" - conventional-changelog-express "^2.0.6" - conventional-changelog-jquery "^3.0.11" - conventional-changelog-jshint "^2.0.9" - conventional-changelog-preset-loader "^2.3.4" - -conventional-commits-filter@^2.0.7: - version "2.0.7" - resolved "https://registry.yarnpkg.com/conventional-commits-filter/-/conventional-commits-filter-2.0.7.tgz#f8d9b4f182fce00c9af7139da49365b136c8a0b3" - integrity sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA== - dependencies: - lodash.ismatch "^4.4.0" - modify-values "^1.0.0" - -conventional-commits-parser@^3.2.0, conventional-commits-parser@^3.2.2: +conventional-commits-parser@^3.2.2: version "3.2.3" resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-3.2.3.tgz#fc43704698239451e3ef35fd1d8ed644f46bd86e" integrity sha512-YyRDR7On9H07ICFpRm/igcdjIqebXbvf4Cff+Pf0BrBys1i1EOzx9iFXNlAbdrLAR8jf7bkUYkDAr8pEy0q4Pw== @@ -4146,21 +2348,7 @@ conventional-commits-parser@^3.2.0, conventional-commits-parser@^3.2.2: split2 "^3.0.0" through2 "^4.0.0" -conventional-recommended-bump@6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/conventional-recommended-bump/-/conventional-recommended-bump-6.1.0.tgz#cfa623285d1de554012f2ffde70d9c8a22231f55" - integrity sha512-uiApbSiNGM/kkdL9GTOLAqC4hbptObFo4wW2QRyHsKciGAfQuLU1ShZ1BIVI/+K2BE/W1AWYQMCXAsv4dyKPaw== - dependencies: - concat-stream "^2.0.0" - conventional-changelog-preset-loader "^2.3.4" - conventional-commits-filter "^2.0.7" - conventional-commits-parser "^3.2.0" - git-raw-commits "^2.0.8" - git-semver-tags "^4.1.1" - meow "^8.0.0" - q "^1.5.1" - -convert-source-map@^1.5.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: +convert-source-map@^1.6.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== @@ -4177,19 +2365,6 @@ cookie@0.5.0: resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b" integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== -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= - -core-js-compat@^3.21.0, core-js-compat@^3.22.1: - version "3.23.3" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.23.3.tgz#7d8503185be76bb6d8d592c291a4457a8e440aa9" - integrity sha512-WSzUs2h2vvmKsacLHNTdpyOC9k43AEhcGoFlVgCY4L7aw98oSBKtPL6vD0/TqZjRWRQYdDSLkzZIni4Crbbiqw== - dependencies: - browserslist "^4.21.0" - semver "7.0.0" - core-util-is@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" @@ -4635,22 +2810,12 @@ date-fns@^2.29.1: resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.29.3.tgz#27402d2fc67eb442b511b70bbdf98e6411cd68a8" integrity sha512-dDCnyH2WnnKusqvZZ6+jA1O51Ibt8ZMRNkDZdyAyK4YfbDwa/cEmuztzG5pk6hqlp9aSBPYcjOlktquahGwGeA== -dateformat@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae" - integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q== - dayjs@^1.10.4: version "1.10.7" resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.10.7.tgz#2cf5f91add28116748440866a0a1d26f3a6ce468" integrity sha512-P6twpd70BcPK34K26uJ1KT3wlhpuOAPoMwJzpsIWUxHZ7wpmbdZL/hQqBDfz7hGurYSa5PhzdhDHtt319hL3ig== -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: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== @@ -4686,7 +2851,7 @@ decamelize-keys@^1.1.0: decamelize "^1.1.0" map-obj "^1.0.0" -decamelize@^1.1.0, decamelize@^1.2.0: +decamelize@^1.1.0: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= @@ -4703,11 +2868,6 @@ decode-named-character-reference@^1.0.0: dependencies: character-entities "^2.0.0" -decode-uri-component@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" - integrity sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og== - decompress-response@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc" @@ -4737,40 +2897,6 @@ defer-to-connect@^2.0.0: resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-2.0.1.tgz#8016bdb4143e4632b77a3449c6236277de520587" integrity sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg== -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== - dependencies: - object-keys "^1.0.12" - -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" - -defined@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693" - integrity sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM= - degenerator@^3.0.1: version "3.0.2" resolved "https://registry.yarnpkg.com/degenerator/-/degenerator-3.0.2.tgz#6a61fcc42a702d6e50ff6023fe17bff435f68235" @@ -4813,32 +2939,6 @@ destroy@1.2.0: resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== -detab@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/detab/-/detab-2.0.4.tgz#b927892069aff405fbb9a186fe97a44a92a94b43" - integrity sha512-8zdsQA5bIkoRECvCrNKPla84lyoR7DSAyf7p0YgXzBO9PDJx8KntPUay7NS6yp+KdxdVtiE5SpHKtbp2ZQyA9g== - dependencies: - repeat-string "^1.5.4" - -detect-indent@^6.0.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.1.0.tgz#592485ebbbf6b3b1ab2be175c8393d04ca0d57e6" - integrity sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA== - -detect-newline@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" - integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== - -detective@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/detective/-/detective-5.2.0.tgz#feb2a77e85b904ecdea459ad897cc90a99bd2a7b" - integrity sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg== - dependencies: - acorn-node "^1.6.1" - defined "^1.0.0" - minimist "^1.1.1" - diff@^4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" @@ -4856,13 +2956,6 @@ dir-glob@^3.0.1: dependencies: path-type "^4.0.0" -doctrine-temporary-fork@2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/doctrine-temporary-fork/-/doctrine-temporary-fork-2.1.0.tgz#36f2154f556ee4f1e60311d391cd23de5187ed57" - integrity sha512-nliqOv5NkE4zMON4UA6AMJE6As35afs8aYXATpU4pTUdIKiARZwrJVEP1boA3Rx1ZXHVkwxkhcq4VkqvsuRLsA== - dependencies: - esutils "^2.0.2" - doctrine@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" @@ -4870,78 +2963,6 @@ doctrine@^3.0.0: dependencies: esutils "^2.0.2" -documentation@13.2.0: - version "13.2.0" - resolved "https://registry.yarnpkg.com/documentation/-/documentation-13.2.0.tgz#7ceef4a2b795e3b6095e6cadbce89d3568097406" - integrity sha512-c7lIXNZ9t3481c+OGpj4lWPhtdmQilg4E04wc6TXH1gYg2wWu+/f3c60Otg2HDRVnCQoXrozSWuUYNl7y7FJxw== - dependencies: - "@babel/core" "7.12.3" - "@babel/generator" "7.12.1" - "@babel/parser" "7.12.3" - "@babel/plugin-proposal-class-properties" "^7.12.1" - "@babel/plugin-proposal-decorators" "^7.12.1" - "@babel/plugin-proposal-do-expressions" "^7.12.1" - "@babel/plugin-proposal-export-default-from" "^7.12.1" - "@babel/plugin-proposal-export-namespace-from" "^7.12.1" - "@babel/plugin-proposal-function-bind" "^7.12.1" - "@babel/plugin-proposal-function-sent" "^7.12.1" - "@babel/plugin-proposal-json-strings" "^7.12.1" - "@babel/plugin-proposal-logical-assignment-operators" "^7.12.1" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.12.1" - "@babel/plugin-proposal-numeric-separator" "^7.12.1" - "@babel/plugin-proposal-optional-chaining" "^7.12.1" - "@babel/plugin-proposal-pipeline-operator" "^7.12.1" - "@babel/plugin-proposal-private-methods" "^7.12.1" - "@babel/plugin-proposal-throw-expressions" "^7.12.1" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - "@babel/plugin-syntax-import-meta" "^7.10.4" - "@babel/preset-env" "^7.12.1" - "@babel/preset-flow" "^7.9.0" - "@babel/preset-react" "^7.9.4" - "@babel/preset-stage-0" "^7.8.3" - "@babel/traverse" "^7.12.1" - "@babel/types" "^7.12.1" - ansi-html "^0.0.7" - babelify "^10.0.0" - chalk "^2.3.0" - chokidar "^3.4.0" - concat-stream "^1.6.0" - diff "^4.0.1" - doctrine-temporary-fork "2.1.0" - get-port "^5.0.0" - git-url-parse "^11.1.2" - github-slugger "1.2.0" - glob "^7.1.2" - globals-docs "^2.4.0" - highlight.js "^10.5.0" - ini "^1.3.5" - js-yaml "^3.10.0" - lodash "^4.17.10" - mdast-util-inject "^1.1.0" - micromatch "^3.1.5" - mime "^2.2.0" - module-deps-sortable "^5.0.3" - parse-filepath "^1.0.2" - pify "^5.0.0" - read-pkg-up "^4.0.0" - remark "^9.0.0" - remark-html "^8.0.0" - remark-reference-links "^4.0.1" - remark-toc "^5.0.0" - resolve "^1.8.1" - stream-array "^1.1.2" - strip-json-comments "^2.0.1" - tiny-lr "^1.1.0" - unist-builder "^1.0.2" - unist-util-visit "^1.3.0" - vfile "^4.0.0" - vfile-reporter "^6.0.0" - vfile-sort "^2.1.0" - vinyl "^2.1.0" - vinyl-fs "^3.0.2" - vue-template-compiler "^2.5.16" - yargs "^15.3.1" - dom-serializer@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-2.0.0.tgz#e41b802e1eedf9f6cae183ce5e622d789d7d8e53" @@ -4991,36 +3012,11 @@ dot-prop@^5.1.0: dependencies: is-obj "^2.0.0" -dotgitignore@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/dotgitignore/-/dotgitignore-2.1.0.tgz#a4b15a4e4ef3cf383598aaf1dfa4a04bcc089b7b" - integrity sha512-sCm11ak2oY6DglEPpCB8TixLjWAxd3kJTs6UIcSasNYxXdFPV+YKlye92c8H4kKFqV5qYMIh7d+cYecEg0dIkA== - dependencies: - find-up "^3.0.0" - minimatch "^3.0.4" - -duplexer2@^0.1.2, duplexer2@~0.1.0: - version "0.1.4" - resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1" - integrity sha1-ixLauHjA1p4+eJEFFmKjL8a93ME= - dependencies: - readable-stream "^2.0.2" - duplexer@~0.1.1: version "0.1.2" resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== -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" - ebnf-parser@0.1.10: version "0.1.10" resolved "https://registry.yarnpkg.com/ebnf-parser/-/ebnf-parser-0.1.10.tgz#cd1f6ba477c5638c40c97ed9b572db5bab5d8331" @@ -5039,21 +3035,6 @@ ee-first@1.1.1: resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= -electron-to-chromium@^1.4.172: - version "1.4.177" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.177.tgz#b6a4436eb788ca732556cd69f384b8a3c82118c5" - integrity sha512-FYPir3NSBEGexSZUEeht81oVhHfLFl6mhUKSkjHN/iB/TwEIt/WHQrqVGfTLN5gQxwJCQkIJBe05eOXjI7omgg== - -electron-to-chromium@^1.4.251: - version "1.4.256" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.256.tgz#c735032f412505e8e0482f147a8ff10cfca45bf4" - integrity sha512-x+JnqyluoJv8I0U9gVe+Sk2st8vF0CzMt78SXxuoWCooLLY2k5VerIBdpvG7ql6GKI4dzNnPjmqgDJ76EdaAKw== - -"emoji-regex@>=6.0.0 <=6.1.1": - version "6.1.1" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-6.1.1.tgz#c6cd0ec1b0642e2a3c67a1137efc5e796da4f88e" - integrity sha1-xs0OwbBkLio8Z6ETfvxeeW2k+I4= - emoji-regex@^8.0.0: version "8.0.0" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" @@ -5069,7 +3050,7 @@ encodeurl@~1.0.2: resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= -end-of-stream@^1.0.0, end-of-stream@^1.1.0: +end-of-stream@^1.1.0: 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== @@ -5100,13 +3081,6 @@ error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" -error@^7.0.0: - version "7.2.1" - resolved "https://registry.yarnpkg.com/error/-/error-7.2.1.tgz#eab21a4689b5f684fc83da84a0e390de82d94894" - integrity sha512-fo9HBvWnx3NGUKMvMwB/CBCMMrfEJgbDTVDEkPygA3Bdd3lM1OyCd+rbQ8BwnpF6GdVeOLDNmyL4N5Bg80ZvdA== - dependencies: - string-template "~0.2.1" - esbuild-android-64@0.15.8: version "0.15.8" resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.8.tgz#625863e705d4ed32a3b4c0b997dbf9454d50a455" @@ -5585,19 +3559,6 @@ executable@^4.1.1: dependencies: pify "^2.2.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" - express@^4.18.1: version "4.18.1" resolved "https://registry.yarnpkg.com/express/-/express-4.18.1.tgz#7797de8b9c72c857b9cd0e14a5eea80666267caf" @@ -5635,40 +3596,11 @@ express@^4.18.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.0, 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" - extract-zip@2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-2.0.1.tgz#663dca56fe46df890d5f131ef4a06d22bb8ba13a" @@ -5728,13 +3660,6 @@ fastq@^1.6.0: dependencies: reusify "^1.0.4" -faye-websocket@~0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4" - integrity sha1-TkkvjQTftviQA1B/btvy1QHnxvQ= - dependencies: - websocket-driver ">=0.5.1" - fd-slicer@~1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e" @@ -5742,7 +3667,7 @@ fd-slicer@~1.1.0: dependencies: pend "~1.2.0" -figures@^3.1.0, figures@^3.2.0: +figures@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== @@ -5761,16 +3686,6 @@ file-uri-to-path@2: resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-2.0.0.tgz#7b415aeba227d575851e0a5b0c640d7656403fba" integrity sha512-hjPFI8oE/2iQPVe4gbrJ73Pp+Xfub2+WI2LlXDbsaJBwT5wuMh35WNWVYYTpnz895shtwfyutMFLFywpQAFdLg== -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" @@ -5778,11 +3693,6 @@ fill-range@^7.0.1: dependencies: to-regex-range "^5.0.1" -filter-obj@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/filter-obj/-/filter-obj-1.1.0.tgz#9b311112bc6c6127a16e016c6c5d7f19e0805c5b" - integrity sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ== - finalhandler@1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.2.0.tgz#7d23fe5731b207b4640e4fcd00aec1f9207a7b32" @@ -5796,13 +3706,6 @@ finalhandler@1.2.0: statuses "2.0.1" unpipe "~1.0.0" -find-up@^2.0.0: - version "2.1.0" - 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" @@ -5839,24 +3742,11 @@ flatted@^3.1.0: resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.4.tgz#28d9969ea90661b5134259f312ab6aa7929ac5e2" integrity sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw== -flush-write-stream@^1.0.2: - 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== - dependencies: - inherits "^2.0.3" - readable-stream "^2.3.6" - follow-redirects@^1.14.0, follow-redirects@^1.14.8: version "1.15.0" resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.0.tgz#06441868281c86d0dda4ad8bdaead2d02dca89d4" integrity sha512-aExlJShTV4qOUOL7yF1U5tvLCB0xQuudbf6toyYA0E/acBNw71mvjFTnLaRp50aQaYocMR0a/RMMBIHeZnGyjQ== -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= - foreground-child@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-2.0.0.tgz#71b32800c9f15aa8f2f83f4a6bd9bff35d861a53" @@ -5893,13 +3783,6 @@ forwarded@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" @@ -5910,13 +3793,6 @@ from@~0: resolved "https://registry.yarnpkg.com/from/-/from-0.1.7.tgz#83c60afc58b9c56997007ed1a768b3ab303a44fe" integrity sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4= -fs-access@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/fs-access/-/fs-access-1.0.1.tgz#d6a87f262271cefebec30c553407fb995da8777a" - integrity sha1-1qh/JiJxzv6+wwxVNAf7mV2od3o= - dependencies: - null-check "^1.0.0" - fs-extra@^10.0.0: version "10.0.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.0.0.tgz#9ff61b655dde53fb34a82df84bb214ce802e17c1" @@ -5954,14 +3830,6 @@ fs-extra@^9.1.0: jsonfile "^6.0.1" universalify "^2.0.0" -fs-mkdirp-stream@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz#0b7815fc3201c6a69e14db98ce098c16935259eb" - integrity sha1-C3gV/DIBxqaeFNuYzgmMFpNSWes= - dependencies: - graceful-fs "^4.1.11" - through2 "^2.0.3" - fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" @@ -5990,12 +3858,7 @@ functional-red-black-tree@^1.0.1: resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= -gensync@^1.0.0-beta.1: - 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== @@ -6014,21 +3877,6 @@ get-intrinsic@^1.0.2: has "^1.0.3" has-symbols "^1.0.3" -get-pkg-repo@^4.0.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/get-pkg-repo/-/get-pkg-repo-4.2.1.tgz#75973e1c8050c73f48190c52047c4cee3acbf385" - integrity sha512-2+QbHjFRfGB74v/pYWjd5OhU3TDIC2Gv/YKUTk/tCvAz0pkn/Mz6P3uByuBimLOcPvN2jYdScl3xGFSrx0jEcA== - dependencies: - "@hutson/parse-repository-url" "^3.0.0" - hosted-git-info "^4.0.0" - through2 "^2.0.0" - yargs "^16.2.0" - -get-port@^5.0.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/get-port/-/get-port-5.1.1.tgz#0469ed07563479de6efb986baf053dcd7d4e3193" - integrity sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ== - get-stdin@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-5.0.1.tgz#122e161591e21ff4c52530305693f20e6393a398" @@ -6065,11 +3913,6 @@ get-uri@3: fs-extra "^8.1.0" ftp "^0.3.10" -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= - getos@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/getos/-/getos-3.2.1.tgz#0134d1f4e00eb46144c5a9c0ac4dc087cbb27dc5" @@ -6084,7 +3927,7 @@ getpass@^0.1.1: dependencies: assert-plus "^1.0.0" -git-raw-commits@^2.0.0, git-raw-commits@^2.0.8: +git-raw-commits@^2.0.0: version "2.0.10" resolved "https://registry.yarnpkg.com/git-raw-commits/-/git-raw-commits-2.0.10.tgz#e2255ed9563b1c9c3ea6bd05806410290297bbc1" integrity sha512-sHhX5lsbG9SOO6yXdlwgEMQ/ljIn7qMpAbJZCGfXX2fq5T8M5SrDnpYk9/4HswTildcIqatsWa91vty6VhWSaQ== @@ -6095,65 +3938,7 @@ git-raw-commits@^2.0.0, git-raw-commits@^2.0.8: split2 "^3.0.0" through2 "^4.0.0" -git-remote-origin-url@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz#5282659dae2107145a11126112ad3216ec5fa65f" - integrity sha1-UoJlna4hBxRaERJhEq0yFuxfpl8= - dependencies: - gitconfiglocal "^1.0.0" - pify "^2.3.0" - -git-semver-tags@^4.0.0, git-semver-tags@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/git-semver-tags/-/git-semver-tags-4.1.1.tgz#63191bcd809b0ec3e151ba4751c16c444e5b5780" - integrity sha512-OWyMt5zBe7xFs8vglMmhM9lRQzCWL3WjHtxNNfJTMngGym7pC1kh8sP6jevfydJ6LP3ZvGxfb6ABYgPUM0mtsA== - dependencies: - meow "^8.0.0" - semver "^6.0.0" - -git-up@^4.0.0: - version "4.0.5" - resolved "https://registry.yarnpkg.com/git-up/-/git-up-4.0.5.tgz#e7bb70981a37ea2fb8fe049669800a1f9a01d759" - integrity sha512-YUvVDg/vX3d0syBsk/CKUTib0srcQME0JyHkL5BaYdwLsiCslPWmDSi8PUMo9pXYjrryMcmsCoCgsTpSCJEQaA== - dependencies: - is-ssh "^1.3.0" - parse-url "^6.0.0" - -git-url-parse@^11.1.2: - version "11.6.0" - resolved "https://registry.yarnpkg.com/git-url-parse/-/git-url-parse-11.6.0.tgz#c634b8de7faa66498a2b88932df31702c67df605" - integrity sha512-WWUxvJs5HsyHL6L08wOusa/IXYtMuCAhrMmnTjQPpBU0TTHyDhnOATNH3xNQz7YOQUsqIIPTGr4xiVti1Hsk5g== - dependencies: - git-up "^4.0.0" - -gitconfiglocal@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz#41d045f3851a5ea88f03f24ca1c6178114464b9b" - integrity sha1-QdBF84UaXqiPA/JMocYXgRRGS5s= - dependencies: - ini "^1.3.2" - -github-slugger@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/github-slugger/-/github-slugger-1.2.0.tgz#8ada3286fd046d8951c3c952a8d7854cfd90fd9a" - integrity sha512-wIaa75k1vZhyPm9yWrD08A5Xnx/V+RmzGrpjQuLemGKSb77Qukiaei58Bogrl/LZSADDfPzKJX8jhLs4CRTl7Q== - dependencies: - emoji-regex ">=6.0.0 <=6.1.1" - -github-slugger@^1.0.0, github-slugger@^1.2.1: - version "1.4.0" - resolved "https://registry.yarnpkg.com/github-slugger/-/github-slugger-1.4.0.tgz#206eb96cdb22ee56fdc53a28d5a302338463444e" - integrity sha512-w0dzqw/nt51xMVmlaV1+JRzN+oCa1KfcgGEWhxUG16wbdA+Xnt/yoFO8Z8x/V82ZcZ0wy6ln9QDup5avbhiDhQ== - -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.2, 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== @@ -6167,23 +3952,7 @@ glob-parent@^6.0.1: dependencies: is-glob "^4.0.3" -glob-stream@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/glob-stream/-/glob-stream-6.1.0.tgz#7045c99413b3eb94888d83ab46d0b404cc7bdde4" - integrity sha1-cEXJlBOz65SIjYOrRtC0BMx73eQ= - dependencies: - extend "^3.0.0" - glob "^7.1.1" - glob-parent "^3.1.0" - is-negated-glob "^1.0.0" - ordered-read-streams "^1.0.0" - pumpify "^1.3.5" - readable-stream "^2.1.5" - remove-trailing-separator "^1.0.1" - to-absolute-glob "^2.0.0" - unique-stream "^2.0.2" - -glob@^7.1.1, glob@^7.1.2, glob@^7.1.3: +glob@^7.1.2, glob@^7.1.3: version "7.2.0" resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== @@ -6221,12 +3990,7 @@ global-dirs@^3.0.0: dependencies: ini "2.0.0" -globals-docs@^2.4.0: - version "2.4.1" - resolved "https://registry.yarnpkg.com/globals-docs/-/globals-docs-2.4.1.tgz#d16887709f4a15eb22d97e96343591f87a2ee3db" - integrity sha512-qpPnUKkWnz8NESjrCvnlGklsgiQzlq+rcCxoG5uNQ+dNA7cFMCmn231slLAwS2N/PlkzZ3COL8CcS10jXmLHqg== - -globals@^11.1.0, globals@^11.12.0: +globals@^11.12.0: version "11.12.0" resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== @@ -6283,7 +4047,7 @@ got@^11.0.2, got@^11.8.1: p-cancelable "^2.0.0" responselike "^2.0.0" -graceful-fs@^4.0.0, graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0: +graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0: version "4.2.9" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.9.tgz#041b05df45755e587a24942279b9d113146e1c96" integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ== @@ -6300,18 +4064,6 @@ graphlib@^2.1.8: dependencies: lodash "^4.17.15" -handlebars@^4.7.6: - version "4.7.7" - resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.7.tgz#9ce33416aad02dbd6c8fafa8240d5d98004945a1" - integrity sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA== - dependencies: - minimist "^1.2.5" - neo-async "^2.6.0" - source-map "^0.6.1" - wordwrap "^1.0.0" - optionalDependencies: - uglify-js "^3.1.4" - har-schema@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" @@ -6357,47 +4109,11 @@ has-flag@^4.0.0: resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== -has-symbols@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423" - integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw== - has-symbols@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== -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@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" @@ -6405,55 +4121,12 @@ has@^1.0.3: dependencies: function-bind "^1.1.1" -hast-util-is-element@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/hast-util-is-element/-/hast-util-is-element-1.1.0.tgz#3b3ed5159a2707c6137b48637fbfe068e175a425" - integrity sha512-oUmNua0bFbdrD/ELDSSEadRVtWZOf3iF6Lbv81naqsIV99RnSCieTbWuWCY8BAeEfKJTKl0gRdokv+dELutHGQ== - -hast-util-sanitize@^1.0.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/hast-util-sanitize/-/hast-util-sanitize-1.3.1.tgz#4e60d66336bd67e52354d581967467029a933f2e" - integrity sha512-AIeKHuHx0Wk45nSkGVa2/ujQYTksnDl8gmmKo/mwQi7ag7IBZ8cM3nJ2G86SajbjGP/HRpud6kMkPtcM2i0Tlw== - dependencies: - xtend "^4.0.1" - -hast-util-to-html@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/hast-util-to-html/-/hast-util-to-html-4.0.1.tgz#3666b05afb62bd69f8f5e6c94db04dea19438e2a" - integrity sha512-2emzwyf0xEsc4TBIPmDJmBttIw8R4SXAJiJZoiRR/s47ODYWgOqNoDbf2SJAbMbfNdFWMiCSOrI3OVnX6Qq2Mg== - dependencies: - ccount "^1.0.0" - comma-separated-tokens "^1.0.1" - hast-util-is-element "^1.0.0" - hast-util-whitespace "^1.0.0" - html-void-elements "^1.0.0" - property-information "^4.0.0" - space-separated-tokens "^1.0.0" - stringify-entities "^1.0.1" - unist-util-is "^2.0.0" - xtend "^4.0.1" - -hast-util-whitespace@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/hast-util-whitespace/-/hast-util-whitespace-1.0.4.tgz#e4fe77c4a9ae1cb2e6c25e02df0043d0164f6e41" - integrity sha512-I5GTdSfhYfAPNztx2xJRQpG8cuDSNt599/7YUn7Gx/WxNMsG+a835k97TDkFgk123cwjfwINaZknkKkphx/f2A== - -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== - -highlight.js@^10.5.0: - version "10.7.3" - resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-10.7.3.tgz#697272e3991356e40c3cac566a74eef681756531" - integrity sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A== - hosted-git-info@^2.1.4: version "2.8.9" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== -hosted-git-info@^4.0.0, hosted-git-info@^4.0.1: +hosted-git-info@^4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.0.2.tgz#5e425507eede4fea846b7262f0838456c4209961" integrity sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg== @@ -6472,11 +4145,6 @@ html-escaper@^2.0.0: resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== -html-void-elements@^1.0.0: - version "1.0.5" - resolved "https://registry.yarnpkg.com/html-void-elements/-/html-void-elements-1.0.5.tgz#ce9159494e86d95e45795b166c2021c2cfca4483" - integrity sha512-uE/TxKuyNIcx44cIWnjr/rfIATDH7ZaOMmstu0CwhFG1Dunhlp4OC6/NMbhiwoq5BpW0ubi303qnEk/PZj614w== - htmlparser2@^8.0.1: version "8.0.1" resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-8.0.1.tgz#abaa985474fcefe269bc761a779b544d7196d010" @@ -6503,11 +4171,6 @@ http-errors@2.0.0: statuses "2.0.1" toidentifier "1.0.1" -http-parser-js@>=0.5.1: - version "0.5.5" - resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.5.tgz#d7c30d5d3c90d865b4a2e870181f9d6f22ac7ac5" - integrity sha512-x+JVEkO2PoM8qqpbPbOL3cqHPwerep7OwzK7Ay+sMQjKzaKCqWvjoXm5tqMP9tXWWTnTzAjIhXg+J99XYuPhPA== - http-proxy-agent@^4.0.0, http-proxy-agent@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" @@ -6644,7 +4307,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@2.0.4, inherits@^2.0.0, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.1, inherits@~2.0.3: +inherits@2, inherits@2.0.4, inherits@^2.0.3, inherits@~2.0.1: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== @@ -6654,7 +4317,7 @@ ini@2.0.0: resolved "https://registry.yarnpkg.com/ini/-/ini-2.0.0.tgz#e5fd556ecdd5726be978fa1001862eacb0a94bc5" integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA== -ini@^1.3.2, ini@^1.3.4, ini@^1.3.5: +ini@^1.3.4: version "1.3.8" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== @@ -6674,38 +4337,11 @@ ipaddr.js@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== -is-absolute@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-absolute/-/is-absolute-1.0.0.tgz#395e1ae84b11f26ad1795e73c17378e48a301576" - integrity sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA== - dependencies: - is-relative "^1.0.0" - is-windows "^1.0.1" - -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-alphabetical@^1.0.0: version "1.0.4" resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-1.0.4.tgz#9e7d6b94916be22153745d184c298cbf986a686d" integrity sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg== -is-alphanumeric@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-alphanumeric/-/is-alphanumeric-1.0.0.tgz#4a9cef71daf4c001c1d81d63d140cf53fd6889f4" - integrity sha1-Spzvcdr0wAHB2B1j0UDPU/1oifQ= - is-alphanumerical@^1.0.0: version "1.0.4" resolved "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz#7eb9a2431f855f6b1ef1a78e326df515696c4dbf" @@ -6719,18 +4355,6 @@ is-arrayish@^0.2.1: resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= -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" - integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== - dependencies: - binary-extensions "^2.0.0" - -is-buffer@^1.1.4, 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-buffer@^2.0.0: version "2.0.5" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191" @@ -6757,56 +4381,12 @@ 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-decimal@^1.0.0: version "1.0.4" resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-1.0.4.tgz#65a3a5958a1c5b63a706e1b333d7cd9f630d3fa5" integrity sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw== -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-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= @@ -6821,14 +4401,7 @@ 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.3, is-glob@~4.0.1: +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== @@ -6848,18 +4421,6 @@ is-installed-globally@~0.4.0: global-dirs "^3.0.0" is-path-inside "^3.0.2" -is-negated-glob@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-negated-glob/-/is-negated-glob-1.0.0.tgz#6910bca5da8c95e784b5751b976cf5a10fee36d2" - integrity sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI= - -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" @@ -6885,32 +4446,11 @@ is-plain-obj@^4.0.0: resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-4.1.0.tgz#d65025edec3657ce032fd7db63c97883eaed71f0" integrity sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg== -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-potential-custom-element-name@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== -is-relative@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-relative/-/is-relative-1.0.0.tgz#a1bb6935ce8c5dba1e8b9754b9b2dcc020e2260d" - integrity sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA== - dependencies: - is-unc-path "^1.0.0" - -is-ssh@^1.3.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/is-ssh/-/is-ssh-1.4.0.tgz#4f8220601d2839d8fa624b3106f8e8884f01b8b2" - integrity sha512-x7+VxdxOdlV3CYpjvRLBv5Lo9OJerlYanjwFrPR9fuGPjCiNiCzFgAWpiLAohSbsnH4ZAys3SBh+hq5rJosxUQ== - dependencies: - protocols "^2.0.1" - is-stream@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" @@ -6938,70 +4478,21 @@ is-typedarray@~1.0.0: resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= -is-unc-path@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-unc-path/-/is-unc-path-1.0.0.tgz#d731e8898ed090a12c352ad2eaed5095ad322c9d" - integrity sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ== - dependencies: - unc-path-regex "^0.1.2" - is-unicode-supported@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== -is-utf8@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" - integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI= - -is-valid-glob@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-valid-glob/-/is-valid-glob-1.0.0.tgz#29bf3eff701be2d4d315dbacc39bc39fe8f601aa" - integrity sha1-Kb8+/3Ab4tTTFdusw5vDn+j2Aao= - -is-whitespace-character@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz#0858edd94a95594c7c9dd0b5c174ec6e45ee4aa7" - integrity sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w== - -is-windows@^1.0.1, 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-word-character@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-word-character/-/is-word-character-1.0.4.tgz#ce0e73216f98599060592f62ff31354ddbeb0230" - integrity sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA== - isarray@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= -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= - 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" @@ -7105,7 +4596,7 @@ js-tokens@^4.0.0: resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== -js-yaml@^3.10.0, js-yaml@^3.13.1: +js-yaml@^3.13.1: version "3.14.1" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== @@ -7163,26 +4654,11 @@ jsdom@^20.0.0: ws "^8.8.0" xml-name-validator "^4.0.0" -jsesc@^2.5.1: - version "2.5.2" - 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.1, json-buffer@~3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== -json-parse-better-errors@^1.0.1: - 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-parse-even-better-errors@^2.3.0: version "2.3.1" resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" @@ -7208,16 +4684,11 @@ json-stable-stringify-without-jsonify@^1.0.1: resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= -json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1: +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= -json5@^2.1.2: - version "2.2.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c" - integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA== - jsonc-parser@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.0.0.tgz#abdd785701c7e7eaca8a9ec8cf070ca51a745a22" @@ -7285,26 +4756,7 @@ khroma@^2.0.0: resolved "https://registry.yarnpkg.com/khroma/-/khroma-2.0.0.tgz#7577de98aed9f36c7a474c4d453d94c0d6c6588b" integrity sha512-2J8rDNlQWbtiNYThZRvmMv5yt44ZakX+Tz5ZIp/mN1pt4snn+m030Va5Z4v8xA0cQFDXBwO/8i42xL4QPsVk3g== -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, kind-of@^6.0.3: +kind-of@^6.0.3: 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== @@ -7314,14 +4766,6 @@ kleur@^4.0.3: resolved "https://registry.yarnpkg.com/kleur/-/kleur-4.1.4.tgz#8c202987d7e577766d039a8cd461934c01cda04d" integrity sha512-8QADVssbrFjivHWQU7KkMgptGTl6WAcSdlbBPY4uNF+mWr6DGcKrvY2w4FQJoXch7+fKMjj0dRrL75vk3k23OA== -konan@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/konan/-/konan-2.1.1.tgz#eea88f05c56249b78903b952b953393900346dd1" - integrity sha512-7ZhYV84UzJ0PR/RJnnsMZcAbn+kLasJhVNWsu8ZyVEJYRpGA5XESQ9d/7zOa08U0Ou4cmB++hMNY/3OSV9KIbg== - dependencies: - "@babel/parser" "^7.10.5" - "@babel/traverse" "^7.10.5" - ky@^0.28.5: version "0.28.7" resolved "https://registry.yarnpkg.com/ky/-/ky-0.28.7.tgz#10c42be863fb96c1846d6e71e229263ffb72eb15" @@ -7332,25 +4776,11 @@ lazy-ass@1.6.0, lazy-ass@^1.6.0: resolved "https://registry.yarnpkg.com/lazy-ass/-/lazy-ass-1.6.0.tgz#7999655e8646c17f089fdd187d150d3324d54513" integrity sha1-eZllXoZGwX8In90YfRUNMyTVRRM= -lazystream@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/lazystream/-/lazystream-1.0.1.tgz#494c831062f1f9408251ec44db1cba29242a2638" - integrity sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw== - dependencies: - readable-stream "^2.0.5" - lcov-parse@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/lcov-parse/-/lcov-parse-1.0.0.tgz#eb0d46b54111ebc561acb4c408ef9363bdc8f7e0" integrity sha512-aprLII/vPzuQvYZnDRU78Fns9I2Ag3gi4Ipga/hxnVMCZC8DnR2nI7XBqrPoywGfxqIx/DgarGvDJZAD3YBTgQ== -lead@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/lead/-/lead-1.0.0.tgz#6f14f99a37be3a9dd784f5495690e5903466ee42" - integrity sha1-bxT5mje+Op3XhPVJVpDlkDRm7kI= - dependencies: - flush-write-stream "^1.0.2" - levn@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" @@ -7429,34 +4859,11 @@ listr2@^4.0.5: through "^2.3.8" wrap-ansi "^7.0.0" -livereload-js@^2.3.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/livereload-js/-/livereload-js-2.4.0.tgz#447c31cf1ea9ab52fc20db615c5ddf678f78009c" - integrity sha512-XPQH8Z2GDP/Hwz2PCDrh2mth4yFejwA1OZ/81Ti3LgKyhDcEjsSsqFWZojHG0va/duGd+WyosY7eXLDoOyqcPw== - -load-json-file@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" - integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs= - dependencies: - graceful-fs "^4.1.2" - parse-json "^4.0.0" - pify "^3.0.0" - strip-bom "^3.0.0" - local-pkg@^0.4.2: version "0.4.2" resolved "https://registry.yarnpkg.com/local-pkg/-/local-pkg-0.4.2.tgz#13107310b77e74a0e513147a131a2ba288176c2f" integrity sha512-mlERgSPrbxU3BP4qBqAvvwlgW4MTg78iwJdGGnv7kibKjWcJksrG3t6LB5lXI93wXRDvG4NpUgJFmTG4T6rdrg== -locate-path@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" - integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= - dependencies: - 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" @@ -7479,16 +4886,6 @@ locate-path@^6.0.0: dependencies: p-locate "^5.0.0" -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.ismatch@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz#756cb5150ca3ba6f11085a78849645f188f85f37" - integrity sha1-dWy1FQyjum8RCFp4hJZF8Yj4Xzc= - lodash.merge@^4.6.1, lodash.merge@^4.6.2: version "4.6.2" resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" @@ -7499,7 +4896,7 @@ lodash.once@^4.1.1: resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" integrity sha1-DdOXEhPHxW34gJd9UEyI+0cal6w= -lodash@^4.17.10, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.21, lodash@^4.17.4: +lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.21, lodash@^4.17.4: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -7537,11 +4934,6 @@ loglevel@^1.6.0: resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.8.0.tgz#e7ec73a57e1e7b419cb6c6ac06bf050b67356114" integrity sha512-G6A/nJLRgWOuuwdNuA6koovfEV1YpqqAG4pRUlFaz3jj2QNZ8M4vBqnVA+HBTmU/AMNUtlOsMmSpF6NyOjztbA== -longest-streak@^2.0.1: - version "2.0.4" - resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-2.0.4.tgz#b8599957da5b5dab64dee3fe316fa774597d90e4" - integrity sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg== - longest-streak@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-3.0.1.tgz#c97315b7afa0e7d9525db9a5a2953651432bdc5d" @@ -7592,11 +4984,6 @@ make-error@^1.1.1: resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== -map-cache@^0.2.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-obj@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" @@ -7612,37 +4999,6 @@ map-stream@~0.1.0: resolved "https://registry.yarnpkg.com/map-stream/-/map-stream-0.1.0.tgz#e56aa94c4c8055a16404a0674b78f215f7c8e194" integrity sha1-5WqpTEyAVaFkBKBnS3jyFffI4ZQ= -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-escapes@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/markdown-escapes/-/markdown-escapes-1.0.4.tgz#c95415ef451499d7602b91095f3c8e8975f78535" - integrity sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg== - -markdown-table@^1.1.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-1.1.3.tgz#9fcb69bcfdb8717bfd0398c6ec2d93036ef8de60" - integrity sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q== - -mdast-util-compact@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/mdast-util-compact/-/mdast-util-compact-1.0.4.tgz#d531bb7667b5123abf20859be086c4d06c894593" - integrity sha512-3YDMQHI5vRiS2uygEFYaqckibpJtKq5Sj2c8JioeOQBU6INpKbdWzfyLqFFnDwEcEnRFIdMsguzs5pC1Jp4Isg== - dependencies: - unist-util-visit "^1.1.0" - -mdast-util-definitions@^1.2.0: - version "1.2.5" - resolved "https://registry.yarnpkg.com/mdast-util-definitions/-/mdast-util-definitions-1.2.5.tgz#3fe622a4171c774ebd06f11e9f8af7ec53ea5c74" - integrity sha512-CJXEdoLfiISCDc2JB6QLb79pYfI6+GcIH+W2ox9nMc7od0Pz+bovcHsiq29xAQY6ayqe/9CsK2VzkSJdg1pFYA== - dependencies: - unist-util-visit "^1.0.0" - mdast-util-from-markdown@^0.8.5: version "0.8.5" resolved "https://registry.yarnpkg.com/mdast-util-from-markdown/-/mdast-util-from-markdown-0.8.5.tgz#d1ef2ca42bc377ecb0463a987910dae89bd9a28c" @@ -7672,30 +5028,6 @@ mdast-util-from-markdown@^1.0.0, mdast-util-from-markdown@^1.2.0: unist-util-stringify-position "^3.0.0" uvu "^0.5.0" -mdast-util-inject@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/mdast-util-inject/-/mdast-util-inject-1.1.0.tgz#db06b8b585be959a2dcd2f87f472ba9b756f3675" - integrity sha1-2wa4tYW+lZotzS+H9HK6m3VvNnU= - dependencies: - mdast-util-to-string "^1.0.0" - -mdast-util-to-hast@^3.0.0: - version "3.0.4" - resolved "https://registry.yarnpkg.com/mdast-util-to-hast/-/mdast-util-to-hast-3.0.4.tgz#132001b266031192348d3366a6b011f28e54dc40" - integrity sha512-/eIbly2YmyVgpJNo+bFLLMCI1XgolO/Ffowhf+pHDq3X4/V6FntC9sGQCDLM147eTS+uSXv5dRzJyFn+o0tazA== - dependencies: - collapse-white-space "^1.0.0" - detab "^2.0.0" - mdast-util-definitions "^1.2.0" - mdurl "^1.0.1" - trim "0.0.1" - trim-lines "^1.0.0" - unist-builder "^1.0.1" - unist-util-generated "^1.1.0" - unist-util-position "^3.0.0" - unist-util-visit "^1.1.0" - xtend "^4.0.1" - mdast-util-to-markdown@^1.0.0: version "1.3.0" resolved "https://registry.yarnpkg.com/mdast-util-to-markdown/-/mdast-util-to-markdown-1.3.0.tgz#38b6cdc8dc417de642a469c4fc2abdf8c931bd1e" @@ -7709,11 +5041,6 @@ mdast-util-to-markdown@^1.0.0: unist-util-visit "^4.0.0" zwitch "^2.0.0" -mdast-util-to-string@^1.0.0, mdast-util-to-string@^1.0.5: - version "1.1.0" - resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-1.1.0.tgz#27055500103f51637bd07d01da01eb1967a43527" - integrity sha512-jVU0Nr2B9X3MU4tSK7JP1CMkSvOj7X5l/GboG1tKRw52lLF1x2Ju92Ms9tNetCcbfX3hzlM73zYo2NKkWSfF/A== - mdast-util-to-string@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-2.0.0.tgz#b8cfe6a713e1091cb5b728fc48885a4767f8b97b" @@ -7724,26 +5051,11 @@ mdast-util-to-string@^3.0.0, mdast-util-to-string@^3.1.0: resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-3.1.0.tgz#56c506d065fbf769515235e577b5a261552d56e9" integrity sha512-n4Vypz/DZgwo0iMHLQL49dJzlp7YtAJP+N07MZHpjPf/5XJuHUWstviF4Mn2jEiR/GNmtnRRqnwsXExk3igfFA== -mdast-util-toc@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/mdast-util-toc/-/mdast-util-toc-3.1.0.tgz#395eeb877f067f9d2165d990d77c7eea6f740934" - integrity sha512-Za0hqL1PqWrvxGtA/3NH9D5nhGAUS9grMM4obEAz5+zsk1RIw/vWUchkaoDLNdrwk05A0CSC5eEXng36/1qE5w== - dependencies: - github-slugger "^1.2.1" - mdast-util-to-string "^1.0.5" - unist-util-is "^2.1.2" - unist-util-visit "^1.1.0" - mdn-data@2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.6.tgz#852dc60fcaa5daa2e8cf6c9189c440ed3e042978" integrity sha512-rQvjv71olwNHgiTbfPZFkJtjNMciWgswYeciZhtvWLO8bmX3TnhyA62I6sTWOyZssWHJJjY6/KiWwqQsWWsqOA== -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" @@ -7989,25 +5301,6 @@ micromark@~2.11.0: debug "^4.0.0" parse-entities "^2.0.0" -micromatch@^3.1.5: - 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.4, micromatch@^4.0.5: version "4.0.5" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" @@ -8033,11 +5326,6 @@ mime@1.6.0: resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== -mime@^2.2.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/mime/-/mime-2.6.0.tgz#a2a682a95cd4d0cb1d6257e28f83da7e35800367" - integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg== - mimic-fn@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" @@ -8079,19 +5367,11 @@ minimist-options@4.1.0: is-plain-obj "^1.1.0" kind-of "^6.0.3" -minimist@^1.1.0, minimist@^1.1.1, minimist@^1.2.5, minimist@^1.2.6: +minimist@^1.2.5, minimist@^1.2.6: version "1.2.6" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.6.tgz#8637a5b759ea0d6e98702cfb3a9283323c93af44" integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== -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" - mkdirp@^0.5.1: version "0.5.6" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" @@ -8099,33 +5379,6 @@ mkdirp@^0.5.1: dependencies: minimist "^1.2.6" -modify-values@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/modify-values/-/modify-values-1.0.1.tgz#b3939fa605546474e3e3e3c63d64bd43b4ee6022" - integrity sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw== - -module-deps-sortable@^5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/module-deps-sortable/-/module-deps-sortable-5.0.3.tgz#e640e7450e0869f4ae8e03437665ca2a8a28f843" - integrity sha512-eiyIZj/A0dj1o4ywXWqicazUL3l0HP3TydUR6xF0X3xh3LGBMLqW8a9aFe6MuNH4mxNMk53QKBHM6LOPR8kSgw== - dependencies: - JSONStream "^1.0.3" - browser-resolve "^1.7.0" - cached-path-relative "^1.0.0" - concat-stream "~1.5.0" - defined "^1.0.0" - detective "^5.2.0" - duplexer2 "^0.1.2" - inherits "^2.0.1" - konan "^2.1.1" - readable-stream "^2.0.2" - resolve "^1.1.3" - standard-version "^9.0.0" - stream-combiner2 "^1.1.1" - subarg "^1.0.0" - through2 "^2.0.0" - xtend "^4.0.0" - moment-mini@^2.24.0: version "2.29.4" resolved "https://registry.yarnpkg.com/moment-mini/-/moment-mini-2.29.4.tgz#cbbcdc58ce1b267506f28ea6668dbe060a32758f" @@ -8166,23 +5419,6 @@ nanoid@^3.3.4: resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab" integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw== -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" - natural-compare@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" @@ -8193,11 +5429,6 @@ negotiator@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.6.0: - version "2.6.2" - resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" - integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== - netmask@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/netmask/-/netmask-2.0.2.tgz#8b01a07644065d536383835823bc52004ebac5e7" @@ -8215,16 +5446,6 @@ node-fetch@2.6.7, node-fetch@^2.3.0, node-fetch@^2.6.0: dependencies: whatwg-url "^5.0.0" -node-releases@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.5.tgz#280ed5bc3eba0d96ce44897d8aee478bfb3d9666" - integrity sha512-U9h1NLROZTq9uE1SNffn6WuPDg8icmi3ns4rEl/oTfIle4iLjTliCzgTsbaIFMq/Xn078/lfY/BL0GWZ+psK4Q== - -node-releases@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.6.tgz#8a7088c63a55e493845683ebf3c828d8c51c5503" - integrity sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg== - nomnom@1.5.2: version "1.5.2" resolved "https://registry.yarnpkg.com/nomnom/-/nomnom-1.5.2.tgz#f4345448a853cfbd5c0d26320f2477ab0526fe2f" @@ -8246,7 +5467,7 @@ non-layered-tidy-tree-layout@^2.0.2: resolved "https://registry.yarnpkg.com/non-layered-tidy-tree-layout/-/non-layered-tidy-tree-layout-2.0.2.tgz#57d35d13c356643fc296a55fb11ac15e74da7804" integrity sha512-gkXMxRzUH+PB0ax9dUN0yYF0S25BqeAYqhgMaLUFmpXLEk7Fcu8f4emJuOAY0V8kjDICxROIKsTAKsV/v355xw== -normalize-package-data@^2.3.2, normalize-package-data@^2.5.0: +normalize-package-data@^2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== @@ -8266,30 +5487,16 @@ normalize-package-data@^3.0.0: semver "^7.3.4" validate-npm-package-license "^3.0.1" -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: +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-url@^6.0.1, normalize-url@^6.1.0: +normalize-url@^6.0.1: version "6.1.0" resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== -now-and-later@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/now-and-later/-/now-and-later-2.0.1.tgz#8e579c8685764a7cc02cb680380e94f43ccb1f7c" - integrity sha512-KGvQ0cB70AQfg107Xvs/Fbu+dGmZoTRJp2TaPwcwQm3/7PteUyN2BCgk8KBMPGBUXZdVwyWS8fDCGFygBm19UQ== - dependencies: - once "^1.3.2" - 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" @@ -8316,11 +5523,6 @@ nprogress@^0.2.0: resolved "https://registry.yarnpkg.com/nprogress/-/nprogress-0.2.0.tgz#cb8f34c53213d895723fcbab907e9422adbcafb1" integrity sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA== -null-check@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/null-check/-/null-check-1.0.0.tgz#977dffd7176012b9ec30d2a39db5cf72a0439edd" - integrity sha1-l33/1xdgErnsMNKjnbXPcqBDnt0= - nwsapi@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" @@ -8331,54 +5533,11 @@ oauth-sign@~0.9.0: resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== -object-assign@^4.1.0: - 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.12.2, object-inspect@^1.9.0: version "1.12.2" resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.2.tgz#c0641f26394532f28ab8d796ab954e43c009a8ea" integrity sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ== -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.0.4, object.assign@^4.1.0: - 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== - dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - has-symbols "^1.0.1" - object-keys "^1.1.1" - -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" - on-finished@2.4.1: version "2.4.1" resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" @@ -8386,7 +5545,7 @@ on-finished@2.4.1: dependencies: ee-first "1.1.1" -once@^1.3.0, once@^1.3.1, once@^1.3.2, once@^1.4.0: +once@^1.3.0, once@^1.3.1, once@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= @@ -8431,13 +5590,6 @@ optionator@^0.9.1: type-check "^0.4.0" word-wrap "^1.2.3" -ordered-read-streams@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz#77c0cb37c41525d64166d990ffad7ec6a0e1363e" - integrity sha1-d8DLN8QVJdZBZtmQ/61+xqDhNj4= - dependencies: - readable-stream "^2.0.1" - ospath@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/ospath/-/ospath-1.2.2.tgz#1276639774a3f8ef2572f7fe4280e0ea4550c07b" @@ -8458,13 +5610,6 @@ p-iteration@^1.1.8: resolved "https://registry.yarnpkg.com/p-iteration/-/p-iteration-1.1.8.tgz#14df726d55af368beba81bcc92a26bb1b48e714a" integrity sha512-IMFBSDIYcPNnW7uWYGrBqmvTiq7W0uB0fJn6shQZs7dlF3OvrHOre+JT9ikSZ7gZS3vWqclVgoQSvToJrns7uQ== -p-limit@^1.1.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" - integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== - dependencies: - p-try "^1.0.0" - p-limit@^2.0.0, p-limit@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" @@ -8479,13 +5624,6 @@ p-limit@^3.0.2: dependencies: yocto-queue "^0.1.0" -p-locate@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" - integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= - 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" @@ -8514,11 +5652,6 @@ p-map@^4.0.0: dependencies: aggregate-error "^3.0.0" -p-try@^1.0.0: - version "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" @@ -8560,18 +5693,6 @@ parent-module@^1.0.0: dependencies: callsites "^3.0.0" -parse-entities@^1.0.2, parse-entities@^1.1.0: - version "1.2.2" - resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-1.2.2.tgz#c31bf0f653b6661354f8973559cb86dd1d5edf50" - integrity sha512-NzfpbxW/NPrzZ/yYSoQxyqUZMZXIdCfE0OIN4ESsnptHJECoUk3FZktxNuzQf4tjt5UEopnxpYJbvYuxIFDdsg== - dependencies: - character-entities "^1.0.0" - character-entities-legacy "^1.0.0" - character-reference-invalid "^1.0.0" - is-alphanumerical "^1.0.0" - is-decimal "^1.0.0" - is-hexadecimal "^1.0.0" - parse-entities@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-2.0.0.tgz#53c6eb5b9314a1f4ec99fa0fdf7ce01ecda0cbe8" @@ -8584,23 +5705,6 @@ parse-entities@^2.0.0: is-decimal "^1.0.0" is-hexadecimal "^1.0.0" -parse-filepath@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/parse-filepath/-/parse-filepath-1.0.2.tgz#a632127f53aaf3d15876f5872f3ffac763d6c891" - integrity sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE= - dependencies: - is-absolute "^1.0.0" - map-cache "^0.2.0" - path-root "^0.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-json@^5.0.0: version "5.2.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" @@ -8611,26 +5715,6 @@ parse-json@^5.0.0: json-parse-even-better-errors "^2.3.0" lines-and-columns "^1.1.6" -parse-path@^4.0.0: - version "4.0.4" - resolved "https://registry.yarnpkg.com/parse-path/-/parse-path-4.0.4.tgz#4bf424e6b743fb080831f03b536af9fc43f0ffea" - integrity sha512-Z2lWUis7jlmXC1jeOG9giRO2+FsuyNipeQ43HAjqAZjwSe3SEf+q/84FGPHoso3kyntbxa4c4i77t3m6fGf8cw== - dependencies: - is-ssh "^1.3.0" - protocols "^1.4.0" - qs "^6.9.4" - query-string "^6.13.8" - -parse-url@^6.0.0: - version "6.0.5" - resolved "https://registry.yarnpkg.com/parse-url/-/parse-url-6.0.5.tgz#4acab8982cef1846a0f8675fa686cef24b2f6f9b" - integrity sha512-e35AeLTSIlkw/5GFq70IN7po8fmDUjpDPY1rIK+VubRfsUvBonjQ+PBZG+vWMACnQSmNlvl524IucoDmcioMxA== - dependencies: - is-ssh "^1.3.0" - normalize-url "^6.1.0" - parse-path "^4.0.0" - protocols "^1.4.0" - parse5@6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" @@ -8648,21 +5732,11 @@ parseurl@~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@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-1.0.1.tgz#d98454a9c3753d5790860f16f68867b9e46be1fd" integrity sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g== -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" @@ -8698,30 +5772,11 @@ path-parse@^1.0.6, path-parse@^1.0.7: resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== -path-root-regex@^0.1.0: - version "0.1.2" - resolved "https://registry.yarnpkg.com/path-root-regex/-/path-root-regex-0.1.2.tgz#bfccdc8df5b12dc52c8b43ec38d18d72c04ba96d" - integrity sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0= - -path-root@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/path-root/-/path-root-0.1.1.tgz#9a4a6814cac1c0cd73360a95f32083c8ea4745b7" - integrity sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc= - dependencies: - path-root-regex "^0.1.0" - path-to-regexp@0.1.7: version "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" @@ -8754,7 +5809,7 @@ picocolors@^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.3.1: +picomatch@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== @@ -8764,21 +5819,11 @@ pidtree@^0.6.0: resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.6.0.tgz#90ad7b6d42d5841e69e0a2419ef38f8883aa057c" integrity sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g== -pify@^2.2.0, pify@^2.3.0: +pify@^2.2.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@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-5.0.0.tgz#1f5eca3f5e87ebec28cc6d54a0e4aaf00acc127f" - integrity sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA== - pixelmatch@^5.1.0: version "5.2.1" resolved "https://registry.yarnpkg.com/pixelmatch/-/pixelmatch-5.2.1.tgz#9e4e4f4aa59648208a31310306a5bed5522b0d65" @@ -8816,11 +5861,6 @@ pngjs@^4.0.1: resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-4.0.1.tgz#f803869bb2fc1bfe1bf99aa4ec21c108117cfdbe" integrity sha512-rf5+2/ioHeQxR6IxuYNYGFytUyG3lma/WW1nsmjeHlWwtb2aByla6dkVc8pmJ9nplzkTA0q2xx7mMWrOTqT4Gg== -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-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" @@ -8869,33 +5909,6 @@ pretty-bytes@^5.6.0: resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.6.0.tgz#356256f643804773c82f64723fe78c92c62beaeb" integrity sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg== -process-nextick-args@^2.0.0, 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-nextick-args@~1.0.6: - version "1.0.7" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" - integrity sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M= - -property-information@^4.0.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/property-information/-/property-information-4.2.0.tgz#f0e66e07cbd6fed31d96844d958d153ad3eb486e" - integrity sha512-TlgDPagHh+eBKOnH2VYvk8qbwsCG/TAJdmTL7f1PROUcSO8qt/KSmShEQ/OKvock8X9tFjtqjCScyOkkkvIKVQ== - dependencies: - xtend "^4.0.1" - -protocols@^1.4.0: - version "1.4.8" - resolved "https://registry.yarnpkg.com/protocols/-/protocols-1.4.8.tgz#48eea2d8f58d9644a4a32caae5d5db290a075ce8" - integrity sha512-IgjKyaUSjsROSO8/D49Ab7hP8mJgTYcqApOqdPhLoPxAplXmkp+zRvsrSQjFn5by0rhm4VH0GAUELIPpx7B1yg== - -protocols@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/protocols/-/protocols-2.0.1.tgz#8f155da3fc0f32644e83c5782c8e8212ccf70a86" - integrity sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q== - proxy-addr@~2.0.7: version "2.0.7" resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" @@ -8940,14 +5953,6 @@ psl@^1.1.28, psl@^1.1.33: resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== -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" @@ -8956,15 +5961,6 @@ pump@^3.0.0: end-of-stream "^1.1.0" once "^1.3.1" -pumpify@^1.3.5: - 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@^2.1.0, punycode@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" @@ -8982,35 +5978,11 @@ qs@6.10.3: dependencies: side-channel "^1.0.4" -qs@^6.4.0: - version "6.10.2" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.2.tgz#c1431bea37fc5b24c5bdbafa20f16bdf2a4b9ffe" - integrity sha512-mSIdjzqznWgfd4pMii7sHtaYF8rx8861hBO80SraY5GT0XQibWZWJSid0avzHGkDIZLImux2S5mXO0Hfct2QCw== - dependencies: - side-channel "^1.0.4" - -qs@^6.9.4: - version "6.11.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a" - integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q== - dependencies: - side-channel "^1.0.4" - qs@~6.5.2: version "6.5.2" resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== -query-string@^6.13.8: - version "6.14.1" - resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.14.1.tgz#7ac2dca46da7f309449ba0f86b1fd28255b0c86a" - integrity sha512-XDxAeVmpfu1/6IjyT/gXHOl+S0vQ9owggJ30hhWKdHAsNPOcasn5o9BW0eejZqL2e4vMjhAxoW3jVHcD6mbcYw== - dependencies: - decode-uri-component "^0.2.0" - filter-obj "^1.1.0" - split-on-first "^1.0.0" - strict-uri-encode "^2.0.0" - queue-microtask@^1.2.2: version "1.2.3" resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" @@ -9041,30 +6013,6 @@ raw-body@2.5.1, raw-body@^2.2.0: iconv-lite "0.4.24" unpipe "1.0.0" -raw-body@~1.1.0: - version "1.1.7" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-1.1.7.tgz#1d027c2bfa116acc6623bca8f00016572a87d425" - integrity sha1-HQJ8K/oRasxmI7yo8AAWVyqH1CU= - dependencies: - bytes "1" - string_decoder "0.10" - -read-pkg-up@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-3.0.0.tgz#3ed496685dba0f8fe118d0691dc51f4a1ff96f07" - integrity sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc= - dependencies: - find-up "^2.0.0" - read-pkg "^3.0.0" - -read-pkg-up@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-4.0.0.tgz#1b221c6088ba7799601c808f91161c66e58f8978" - integrity sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA== - dependencies: - find-up "^3.0.0" - read-pkg "^3.0.0" - read-pkg-up@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" @@ -9074,15 +6022,6 @@ read-pkg-up@^7.0.1: read-pkg "^5.2.0" type-fest "^0.8.1" -read-pkg@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" - integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k= - dependencies: - load-json-file "^4.0.0" - normalize-package-data "^2.3.2" - path-type "^3.0.0" - read-pkg@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" @@ -9103,7 +6042,7 @@ readable-stream@1.1.x: isarray "0.0.1" string_decoder "~0.10.x" -readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.0.2: +readable-stream@3, readable-stream@^3.0.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== @@ -9112,51 +6051,6 @@ readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.0.2: string_decoder "^1.1.1" util-deprecate "^1.0.1" -readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.5, 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@~2.0.0: - version "2.0.6" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.0.6.tgz#8f90341e68a53ccc928788dacfcd11b36eb9b78e" - integrity sha1-j5A0HmilPMySh4jaz80Rs265t44= - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "~1.0.0" - process-nextick-args "~1.0.6" - string_decoder "~0.10.x" - util-deprecate "~1.0.1" - -readable-stream@~2.1.0: - version "2.1.5" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.1.5.tgz#66fa8b720e1438b364681f2ad1a63c618448c9d0" - integrity sha1-ZvqLcg4UOLNkaB8q0aY8YYRIydA= - dependencies: - buffer-shims "^1.0.0" - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "~1.0.0" - process-nextick-args "~1.0.6" - string_decoder "~0.10.x" - util-deprecate "~1.0.1" - -readdirp@~3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" - integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== - dependencies: - picomatch "^2.2.1" - redent@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" @@ -9165,77 +6059,11 @@ redent@^3.0.0: indent-string "^4.0.0" strip-indent "^3.0.0" -regenerate-unicode-properties@^10.0.1: - version "10.0.1" - resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz#7f442732aa7934a3740c779bb9b3340dccc1fb56" - integrity sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw== - dependencies: - regenerate "^1.4.2" - -regenerate@^1.4.2: - 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.9" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" - integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== - -regenerator-transform@^0.15.0: - version "0.15.0" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.15.0.tgz#cbd9ead5d77fae1a48d957cf889ad0586adb6537" - integrity sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg== - 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" - regexpp@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== -regexpu-core@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.1.0.tgz#2f8504c3fd0ebe11215783a41541e21c79942c6d" - integrity sha512-bb6hk+xWd2PEOkj5It46A16zFMs2mv86Iwpdu94la4S3sJ7C973h2dHpYKwIBGaWSO7cIRJ+UX0IeMaWcO4qwA== - dependencies: - regenerate "^1.4.2" - regenerate-unicode-properties "^10.0.1" - regjsgen "^0.6.0" - regjsparser "^0.8.2" - unicode-match-property-ecmascript "^2.0.0" - unicode-match-property-value-ecmascript "^2.0.0" - -regjsgen@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.6.0.tgz#83414c5354afd7d6627b16af5f10f41c4e71808d" - integrity sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA== - -regjsparser@^0.8.2: - version "0.8.4" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.8.4.tgz#8a14285ffcc5de78c5b95d62bbf413b6bc132d5f" - integrity sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA== - dependencies: - jsesc "~0.5.0" - -remark-html@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/remark-html/-/remark-html-8.0.0.tgz#9fcb859a6f3cb40f3ef15402950f1a62ec301b3a" - integrity sha512-3V2391GL3hxKhrkzYOyfPpxJ6taIKLCfuLVqumeWQOk3H9nTtSQ8St8kMYkBVIEAquXN1chT83qJ/2lAW+dpEg== - dependencies: - hast-util-sanitize "^1.0.0" - hast-util-to-html "^4.0.0" - mdast-util-to-hast "^3.0.0" - xtend "^4.0.1" - remark-parse@^10.0.0: version "10.0.1" resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-10.0.1.tgz#6f60ae53edbf0cf38ea223fe643db64d112e0775" @@ -9245,43 +6073,6 @@ remark-parse@^10.0.0: mdast-util-from-markdown "^1.0.0" unified "^10.0.0" -remark-parse@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-5.0.0.tgz#4c077f9e499044d1d5c13f80d7a98cf7b9285d95" - integrity sha512-b3iXszZLH1TLoyUzrATcTQUZrwNl1rE70rVdSruJFlDaJ9z5aMkhrG43Pp68OgfHndL/ADz6V69Zow8cTQu+JA== - dependencies: - collapse-white-space "^1.0.2" - is-alphabetical "^1.0.0" - is-decimal "^1.0.0" - is-whitespace-character "^1.0.0" - is-word-character "^1.0.0" - markdown-escapes "^1.0.0" - parse-entities "^1.1.0" - repeat-string "^1.5.4" - state-toggle "^1.0.0" - trim "0.0.1" - trim-trailing-lines "^1.0.0" - unherit "^1.0.4" - unist-util-remove-position "^1.0.0" - vfile-location "^2.0.0" - xtend "^4.0.1" - -remark-reference-links@^4.0.1: - version "4.0.4" - resolved "https://registry.yarnpkg.com/remark-reference-links/-/remark-reference-links-4.0.4.tgz#190579a0d6b002859d6cdbdc5aeb8bbdae4e06ab" - integrity sha512-+2X8hwSQqxG4tvjYZNrTcEC+bXp8shQvwRGG6J/rnFTvBoU4G0BBviZoqKGZizLh/DG+0gSYhiDDWCqyxXW1iQ== - dependencies: - unist-util-visit "^1.0.0" - -remark-slug@^5.0.0: - version "5.1.2" - resolved "https://registry.yarnpkg.com/remark-slug/-/remark-slug-5.1.2.tgz#715ecdef8df1226786204b1887d31ab16aa24609" - integrity sha512-DWX+Kd9iKycqyD+/B+gEFO3jjnt7Yg1O05lygYSNTe5i5PIxxxPjp5qPBDxPIzp5wreF7+1ROCwRgjEcqmzr3A== - dependencies: - github-slugger "^1.0.0" - mdast-util-to-string "^1.0.0" - unist-util-visit "^1.0.0" - remark-stringify@^10.0.0: version "10.0.2" resolved "https://registry.yarnpkg.com/remark-stringify/-/remark-stringify-10.0.2.tgz#50414a6983f5008eb9e72eed05f980582d1f69d7" @@ -9291,34 +6082,6 @@ remark-stringify@^10.0.0: mdast-util-to-markdown "^1.0.0" unified "^10.0.0" -remark-stringify@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/remark-stringify/-/remark-stringify-5.0.0.tgz#336d3a4d4a6a3390d933eeba62e8de4bd280afba" - integrity sha512-Ws5MdA69ftqQ/yhRF9XhVV29mhxbfGhbz0Rx5bQH+oJcNhhSM6nCu1EpLod+DjrFGrU0BMPs+czVmJZU7xiS7w== - dependencies: - ccount "^1.0.0" - is-alphanumeric "^1.0.0" - is-decimal "^1.0.0" - is-whitespace-character "^1.0.0" - longest-streak "^2.0.1" - markdown-escapes "^1.0.0" - markdown-table "^1.1.0" - mdast-util-compact "^1.0.0" - parse-entities "^1.0.2" - repeat-string "^1.5.4" - state-toggle "^1.0.0" - stringify-entities "^1.0.1" - unherit "^1.0.4" - xtend "^4.0.1" - -remark-toc@^5.0.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/remark-toc/-/remark-toc-5.1.1.tgz#8c229d6f834cdb43fde6685e2d43248d3fc82d78" - integrity sha512-vCPW4YOsm2CfyuScdktM9KDnJXVHJsd/ZeRtst+dnBU3B3KKvt8bc+bs5syJjyptAHfqo7H+5Uhz+2blWBfwow== - dependencies: - mdast-util-toc "^3.0.0" - remark-slug "^5.0.0" - remark@^14.0.2: version "14.0.2" resolved "https://registry.yarnpkg.com/remark/-/remark-14.0.2.tgz#4a1833f7441a5c29e44b37bb1843fb820797b40f" @@ -9329,57 +6092,6 @@ remark@^14.0.2: remark-stringify "^10.0.0" unified "^10.0.0" -remark@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/remark/-/remark-9.0.0.tgz#c5cfa8ec535c73a67c4b0f12bfdbd3a67d8b2f60" - integrity sha512-amw8rGdD5lHbMEakiEsllmkdBP+/KpjW/PRK6NSGPZKCQowh0BT4IWXDAkRMyG3SB9dKPXWMviFjNusXzXNn3A== - dependencies: - remark-parse "^5.0.0" - remark-stringify "^5.0.0" - unified "^6.0.0" - -remove-bom-buffer@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz#c2bf1e377520d324f623892e33c10cac2c252b53" - integrity sha512-8v2rWhaakv18qcvNeli2mZ/TMTL2nEyAKRvzo1WtnZBl15SHyEhrCu2/xKlJyUFKHiHgfXIyuY6g2dObJJycXQ== - dependencies: - is-buffer "^1.1.5" - is-utf8 "^0.2.1" - -remove-bom-stream@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz#05f1a593f16e42e1fb90ebf59de8e569525f9523" - integrity sha1-BfGlk/FuQuH7kOv1nejlaVJflSM= - dependencies: - remove-bom-buffer "^3.0.0" - safe-buffer "^5.1.0" - through2 "^2.0.3" - -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= - -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.5.0, repeat-string@^1.5.4, 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= - -replace-ext@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb" - integrity sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs= - -replace-ext@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.1.tgz#2d6d996d04a15855d967443631dd5f77825b016a" - integrity sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw== - request-progress@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/request-progress/-/request-progress-3.0.0.tgz#4ca754081c7fec63f505e4faa825aa06cd669dbe" @@ -9423,11 +6135,6 @@ 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== - resolve-alpn@^1.0.0: version "1.2.1" resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.2.1.tgz#b7adbdac3546aaaec20b45e7d8265927072726f9" @@ -9450,24 +6157,7 @@ resolve-global@1.0.0, resolve-global@^1.0.0: dependencies: global-dirs "^0.1.1" -resolve-options@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/resolve-options/-/resolve-options-1.1.0.tgz#32bb9e39c06d67338dc9378c0d6d6074566ad131" - integrity sha1-MrueOcBtZzONyTeMDW1gdFZq0TE= - dependencies: - value-or-function "^3.0.0" - -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.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" - integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= - -resolve@^1.1.3, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.3.2, resolve@^1.8.1: +resolve@^1.10.0: version "1.20.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== @@ -9499,11 +6189,6 @@ restore-cursor@^3.1.0: onetime "^5.1.0" signal-exit "^3.0.2" -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== - reusify@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" @@ -9566,28 +6251,16 @@ sade@^1.7.3: dependencies: mri "^1.1.0" -safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.2, safe-buffer@~5.2.0: +safe-buffer@5.2.1, safe-buffer@^5.0.1, safe-buffer@^5.1.2, 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-buffer@~5.1.0, safe-buffer@~5.1.1: +safe-buffer@~5.1.1: 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-json-parse@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/safe-json-parse/-/safe-json-parse-1.0.1.tgz#3e76723e38dfdda13c9b1d29a1e07ffee4b30b57" - integrity sha1-PnZyPjjf3aE8mx0poeB//uSzC1c= - -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.0: version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" @@ -9607,24 +6280,19 @@ saxes@^6.0.0: dependencies: xmlchars "^2.2.0" -"semver@2 || 3 || 4 || 5", semver@^5.4.1, semver@^5.5.0: +"semver@2 || 3 || 4 || 5", semver@^5.5.0: version "5.7.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== -semver@7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" - integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== - -semver@7.3.7, semver@^7.1.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7: +semver@7.3.7, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7: version "7.3.7" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f" integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g== dependencies: lru-cache "^6.0.0" -semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0: +semver@^6.0.0: version "6.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== @@ -9658,21 +6326,6 @@ serve-static@1.15.0: parseurl "~1.3.3" send "0.18.0" -set-blocking@^2.0.0: - version "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" - setprototypeof@1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" @@ -9780,36 +6433,6 @@ smart-buffer@^4.2.0: resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.2.0.tgz#6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae" integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== -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" - socks-proxy-agent@5, socks-proxy-agent@^5.0.0: version "5.0.1" resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-5.0.1.tgz#032fb583048a29ebffec2e6a73fca0761f48177e" @@ -9832,27 +6455,6 @@ source-map-js@^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-resolve@^0.5.0: - 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-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.0, source-map@^0.5.6: - 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.1, source-map@~0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" @@ -9870,11 +6472,6 @@ sourcemap-codec@^1.4.8: resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== -space-separated-tokens@^1.0.0: - version "1.1.5" - resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz#85f32c3d10d9682007e917414ddc5c26d1aa6899" - integrity sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA== - spawn-command@^0.0.2-1: version "0.0.2-1" resolved "https://registry.yarnpkg.com/spawn-command/-/spawn-command-0.0.2-1.tgz#62f5e9466981c1b796dc5929937e11c9c6921bd0" @@ -9906,18 +6503,6 @@ spdx-license-ids@^3.0.0: resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz#50c0d8c40a14ec1bf449bae69a0ea4685a9d9f95" integrity sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g== -split-on-first@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/split-on-first/-/split-on-first-1.1.0.tgz#f610afeee3b12bce1d0c30425e76398b78249a5f" - integrity sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw== - -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" - split2@^3.0.0: version "3.2.2" resolved "https://registry.yarnpkg.com/split2/-/split2-3.2.2.tgz#bf2cf2a37d838312c249c89206fd7a17dd12365f" @@ -9932,13 +6517,6 @@ split@0.3: dependencies: through "2" -split@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/split/-/split-1.0.1.tgz#605bd9be303aa59fb35f9229fbea0ddec9ea07d9" - integrity sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg== - dependencies: - through "2" - sprintf-js@~1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" @@ -9979,27 +6557,6 @@ ssim.js@^3.1.1: resolved "https://registry.yarnpkg.com/ssim.js/-/ssim.js-3.5.0.tgz#d7276b9ee99b57a5ff0db34035f02f35197e62df" integrity sha512-Aj6Jl2z6oDmgYFFbQqK7fght19bXdOxY7Tj03nF+03M9gCBAjeIiO8/PlEGMfKDwYpw4q6iBqVq2YuREorGg/g== -standard-version@^9.0.0: - version "9.3.2" - resolved "https://registry.yarnpkg.com/standard-version/-/standard-version-9.3.2.tgz#28db8c1be66fd2d736f28f7c5de7619e64cd6dab" - integrity sha512-u1rfKP4o4ew7Yjbfycv80aNMN2feTiqseAhUhrrx2XtdQGmu7gucpziXe68Z4YfHVqlxVEzo4aUA0Iu3VQOTgQ== - dependencies: - chalk "^2.4.2" - conventional-changelog "3.1.24" - conventional-changelog-config-spec "2.1.0" - conventional-changelog-conventionalcommits "4.6.1" - conventional-recommended-bump "6.1.0" - detect-indent "^6.0.0" - detect-newline "^3.1.0" - dotgitignore "^2.1.0" - figures "^3.1.0" - find-up "^5.0.0" - fs-access "^1.0.1" - git-semver-tags "^4.0.0" - semver "^7.1.1" - stringify-package "^1.0.1" - yargs "^16.0.0" - start-server-and-test@^1.12.6: version "1.14.0" resolved "https://registry.yarnpkg.com/start-server-and-test/-/start-server-and-test-1.14.0.tgz#c57f04f73eac15dd51733b551d775b40837fdde3" @@ -10013,39 +6570,11 @@ start-server-and-test@^1.12.6: ps-tree "1.2.0" wait-on "6.0.0" -state-toggle@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/state-toggle/-/state-toggle-1.0.3.tgz#e123b16a88e143139b09c6852221bc9815917dfe" - integrity sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ== - -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== -stream-array@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/stream-array/-/stream-array-1.1.2.tgz#9e5f7345f2137c30ee3b498b9114e80b52bb7eb5" - integrity sha1-nl9zRfITfDDuO0mLkRToC1K7frU= - dependencies: - readable-stream "~2.1.0" - -stream-combiner2@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/stream-combiner2/-/stream-combiner2-1.1.1.tgz#fb4d8a1420ea362764e21ad4780397bebcb41cbe" - integrity sha1-+02KFCDqNidk4hrUeAOXvry0HL4= - dependencies: - duplexer2 "~0.1.0" - readable-stream "^2.0.2" - stream-combiner@~0.0.4: version "0.0.4" resolved "https://registry.yarnpkg.com/stream-combiner/-/stream-combiner-0.0.4.tgz#4d5e433c185261dde623ca3f44c586bcf5c4ad14" @@ -10053,27 +6582,12 @@ stream-combiner@~0.0.4: dependencies: duplexer "~0.1.1" -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== - -strict-uri-encode@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546" - integrity sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ== - string-argv@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg== -string-template@~0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/string-template/-/string-template-0.2.1.tgz#42932e598a352d01fc22ec3367d9d84eec6c9add" - integrity sha1-QpMuWYo1LQH8IuwzZ9nYTuxsmt0= - -string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: +string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -10091,11 +6605,6 @@ string-width@^5.0.0: is-fullwidth-code-point "^4.0.0" strip-ansi "^7.0.1" -string_decoder@0.10, string_decoder@~0.10.x: - version "0.10.31" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" - integrity sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ= - string_decoder@^1.1.1: version "1.3.0" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" @@ -10103,27 +6612,10 @@ string_decoder@^1.1.1: 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" - -stringify-entities@^1.0.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/stringify-entities/-/stringify-entities-1.3.2.tgz#a98417e5471fd227b3e45d3db1861c11caf668f7" - integrity sha512-nrBAQClJAPN2p+uGCVJRPIPakKeKWZ9GtBCmormE7pWOSlHat7+x5A8gx85M7HM5Dt0BP3pP5RhVW77WdbJJ3A== - dependencies: - character-entities-html4 "^1.0.0" - character-entities-legacy "^1.0.0" - is-alphanumerical "^1.0.0" - is-hexadecimal "^1.0.0" - -stringify-package@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/stringify-package/-/stringify-package-1.0.1.tgz#e5aa3643e7f74d0f28628b72f3dad5cecfc3ba85" - integrity sha512-sa4DUQsYciMP1xhKWGuFM04fB0LG/9DlluZoSVywUMRNvzid6XucHK0/90xGxRoHrAaROrcHK1aPKaijCtSrhg== +string_decoder@~0.10.x: + version "0.10.31" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" + integrity sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ= strip-ansi@^3.0.0: version "3.0.1" @@ -10151,11 +6643,6 @@ strip-ansi@~0.1.0: resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-0.1.1.tgz#39e8a98d044d150660abe4a6808acf70bb7bc991" integrity sha1-OeipjQRNFQZgq+SmgIrPcLt7yZE= -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" @@ -10178,11 +6665,6 @@ strip-indent@^3.0.0: dependencies: min-indent "^1.0.0" -strip-json-comments@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" - integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= - 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" @@ -10200,13 +6682,6 @@ stylis@^4.1.2: resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.1.2.tgz#870b3c1c2275f51b702bb3da9e94eedad87bba41" integrity sha512-Nn2CCrG2ZaFziDxaZPN43CXqn+j7tcdjPFCkRBkFue8QYXC2HdEwnw5TCBo4yQZ2WxKYeSi0fdoOrtEqgDrXbA== -subarg@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/subarg/-/subarg-1.0.0.tgz#f62cf17581e996b48fc965699f54c06ae268b8d2" - integrity sha1-9izxdYHplrSPyWVpn1TAauJouNI= - dependencies: - minimist "^1.1.0" - supports-color@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" @@ -10219,13 +6694,6 @@ supports-color@^5.3.0: dependencies: has-flag "^3.0.0" -supports-color@^6.0.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" @@ -10287,22 +6755,6 @@ throttleit@^1.0.0: resolved "https://registry.yarnpkg.com/throttleit/-/throttleit-1.0.0.tgz#9e785836daf46743145a5984b6268d828528ac6c" integrity sha1-nnhYNtr0Z0MUWlmEtiaNgoUorGw= -through2-filter@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/through2-filter/-/through2-filter-3.0.0.tgz#700e786df2367c2c88cd8aa5be4cf9c1e7831254" - integrity sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA== - dependencies: - through2 "~2.0.0" - xtend "~4.0.0" - -through2@^2.0.0, through2@^2.0.3, 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" - through2@^4.0.0: version "4.0.2" resolved "https://registry.yarnpkg.com/through2/-/through2-4.0.2.tgz#a7ce3ac2a7a8b0b966c80e7c49f0484c3b239764" @@ -10315,18 +6767,6 @@ through@2, "through@>=2.2.7 <3", through@^2.3.8, through@~2.3, through@~2.3.1: resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= -tiny-lr@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/tiny-lr/-/tiny-lr-1.1.1.tgz#9fa547412f238fedb068ee295af8b682c98b2aab" - integrity sha512-44yhA3tsaRoMOjQQ+5v5mVdqef+kH6Qze9jTpqtVufgYjYt08zyZAwNwwVBj3i1rJMnR52IxOW0LK0vBzgAkuA== - dependencies: - body "^5.1.0" - debug "^3.1.0" - faye-websocket "~0.10.0" - livereload-js "^2.3.0" - object-assign "^4.1.0" - qs "^6.4.0" - tinybench@^2.1.3, tinybench@^2.1.5: version "2.1.5" resolved "https://registry.yarnpkg.com/tinybench/-/tinybench-2.1.5.tgz#6864341415ff0f912ed160cfd90b7f833ece674c" @@ -10354,34 +6794,6 @@ tmp@~0.2.1: dependencies: rimraf "^3.0.0" -to-absolute-glob@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz#1865f43d9e74b0822db9f145b78cff7d0f7c849b" - integrity sha1-GGX0PZ50sIItufFFt4z/fQ98hJs= - dependencies: - is-absolute "^1.0.0" - is-negated-glob "^1.0.0" - -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-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" @@ -10389,23 +6801,6 @@ 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" - -to-through@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/to-through/-/to-through-2.0.0.tgz#fc92adaba072647bc0b67d6b03664aa195093af6" - integrity sha1-/JKtq6ByZHvAtn1rA2ZKoZUJOvY= - dependencies: - through2 "^2.0.3" - toidentifier@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" @@ -10450,31 +6845,11 @@ tree-kill@^1.2.2: resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.2.tgz#4ca09a9092c88b73a7cdc5e8a01b507b0790a0cc" integrity sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A== -trim-lines@^1.0.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/trim-lines/-/trim-lines-1.1.3.tgz#839514be82428fd9e7ec89e35081afe8f6f93115" - integrity sha512-E0ZosSWYK2mkSu+KEtQ9/KqarVjA9HztOSX+9FDdNacRAq29RRV6ZQNgob3iuW8Htar9vAfEa6yyt5qBAHZDBA== - trim-newlines@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144" integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== -trim-trailing-lines@^1.0.0: - version "1.1.4" - resolved "https://registry.yarnpkg.com/trim-trailing-lines/-/trim-trailing-lines-1.1.4.tgz#bd4abbec7cc880462f10b2c8b5ce1d8d1ec7c2c0" - integrity sha512-rjUWSqnfTNrjbB9NQWfPMH/xRK1deHeGsHoVfpxJ++XeYXE0d6B1En37AHfw3jtfTU7dzMzZL2jjpe8Qb5gLIQ== - -trim@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/trim/-/trim-0.0.1.tgz#5858547f6b290757ee95cccc666fb50084c460dd" - integrity sha1-WFhUf2spB1fulczMZm+1AITEYN0= - -trough@^1.0.0: - version "1.0.5" - resolved "https://registry.yarnpkg.com/trough/-/trough-1.0.5.tgz#b8b639cefad7d0bb2abd37d433ff8293efa5f406" - integrity sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA== - trough@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/trough/-/trough-2.1.0.tgz#0f7b511a4fde65a46f18477ab38849b22c554876" @@ -10585,11 +6960,6 @@ type-is@~1.6.18: media-typer "0.3.0" mime-types "~2.1.24" -typedarray@^0.0.6, typedarray@~0.0.5: - version "0.0.6" - resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" - integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= - typescript@^4.6.4: version "4.8.2" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.2.tgz#e3b33d5ccfb5914e4eeab6699cf208adee3fd790" @@ -10600,16 +6970,6 @@ typescript@^4.8.3: resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.3.tgz#d59344522c4bc464a65a730ac695007fdb66dd88" integrity sha512-goMHfm00nWPa8UvR/CPSvykqf6dVV8x/dp0c5mFTMTIu0u0FlGWRioyy7Nn0PGAdHxpJZnuO/ut+PpQ8UiHAig== -uglify-js@^3.1.4: - version "3.14.4" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.14.4.tgz#68756f17d1b90b9d289341736cb9a567d6882f90" - integrity sha512-AbiSR44J0GoCeV81+oxcy/jDOElO2Bx3d0MfQCUShq7JRXaM4KtQopZsq2vFv8bCq2yMaGrw1FgygUd03RyRDA== - -unc-path-regex@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa" - integrity sha1-5z3T17DXxe2G+6xrCufYxqadUPo= - underscore@1.1.x: version "1.1.7" resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.1.7.tgz#40bab84bad19d230096e8d6ef628bff055d83db0" @@ -10620,37 +6980,6 @@ underscore@~1.6.0: resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.6.0.tgz#8b38b10cacdef63337b8b24e4ff86d45aea529a8" integrity sha1-izixDKze9jM3uLJOT/htRa6lKag= -unherit@^1.0.4: - version "1.1.3" - resolved "https://registry.yarnpkg.com/unherit/-/unherit-1.1.3.tgz#6c9b503f2b41b262330c80e91c8614abdaa69c22" - integrity sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ== - dependencies: - inherits "^2.0.0" - xtend "^4.0.0" - -unicode-canonical-property-names-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc" - integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== - -unicode-match-property-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3" - integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== - dependencies: - unicode-canonical-property-names-ecmascript "^2.0.0" - unicode-property-aliases-ecmascript "^2.0.0" - -unicode-match-property-value-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz#1a01aa57247c14c568b89775a54938788189a714" - integrity sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw== - -unicode-property-aliases-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz#0a36cb9a585c4f6abd51ad1deddb285c165297c8" - integrity sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ== - unified@^10.0.0: version "10.1.2" resolved "https://registry.yarnpkg.com/unified/-/unified-10.1.2.tgz#b1d64e55dafe1f0b98bb6c719881103ecf6c86df" @@ -10664,85 +6993,16 @@ unified@^10.0.0: trough "^2.0.0" vfile "^5.0.0" -unified@^6.0.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/unified/-/unified-6.2.0.tgz#7fbd630f719126d67d40c644b7e3f617035f6dba" - integrity sha512-1k+KPhlVtqmG99RaTbAv/usu85fcSRu3wY8X+vnsEhIxNP5VbVIDiXnLqyKIG+UMdyTg0ZX9EI6k2AfjJkHPtA== - dependencies: - bail "^1.0.0" - extend "^3.0.0" - is-plain-obj "^1.1.0" - trough "^1.0.0" - vfile "^2.0.0" - x-is-string "^0.1.0" - -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" - -unique-stream@^2.0.2: - version "2.3.1" - resolved "https://registry.yarnpkg.com/unique-stream/-/unique-stream-2.3.1.tgz#c65d110e9a4adf9a6c5948b28053d9a8d04cbeac" - integrity sha512-2nY4TnBE70yoxHkDli7DMazpWiP7xMdCYqU2nBRO0UB+ZpEkGsSija7MvmvnZFUeC+mrgiUfcHSr3LmRFIg4+A== - dependencies: - json-stable-stringify-without-jsonify "^1.0.1" - through2-filter "^3.0.0" - -unist-builder@^1.0.1, unist-builder@^1.0.2: - version "1.0.4" - resolved "https://registry.yarnpkg.com/unist-builder/-/unist-builder-1.0.4.tgz#e1808aed30bd72adc3607f25afecebef4dd59e17" - integrity sha512-v6xbUPP7ILrT15fHGrNyHc1Xda8H3xVhP7/HAIotHOhVPjH5dCXA097C3Rry1Q2O+HbOLCao4hfPB+EYEjHgVg== - dependencies: - object-assign "^4.1.0" - unist-util-flatmap@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unist-util-flatmap/-/unist-util-flatmap-1.0.0.tgz#f914ed6b36ff040afce938d848f379f88b94b448" integrity sha512-IG32jcKJlhARCYT2LsYPJWdoXYkzz3ESAdl1aa2hn9Auh+cgUmU6wgkII4yCc/1GgeWibRdELdCZh/p3QKQ1dQ== -unist-util-generated@^1.1.0: - version "1.1.6" - resolved "https://registry.yarnpkg.com/unist-util-generated/-/unist-util-generated-1.1.6.tgz#5ab51f689e2992a472beb1b35f2ce7ff2f324d4b" - integrity sha512-cln2Mm1/CZzN5ttGK7vkoGw+RZ8VcUH6BtGbq98DDtRGquAAOXig1mrBQYelOwMXYS8rK+vZDyyojSjp7JX+Lg== - -unist-util-is@^2.0.0, unist-util-is@^2.1.2: - version "2.1.3" - resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-2.1.3.tgz#459182db31f4742fceaea88d429693cbf0043d20" - integrity sha512-4WbQX2iwfr/+PfM4U3zd2VNXY+dWtZsN1fLnWEi2QQXA4qyDYAZcDMfXUX0Cu6XZUHHAO9q4nyxxLT4Awk1qUA== - -unist-util-is@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-3.0.0.tgz#d9e84381c2468e82629e4a5be9d7d05a2dd324cd" - integrity sha512-sVZZX3+kspVNmLWBPAB6r+7D9ZgAFPNWm66f7YNb420RlQSbn+n8rG8dGZSkrER7ZIXGQYNm5pqC3v3HopH24A== - unist-util-is@^5.0.0: version "5.1.1" resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-5.1.1.tgz#e8aece0b102fa9bc097b0fef8f870c496d4a6236" integrity sha512-F5CZ68eYzuSvJjGhCLPL3cYx45IxkqXSetCcRgUXtbcm50X2L9oOWQlfUfDdAf+6Pd27YDblBfdtmsThXmwpbQ== -unist-util-position@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/unist-util-position/-/unist-util-position-3.1.0.tgz#1c42ee6301f8d52f47d14f62bbdb796571fa2d47" - integrity sha512-w+PkwCbYSFw8vpgWD0v7zRCl1FpY3fjDSQ3/N/wNd9Ffa4gPi8+4keqt99N3XW6F99t/mUzp2xAhNmfKWp95QA== - -unist-util-remove-position@^1.0.0: - version "1.1.4" - resolved "https://registry.yarnpkg.com/unist-util-remove-position/-/unist-util-remove-position-1.1.4.tgz#ec037348b6102c897703eee6d0294ca4755a2020" - integrity sha512-tLqd653ArxJIPnKII6LMZwH+mb5q+n/GtXQZo6S6csPRs5zB0u79Yw8ouR3wTw8wxvdJFhpP6Y7jorWdCgLO0A== - dependencies: - unist-util-visit "^1.1.0" - -unist-util-stringify-position@^1.0.0, unist-util-stringify-position@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-1.1.2.tgz#3f37fcf351279dcbca7480ab5889bb8a832ee1c6" - integrity sha512-pNCVrk64LZv1kElr0N1wPiHEUoXNVFERp+mlTg/s9R5Lwg87f9bM/3sQB99w+N9D/qnM9ar3+AKDBwo/gm/iQQ== - unist-util-stringify-position@^2.0.0: version "2.0.3" resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz#cce3bfa1cdf85ba7375d1d5b17bdc4cada9bd9da" @@ -10757,13 +7017,6 @@ unist-util-stringify-position@^3.0.0: dependencies: "@types/unist" "^2.0.0" -unist-util-visit-parents@^2.0.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-2.1.2.tgz#25e43e55312166f3348cae6743588781d112c1e9" - integrity sha512-DyN5vD4NE3aSeB+PXYNKxzGsfocxp6asDc2XXE3b0ekO2BaRUpBicbbUygfSvYfUz1IkmjFR1YF7dPklraMZ2g== - dependencies: - unist-util-is "^3.0.0" - unist-util-visit-parents@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-5.1.1.tgz#868f353e6fce6bf8fa875b251b0f4fec3be709bb" @@ -10772,13 +7025,6 @@ unist-util-visit-parents@^5.1.1: "@types/unist" "^2.0.0" unist-util-is "^5.0.0" -unist-util-visit@^1.0.0, unist-util-visit@^1.1.0, unist-util-visit@^1.3.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-1.4.1.tgz#4724aaa8486e6ee6e26d7ff3c8685960d560b1e3" - integrity sha512-AvGNk7Bb//EmJZyhtRUnNMEpId/AZ5Ph/KUpTI09WHQuDZHKovQ1oEv3mfmKpWKtoMzyMC4GLBm1Zy5k12fjIw== - dependencies: - unist-util-visit-parents "^2.0.0" - unist-util-visit@^4.0.0: version "4.1.1" resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-4.1.1.tgz#1c4842d70bd3df6cc545276f5164f933390a9aad" @@ -10803,35 +7049,11 @@ unpipe@1.0.0, unpipe@~1.0.0: resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= -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" - untildify@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/untildify/-/untildify-4.0.0.tgz#2bc947b953652487e4600949fb091e3ae8cd919b" integrity sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw== -update-browserslist-db@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.4.tgz#dbfc5a789caa26b1db8990796c2c8ebbce304824" - integrity sha512-jnmO2BEGUjsMOe/Fg9u0oczOe/ppIDZPebzccl1yDWGLFP16Pa1/RM5wEoKYPG2zstNcDuAStejyxsOuKINdGA== - dependencies: - escalade "^3.1.1" - picocolors "^1.0.0" - -update-browserslist-db@^1.0.9: - version "1.0.9" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.9.tgz#2924d3927367a38d5c555413a7ce138fc95fcb18" - integrity sha512-/xsqn21EGVdXI3EXSum1Yckj3ZVZugqyOZQ/CxYPBD/R+ko9NSUScf8tFF4dOKY+2pvSSJA/S+5B8s4Zr4kyvg== - dependencies: - escalade "^3.1.1" - picocolors "^1.0.0" - uri-js@^4.2.2: version "4.4.1" resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" @@ -10839,17 +7061,7 @@ 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= - -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.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= @@ -10901,11 +7113,6 @@ validate-npm-package-license@^3.0.1: spdx-correct "^3.0.0" spdx-expression-parse "^3.0.0" -value-or-function@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/value-or-function/-/value-or-function-3.0.0.tgz#1c243a50b595c1be54a754bfece8563b9ff8d813" - integrity sha1-HCQ6ULWVwb5Up1S/7OhWO5/42BM= - vary@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" @@ -10920,26 +7127,6 @@ verror@1.10.0: core-util-is "1.0.2" extsprintf "^1.2.0" -vfile-location@^2.0.0: - version "2.0.6" - resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-2.0.6.tgz#8a274f39411b8719ea5728802e10d9e0dff1519e" - integrity sha512-sSFdyCP3G6Ka0CEmN83A2YCMKIieHx0EDaj5IDP4g1pa5ZJ4FJDvpO0WODLxo4LUX4oe52gmSCK7Jw4SBghqxA== - -vfile-message@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-1.1.1.tgz#5833ae078a1dfa2d96e9647886cd32993ab313e1" - integrity sha512-1WmsopSGhWt5laNir+633LszXvZ+Z/lxveBf6yhGsqnQIhlhzooZae7zV6YVM1Sdkw68dtAW3ow0pOdPANugvA== - dependencies: - unist-util-stringify-position "^1.1.1" - -vfile-message@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-2.0.4.tgz#5b43b88171d409eae58477d13f23dd41d52c371a" - integrity sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ== - dependencies: - "@types/unist" "^2.0.0" - unist-util-stringify-position "^2.0.0" - vfile-message@^3.0.0: version "3.1.2" resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-3.1.2.tgz#a2908f64d9e557315ec9d7ea3a910f658ac05f7d" @@ -10948,48 +7135,6 @@ vfile-message@^3.0.0: "@types/unist" "^2.0.0" unist-util-stringify-position "^3.0.0" -vfile-reporter@^6.0.0: - version "6.0.2" - resolved "https://registry.yarnpkg.com/vfile-reporter/-/vfile-reporter-6.0.2.tgz#cbddaea2eec560f27574ce7b7b269822c191a676" - integrity sha512-GN2bH2gs4eLnw/4jPSgfBjo+XCuvnX9elHICJZjVD4+NM0nsUrMTvdjGY5Sc/XG69XVTgLwj7hknQVc6M9FukA== - dependencies: - repeat-string "^1.5.0" - string-width "^4.0.0" - supports-color "^6.0.0" - unist-util-stringify-position "^2.0.0" - vfile-sort "^2.1.2" - vfile-statistics "^1.1.0" - -vfile-sort@^2.1.0, vfile-sort@^2.1.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/vfile-sort/-/vfile-sort-2.2.2.tgz#720fe067ce156aba0b411a01bb0dc65596aa1190" - integrity sha512-tAyUqD2R1l/7Rn7ixdGkhXLD3zsg+XLAeUDUhXearjfIcpL1Hcsj5hHpCoy/gvfK/Ws61+e972fm0F7up7hfYA== - -vfile-statistics@^1.1.0: - version "1.1.4" - resolved "https://registry.yarnpkg.com/vfile-statistics/-/vfile-statistics-1.1.4.tgz#b99fd15ecf0f44ba088cc973425d666cb7a9f245" - integrity sha512-lXhElVO0Rq3frgPvFBwahmed3X03vjPF8OcjKMy8+F1xU/3Q3QU3tKEDp743SFtb74PdF0UWpxPvtOP0GCLheA== - -vfile@^2.0.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/vfile/-/vfile-2.3.0.tgz#e62d8e72b20e83c324bc6c67278ee272488bf84a" - integrity sha512-ASt4mBUHcTpMKD/l5Q+WJXNtshlWxOogYyGYYrg4lt/vuRjC1EFQtlAofL5VmtVNIZJzWYFJjzGWZ0Gw8pzW1w== - dependencies: - is-buffer "^1.1.4" - replace-ext "1.0.0" - unist-util-stringify-position "^1.0.0" - vfile-message "^1.0.0" - -vfile@^4.0.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/vfile/-/vfile-4.2.1.tgz#03f1dce28fc625c625bc6514350fbdb00fa9e624" - integrity sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA== - dependencies: - "@types/unist" "^2.0.0" - is-buffer "^2.0.0" - unist-util-stringify-position "^2.0.0" - vfile-message "^2.0.0" - vfile@^5.0.0: version "5.3.4" resolved "https://registry.yarnpkg.com/vfile/-/vfile-5.3.4.tgz#bbb8c96b956693bbf70b2c67fdb5781dff769b93" @@ -11000,54 +7145,6 @@ vfile@^5.0.0: unist-util-stringify-position "^3.0.0" vfile-message "^3.0.0" -vinyl-fs@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/vinyl-fs/-/vinyl-fs-3.0.3.tgz#c85849405f67428feabbbd5c5dbdd64f47d31bc7" - integrity sha512-vIu34EkyNyJxmP0jscNzWBSygh7VWhqun6RmqVfXePrOwi9lhvRs//dOaGOTRUQr4tx7/zd26Tk5WeSVZitgng== - dependencies: - fs-mkdirp-stream "^1.0.0" - glob-stream "^6.1.0" - graceful-fs "^4.0.0" - is-valid-glob "^1.0.0" - lazystream "^1.0.0" - lead "^1.0.0" - object.assign "^4.0.4" - pumpify "^1.3.5" - readable-stream "^2.3.3" - remove-bom-buffer "^3.0.0" - remove-bom-stream "^1.2.0" - resolve-options "^1.1.0" - through2 "^2.0.0" - to-through "^2.0.0" - value-or-function "^3.0.0" - vinyl "^2.0.0" - vinyl-sourcemap "^1.1.0" - -vinyl-sourcemap@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz#92a800593a38703a8cdb11d8b300ad4be63b3e16" - integrity sha1-kqgAWTo4cDqM2xHYswCtS+Y7PhY= - dependencies: - append-buffer "^1.0.2" - convert-source-map "^1.5.0" - graceful-fs "^4.1.6" - normalize-path "^2.1.1" - now-and-later "^2.0.0" - remove-bom-buffer "^3.0.0" - vinyl "^2.0.0" - -vinyl@^2.0.0, vinyl@^2.1.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-2.2.1.tgz#23cfb8bbab5ece3803aa2c0a1eb28af7cbba1974" - integrity sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw== - dependencies: - clone "^2.1.1" - clone-buffer "^1.0.0" - clone-stats "^1.0.0" - cloneable-readable "^1.0.0" - remove-trailing-separator "^1.0.1" - replace-ext "^1.0.0" - "vite@^2.9.12 || ^3.0.0-0": version "3.1.0" resolved "https://registry.yarnpkg.com/vite/-/vite-3.1.0.tgz#3138b279072941d57e76bcf7f66f272fc6a17fe2" @@ -11072,10 +7169,10 @@ vite@^3.1.0: optionalDependencies: fsevents "~2.3.2" -vitepress-plugin-mermaid@^2.0.7: - version "2.0.7" - resolved "https://registry.yarnpkg.com/vitepress-plugin-mermaid/-/vitepress-plugin-mermaid-2.0.7.tgz#6949c301f39a08c168a8836832ab4ef1e92699a1" - integrity sha512-VIi+pCvi7StdMjZvJtIsg90k44eLtG/NGkeKKvu17G/7AqKVIlt3Cb23KogdHiSlS2f4Ku70a2JAH1x0aEDM4w== +vitepress-plugin-mermaid@^2.0.8: + version "2.0.8" + resolved "https://registry.yarnpkg.com/vitepress-plugin-mermaid/-/vitepress-plugin-mermaid-2.0.8.tgz#7a2447d9fa5835fdc00195859d7864d35aeb19a9" + integrity sha512-ywWxTeg9kMv7ZPf/igCBF4ZHhWZAyRtbPnA12ICQuNK2AMp7r5IHOfnuX1EJQf8gNdsh8bcvvSvm8Ll92fdOTw== vitepress-plugin-search@^1.0.4-alpha.7: version "1.0.4-alpha.7" @@ -11186,14 +7283,6 @@ vue-demi@*: resolved "https://registry.yarnpkg.com/vue-demi/-/vue-demi-0.13.11.tgz#7d90369bdae8974d87b1973564ad390182410d99" integrity sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A== -vue-template-compiler@^2.5.16: - version "2.6.14" - resolved "https://registry.yarnpkg.com/vue-template-compiler/-/vue-template-compiler-2.6.14.tgz#a2f0e7d985670d42c9c9ee0d044fed7690f4f763" - integrity sha512-ODQS1SyMbjKoO1JBJZojSw6FE4qnh9rIpUZn2EUT86FKizx9uH5z6uXiIrm4/Nb/gwxTi/o17ZDEGWAXHvtC7g== - dependencies: - de-indent "^1.0.2" - he "^1.1.0" - vue@^3.2.38: version "3.2.39" resolved "https://registry.yarnpkg.com/vue/-/vue-3.2.39.tgz#de071c56c4c32c41cbd54e55f11404295c0dd62d" @@ -11255,20 +7344,6 @@ webidl-conversions@^7.0.0: resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-7.0.0.tgz#256b4e1882be7debbf01d05f0aa2039778ea080a" integrity sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g== -websocket-driver@>=0.5.1: - 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== - whatwg-encoding@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz#e7635f597fd87020858626805a2729fa7698ac53" @@ -11310,11 +7385,6 @@ whatwg-url@^5.0.0: tr46 "~0.0.3" webidl-conversions "^3.0.0" -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" @@ -11334,11 +7404,6 @@ word-wrap@^1.2.3, word-wrap@~1.2.3: resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== -wordwrap@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" - integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= - wrap-ansi@^6.2.0: version "6.2.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" @@ -11377,11 +7442,6 @@ ws@^8.2.3, ws@^8.8.0: resolved "https://registry.yarnpkg.com/ws/-/ws-8.8.1.tgz#5dbad0feb7ade8ecc99b830c1d77c913d4955ff0" integrity sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA== -x-is-string@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/x-is-string/-/x-is-string-0.1.0.tgz#474b50865af3a49a9c4657f05acd145458f77d82" - integrity sha1-R0tQhlrzpJqcRlfwWs0UVFj3fYI= - xml-name-validator@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-4.0.0.tgz#79a006e2e63149a8600f15430f0a4725d1524835" @@ -11402,16 +7462,6 @@ xregexp@2.0.0: resolved "https://registry.yarnpkg.com/xregexp/-/xregexp-2.0.0.tgz#52a63e56ca0b84a7f3a5f3d61872f126ad7a5943" integrity sha1-UqY+VsoLhKfzpfPWGHLxJq16WUM= -xtend@^4.0.0, xtend@^4.0.1, xtend@^4.0.2, 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" @@ -11437,14 +7487,6 @@ yaml@^2.1.1: resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.1.1.tgz#1e06fb4ca46e60d9da07e4f786ea370ed3c3cfec" integrity sha512-o96x3OPo8GjWeSLF+wOAbrPfhFOGY0W00GNaxCDv+9hkcDJEnev1yh8S7pgHF0ik6zc8sQLuL8hjHjJULZp8bw== -yargs-parser@^18.1.2: - version "18.1.3" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" - integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - yargs-parser@^20.2.2, yargs-parser@^20.2.3, yargs-parser@^20.2.9: version "20.2.9" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" @@ -11468,24 +7510,7 @@ yargs@17.4.1, yargs@^17.0.0, yargs@^17.3.1: y18n "^5.0.5" yargs-parser "^21.0.0" -yargs@^15.3.1: - version "15.4.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" - integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== - dependencies: - cliui "^6.0.0" - decamelize "^1.2.0" - find-up "^4.1.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 "^4.2.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^18.1.2" - -yargs@^16.0.0, yargs@^16.2.0: +yargs@^16.2.0: version "16.2.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== From 5e4bcbdfa05d0052492e329fe229530331b508d5 Mon Sep 17 00:00:00 2001 From: Emerson Bottero <emersonbottero@gmail.com> Date: Fri, 23 Sep 2022 23:51:33 -0300 Subject: [PATCH 03/33] chore: fix Original Setup --- src/docs/Setup.md | 1627 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1627 insertions(+) diff --git a/src/docs/Setup.md b/src/docs/Setup.md index e69de29bb..aae2ae9c0 100644 --- a/src/docs/Setup.md +++ b/src/docs/Setup.md @@ -0,0 +1,1627 @@ +<!-- Generated by documentation.js. Update this documentation by updating the source code. --> + +## mermaidAPI + +This is the API to be used when optionally handling the integration with the web page, instead of +using the default integration provided by mermaid.js. + +The core of this api is the [**render**][1] function which, given a graph +definition as text, renders the graph/diagram and returns an svg element for the graph. + +It is then up to the user of the API to make use of the svg, either insert it somewhere in the +page or do something completely different. + +In addition to the render function, a number of behavioral configuration options are available. + +## Configuration + +**Configuration methods in Mermaid version 8.6.0 have been updated, to learn more\[[click +here][2]].** + +## **What follows are config instructions for older versions** + +These are the default options which can be overridden with the initialization call like so: + +**Example 1:**<pre> mermaid.initialize({ flowchart:{ htmlLabels: false } }); </pre> + +**Example 2:**<pre> <script> var config = { startOnLoad:true, flowchart:{ useMaxWidth:true, +htmlLabels:true, curve:'cardinal', }, + + securityLevel:'loose', + +}; mermaid.initialize(config); </script> </pre> + +A summary of all options and their defaults is found [here][3]. +A description of each option follows below. + +## theme + +Theme , the CSS style sheet + +| Parameter | Description | Type | Required | Values | +| --------- | --------------- | ------ | -------- | ---------------------------------------------- | +| theme | Built in Themes | string | Optional | 'default', 'forest', 'dark', 'neutral', 'null' | + +**Notes:** To disable any pre-defined mermaid theme, use "null".<pre> "theme": "forest", +"themeCSS": ".node rect { fill: red; }" </pre> + +## fontFamily + +| Parameter | Description | Type | Required | Values | +| ---------- | ------------------------------------------------------ | ------ | -------- | --------------------------- | +| fontFamily | specifies the font to be used in the rendered diagrams | string | Required | Any Possible CSS FontFamily | + +**Notes:** Default value: '"trebuchet ms", verdana, arial, sans-serif;'. + +## logLevel + +| Parameter | Description | Type | Required | Values | +| --------- | ----------------------------------------------------- | ---------------- | -------- | --------------------------------------------- | +| logLevel | This option decides the amount of logging to be used. | string \| number | Required | 'trace','debug','info','warn','error','fatal' | + +**Notes:** + +- Trace: 0 +- Debug: 1 +- Info: 2 +- Warn: 3 +- Error: 4 +- Fatal: 5 (default) + +## securityLevel + +| Parameter | Description | Type | Required | Values | +| ------------- | --------------------------------- | ------ | -------- | ------------------------------------------ | +| securityLevel | Level of trust for parsed diagram | string | Required | 'sandbox', 'strict', 'loose', 'antiscript' | + +**Notes**: + +- **strict**: (**default**) tags in text are encoded, click functionality is disabled +- **loose**: tags in text are allowed, click functionality is enabled +- **antiscript**: html tags in text are allowed, (only script element is removed), click + functionality is enabled +- **sandbox**: With this security level all rendering takes place in a sandboxed iframe. This + prevent any JavaScript from running in the context. This may hinder interactive functionality + of the diagram like scripts, popups in sequence diagram or links to other tabs/targets etc. + +## startOnLoad + +| Parameter | Description | Type | Required | Values | +| ----------- | -------------------------------------------- | ------- | -------- | ----------- | +| startOnLoad | Dictates whether mermaid starts on Page load | boolean | Required | true, false | + +**Notes:** Default value: true + +## arrowMarkerAbsolute + +| Parameter | Description | Type | Required | Values | +| ------------------- | ---------------------------------------------------------------------------- | ------- | -------- | ----------- | +| arrowMarkerAbsolute | Controls whether or arrow markers in html code are absolute paths or anchors | boolean | Required | true, false | + +**Notes**: + +This matters if you are using base tag settings. + +Default value: false + +## secure + +This option controls which currentConfig keys are considered _secure_ and can only be changed +via call to mermaidAPI.initialize. Calls to mermaidAPI.reinitialize cannot make changes to the +`secure` keys in the current currentConfig. This prevents malicious graph directives from +overriding a site's default security. + +**Notes**: + +Default value: ['secure', 'securityLevel', 'startOnLoad', 'maxTextSize'] + +## deterministicIds + +This option controls if the generated ids of nodes in the SVG are generated randomly or based +on a seed. If set to false, the IDs are generated based on the current date and thus are not +deterministic. This is the default behaviour. + +**Notes**: + +This matters if your files are checked into sourcecontrol e.g. git and should not change unless +content is changed. + +Default value: false + +## deterministicIDSeed + +This option is the optional seed for deterministic ids. if set to undefined but +deterministicIds is true, a simple number iterator is used. You can set this attribute to base +the seed on a static string. + +## flowchart + +The object containing configurations specific for flowcharts + +### diagramPadding + +| Parameter | Description | Type | Required | Values | +| -------------- | ----------------------------------------------- | ------- | -------- | ------------------ | +| diagramPadding | Amount of padding around the diagram as a whole | Integer | Required | Any Positive Value | + +**Notes:** + +The amount of padding around the diagram as a whole so that embedded diagrams have margins, +expressed in pixels + +Default value: 8 + +### htmlLabels + +| Parameter | Description | Type | Required | Values | +| ---------- | -------------------------------------------------------------------------------------------- | ------- | -------- | ----------- | +| htmlLabels | Flag for setting whether or not a html tag should be used for rendering labels on the edges. | boolean | Required | true, false | + +**Notes:** Default value: true. + +### nodeSpacing + +| Parameter | Description | Type | Required | Values | +| ----------- | --------------------------------------------------- | ------- | -------- | ------------------- | +| nodeSpacing | Defines the spacing between nodes on the same level | Integer | Required | Any positive Number | + +**Notes:** + +Pertains to horizontal spacing for TB (top to bottom) or BT (bottom to top) graphs, and the +vertical spacing for LR as well as RL graphs.\*\* + +Default value: 50 + +### rankSpacing + +| Parameter | Description | Type | Required | Values | +| ----------- | ----------------------------------------------------- | ------- | -------- | ------------------- | +| rankSpacing | Defines the spacing between nodes on different levels | Integer | Required | Any Positive Number | + +**Notes**: + +Pertains to vertical spacing for TB (top to bottom) or BT (bottom to top), and the horizontal +spacing for LR as well as RL graphs. + +Default value 50 + +### curve + +| Parameter | Description | Type | Required | Values | +| --------- | -------------------------------------------------- | ------ | -------- | ----------------------------- | +| curve | Defines how mermaid renders curves for flowcharts. | string | Required | 'basis', 'linear', 'cardinal' | + +**Notes:** + +Default Value: 'basis' + +### useMaxWidth + +| Parameter | Description | Type | Required | Values | +| ----------- | ----------- | ------- | -------- | ----------- | +| useMaxWidth | See notes | boolean | 4 | true, false | + +**Notes:** + +When this flag is set the height and width is set to 100% and is then scaling with the +available space if not the absolute space required is used. + +Default value: true + +### defaultRenderer + +| Parameter | Description | Type | Required | Values | +| --------------- | ----------- | ------- | -------- | ----------------------- | +| defaultRenderer | See notes | boolean | 4 | dagre-d3, dagre-wrapper | + +**Notes:** + +Decides which rendering engine that is to be used for the rendering. Legal values are: +dagre-d3 dagre-wrapper - wrapper for dagre implemented in mermaid + +Default value: 'dagre-wrapper' + +## sequence + +The object containing configurations specific for sequence diagrams + +### activationWidth + +| Parameter | Description | Type | Required | Values | +| --------------- | ---------------------------- | ------- | -------- | ------------------ | +| activationWidth | Width of the activation rect | Integer | Required | Any Positive Value | + +**Notes:** Default value :10 + +### diagramMarginX + +| Parameter | Description | Type | Required | Values | +| -------------- | ---------------------------------------------------- | ------- | -------- | ------------------ | +| diagramMarginX | Margin to the right and left of the sequence diagram | Integer | Required | Any Positive Value | + +**Notes:** Default value: 50 + +### diagramMarginY + +| Parameter | Description | Type | Required | Values | +| -------------- | ------------------------------------------------- | ------- | -------- | ------------------ | +| diagramMarginY | Margin to the over and under the sequence diagram | Integer | Required | Any Positive Value | + +**Notes:** Default value: 10 + +### actorMargin + +| Parameter | Description | Type | Required | Values | +| ----------- | --------------------- | ------- | -------- | ------------------ | +| actorMargin | Margin between actors | Integer | Required | Any Positive Value | + +**Notes:** Default value: 50 + +### width + +| Parameter | Description | Type | Required | Values | +| --------- | -------------------- | ------- | -------- | ------------------ | +| width | Width of actor boxes | Integer | Required | Any Positive Value | + +**Notes:** Default value: 150 + +### height + +| Parameter | Description | Type | Required | Values | +| --------- | --------------------- | ------- | -------- | ------------------ | +| height | Height of actor boxes | Integer | Required | Any Positive Value | + +**Notes:** Default value: 65 + +### boxMargin + +| Parameter | Description | Type | Required | Values | +| --------- | ------------------------ | ------- | -------- | ------------------ | +| boxMargin | Margin around loop boxes | Integer | Required | Any Positive Value | + +**Notes:** Default value: 10 + +### boxTextMargin + +| Parameter | Description | Type | Required | Values | +| ------------- | -------------------------------------------- | ------- | -------- | ------------------ | +| boxTextMargin | Margin around the text in loop/alt/opt boxes | Integer | Required | Any Positive Value | + +**Notes:** Default value: 5 + +### noteMargin + +| Parameter | Description | Type | Required | Values | +| ---------- | ------------------- | ------- | -------- | ------------------ | +| noteMargin | margin around notes | Integer | Required | Any Positive Value | + +**Notes:** Default value: 10 + +### messageMargin + +| Parameter | Description | Type | Required | Values | +| ------------- | ---------------------- | ------- | -------- | ------------------ | +| messageMargin | Space between messages | Integer | Required | Any Positive Value | + +**Notes:** Default value: 35 + +### messageAlign + +| Parameter | Description | Type | Required | Values | +| ------------ | --------------------------- | ------ | -------- | ------------------------- | +| messageAlign | Multiline message alignment | string | Required | 'left', 'center', 'right' | + +**Notes:** Default value: 'center' + +### mirrorActors + +| Parameter | Description | Type | Required | Values | +| ------------ | --------------------------- | ------- | -------- | ----------- | +| mirrorActors | Mirror actors under diagram | boolean | Required | true, false | + +**Notes:** Default value: true + +### forceMenus + +| Parameter | Description | Type | Required | Values | +| ---------- | ----------------------------------------------------------------------- | ------- | -------- | ----------- | +| forceMenus | forces actor popup menus to always be visible (to support E2E testing). | Boolean | Required | True, False | + +**Notes:** + +Default value: false. + +### bottomMarginAdj + +| Parameter | Description | Type | Required | Values | +| --------------- | ------------------------------------------ | ------- | -------- | ------------------ | +| bottomMarginAdj | Prolongs the edge of the diagram downwards | Integer | Required | Any Positive Value | + +**Notes:** + +Depending on css styling this might need adjustment. + +Default value: 1 + +### useMaxWidth + +| Parameter | Description | Type | Required | Values | +| ----------- | ----------- | ------- | -------- | ----------- | +| useMaxWidth | See Notes | boolean | Required | true, false | + +**Notes:** When this flag is set to true, the height and width is set to 100% and is then +scaling with the available space. If set to false, the absolute space required is used. + +Default value: true + +### rightAngles + +| Parameter | Description | Type | Required | Values | +| ----------- | ------------------------------------ | ------- | -------- | ----------- | +| rightAngles | display curve arrows as right angles | boolean | Required | true, false | + +**Notes:** + +This will display arrows that start and begin at the same node as right angles, rather than a +curve + +Default value: false + +### showSequenceNumbers + +| Parameter | Description | Type | Required | Values | +| ------------------- | ------------------------------- | ------- | -------- | ----------- | +| showSequenceNumbers | This will show the node numbers | boolean | Required | true, false | + +**Notes:** Default value: false + +### actorFontSize + +| Parameter | Description | Type | Required | Values | +| ------------- | -------------------------------------------------- | ------- | -------- | ------------------ | +| actorFontSize | This sets the font size of the actor's description | Integer | Require | Any Positive Value | + +**Notes:** **Default value 14**.. + +### actorFontFamily + +| Parameter | Description | Type | Required | Values | +| --------------- | ---------------------------------------------------- | ------ | -------- | --------------------------- | +| actorFontFamily | This sets the font family of the actor's description | string | Required | Any Possible CSS FontFamily | + +**Notes:** Default value: "'Open Sans", sans-serif' + +### actorFontWeight + +This sets the font weight of the actor's description + +**Notes:** Default value: 400. + +### noteFontSize + +| Parameter | Description | Type | Required | Values | +| ------------ | ----------------------------------------------- | ------- | -------- | ------------------ | +| noteFontSize | This sets the font size of actor-attached notes | Integer | Required | Any Positive Value | + +**Notes:** Default value: 14 + +### noteFontFamily + +| Parameter | Description | Type | Required | Values | +| -------------- | -------------------------------------------------- | ------ | -------- | --------------------------- | +| noteFontFamily | This sets the font family of actor-attached notes. | string | Required | Any Possible CSS FontFamily | + +**Notes:** Default value: ''"trebuchet ms", verdana, arial, sans-serif' + +### noteFontWeight + +This sets the font weight of the note's description + +**Notes:** Default value: 400 + +### noteAlign + +| Parameter | Description | Type | Required | Values | +| --------- | ---------------------------------------------------- | ------ | -------- | ------------------------- | +| noteAlign | This sets the text alignment of actor-attached notes | string | required | 'left', 'center', 'right' | + +**Notes:** Default value: 'center' + +### messageFontSize + +| Parameter | Description | Type | Required | Values | +| --------------- | ----------------------------------------- | ------- | -------- | ------------------- | +| messageFontSize | This sets the font size of actor messages | Integer | Required | Any Positive Number | + +**Notes:** Default value: 16 + +### messageFontFamily + +| Parameter | Description | Type | Required | Values | +| ----------------- | ------------------------------------------- | ------ | -------- | --------------------------- | +| messageFontFamily | This sets the font family of actor messages | string | Required | Any Possible CSS FontFamily | + +**Notes:** Default value: '"trebuchet ms", verdana, arial, sans-serif' + +### messageFontWeight + +This sets the font weight of the message's description + +**Notes:** Default value: 400. + +### wrap + +This sets the auto-wrap state for the diagram + +**Notes:** Default value: false. + +### wrapPadding + +This sets the auto-wrap padding for the diagram (sides only) + +**Notes:** Default value: 0. + +### labelBoxWidth + +This sets the width of the loop-box (loop, alt, opt, par) + +**Notes:** Default value: 50. + +### labelBoxHeight + +This sets the height of the loop-box (loop, alt, opt, par) + +**Notes:** Default value: 20. + +## gantt + +The object containing configurations specific for gantt diagrams + +### titleTopMargin + +### titleTopMargin + +| Parameter | Description | Type | Required | Values | +| -------------- | ---------------------------------------------- | ------- | -------- | ------------------ | +| titleTopMargin | Margin top for the text over the gantt diagram | Integer | Required | Any Positive Value | + +**Notes:** Default value: 25 + +### barHeight + +| Parameter | Description | Type | Required | Values | +| --------- | ----------------------------------- | ------- | -------- | ------------------ | +| barHeight | The height of the bars in the graph | Integer | Required | Any Positive Value | + +**Notes:** Default value: 20 + +### barGap + +| Parameter | Description | Type | Required | Values | +| --------- | ---------------------------------------------------------------- | ------- | -------- | ------------------ | +| barGap | The margin between the different activities in the gantt diagram | Integer | Optional | Any Positive Value | + +**Notes:** Default value: 4 + +### topPadding + +| Parameter | Description | Type | Required | Values | +| ---------- | -------------------------------------------------------------------------- | ------- | -------- | ------------------ | +| topPadding | Margin between title and gantt diagram and between axis and gantt diagram. | Integer | Required | Any Positive Value | + +**Notes:** Default value: 50 + +### rightPadding + +| Parameter | Description | Type | Required | Values | +| ------------ | ----------------------------------------------------------------------- | ------- | -------- | ------------------ | +| rightPadding | The space allocated for the section name to the right of the activities | Integer | Required | Any Positive Value | + +**Notes:** Default value: 75 + +### leftPadding + +| Parameter | Description | Type | Required | Values | +| ----------- | ---------------------------------------------------------------------- | ------- | -------- | ------------------ | +| leftPadding | The space allocated for the section name to the left of the activities | Integer | Required | Any Positive Value | + +**Notes:** Default value: 75 + +### gridLineStartPadding + +| Parameter | Description | Type | Required | Values | +| -------------------- | -------------------------------------------- | ------- | -------- | ------------------ | +| gridLineStartPadding | Vertical starting position of the grid lines | Integer | Required | Any Positive Value | + +**Notes:** Default value: 35 + +### fontSize + +| Parameter | Description | Type | Required | Values | +| --------- | ----------- | ------- | -------- | ------------------ | +| fontSize | Font size | Integer | Required | Any Positive Value | + +**Notes:** Default value: 11 + +### sectionFontSize + +| Parameter | Description | Type | Required | Values | +| --------------- | ---------------------- | ------- | -------- | ------------------ | +| sectionFontSize | Font size for sections | Integer | Required | Any Positive Value | + +**Notes:** Default value: 11 + +### numberSectionStyles + +| Parameter | Description | Type | Required | Values | +| ------------------- | ---------------------------------------- | ------- | -------- | ------------------ | +| numberSectionStyles | The number of alternating section styles | Integer | 4 | Any Positive Value | + +**Notes:** Default value: 4 + +### axisFormat + +| Parameter | Description | Type | Required | Values | +| ---------- | --------------------------- | ---- | -------- | ---------------- | +| axisFormat | Datetime format of the axis | 3 | Required | Date in yy-mm-dd | + +**Notes:** + +This might need adjustment to match your locale and preferences + +Default value: '%Y-%m-%d'. + +### useMaxWidth + +| Parameter | Description | Type | Required | Values | +| ----------- | ----------- | ------- | -------- | ----------- | +| useMaxWidth | See notes | boolean | 4 | true, false | + +**Notes:** + +When this flag is set the height and width is set to 100% and is then scaling with the +available space if not the absolute space required is used. + +Default value: true + +### topAxis + +| Parameter | Description | Type | Required | Values | +| --------- | ----------- | ------- | -------- | ----------- | +| topAxis | See notes | Boolean | 4 | True, False | + +**Notes:** when this flag is set date labels will be added to the top of the chart + +**Default value false**. + +## journey + +The object containing configurations specific for journey diagrams + +### diagramMarginX + +| Parameter | Description | Type | Required | Values | +| -------------- | ---------------------------------------------------- | ------- | -------- | ------------------ | +| diagramMarginX | Margin to the right and left of the sequence diagram | Integer | Required | Any Positive Value | + +**Notes:** Default value: 50 + +### diagramMarginY + +| Parameter | Description | Type | Required | Values | +| -------------- | -------------------------------------------------- | ------- | -------- | ------------------ | +| diagramMarginY | Margin to the over and under the sequence diagram. | Integer | Required | Any Positive Value | + +**Notes:** Default value: 10 + +### leftMargin + +| Parameter | Description | Type | Required | Values | +| ----------- | --------------------- | ------- | -------- | ------------------ | +| actorMargin | Margin between actors | Integer | Required | Any Positive Value | + +**Notes:** Default value: 50 + +### width + +| Parameter | Description | Type | Required | Values | +| --------- | -------------------- | ------- | -------- | ------------------ | +| width | Width of actor boxes | Integer | Required | Any Positive Value | + +**Notes:** Default value: 150 + +### height + +| Parameter | Description | Type | Required | Values | +| --------- | --------------------- | ------- | -------- | ------------------ | +| height | Height of actor boxes | Integer | Required | Any Positive Value | + +**Notes:** Default value: 65 + +### boxMargin + +| Parameter | Description | Type | Required | Values | +| --------- | ------------------------ | ------- | -------- | ------------------ | +| boxMargin | Margin around loop boxes | Integer | Required | Any Positive Value | + +**Notes:** Default value: 10 + +### boxTextMargin + +| Parameter | Description | Type | Required | Values | +| ------------- | -------------------------------------------- | ------- | -------- | ------------------ | +| boxTextMargin | Margin around the text in loop/alt/opt boxes | Integer | Required | Any Positive Value | + +**Notes:** Default value: 5 + +### noteMargin + +| Parameter | Description | Type | Required | Values | +| ---------- | ------------------- | ------- | -------- | ------------------ | +| noteMargin | Margin around notes | Integer | Required | Any Positive Value | + +**Notes:** Default value: 10 + +### messageMargin + +| Parameter | Description | Type | Required | Values | +| ------------- | ----------------------- | ------- | -------- | ------------------ | +| messageMargin | Space between messages. | Integer | Required | Any Positive Value | + +**Notes:** + +Space between messages. + +Default value: 35 + +### messageAlign + +| Parameter | Description | Type | Required | Values | +| ------------ | --------------------------- | ---- | -------- | ------------------------- | +| messageAlign | Multiline message alignment | 3 | 4 | 'left', 'center', 'right' | + +**Notes:** Default value: 'center' + +### bottomMarginAdj + +| Parameter | Description | Type | Required | Values | +| --------------- | ------------------------------------------ | ------- | -------- | ------------------ | +| bottomMarginAdj | Prolongs the edge of the diagram downwards | Integer | 4 | Any Positive Value | + +**Notes:** + +Depending on css styling this might need adjustment. + +Default value: 1 + +### useMaxWidth + +| Parameter | Description | Type | Required | Values | +| ----------- | ----------- | ------- | -------- | ----------- | +| useMaxWidth | See notes | boolean | 4 | true, false | + +**Notes:** + +When this flag is set the height and width is set to 100% and is then scaling with the +available space if not the absolute space required is used. + +Default value: true + +### rightAngles + +| Parameter | Description | Type | Required | Values | +| ----------- | --------------------------------- | ---- | -------- | ----------- | +| rightAngles | Curved Arrows become Right Angles | 3 | 4 | true, false | + +**Notes:** + +This will display arrows that start and begin at the same node as right angles, rather than a +curves + +Default value: false + +## useMaxWidth + +| Parameter | Description | Type | Required | Values | +| ----------- | ----------- | ------- | -------- | ----------- | +| useMaxWidth | See notes | boolean | 4 | true, false | + +**Notes:** + +When this flag is set the height and width is set to 100% and is then scaling with the +available space if not the absolute space required is used. + +Default value: true + +## defaultRenderer + +| Parameter | Description | Type | Required | Values | +| --------------- | ----------- | ------- | -------- | ----------------------- | +| defaultRenderer | See notes | boolean | 4 | dagre-d3, dagre-wrapper | + +**Notes**: + +Decides which rendering engine that is to be used for the rendering. Legal values are: +dagre-d3 dagre-wrapper - wrapper for dagre implemented in mermaid + +Default value: 'dagre-d3' + +## useMaxWidth + +| Parameter | Description | Type | Required | Values | +| ----------- | ----------- | ------- | -------- | ----------- | +| useMaxWidth | See notes | boolean | 4 | true, false | + +**Notes:** + +When this flag is set the height and width is set to 100% and is then scaling with the +available space if not the absolute space required is used. + +Default value: true + +## defaultRenderer + +| Parameter | Description | Type | Required | Values | +| --------------- | ----------- | ------- | -------- | ----------------------- | +| defaultRenderer | See notes | boolean | 4 | dagre-d3, dagre-wrapper | + +**Notes:** + +Decides which rendering engine that is to be used for the rendering. Legal values are: +dagre-d3 dagre-wrapper - wrapper for dagre implemented in mermaid + +Default value: 'dagre-d3' + +## er + +The object containing configurations specific for entity relationship diagrams + +### diagramPadding + +| Parameter | Description | Type | Required | Values | +| -------------- | ----------------------------------------------- | ------- | -------- | ------------------ | +| diagramPadding | Amount of padding around the diagram as a whole | Integer | Required | Any Positive Value | + +**Notes:** + +The amount of padding around the diagram as a whole so that embedded diagrams have margins, +expressed in pixels + +Default value: 20 + +### layoutDirection + +| Parameter | Description | Type | Required | Values | +| --------------- | ---------------------------------------- | ------ | -------- | ---------------------- | +| layoutDirection | Directional bias for layout of entities. | string | Required | "TB", "BT", "LR", "RL" | + +**Notes:** + +'TB' for Top-Bottom, 'BT'for Bottom-Top, 'LR' for Left-Right, or 'RL' for Right to Left. + +T = top, B = bottom, L = left, and R = right. + +Default value: 'TB' + +### minEntityWidth + +| Parameter | Description | Type | Required | Values | +| -------------- | ---------------------------------- | ------- | -------- | ------------------ | +| minEntityWidth | The minimum width of an entity box | Integer | Required | Any Positive Value | + +**Notes:** Expressed in pixels. Default value: 100 + +### minEntityHeight + +| Parameter | Description | Type | Required | Values | +| --------------- | ----------------------------------- | ------- | -------- | ------------------ | +| minEntityHeight | The minimum height of an entity box | Integer | 4 | Any Positive Value | + +**Notes:** Expressed in pixels Default value: 75 + +### entityPadding + +| Parameter | Description | Type | Required | Values | +| ------------- | ------------------------------------------------------------ | ------- | -------- | ------------------ | +| entityPadding | Minimum internal padding between text in box and box borders | Integer | 4 | Any Positive Value | + +**Notes:** + +The minimum internal padding between text in an entity box and the enclosing box borders, +expressed in pixels. + +Default value: 15 + +### stroke + +| Parameter | Description | Type | Required | Values | +| --------- | ----------------------------------- | ------ | -------- | -------------------- | +| stroke | Stroke color of box edges and lines | string | 4 | Any recognized color | + +**Notes:** Default value: 'gray' + +### fill + +| Parameter | Description | Type | Required | Values | +| --------- | -------------------------- | ------ | -------- | -------------------- | +| fill | Fill color of entity boxes | string | 4 | Any recognized color | + +**Notes:** Default value: 'honeydew' + +### fontSize + +| Parameter | Description | Type | Required | Values | +| --------- | ------------------- | ------- | -------- | ------------------ | +| fontSize | Font Size in pixels | Integer | | Any Positive Value | + +**Notes:** + +Font size (expressed as an integer representing a number of pixels) Default value: 12 + +### useMaxWidth + +| Parameter | Description | Type | Required | Values | +| ----------- | ----------- | ------- | -------- | ----------- | +| useMaxWidth | See Notes | boolean | Required | true, false | + +**Notes:** + +When this flag is set to true, the diagram width is locked to 100% and scaled based on +available space. If set to false, the diagram reserves its absolute width. + +Default value: true + +## pie + +The object containing configurations specific for pie diagrams + +### useMaxWidth + +| Parameter | Description | Type | Required | Values | +| ----------- | ----------- | ------- | -------- | ----------- | +| useMaxWidth | See Notes | boolean | Required | true, false | + +**Notes:** + +When this flag is set to true, the diagram width is locked to 100% and scaled based on +available space. If set to false, the diagram reserves its absolute width. + +Default value: true + +## requirement + +The object containing configurations specific for req diagrams + +### useMaxWidth + +| Parameter | Description | Type | Required | Values | +| ----------- | ----------- | ------- | -------- | ----------- | +| useMaxWidth | See Notes | boolean | Required | true, false | + +**Notes:** + +When this flag is set to true, the diagram width is locked to 100% and scaled based on +available space. If set to false, the diagram reserves its absolute width. + +Default value: true + +## c4 + +The object containing configurations specific for c4 diagrams + +### diagramMarginX + +| Parameter | Description | Type | Required | Values | +| -------------- | ---------------------------------------------- | ------- | -------- | ------------------ | +| diagramMarginX | Margin to the right and left of the c4 diagram | Integer | Required | Any Positive Value | + +**Notes:** Default value: 50 + +### diagramMarginY + +| Parameter | Description | Type | Required | Values | +| -------------- | ------------------------------------------- | ------- | -------- | ------------------ | +| diagramMarginY | Margin to the over and under the c4 diagram | Integer | Required | Any Positive Value | + +**Notes:** Default value: 10 + +### c4ShapeMargin + +| Parameter | Description | Type | Required | Values | +| ------------- | --------------------- | ------- | -------- | ------------------ | +| c4ShapeMargin | Margin between shapes | Integer | Required | Any Positive Value | + +**Notes:** Default value: 50 + +### c4ShapePadding + +| Parameter | Description | Type | Required | Values | +| -------------- | ---------------------- | ------- | -------- | ------------------ | +| c4ShapePadding | Padding between shapes | Integer | Required | Any Positive Value | + +**Notes:** Default value: 20 + +### width + +| Parameter | Description | Type | Required | Values | +| --------- | --------------------- | ------- | -------- | ------------------ | +| width | Width of person boxes | Integer | Required | Any Positive Value | + +**Notes:** Default value: 216 + +### height + +| Parameter | Description | Type | Required | Values | +| --------- | ---------------------- | ------- | -------- | ------------------ | +| height | Height of person boxes | Integer | Required | Any Positive Value | + +**Notes:** Default value: 60 + +### boxMargin + +| Parameter | Description | Type | Required | Values | +| --------- | ------------------- | ------- | -------- | ------------------ | +| boxMargin | Margin around boxes | Integer | Required | Any Positive Value | + +**Notes:** Default value: 10 + +### useMaxWidth + +| Parameter | Description | Type | Required | Values | +| ----------- | ----------- | ------- | -------- | ----------- | +| useMaxWidth | See Notes | boolean | Required | true, false | + +**Notes:** When this flag is set to true, the height and width is set to 100% and is then +scaling with the available space. If set to false, the absolute space required is used. + +Default value: true + +### c4ShapeInRow + +| Parameter | Description | Type | Required | Values | +| ------------ | ----------- | ------- | -------- | ------------------ | +| c4ShapeInRow | See Notes | Integer | Required | Any Positive Value | + +**Notes:** How many shapes to place in each row. + +Default value: 4 + +### c4BoundaryInRow + +| Parameter | Description | Type | Required | Values | +| --------------- | ----------- | ------- | -------- | ------------------ | +| c4BoundaryInRow | See Notes | Integer | Required | Any Positive Value | + +**Notes:** How many boundarys to place in each row. + +Default value: 2 + +### personFontSize + +This sets the font size of Person shape for the diagram + +**Notes:** Default value: 14. + +### personFontFamily + +This sets the font family of Person shape for the diagram + +**Notes:** Default value: "Open Sans", sans-serif. + +### personFontWeight + +This sets the font weight of Person shape for the diagram + +**Notes:** Default value: normal. + +### external_personFontSize + +This sets the font size of External Person shape for the diagram + +**Notes:** Default value: 14. + +### external_personFontFamily + +This sets the font family of External Person shape for the diagram + +**Notes:** Default value: "Open Sans", sans-serif. + +### external_personFontWeight + +This sets the font weight of External Person shape for the diagram + +**Notes:** Default value: normal. + +### systemFontSize + +This sets the font size of System shape for the diagram + +**Notes:** Default value: 14. + +### systemFontFamily + +This sets the font family of System shape for the diagram + +**Notes:** Default value: "Open Sans", sans-serif. + +### systemFontWeight + +This sets the font weight of System shape for the diagram + +**Notes:** Default value: normal. + +### external_systemFontSize + +This sets the font size of External System shape for the diagram + +**Notes:** Default value: 14. + +### external_systemFontFamily + +This sets the font family of External System shape for the diagram + +**Notes:** Default value: "Open Sans", sans-serif. + +### external_systemFontWeight + +This sets the font weight of External System shape for the diagram + +**Notes:** Default value: normal. + +### system_dbFontSize + +This sets the font size of System DB shape for the diagram + +**Notes:** Default value: 14. + +### system_dbFontFamily + +This sets the font family of System DB shape for the diagram + +**Notes:** Default value: "Open Sans", sans-serif. + +### system_dbFontWeight + +This sets the font weight of System DB shape for the diagram + +**Notes:** Default value: normal. + +### external_system_dbFontSize + +This sets the font size of External System DB shape for the diagram + +**Notes:** Default value: 14. + +### external_system_dbFontFamily + +This sets the font family of External System DB shape for the diagram + +**Notes:** Default value: "Open Sans", sans-serif. + +### external_system_dbFontWeight + +This sets the font weight of External System DB shape for the diagram + +**Notes:** Default value: normal. + +### system_queueFontSize + +This sets the font size of System Queue shape for the diagram + +**Notes:** Default value: 14. + +### system_queueFontFamily + +This sets the font family of System Queue shape for the diagram + +**Notes:** Default value: "Open Sans", sans-serif. + +### system_queueFontWeight + +This sets the font weight of System Queue shape for the diagram + +**Notes:** Default value: normal. + +### external_system_queueFontSize + +This sets the font size of External System Queue shape for the diagram + +**Notes:** Default value: 14. + +### external_system_queueFontFamily + +This sets the font family of External System Queue shape for the diagram + +**Notes:** Default value: "Open Sans", sans-serif. + +### external_system_queueFontWeight + +This sets the font weight of External System Queue shape for the diagram + +**Notes:** Default value: normal. + +### boundaryFontSize + +This sets the font size of Boundary shape for the diagram + +**Notes:** Default value: 14. + +### boundaryFontFamily + +This sets the font family of Boundary shape for the diagram + +**Notes:** Default value: "Open Sans", sans-serif. + +### boundaryFontWeight + +This sets the font weight of Boundary shape for the diagram + +**Notes:** Default value: normal. + +### messageFontSize + +This sets the font size of Message shape for the diagram + +**Notes:** Default value: 12. + +### messageFontFamily + +This sets the font family of Message shape for the diagram + +**Notes:** Default value: "Open Sans", sans-serif. + +### messageFontWeight + +This sets the font weight of Message shape for the diagram + +**Notes:** Default value: normal. + +### containerFontSize + +This sets the font size of Container shape for the diagram + +**Notes:** Default value: 14. + +### containerFontFamily + +This sets the font family of Container shape for the diagram + +**Notes:** Default value: "Open Sans", sans-serif. + +### containerFontWeight + +This sets the font weight of Container shape for the diagram + +**Notes:** Default value: normal. + +### external_containerFontSize + +This sets the font size of External Container shape for the diagram + +**Notes:** Default value: 14. + +### external_containerFontFamily + +This sets the font family of External Container shape for the diagram + +**Notes:** Default value: "Open Sans", sans-serif. + +### external_containerFontWeight + +This sets the font weight of External Container shape for the diagram + +**Notes:** Default value: normal. + +### container_dbFontSize + +This sets the font size of Container DB shape for the diagram + +**Notes:** Default value: 14. + +### container_dbFontFamily + +This sets the font family of Container DB shape for the diagram + +**Notes:** Default value: "Open Sans", sans-serif. + +### container_dbFontWeight + +This sets the font weight of Container DB shape for the diagram + +**Notes:** Default value: normal. + +### external_container_dbFontSize + +This sets the font size of External Container DB shape for the diagram + +**Notes:** Default value: 14. + +### external_container_dbFontFamily + +This sets the font family of External Container DB shape for the diagram + +**Notes:** Default value: "Open Sans", sans-serif. + +### external_container_dbFontWeight + +This sets the font weight of External Container DB shape for the diagram + +**Notes:** Default value: normal. + +### container_queueFontSize + +This sets the font size of Container Queue shape for the diagram + +**Notes:** Default value: 14. + +### container_queueFontFamily + +This sets the font family of Container Queue shape for the diagram + +**Notes:** Default value: "Open Sans", sans-serif. + +### container_queueFontWeight + +This sets the font weight of Container Queue shape for the diagram + +**Notes:** Default value: normal. + +### external_container_queueFontSize + +This sets the font size of External Container Queue shape for the diagram + +**Notes:** Default value: 14. + +### external_container_queueFontFamily + +This sets the font family of External Container Queue shape for the diagram + +**Notes:** Default value: "Open Sans", sans-serif. + +### external_container_queueFontWeight + +This sets the font weight of External Container Queue shape for the diagram + +**Notes:** Default value: normal. + +### componentFontSize + +This sets the font size of Component shape for the diagram + +**Notes:** Default value: 14. + +### componentFontFamily + +This sets the font family of Component shape for the diagram + +**Notes:** Default value: "Open Sans", sans-serif. + +### componentFontWeight + +This sets the font weight of Component shape for the diagram + +**Notes:** Default value: normal. + +### external_componentFontSize + +This sets the font size of External Component shape for the diagram + +**Notes:** Default value: 14. + +### external_componentFontFamily + +This sets the font family of External Component shape for the diagram + +**Notes:** Default value: "Open Sans", sans-serif. + +### external_componentFontWeight + +This sets the font weight of External Component shape for the diagram + +**Notes:** Default value: normal. + +### component_dbFontSize + +This sets the font size of Component DB shape for the diagram + +**Notes:** Default value: 14. + +### component_dbFontFamily + +This sets the font family of Component DB shape for the diagram + +**Notes:** Default value: "Open Sans", sans-serif. + +### component_dbFontWeight + +This sets the font weight of Component DB shape for the diagram + +**Notes:** Default value: normal. + +### external_component_dbFontSize + +This sets the font size of External Component DB shape for the diagram + +**Notes:** Default value: 14. + +### external_component_dbFontFamily + +This sets the font family of External Component DB shape for the diagram + +**Notes:** Default value: "Open Sans", sans-serif. + +### external_component_dbFontWeight + +This sets the font weight of External Component DB shape for the diagram + +**Notes:** Default value: normal. + +### component_queueFontSize + +This sets the font size of Component Queue shape for the diagram + +**Notes:** Default value: 14. + +### component_queueFontFamily + +This sets the font family of Component Queue shape for the diagram + +**Notes:** Default value: "Open Sans", sans-serif. + +### component_queueFontWeight + +This sets the font weight of Component Queue shape for the diagram + +**Notes:** Default value: normal. + +### external_component_queueFontSize + +This sets the font size of External Component Queue shape for the diagram + +**Notes:** Default value: 14. + +### external_component_queueFontFamily + +This sets the font family of External Component Queue shape for the diagram + +**Notes:** Default value: "Open Sans", sans-serif. + +### external_component_queueFontWeight + +This sets the font weight of External Component Queue shape for the diagram + +**Notes:** Default value: normal. + +### wrap + +This sets the auto-wrap state for the diagram + +**Notes:** Default value: true. + +### wrapPadding + +This sets the auto-wrap padding for the diagram (sides only) + +**Notes:** Default value: 0. + +## parse + +### Parameters + +- `text` **[string][4]** +- `parseError` **[Function][5]?** + +Returns **[boolean][6]** + +## setSiteConfig + +## setSiteConfig + +| Function | Description | Type | Values | +| ------------- | ------------------------------------- | ----------- | --------------------------------------- | +| setSiteConfig | Sets the siteConfig to desired values | Put Request | Any Values, except ones in secure array | + +**Notes:** Sets the siteConfig. The siteConfig is a protected configuration for repeat use. Calls +to reset() will reset the currentConfig to siteConfig. Calls to reset(configApi.defaultConfig) +will reset siteConfig and currentConfig to the defaultConfig Note: currentConfig is set in this +function _Default value: At default, will mirror Global Config_ + +### Parameters + +- `conf` **MermaidConfig** The base currentConfig to use as siteConfig + +Returns **[object][7]** The siteConfig + +## getSiteConfig + +## getSiteConfig + +| Function | Description | Type | Values | +| ------------- | ------------------------------------------------- | ----------- | -------------------------------- | +| setSiteConfig | Returns the current siteConfig base configuration | Get Request | Returns Any Values in siteConfig | + +**Notes**: Returns **any** values in siteConfig. + +Returns **[object][7]** The siteConfig + +## setConfig + +## setConfig + +| Function | Description | Type | Values | +| ------------- | ------------------------------------- | ----------- | --------------------------------------- | +| setSiteConfig | Sets the siteConfig to desired values | Put Request | Any Values, except ones in secure array | + +**Notes**: Sets the currentConfig. The parameter conf is sanitized based on the siteConfig.secure +keys. Any values found in conf with key found in siteConfig.secure will be replaced with the +corresponding siteConfig value. + +### Parameters + +- `conf` **any** The potential currentConfig + +Returns **any** The currentConfig merged with the sanitized conf + +## render + +Function that renders an svg with a graph from a chart definition. Usage example below. + +```javascript +mermaidAPI.initialize({ + startOnLoad: true, +}); +$(function () { + const graphDefinition = 'graph TB\na-->b'; + const cb = function (svgGraph) { + console.log(svgGraph); + }; + mermaidAPI.render('id1', graphDefinition, cb); +}); +``` + +### Parameters + +- `id` **[string][4]** The id of the element to be rendered +- `text` **[string][4]** The graph definition +- `cb` **function (svgCode: [string][4], bindFunctions: function (element: [Element][8]): void): void** +- `container` **[Element][8]** Selector to element in which a div with the graph temporarily will be + inserted. If one is provided a hidden div will be inserted in the body of the page instead. The + element will be removed when rendering is completed. + +Returns **void** + +## getConfig + +## getConfig + +| Function | Description | Type | Return Values | +| --------- | ------------------------- | ----------- | ------------------------------ | +| getConfig | Obtains the currentConfig | Get Request | Any Values from current Config | + +**Notes**: Returns **any** the currentConfig + +Returns **any** The currentConfig + +## sanitize + +## sanitize + +| Function | Description | Type | Values | +| -------- | -------------------------------------- | ----------- | ------ | +| sanitize | Sets the siteConfig to desired values. | Put Request | None | + +Ensures options parameter does not attempt to override siteConfig secure keys **Notes**: modifies +options in-place + +### Parameters + +- `options` **any** The potential setConfig parameter + +## addDirective + +Pushes in a directive to the configuration + +### Parameters + +- `directive` **[object][7]** The directive to push in + +## reset + +## reset + +| Function | Description | Type | Required | Values | +| -------- | ---------------------------- | ----------- | -------- | ------ | +| reset | Resets currentConfig to conf | Put Request | Required | None | + +## conf + +| Parameter | Description | Type | Required | Values | +| --------- | -------------------------------------------------------------- | ---------- | -------- | -------------------------------------------- | +| conf | base set of values, which currentConfig could be **reset** to. | Dictionary | Required | Any Values, with respect to the secure Array | + +**Notes**: (default: current siteConfig ) (optional, default `getSiteConfig()`) + +### Parameters + +- `config` (optional, default `siteConfig`) + +Returns **void** + +## initialize + +### Parameters + +- `options` **MermaidConfig** + +## + +## mermaidAPI configuration defaults + +```html +<script> + var config = { + theme: 'default', + logLevel: 'fatal', + securityLevel: 'strict', + startOnLoad: true, + arrowMarkerAbsolute: false, + + er: { + diagramPadding: 20, + layoutDirection: 'TB', + minEntityWidth: 100, + minEntityHeight: 75, + entityPadding: 15, + stroke: 'gray', + fill: 'honeydew', + fontSize: 12, + useMaxWidth: true, + }, + flowchart: { + diagramPadding: 8, + htmlLabels: true, + curve: 'basis', + }, + sequence: { + diagramMarginX: 50, + diagramMarginY: 10, + actorMargin: 50, + width: 150, + height: 65, + boxMargin: 10, + boxTextMargin: 5, + noteMargin: 10, + messageMargin: 35, + messageAlign: 'center', + mirrorActors: true, + bottomMarginAdj: 1, + useMaxWidth: true, + rightAngles: false, + showSequenceNumbers: false, + }, + gantt: { + titleTopMargin: 25, + barHeight: 20, + barGap: 4, + topPadding: 50, + leftPadding: 75, + gridLineStartPadding: 35, + fontSize: 11, + fontFamily: '"Open Sans", sans-serif', + numberSectionStyles: 4, + axisFormat: '%Y-%m-%d', + topAxis: false, + }, + }; + mermaid.initialize(config); +</script> +``` + +[1]: Setup.md?id=render +[2]: 8.6.0_docs.md +[3]: #mermaidapi-configuration-defaults +[4]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String +[5]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function +[6]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean +[7]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object +[8]: https://developer.mozilla.org/docs/Web/API/Element From eeafa8f5aa5ae48366683b1672b4bbf3a179a109 Mon Sep 17 00:00:00 2001 From: Emerson Bottero <emersonbottero@gmail.com> Date: Sat, 24 Sep 2022 23:24:48 -0300 Subject: [PATCH 04/33] docs: added the fixed search again --- docs/n00b-syntaxReference.md | 12 ------------ package.json | 4 ++-- vdocs/.vitepress/theme/custom.css | 7 ++++++- vdocs/.vitepress/theme/index.ts | 2 +- vdocs/config/theming.md | 22 +++++++++++----------- vdocs/vite.config.ts | 6 +++--- yarn.lock | 16 ++++++++-------- 7 files changed, 31 insertions(+), 38 deletions(-) diff --git a/docs/n00b-syntaxReference.md b/docs/n00b-syntaxReference.md index d25c6425e..4f66bd770 100644 --- a/docs/n00b-syntaxReference.md +++ b/docs/n00b-syntaxReference.md @@ -26,18 +26,6 @@ erDiagram PRODUCT ||--o{ ORDER-ITEM : "ordered in" ``` -```mermaid -erDiagram - CUSTOMER }|..|{ DELIVERY-ADDRESS : has - CUSTOMER ||--o{ ORDER : places - CUSTOMER ||--o{ INVOICE : "liable for" - DELIVERY-ADDRESS ||--o{ ORDER : receives - INVOICE ||--|{ ORDER : covers - ORDER ||--|{ ORDER-ITEM : includes - PRODUCT-CATEGORY ||--|{ PRODUCT : contains - PRODUCT ||--o{ ORDER-ITEM : "ordered in" -``` - The [Getting Started](./n00b-gettingStarted.md) section can also provide some practical examples of mermaid syntax. ## Diagram Breaking diff --git a/package.json b/package.json index de5d6ab9d..e527b3ce5 100644 --- a/package.json +++ b/package.json @@ -128,9 +128,9 @@ "ts-node": "^10.9.1", "typescript": "^4.8.3", "unist-util-flatmap": "^1.0.0", - "vitepress": "^1.0.0-alpha.15", + "vitepress": "^1.0.0-alpha.16", "vitepress-plugin-mermaid": "^2.0.8", - "vitepress-plugin-search": "^1.0.4-alpha.7", + "vitepress-plugin-search": "^1.0.4-alpha.8", "vitest": "^0.23.1" }, "resolutions": { diff --git a/vdocs/.vitepress/theme/custom.css b/vdocs/.vitepress/theme/custom.css index 2e457d61a..a158d7e6d 100644 --- a/vdocs/.vitepress/theme/custom.css +++ b/vdocs/.vitepress/theme/custom.css @@ -1 +1,6 @@ -Use this file to add custom css \ No newline at end of file +/* Use this file to add custom css */ + +/* TODO: Remove after vitepress-plugin-search next release */ +.search-item-icon { + font-family: none; +} diff --git a/vdocs/.vitepress/theme/index.ts b/vdocs/.vitepress/theme/index.ts index 832876fae..7093a1643 100644 --- a/vdocs/.vitepress/theme/index.ts +++ b/vdocs/.vitepress/theme/index.ts @@ -1,6 +1,6 @@ import DefaultTheme from 'vitepress/theme'; import Mermaid from 'vitepress-plugin-mermaid/Mermaid.vue'; -// import './custom.css'; +import './custom.css'; export default { ...DefaultTheme, diff --git a/vdocs/config/theming.md b/vdocs/config/theming.md index 0a56555b9..16bb2ef95 100644 --- a/vdocs/config/theming.md +++ b/vdocs/config/theming.md @@ -40,15 +40,15 @@ mermaidAPI.initialize({ When Generating a diagram using on a webpage that supports mermaid. It is also possible to override site-wide theme settings locally, for a specific diagram, using directives, as long as it is not prohibited by the `secure` array. ```mmd -%%{init: {'theme':'base'}}%% +%%{init: {'theme':'neutral'}}%% graph TD a --> b ``` -Here is an example of how `%%init%%` can set the theme to 'base', this assumes that `themeVariables` are set to default: +Here is an example of how `%%init%%` can set the theme to 'neutral', this assumes that `themeVariables` are set to default: ```mermaid-example -%%{init: {'theme':'base'}}%% +%%{init: {'theme':'neutral'}}%% graph TD A[Christmas] -->|Get money| B(Go shopping) B --> C{Let me think} @@ -251,12 +251,12 @@ The Theming Engine does not admit color codes and will only accept proper color # Examples: When adjusting a theme it might be helpful to look at how your preferred theme goes with the diagrams, to evaluate whether everything is visible and looks good. -In the following examples, the directive `init` is used, with the `theme` being declared as `base`. For more information on using directives, read the documentation for [Version 8.6.0](/8.6.0_docs.md) +In the following examples, the directive `init` is used, with the `theme` being declared as `neutral`. For more information on using directives, read the documentation for [Version 8.6.0](/8.6.0_docs.md) ### Flowchart ```mmd -%%{init: {'securityLevel': 'loose', 'theme':'base'}}%% +%%{init: {'securityLevel': 'loose', 'theme':'neutral'}}%% graph TD A[Christmas] -->|Get money| B(Go shopping) B --> C{Let me think} @@ -274,7 +274,7 @@ In the following examples, the directive `init` is used, with the `theme` being ``` ```mermaid -%%{init: {'securityLevel': 'loose', 'theme':'base'}}%% +%%{init: {'securityLevel': 'loose', 'theme':'neutral'}}%% graph TD A[Christmas] -->|Get money| B(Go shopping) B --> C{Let me think} @@ -294,7 +294,7 @@ In the following examples, the directive `init` is used, with the `theme` being ### Flowchart (beta) ```mermaid-example -%%{init: {'securityLevel': 'loose', 'theme':'base'}}%% +%%{init: {'securityLevel': 'loose', 'theme':'neutral'}}%% flowchart TD A[Christmas] -->|Get money| B(Go shopping) B --> C{Let me think} @@ -314,7 +314,7 @@ In the following examples, the directive `init` is used, with the `theme` being ### Sequence diagram ```mermaid-example -%%{init: {'securityLevel': 'loose', 'theme':'base'}}%% +%%{init: {'securityLevel': 'loose', 'theme':'neutral'}}%% sequenceDiagram autonumber par Action 1 @@ -335,7 +335,7 @@ In the following examples, the directive `init` is used, with the `theme` being ### Class diagram ```mermaid-example -%%{init: {'securityLevel': 'loose', 'theme':'base'}}%% +%%{init: {'securityLevel': 'loose', 'theme':'neutral'}}%% classDiagram Animal "1" <|-- Duck @@ -395,7 +395,7 @@ gantt ### State diagram ```mermaid-example -%%{init: {'securityLevel': 'loose', 'theme':'base'}}%% +%%{init: {'securityLevel': 'loose', 'theme':'neutral'}}%% stateDiagram [*] --> Active @@ -427,7 +427,7 @@ gantt ### State diagram (beta) ```mermaid-example -%%{init: {'securityLevel': 'loose', 'theme':'base'}}%% +%%{init: {'securityLevel': 'loose', 'theme':'neutral'}}%% stateDiagram-v2 [*] --> Active diff --git a/vdocs/vite.config.ts b/vdocs/vite.config.ts index dd7ef907a..bc8852691 100644 --- a/vdocs/vite.config.ts +++ b/vdocs/vite.config.ts @@ -1,15 +1,15 @@ -import { node } from 'stylis'; import { defineConfig } from 'vite'; import path from 'path'; -// import { SearchPlugin } from 'vitepress-plugin-search'; +import { SearchPlugin } from 'vitepress-plugin-search'; const virtualModuleId = 'virtual:mermaid-config'; const resolvedVirtualModuleId = '\0' + virtualModuleId; export default defineConfig({ plugins: [ - // SearchPlugin(), + SearchPlugin(), { + // TODO: will be fixed in the next vitepress release. name: 'fix-virtual', async resolveId(id) { diff --git a/yarn.lock b/yarn.lock index 20d1671d5..3255917c7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7174,15 +7174,15 @@ vitepress-plugin-mermaid@^2.0.8: resolved "https://registry.yarnpkg.com/vitepress-plugin-mermaid/-/vitepress-plugin-mermaid-2.0.8.tgz#7a2447d9fa5835fdc00195859d7864d35aeb19a9" integrity sha512-ywWxTeg9kMv7ZPf/igCBF4ZHhWZAyRtbPnA12ICQuNK2AMp7r5IHOfnuX1EJQf8gNdsh8bcvvSvm8Ll92fdOTw== -vitepress-plugin-search@^1.0.4-alpha.7: - version "1.0.4-alpha.7" - resolved "https://registry.yarnpkg.com/vitepress-plugin-search/-/vitepress-plugin-search-1.0.4-alpha.7.tgz#b0514b5fdb94fb6449465d9ab3207dc68cfc1333" - integrity sha512-2Ice0wP93lQRVFh9U0atZLMoGggik0BtFsz+CuuWVlUhHkw7qxgRwtGarTRKijht4G8gRQ0N6Qrw56pcCGXoYw== +vitepress-plugin-search@^1.0.4-alpha.8: + version "1.0.4-alpha.8" + resolved "https://registry.yarnpkg.com/vitepress-plugin-search/-/vitepress-plugin-search-1.0.4-alpha.8.tgz#4ede5085e9176744e90c9e0c4a4828c1fcdd904f" + integrity sha512-ej27VG/cQrr325eYu8ZtTtWrGoHjqOVTw6UHWOmV1htAnGhxdh5sDlUQk/O+/yVy0BSTCGKCRqvVuvhHv0MrEA== -vitepress@^1.0.0-alpha.15: - version "1.0.0-alpha.15" - resolved "https://registry.yarnpkg.com/vitepress/-/vitepress-1.0.0-alpha.15.tgz#26ff8a8b5bae298ac6e47e5fec20d873a3a5960a" - integrity sha512-+pHJQCpnv0wVgLRyonisrj7Y77PVhbns2nTLxV9GkH3T+RTY/W2JmRatzBg5WciMaPyO8Ms6F3YElO5PULVv3w== +vitepress@^1.0.0-alpha.16: + version "1.0.0-alpha.16" + resolved "https://registry.yarnpkg.com/vitepress/-/vitepress-1.0.0-alpha.16.tgz#792936bdbece6e4d8c88598e09a063b52dd81f24" + integrity sha512-IXW3jA2Y9BsoYlpVuVcAy2XEu1wuoq2xmPvSDPVFrh8HV+oVpuvbPUCHqG6smEcu86xw3g4JjreqAwPlpPn6gw== dependencies: "@docsearch/css" "^3.2.1" "@docsearch/js" "^3.2.1" From 609d28c6ee3f4ac86913b6b8aca3c95629411548 Mon Sep 17 00:00:00 2001 From: Emerson Bottero <emersonbottero@gmail.com> Date: Sun, 25 Sep 2022 11:22:34 -0300 Subject: [PATCH 05/33] docs: added edit and team page --- vdocs/.vitepress/config.ts | 15 +++++++ vdocs/index.md | 87 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 102 insertions(+) diff --git a/vdocs/.vitepress/config.ts b/vdocs/.vitepress/config.ts index fec3b2172..6fc762d1d 100644 --- a/vdocs/.vitepress/config.ts +++ b/vdocs/.vitepress/config.ts @@ -1,12 +1,14 @@ import { version } from '../../package.json'; import ExampleMarkdown from './mermaid-markdown-all'; import { defineConfig } from 'vitepress'; +import { update } from 'lodash'; export default defineConfig({ lang: 'en-US', title: 'Mermaid', description: 'Create diagrams and visualizations using text and code.', base: '/mermaid-docs/', + lastUpdated: true, markdown: ExampleMarkdown, themeConfig: { nav: nav(), @@ -19,6 +21,19 @@ export default defineConfig({ // "/misc/": sidebarMisc(), // "/community/": sidebarCommunity(), }, + + footer: { + message: 'Released under the MIT License.', + copyright: 'Copyright © 2014-present Knut Sveidqvist', + }, + + // TODO: update to mermaid + editLink: { + pattern: 'https://github.com/emersonbottero/mermaid/edit/develop/vdocs/:path', + text: 'Edit this page on GitHub', + }, + + socialLinks: [{ icon: 'github', link: 'https://github.com/emersonbottero/mermaid' }], }, }); diff --git a/vdocs/index.md b/vdocs/index.md index afe40c397..cc3cd9498 100644 --- a/vdocs/index.md +++ b/vdocs/index.md @@ -30,6 +30,77 @@ features: details: Use Mermaid with your favorite applications, check out the list of Integrations and Usages of Mermaid. --- +<script setup> +import { VPTeamMembers } from 'vitepress/theme' + +const members = [ + { + avatar: 'https://avatars.githubusercontent.com/u/5837277?v=4', + name: 'Knut Sveidqvist', + title: 'Creator', + links: [ + { icon: 'github', link: 'https://github.com/knsv' }, + ] + }, + { + avatar: 'https://avatars.githubusercontent.com/u/1912783?v=4', + name: 'Marc Faber', + title: 'Developer', + links: [ + { icon: 'github', link: 'https://gdfaber.github.io/' }, + { icon: 'linkedin', link: 'https://www.linkedin.com/in/marc-faber/' }, + ] + }, { + avatar: 'https://avatars.githubusercontent.com/u/1564825?v=4', + name: 'Nacho Orlandoni', + title: 'Developer', + links: [ + { icon: 'github', link: 'https://github.com/IOrlandoni' }, + ] + }, { + avatar: 'https://avatars.githubusercontent.com/u/6552521?v=4', + name: 'Christian Klemm', + title: 'Developer', + links: [ + { icon: 'github', link: 'https://github.com/klemmchr' }, + ] + }, { + avatar: 'https://avatars.githubusercontent.com/u/12032557?v=4', + name: 'Mindaugas Laganeckas', + title: 'Developer', + links: [ + { icon: 'github', link: 'https://github.com/MindaugasLaganeckas' }, + ] + }, { + avatar: 'https://avatars.githubusercontent.com/u/58763315?v=4', + name: 'Neil Cuzon', + title: 'Developer', + links: [ + { icon: 'github', link: 'https://github.com/NeilCuzon' }, + ] + }, { + avatar: 'https://avatars.githubusercontent.com/u/19526120?v=4', + name: 'Adrian Hall', + title: 'Developer', + links: [ + { icon: 'github', link: 'https://github.com/spopida' }, + ] + }, { + avatar: 'https://avatars.githubusercontent.com/u/53054099?v=4', + name: 'Yash Singh', + title: 'Developer', + links: [ + { icon: 'github', link: 'https://github.com/Yash-Singh1' }, + ] + }, +] +</script> + +<div class="vp-doc" > + <h2 id="meet-the-team"> Meet The Team </h2> + <VPTeamMembers size="small" :members="members" /> +</div> + <style> .image-container .image-src { margin: 1rem auto; @@ -40,4 +111,20 @@ features: filter: invert(1) hue-rotate(217deg) contrast(0.72); max-width: 100%; } + + .vp-doc { + align-items: center; + flex-direction: column; + display: flex; + margin-top: 2.5rem; + } + + .vp-doc h2 { + margin: 48px 0 16px; + border-top: 1px solid var(--vp-c-divider-light); + padding-top: 24px; + letter-spacing: -.02em; + line-height: 32px; + font-size: 24px; +} </style> From d8ee2bb85004b4d40e675451ea193e8fac3176c5 Mon Sep 17 00:00:00 2001 From: Emerson Bottero <emersonbottero@gmail.com> Date: Sun, 25 Sep 2022 11:53:08 -0300 Subject: [PATCH 06/33] docs: no footer --- vdocs/.vitepress/config.ts | 5 ----- 1 file changed, 5 deletions(-) diff --git a/vdocs/.vitepress/config.ts b/vdocs/.vitepress/config.ts index 6fc762d1d..d3cdccc9a 100644 --- a/vdocs/.vitepress/config.ts +++ b/vdocs/.vitepress/config.ts @@ -22,11 +22,6 @@ export default defineConfig({ // "/community/": sidebarCommunity(), }, - footer: { - message: 'Released under the MIT License.', - copyright: 'Copyright © 2014-present Knut Sveidqvist', - }, - // TODO: update to mermaid editLink: { pattern: 'https://github.com/emersonbottero/mermaid/edit/develop/vdocs/:path', From 2376d38e0e6b3943f89ce09dc61c717d42c86547 Mon Sep 17 00:00:00 2001 From: Emerson Bottero <emersonbottero@gmail.com> Date: Wed, 28 Sep 2022 21:46:07 -0300 Subject: [PATCH 07/33] docs: improved search --- package.json | 3 ++- yarn.lock | 41 +++++++++++++++++++++++++++++++++++++---- 2 files changed, 39 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index e527b3ce5..5cb67bb97 100644 --- a/package.json +++ b/package.json @@ -118,6 +118,7 @@ "js-base64": "3.7.2", "jsdom": "^20.0.0", "lint-staged": "^13.0.0", + "markdown-it": "^13.0.1", "moment": "^2.23.0", "path-browserify": "^1.0.1", "prettier": "^2.7.1", @@ -130,7 +131,7 @@ "unist-util-flatmap": "^1.0.0", "vitepress": "^1.0.0-alpha.16", "vitepress-plugin-mermaid": "^2.0.8", - "vitepress-plugin-search": "^1.0.4-alpha.8", + "vitepress-plugin-search": "^1.0.4-alpha.11", "vitest": "^0.23.1" }, "resolutions": { diff --git a/yarn.lock b/yarn.lock index 3255917c7..bbe2f2c1b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3074,6 +3074,11 @@ entities@^4.4.0: resolved "https://registry.yarnpkg.com/entities/-/entities-4.4.0.tgz#97bdaba170339446495e653cfd2db78962900174" integrity sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA== +entities@~3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/entities/-/entities-3.0.1.tgz#2b887ca62585e96db3903482d336c1006c3001d4" + integrity sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q== + error-ex@^1.3.1: version "1.3.2" resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" @@ -4812,6 +4817,13 @@ lines-and-columns@^1.1.6: resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== +linkify-it@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/linkify-it/-/linkify-it-4.0.1.tgz#01f1d5e508190d06669982ba31a7d9f56a5751ec" + integrity sha512-C7bfi1UZmoj8+PQx22XyeXCuBlokoyWQL5pWSP+EI6nzRylyThouddufc2c1NDIcP9k5agmN9fLpA7VNJfIiqw== + dependencies: + uc.micro "^1.0.1" + lint-staged@^13.0.0: version "13.0.3" resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-13.0.3.tgz#d7cdf03a3830b327a2b63c6aec953d71d9dc48c6" @@ -4999,6 +5011,17 @@ map-stream@~0.1.0: resolved "https://registry.yarnpkg.com/map-stream/-/map-stream-0.1.0.tgz#e56aa94c4c8055a16404a0674b78f215f7c8e194" integrity sha1-5WqpTEyAVaFkBKBnS3jyFffI4ZQ= +markdown-it@^13.0.1: + version "13.0.1" + resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-13.0.1.tgz#c6ecc431cacf1a5da531423fc6a42807814af430" + integrity sha512-lTlxriVoy2criHP0JKRhO2VDG9c2ypWCsT237eDiLqi09rmbKoUetyGHq2uOIRoRS//kfoJckS0eUzzkDR+k2Q== + dependencies: + argparse "^2.0.1" + entities "~3.0.1" + linkify-it "^4.0.1" + mdurl "^1.0.1" + uc.micro "^1.0.5" + mdast-util-from-markdown@^0.8.5: version "0.8.5" resolved "https://registry.yarnpkg.com/mdast-util-from-markdown/-/mdast-util-from-markdown-0.8.5.tgz#d1ef2ca42bc377ecb0463a987910dae89bd9a28c" @@ -5056,6 +5079,11 @@ mdn-data@2.0.6: resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.6.tgz#852dc60fcaa5daa2e8cf6c9189c440ed3e042978" integrity sha512-rQvjv71olwNHgiTbfPZFkJtjNMciWgswYeciZhtvWLO8bmX3TnhyA62I6sTWOyZssWHJJjY6/KiWwqQsWWsqOA== +mdurl@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e" + integrity sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g== + media-typer@0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" @@ -6970,6 +6998,11 @@ typescript@^4.8.3: resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.3.tgz#d59344522c4bc464a65a730ac695007fdb66dd88" integrity sha512-goMHfm00nWPa8UvR/CPSvykqf6dVV8x/dp0c5mFTMTIu0u0FlGWRioyy7Nn0PGAdHxpJZnuO/ut+PpQ8UiHAig== +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== + underscore@1.1.x: version "1.1.7" resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.1.7.tgz#40bab84bad19d230096e8d6ef628bff055d83db0" @@ -7174,10 +7207,10 @@ vitepress-plugin-mermaid@^2.0.8: resolved "https://registry.yarnpkg.com/vitepress-plugin-mermaid/-/vitepress-plugin-mermaid-2.0.8.tgz#7a2447d9fa5835fdc00195859d7864d35aeb19a9" integrity sha512-ywWxTeg9kMv7ZPf/igCBF4ZHhWZAyRtbPnA12ICQuNK2AMp7r5IHOfnuX1EJQf8gNdsh8bcvvSvm8Ll92fdOTw== -vitepress-plugin-search@^1.0.4-alpha.8: - version "1.0.4-alpha.8" - resolved "https://registry.yarnpkg.com/vitepress-plugin-search/-/vitepress-plugin-search-1.0.4-alpha.8.tgz#4ede5085e9176744e90c9e0c4a4828c1fcdd904f" - integrity sha512-ej27VG/cQrr325eYu8ZtTtWrGoHjqOVTw6UHWOmV1htAnGhxdh5sDlUQk/O+/yVy0BSTCGKCRqvVuvhHv0MrEA== +vitepress-plugin-search@^1.0.4-alpha.11: + version "1.0.4-alpha.11" + resolved "https://registry.yarnpkg.com/vitepress-plugin-search/-/vitepress-plugin-search-1.0.4-alpha.11.tgz#419ea48427cd836b97e9f94a4a806b8352c8e7b1" + integrity sha512-fKJIpPj6QGQeXda31Dx5f9DtCYnPVHKQVsOUpnJOzahWHPPgGofslwwvwaeRMWIGvpslxi/m4RVK6C+ydqKukA== vitepress@^1.0.0-alpha.16: version "1.0.0-alpha.16" From d858cd677eefc7b96296b1fc56835789127ec719 Mon Sep 17 00:00:00 2001 From: Emerson Bottero <emersonbottero@gmail.com> Date: Wed, 28 Sep 2022 22:16:01 -0300 Subject: [PATCH 08/33] chore: update yarn.lock --- yarn.lock | 1473 +++++++++++++++++++++++++++-------------------------- 1 file changed, 754 insertions(+), 719 deletions(-) diff --git a/yarn.lock b/yarn.lock index bbe2f2c1b..f49162346 100644 --- a/yarn.lock +++ b/yarn.lock @@ -356,9 +356,9 @@ "@babel/highlight" "^7.18.6" "@babel/helper-validator-identifier@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz#9c97e30d31b2b8c72a1d08984f2ca9b574d7a076" - integrity sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g== + version "7.19.1" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2" + integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w== "@babel/highlight@^7.18.6": version "7.18.6" @@ -370,9 +370,9 @@ js-tokens "^4.0.0" "@babel/parser@^7.16.4": - version "7.19.1" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.19.1.tgz#6f6d6c2e621aad19a92544cc217ed13f1aac5b4c" - integrity sha512-h7RCSorm1DdTVGJf3P2Mhj3kdnkmF/EiysUkzS2TdgAYqyjFdMQJbVuXOBej2SBJaXan/lIVtT6KkGbyyq753A== + version "7.19.3" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.19.3.tgz#8dd36d17c53ff347f9e55c328710321b49479a9a" + integrity sha512-pJ9xOlNWHiy9+FuFP09DEAFbAn4JskgRsVcc169w2xRBC3FRGuQEwjeIMMND9L2zc0iEhO/tGv4Zq+km+hxNpQ== "@bcoe/v8-coverage@^0.2.3": version "0.2.3" @@ -384,6 +384,11 @@ resolved "https://registry.yarnpkg.com/@braintree/sanitize-url/-/sanitize-url-6.0.0.tgz#fe364f025ba74f6de6c837a84ef44bdb1d61e68f" integrity sha512-mgmE7XBYY/21erpzhexk4Cj1cyTQ9LzvnTxtzM17BJ7ERMNE6W72mQRo0I1Ud8eFJ+RVVIcBNhLFZ3GX4XFz5w== +"@colors/colors@1.5.0": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9" + integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== + "@commitlint/cli@^17.1.2": version "17.1.2" resolved "https://registry.yarnpkg.com/@commitlint/cli/-/cli-17.1.2.tgz#38240f84936df5216f749f06f838dc50cc85a43d" @@ -617,11 +622,21 @@ dependencies: esbuild-wasm "0.15.8" +"@esbuild/android-arm@0.15.9": + version "0.15.9" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.15.9.tgz#7e1221604ab88ed5021ead74fa8cca4405e1e431" + integrity sha512-VZPy/ETF3fBG5PiinIkA0W/tlsvlEgJccyN2DzWZEl0DlVKRbu91PvY2D6Lxgluj4w9QtYHjOWjAT44C+oQ+EQ== + "@esbuild/linux-loong64@0.15.8": version "0.15.8" resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.8.tgz#d64575fc46bf4eb689352aa9f8a139271b6e1647" integrity sha512-pE5RQsOTSERCtfZdfCT25wzo7dfhOSlhAXcsZmuvRYhendOv7djcdvtINdnDp2DAjP17WXlBB4nBO6sHLczmsg== +"@esbuild/linux-loong64@0.15.9": + version "0.15.9" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.9.tgz#b658a97babf1f40783354af7039b84c3fdfc3fc3" + integrity sha512-O+NfmkfRrb3uSsTa4jE3WApidSe3N5++fyOVGP1SmMZi4A3BZELkhUUvj5hwmMuNdlpzAZ8iAPz2vmcR7DCFQA== + "@eslint/eslintrc@^1.3.2": version "1.3.2" resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.3.2.tgz#58b69582f3b7271d8fa67fe5251767a5b38ea356" @@ -638,9 +653,9 @@ strip-json-comments "^3.1.1" "@hapi/hoek@^9.0.0": - version "9.2.1" - resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.2.1.tgz#9551142a1980503752536b5050fd99f4a7f13b17" - integrity sha512-gfta+H8aziZsm8pZa0vj04KO6biEiisppNgA1kbJvFrrWu9Vm7eaUEy76DIxsuTaWvti5fkJVhllWc6ZTE+Mdw== + version "9.3.0" + resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.3.0.tgz#8368869dcb735be2e7f5cb7647de78e167a251fb" + integrity sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ== "@hapi/topo@^5.0.0": version "5.1.0" @@ -649,10 +664,10 @@ dependencies: "@hapi/hoek" "^9.0.0" -"@humanwhocodes/config-array@^0.10.4": - version "0.10.4" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.10.4.tgz#01e7366e57d2ad104feea63e72248f22015c520c" - integrity sha512-mXAIHxZT3Vcpg83opl1wGlVZ9xydbfZO3r5YfRSH6Gpp2J/PfdBP0wbDa2sO6/qRbcalpoevVyW6A/fI6LfeMw== +"@humanwhocodes/config-array@^0.10.5": + version "0.10.5" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.10.5.tgz#bb679745224745fff1e9a41961c1d45a49f81c04" + integrity sha512-XVVDtp+dVvRxMoxSiSfasYaG02VEe1qH5cKgMQJWhol6HwzbcqoCMJi8dAGoYAO57jhUyhI6cWuRiTcRaDaYug== dependencies: "@humanwhocodes/object-schema" "^1.2.1" debug "^4.1.1" @@ -731,9 +746,9 @@ integrity sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g== "@sideway/address@^4.1.3": - version "4.1.3" - resolved "https://registry.yarnpkg.com/@sideway/address/-/address-4.1.3.tgz#d93cce5d45c5daec92ad76db492cc2ee3c64ab27" - integrity sha512-8ncEUtmnTsMmL7z1YPB47kPUq7LpKWJNFPsRzHiIajGC5uXlWGn+AmkYPcHNl8S4tcEGx+cnORnNYaw2wvL+LQ== + version "4.1.4" + resolved "https://registry.yarnpkg.com/@sideway/address/-/address-4.1.4.tgz#03dccebc6ea47fdc226f7d3d1ad512955d4783f0" + integrity sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw== dependencies: "@hapi/hoek" "^9.0.0" @@ -1064,18 +1079,18 @@ integrity sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ== "@types/express-serve-static-core@^4.17.18": - version "4.17.27" - resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.27.tgz#7a776191e47295d2a05962ecbb3a4ce97e38b401" - integrity sha512-e/sVallzUTPdyOTiqi8O8pMdBBphscvI6E4JYaKlja4Lm+zh7UFSSdW5VMkRbhDtmrONqOUHOXRguPsDckzxNA== + version "4.17.31" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.31.tgz#a1139efeab4e7323834bb0226e62ac019f474b2f" + integrity sha512-DxMhY+NAsTwMMFHBTtJFNp5qiHKJ7TeqOo23zVEM9alT1Ml27Q3xcTH0xwxn7Q0BbMcVEJOs/7aQtUWupUQN3Q== dependencies: "@types/node" "*" "@types/qs" "*" "@types/range-parser" "*" "@types/express@^4.17.13": - version "4.17.13" - resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.13.tgz#a76e2995728999bab51a33fabce1d705a3709034" - integrity sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA== + version "4.17.14" + resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.14.tgz#143ea0557249bc1b3b54f15db4c81c3d4eb3569c" + integrity sha512-TEbt+vaPFQ+xpxFLFssxUDXj5cWCxZJjIcB7Yg0k0GMHGtgtQgpvx/MUQUeAkNbA9AAGrwkAsoeItdTgS7FMyg== dependencies: "@types/body-parser" "*" "@types/express-serve-static-core" "^4.17.18" @@ -1093,9 +1108,9 @@ integrity sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ== "@types/istanbul-lib-coverage@^2.0.1": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz#4ba8ddb720221f432e443bd5f9117fd22cfd4762" - integrity sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw== + version "2.0.4" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz#8467d4b3c087805d63580480890791277ce35c44" + integrity sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g== "@types/jsdom@^20.0.0": version "20.0.0" @@ -1106,21 +1121,11 @@ "@types/tough-cookie" "*" parse5 "^7.0.0" -"@types/json-buffer@~3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@types/json-buffer/-/json-buffer-3.0.0.tgz#85c1ff0f0948fc159810d4b5be35bf8c20875f64" - integrity sha512-3YP80IxxFJB4b5tYC2SUPwkg0XQLiu0nWvhRgEatgjf+29IcWO9X1k8xRv5DGssJ/lCrjYTjQPcobJr2yWIVuQ== - -"@types/json-schema@*": +"@types/json-schema@*", "@types/json-schema@^7.0.9": version "7.0.11" resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== -"@types/json-schema@^7.0.9": - version "7.0.9" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d" - integrity sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ== - "@types/keyv@*": version "3.1.4" resolved "https://registry.yarnpkg.com/@types/keyv/-/keyv-3.1.4.tgz#3ccdb1c6751b0c7e52300bcdacd5bcbf8faa75b6" @@ -1140,10 +1145,10 @@ dependencies: "@types/unist" "*" -"@types/mime@^1": - version "1.3.2" - resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.2.tgz#93e25bf9ee75fe0fd80b594bc4feb0e862111b5a" - integrity sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw== +"@types/mime@*": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@types/mime/-/mime-3.0.1.tgz#5f8f2bca0a5863cb69bc0b0acd88c96cb1d4ae10" + integrity sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA== "@types/minimist@^1.2.0": version "1.2.2" @@ -1156,19 +1161,19 @@ integrity sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA== "@types/node@*": - version "18.0.0" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.0.0.tgz#67c7b724e1bcdd7a8821ce0d5ee184d3b4dd525a" - integrity sha512-cHlGmko4gWLVI27cGJntjs/Sj8th9aYwplmZFwmmgYQQvL5NUsgVJG7OddLvNfLqYS31KFN0s3qlaD9qCaxACA== + version "18.7.18" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.7.18.tgz#633184f55c322e4fb08612307c274ee6d5ed3154" + integrity sha512-m+6nTEOadJZuTPkKR/SYK3A2d7FZrgElol9UP1Kae90VVU4a6mxnPuLiIW1m4Cq4gZ/nWb9GrdVXJCoCazDAbg== "@types/node@^14.0.0", "@types/node@^14.14.31": - version "14.18.26" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.26.tgz#239e19f8b4ea1a9eb710528061c1d733dc561996" - integrity sha512-0b+utRBSYj8L7XAp0d+DX7lI4cSmowNaaTkk6/1SKzbKkG+doLuPusB9EOvzLJ8ahJSk03bTLIL6cWaEd4dBKA== + version "14.18.29" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.29.tgz#a0c58d67a42f8953c13d32f0acda47ed26dfce40" + integrity sha512-LhF+9fbIX4iPzhsRLpK5H7iPdvW8L4IwGciXQIOEcuF62+9nw/VQVsOViAOOGxY3OlOKGLFv0sWwJXdwQeTn6A== "@types/node@^16.11.1": - version "16.11.33" - resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.33.tgz#566713b1b626f781c5c58fe3531307283e00720c" - integrity sha512-0PJ0vg+JyU0MIan58IOIFRtSvsb7Ri+7Wltx2qAg94eMOrpg4+uuP3aUHCpxXc1i0jCXiC+zIamSZh3l9AbcQA== + version "16.11.59" + resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.59.tgz#823f238b9063ccc3b3b7f13186f143a57926c4f6" + integrity sha512-6u+36Dj3aDzhfBVUf/mfmc92OEdzQ2kx2jcXGdigfl70E/neV21ZHE6UCz4MDzTRcVqGAM27fk+DLXvyDsn3Jw== "@types/normalize-package-data@^2.4.0": version "2.4.1" @@ -1181,9 +1186,9 @@ integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== "@types/prettier@^2.7.0": - version "2.7.0" - resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.7.0.tgz#ea03e9f0376a4446f44797ca19d9c46c36e352dc" - integrity sha512-RI1L7N4JnW5gQw2spvL7Sllfuf1SaHdrZpCHiBlCXjIlufi1SMNnbu2teze3/QE67Fg2tBlH7W+mi4hVNk4p0A== + version "2.7.1" + resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.7.1.tgz#dfd20e2dc35f027cdd6c1908e80a5ddc7499670e" + integrity sha512-ri0UmynRRvZiiUJdiz38MmIblKK+oH30MztdBVR95dv/Ubw6neWSb8u1XpRb72L4qsZOhz+L+z9JD40SJmfWow== "@types/qs@*": version "6.9.7" @@ -1203,11 +1208,11 @@ "@types/node" "*" "@types/serve-static@*": - version "1.13.10" - resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.13.10.tgz#f5e0ce8797d2d7cc5ebeda48a52c96c4fa47a8d9" - integrity sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ== + version "1.15.0" + resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.15.0.tgz#c7930ff61afb334e121a9da780aac0d9b8f34155" + integrity sha512-z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg== dependencies: - "@types/mime" "^1" + "@types/mime" "*" "@types/node" "*" "@types/sinonjs__fake-timers@8.1.1": @@ -1246,137 +1251,90 @@ integrity sha512-w7hEHXnPMEZ+4nGKl/KDRVpxkwYxYExuHOYXyzIzCDzEZ9ZCGMAewulr9IqJu2LR4N37fcnb1XVeuZ09qgOxhA== "@types/yauzl@^2.9.1": - version "2.9.2" - resolved "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.9.2.tgz#c48e5d56aff1444409e39fa164b0b4d4552a7b7a" - integrity sha512-8uALY5LTvSuHgloDVUvWP3pIauILm+8/0pDMokuDYIoNsOkSwd5AiHBTSEJjKTDcZr5z8UpgOWZkxBF4iJftoA== + version "2.10.0" + resolved "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.10.0.tgz#b3248295276cf8c6f153ebe6a9aba0c988cb2599" + integrity sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw== dependencies: "@types/node" "*" "@typescript-eslint/eslint-plugin@^5.37.0": - version "5.37.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.37.0.tgz#5ccdd5d9004120f28fc6e717fb4b5c9bddcfbc04" - integrity sha512-Fde6W0IafXktz1UlnhGkrrmnnGpAo1kyX7dnyHHVrmwJOn72Oqm3eYtddrpOwwel2W8PAK9F3pIL5S+lfoM0og== + version "5.38.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.38.0.tgz#ac919a199548861012e8c1fb2ec4899ac2bc22ae" + integrity sha512-GgHi/GNuUbTOeoJiEANi0oI6fF3gBQc3bGFYj40nnAPCbhrtEDf2rjBmefFadweBmO1Du1YovHeDP2h5JLhtTQ== dependencies: - "@typescript-eslint/scope-manager" "5.37.0" - "@typescript-eslint/type-utils" "5.37.0" - "@typescript-eslint/utils" "5.37.0" + "@typescript-eslint/scope-manager" "5.38.0" + "@typescript-eslint/type-utils" "5.38.0" + "@typescript-eslint/utils" "5.38.0" debug "^4.3.4" - functional-red-black-tree "^1.0.1" ignore "^5.2.0" regexpp "^3.2.0" semver "^7.3.7" tsutils "^3.21.0" "@typescript-eslint/parser@^5.37.0": - version "5.37.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.37.0.tgz#c382077973f3a4ede7453fb14cadcad3970cbf3b" - integrity sha512-01VzI/ipYKuaG5PkE5+qyJ6m02fVALmMPY3Qq5BHflDx3y4VobbLdHQkSMg9VPRS4KdNt4oYTMaomFoHonBGAw== + version "5.38.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.38.0.tgz#5a59a1ff41a7b43aacd1bb2db54f6bf1c02b2ff8" + integrity sha512-/F63giJGLDr0ms1Cr8utDAxP2SPiglaD6V+pCOcG35P2jCqdfR7uuEhz1GIC3oy4hkUF8xA1XSXmd9hOh/a5EA== dependencies: - "@typescript-eslint/scope-manager" "5.37.0" - "@typescript-eslint/types" "5.37.0" - "@typescript-eslint/typescript-estree" "5.37.0" + "@typescript-eslint/scope-manager" "5.38.0" + "@typescript-eslint/types" "5.38.0" + "@typescript-eslint/typescript-estree" "5.38.0" debug "^4.3.4" -"@typescript-eslint/scope-manager@5.10.1": - version "5.10.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.10.1.tgz#f0539c73804d2423506db2475352a4dec36cd809" - integrity sha512-Lyvi559Gvpn94k7+ElXNMEnXu/iundV5uFmCUNnftbFrUbAJ1WBoaGgkbOBm07jVZa682oaBU37ao/NGGX4ZDg== +"@typescript-eslint/scope-manager@5.38.0": + version "5.38.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.38.0.tgz#8f0927024b6b24e28671352c93b393a810ab4553" + integrity sha512-ByhHIuNyKD9giwkkLqzezZ9y5bALW8VNY6xXcP+VxoH4JBDKjU5WNnsiD4HJdglHECdV+lyaxhvQjTUbRboiTA== dependencies: - "@typescript-eslint/types" "5.10.1" - "@typescript-eslint/visitor-keys" "5.10.1" + "@typescript-eslint/types" "5.38.0" + "@typescript-eslint/visitor-keys" "5.38.0" -"@typescript-eslint/scope-manager@5.37.0": - version "5.37.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.37.0.tgz#044980e4f1516a774a418dafe701a483a6c9f9ca" - integrity sha512-F67MqrmSXGd/eZnujjtkPgBQzgespu/iCZ+54Ok9X5tALb9L2v3G+QBSoWkXG0p3lcTJsL+iXz5eLUEdSiJU9Q== +"@typescript-eslint/type-utils@5.38.0": + version "5.38.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.38.0.tgz#c8b7f681da825fcfc66ff2b63d70693880496876" + integrity sha512-iZq5USgybUcj/lfnbuelJ0j3K9dbs1I3RICAJY9NZZpDgBYXmuUlYQGzftpQA9wC8cKgtS6DASTvF3HrXwwozA== dependencies: - "@typescript-eslint/types" "5.37.0" - "@typescript-eslint/visitor-keys" "5.37.0" - -"@typescript-eslint/type-utils@5.37.0": - version "5.37.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.37.0.tgz#43ed2f567ada49d7e33a6e4b6f9babd060445fe5" - integrity sha512-BSx/O0Z0SXOF5tY0bNTBcDEKz2Ec20GVYvq/H/XNKiUorUFilH7NPbFUuiiyzWaSdN3PA8JV0OvYx0gH/5aFAQ== - dependencies: - "@typescript-eslint/typescript-estree" "5.37.0" - "@typescript-eslint/utils" "5.37.0" + "@typescript-eslint/typescript-estree" "5.38.0" + "@typescript-eslint/utils" "5.38.0" debug "^4.3.4" tsutils "^3.21.0" -"@typescript-eslint/types@5.10.1": - version "5.10.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.10.1.tgz#dca9bd4cb8c067fc85304a31f38ec4766ba2d1ea" - integrity sha512-ZvxQ2QMy49bIIBpTqFiOenucqUyjTQ0WNLhBM6X1fh1NNlYAC6Kxsx8bRTY3jdYsYg44a0Z/uEgQkohbR0H87Q== +"@typescript-eslint/types@5.38.0": + version "5.38.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.38.0.tgz#8cd15825e4874354e31800dcac321d07548b8a5f" + integrity sha512-HHu4yMjJ7i3Cb+8NUuRCdOGu2VMkfmKyIJsOr9PfkBVYLYrtMCK/Ap50Rpov+iKpxDTfnqvDbuPLgBE5FwUNfA== -"@typescript-eslint/types@5.37.0": - version "5.37.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.37.0.tgz#09e4870a5f3af7af3f84e08d792644a87d232261" - integrity sha512-3frIJiTa5+tCb2iqR/bf7XwU20lnU05r/sgPJnRpwvfZaqCJBrl8Q/mw9vr3NrNdB/XtVyMA0eppRMMBqdJ1bA== - -"@typescript-eslint/typescript-estree@5.10.1": - version "5.10.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.10.1.tgz#b268e67be0553f8790ba3fe87113282977adda15" - integrity sha512-PwIGnH7jIueXv4opcwEbVGDATjGPO1dx9RkUl5LlHDSe+FXxPwFL5W/qYd5/NHr7f6lo/vvTrAzd0KlQtRusJQ== +"@typescript-eslint/typescript-estree@5.38.0": + version "5.38.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.38.0.tgz#89f86b2279815c6fb7f57d68cf9b813f0dc25d98" + integrity sha512-6P0RuphkR+UuV7Avv7MU3hFoWaGcrgOdi8eTe1NwhMp2/GjUJoODBTRWzlHpZh6lFOaPmSvgxGlROa0Sg5Zbyg== dependencies: - "@typescript-eslint/types" "5.10.1" - "@typescript-eslint/visitor-keys" "5.10.1" - debug "^4.3.2" - globby "^11.0.4" - is-glob "^4.0.3" - semver "^7.3.5" - tsutils "^3.21.0" - -"@typescript-eslint/typescript-estree@5.37.0": - version "5.37.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.37.0.tgz#956dcf5c98363bcb97bdd5463a0a86072ff79355" - integrity sha512-JkFoFIt/cx59iqEDSgIGnQpCTRv96MQnXCYvJi7QhBC24uyuzbD8wVbajMB1b9x4I0octYFJ3OwjAwNqk1AjDA== - dependencies: - "@typescript-eslint/types" "5.37.0" - "@typescript-eslint/visitor-keys" "5.37.0" + "@typescript-eslint/types" "5.38.0" + "@typescript-eslint/visitor-keys" "5.38.0" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/utils@5.37.0": - version "5.37.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.37.0.tgz#7784cb8e91390c4f90ccaffd24a0cf9874df81b2" - integrity sha512-jUEJoQrWbZhmikbcWSMDuUSxEE7ID2W/QCV/uz10WtQqfOuKZUqFGjqLJ+qhDd17rjgp+QJPqTdPIBWwoob2NQ== +"@typescript-eslint/utils@5.38.0", "@typescript-eslint/utils@^5.10.0": + version "5.38.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.38.0.tgz#5b31f4896471818153790700eb02ac869a1543f4" + integrity sha512-6sdeYaBgk9Fh7N2unEXGz+D+som2QCQGPAf1SxrkEr+Z32gMreQ0rparXTNGRRfYUWk/JzbGdcM8NSSd6oqnTA== dependencies: "@types/json-schema" "^7.0.9" - "@typescript-eslint/scope-manager" "5.37.0" - "@typescript-eslint/types" "5.37.0" - "@typescript-eslint/typescript-estree" "5.37.0" + "@typescript-eslint/scope-manager" "5.38.0" + "@typescript-eslint/types" "5.38.0" + "@typescript-eslint/typescript-estree" "5.38.0" eslint-scope "^5.1.1" eslint-utils "^3.0.0" -"@typescript-eslint/utils@^5.10.0": - version "5.10.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.10.1.tgz#fa682a33af47080ba2c4368ee0ad2128213a1196" - integrity sha512-RRmlITiUbLuTRtn/gcPRi4202niF+q7ylFLCKu4c+O/PcpRvZ/nAUwQ2G00bZgpWkhrNLNnvhZLbDn8Ml0qsQw== +"@typescript-eslint/visitor-keys@5.38.0": + version "5.38.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.38.0.tgz#60591ca3bf78aa12b25002c0993d067c00887e34" + integrity sha512-MxnrdIyArnTi+XyFLR+kt/uNAcdOnmT+879os7qDRI+EYySR4crXJq9BXPfRzzLGq0wgxkwidrCJ9WCAoacm1w== dependencies: - "@types/json-schema" "^7.0.9" - "@typescript-eslint/scope-manager" "5.10.1" - "@typescript-eslint/types" "5.10.1" - "@typescript-eslint/typescript-estree" "5.10.1" - eslint-scope "^5.1.1" - eslint-utils "^3.0.0" - -"@typescript-eslint/visitor-keys@5.10.1": - version "5.10.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.10.1.tgz#29102de692f59d7d34ecc457ed59ab5fc558010b" - integrity sha512-NjQ0Xinhy9IL979tpoTRuLKxMc0zJC7QVSdeerXs2/QvOy2yRkzX5dRb10X5woNUdJgU8G3nYRDlI33sq1K4YQ== - dependencies: - "@typescript-eslint/types" "5.10.1" - eslint-visitor-keys "^3.0.0" - -"@typescript-eslint/visitor-keys@5.37.0": - version "5.37.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.37.0.tgz#7b72dd343295ea11e89b624995abc7103c554eee" - integrity sha512-Hp7rT4cENBPIzMwrlehLW/28EVCOcE9U1Z1BQTc8EA8v5qpr7GRGuG+U58V5tTY48zvUOA3KHvw3rA8tY9fbdA== - dependencies: - "@typescript-eslint/types" "5.37.0" + "@typescript-eslint/types" "5.38.0" eslint-visitor-keys "^3.3.0" "@vitejs/plugin-vue@^3.1.0": @@ -1385,134 +1343,134 @@ integrity sha512-fmxtHPjSOEIRg6vHYDaem+97iwCUg/uSIaTzp98lhELt2ISOQuDo2hbkBdXod0g15IhfPMQmAxh4heUks2zvDA== "@vitest/coverage-c8@^0.23.2": - version "0.23.2" - resolved "https://registry.yarnpkg.com/@vitest/coverage-c8/-/coverage-c8-0.23.2.tgz#48bf6ea81a7ce57abf539361d5a6762e87c36448" - integrity sha512-VWT6zGj9iXEZCimnRLAUhf3siYVGIG9VryyMoo7B8zMOd+bnAbH8/7PhqvmjedVwa9wh61nkxqgG7/3Y/mzofQ== + version "0.23.4" + resolved "https://registry.yarnpkg.com/@vitest/coverage-c8/-/coverage-c8-0.23.4.tgz#bf9d916815b83f10b5b3700fae4fd9f38d1c596f" + integrity sha512-jmD00a5DQH9gu9K+YdvVhcMuv2CzHvU4gCnySS40Ec5hKlXtlCzRfNHl00VnhfuBeaQUmaQYe60BLT413HyDdg== dependencies: c8 "^7.12.0" - vitest "0.23.2" + vitest "0.23.4" "@vitest/ui@^0.23.2": - version "0.23.2" - resolved "https://registry.yarnpkg.com/@vitest/ui/-/ui-0.23.2.tgz#0d4a3918edaca6d38f20c49467a03a51d4b26eff" - integrity sha512-dO1UxSwEm11OgumUVbEnF7wKwDPoBGjkrvATvvhkFaDw2iiQm8WewF0hmnUVHj6BSNoHUIJ3uXEzfF9T9W+2yg== + version "0.23.4" + resolved "https://registry.yarnpkg.com/@vitest/ui/-/ui-0.23.4.tgz#87b77ad9f92b18ebc50a7380b703753069dc17fa" + integrity sha512-lNZVTTrkHThGAwNQ1ah1qCNnm70r7OLB5LCUdSqboStve/1eKTrtt27QfDSSUTG8AVJQzU0eaN/j8UocH+CqfA== dependencies: sirv "^2.0.2" -"@vue/compiler-core@3.2.39": - version "3.2.39" - resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.2.39.tgz#0d77e635f4bdb918326669155a2dc977c053943e" - integrity sha512-mf/36OWXqWn0wsC40nwRRGheR/qoID+lZXbIuLnr4/AngM0ov8Xvv8GHunC0rKRIkh60bTqydlqTeBo49rlbqw== +"@vue/compiler-core@3.2.40": + version "3.2.40" + resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.2.40.tgz#c785501f09536748121e937fb87605bbb1ada8e5" + integrity sha512-2Dc3Stk0J/VyQ4OUr2yEC53kU28614lZS+bnrCbFSAIftBJ40g/2yQzf4mPBiFuqguMB7hyHaujdgZAQ67kZYA== dependencies: "@babel/parser" "^7.16.4" - "@vue/shared" "3.2.39" + "@vue/shared" "3.2.40" estree-walker "^2.0.2" source-map "^0.6.1" -"@vue/compiler-dom@3.2.39": - version "3.2.39" - resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.2.39.tgz#bd69d35c1a48fe2cea4ab9e96d2a3a735d146fdf" - integrity sha512-HMFI25Be1C8vLEEv1hgEO1dWwG9QQ8LTTPmCkblVJY/O3OvWx6r1+zsox5mKPMGvqYEZa6l8j+xgOfUspgo7hw== +"@vue/compiler-dom@3.2.40": + version "3.2.40" + resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.2.40.tgz#c225418773774db536174d30d3f25ba42a33e7e4" + integrity sha512-OZCNyYVC2LQJy4H7h0o28rtk+4v+HMQygRTpmibGoG9wZyomQiS5otU7qo3Wlq5UfHDw2RFwxb9BJgKjVpjrQw== dependencies: - "@vue/compiler-core" "3.2.39" - "@vue/shared" "3.2.39" + "@vue/compiler-core" "3.2.40" + "@vue/shared" "3.2.40" -"@vue/compiler-sfc@3.2.39": - version "3.2.39" - resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.2.39.tgz#8fe29990f672805b7c5a2ecfa5b05e681c862ea2" - integrity sha512-fqAQgFs1/BxTUZkd0Vakn3teKUt//J3c420BgnYgEOoVdTwYpBTSXCMJ88GOBCylmUBbtquGPli9tVs7LzsWIA== +"@vue/compiler-sfc@3.2.40": + version "3.2.40" + resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.2.40.tgz#61823283efc84d25d9d2989458f305d32a2ed141" + integrity sha512-tzqwniIN1fu1PDHC3CpqY/dPCfN/RN1thpBC+g69kJcrl7mbGiHKNwbA6kJ3XKKy8R6JLKqcpVugqN4HkeBFFg== dependencies: "@babel/parser" "^7.16.4" - "@vue/compiler-core" "3.2.39" - "@vue/compiler-dom" "3.2.39" - "@vue/compiler-ssr" "3.2.39" - "@vue/reactivity-transform" "3.2.39" - "@vue/shared" "3.2.39" + "@vue/compiler-core" "3.2.40" + "@vue/compiler-dom" "3.2.40" + "@vue/compiler-ssr" "3.2.40" + "@vue/reactivity-transform" "3.2.40" + "@vue/shared" "3.2.40" estree-walker "^2.0.2" magic-string "^0.25.7" postcss "^8.1.10" source-map "^0.6.1" -"@vue/compiler-ssr@3.2.39": - version "3.2.39" - resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.2.39.tgz#4f3bfb535cb98b764bee45e078700e03ccc60633" - integrity sha512-EoGCJ6lincKOZGW+0Ky4WOKsSmqL7hp1ZYgen8M7u/mlvvEQUaO9tKKOy7K43M9U2aA3tPv0TuYYQFrEbK2eFQ== +"@vue/compiler-ssr@3.2.40": + version "3.2.40" + resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.2.40.tgz#67df95a096c63e9ec4b50b84cc6f05816793629c" + integrity sha512-80cQcgasKjrPPuKcxwuCx7feq+wC6oFl5YaKSee9pV3DNq+6fmCVwEEC3vvkf/E2aI76rIJSOYHsWSEIxK74oQ== dependencies: - "@vue/compiler-dom" "3.2.39" - "@vue/shared" "3.2.39" + "@vue/compiler-dom" "3.2.40" + "@vue/shared" "3.2.40" "@vue/devtools-api@^6.2.1": - version "6.2.1" - resolved "https://registry.yarnpkg.com/@vue/devtools-api/-/devtools-api-6.2.1.tgz#6f2948ff002ec46df01420dfeff91de16c5b4092" - integrity sha512-OEgAMeQXvCoJ+1x8WyQuVZzFo0wcyCmUR3baRVLmKBo1LmYZWMlRiXlux5jd0fqVJu6PfDbOrZItVqUEzLobeQ== + version "6.4.1" + resolved "https://registry.yarnpkg.com/@vue/devtools-api/-/devtools-api-6.4.1.tgz#9def459f5c78ca8d0976e9e29187942e09776b19" + integrity sha512-tY5m7kwu0R+9GWHSncsE40rCX9ou4HhjhlbgdEMci8j08BE7pLlOpHRcyv6eEP0VYrW1JV0zFh6AoWsoHrVyFw== -"@vue/reactivity-transform@3.2.39": - version "3.2.39" - resolved "https://registry.yarnpkg.com/@vue/reactivity-transform/-/reactivity-transform-3.2.39.tgz#da6ae6c8fd77791b9ae21976720d116591e1c4aa" - integrity sha512-HGuWu864zStiWs9wBC6JYOP1E00UjMdDWIG5W+FpUx28hV3uz9ODOKVNm/vdOy/Pvzg8+OcANxAVC85WFBbl3A== +"@vue/reactivity-transform@3.2.40": + version "3.2.40" + resolved "https://registry.yarnpkg.com/@vue/reactivity-transform/-/reactivity-transform-3.2.40.tgz#dc24b9074b26f0d9dd2034c6349f5bb2a51c86ac" + integrity sha512-HQUCVwEaacq6fGEsg2NUuGKIhUveMCjOk8jGHqLXPI2w6zFoPrlQhwWEaINTv5kkZDXKEnCijAp+4gNEHG03yw== dependencies: "@babel/parser" "^7.16.4" - "@vue/compiler-core" "3.2.39" - "@vue/shared" "3.2.39" + "@vue/compiler-core" "3.2.40" + "@vue/shared" "3.2.40" estree-walker "^2.0.2" magic-string "^0.25.7" -"@vue/reactivity@3.2.39": - version "3.2.39" - resolved "https://registry.yarnpkg.com/@vue/reactivity/-/reactivity-3.2.39.tgz#e6e3615fe2288d4232b104640ddabd0729a78c80" - integrity sha512-vlaYX2a3qMhIZfrw3Mtfd+BuU+TZmvDrPMa+6lpfzS9k/LnGxkSuf0fhkP0rMGfiOHPtyKoU9OJJJFGm92beVQ== +"@vue/reactivity@3.2.40": + version "3.2.40" + resolved "https://registry.yarnpkg.com/@vue/reactivity/-/reactivity-3.2.40.tgz#ae65496f5b364e4e481c426f391568ed7d133cca" + integrity sha512-N9qgGLlZmtUBMHF9xDT4EkD9RdXde1Xbveb+niWMXuHVWQP5BzgRmE3SFyUBBcyayG4y1lhoz+lphGRRxxK4RA== dependencies: - "@vue/shared" "3.2.39" + "@vue/shared" "3.2.40" -"@vue/runtime-core@3.2.39": - version "3.2.39" - resolved "https://registry.yarnpkg.com/@vue/runtime-core/-/runtime-core-3.2.39.tgz#dc1faccab11b3e81197aba33fb30c9447c1d2c84" - integrity sha512-xKH5XP57JW5JW+8ZG1khBbuLakINTgPuINKL01hStWLTTGFOrM49UfCFXBcFvWmSbci3gmJyLl2EAzCaZWsx8g== +"@vue/runtime-core@3.2.40": + version "3.2.40" + resolved "https://registry.yarnpkg.com/@vue/runtime-core/-/runtime-core-3.2.40.tgz#e814358bf1b0ff6d4a6b4f8f62d9f341964fb275" + integrity sha512-U1+rWf0H8xK8aBUZhnrN97yoZfHbjgw/bGUzfgKPJl69/mXDuSg8CbdBYBn6VVQdR947vWneQBFzdhasyzMUKg== dependencies: - "@vue/reactivity" "3.2.39" - "@vue/shared" "3.2.39" + "@vue/reactivity" "3.2.40" + "@vue/shared" "3.2.40" -"@vue/runtime-dom@3.2.39": - version "3.2.39" - resolved "https://registry.yarnpkg.com/@vue/runtime-dom/-/runtime-dom-3.2.39.tgz#4a8cb132bcef316e8151c5ed07fc7272eb064614" - integrity sha512-4G9AEJP+sLhsqf5wXcyKVWQKUhI+iWfy0hWQgea+CpaTD7BR0KdQzvoQdZhwCY6B3oleSyNLkLAQwm0ya/wNoA== +"@vue/runtime-dom@3.2.40": + version "3.2.40" + resolved "https://registry.yarnpkg.com/@vue/runtime-dom/-/runtime-dom-3.2.40.tgz#975119feac5ab703aa9bbbf37c9cc966602c8eab" + integrity sha512-AO2HMQ+0s2+MCec8hXAhxMgWhFhOPJ/CyRXnmTJ6XIOnJFLrH5Iq3TNwvVcODGR295jy77I6dWPj+wvFoSYaww== dependencies: - "@vue/runtime-core" "3.2.39" - "@vue/shared" "3.2.39" + "@vue/runtime-core" "3.2.40" + "@vue/shared" "3.2.40" csstype "^2.6.8" -"@vue/server-renderer@3.2.39": - version "3.2.39" - resolved "https://registry.yarnpkg.com/@vue/server-renderer/-/server-renderer-3.2.39.tgz#4358292d925233b0d8b54cf0513eaece8b2351c5" - integrity sha512-1yn9u2YBQWIgytFMjz4f/t0j43awKytTGVptfd3FtBk76t1pd8mxbek0G/DrnjJhd2V7mSTb5qgnxMYt8Z5iSQ== +"@vue/server-renderer@3.2.40": + version "3.2.40" + resolved "https://registry.yarnpkg.com/@vue/server-renderer/-/server-renderer-3.2.40.tgz#55eaac31f7105c3907e1895129bf4efb6b0ce393" + integrity sha512-gtUcpRwrXOJPJ4qyBpU3EyxQa4EkV8I4f8VrDePcGCPe4O/hd0BPS7v9OgjIQob6Ap8VDz9G+mGTKazE45/95w== dependencies: - "@vue/compiler-ssr" "3.2.39" - "@vue/shared" "3.2.39" + "@vue/compiler-ssr" "3.2.40" + "@vue/shared" "3.2.40" -"@vue/shared@3.2.39": - version "3.2.39" - resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.2.39.tgz#302df167559a1a5156da162d8cc6760cef67f8e3" - integrity sha512-D3dl2ZB9qE6mTuWPk9RlhDeP1dgNRUKC3NJxji74A4yL8M2MwlhLKUC/49WHjrNzSPug58fWx/yFbaTzGAQSBw== +"@vue/shared@3.2.40": + version "3.2.40" + resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.2.40.tgz#e57799da2a930b975321981fcee3d1e90ed257ae" + integrity sha512-0PLQ6RUtZM0vO3teRfzGi4ltLUO5aO+kLgwh4Um3THSR03rpQWLTuRCkuO5A41ITzwdWeKdPHtSARuPkoo5pCQ== "@vueuse/core@^9.1.1": - version "9.2.0" - resolved "https://registry.yarnpkg.com/@vueuse/core/-/core-9.2.0.tgz#58e3588b9bc5a69010aa9104b00056ee9ebff738" - integrity sha512-/MZ6qpz6uSyaXrtoeBWQzAKRG3N7CvfVWvQxiM3ei3Xe5ydOjjtVbo7lGl9p8dECV93j7W8s63A8H0kFLpLyxg== + version "9.3.0" + resolved "https://registry.yarnpkg.com/@vueuse/core/-/core-9.3.0.tgz#74d855bd19cb5eadd2edb30c871918fac881e8b8" + integrity sha512-64Rna8IQDWpdrJxgitDg7yv1yTp41ZmvV8zlLEylK4QQLWAhz1OFGZDPZ8bU4lwcGgbEJ2sGi2jrdNh4LttUSQ== dependencies: "@types/web-bluetooth" "^0.0.15" - "@vueuse/metadata" "9.2.0" - "@vueuse/shared" "9.2.0" + "@vueuse/metadata" "9.3.0" + "@vueuse/shared" "9.3.0" vue-demi "*" -"@vueuse/metadata@9.2.0": - version "9.2.0" - resolved "https://registry.yarnpkg.com/@vueuse/metadata/-/metadata-9.2.0.tgz#6bf7c9c44b9f5ece405837226a0e04a997994458" - integrity sha512-exN4KE6iquxDCdt72BgEhb3tlOpECtD61AUdXnUqBTIUCl70x1Ar/QXo3bYcvxmdMS2/peQyfeTzBjRTpvL5xw== +"@vueuse/metadata@9.3.0": + version "9.3.0" + resolved "https://registry.yarnpkg.com/@vueuse/metadata/-/metadata-9.3.0.tgz#c107fe77a577e1f221536cd1b291039c0c7c4bce" + integrity sha512-GnnfjbzIPJIh9ngL9s9oGU1+Hx/h5/KFqTfJykzh/1xjaHkedV9g0MASpdmPZIP+ynNhKAcEfA6g5i8KXwtoMA== -"@vueuse/shared@9.2.0": - version "9.2.0" - resolved "https://registry.yarnpkg.com/@vueuse/shared/-/shared-9.2.0.tgz#7831051b2c1d01c3413c749468ee53a86024510e" - integrity sha512-NnRp/noSWuXW0dKhZK5D0YLrDi0nmZ18UeEgwXQq7Ul5TTP93lcNnKjrHtd68j2xFB/l59yPGFlCryL692bnrA== +"@vueuse/shared@9.3.0": + version "9.3.0" + resolved "https://registry.yarnpkg.com/@vueuse/shared/-/shared-9.3.0.tgz#40fc138ba4e379c894075830aa2e15404aaa8a5b" + integrity sha512-caGUWLY0DpPC6l31KxeUy6vPVNA0yKxx81jFYLoMpyP6cF84FG5Dkf69DfSUqL57wX8JcUkJDMnQaQIZPWFEQQ== dependencies: vue-demi "*" @@ -1561,7 +1519,7 @@ JSONSelect@0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/JSONSelect/-/JSONSelect-0.4.0.tgz#a08edcc67eb3fcbe99ed630855344a0cf282bb8d" - integrity sha1-oI7cxn6z/L6Z7WMIVTRKDPKCu40= + integrity sha512-VRLR3Su35MH+XV2lrvh9O7qWoug/TUyj9tLDjn9rtpUCNnILLrHjgd/tB0KrhugCxUpj3UqoLqfYb3fLJdIQQQ== JSONStream@^1.0.4: version "1.3.5" @@ -1574,7 +1532,7 @@ JSONStream@^1.0.4: "JSV@>= 4.0.x": version "4.0.2" resolved "https://registry.yarnpkg.com/JSV/-/JSV-4.0.2.tgz#d077f6825571f82132f9dffaed587b4029feff57" - integrity sha1-0Hf2glVx+CEy+d/67Vh7QCn+/1c= + integrity sha512-ZJ6wx9xaKJ3yFUhq5/sk82PJMuUyLk277I8mQeyDgCTjGdjWJIvPfaU5LIXaMuaN2UO1X3kZH4+lgphublZUHw== abab@^2.0.5, abab@^2.0.6: version "2.0.6" @@ -1624,16 +1582,11 @@ acorn@^7.1.1: resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== -acorn@^8.4.1, acorn@^8.8.0: +acorn@^8.4.1, acorn@^8.5.0, acorn@^8.7.0, acorn@^8.7.1, acorn@^8.8.0: version "8.8.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.0.tgz#88c0187620435c7f6015803f5539dae05a9dbea8" integrity sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w== -acorn@^8.5.0, acorn@^8.7.0, acorn@^8.7.1: - version "8.7.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.1.tgz#0197122c843d1bf6d0a5e83220a788f278f63c30" - integrity sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A== - agent-base@6, agent-base@^6.0.0, agent-base@^6.0.2: version "6.0.2" resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" @@ -1701,12 +1654,12 @@ algoliasearch@^4.0.0: amdefine@>=0.0.4: version "1.0.1" resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" - integrity sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU= + integrity sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg== 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== + version "4.1.3" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" + integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== ansi-escapes@^4.1.0, ansi-escapes@^4.3.0: version "4.3.2" @@ -1718,7 +1671,7 @@ ansi-escapes@^4.1.0, ansi-escapes@^4.3.0: 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= + integrity sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA== ansi-regex@^5.0.1: version "5.0.1" @@ -1733,7 +1686,7 @@ ansi-regex@^6.0.1: 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= + integrity sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA== ansi-styles@^3.2.1: version "3.2.1" @@ -1750,14 +1703,14 @@ ansi-styles@^4.0.0, ansi-styles@^4.1.0: color-convert "^2.0.1" ansi-styles@^6.0.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.1.0.tgz#87313c102b8118abd57371afab34618bf7350ed3" - integrity sha512-VbqNsoz55SYGczauuup0MFUyXNQviSpFTj1RQtFzmQLk18qbVSpTFFGMT293rmDaQuKCT6InmbuEyUne4mTuxQ== + version "6.1.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.1.1.tgz#63cd61c72283a71cb30bd881dbb60adada74bc70" + integrity sha512-qDOv24WjnYuL+wbwHdlsYZFy+cgPtrYw0Tn7GLORicQp9BkQLzrgI3Pm4VyR9ERZ41YTn7KlMPuL1n05WdZvmg== ansi-styles@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-1.0.0.tgz#cb102df1c56f5123eab8b67cd7b98027a0279178" - integrity sha1-yxAt8cVvUSPquLZ817mAJ6AnkXg= + integrity sha512-3iF4FIKdxaVYT3JqQuY3Wat/T2t7TRbbQ94Fu50ZUCbLy4TFbTzr90NOHQodQkNqmeEGCw8WbeP78WNi6SKYUA== app-path@^3.2.0: version "3.3.0" @@ -1791,12 +1744,12 @@ argparse@^2.0.1: array-flatten@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" - integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= + integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== array-ify@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece" - integrity sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4= + integrity sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng== array-union@^2.1.0: version "2.1.0" @@ -1806,7 +1759,7 @@ array-union@^2.1.0: arrify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" - integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= + integrity sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA== asn1@~0.2.3: version "0.2.6" @@ -1818,7 +1771,7 @@ asn1@~0.2.3: 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= + integrity sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw== assertion-error@^1.1.0: version "1.1.0" @@ -1838,14 +1791,14 @@ astral-regex@^2.0.0: integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== async@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/async/-/async-3.2.2.tgz#2eb7671034bb2194d45d30e31e24ec7e7f9670cd" - integrity sha512-H0E+qZaDEfx/FY4t7iLRv1W2fFI6+pyCeTw1uN20AQPiwqwM6ojPxHxdLv4z8hi2DtnW9BOckSspLucW7pIE5g== + version "3.2.4" + resolved "https://registry.yarnpkg.com/async/-/async-3.2.4.tgz#2d22e00f8cddeb5fde5dd33522b56d1cf569a81c" + integrity sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ== asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= + integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== at-least-node@^1.0.0: version "1.0.0" @@ -1855,7 +1808,7 @@ at-least-node@^1.0.0: 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= + integrity sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA== aws4@^1.8.0: version "1.11.0" @@ -1894,7 +1847,7 @@ base64-js@^1.3.1, base64-js@^1.5.1: 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= + integrity sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w== dependencies: tweetnacl "^0.14.3" @@ -1959,7 +1912,7 @@ browser-process-hrtime@^1.0.0: buffer-crc32@~0.2.3: version "0.2.13" resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" - integrity sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI= + integrity sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ== buffer@^5.6.0: version "5.7.1" @@ -2045,7 +1998,7 @@ camelcase@^5.3.1: caseless@~0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" - integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= + integrity sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw== chai@^4.3.6: version "4.3.6" @@ -2079,7 +2032,7 @@ chalk@4.1.2, chalk@^4.0.0, chalk@^4.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= + integrity sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A== dependencies: ansi-styles "^2.2.1" escape-string-regexp "^1.0.2" @@ -2099,7 +2052,7 @@ chalk@^2.0.0, chalk@^2.4.1: chalk@~0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/chalk/-/chalk-0.4.0.tgz#5199a3ddcd0c1efe23bc08c1b027b06176e0c64f" - integrity sha1-UZmj3c0MHv4jvAjBsCewYXbgxk8= + integrity sha512-sQfYDlfv2DGVtjdoQqxS0cEZDroyG8h6TamA6rvxwlrU5BaSLDx9xhatBYl2pxZ7gmpNaPFVwBtdGdu5rQ+tYQ== dependencies: ansi-styles "~1.0.0" has-color "~0.1.0" @@ -2116,9 +2069,9 @@ character-entities@^1.0.0: integrity sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw== character-entities@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-2.0.1.tgz#98724833e1e27990dee0bd0f2b8a859c3476aac7" - integrity sha512-OzmutCf2Kmc+6DrFrrPS8/tDh2+DpnrfzdICHWhcVC9eOd0N1PXmQEE1a8iM4IziIAG+8tmTq3K+oo0ubH6RRQ== + version "2.0.2" + resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-2.0.2.tgz#2d09c2e72cd9523076ccb21157dff66ad43fcc22" + integrity sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ== character-reference-invalid@^1.0.0: version "1.1.4" @@ -2133,17 +2086,17 @@ check-error@^1.0.2: check-more-types@2.24.0, check-more-types@^2.24.0: version "2.24.0" resolved "https://registry.yarnpkg.com/check-more-types/-/check-more-types-2.24.0.tgz#1420ffb10fd444dcfc79b43891bbfffd32a84600" - integrity sha1-FCD/sQ/URNz8ebQ4kbv//TKoRgA= + integrity sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA== ci-info@^3.2.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.3.0.tgz#b4ed1fb6818dea4803a55c623041f9165d2066b2" - integrity sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw== + version "3.4.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.4.0.tgz#b28484fd436cbc267900364f096c9dc185efb251" + integrity sha512-t5QdPT5jq3o262DOQ8zA6E1tlH2upmUc4Hlvrbx1pGYJuiiHl7O7rvVNI+l8HTVhd/q3Qc9vqimkNk5yiXsAug== cjson@0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/cjson/-/cjson-0.3.0.tgz#e6439b90703d312ff6e2224097bea92ce3d02a14" - integrity sha1-5kObkHA9MS/24iJAl76pLOPQKhQ= + integrity sha512-bBRQcCIHzI1IVH59fR0bwGrFmi3Btb/JNwM/n401i1DnYgWndpsUBiQRAddLflkZage20A2d25OAWZZk0vBRlA== dependencies: jsonlint "1.6.0" @@ -2160,13 +2113,13 @@ cli-cursor@^3.1.0: restore-cursor "^3.1.0" cli-table3@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.6.1.tgz#36ce9b7af4847f288d3cdd081fbd09bf7bd237b8" - integrity sha512-w0q/enDHhPLq44ovMGdQeeDLvwxwavsJX7oQGYt/LrBlYsyaxyDnp6z3QzFut/6kLLKnlcUVJLrpB7KBfgG/RA== + version "0.6.3" + resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.6.3.tgz#61ab765aac156b52f222954ffc607a6f01dbeeb2" + integrity sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg== dependencies: string-width "^4.2.0" optionalDependencies: - colors "1.4.0" + "@colors/colors" "1.5.0" cli-truncate@^2.1.0: version "2.1.0" @@ -2194,9 +2147,9 @@ cliui@^7.0.2: 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 sha512-yjLXh88P599UOyPTFX0POsd7WxnbsVsGohcwzHOLspIhhpalPw1BcqED8NblyZLKcGrL8dTgMlcaZxV2jAD41Q== + version "1.0.3" + resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.3.tgz#af2032aa47816399cf5f0a1d0db902f517abb8c3" + integrity sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA== dependencies: mimic-response "^1.0.0" @@ -2217,7 +2170,7 @@ color-convert@^2.0.1: color-name@1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== color-name@~1.1.4: version "1.1.4" @@ -2225,19 +2178,14 @@ color-name@~1.1.4: integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== colorette@^2.0.16, colorette@^2.0.17: - version "2.0.17" - resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.17.tgz#5dd4c0d15e2984b7433cb4a9f2ead45063b80c47" - integrity sha512-hJo+3Bkn0NCHybn9Tu35fIeoOKGOk5OCC32y4Hz2It+qlCO2Q3DeQ1hRn/tDDMQKRYUEzqsl7jbF6dYKjlE60g== + version "2.0.19" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.19.tgz#cdf044f47ad41a0f4b56b3a0d5b4e6e1a2d5a798" + integrity sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ== colors@0.5.x: version "0.5.1" resolved "https://registry.yarnpkg.com/colors/-/colors-0.5.1.tgz#7d0023eaeb154e8ee9fce75dcb923d0ed1667774" - integrity sha1-fQAj6usVTo7p/Oddy5I9DtFmd3Q= - -colors@1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" - integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== + integrity sha512-XjsuUwpDeY98+yz959OlUK6m7mLBM+1MEG5oaenfuQnNnrQk1WvtcvFgN3FNDP3f2NmZ211t0mNEfSEN1h0eIg== combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: version "1.0.8" @@ -2257,9 +2205,9 @@ commander@^5.1.0: integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg== commander@^9.3.0: - version "9.3.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-9.3.0.tgz#f619114a5a2d2054e0d9ff1b31d5ccf89255e26b" - integrity sha512-hv95iU5uXPbK83mjrJKuZyFM/LBAoCV/XhVGkS5Je6tl7sxr6A0ITMw5WoRV46/UaJ46Nllm3Xt7IaJhXTIkzw== + version "9.4.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-9.4.0.tgz#bc4a40918fefe52e22450c111ecd6b7acce6f11c" + integrity sha512-sRPT+umqkz90UA8M1yqYfnHlZA7fF6nSphDtxeywPZ49ysjxDQybzk13CL+mXekDRG92skbcqCLVovuCusNmFw== comment-parser@1.3.1, comment-parser@^1.3.1: version "1.3.1" @@ -2279,18 +2227,10 @@ compare-func@^2.0.0: array-ify "^1.0.0" dot-prop "^5.1.0" -compress-brotli@^1.3.8: - version "1.3.8" - resolved "https://registry.yarnpkg.com/compress-brotli/-/compress-brotli-1.3.8.tgz#0c0a60c97a989145314ec381e84e26682e7b38db" - integrity sha512-lVcQsjhxhIXsuupfy9fmZUFtAIdBmXA7EGY6GBdgZ++qkM9zG4YFT8iU7FoBxzryNDMOpD1HIFHUSX4D87oqhQ== - dependencies: - "@types/json-buffer" "~3.0.0" - json-buffer "~3.0.1" - 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= + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== concurrently@^7.4.0: version "7.4.0" @@ -2337,9 +2277,9 @@ conventional-changelog-conventionalcommits@^5.0.0: q "^1.5.1" conventional-commits-parser@^3.2.2: - version "3.2.3" - resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-3.2.3.tgz#fc43704698239451e3ef35fd1d8ed644f46bd86e" - integrity sha512-YyRDR7On9H07ICFpRm/igcdjIqebXbvf4Cff+Pf0BrBys1i1EOzx9iFXNlAbdrLAR8jf7bkUYkDAr8pEy0q4Pw== + version "3.2.4" + resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-3.2.4.tgz#a7d3b77758a202a9b2293d2112a8d8052c740972" + integrity sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q== dependencies: JSONStream "^1.0.4" is-text-path "^1.0.1" @@ -2358,7 +2298,7 @@ convert-source-map@^1.6.0: cookie-signature@1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" - integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= + integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== cookie@0.5.0: version "0.5.0" @@ -2368,7 +2308,7 @@ cookie@0.5.0: core-util-is@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= + integrity sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ== core-util-is@~1.0.0: version "1.0.3" @@ -2376,9 +2316,9 @@ core-util-is@~1.0.0: integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== cosmiconfig-typescript-loader@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-4.0.0.tgz#4a6d856c1281135197346a6f64dfa73a9cd9fefa" - integrity sha512-cVpucSc2Tf+VPwCCR7SZzmQTQkPbkk4O01yXsYqXBIbjE1bhwqSyAgYQkRK1un4i0OPziTleqFhdkmOc4RQ/9g== + version "4.1.0" + resolved "https://registry.yarnpkg.com/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-4.1.0.tgz#39b2f8e302d587d27a2d5fc10106635abef4a6e4" + integrity sha512-HbWIuR5O+XO5Oj9SZ5bzgrD4nN+rfhrm2PMb0FVx+t+XIvC45n8F0oTNnztXtspWGw0i2IzHaUWFD5LzV1JB4A== cosmiconfig@^7.0.0: version "7.0.1" @@ -2517,10 +2457,10 @@ cypress@^10.0.0: untildify "^4.0.0" yauzl "^2.10.0" -"d3-array@2 - 3", "d3-array@2.10.0 - 3", "d3-array@2.5.0 - 3", d3-array@3: - version "3.1.1" - resolved "https://registry.yarnpkg.com/d3-array/-/d3-array-3.1.1.tgz#7797eb53ead6b9083c75a45a681e93fc41bc468c" - integrity sha512-33qQ+ZoZlli19IFiQx4QEpf2CBEayMRzhlisJHSCsSUbDXv6ZishqS1x7uFVClKG4Wr7rZVHvaAttoLow6GqdQ== +"d3-array@2 - 3", "d3-array@2.10.0 - 3", "d3-array@2.5.0 - 3", d3-array@3, d3-array@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/d3-array/-/d3-array-3.2.0.tgz#15bf96cd9b7333e02eb8de8053d78962eafcff14" + integrity sha512-3yXFQo0oG3QCxbF06rMPFyGRMGJNS7NvsV1+2joOjbBE+9xvWQ8+GcMJAjRCzw06zQ3/arXeJgbPYcjUCuC+3g== dependencies: internmap "1 - 2" @@ -2548,16 +2488,16 @@ d3-chord@3: d3-path "1 - 3" "d3-color@1 - 3", d3-color@3: - version "3.0.1" - resolved "https://registry.yarnpkg.com/d3-color/-/d3-color-3.0.1.tgz#03316e595955d1fcd39d9f3610ad41bb90194d0a" - integrity sha512-6/SlHkDOBLyQSJ1j1Ghs82OIUXpKWlR0hCsw0XrLSQhuUPuCSmLQ1QPH98vpnQxMUQM2/gfAkUEWsupVpd9JGw== + version "3.1.0" + resolved "https://registry.yarnpkg.com/d3-color/-/d3-color-3.1.0.tgz#395b2833dfac71507f12ac2f7af23bf819de24e2" + integrity sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA== -d3-contour@3: - version "3.0.1" - resolved "https://registry.yarnpkg.com/d3-contour/-/d3-contour-3.0.1.tgz#2c64255d43059599cd0dba8fe4cc3d51ccdd9bbd" - integrity sha512-0Oc4D0KyhwhM7ZL0RMnfGycLN7hxHB8CMmwZ3+H26PWAG0ozNuYG5hXSDNgmP1SgJkQMrlG6cP20HoaSbvcJTQ== +d3-contour@4: + version "4.0.0" + resolved "https://registry.yarnpkg.com/d3-contour/-/d3-contour-4.0.0.tgz#5a1337c6da0d528479acdb5db54bc81a0ff2ec6b" + integrity sha512-7aQo0QHUTu/Ko3cP9YK9yUTxtoDEiDGwnBHyLxG5M4vqlBkO/uixMRele3nfsfj6UXOcuReVpVXzAboGraYIJw== dependencies: - d3-array "2 - 3" + d3-array "^3.2.0" d3-delaunay@6: version "6.0.2" @@ -2622,9 +2562,9 @@ d3-geo@3: d3-array "2.5.0 - 3" d3-hierarchy@3: - version "3.1.1" - resolved "https://registry.yarnpkg.com/d3-hierarchy/-/d3-hierarchy-3.1.1.tgz#9cbb0ffd2375137a351e6cfeed344a06d4ff4597" - integrity sha512-LtAIu54UctRmhGKllleflmHalttH3zkfSi4NlKrTAoFKjC+AFBJohsCAdgCBYQwH0F8hIOGY89X1pPqAchlMkA== + version "3.1.2" + resolved "https://registry.yarnpkg.com/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz#b01cd42c1eed3d46db77a5966cf726f8c09160c6" + integrity sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA== "d3-interpolate@1 - 3", "d3-interpolate@1.2.0 - 3", d3-interpolate@3: version "3.0.1" @@ -2678,9 +2618,9 @@ d3-scale@4: integrity sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ== d3-shape@3: - version "3.0.1" - resolved "https://registry.yarnpkg.com/d3-shape/-/d3-shape-3.0.1.tgz#9ccdfb28fd9b0d12f2d8aec234cd5c4a9ea27931" - integrity sha512-HNZNEQoDhuCrDWEc/BMbF/hKtzMZVoe64TvisFLDp2Iyj0UShB/E6/lBsLlJTfBMbYgftHj90cXJ0SEitlE6Xw== + version "3.1.0" + resolved "https://registry.yarnpkg.com/d3-shape/-/d3-shape-3.1.0.tgz#c8a495652d83ea6f524e482fca57aa3f8bc32556" + integrity sha512-tGDh1Muf8kWjEDT/LswZJ8WF85yDZLvVJpYU9Nq+8+yW1Z5enxrmXOhTArlkaElU+CTn0OTVNli+/i+HP45QEQ== dependencies: d3-path "1 - 3" @@ -2726,16 +2666,16 @@ d3-zoom@3: d3-transition "2 - 3" d3@^5.14, d3@^7.0.0: - version "7.2.1" - resolved "https://registry.yarnpkg.com/d3/-/d3-7.2.1.tgz#97eafaa6fc8cd7c564c3ace1e6678cbecf63f3ea" - integrity sha512-E/5sP0aeK6YPXI/+4QlefvBFgmcyR2jYftId0PrYWv4Y/gW3c3thp1XG4rQzF0eUwV9tR1x05X5eWuJ6rQXvew== + version "7.6.1" + resolved "https://registry.yarnpkg.com/d3/-/d3-7.6.1.tgz#b21af9563485ed472802f8c611cc43be6c37c40c" + integrity sha512-txMTdIHFbcpLx+8a0IFhZsbp+PfBBPt8yfbmukZTQFroKuFqIwqswF0qE5JXWefylaAVpSXFoKm3yP+jpNLFLw== dependencies: d3-array "3" d3-axis "3" d3-brush "3" d3-chord "3" d3-color "3" - d3-contour "3" + d3-contour "4" d3-delaunay "6" d3-dispatch "3" d3-drag "3" @@ -2787,7 +2727,7 @@ dargs@^7.0.0: 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= + integrity sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g== dependencies: assert-plus "^1.0.0" @@ -2811,9 +2751,9 @@ date-fns@^2.29.1: integrity sha512-dDCnyH2WnnKusqvZZ6+jA1O51Ibt8ZMRNkDZdyAyK4YfbDwa/cEmuztzG5pk6hqlp9aSBPYcjOlktquahGwGeA== dayjs@^1.10.4: - version "1.10.7" - resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.10.7.tgz#2cf5f91add28116748440866a0a1d26f3a6ce468" - integrity sha512-P6twpd70BcPK34K26uJ1KT3wlhpuOAPoMwJzpsIWUxHZ7wpmbdZL/hQqBDfz7hGurYSa5PhzdhDHtt319hL3ig== + version "1.11.5" + resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.5.tgz#00e8cc627f231f9499c19b38af49f56dc0ac5e93" + integrity sha512-CAdX5Q3YW3Gclyo5Vpqkgpj8fSdLQcRuzfX6mC6Phy0nfJ0eGYOeS7m4mt2plDWLAtA4TqTakvbboHvUxfe4iA== debug@2.6.9: version "2.6.9" @@ -2846,7 +2786,7 @@ debug@^3.1.0: decamelize-keys@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9" - integrity sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk= + integrity sha512-ocLWuYzRPoS9bfiSdDd3cxvrzovVMZnRDVEzAs+hWIVXGDbHxWMECij2OBuyB/An0FFW/nLuq6Kv1i/YC5Qfzg== dependencies: decamelize "^1.1.0" map-obj "^1.0.0" @@ -2854,17 +2794,17 @@ decamelize-keys@^1.1.0: decamelize@^1.1.0: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= + integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== decimal.js@^10.3.1: - version "10.3.1" - resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.3.1.tgz#d8c3a444a9c6774ba60ca6ad7261c3a94fd5e783" - integrity sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ== + version "10.4.1" + resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.4.1.tgz#be75eeac4a2281aace80c1a8753587c27ef053e7" + integrity sha512-F29o+vci4DodHYT9UrR5IEbfBw9pE5eSapIJdTqXK5+6hq+t8VRxwQyKlW2i+KDKFkkJQRvFyI/QXD83h8LyQw== decode-named-character-reference@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/decode-named-character-reference/-/decode-named-character-reference-1.0.1.tgz#57b2bd9112659cacbc449d3577d7dadb8e1f3d1b" - integrity sha512-YV/0HQHreRwKb7uBopyIkLG17jG6Sv2qUchk9qSoVJ2f+flwRsPNBO0hAnjt6mTNYUT+vw9Gy2ihXg4sUWPi2w== + version "1.0.2" + resolved "https://registry.yarnpkg.com/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz#daabac9690874c394c81e4162a0304b35d824f0e" + integrity sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg== dependencies: character-entities "^2.0.0" @@ -2897,7 +2837,7 @@ defer-to-connect@^2.0.0: resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-2.0.1.tgz#8016bdb4143e4632b77a3449c6236277de520587" integrity sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg== -degenerator@^3.0.1: +degenerator@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/degenerator/-/degenerator-3.0.2.tgz#6a61fcc42a702d6e50ff6023fe17bff435f68235" integrity sha512-c0mef3SNQo56t6urUU6tdQAs+ThoD0o9B9MJ8HEt7NQcGEILCRFqQb7ZbP9JAv+QF1Ky5plydhMR/IrqWDm+TQ== @@ -2917,7 +2857,7 @@ delaunator@5: 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= + integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== depd@2.0.0: version "2.0.0" @@ -2927,12 +2867,12 @@ depd@2.0.0: depd@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" - integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= + integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ== dequal@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.2.tgz#85ca22025e3a87e65ef75a7a437b35284a7e319d" - integrity sha512-q9K8BlJVxK7hQYqa6XISGmBZbtQQWVXSrRrWreHC94rMt1QL/Impruc+7p2CYSYuVIUr+YCt6hjrs1kkdJRTug== + version "2.0.3" + resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be" + integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== destroy@1.2.0: version "1.2.0" @@ -2945,9 +2885,9 @@ diff@^4.0.1: integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== diff@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b" - integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w== + version "5.1.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-5.1.0.tgz#bc52d298c5ea8df9194800224445ed43ffc87e40" + integrity sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw== dir-glob@^3.0.1: version "3.0.1" @@ -3017,15 +2957,20 @@ duplexer@~0.1.1: resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== +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== + ebnf-parser@0.1.10: version "0.1.10" resolved "https://registry.yarnpkg.com/ebnf-parser/-/ebnf-parser-0.1.10.tgz#cd1f6ba477c5638c40c97ed9b572db5bab5d8331" - integrity sha1-zR9rpHfFY4xAyX7ZtXLbW6tdgzE= + integrity sha512-urvSxVQ6XJcoTpc+/x2pWhhuOX4aljCNQpwzw+ifZvV1andZkAmiJc3Rq1oGEAQmcjiLceyMXOy1l8ms8qs2fQ== 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= + integrity sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw== dependencies: jsbn "~0.1.0" safer-buffer "^2.1.0" @@ -3033,7 +2978,7 @@ ecc-jsbn@~0.1.1: 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= + integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== emoji-regex@^8.0.0: version "8.0.0" @@ -3048,7 +2993,7 @@ emoji-regex@^9.2.2: encodeurl@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" - integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= + integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== end-of-stream@^1.1.0: version "1.4.4" @@ -3064,12 +3009,7 @@ enquirer@^2.3.6: dependencies: ansi-colors "^4.1.1" -entities@^4.2.0, entities@^4.3.0: - version "4.3.1" - resolved "https://registry.yarnpkg.com/entities/-/entities-4.3.1.tgz#c34062a94c865c322f9d67b4384e4169bcede6a4" - integrity sha512-o4q/dYJlmyjP2zfnaWDUC6A3BQFmVTX+tZPezK7k0GLSU9QYCauscf5Y+qcEPzKL+EixVouYDgLQK5H9GrLpkg== - -entities@^4.4.0: +entities@^4.2.0, entities@^4.3.0, entities@^4.4.0: version "4.4.0" resolved "https://registry.yarnpkg.com/entities/-/entities-4.4.0.tgz#97bdaba170339446495e653cfd2db78962900174" integrity sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA== @@ -3093,86 +3033,171 @@ esbuild-android-64@0.15.8: dependencies: esbuild-wasm "0.15.8" +esbuild-android-64@0.15.9: + version "0.15.9" + resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.9.tgz#4a7eb320ca8d3a305f14792061fd9614ccebb7c0" + integrity sha512-HQCX7FJn9T4kxZQkhPjNZC7tBWZqJvhlLHPU2SFzrQB/7nDXjmTIFpFTjt7Bd1uFpeXmuwf5h5fZm+x/hLnhbw== + esbuild-android-arm64@0.15.8: version "0.15.8" resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.8.tgz#cd62afe08652ac146014386d3adbe7a9d33db1b0" integrity sha512-ReAMDAHuo0H1h9LxRabI6gwYPn8k6WiUeyxuMvx17yTrJO+SCnIfNc/TSPFvDwtK9MiyiKG/2dBYHouT/M0BXQ== +esbuild-android-arm64@0.15.9: + version "0.15.9" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.9.tgz#c948e5686df20857ad361ec67e070d40d7cab985" + integrity sha512-E6zbLfqbFVCNEKircSHnPiSTsm3fCRxeIMPfrkS33tFjIAoXtwegQfVZqMGR0FlsvVxp2NEDOUz+WW48COCjSg== + esbuild-darwin-64@0.15.8: version "0.15.8" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.8.tgz#eb668dc973165f85aefecdca8aa60231acb2f705" integrity sha512-KaKcGfJ+yto7Fo5gAj3xwxHMd1fBIKatpCHK8znTJLVv+9+NN2/tIPBqA4w5rBwjX0UqXDeIE2v1xJP+nGEXgA== +esbuild-darwin-64@0.15.9: + version "0.15.9" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.9.tgz#25f564fa4b39c1cec84dc46bce5634fdbce1d5e4" + integrity sha512-gI7dClcDN/HHVacZhTmGjl0/TWZcGuKJ0I7/xDGJwRQQn7aafZGtvagOFNmuOq+OBFPhlPv1T6JElOXb0unkSQ== + esbuild-darwin-arm64@0.15.8: version "0.15.8" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.8.tgz#91c110daa46074fdfc18f411247ca0d1228aacc3" integrity sha512-8tjEaBgAKnXCkP7bhEJmEqdG9HEV6oLkF36BrMzpfW2rgaw0c48Zrxe+9RlfeGvs6gDF4w+agXyTjikzsS3izw== +esbuild-darwin-arm64@0.15.9: + version "0.15.9" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.9.tgz#60faea3ed95d15239536aa88d06bb82b29278a86" + integrity sha512-VZIMlcRN29yg/sv7DsDwN+OeufCcoTNaTl3Vnav7dL/nvsApD7uvhVRbgyMzv0zU/PP0xRhhIpTyc7lxEzHGSw== + esbuild-freebsd-64@0.15.8: version "0.15.8" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.8.tgz#22270945a9bf9107c340eb73922e122bbe84f8ad" integrity sha512-jaxcsGHYzn2L0/lffON2WfH4Nc+d/EwozVTP5K2v016zxMb5UQMhLoJzvLgBqHT1SG0B/mO+a+THnJCMVg15zw== +esbuild-freebsd-64@0.15.9: + version "0.15.9" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.9.tgz#0339ef1c90a919175e7816788224517896657a0e" + integrity sha512-uM4z5bTvuAXqPxrI204txhlsPIolQPWRMLenvGuCPZTnnGlCMF2QLs0Plcm26gcskhxewYo9LkkmYSS5Czrb5A== + esbuild-freebsd-arm64@0.15.8: version "0.15.8" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.8.tgz#0efe2741fbcaa2cfd31b9f94bd3ca7385b68c469" integrity sha512-2xp2UlljMvX8HExtcg7VHaeQk8OBU0CSl1j18B5CcZmSDkLF9p3utuMXIopG3a08fr9Hv+Dz6+seSXUow/G51w== +esbuild-freebsd-arm64@0.15.9: + version "0.15.9" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.9.tgz#32abfc0be3ae3dd38e5a86a9beadbbcf592f1b57" + integrity sha512-HHDjT3O5gWzicGdgJ5yokZVN9K9KG05SnERwl9nBYZaCjcCgj/sX8Ps1jvoFSfNCO04JSsHSOWo4qvxFuj8FoA== + esbuild-linux-32@0.15.8: version "0.15.8" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.8.tgz#6fc98659105da5c0d1fedfce3b7b9fa24ebee0d4" integrity sha512-9u1E54BRz1FQMl86iaHK146+4ID2KYNxL3trLZT4QLLx3M7Q9n4lGG3lrzqUatGR2cKy8c33b0iaCzsItZWkFg== +esbuild-linux-32@0.15.9: + version "0.15.9" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.9.tgz#93581348a4da7ed2b29bc5539f2605ad7fcee77b" + integrity sha512-AQIdE8FugGt1DkcekKi5ycI46QZpGJ/wqcMr7w6YUmOmp2ohQ8eO4sKUsOxNOvYL7hGEVwkndSyszR6HpVHLFg== + esbuild-linux-64@0.15.8: version "0.15.8" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.8.tgz#8e738c926d145cdd4e9bcb2febc96d89dc27dc09" integrity sha512-4HxrsN9eUzJXdVGMTYA5Xler82FuZUu21bXKN42zcLHHNKCAMPUzD62I+GwDhsdgUBAUj0tRXDdsQHgaP6v0HA== +esbuild-linux-64@0.15.9: + version "0.15.9" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.9.tgz#0d171e7946c95d0d3ed4826026af2c5632d7dcc4" + integrity sha512-4RXjae7g6Qs7StZyiYyXTZXBlfODhb1aBVAjd+ANuPmMhWthQilWo7rFHwJwL7DQu1Fjej2sODAVwLbcIVsAYQ== + esbuild-linux-arm64@0.15.8: version "0.15.8" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.8.tgz#a12675e5a56e8ef08dea49da8eed51a87b0e60d6" integrity sha512-1OCm7Aq0tEJT70PbxmHSGYDLYP8DKH8r4Nk7/XbVzWaduo9beCjGBB+tGZIHK6DdTQ3h00/4Tb/70YMH/bOtKg== +esbuild-linux-arm64@0.15.9: + version "0.15.9" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.9.tgz#9838795a3720cbe736d3bc20621bd366eac22f24" + integrity sha512-a+bTtxJmYmk9d+s2W4/R1SYKDDAldOKmWjWP0BnrWtDbvUBNOm++du0ysPju4mZVoEFgS1yLNW+VXnG/4FNwdQ== + esbuild-linux-arm@0.15.8: version "0.15.8" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.8.tgz#6424da1e8a3ece78681ebee4a70477b40c36ab35" integrity sha512-7DVBU9SFjX4+vBwt8tHsUCbE6Vvl6y6FQWHAgyw1lybC5gULqn/WnjHYHN2/LJaZRsDBvxWT4msEgwLGq1Wd3Q== +esbuild-linux-arm@0.15.9: + version "0.15.9" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.9.tgz#dce96cd817bc7376f6af3967649c4ab1f2f79506" + integrity sha512-3Zf2GVGUOI7XwChH3qrnTOSqfV1V4CAc/7zLVm4lO6JT6wbJrTgEYCCiNSzziSju+J9Jhf9YGWk/26quWPC6yQ== + esbuild-linux-mips64le@0.15.8: version "0.15.8" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.8.tgz#5b39a16272cb4eaaad1f24938c057b19fb5a0ee5" integrity sha512-yeFoNPVFPEzZvFYBfUQNG2TjGRaCyV1E27OcOg4LOtnGrxb2wA+mkW3luckyv1CEyd00mpAg7UdHx8nlx3ghgA== +esbuild-linux-mips64le@0.15.9: + version "0.15.9" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.9.tgz#0335a0739e61aa97cb9b4a018e3facfcca9cdcfd" + integrity sha512-Zn9HSylDp89y+TRREMDoGrc3Z4Hs5u56ozZLQCiZAUx2+HdbbXbWdjmw3FdTJ/i7t5Cew6/Q+6kfO3KCcFGlyw== + esbuild-linux-ppc64le@0.15.8: version "0.15.8" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.8.tgz#98ea8cfae8227180b45b2d952b2cbb072900944f" integrity sha512-CEyMMUUNabXibw8OSNmBXhOIGhnjNVl5Lpseiuf00iKN0V47oqDrbo4dsHz1wH62m49AR8iG8wpDlTqfYgKbtg== +esbuild-linux-ppc64le@0.15.9: + version "0.15.9" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.9.tgz#18482afb95b8a705e2da0a59d7131bff221281f9" + integrity sha512-OEiOxNAMH9ENFYqRsWUj3CWyN3V8P3ZXyfNAtX5rlCEC/ERXrCEFCJji/1F6POzsXAzxvUJrTSTCy7G6BhA6Fw== + esbuild-linux-riscv64@0.15.8: version "0.15.8" resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.8.tgz#6334607025eb449d8dd402d7810721dc15a6210f" integrity sha512-OCGSOaspMUjexSCU8ZiA0UnV/NiRU+s2vIfEcAQWQ6u32R+2luyfh/4ZaY6jFbylJE07Esc/yRvb9Q5fXuClXA== +esbuild-linux-riscv64@0.15.9: + version "0.15.9" + resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.9.tgz#03b6f9708272c117006b9ce1c9ae8aab91b5a5b6" + integrity sha512-ukm4KsC3QRausEFjzTsOZ/qqazw0YvJsKmfoZZm9QW27OHjk2XKSQGGvx8gIEswft/Sadp03/VZvAaqv5AIwNA== + esbuild-linux-s390x@0.15.8: version "0.15.8" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.8.tgz#874f1a3507c32cce1d2ce0d2f28ac1496c094eab" integrity sha512-RHdpdfxRTSrZXZJlFSLazFU4YwXLB5Rgf6Zr5rffqSsO4y9JybgtKO38bFwxZNlDXliYISXN/YROKrG9s7mZQA== +esbuild-linux-s390x@0.15.9: + version "0.15.9" + resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.9.tgz#65fb645623d575780f155f0ee52935e62f9cca4f" + integrity sha512-uDOQEH55wQ6ahcIKzQr3VyjGc6Po/xblLGLoUk3fVL1qjlZAibtQr6XRfy5wPJLu/M2o0vQKLq4lyJ2r1tWKcw== + esbuild-netbsd-64@0.15.8: version "0.15.8" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.8.tgz#2e03d87ed811400d5d1fa8c7629b9fd97a574231" integrity sha512-VolFFRatBH09T5QMWhiohAWCOien1R1Uz9K0BRVVTBgBaVBt7eArsXTKxVhUgRf2vwu2c2SXkuP0r7HLG0eozw== +esbuild-netbsd-64@0.15.9: + version "0.15.9" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.9.tgz#7894297bb9e11f3d2f6f31efecd1be4e181f0d54" + integrity sha512-yWgxaYTQz+TqX80wXRq6xAtb7GSBAp6gqLKfOdANg9qEmAI1Bxn04IrQr0Mzm4AhxvGKoHzjHjMgXbCCSSDxcw== + esbuild-openbsd-64@0.15.8: version "0.15.8" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.8.tgz#8fdbc6399563ac61ff546449e2226a2b1477216c" integrity sha512-HTAPlg+n4kUeE/isQxlCfsOz0xJGNoT5LJ9oYZWFKABfVf4Ycu7Zlf5ITgOnrdheTkz8JeL/gISIOCFAoOXrSA== +esbuild-openbsd-64@0.15.9: + version "0.15.9" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.9.tgz#0f9d4c6b6772ae50d491d68ad4cc028300dda7c0" + integrity sha512-JmS18acQl4iSAjrEha1MfEmUMN4FcnnrtTaJ7Qg0tDCOcgpPPQRLGsZqhes0vmx8VA6IqRyScqXvaL7+Q0Uf3A== + esbuild-sunos-64@0.15.8: version "0.15.8" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.8.tgz#db657b5c09c0c0161d67ddafca1b710a2e7ce96b" integrity sha512-qMP/jR/FzcIOwKj+W+Lb+8Cfr8GZHbHUJxAPi7DUhNZMQ/6y7sOgRzlOSpRrbbUntrRZh0MqOyDhJ3Gpo6L1QA== +esbuild-sunos-64@0.15.9: + version "0.15.9" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.9.tgz#c32b7ce574b08f814de810ce7c1e34b843768126" + integrity sha512-UKynGSWpzkPmXW3D2UMOD9BZPIuRaSqphxSCwScfEE05Be3KAmvjsBhht1fLzKpiFVJb0BYMd4jEbWMyJ/z1hQ== + esbuild-wasm@0.15.8: version "0.15.8" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.15.8.tgz#60fb8c5dc1a5538421857a2fa5fbb9eab908dcbb" @@ -3183,17 +3208,32 @@ esbuild-windows-32@0.15.8: resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.8.tgz#bbb9fe20a8b6bba4428642cacf45a0fb7b2f3783" integrity sha512-RKR1QHh4iWzjUhkP8Yqi75PPz/KS+b8zw3wUrzw6oAkj+iU5Qtyj61ZDaSG3Qf2vc6hTIUiPqVTqBH0NpXFNwg== +esbuild-windows-32@0.15.9: + version "0.15.9" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.9.tgz#37a8f7cfccdb2177cd46613a1a1e1fcb419d36df" + integrity sha512-aqXvu4/W9XyTVqO/hw3rNxKE1TcZiEYHPsXM9LwYmKSX9/hjvfIJzXwQBlPcJ/QOxedfoMVH0YnhhQ9Ffb0RGA== + esbuild-windows-64@0.15.8: version "0.15.8" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.8.tgz#cedee65505209c8d371d7228b60785c08f43e04d" integrity sha512-ag9ptYrsizgsR+PQE8QKeMqnosLvAMonQREpLw4evA4FFgOBMLEat/dY/9txbpozTw9eEOYyD3a4cE9yTu20FA== +esbuild-windows-64@0.15.9: + version "0.15.9" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.9.tgz#5fe1e76fc13dd7f520febecaea110b6f1649c7b2" + integrity sha512-zm7h91WUmlS4idMtjvCrEeNhlH7+TNOmqw5dJPJZrgFaxoFyqYG6CKDpdFCQXdyKpD5yvzaQBOMVTCBVKGZDEg== + esbuild-windows-arm64@0.15.8: version "0.15.8" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.8.tgz#1d75235290bf23a111e6c0b03febd324af115cb1" integrity sha512-dbpAb0VyPaUs9mgw65KRfQ9rqiWCHpNzrJusoPu+LpEoswosjt/tFxN7cd2l68AT4qWdBkzAjDLRon7uqMeWcg== -esbuild@^0.15.6, esbuild@^0.15.8: +esbuild-windows-arm64@0.15.9: + version "0.15.9" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.9.tgz#98504428f7ba7d2cfc11940be68ee1139173fdce" + integrity sha512-yQEVIv27oauAtvtuhJVfSNMztJJX47ismRS6Sv2QMVV9RM+6xjbMWuuwM2nxr5A2/gj/mu2z9YlQxiwoFRCfZA== + +esbuild@^0.15.6: version "0.15.8" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.8.tgz#75daa25d03f6dd9cc9355030eba2b93555b42cd4" integrity sha512-Remsk2dmr1Ia65sU+QasE6svJbsHe62lzR+CnjpUvbZ+uSYo1SitiOWPRfZQkCu82YWZBBKXiD/j0i//XWMZ+Q== @@ -3221,6 +3261,34 @@ esbuild@^0.15.6, esbuild@^0.15.8: esbuild-windows-64 "0.15.8" esbuild-windows-arm64 "0.15.8" +esbuild@^0.15.8: + version "0.15.9" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.9.tgz#33fb18b67b85004b6f7616bec955ca4b3e58935d" + integrity sha512-OnYr1rkMVxtmMHIAKZLMcEUlJmqcbxBz9QoBU8G9v455na0fuzlT/GLu6l+SRghrk0Mm2fSSciMmzV43Q8e0Gg== + optionalDependencies: + "@esbuild/android-arm" "0.15.9" + "@esbuild/linux-loong64" "0.15.9" + esbuild-android-64 "0.15.9" + esbuild-android-arm64 "0.15.9" + esbuild-darwin-64 "0.15.9" + esbuild-darwin-arm64 "0.15.9" + esbuild-freebsd-64 "0.15.9" + esbuild-freebsd-arm64 "0.15.9" + esbuild-linux-32 "0.15.9" + esbuild-linux-64 "0.15.9" + esbuild-linux-arm "0.15.9" + esbuild-linux-arm64 "0.15.9" + esbuild-linux-mips64le "0.15.9" + esbuild-linux-ppc64le "0.15.9" + esbuild-linux-riscv64 "0.15.9" + esbuild-linux-s390x "0.15.9" + esbuild-netbsd-64 "0.15.9" + esbuild-openbsd-64 "0.15.9" + esbuild-sunos-64 "0.15.9" + esbuild-windows-32 "0.15.9" + esbuild-windows-64 "0.15.9" + esbuild-windows-arm64 "0.15.9" + escalade@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" @@ -3229,12 +3297,12 @@ escalade@^3.1.1: 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= + integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== escape-string-regexp@^1.0.2, 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= + integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== escape-string-regexp@^4.0.0: version "4.0.0" @@ -3244,7 +3312,7 @@ escape-string-regexp@^4.0.0: escodegen@1.3.x: version "1.3.3" resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.3.3.tgz#f024016f5a88e046fd12005055e939802e6c5f23" - integrity sha1-8CQBb1qI4Eb9EgBQVek5gC5sXyM= + integrity sha512-z9FWgKc48wjMlpzF5ymKS1AF8OIgnKLp9VyN7KbdtyrP/9lndwUFqCtMm+TAJmJf7KJFFYc4cFJfVTTGkKEwsA== dependencies: esprima "~1.1.1" estraverse "~1.5.0" @@ -3358,18 +3426,18 @@ eslint-visitor-keys@^2.0.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== -eslint-visitor-keys@^3.0.0, eslint-visitor-keys@^3.3.0: +eslint-visitor-keys@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== eslint@^8.23.1: - version "8.23.1" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.23.1.tgz#cfd7b3f7fdd07db8d16b4ac0516a29c8d8dca5dc" - integrity sha512-w7C1IXCc6fNqjpuYd0yPlcTKKmHlHHktRkzmBPZ+7cvNBQuiNjx0xaMTjAJGCafJhQkrFJooREv0CtrVzmHwqg== + version "8.24.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.24.0.tgz#489516c927a5da11b3979dbfb2679394523383c8" + integrity sha512-dWFaPhGhTAiPcCgm3f6LI2MBWbogMnTJzFBbhXVRQDJPkr9pGZvVjlVfXd+vyDcWPA2Ic9L2AXPIQM0+vk/cSQ== dependencies: "@eslint/eslintrc" "^1.3.2" - "@humanwhocodes/config-array" "^0.10.4" + "@humanwhocodes/config-array" "^0.10.5" "@humanwhocodes/gitignore-to-minimatch" "^1.0.2" "@humanwhocodes/module-importer" "^1.0.1" ajv "^6.10.0" @@ -3420,7 +3488,7 @@ espree@^9.4.0: esprima@1.1.x, esprima@~1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/esprima/-/esprima-1.1.1.tgz#5b6f1547f4d102e670e140c509be6771d6aeb549" - integrity sha1-W28VR/TRAuZw4UDFCb5ncdautUk= + integrity sha512-qxxB994/7NtERxgXdFgLHIs9M6bhLXc6qtUmWZ3L8+gTQ9qaoyki2887P2IqAYsoENyr8SUbTutStDniOHSDHg== esprima@^4.0.0, esprima@^4.0.1: version "4.0.1" @@ -3454,7 +3522,7 @@ estraverse@^5.1.0, estraverse@^5.2.0: estraverse@~1.5.0: version "1.5.1" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-1.5.1.tgz#867a3e8e58a9f84618afb6c2ddbcd916b7cbaf71" - integrity sha1-hno+jlip+EYYr7bC3bzZFrfLr3E= + integrity sha512-FpCjJDfmo3vsc/1zKSeqR5k42tcIhxFIlvq+h9j0fO2q/h2uLKyweq7rYJ+0CoVvrGQOxIS5wyBrW/+vF58BUQ== estree-walker@^2.0.2: version "2.0.2" @@ -3469,17 +3537,17 @@ esutils@^2.0.2: esutils@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/esutils/-/esutils-1.0.0.tgz#8151d358e20c8acc7fb745e7472c0025fe496570" - integrity sha1-gVHTWOIMisx/t0XnRywAJf5JZXA= + integrity sha512-x/iYH53X3quDwfHRz4y8rn4XcEwwCJeWsul9pF1zldMbGtgOtMNBEOuYWwB1EQlK2LRa1fev3YAgym/RElp5Cg== etag@~1.8.1: version "1.8.1" resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" - integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= + integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== event-stream@=3.3.4: version "3.3.4" resolved "https://registry.yarnpkg.com/event-stream/-/event-stream-3.3.4.tgz#4ab4c9a0f5a54db9338b4c34d86bfce8f4b35571" - integrity sha1-SrTJoPWlTbkzi0w02Gv86PSzVXE= + integrity sha512-QHpkERcGsR0T7Qm3HNJSyXKEEj8AHNxkY3PK8TS2KJvQ7NiSHe3DDpwVKKtoYprL/AreyzFBeIkBIWChAqn60g== dependencies: duplexer "~0.1.1" from "~0" @@ -3620,7 +3688,7 @@ extract-zip@2.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= + integrity sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g== extsprintf@^1.2.0: version "1.4.1" @@ -3638,9 +3706,9 @@ fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== fast-glob@^3.2.11, fast-glob@^3.2.9: - version "3.2.11" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9" - integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew== + version "3.2.12" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80" + integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== dependencies: "@nodelib/fs.stat" "^2.0.2" "@nodelib/fs.walk" "^1.2.3" @@ -3656,7 +3724,7 @@ fast-json-stable-stringify@^2.0.0: fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= + integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== fastq@^1.6.0: version "1.13.0" @@ -3668,7 +3736,7 @@ fastq@^1.6.0: fd-slicer@~1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e" - integrity sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4= + integrity sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g== dependencies: pend "~1.2.0" @@ -3743,14 +3811,14 @@ flat-cache@^3.0.4: rimraf "^3.0.2" flatted@^3.1.0: - version "3.2.4" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.4.tgz#28d9969ea90661b5134259f312ab6aa7929ac5e2" - integrity sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw== + version "3.2.7" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787" + integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== follow-redirects@^1.14.0, follow-redirects@^1.14.8: - version "1.15.0" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.0.tgz#06441868281c86d0dda4ad8bdaead2d02dca89d4" - integrity sha512-aExlJShTV4qOUOL7yF1U5tvLCB0xQuudbf6toyYA0E/acBNw71mvjFTnLaRp50aQaYocMR0a/RMMBIHeZnGyjQ== + version "1.15.2" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13" + integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA== foreground-child@^2.0.0: version "2.0.0" @@ -3763,7 +3831,7 @@ foreground-child@^2.0.0: 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= + integrity sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw== form-data@^4.0.0: version "4.0.0" @@ -3791,17 +3859,17 @@ forwarded@0.2.0: fresh@0.5.2: version "0.5.2" resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" - integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= + integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== from@~0: version "0.1.7" resolved "https://registry.yarnpkg.com/from/-/from-0.1.7.tgz#83c60afc58b9c56997007ed1a768b3ab303a44fe" - integrity sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4= + integrity sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g== fs-extra@^10.0.0: - version "10.0.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.0.0.tgz#9ff61b655dde53fb34a82df84bb214ce802e17c1" - integrity sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ== + version "10.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf" + integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== dependencies: graceful-fs "^4.2.0" jsonfile "^6.0.1" @@ -3838,7 +3906,7 @@ fs-extra@^9.1.0: 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= + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== fsevents@~2.3.2: version "2.3.2" @@ -3848,7 +3916,7 @@ fsevents@~2.3.2: ftp@^0.3.10: version "0.3.10" resolved "https://registry.yarnpkg.com/ftp/-/ftp-0.3.10.tgz#9197d861ad8142f3e63d5a83bfe4c59f7330885d" - integrity sha1-kZfYYa2BQvPmPVqDv+TFn3MwiF0= + integrity sha512-faFVML1aBx2UoDStmLwv2Wptt4vw5x03xxX172nhA5Y5HBshW5JweqQ2W4xL4dezQTG8inJsuYcpPHHU3X5OTQ== dependencies: readable-stream "1.1.x" xregexp "2.0.0" @@ -3858,11 +3926,6 @@ function-bind@^1.1.1: resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== -functional-red-black-tree@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" - integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= - 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" @@ -3874,9 +3937,9 @@ get-func-name@^2.0.0: integrity sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig== get-intrinsic@^1.0.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.2.tgz#336975123e05ad0b7ba41f152ee4aadbea6cf598" - integrity sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA== + version "1.1.3" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.3.tgz#063c84329ad93e83893c7f4f243ef63ffa351385" + integrity sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A== dependencies: function-bind "^1.1.1" has "^1.0.3" @@ -3885,7 +3948,7 @@ get-intrinsic@^1.0.2: get-stdin@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-5.0.1.tgz#122e161591e21ff4c52530305693f20e6393a398" - integrity sha1-Ei4WFZHiH/TFJTAwVpPyDmOTo5g= + integrity sha512-jZV7n6jGE3Gt7fgSTJoz91Ak5MuTLwMwkoYdjxuJ/AmjIsE1UC03y/IWkZCQGEvVNS9qoRNwy5BCqxImv0FVeA== get-stream@^4.0.0: version "4.1.0" @@ -3928,14 +3991,14 @@ getos@^3.2.1: getpass@^0.1.1: version "0.1.7" resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" - integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= + integrity sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng== dependencies: assert-plus "^1.0.0" git-raw-commits@^2.0.0: - version "2.0.10" - resolved "https://registry.yarnpkg.com/git-raw-commits/-/git-raw-commits-2.0.10.tgz#e2255ed9563b1c9c3ea6bd05806410290297bbc1" - integrity sha512-sHhX5lsbG9SOO6yXdlwgEMQ/ljIn7qMpAbJZCGfXX2fq5T8M5SrDnpYk9/4HswTildcIqatsWa91vty6VhWSaQ== + version "2.0.11" + resolved "https://registry.yarnpkg.com/git-raw-commits/-/git-raw-commits-2.0.11.tgz#bc3576638071d18655e1cc60d7f524920008d723" + integrity sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A== dependencies: dargs "^7.0.0" lodash "^4.17.15" @@ -3957,19 +4020,7 @@ glob-parent@^6.0.1: dependencies: is-glob "^4.0.3" -glob@^7.1.2, glob@^7.1.3: - version "7.2.0" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" - integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -glob@^7.1.4: +glob@^7.1.2, glob@^7.1.3, glob@^7.1.4: version "7.2.3" resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== @@ -3984,7 +4035,7 @@ glob@^7.1.4: global-dirs@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-0.1.1.tgz#b319c0dd4607f353f3be9cca4c72fc148c49f445" - integrity sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU= + integrity sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg== dependencies: ini "^1.3.4" @@ -4001,13 +4052,13 @@ globals@^11.12.0: integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== globals@^13.15.0: - version "13.15.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.15.0.tgz#38113218c907d2f7e98658af246cef8b77e90bac" - integrity sha512-bpzcOlgDhMG070Av0Vy5Owklpv1I6+j96GhUI7Rh7IzDCKLzboflLrrfqMu8NquDbiR4EOQk7XzJwqVJxicxog== + version "13.17.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.17.0.tgz#902eb1e680a41da93945adbdcb5a9f361ba69bd4" + integrity sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw== dependencies: type-fest "^0.20.2" -globby@^11.0.4, globby@^11.1.0: +globby@^11.1.0: version "11.1.0" resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== @@ -4033,7 +4084,7 @@ globby@^13.1.2: glur@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/glur/-/glur-1.1.2.tgz#f20ea36db103bfc292343921f1f91e83c3467689" - integrity sha1-8g6jbbEDv8KSNDkh8fkeg8NGdok= + integrity sha512-l+8esYHTKOx2G/Aao4lEQ0bnHWg4fWtJbVoZZT9Knxi01pB8C80BR85nONLFwkkQoFRCmXY+BUcGZN3yZ2QsRA== got@^11.0.2, got@^11.8.1: version "11.8.5" @@ -4053,9 +4104,9 @@ got@^11.0.2, got@^11.8.1: responselike "^2.0.0" graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0: - version "4.2.9" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.9.tgz#041b05df45755e587a24942279b9d113146e1c96" - integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ== + version "4.2.10" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" + integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== grapheme-splitter@^1.0.4: version "1.0.4" @@ -4095,19 +4146,19 @@ harmony-reflect@^1.4.6: 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= + integrity sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg== dependencies: ansi-regex "^2.0.0" has-color@~0.1.0: version "0.1.7" resolved "https://registry.yarnpkg.com/has-color/-/has-color-0.1.7.tgz#67144a5260c34fc3cca677d041daf52fe7b78b2f" - integrity sha1-ZxRKUmDDT8PMpnfQQdr1L+e3iy8= + integrity sha512-kaNz5OTAYYmt646Hkqw50/qyxP2vFnTVu5AQ1Zmk22Kk5+4Qx6BpO8+u7IKsML5fOsFk0ZT0AcCJNYwcvaLBvw== has-flag@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== has-flag@^4.0.0: version "4.0.0" @@ -4132,9 +4183,9 @@ hosted-git-info@^2.1.4: integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== hosted-git-info@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.0.2.tgz#5e425507eede4fea846b7262f0838456c4209961" - integrity sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg== + version "4.1.0" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.1.0.tgz#827b82867e9ff1c8d0c4d9d53880397d2c86d224" + integrity sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA== dependencies: lru-cache "^6.0.0" @@ -4246,7 +4297,7 @@ human-signals@^3.0.1: humanize-ms@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/humanize-ms/-/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed" - integrity sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0= + integrity sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ== dependencies: ms "^2.0.0" @@ -4272,7 +4323,7 @@ iconv-lite@0.6, iconv-lite@0.6.3: identity-obj-proxy@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz#94d2bda96084453ef36fbc5aaec37e0f79f1fc14" - integrity sha1-lNK9qWCERT7zb7xarsN+D3nx/BQ= + integrity sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA== dependencies: harmony-reflect "^1.4.6" @@ -4297,7 +4348,7 @@ import-fresh@^3.0.0, import-fresh@^3.2.1: imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= + integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== indent-string@^4.0.0: version "4.0.0" @@ -4307,7 +4358,7 @@ indent-string@^4.0.0: inflight@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== dependencies: once "^1.3.0" wrappy "1" @@ -4337,6 +4388,11 @@ ip@^1.1.5: resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.8.tgz#ae05948f6b075435ed3307acce04629da8cdbf48" integrity sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg== +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: version "1.9.1" resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" @@ -4358,7 +4414,7 @@ is-alphanumerical@^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= + integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== is-buffer@^2.0.0: version "2.0.5" @@ -4372,14 +4428,7 @@ is-ci@^3.0.0: dependencies: ci-info "^3.2.0" -is-core-module@^2.2.0, is-core-module@^2.5.0: - version "2.8.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.0.tgz#0321336c3d0925e497fd97f5d95cb114a5ccd548" - integrity sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw== - dependencies: - has "^1.0.3" - -is-core-module@^2.9.0: +is-core-module@^2.5.0, is-core-module@^2.9.0: version "2.10.0" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.10.0.tgz#9012ede0a91c69587e647514e1d5277019e728ed" integrity sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg== @@ -4394,7 +4443,7 @@ is-decimal@^1.0.0: 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= + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== is-fullwidth-code-point@^3.0.0: version "3.0.0" @@ -4444,7 +4493,7 @@ is-path-inside@^3.0.2: is-plain-obj@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" - integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= + integrity sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg== is-plain-obj@^4.0.0: version "4.1.0" @@ -4459,7 +4508,7 @@ is-potential-custom-element-name@^1.0.1: 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= + integrity sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ== is-stream@^2.0.0: version "2.0.1" @@ -4474,14 +4523,14 @@ is-stream@^3.0.0: is-text-path@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-text-path/-/is-text-path-1.0.1.tgz#4e1aa0fb51bfbcb3e92688001397202c1775b66e" - integrity sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4= + integrity sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w== dependencies: text-extensions "^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= + integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== is-unicode-supported@^0.1.0: version "0.1.0" @@ -4491,17 +4540,17 @@ is-unicode-supported@^0.1.0: isarray@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" - integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= + integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== 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= + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== 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= + integrity sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g== istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: version "3.2.0" @@ -4551,7 +4600,7 @@ jest-image-snapshot@4.2.0: jison-lex@0.3.x: version "0.3.4" resolved "https://registry.yarnpkg.com/jison-lex/-/jison-lex-0.3.4.tgz#81ca28d84f84499dfa8c594dcde3d8a3f26ec7a5" - integrity sha1-gcoo2E+ESZ36jFlNzePYo/Jux6U= + integrity sha512-EBh5wrXhls1cUwROd5DcDHR1sG7CdsCFSqY1027+YA1RGxz+BX2TDLAhdsQf40YEtFDGoiO0Qm8PpnBl2EzDJw== dependencies: lex-parser "0.1.x" nomnom "1.5.2" @@ -4571,9 +4620,9 @@ jison@^0.4.18: nomnom "1.5.2" joi@^17.4.0: - version "17.5.0" - resolved "https://registry.yarnpkg.com/joi/-/joi-17.5.0.tgz#7e66d0004b5045d971cf416a55fb61d33ac6e011" - integrity sha512-R7hR50COp7StzLnDi4ywOXHrBrgNXuUUfJWIR5lPY5Bm/pOD3jZaTwpluUXVLRWcoWZxkrHBBJ5hLxgnlehbdw== + version "17.6.0" + resolved "https://registry.yarnpkg.com/joi/-/joi-17.6.0.tgz#0bb54f2f006c09a96e75ce687957bd04290054b2" + integrity sha512-OX5dG6DTbcr/kbMFj0KGYxuew69HPcAE3K/sZpEV2nP6e/j/C0HV+HNiBPCASxdx5T7DMoa0s8UeHWMnb6n2zw== dependencies: "@hapi/hoek" "^9.0.0" "@hapi/topo" "^5.0.0" @@ -4619,7 +4668,7 @@ js-yaml@^4.1.0: jsbn@~0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" - integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= + integrity sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg== jsdoc-type-pratt-parser@~3.1.0: version "3.1.0" @@ -4659,7 +4708,7 @@ jsdom@^20.0.0: ws "^8.8.0" xml-name-validator "^4.0.0" -json-buffer@3.0.1, json-buffer@~3.0.1: +json-buffer@3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== @@ -4687,22 +4736,22 @@ json-schema@0.4.0: 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" - integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= + integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== 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= + integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== jsonc-parser@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.0.0.tgz#abdd785701c7e7eaca8a9ec8cf070ca51a745a22" - integrity sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA== + version "3.2.0" + resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.2.0.tgz#31ff3f4c2b9793f89c67212627c51c6394f88e76" + integrity sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w== jsonfile@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" - integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= + integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg== optionalDependencies: graceful-fs "^4.1.6" @@ -4718,7 +4767,7 @@ jsonfile@^6.0.1: jsonlint@1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/jsonlint/-/jsonlint-1.6.0.tgz#88aa46bc289a7ac93bb46cae2d58a187a9bb494a" - integrity sha1-iKpGvCiaesk7tGyuLVihh6m7SUo= + integrity sha512-x6YLBe6NjdpmIeiklwQOxsZuYj/SOWkT33GlTpaG1UdFGjdWjPcxJ1CWZAX3wA7tarz8E2YHF6KiW5HTapPlXw== dependencies: JSV ">= 4.0.x" nomnom ">= 1.5.x" @@ -4726,7 +4775,7 @@ jsonlint@1.6.0: jsonparse@^1.2.0: version "1.3.1" resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" - integrity sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA= + integrity sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg== jsprim@^1.2.2: version "1.4.2" @@ -4749,11 +4798,10 @@ jsprim@^2.0.2: verror "1.10.0" keyv@^4.0.0: - version "4.3.2" - resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.3.2.tgz#e839df676a0c7ee594c8835e7c1c83742558e5c2" - integrity sha512-kn8WmodVBe12lmHpA6W8OY7SNh6wVR+Z+wZESF4iF5FCazaVXGWOtnbnvX0tMQ1bO+/TmOD9LziuYMvrIIs0xw== + version "4.5.0" + resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.0.tgz#dbce9ade79610b6e641a9a65f2f6499ba06b9bc6" + integrity sha512-2YvuMsA+jnFGtBareKqgANOEKe1mk3HKiXu2fRmAfyxG0MJAywNhi5ttWA3PMjl4NmpyjZNbFifR2vNjW1znfA== dependencies: - compress-brotli "^1.3.8" json-buffer "3.0.1" khroma@^2.0.0: @@ -4767,9 +4815,9 @@ kind-of@^6.0.3: integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== kleur@^4.0.3: - version "4.1.4" - resolved "https://registry.yarnpkg.com/kleur/-/kleur-4.1.4.tgz#8c202987d7e577766d039a8cd461934c01cda04d" - integrity sha512-8QADVssbrFjivHWQU7KkMgptGTl6WAcSdlbBPY4uNF+mWr6DGcKrvY2w4FQJoXch7+fKMjj0dRrL75vk3k23OA== + version "4.1.5" + resolved "https://registry.yarnpkg.com/kleur/-/kleur-4.1.5.tgz#95106101795f7050c6c650f350c683febddb1780" + integrity sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ== ky@^0.28.5: version "0.28.7" @@ -4779,7 +4827,7 @@ ky@^0.28.5: lazy-ass@1.6.0, lazy-ass@^1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/lazy-ass/-/lazy-ass-1.6.0.tgz#7999655e8646c17f089fdd187d150d3324d54513" - integrity sha1-eZllXoZGwX8In90YfRUNMyTVRRM= + integrity sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw== lcov-parse@^1.0.0: version "1.0.0" @@ -4797,7 +4845,7 @@ levn@^0.4.1: levn@~0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" - integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= + integrity sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA== dependencies: prelude-ls "~1.1.2" type-check "~0.3.2" @@ -4805,7 +4853,7 @@ levn@~0.3.0: lex-parser@0.1.x, lex-parser@~0.1.3: version "0.1.4" resolved "https://registry.yarnpkg.com/lex-parser/-/lex-parser-0.1.4.tgz#64c4f025f17fd53bfb45763faeb16f015a747550" - integrity sha1-ZMTwJfF/1Tv7RXY/rrFvAVp0dVA= + integrity sha512-DuAEISsr1H4LOpmFLkyMc8YStiRWZCO8hMsoXAXSbgyfvs2WQhSt0+/FBv3ZU/JBFZMGcE+FWzEBSzwUU7U27w== lilconfig@2.0.5: version "2.0.5" @@ -4844,16 +4892,16 @@ lint-staged@^13.0.0: yaml "^2.1.1" listr2@^3.8.3: - version "3.13.5" - resolved "https://registry.yarnpkg.com/listr2/-/listr2-3.13.5.tgz#105a813f2eb2329c4aae27373a281d610ee4985f" - integrity sha512-3n8heFQDSk+NcwBn3CgxEibZGaRzx+pC64n3YjpMD1qguV4nWus3Al+Oo3KooqFKTQEJ1v7MmnbnyyNspgx3NA== + version "3.14.0" + resolved "https://registry.yarnpkg.com/listr2/-/listr2-3.14.0.tgz#23101cc62e1375fd5836b248276d1d2b51fdbe9e" + integrity sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g== dependencies: cli-truncate "^2.1.0" colorette "^2.0.16" log-update "^4.0.0" p-map "^4.0.0" rfdc "^1.3.0" - rxjs "^7.4.0" + rxjs "^7.5.1" through "^2.3.8" wrap-ansi "^7.0.0" @@ -4906,7 +4954,7 @@ lodash.merge@^4.6.1, lodash.merge@^4.6.2: lodash.once@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" - integrity sha1-DdOXEhPHxW34gJd9UEyI+0cal6w= + integrity sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg== lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.21, lodash@^4.17.4: version "4.17.21" @@ -4999,7 +5047,7 @@ make-error@^1.1.1: map-obj@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" - integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0= + integrity sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg== map-obj@^4.0.0: version "4.3.0" @@ -5009,7 +5057,7 @@ map-obj@^4.0.0: map-stream@~0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/map-stream/-/map-stream-0.1.0.tgz#e56aa94c4c8055a16404a0674b78f215f7c8e194" - integrity sha1-5WqpTEyAVaFkBKBnS3jyFffI4ZQ= + integrity sha512-CkYQrPYZfWnu/DAmVCpTSX/xHpKZ80eKh2lAkyA6AJTef6bW+6JpbQZN5rofum7da+SyN1bi5ctTm+lTfcCW3g== markdown-it@^13.0.1: version "13.0.1" @@ -5087,7 +5135,7 @@ mdurl@^1.0.1: media-typer@0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" - integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= + integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== meow@^8.0.0: version "8.1.2" @@ -5109,7 +5157,7 @@ meow@^8.0.0: 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= + integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w== merge-stream@^2.0.0: version "2.0.0" @@ -5124,7 +5172,7 @@ merge2@^1.3.0, merge2@^1.4.1: methods@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" - integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= + integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== micromark-core-commonmark@^1.0.1: version "1.0.6" @@ -5251,9 +5299,9 @@ micromark-util-encode@^1.0.0: integrity sha512-U2s5YdnAYexjKDel31SVMPbfi+eF8y1U4pfiRW/Y8EFVCy/vgxk/2wWTxzcqE71LHtCuCzlBDRU2a5CQ5j+mQA== micromark-util-html-tag-name@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.0.0.tgz#75737e92fef50af0c6212bd309bc5cb8dbd489ed" - integrity sha512-NenEKIshW2ZI/ERv9HtFNsrn3llSPZtY337LID/24WeLqMzeZhBEE6BQ0vS2ZBjshm5n40chKtJ3qjAbVV8S0g== + version "1.1.0" + resolved "https://registry.yarnpkg.com/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.1.0.tgz#eb227118befd51f48858e879b7a419fc0df20497" + integrity sha512-BKlClMmYROy9UiV03SwNmckkjn8QHVaWkqoAqzivabvdGcwNGMMMH/5szAnywmsTBUzDsU57/mFi0sp4BQO6dA== micromark-util-normalize-identifier@^1.0.0: version "1.0.0" @@ -5430,7 +5478,7 @@ mrmime@^1.0.0: ms@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= + integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== ms@2.1.2: version "2.1.2" @@ -5450,14 +5498,14 @@ nanoid@^3.3.4: natural-compare@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= + integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== 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== -netmask@^2.0.1: +netmask@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/netmask/-/netmask-2.0.2.tgz#8b01a07644065d536383835823bc52004ebac5e7" integrity sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg== @@ -5477,7 +5525,7 @@ node-fetch@2.6.7, node-fetch@^2.3.0, node-fetch@^2.6.0: nomnom@1.5.2: version "1.5.2" resolved "https://registry.yarnpkg.com/nomnom/-/nomnom-1.5.2.tgz#f4345448a853cfbd5c0d26320f2477ab0526fe2f" - integrity sha1-9DRUSKhTz71cDSYyDyR3qwUm/i8= + integrity sha512-fiVbT7BqxiQqjlR9U3FDGOSERFCKoXVCdxV2FwZuNN7/cmJ42iQx35nUFOAFDcyvemu9Adp+IlsCGlKQYLmBKw== dependencies: colors "0.5.x" underscore "1.1.x" @@ -5485,7 +5533,7 @@ nomnom@1.5.2: "nomnom@>= 1.5.x": version "1.8.1" resolved "https://registry.yarnpkg.com/nomnom/-/nomnom-1.8.1.tgz#2151f722472ba79e50a76fc125bb8c8f2e4dc2a7" - integrity sha1-IVH3Ikcrp55Qp2/BJbuMjy5Nwqc= + integrity sha512-5s0JxqhDx9/rksG2BTMVN1enjWSvPidpoSgViZU4ZXULyTe+7jxcCRLB6f42Z0l1xYJpleCBtSyY6Lwg3uu5CQ== dependencies: chalk "~0.4.0" underscore "~1.6.0" @@ -5528,7 +5576,7 @@ normalize-url@^6.0.1: 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= + integrity sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw== dependencies: path-key "^2.0.0" @@ -5552,9 +5600,9 @@ nprogress@^0.2.0: integrity sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA== nwsapi@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" - integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== + version "2.2.2" + resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.2.tgz#e5418863e7905df67d51ec95938d67bf801f0bb0" + integrity sha512-90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw== oauth-sign@~0.9.0: version "0.9.0" @@ -5576,7 +5624,7 @@ on-finished@2.4.1: once@^1.3.0, once@^1.3.1, once@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== dependencies: wrappy "1" @@ -5621,7 +5669,7 @@ optionator@^0.9.1: ospath@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/ospath/-/ospath-1.2.2.tgz#1276639774a3f8ef2572f7fe4280e0ea4550c07b" - integrity sha1-EnZjl3Sj+O8lcvf+QoDg6kVQwHs= + integrity sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA== p-cancelable@^2.0.0: version "2.1.1" @@ -5631,7 +5679,7 @@ p-cancelable@^2.0.0: 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= + integrity sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow== p-iteration@^1.1.8: version "1.1.8" @@ -5701,13 +5749,13 @@ pac-proxy-agent@^5.0.0: socks-proxy-agent "5" pac-resolver@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/pac-resolver/-/pac-resolver-5.0.0.tgz#1d717a127b3d7a9407a16d6e1b012b13b9ba8dc0" - integrity sha512-H+/A6KitiHNNW+bxBKREk2MCGSxljfqRX76NjummWEYIat7ldVXRU3dhRIE3iXZ0nvGBk6smv3nntxKkzRL8NA== + version "5.0.1" + resolved "https://registry.yarnpkg.com/pac-resolver/-/pac-resolver-5.0.1.tgz#c91efa3a9af9f669104fa2f51102839d01cde8e7" + integrity sha512-cy7u00ko2KVgBAjuhevqpPeHIkCIqPe1v24cydhWjmeuzaBfmUWFCZJ1iAh5TuVzVZoUzXIW7K8sMYOZ84uZ9Q== dependencies: - degenerator "^3.0.1" + degenerator "^3.0.2" ip "^1.1.5" - netmask "^2.0.1" + netmask "^2.0.2" pako@1.0.11: version "1.0.11" @@ -5768,7 +5816,7 @@ path-browserify@^1.0.1: 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= + integrity sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ== path-exists@^4.0.0: version "4.0.0" @@ -5778,12 +5826,12 @@ path-exists@^4.0.0: path-is-absolute@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== 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= + integrity sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw== path-key@^3.0.0, path-key@^3.1.0: version "3.1.1" @@ -5795,7 +5843,7 @@ path-key@^4.0.0: resolved "https://registry.yarnpkg.com/path-key/-/path-key-4.0.0.tgz#295588dc3aee64154f877adb9d780b81c554bf18" integrity sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ== -path-parse@^1.0.6, path-parse@^1.0.7: +path-parse@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== @@ -5803,7 +5851,7 @@ path-parse@^1.0.6, path-parse@^1.0.7: path-to-regexp@0.1.7: version "0.1.7" resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" - integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= + integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ== path-type@^4.0.0: version "4.0.0" @@ -5818,19 +5866,19 @@ pathval@^1.1.1: pause-stream@0.0.11: version "0.0.11" resolved "https://registry.yarnpkg.com/pause-stream/-/pause-stream-0.0.11.tgz#fe5a34b0cbce12b5aa6a2b403ee2e73b602f1445" - integrity sha1-/lo0sMvOErWqaitAPuLnO2AvFEU= + integrity sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A== dependencies: through "~2.3" pend@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" - integrity sha1-elfrVQpng/kRUzH89GY9XI4AelA= + integrity sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg== 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= + integrity sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow== picocolors@^1.0.0: version "1.0.0" @@ -5850,14 +5898,14 @@ pidtree@^0.6.0: pify@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" - integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= + integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== pixelmatch@^5.1.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/pixelmatch/-/pixelmatch-5.2.1.tgz#9e4e4f4aa59648208a31310306a5bed5522b0d65" - integrity sha512-WjcAdYSnKrrdDdqTcVEY7aB7UhhwjYQKYhHiBXdJef0MOaQeYpUdQ+iVyBLa5YBKS8MPVPPMX7rpOByISLpeEQ== + version "5.3.0" + resolved "https://registry.yarnpkg.com/pixelmatch/-/pixelmatch-5.3.0.tgz#5e5321a7abedfb7962d60dbf345deda87cb9560a" + integrity sha512-o8mkY4E/+LNUf6LzX96ht6k6CEDi65k9G2rjMtBe9Oo+VPKSvl+0GKHuH/AlG+GA5LPG/i5hrekkxUc3s2HU+Q== dependencies: - pngjs "^4.0.1" + pngjs "^6.0.0" pkg-dir@^3.0.0: version "3.0.0" @@ -5867,12 +5915,12 @@ pkg-dir@^3.0.0: find-up "^3.0.0" plist@^3.0.1: - version "3.0.5" - resolved "https://registry.yarnpkg.com/plist/-/plist-3.0.5.tgz#2cbeb52d10e3cdccccf0c11a63a85d830970a987" - integrity sha512-83vX4eYdQp3vP9SxuYgEM/G/pJQqLUz/V/xzPrzruLs7fz7jxGQ1msZ/mg1nwZxUSuOp4sb+/bEIbRrbzZRxDA== + version "3.0.6" + resolved "https://registry.yarnpkg.com/plist/-/plist-3.0.6.tgz#7cfb68a856a7834bca6dbfe3218eb9c7740145d3" + integrity sha512-WiIVYyrp8TD4w8yCvyeIr+lkmrGRd5u0VbRnU+tP/aRLxP/YadJUYOMZJ/6hIa3oUyVCsycXvtNRgd5XBJIbiA== dependencies: base64-js "^1.5.1" - xmlbuilder "^9.0.7" + xmlbuilder "^15.1.1" png-async@0.9.4: version "0.9.4" @@ -5884,10 +5932,10 @@ pngjs@^3.4.0: resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-3.4.0.tgz#99ca7d725965fb655814eaf65f38f12bbdbf555f" integrity sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w== -pngjs@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-4.0.1.tgz#f803869bb2fc1bfe1bf99aa4ec21c108117cfdbe" - integrity sha512-rf5+2/ioHeQxR6IxuYNYGFytUyG3lma/WW1nsmjeHlWwtb2aByla6dkVc8pmJ9nplzkTA0q2xx7mMWrOTqT4Gg== +pngjs@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-6.0.0.tgz#ca9e5d2aa48db0228a52c419c3308e87720da821" + integrity sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg== postcss-value-parser@4.1.0: version "4.1.0" @@ -5916,7 +5964,7 @@ prelude-ls@^1.2.1: prelude-ls@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" - integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= + integrity sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w== prettier-plugin-jsdoc@^0.4.2: version "0.4.2" @@ -5962,7 +6010,7 @@ proxy-agent@5.0.0: proxy-from-env@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.0.0.tgz#33c50398f70ea7eb96d21f7b817630a55791c7ee" - integrity sha1-M8UDmPcOp+uW0h97gXYwpVeRx+4= + integrity sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A== proxy-from-env@^1.0.0: version "1.1.0" @@ -5977,9 +6025,9 @@ ps-tree@1.2.0: event-stream "=3.3.4" psl@^1.1.28, psl@^1.1.33: - version "1.8.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" - integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== + version "1.9.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7" + integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== pump@^3.0.0: version "3.0.0" @@ -5997,7 +6045,7 @@ punycode@^2.1.0, punycode@^2.1.1: q@^1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" - integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= + integrity sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw== qs@6.10.3: version "6.10.3" @@ -6007,9 +6055,14 @@ qs@6.10.3: side-channel "^1.0.4" qs@~6.5.2: - version "6.5.2" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" - integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== + version "6.5.3" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.3.tgz#3aeeffc91967ef6e35c0e488ef46fb296ab76aad" + integrity sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA== + +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" @@ -6063,7 +6116,7 @@ read-pkg@^5.2.0: readable-stream@1.1.x: version "1.1.14" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" - integrity sha1-fPTFTvZI44EwhMY23SB54WbAgdk= + integrity sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ== dependencies: core-util-is "~1.0.0" inherits "~2.0.1" @@ -6123,7 +6176,7 @@ remark@^14.0.2: request-progress@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/request-progress/-/request-progress-3.0.0.tgz#4ca754081c7fec63f505e4faa825aa06cd669dbe" - integrity sha1-TKdUCBx/7GP1BeT6qCWqBs1mnb4= + integrity sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg== dependencies: throttleit "^1.0.0" @@ -6156,13 +6209,18 @@ request@^2.88.2: require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= + integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== require-from-string@^2.0.2: version "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== +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-alpn@^1.0.0: version "1.2.1" resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.2.1.tgz#b7adbdac3546aaaec20b45e7d8265927072726f9" @@ -6185,15 +6243,7 @@ resolve-global@1.0.0, resolve-global@^1.0.0: dependencies: global-dirs "^0.1.1" -resolve@^1.10.0: - version "1.20.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" - integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== - dependencies: - is-core-module "^2.2.0" - path-parse "^1.0.6" - -resolve@^1.22.1: +resolve@^1.10.0, resolve@^1.22.1: version "1.22.1" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== @@ -6203,9 +6253,9 @@ resolve@^1.22.1: supports-preserve-symlinks-flag "^1.0.0" responselike@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/responselike/-/responselike-2.0.0.tgz#26391bcc3174f750f9a79eacc40a12a5c42d7723" - integrity sha512-xH48u3FTB9VsZw7R+vvgaKeLKzT6jOogbQhEe/jewwnZgzPcnyWui2Av6JpoYZF/91uueC+lqhWqeURw5/qhCw== + version "2.0.1" + resolved "https://registry.yarnpkg.com/responselike/-/responselike-2.0.1.tgz#9a0bc8fdc252f3fb1cca68b016591059ba1422bc" + integrity sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw== dependencies: lowercase-keys "^2.0.0" @@ -6263,12 +6313,12 @@ run-parallel@^1.1.9: rw@1: version "1.3.3" resolved "https://registry.yarnpkg.com/rw/-/rw-1.3.3.tgz#3f862dfa91ab766b14885ef4d01124bfda074fb4" - integrity sha1-P4Yt+pGrdmsUiF700BEkv9oHT7Q= + integrity sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ== -rxjs@^7.0.0, rxjs@^7.1.0, rxjs@^7.4.0, rxjs@^7.5.5: - version "7.5.5" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.5.tgz#2ebad89af0f560f460ad5cc4213219e1f7dd4e9f" - integrity sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw== +rxjs@^7.0.0, rxjs@^7.1.0, rxjs@^7.5.1, rxjs@^7.5.5: + version "7.5.6" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.6.tgz#0446577557862afd6903517ce7cae79ecb9662bc" + integrity sha512-dnyv2/YsXhnm461G+R/Pe5bWP41Nm6LBXEYWI6eiFP4fiwx6WRI/CD0zbdVAudd9xwLEF2IDcKXLHit0FYjUzw== dependencies: tslib "^2.1.0" @@ -6313,7 +6363,7 @@ saxes@^6.0.0: resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== -semver@7.3.7, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7: +semver@7.3.7, semver@^7.3.2, semver@^7.3.4, semver@^7.3.7: version "7.3.7" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f" integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g== @@ -6362,7 +6412,7 @@ setprototypeof@1.2.0: 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= + integrity sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg== dependencies: shebang-regex "^1.0.0" @@ -6376,7 +6426,7 @@ shebang-command@^2.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= + integrity sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ== shebang-regex@^3.0.0: version "3.0.0" @@ -6471,11 +6521,11 @@ socks-proxy-agent@5, socks-proxy-agent@^5.0.0: socks "^2.3.3" socks@^2.3.3: - version "2.6.2" - resolved "https://registry.yarnpkg.com/socks/-/socks-2.6.2.tgz#ec042d7960073d40d94268ff3bb727dc685f111a" - integrity sha512-zDZhHhZRY9PxRruRMR7kMhnf3I8hDs4S3f9RecfnGxvcBHQcKcIH/oUcEWffsfl1XxdYlA7nnlGbbTvPz9D8gA== + version "2.7.0" + resolved "https://registry.yarnpkg.com/socks/-/socks-2.7.0.tgz#f9225acdb841e874dca25f870e9130990f3913d0" + integrity sha512-scnOe9y4VuiNUULJN72GrM26BNOjVsfPXI+j+98PkyEfsIXroa5ofyjT+FzGvn/xHs73U2JtoBYAVx9Hl4quSA== dependencies: - ip "^1.1.5" + ip "^2.0.0" smart-buffer "^4.2.0" source-map-js@^1.0.2: @@ -6491,7 +6541,7 @@ source-map@^0.6.1, source-map@~0.6.1: source-map@~0.1.33: version "0.1.43" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.43.tgz#c24bc146ca517c1471f5dacbe2571b2b7f9e3346" - integrity sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y= + integrity sha512-VtCvB9SIQhk3aF6h+N85EaqIaBFIAfZ9Cu+NJHHVvc8BbEcnvDcFw6sqQ2dQrT6SlOrZq3tIvyD9+EGq/lJryQ== dependencies: amdefine ">=0.0.4" @@ -6503,7 +6553,7 @@ sourcemap-codec@^1.4.8: spawn-command@^0.0.2-1: version "0.0.2-1" resolved "https://registry.yarnpkg.com/spawn-command/-/spawn-command-0.0.2-1.tgz#62f5e9466981c1b796dc5929937e11c9c6921bd0" - integrity sha1-YvXpRmmBwbeW3Fkpk34RycaSG9A= + integrity sha512-n98l9E2RMSJ9ON1AKisHzz7V42VDiBQGY6PB1BwRglz99wpVsSuGzQ+jOi6lFXBGVTCrRpltvjm+/XA+tpeJrg== spdx-correct@^3.0.0: version "3.1.1" @@ -6527,9 +6577,9 @@ spdx-expression-parse@^3.0.0, spdx-expression-parse@^3.0.1: spdx-license-ids "^3.0.0" spdx-license-ids@^3.0.0: - version "3.0.11" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz#50c0d8c40a14ec1bf449bae69a0ea4685a9d9f95" - integrity sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g== + version "3.0.12" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz#69077835abe2710b65f03969898b6637b505a779" + integrity sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA== split2@^3.0.0: version "3.2.2" @@ -6541,31 +6591,16 @@ split2@^3.0.0: split@0.3: version "0.3.3" resolved "https://registry.yarnpkg.com/split/-/split-0.3.3.tgz#cd0eea5e63a211dfff7eb0f091c4133e2d0dd28f" - integrity sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8= + integrity sha512-wD2AeVmxXRBoX44wAycgjVpMhvbwdI2aZjCkvfNcH1YqHQvJVa1duWc73OyVGJUc05fhFaTZeQ/PYsrmyH0JVA== dependencies: through "2" 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= + integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== -sshpk@^1.14.1: - 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" - -sshpk@^1.7.0: +sshpk@^1.14.1, sshpk@^1.7.0: version "1.17.0" resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.17.0.tgz#578082d92d4fe612b13007496e543fa0fbcbe4c5" integrity sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ== @@ -6606,7 +6641,7 @@ statuses@2.0.1: stream-combiner@~0.0.4: version "0.0.4" resolved "https://registry.yarnpkg.com/stream-combiner/-/stream-combiner-0.0.4.tgz#4d5e433c185261dde623ca3f44c586bcf5c4ad14" - integrity sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ= + integrity sha512-rT00SPnTVyRsaSz5zgSPma/aHSOic5U1prhYdRy5HS2kTZviFpmDgzilbtsJsxiroqACmayynDN/9VzIbX5DOw== dependencies: duplexer "~0.1.1" @@ -6625,12 +6660,12 @@ string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: strip-ansi "^6.0.1" string-width@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.0.1.tgz#0d8158335a6cfd8eb95da9b6b262ce314a036ffd" - integrity sha512-5ohWO/M4//8lErlUUtrFy3b11GtNOuMOU0ysKCDXFcfXuuvUXu95akgj/i8ofmaGdN0hCqyl6uu9i8dS/mQp5g== + version "5.1.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" + integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== dependencies: + eastasianwidth "^0.2.0" emoji-regex "^9.2.2" - is-fullwidth-code-point "^4.0.0" strip-ansi "^7.0.1" string_decoder@^1.1.1: @@ -6643,12 +6678,12 @@ string_decoder@^1.1.1: string_decoder@~0.10.x: version "0.10.31" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" - integrity sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ= + integrity sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ== strip-ansi@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" - integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= + integrity sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg== dependencies: ansi-regex "^2.0.0" @@ -6669,12 +6704,12 @@ strip-ansi@^7.0.1: strip-ansi@~0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-0.1.1.tgz#39e8a98d044d150660abe4a6808acf70bb7bc991" - integrity sha1-OeipjQRNFQZgq+SmgIrPcLt7yZE= + integrity sha512-behete+3uqxecWlDAm5lmskaSaISA+ThQ4oNNBDTBJt0x2ppR6IPqfZNuj6BLaLJ/Sji4TPZlcRyOis8wXQTLg== 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= + integrity sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q== strip-final-newline@^2.0.0: version "2.0.0" @@ -6698,12 +6733,12 @@ strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== -strip-literal@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/strip-literal/-/strip-literal-0.4.0.tgz#0f90e86daecc1eb23c61c62d25238ffad4524634" - integrity sha512-ql/sBDoJOybTKSIOWrrh8kgUEMjXMwRAkZTD0EwiwxQH/6tTPkZvMIEjp0CRlpi6V5FMiJyvxeRkEi1KrGISoA== +strip-literal@^0.4.1: + version "0.4.2" + resolved "https://registry.yarnpkg.com/strip-literal/-/strip-literal-0.4.2.tgz#4f9fa6c38bb157b924e9ace7155ebf8a2342cbcf" + integrity sha512-pv48ybn4iE1O9RLgCAN0iU4Xv7RlBTiit6DKmMiErbs9x1wH6vXBs45tWc0H5wUIF6TLTrKweqkmYF/iraQKNw== dependencies: - acorn "^8.7.1" + acorn "^8.8.0" stylis@^4.1.2: version "4.1.2" @@ -6713,7 +6748,7 @@ stylis@^4.1.2: 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= + integrity sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g== supports-color@^5.3.0: version "5.5.0" @@ -6771,7 +6806,7 @@ text-extensions@^1.0.0: 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= + integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== throat@5.0.0: version "5.0.0" @@ -6781,7 +6816,7 @@ throat@5.0.0: throttleit@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/throttleit/-/throttleit-1.0.0.tgz#9e785836daf46743145a5984b6268d828528ac6c" - integrity sha1-nnhYNtr0Z0MUWlmEtiaNgoUorGw= + integrity sha512-rkTVqu6IjfQ/6+uNuuc3sZek4CEYxTJom3IktzgdSxcZqdARuebbA/f4QmAxMQIxqq9ZLEUkSYqvuk1I6VKq4g== through2@^4.0.0: version "4.0.2" @@ -6793,18 +6828,13 @@ through2@^4.0.0: through@2, "through@>=2.2.7 <3", through@^2.3.8, through@~2.3, through@~2.3.1: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= + integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== -tinybench@^2.1.3, tinybench@^2.1.5: +tinybench@^2.1.5: version "2.1.5" resolved "https://registry.yarnpkg.com/tinybench/-/tinybench-2.1.5.tgz#6864341415ff0f912ed160cfd90b7f833ece674c" integrity sha512-ak+PZZEuH3mw6CCFOgf5S90YH0MARnZNhxjhjguAmoJimEMAJuNip/rJRd6/wyylHItomVpKTzZk9zrhTrQCoQ== -tinypool@^0.2.4: - version "0.2.4" - resolved "https://registry.yarnpkg.com/tinypool/-/tinypool-0.2.4.tgz#4d2598c4689d1a2ce267ddf3360a9c6b3925a20c" - integrity sha512-Vs3rhkUH6Qq1t5bqtb816oT+HeJTXfwt2cbPH17sWHIYKTotQIFPk3tf2fgqRrVyMDVOc1EnPgzIxfIulXVzwQ== - tinypool@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/tinypool/-/tinypool-0.3.0.tgz#c405d8b743509fc28ea4ca358433190be654f819" @@ -6840,13 +6870,14 @@ totalist@^3.0.0: integrity sha512-eM+pCBxXO/njtF7vdFsHuqb+ElbxqtI4r5EAvk6grfAFyJ6IvWlSkfZ5T9ozC6xWw3Fj1fGoSmrl0gUs46JVIw== tough-cookie@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.0.0.tgz#d822234eeca882f991f0f908824ad2622ddbece4" - integrity sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg== + version "4.1.2" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.2.tgz#e53e84b85f24e0b65dd526f46628db6c85f6b874" + integrity sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ== dependencies: psl "^1.1.33" punycode "^2.1.1" - universalify "^0.1.2" + universalify "^0.2.0" + url-parse "^1.5.3" tough-cookie@~2.5.0: version "2.5.0" @@ -6866,7 +6897,7 @@ tr46@^3.0.0: tr46@~0.0.3: version "0.0.3" resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" - integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o= + integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== tree-kill@^1.2.2: version "1.2.2" @@ -6922,7 +6953,7 @@ tsutils@^3.21.0: tunnel-agent@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" - integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= + integrity sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w== dependencies: safe-buffer "^5.0.1" @@ -6934,7 +6965,7 @@ tunnel@0.0.6: 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= + integrity sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA== type-check@^0.4.0, type-check@~0.4.0: version "0.4.0" @@ -6946,7 +6977,7 @@ type-check@^0.4.0, type-check@~0.4.0: type-check@~0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" - integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= + integrity sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg== dependencies: prelude-ls "~1.1.2" @@ -6988,12 +7019,7 @@ type-is@~1.6.18: media-typer "0.3.0" mime-types "~2.1.24" -typescript@^4.6.4: - version "4.8.2" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.2.tgz#e3b33d5ccfb5914e4eeab6699cf208adee3fd790" - integrity sha512-C0I1UsrrDHo2fYI5oaCGbSejwX4ch+9Y5jTQELvovfmFkK3HHSZJB8MSJcWLmCUBzQBchCrZ9rMRV6GuNrvGtw== - -typescript@^4.8.3: +typescript@^4.6.4, typescript@^4.8.3: version "4.8.3" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.3.tgz#d59344522c4bc464a65a730ac695007fdb66dd88" integrity sha512-goMHfm00nWPa8UvR/CPSvykqf6dVV8x/dp0c5mFTMTIu0u0FlGWRioyy7Nn0PGAdHxpJZnuO/ut+PpQ8UiHAig== @@ -7006,12 +7032,12 @@ uc.micro@^1.0.1, uc.micro@^1.0.5: underscore@1.1.x: version "1.1.7" resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.1.7.tgz#40bab84bad19d230096e8d6ef628bff055d83db0" - integrity sha1-QLq4S60Z0jAJbo1u9ii/8FXYPbA= + integrity sha512-w4QtCHoLBXw1mjofIDoMyexaEdWGMedWNDhlWTtT1V1lCRqi65Pnoygkh6+WRdr+Bm8ldkBNkNeCsXGMlQS9HQ== underscore@~1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.6.0.tgz#8b38b10cacdef63337b8b24e4ff86d45aea529a8" - integrity sha1-izixDKze9jM3uLJOT/htRa6lKag= + integrity sha512-z4o1fvKUojIWh9XuaVLUDdf86RQiq13AC1dmHbTpoyuu+bquHms76v16CjycCbec87J7z0k//SiQVk0sMdFmpQ== unified@^10.0.0: version "10.1.2" @@ -7067,11 +7093,16 @@ unist-util-visit@^4.0.0: unist-util-is "^5.0.0" unist-util-visit-parents "^5.1.1" -universalify@^0.1.0, universalify@^0.1.2: +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== +universalify@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.2.0.tgz#6451760566fa857534745ab1dde952d1b1761be0" + integrity sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg== + universalify@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" @@ -7080,7 +7111,7 @@ universalify@^2.0.0: 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= + integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== untildify@^4.0.0: version "4.0.0" @@ -7094,15 +7125,23 @@ uri-js@^4.2.2: dependencies: punycode "^2.1.0" +url-parse@^1.5.3: + 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" + 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= + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== 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= + integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== uuid@8.3.2, uuid@^8.3.2: version "8.3.2" @@ -7115,9 +7154,9 @@ uuid@^3.3.2: integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== uvu@^0.5.0: - version "0.5.3" - resolved "https://registry.yarnpkg.com/uvu/-/uvu-0.5.3.tgz#3d83c5bc1230f153451877bfc7f4aea2392219ae" - integrity sha512-brFwqA3FXzilmtnIyJ+CxdkInkY/i4ErvP7uV0DnUVxQcQ55reuHphorpF+tZoVHK2MniZ/VJzI7zJQoc9T9Yw== + version "0.5.6" + resolved "https://registry.yarnpkg.com/uvu/-/uvu-0.5.6.tgz#2754ca20bcb0bb59b64e9985e84d2e81058502df" + integrity sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA== dependencies: dequal "^2.0.0" diff "^5.0.0" @@ -7149,12 +7188,12 @@ validate-npm-package-license@^3.0.1: vary@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" - integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= + integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== verror@1.10.0: version "1.10.0" resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" - integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= + integrity sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw== dependencies: assert-plus "^1.0.0" core-util-is "1.0.2" @@ -7169,9 +7208,9 @@ vfile-message@^3.0.0: unist-util-stringify-position "^3.0.0" vfile@^5.0.0: - version "5.3.4" - resolved "https://registry.yarnpkg.com/vfile/-/vfile-5.3.4.tgz#bbb8c96b956693bbf70b2c67fdb5781dff769b93" - integrity sha512-KI+7cnst03KbEyN1+JE504zF5bJBZa+J+CrevLeyIMq0aPU681I2rQ5p4PlnQ6exFtWiUrg26QUdFMnAKR6PIw== + version "5.3.5" + resolved "https://registry.yarnpkg.com/vfile/-/vfile-5.3.5.tgz#ec2e206b1414f561c85b7972bb1eeda8ab47ee61" + integrity sha512-U1ho2ga33eZ8y8pkbQLH54uKqGhFJ6GYIHnnG5AhRpAh3OWjkrRHKa/KogbmQn8We+c0KVV3rTOgR9V/WowbXQ== dependencies: "@types/unist" "^2.0.0" is-buffer "^2.0.0" @@ -7179,9 +7218,9 @@ vfile@^5.0.0: vfile-message "^3.0.0" "vite@^2.9.12 || ^3.0.0-0": - version "3.1.0" - resolved "https://registry.yarnpkg.com/vite/-/vite-3.1.0.tgz#3138b279072941d57e76bcf7f66f272fc6a17fe2" - integrity sha512-YBg3dUicDpDWFCGttmvMbVyS9ydjntwEjwXRj2KBFwSB8SxmGcudo1yb8FW5+M/G86aS8x828ujnzUVdsLjs9g== + version "3.1.3" + resolved "https://registry.yarnpkg.com/vite/-/vite-3.1.3.tgz#b2a0821c11aae124bb7618f8036913c689afcc59" + integrity sha512-/3XWiktaopByM5bd8dqvHxRt5EEgRikevnnrpND0gRfNkrMrPaGGexhtLCzv15RcCMtV2CLw+BPas8YFeSG0KA== dependencies: esbuild "^0.15.6" postcss "^8.4.16" @@ -7191,9 +7230,9 @@ vfile@^5.0.0: fsevents "~2.3.2" vite@^3.1.0: - version "3.1.3" - resolved "https://registry.yarnpkg.com/vite/-/vite-3.1.3.tgz#b2a0821c11aae124bb7618f8036913c689afcc59" - integrity sha512-/3XWiktaopByM5bd8dqvHxRt5EEgRikevnnrpND0gRfNkrMrPaGGexhtLCzv15RcCMtV2CLw+BPas8YFeSG0KA== + version "3.1.4" + resolved "https://registry.yarnpkg.com/vite/-/vite-3.1.4.tgz#b75824b819d8354a6f36e4b988943c7e4947e155" + integrity sha512-JoQI08aBjY9lycL7jcEq4p9o1xUjq5aRvdH4KWaXtkSx7e7RpAh9D3IjzDWRD4Fg44LS3oDAIOG/Kq1L+82psA== dependencies: esbuild "^0.15.6" postcss "^8.4.16" @@ -7213,9 +7252,9 @@ vitepress-plugin-search@^1.0.4-alpha.11: integrity sha512-fKJIpPj6QGQeXda31Dx5f9DtCYnPVHKQVsOUpnJOzahWHPPgGofslwwvwaeRMWIGvpslxi/m4RVK6C+ydqKukA== vitepress@^1.0.0-alpha.16: - version "1.0.0-alpha.16" - resolved "https://registry.yarnpkg.com/vitepress/-/vitepress-1.0.0-alpha.16.tgz#792936bdbece6e4d8c88598e09a063b52dd81f24" - integrity sha512-IXW3jA2Y9BsoYlpVuVcAy2XEu1wuoq2xmPvSDPVFrh8HV+oVpuvbPUCHqG6smEcu86xw3g4JjreqAwPlpPn6gw== + version "1.0.0-alpha.17" + resolved "https://registry.yarnpkg.com/vitepress/-/vitepress-1.0.0-alpha.17.tgz#bde5038b20ce99fe3c0a5c4ff703f61f0a6777d0" + integrity sha512-8qsR0PPcvxZFDKSU7b7VenxDoqlEbWuWgogeyRhp1pQ96QIAlWPS9BbGGHWlnEfgdtLVDxEfAmCBRE0YJX/Thg== dependencies: "@docsearch/css" "^3.2.1" "@docsearch/js" "^3.2.1" @@ -7228,10 +7267,10 @@ vitepress@^1.0.0-alpha.16: vite "^3.1.0" vue "^3.2.38" -vitest@0.23.2: - version "0.23.2" - resolved "https://registry.yarnpkg.com/vitest/-/vitest-0.23.2.tgz#f978de0f2ada1b7c5ff8dc479ce75b976957ff19" - integrity sha512-kTBKp3ROPDkYC+x2zWt4znkDtnT08W1FQ6ngRFuqxpBGNuNVS+eWZKfffr8y2JGvEzZ9EzMAOcNaiqMj/FZqMw== +vitest@0.23.4, vitest@^0.23.1: + version "0.23.4" + resolved "https://registry.yarnpkg.com/vitest/-/vitest-0.23.4.tgz#7ebea620f203f4df09a27ca17819dc9da61f88ef" + integrity sha512-iukBNWqQAv8EKDBUNntspLp9SfpaVFbmzmM0sNcnTxASQZMzRw3PsM6DMlsHiI+I6GeO5/sYDg3ecpC+SNFLrQ== dependencies: "@types/chai" "^4.3.3" "@types/chai-subset" "^1.3.3" @@ -7239,62 +7278,45 @@ vitest@0.23.2: chai "^4.3.6" debug "^4.3.4" local-pkg "^0.4.2" - strip-literal "^0.4.0" + strip-literal "^0.4.1" tinybench "^2.1.5" tinypool "^0.3.0" tinyspy "^1.0.2" vite "^2.9.12 || ^3.0.0-0" -vitest@^0.23.1: - version "0.23.1" - resolved "https://registry.yarnpkg.com/vitest/-/vitest-0.23.1.tgz#da3f79a88a6570e4d8c1fe8cf5e2d997be2dc3bd" - integrity sha512-kn9pG+h6VA3yj/xRvwgLKEd33rOlzMqJEg3tl5HSm3WUPlkY1Lr1FK8RN1uIqVKvFxmz6HGU3EQW+xW2kazRkQ== - dependencies: - "@types/chai" "^4.3.3" - "@types/chai-subset" "^1.3.3" - "@types/node" "*" - chai "^4.3.6" - debug "^4.3.4" - local-pkg "^0.4.2" - strip-literal "^0.4.0" - tinybench "^2.1.3" - tinypool "^0.2.4" - tinyspy "^1.0.2" - vite "^2.9.12 || ^3.0.0-0" - vm2@^3.9.8: - version "3.9.9" - resolved "https://registry.yarnpkg.com/vm2/-/vm2-3.9.9.tgz#c0507bc5fbb99388fad837d228badaaeb499ddc5" - integrity sha512-xwTm7NLh/uOjARRBs8/95H0e8fT3Ukw5D/JJWhxMbhKzNh1Nu981jQKvkep9iKYNxzlVrdzD0mlBGkDKZWprlw== + version "3.9.11" + resolved "https://registry.yarnpkg.com/vm2/-/vm2-3.9.11.tgz#a880f510a606481719ec3f9803b940c5805a06fe" + integrity sha512-PFG8iJRSjvvBdisowQ7iVF580DXb1uCIiGaXgm7tynMR1uTBlv7UJlB1zdv5KJ+Tmq1f0Upnj3fayoEOPpCBKg== dependencies: acorn "^8.7.0" acorn-walk "^8.2.0" vscode-json-languageservice@^4.1.6: - version "4.1.10" - resolved "https://registry.yarnpkg.com/vscode-json-languageservice/-/vscode-json-languageservice-4.1.10.tgz#5d5729fc4f3e02f41599e0104523a1877c25f0fb" - integrity sha512-IHliMEEYSY0tJjJt0ECb8ESx/nRXpoy9kN42WVQXgaqGyizFAf3jibSiezDQTrrY7f3kywXggCU+kkJEM+OLZQ== + version "4.2.1" + resolved "https://registry.yarnpkg.com/vscode-json-languageservice/-/vscode-json-languageservice-4.2.1.tgz#94b6f471ece193bf4a1ef37f6ab5cce86d50a8b4" + integrity sha512-xGmv9QIWs2H8obGbWg+sIPI/3/pFgj/5OWBhNzs00BkYQ9UaB2F6JJaGB/2/YOZJ3BvLXQTC4Q7muqU25QgAhA== dependencies: jsonc-parser "^3.0.0" - vscode-languageserver-textdocument "^1.0.1" + vscode-languageserver-textdocument "^1.0.3" vscode-languageserver-types "^3.16.0" vscode-nls "^5.0.0" - vscode-uri "^3.0.2" + vscode-uri "^3.0.3" -vscode-languageserver-textdocument@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.3.tgz#879f2649bfa5a6e07bc8b392c23ede2dfbf43eff" - integrity sha512-ynEGytvgTb6HVSUwPJIAZgiHQmPCx8bZ8w5um5Lz+q5DjP0Zj8wTFhQpyg8xaMvefDytw2+HH5yzqS+FhsR28A== +vscode-languageserver-textdocument@^1.0.3: + version "1.0.7" + resolved "https://registry.yarnpkg.com/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.7.tgz#16df468d5c2606103c90554ae05f9f3d335b771b" + integrity sha512-bFJH7UQxlXT8kKeyiyu41r22jCZXG8kuuVVA33OEJn1diWOZK5n8zBSPZFHVBOu8kXZ6h0LIRhf5UnCo61J4Hg== vscode-languageserver-types@^3.16.0: - version "3.16.0" - resolved "https://registry.yarnpkg.com/vscode-languageserver-types/-/vscode-languageserver-types-3.16.0.tgz#ecf393fc121ec6974b2da3efb3155644c514e247" - integrity sha512-k8luDIWJWyenLc5ToFQQMaSrqCHiLwyKPHKPQZ5zz21vM+vIVUSvsRpcbiECH4WR88K2XZqc4ScRcZ7nk/jbeA== + version "3.17.2" + resolved "https://registry.yarnpkg.com/vscode-languageserver-types/-/vscode-languageserver-types-3.17.2.tgz#b2c2e7de405ad3d73a883e91989b850170ffc4f2" + integrity sha512-zHhCWatviizPIq9B7Vh9uvrH6x3sK8itC84HkamnBWoDFJtzBf7SWlpLCZUit72b3os45h6RWQNC9xHRDF8dRA== vscode-nls@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/vscode-nls/-/vscode-nls-5.0.0.tgz#99f0da0bd9ea7cda44e565a74c54b1f2bc257840" - integrity sha512-u0Lw+IYlgbEJFF6/qAqG2d1jQmJl0eyAGJHoAJqr2HT4M2BNuQYSEiSE75f52pXHSJm8AlTjnLLbBFPrdz2hpA== + version "5.2.0" + resolved "https://registry.yarnpkg.com/vscode-nls/-/vscode-nls-5.2.0.tgz#3cb6893dd9bd695244d8a024bdf746eea665cc3f" + integrity sha512-RAaHx7B14ZU04EU31pT+rKz2/zSl7xMsfIZuo8pd+KZO6PXtQmpevpq3vxvWNcrGbdmhM/rr5Uw5Mz+NBfhVng== vscode-oniguruma@^1.6.1: version "1.6.2" @@ -7306,10 +7328,10 @@ vscode-textmate@^6.0.0: resolved "https://registry.yarnpkg.com/vscode-textmate/-/vscode-textmate-6.0.0.tgz#a3777197235036814ac9a92451492f2748589210" integrity sha512-gu73tuZfJgu+mvCSy4UZwd2JXykjK9zAZsfmDeut5dx/1a7FeTk0XwJsSuqQn+cuMCGVbIBfl+s53X4T19DnzQ== -vscode-uri@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/vscode-uri/-/vscode-uri-3.0.2.tgz#ecfd1d066cb8ef4c3a208decdbab9a8c23d055d0" - integrity sha512-jkjy6pjU1fxUvI51P+gCsxg1u2n8LSt0W6KrCNQceaziKzff74GoWmjVG46KieVzybO1sttPQmYfrwSHey7GUA== +vscode-uri@^3.0.3: + version "3.0.6" + resolved "https://registry.yarnpkg.com/vscode-uri/-/vscode-uri-3.0.6.tgz#5e6e2e1a4170543af30151b561a41f71db1d6f91" + integrity sha512-fmL7V1eiDBFRRnu+gfRWTzyPpNIHJTc4mWnFkwBUmO9U3KPgJAmTx7oxi2bl/Rh6HLdU7+4C9wlj0k2E4AdKFQ== vue-demi@*: version "0.13.11" @@ -7317,15 +7339,15 @@ vue-demi@*: integrity sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A== vue@^3.2.38: - version "3.2.39" - resolved "https://registry.yarnpkg.com/vue/-/vue-3.2.39.tgz#de071c56c4c32c41cbd54e55f11404295c0dd62d" - integrity sha512-tRkguhRTw9NmIPXhzk21YFBqXHT2t+6C6wPOgQ50fcFVWnPdetmRqbmySRHznrYjX2E47u0cGlKGcxKZJ38R/g== + version "3.2.40" + resolved "https://registry.yarnpkg.com/vue/-/vue-3.2.40.tgz#23f387f6f9b3a0767938db6751e4fb5900f0ee34" + integrity sha512-1mGHulzUbl2Nk3pfvI5aXYYyJUs1nm4kyvuz38u4xlQkLUn1i2R7nDbI4TufECmY8v1qNBHYy62bCaM+3cHP2A== dependencies: - "@vue/compiler-dom" "3.2.39" - "@vue/compiler-sfc" "3.2.39" - "@vue/runtime-dom" "3.2.39" - "@vue/server-renderer" "3.2.39" - "@vue/shared" "3.2.39" + "@vue/compiler-dom" "3.2.40" + "@vue/compiler-sfc" "3.2.40" + "@vue/runtime-dom" "3.2.40" + "@vue/server-renderer" "3.2.40" + "@vue/shared" "3.2.40" w3c-hr-time@^1.0.2: version "1.0.2" @@ -7370,7 +7392,7 @@ webdriver@7.16.11: 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= + integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== webidl-conversions@^7.0.0: version "7.0.0" @@ -7413,7 +7435,7 @@ whatwg-url@^11.0.0: whatwg-url@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" - integrity sha1-lmRU6HZUYuN2RNNib2dCzotwll0= + integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== dependencies: tr46 "~0.0.3" webidl-conversions "^3.0.0" @@ -7480,10 +7502,10 @@ xml-name-validator@^4.0.0: resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-4.0.0.tgz#79a006e2e63149a8600f15430f0a4725d1524835" integrity sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw== -xmlbuilder@^9.0.7: - version "9.0.7" - resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz#132ee63d2ec5565c557e20f4c22df9aca686b10d" - integrity sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0= +xmlbuilder@^15.1.1: + version "15.1.1" + resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-15.1.1.tgz#9dcdce49eea66d8d10b42cae94a79c3c8d0c2ec5" + integrity sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg== xmlchars@^2.2.0: version "2.2.0" @@ -7493,7 +7515,7 @@ xmlchars@^2.2.0: xregexp@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/xregexp/-/xregexp-2.0.0.tgz#52a63e56ca0b84a7f3a5f3d61872f126ad7a5943" - integrity sha1-UqY+VsoLhKfzpfPWGHLxJq16WUM= + integrity sha512-xl/50/Cf32VsGq/1R8jJE5ajH1yMCQkpmoS10QbFZWl2Oor4H0Me64Pu2yxvsRWK3m6soJbmGfzSR7BYmDcWAA== y18n@^5.0.5: version "5.0.8" @@ -7526,11 +7548,11 @@ yargs-parser@^20.2.2, yargs-parser@^20.2.3, yargs-parser@^20.2.9: integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== yargs-parser@^21.0.0: - version "21.0.0" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.0.0.tgz#a485d3966be4317426dd56bdb6a30131b281dc55" - integrity sha512-z9kApYUOCwoeZ78rfRYYWdiU/iNL6mwwYlkkZfJoyMR1xps+NEBX5X7XmRpxkZHhXJ6+Ey00IwKxBBSW9FIjyA== + version "21.1.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" + integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== -yargs@17.4.1, yargs@^17.0.0, yargs@^17.3.1: +yargs@17.4.1: version "17.4.1" resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.4.1.tgz#ebe23284207bb75cee7c408c33e722bfb27b5284" integrity sha512-WSZD9jgobAg3ZKuCQZSa3g9QOJeCCqLoLAykiWgmXnDo9EPnn4RPf5qVTtzgOx66o6/oqhcA5tHtJXpG8pMt3g== @@ -7556,10 +7578,23 @@ yargs@^16.2.0: y18n "^5.0.5" yargs-parser "^20.2.2" +yargs@^17.0.0, yargs@^17.3.1: + version "17.5.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.5.1.tgz#e109900cab6fcb7fd44b1d8249166feb0b36e58e" + integrity sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA== + dependencies: + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.3" + y18n "^5.0.5" + yargs-parser "^21.0.0" + yauzl@^2.10.0: version "2.10.0" resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" - integrity sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk= + integrity sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g== dependencies: buffer-crc32 "~0.2.3" fd-slicer "~1.1.0" From a4d1d86d7bbe92497575cf01e585e421498b8425 Mon Sep 17 00:00:00 2001 From: Andrew Liu <aliu2@ufl.edu> Date: Sun, 2 Oct 2022 14:32:50 -0400 Subject: [PATCH 09/33] Fixed labelText undefined behavior --- packages/mermaid/src/dagre-wrapper/shapes/util.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/mermaid/src/dagre-wrapper/shapes/util.js b/packages/mermaid/src/dagre-wrapper/shapes/util.js index 1655d2e91..dfd1a93ba 100644 --- a/packages/mermaid/src/dagre-wrapper/shapes/util.js +++ b/packages/mermaid/src/dagre-wrapper/shapes/util.js @@ -19,7 +19,13 @@ export const labelHelper = (parent, node, _classes, isNode) => { // Create the label and insert it after the rect const label = shapeSvg.insert('g').attr('class', 'label').attr('style', node.labelStyle); - const labelText = typeof node.labelText === 'string' ? node.labelText : node.labelText[0]; + // Replace labelText with default value if undefined + let labelText; + if (typeof node.labelText === 'undefined') { + labelText = ''; + } else { + labelText = typeof node.labelText === 'string' ? node.labelText : node.labelText[0]; + } const text = label .node() From 6f27c36186002937d4c4ab9692e3dde72713d4e2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 3 Oct 2022 07:00:41 +0000 Subject: [PATCH 10/33] chore(deps-dev): update @vitest/ui requirement from ^0.23.2 to ^0.23.4 Updates the requirements on [@vitest/ui](https://github.com/vitest-dev/vitest/tree/HEAD/packages/ui) to permit the latest version. - [Release notes](https://github.com/vitest-dev/vitest/releases) - [Commits](https://github.com/vitest-dev/vitest/commits/v0.23.4/packages/ui) --- updated-dependencies: - dependency-name: "@vitest/ui" dependency-type: direct:development ... Signed-off-by: dependabot[bot] <support@github.com> --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index e58109b32..a47f06ef8 100644 --- a/package.json +++ b/package.json @@ -98,7 +98,7 @@ "@typescript-eslint/eslint-plugin": "^5.37.0", "@typescript-eslint/parser": "^5.37.0", "@vitest/coverage-c8": "^0.23.2", - "@vitest/ui": "^0.23.2", + "@vitest/ui": "^0.23.4", "concurrently": "^7.4.0", "coveralls": "^3.1.1", "cypress": "^10.0.0", From 0871f5c012f4521694eb88a7b25b87474f77b801 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 3 Oct 2022 07:01:06 +0000 Subject: [PATCH 11/33] chore(deps-dev): update start-server-and-test requirement Updates the requirements on [start-server-and-test](https://github.com/bahmutov/start-server-and-test) to permit the latest version. - [Release notes](https://github.com/bahmutov/start-server-and-test/releases) - [Commits](https://github.com/bahmutov/start-server-and-test/compare/v1.12.6...v1.14.0) --- updated-dependencies: - dependency-name: start-server-and-test dependency-type: direct:development ... Signed-off-by: dependabot[bot] <support@github.com> --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index e58109b32..a3466b33f 100644 --- a/package.json +++ b/package.json @@ -126,7 +126,7 @@ "prettier-plugin-jsdoc": "^0.4.2", "remark": "^14.0.2", "rimraf": "^3.0.2", - "start-server-and-test": "^1.12.6", + "start-server-and-test": "^1.14.0", "ts-node": "^10.9.1", "typescript": "^4.8.3", "unist-util-flatmap": "^1.0.0", From 0a6c7781c4cff5112c1d5b7e293275fce30115d2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 3 Oct 2022 07:01:26 +0000 Subject: [PATCH 12/33] chore(deps-dev): update @types/express requirement Updates the requirements on [@types/express](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/express) to permit the latest version. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/express) --- updated-dependencies: - dependency-name: "@types/express" dependency-type: direct:development ... Signed-off-by: dependabot[bot] <support@github.com> --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index e58109b32..eeab6917c 100644 --- a/package.json +++ b/package.json @@ -90,7 +90,7 @@ "@types/d3": "^7.4.0", "@types/dompurify": "^2.3.4", "@types/eslint": "^8.4.6", - "@types/express": "^4.17.13", + "@types/express": "^4.17.14", "@types/jsdom": "^20.0.0", "@types/lodash": "^4.14.185", "@types/prettier": "^2.7.1", From a6093e847e93ceb8f84958e437d41b2790f58564 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 3 Oct 2022 07:01:30 +0000 Subject: [PATCH 13/33] chore(deps-dev): update @types/lodash requirement Updates the requirements on [@types/lodash](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/lodash) to permit the latest version. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/lodash) --- updated-dependencies: - dependency-name: "@types/lodash" dependency-type: direct:development ... Signed-off-by: dependabot[bot] <support@github.com> --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index e58109b32..cbd683fef 100644 --- a/package.json +++ b/package.json @@ -92,7 +92,7 @@ "@types/eslint": "^8.4.6", "@types/express": "^4.17.13", "@types/jsdom": "^20.0.0", - "@types/lodash": "^4.14.185", + "@types/lodash": "^4.14.186", "@types/prettier": "^2.7.1", "@types/stylis": "^4.0.2", "@typescript-eslint/eslint-plugin": "^5.37.0", From eaf75fa149424213413d4769138c70363fb9a869 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 3 Oct 2022 07:01:42 +0000 Subject: [PATCH 14/33] chore(deps-dev): update husky requirement from ^8.0.0 to ^8.0.1 Updates the requirements on [husky](https://github.com/typicode/husky) to permit the latest version. - [Release notes](https://github.com/typicode/husky/releases) - [Commits](https://github.com/typicode/husky/compare/v8.0.0...v8.0.1) --- updated-dependencies: - dependency-name: husky dependency-type: direct:development ... Signed-off-by: dependabot[bot] <support@github.com> --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index e58109b32..f17e2f24c 100644 --- a/package.json +++ b/package.json @@ -114,7 +114,7 @@ "eslint-plugin-markdown": "^3.0.0", "express": "^4.18.1", "globby": "^13.1.2", - "husky": "^8.0.0", + "husky": "^8.0.1", "identity-obj-proxy": "^3.0.0", "jest": "29.x", "jison": "^0.4.18", From 5079fa93b4e2d00abd4356455c4d346983033a9f Mon Sep 17 00:00:00 2001 From: Knut Sveidqvist <knsv@sveido.com> Date: Mon, 3 Oct 2022 10:05:12 +0200 Subject: [PATCH 15/33] Using cose-bilkent layout algorithm for mindmaps --- .vite/server.ts | 2 +- cypress/platform/knsv.html | 4 + cypress/platform/knsv2.html | 11 +- packages/mermaid-mindmap/package.json | 2 + .../mermaid-mindmap/src/mindmapDetector.old | 8 - .../mermaid-mindmap/src/mindmapRenderer.js | 331 ++++++++++-------- packages/mermaid-mindmap/src/svgDraw.js | 7 +- packages/mermaid/src/mermaidAPI.ts | 4 +- pnpm-lock.yaml | 42 +++ 9 files changed, 247 insertions(+), 164 deletions(-) delete mode 100644 packages/mermaid-mindmap/src/mindmapDetector.old diff --git a/.vite/server.ts b/.vite/server.ts index 50be3908d..c62b6236a 100644 --- a/.vite/server.ts +++ b/.vite/server.ts @@ -12,10 +12,10 @@ async function createServer() { appType: 'custom', // don't include Vite's default HTML handling middlewares }); - app.use(vite.middlewares); app.use(express.static('./packages/mermaid/dist')); app.use(express.static('./packages/mermaid-example-diagram/dist')); app.use(express.static('./packages/mermaid-mindmap/dist')); + app.use(vite.middlewares); app.use(express.static('demos')); app.use(express.static('cypress/platform')); diff --git a/cypress/platform/knsv.html b/cypress/platform/knsv.html index 11340c4db..d4ffa0c0c 100644 --- a/cypress/platform/knsv.html +++ b/cypress/platform/knsv.html @@ -6,6 +6,10 @@ rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" /> + <link + href="https://cdn.jsdelivr.net/npm/@mdi/font@6.9.96/css/materialdesignicons.min.css" + rel="stylesheet" + /> <link href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap" rel="stylesheet" diff --git a/cypress/platform/knsv2.html b/cypress/platform/knsv2.html index a463e668c..0e94cc0db 100644 --- a/cypress/platform/knsv2.html +++ b/cypress/platform/knsv2.html @@ -6,6 +6,10 @@ rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" /> + <link + href="https://cdn.jsdelivr.net/npm/@mdi/font@6.9.96/css/materialdesignicons.min.css" + rel="stylesheet" + /> <link href="https://fonts.googleapis.com/css?family=Noto+Sans+SC&display=swap" rel="stylesheet" @@ -63,9 +67,12 @@ mindmap ::icon(mdi mdi-fire) gc6((grand<br/>child 6)) ::icon(mdi mdi-fire) + gc7((grand<br/>grand<br/>child 8)) </pre> - <script src="./mermaid-mindmap-detector.js"></script> - <script src="./mermaid-example-diagram-detector.js"></script> + <div id="cy"></div> + <script src="http://localhost:9000/packages/mermaid-mindmap/dist/mermaid-mindmap-detector.js"></script> + <!-- <script src="./mermaid-example-diagram-detector.js"></script> --> + <!-- <script src="http://localhost:9000/packages/mermaid-mindmap/dist/mermaid-example-diagram-detector.js"></script> --> <script src="./mermaid.js"></script> <script> mermaid.parseError = function (err, hash) { diff --git a/packages/mermaid-mindmap/package.json b/packages/mermaid-mindmap/package.json index 2e41b8730..8599f2b54 100644 --- a/packages/mermaid-mindmap/package.json +++ b/packages/mermaid-mindmap/package.json @@ -55,6 +55,8 @@ "dependencies": { "@braintree/sanitize-url": "^6.0.0", "cytoscape": "^3.23.0", + "cytoscape-cose-bilkent": "^4.1.0", + "cytoscape-fcose": "^2.1.0", "d3": "^7.0.0", "non-layered-tidy-tree-layout": "^2.0.2" }, diff --git a/packages/mermaid-mindmap/src/mindmapDetector.old b/packages/mermaid-mindmap/src/mindmapDetector.old deleted file mode 100644 index 4fe85af03..000000000 --- a/packages/mermaid-mindmap/src/mindmapDetector.old +++ /dev/null @@ -1,8 +0,0 @@ -const detector = function detect(txt) { - if (txt.match(/^\s*mindmap/)) { - return 'mindmap'; - } - return null; -}; - -export default detector; diff --git a/packages/mermaid-mindmap/src/mindmapRenderer.js b/packages/mermaid-mindmap/src/mindmapRenderer.js index 290cdaac1..d4bc86e38 100644 --- a/packages/mermaid-mindmap/src/mindmapRenderer.js +++ b/packages/mermaid-mindmap/src/mindmapRenderer.js @@ -4,9 +4,14 @@ import { log, getConfig, setupGraphViewbox } from './mermaidUtils'; import svgDraw from './svgDraw'; import { BoundingBox, Layout } from 'non-layered-tidy-tree-layout'; import cytoscape from 'cytoscape'; +import coseBilkent from 'cytoscape-cose-bilkent'; +import fcose from 'cytoscape-fcose'; import clone from 'fast-clone'; import * as db from './mindmapDb'; +cytoscape.use(fcose); +cytoscape.use(coseBilkent); + /** * @param {any} svg The svg element to draw the diagram onto * @param {object} mindmap The maindmap data and hierarchy @@ -28,17 +33,47 @@ function drawNodes(svg, mindmap, section, conf) { * @param parent * @param depth * @param section + * @param edgesEl + * @param cy * @param conf */ -function drawEdges(edgesElem, mindmap, parent, depth, section, conf) { - if (parent) { - svgDraw.drawEdge(edgesElem, mindmap, parent, depth, section, conf); - } - if (mindmap.children) { - mindmap.children.forEach((child, index) => { - drawEdges(edgesElem, child, mindmap, depth + 1, section < 0 ? index : section, conf); - }); - } +// edgesElem, cy, conf +function drawEdges(edgesEl, cy, conf) { + cy.edges().map((edge, id) => { + const data = edge.data(); + if (edge[0]._private.bodyBounds) { + const bounds = edge[0]._private.rscratch; + log.info( + id, + // 'x:', + // edge.controlPoints(), + // 'y:', + // edge[0]._private.rscratch + // 'w:', + // edge.boundingbox().w, + // 'h:', + // edge.boundingbox().h, + // edge.midPoint() + data + ); + // data.el.attr('transform', `translate(${node.position().x}, ${node.position().y})`); + // edgesEl + // .insert('line') + // .attr('x1', bounds.startX) + // .attr('y1', bounds.startY) + // .attr('x2', bounds.endX) + // .attr('y2', bounds.endY) + // .attr('class', 'path'); + edgesEl + .insert('path') + // Todo use regular line function + .attr( + 'd', + `M ${bounds.startX},${bounds.startY} L ${bounds.midX},${bounds.midY} L${bounds.endX},${bounds.endY} ` + ) + .attr('class', 'edge section-edge-' + data.section + ' edge-depth-' + data.depth); + } + }); } /** @@ -53,159 +88,159 @@ function eachNode(mindmap, callback) { }); } } -/** @param {object} mindmap */ -function transpose(mindmap) { - eachNode(mindmap, (node) => { - const orgWidth = node.width; - const orgX = node.x; - node.width = node.height; - node.height = orgWidth; - node.x = node.y; - node.y = orgX; - }); - return mindmap; -} -/** @param {object} mindmap */ -function bottomToUp(mindmap) { - log.debug('bottomToUp', mindmap); - eachNode(mindmap.result, (node) => { - // node.y = node.y - (node.y - bb.top) * 2 - node.height; - node.y = node.y - (node.y - 0) * 2 - node.height; - }); - return mindmap; -} -/** @param {object} mindmap The mindmap hierarchy */ -function rightToLeft(mindmap) { - eachNode(mindmap.result, (node) => { - // node.y = node.y - (node.y - bb.top) * 2 - node.height; - node.x = node.x - (node.x - 0) * 2 - node.width; - }); - return mindmap; -} /** - * @param mindmap - * @param dir + * @param {any} svg The svg element to draw the diagram onto + * @param {object} mindmap The maindmap data and hierarchy + * @param section + * @param cy + * @param {object} conf The configuration object + * @param level */ -function layout(mindmap, dir) { - const bb = new BoundingBox(30, 60); - - const layout = new Layout(bb); - switch (dir) { - case 'TB': - return layout.layout(mindmap); - case 'BT': - return bottomToUp(layout.layout(mindmap)); - case 'RL': { - transpose(mindmap); - let newRes = layout.layout(mindmap); - transpose(newRes.result); - return rightToLeft(newRes); - } - case 'LR': { - transpose(mindmap); - let newRes = layout.layout(mindmap); - transpose(newRes.result); - return newRes; - } - default: - } -} -const dirFromIndex = (index) => { - const dirNum = (index + 2) % 4; - switch (dirNum) { - case 0: - return 'LR'; - case 1: - return 'RL'; - case 2: - return 'TB'; - case 3: - return 'BT'; - default: - return 'TB'; - } -}; - -const mergeTrees = (node, trees) => { - node.x = trees[0].result.x; - node.y = trees[0].result.y; - trees.forEach((tree) => { - tree.result.children.forEach((child) => { - const dx = node.x - tree.result.x; - const dy = node.y - tree.result.y; - eachNode(child, (childNode) => { - const orgNode = db.getNodeById(childNode.id); - if (orgNode) { - orgNode.x = childNode.x + dx; - orgNode.y = childNode.y + dy; - } +function addNodes(mindmap, cy, conf, level) { + const node = cy.add({ + group: 'nodes', + data: { + id: mindmap.id, + labelText: mindmap.descr, + height: mindmap.height, + width: mindmap.width, + level: level, + nodeId: mindmap.id, + padding: mindmap.padding, + type: mindmap.type, + }, + position: { + x: mindmap.x, + y: mindmap.y, + }, + }); + if (mindmap.children) { + mindmap.children.forEach((child, index) => { + addNodes(child, cy, conf, level + 1); + const edge = cy.add({ + group: 'edges', + data: { + id: `${mindmap.id}_${child.id}`, + source: mindmap.id, + target: child.id, + depth: level, + section: child.section, + }, }); }); - }); - return node; -}; + } +} /** * @param node * @param conf + * @param cy */ function layoutMindmap(node, conf) { - // BoundingBox(gap, bottomPadding) - // const bb = new BoundingBox(10, 10); - // const layout = new Layout(bb); - // // const layout = new HorizontalLayout(bb); - if (node.children.length === 0) { - return node; - } - const trees = []; - // node.children.forEach((child, index) => { - // const tree = clone(node); - // tree.children = [tree.children[index]]; - // trees.push(layout(tree, dirFromIndex(index), conf)); - // }); + return new Promise((resolve) => { + // BoundingBox(gap, bottomPadding) + // const bb = new BoundingBox(10, 10); + // const layout = new Layout(bb); + // // const layout = new HorizontalLayout(bb); + if (node.children.length === 0) { + return node; + } - let cnt = 0; - // For each direction, create a new tree with the same root, and add a ubset of the children to it. - for (let i = 0; i < 4; i++) { - // Calculate the number of the children of the root node that will be used in this direction - const numChildren = - Math.floor(node.children.length / 4) + (node.children.length % 4 > i ? 1 : 0); - // Copy the original root node - const tree = clone(node); - // Setup the new copy with the children to be rendered in this direction - tree.children = []; - for (let j = 0; j < numChildren; j++) { - tree.children.push(node.children[cnt]); - cnt++; - } - if (tree.children.length > 0) { - trees.push(layout(tree, dirFromIndex(i), conf)); - } - } - // Let each node know the direct of its tree for when we draw the branches. - trees.forEach((tree, index) => { - tree.result.direction = dirFromIndex(index); - eachNode(tree.result, (node) => { - node.direction = dirFromIndex(index); + const cy = cytoscape({ + // styleEnabled: false, + // animate: false, + // ready: function () { + // log.info('Ready', this); + // }, + container: document.getElementById('cy'), // container to render in + + style: [ + // the stylesheet for the graph + { + selector: 'node', + style: { + 'background-color': '#666', + label: 'data(labelText)', + }, + }, + + { + selector: 'edge', + style: { + width: 3, + 'line-color': '#ccc', + 'target-arrow-color': '#ccc', + 'target-arrow-shape': 'triangle', + 'curve-style': 'bezier', + label: 'data(id)', + }, + }, + ], + }); + addNodes(node, cy, conf, 0); + + // Make cytoscape care about the dimensisions of the nodes + cy.nodes().forEach(function (n) { + n.layoutDimensions = () => { + const data = n.data(); + // console.log( + // 'id', + // data.id, + // ' node', + // data.nodeId, + // ' layoutDimensions', + // data.width, + // 'x', + // data.height + // ); + return { w: data.width, h: data.height }; + }; + }); + + // // Merge the trees into a single tree + // mergeTrees(node, trees); + cy.layout({ + // name: 'grid', + // name: 'circle', + // name: 'cose', + // name: 'fcose', + name: 'cose-bilkent', + quality: 'proof', + // randomize: false, + // seed: 2, + // name: 'breadthfirst', + // headless: true, + styleEnabled: false, + animate: false, + }).run(); + cy.ready((e) => { + log.info('Ready', e); + + resolve({ positionedMindmap: node, cy }); }); }); - - // Merge the trees into a single tree - mergeTrees(node, trees); - return node; } /** * @param node + * @param cy + * @param positionedMindmap * @param conf */ -function positionNodes(node, conf) { - svgDraw.positionNode(node, conf); - if (node.children) { - node.children.forEach((child) => { - positionNodes(child, conf); - }); - } +function positionNodes(cy, conf) { + cy.nodes().map((node, id) => { + const data = node.data(); + data.x = node.position().x; + data.y = node.position().y; + svgDraw.positionNode(data); + const el = db.getElementById(data.nodeId); + log.info('Id:', id, 'Position: (', node.position().x, ', ', node.position().y, ')', data); + el.attr( + 'transform', + `translate(${node.position().x - data.width / 2}, ${node.position().y - data.height / 2})` + ); + el.attr('attr', `apa-${id})`); + }); } /** @@ -217,7 +252,7 @@ function positionNodes(node, conf) { * @param diagObj */ -export const draw = (text, id, version, diagObj) => { +export const draw = async (text, id, version, diagObj) => { const conf = getConfig(); // This is done only for throwing the error if the text is not valid. @@ -255,11 +290,11 @@ export const draw = (text, id, version, diagObj) => { // Next step is to layout the mindmap, giving each node a position - const positionedMindmap = layoutMindmap(mm, conf); + const { positionedMindmap, cy } = await layoutMindmap(mm, conf); - // After this we can draw, first the edges and the then nodes with the correct position - drawEdges(edgesElem, positionedMindmap, null, 0, -1, conf); - positionNodes(positionedMindmap, conf); + // // After this we can draw, first the edges and the then nodes with the correct position + drawEdges(edgesElem, cy, conf); + positionNodes(cy, conf); // Setup the view box and size of the svg element setupGraphViewbox(undefined, svg, conf.mindmap.padding, conf.mindmap.useMaxWidth); diff --git a/packages/mermaid-mindmap/src/svgDraw.js b/packages/mermaid-mindmap/src/svgDraw.js index 7d6804f24..93a9ed4a7 100644 --- a/packages/mermaid-mindmap/src/svgDraw.js +++ b/packages/mermaid-mindmap/src/svgDraw.js @@ -164,6 +164,7 @@ const roundedRectBkg = function (elem, node) { */ export const drawNode = function (elem, node, section, conf) { const nodeElem = elem.append('g'); + node.section = section; nodeElem.attr( 'class', (node.class ? node.class + ' ' : '') + @@ -252,9 +253,9 @@ export const drawNode = function (elem, node, section, conf) { } // Position the node to its coordinate - if (typeof node.x !== 'undefined' && typeof node.y !== 'undefined') { - nodeElem.attr('transform', 'translate(' + node.x + ',' + node.y + ')'); - } + // if (typeof node.x !== 'undefined' && typeof node.y !== 'undefined') { + // nodeElem.attr('transform', 'translate(' + node.x + ',' + node.y + ')'); + // } db.setElementForId(node.id, nodeElem); return node.height; }; diff --git a/packages/mermaid/src/mermaidAPI.ts b/packages/mermaid/src/mermaidAPI.ts index 30a68ce29..50eb51ec5 100644 --- a/packages/mermaid/src/mermaidAPI.ts +++ b/packages/mermaid/src/mermaidAPI.ts @@ -308,9 +308,9 @@ const render = async function ( svg.insertBefore(style1, firstChild); try { - diag.renderer.draw(text, id, pkg.version, diag); + await diag.renderer.draw(text, id, pkg.version, diag); } catch (e) { - errorRenderer.draw(text, id, pkg.version); + await errorRenderer.draw(text, id, pkg.version); throw e; } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b1bf9e440..ccaaed7a4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -276,12 +276,16 @@ importers: '@braintree/sanitize-url': ^6.0.0 concurrently: ^7.4.0 cytoscape: ^3.23.0 + cytoscape-cose-bilkent: ^4.1.0 + cytoscape-fcose: ^2.1.0 d3: ^7.0.0 non-layered-tidy-tree-layout: ^2.0.2 rimraf: ^3.0.2 dependencies: '@braintree/sanitize-url': 6.0.0 cytoscape: 3.23.0 + cytoscape-cose-bilkent: 4.1.0_cytoscape@3.23.0 + cytoscape-fcose: 2.1.0_cytoscape@3.23.0 d3: 7.6.1 non-layered-tidy-tree-layout: 2.0.2 devDependencies: @@ -4712,6 +4716,18 @@ packages: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} dev: true + /cose-base/1.0.3: + resolution: {integrity: sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==} + dependencies: + layout-base: 1.0.2 + dev: false + + /cose-base/2.1.0: + resolution: {integrity: sha512-HTMm07dhxq1dIPGWwpiVrIk9n+DH7KYmqWA786mLe8jDS+1ZjGtJGIIsJVKoseZXS6/FxiUWCJ2B7XzqUCuhPw==} + dependencies: + layout-base: 2.0.1 + dev: false + /cosmiconfig-typescript-loader/4.1.0_3owiowz3ujipd4k6pbqn3n7oui: resolution: {integrity: sha512-HbWIuR5O+XO5Oj9SZ5bzgrD4nN+rfhrm2PMb0FVx+t+XIvC45n8F0oTNnztXtspWGw0i2IzHaUWFD5LzV1JB4A==} engines: {node: '>=12', npm: '>=6'} @@ -4881,6 +4897,24 @@ packages: yauzl: 2.10.0 dev: true + /cytoscape-cose-bilkent/4.1.0_cytoscape@3.23.0: + resolution: {integrity: sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==} + peerDependencies: + cytoscape: ^3.2.0 + dependencies: + cose-base: 1.0.3 + cytoscape: 3.23.0 + dev: false + + /cytoscape-fcose/2.1.0_cytoscape@3.23.0: + resolution: {integrity: sha512-Q3apPl66jf8/2sMsrCjNP247nbDkyIPjA9g5iPMMWNLZgP3/mn9aryF7EFY/oRPEpv7bKJ4jYmCoU5r5/qAc1Q==} + peerDependencies: + cytoscape: ^3.2.0 + dependencies: + cose-base: 2.1.0 + cytoscape: 3.23.0 + dev: false + /cytoscape/3.23.0: resolution: {integrity: sha512-gRZqJj/1kiAVPkrVFvz/GccxsXhF3Qwpptl32gKKypO4IlqnKBjTOu+HbXtEggSGzC5KCaHp3/F7GgENrtsFkA==} engines: {node: '>=0.10'} @@ -8587,6 +8621,14 @@ packages: engines: {node: '>=12'} dev: true + /layout-base/1.0.2: + resolution: {integrity: sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==} + dev: false + + /layout-base/2.0.1: + resolution: {integrity: sha512-dp3s92+uNI1hWIpPGH3jK2kxE2lMjdXdr+DH8ynZHpd6PUlH6x6cbuXnoMmiNumznqaNO31xu9e79F0uuZ0JFg==} + dev: false + /lazy-ass/1.6.0: resolution: {integrity: sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==} engines: {node: '> 0.8'} From 0a2804c6415d00bf1ff9acfab6354542c65722b6 Mon Sep 17 00:00:00 2001 From: Knut Sveidqvist <knsv@sveido.com> Date: Mon, 3 Oct 2022 11:08:55 +0200 Subject: [PATCH 16/33] Mindmap cleanup --- cypress/platform/knsv2.html | 3 +- packages/mermaid-mindmap/src/add-diagram.ts | 6 - packages/mermaid-mindmap/src/mindmapDb.js | 20 +- .../mermaid-mindmap/src/mindmapRenderer.js | 105 +------ .../src/mindmapRendererTidyTree.js | 269 ------------------ packages/mermaid-mindmap/src/registry.ts | 7 - 6 files changed, 15 insertions(+), 395 deletions(-) delete mode 100644 packages/mermaid-mindmap/src/mindmapRendererTidyTree.js diff --git a/cypress/platform/knsv2.html b/cypress/platform/knsv2.html index 0e94cc0db..9ee0ffcbe 100644 --- a/cypress/platform/knsv2.html +++ b/cypress/platform/knsv2.html @@ -69,10 +69,9 @@ mindmap ::icon(mdi mdi-fire) gc7((grand<br/>grand<br/>child 8)) </pre> - <div id="cy"></div> + <!-- <div id="cy"></div> --> <script src="http://localhost:9000/packages/mermaid-mindmap/dist/mermaid-mindmap-detector.js"></script> <!-- <script src="./mermaid-example-diagram-detector.js"></script> --> - <!-- <script src="http://localhost:9000/packages/mermaid-mindmap/dist/mermaid-example-diagram-detector.js"></script> --> <script src="./mermaid.js"></script> <script> mermaid.parseError = function (err, hash) { diff --git a/packages/mermaid-mindmap/src/add-diagram.ts b/packages/mermaid-mindmap/src/add-diagram.ts index 1fe950b14..873d55232 100644 --- a/packages/mermaid-mindmap/src/add-diagram.ts +++ b/packages/mermaid-mindmap/src/add-diagram.ts @@ -5,12 +5,6 @@ import mindmapRenderer from './mindmapRenderer'; import mindmapStyles from './styles'; import { injectUtils } from './mermaidUtils'; -// const getBaseFolder = (path: string) => { -// const parts = path.split('/'); -// parts.pop(); -// return parts.join('/'); -// }; - window.mermaid.connectDiagram( 'mindmap', { diff --git a/packages/mermaid-mindmap/src/mindmapDb.js b/packages/mermaid-mindmap/src/mindmapDb.js index cbe4d0286..2ae98c223 100644 --- a/packages/mermaid-mindmap/src/mindmapDb.js +++ b/packages/mermaid-mindmap/src/mindmapDb.js @@ -132,11 +132,7 @@ export const type2Str = (type) => { } }; -export let parseError; // = (str, hash) -// => { -// const error = { str, hash }; -// throw error; -// }; +export let parseError; export const setErrorHandler = (handler) => { parseError = handler; }; @@ -146,17 +142,3 @@ export const getLogger = () => log; export const getNodeById = (id) => nodes[id]; export const getElementById = (id) => elements[id]; -// export default { -// // getMindmap, -// // addNode, -// // clear, -// // nodeType, -// // getType, -// // decorateNode, -// // setElementForId, -// getElementById: (id) => elements[id], -// // getNodeById: (id) => nodes.find((node) => node.id === id), -// getNodeById: (id) => nodes[id], -// // type2Str, -// // parseError -// }; diff --git a/packages/mermaid-mindmap/src/mindmapRenderer.js b/packages/mermaid-mindmap/src/mindmapRenderer.js index d4bc86e38..acbb35048 100644 --- a/packages/mermaid-mindmap/src/mindmapRenderer.js +++ b/packages/mermaid-mindmap/src/mindmapRenderer.js @@ -2,14 +2,11 @@ import { select } from 'd3'; import { log, getConfig, setupGraphViewbox } from './mermaidUtils'; import svgDraw from './svgDraw'; -import { BoundingBox, Layout } from 'non-layered-tidy-tree-layout'; import cytoscape from 'cytoscape'; import coseBilkent from 'cytoscape-cose-bilkent'; -import fcose from 'cytoscape-fcose'; -import clone from 'fast-clone'; import * as db from './mindmapDb'; -cytoscape.use(fcose); +// Inject the layout algorithm into cytoscape cytoscape.use(coseBilkent); /** @@ -35,38 +32,15 @@ function drawNodes(svg, mindmap, section, conf) { * @param section * @param edgesEl * @param cy - * @param conf */ -// edgesElem, cy, conf -function drawEdges(edgesEl, cy, conf) { +function drawEdges(edgesEl, cy) { cy.edges().map((edge, id) => { const data = edge.data(); if (edge[0]._private.bodyBounds) { const bounds = edge[0]._private.rscratch; - log.info( - id, - // 'x:', - // edge.controlPoints(), - // 'y:', - // edge[0]._private.rscratch - // 'w:', - // edge.boundingbox().w, - // 'h:', - // edge.boundingbox().h, - // edge.midPoint() - data - ); - // data.el.attr('transform', `translate(${node.position().x}, ${node.position().y})`); - // edgesEl - // .insert('line') - // .attr('x1', bounds.startX) - // .attr('y1', bounds.startY) - // .attr('x2', bounds.endX) - // .attr('y2', bounds.endY) - // .attr('class', 'path'); + log.trace('Edge: ', id, data); edgesEl .insert('path') - // Todo use regular line function .attr( 'd', `M ${bounds.startX},${bounds.startY} L ${bounds.midX},${bounds.midY} L${bounds.endX},${bounds.endY} ` @@ -76,19 +50,6 @@ function drawEdges(edgesEl, cy, conf) { }); } -/** - * @param mindmap - * @param callback - */ -function eachNode(mindmap, callback) { - callback(mindmap); - if (mindmap.children) { - mindmap.children.forEach((child) => { - eachNode(child, callback); - }); - } -} - /** * @param {any} svg The svg element to draw the diagram onto * @param {object} mindmap The maindmap data and hierarchy @@ -98,7 +59,7 @@ function eachNode(mindmap, callback) { * @param level */ function addNodes(mindmap, cy, conf, level) { - const node = cy.add({ + cy.add({ group: 'nodes', data: { id: mindmap.id, @@ -116,9 +77,9 @@ function addNodes(mindmap, cy, conf, level) { }, }); if (mindmap.children) { - mindmap.children.forEach((child, index) => { + mindmap.children.forEach((child) => { addNodes(child, cy, conf, level + 1); - const edge = cy.add({ + cy.add({ group: 'edges', data: { id: `${mindmap.id}_${child.id}`, @@ -139,85 +100,45 @@ function addNodes(mindmap, cy, conf, level) { */ function layoutMindmap(node, conf) { return new Promise((resolve) => { - // BoundingBox(gap, bottomPadding) - // const bb = new BoundingBox(10, 10); - // const layout = new Layout(bb); - // // const layout = new HorizontalLayout(bb); if (node.children.length === 0) { return node; } + // Add temporary render element + const renderEl = select('body').append('div').attr('id', 'cy').attr('style', 'display:none'); const cy = cytoscape({ - // styleEnabled: false, - // animate: false, - // ready: function () { - // log.info('Ready', this); - // }, container: document.getElementById('cy'), // container to render in - style: [ - // the stylesheet for the graph - { - selector: 'node', - style: { - 'background-color': '#666', - label: 'data(labelText)', - }, - }, - { selector: 'edge', style: { - width: 3, - 'line-color': '#ccc', - 'target-arrow-color': '#ccc', - 'target-arrow-shape': 'triangle', 'curve-style': 'bezier', - label: 'data(id)', }, }, ], }); + // Remove element after layout + renderEl.remove(); addNodes(node, cy, conf, 0); // Make cytoscape care about the dimensisions of the nodes cy.nodes().forEach(function (n) { n.layoutDimensions = () => { const data = n.data(); - // console.log( - // 'id', - // data.id, - // ' node', - // data.nodeId, - // ' layoutDimensions', - // data.width, - // 'x', - // data.height - // ); return { w: data.width, h: data.height }; }; }); - // // Merge the trees into a single tree - // mergeTrees(node, trees); cy.layout({ - // name: 'grid', - // name: 'circle', - // name: 'cose', - // name: 'fcose', name: 'cose-bilkent', quality: 'proof', - // randomize: false, - // seed: 2, - // name: 'breadthfirst', // headless: true, styleEnabled: false, animate: false, }).run(); cy.ready((e) => { log.info('Ready', e); - - resolve({ positionedMindmap: node, cy }); + resolve(cy); }); }); } @@ -227,7 +148,7 @@ function layoutMindmap(node, conf) { * @param positionedMindmap * @param conf */ -function positionNodes(cy, conf) { +function positionNodes(cy) { cy.nodes().map((node, id) => { const data = node.data(); data.x = node.position().x; @@ -290,7 +211,7 @@ export const draw = async (text, id, version, diagObj) => { // Next step is to layout the mindmap, giving each node a position - const { positionedMindmap, cy } = await layoutMindmap(mm, conf); + const cy = await layoutMindmap(mm, conf); // // After this we can draw, first the edges and the then nodes with the correct position drawEdges(edgesElem, cy, conf); diff --git a/packages/mermaid-mindmap/src/mindmapRendererTidyTree.js b/packages/mermaid-mindmap/src/mindmapRendererTidyTree.js deleted file mode 100644 index aab12a157..000000000 --- a/packages/mermaid-mindmap/src/mindmapRendererTidyTree.js +++ /dev/null @@ -1,269 +0,0 @@ -/** Created by knut on 14-12-11. */ -import { select } from 'd3'; -import { log, getConfig, setupGraphViewbox } from './mermaidUtils'; -import svgDraw from './svgDraw'; -import { BoundingBox, Layout } from 'non-layered-tidy-tree-layout'; -import clone from 'fast-clone'; -import * as db from './mindmapDb'; - -/** - * @param {any} svg The svg element to draw the diagram onto - * @param {object} mindmap The maindmap data and hierarchy - * @param section - * @param {object} conf The configuration object - */ -function drawNodes(svg, mindmap, section, conf) { - svgDraw.drawNode(svg, mindmap, section, conf); - if (mindmap.children) { - mindmap.children.forEach((child, index) => { - drawNodes(svg, child, section < 0 ? index : section, conf); - }); - } -} - -/** - * @param edgesElem - * @param mindmap - * @param parent - * @param depth - * @param section - * @param conf - */ -function drawEdges(edgesElem, mindmap, parent, depth, section, conf) { - if (parent) { - svgDraw.drawEdge(edgesElem, mindmap, parent, depth, section, conf); - } - if (mindmap.children) { - mindmap.children.forEach((child, index) => { - drawEdges(edgesElem, child, mindmap, depth + 1, section < 0 ? index : section, conf); - }); - } -} - -/** - * @param mindmap - * @param callback - */ -function eachNode(mindmap, callback) { - callback(mindmap); - if (mindmap.children) { - mindmap.children.forEach((child) => { - eachNode(child, callback); - }); - } -} -/** @param {object} mindmap */ -function transpose(mindmap) { - eachNode(mindmap, (node) => { - const orgWidth = node.width; - const orgX = node.x; - node.width = node.height; - node.height = orgWidth; - node.x = node.y; - node.y = orgX; - }); - return mindmap; -} -/** @param {object} mindmap */ -function bottomToUp(mindmap) { - log.debug('bottomToUp', mindmap); - eachNode(mindmap.result, (node) => { - // node.y = node.y - (node.y - bb.top) * 2 - node.height; - node.y = node.y - (node.y - 0) * 2 - node.height; - }); - return mindmap; -} -/** @param {object} mindmap The mindmap hierarchy */ -function rightToLeft(mindmap) { - eachNode(mindmap.result, (node) => { - // node.y = node.y - (node.y - bb.top) * 2 - node.height; - node.x = node.x - (node.x - 0) * 2 - node.width; - }); - return mindmap; -} - -/** - * @param mindmap - * @param dir - */ -function layout(mindmap, dir) { - const bb = new BoundingBox(30, 60); - - const layout = new Layout(bb); - switch (dir) { - case 'TB': - return layout.layout(mindmap); - case 'BT': - return bottomToUp(layout.layout(mindmap)); - case 'RL': { - transpose(mindmap); - let newRes = layout.layout(mindmap); - transpose(newRes.result); - return rightToLeft(newRes); - } - case 'LR': { - transpose(mindmap); - let newRes = layout.layout(mindmap); - transpose(newRes.result); - return newRes; - } - default: - } -} -const dirFromIndex = (index) => { - const dirNum = (index + 2) % 4; - switch (dirNum) { - case 0: - return 'LR'; - case 1: - return 'RL'; - case 2: - return 'TB'; - case 3: - return 'BT'; - default: - return 'TB'; - } -}; - -const mergeTrees = (node, trees) => { - node.x = trees[0].result.x; - node.y = trees[0].result.y; - trees.forEach((tree) => { - tree.result.children.forEach((child) => { - const dx = node.x - tree.result.x; - const dy = node.y - tree.result.y; - eachNode(child, (childNode) => { - const orgNode = db.getNodeById(childNode.id); - if (orgNode) { - orgNode.x = childNode.x + dx; - orgNode.y = childNode.y + dy; - } - }); - }); - }); - return node; -}; - -/** - * @param node - * @param conf - */ -function layoutMindmap(node, conf) { - // BoundingBox(gap, bottomPadding) - // const bb = new BoundingBox(10, 10); - // const layout = new Layout(bb); - // // const layout = new HorizontalLayout(bb); - if (node.children.length === 0) { - return node; - } - const trees = []; - // node.children.forEach((child, index) => { - // const tree = clone(node); - // tree.children = [tree.children[index]]; - // trees.push(layout(tree, dirFromIndex(index), conf)); - // }); - - let cnt = 0; - // For each direction, create a new tree with the same root, and add a ubset of the children to it. - for (let i = 0; i < 4; i++) { - // Calculate the number of the children of the root node that will be used in this direction - const numChildren = - Math.floor(node.children.length / 4) + (node.children.length % 4 > i ? 1 : 0); - // Copy the original root node - const tree = clone(node); - // Setup the new copy with the children to be rendered in this direction - tree.children = []; - for (let j = 0; j < numChildren; j++) { - tree.children.push(node.children[cnt]); - cnt++; - } - if (tree.children.length > 0) { - trees.push(layout(tree, dirFromIndex(i), conf)); - } - } - // Let each node know the direct of its tree for when we draw the branches. - trees.forEach((tree, index) => { - tree.result.direction = dirFromIndex(index); - eachNode(tree.result, (node) => { - node.direction = dirFromIndex(index); - }); - }); - - // Merge the trees into a single tree - mergeTrees(node, trees); - return node; -} -/** - * @param node - * @param conf - */ -function positionNodes(node, conf) { - svgDraw.positionNode(node, conf); - if (node.children) { - node.children.forEach((child) => { - positionNodes(child, conf); - }); - } -} - -/** - * Draws a an info picture in the tag with id: id based on the graph definition in text. - * - * @param {any} text - * @param {any} id - * @param {any} version - * @param diagObj - */ - -export const draw = (text, id, version, diagObj) => { - const conf = getConfig(); - - // This is done only for throwing the error if the text is not valid. - diagObj.db.clear(); - // Parse the graph definition - diagObj.parser.parse(text); - - log.debug('Renering info diagram\n' + text); - - const securityLevel = getConfig().securityLevel; - // Handle root and Document for when rendering in sanbox mode - let sandboxElement; - if (securityLevel === 'sandbox') { - sandboxElement = select('#i' + id); - } - const root = - securityLevel === 'sandbox' - ? select(sandboxElement.nodes()[0].contentDocument.body) - : select('body'); - // Parse the graph definition - - const svg = root.select('#' + id); - - svg.append('g'); - const mm = diagObj.db.getMindmap(); - - // Draw the graph and start with drawing the nodes without proper position - // this gives us the size of the nodes and we can set the positions later - - const edgesElem = svg.append('g'); - edgesElem.attr('class', 'mindmap-edges'); - const nodesElem = svg.append('g'); - nodesElem.attr('class', 'mindmap-nodes'); - drawNodes(nodesElem, mm, -1, conf); - - // Next step is to layout the mindmap, giving each node a position - - const positionedMindmap = layoutMindmap(mm, conf); - - // After this we can draw, first the edges and the then nodes with the correct position - drawEdges(edgesElem, positionedMindmap, null, 0, -1, conf); - positionNodes(positionedMindmap, conf); - - // Setup the view box and size of the svg element - setupGraphViewbox(undefined, svg, conf.mindmap.padding, conf.mindmap.useMaxWidth); -}; - -export default { - draw, -}; diff --git a/packages/mermaid-mindmap/src/registry.ts b/packages/mermaid-mindmap/src/registry.ts index cde928ee9..e70967ba6 100644 --- a/packages/mermaid-mindmap/src/registry.ts +++ b/packages/mermaid-mindmap/src/registry.ts @@ -1,24 +1,17 @@ // @ts-ignore: TODO Fix ts errors import { mindmapDetector } from './mindmapDetector'; -// const getBaseFolder = () => { const scriptElement = document.currentScript as HTMLScriptElement; const path = scriptElement.src; const lastSlash = path.lastIndexOf('/'); const baseFolder = lastSlash < 0 ? path : path.substring(0, lastSlash + 1); -// }; - -// console.log('Current script', getBaseFolder(scriptElement !== null ? scriptElement.src : '')); // eslint-disable-line no-console - if (typeof document !== 'undefined') { if (window.mermaid && typeof window.mermaid.detectors === 'object') { window.mermaid.detectors.push({ id: 'mindmap', detector: mindmapDetector }); } else { - // console.error('window.mermaid.detectors was not found!'); // eslint-disable-line no-console window.mermaid = {}; window.mermaid.detectors = [{ id: 'mindmap', detector: mindmapDetector }]; - // console.error('Detectors now:', window.mermaid.detectors); // eslint-disable-line no-console } /*! From 05a594a49213436e7ec28da79fd95feb86547a19 Mon Sep 17 00:00:00 2001 From: Knut Sveidqvist <knsv@sveido.com> Date: Mon, 3 Oct 2022 11:22:06 +0200 Subject: [PATCH 17/33] Fix for broken test --- packages/mermaid-example-diagram/src/exampleDiagram.spec.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/mermaid-example-diagram/src/exampleDiagram.spec.js b/packages/mermaid-example-diagram/src/exampleDiagram.spec.js index 6e231e22d..db539aac0 100644 --- a/packages/mermaid-example-diagram/src/exampleDiagram.spec.js +++ b/packages/mermaid-example-diagram/src/exampleDiagram.spec.js @@ -7,8 +7,8 @@ describe('when parsing an info graph it', function () { ex.yy = db; }); - it('should handle an info definition', function () { - let str = `info + it('should handle an example-diagram definition', function () { + let str = `example-diagram showInfo`; ex.parse(str); From 8ee321fd7ba612c2bff2a8afed659ab1908b4ae4 Mon Sep 17 00:00:00 2001 From: Knut Sveidqvist <knsv@sveido.com> Date: Mon, 3 Oct 2022 14:51:13 +0200 Subject: [PATCH 18/33] #3561 Adding cScale0-11 etc and usage of the colors from the mindmap diagram --- cypress/platform/knsv2.html | 21 +++++- .../src/exampleDiagramRenderer.js | 42 ++++++++--- .../src/mermaidUtils.ts | 1 - .../mermaid-example-diagram/src/styles.js | 28 +++++++- packages/mermaid-mindmap/src/styles.js | 14 ++-- packages/mermaid-mindmap/src/svgDraw.js | 10 ++- packages/mermaid/src/themes/theme-base.js | 46 +++++++++++++ packages/mermaid/src/themes/theme-dark.js | 63 +++++++++++++---- packages/mermaid/src/themes/theme-default.js | 36 +++++++++- packages/mermaid/src/themes/theme-forest.js | 34 +++++++++ packages/mermaid/src/themes/theme-neutral.js | 69 ++++++++++++------- 11 files changed, 300 insertions(+), 64 deletions(-) diff --git a/cypress/platform/knsv2.html b/cypress/platform/knsv2.html index 9ee0ffcbe..143e12087 100644 --- a/cypress/platform/knsv2.html +++ b/cypress/platform/knsv2.html @@ -29,6 +29,12 @@ } .mermaid svg { /* font-size: 18px !important; */ + background-color: #eee; + background-image: radial-gradient(#fff 1%, transparent 11%), + radial-gradient(#fff 1%, transparent 11%); + background-size: 20px 20px; + background-position: 0 0, 10px 10px; + background-repeat: repeat; } .malware { position: fixed; @@ -56,6 +62,16 @@ example-diagram <pre id="diagram" class="mermaid"> mindmap root + A + B + C + D + E + A2 + B2 + C2 + D2 + E2 child1((Circle)) grandchild 1 grandchild 2 @@ -71,17 +87,18 @@ mindmap </pre> <!-- <div id="cy"></div> --> <script src="http://localhost:9000/packages/mermaid-mindmap/dist/mermaid-mindmap-detector.js"></script> - <!-- <script src="./mermaid-example-diagram-detector.js"></script> --> + <script src="./mermaid-example-diagram-detector.js"></script> <script src="./mermaid.js"></script> <script> mermaid.parseError = function (err, hash) { // console.error('Mermaid error: ', err); }; mermaid.initialize({ + theme: 'forest', startOnLoad: true, logLevel: 0, basePath: './packages/', - // themeVariables: {relationLabelColor: 'red'} + // themeVariables: { darkMode: true }, }); function callback() { alert('It worked'); diff --git a/packages/mermaid-example-diagram/src/exampleDiagramRenderer.js b/packages/mermaid-example-diagram/src/exampleDiagramRenderer.js index 1bb7a9de9..4eaf49d5c 100644 --- a/packages/mermaid-example-diagram/src/exampleDiagramRenderer.js +++ b/packages/mermaid-example-diagram/src/exampleDiagramRenderer.js @@ -1,6 +1,6 @@ /** Created by knut on 14-12-11. */ import { select } from 'd3'; -import { log, getConfig } from './mermaidUtils'; +import { log, getConfig, setupGraphViewbox } from './mermaidUtils'; /** * Draws a an info picture in the tag with id: id based on the graph definition in text. @@ -10,10 +10,11 @@ import { log, getConfig } from './mermaidUtils'; * @param {any} version * @param diagObj */ -export const draw = (text, id, version, diagObj) => { +export const draw = (text, id, version) => { try { - log.debug('Rendering info diagram\n' + text); - + const conf = getConfig(); + log.debug('Rendering example diagram\n' + text, 'Conf: '); + const THEME_COLOR_LIMIT = getConfig().themeVariables.THEME_COLOR_LIMIT; const securityLevel = getConfig().securityLevel; // Handle root and Document for when rendering in sanbox mode let sandboxElement; @@ -25,14 +26,34 @@ export const draw = (text, id, version, diagObj) => { ? select(sandboxElement.nodes()[0].contentDocument.body) : select('body'); - // Parse the graph definition - // parser.parse(text); - // log.debug('Parsed info diagram'); - // Fetch the default direction, use TD if none was found const svg = root.select('#' + id); const g = svg.append('g'); + let i; + for (i = 0; i < THEME_COLOR_LIMIT; i++) { + const section = g.append('g').attr('class', 'section-' + i); + section + .append('rect') + .attr('x', (i % 5) * 110) + .attr('y', Math.floor(i / 5) * 90 + 60) + .attr('width', 100) + .attr('height', 60); + section + .append('rect') + .attr('x', (i % 5) * 110) + .attr('y', Math.floor(i / 5) * 90 + 120) + .attr('class', 'inverted') + .attr('width', 100) + .attr('height', 20); + section + .append('text', 'section-' + i) + .text('Section ' + i) + .attr('x', (i % 5) * 110 + 15) + .attr('y', Math.floor(i / 5) * 90 + 95) + .attr('class', 'section-text-' + i); + } + g.append('text') // text label for the x axis .attr('x', 100) .attr('y', 40) @@ -41,9 +62,8 @@ export const draw = (text, id, version, diagObj) => { .style('text-anchor', 'middle') .text('v ' + version); - svg.attr('height', 100); - svg.attr('width', 400); - // svg.attr('viewBox', '0 0 300 150'); + // Setup the view box and size of the svg element + setupGraphViewbox(undefined, svg, conf.mindmap.padding, conf.mindmap.useMaxWidth); } catch (e) { log.error('Error while rendering info diagram'); log.error(e.message); diff --git a/packages/mermaid-example-diagram/src/mermaidUtils.ts b/packages/mermaid-example-diagram/src/mermaidUtils.ts index 7d8a459e6..03de59ef9 100644 --- a/packages/mermaid-example-diagram/src/mermaidUtils.ts +++ b/packages/mermaid-example-diagram/src/mermaidUtils.ts @@ -19,7 +19,6 @@ export const log: Record<keyof typeof LEVELS, typeof console.log> = { error: warning, fatal: warning, }; - export let setLogLevel: (level: keyof typeof LEVELS | number | string) => void; export let getConfig: () => object; export let sanitizeText: (str: string) => string; diff --git a/packages/mermaid-example-diagram/src/styles.js b/packages/mermaid-example-diagram/src/styles.js index 0b0729813..9ebb77ee5 100644 --- a/packages/mermaid-example-diagram/src/styles.js +++ b/packages/mermaid-example-diagram/src/styles.js @@ -1,3 +1,29 @@ -const getStyles = () => ``; +import { darken, lighten, isDark } from 'khroma'; +const genSections = (options) => { + let sections = ''; + + for (let i = 0; i < options.THEME_COLOR_LIMIT; i++) { + sections += ` + .section-${i} rect { + fill: ${options['cScale' + i]}; + stroke: ${options['cScalePeer' + i]}; + stroke-width: 4; + } + .section-${i} rect.inverted { + fill: ${options['cScaleInv' + i]}; + } + .section-${i} text { + fill: ${options['cScaleLabel' + i]}; + } + + `; + } + return sections; +}; + +const getStyles = (options) => + ` + ${genSections(options)} +`; export default getStyles; diff --git a/packages/mermaid-mindmap/src/styles.js b/packages/mermaid-mindmap/src/styles.js index f6afaa612..95674e8f8 100644 --- a/packages/mermaid-mindmap/src/styles.js +++ b/packages/mermaid-mindmap/src/styles.js @@ -3,8 +3,8 @@ import { darken, lighten, isDark } from 'khroma'; const genSections = (options) => { let sections = ''; - for (let i = 0; i < 8; i++) { - options['lineColor' + i] = options['lineColor' + i] || options['gitInv' + i]; + for (let i = 0; i < options.THEME_COLOR_LIMIT; i++) { + options['lineColor' + i] = options['lineColor' + i] || options['cScaleInv' + i]; if (isDark(options['lineColor' + i])) { options['lineColor' + i] = lighten(options['lineColor' + i], 20); } else { @@ -12,25 +12,25 @@ const genSections = (options) => { } } - for (let i = 0; i < 8; i++) { + for (let i = 0; i < options.THEME_COLOR_LIMIT; i++) { const sw = '' + (17 - 3 * i); sections += ` .section-${i - 1} rect, .section-${i - 1} path, .section-${i - 1} circle, .section-${ i - 1 } path { - fill: ${options['git' + i]}; + fill: ${options['cScale' + i]}; } .section-${i - 1} text { - fill: ${options['gitBranchLabel' + i]}; + fill: ${options['cScaleLabel' + i]}; // fill: ${options['gitInv' + i]}; } .node-icon-${i - 1} { font-size: 40px; - color: ${options['gitBranchLabel' + i]}; + color: ${options['cScaleLabel' + i]}; // color: ${options['gitInv' + i]}; } .section-edge-${i - 1}{ - stroke: ${options['git' + i]}; + stroke: ${options['cScale' + i]}; } .edge-depth-${i - 1}{ stroke-width: ${sw}; diff --git a/packages/mermaid-mindmap/src/svgDraw.js b/packages/mermaid-mindmap/src/svgDraw.js index 93a9ed4a7..1246b1cb9 100644 --- a/packages/mermaid-mindmap/src/svgDraw.js +++ b/packages/mermaid-mindmap/src/svgDraw.js @@ -1,5 +1,6 @@ import { select } from 'd3'; import * as db from './mindmapDb'; +const MAX_SECTIONS = 12; /** * @param {string} text The text to be wrapped @@ -159,17 +160,19 @@ const roundedRectBkg = function (elem, node) { * @param {object} elem The D3 dom element in which the node is to be added * @param {object} node The node to be added * @param section + * @param fullSection * @param {object} conf The configuration object * @returns {number} The height nodes dom element */ -export const drawNode = function (elem, node, section, conf) { +export const drawNode = function (elem, node, fullSection, conf) { + const section = (fullSection % MAX_SECTIONS) - 1; const nodeElem = elem.append('g'); node.section = section; nodeElem.attr( 'class', (node.class ? node.class + ' ' : '') + 'mindmap-node ' + - (section === -1 ? 'section-root' : 'section-' + section) + (section < 0 ? 'section-root' : 'section-' + section) ); const bkgElem = nodeElem.append('g'); @@ -260,7 +263,8 @@ export const drawNode = function (elem, node, section, conf) { return node.height; }; -export const drawEdge = function drawEdge(edgesElem, mindmap, parent, depth, section) { +export const drawEdge = function drawEdge(edgesElem, mindmap, parent, depth, fullSection) { + const section = (fullSection % MAX_SECTIONS) - 1; const sx = parent.x + parent.width / 2; const sy = parent.y + parent.height / 2; const ex = mindmap.x + mindmap.width / 2; diff --git a/packages/mermaid/src/themes/theme-base.js b/packages/mermaid/src/themes/theme-base.js index 86338c13c..0172df81b 100644 --- a/packages/mermaid/src/themes/theme-base.js +++ b/packages/mermaid/src/themes/theme-base.js @@ -20,6 +20,8 @@ class Theme { this.noteBkgColor = '#fff5ad'; this.noteTextColor = '#333'; + this.THEME_COLOR_LIMIT = 12; + // dark this.fontFamily = '"trebuchet ms", verdana, arial, sans-serif'; @@ -123,6 +125,50 @@ class Theme { this.transitionColor = this.transitionColor || this.lineColor; this.specialStateColor = this.lineColor; + /* Color Scale */ + /* Each color-set will have a background, a forgroupnd and a border color */ + this.cScale0 = this.cScale0 || this.primaryColor; + this.cScale1 = this.cScale1 || this.secondaryColor; + this.cScale2 = this.cScale2 || this.tertiaryColor; + this.cScale3 = this.cScale3 || adjust(this.primaryColor, { h: 30 }); + this.cScale4 = this.cScale4 || adjust(this.primaryColor, { h: 60 }); + this.cScale5 = this.cScale5 || adjust(this.primaryColor, { h: 90 }); + this.cScale6 = this.cScale6 || adjust(this.primaryColor, { h: 120 }); + this.cScale7 = this.cScale7 || adjust(this.primaryColor, { h: 150 }); + this.cScale8 = this.cScale8 || adjust(this.primaryColor, { h: 210, l: 150 }); + this.cScale9 = this.cScale9 || adjust(this.primaryColor, { h: 270 }); + this.cScale10 = this.cScale10 || adjust(this.primaryColor, { h: 300 }); + this.cScale11 = this.cScale11 || adjust(this.primaryColor, { h: 330 }); + if (this.darkMode) { + for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) { + this['cScale' + i] = darken(this['cScale' + i], 75); + } + } else { + for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) { + this['cScale' + i] = darken(this['cScale' + i], 25); + } + } + + // Setup the inverted color for the set + for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) { + this['cScaleInv' + i] = this['cScaleInv' + i] || invert(this['cScale' + i]); + } + // Setup the peer color for the set, useful for borders + for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) { + if (this.darkMode) { + this['cScalePeer' + i] = this['cScalePeer' + i] || lighten(this['cScale' + i], 10); + } else { + this['cScalePeer' + i] = this['cScalePeer' + i] || darken(this['cScale' + i], 10); + } + } + + // Setup teh label color for the set + this.scaleLabelColor = this.scaleLabelColor || this.labelTextColor; + + for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) { + this['cScaleLabel' + i] = this['cScaleLabel' + i] || this.scaleLabelColor; + } + /* class */ this.classText = this.classText || this.textColor; diff --git a/packages/mermaid/src/themes/theme-dark.js b/packages/mermaid/src/themes/theme-dark.js index d0ea1269e..707c342ef 100644 --- a/packages/mermaid/src/themes/theme-dark.js +++ b/packages/mermaid/src/themes/theme-dark.js @@ -29,6 +29,7 @@ class Theme { this.fontSize = '16px'; this.labelBackground = '#181818'; this.textColor = '#ccc'; + this.THEME_COLOR_LIMIT = 12; /* Flowchart variables */ this.nodeBkg = 'calculated'; @@ -157,19 +158,55 @@ class Theme { this.fillType6 = adjust(this.primaryColor, { h: 128 }); this.fillType7 = adjust(this.secondaryColor, { h: 128 }); - /* pie */ - this.pie1 = this.pie1 || '#0b0000'; - this.pie2 = this.pie2 || '#4d1037'; - this.pie3 = this.pie3 || '#3f5258'; - this.pie4 = this.pie4 || '#4f2f1b'; - this.pie5 = this.pie5 || '#6e0a0a'; - this.pie6 = this.pie6 || '#3b0048'; - this.pie7 = this.pie7 || '#995a01'; - this.pie8 = this.pie8 || '#154706'; - this.pie9 = this.pie9 || '#161722'; - this.pie10 = this.pie10 || '#00296f'; - this.pie11 = this.pie11 || '#01629c'; - this.pie12 = this.pie12 || '#010029'; + /* cScale */ + this.cScale1 = this.cScale1 || '#0b0000'; + this.cScale2 = this.cScale2 || '#4d1037'; + this.cScale3 = this.cScale3 || '#3f5258'; + this.cScale4 = this.cScale4 || '#4f2f1b'; + this.cScale5 = this.cScale5 || '#6e0a0a'; + this.cScale6 = this.cScale6 || '#3b0048'; + this.cScale7 = this.cScale7 || '#995a01'; + this.cScale8 = this.cScale8 || '#154706'; + this.cScale9 = this.cScale9 || '#161722'; + this.cScale10 = this.cScale10 || '#00296f'; + this.cScale11 = this.cScale11 || '#01629c'; + this.cScale12 = this.cScale12 || '#010029'; + + /* Color Scale */ + /* Each color-set will have a background, a forgroupnd and a border color */ + this.cScale0 = this.cScale0 || this.primaryColor; + this.cScale1 = this.cScale1 || this.secondaryColor; + this.cScale2 = this.cScale2 || this.tertiaryColor; + this.cScale3 = this.cScale3 || adjust(this.primaryColor, { h: 30 }); + this.cScale4 = this.cScale4 || adjust(this.primaryColor, { h: 60 }); + this.cScale5 = this.cScale5 || adjust(this.primaryColor, { h: 90 }); + this.cScale6 = this.cScale6 || adjust(this.primaryColor, { h: 120 }); + this.cScale7 = this.cScale7 || adjust(this.primaryColor, { h: 150 }); + this.cScale8 = this.cScale8 || adjust(this.primaryColor, { h: 210 }); + this.cScale9 = this.cScale9 || adjust(this.primaryColor, { h: 270 }); + this.cScale10 = this.cScale10 || adjust(this.primaryColor, { h: 300 }); + this.cScale11 = this.cScale11 || adjust(this.primaryColor, { h: 330 }); + + // Setup the inverted color for the set + for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) { + this['cScaleInv' + i] = this['cScaleInv' + i] || invert(this['cScale' + i]); + } + // Setup the peer color for the set, useful for borders + for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) { + this['cScalePeer' + i] = this['cScalePeer' + i] || lighten(this['cScale' + i], 10); + } + + // Setup teh label color for the set + this.scaleLabelColor = this.scaleLabelColor || (this.darkMode ? 'black' : this.labelTextColor); + + for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) { + this['cScaleLabel' + i] = this['cScaleLabel' + i] || this.scaleLabelColor; + } + + /* Pie diagram */ + for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) { + this['pie' + i] = this['cScale' + i]; + } this.pieTitleTextSize = this.pieTitleTextSize || '25px'; this.pieTitleTextColor = this.pieTitleTextColor || this.taskTextDarkColor; this.pieSectionTextSize = this.pieSectionTextSize || '17px'; diff --git a/packages/mermaid/src/themes/theme-default.js b/packages/mermaid/src/themes/theme-default.js index a8abbfc57..54f0ad8a2 100644 --- a/packages/mermaid/src/themes/theme-default.js +++ b/packages/mermaid/src/themes/theme-default.js @@ -36,6 +36,7 @@ class Theme { this.fontSize = '16px'; this.labelBackground = '#e8e8e8'; this.textColor = '#333'; + this.THEME_COLOR_LIMIT = 12; /* Flowchart variables */ @@ -119,8 +120,41 @@ class Theme { this.updateColors(); } updateColors() { - /* Flowchart variables */ + /* Color Scale */ + /* Each color-set will have a background, a forgroupnd and a border color */ + this.cScale0 = this.cScale0 || this.primaryColor; + this.cScale1 = this.cScale1 || this.secondaryColor; + this.cScale2 = this.cScale2 || this.tertiaryColor; + this.cScale3 = this.cScale3 || adjust(this.primaryColor, { h: 30 }); + this.cScale4 = this.cScale4 || adjust(this.primaryColor, { h: 60 }); + this.cScale5 = this.cScale5 || adjust(this.primaryColor, { h: 90 }); + this.cScale6 = this.cScale6 || adjust(this.primaryColor, { h: 120 }); + this.cScale7 = this.cScale7 || adjust(this.primaryColor, { h: 150 }); + this.cScale8 = this.cScale8 || adjust(this.primaryColor, { h: 210 }); + this.cScale9 = this.cScale9 || adjust(this.primaryColor, { h: 270 }); + this.cScale10 = this.cScale10 || adjust(this.primaryColor, { h: 300 }); + this.cScale11 = this.cScale11 || adjust(this.primaryColor, { h: 330 }); + this['cScalePeer' + 1] = this['cScalePeer' + 1] || darken(this.secondaryColor, 45); + this['cScalePeer' + 2] = this['cScalePeer' + 2] || darken(this.tertiaryColor, 40); + for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) { + // Setup the peer color for the set, useful for borders + this['cScale' + i] = darken(this['cScale' + i], 10); + this['cScalePeer' + i] = this['cScalePeer' + i] || darken(this['cScale' + i], 25); + } + // Setup the inverted color for the set + for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) { + this['cScaleInv' + i] = this['cScaleInv' + i] || adjust(this['cScale' + i], { h: 180 }); + } + + // Setup teh label color for the set + this.scaleLabelColor = this.scaleLabelColor || (this.darkMode ? 'black' : this.labelTextColor); + + for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) { + this['cScaleLabel' + i] = this['cScaleLabel' + i] || this.scaleLabelColor; + } + + /* Flowchart variables */ this.nodeBkg = this.mainBkg; this.nodeBorder = this.border1; // border 1 this.clusterBkg = this.secondBkg; diff --git a/packages/mermaid/src/themes/theme-forest.js b/packages/mermaid/src/themes/theme-forest.js index d02d46e5a..ee086ad10 100644 --- a/packages/mermaid/src/themes/theme-forest.js +++ b/packages/mermaid/src/themes/theme-forest.js @@ -30,6 +30,7 @@ class Theme { this.tertiaryTextColor = invert(this.primaryColor); this.lineColor = invert(this.background); this.textColor = invert(this.background); + this.THEME_COLOR_LIMIT = 12; /* Flowchart variables */ this.nodeBkg = 'calculated'; @@ -93,6 +94,39 @@ class Theme { this.errorTextColor = '#552222'; } updateColors() { + /* Each color-set will have a background, a forgroupnd and a border color */ + this.cScale0 = this.cScale0 || this.primaryColor; + this.cScale1 = this.cScale1 || this.secondaryColor; + this.cScale2 = this.cScale2 || this.tertiaryColor; + this.cScale3 = this.cScale3 || adjust(this.primaryColor, { h: 30 }); + this.cScale4 = this.cScale4 || adjust(this.primaryColor, { h: 60 }); + this.cScale5 = this.cScale5 || adjust(this.primaryColor, { h: 90 }); + this.cScale6 = this.cScale6 || adjust(this.primaryColor, { h: 120 }); + this.cScale7 = this.cScale7 || adjust(this.primaryColor, { h: 150 }); + this.cScale8 = this.cScale8 || adjust(this.primaryColor, { h: 210 }); + this.cScale9 = this.cScale9 || adjust(this.primaryColor, { h: 270 }); + this.cScale10 = this.cScale10 || adjust(this.primaryColor, { h: 300 }); + this.cScale11 = this.cScale11 || adjust(this.primaryColor, { h: 330 }); + this['cScalePeer' + 1] = this['cScalePeer' + 1] || darken(this.secondaryColor, 45); + this['cScalePeer' + 2] = this['cScalePeer' + 2] || darken(this.tertiaryColor, 40); + for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) { + // Setup the peer color for the set, useful for borders + this['cScale' + i] = darken(this['cScale' + i], 10); + this['cScalePeer' + i] = this['cScalePeer' + i] || darken(this['cScale' + i], 25); + } + + // Setup the inverted color for the set + for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) { + this['cScaleInv' + i] = this['cScaleInv' + i] || adjust(this['cScale' + i], { h: 180 }); + } + + // Setup teh label color for the set + this.scaleLabelColor = this.scaleLabelColor || (this.darkMode ? 'black' : this.labelTextColor); + + for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) { + this['cScaleLabel' + i] = this['cScaleLabel' + i] || this.scaleLabelColor; + } + /* Flowchart variables */ this.nodeBkg = this.mainBkg; diff --git a/packages/mermaid/src/themes/theme-neutral.js b/packages/mermaid/src/themes/theme-neutral.js index c4bbf8241..7747a00dd 100644 --- a/packages/mermaid/src/themes/theme-neutral.js +++ b/packages/mermaid/src/themes/theme-neutral.js @@ -41,6 +41,7 @@ class Theme { this.arrowheadColor = '#333333'; this.fontFamily = '"trebuchet ms", verdana, arial, sans-serif'; this.fontSize = '16px'; + this.THEME_COLOR_LIMIT = 12; /* Flowchart variables */ @@ -108,6 +109,44 @@ class Theme { this.secondBkg = lighten(this.contrast, 55); this.border2 = this.contrast; + /* Color Scale */ + /* Each color-set will have a background, a forgroupnd and a border color */ + + this.cScale0 = this.cScale0 || '#555'; + this.cScale1 = this.cScale1 || '#F4F4F4'; + this.cScale2 = this.cScale2 || '#555'; + this.cScale3 = this.cScale3 || '#BBB'; + this.cScale4 = this.cScale4 || '#777'; + this.cScale5 = this.cScale5 || '#999'; + this.cScale6 = this.cScale6 || '#DDD'; + this.cScale7 = this.cScale7 || '#FFF'; + this.cScale8 = this.cScale8 || '#DDD'; + this.cScale9 = this.cScale9 || '#BBB'; + this.cScale10 = this.cScale10 || '#999'; + this.cScale11 = this.cScale11 || '#777'; + + // Setup the inverted color for the set + for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) { + this['cScaleInv' + i] = this['cScaleInv' + i] || invert(this['cScale' + i]); + } + // Setup the peer color for the set, useful for borders + for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) { + if (this.darkMode) { + this['cScalePeer' + i] = this['cScalePeer' + i] || lighten(this['cScale' + i], 10); + } else { + this['cScalePeer' + i] = this['cScalePeer' + i] || darken(this['cScale' + i], 10); + } + } + + // Setup the label color for the set + this.scaleLabelColor = this.scaleLabelColor || (this.darkMode ? 'black' : this.labelTextColor); + + this['cScaleLabel0'] = this['cScaleLabel0'] || this.cScale1; + this['cScaleLabel2'] = this['cScaleLabel2'] || this.cScale1; + for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) { + this['cScaleLabel' + i] = this['cScaleLabel' + i] || this.scaleLabelColor; + } + /* Flowchart variables */ this.nodeBkg = this.mainBkg; @@ -185,18 +224,11 @@ class Theme { this.fillType7 = adjust(this.secondaryColor, { h: 128 }); // /* pie */ - this.pie1 = this.pie1 || '#F4F4F4'; - this.pie2 = this.pie2 || '#555'; - this.pie3 = this.pie3 || '#BBB'; - this.pie4 = this.pie4 || '#777'; - this.pie5 = this.pie5 || '#999'; - this.pie6 = this.pie6 || '#DDD'; - this.pie7 = this.pie7 || '#FFF'; - this.pie8 = this.pie8 || '#DDD'; - this.pie9 = this.pie9 || '#BBB'; - this.pie10 = this.pie10 || '#999'; - this.pie11 = this.pie11 || '#777'; - this.pie12 = this.pie12 || '#555'; + /* Pie diagram */ + for (let i = 0; i < this.THEME_COLOR_LIMIT; i++) { + this['pie' + i] = this['cScale' + i]; + } + this.pie12 = this.pie0; this.pieTitleTextSize = this.pieTitleTextSize || '25px'; this.pieTitleTextColor = this.pieTitleTextColor || this.taskTextDarkColor; this.pieSectionTextSize = this.pieSectionTextSize || '17px'; @@ -207,19 +239,6 @@ class Theme { this.pieStrokeWidth = this.pieStrokeWidth || '2px'; this.pieOpacity = this.pieOpacity || '0.7'; - // this.pie1 = this.pie1 || '#212529'; - // this.pie2 = this.pie2 || '#343A40'; - // this.pie3 = this.pie3 || '#495057'; - // this.pie4 = this.pie4 || '#6C757D'; - // this.pie5 = this.pie5 || adjust(this.secondaryColor, { l: -10 }); - // this.pie6 = this.pie6 || adjust(this.tertiaryColor, { l: -10 }); - // this.pie7 = this.pie7 || adjust(this.primaryColor, { h: +60, l: -10 }); - // this.pie8 = this.pie8 || adjust(this.primaryColor, { h: -60, l: -10 }); - // this.pie9 = this.pie9 || adjust(this.primaryColor, { h: 120, l: 0 }); - // this.pie10 = this.pie10 || adjust(this.primaryColor, { h: +60, l: -20 }); - // this.pie11 = this.pie11 || adjust(this.primaryColor, { h: -60, l: -20 }); - // this.pie12 = this.pie12 || adjust(this.primaryColor, { h: 120, l: -10 }); - /* requirement-diagram */ this.requirementBackground = this.requirementBackground || this.primaryColor; this.requirementBorderColor = this.requirementBorderColor || this.primaryBorderColor; From 40a319fc5badba021bf116e5b711f9a18881b899 Mon Sep 17 00:00:00 2001 From: Emerson Bottero <emersonbottero@gmail.com> Date: Mon, 3 Oct 2022 12:11:00 -0300 Subject: [PATCH 19/33] Fix postbuild script --- package.json | 4 ++-- yarn.lock | 50 ++++++++++++++++++++++---------------------------- 2 files changed, 24 insertions(+), 30 deletions(-) diff --git a/package.json b/package.json index 5cb67bb97..7d3c713bc 100644 --- a/package.json +++ b/package.json @@ -36,7 +36,7 @@ "vdocs:dev": "vitepress dev vdocs", "vdocs:build": "vitepress build vdocs", "vdocs:serve": "vitepress serve vdocs", - "postbuild": "documentation build src/mermaidAPI.ts src/config.ts src/defaultConfig.ts --shallow -f md --markdown-toc false > src/docs/Setup.md && prettier --write src/docs/Setup.md", + "postbuild": "echo 'building docs from code here soon'", "release": "yarn build", "lint": "eslint --cache --ignore-path .gitignore . && yarn lint:jison && prettier --check .", "lint:fix": "eslint --fix --ignore-path .gitignore . && prettier --write .", @@ -129,7 +129,7 @@ "ts-node": "^10.9.1", "typescript": "^4.8.3", "unist-util-flatmap": "^1.0.0", - "vitepress": "^1.0.0-alpha.16", + "vitepress": "^1.0.0-alpha.19", "vitepress-plugin-mermaid": "^2.0.8", "vitepress-plugin-search": "^1.0.4-alpha.11", "vitest": "^0.23.1" diff --git a/yarn.lock b/yarn.lock index f49162346..c5c256391 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1337,10 +1337,10 @@ "@typescript-eslint/types" "5.38.0" eslint-visitor-keys "^3.3.0" -"@vitejs/plugin-vue@^3.1.0": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@vitejs/plugin-vue/-/plugin-vue-3.1.0.tgz#3a423ea6943a450e806da412a911150e928598ed" - integrity sha512-fmxtHPjSOEIRg6vHYDaem+97iwCUg/uSIaTzp98lhELt2ISOQuDo2hbkBdXod0g15IhfPMQmAxh4heUks2zvDA== +"@vitejs/plugin-vue@^3.1.2": + version "3.1.2" + resolved "https://registry.yarnpkg.com/@vitejs/plugin-vue/-/plugin-vue-3.1.2.tgz#3cd52114e8871a0b5e7bd7d837469c032e503036" + integrity sha512-3zxKNlvA3oNaKDYX0NBclgxTQ1xaFdL7PzwF6zj9tGFziKwmBa3Q/6XcJQxudlT81WxDjEhHmevvIC4Orc1LhQ== "@vitest/coverage-c8@^0.23.2": version "0.23.4" @@ -1399,10 +1399,10 @@ "@vue/compiler-dom" "3.2.40" "@vue/shared" "3.2.40" -"@vue/devtools-api@^6.2.1": - version "6.4.1" - resolved "https://registry.yarnpkg.com/@vue/devtools-api/-/devtools-api-6.4.1.tgz#9def459f5c78ca8d0976e9e29187942e09776b19" - integrity sha512-tY5m7kwu0R+9GWHSncsE40rCX9ou4HhjhlbgdEMci8j08BE7pLlOpHRcyv6eEP0VYrW1JV0zFh6AoWsoHrVyFw== +"@vue/devtools-api@^6.4.2": + version "6.4.3" + resolved "https://registry.yarnpkg.com/@vue/devtools-api/-/devtools-api-6.4.3.tgz#784aa9e397adde727ca892c3574f5f1cfb2bc1c2" + integrity sha512-9WCRwdROJvWcHAdyrR7SZMM/qUvllDZnpndHXokThkUsjnJ2xe4/pvsH9FZrxFe22L+JmDKczL79HjLJ7DK9rg== "@vue/reactivity-transform@3.2.40": version "3.2.40" @@ -1452,7 +1452,7 @@ resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.2.40.tgz#e57799da2a930b975321981fcee3d1e90ed257ae" integrity sha512-0PLQ6RUtZM0vO3teRfzGi4ltLUO5aO+kLgwh4Um3THSR03rpQWLTuRCkuO5A41ITzwdWeKdPHtSARuPkoo5pCQ== -"@vueuse/core@^9.1.1": +"@vueuse/core@^9.3.0": version "9.3.0" resolved "https://registry.yarnpkg.com/@vueuse/core/-/core-9.3.0.tgz#74d855bd19cb5eadd2edb30c871918fac881e8b8" integrity sha512-64Rna8IQDWpdrJxgitDg7yv1yTp41ZmvV8zlLEylK4QQLWAhz1OFGZDPZ8bU4lwcGgbEJ2sGi2jrdNh4LttUSQ== @@ -1884,7 +1884,7 @@ body-parser@1.20.0: type-is "~1.6.18" unpipe "1.0.0" -body-scroll-lock@^4.0.0-beta.0: +body-scroll-lock@4.0.0-beta.0: version "4.0.0-beta.0" resolved "https://registry.yarnpkg.com/body-scroll-lock/-/body-scroll-lock-4.0.0-beta.0.tgz#4f78789d10e6388115c0460cd6d7d4dd2bbc4f7e" integrity sha512-a7tP5+0Mw3YlUJcGAKUqIBkYYGlYxk2fnCasq/FUph1hadxlTRjF+gAcZksxANnaMnALjxEddmSi/H3OR8ugcQ== @@ -5594,11 +5594,6 @@ npm-run-path@^5.1.0: dependencies: path-key "^4.0.0" -nprogress@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/nprogress/-/nprogress-0.2.0.tgz#cb8f34c53213d895723fcbab907e9422adbcafb1" - integrity sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA== - nwsapi@^2.2.0: version "2.2.2" resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.2.tgz#e5418863e7905df67d51ec95938d67bf801f0bb0" @@ -7229,7 +7224,7 @@ vfile@^5.0.0: optionalDependencies: fsevents "~2.3.2" -vite@^3.1.0: +vite@^3.1.4: version "3.1.4" resolved "https://registry.yarnpkg.com/vite/-/vite-3.1.4.tgz#b75824b819d8354a6f36e4b988943c7e4947e155" integrity sha512-JoQI08aBjY9lycL7jcEq4p9o1xUjq5aRvdH4KWaXtkSx7e7RpAh9D3IjzDWRD4Fg44LS3oDAIOG/Kq1L+82psA== @@ -7251,21 +7246,20 @@ vitepress-plugin-search@^1.0.4-alpha.11: resolved "https://registry.yarnpkg.com/vitepress-plugin-search/-/vitepress-plugin-search-1.0.4-alpha.11.tgz#419ea48427cd836b97e9f94a4a806b8352c8e7b1" integrity sha512-fKJIpPj6QGQeXda31Dx5f9DtCYnPVHKQVsOUpnJOzahWHPPgGofslwwvwaeRMWIGvpslxi/m4RVK6C+ydqKukA== -vitepress@^1.0.0-alpha.16: - version "1.0.0-alpha.17" - resolved "https://registry.yarnpkg.com/vitepress/-/vitepress-1.0.0-alpha.17.tgz#bde5038b20ce99fe3c0a5c4ff703f61f0a6777d0" - integrity sha512-8qsR0PPcvxZFDKSU7b7VenxDoqlEbWuWgogeyRhp1pQ96QIAlWPS9BbGGHWlnEfgdtLVDxEfAmCBRE0YJX/Thg== +vitepress@^1.0.0-alpha.19: + version "1.0.0-alpha.19" + resolved "https://registry.yarnpkg.com/vitepress/-/vitepress-1.0.0-alpha.19.tgz#a73d1fc4f499d2498d5f71009c7ce4470662e4b8" + integrity sha512-0FIUZB6JGXio7SELDDUkyQoMjmO/UAXqDXmznzOsBKsdZ3EHlyb6NaP/V/BMfN5S8+GV88ScbIL0jd/pDzkLBg== dependencies: "@docsearch/css" "^3.2.1" "@docsearch/js" "^3.2.1" - "@vitejs/plugin-vue" "^3.1.0" - "@vue/devtools-api" "^6.2.1" - "@vueuse/core" "^9.1.1" - body-scroll-lock "^4.0.0-beta.0" - nprogress "^0.2.0" + "@vitejs/plugin-vue" "^3.1.2" + "@vue/devtools-api" "^6.4.2" + "@vueuse/core" "^9.3.0" + body-scroll-lock "4.0.0-beta.0" shiki "^0.11.1" - vite "^3.1.0" - vue "^3.2.38" + vite "^3.1.4" + vue "^3.2.40" vitest@0.23.4, vitest@^0.23.1: version "0.23.4" @@ -7338,7 +7332,7 @@ vue-demi@*: resolved "https://registry.yarnpkg.com/vue-demi/-/vue-demi-0.13.11.tgz#7d90369bdae8974d87b1973564ad390182410d99" integrity sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A== -vue@^3.2.38: +vue@^3.2.40: version "3.2.40" resolved "https://registry.yarnpkg.com/vue/-/vue-3.2.40.tgz#23f387f6f9b3a0767938db6751e4fb5900f0ee34" integrity sha512-1mGHulzUbl2Nk3pfvI5aXYYyJUs1nm4kyvuz38u4xlQkLUn1i2R7nDbI4TufECmY8v1qNBHYy62bCaM+3cHP2A== From 4f5c707b5611a28d5a16f6f60ecb5b66a61e9601 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 4 Oct 2022 05:24:13 +0000 Subject: [PATCH 20/33] chore(deps-dev): update @typescript-eslint/parser requirement Updates the requirements on [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) to permit the latest version. - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.39.0/packages/parser) --- updated-dependencies: - dependency-name: "@typescript-eslint/parser" dependency-type: direct:development ... Signed-off-by: dependabot[bot] <support@github.com> --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index e58109b32..30d160080 100644 --- a/package.json +++ b/package.json @@ -96,9 +96,9 @@ "@types/prettier": "^2.7.1", "@types/stylis": "^4.0.2", "@typescript-eslint/eslint-plugin": "^5.37.0", - "@typescript-eslint/parser": "^5.37.0", + "@typescript-eslint/parser": "^5.39.0", "@vitest/coverage-c8": "^0.23.2", - "@vitest/ui": "^0.23.2", + "@vitest/ui": "^0.23.4", "concurrently": "^7.4.0", "coveralls": "^3.1.1", "cypress": "^10.0.0", From 7e3d57fc28c18e67fc7b778a3096faeed57c67e8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 4 Oct 2022 05:25:01 +0000 Subject: [PATCH 21/33] chore(deps): update @types/node requirement from ^18.7.21 to ^18.8.1 Updates the requirements on [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) to permit the latest version. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) --- updated-dependencies: - dependency-name: "@types/node" dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index e58109b32..6b85e7db2 100644 --- a/package.json +++ b/package.json @@ -68,7 +68,7 @@ "dependencies": { "@braintree/sanitize-url": "^6.0.0", "@types/uuid": "^8.3.4", - "@types/node": "^18.7.21", + "@types/node": "^18.8.1", "d3": "^7.0.0", "dagre": "^0.8.5", "dagre-d3": "^0.6.4", @@ -98,7 +98,7 @@ "@typescript-eslint/eslint-plugin": "^5.37.0", "@typescript-eslint/parser": "^5.37.0", "@vitest/coverage-c8": "^0.23.2", - "@vitest/ui": "^0.23.2", + "@vitest/ui": "^0.23.4", "concurrently": "^7.4.0", "coveralls": "^3.1.1", "cypress": "^10.0.0", From f965f5643a97c07b9d45aa018202cbeb938c378d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 4 Oct 2022 06:25:29 +0000 Subject: [PATCH 22/33] chore(deps-dev): update lint-staged requirement from ^13.0.0 to ^13.0.3 Updates the requirements on [lint-staged](https://github.com/okonet/lint-staged) to permit the latest version. - [Release notes](https://github.com/okonet/lint-staged/releases) - [Commits](https://github.com/okonet/lint-staged/compare/v13.0.0...v13.0.3) --- updated-dependencies: - dependency-name: lint-staged dependency-type: direct:development ... Signed-off-by: dependabot[bot] <support@github.com> --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 2f55993e8..550896d9d 100644 --- a/package.json +++ b/package.json @@ -124,7 +124,7 @@ "jest": "29.x", "jison": "^0.4.18", "jsdom": "^20.0.0", - "lint-staged": "^13.0.0", + "lint-staged": "^13.0.3", "markdown-it": "^13.0.1", "moment": "^2.23.0", "path-browserify": "^1.0.1", From 46d924ffc9a10832ac1b18c88f31d3bebc25f8e6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 4 Oct 2022 06:25:37 +0000 Subject: [PATCH 23/33] chore(deps-dev): update vitest requirement from ^0.23.1 to ^0.23.4 Updates the requirements on [vitest](https://github.com/vitest-dev/vitest) to permit the latest version. - [Release notes](https://github.com/vitest-dev/vitest/releases) - [Commits](https://github.com/vitest-dev/vitest/compare/v0.23.1...v0.23.4) --- updated-dependencies: - dependency-name: vitest dependency-type: direct:development ... Signed-off-by: dependabot[bot] <support@github.com> --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 2f55993e8..650fe61b4 100644 --- a/package.json +++ b/package.json @@ -140,7 +140,7 @@ "vitepress-plugin-mermaid": "^2.0.8", "vitepress-plugin-search": "^1.0.4-alpha.11", "vite": "^3.0.9", - "vitest": "^0.23.1" + "vitest": "^0.23.4" }, "resolutions": { "d3": "^7.0.0" From b6b5202923ab0c22f8a4e267269666888bfd9b9b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 4 Oct 2022 06:28:33 +0000 Subject: [PATCH 24/33] chore(deps-dev): update jsdom requirement from ^20.0.0 to ^20.0.1 Updates the requirements on [jsdom](https://github.com/jsdom/jsdom) to permit the latest version. - [Release notes](https://github.com/jsdom/jsdom/releases) - [Changelog](https://github.com/jsdom/jsdom/blob/master/Changelog.md) - [Commits](https://github.com/jsdom/jsdom/compare/20.0.0...20.0.1) --- updated-dependencies: - dependency-name: jsdom dependency-type: direct:development ... Signed-off-by: dependabot[bot] <support@github.com> --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 72b1d7f2b..6d1a1f9c3 100644 --- a/package.json +++ b/package.json @@ -123,7 +123,7 @@ "identity-obj-proxy": "^3.0.0", "jest": "29.x", "jison": "^0.4.18", - "jsdom": "^20.0.0", + "jsdom": "^20.0.1", "lint-staged": "^13.0.3", "markdown-it": "^13.0.1", "moment": "^2.23.0", From a6e26ce5bba36f58ff9895c8ade1d0650cb2c1d4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 4 Oct 2022 06:30:45 +0000 Subject: [PATCH 25/33] chore(deps-dev): update @applitools/eyes-cypress requirement Updates the requirements on [@applitools/eyes-cypress](https://github.com/applitools/eyes.sdk.javascript1/tree/HEAD/js/packages/eyes-cypress) to permit the latest version. - [Release notes](https://github.com/applitools/eyes.sdk.javascript1/releases) - [Changelog](https://github.com/applitools/eyes.sdk.javascript1/blob/master/js/packages/eyes-cypress/CHANGELOG.md) - [Commits](https://github.com/applitools/eyes.sdk.javascript1/commits/@applitools/eyes-cypress@3.27.1/js/packages/eyes-cypress) --- updated-dependencies: - dependency-name: "@applitools/eyes-cypress" dependency-type: direct:development ... Signed-off-by: dependabot[bot] <support@github.com> --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 08f30f856..c3a593beb 100644 --- a/package.json +++ b/package.json @@ -88,7 +88,7 @@ "uuid": "^9.0.0" }, "devDependencies": { - "@applitools/eyes-cypress": "^3.25.7", + "@applitools/eyes-cypress": "^3.27.1", "@commitlint/cli": "^17.1.2", "@commitlint/config-conventional": "^17.0.0", "@types/d3": "^7.4.0", From c39c3be39fac035f933f262246dcd0a8fbfa2e09 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 4 Oct 2022 06:30:56 +0000 Subject: [PATCH 26/33] chore(deps-dev): update eslint-plugin-jest requirement Updates the requirements on [eslint-plugin-jest](https://github.com/jest-community/eslint-plugin-jest) to permit the latest version. - [Release notes](https://github.com/jest-community/eslint-plugin-jest/releases) - [Changelog](https://github.com/jest-community/eslint-plugin-jest/blob/main/CHANGELOG.md) - [Commits](https://github.com/jest-community/eslint-plugin-jest/compare/v27.0.4...v27.1.0) --- updated-dependencies: - dependency-name: eslint-plugin-jest dependency-type: direct:development ... Signed-off-by: dependabot[bot] <support@github.com> --- package.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 550896d9d..bc625c575 100644 --- a/package.json +++ b/package.json @@ -94,7 +94,7 @@ "@types/d3": "^7.4.0", "@types/dompurify": "^2.3.4", "@types/eslint": "^8.4.6", - "@types/express": "^4.17.13", + "@types/express": "^4.17.14", "@types/jsdom": "^20.0.0", "@types/lodash": "^4.14.185", "@types/prettier": "^2.7.1", @@ -113,7 +113,7 @@ "eslint-config-prettier": "^8.5.0", "eslint-plugin-cypress": "^2.12.1", "eslint-plugin-html": "^7.1.0", - "eslint-plugin-jest": "^27.0.4", + "eslint-plugin-jest": "^27.1.0", "eslint-plugin-jsdoc": "^39.3.6", "eslint-plugin-json": "^3.1.0", "eslint-plugin-markdown": "^3.0.0", @@ -123,7 +123,7 @@ "identity-obj-proxy": "^3.0.0", "jest": "29.x", "jison": "^0.4.18", - "jsdom": "^20.0.0", + "jsdom": "^20.0.1", "lint-staged": "^13.0.3", "markdown-it": "^13.0.1", "moment": "^2.23.0", @@ -132,7 +132,7 @@ "prettier-plugin-jsdoc": "^0.4.2", "remark": "^14.0.2", "rimraf": "^3.0.2", - "start-server-and-test": "^1.12.6", + "start-server-and-test": "^1.14.0", "ts-node": "^10.9.1", "typescript": "^4.8.3", "unist-util-flatmap": "^1.0.0", From 7788d26ed4ba51bb22ce4dfd919c00fb7e2dbeea Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 4 Oct 2022 06:31:24 +0000 Subject: [PATCH 27/33] chore(deps-dev): update @commitlint/config-conventional requirement Updates the requirements on [@commitlint/config-conventional](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional) to permit the latest version. - [Release notes](https://github.com/conventional-changelog/commitlint/releases) - [Changelog](https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/config-conventional/CHANGELOG.md) - [Commits](https://github.com/conventional-changelog/commitlint/commits/v17.1.0/@commitlint/config-conventional) --- updated-dependencies: - dependency-name: "@commitlint/config-conventional" dependency-type: direct:development ... Signed-off-by: dependabot[bot] <support@github.com> --- package.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 550896d9d..a55803dce 100644 --- a/package.json +++ b/package.json @@ -90,11 +90,11 @@ "devDependencies": { "@applitools/eyes-cypress": "^3.25.7", "@commitlint/cli": "^17.1.2", - "@commitlint/config-conventional": "^17.0.0", + "@commitlint/config-conventional": "^17.1.0", "@types/d3": "^7.4.0", "@types/dompurify": "^2.3.4", "@types/eslint": "^8.4.6", - "@types/express": "^4.17.13", + "@types/express": "^4.17.14", "@types/jsdom": "^20.0.0", "@types/lodash": "^4.14.185", "@types/prettier": "^2.7.1", @@ -123,7 +123,7 @@ "identity-obj-proxy": "^3.0.0", "jest": "29.x", "jison": "^0.4.18", - "jsdom": "^20.0.0", + "jsdom": "^20.0.1", "lint-staged": "^13.0.3", "markdown-it": "^13.0.1", "moment": "^2.23.0", @@ -132,7 +132,7 @@ "prettier-plugin-jsdoc": "^0.4.2", "remark": "^14.0.2", "rimraf": "^3.0.2", - "start-server-and-test": "^1.12.6", + "start-server-and-test": "^1.14.0", "ts-node": "^10.9.1", "typescript": "^4.8.3", "unist-util-flatmap": "^1.0.0", From 0bcdaa395f0af52695652765f737a6758539c84d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 4 Oct 2022 06:31:45 +0000 Subject: [PATCH 28/33] chore(deps-dev): update esbuild requirement from ^0.15.8 to ^0.15.10 Updates the requirements on [esbuild](https://github.com/evanw/esbuild) to permit the latest version. - [Release notes](https://github.com/evanw/esbuild/releases) - [Changelog](https://github.com/evanw/esbuild/blob/master/CHANGELOG.md) - [Commits](https://github.com/evanw/esbuild/compare/v0.15.8...v0.15.10) --- updated-dependencies: - dependency-name: esbuild dependency-type: direct:development ... Signed-off-by: dependabot[bot] <support@github.com> --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index ad1d6e408..25c3a13f5 100644 --- a/package.json +++ b/package.json @@ -107,7 +107,7 @@ "coveralls": "^3.1.1", "cypress": "^10.0.0", "cypress-image-snapshot": "^4.0.1", - "esbuild": "^0.15.8", + "esbuild": "^0.15.10", "documentation": "13.2.0", "eslint": "^8.24.0", "eslint-config-prettier": "^8.5.0", From dbf8af06a4d2f24aeb672e866a3b5a637bf831d1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 4 Oct 2022 06:32:15 +0000 Subject: [PATCH 29/33] chore(deps-dev): update @typescript-eslint/eslint-plugin requirement Updates the requirements on [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) to permit the latest version. - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.39.0/packages/eslint-plugin) --- updated-dependencies: - dependency-name: "@typescript-eslint/eslint-plugin" dependency-type: direct:development ... Signed-off-by: dependabot[bot] <support@github.com> --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index ad1d6e408..2c8ac7cb9 100644 --- a/package.json +++ b/package.json @@ -99,7 +99,7 @@ "@types/lodash": "^4.14.186", "@types/prettier": "^2.7.1", "@types/stylis": "^4.0.2", - "@typescript-eslint/eslint-plugin": "^5.37.0", + "@typescript-eslint/eslint-plugin": "^5.39.0", "@typescript-eslint/parser": "^5.39.0", "@vitest/coverage-c8": "^0.23.2", "@vitest/ui": "^0.23.4", From 02207087e4fbbd639a2b847284d497f0be186a30 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 4 Oct 2022 06:35:03 +0000 Subject: [PATCH 30/33] chore(deps-dev): update @vitest/coverage-c8 requirement Updates the requirements on [@vitest/coverage-c8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-c8) to permit the latest version. - [Release notes](https://github.com/vitest-dev/vitest/releases) - [Commits](https://github.com/vitest-dev/vitest/commits/v0.23.4/packages/coverage-c8) --- updated-dependencies: - dependency-name: "@vitest/coverage-c8" dependency-type: direct:development ... Signed-off-by: dependabot[bot] <support@github.com> --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 6a43118de..2bfe1cd54 100644 --- a/package.json +++ b/package.json @@ -101,7 +101,7 @@ "@types/stylis": "^4.0.2", "@typescript-eslint/eslint-plugin": "^5.39.0", "@typescript-eslint/parser": "^5.39.0", - "@vitest/coverage-c8": "^0.23.2", + "@vitest/coverage-c8": "^0.23.4", "@vitest/ui": "^0.23.4", "concurrently": "^7.4.0", "coveralls": "^3.1.1", From 87257153b9bfe304157ab11e0434d34e77121b67 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 4 Oct 2022 06:35:42 +0000 Subject: [PATCH 31/33] chore(deps-dev): update typescript requirement from ^4.8.3 to ^4.8.4 Updates the requirements on [typescript](https://github.com/Microsoft/TypeScript) to permit the latest version. - [Release notes](https://github.com/Microsoft/TypeScript/releases) - [Commits](https://github.com/Microsoft/TypeScript/compare/v4.8.3...v4.8.4) --- updated-dependencies: - dependency-name: typescript dependency-type: direct:development ... Signed-off-by: dependabot[bot] <support@github.com> --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 6a43118de..418dd8998 100644 --- a/package.json +++ b/package.json @@ -134,7 +134,7 @@ "rimraf": "^3.0.2", "start-server-and-test": "^1.14.0", "ts-node": "^10.9.1", - "typescript": "^4.8.3", + "typescript": "^4.8.4", "unist-util-flatmap": "^1.0.0", "vitepress": "^1.0.0-alpha.19", "vitepress-plugin-mermaid": "^2.0.8", From 5e0c3215107a8346d0adc8bdb8d1f367822c7f67 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 4 Oct 2022 06:44:04 +0000 Subject: [PATCH 32/33] chore(deps-dev): update vite requirement from ^3.0.9 to ^3.1.4 Updates the requirements on [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) to permit the latest version. - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/v3.1.4/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/v3.1.4/packages/vite) --- updated-dependencies: - dependency-name: vite dependency-type: direct:development ... Signed-off-by: dependabot[bot] <support@github.com> --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 86bfb5e2f..ea53f1c1e 100644 --- a/package.json +++ b/package.json @@ -139,7 +139,7 @@ "vitepress": "^1.0.0-alpha.19", "vitepress-plugin-mermaid": "^2.0.8", "vitepress-plugin-search": "^1.0.4-alpha.11", - "vite": "^3.0.9", + "vite": "^3.1.4", "vitest": "^0.23.4" }, "resolutions": { From 1528c03f85436b56cefe0fecfa0890d9ee37efa8 Mon Sep 17 00:00:00 2001 From: Knut Sveidqvist <knsv@sveido.com> Date: Tue, 4 Oct 2022 08:51:12 +0200 Subject: [PATCH 33/33] Updated lockfile --- pnpm-lock.yaml | 758 ++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 587 insertions(+), 171 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index bff96308b..477685a45 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -7,23 +7,23 @@ importers: .: specifiers: - '@applitools/eyes-cypress': ^3.25.7 + '@applitools/eyes-cypress': ^3.27.1 '@braintree/sanitize-url': ^6.0.0 '@commitlint/cli': ^17.1.2 - '@commitlint/config-conventional': ^17.0.0 + '@commitlint/config-conventional': ^17.1.0 '@types/d3': ^7.4.0 '@types/dompurify': ^2.3.4 '@types/eslint': ^8.4.6 - '@types/express': ^4.17.13 + '@types/express': ^4.17.14 '@types/jsdom': ^20.0.0 - '@types/lodash': ^4.14.185 - '@types/node': ^18.7.21 + '@types/lodash': ^4.14.186 + '@types/node': ^18.8.1 '@types/prettier': ^2.7.1 '@types/stylis': ^4.0.2 '@types/uuid': ^8.3.4 - '@typescript-eslint/eslint-plugin': ^5.37.0 - '@typescript-eslint/parser': ^5.37.0 - '@vitest/coverage-c8': ^0.23.2 + '@typescript-eslint/eslint-plugin': ^5.39.0 + '@typescript-eslint/parser': ^5.39.0 + '@vitest/coverage-c8': ^0.23.4 '@vitest/ui': ^0.23.4 concurrently: ^7.4.0 coveralls: ^3.1.1 @@ -34,12 +34,12 @@ importers: dagre-d3: ^0.6.4 documentation: 13.2.0 dompurify: 2.4.0 - esbuild: ^0.15.8 + esbuild: ^0.15.10 eslint: ^8.24.0 eslint-config-prettier: ^8.5.0 eslint-plugin-cypress: ^2.12.1 eslint-plugin-html: ^7.1.0 - eslint-plugin-jest: ^27.0.4 + eslint-plugin-jest: ^27.1.0 eslint-plugin-jsdoc: ^39.3.6 eslint-plugin-json: ^3.1.0 eslint-plugin-markdown: ^3.0.0 @@ -47,13 +47,13 @@ importers: fast-clone: ^1.5.13 globby: ^13.1.2 graphlib: ^2.1.8 - husky: ^8.0.0 + husky: ^8.0.1 identity-obj-proxy: ^3.0.0 jest: 29.x jison: ^0.4.18 - jsdom: ^20.0.0 + jsdom: ^20.0.1 khroma: ^2.0.0 - lint-staged: ^13.0.0 + lint-staged: ^13.0.3 lodash: ^4.17.21 markdown-it: ^13.0.1 moment: ^2.23.0 @@ -65,20 +65,20 @@ importers: remark: ^14.0.2 rimraf: ^3.0.2 rollup: ^2.79.1 - start-server-and-test: ^1.12.6 + start-server-and-test: ^1.14.0 stylis: ^4.1.2 ts-node: ^10.9.1 - typescript: ^4.8.3 + typescript: ^4.8.4 unist-util-flatmap: ^1.0.0 uuid: ^9.0.0 - vite: ^3.0.9 + vite: ^3.1.4 vitepress: ^1.0.0-alpha.19 vitepress-plugin-mermaid: ^2.0.8 vitepress-plugin-search: ^1.0.4-alpha.11 - vitest: ^0.23.1 + vitest: ^0.23.4 dependencies: '@braintree/sanitize-url': 6.0.0 - '@types/node': 18.7.21 + '@types/node': 18.8.1 '@types/uuid': 8.3.4 d3: 7.6.1 dagre: 0.8.5 @@ -102,24 +102,24 @@ importers: '@types/eslint': 8.4.6 '@types/express': 4.17.14 '@types/jsdom': 20.0.0 - '@types/lodash': 4.14.185 + '@types/lodash': 4.14.186 '@types/prettier': 2.7.1 '@types/stylis': 4.0.2 - '@typescript-eslint/eslint-plugin': 5.38.0_4gkcvl6qsi23tqqawfqgcwtp54 - '@typescript-eslint/parser': 5.38.0_7ilbxdl5iguzcjriqqcg2m5cku - '@vitest/coverage-c8': 0.23.4_y2hohvmcqnhseytaw4yjcnsnkm + '@typescript-eslint/eslint-plugin': 5.39.0_xyciw6oqjoiiono4dhv3uhn5my + '@typescript-eslint/parser': 5.39.0_ypn2ylkkyfa5i233caldtndbqa + '@vitest/coverage-c8': 0.23.4_gkhtrnfwk72a2xpsvrk7h3dcna '@vitest/ui': 0.23.4 concurrently: 7.4.0 coveralls: 3.1.1 cypress: 10.8.0 cypress-image-snapshot: 4.0.1_cypress@10.8.0+jest@29.1.1 documentation: 13.2.0 - esbuild: 0.15.8 + esbuild: 0.15.10 eslint: 8.24.0 eslint-config-prettier: 8.5.0_eslint@8.24.0 eslint-plugin-cypress: 2.12.1_eslint@8.24.0 eslint-plugin-html: 7.1.0 - eslint-plugin-jest: 27.0.4_zkp6l2tlaisogzmthlfexujswu + eslint-plugin-jest: 27.1.0_4rkgrv37dc3yt652qtbljgksbi eslint-plugin-jsdoc: 39.3.6_eslint@8.24.0 eslint-plugin-json: 3.1.0 eslint-plugin-markdown: 3.0.0_eslint@8.24.0 @@ -127,9 +127,9 @@ importers: globby: 13.1.2 husky: 8.0.1 identity-obj-proxy: 3.0.0 - jest: 29.1.1_pliq7kienpvt4xqyxfwljzmzmq + jest: 29.1.1_ahjkdke2ds2w5gj6yhynj4mjsq jison: 0.4.18 - jsdom: 20.0.0 + jsdom: 20.0.1 lint-staged: 13.0.3 markdown-it: 13.0.1 moment: 2.29.4 @@ -139,14 +139,14 @@ importers: remark: 14.0.2 rimraf: 3.0.2 start-server-and-test: 1.14.0 - ts-node: 10.9.1_ke6ijd35va4xbeayrnhu4zwagm - typescript: 4.8.3 + ts-node: 10.9.1_jrs6fgrkrfl5zdawlcdiuhuotq + typescript: 4.8.4 unist-util-flatmap: 1.0.0 - vite: 3.1.3 + vite: 3.1.4 vitepress: 1.0.0-alpha.19 vitepress-plugin-mermaid: 2.0.8_vitepress@1.0.0-alpha.19 - vitepress-plugin-search: 1.0.4-alpha.11_pva2cdrgfgaiwbwst2xhmwggw4 - vitest: 0.23.4_y2hohvmcqnhseytaw4yjcnsnkm + vitepress-plugin-search: 1.0.4-alpha.11_yafhezb4qji4flzzwo3ufrgyx4 + vitest: 0.23.4_gkhtrnfwk72a2xpsvrk7h3dcna packages/mermaid: specifiers: @@ -2223,11 +2223,11 @@ packages: '@types/node': 14.18.29 chalk: 4.1.2 cosmiconfig: 7.0.1 - cosmiconfig-typescript-loader: 4.1.0_3owiowz3ujipd4k6pbqn3n7oui + cosmiconfig-typescript-loader: 4.1.0_nxlrwu45zhpwmwjzs33dzt3ak4 lodash: 4.17.21 resolve-from: 5.0.0 - ts-node: 10.9.1_ck2axrxkiif44rdbzjywaqjysa - typescript: 4.8.3 + ts-node: 10.9.1_sqjhzn5m3vxyw66a2xhtc43hby + typescript: 4.8.4 transitivePeerDependencies: - '@swc/core' - '@swc/wasm' @@ -2387,6 +2387,15 @@ packages: jsdoc-type-pratt-parser: 3.1.0 dev: true + /@esbuild/android-arm/0.15.10: + resolution: {integrity: sha512-FNONeQPy/ox+5NBkcSbYJxoXj9GWu8gVGJTVmUyoOCKQFDTrHVKgNSzChdNt0I8Aj/iKcsDf2r9BFwv+FSNUXg==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + /@esbuild/android-arm/0.15.8: resolution: {integrity: sha512-CyEWALmn+no/lbgbAJsbuuhT8s2J19EJGHkeyAwjbFJMrj80KJ9zuYsoAvidPTU7BgBf87r/sgae8Tw0dbOc4Q==} engines: {node: '>=12'} @@ -2398,6 +2407,15 @@ packages: dev: true optional: true + /@esbuild/linux-loong64/0.15.10: + resolution: {integrity: sha512-w0Ou3Z83LOYEkwaui2M8VwIp+nLi/NA60lBLMvaJ+vXVMcsARYdEzLNE7RSm4+lSg4zq4d7fAVuzk7PNQ5JFgg==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-loong64/0.15.8: resolution: {integrity: sha512-pE5RQsOTSERCtfZdfCT25wzo7dfhOSlhAXcsZmuvRYhendOv7djcdvtINdnDp2DAjP17WXlBB4nBO6sHLczmsg==} engines: {node: '>=12'} @@ -2484,7 +2502,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.1.0 - '@types/node': 18.7.21 + '@types/node': 18.8.1 chalk: 4.1.2 jest-message-util: 29.1.0 jest-util: 29.1.0 @@ -2505,14 +2523,14 @@ packages: '@jest/test-result': 29.1.0 '@jest/transform': 29.1.0 '@jest/types': 29.1.0 - '@types/node': 18.7.21 + '@types/node': 18.8.1 ansi-escapes: 4.3.2 chalk: 4.1.2 ci-info: 3.4.0 exit: 0.1.2 graceful-fs: 4.2.10 jest-changed-files: 29.0.0 - jest-config: 29.1.1_pliq7kienpvt4xqyxfwljzmzmq + jest-config: 29.1.1_ahjkdke2ds2w5gj6yhynj4mjsq jest-haste-map: 29.1.0 jest-message-util: 29.1.0 jest-regex-util: 29.0.0 @@ -2539,7 +2557,7 @@ packages: dependencies: '@jest/fake-timers': 29.1.1 '@jest/types': 29.1.0 - '@types/node': 18.7.21 + '@types/node': 18.8.1 jest-mock: 29.1.1 dev: true @@ -2566,7 +2584,7 @@ packages: dependencies: '@jest/types': 29.1.0 '@sinonjs/fake-timers': 9.1.2 - '@types/node': 18.7.21 + '@types/node': 18.8.1 jest-message-util: 29.1.0 jest-mock: 29.1.1 jest-util: 29.1.0 @@ -2599,7 +2617,7 @@ packages: '@jest/transform': 29.1.0 '@jest/types': 29.1.0 '@jridgewell/trace-mapping': 0.3.15 - '@types/node': 18.7.21 + '@types/node': 18.8.1 chalk: 4.1.2 collect-v8-coverage: 1.0.1 exit: 0.1.2 @@ -2688,7 +2706,7 @@ packages: '@jest/schemas': 29.0.0 '@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-reports': 3.0.1 - '@types/node': 18.7.21 + '@types/node': 18.8.1 '@types/yargs': 17.0.13 chalk: 4.1.2 dev: true @@ -2856,7 +2874,7 @@ packages: resolution: {integrity: sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==} dependencies: '@types/connect': 3.4.35 - '@types/node': 18.7.21 + '@types/node': 18.8.1 dev: true /@types/cacheable-request/6.0.2: @@ -2864,7 +2882,7 @@ packages: dependencies: '@types/http-cache-semantics': 4.0.1 '@types/keyv': 3.1.4 - '@types/node': 18.7.21 + '@types/node': 18.8.1 '@types/responselike': 1.0.0 dev: true @@ -2881,7 +2899,7 @@ packages: /@types/connect/3.4.35: resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==} dependencies: - '@types/node': 18.7.21 + '@types/node': 18.8.1 dev: true /@types/d3-array/3.0.3: @@ -3089,7 +3107,7 @@ packages: /@types/express-serve-static-core/4.17.31: resolution: {integrity: sha512-DxMhY+NAsTwMMFHBTtJFNp5qiHKJ7TeqOo23zVEM9alT1Ml27Q3xcTH0xwxn7Q0BbMcVEJOs/7aQtUWupUQN3Q==} dependencies: - '@types/node': 18.7.21 + '@types/node': 18.8.1 '@types/qs': 6.9.7 '@types/range-parser': 1.2.4 dev: true @@ -3110,7 +3128,7 @@ packages: /@types/graceful-fs/4.1.5: resolution: {integrity: sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==} dependencies: - '@types/node': 18.7.21 + '@types/node': 18.8.1 dev: true /@types/http-cache-semantics/4.0.1: @@ -3148,13 +3166,17 @@ packages: /@types/keyv/3.1.4: resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} dependencies: - '@types/node': 18.7.21 + '@types/node': 18.8.1 dev: true /@types/lodash/4.14.185: resolution: {integrity: sha512-evMDG1bC4rgQg4ku9tKpuMh5iBNEwNa3tf9zRHdP1qlv+1WUg44xat4IxCE14gIpZRGUUWAx2VhItCZc25NfMA==} dev: true + /@types/lodash/4.14.186: + resolution: {integrity: sha512-eHcVlLXP0c2FlMPm56ITode2AgLMSa6aJ05JTTbYbI+7EMkCEE5qk2E41d5g2lCVTqRe0GnnRFurmlCsDODrPw==} + dev: true + /@types/mdast/3.0.10: resolution: {integrity: sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA==} dependencies: @@ -3183,6 +3205,10 @@ packages: /@types/node/18.7.21: resolution: {integrity: sha512-rLFzK5bhM0YPyCoTC8bolBjMk7bwnZ8qeZUBslBfjZQou2ssJdWslx9CZ8DGM+Dx7QXQiiTVZ/6QO6kwtHkZCA==} + dev: true + + /@types/node/18.8.1: + resolution: {integrity: sha512-vuYaNuEIbOYLTLUAJh50ezEbvxrD43iby+lpUA2aa148Nh5kX/AVO/9m1Ahmbux2iU5uxJTNF9g2Y+31uml7RQ==} /@types/normalize-package-data/2.4.1: resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} @@ -3211,14 +3237,14 @@ packages: /@types/responselike/1.0.0: resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==} dependencies: - '@types/node': 18.7.21 + '@types/node': 18.8.1 dev: true /@types/serve-static/1.15.0: resolution: {integrity: sha512-z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg==} dependencies: '@types/mime': 3.0.1 - '@types/node': 18.7.21 + '@types/node': 18.8.1 dev: true /@types/sinonjs__fake-timers/8.1.1: @@ -3271,36 +3297,10 @@ packages: resolution: {integrity: sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==} requiresBuild: true dependencies: - '@types/node': 18.7.21 + '@types/node': 18.8.1 dev: true optional: true - /@typescript-eslint/eslint-plugin/5.38.0_4gkcvl6qsi23tqqawfqgcwtp54: - resolution: {integrity: sha512-GgHi/GNuUbTOeoJiEANi0oI6fF3gBQc3bGFYj40nnAPCbhrtEDf2rjBmefFadweBmO1Du1YovHeDP2h5JLhtTQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - '@typescript-eslint/parser': ^5.0.0 - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@typescript-eslint/parser': 5.38.0_7ilbxdl5iguzcjriqqcg2m5cku - '@typescript-eslint/scope-manager': 5.38.0 - '@typescript-eslint/type-utils': 5.38.0_7ilbxdl5iguzcjriqqcg2m5cku - '@typescript-eslint/utils': 5.38.0_7ilbxdl5iguzcjriqqcg2m5cku - debug: 4.3.4 - eslint: 8.24.0 - ignore: 5.2.0 - regexpp: 3.2.0 - semver: 7.3.7 - tsutils: 3.21.0_typescript@4.8.3 - typescript: 4.8.3 - transitivePeerDependencies: - - supports-color - dev: true - /@typescript-eslint/eslint-plugin/5.38.0_wsb62dxj2oqwgas4kadjymcmry: resolution: {integrity: sha512-GgHi/GNuUbTOeoJiEANi0oI6fF3gBQc3bGFYj40nnAPCbhrtEDf2rjBmefFadweBmO1Du1YovHeDP2h5JLhtTQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -3327,22 +3327,28 @@ packages: - supports-color dev: true - /@typescript-eslint/parser/5.38.0_7ilbxdl5iguzcjriqqcg2m5cku: - resolution: {integrity: sha512-/F63giJGLDr0ms1Cr8utDAxP2SPiglaD6V+pCOcG35P2jCqdfR7uuEhz1GIC3oy4hkUF8xA1XSXmd9hOh/a5EA==} + /@typescript-eslint/eslint-plugin/5.39.0_xyciw6oqjoiiono4dhv3uhn5my: + resolution: {integrity: sha512-xVfKOkBm5iWMNGKQ2fwX5GVgBuHmZBO1tCRwXmY5oAIsPscfwm2UADDuNB8ZVYCtpQvJK4xpjrK7jEhcJ0zY9A==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: + '@typescript-eslint/parser': ^5.0.0 eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 5.38.0 - '@typescript-eslint/types': 5.38.0 - '@typescript-eslint/typescript-estree': 5.38.0_typescript@4.8.3 + '@typescript-eslint/parser': 5.39.0_ypn2ylkkyfa5i233caldtndbqa + '@typescript-eslint/scope-manager': 5.39.0 + '@typescript-eslint/type-utils': 5.39.0_ypn2ylkkyfa5i233caldtndbqa + '@typescript-eslint/utils': 5.39.0_ypn2ylkkyfa5i233caldtndbqa debug: 4.3.4 eslint: 8.24.0 - typescript: 4.8.3 + ignore: 5.2.0 + regexpp: 3.2.0 + semver: 7.3.7 + tsutils: 3.21.0_typescript@4.8.4 + typescript: 4.8.4 transitivePeerDependencies: - supports-color dev: true @@ -3367,6 +3373,26 @@ packages: - supports-color dev: true + /@typescript-eslint/parser/5.39.0_ypn2ylkkyfa5i233caldtndbqa: + resolution: {integrity: sha512-PhxLjrZnHShe431sBAGHaNe6BDdxAASDySgsBCGxcBecVCi8NQWxQZMcizNA4g0pN51bBAn/FUfkWG3SDVcGlA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/scope-manager': 5.39.0 + '@typescript-eslint/types': 5.39.0 + '@typescript-eslint/typescript-estree': 5.39.0_typescript@4.8.4 + debug: 4.3.4 + eslint: 8.24.0 + typescript: 4.8.4 + transitivePeerDependencies: + - supports-color + dev: true + /@typescript-eslint/scope-manager/5.38.0: resolution: {integrity: sha512-ByhHIuNyKD9giwkkLqzezZ9y5bALW8VNY6xXcP+VxoH4JBDKjU5WNnsiD4HJdglHECdV+lyaxhvQjTUbRboiTA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -3375,24 +3401,12 @@ packages: '@typescript-eslint/visitor-keys': 5.38.0 dev: true - /@typescript-eslint/type-utils/5.38.0_7ilbxdl5iguzcjriqqcg2m5cku: - resolution: {integrity: sha512-iZq5USgybUcj/lfnbuelJ0j3K9dbs1I3RICAJY9NZZpDgBYXmuUlYQGzftpQA9wC8cKgtS6DASTvF3HrXwwozA==} + /@typescript-eslint/scope-manager/5.39.0: + resolution: {integrity: sha512-/I13vAqmG3dyqMVSZPjsbuNQlYS082Y7OMkwhCfLXYsmlI0ca4nkL7wJ/4gjX70LD4P8Hnw1JywUVVAwepURBw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: '*' - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true dependencies: - '@typescript-eslint/typescript-estree': 5.38.0_typescript@4.8.3 - '@typescript-eslint/utils': 5.38.0_7ilbxdl5iguzcjriqqcg2m5cku - debug: 4.3.4 - eslint: 8.24.0 - tsutils: 3.21.0_typescript@4.8.3 - typescript: 4.8.3 - transitivePeerDependencies: - - supports-color + '@typescript-eslint/types': 5.39.0 + '@typescript-eslint/visitor-keys': 5.39.0 dev: true /@typescript-eslint/type-utils/5.38.0_irgkl5vooow2ydyo6aokmferha: @@ -3415,11 +3429,36 @@ packages: - supports-color dev: true + /@typescript-eslint/type-utils/5.39.0_ypn2ylkkyfa5i233caldtndbqa: + resolution: {integrity: sha512-KJHJkOothljQWzR3t/GunL0TPKY+fGJtnpl+pX+sJ0YiKTz3q2Zr87SGTmFqsCMFrLt5E0+o+S6eQY0FAXj9uA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '*' + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/typescript-estree': 5.39.0_typescript@4.8.4 + '@typescript-eslint/utils': 5.39.0_ypn2ylkkyfa5i233caldtndbqa + debug: 4.3.4 + eslint: 8.24.0 + tsutils: 3.21.0_typescript@4.8.4 + typescript: 4.8.4 + transitivePeerDependencies: + - supports-color + dev: true + /@typescript-eslint/types/5.38.0: resolution: {integrity: sha512-HHu4yMjJ7i3Cb+8NUuRCdOGu2VMkfmKyIJsOr9PfkBVYLYrtMCK/Ap50Rpov+iKpxDTfnqvDbuPLgBE5FwUNfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true + /@typescript-eslint/types/5.39.0: + resolution: {integrity: sha512-gQMZrnfEBFXK38hYqt8Lkwt8f4U6yq+2H5VDSgP/qiTzC8Nw8JO3OuSUOQ2qW37S/dlwdkHDntkZM6SQhKyPhw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + /@typescript-eslint/typescript-estree/5.38.0_typescript@4.8.3: resolution: {integrity: sha512-6P0RuphkR+UuV7Avv7MU3hFoWaGcrgOdi8eTe1NwhMp2/GjUJoODBTRWzlHpZh6lFOaPmSvgxGlROa0Sg5Zbyg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -3441,22 +3480,25 @@ packages: - supports-color dev: true - /@typescript-eslint/utils/5.38.0_7ilbxdl5iguzcjriqqcg2m5cku: - resolution: {integrity: sha512-6sdeYaBgk9Fh7N2unEXGz+D+som2QCQGPAf1SxrkEr+Z32gMreQ0rparXTNGRRfYUWk/JzbGdcM8NSSd6oqnTA==} + /@typescript-eslint/typescript-estree/5.39.0_typescript@4.8.4: + resolution: {integrity: sha512-qLFQP0f398sdnogJoLtd43pUgB18Q50QSA+BTE5h3sUxySzbWDpTSdgt4UyxNSozY/oDK2ta6HVAzvGgq8JYnA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true dependencies: - '@types/json-schema': 7.0.11 - '@typescript-eslint/scope-manager': 5.38.0 - '@typescript-eslint/types': 5.38.0 - '@typescript-eslint/typescript-estree': 5.38.0_typescript@4.8.3 - eslint: 8.24.0 - eslint-scope: 5.1.1 - eslint-utils: 3.0.0_eslint@8.24.0 + '@typescript-eslint/types': 5.39.0 + '@typescript-eslint/visitor-keys': 5.39.0 + debug: 4.3.4 + globby: 11.1.0 + is-glob: 4.0.3 + semver: 7.3.7 + tsutils: 3.21.0_typescript@4.8.4 + typescript: 4.8.4 transitivePeerDependencies: - supports-color - - typescript dev: true /@typescript-eslint/utils/5.38.0_irgkl5vooow2ydyo6aokmferha: @@ -3477,6 +3519,24 @@ packages: - typescript dev: true + /@typescript-eslint/utils/5.39.0_ypn2ylkkyfa5i233caldtndbqa: + resolution: {integrity: sha512-+DnY5jkpOpgj+EBtYPyHRjXampJfC0yUZZzfzLuUWVZvCuKqSdJVC8UhdWipIw7VKNTfwfAPiOWzYkAwuIhiAg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + '@types/json-schema': 7.0.11 + '@typescript-eslint/scope-manager': 5.39.0 + '@typescript-eslint/types': 5.39.0 + '@typescript-eslint/typescript-estree': 5.39.0_typescript@4.8.4 + eslint: 8.24.0 + eslint-scope: 5.1.1 + eslint-utils: 3.0.0_eslint@8.24.0 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + /@typescript-eslint/visitor-keys/5.38.0: resolution: {integrity: sha512-MxnrdIyArnTi+XyFLR+kt/uNAcdOnmT+879os7qDRI+EYySR4crXJq9BXPfRzzLGq0wgxkwidrCJ9WCAoacm1w==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -3485,6 +3545,14 @@ packages: eslint-visitor-keys: 3.3.0 dev: true + /@typescript-eslint/visitor-keys/5.39.0: + resolution: {integrity: sha512-yyE3RPwOG+XJBLrhvsxAidUgybJVQ/hG8BhiJo0k8JSAYfk/CshVcxf0HwP4Jt7WZZ6vLmxdo1p6EyN3tzFTkg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + '@typescript-eslint/types': 5.39.0 + eslint-visitor-keys: 3.3.0 + dev: true + /@vitejs/plugin-vue/3.1.2_vite@3.1.4+vue@3.2.40: resolution: {integrity: sha512-3zxKNlvA3oNaKDYX0NBclgxTQ1xaFdL7PzwF6zj9tGFziKwmBa3Q/6XcJQxudlT81WxDjEhHmevvIC4Orc1LhQ==} engines: {node: ^14.18.0 || >=16.0.0} @@ -3496,6 +3564,24 @@ packages: vue: 3.2.40 dev: true + /@vitest/coverage-c8/0.23.4_gkhtrnfwk72a2xpsvrk7h3dcna: + resolution: {integrity: sha512-jmD00a5DQH9gu9K+YdvVhcMuv2CzHvU4gCnySS40Ec5hKlXtlCzRfNHl00VnhfuBeaQUmaQYe60BLT413HyDdg==} + dependencies: + c8: 7.12.0 + vitest: 0.23.4_gkhtrnfwk72a2xpsvrk7h3dcna + transitivePeerDependencies: + - '@edge-runtime/vm' + - '@vitest/browser' + - '@vitest/ui' + - happy-dom + - jsdom + - less + - sass + - stylus + - supports-color + - terser + dev: true + /@vitest/coverage-c8/0.23.4_y2hohvmcqnhseytaw4yjcnsnkm: resolution: {integrity: sha512-jmD00a5DQH9gu9K+YdvVhcMuv2CzHvU4gCnySS40Ec5hKlXtlCzRfNHl00VnhfuBeaQUmaQYe60BLT413HyDdg==} dependencies: @@ -3717,6 +3803,13 @@ packages: acorn-walk: 7.2.0 dev: true + /acorn-globals/7.0.1: + resolution: {integrity: sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==} + dependencies: + acorn: 8.8.0 + acorn-walk: 8.2.0 + dev: true + /acorn-jsx/5.3.2_acorn@8.8.0: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: @@ -5036,7 +5129,7 @@ packages: layout-base: 2.0.1 dev: false - /cosmiconfig-typescript-loader/4.1.0_3owiowz3ujipd4k6pbqn3n7oui: + /cosmiconfig-typescript-loader/4.1.0_nxlrwu45zhpwmwjzs33dzt3ak4: resolution: {integrity: sha512-HbWIuR5O+XO5Oj9SZ5bzgrD4nN+rfhrm2PMb0FVx+t+XIvC45n8F0oTNnztXtspWGw0i2IzHaUWFD5LzV1JB4A==} engines: {node: '>=12', npm: '>=6'} peerDependencies: @@ -5047,8 +5140,8 @@ packages: dependencies: '@types/node': 14.18.29 cosmiconfig: 7.0.1 - ts-node: 10.9.1_ck2axrxkiif44rdbzjywaqjysa - typescript: 4.8.3 + ts-node: 10.9.1_sqjhzn5m3vxyw66a2xhtc43hby + typescript: 4.8.4 dev: true /cosmiconfig/7.0.1: @@ -6037,6 +6130,15 @@ packages: string-template: 0.2.1 dev: true + /esbuild-android-64/0.15.10: + resolution: {integrity: sha512-UI7krF8OYO1N7JYTgLT9ML5j4+45ra3amLZKx7LO3lmLt1Ibn8t3aZbX5Pu4BjWiqDuJ3m/hsvhPhK/5Y/YpnA==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + /esbuild-android-64/0.15.8: resolution: {integrity: sha512-bVh8FIKOolF7/d4AMzt7xHlL0Ljr+mYKSHI39TJWDkybVWHdn6+4ODL3xZGHOxPpdRpitemXA1WwMKYBsw8dGw==} engines: {node: '>=12'} @@ -6048,6 +6150,15 @@ packages: dev: true optional: true + /esbuild-android-arm64/0.15.10: + resolution: {integrity: sha512-EOt55D6xBk5O05AK8brXUbZmoFj4chM8u3riGflLa6ziEoVvNjRdD7Cnp82NHQGfSHgYR06XsPI8/sMuA/cUwg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + /esbuild-android-arm64/0.15.8: resolution: {integrity: sha512-ReAMDAHuo0H1h9LxRabI6gwYPn8k6WiUeyxuMvx17yTrJO+SCnIfNc/TSPFvDwtK9MiyiKG/2dBYHouT/M0BXQ==} engines: {node: '>=12'} @@ -6057,6 +6168,15 @@ packages: dev: true optional: true + /esbuild-darwin-64/0.15.10: + resolution: {integrity: sha512-hbDJugTicqIm+WKZgp208d7FcXcaK8j2c0l+fqSJ3d2AzQAfjEYDRM3Z2oMeqSJ9uFxyj/muSACLdix7oTstRA==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + /esbuild-darwin-64/0.15.8: resolution: {integrity: sha512-KaKcGfJ+yto7Fo5gAj3xwxHMd1fBIKatpCHK8znTJLVv+9+NN2/tIPBqA4w5rBwjX0UqXDeIE2v1xJP+nGEXgA==} engines: {node: '>=12'} @@ -6066,6 +6186,15 @@ packages: dev: true optional: true + /esbuild-darwin-arm64/0.15.10: + resolution: {integrity: sha512-M1t5+Kj4IgSbYmunf2BB6EKLkWUq+XlqaFRiGOk8bmBapu9bCDrxjf4kUnWn59Dka3I27EiuHBKd1rSO4osLFQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + /esbuild-darwin-arm64/0.15.8: resolution: {integrity: sha512-8tjEaBgAKnXCkP7bhEJmEqdG9HEV6oLkF36BrMzpfW2rgaw0c48Zrxe+9RlfeGvs6gDF4w+agXyTjikzsS3izw==} engines: {node: '>=12'} @@ -6075,6 +6204,15 @@ packages: dev: true optional: true + /esbuild-freebsd-64/0.15.10: + resolution: {integrity: sha512-KMBFMa7C8oc97nqDdoZwtDBX7gfpolkk6Bcmj6YFMrtCMVgoU/x2DI1p74DmYl7CSS6Ppa3xgemrLrr5IjIn0w==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + /esbuild-freebsd-64/0.15.8: resolution: {integrity: sha512-jaxcsGHYzn2L0/lffON2WfH4Nc+d/EwozVTP5K2v016zxMb5UQMhLoJzvLgBqHT1SG0B/mO+a+THnJCMVg15zw==} engines: {node: '>=12'} @@ -6084,6 +6222,15 @@ packages: dev: true optional: true + /esbuild-freebsd-arm64/0.15.10: + resolution: {integrity: sha512-m2KNbuCX13yQqLlbSojFMHpewbn8wW5uDS6DxRpmaZKzyq8Dbsku6hHvh2U+BcLwWY4mpgXzFUoENEf7IcioGg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + /esbuild-freebsd-arm64/0.15.8: resolution: {integrity: sha512-2xp2UlljMvX8HExtcg7VHaeQk8OBU0CSl1j18B5CcZmSDkLF9p3utuMXIopG3a08fr9Hv+Dz6+seSXUow/G51w==} engines: {node: '>=12'} @@ -6093,6 +6240,15 @@ packages: dev: true optional: true + /esbuild-linux-32/0.15.10: + resolution: {integrity: sha512-guXrwSYFAvNkuQ39FNeV4sNkNms1bLlA5vF1H0cazZBOLdLFIny6BhT+TUbK/hdByMQhtWQ5jI9VAmPKbVPu1w==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + /esbuild-linux-32/0.15.8: resolution: {integrity: sha512-9u1E54BRz1FQMl86iaHK146+4ID2KYNxL3trLZT4QLLx3M7Q9n4lGG3lrzqUatGR2cKy8c33b0iaCzsItZWkFg==} engines: {node: '>=12'} @@ -6102,6 +6258,15 @@ packages: dev: true optional: true + /esbuild-linux-64/0.15.10: + resolution: {integrity: sha512-jd8XfaSJeucMpD63YNMO1JCrdJhckHWcMv6O233bL4l6ogQKQOxBYSRP/XLWP+6kVTu0obXovuckJDcA0DKtQA==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /esbuild-linux-64/0.15.8: resolution: {integrity: sha512-4HxrsN9eUzJXdVGMTYA5Xler82FuZUu21bXKN42zcLHHNKCAMPUzD62I+GwDhsdgUBAUj0tRXDdsQHgaP6v0HA==} engines: {node: '>=12'} @@ -6111,6 +6276,15 @@ packages: dev: true optional: true + /esbuild-linux-arm/0.15.10: + resolution: {integrity: sha512-6N8vThLL/Lysy9y4Ex8XoLQAlbZKUyExCWyayGi2KgTBelKpPgj6RZnUaKri0dHNPGgReJriKVU6+KDGQwn10A==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + /esbuild-linux-arm/0.15.8: resolution: {integrity: sha512-7DVBU9SFjX4+vBwt8tHsUCbE6Vvl6y6FQWHAgyw1lybC5gULqn/WnjHYHN2/LJaZRsDBvxWT4msEgwLGq1Wd3Q==} engines: {node: '>=12'} @@ -6120,6 +6294,15 @@ packages: dev: true optional: true + /esbuild-linux-arm64/0.15.10: + resolution: {integrity: sha512-GByBi4fgkvZFTHFDYNftu1DQ1GzR23jws0oWyCfhnI7eMOe+wgwWrc78dbNk709Ivdr/evefm2PJiUBMiusS1A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /esbuild-linux-arm64/0.15.8: resolution: {integrity: sha512-1OCm7Aq0tEJT70PbxmHSGYDLYP8DKH8r4Nk7/XbVzWaduo9beCjGBB+tGZIHK6DdTQ3h00/4Tb/70YMH/bOtKg==} engines: {node: '>=12'} @@ -6129,6 +6312,15 @@ packages: dev: true optional: true + /esbuild-linux-mips64le/0.15.10: + resolution: {integrity: sha512-BxP+LbaGVGIdQNJUNF7qpYjEGWb0YyHVSKqYKrn+pTwH/SiHUxFyJYSP3pqkku61olQiSBnSmWZ+YUpj78Tw7Q==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + /esbuild-linux-mips64le/0.15.8: resolution: {integrity: sha512-yeFoNPVFPEzZvFYBfUQNG2TjGRaCyV1E27OcOg4LOtnGrxb2wA+mkW3luckyv1CEyd00mpAg7UdHx8nlx3ghgA==} engines: {node: '>=12'} @@ -6138,6 +6330,15 @@ packages: dev: true optional: true + /esbuild-linux-ppc64le/0.15.10: + resolution: {integrity: sha512-LoSQCd6498PmninNgqd/BR7z3Bsk/mabImBWuQ4wQgmQEeanzWd5BQU2aNi9mBURCLgyheuZS6Xhrw5luw3OkQ==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /esbuild-linux-ppc64le/0.15.8: resolution: {integrity: sha512-CEyMMUUNabXibw8OSNmBXhOIGhnjNVl5Lpseiuf00iKN0V47oqDrbo4dsHz1wH62m49AR8iG8wpDlTqfYgKbtg==} engines: {node: '>=12'} @@ -6147,6 +6348,15 @@ packages: dev: true optional: true + /esbuild-linux-riscv64/0.15.10: + resolution: {integrity: sha512-Lrl9Cr2YROvPV4wmZ1/g48httE8z/5SCiXIyebiB5N8VT7pX3t6meI7TQVHw/wQpqP/AF4SksDuFImPTM7Z32Q==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /esbuild-linux-riscv64/0.15.8: resolution: {integrity: sha512-OCGSOaspMUjexSCU8ZiA0UnV/NiRU+s2vIfEcAQWQ6u32R+2luyfh/4ZaY6jFbylJE07Esc/yRvb9Q5fXuClXA==} engines: {node: '>=12'} @@ -6156,6 +6366,15 @@ packages: dev: true optional: true + /esbuild-linux-s390x/0.15.10: + resolution: {integrity: sha512-ReP+6q3eLVVP2lpRrvl5EodKX7EZ1bS1/z5j6hsluAlZP5aHhk6ghT6Cq3IANvvDdscMMCB4QEbI+AjtvoOFpA==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + /esbuild-linux-s390x/0.15.8: resolution: {integrity: sha512-RHdpdfxRTSrZXZJlFSLazFU4YwXLB5Rgf6Zr5rffqSsO4y9JybgtKO38bFwxZNlDXliYISXN/YROKrG9s7mZQA==} engines: {node: '>=12'} @@ -6165,6 +6384,15 @@ packages: dev: true optional: true + /esbuild-netbsd-64/0.15.10: + resolution: {integrity: sha512-iGDYtJCMCqldMskQ4eIV+QSS/CuT7xyy9i2/FjpKvxAuCzrESZXiA1L64YNj6/afuzfBe9i8m/uDkFHy257hTw==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + /esbuild-netbsd-64/0.15.8: resolution: {integrity: sha512-VolFFRatBH09T5QMWhiohAWCOien1R1Uz9K0BRVVTBgBaVBt7eArsXTKxVhUgRf2vwu2c2SXkuP0r7HLG0eozw==} engines: {node: '>=12'} @@ -6174,6 +6402,15 @@ packages: dev: true optional: true + /esbuild-openbsd-64/0.15.10: + resolution: {integrity: sha512-ftMMIwHWrnrYnvuJQRJs/Smlcb28F9ICGde/P3FUTCgDDM0N7WA0o9uOR38f5Xe2/OhNCgkjNeb7QeaE3cyWkQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + /esbuild-openbsd-64/0.15.8: resolution: {integrity: sha512-HTAPlg+n4kUeE/isQxlCfsOz0xJGNoT5LJ9oYZWFKABfVf4Ycu7Zlf5ITgOnrdheTkz8JeL/gISIOCFAoOXrSA==} engines: {node: '>=12'} @@ -6183,6 +6420,15 @@ packages: dev: true optional: true + /esbuild-sunos-64/0.15.10: + resolution: {integrity: sha512-mf7hBL9Uo2gcy2r3rUFMjVpTaGpFJJE5QTDDqUFf1632FxteYANffDZmKbqX0PfeQ2XjUDE604IcE7OJeoHiyg==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + /esbuild-sunos-64/0.15.8: resolution: {integrity: sha512-qMP/jR/FzcIOwKj+W+Lb+8Cfr8GZHbHUJxAPi7DUhNZMQ/6y7sOgRzlOSpRrbbUntrRZh0MqOyDhJ3Gpo6L1QA==} engines: {node: '>=12'} @@ -6200,6 +6446,15 @@ packages: dev: true optional: true + /esbuild-windows-32/0.15.10: + resolution: {integrity: sha512-ttFVo+Cg8b5+qHmZHbEc8Vl17kCleHhLzgT8X04y8zudEApo0PxPg9Mz8Z2cKH1bCYlve1XL8LkyXGFjtUYeGg==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + /esbuild-windows-32/0.15.8: resolution: {integrity: sha512-RKR1QHh4iWzjUhkP8Yqi75PPz/KS+b8zw3wUrzw6oAkj+iU5Qtyj61ZDaSG3Qf2vc6hTIUiPqVTqBH0NpXFNwg==} engines: {node: '>=12'} @@ -6209,6 +6464,15 @@ packages: dev: true optional: true + /esbuild-windows-64/0.15.10: + resolution: {integrity: sha512-2H0gdsyHi5x+8lbng3hLbxDWR7mKHWh5BXZGKVG830KUmXOOWFE2YKJ4tHRkejRduOGDrBvHBriYsGtmTv3ntA==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + /esbuild-windows-64/0.15.8: resolution: {integrity: sha512-ag9ptYrsizgsR+PQE8QKeMqnosLvAMonQREpLw4evA4FFgOBMLEat/dY/9txbpozTw9eEOYyD3a4cE9yTu20FA==} engines: {node: '>=12'} @@ -6218,6 +6482,15 @@ packages: dev: true optional: true + /esbuild-windows-arm64/0.15.10: + resolution: {integrity: sha512-S+th4F+F8VLsHLR0zrUcG+Et4hx0RKgK1eyHc08kztmLOES8BWwMiaGdoW9hiXuzznXQ0I/Fg904MNbr11Nktw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + /esbuild-windows-arm64/0.15.8: resolution: {integrity: sha512-dbpAb0VyPaUs9mgw65KRfQ9rqiWCHpNzrJusoPu+LpEoswosjt/tFxN7cd2l68AT4qWdBkzAjDLRon7uqMeWcg==} engines: {node: '>=12'} @@ -6227,6 +6500,36 @@ packages: dev: true optional: true + /esbuild/0.15.10: + resolution: {integrity: sha512-N7wBhfJ/E5fzn/SpNgX+oW2RLRjwaL8Y0ezqNqhjD6w0H2p0rDuEz2FKZqpqLnO8DCaWumKe8dsC/ljvVSSxng==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/android-arm': 0.15.10 + '@esbuild/linux-loong64': 0.15.10 + esbuild-android-64: 0.15.10 + esbuild-android-arm64: 0.15.10 + esbuild-darwin-64: 0.15.10 + esbuild-darwin-arm64: 0.15.10 + esbuild-freebsd-64: 0.15.10 + esbuild-freebsd-arm64: 0.15.10 + esbuild-linux-32: 0.15.10 + esbuild-linux-64: 0.15.10 + esbuild-linux-arm: 0.15.10 + esbuild-linux-arm64: 0.15.10 + esbuild-linux-mips64le: 0.15.10 + esbuild-linux-ppc64le: 0.15.10 + esbuild-linux-riscv64: 0.15.10 + esbuild-linux-s390x: 0.15.10 + esbuild-netbsd-64: 0.15.10 + esbuild-openbsd-64: 0.15.10 + esbuild-sunos-64: 0.15.10 + esbuild-windows-32: 0.15.10 + esbuild-windows-64: 0.15.10 + esbuild-windows-arm64: 0.15.10 + dev: true + /esbuild/0.15.8: resolution: {integrity: sha512-Remsk2dmr1Ia65sU+QasE6svJbsHe62lzR+CnjpUvbZ+uSYo1SitiOWPRfZQkCu82YWZBBKXiD/j0i//XWMZ+Q==} engines: {node: '>=12'} @@ -6382,8 +6685,8 @@ packages: - typescript dev: true - /eslint-plugin-jest/27.0.4_zkp6l2tlaisogzmthlfexujswu: - resolution: {integrity: sha512-BuvY78pHMpMJ6Cio7sKg6jrqEcnRYPUc4Nlihku4vKx3FjlmMINSX4vcYokZIe+8TKcyr1aI5Kq7vYwgJNdQSA==} + /eslint-plugin-jest/27.1.0_4rkgrv37dc3yt652qtbljgksbi: + resolution: {integrity: sha512-sqojX5GKzQ8+PScF9rJ7dRMtu0NEIWsaDMLwRRvVE28mnWctZe5VAti394Nmut11vPwgxck9XnDmmjx/U9NowQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: '@typescript-eslint/eslint-plugin': ^5.0.0 @@ -6395,10 +6698,10 @@ packages: jest: optional: true dependencies: - '@typescript-eslint/eslint-plugin': 5.38.0_4gkcvl6qsi23tqqawfqgcwtp54 - '@typescript-eslint/utils': 5.38.0_7ilbxdl5iguzcjriqqcg2m5cku + '@typescript-eslint/eslint-plugin': 5.39.0_xyciw6oqjoiiono4dhv3uhn5my + '@typescript-eslint/utils': 5.39.0_ypn2ylkkyfa5i233caldtndbqa eslint: 8.24.0 - jest: 29.1.1_pliq7kienpvt4xqyxfwljzmzmq + jest: 29.1.1_ahjkdke2ds2w5gj6yhynj4mjsq transitivePeerDependencies: - supports-color - typescript @@ -8239,7 +8542,7 @@ packages: '@jest/expect': 29.1.0 '@jest/test-result': 29.1.0 '@jest/types': 29.1.0 - '@types/node': 18.7.21 + '@types/node': 18.8.1 chalk: 4.1.2 co: 4.6.0 dedent: 0.7.0 @@ -8258,7 +8561,7 @@ packages: - supports-color dev: true - /jest-cli/29.1.1_pliq7kienpvt4xqyxfwljzmzmq: + /jest-cli/29.1.1_ahjkdke2ds2w5gj6yhynj4mjsq: resolution: {integrity: sha512-nz/JNtqDFf49R2KgeZ9+6Zl1uxSuRsg/tICC+DHMh+bQ0co6QqBPWKg3FtW4534bs8/J2YqFC2Lct9DZR24z0Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true @@ -8275,7 +8578,7 @@ packages: exit: 0.1.2 graceful-fs: 4.2.10 import-local: 3.1.0 - jest-config: 29.1.1_pliq7kienpvt4xqyxfwljzmzmq + jest-config: 29.1.1_ahjkdke2ds2w5gj6yhynj4mjsq jest-util: 29.1.0 jest-validate: 29.1.0 prompts: 2.4.2 @@ -8286,7 +8589,7 @@ packages: - ts-node dev: true - /jest-config/29.1.1_pliq7kienpvt4xqyxfwljzmzmq: + /jest-config/29.1.1_ahjkdke2ds2w5gj6yhynj4mjsq: resolution: {integrity: sha512-o2iZrQMOiF54zOw1kOcJGmfKzAW+V2ajZVWxbt+Ex+g0fVaTkk215BD/GFhrviuic+Xk7DpzUmdTT9c1QfsPqg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: @@ -8301,7 +8604,7 @@ packages: '@babel/core': 7.12.3 '@jest/test-sequencer': 29.1.0 '@jest/types': 29.1.0 - '@types/node': 18.7.21 + '@types/node': 18.8.1 babel-jest: 29.1.0_@babel+core@7.12.3 chalk: 4.1.2 ci-info: 3.4.0 @@ -8321,7 +8624,7 @@ packages: pretty-format: 29.1.0 slash: 3.0.0 strip-json-comments: 3.1.1 - ts-node: 10.9.1_ke6ijd35va4xbeayrnhu4zwagm + ts-node: 10.9.1_jrs6fgrkrfl5zdawlcdiuhuotq transitivePeerDependencies: - supports-color dev: true @@ -8361,7 +8664,7 @@ packages: '@jest/environment': 29.1.1 '@jest/fake-timers': 29.1.1 '@jest/types': 29.1.0 - '@types/node': 18.7.21 + '@types/node': 18.8.1 jest-mock: 29.1.1 jest-util: 29.1.0 dev: true @@ -8377,7 +8680,7 @@ packages: dependencies: '@jest/types': 29.1.0 '@types/graceful-fs': 4.1.5 - '@types/node': 18.7.21 + '@types/node': 18.8.1 anymatch: 3.1.2 fb-watchman: 2.0.2 graceful-fs: 4.2.10 @@ -8416,7 +8719,7 @@ packages: chalk: 1.1.3 get-stdin: 5.0.1 glur: 1.1.2 - jest: 29.1.1_pliq7kienpvt4xqyxfwljzmzmq + jest: 29.1.1_ahjkdke2ds2w5gj6yhynj4mjsq lodash: 4.17.21 mkdirp: 0.5.6 pixelmatch: 5.3.0 @@ -8463,7 +8766,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.1.0 - '@types/node': 18.7.21 + '@types/node': 18.8.1 jest-util: 29.1.0 dev: true @@ -8518,7 +8821,7 @@ packages: '@jest/test-result': 29.1.0 '@jest/transform': 29.1.0 '@jest/types': 29.1.0 - '@types/node': 18.7.21 + '@types/node': 18.8.1 chalk: 4.1.2 emittery: 0.10.2 graceful-fs: 4.2.10 @@ -8549,7 +8852,7 @@ packages: '@jest/test-result': 29.1.0 '@jest/transform': 29.1.0 '@jest/types': 29.1.0 - '@types/node': 18.7.21 + '@types/node': 18.8.1 chalk: 4.1.2 cjs-module-lexer: 1.2.2 collect-v8-coverage: 1.0.1 @@ -8605,7 +8908,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.1.0 - '@types/node': 18.7.21 + '@types/node': 18.8.1 chalk: 4.1.2 ci-info: 3.4.0 graceful-fs: 4.2.10 @@ -8630,7 +8933,7 @@ packages: dependencies: '@jest/test-result': 29.1.0 '@jest/types': 29.1.0 - '@types/node': 18.7.21 + '@types/node': 18.8.1 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.10.2 @@ -8642,12 +8945,12 @@ packages: resolution: {integrity: sha512-yr7RFRAxI+vhL/cGB9B0FhD+QfaWh1qSxurx7gLP16dfmqhG8w75D/CQFU8ZetvhiQqLZh8X0C4rxwsZy6HITQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@types/node': 18.7.21 + '@types/node': 18.8.1 merge-stream: 2.0.0 supports-color: 8.1.1 dev: true - /jest/29.1.1_pliq7kienpvt4xqyxfwljzmzmq: + /jest/29.1.1_ahjkdke2ds2w5gj6yhynj4mjsq: resolution: {integrity: sha512-Doe41PZ8MvGLtOZIW2RIVu94wa7jm/N775BBloVXk/G/vV6VYnDCOxBwrqekEgrd3Pn/bv8b5UdB2x0pAoQpwQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true @@ -8660,7 +8963,7 @@ packages: '@jest/core': 29.1.1_ts-node@10.9.1 '@jest/types': 29.1.0 import-local: 3.1.0 - jest-cli: 29.1.1_pliq7kienpvt4xqyxfwljzmzmq + jest-cli: 29.1.1_ahjkdke2ds2w5gj6yhynj4mjsq transitivePeerDependencies: - '@types/node' - supports-color @@ -8783,6 +9086,47 @@ packages: - utf-8-validate dev: true + /jsdom/20.0.1: + resolution: {integrity: sha512-pksjj7Rqoa+wdpkKcLzQRHhJCEE42qQhl/xLMUKHgoSejaKOdaXEAnqs6uDNwMl/fciHTzKeR8Wm8cw7N+g98A==} + engines: {node: '>=14'} + peerDependencies: + canvas: ^2.5.0 + peerDependenciesMeta: + canvas: + optional: true + dependencies: + abab: 2.0.6 + acorn: 8.8.0 + acorn-globals: 7.0.1 + cssom: 0.5.0 + cssstyle: 2.3.0 + data-urls: 3.0.2 + decimal.js: 10.4.1 + domexception: 4.0.0 + escodegen: 2.0.0 + form-data: 4.0.0 + html-encoding-sniffer: 3.0.0 + http-proxy-agent: 5.0.0 + https-proxy-agent: 5.0.1 + is-potential-custom-element-name: 1.0.1 + nwsapi: 2.2.2 + parse5: 7.1.1 + saxes: 6.0.0 + symbol-tree: 3.2.4 + tough-cookie: 4.1.2 + w3c-xmlserializer: 3.0.0 + webidl-conversions: 7.0.0 + whatwg-encoding: 2.0.0 + whatwg-mimetype: 3.0.0 + whatwg-url: 11.0.0 + ws: 8.9.0 + xml-name-validator: 4.0.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + dev: true + /jsesc/0.5.0: resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} hasBin: true @@ -12065,7 +12409,38 @@ packages: resolution: {integrity: sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==} dev: true - /ts-node/10.9.1_ck2axrxkiif44rdbzjywaqjysa: + /ts-node/10.9.1_jrs6fgrkrfl5zdawlcdiuhuotq: + resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} + hasBin: true + peerDependencies: + '@swc/core': '>=1.2.50' + '@swc/wasm': '>=1.2.50' + '@types/node': '*' + typescript: '>=2.7' + peerDependenciesMeta: + '@swc/core': + optional: true + '@swc/wasm': + optional: true + dependencies: + '@cspotcode/source-map-support': 0.8.1 + '@tsconfig/node10': 1.0.9 + '@tsconfig/node12': 1.0.11 + '@tsconfig/node14': 1.0.3 + '@tsconfig/node16': 1.0.3 + '@types/node': 18.8.1 + acorn: 8.8.0 + acorn-walk: 8.2.0 + arg: 4.1.3 + create-require: 1.1.1 + diff: 4.0.2 + make-error: 1.3.6 + typescript: 4.8.4 + v8-compile-cache-lib: 3.0.1 + yn: 3.1.1 + dev: true + + /ts-node/10.9.1_sqjhzn5m3vxyw66a2xhtc43hby: resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true peerDependencies: @@ -12091,38 +12466,7 @@ packages: create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 4.8.3 - v8-compile-cache-lib: 3.0.1 - yn: 3.1.1 - dev: true - - /ts-node/10.9.1_ke6ijd35va4xbeayrnhu4zwagm: - resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} - hasBin: true - peerDependencies: - '@swc/core': '>=1.2.50' - '@swc/wasm': '>=1.2.50' - '@types/node': '*' - typescript: '>=2.7' - peerDependenciesMeta: - '@swc/core': - optional: true - '@swc/wasm': - optional: true - dependencies: - '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.9 - '@tsconfig/node12': 1.0.11 - '@tsconfig/node14': 1.0.3 - '@tsconfig/node16': 1.0.3 - '@types/node': 18.7.21 - acorn: 8.8.0 - acorn-walk: 8.2.0 - arg: 4.1.3 - create-require: 1.1.1 - diff: 4.0.2 - make-error: 1.3.6 - typescript: 4.8.3 + typescript: 4.8.4 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 dev: true @@ -12175,6 +12519,16 @@ packages: typescript: 4.8.3 dev: true + /tsutils/3.21.0_typescript@4.8.4: + resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} + engines: {node: '>= 6'} + peerDependencies: + typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' + dependencies: + tslib: 1.14.1 + typescript: 4.8.4 + dev: true + /tunnel-agent/0.6.0: resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} dependencies: @@ -12252,6 +12606,12 @@ packages: hasBin: true dev: true + /typescript/4.8.4: + resolution: {integrity: sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==} + engines: {node: '>=4.2.0'} + hasBin: true + dev: true + /uc.micro/1.0.6: resolution: {integrity: sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==} dev: true @@ -12702,7 +13062,7 @@ packages: terser: optional: true dependencies: - esbuild: 0.15.8 + esbuild: 0.15.10 postcss: 8.4.16 resolve: 1.22.1 rollup: 2.78.1 @@ -12729,7 +13089,7 @@ packages: terser: optional: true dependencies: - esbuild: 0.15.8 + esbuild: 0.15.10 postcss: 8.4.16 resolve: 1.22.1 rollup: 2.78.1 @@ -12747,7 +13107,7 @@ packages: vitepress: 1.0.0-alpha.19 dev: true - /vitepress-plugin-search/1.0.4-alpha.11_pva2cdrgfgaiwbwst2xhmwggw4: + /vitepress-plugin-search/1.0.4-alpha.11_yafhezb4qji4flzzwo3ufrgyx4: resolution: {integrity: sha512-fKJIpPj6QGQeXda31Dx5f9DtCYnPVHKQVsOUpnJOzahWHPPgGofslwwvwaeRMWIGvpslxi/m4RVK6C+ydqKukA==} engines: {node: ^14.13.1 || ^16.7.0 || >=18} peerDependencies: @@ -12755,7 +13115,7 @@ packages: vitepress: ^1.0.0-alpha.13 vue: '3' dependencies: - vite: 3.1.3 + vite: 3.1.4 vitepress: 1.0.0-alpha.19 dev: true @@ -12784,6 +13144,49 @@ packages: - terser dev: true + /vitest/0.23.4_gkhtrnfwk72a2xpsvrk7h3dcna: + resolution: {integrity: sha512-iukBNWqQAv8EKDBUNntspLp9SfpaVFbmzmM0sNcnTxASQZMzRw3PsM6DMlsHiI+I6GeO5/sYDg3ecpC+SNFLrQ==} + engines: {node: '>=v14.16.0'} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@vitest/browser': '*' + '@vitest/ui': '*' + happy-dom: '*' + jsdom: '*' + peerDependenciesMeta: + '@edge-runtime/vm': + optional: true + '@vitest/browser': + optional: true + '@vitest/ui': + optional: true + happy-dom: + optional: true + jsdom: + optional: true + dependencies: + '@types/chai': 4.3.3 + '@types/chai-subset': 1.3.3 + '@types/node': 18.7.21 + '@vitest/ui': 0.23.4 + chai: 4.3.6 + debug: 4.3.4 + jsdom: 20.0.1 + local-pkg: 0.4.2 + strip-literal: 0.4.2 + tinybench: 2.1.5 + tinypool: 0.3.0 + tinyspy: 1.0.2 + vite: 3.1.3 + transitivePeerDependencies: + - less + - sass + - stylus + - supports-color + - terser + dev: true + /vitest/0.23.4_y2hohvmcqnhseytaw4yjcnsnkm: resolution: {integrity: sha512-iukBNWqQAv8EKDBUNntspLp9SfpaVFbmzmM0sNcnTxASQZMzRw3PsM6DMlsHiI+I6GeO5/sYDg3ecpC+SNFLrQ==} engines: {node: '>=v14.16.0'} @@ -13109,6 +13512,19 @@ packages: optional: true dev: true + /ws/8.9.0: + resolution: {integrity: sha512-Ja7nszREasGaYUYCI2k4lCKIRTt+y7XuqVoHR44YpI49TtryyqbqvDMn5eqfW7e6HzTukDRIsXqzVHScqRcafg==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + dev: true + /x-is-string/0.1.0: resolution: {integrity: sha512-GojqklwG8gpzOVEVki5KudKNoq7MbbjYZCbyWzEz7tyPA7eleiE0+ePwOWQQRb5fm86rD3S8Tc0tSFf3AOv50w==} dev: true