diff --git a/.gitignore b/.gitignore index fe7dc72..3b8c75a 100644 --- a/.gitignore +++ b/.gitignore @@ -14,6 +14,7 @@ doc/api/ *.iml dist/ +!workers/badgen/dist node_modules/ worker/ wrangler.toml diff --git a/LICENSE.txt b/LICENSE.txt index 9153746..74b29c2 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2020 Adam Yarris +Copyright (c) 2021 Adam Yarris Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/README.md b/README.md index 3d23c84..df9b52d 100644 --- a/README.md +++ b/README.md @@ -66,7 +66,7 @@ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} ![](https://byob.yarr.is/RubbaBoy/BYOBTest/git) -#### Custom Icon +#### Custom Icon URL ```yaml NAME: custom @@ -78,6 +78,19 @@ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} ![](https://byob.yarr.is/RubbaBoy/BYOBTest/custom) +#### Custom Icon Inline SVG + +```yaml +NAME: custom +ICON: 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMjRweCIgZmlsbD0iI0YwMCI+PHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPjxwYXRoIGQ9Ik0xMiAyMS4zNWwtMS40NS0xLjMyQzUuNCAxNS4zNiAyIDEyLjI4IDIgOC41IDIgNS40MiA0LjQyIDMgNy41IDNjMS43NCAwIDMuNDEuODEgNC41IDIuMDlDMTMuMDkgMy44MSAxNC43NiAzIDE2LjUgMyAxOS41OCAzIDIyIDUuNDIgMjIgOC41YzAgMy43OC0zLjQgNi44Ni04LjU1IDExLjU0TDEyIDIxLjM1eiIvPjwvc3ZnPg==' +STATUS: 'Custom Icons' +COLOR: blue +GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} +``` + +The above `ICON` value is a Base64 encoded representation of a colored SVG [Material Icon](https://fonts.google.com/icons?selected=Material+Icons). This provides for great flexibility, with the benefit of keeping it local. The resulting icon is: + +![](https://byob.yarr.is/RubbaBoy/BYOBTest/custom_inline) Other URL schemes are supported as well. The general scheme after `https://byob.yarr.is/` is: @@ -131,17 +144,17 @@ ACTOR: RubbaBoy ### Inputs | **Name** | **Required** | **Default** | **Description** | -| ------------ | ----- | --------------- | ------------------------------------------------------------ | -| name | yes | | The alphanumeric (-_ included) name of the badge, 32 chars or less. Used only for identification purposes. | -| label | yes | | The left label of the badge, usually static. | -| icon | yes | | An icon name from [badgen](https://badgen.net/), or an SVG URL | -| status | yes | | The right status as the badge, usually based on results. | -| color | yes | | The hex color of the badge. | -| github_token | yes | | The GitHub token to push to the current repo. Suggested as `${{ secrets.GITHUB_TOKEN }}` | -| path | no | `/shields.json` | The absolute file path to store the JSON data to. | -| branch | no | `shields` | The branch to contain the shields file. | -| repository | no | | Allows to publish json to an alternate repo. Useful to host the json in a public repo and have the action in a private repo. | -| actor | no | | Required if repository is specified to use along with custom GitHub Access token | +| ------------ | ------------ | --------------- | ------------------------------------------------------------ | +| name | yes | | The alphanumeric (-_ included) name of the badge, 32 chars or less. Used only for identification purposes. | +| label | yes | | The left label of the badge, usually static. | +| icon | yes | | An icon name from [badgen](https://badgen.net/), an SVG URL, or a Base64 Encoded representation of an SVG | +| status | yes | | The right status as the badge, usually based on results. | +| color | yes | | The hex color of the badge. | +| github_token | yes | | The GitHub token to push to the current repo. Suggested as `${{ secrets.GITHUB_TOKEN }}` | +| path | no | `/shields.json` | The absolute file path to store the JSON data to. | +| branch | no | `shields` | The branch to contain the shields file. | +| repository | no | | Allows to publish json to an alternate repo. Useful to host the json in a public repo and have the action in a private repo. | +| actor | no | | Required if repository is specified to use along with custom GitHub Access token | ## How It Works @@ -149,4 +162,4 @@ BYOB is very simple, consisting of the GitHub Action and a small server-side scr When the Action is invoked, it will update only the badge names that have changed, to allow for more persistent data. Whenever a badge is invoked, a push is made to the repo updating the file. No badge data is stored server-side. -The actual badges hosted by [Badgen](https://badgen.net/) (A great service, check it out if you have a chance!). The hosted endpoint uses the code [here](https://github.com/RubbaBoy/BYOB/blob/master/index.js). It reads the given repositories' JSON file containing shields data in it, and returns a Badgen-generated badge. This uses the static Badgen `/badge` endpoint to allow for much less caching, as paired with GitHub's aggressive caching it can be extremely slow. +The actual badges are generated by [Badgen](https://github.com/badgen/badgen) (A great service/API, check it out if you have a chance!). The hosted endpoint uses the code [here](https://github.com/RubbaBoy/BYOB/blob/master/workers/src/handler.ts). It reads the given repositories' JSON file containing shields data in it, and returns a Badgen-generated badge. diff --git a/workers/badgen/LICENSE.md b/workers/badgen/LICENSE.md new file mode 100644 index 0000000..13e5e80 --- /dev/null +++ b/workers/badgen/LICENSE.md @@ -0,0 +1,5 @@ +Copyright 2018 Amio + +Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/workers/badgen/README.md b/workers/badgen/README.md new file mode 100644 index 0000000..5556687 --- /dev/null +++ b/workers/badgen/README.md @@ -0,0 +1,8 @@ +This is the packed source of [badgen](https://github.com/badgen/badgen), the badge-generator powering BYOB. The normal npm package could not be used, as Cloudflare Workers can't use Node libraries. I might just be stupid and overlooking something very basic, if so, let me know! + +To rebuild these sources from the latest badgen commit, invoke +```bash +./build_badgen.sh +``` + +And the packaged files will be updated. diff --git a/workers/badgen/build_badgen.sh b/workers/badgen/build_badgen.sh new file mode 100644 index 0000000..dbab9e4 --- /dev/null +++ b/workers/badgen/build_badgen.sh @@ -0,0 +1,16 @@ +rm -rf dist/*.js dist/*.js.map dist/*.ts +git clone https://github.com/badgen/badgen +cd badgen +npm run build:node +npm run build:types +cd .. +cp badgen/dist/*.* ./dist +rm -rf badgen + +rm icons.json +git clone https://github.com/badgen/badgen-icons +node badgen-icons/build.js +cp badgen-icons/icons.json ./dist +rm -rf badgen-icons + +echo "Updated badgen & icons!" diff --git a/workers/badgen/dist/calc-text-width.d.ts b/workers/badgen/dist/calc-text-width.d.ts new file mode 100644 index 0000000..9a7f69b --- /dev/null +++ b/workers/badgen/dist/calc-text-width.d.ts @@ -0,0 +1 @@ +export declare const Verdana110: ([...text]: Iterable) => number; diff --git a/workers/badgen/dist/color-presets.d.ts b/workers/badgen/dist/color-presets.d.ts new file mode 100644 index 0000000..99e17d6 --- /dev/null +++ b/workers/badgen/dist/color-presets.d.ts @@ -0,0 +1,14 @@ +declare const _default: { + green: string; + blue: string; + red: string; + yellow: string; + orange: string; + purple: string; + pink: string; + grey: string; + gray: string; + cyan: string; + black: string; +}; +export default _default; diff --git a/workers/badgen/dist/icons.json b/workers/badgen/dist/icons.json new file mode 100644 index 0000000..2e81e54 --- /dev/null +++ b/workers/badgen/dist/icons.json @@ -0,0 +1,367 @@ +{ + "airbnb": { + "base64": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9IiNmZmYiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTEyIDE4LjNhMTEuMyAxMS4zIDAgMDEtMi40LTQuNWMtLjMtMS0uMi0xLjguMy0yLjVzMS4yLTEgMi4xLTEgMS42LjMgMi4xIDEgLjYgMS41LjMgMi41Yy0uMyAxLjMtMSAyLjgtMi40IDQuNXptOS42IDEuMWMtLjIgMS4zLTEgMi4zLTIuMiAyLjgtMi4zIDEtNC41LS42LTYuNC0yLjcgMy4yLTQgMy43LTcgMi40LTktLjgtMS4yLTItMS43LTMuNC0xLjctMyAwLTQuNiAyLjUtNCA1LjQuNCAxLjUgMS40IDMuMyAzIDUuMy0xIDEtMiAxLjgtMi43IDIuMy0uNy40LTEuMy42LTEuOS42LTIuNi40LTQuNy0yLjItMy44LTQuOGwuOS0yYzEuNC0zLjIgMy4yLTYuOCA1LjMtMTAuOWwuNi0xLjJjLjQtLjguNi0xLjIgMS4zLTEuNi40LS4zLjgtLjQgMS4zLS40IDEgMCAxLjcuNiAyIDFsLjYgMSAuNSAxIC4xLjIgNS4zIDEwLjguNiAxLjMuMy43Yy4yLjcuMyAxLjMuMiAxLjl6bTEuMi0yLjRsLS45LTJ2LS4xYy0xLjktNC0zLjYtNy42LTUuMy0xMC44bC0uMS0uMkMxNS4zIDEuNSAxNC41IDAgMTIgMCA5LjYgMCA4LjUgMS43IDcuNSAzLjlsLS4xLjJDNS43IDcuMyA0IDEwLjkgMiAxNC45bC0uNiAxLjMtLjMuOEE1LjEgNS4xIDAgMDA2IDI0aC42YzEuOC0uMiAzLjYtMS40IDUuNC0zLjQgMS44IDIgMy42IDMuMiA1LjQgMy40aC42YzMuNCAwIDYuMi0zLjMgNC44LTd6Ii8+PC9zdmc+DQo=", + "width": 13, + "height": 13 + }, + "apple": { + "base64": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNC41IDE0LjUiPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0xMC42NyA3LjMzYy0uMDItMS43NSAxLjQyLTIuNTggMS40OS0yLjYzYTMuMjIgMy4yMiAwIDAwLTIuNTMtMS4zNmMtMS4wNy0uMTEtMi4xLjYzLTIuNjQuNjNzLTEuMzgtLjYyLTIuMjctLjZBMy4zOCAzLjM4IDAgMDAxLjg2IDUuMWMtMS4yMiAyLjExLS4zMSA1LjI0Ljg3IDYuOTYuNTguODMgMS4yOCAxLjc3IDIuMTggMS43NC44OC0uMDMgMS4yLS41NyAyLjI2LS41N3MxLjM2LjU3IDIuMjguNTVjLjk0LS4wMSAxLjU0LS44NSAyLjExLTEuNy42Ny0uOTYuOTQtMS45Ljk2LTEuOTUtLjAyLS4wMi0xLjgzLS43LTEuODUtMi44ek04LjkzIDIuMmMuNDgtLjU4LjgtMS40LjcyLTIuMi0uNy4wMy0xLjU0LjQ2LTIuMDQgMS4wNGEyLjkgMi45IDAgMDAtLjczIDIuMTRjLjc4LjA2IDEuNTctLjQgMi4wNS0uOTh6Ii8+PC9zdmc+DQo=", + "width": 13, + "height": 13 + }, + "appveyor": { + "base64": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9IiNlZWUiIHZpZXdCb3g9IjAgMCA0MCA0MCI+PHBhdGggZD0iTTIwIDBjMTEgMCAyMCA5IDIwIDIwcy05IDIwLTIwIDIwUzAgMzEgMCAyMCA5IDAgMjAgMHptNC45IDIzLjljMi4yLTIuOCAxLjktNi44LS45LTguOS0yLjctMi4xLTYuNy0xLjYtOSAxLjItMi4yIDIuOC0xLjkgNi44LjkgOC45IDIuOCAyLjEgNi44IDEuNiA5LTEuMnptLTEwLjcgMTNjMS4yLjUgMy44IDEgNS4xIDFMMjggMjUuM2MyLjgtNC4yIDIuMS05LjktMS44LTEzLTMuNS0yLjgtOC40LTIuNy0xMS45IDBMMi4yIDIxLjZjLjMgMy4yIDEuMiA0LjggMS4yIDQuOWw2LjktNy41Yy0uNSAzLjMuNyA2LjcgMy41IDguOCAyLjQgMS45IDUuMyAyLjQgOC4xIDEuOGwtNy43IDcuM3oiLz48L3N2Zz4NCg==", + "width": 13, + "height": 13 + }, + "atom": { + "base64": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9IiNmZmYiIHZpZXdCb3g9IjAgMCA3Ni4zIDY5LjciPjxwYXRoIGQ9Ik00Mi43IDMzLjhjLjUgMi40LTEgNC44LTMuNCA1LjNzLTQuNy0xLTUuMi0zLjQgMS00LjggMy40LTUuM2MyLjMtLjUgNC43IDEgNS4yIDMuNE0yNC40IDBjLTEuMiAwLTIuMy4zLTMuMy44YTkuNSA5LjUgMCAwMC00LjcgNi40Yy0uNyAyLjgtLjcgNi0uMyA5LjdsLjYgMy42LTQgMWMtMy41IDEtNi41IDIuNC04LjcgNC4yYTkuNCA5LjQgMCAwMC00IDYuOCA5IDkgMCAwMDIuNSA2LjRjMS41IDEuOCAzLjcgMy4zIDYuMyA0LjZhMi41IDIuNSAwIDEwMi4zLTQuNCAxNyAxNyAwIDAxLTQuOS0zLjVjLTEtMS4xLTEuMi0yLTEuMi0yLjggMC0xIC42LTIgMi0zLjIgMS42LTEuMiA0LTIuNCA3LjEtMy4zbDMuOC0xYTc5LjQgNzkuNCAwIDAwMi41IDcuOGMtMy4yIDYtNS42IDExLjktNi43IDE3LS45IDMuNi0xLjIgNi44LS44IDkuNi40IDIuOCAxLjYgNS40IDMuOCA3IDIuMyAxLjQgNSAxLjQgNy43LjcgMi42LS43IDUuMy0yLjEgOC4yLTQuMWEyLjUgMi41IDAgMTAtMy00LjFjLTIuNCAxLjgtNC43IDMtNi41IDMuNC0xLjguNS0yLjkuMy0zLjYtLjItLjctLjUtMS40LTEuNC0xLjYtMy40LS4zLTEuOSAwLTQuNi42LTcuOEE2MSA2MSAwIDAxMjMgMzkuMWwxLjQgMi45YzQuNiA5IDEwIDE2LjQgMTUuNSAyMS40YTI3IDI3IDAgMDA4IDUuNGMyLjYgMSA1LjQgMS4zIDcuOCAwYTkuNCA5LjQgMCAwMDQuNi02LjFjLjctMi43LjgtNS44LjQtOS4zLS43LTYuOS0zLjMtMTUuMy03LjUtMjRhMi41IDIuNSAwIDEwLTQuNSAyLjFjNCA4LjMgNi40IDE2LjQgNyAyMi41LjQgMyAuMiA1LjYtLjMgNy40LS40IDEuNy0xLjEgMi42LTIgMy0uNy40LTEuOS41LTMuNy0uMy0xLjgtLjctNC0yLjItNi41LTQuNGE3NC4zIDc0LjMgMCAwMS0xNC40LTIwIDkyLjMgOTIuMyAwIDAxLTIuOC02LjJsMi43LTQuNmE5NS4xIDk1LjEgMCAwMTMuNi01LjIgOTMuMiA5My4yIDAgMDE2LjQuMWM5LjUuNSAxOC4xIDIuNCAyNCA1YTIzIDIzIDAgMDE2LjggNGMxLjQgMS40IDEuOCAyLjUgMS44IDMuNC0uMiAxLjQtMi4zIDMuOC02LjggNS42YTIuNSAyLjUgMCAxMDEuOCA0LjdjNS41LTIuMiA5LjUtNS40IDEwLTEwYTkuNiA5LjYgMCAwMC0zLjMtNy4zYy0yLjEtMi00LjktMy42LTguMi01YTc3LjYgNzcuNiAwIDAwLTI1LjktNS40aC0yLjZjMy0zLjQgNi02LjMgOC44LTguNCAyLjUtMiA1LTMuMyA2LjgtMy45IDEuOS0uNSAzLS40IDMuOCAwIC44LjYgMS4zIDEuNSAxLjYgMy4xLjMgMS43LjIgNC0uMyA2LjhhMi41IDIuNSAwIDEwNC45IDFjLjYtMy4yLjgtNiAuMy04LjctLjQtMi41LTEuNi01LTMuOC02LjMtMi40LTEuNS01LjItMS41LTgtLjdTNDUgNC4yIDQyIDYuNGMtNCAzLTguMiA3LjQtMTIuMiAxMi40LTIuOC4yLTUuNi40LTguMi44bC0uNi0zLjNjLS4zLTMuMi0uMi02IC4zLTcuOC41LTEuOSAxLjItMi44IDItMy4yLjctLjQgMS42LS41IDMgMGExOSAxOSAwIDAxNS40IDMuMSAyLjUgMi41IDAgMTAzLTRBMjMuMiAyMy4yIDAgMDAyNy44LjdDMjYuNy4yIDI1LjUgMCAyNC40IDB6TTI2IDI0bC0xLjUgMi4yLS44IDEuMy0uOS0zTDI2IDI0eiIvPjwvc3ZnPg0K", + "width": 13, + "height": 13 + }, + "awesome": { + "base64": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgLTQwIDY0MCAzMDAiPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik02MTQuMiA5MWwtMTUwLTEzNy42LTIxLjEgMjNMNTY4LjEgOTFINzUuNGwxMjUtMTE0LjctMjEuMS0yM0wyOS4zIDkxaC0uMXY5MC43YzAgNDEgMzkuNSA3NC40IDg4IDc0LjRoOTIuNWM0OC41IDAgODgtMzMuNCA4OC03NC40di01OS42aDQ4djU5LjZjMCA0MSAzOS41IDc0LjQgODggNzQuNGg5Mi41YzQ4LjUgMCA4OC0zMy40IDg4LTc0LjRWOTF6Ii8+PC9zdmc+DQo=", + "width": 20, + "height": 13 + }, + "azure": { + "base64": "data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTUuNDgzIDIxLjNIMjRMMTQuMDI1IDQuMDEzbC0zLjAzOCA4LjM0NyA1LjgzNiA2LjkzOEw1LjQ4MyAyMS4zek0xMy4yMyAyLjdMNi4xMDUgOC42NzcgMCAxOS4yNTNoNS41MDV2LjAxNEwxMy4yMyAyLjd6Ii8+PC9zdmc+DQo=", + "width": 13, + "height": 13 + }, + "azurepipelines": { + "base64": "data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTEuOCAxOEgwdjZoNnYtMS44SDEuOHpNMjMgMGgtOC45M2EyIDIgMCAwMC0xLjY3Ljg5TDkgNS45OUgxYTEgMSAwIDAwLTEgMXY1LjVsMy41IDMuNjEgMS4yLTEuMjkgMS41IDEuNUw1IDE3LjUzbDEuNDggMS40OCAxLjIyLTEuMjIgMS41IDEuNTFMOCAyMC41bDMuNSAzLjVIMTdhMSAxIDAgMDAxLTF2LThsNS4xMS0zLjRBMiAyIDAgMDAyNCA5LjkyVjFhMSAxIDAgMDAtMS0xem0tNSA5YTMgMyAwIDExMC02IDMgMyAwIDAxMCA2eiIvPjwvc3ZnPg0K", + "width": 13, + "height": 13 + }, + "bitcoin-lightning": { + "base64": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyODAgMjgwIj48cGF0aCBmaWxsPSIjZmZmIiBkPSJNMTcyIDJsLTM5IDEwMXMwIDUgNSA1aDEwMXMwIDIgMyA1TDkzIDI3OGMtMy0yLTMtNS0zLTdsNTItMTExdi0xMEgzOHYtMTBMMTY1IDJoN3oiLz48L3N2Zz4NCg==", + "width": 13, + "height": 13 + }, + "bitcoin": { + "base64": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NCA2NCI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTU2IDI2YzEtNy00LTExLTExLTEzbDItOS01LTEtMyA4LTQtMSAyLTgtNS0yLTMgOS0zLTEtOC0yLTEgNiA0IDFjMiAxIDIgMiAyIDRsLTIgMTAtNCAxNC0yIDItNC0xLTMgNiA3IDIgNCAxLTIgOSA1IDEgMy05IDQgMS0yIDkgNSAyIDItOWMxMCAxIDE3IDEgMjAtOCAyLTcgMC0xMS01LTEzIDMtMSA2LTMgNy04ek00MyA0M2MtMSA3LTEzIDQtMTcgM2wzLTEyYzQgMCAxNiAyIDE0IDl6bTItMTdjLTIgNi0xMSAzLTE0IDJsMy0xMWMzIDEgMTMgMiAxMSA5eiIvPjwvc3ZnPg0K", + "width": 13, + "height": 13 + }, + "buymeacoffee": { + "base64": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTYuODk4IDBMNS42ODIgMi43OTlIMy44Nzd2Mi41MjNoLjY5NUw1LjI3NyA5LjhINC4xNzJsMS40NiA4LjIzLjkzOC0uMDEuOTQyIDUuOThoOC45MThsLjA2Mi0uNC44OC01LjU4Ljg4OC4wMSAxLjQ2LTguMjMxaC0xLjA1NmwuNzA1LTQuNDc3aC43NTZWMi44aC0xLjkxOEwxNi45OSAwSDYuODk4em0uNTI4LjgwNWg5LjA0M2wuNzcxIDEuNzhINi42NTJsLjc3NC0xLjc4em0tMi43NSAyLjc5N0gxOS4zMnYuOTJINC42NzZ2LS45MnptLjQ1MyA2Ljk5OGgxMy42MzVsLTEuMTc2IDYuNjItNS42NDktLjA2LTUuNjM2LjA2LTEuMTc0LTYuNjJ6Ii8+PC9zdmc+DQo=", + "width": 13, + "height": 13 + }, + "chrome": { + "base64": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9IiNmZmYiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTE2LjIxIDguNjlsNi43Mi0xLjY4QTEyLjAzIDEyLjAzIDAgMDEyNCAxMS45N2ExMi4wOSAxMi4wOSAwIDAxLTEyLjk0IDEybDQuOS04LjM1Yy4zNi0uMzguNjYtLjguODktMS4yN2E1LjQ1IDUuNDUgMCAwMC0uMDUtNC43NSA1LjE2IDUuMTYgMCAwMC0uNTktLjkxem0tMy4yNCA4LjU3bC0yLjEyIDYuNjlBMTIuMDIgMTIuMDIgMCAwMTIuMDQgNS4yOGw0LjgzIDguMzhjLjE4LjU0IDEuMTIgMi41OCAzLjA3IDMuMzIgMSAuMzkgMi4wNC40OCAzLjAzLjI5em0tMS05LjY0YTQuNTIgNC41MiAwIDAwLTQuMjggMy41MSA0LjQ4IDQuNDggMCAwMDEuMjQgNC4wMyA0LjQ5IDQuNDkgMCAwMDQuNzMuOTMgNC40OSA0LjQ5IDAgMDAyLjctMy40MyA0LjUzIDQuNTMgMCAwMC0yLjUtNC42MyA0LjQxIDQuNDEgMCAwMC0xLjg5LS40MXpNNy4wNSA5Ljk2bC00LjgtNUExMi4wNCAxMi4wNCAwIDAxMTIgMGM0LjU2IDAgOC43NCAyLjYgMTAuNzcgNi42N0gxMi41NmE1LjU0IDUuNTQgMCAwMC00LjI3IDEuNDYgNS4zNCA1LjM0IDAgMDAtMS4yNCAxLjgzeiIvPjwvc3ZnPg0K", + "width": 13, + "height": 13 + }, + "circleci": { + "base64": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMDAgMjAwIj48cGF0aCBmaWxsPSIjZmZmIiBkPSJNNzQuNyAxMDBjMC0xMy4yIDEwLjctMjMuOCAyMy44LTIzLjggMTMuMSAwIDIzLjggMTAuNyAyMy44IDIzLjggMCAxMy4xLTEwLjcgMjMuOC0yMy44IDIzLjgtMTMuMSAwLTIzLjgtMTAuNy0yMy44LTIzLjh6TTk4LjUgMEM1MS44IDAgMTIuNyAzMiAxLjYgNzUuMmMtLjEuMy0uMS42LS4xIDEgMCAyLjYgMi4xIDQuOCA0LjggNC44aDQwLjNjMS45IDAgMy42LTEuMSA0LjMtMi44IDguMy0xOCAyNi41LTMwLjYgNDcuNi0zMC42IDI4LjkgMCA1Mi40IDIzLjUgNTIuNCA1Mi40cy0yMy41IDUyLjQtNTIuNCA1Mi40Yy0yMS4xIDAtMzkuMy0xMi41LTQ3LjYtMzAuNi0uOC0xLjYtMi40LTIuOC00LjMtMi44SDYuM2MtMi42IDAtNC44IDIuMS00LjggNC44IDAgLjMuMS42LjEgMUMxMi42IDE2OCA1MS44IDIwMCA5OC41IDIwMGM1NS4yIDAgMTAwLTQ0LjggMTAwLTEwMFMxNTMuNyAwIDk4LjUgMHoiLz48L3N2Zz4NCg==", + "width": 13, + "height": 13 + }, + "cocoapods": { + "base64": "data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTguODEyIDE3LjE3NmMtMi45NjggMC00Ljk1Ni0yLjMwOC00Ljk1Ni01LjE3NiAwLTIuNzA1IDEuNzc2LTUuMTc2IDQuOTEtNS4xNzYgMi40MDcgMCAzLjg1NiAxLjQ0NSA0LjIwNyAzLjM1N2gzLjk1QzE2LjQ3OSA2LjQyNyAxMy41MSAzLjQyIDguNzE4IDMuNDIgMy4xMzEgMy40MiAwIDcuNTIzIDAgMTJjMCA0LjU3IDMuMjk1IDguNTggOC43NjYgOC41OCA0LjU4IDAgNy41NDktMi44MjIgOC4xOC02LjI3MmgtNC4wMmMtLjQ2NyAxLjYwOS0xLjkxNiAyLjg2OC00LjExNCAyLjg2OHpNMjQgMTIuMDY4bC0zLjQ2NiA4LjA1NS0yLjM4LTEuMDIyIDIuOTkyLTcuMDU1LTMuMDEtNy4wOTYgMi40MzMtMS4wNDJ6Ii8+PC9zdmc+DQo=", + "width": 13, + "height": 13 + }, + "codacy": { + "base64": "data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTMuODgzIDkuODI1YTguNDYgOC40NiAwIDAxMy44NzUtNS4wN2wuMDQtLjAyMS0xLjgwMy0zLjExM0MzLjI3NiAzLjIxMiAxLjI2OCA1Ljc2OS40MjcgOC44MWwtLjAyLjA4NHptNS45NDEtNS45MzFhOC4yNDYgOC4yNDYgMCAwMTIuMTY0LS4yODNoLjAwNVYuMDE2aC0uMDE5YTEyLjA1IDEyLjA1IDAgMDAtMy4xNjUuNDIxbC4wODQtLjAyem00LjM1NC4wMDNhOC40NDkgOC40NDkgMCAwMTUuMDYzIDMuODc1bC4wMjEuMDQgMy4xMTctMS43OTljLTEuNTkxLTIuNzE4LTQuMTQ2LTQuNzI2LTcuMTg2LTUuNTY4bC0uMDg0LS4wMnpNMCAxMnYuMDA2YzAgMS4xLjE0OCAyLjE2NS40MjUgMy4xNzdsLS4wMi0uMDg0IDMuNDc2LS45MjlhOC4xNCA4LjE0IDAgMDEtLjI4NC0yLjE2MXYtLjAwOHptMS42MDUgNS45OTVjLjU1Ljk0MSAxLjE4IDEuNzU0IDEuOTAxIDIuNDc1bDIuNTUzLTIuNTRhOC41NiA4LjU2IDAgMDEtMS4zMTMtMS42OTVsLS4wMjItLjA0em00LjM5IDQuMzg1YTExLjc3IDExLjc3IDAgMDA1Ljk2NyAxLjYwNGguMDIxLS4wMDF2LTMuNTk1aC0uMDA0YTguMzA4IDguMzA4IDAgMDEtNC4yMjMtMS4xNDVsLjAzOS4wMjF6bTEzLjI2NC02LjE3NWE4LjQ0IDguNDQgMCAwMS01LjAzNCAzLjg4NGwtLjA1OS4wMTQuOTMxIDMuNDc2YzMuMTI0LS44NiA1LjY4MS0yLjg2MyA3LjI0Ni01LjUybC4wMzEtLjA1NnptNC4zMTgtLjk4NGMuMjY4LS45NDcuNDIzLTIuMDM1LjQyMy0zLjE1OSAwLTEuMDg3LS4xNDQtMi4xNC0uNDE1LTMuMTQybC4wMTkuMDg0LTMuNDg2LjkzMWMuMTc1LjY0LjI3NSAxLjM3NC4yNzUgMi4xMzIgMCAuNzktLjEwOSAxLjU1NS0uMzEzIDIuMjhsLjAxNC0uMDU5eiIvPjwvc3ZnPg0K", + "width": 13, + "height": 13 + }, + "codebeat": { + "base64": "data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjZmZmIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMzEgMzMxIj48cGF0aCBjbGFzcz0ic29sby1sb2dvLTAiIGQ9Ik03NC42IDExNS44bDM2LjEgNzUuMyA2Ni0xNTAuMyA3Mi44IDE3OS43IDIzLjItNTIuMkgzMzF2LTIuOEMzMzEgNzQuMSAyNTYuOSAwIDE2NS41IDBTMCA3NC4xIDAgMTY1LjV2Mi44aDQ3LjhsMjYuOC01Mi41eiIvPjxwYXRoIGNsYXNzPSJzb2xvLWxvZ28tMCIgZD0iTTI0OSAyNjIuN2wtNzMuNC0xNDEuOS02NS4zIDExNy41TDc0IDE1NC42bC0xNy43IDM0LjhIMS43QzEzLjMgMjY5LjUgODIuMiAzMzEgMTY1LjUgMzMxczE1Mi4zLTYxLjYgMTYzLjgtMTQxLjdoLTQ1LjZMMjQ5IDI2Mi43eiIvPjwvc3ZnPg0K", + "width": 13, + "height": 13 + }, + "codeclimate": { + "base64": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9IiNmZmYiIHZpZXdCb3g9IjAgMCAxNi40IDEwIj48cGF0aCBkPSJNMTEuMSAwbC0zIDMgMS44IDJMMTEgMy42bDMuNiAzLjUgMS45LTEuOHpNNy41IDMuOUw1LjYgMiAuOCA2LjdsLS44LjggMiAxLjguNy0uN0w1IDYuMmwuNS0uNSAyIDEuOSAxLjcgMS43IDItMS44LTEuOS0xLjh6Ii8+PC9zdmc+DQo=", + "width": 18, + "height": 13 + }, + "codecov": { + "base64": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMDAgMjAwIj48cGF0aCBmaWxsPSIjZmZmIiBkPSJNMTYxLjg0IDI3LjJBODguOTMgODguOTMgMCAwMDk4LjUxIDFDNDkuMSAxLjAzIDguODggNDEuMjggOC44NCA5MC43bC0uMDIgMTUuMiAxMS44LTguMDVhNDcuNjIgNDcuNjIgMCAwMTM1LjQ3LTcuNThBNDYgNDYgMCAwMTc5LjQ5IDEwMmE2My4zIDYzLjMgMCAwMTUuMjktOS40OCA2MS42NyA2MS42NyAwIDAxMi42Ni0zLjZBNjEuMjQgNjEuMjQgMCAwMDU4LjggNzUuNDRhNjMuMjYgNjMuMjYgMCAwMC0xMS4yOS0xLjAyIDYxLjg4IDYxLjg4IDAgMDAtMjIuNiA0LjI1IDc0Ljc4IDc0Ljc4IDAgMDE3My42Ny02Mi42IDczLjkzIDczLjkzIDAgMDE1Mi42MiAyMS43OSA3My41NiA3My41NiAwIDAxMjAuODYgNDAuNjkgNjIuNzQgNjIuNzQgMCAwMC0yMi43LTQuM2wtMS4wOS0uMDFhNjMuNjkgNjMuNjkgMCAwMC02LjQ2LjQzYy0uNC4wNC0uOC4xLTEuMi4xNi0uOTYuMTMtMS45Mi4yOC0yLjg3LjQ1bC0xLjI2LjI0Yy0uOTcuMi0xLjkzLjQyLTIuODguNjZsLTEuMDMuMjZjLTEuMi4zMy0yLjM5LjY5LTMuNTYgMS4wOGwtLjIxLjA3Yy0yLjY3LjktNS4yNSAyLTcuNzUgMy4yNWwtLjIuMWE2MC43IDYwLjcgMCAwMC0zLjQ0IDEuOWwtLjI4LjE2YTYwLjI4IDYwLjI4IDAgMDAtMTYuMTYgMTQuMTZjLS45NyAxLjItMS45IDIuNDQtMi43OSAzLjczYTY0IDY0IDAgMDAtNC4zMiA3LjM5bC0uMDkuMThhNjEuNjIgNjEuNjIgMCAwMC02LjQgMjguNDN2Ljg0YTU2LjQ3IDU2LjQ3IDAgMDAuMjggNC4zMmwuMiAxLjY4LjEzIDEuMDhhNjEuOSA2MS45IDAgMDAyNS45NCA0Mi4yNGwxLjcxIDEuMS4wMi0uMDRhNjIuMDIgNjIuMDIgMCAwMDI1LjM3IDkuNDJsMS4yMi4xNiA5LjA5LTE0LjU4LTMuMjctLjA5Yy0yNS4xNC0uNjktNDUuNTgtMjEuNy00NS41OC00Ni44NWE0Ni45MyA0Ni45MyAwIDAxNDQuMDItNDYuOGwxLjU2LS4wNWMxMC4wMS0uMjYgMTkuODcgMi43IDI4LjI0IDguNGwxMS43NSA4IC4wMi0xNS4xMmE4OC45NiA4OC45NiAwIDAwLTI2LjIyLTYzLjQiLz48L3N2Zz4NCg==", + "width": 13, + "height": 13 + }, + "codeship": { + "base64": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjIgMiAxNiAxNiI+PHBhdGggZmlsbD0icmdiYSgyNTUsMjU1LDI1NSwwLjYpIiBkPSJNNS4yNzcgMTAuNzQ2Yy0uNzc3IDAtMS42NzcuMjg1LTIuNjIzIDEuMTQ2LjA5Mi4zMjMuMi42MzEuMzMuOTM5YS43Mi43MiAwIDAxLjI4NS0uMDU0Yy41NzcgMCAxLjIyMy41OTIgMS44MjMuNjU0LjQwOC4wMzggMS40OTMuNDU0IDIuODMxLjQ1NC44NTQgMCAxLjgtLjE3IDIuNzM5LS43MDhsLS41OTMtLjA3N2MtLjc3Ny0uMTc3LTIuMjMtMS4yNDYtMi4zMDctMS4zMTUtLjAwOC0uMDA4LTEuMDE2LTEuMDM5LTIuNDg1LTEuMDM5em00Ljc4NS04LjI1NGMtLjYwOCAwLTEuNS4yNTQtMS41LjQ3N3YxLjMyM2E4LjE1MiA4LjE1MiAwIDAxMS41MTUtLjE2OSA5IDkgMCAwMTEuNTE1LjE2MlYyLjk3N2MwLS4yMy0uOTIzLS40ODUtMS41My0uNDg1eiIvPjxwYXRoIGZpbGw9IiNmZmYiIGQ9Ik0yLjk4NSAxMi44MzhMMyAxMi44N2wtLjAxNS0uMDN6bTEwLjMyMy01LjU5MlY1LjYwOGMwLS4yMzEtMS45NTQtLjc0Ni0zLjIzMS0uNzQ2cy0zLjE3LjUyMy0zLjE3Ljc0NlY3LjIzYTExLjc1NiAxMS43NTYgMCAwMTMuMTQtMS41NDZjLjAwNy0uMDA4IDEuNzUzLjQ2OSAzLjI2IDEuNTYxem0uNzkyIDMuMjNjLS40ODUuMDkzLTEuMDU0Ljc5My0xLjc4NSAxLjQ5My4yOTMtMS4wMzguODE2LTIuMiAxLjc3LTMuMmE5Ljc0NiA5Ljc0NiAwIDAwLS43NzctLjYzOHYtLjAwOGMtLjk1NC0uNzA4LTIuMDYyLTEuMzE1LTMuMjE2LTEuNjQ2LS40NzcuMTIzLS45NDYuMzQ2LTEuMzg0LjU1NGExMSAxMSAwIDAwLTIuNjIzIDEuNzNjLjg0Ni44NjIgMS4zNTMgMS45NDcgMS42NjEgMi45NTRsLjAyMy4wNy4yMzkuMjE1Yy42LjUwOCAxLjI2OS45MjMgMi4wNDYgMS4xdi0uMDIzbC0uMzA4LTIuNDctLjA3Ny0xLjY2LjQxNi0xLjkwOS4zODQgMS45MDgtLjA5MiAxLjY3LS4yNzcgMi40NzZ2LjAyM2wuNTYyLjA3YTQuNDYzIDQuNDYzIDAgMDEtMy43OTMtLjA2MmMtLjU5Mi0uMjg1LTEuMTY5LS41NTQtMS44My0uNjIzLS43LS4wNy0xLjQuMDctMi4wNTQuMzN2LjAwOEwzIDEyLjg3YzEuMjU0IDIuODYyIDQuMTkyIDQuNzIzIDcuMzE1IDQuNjMxIDMuMDYyLS4wOTIgNS44NDctMi4wNyA2Ljk2Mi00LjkxNS4wNjEtLjE1NC4xMTUtLjMxNi4xNy0uNDctMS4wNTUtLjc4NC0yLjcwOS0xLjc2MS0zLjM0Ny0xLjYzOHoiLz48L3N2Zz4NCg==", + "width": 13, + "height": 13 + }, + "commonwl": { + "base64": "data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjZmZmIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTEyLjA2MyA5LjIwNWwtMy41NjUgMy41NjggMy41MTggMy41MTIgMS41NDUtMS41NDUtMS45NzUtMS45NjcgMi4wMjMtMi4wMjMtMS41NDYtMS41NDV6bTEuNTQzIDEzLjIxOEwxMS42IDIwLjM3NWwzLjc4Ni0zLjgxNS0xLjU1OS0xLjU3My01LjMzIDUuNDAzLjExNS4xMTQtLjAxNS4wMDggMy40NTYgMy40ODR6bTEuODk2LTEzLjU2NWwtMy42ODUtMy41NDEgMy42ODUtMy43MjJMMTMuOTM2IDAgOC41OTggNS4zNTJsLjEwOC4xMDF2LjAwN2w1LjI1MiA0Ljk0M3oiLz48L3N2Zz4NCg==", + "width": 10, + "height": 13 + }, + "deepscan": { + "base64": "data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjZmZmIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MiA0MCI+PHBhdGggZD0iTTEyLjQxIDM3LjZoMjAuMjFhMTIuODYgMTIuODYgMCAwMDguODktMy42OGgtMzhhMTIuNDQgMTIuNDQgMCAwMDguOSAzLjY4em0zNy4zMy0xMi4wOGwzLjQxLTYuMjljLjYtMSAuMjctMS41Ny0uOTItMS41N2gtMy43OWEyLjE2IDIuMTYgMCAwMC0yLjIyIDFsLTIgMi43MWExMi41OCAxMi41OCAwIDAwLTExLjY1LThoLTEuNjlsLS40My0yLjIyYTMgMyAwIDAwLTMuMi0yLjQ0SDI1VjQuMTdBNCA0IDAgMDAyMC44NiAwSDE2YS43Ny43NyAwIDAwLS44MS40OUE2Ljg4IDYuODggMCAwMDE1IDIuMDZhNC43OSA0Ljc5IDAgMDAuMjIgMS41N2MuMTEuMzMuMzMuNDkuODEuNDloMy4zMWExIDEgMCAwMTEuMTkgMS4xOXYzLjQxaC0yLjc2YTIuOTQgMi45NCAwIDAwLTMuMiAyLjQ0bC0uNDMgMi4yMmgtMS42OEExMi40IDEyLjQgMCAwMDAgMjUuNTJhMTIuMTggMTIuMTggMCAwMDIuMTEgNi43Mkg0M2ExOSAxOSAwIDAwMS4zNS0yLjU1bDIgMi43MWEyLjIgMi4yIDAgMDAyLjIyIDFoMy43OWMxLjE0IDAgMS40Ni0uNjUuOTItMS41N3ptLTM3LjU1IDBhMi44OSAyLjg5IDAgMDEtMi44Ny0yLjg3IDIuOTQgMi45NCAwIDAxMi44Ny0yLjkzIDIuOTQgMi45NCAwIDAxMi44NyAyLjkzIDIuODYgMi44NiAwIDAxLTIuODcgMi44N3ptMTAuMjkgMGEyLjg5IDIuODkgMCAwMS0yLjg3LTIuODcgMi45NCAyLjk0IDAgMDEyLjg3LTIuOTMgMyAzIDAgMDEyLjkzIDIuOTMgMi45IDIuOSAwIDAxLTIuOTIgMi44N3ptMTAuMjkgMGEyLjg5IDIuODkgMCAwMS0yLjg3LTIuODcgMi44NyAyLjg3IDAgMTE1Ljc0IDAgMi44NiAyLjg2IDAgMDEtMi44NiAyLjg3eiIvPjwvc3ZnPg0K", + "width": 13, + "height": 13 + }, + "dependabot": { + "base64": "data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgNTQgNTQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMzAgMTV2LTNoLTVhMSAxIDAgMDEtMS0xVjRhMSAxIDAgMDExLTFoN2ExIDEgMCAwMTEgMXYxMWgxNWEzIDMgMCAwMTMgM3YxMmgyYTEgMSAwIDAxMSAxdjEwYTEgMSAwIDAxLTEgMWgtMnY2YTMgMyAwIDAxLTMgM0g2YTMgMyAwIDAxLTMtM3YtNkgxYTEgMSAwIDAxLTEtMVYzMWExIDEgMCAwMTEtMWgyVjE4YTMgMyAwIDAxMy0zem02Ljg1NCAyMy42NDNsNi4yOS02LjI4OWExLjIxIDEuMjEgMCAwMDAtMS43MWwtMS4yOS0xLjI5YTEuMjEgMS4yMSAwIDAwLTEuNzEgMEwzNS45OTggMzMuNWwtMS42NDUtMS42NDVhMS4yMSAxLjIxIDAgMDAtMS43MSAwbC0xLjI5IDEuMjlhMS4yMSAxLjIxIDAgMDAwIDEuNzFsMy43OSAzLjc5YTEuMjEgMS4yMSAwIDAwMS43MSAwem0tMTMuNzEtNi4yODlsLTYuMjkgNi4yOWExLjIxIDEuMjEgMCAwMS0xLjcxIDBsLTMuNzktMy43OWExLjIxIDEuMjEgMCAwMTAtMS43MWwxLjI5LTEuMjlhMS4yMSAxLjIxIDAgMDExLjcxIDBMMTYgMzMuNWw0LjE0NC00LjE0NWExLjIxIDEuMjEgMCAwMTEuNzExIDBsMS4yOSAxLjI5YTEuMjEgMS4yMSAwIDAxMCAxLjcxeiIgZmlsbD0iI2ZmZiIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9zdmc+DQo=", + "width": 13, + "height": 13 + }, + "devrant": { + "base64": "data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjZmZmIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTExLjcyIDBDNS40ODItLjAxNSAxLjU5MiA0LjA0NiAxLjcwMSAxMC4zMjJjLS4wNzQgMy45MDcgMS40MzcgNy4wMDIgNC4xMjcgOC43MzRhMTAuMzQgMTAuMzQgMCAwMDIuMTM3Ljk5NWwyLjE3NCAzLjM1M2MuMzMzLjg0OC43Ljc3NC44NDgtLjExbC41OS0yLjY5aC40NDJjMi40NjkuMDczIDQuNTctLjUxNyA2LjIyOC0xLjU4NSAyLjYxNi0xLjczMyA0LjEyNi00Ljc5MSA0LjA1My04LjY5N0MyMi40MSAzLjk0OCAxOC40MzEtLjE0NCAxMi4wMTkuMDA0Yy0uMS0uMDAyLS4yLS4wMDQtLjI5OS0uMDA0em00LjU3MSA0LjYzNmMuMjU4IDAgLjUxNi4wOTIuNy4yNzZoLjAwMWMuMTg1LjE4NS4yOTUuNDQyLjI5NS43MzcgMCAuMTQ4IDAgLjI5NS0uMDc0LjQwNmwtMy43MjIgOS4yNWMtLjI1OC40NDEtLjYyNy41NTItLjg4NS41NTJhMS4wMDcgMS4wMDcgMCAwMS0uOTk0LS45OTVjMC0uMTQ4LjAzNy0uMjU4LjA3My0uNDA2bDMuNjg1LTkuMjEyYy4wNzMtLjE0Ny4xNDgtLjI1OC4yMjEtLjMzMmEuOTg5Ljk4OSAwIDAxLjctLjI3NnpNOS40NTYgNy41Yy4zMTMgMCAuNjI2LjEyLjg2Ni4zNTloLjAwMWMuMjIxLjIyMS4zNjguNTE2LjMzMS44NDggMCAuMzMyLS4xNDcuNTg5LS4zNjguODQ4LS4yMjIuMjU4LS41MTcuMzY5LS44NDguMzY5LS4zMzIgMC0uNTktLjE0OC0uODQ4LS4zNy0uMjU5LS4yMi0uMzctLjUxNS0uMzctLjg0N3MuMTQ5LS42MjcuMzctLjg0OGMuMjQtLjI0LjU1Mi0uMzYuODY2LS4zNnptMCA0Ljk3NGMuMzEzIDAgLjYyNi4xMi44NjYuMzZoLjAwMWMuMjIxLjI1OC4zNjguNTUzLjMzMS44NDhhMS4yIDEuMiAwIDAxLS4zNjguODQ4Yy0uMjIxLjI1OC0uNTE2LjM2OC0uODQ4LjM2OGExLjIgMS4yIDAgMDEtLjg0OC0uMzY4Yy0uMjU5LS4yMjItLjM3LS41MTYtLjM3LS44NDhzLjE0OS0uNjI3LjM3LS44NDhjLjI0LS4yNC41NTItLjM2Ljg2Ni0uMzZ6Ii8+PC9zdmc+DQo=", + "width": 12, + "height": 13 + }, + "discord": { + "base64": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1NjQgNDM0Ij48cGF0aCBmaWxsPSIjZmZmIiBkPSJNMTMxLjU1IDY2LjQ5YzI1Ljg4LTEzLjg5IDU0LjYzLTIzLjQgODQuMTYtMjQuMjlsMy45MyA0Ljc4Yy0yNi4xMiA3LjY1LTUxLjYgMTcuNzMtNzUuMSAzMS41Mi05LjcyIDUuOTktMTkuNiAxMS45Ny0yOC4wMiAxOS43MiAyMS4yLTEwLjU5IDQyLjg3LTIwLjY3IDY1Ljg4LTI2LjcxIDEyLjQtMy41IDI0Ljk0LTYuNzIgMzcuNzctOC4xOSAzMC43My00LjMyIDYyLTYuMjMgOTIuOTItMi43N2EzMzcuOSAzMzcuOSAwIDAxNjUuMDQgMTQuMDMgMzU2LjI3IDM1Ni4yNyAwIDAxNTMuNzUgMjMuMDFjLTQuNTktNC42NS0xMC4wNC04LjMxLTE1LjQ0LTExLjkyLTI0LjgxLTE2LjU1LTUyLjUyLTI4LjM0LTgwLjk0LTM3LjE1IDIuNTYtMi4zOCA0LjI0LTcuMDggOC40Ni02LjM0IDM3LjMgMi4zOCA3My4xNiAxNi45OCAxMDMuNDcgMzguNTEgMi4xNyAxLjQxIDQuNjMgMi43NiA1LjU2IDUuMzUgMTguOCAzNy43MiAzMi43NCA3Ny44IDQyLjMxIDExOC44MiA3LjkyIDM0LjQ4IDEyLjQ4IDY5Ljc3IDEyLjk5IDEwNS4xNi4wOCAxLjc3LjA4IDMuNjgtMS4xNyA1LjExLTIwLjExIDI4LjEtNTEuODkgNDYuMzEtODUuMjcgNTMuNzRhMTc3LjMgMTc3LjMgMCAwMS0zNC4wNCA0LjE4IDE1NjUuMSAxNTY1LjEgMCAwMS0yNS45NS0zMi4wNmMxMS45NS0zLjEyIDIzLjI2LTguMTkgMzQuMDktMTQuMDUgMTQuMTgtOC4zMSAyNy41My0xOC44MSAzNi45MS0zMi40Ni0xMy40NCA4LjYyLTI3LjQ5IDE2LjM2LTQyLjQ2IDIyLjAyYTM1OC44OSAzNTguODkgMCAwMS0yOS4xNSAxMC42N2MtMTYuOTMgNS40LTM0LjUzIDguMzItNTIuMTQgMTAuNC0yMC4zMiAyLjItNDAuODYgMS41NS02MS4xNC0uNzYtMjEuMDctMi4yNi00MS43LTcuNTgtNjEuOC0xNC4xOC0xNi41OC02LjAzLTMzLjM5LTExLjk4LTQ4LjM2LTIxLjQ5LTMuODMtMi40Mi03LjY1LTQuODQtMTEuNi03LjA2IDUuOTIgOS4xNCAxNC4yNCAxNi40IDIyLjY0IDIzLjE5IDEzLjczIDEwLjQ1IDI5LjUzIDE4LjAxIDQ2LjAyIDIyLjk3YTEzMjYuNjYgMTMyNi42NiAwIDAxLTIyLjY2IDI4LjAzYy0xLjggMS44Ny0yLjk3IDUuNC02LjE4IDQuNjlhMTgwLjA2IDE4MC4wNiAwIDAxLTQ2Ljc0LTguMTFjLTIwLjgyLTcuMi00MC42Ni0xOC4xNC01Ni4yNy0zMy44NS01LjQ0LTUuMzktMTAuNzgtMTEuMTYtMTQuNS0xNy45LS4zOS01OC43MyAxMS45MS0xMTcuMDMgMzEuNjMtMTcyLjE4IDcuMDYtMTkuNDQgMTUuMDItMzguNjMgMjQuNzQtNTYuODkgOC4wOC02Ljg5IDE3LjQyLTEyLjMgMjYuNjYtMTcuNTRtNjguNjQgMTIyLjg1Yy0xMy45NiAxLjU3LTI2LjE0IDExLjQxLTMxLjYyIDI0LjE4LTguODUgMTkuMTEtMi44IDQ0LjIxIDE0Ljc3IDU2LjIzIDguODggNi4xMyAyMC40NyA4LjM0IDMwLjkxIDUuNCAxMS40Ny0yLjgxIDIwLjg5LTExLjUzIDI1Ljk2LTIyLjAyIDguNTMtMTcuMyA1LjEyLTM5LjkxLTguOS01My4zNi04LjIzLTcuNjgtMTkuODYtMTIuMDEtMzEuMTItMTAuNDNtMTQxLjMyLjM0Yy0xOS41IDMuNjQtMzMuNSAyMi45Mi0zMy4yNSA0Mi4zNy0uMjQgMTUuMzQgNy40IDMwLjk0IDIwLjcgMzguOTcgOC44MiA1LjYyIDIwLjEzIDYuODIgMzAuMDkgMy44MyAxMS4wNy0zLjA4IDIwLjEtMTEuNjggMjQuOTctMjEuOTMgOC44NS0xOC4wMSA0LjM5LTQxLjg3LTExLjA5LTU0Ljg1YTM4LjIxIDM4LjIxIDAgMDAtMzEuNDItOC4zOXoiLz48L3N2Zz4NCg==", + "width": 13, + "height": 13 + }, + "dockbit": { + "base64": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzOCAzOCI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTI5LjA3MyA5Ljk2NEwxOC44OTggNC4wOTFhMy4yNTUgMy4yNTUgMCAwMC0zLjI1OSAwTDUuNDY1IDkuOTY0YTMuMjU5IDMuMjU5IDAgMDAtMS42MjkgMi44MjJ2MTEuNzQ5YzAgMS4xNjQuNjIxIDIuMjQgMS42MjkgMi44MmwxMC4xNzUgNS44NzdhMy4yNiAzLjI2IDAgMDAzLjI1OSAwbDEwLjE3NS01Ljg3N2EzLjI1MiAzLjI1MiAwIDAwMS42MjgtMi44MlYxMi43ODZhMy4yNjIgMy4yNjIgMCAwMC0xLjYyOS0yLjgyMm0tLjk3OCAxNC4yNjVjMCAuMzUtLjE4Ny42NzItLjQ4Ny44NDZsLTIuMzgxIDEuMzc3YS45ODEuOTgxIDAgMDEtLjk3OCAwbC0yLjM4My0xLjM3N2EuOTc1Ljk3NSAwIDAxLS40ODgtLjg0NlYyMS40OGMwLS4zNS4xODgtLjY3Mi40ODgtLjg0OGwyLjM4My0xLjM3NGEuOTcyLjk3MiAwIDAxLjk3OCAwbDIuMzgxIDEuMzc0YS45ODIuOTgyIDAgMDEuNDg3Ljg0OHYyLjc0OXoiLz48L3N2Zz4NCg==", + "width": 13, + "height": 13 + }, + "docker": { + "base64": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMjEuNyAxODkiPjxkZWZzPjxjbGlwUGF0aCBpZD0iYSI+PHBhdGggZD0iTTAgMTQxLjhoMTY2LjNWMEgweiIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNhKSIgdHJhbnNmb3JtPSJtYXRyaXgoMS40IDAgMCAtMS40IC0yIDE5MykiPjxwYXRoIGZpbGw9IiNmZmYiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTk0LjMgNzYuMkgxMTB2MTQuM0g5NC4zem0tMTguNiAwaDE1Ljd2MTQuM0g3NS43em0tMTguNiAwaDE1Ljd2MTQuM0g1Ny4xem0tMTguNiAwaDE1Ljd2MTQuM0gzOC41em0tMTguNyAwaDE1Ljh2MTQuM0gxOS44em0xOC43IDE3LjJoMTUuN3YxNC4zSDM4LjV6bTE4LjYgMGgxNS43djE0LjNINTcuMXptMTguNiAwaDE1Ljd2MTQuM0g3NS43em0wIDE3LjJoMTUuN3YxNC4zSDc1Ljd6bTgxLjYtMjZjLTMuNCAyLjItMTEuMyAzLTE3LjQgMmEyMyAyMyAwIDAxLTkuOCAxNS4xbC0zLjMgMi4yLTIuMi0zLjNhMjYgMjYgMCAwMS0zLjgtMTZjLjItMiAuOC01LjYgMi45LTguN2EyNCAyNCAwIDAwLTExLjUtMi42SDguNmwtLjItMS4yYy0xLTUuNy0xLTIzLjYgMTAuNy0zNy40QzI3LjkgMjQuMyA0MS4xIDE5IDU4LjUgMTljMzcuNSAwIDY1LjIgMTcuMiA3OC4yIDQ4LjYgNS4xLS4xIDE2LjEgMCAyMS44IDEwLjhsMS41IDMgLjUgMXoiLz48L2c+PC9zdmc+DQo=", + "width": 13, + "height": 13 + }, + "eclipse": { + "base64": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjQwIj48cGF0aCBmaWxsPSIjZmZmIiBkPSJNNzAuNCAxNTNIMzEuM2M1LjEgMTcuOCAxNC44IDMzLjcgMjguOCA0Ny44IDIyLjUgMjIuNSA0OS40IDMzLjcgODEgMzMuNyA2LjMgMCAxMi40LS41IDE4LjMtMS40IDIzLjgtMy42IDQ0LjYtMTQuMyA2Mi40LTMyLjMgMTQuMi0xNC4xIDIzLjktMzAgMjkuMS00Ny44SDcwLjR6TTQ4LjggOTkuOUgyOC40Yy0uOCA0LjUtMS4zIDkuMS0xLjUgMTMuOGgyMjguNGMtLjItNC43LS44LTkuMy0xLjUtMTMuOE0yNi45IDEyNi41Yy4yIDQuNy43IDkuMyAxLjUgMTMuOGgyMjUuNGMuNy00LjUgMS4zLTkuMSAxLjUtMTMuOG0tNC40LTM5LjRjLTUuMi0xNy44LTE0LjktMzMuOC0yOS4xLTQ4LTE3LjgtMTcuNy0zOC41LTI4LjQtNjIuMi0zMi02LS45LTEyLjEtMS40LTE4LjUtMS40LTMxLjYgMC01OC41IDExLjItODEgMzMuNC0xNC4xIDE0LjItMjMuNyAzMC4yLTI4LjggNDgiLz48cGF0aCBmaWxsPSIjZmZmIiBkPSJNMjAuMSAxMjAuMUMyMC4xIDU5LjggNjUuNCA5LjYgMTI0LjQuOGMtMS41IDAtMy0uMS00LjUtLjFDNTMuOC43LjIgNTQuMS4yIDEyMC4xYzAgNjUuOSA1My42IDExOS40IDExOS43IDExOS40IDEuNSAwIDMtLjEgNC41LS4xLTU5LTguOC0xMDQuMy01OS0xMDQuMy0xMTkuM3oiLz48L3N2Zz4NCg==", + "width": 13, + "height": 13 + }, + "firefox": { + "base64": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9IiNmZmYiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTIzLjQxIDEwLjk4Yy0uMDMtLjIxLS4wNy0uMzQtLjA3LS4zNGwtLjIyLjI4YTcuNzEgNy43MSAwIDAwLS4yNy0xLjUxIDEwLjIzIDEwLjIzIDAgMDAtMS4zNC0yLjg4bC0uMjYtLjM4Yy0uNDMtLjctLjkxLTEuMTItMS40OC0xLjkyYTUuOSA1LjkgMCAwMS0uNzMtMS45OWMtLjE2LjQyLS4yOC44Ni0uMzYgMS4zLS41Ny0uNTgtMS4wOC0xLTEuMzgtMS4yOEMxNS44Ljg2IDE1Ljk4LjE0IDE1Ljk4LjE0cy0yLjggMy4xMi0xLjU5IDYuMzdhNi4yNSA2LjI1IDAgMDAyLjA5IDIuNzhjMS4xNy45NiAyLjQzIDEuNzIgMy4wOSAzLjY3YTYuMTYgNi4xNiAwIDAwLTIuMzMtMi40N2MuMy43MS40NSAxLjQ2LjQ0IDIuMjNhNS4zIDUuMyAwIDAxLTYuNDcgNS4xNmMtLjQ2LS4wOS0uOS0uMjQtMS4zMS0uNDVhNS4yMSA1LjIxIDAgMDEtMS41OC0xLjQ1di0uMDFsLjA5LjAzYTQuMiA0LjIgMCAwMDMuMzMtLjEzYy44NC0uNDcgMS4zNS0uODEgMS43Ni0uNjguNDEuMTMuNzItLjI2LjQ0LS42N2EyLjIgMi4yIDAgMDAtMi4xMi0uODJjLS44NC4xMi0xLjYxLjcxLTIuNy4xNGwtLjIxLS4xMmMtLjA3LS4wNS4yNC4wNi4xNi4wMWE0LjgyIDQuODIgMCAwMS0uNjktLjQxbC4xNS4wNGEyLjYzIDIuNjMgMCAwMS0uNzItLjczIDEuMzMgMS4zMyAwIDAxLS4wNS0xLjE1Yy4xMS0uMTkuMjYtLjMzLjQ1LS40MmwuMjMuMTItLjEtLjE4LjA0LS4wMWMuMTIuMDUuMzkuMTkuNTQuMjguMS4wNS4xOC4xMy4yNS4yMiAwIDAgLjA1LS4wMi4wMS0uMTNhLjYuNiAwIDAwLS4yNi0uMzFoLjAyYy4xMS4wNi4yMS4xMi4zMS4yLjA5LS4yMi4xNC0uNDQuMTMtLjY3YS45LjkgMCAwMC0uMDUtLjM3Yy0uMDQtLjA4LjAyLS4xMS4wOS0uMDNhLjY0LjY0IDAgMDAtLjA2LS4xOGwuMDYtLjA3Yy4wNS0uMDUuMS0uMS4xNi0uMTNhNi42IDYuNiAwIDAxMS4wOS0uNTZsLjYxLS4yNy4yMi0uMTZjLjI2LS4yMi40My0uNTIuNDktLjg1bC4wMS0uMTN2LS4wOGMtLjA0LS4xNy0uMzMtLjI5LTEuODQtLjQ0QTEuMzEgMS4zMSAwIDAxOS4wOCA2LjN2LjAxbC0uMDYuMTcuMDYtLjE3VjYuM2MuMjktLjc1LjgxLTEuNCAxLjQ4LTEuODQuMDQtLjAzLS4xNS4wMS0uMTEtLjAyLjEyLS4wNi4yNS0uMTIuMzktLjE3LjA3LS4wMi0uMjktLjE2LS42MS0uMTMtLjE5LjAxLS4zOC4wNi0uNTYuMTMuMDgtLjA2LjMtLjE0LjI1LS4xNC0uNDEuMDctLjguMjItMS4xNS40M2EuMy4zIDAgMDEuMDItLjFjLS4yOC4xMi0uNTMuMzEtLjcxLjU1di0uMTNjLS4xMy4xLS4yNC4yMS0uMzUuMzNoLS4wMWE0LjY1IDQuNjUgMCAwMC0yLjYxLS4yMmwtLjAxLS4wMWguMDFhMS45MSAxLjkxIDAgMDEtLjQ2LS41MmwtLjAxLjAxLS4wMi0uMDJjLS4wNi0uMDgtLjExLS4xOC0uMTctLjI5bC0uMTQtLjI1LS4wMS0uMDFjLS4wMSAwLS4wMy4wOS0uMDQuMDYtLjE1LS40LS4yMy0uODMtLjIxLTEuMjVoLS4wMWMtLjI1LjE3LS40NC40MS0uNTMuN2wtLjExLjIxdi0uMDNsLjAzLS4xNS0uMDIuMDNhMS40OCAxLjQ4IDAgMDAtLjMuNTZWMy45bC0uMDEuMDNhNy4wMSA3LjAxIDAgMDAtLjYgMi4yNWMtLjAyLjE0LS4wMi4yNy0uMDIuNHYuMDJjLS4yMy4yNS0uNDMuNTItLjYxLjgxLS41OC45OC0xLjAxIDIuMDQtMS4yOCAzLjE1LjE5LS40Mi40Mi0uODMuNjktMS4yMWExMS4wNSAxMS4wNSAwIDAwLS43OCA0LjA5Yy4wOS0uNDEuMi0uODEuMzMtMS4yMS0uMDggMS42NS4yNCAzLjMuOTMgNC44MWExMS4xNiAxMS4xNiAwIDAwNC40MyA1LjAxYy43OS41NCAxLjY2Ljk2IDIuNTcgMS4yNGwuMzcuMTMtLjExLS4wNWMxLjA4LjMyIDIuMjEuNDkgMy4zNC40OSA0LjAxIDAgNS4zMy0xLjUzIDUuNDYtMS42OGEyIDIgMCAwMC40Ny0uNjRsLjIzLS4xLjA1LS4wMi4wOS0uMDRhOC41IDguNSAwIDAwMS43LTEuMDYgNC4xIDQuMSAwIDAwMS41Ny0yLjMxYy4xNS0uMzQuMTUtLjcxLjAzLTEuMDZsLjEyLS4yMWE5LjQ0IDkuNDQgMCAwMDEuNDItNC41OXYtLjE0YzAtLjM0LS4wMy0uNjktLjA5LTEuMDN6Ii8+PC9zdmc+DQo=", + "width": 13, + "height": 13 + }, + "flow": { + "base64": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNDIuNDUgMjUyLjMzIiBmaWxsPSIjZmZmIj48cGF0aCBvcGFjaXR5PSIuNyIgZD0iTTIyNC43NCAxMDlsLTg0LjExLTg0LjFoODQuMTF6Ii8+PHBhdGggb3BhY2l0eT0iLjciIGQ9Ik04MS43MiAwaDQ3LjY4bDM2LjQ0IDM2LjQzSDgxLjcyeiIvPjxwYXRoIG9wYWNpdHk9Ii45IiBkPSJNODQuNDUgODQuMTJMLjM0IDBoMTAxLjEzdjg0LjExem03My44OSA4NC4xbDg0LjExIDg0LjExaC04NC4xMXoiLz48cGF0aCBvcGFjaXR5PSIuNyIgZD0iTTEwMS40NyAxNjguMjNsLTg0LjEtODQuMTJoODQuMTF2ODQuMTF6bTkwLjU4LTQyLjU3TDEyNSA1OC41N2g2Ny4wOHptNy44NCAxMTguODc2bC4yOHoiLz48cGF0aCBvcGFjaXR5PSIuOSIgZD0iTTEwMS40NyA2N2wtNjctNjdoNjd6Ii8+PHBhdGggb3BhY2l0eT0iLjgiIGQ9Ik0xMjMuOTUgMTY4LjIybDg0LjExIDg0LjExaC04NC4xMXoiLz48cGF0aCBvcGFjaXR5PSIuNyIgZD0iTTIwOS4wOCAyMDEuOGwtODQtODRoODR6Ii8+PHBhdGggb3BhY2l0eT0iLjkiIGQ9Ik0xMjUgNTguNTdsODMuMDkgODMuMDlIMTI1eiIvPjxwYXRoIG9wYWNpdHk9Ii43IiBkPSJNMTAxLjQ3IDI1MkwwIDE1MC41MWgxMDEuNDdWMjUyeiIvPjwvc3ZnPg0K", + "width": 13, + "height": 13 + }, + "git": { + "base64": "data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjZmZmIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTIzLjU0NiAxMC45M0wxMy4wNjcuNDUyYTEuNTUgMS41NSAwIDAwLTIuMTg4IDBMOC43MDggMi42MjdsMi43NiAyLjc2YTEuODM4IDEuODM4IDAgMDEyLjMyNyAyLjM0MWwyLjY1OCAyLjY2YTEuODM4IDEuODM4IDAgMDExLjkgMy4wMzkgMS44MzcgMS44MzcgMCAwMS0yLjYgMCAxLjg0NiAxLjg0NiAwIDAxLS40MDQtMS45OTZMMTIuODYgOC45NTV2Ni41MjVjLjE3Ni4wODYuMzQyLjIwMy40ODguMzQ4YTEuODQ4IDEuODQ4IDAgMDEwIDIuNiAxLjg0NCAxLjg0NCAwIDAxLTIuNjA5IDAgMS44MzQgMS44MzQgMCAwMTAtMi41OThjLjE4Mi0uMTguMzg3LS4zMTYuNjA1LS40MDZWOC44MzVhMS44MzQgMS44MzQgMCAwMS0uOTk2LTIuNDFMNy42MzYgMy43LjQ1IDEwLjg4MWMtLjYuNjA1LS42IDEuNTg0IDAgMi4xODlsMTAuNDggMTAuNDc3YTEuNTQ1IDEuNTQ1IDAgMDAyLjE4NiAwbDEwLjQzLTEwLjQzYTEuNTQ0IDEuNTQ0IDAgMDAwLTIuMTg3Ii8+PC9zdmc+DQo=", + "width": 13, + "height": 13 + }, + "gitguardian": { + "base64": "data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMjkgMTYxIj48cGF0aCBkPSJNMTAzIDEyMGM5LTEzIDEzLTMwIDEzLTQ3di04YzAtMy0xLTYtNC04bC01LTRjLTIgNS01IDExLTkgMTYgNiA5IDkgMTkgOSAzMCAwIDctMSAxNC00IDIxeiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik02NCAxNDljNSAwIDExLTMgMTctNyAxMS05IDIwLTI3IDIwLTQzIDAtOS0zLTE4LTgtMjYtNyA3LTE2IDEwLTI2IDExYTU2IDU2IDAgMDEtMTAgNjNsNyAyek0xMiA2NXY4bDIgMjAgMTYtMjZjLTQtNC02LTktOC0xNGwtNiA0Yy0yIDItNCA1LTQgOHoiIGZpbGw9IiNmZmYiLz48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTcwIDQ0Yy0yIDItNCA0LTYgNHMtMy0yLTUtNGwtMy00Yy03LTctMTUtOC0yMS02cy04IDctOCAxM2EzNyAzNyAwIDAwMzcgMzFjMTEgMCAyMC00IDI3LTExIDUtNSA5LTEyIDEwLTIwIDEtNi0yLTExLTctMTMtNi0yLTE0LTEtMjEgNmwtMyA0em0tMzIgNWMwLTMgMi02IDUtNnM1IDMgNSA2YzAgNC0yIDctNSA3cy01LTMtNS03em0yNiA1YzMgMCA1IDEgNSA0djFjMCA0LTEgOC0zIDExdjFsLTIgMS0xLTF2LTFhMjMgMjMgMCAwMS0zLTEyYzAtMyAyLTQgNC00em0yMy0xMGMzIDAgNSAyIDUgNHYzSDgydjFoLTItMXYtM2MyLTMgNS01IDgtNXoiIGZpbGw9IiNmZmYiLz48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTc5IDRjNS00IDEzLTUgMTggMCAxNSAxMyAxNyAyOSAxNiAzOWw2IDVjNiA0IDkgMTAgOSAxN3Y4YzAgMjctMTAgNTMtMjggNjktMTMgMTItMjQgMTgtMzYgMTgtMTEgMC0yMy02LTM2LTE4QTk0IDk0IDAgMDEwIDczdi04YzAtNyA0LTEzIDktMTdsNy01Yy0xLTkgMS0yNSAxNi0zOSA1LTUgMTMtNCAxOCAwYTIyIDIyIDAgMDAyOSAwem0yOSA0MWw4IDdjNSAzIDcgOCA3IDEzdjhjMCAyNi0xMCA1MS0yNiA2NS0xMyAxMi0yMyAxNy0zMyAxNy05IDAtMTktNS0zMi0xN0E4OSA4OSAwIDAxNSA3M3YtOGMwLTUgMy0xMCA3LTEzbDktN2MtMS03LTEtMjQgMTQtMzcgNC0zIDgtMyAxMSAwYTI3IDI3IDAgMDAzNiAwYzMtMyA4LTMgMTEgMCAxNSAxMyAxNiAyOSAxNSAzN3oiIGZpbGw9IiNmZmYiLz48L3N2Zz4=", + "width": 13, + "height": 13 + }, + "github": { + "base64": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0OTYgNTEyIj48cGF0aCBmaWxsPSIjZmZmIiBkPSJNMTY1LjkgMzk3LjRjMCAyLTIuMyAzLjYtNS4yIDMuNi0zLjMuMy01LjYtMS4zLTUuNi0zLjYgMC0yIDIuMy0zLjYgNS4yLTMuNiAzLS4zIDUuNiAxLjMgNS42IDMuNnptLTMxLjEtNC41Yy0uNyAyIDEuMyA0LjMgNC4zIDQuOSAyLjYgMSA1LjYgMCA2LjItMnMtMS4zLTQuMy00LjMtNS4yYy0yLjYtLjctNS41LjMtNi4yIDIuM3ptNDQuMi0xLjdjLTIuOS43LTQuOSAyLjYtNC42IDQuOS4zIDIgMi45IDMuMyA1LjkgMi42IDIuOS0uNyA0LjktMi42IDQuNi00LjYtLjMtMS45LTMtMy4yLTUuOS0yLjl6TTI0NC44IDhDMTA2LjEgOCAwIDExMy4zIDAgMjUyYzAgMTEwLjkgNjkuOCAyMDUuOCAxNjkuNSAyMzkuMiAxMi44IDIuMyAxNy4zLTUuNiAxNy4zLTEyLjEgMC02LjItLjMtNDAuNC0uMy02MS40IDAgMC03MCAxNS04NC43LTI5LjggMCAwLTExLjQtMjkuMS0yNy44LTM2LjYgMCAwLTIyLjktMTUuNyAxLjYtMTUuNCAwIDAgMjQuOSAyIDM4LjYgMjUuOCAyMS45IDM4LjYgNTguNiAyNy41IDcyLjkgMjAuOSAyLjMtMTYgOC44LTI3LjEgMTYtMzMuNy01NS45LTYuMi0xMTIuMy0xNC4zLTExMi4zLTExMC41IDAtMjcuNSA3LjYtNDEuMyAyMy42LTU4LjktMi42LTYuNS0xMS4xLTMzLjMgMi42LTY3LjkgMjAuOS02LjUgNjkgMjcgNjkgMjcgMjAtNS42IDQxLjUtOC41IDYyLjgtOC41czQyLjggMi45IDYyLjggOC41YzAgMCA0OC4xLTMzLjYgNjktMjcgMTMuNyAzNC43IDUuMiA2MS40IDIuNiA2Ny45IDE2IDE3LjcgMjUuOCAzMS41IDI1LjggNTguOSAwIDk2LjUtNTguOSAxMDQuMi0xMTQuOCAxMTAuNSA5LjIgNy45IDE3IDIyLjkgMTcgNDYuNCAwIDMzLjctLjMgNzUuNC0uMyA4My42IDAgNi41IDQuNiAxNC40IDE3LjMgMTIuMUM0MjguMiA0NTcuOCA0OTYgMzYyLjkgNDk2IDI1MiA0OTYgMTEzLjMgMzgzLjUgOCAyNDQuOCA4ek05Ny4yIDM1Mi45Yy0xLjMgMS0xIDMuMy43IDUuMiAxLjYgMS42IDMuOSAyLjMgNS4yIDEgMS4zLTEgMS0zLjMtLjctNS4yLTEuNi0xLjYtMy45LTIuMy01LjItMXptLTEwLjgtOC4xYy0uNyAxLjMuMyAyLjkgMi4zIDMuOSAxLjYgMSAzLjYuNyA0LjMtLjcuNy0xLjMtLjMtMi45LTIuMy0zLjktMi0uNi0zLjYtLjMtNC4zLjd6bTMyLjQgMzUuNmMtMS42IDEuMy0xIDQuMyAxLjMgNi4yIDIuMyAyLjMgNS4yIDIuNiA2LjUgMSAxLjMtMS4zLjctNC4zLTEuMy02LjItMi4yLTIuMy01LjItMi42LTYuNS0xem0tMTEuNC0xNC43Yy0xLjYgMS0xLjYgMy42IDAgNS45IDEuNiAyLjMgNC4zIDMuMyA1LjYgMi4zIDEuNi0xLjMgMS42LTMuOSAwLTYuMi0xLjQtMi4zLTQtMy4zLTUuNi0yeiIvPjwvc3ZnPg0K", + "width": 13, + "height": 13 + }, + "gitlab": { + "base64": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9IiNmZmYiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTIzLjk1IDEzLjU5bC0xLjM0LTQuMTQtMi42Ni04LjE5YS40NS40NSAwIDAwLS44NyAwbC0yLjY2IDguMTlINy41OEw0LjkyIDEuMjZjLS4xNC0uNDItLjc0LS40Mi0uODcgMEwxLjM5IDkuNDUuMDQgMTMuNTljLS4xMi4zNy4wMi43OS4zNCAxLjAyTDEyIDIzLjA1bDExLjYzLTguNDRhLjkyLjkyIDAgMDAuMzMtMS4wMiIvPjwvc3ZnPg0K", + "width": 13, + "height": 13 + }, + "gitter": { + "base64": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9IiNmZmYiIHZpZXdCb3g9IjAgMCA4IDgiPjxwYXRoIGQ9Ik0uNS41aDFWNWgtMXptMiAxaDFWOGgtMXptMiAwaDFWOGgtMXptMiAwaDFWNWgtMXoiLz48L3N2Zz4NCg==", + "width": 13, + "height": 13 + }, + "gnome": { + "base64": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCAzMDUgMzc0Ij4NCiAgPHBhdGggZD0iTTI3Mi4xNTYuNzI1Yy03Ny41ODcgMC05Mi4xNDEgMTEwLjUwOC00OC40OTQgMTEwLjUwOCA0My42NCAwIDEyNi4wODMtMTEwLjUwOCA0OC40OTQtMTEwLjUwOHpNMTQzLjMyNSA5Ny41NGMyMy4yNCAxLjQxOCA0OC43MzctODguNjg4IDUuMDU5LTgzLjAyLTQzLjY2MyA1LjY2Ni0yOC4zMDcgODEuNi01LjA1OSA4My4wMnpNMzYuODIgMTUzLjUyOWMxNi41MjgtNy4yNzUgMi4xMjktNzguNDM4LTI1Ljk3Ny01OS4wMy0yOC4wOTMgMTkuNDExIDkuNDQ5IDY2LjMwMyAyNS45NzcgNTkuMDN6TTgzLjM5IDExNi4yODJjMTkuNjc2LTQuMDEyIDIwLjc1NC04NC43Mi0xNC4zMzMtNzAuMjQyLTM1LjA5NCAxNC40ODItNS4zMjcgNzQuMjU5IDE0LjMzMyA3MC4yNDJ6TTE4Ni4xMzMgMjk2Ljg5NWMzLjQ5MSAyNi42NjEtMTkuNTU5IDM5LjgyOC00Mi4xMzMgMjIuNjQtNzEuODYyLTU0LjcxMyAxMTguOTg1LTgyLjAwOCAxMDYuNDA1LTE1Ni43NTYtMTAuNDQyLTYyLjA0NS0yMDAuODEzLTQyLjk0My0yMjIuNDkxIDU0LjEzOS0xNC42NzQgNjUuNjYzIDYwLjQwMiAxNTYuNzU5IDEzOC43MzkgMTU2Ljc1OSAzOC41MzggMCA4Mi45ODktMzQuNzk3IDkxLjMwNS03OC44NzkgNi4zNTEtMzMuNjE1LTc0LjczOS0yMC4xNDYtNzEuODI1IDIuMDk3eiIgZmlsbD0iI2ZmZiIvPg0KPC9zdmc+DQo=", + "width": 13, + "height": 13 + }, + "googleplay": { + "base64": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9IiNmZmYiIHZpZXdCb3g9IjAgMCAzMiAzMiI+PHBhdGggZD0iTTEuNjg3LjA2NmMtLjA0LjEyNS0uMDguMjQ2LS4wOC40MDh2MzAuODQ0YzAgLjI4OS4wODEuNDUzLjI0NS42MTVsMTUuMTU3LTE2LjA1OUwxLjY4Ny4wNjZ6bTE2LjM0NCAxNi44NzVsMy45MTggNC4wNDEtNS41OTQgMy4xODhzLTcuMTEgNC4wNDEtMTEuMDMxIDYuMjkzbDEyLjcwNy0xMy41MjJ6bTEuMDYzLTEuMTA1bDQuMjA0IDQuMzczYy42NTgtLjM2NyA1LjgwNC0zLjMxMSA2LjUzOS0zLjcxOS43NzQtLjQ0OS42OTYtMS4wNjMuMDM4LTEuMzg5LS42MDktLjM0LTUuNzU1LTMuMjg3LTYuNTMzLTMuNzY2bC00LjI0OCA0LjUwMXptLTEuMDY3LTEuMDYxbDMuOTYzLTQuMjA5LTUuNjU1LTMuMjI5UzcuMTE2IDIuMDY0IDQuMDQ4LjMwMmwxMy45NzkgMTQuNDczeiIvPjwvc3ZnPg0K", + "width": 13, + "height": 13 + }, + "graphql": { + "base64": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9IiNmZmYiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTE0LjA1IDIuNzVMMTkgNS42YTIuMTQgMi4xNCAwIDAxMy40LjQgMi4xNSAyLjE1IDAgMDEtMS4zNSAzLjE1djUuN0EyLjEzIDIuMTMgMCAwMTIyLjQgMThhMi4xNCAyLjE0IDAgMDEtMy40NS4zNWwtNC45IDIuODRhMi4xNCAyLjE0IDAgMTEtNC4xLjA3TDUuMDIgMTguNGEyLjE0IDIuMTQgMCAxMS0yLjA1LTMuNTZ2LTUuN0EyLjE0IDIuMTQgMCAxMTUuMDEgNS42bDQuOTQtMi44NWEyLjE0IDIuMTQgMCAxMTQuMSAwem0tLjUxLjg4YS44LjggMCAwMS0uMDYuMDZsNi40NiAxMS4xOS4wOC0uMDN2LTUuN2EyLjE0IDIuMTQgMCAwMS0xLjU2LTIuNmwuMDItLjA2LTQuOTQtMi44NnptLTMuMDIuMDZsLS4wNi0uMDYtNC45NSAyLjg1YTIuMTQgMi4xNCAwIDAxLTEuNDYgMi42NGwtLjA3LjAzdjUuN2wuMDguMDMgNi40Ni0xMS4yem0yLjA4LjVjLS40LjEyLS44LjEyLTEuMiAwTDQuOTQgMTUuNGMuMy4yOC41LjY0LjYgMS4wM2gxMi45MmMuMS0uNC4zLS43Ni42LTEuMDRMMTIuNiA0LjE5em0uOTggMTYuMjNsNC45Mi0yLjg0LS4wNC0uMTRINS41NGwtLjAyLjA4IDQuOTQgMi44NmEyLjE0IDIuMTQgMCAwMTMuMTIuMDV6Ii8+PC9zdmc+DQo=", + "width": 13, + "height": 13 + }, + "haskell": { + "base64": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9IiNmZmYiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTAgMjAuNUw1LjYgMTIgMCAzLjVoNC4yTDEwIDEybC01LjcgOC41em01LjYgMGw1LjctOC41LTUuNy04LjVIMTBsMTEuMyAxN0gxN0wxMy40IDE1IDEwIDIwLjV6bTEzLjctNWwtMS45LTIuOEgyNHYyLjh6bS0yLjgtNC4ybC0xLjktMi44SDI0djIuOHoiIGNsYXNzPSJhIi8+PC9zdmc+DQo=", + "width": 13, + "height": 13 + }, + "jira": { + "base64": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNzQiIGhlaWdodD0iNzYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTcyLjQgMzUuNzZMMzkuOCAzLjE2IDM2LjY0IDAgMTIuMSAyNC41NC44OCAzNS43NmEzIDMgMCAwMDAgNC4yNEwyMy4zIDYyLjQybDEzLjM0IDEzLjM0IDI0LjU0LTI0LjU0LjM4LS4zOEw3Mi40IDQwYTMgMyAwIDAwMC00LjI0ek0zNi42NCA0OS4wOGwtMTEuMi0xMS4yIDExLjItMTEuMiAxMS4yIDExLjItMTEuMiAxMS4yeiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik0zNi42NCAyNi42OEExOC44NiAxOC44NiAwIDAxMzYuNTYuMDlsLTI0LjUxIDI0LjUgMTMuMzQgMTMuMzQgMTEuMjUtMTEuMjV6IiBmaWxsPSJ1cmwoI3BhaW50MF9saW5lYXIpIi8+PHBhdGggZD0iTTQ3Ljg3IDM3Ljg1TDM2LjY0IDQ5LjA4YTE4Ljg2IDE4Ljg2IDAgMDEwIDI2LjY4bDI0LjU3LTI0LjU3LTEzLjM0LTEzLjM0eiIgZmlsbD0idXJsKCNwYWludDFfbGluZWFyKSIvPjxkZWZzPjxsaW5lYXJHcmFkaWVudCBpZD0icGFpbnQwX2xpbmVhciIgeDE9IjM0LjY0IiB5MT0iMTUuMzUiIHgyPSIxOSIgeTI9IjMwLjk5IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agb2Zmc2V0PSIuMTgiIHN0b3AtY29sb3I9IiNCQkIiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNmZmYiLz48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBpZD0icGFpbnQxX2xpbmVhciIgeDE9IjU2IiB5MT0iNDYuNSIgeDI9IjQ1LjUiIHkyPSI2NCIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPjxzdG9wIG9mZnNldD0iLjEiIHN0b3AtY29sb3I9IiNmZmYiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNCQkIiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48L3N2Zz4NCg==", + "width": 13, + "height": 13 + }, + "jsdelivr": { + "base64": "data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTExLjg1MSAwTC44MTEgNC4wMmwxLjU2IDE0LjdMMTEuODUgMjRsOS42LTUuMjggMS43NC0xNC43NnptLjA2MiA0LjYyMmE2LjY2OCA2Ljc1IDAgMDEyLjY2Ni41NzIgMTIuNTA3IDEyLjUwNyAwIDAwLTIuNTkgMS45NWMtLjA0NS0uMDItLjA5Mi0uMDMxLS4xMzgtLjA0NWExLjE4MSAxLjE4MSAwIDAwLS4zNDYtLjA1NmMtLjA3MSAwLS4xNDEuMDEtLjIxLjAyMWE4LjkxIDguOTEgMCAwMS0uNjE1LTIuMzE4IDYuNjY4IDYuNzUgMCAwMTEuMTcxLS4xMjIgNi42NjggNi43NSAwIDAxLjA2Mi0uMDAyem0tMS45OS4zMTJhOS43NjMgOS43NjMgMCAwMC42OSAyLjUwNCAxLjIxMyAxLjIxMyAwIDAwLS4zMjguODI1IDEuMjAyIDEuMjAyIDAgMDAuMTguNjNjLS45MzcgMS4yOTQtMS42NTYgMi44MDMtMS45MDUgNC4zMS0uMDEuMDU2LS4wMTMuMTEtLjAyLjE2Ni0uMjgyLjA5LS41MTUuMjg0LS42NTYuNTQtLjk4Ny0uMzMzLTEuODg1LS45NjgtMi42MTUtMi4wMjJhNi42NjggNi43NSAwIDAxLS4wMjYtLjUxNSA2LjY2OCA2Ljc1IDAgMDE0LjY4LTYuNDM4em01LjUwNy43MDlhNi42NjggNi43NSAwIDAxMi41MyAyLjljLS4zNzcuOTUzLTEuMDQ5IDEuODkyLTEuODkzIDIuNzI3YTEuMjQyIDEuMjQyIDAgMDAtLjY0NC0uMTg0IDEuMjQzIDEuMjQzIDAgMDAtLjc2OC4yNyAxMS4wOCAxMS4wOCAwIDAxLTEuMzE4LTEuMTY4Yy0uMzMzLS4zNS0uNjM3LS43My0uOTIxLTEuMTIzLjE5LS4yMTUuMzEtLjQ5NC4zMS0uODAyYTEuMiAxLjIgMCAwMC0uMTU5LS41ODZjMS4wNTgtMS4wMDggMi4xMTItMS42NyAyLjg2My0yLjAzNHptLTMuOTI1IDEuOTgyYS42MjQuNjI0IDAgMDEuMzQ2LjExNC42MjQuNjI0IDAgMDEuMjkyLjUyNC42MjQuNjI0IDAgMDEtLjI5Mi41MjQuNjI2LjYyNiAwIDAxLS4zNDYuMTEzLjYzNC42MzQgMCAwMS0uNjM4LS42MzdjMC0uMzU1LjI4My0uNjM4LjYzOC0uNjM4em0tLjQ0MSAxLjc3MWExLjIwNSAxLjIwNSAwIDAwLjY3NS4wNjJjLjAzNi4wNS4wNzUuMDk3LjExMi4xNDhhMTEuNDM4IDExLjQzOCAwIDAwLjkyMSAxLjExOSAxMi4xMDMgMTIuMTAzIDAgMDAxLjQ0NiAxLjI3N2MtLjAzMi4xMS0uMDU0LjIyNC0uMDU0LjM0MmExLjIzNiAxLjIzNiAwIDAwLjA2Ni4zOCA5LjkxIDkuOTEgMCAwMS0yLjExOCAxLjA0MmMtLjA4Ny4wMjktLjE3My4wNTItLjI2MS4wNzhhNy43MzUgNy43MzUgMCAwMS0xLjg3LjMzMiAxLjE1IDEuMTUgMCAwMC0uNjYtLjc3M2MuMDA0LS4wMjQuMDA1LS4wNDkuMDEtLjA3My4yMTktMS4zMzMuODczLTIuNzMgMS43MzMtMy45MzR6bTcuMjcyLjE5YTYuNjY4IDYuNzUgMCAwMS4yNDUgMS43ODYgNi42NjggNi43NSAwIDAxLS4yNTkgMS44NTYgOS45OTMgOS45OTMgMCAwMS0xLjY2Ni0uNjMgMS4yNDMgMS4yNDMgMCAwMC0uMDY1LS43MTMgOS40MzQgOS40MzQgMCAwMDEuNzQ1LTIuM3ptLTIuOTEzIDIuMTAxYy4zNjcgMCAuNjU3LjI5MS42NTcuNjU4cy0uMjkxLjY1Ny0uNjU3LjY1N2MtLjM2NyAwLS42NTgtLjI5LS42NTgtLjY1N3MuMjktLjY1OC42NTgtLjY1OHptLjgzNyAxLjU5YTEwLjc5IDEwLjc5IDAgMDAxLjgwMi42ODggNi42NjggNi43NSAwIDAxLTYuMTQ5IDQuMTU3IDYuNjY4IDYuNzUgMCAwMS0uMDYyLS4wMDQgNi42NjggNi43NSAwIDAxLS4wNDIgMGMtLjA4Ny0uMDQyLS4xNjgtLjA4LS4yNjYtLjEyOS0uMzEyLS4xNTQtLjY2Ny0uMzUyLS44NDYtLjVhMy43OTYgMy43OTYgMCAwMS0xLjI5NC0yLjAzYy4yMS0uMTExLjM4LS4yODQuNDg3LS40OTVhOC40MjggOC40MjggMCAwMDEuOTYtLjMwNiA5LjExIDkuMTEgMCAwMC41MTMtLjE1NCAxMS4wODMgMTEuMDgzIDAgMDAyLjM0MS0xLjEzYy4yMDUuMTQzLjQ1Mi4yMy43MTkuMjNhMS4yNDggMS4yNDggMCAwMC44MzctLjMyOHptLTEwLjcwNy4xMTZhNS43NjEgNS43NjEgMCAwMDIuMjEyIDEuMjk4IDEuMTQ2IDEuMTQ2IDAgMDAuODU3Ljg3IDQuNjAyIDQuNjAyIDAgMDAxLjI0IDIuMjIyIDYuNjY4IDYuNzUgMCAwMS00LjMxLTQuMzl6bTMuMzI3LjQ2NGMuMzMxIDAgLjU5NS4yNjMuNTk1LjU5NnMtLjI2NC41OTUtLjU5NS41OTVhLjU5LjU5IDAgMDEtLjU5Ni0uNTk1LjU5MS41OTEgMCAwMS41OTYtLjU5NnoiLz48L3N2Zz4NCg==", + "width": 13, + "height": 13 + }, + "keybase": { + "base64": "data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTEwLjQ0NiAyMS4zNzFhLjk1My45NTMgMCAxMS0uOTU1LS45NTRjLjUyNCAwIC45NTEuNDMxLjk1MS45NTVtNS45MjItLjAwMWEuOTUzLjk1MyAwIDExLS45NTgtLjk1NGMuNTI2IDAgLjk1NC40MzEuOTU0Ljk1NW00LjU0NC05LjE1OWwtLjE1Ni0uMjA0Yy0uMDQ2LS4wNi0uMDk2LS4xMTYtLjE0My0uMTc1LS4wNDUtLjA2MS0uMDk0LS4xMTMtLjE0MS0uMTY5LS4xMDQtLjEyLS4yMDktLjIzOS0uMzE5LS4zNTlsLS4wNzYtLjA4LS4wOTEtLjA5OS0uMTM1LS4xMzFjLS4wMTUtLjAxOC0uMDMyLS4wMzQtLjA1LS4wNTNhMTAuODcgMTAuODcgMCAwMC0zLjk1NS0yLjUwNGwtLjIzLS4wNzguMDM1LS4wODNhNC4xMDggNC4xMDggMCAwMC0uMTItMy4yNTUgNC4xMSA0LjExIDAgMDAtMi40MzgtMi4xNmMtLjY1Ni0uMjE2LTEuMjMtLjMxOS0xLjcxMS0uMzA1LS4wMzMtLjEwNS0uMS0uNTc3LjQ5Ni0xLjg0OEwxMC42NjMgMGwtLjI4Ny4zOTljLS4zMy40NTUtLjY0OC44OTUtLjk0NSAxLjMyOGExLjg1NyAxLjg1NyAwIDAwLTEuMjQ1LS41OEw2Ljc5IDEuMDYxaC0uMDEyYy0uMDMzLS4wMDMtLjA3LS4wMDMtLjEwNC0uMDAzLS45OSAwLTEuODEuNzcxLTEuODcgMS43NTVsLS4wODggMS40MDJ2LjAwM2ExLjg3NiAxLjg3NiAwIDAwMS43NTUgMS45NzlsMS4wMDIuMDYxYy0uMDY1Ljg0LjA3MyAxLjYyLjQwNSAyLjMwNmExMS4yNzkgMTEuMjc5IDAgMDAtMy42NiAyLjQ4NEMuOTEzIDE0LjM5MS45MTMgMTguMDUxLjkxMyAyMC45OTR2MS43NzVsMS4zMDUtMS4zODdjLjI2Ni45My42NTIgMS44MDcgMS4xNDUgMi42MTVINS4wNmE5LjE5NyA5LjE5NyAwIDAxLTEuNjgtMy44NDhsMS45MTMtMi4wMy0uOTg1IDMuMDkxIDEuNzQtMS4yNjhjMy4wNzUtMi4yMzQgNi43NDQtMi43NSAxMC45MS0xLjUyOSAxLjgwNS41MzIgMy41Ni4wMzkgNC40NzMtMS4yNTdsLjEwNC0uMTY1Yy4wOTEuNDk4LjE0MS45OTguMTQxIDEuNDk2IDAgMS41NjMtLjI1NSAzLjY4Ny0xLjM4IDUuNTEyaDEuNjExYy43NzYtMS41NjMgMS4xODEtMy40MzIgMS4xODEtNS41MTItLjAwMS0yLjE5OS0uNzg2LTQuNDIxLTIuMTg0LTYuMjc0ek04Ljg5NCA2LjE5MWMuMTIzLTEuMDAyLjU3OC0xLjk0OSAxLjIzLTIuOTdhMS4zNiAxLjM2IDAgMDAxLjI4My43NDljLjIxNy0uMDA4LjYwNS4wMjUgMS4yMzMuMjMyLjcxNC4yMzYgMS4yODYuNzQ0IDEuNjA4IDEuNDI1cy4zNDkgMS40NDIuMDc5IDIuMTQ5Yy0uMTczLjQ0NS0uNDU0LjgyLS44MDYgMS4xMDlsLS40MDgtLjUwMi0uMDAyLS4wMDNhMS40NjggMS40NjggMCAwMC0yLjA1OS0uMjA1Yy0uMzM0LjI3LS41MTQuNjYtLjUzNCAxLjA1OC0xLjItLjU0MS0xLjgtMS42NDMtMS42MjgtMy4wNDFsLjAwNC0uMDAxem00LjMwNCA1LjExbC0uNTE5LjQyNWEuMjI4LjIyOCAwIDAxLS4zMjMtLjAzMmwtLjExMS0uMTM1YS4yMzguMjM4IDAgMDEuMDM0LS4zMzRsLjUxLS40Mi0xLjA1NS0xLjI5OWEuMzA3LjMwNyAwIDAxLjA0NC0uNDM2LjMwMy4zMDMgMCAwMS40MzQuMDQxbDIuOTYzIDMuNjQ1YS4zMDkuMzA5IDAgMDEtLjE2OC40OTkuMzE1LjMxNSAwIDAxLS4zMS0uMTA0bC0uMjk1LS4zNjUtMS4wNDUuODU0YS4yNDQuMjQ0IDAgMDEtLjE1NC4wNTUuMjM3LjIzNyAwIDAxLS4xODYtLjA5bC0uNDc3LS41NzlhLjI0LjI0IDAgMDEuMDM1LS4zMzZsMS4wNTEtLjg1Ny0uNDI2LS41MzMtLjAwMi4wMDF6TTcuNzUzIDQuODY2bC0xLjE5Ni0uMDc1YS40NjMuNDYzIDAgMDEtLjQzNS0uNDg4bC4wOS0xLjQwMWEuNDYyLjQ2MiAwIDAxLjQ2MS0uNDM2aC4wMjRsMS40MDEuMDkxYS40NTkuNDU5IDAgMDEuNDMzLjQ4OGwtLjAwNy4xMDFhOS4yNjkgOS4yNjkgMCAwMC0uNzczIDEuNzJoLjAwMnptMTIuNTI0IDExLjQ4MWMtLjU2NS44MDUtMS42ODcgMS4wODEtMi45MjQuNzE4LTMuODg2LTEuMTQxLTcuMzk2LS45MDMtMTAuNDY4LjcwMWwxLjYzNi01LjEyMy01LjI5MSA1LjYwOWMuMDk5LTMuNzYyIDIuNDUzLTYuOTY2IDUuNzU4LTguMzExLjQ3MS4zNzMgMS4wMzQuNjYgMS42NzMuODQxLjE2LjA0NC4zMjIuMDc0LjQ4LjEwMmExLjQxIDEuNDEgMCAwMC4yMSAxLjQwN2wuMDc1LjA5Yy0uMTcyLjQ1LS4xMDUuOTc1LjIyMSAxLjM3NGwuNDc1LjU4MmExLjM5IDEuMzkgMCAwMDEuMDc5LjUxM2MuMzIxIDAgLjYzNS0uMTExLjg4Ni0uMzE0bC4yODUtLjIzMmMuMTc0LjA3NC4zNjcuMTEzLjU2Ni4xMTNhMS40NSAxLjQ1IDAgMDAuOTI4LS4zMjZjLjYyMy0uNTEuNzItMS40MzUuMjA5LTIuMDZsLTEuNjctMi4wNTZjLjE0NS0uMTE3LjI4MS0uMjQ0LjQwOC0uMzgxLjEzNS4wMzcuMjcxLjA3OC40LjEyLjI2Ni4wOTcuNTMzLjE5OC43OTUuMzE1YTkuNTUgOS41NSAwIDAxMi43NzEgMS44OTdjLjAyOS4wMy4wNTkuMDU1LjA4NS4wODNsLjE3LjE3NWE5LjE2OCA5LjE2OCAwIDAxLjM1LjM4N2wuMTI2LjE1Yy4wNDUuMDUzLjA4Ni4xMDQuMTMuMTZsLjExNC4xNWMuMDQuMDUxLjA3OS4xMDIuMTE3LjE1NC44MzggMS4xNDkuOTg3IDIuMzI5LjQwNCAzLjE1N3YuMDA1ek03LjcxOSA0LjExNWwtLjgzNS0uMDUxLjA1My0uODM1LjgzNC4wNTEtLjA1Mi44MzV6Ii8+PC9zdmc+DQo=", + "width": 13, + "height": 13 + }, + "kofi": { + "base64": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MDAgNTAwIj48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGZpbGw9IiNmZmZmZmUiIGQ9Ik00OTYgMTg1Yy02LTM2LTI2LTU5LTQ2LTczLTIxLTE1LTQ2LTIyLTcxLTIySDE5QzYgOTAgMSAxMDIgMSAxMDh2NGwxIDI0NWMzIDUwIDUzIDUwIDUzIDUwbDI0NC0xIDExLTFjNDQtMTEgNDktNTMgNDktNzYgOTAgNSAxNTMtNTkgMTM3LTE0NG0tMTAxIDgzYy0xOSAyLTM1IDEtMzUgMVYxNTFoMjRjMTYgMCAzMSA2IDQxIDE4IDcgOCAxMyAyMCAxMyAzNiAwIDQwLTIxIDU2LTQzIDYzIi8+PHBhdGggZmlsbD0iI2UwNTk1OCIgZD0iTTE3NyAzNDFjNCAyIDcgMCA3IDBzNTctNTMgODMtODNjMjMtMjcgMjQtNzItMTUtODlzLTcyIDIwLTcyIDIwYy0yOC0zMS03MS0zMC05MC05LTIwIDIxLTEzIDU3IDIgNzcgMTMgMTkgNzQgNzMgODMgODJsMiAyIi8+PC9nPjwvc3ZnPg0K", + "width": 13, + "height": 13 + }, + "lgtm": { + "base64": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA5MC4yMDMgNTMuNjI1Ij48ZyBmaWxsPSIjZmZmIj48cGF0aCBvcGFjaXR5PSIuNDU2IiBkPSJNNDUuMjE2IDMuODI2Yy0xMi44MzYgMC0yMi4yOCAzLjYzNC0yNi44ODQgMTAuNTMxLS4wOTEtLjEwNi0uMTcxLS4xNzItLjI2Ni0uMzAyLS40NTktLjYyOS0uOTQ1LTEuNDg2LTEuNDI4LTIuMzg0LS40ODQtLjg5OC0uOTY3LTEuODM1LTEuNDg1LTIuNjctLjUxOC0uODM1LTEuMDI1LTEuNTkzLTEuODc0LTIuMTE2LS45MjctLjU3My0xLjczMy0uODI4LTIuMzQ3LS45MTZhMy42ODMgMy42ODMgMCAwMC0uODYyLS4wMTVjLTEuNTM1LjAwNi0yLjcxNCAxLjAxOC0zLjYyIDIuMjU1LS45MSAxLjI0MS0xLjYwOSAyLjgzNS0yLjA0MiA0LjU4Ni0uODY2IDMuNDk5LS43MDMgNy43NTggMi4wNTYgMTAuNTYgMS40NiAxLjQ5MyAzLjQwNCAyLjM1IDUuMjY1IDIuODUgMS4zMi4zNTUgMi41My40NzggMy42MjkuNTA5LjYwOCA3LjEzMyA0Ljc5NyAxMy40MDYgMTAuMzkgMTYuNTU5aC4wMDFjMi45ODUgMS42NzcgNi4wODQgMi41MzggOC43OTkgMy41NzcgMy40NjggMS4zNCA2LjgzNCAyLjY0MyAxMC4zNjYgMi45NTJsLjA1OC4wMDZoLjQwNWMzLjcwNSAwIDcuMDc2LTEuNjU2IDEwLjQ3OC0yLjk1NiAyLjcxLTEuMDM3IDUuODEyLTEuODc2IDguODAyLTMuNTU2IDUuNjIzLTMuMTUyIDkuODEtOS40NCAxMC40Mi0xNi41NzIgMi42NzgtLjA1MiA2LjM1Ni0uODI4IDguODQxLTMuMzY3IDIuNzYxLTIuODAyIDIuOTI1LTcuMDYyIDIuMDU4LTEwLjU2Mi0uNDMzLTEuNzUtMS4xMzEtMy4zNDUtMi4wNDEtNC41ODYtLjkwNy0xLjIzNy0yLjA4Ni0yLjI1LTMuNjIxLTIuMjU1YTMuNjg0IDMuNjg0IDAgMDAtLjg2Mi4wMTVjLS42MTQuMDg4LTEuNDIuMzQzLTIuMzQ4LjkxNi0uODQ0LjUyLTEuMzUgMS4yNzMtMS44NjUgMi4xMDItLjUxNi44My0uOTk3IDEuNzYtMS40NzggMi42NTUtLjQ4Ljg5NC0uOTY0IDEuNzUtMS40MiAyLjM4Mi0uMDk0LjEzLS4xNzQuMTk3LS4yNjQuMzAzLTQuNjExLTYuODctMTQuMDQ1LTEwLjUtMjYuODYtMTAuNXoiLz48cGF0aCBkPSJNNDUuMTMgMEMzNC4xNzggMCAyNC45MjIgMi41NTEgMTguODQgNy45MjhjLS4xODQtLjMyNy0uMzE5LS42MS0uNTMtLjk0OS0uNjM2LTEuMDI1LTEuMjMxLTIuMTg5LTMuMTEtMy4zNDctMS4zMzEtLjgyMy0yLjY1Ny0xLjI4Mi0zLjgxLTEuNDUtLjU3NC0uMDgyLTEuMjQyLS4wNTUtMS43NjgtLjAwN2wuMzcxLS4wNDdjLTMuNDE3IDAtNS40MjEgMi4wNS02LjcxOCAzLjgxOEMxLjk4IDcuNzE1IDEuMTQ1IDkuNy42MDcgMTEuODcyYy0xLjA3NSA0LjM0My0xLjA4OCA5Ljk2NSAzLjA0IDE0LjE2IDIuMTY0IDIuMjA4IDQuNzA2IDMuMjQ0IDcuMDA1IDMuODYuNDQzLjExOC44MzcuMTQ4IDEuMjYyLjIzNiAxLjQ5OSA3LjExIDUuOTM2IDEzLjEyMyAxMS44NyAxNi40NjdsLjAwMi4wMDMuMDA0LjAwMWMzLjQ5MSAxLjk2MiA2LjgwNiAyLjg2IDkuMjkgMy44MSAzLjQ3NiAxLjM0IDcuMTQgMi44MjMgMTEuNDEzIDMuMTk3bC4yMjQuMDJoLjU2N2M0LjkwNSAwIDguNjI3LTEuOTgyIDExLjg0Ni0zLjIxMmguMDAyYzIuNDYtLjk0MiA1Ljc4OC0xLjgxNCA5LjMwNS0zLjc5YTIzLjEzOSAyMy4xMzkgMCAwMDQuNDk4LTMuMzA5IDI1LjQwMyAyNS40MDMgMCAwMDcuMzkyLTEyLjk2MmMyLjcyNy0uNDY2IDUuNjItMS42NiA4LjIzLTQuMzIzIDQuMTI2LTQuMTk0IDQuMTE0LTkuODE2IDMuMDQtMTQuMTU4LS41MzktMi4xNzItMS4zNzMtNC4xNTctMi42Ny01LjkyNi0xLjI5Ni0xLjc2OS0zLjMtMy44MTgtNi43MTctMy44MThsLjM3OC4wNDhjLS41My0uMDQ4LTEuMi0uMDc2LTEuNzc1LjAwNy0xLjE1Mi4xNjgtMi40NzMuNjI4LTMuOCAxLjQ0OC0xLjg3MyAxLjE1NC0yLjQ3IDIuMzE1LTMuMTA1IDMuMzM2LS4yMDguMzM0LS4zNC42MTMtLjUyMi45MzZDNjUuMzA2IDIuNTQ2IDU2LjA2NSAwIDQ1LjEzIDB6bS4wODcgNS4xNWMxMy4zNjkgMCAyMi42MDIgNC4wMDMgMjYuNTI2IDExLjE2NSAyLjM2NC0uOTE3IDQuMTA3LTcuMTA1IDYuMDU2LTguMzA0IDEuNTc4LS45NzYgMi41MDEtLjczNSAyLjUwMS0uNzM1IDMuNTcxIDAgNy4yNSAxMC41MTMgMi42NzUgMTUuMTU0LTIuNDE4IDIuNDcxLTYuODgxIDMuMTY1LTkuMTA0IDIuOTg4LS4xNjggNy4xNjMtNC4zNDEgMTMuNjMtOS44NjIgMTYuNzI0LTIuODA5IDEuNTc4LTUuODMyIDIuNDA0LTguNjI3IDMuNDc0LTMuNDY0IDEuMzI1LTYuNzE1IDIuODY4LTEwLjAwNiAyLjg2OGgtLjM0N2MtMy4yNzctLjI4Ni02LjU0LTEuNTMtMTAuMDA1LTIuODY4LTIuNzk2LTEuMDctNS44MTgtMS45MTgtOC42MjctMy40OTYtNS40OS0zLjA5NS05LjY2Ni05LjU0Mi05LjgzNC0xNi43MDQtMi4yMDYuMTktNi43MTktLjQ5Ny05LjE1NS0yLjk4Ni00LjU3NC00LjY0LS44OTUtMTUuMTU0IDIuNjc2LTE1LjE1NCAwIDAgLjkyMy0uMjQxIDIuNTAxLjczNSAxLjk2IDEuMjA1IDMuNzEgNy40NTQgNi4wOTQgOC4zMTlDMjIuNTk3IDkuMTUgMzEuODM2IDUuMTUgNDUuMjE3IDUuMTV6Ii8+PHBhdGggZD0iTTQ3LjE0IDQwLjk5Yy45MDIgMCAxLjQyMy0uNTg0IDEuNDIzLTEuMzczIDAtMS4yMzktLjUyMi0xLjcxNC0xLjQxOC0xLjc4Ni0uMzItLjAyNi0uNTg0LjA2NS0uNjc0LjM0Ny0uMDkuMjgyLjA1NC42MzMuMzQ3LjY3NC42ODYuMDk3LjY4NS4yMTYuNjg1LjU2NiAwIC4zNDgtLjQwMi40OTQtLjQ4NS41MTNhLjUzNi41MzYgMCAwMC4xMjEgMS4wNThtLTMuODMzLjAwMWMtLjkwMiAwLTEuNDIzLS41ODQtMS40MjMtMS4zNzMgMC0xLjIzOS41MjEtMS43MTQgMS40MTctMS43ODYuMzIxLS4wMjYuNTg0LjA2NS42NzUuMzQ3LjA5LjI4Mi0uMDU0LjYzMy0uMzQ3LjY3NC0uNjg2LjA5Ny0uNjg2LjIxNi0uNjg2LjU2NiAwIC4zNDguNDAzLjQ5NC40ODYuNTEzYS41MzYuNTM2IDAgMDEtLjEyMiAxLjA1OG0xNi40NzYtMjcuMDgxYy02LjMzNiAwLTExLjQ3MiA1LjEzNy0xMS40NzIgMTEuNDczIDAgNi4zMzYgNS4xMzYgMTEuNDczIDExLjQ3MiAxMS40NzMgNi4zMzYgMCAxMS40NzMtNS4xMzcgMTEuNDczLTExLjQ3MyAwLTYuMzM2LTUuMTM3LTExLjQ3My0xMS40NzMtMTEuNDczem0tMS42MDYgNi40NGE1LjEgNS4xIDAgMDEwIDEwLjE5NyA1LjA5OCA1LjA5OCAwIDAxLTQuOTM4LTYuMzY3IDIuMTQ0IDIuMTQ0IDAgMTAyLjA3NC0yLjk1IDUuMDcyIDUuMDcyIDAgMDEyLjg2NC0uODh6bS0yNy41MjUtNi40NGMtNi4zMzYgMC0xMS40NzIgNS4xMzctMTEuNDcyIDExLjQ3MyAwIDYuMzM2IDUuMTM2IDExLjQ3MyAxMS40NzIgMTEuNDczIDYuMzM2IDAgMTEuNDczLTUuMTM3IDExLjQ3My0xMS40NzMgMC02LjMzNi01LjEzNy0xMS40NzMtMTEuNDczLTExLjQ3M3ptMS42NCA2LjQ0YTUuMSA1LjEgMCAwMTAgMTAuMTk3IDUuMDk4IDUuMDk4IDAgMDEtNC45MzgtNi4zNjcgMi4xNDQgMi4xNDQgMCAwMDQuMTI3LS44MSAyLjE0MiAyLjE0MiAwIDAwLTIuMDU0LTIuMTQgNS4wNzQgNS4wNzQgMCAwMTIuODY0LS44OHoiLz48L2c+PC9zdmc+DQo=", + "width": 19, + "height": 13 + }, + "libraries": { + "base64": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9IiNmZmYiIHZpZXdCb3g9IjAgMyAxMiAxNSI+PHBhdGggZD0iTTIuOCA1LjJjMC0uNSAwLS44LS4xLTEgMC0uMi0uMS0uMy0uMy0uMy0uMiAwLS41LS4xLTEtLjFzLS44IDAtMSAuMWwtLjMuM2MwIC4yLS4xLjUtLjEgMXY3TDIuOCAxMFY1LjJ6TS4xIDE0djEuNWMwIC41IDAgLjguMSAxIDAgLjIuMS4zLjMuMy4yIDAgLjUuMSAxIC4xcy44IDAgMS0uMWMuMiAwIC4zLS4xLjMtLjMgMC0uMi4xLS41LjEtMXYtMy42TC4xIDE0em00LjUtMy42djQuOWMwIC41IDAgLjguMSAxIDAgLjIuMS4zLjMuMy4yIDAgLjUuMSAxIC4xcy44IDAgMS0uMWMuMiAwIC4zLS4xLjMtLjMgMC0uMi4xLS41LjEtMVY4LjJsLTIuOCAyLjJ6bTIuNy01LjF2LS4xYzAtLjUgMC0uOC0uMS0xIDAtLjEtLjEtLjItLjItLjMtLjIgMC0uNS0uMS0xLS4xcy0uOCAwLTEgLjFjLS4yLjEtLjMuMi0uNC4zIDAgLjItLjEuNS0uMSAxdjMuNWwyLjgtMi4yVjUuM3ptNC42IDUuMXY0LjljMCAuNSAwIC44LS4xIDEgMCAuMi0uMS4zLS4zLjMtLjIgMC0uNS4xLTEgLjFzLS44IDAtMS0uMWMtLjIgMC0uMy0uMS0uMy0uMyAwLS4yLS4xLS41LS4xLTFWOC4ybDIuOCAyLjJ6TTkuMSA1LjN2LS4xYzAtLjUgMC0uOC4xLTEgMC0uMi4xLS4zLjMtLjMuMiAwIC41LS4xIDEtLjFzLjggMCAxIC4xYy4yIDAgLjMuMS4zLjMgMCAuMi4xLjUuMSAxdjMuNUw5LjEgNi41VjUuM3oiLz48L3N2Zz4NCg==", + "width": 13, + "height": 13 + }, + "mastodon": { + "base64": "data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9IiNmZmYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTIzLjE5MyA3Ljg4YzAtNS4yMDctMy40MTEtNi43MzMtMy40MTEtNi43MzNDMTguMDYyLjM1NyAxNS4xMDguMDI1IDEyLjA0MSAwaC0uMDc2Yy0zLjA2OS4wMjUtNi4wMi4zNTctNy43NCAxLjE0NyAwIDAtMy40MTIgMS41MjYtMy40MTIgNi43MzIgMCAxLjE5My0uMDIzIDIuNjE5LjAxNSA0LjEzLjEyNCA1LjA5Mi45MzQgMTAuMTEgNS42NDEgMTEuMzU1IDIuMTcuNTc0IDQuMDM0LjY5NSA1LjUzNi42MTIgMi43MjItLjE1IDQuMjUtLjk3MiA0LjI1LS45NzJsLS4wOS0xLjk3NXMtMS45NDUuNjEzLTQuMTMuNTRjLTIuMTY1LS4wNzUtNC40NDktLjIzNC00Ljc5OS0yLjg5MmE1LjUgNS41IDAgMDEtLjA0OC0uNzQ1czIuMTI1LjUyIDQuODE4LjY0M2MxLjY0Ni4wNzUgMy4xOS0uMDk3IDQuNzU4LS4yODMgMy4wMDctLjM1OSA1LjYyNS0yLjIxMiA1Ljk1NC0zLjkwNS41MTctMi42NjUuNDc1LTYuNTA4LjQ3NS02LjUwOHptLTQuMDI0IDYuNzA5aC0yLjQ5N3YtNi4xMmMwLTEuMjktLjU0My0xLjk0NC0xLjYyOC0xLjk0NC0xLjIgMC0xLjgwMi43NzYtMS44MDIgMi4zMTN2My4zNDloLTIuNDg0di0zLjM1YzAtMS41MzctLjYwMi0yLjMxMy0xLjgwMi0yLjMxMy0xLjA4NSAwLTEuNjI4LjY1NS0xLjYyOCAxLjk0NXY2LjExOUg0LjgzMVY4LjI4NWMwLTEuMjkuMzI4LTIuMzE0Ljk4Ny0zLjA3LjY4LS43NTkgMS41Ny0xLjE0NyAyLjY3NC0xLjE0NyAxLjI3OCAwIDIuMjQ2LjQ5MSAyLjg4NiAxLjQ3NEwxMiA2LjU4NWwuNjIyLTEuMDQzYy42NC0uOTgzIDEuNjA4LTEuNDc0IDIuODg2LTEuNDc0IDEuMTA0IDAgMS45OTQuMzg4IDIuNjc0IDEuMTQ2LjY1OC43NTcuOTg2IDEuNzgxLjk4NiAzLjA3djYuMzA1eiIvPjwvc3ZnPg0K", + "width": 13, + "height": 13 + }, + "maven": { + "base64": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTQuMjM2LjAwMWMtLjMxMi0uMDEzLS42NjUuMDctLjgyOC40NTYtLjE1OS4zNzQtLjI4MyAxLjE4OC0uMzQgMi4yNzZsMS4yMjQuNTkzYy0uMDItLjc4LjAwOC0xLjUxMy4wODctMi4xNzktLjAyNS4yMi0uMDc3LjkwNy0uMDA2IDIuMTUuMDE5LjM0MS4wNDkuNzI2LjA4OCAxLjE1MS4wMDIuMDI0LjAwMi4wNDYuMDA3LjA2N2E0NS40NDYgNDUuNDQ2IDAgMDAuMzEyIDIuNDExYy4wNTUuMzY4LjEyMi43NTQuMTkyIDEuMTYxbC0uMDEuMDFjLjAxNC4wMS4wMTYuMDIuMDE1LjAyNWwuMDI5LjE2Yy4wMzEuMTYyLjA2LjMyNy4wOTMuNDkzbC4xMDkuNTU0LjA1Ni4yODlhNjEuNDggNjEuNDggMCAwMC40NTYgMi4wNjhjLjA5LjM4Mi4xODcuNzguMjg4IDEuMTg2LjA5OS4zODcuMTk4Ljc4Mi4zMDggMS4xOTIuMDk2LjM2Mi4yLjczNS4zMDQgMS4xMTcuMDAzLjAxOC4wMTIuMDM3LjAxNS4wNTYuMTA2LjM3Ni4yMTYuNzY0LjMzIDEuMTZhLjA2LjA2IDAgMDAuMDEuMDI1bC4wNS4xNzNjLjA3Ny4yNjIuMTU4LjUzMy4yNDEuODA1YTQuMTk3IDQuMTk3IDAgMDEtLjI5NS0uMTM0IDE2Ni41MTUgMTY2LjUxNSAwIDAxLS4xODctLjY1M2wtLjA2My0uMjI4LS4wMDMtLjAwMi0uMDA1LS4wMDJjLS4wODctLjMwMS0uMTY3LS42MDYtLjI1Ni0uOTE2LS4wMjItLjA4Ni0uMDQ0LS4xNzMtLjA2OS0uMjYzbC0uMzEzLTEuMTc4YTc3LjEzMiA3Ny4xMzIgMCAwMS0uMjktMS4xNTRjLS4wOTUtLjM5LS4xODYtLjc4LS4yNzgtMS4xNzNhNTQuNDk4IDU0LjQ5OCAwIDAxLS4yNjQtMS4yMDJjLS4wODUtLjM5Ny0uMTYzLS43OTktLjI0Mi0xLjE5NWExNy4xOCAxNy4xOCAwIDAxLS4wOC0uNDNjLS4wNDUtLjI0Ni0uMDg3LS40OTMtLjEzLS43NC0uMDA0LS4wMTMtLjAwNS0uMDI4LS4wMDktLjA0bC0xLjA0Ni0uNTM0IDEuMDUuNTMyYy0uMDU3LS4zODctLjExNy0uNzcxLS4xNzUtMS4xNTJhNjAuNjk2IDYwLjY5NiAwIDAxLS4xNTQtMS4yIDI3LjQ3MiAyNy40NzIgMCAwMS0uMTEzLTEuMjA3LjcxMS43MTEgMCAwMS0uMDA0LS4wNyAyNC45OSAyNC45OSAwIDAxLS4wNTQtMS4xMzVsLTEuMjIyLS41ODhjLS4wMDIuMDc0LS4wMDguMTUtLjAxMS4yM2EyNy41NCAyNy41NCAwIDAwLS4wMjMuOTNjLS4wMDMuMzY4IDAgLjc1Mi4wMDYgMS4xNTUuMDA5LjM3LjAyNC43NTYuMDQ0IDEuMTQ4LjAyLjMzNi4wNDIuNjc2LjA3IDEuMDIyIDAgLjAxNS4wMDIuMDI0LjAwMy4wMzlsLjAwNS4wMDNjLjAwMy4wMjMuMDA3LjA1LjAwNi4wNzYuMDMzLjM2OC4wNjUuNzQxLjEwOSAxLjExNy4wNDIuMzgxLjA5Ljc2My4xNDcgMS4xNDkuMDQ4LjMyNi4xLjY0OS4xNTQuOTc1LjAxLjA2NC4wMjQuMTMyLjAzNS4xOTZhMjMuNDQgMjMuNDQgMCAwMC41NDggMi4zMmMuMDcuMjM3LjE0LjQ2NS4yMS42OC4wNjIuMTgzLjEyOS4zNjYuMTk0LjU0NS4xNTUuNDIyLjMyNy44MzIuNTEyIDEuMjMybC4wMDYuMDAzYS4zMi4zMiAwIDAwLjAxOS4wNTFjLjIyNi40ODQuNDc1Ljk1Ljc1NSAxLjM5NS4wMS4wMTMuMDE5LjAzMy4wMjkuMDQ2LS40NTQtLjE4My0xLjI1OC0uMDk4LTEuMjUyLS4wOTcuODMuMjg4IDEuNTU4LjY0IDIuMDE3IDEuMTc1LS4xODMuMi0uNTI0LjM1My0uOTU0LjQ3OC41OTQuMDY0LjkyNS0uMDQgMS4wNDYtLjA5My0uMzEuMjU5LS40ODMuNzMyLS42MzYgMS4yNC4zNS0uNTcuNjk2LS45NDggMS4wMzMtMS4wOTIuMDc4LjI1Ny4xNjIuNTIzLjI0NS43ODctLjcyNyAxLjQyLTEuNDcgMi45NDYtMi4yMjUgNC41NTRhLjU2LjU2IDAgMDAuNDMtLjMxMmMuMTMtLjI4MS44MzUtMS43OCAxLjkwOC0zLjg3My40MTMgMS4zMDIuODggMi42NzggMS4zODYgNC4xMDZhLjQ5NS40OTUgMCAwMC4wNzctLjQ2NGMtLjA5OC0uMjctLjYzNC0xLjc5Ny0xLjMwNS0zLjk0Ni4xNTMtLjI5Ni4zMTgtLjYxLjQ4NC0uOTI3YTMuNTA0IDMuNTA0IDAgMDEuNDAzLjE1OWMuMTk1LjE4Ny4zMzcuNDkzLjQ2NC44MzNhMS41MTUgMS41MTUgMCAwMC0uMzMzLTEuMWMxLjMzNi4yNTggMi41NDguMDkgMy4yODgtLjgxYTMuOTc0IDMuOTc0IDAgMDAuMTktLjI1N2MtLjMyNS4zMDQtLjY4Mi40MDQtMS4zMTMuMjczLjk5Ni0uMjgxIDEuNTI1LS42MTcgMi4wMzctMS4yMjFhNy41MjQgNy41MjQgMCAwMC4zNjktLjQ3OGMtLjk0Mi43MjItMS45MjYuODItMi45LjQ5MS0uMDEzLS4wMDYtLjAyNy0uMDA4LS4wNDQtLjAxNS45MTQuMDIgMi4yMDMtLjQ3NiAzLjA5Mi0xLjE5MWE3LjI0IDcuMjQgMCAwMDEuMTctMS4yMTFjLjI4LS4zNTguNTUtLjc2LjgyLTEuMjE1LjIzNC0uMzkzLjQ2OC0uODI1LjY5OS0xLjI5NGEyLjggMi44IDAgMDEtLjczOC4xMzlsLS4xNDQuMDA3Yy0uMDQ4LjAwMy0uMDk1IDAtLjE0Ny4wMDIuODg0LS4xOTggMS41LS43NCAxLjk5NC0xLjQ0Ni0uMjQuMTE3LS42MjguMjYtMS4wNy4yOTQtLjA1OC4wMDYtLjEyLjAwNy0uMTgyLjAwNy0uMDE0LS4wMDItLjAyOCAwLS4wNDctLjAwM2EzLjQxIDMuNDEgMCAwMC44MS0uMzA4IDMuMzgxIDMuMzgxIDAgMDAuMzU4LS4yMzdjLjA0NC0uMDM3LjA4Ny0uMDY5LjEzLS4xMDVhMi4zODMgMi4zODMgMCAwMC4yOC0uMjg3Yy4wMjgtLjAzNC4wNTctLjA2My4wOC0uMDk4LjAzNy0uMDUxLjA3Mi0uMDk4LjEwMy0uMTQ2YTguMzg3IDguMzg3IDAgMDAuMzc1LS41ODYgNi44MjUgNi44MjUgMCAwMC4xMzYtLjI0MmMuMDE0LS4wMy4wMzItLjA1Ny4wNDYtLjA4OC4wNC0uMDg0LjA4LS4xNi4xMS0uMjI3LjA0Mi0uMDk4LjA3My0uMTc5LjA5MS0uMjM4YS41MTcuNTE3IDAgMDEtLjEwNy4wNWMtLjI3My4xMTMtLjcyNi4xOS0xLjA4NS4yMDQtLjAwNC0uMDAxLS4wMDktLjAwMi0uMDE0LjAwMmwtLjA2Ni4wMDJjLjcxOC0uMjE1IDEuMDY2LS40NTMgMS40MjEtLjgyYTEzLjg5IDEzLjg5IDAgMDAxLjE1NS0xLjQyN2MuMjYzLS4zNy41MDMtLjczOS42OS0xLjA3Mi4xMjItLjIxNS4yMjItLjQxNS4zLS41OTNhNy4xODcgNy4xODcgMCAwMC4xNy0uNDUgMzYuNDE3IDM2LjQxNyAwIDAxLTEuNDggMGMuNDk2LjAxIDEuMDE3LjAwNyAxLjQ4Ni0uMDA1LjQ5OS0xLjQ4NS4wNjEtMi4yNjIuMDYxLTIuMjYycy0uNTI1LTEuMjEyLTEuNC0uODUxYy0uNDI0LjE3NS0xLjE3Mi43My0yLjA4MiAxLjU2MmwuNTE0IDEuNDQ4YTE3LjM3OCAxNy4zNzggMCAwMTEuODAxLTEuNjg0Yy0uMTk0LjE1Ny0uNzgyLjY3LTEuNzEyIDEuNzI2LS4yNTYuMjktLjUzOC42MjQtLjg0NC45OTctLjAxOC4wMjEtLjAzNS4wMzgtLjA0OC4wNmE1MS43NDkgNTEuNzQ5IDAgMDAtMS42NjUgMi4xODljLS4yNDguMzQtLjQ5OS43MDMtLjc2NyAxLjA4N2gtLjAxNWMuMDAyLjAxOS0uMDA1LjAyOC0uMDEuMDMyLS4wMzYuMDUxLS4wNjYuMS0uMTAzLjE1LS4xMDMuMTU3LS4yMTIuMzEyLS4zMTYuNDczbC0uMzU0LjUzMmMtLjA2LjA5LS4xMjIuMTgyLS4xODMuMjc3LS4xODQuMjgyLS4zNjkuNTczLS41Ni44NzNhNjkuOTcgNjkuOTcgMCAwMC0uNzE2IDEuMTU0IDk3LjUxMyA5Ny41MTMgMCAwMC0uNzEgMS4xODNjLS4yMjkuMzktLjQ2My43ODgtLjcgMS4yMDQtLjIxLjM2OS0uNDI0Ljc1LS42NDMgMS4xNDEtLjAxMi4wMTgtLjAyLjA0LS4wMzIuMDU3LS4yMTMuMzg3LS40MzMuNzg3LS42NTUgMS4xOTctLjAwNi4wMDgtLjAxMi4wMTctLjAxNC4wMjYtLjAzMi4wNjItLjA2NS4xMi0uMDk3LjE4MS0uMTcuMzE3LS4zNDYuNjQyLS41Mi45NzggMCAuMDA1LS4wMDUuMDEtLjAwNi4wMTQtLjAyNi4wNDgtLjA1MS4wOTItLjA3My4xNC0uMTE2LjIyLS4yMjEuNDMtLjQ0OS44N2ExLjM1IDEuMzUgMCAwMC0uMjMtLjE4Yy4xMTktLjIyNC4yMTctLjQyLjM0MS0uNjUzLjA0Ni0uMDg4LjA5Ny0uMTc2LjE0NC0uMjY5bC4wNC0uMDc1Yy4xNzYtLjMyNS4zNTgtLjY2LjU0Ni0xLjAwMy4wNDUtLjA3OS4wODQtLjE1NC4xMy0uMjMzdi0uMDA0bC0uMDAyLS4wMDZjLjE2OC0uMzEuMzQ2LS42Mi41Mi0uOTQuMDUyLS4wODcuMTAzLS4xNzUuMTU0LS4yNjcuMjI0LS4zOTUuNDU0LS43OTMuNjg0LTEuMTk3YTg3LjA4MSA4Ny4wODEgMCAwMS42ODQtMS4xNmMuMjMyLS4zODguNDctLjc3NS43MDctMS4xNjQuMjQ0LS4zOTYuNDktLjc4OC43NDMtMS4xNzguMjQ3LS4zODcuNTAzLS43NzIuNzU0LTEuMTU0LjA5MS0uMTM4LjE4My0uMjcyLjI3OS0uNDEuMTU4LS4yMzQuMzItLjQ2Ni40ODItLjcuMDA3LS4wMTIuMDE4LS4wMjUuMDI1LS4wMzhsLS40MzMtMS4zMDcuNDM4IDEuMzA4Yy4yNjEtLjM1Ni41MTgtLjcxMy43NzQtMS4wNjUuMjc4LS4zNzMuNTU0LS43MzYuODMtMS4wOS4yODYtLjM2Ny41NzYtLjcxOC44NjgtMS4wNi4wMTgtLjAyMi4wMzUtLjA0My4wNTEtLjA2LjI4Ny0uMzMzLjU3MS0uNjUyLjg1OC0uOTU3bC0uNTE1LTEuNDQ0Yy0uMDYuMDU4LS4xMjYuMTE0LS4xOTIuMTc2YTMxLjA1IDMxLjA1IDAgMDAtLjc1OC43M2MtLjI5NS4yOTQtLjU5OC42MDYtLjkxMi45MzUtLjI4Ny4zMDUtLjU4MS42MjgtLjg3Ny45Ni0uMjUuMjg2LS41MDMuNTc2LS43NTYuODc3LS4wMTIuMDEyLS4wMTguMDIxLS4wMjkuMDM0bC4wMDMuMDA3Yy0uMDE3LjAyMS0uMDM1LjA0NS0uMDU2LjA2NS0uMjY2LjMyMy0uNTM3LjY0OS0uOC45ODVhMzguMDg3IDM4LjA4NyAwIDAwLS43OTUgMS4wNDMgNjUuNTcyIDY1LjU3MiAwIDAwLS42NTEuOTA3bC0uMTI3LjE4NmEyNi4zNTQgMjYuMzU0IDAgMDAtMS40MDIgMi4zMDMgMzAuMDc2IDMwLjA3NiAwIDAwLS4zNzEuNzE1Yy0uMDk1LjE5Ni0uMTg2LjM5Ni0uMjc3LjU5Mi0uMjEuNDYzLS4zOTguOTMtLjU2NiAxLjM5OWwuMDAyLjAwNmEuMzYuMzYgMCAwMC0uMDI2LjA1N2MtLjEwNy4zMDMtLjIwNC42MDgtLjI5Mi45MTRhMi41NjggMi41NjggMCAwMS0uNDgzLjQ2Yy0uMDQyLS4wNTItLjA4OC0uMDk4LS4xMzItLjE0N2E1LjE0NiA1LjE0NiAwIDAwLjgyNy0yLjIxNiA2LjQwMyA2LjQwMyAwIDAwLS4wMTUtMS40ODhjLS4wNDYtLjQtLjEyNy0uODItLjIzOS0xLjI3NGExNi4zNDYgMTYuMzQ2IDAgMDAtLjM2NC0xLjI0OCAyLjQ4IDIuNDggMCAwMS0uMzc4LjU0NmwtLjA4Ny4wOTNjLS4wMjguMDMyLS4wNTkuMDYtLjA5LjA5NC40MzMtLjY3NC40ODQtMS4zOTguMzU1LTIuMTQ5YTIuNzIyIDIuNzIyIDAgMDEtLjQ5Ljg1IDEuNzggMS43OCAwIDAxLS4xMS4xMTZjLS4wMS4wMDgtLjAxNy4wMTgtLjAzLjAyOC4xNDMtLjI0LjI1LS40NjcuMzE4LS42OTguMDE2LS4wNDguMDI2LS4wOTYuMDM3LS4xNDVhMi45OTEgMi45OTEgMCAwMC4wNC0uMjI2bC4wMTctLjE0NmEyLjEwNyAyLjEwNyAwIDAwLS4wMDMtLjM1NGMtLjAwMy0uMDM5LS4wMDMtLjA3NS0uMDEtLjExMS0uMDA5LS4wNTUtLjAxNi0uMTA3LS4wMjYtLjE1N2E3LjQyMyA3LjQyMyAwIDAwLS4xMjctLjYwMiA2LjAxNCA2LjAxNCAwIDAwLS4wNjUtLjIzNmMtLjAxLS4wMjgtLjAxNS0uMDU2LS4wMjYtLjA4NC0uMDI2LS4wNzktLjA0OC0uMTUtLjA3Mi0uMjFhMi4wODIgMi4wODIgMCAwMC0uMDktLjIwNy40NTguNDU4IDAgMDEtLjAzNi4wOTljLS4xMDIuMjQtLjM0LjU2OC0uNTU3LjgtLjAwMy4wMDItLjAwNi4wMDUtLjAwNy4wMWwtLjA0LjA0MmMuMzE4LS41OC4zOS0uOTQ2LjM4NS0xLjM5OGE3LjEyNSA3LjEyNSAwIDAwLS4wMTktLjM4MyAxMi4yODIgMTIuMjgyIDAgMDAtLjE0LTEuMjMyIDEwLjY1NiAxMC42NTYgMCAwMC0uMjMzLTEuMTAzIDUuODU0IDUuODU0IDAgMDAtLjE4LS41NiA2LjM3NiA2LjM3NiAwIDAwLS4xNy0uMzljLS40MzMuNDQ1LS45NS45NS0xLjM5NiAxLjM0OS40NDUtLjQuOTY0LS45MDUgMS4zOTYtMS4zNTRDNS41NzUuMzQxIDQuODE4LjEyNCA0LjgxOC4xMjRTNC41NDguMDE0IDQuMjM2IDB6bTMuMzggMTUuNzgybC4wMzIuMDg0Yy0uMDYuMDMzLS4xMTcuMDY4LS4xOC4wOTgtLjAxMi4wMDQtLjAyMS4wMTEtLjAzNy4wMTguMDYzLS4wNi4xMjQtLjEyOC4xODUtLjJ6TTcuMDEgMTcuNGMuMTMuMTM3LjI1My4yNTIuMzU4LjMzbC4wNy4yMjdjLS4wOC4wMTEtLjE2Mi4wMzYtLjI0NS4wNi0uMDEtLjAzOC0uMDItLjA2Ny0uMDMxLS4xMDQtLjAyNi0uMDg0LS4wNDktLjE3MS0uMDc3LS4yNTlsLS4wMjItLjA3LS4wNTMtLjE4NHptLjI2Ni44ODVjLjA5NC0uMDAyLjE4My4wMDIuMjY4LjAxbC4wNy4yMjlhLjc3Ni43NzYgMCAwMS4yNDYtLjAwNGMtLjEwNy4yMDMtLjIxNC40MTMtLjMyMS42MjEtLjA4Ny0uMjgyLS4xNzMtLjU1Ni0uMjYzLS44NTZ6Ii8+PC9zdmc+DQo=", + "width": 13, + "height": 13 + }, + "medium": { + "base64": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9IiNmZmYiIHZpZXdCb3g9IjMyIDMyIDEyNSAxMjUiPjxwYXRoIGQ9Ik00Ni41IDY1LjJBNSA1IDAgMDA0NSA2MUwzMi43IDQ2LjJWNDRoMzhsMjkuMyA2NC40TDEyNS44IDQ0SDE2MnYyLjJsLTEwLjUgMTBhMyAzIDAgMDAtMS4xIDN2NzMuNmEzIDMgMCAwMDEuMSAzbDEwLjMgMTB2Mi4yaC01MS40di0yLjJsMTAuNi0xMC4zYzEtMSAxLTEuMyAxLTNWNzNsLTI5LjQgNzQuOGgtNEw1NC40IDczdjUwLjFhNyA3IDAgMDAxLjkgNS44TDcwIDE0NS42djIuMkgzMXYtMi4ybDEzLjgtMTYuN2E2LjcgNi43IDAgMDAxLjctNS44VjY1LjJ6Ii8+PC9zdmc+DQo=", + "width": 13, + "height": 13 + }, + "now": { + "base64": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMTAgMTAwIj48cGF0aCBmaWxsPSIjZmZmIiBkPSJNNTUgMEwwIDk5aDExMEw1NSAwem0tNSAyMGw0MCA3NEgxMGw0MC03NHoiLz48L3N2Zz4NCg==", + "width": 15, + "height": 13 + }, + "npm": { + "base64": "data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDUgMjQgMTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTAgNy4zMzR2OGg2LjY2NnYxLjMzMkgxMnYtMS4zMzJoMTJ2LThIMHptNi42NjYgNi42NjRINS4zMzR2LTRIMy45OTl2NEgxLjMzNVY4LjY2N2g1LjMzMXY1LjMzMXptNCAwdjEuMzM2SDguMDAxVjguNjY3aDUuMzM0djUuMzMyaC0yLjY2OXYtLjAwMXptMTIuMDAxIDBoLTEuMzN2LTRoLTEuMzM2djRoLTEuMzM1di00aC0xLjMzdjRoLTIuNjcxVjguNjY3aDguMDAydjUuMzMxek0xMC42NjUgMTBIMTJ2Mi42NjdoLTEuMzM1VjEweiIvPjwvc3ZnPg0K", + "width": 20, + "height": 13 + }, + "nuget": { + "base64": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgNTEyIDUxMiI+PGRlZnM+PHBhdGggaWQ9ImEiIGQ9Ik0wIDQ2LjAyVjMuN2g4NC42NXY4NC42NEgweiIvPjwvZGVmcz48ZyBmaWxsPSIjZmZmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgNikiPjxwYXRoIGQ9Ik0zNzQuNDIgNDU0Ljg2YTg0LjY2IDg0LjY2IDAgMTEuMDItMTY5LjMyIDg0LjY2IDg0LjY2IDAgMDEtLjAyIDE2OS4zMk0yMDUuNTcgMjYwLjhhNTIuOTIgNTIuOTIgMCAxMS4wMS0xMDUuODMgNTIuOTIgNTIuOTIgMCAwMS0uMDEgMTA1LjgzbTE3Mi42LTE2NS4xN0gyMzYuOWMtNzIgMC0xMzAuNDEgNTguNDItMTMwLjQxIDEzMC40NHYxNDEuMjhjMCA3Mi4wNSA1OC40MSAxMzAuNDIgMTMwLjQgMTMwLjQyaDE0MS4zYzcyLjAzIDAgMTMwLjQtNTguMzcgMTMwLjQtMTMwLjQyVjIyNi4wOGMwLTcyLjAyLTU4LjM3LTEzMC40NC0xMzAuNC0xMzAuNDQiLz48bWFzayBpZD0iYiI+PHVzZSB4bGluazpocmVmPSIjYSIvPjwvbWFzaz48cGF0aCBkPSJNODQuNjUgNDYuMDFhNDIuMzMgNDIuMzMgMCAxMS04NC42NiAwIDQyLjMzIDQyLjMzIDAgMDE4NC42NiAwIiBtYXNrPSJ1cmwoI2IpIi8+PC9nPjwvc3ZnPg0K", + "width": 13, + "height": 13 + }, + "packagephobia": { + "base64": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDggMTA4Ij48cGF0aCBmaWxsPSIjZmZmIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGQ9Ik0xOC4zMzQgODQuNzYxVjM0LjgzNGwzNS40MTItMjAuMjM1IDM1LjQyMSAyMC4yMzV2NDAuMzI4bC0zNS40MiAyMC4yNEwzNSA4NC42ODdWNDQuNTA1bDE4Ljc0Ni0xMC43MTNMNzIuNSA0NC41MDVWNjUuNDlMNTMuNzQ2IDc2LjIwNGwtMi4wNzktMS4xODhWNTQuMThsMTAuNDc4LTUuOTktOC4zOTktNC43OTgtMTAuNDEyIDUuOTU0Vjc5Ljg1bDEwLjQxMiA1Ljk1MyAyNy4wODgtMTUuNDhWMzkuNjcyTDUzLjc0NiAyNC4xOTggMjYuNjY3IDM5LjY3djQ5Ljg1TDUzLjc0NyAxMDUgOTcuNSA4MFYzMEw1My43NDYgNSAxMCAzMHY1MHoiLz48L3N2Zz4NCg==", + "width": 13, + "height": 13 + }, + "patreon": { + "base64": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9IiNmZmYiIHZpZXdCb3g9IjAgMCAyOCAyOCI+PHBhdGggZD0iTTE3LjM4NiAyLjUyNGMtNC43NjQgMC04LjY0IDMuODc2LTguNjQgOC42NCAwIDQuNzUgMy44NzYgOC42MTMgOC42NCA4LjYxMyA0Ljc1IDAgOC42MTQtMy44NjQgOC42MTQtOC42MTMgMC00Ljc2NC0zLjg2NC04LjY0LTguNjE0LTguNjRNMi4wMDMgMjUuNTM3aDQuMjJWMi41MjRoLTQuMjIiLz48L3N2Zz4NCg==", + "width": 13, + "height": 13 + }, + "peertube": { + "base64": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNy40NTQgMjQiPjxwYXRoIGQ9Ik04LjcyNyA2LjU0NXYxMC45MUwxNy40NTQgMTJNMCAxMnYxMmw4LjcyNy02LjU0NU0wIDB2MTJsOC43MjctNS40NTUiIGZpbGw9IiNmZmYiLz48L3N2Zz4NCg==", + "width": 10, + "height": 13 + }, + "php": { + "base64": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHN0eWxlPSJpc29sYXRpb246aXNvbGF0ZSIgdmlld0JveD0iMSA1MyAxMDAgMTAwIiB3aWR0aD0iMTAwcHQiIGhlaWdodD0iMTAwcHQiPg0KICA8Y2xpcFBhdGggaWQ9ImEiPg0KICAgIDxwYXRoIGZpbGw9IiNGRkYiIGQ9Ik0xIDUzaDEwMHYxMDBIMXoiLz4NCiAgPC9jbGlwUGF0aD4NCiAgPGcgZmlsbD0iI0ZGRiIgY2xpcC1wYXRoPSJ1cmwoI2EpIj4NCiAgICA8cGF0aCBkPSJNMTAuNjkxIDg5LjA2MWgxNC4yMDRjNC4xNjkuMDM1IDcuMTkgMS4yMzcgOS4wNjMgMy42MDQgMS44NzMgMi4zNjcgMi40OTEgNS42IDEuODU1IDkuNjk5LS4yNDcgMS44NzMtLjc5NSAzLjcxLTEuNjQzIDUuNTEyYTE2LjM4NSAxNi4zODUgMCAwMS0zLjM5MiA0Ljg3NmMtMS43NjcgMS44MzctMy42NTcgMy4wMDMtNS42NzEgMy40OThhMjYuMTEgMjYuMTEgMCAwMS02LjI1NC43NDJoLTYuMzZsLTIuMDE0IDEwLjA3SDMuMTEybDcuNTc5LTM4LjAwMXptNi4yMDEgNi4wNDJsLTMuMTggMTUuOWMuMjEyLjAzNS40MjQuMDUzLjYzNi4wNTNoLjc0MmMzLjM5Mi4wMzUgNi4yMTktLjMgOC40OC0xLjAwNyAyLjI2MS0uNzQyIDMuNzgxLTMuMzIxIDQuNTU4LTcuNzM4LjYzNi0zLjcxIDAtNS44NDgtMS45MDgtNi40MTMtMS44NzMtLjU2NS00LjIyMi0uODMtNy4wNDktLjc5NS0uNDI0LjAzNS0uODMuMDUzLTEuMjE5LjA1M2gtMS4xMTNsLjA1My0uMDUzek00NC4yMDUgNzguOTM4aDcuMzE0bC0yLjA2NyAxMC4xMjNoNi41NzJjMy42MDQuMDcxIDYuMjg5LjgxMyA4LjA1NiAyLjIyNiAxLjgwMiAxLjQxMyAyLjMzMiA0LjA5OSAxLjU5IDguMDU2bC0zLjU1MSAxNy42NDloLTcuNDJsMy4zOTItMTYuODU0Yy4zNTMtMS43NjcuMjQ3LTMuMDIxLS4zMTgtMy43NjNzLTEuNzg0LTEuMTEzLTMuNjU3LTEuMTEzbC01Ljg4My0uMDUzLTQuMzQ2IDIxLjc4M2gtNy4zMTRsNy42MzItMzguMDU0ek03My41MjQgODkuMDYxaDE0LjIwNGM0LjE2OS4wMzUgNy4xOSAxLjIzNyA5LjA2MyAzLjYwNCAxLjg3MyAyLjM2NyAyLjQ5MSA1LjYgMS44NTUgOS42OTktLjI0NyAxLjg3My0uNzk1IDMuNzEtMS42NDMgNS41MTJhMTYuMzg1IDE2LjM4NSAwIDAxLTMuMzkyIDQuODc2Yy0xLjc2NyAxLjgzNy0zLjY1NyAzLjAwMy01LjY3MSAzLjQ5OGEyNi4xMSAyNi4xMSAwIDAxLTYuMjU0Ljc0MmgtNi4zNmwtMi4wMTQgMTAuMDdoLTcuMzY3bDcuNTc5LTM4LjAwMW02LjIwMSA2LjA0MmwtMy4xOCAxNS45Yy4yMTIuMDM1LjQyNC4wNTMuNjM2LjA1M2guNzQyYzMuMzkyLjAzNSA2LjIxOS0uMyA4LjQ4LTEuMDA3IDIuMjYxLS43NDIgMy43ODEtMy4zMjEgNC41NTgtNy43MzguNjM2LTMuNzEgMC01Ljg0OC0xLjkwOC02LjQxMy0xLjg3My0uNTY1LTQuMjIyLS44My03LjA0OS0uNzk1LS40MjQuMDM1LS44My4wNTMtMS4yMTkuMDUzaC0xLjExM2wuMDUzLS4wNTN6Ii8+DQogIDwvZz4NCjwvc3ZnPg0K", + "width": 13, + "height": 13 + }, + "pleroma": { + "base64": "data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9IiNmZmYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTYuMzYgMGExLjg2OCAxLjg2OCAwIDAwLTEuODcgMS44NjhWMjRoNS45NjRWMHptNy4xMTMgMHYxMmg0LjE2OGExLjg2OCAxLjg2OCAwIDAwMS44NjgtMS44NjhWMHptMCAxOC4wMzZWMjRoNC4xNjhhMS44NjggMS44NjggMCAwMDEuODY4LTEuODY4di00LjA5NnoiLz48L3N2Zz4NCg==", + "width": 13, + "height": 13 + }, + "postgresql": { + "base64": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0MCA0MCI+PGcgc3Ryb2tlPSIjZmZmIj48cGF0aCBkPSJNMzYuMyAyNC40Yy00LjQgMS00LjctLjYtNC43LS42IDQuNy03IDYuNi0xNS43IDUtMTcuOEMzMiAwIDI0IDMgMjMuOCAzaC0uMmwtMy0uNGMtMiAwLTMuNC42LTQuNiAxLjQgMCAwLTE0LjItNS44LTEzLjUgNy40IDAgMi44IDQgMjEuMiA4LjcgMTUuNiAxLjYtMiAzLjMtMy43IDMuMy0zLjcuOC41IDEuOC44IDIuOC43di43Yy0xIDEuNC0uOCAxLjYtMyAyLTIuNS42LTEgMS41LS4yIDEuNyAxIC4zIDQgLjcgNi0xLjh2LjNjMSAwIDEgMiAxIDRzMCAzIC41IDQgLjcgMyA0IDJjMi41LS44IDQtMiA0LTQuNyAwLTEuNy41LTEuNS41LTNsLjItLjhjLjQtMi40IDAtMyAxLjgtMi44aC40YzEgMCAyLjcgMCAzLjYtLjcgMi0xIDMuMy0yLjMgMS4zLTJ6IiBmaWxsPSJub25lIiBzdHJva2Utd2lkdGg9IjEuMSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PHBhdGggZD0iTTIwIDI1LjdjLS4yIDQuNCAwIDguOC40IDkuOHMxLjMgMy4yIDQuNSAyLjVjMi0uNiAzLTEuNyA0LTR2LTcuN00xNiA0UzItMiAyLjcgMTEuMmMwIDIuOCA0IDIxLjIgOC42IDE1LjdsMy4yLTRNMjQgM2MtLjYgMCA3LjctMy4yIDEyLjUgMyAxLjcgMi0uMyAxMC44LTUgMTcuOCIgZmlsbD0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxLjEiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjxwYXRoIGQ9Ik0zMS42IDIzLjhzLjMgMS41IDQuNy41YzItLjQuOCAxLjItMS4yIDItMSAuOC01IDEtNSAwIDAtMi43IDItMiAyLTIuNSAwLS42LTEtMS4yLTEtMi43LS41LTEtNy4yLTExIDItOSAwIDAtMi41LTguMi0xMS05LTkgMC05IDExLTkgMTEiIGZpbGw9Im5vbmUiIHN0cm9rZS13aWR0aD0iMS4xIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0iYmV2ZWwiLz48cGF0aCBkPSJNMTcuNiAyNC43Yy0xLjIgMS4zLTEgMS41LTMuMyAyLTIuNC41LTEgMS40IDAgMS42IDEgLjMgMy43LjcgNS40LTEuNy42LS44IDAtMi0uNy0yLjMtLjQgMC0uOC0uMy0xLjQuNHoiIGZpbGw9Im5vbmUiIHN0cm9rZS13aWR0aD0iMS4xIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48cGF0aCBkPSJNMTcuNSAyNC42YzAtLjcuMi0xLjcuNi0yLjggMS0xLjYgMy0zLjIgMS04LjQgMC00LTYtLjgtNi0uM3Y2YzAgMy43IDIgNiA1IDYiIGZpbGw9Im5vbmUiIHN0cm9rZS13aWR0aD0iMS4xIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz48cGF0aCBkPSJNMTYgMTNjMCAuMi41LjcgMSAuNy40IDAgLjgtLjMuOC0uNCAwLS4yLS4zLS40LS44LS41LS40IDAtLjggMC0xIC4yeiIgZmlsbD0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSIuNCIvPjxwYXRoIGQ9Ik0zMCAxMi43Yy4yIDAtLjIuNi0uNi43LS41IDAtMS0uMy0xLS41IDAtMSAuNC0xIDEtMWguN3oiIGZpbGw9IiNmZmYiIHN0cm9rZS13aWR0aD0iLjIiLz48cGF0aCBkPSJNMzEuOCAxMS40YzAgMS40LS4zIDIuNC0uNCA0IDAgMiAxIDQuNS0uNiA3IiBmaWxsPSJub25lIiBzdHJva2Utd2lkdGg9IjEuMSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PC9nPjwvc3ZnPg0K", + "width": 13, + "height": 13 + }, + "pypi": { + "base64": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTIzLjkyMiAxMy41OHYzLjkxMkwyMC41NSAxOC43MmwtLjA3OC4wNTUuMDUyLjAzNyAzLjQ1LTEuMjU2LjAyNi0uMDM2di0zLjk5N2wtLjA1My0uMDM2LS4wMjUuMDkyem0tLjMwMS03Ljk2MmwtMy4wNCAxLjEwN3YzLjkxMmwzLjMzOS0xLjIxNVY1LjUwOXptLjI5OSA3LjgzOVY5LjU0NGwtMy4zMzYgMS4yMTV2My45MTN6bS0zLjQ1IDEuMjUzVjEwLjhsLTMuMyAxLjJ2My45MTN6bS0zLjQzNiA1LjI4NnYtMy45MTJsLTMuMzEzIDEuMjA2djMuOTEyem0uMTM2LTMuOTM5djMuODY4bDMuMzE0LTEuMjA2VjE0Ljg1bC0zLjMxNCAxLjIwNnptMi4wOTMgMS44ODJjLS4zNjcuMTM0LS42NjMtLjA3NC0uNjYzLS40NjNzLjI5Ni0uODE0LjY2My0uOTQ3Yy4zNjUtLjEzMy42NjIuMDc1LjY2Mi40NjRzLS4yOTcuODE0LS42NjIuOTQ2em0tNi4wMzgtOC42MjRsLjM2NS0uMTMyLTMuMjg1LTEuMTk3LTMuMzIzIDEuMjEuMTAyLjAzNyAzLjE4NCAxLjE2em03LjI4MiAxLjM0OVY2Ljc1MUwxNy4xNyA3Ljk2NXYzLjkxM3ptLTMuNDQ5IDEuMjU0VjguMDA1bC0zLjMwMiAxLjIwMnYzLjkxMnptLTMuNDE1LTIuNjcybC0zLjMzNiAxLjIxNXYzLjkxM2wzLjMzNi0xLjIxNXptLTYuNzM2IDMuOTE5bDMuMzIyIDEuMjA5di0zLjkxM0w2LjkwNyA5LjI1MnptMy40MzMtNS4yOTJsMy4yODEgMS4xOTNWNS4xOThsLTMuMjgtMS4xOTN6bTEwLjE2Ny01LjE1OEwxNy4xOSAzLjkyMnYzLjkxM2wzLjMxNy0xLjIwN3pNMTYuOTUgMy45MDNMMTMuNzI0IDIuNzNsLTMuMjY5IDEuMTkgMy4yMjUgMS4xNzR6bS0xLjU4NS43MDNsLTEuNjI0LjU5MnYzLjg2OGwzLjMxNy0xLjIwN1YzLjk5MWwtMS42OTMuNjE1em0tLjM5MSAyLjc3OGMtLjM2Ny4xMzQtLjY2Mi0uMDc0LS42NjItLjQ2NHMuMjk1LS44MTMuNjYyLS45NDZjLjM2Ni0uMTMzLjY2My4wNzQuNjYzLjQ2NHMtLjI5Ny44MTMtLjY2My45NDZ6TTEwLjIyOSAxOC40MXYtMy45MTRsLTMuMzIyLTEuMjA5VjE3LjJ6bTMuNDQ5LTEuMjI4di0zLjkxM2wtMy4zNzEgMS4yMjd2My45MTN6bS4wNzgtLjAyOGwzLjMtMS4yVjEyLjA0bC0zLjMgMS4yem0tLjA3OCA0LjA2M2wtMy4zNzEgMS4yMjd2LTMuOTEyaC0uMDc4djMuOTEybC0zLjMyMi0xLjIwOXYtMy45MTNsLS4wNTMtLjA1OC0uMDI1LS4wNi0zLjMzNi0xLjIxdi0zLjk0OGwuMDM0LjAxMyAzLjI4NyAxLjE5Ni4wMTUtLjA3OC0zLjI2MS0xLjE4NyAzLjI2LTEuMTg3di0uMTA5TDMuODc2IDkuNjJsLS4zMDctLjExMiAzLjI2LTEuMTg4di44NzdsLjA3OS0uMDU1VjYuNzY5bDMuMjU3IDEuMTg1LjA1OC0uMDYxTDcuMDg0IDYuNzVsLS4xMDItLjAzNyAzLjI0LTEuMTc5di0uMDgzTDYuODU0IDYuNjc3di4wMThsLS4wMjUuMDE4djEuNTIzTDMuNDQgOS40N3YuMDJsLS4wMjUuMDE3djQuMDA3bC0zLjM5IDEuMjMzdi4wMTlMMCAxNC43ODR2My45OTVsLjAyNS4wMzcgMy40IDEuMjM3LjAwOC0uMDA2LjAwNy4wMSAzLjQgMS4yMzguMDA4LS4wMDYuMDA2LjAxIDMuNCAxLjIzNy4wMTQtLjAwOS4wMTIuMDEgMy40NS0xLjI1Ni4wMjYtLjAzNy0uMDc4LS4wMjd6TTMuNDkzIDkuNTYzbDMuMjU3IDEuMTg1LTMuMjU3IDEuMTg3VjkuNTYyek0zLjQgMTkuOTZMLjA3OCAxOC43NTJ2LTMuOTEzbDIuMzYxLjg2Ljk2LjM0OXYzLjkxM3ptLjAxNS0zLjk5bC0zLjA4LTEuMTItLjE4Mi0uMDY2IDMuMjYyLTEuMTg3djIuMzc0em0zLjM5OSA1LjIzMWwtMy4zMjEtMS4yMDlWMTYuMDhsMy4zMjEgMS4yMDl2My45MTJ6TTIzLjc5MSA1LjQzNGwtMy4yMS0xLjE3djIuMzM4em0tMy40MDQtMi43OTFsLTMuMjQtMS4xOC0zLjI3IDEuMTkgMy4yNDcgMS4xODJ6Ii8+PC9zdmc+DQo=", + "width": 13, + "height": 13 + }, + "rss": { + "base64": "data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjZmZmIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTE5LjE5OSAyNEMxOS4xOTkgMTMuNDY3IDEwLjUzMyA0LjggMCA0LjhWMGMxMy4xNjUgMCAyNCAxMC44MzUgMjQgMjRoLTQuODAxek0zLjI5MSAxNy40MTVhMy4zIDMuMyAwIDAxMy4yOTMgMy4yOTVBMy4zMDMgMy4zMDMgMCAwMTMuMjgzIDI0QzEuNDcgMjQgMCAyMi41MjYgMCAyMC43MXMxLjQ3NS0zLjI5NCAzLjI5MS0zLjI5NXpNMTUuOTA5IDI0aC00LjY2NWMwLTYuMTY5LTUuMDc1LTExLjI0NS0xMS4yNDQtMTEuMjQ1VjguMDljOC43MjcgMCAxNS45MDkgNy4xODQgMTUuOTA5IDE1LjkxeiIvPjwvc3ZnPg0K", + "width": 13, + "height": 13 + }, + "ruby": { + "base64": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9IiNmZmYiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTIwLjE2LjA4YzMuMDMuNTMgMy44OSAyLjYgMy44MiA0Ljc3bC4wMi0uMDMtMS4zNiAxNy44OS0xNy43NSAxLjIyaC4wMmMtMS40OC0uMDctNC43Ni0uMi00LjkxLTQuOGwxLjY1LTMgMi44MSA2LjYuNSAxLjE3IDIuODEtOS4xNS0uMDMuMDEuMDItLjAzTDE3IDE3LjY5bC0xLjQtNS40My0uOTgtMy45IDguODItLjU3LS42Mi0uNTFMMTYuNSAyLjEgMjAuMTYuMDd2LjAxek0wIDE5LjA4di4wNC0uMDN6bTUuMTMtMTRjMy41Ni0zLjU0IDguMTYtNS42MyA5LjkyLTMuODUgMS43NiAxLjc4LS4xIDYuMS0zLjY3IDkuNjQtMy41NiAzLjUzLTguMSA1LjczLTkuODcgMy45Ni0xLjc2LTEuNzguMDUtNi4yMiAzLjYyLTkuNzV6Ii8+PC9zdmc+DQo=", + "width": 13, + "height": 13 + }, + "scrutinizer": { + "base64": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0MCA0MCI+PHBhdGggZmlsbD0iI2ZjZmNmYyIgZD0iTTIuNTcgMzkuODNsLS4xLTEuMDNjLjItMi4wNCAxLjMzLTMuOTggMy4yNy01LjcxYTEwLjc0IDEwLjcyIDAgMDE0LjEtMi4yNWMxLjk0LS43MiAyLjc1LS43MiAxMC41My0uNzIgNi43NS0uMSA2Ljk1LS4xIDcuMjYtLjNhMi40NSAyLjQ1IDAgMDAuNzEtLjYxYy4yLS41Mi4zMS0uNjIuMzEtMS43NHMwLTEuMjMtLjMtMS42M2EzLjA3IDMuMDYgMCAwMC0uNjItLjYyYy0uNTEtLjMtMS42NC0uNC04LjctLjQtNS45MiAwLTcuMDUgMC03LjY2LS4yMWExMi41OCAxMi41OCAwIDAxLTUuNTItMi42NSA5LjQgOS40IDAgMDEtMy4wNy00LjZjLS4yLS45Mi0uMzEtMi4wNC0uMS0yLjI1LjItLjIgMjQuNzQtLjEgMjUuNTYuMWExMS41NiAxMS41NCAwIDAxMy45OSAxLjY0IDE0LjIxIDE0LjIgMCAwMTMuODggNC44IDE0LjAxIDEzLjk5IDAgMDEuNjIgMTAuMSAxMi44OSAxMi44NyAwIDAxLTUuODMgNy4xNmwtLjYxLjNhNy41NyA3LjU2IDAgMDEtMS4yMy40MWwtLjgyLjJhNDcxLjY0IDQ3MC45NiAwIDAxLTI1LjY3IDB6Ii8+PHBhdGggZmlsbD0iI2FlYWVhZSIgZD0iTTIuNjcgMTMuNDhjLS4zLS4yLS4zLTEuMTItLjItMi40NWwuMi0xLjQzLjItLjkyYTEwLjYgMTAuNiAwIDAxMi4yNi00LjRBMTAuMjMgMTAuMjEgMCAwMTExLjM3LjFsMTMuMy0uMUMzNS42IDAgMzcuMjMgMCAzNy4zMy4yYy4xLjEuMSAxLjAzLS4xIDEuOTQtLjgyIDMuNTgtNC43IDYuODUtOS4yIDcuNTYtLjQxLjEtNCAuMi04LjA4LjItMi45Ny4yMS02Ljk2LS4zLTcuODguNDEtLjUuNTEtLjkyLjgyLS45MiAyLjA1IDAgLjcxLjQxIDEuMTIuMzEgMS4xMnoiLz48L3N2Zz4NCg==", + "width": 13, + "height": 13 + }, + "slack": { + "base64": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMjIuOCAxMjIuOCI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTI1LjggNzcuNmMwIDcuMS01LjggMTIuOS0xMi45IDEyLjlTMCA4NC43IDAgNzcuNmMwLTcuMSA1LjgtMTIuOSAxMi45LTEyLjloMTIuOXYxMi45em02LjUgMGMwLTcuMSA1LjgtMTIuOSAxMi45LTEyLjlzMTIuOSA1LjggMTIuOSAxMi45djMyLjNjMCA3LjEtNS44IDEyLjktMTIuOSAxMi45cy0xMi45LTUuOC0xMi45LTEyLjlWNzcuNnptMTIuOS01MS44Yy03LjEgMC0xMi45LTUuOC0xMi45LTEyLjlTMzguMSAwIDQ1LjIgMHMxMi45IDUuOCAxMi45IDEyLjl2MTIuOUg0NS4yem0wIDYuNWM3LjEgMCAxMi45IDUuOCAxMi45IDEyLjlzLTUuOCAxMi45LTEyLjkgMTIuOUgxMi45QzUuOCA1OC4xIDAgNTIuMyAwIDQ1LjJzNS44LTEyLjkgMTIuOS0xMi45aDMyLjN6TTk3IDQ1LjJjMC03LjEgNS44LTEyLjkgMTIuOS0xMi45IDcuMSAwIDEyLjkgNS44IDEyLjkgMTIuOXMtNS44IDEyLjktMTIuOSAxMi45SDk3VjQ1LjJ6bS02LjUgMGMwIDcuMS01LjggMTIuOS0xMi45IDEyLjktNy4xIDAtMTIuOS01LjgtMTIuOS0xMi45VjEyLjlDNjQuNyA1LjggNzAuNSAwIDc3LjYgMGM3LjEgMCAxMi45IDUuOCAxMi45IDEyLjl2MzIuM3pNNzcuNiA5N2M3LjEgMCAxMi45IDUuOCAxMi45IDEyLjkgMCA3LjEtNS44IDEyLjktMTIuOSAxMi45LTcuMSAwLTEyLjktNS44LTEyLjktMTIuOVY5N2gxMi45em0wLTYuNWMtNy4xIDAtMTIuOS01LjgtMTIuOS0xMi45IDAtNy4xIDUuOC0xMi45IDEyLjktMTIuOWgzMi4zYzcuMSAwIDEyLjkgNS44IDEyLjkgMTIuOSAwIDcuMS01LjggMTIuOS0xMi45IDEyLjlINzcuNnoiLz48L3N2Zz4NCg==", + "width": 13, + "height": 13 + }, + "sonarqube": { + "base64": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIj48ZyBmaWxsPSIjZmZmIj48cGF0aCBkPSJNNDA4Ljc4IDQ0OC4wOUgzODYuNWMwLTE3OS4zNi0xNDgtMzI1LjI4LTMyOS45MS0zMjUuMjh2LTIyLjI4YzE5NC4yIDAgMzUyLjE5IDE1NS45MSAzNTIuMTkgMzQ3LjU2eiIvPjxwYXRoIGQ9Ik00MjQuMTggMzI4LjQ4QzM5Ny40MyAyMTYgMzA2LjI3IDEyMiAxOTIgODkuMmw1LjEyLTE3Ljg0QzMxNy43MyAxMDYgNDE0IDIwNS4yMyA0NDIuMjQgMzI0LjE5ek00NDEuMzEgMjIyLjg3Yy0yNy41NS02MC4wOC03NC40OS0xMTIuNDYtMTMyLjE3LTE0Ny41MWw3LjcyLTEyLjdjNjAuMTkgMzYuNTggMTA5LjE4IDkxLjI3IDEzOCAxNTR6Ii8+PC9nPjwvc3ZnPg0K", + "width": 13, + "height": 13 + }, + "sourcegraph": { + "base64": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA3Ny4wNzUgNzcuNyI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTQ3LjMyMyA3Ny43Yy0zLjU5NCAwLTYuNzktMi4zOTYtNy43ODctNS45OWwtMTcuMTcyLTYxLjdjLS45OTgtNC4zOTMgMS41OTgtOC43ODYgNS45OS05Ljc4NCA0LjE5My0xIDguMzg3IDEuMzk3IDkuNTg0IDUuMzlsMTYuOTczIDYxLjdjMS4xOTggNC4zOTQtMS4zOTcgOC43ODYtNS41OSA5Ljk4NC0uNi4yLTEuMzk3LjQtMS45OTcuNHoiLz48cGF0aCBmaWxsPSIjZmZmIiBkPSJNMTcuMzcyIDcwLjcxYy00LjM5MyAwLTcuOTg3LTMuNTkzLTcuOTg3LTcuOTg1IDAtMS45OTcuOC0zLjk5NCAxLjk5Ny01LjM5Mkw1NC4xMTIgOS40MWMyLjk5NS0zLjM5MyA3Ljk4Ni0zLjU5MyAxMS4zOC0uNTk4czMuNTk1IDcuOTg3LjYgMTEuMzhsLTQyLjczIDQ3LjcyM2MtMS41OTcgMS43OTgtMy43OTQgMi43OTYtNS45OSAyLjc5NnoiLz48cGF0aCBmaWxsPSIjZmZmIiBkPSJNNjkuMDg3IDU2LjczNGMtLjc5OCAwLTEuNTk3LS4yLTIuNTk2LS40TDUuNTkgMzYuMzY4QzEuNCAzNC45Ny0uOTk3IDMwLjM3Ny40IDI2LjE4NGMxLjM5Ny00LjE5MyA1Ljk5LTYuNTkgMTAuMTgzLTUuMTlsNjAuOSAxOS45NjZjNC4xOTMgMS4zOTcgNi41OSA1Ljk5IDUuMTkgMTAuMTg0LS45OTYgMy4zOTQtMy45OSA1LjU5LTcuNTg2IDUuNTl6Ii8+PC9zdmc+DQo=", + "width": 13, + "height": 13 + }, + "telegram": { + "base64": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNiIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBmaWxsPSIjZmZmIiBkPSJNMTguMzg0IDIyLjc3OWExLjE5IDEuMTkgMCAwMDEuMTA3LjE0NSAxLjE2IDEuMTYgMCAwMC43MjQtLjg0QzIxLjA4NCAxOCAyMy4xOTIgNy42NjMgMjMuOTgzIDMuOTQ4YS43OC43OCAwIDAwLS4yNi0uNzU4LjguOCAwIDAwLS43OTctLjE0QzE4LjczMyA0LjYwMiA1LjgyIDkuNDQ3LjU0MiAxMS40YS44MjcuODI3IDAgMDAtLjU0Mi43OTljLjAxMi4zNTQuMjUuNjYxLjU5My43NjQgMi4zNjcuNzA4IDUuNDc0IDEuNjkzIDUuNDc0IDEuNjkzczEuNDUyIDQuMzg1IDIuMjA5IDYuNjE1Yy4wOTUuMjguMzE0LjUuNjAzLjU3NmEuODY2Ljg2NiAwIDAwLjgxMS0uMjA3bDMuMDk2LTIuOTIzczMuNTcyIDIuNjE5IDUuNTk4IDQuMDYyem0tMTEuMDEtOC42NzdsMS42NzkgNS41MzguMzczLTMuNTA3IDEwLjE4NS05LjE4NmEuMjc3LjI3NyAwIDAwLjAzMy0uMzc3LjI4NC4yODQgMCAwMC0uMzc2LS4wNjRMNy4zNzQgMTQuMTAyeiIvPjwvc3ZnPg0K", + "width": 13, + "height": 13 + }, + "terminal": { + "base64": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9IiNmZmYiIHZpZXdCb3g9IjAgMCA4OTYgMTAyNCI+PHBhdGggZD0iTTgzMSAxMjdINjNhNjQgNjQgMCAwMC02NCA2NHY2NDBhNjQgNjQgMCAwMDY0IDY0aDc2OGE2NCA2NCAwIDAwNjQtNjRWMTkxYTY0IDY0IDAgMDAtNjQtNjR6TTEyNyA1NzVsMTI4LTEyOC0xMjgtMTI4IDY0LTY0IDE5MiAxOTItMTkyIDE5Mi02NC02NHptNTEyIDY0SDM4M3YtNjRoMjU2djY0eiIvPjwvc3ZnPg0K", + "width": 13, + "height": 13 + }, + "terraform": { + "base64": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PGcgZmlsbD0iI2ZmZiI+PHBhdGggZD0iTTguMjMxIDQuMmw2LjUxNSAzLjc2MXY3LjUyNWwtNi41MTUtMy43NjN6TTE1LjQ2IDcuOTYxdjcuNTI1bDYuNTE3LTMuNzYzVjQuMnpNMSAwdjcuNTIzbDYuNTE1IDMuNzYzVjMuNzYxek04LjIzMSAyMC4wNzFsNi41MTUgMy43NjNWMTYuMzFsLTYuNTE1LTMuNzYyeiIvPjwvZz48L3N2Zz4NCg==", + "width": 13, + "height": 13 + }, + "travis": { + "base64": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0MCA0MCI+PGcgZmlsbD0iI2ZmZiI+PHBhdGggZD0iTTI2LjIyMyAyMy44NDVjLjA0OCAxLjMzMy43NjEgMS4zMjMgMS42MDkgMS4yOTIgMS4xNDItLjAyMSAxLjc2OS0uMzcxIDIuMzQyLS4wOTUtLjAwOS0uMDMyLS4xODgtLjU2Ny0uOTc5LS40NzQuMDkyLS4xOTguMTMxLS40NjYuMTAzLS44MzQtLjEwNC0xLjMzMi0uODc5LTIuMzktMS43MjktMi4zNi0uODQ4LjAyOS0xLjM5MyAxLjEzNS0xLjM0NiAyLjQ3MXptMS4yNjYtMS42MjVhLjQzNC40MzQgMCAxMS4wMTQuODY4LjQzNC40MzQgMCAwMS0uMDE0LS44Njh6bS0xMi45MDggMy4xNTdjLjA4OC4wMDIuMTggMCAuMjc0LS4wMDIuMDgyIDAgLjE2NC0uMDAyLjI1LS4wMDUuODUxLS4wMDggMS41NTYuMDcyIDEuNTQ1LTEuMjYyLS4wMTQtMS4zMzQtLjYwNi0yLjQxNC0xLjQ1Ny0yLjQwNS0uODQ5LjAwOC0xLjY3MSAxLjEwMi0xLjYyMiAyLjQzNS4wMTUuMzQ4LjA2Ni41OTguMTQ4Ljc3OS0uNzQuMTg3LS45NDUuNjQ0LS45NTcuNjczLjQ2Ni0uMjUxLjk5My0uMjE1IDEuODE5LS4yMTN6bS43MzEtMi44MzVhLjQzNS40MzUgMCAxMS4wMjUuODY5LjQzNS40MzUgMCAwMS0uMDI1LS44Njl6bTEuOTk3LTE0LjIxNWgyLjM4NnYtLjk4NGguNTM3djQuNTQ2aC0uODExdjIuNTQzaDQuMTc3di0yLjU0M2gtLjgxMlY3LjM0M2guNTM4di45ODRoMi4zODhWNC45NThoLTguNDAzIi8+PHBhdGggZD0iTTM5LjY4OSAxNC44MjNhMTAuMjM4IDEwLjIzOCAwIDAwLS4xNTMtMS4yOSA0LjM4IDQuMzggMCAwMC0uMTAzLS40NGwtLjAzLS4xMTItLjA3OS0uMDYzYTcuNjg1IDcuNjg1IDAgMDAtMS40NDEtLjg2NCAxNS4yOTkgMTUuMjk5IDAgMDAtMS4yNDktLjUxOGMtMS4xNzctMy4yNjQtMy4xOTctNi4xNTgtNS44NTYtOC4xNzNDMjguMDMxIDEuMjc5IDI0LjguMTc2IDIxLjQzNi4xNzZjLTMuMzY2IDAtNi41OTYgMS4xMDMtOS4zNDQgMy4xODctMi4wOTMgMS41ODYtMy43ODggMy43MTgtNC45ODkgNi4xNDVoLS4wMDZhMTkuMzQyIDE5LjM0MiAwIDAwLS44NjcgMi4wMjhjLS40MjIuMTU1LS44MzkuMzI0LTEuMjUuNTE4YTcuNjUzIDcuNjUzIDAgMDAtMS40NDEuODY0bC0uMDguMDYzLS4wMy4xMTJhNi43MjYgNi43MjYgMCAwMC0uMTc0Ljg2OWMtLjAyOS4yMDUtLjA0OC40MTMtLjA2NS42MjFoLjAwN2ExMC44NCAxMC44NCAwIDAwLjAzMyAxLjk2OWMuMDYxLjU3My4xNjcgMS4xNC4zMiAxLjcwMy4wOC4yOC4xNzEuNTU1LjI3OS44My4wNTMuMTM3LjExMS4yNzMuMTc2LjQxLjAzMi4wNjguMDY3LjEzNS4xMDIuMjA0bC4wNTcuMTAxYy4wMjIuMDM4LjAzNy4wNjUuMDcuMTE0bC4wNTcuMDkuMDkyLjA0N2MuMDk3LjA1LjE3OC4wODcuMjY2LjEyOWwuMjU2LjExNi4xNDIuMDU5YTIxLjI1NCAyMS4yNTQgMCAwMC0zLjUzMiA0LjIxMUwuMTMgMjYuNzQ5bDEuOTQ1LTEuNzA3Yy4wMzQtLjAyOSAxLjY2NC0xLjQ0IDQuMzg0LTMuMDQxbC4wMzguMzEzLjA5OS43ODkuNDk4IDQuMDQ3YS4yNzUuMjc1IDAgMDAuMTE1LjE5bDEuMDIxLjcxNy4wNTIuMTczYy4wMjQuMDgxLjA0Ni4xNjEuMDcxLjI0MmwuMjMzLjcwM2ExNS45ODggMTUuOTg4IDAgMDAyLjExNiA0LjI4MWwtLjEyNy4wMzdjLS41MzEtLjI0Ni0yLjM4Ni0xLjEwNi0zLjAwOS0xLjM4N2wtMS4zMDMtLjU4NS43NzEgMS4yMDNjLjA1Ni4wODcgMS4zODYgMi4xNjEgMi40NzEgMy41NTkgMS4wMTcgMS4zMDUgMi40MDggMi42MzcgNS4wMzIgMi42MzcuMzE1IDAgLjY0Ny0uMDIuOTg3LS4wNTYuNzgzLS4wOTEgMS4zNzEtLjE2MSAxLjgxOC0uMjE5IDIuNzU0IDEuMDE0IDUuNzkyIDEuMDc0IDguNjc1LS4wMTcuNzktLjMgMS41MDktLjY2MyAyLjE2OC0xLjA3MS4wMTQtLjAwMi4wMjctLjAwNi4wMzktLjAwOSAxLjA3Mi0uMjU4IDIuMjg5LS41NDkgMi44OS0uNzE3LjA5Ni0uMDI2LjIxNy0uMDU1LjM0Mi0uMDg1LjgzNy0uMTkxIDIuMjM2LS41MTcgMi45ODEtMi4wMDkuNzUxLTEuNTA2IDEuOTc3LTMuODEyIDEuOTg5LTMuODM1TDM3IDI5LjgyOWwtMS4xMTUuNDg1Yy0uMDYxLjAyNi0xLjQ3NS42NDMtMi4yMSAxLjAyOC0uMDI1LjAxNS0uMDU3LjAyOC0uMDg2LjA0MmExNS44MSAxNS44MSAwIDAwMS4wMDMtMi41NjNsLjQwMy0xLjY2MyAxLjE2MS0yLjU5N3MuMzI2LTIuODM5LjMzMy0yLjgzN2wuMTE0LTEuMDg2Yy4xMDItLjA0My43MjItLjA4Ni44NDMtLjEzNC4xNzMtLjA2OC4zNDYtLjEzNS41MTktLjIxbC4yNTUtLjExNmMuMDktLjA0Mi4xNy0uMDc5LjI2Ny0uMTI5bC4wOTItLjA0Ny4wNTgtLjA5Yy4wMzItLjA0OS4wNS0uMDc3LjA2OS0uMTE0bC4wNTYtLjEwMWMuMDM5LS4wNjkuMDcyLS4xMzYuMTAzLS4yMDRhNy4zNTkgNy4zNTkgMCAwMC40NTUtMS4yNGMuMTUyLS41NjMuMjYyLTEuMTMuMzItMS43MDMuMDY0LS41NzIuMDc4LTEuMTUuMDQ5LTEuNzI3ek0xMy4xOTUgMjEuODNjLjAyNS0uMDE3IDEuMDY4LS43MDEgMi43NzEtMS41MzRhNzMuNzggNzMuNzggMCAwMTcuMDE4LS4xOTZjLS4zMy4yNjYtLjY3OC41MTctMS4wNC43MzRsLTEuMjAzLjcyOGMtLjc1OS4wOTItMS40MTcuMjgxLTEuNDUzLjI5MWEuMjcyLjI3MiAwIDAwLS4xODcuMTgzbC0xLjIzIDQuMDUxLTYuNTY1IDEuNDU5LTIuMDY5LTEuNDQ5LS42MDItNC44NzNhNjYuMjQgNjYuMjQgMCAwMTQuNjMyLS42NzdjLS4yMDIuMjQtLjM5OS40OTQtLjU4NC43NjJsLTEuMTIzIDEuNjEyIDEuNjM1LTEuMDkxem04Ljg2IDE2Ljk1NGE5Ljg3IDkuODcgMCAwMS0zLjI2LS4zNSAyLjU3IDIuNTcgMCAwMS4yMzUtLjAzN2MuMDg4LS4wMTIgMi4wMjEtLjI2NiAyLjg5LTEuNTU4bC4wODIuMDAyLjIxNi0uMDAyYy4xNDMgMCAuMjczLS4wMTIuNDEyLS4wMTguMzMtLjAyNy42NDktLjA3NS45NjYtLjEzOWwuMTAxLjEwMmEzLjY4MyAzLjY4MyAwIDAwMi4zNTUgMS4wODNjLTEuNDk5LjYwOS0yLjkxLjg0NS0zLjk5Ny45MTd6bS4wOTgtMi4zN2MuMTYzLS4zNjMuMjg2LS42NDYuMzc5LS44NTkuMTkyLjIxNC40MzUuNDc5LjcwOC43NjJhOS40NzIgOS40NzIgMCAwMS0uNjMuMDc2Yy0uMTM2LjAwNi0uMjc4LjAyMS0uNDA4LjAyMWgtLjA0OXptLTMuMjIxLTguMzYybC41ODctLjEzMmEuMjczLjI3MyAwIDAwLjIwMi0uMTg4bDEuMjI2LTQuMDMzYy4yMTItLjAyOC4zOTgtLjA0My41NTktLjA0My4xNTYgMCAuMzQ1LjAxNS41NTYuMDQzbDEuMjYyIDQuMTUzYS4yNzUuMjc1IDAgMDAuMjMxLjE5NWwuNDY4LjA1My4xMi4wMTMgOC4wNjIuOTE3YS4yNzQuMjc0IDAgMDAuMTg4LS4wNDlsLjgxLS41NjYuNzQ5LS41MjQuMjc3LS4xOTVjLS4wNDUuMTkzLS4wOTUuMzg1LS4xNDcuNTc0LS4wNzcuMjQ4LS4xNTkuNDg4LS4yNDEuNzI2YTE5LjQyMyAxOS40MjMgMCAwMS0xLjEwNiAyLjU2OWMtLjExLjAwNy0uMjI5LjAxMi0uMzU0LjAxMi0uMzkyIDAtLjc5LS4wMzItMS4yMzEtLjA3My0uNzY2LS4wNzEtMS45NzktLjIxLTIuMzYxLS4yNTNhOTg2LjA0MiA5ODYuMDQyIDAgMDAtMi40MDMtMS45MDNjLS4wMzYtLjAyOC0uMDY4LS4wNTgtLjEwMS0uMDg0LS4xNjUtLjE0LS4zNTMtLjI5OC0uNzM0LS4yOTgtLjM0OCAwLS44NTQuMTI2LTIuMDc3LjQ5NS42MzctLjQ3Ni42NDItMS4wODkuNjQyLTEuMDg5cy0uOTA2Ljg0NC0yLjM2OCAxLjAzYy0xLjQ1OC4xODgtMi42MDUtLjcwOS0yLjYwNS0uNzA5LjA0OC4xNTYuMTE2LjUwOS40NDcuODA4YTEwLjg2NiAxMC44NjYgMCAwMC0xLjI1LS4wNzdjLS4xNTggMC0uMzIuMDA0LS40NzUuMDEyLS44OTguMDQ4LTIuMTYyIDEuNDA0LTMuMDQ5IDIuNzczLS40MzYuMTM4LTEuNzk5LjU3MS0zLjM3NSAxLjAzNGExNy45OSAxNy45OSAwIDAxLTEuOTE5LTMuNDM2Yy0uMjA4LS40OS0uMzI0LS44MjMtLjM1LS45MDJ2LS4wMDJjLS4wMjktLjA4LS4wNi0uMTY1LS4wODctLjI1bC4zNzguMjY0di4wMDJsLjkzNS42NTYuMzEyLjIxN2EuMjc5LjI3OSAwIDAwLjIxOS4wNDRtMTIuOTc3LTcuOGEuMjc4LjI3OCAwIDAwLS4xODgtLjE4NCA5Ljg0NyA5Ljg0NyAwIDAwLTEuNzEzLS4zMTdsLjE1OC0uMDEyYy4xMzYtLjAxIDIuMzk3LS4yODYgNS4wOTgtMS4yMThhNjkuNzkgNjkuNzkgMCAwMTcuMTAzLjlsLS41OTEgNC4xNDYtMi4wODYgMS40NTktNi41NTctLjc0NW0xMy4xNzEtOS42MTRjLS4wNzMuNTM0LS4zMTUgMS41NzQtLjMxNSAxLjU3NGwtLjE4OS4wMzFjLS4wOTktLjAyNy0xLjAyMS0uMjY2LTIuNjA5LS41NmwuMTQ4LS4wMzNjLjMyOS0uMDgyLjY1My0uMTgzLjk2OC0uMzEuMTU2LS4wNjcuMzEyLS4xMzguNDU5LS4yMjJhMS41OCAxLjU4IDAgMDAuNDAxLS4zMDZjLTEuNTkuNTItNC44NzYuMjg0LTcuNzk3LS4wMTgtMi42NjktLjI3Ni01LjM0OC0uNDU0LTguMDQtLjQ2LTIuNjkxLjAwNi01LjM2Ny4xODUtOC4wMzkuNDYtMi45MjEuMzAyLTYuMjA2LjUzOC03Ljc5Ni4wMTguMTEyLjEyNi4yNTYuMjIxLjQwMy4zMDYuMTQ2LjA4NC4zMDEuMTU0LjQ1Ny4yMjJhNi44NjUgNi44NjUgMCAwMDEuMzIxLjM4NCAzNS45OTggMzUuOTk4IDAgMDAtMi4zODIuNTE5cy0uMzM0LjA1NC0uNDA3LS4yMDJjLS4xNDUtLjUxMi0uMjQyLS44Ny0uMzE1LTEuNDAzYTExLjc4IDExLjc4IDAgMDEtLjEtMS42MDRjLjAwMS0uMDg4LS4wMDEtLjI2NC0uMDAxLS4yNjQuMDA1LS4xOC4wMTMtLjM2LjAzLS41NC4wMS0uMTMzLjQ5OS0uNTU5LjkxOS0uODAxLjQ1NC0uMjY0LjkzMS0uNTAyIDEuNDE3LS43MjMuNDgxLS4yMjggMi4wNC0uNTU5IDIuOTgtLjcyOS45NC0uMTcyIDQuMzAyLS42MTggNC41NTQtLjcxMi4yNTEtLjA5NiAxLjcwNC0xLjIxNiAxLjk1OC0xLjMwOS0uNTM0LjA4OC03LjkxMiAxLjIxNS04LjI0NCAxLjMyIDIuMzk1LTYuMjYzIDcuMDk2LTkuMzEzIDEzLjM1My05LjMxMyA2LjI1NSAwIDEwLjk1NyAyLjg4IDEzLjM1NCA5LjE0NC0zLjE2NC0uODQxLTcuNTQ2LTEuMjMzLTguMDgtMS4zMjIuMjU0LjA5MyAxLjY5MSAxLjEwNCAxLjk1OCAxLjEzOCAyLjE4OC4yODQgNS42MzggMS4wNDkgNS44ODggMS4xNDguNDk2LjIwMS45OTMuNDA4IDEuNDc1LjYzNS40ODcuMjIxLjk2My40NTkgMS40MTcuNzIzLjQyLjI0My45MDguNjY4LjkyLjgwMS4wMjMuMjY4LjAzMy41MzUuMDM2LjgwMy4wMDQuNTM2LS4wMzMgMS4wNzQtLjEwMiAxLjYwNXoiLz48L2c+PC9zdmc+DQo=", + "width": 13, + "height": 13 + }, + "twitter": { + "base64": "data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTIzLjk1NCA0LjU2OWExMCAxMCAwIDAxLTIuODI1Ljc3NSA0Ljk1OCA0Ljk1OCAwIDAwMi4xNjMtMi43MjNjLS45NTEuNTU1LTIuMDA1Ljk1OS0zLjEyNyAxLjE4NGE0LjkyIDQuOTIgMCAwMC04LjM4NCA0LjQ4MkM3LjY5MSA4LjA5NCA0LjA2NiA2LjEzIDEuNjQgMy4xNjFhNC44MjIgNC44MjIgMCAwMC0uNjY2IDIuNDc1YzAgMS43MS44NyAzLjIxMyAyLjE4OCA0LjA5NmE0LjkwNCA0LjkwNCAwIDAxLTIuMjI4LS42MTZ2LjA2MWE0LjkyMyA0LjkyMyAwIDAwMy45NDYgNC44MjcgNC45OTYgNC45OTYgMCAwMS0yLjIxMi4wODUgNC45MzcgNC45MzcgMCAwMDQuNjA0IDMuNDE3IDkuODY4IDkuODY4IDAgMDEtNi4xMDIgMi4xMDVjLS4zOSAwLS43NzktLjAyMy0xLjE3LS4wNjdhMTMuOTk1IDEzLjk5NSAwIDAwNy41NTcgMi4yMDljOS4wNTQgMCAxMy45OTktNy40OTYgMTMuOTk5LTEzLjk4NiAwLS4yMDkgMC0uNDItLjAxNS0uNjNhOS45MzYgOS45MzYgMCAwMDIuNDYtMi41NDhsLS4wNDctLjAyeiIvPjwvc3ZnPg0K", + "width": 13, + "height": 13 + }, + "typescript": { + "base64": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ii0zNSAtMzUgNzAwIDcwMCI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTAgMzE1djMxNWg2MzBWMEgwdjMxNXptNTA4LTI1YzE2IDQgMjggMTEgMzkgMjMgNiA2IDE1IDE3IDE1IDIwIDAgMS0yNyAxOS00NCAyOSAwIDEtMy0yLTUtNi04LTEyLTE3LTE3LTMwLTE4LTE5LTEtMzEgOS0zMSAyNiAwIDUgMSA3IDMgMTEgNCA5IDEyIDE0IDM2IDI1IDQ1IDE5IDY0IDMyIDc2IDUwIDE0IDIxIDE3IDUzIDggNzctMTAgMjYtMzUgNDQtNzAgNTAtMTEgMi0zNiAyLTQ4IDAtMjUtNS00OS0xNy02NC0zNC02LTYtMTctMjMtMTctMjRsNi00IDI0LTEzIDE4LTExIDQgNmM1IDggMTYgMTkgMjMgMjMgMjEgMTAgNDggOSA2Mi0zIDYtNiA4LTExIDgtMTlzLTEtMTEtNS0xNmMtNS03LTE1LTEzLTQzLTI1LTMzLTE0LTQ3LTIzLTU5LTM3LTgtOC0xNS0yMS0xOC0zMS0yLTktMy0zMi0xLTQxIDctMzEgMzEtNTMgNjUtNTkgMTEtMyAzNy0yIDQ4IDF6bS0xNDggMjZ2MjZoLTgydjIzM2gtNThWMzQyaC04MnYtMjVsMS0yNiAxMTAtMWgxMTF2MjZ6Ii8+PC9zdmc+DQo=", + "width": 13, + "height": 13 + }, + "vercel": { + "base64": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMTMgMTAwIj48cGF0aCBkPSJNNTYuNSAwTDExMyAxMDBIMHoiIGZpbGw9IiNmZmYiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvc3ZnPg0K", + "width": 13, + "height": 13 + }, + "visualstudio": { + "base64": "data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTE3LjU4LjA3YTEuNSAxLjUgMCAwMC0xLjAzMi4zOTIgMS41IDEuNSAwIDAwLS4wMDEgMCAuODguODggMCAwMC0uMDUuMDQ1TDguNTMgOS4zMTcgMy44OCA1LjUwNGwtLjQwNy0uMzVBMSAxIDAgMDAyLjQ1IDVhMSAxIDAgMDAtLjAxMi4wMDVsLTEuODE2Ljc1YTEgMSAwIDAwLS4wNzcuMDM1IDEgMSAwIDAwLS4wNDcuMDI4IDEgMSAwIDAwLS4wMzguMDIyIDEgMSAwIDAwLS4wNDguMDM0IDEgMSAwIDAwLS4wMzEuMDI0IDEgMSAwIDAwLS4wNDMuMDM2IDEgMSAwIDAwLS4wMzYuMDMzIDEgMSAwIDAwLS4wMzIuMDM1IDEgMSAwIDAwLS4wMzMuMDM4IDEgMSAwIDAwLS4wMzUuMDQ0IDEgMSAwIDAwLS4wMjQuMDM0IDEgMSAwIDAwLS4wMzIuMDUxIDEgMSAwIDAwLS4wMi4wMzQgMSAxIDAgMDAtLjAyNC4wNSAxIDEgMCAwMC0uMDIuMDQ1IDEgMSAwIDAwLS4wMTYuMDQ0IDEgMSAwIDAwLS4wMTYuMDQ3IDEgMSAwIDAwLS4wMTUuMDU1IDEgMSAwIDAwLS4wMS4wNCAxIDEgMCAwMC0uMDA4LjA1NCAxIDEgMCAwMC0uMDA2LjA1IDEgMSAwIDAwLS4wMDQuMDgzVjE3LjMzYTEgMSAwIDAwLjYxNS45MTdsMS44MTYuNzYzYTEgMSAwIDAwMS4wMzQtLjE2M2wuNDA4LS4zNSA0LjY1LTMuODEzIDcuOTY4IDguODFhMS41IDEuNSAwIDAwLjA3Mi4wNjUgMS41IDEuNSAwIDAwLjA1Ny4wNSAxLjUgMS41IDAgMDAuMDU4LjA0MiAxLjUgMS41IDAgMDAuMDYzLjA0NCAxLjUgMS41IDAgMDAuMDY1LjAzOCAxLjUgMS41IDAgMDAuMDY1LjAzNiAxLjUgMS41IDAgMDAuMDY4LjAzMSAxLjUgMS41IDAgMDAuMDcuMDMgMS41IDEuNSAwIDAwLjA3My4wMjUgMS41IDEuNSAwIDAwLjA2Ni4wMiAxLjUgMS41IDAgMDAuMDguMDIgMS41IDEuNSAwIDAwLjA2OC4wMTQgMS41IDEuNSAwIDAwLjA3NS4wMSAxLjUgMS41IDAgMDAuMDc1LjAwNyAxLjUgMS41IDAgMDAuMDczLjAwMyAxLjUgMS41IDAgMDAuMDc3IDAgMS41IDEuNSAwIDAwLjA3OC0uMDA1IDEuNSAxLjUgMCAwMC4wNjctLjAwNyAxLjUgMS41IDAgMDAuMDg3LS4wMTQgMS41IDEuNSAwIDAwLjA2LS4wMTIgMS41IDEuNSAwIDAwLjA4LS4wMjIgMS41IDEuNSAwIDAwLjA2OC0uMDIgMS41IDEuNSAwIDAwLjA3LS4wMjggMS41IDEuNSAwIDAwLjA4OS0uMDM3bDQuOTQyLTIuMzc2YTEuNSAxLjUgMCAwMC40NzUtLjM2MiAxLjUgMS41IDAgMDAuMDktLjExMiAxLjUgMS41IDAgMDAuMDA0LS4wMDcgMS41IDEuNSAwIDAwLjA4LS4xMjUgMS41IDEuNSAwIDAwLjA2Mi0uMTIgMS41IDEuNSAwIDAwLjAwOS0uMDE3IDEuNSAxLjUgMCAwMC4wNDEtLjEwNyAxLjUgMS41IDAgMDAuMDE0LS4wMzcgMS41IDEuNSAwIDAwLjAzLS4xMDcgMS41IDEuNSAwIDAwLjAwOS0uMDM3IDEuNSAxLjUgMCAwMC4wMTctLjEgMS41IDEuNSAwIDAwLjAwOC0uMDUgMS41IDEuNSAwIDAwLjAwNi0uMDkxIDEuNSAxLjUgMCAwMC4wMDQtLjA3OVYzLjk0NmExLjUgMS41IDAgMDAwLS4wMDIgMS41IDEuNSAwIDAwMC0uMDMyIDEuNSAxLjUgMCAwMC0uMDEtLjE1IDEuNSAxLjUgMCAwMC0uODQtMS4xN0wxOC4yMDMuMjE3YTEuNSAxLjUgMCAwMC0uNjIxLS4xNDZ6bS40MTcgNi44NTJ2MTAuMTU3bC02LjE5NS01LjA3OHpNMy4wMDUgOC41NzZsMy4wOTcgMy40MjUtMy4wOTcgMy40MjR6Ii8+PC9zdmc+DQo=", + "width": 13, + "height": 13 + }, + "wiki": { + "base64": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNiAxMC4xMyI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTE2IC4xN2MwIC4wNi0uMDIuMTEtLjA1LjE2LS4wNC4wNC0uMDguMDctLjEyLjA3YTEuNSAxLjUgMCAwMC0uODYuMzRjLS4yMy4xOS0uNDYuNTYtLjcgMS4xbC0zLjYyIDguMThjLS4wMy4wNy0uMS4xMS0uMi4xMWEuMjIuMjIgMCAwMS0uMi0uMTFMOC4yIDUuNzZsLTIuMzQgNC4yNmEuMjIuMjIgMCAwMS0uMi4xMWMtLjEgMC0uMTctLjA0LS4yLS4xMUwxLjg4IDEuODRjLS4yMi0uNTEtLjQ1LS44Ny0uNy0xLjA3Qy45NC41Ny41OS40NS4xNi40LjEyLjQuMDguMzguMDYuMzRBLjIuMiAwIDAxMCAuMkMwIC4wNy4wNCAwIC4xMSAwYy4zMiAwIC42NS4wMSAxIC4wNGExMCAxMCAwIDAwMS45NCAwQzMuNDYuMDEgMy44MyAwIDQuMTUgMGMuMDcgMCAuMS4wNy4xLjJzLS4wMi4yLS4wNi4yYy0uMzIuMDItLjU3LjEtLjc1LjI0YS42NS42NSAwIDAwLS4yOC41NGMwIC4xMi4wNC4yNi4xMi40M2wyLjk0IDYuNjZMNy45IDUuMSA2LjM0IDEuODRBNC4yNSA0LjI1IDAgMDA1LjY0LjcgMS4zOSAxLjM5IDAgMDA0Ljg0LjRjLS4wNCAwLS4wNy0uMDItLjEtLjA2QS4yMi4yMiAwIDAxNC43LjJjMC0uMTMuMDMtLjIuMS0uMi4zMSAwIC42LjAxLjg3LjA0YTcuMTYgNy4xNiAwIDAwMS43MiAwYy4zMy0uMDMuNjUtLjA0Ljk3LS4wNC4wOCAwIC4xMi4wNy4xMi4ycy0uMDMuMi0uMDcuMmMtLjY0LjA0LS45Ni4yMi0uOTYuNTQgMCAuMTQuMDcuMzYuMjIuNjZMOC43IDMuN2wxLjAzLTEuOTJjLjE0LS4yNy4yMS0uNS4yMS0uNjggMC0uNDQtLjMxLS42Ny0uOTUtLjctLjA2IDAtLjA5LS4wNy0uMDktLjIgMC0uMDUuMDItLjEuMDUtLjE0LjAzLS4wNC4wNS0uMDYuMDgtLjA2LjIzIDAgLjUxLjAxLjg0LjA0YTguNzYgOC43NiAwIDAwMS40MyAwYy4zNi0uMDIuNjctLjA0LjktLjA0LjA2IDAgLjEuMDYuMS4xNyAwIC4xNS0uMDYuMjMtLjE2LjIzLS4zNy4wNC0uNjcuMTQtLjkuM3MtLjUuNTUtLjg0IDEuMTRMOS4wMiA0LjM3bDEuODUgMy43NyAyLjc0LTYuMzZjLjEtLjIzLjE0LS40NS4xNC0uNjQgMC0uNDctLjMyLS43MS0uOTUtLjc0LS4wNiAwLS4wOS0uMDctLjA5LS4ycy4wNC0uMi4xMy0uMmMuMjMgMCAuNS4wMS44Mi4wNGE3LjYgNy42IDAgMDAxLjQ3IDBjLjI5LS4wMy41NC0uMDQuNzctLjA0LjA3IDAgLjEuMDYuMS4xN3oiLz48L3N2Zz4NCg==", + "width": 13, + "height": 13 + }, + "windows": { + "base64": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIj48cGF0aCBkPSJNNi4zMzcgMTguNjA1bDM1LjY4Ny00Ljg2LjAxNiAzNC40MjItMzUuNjcuMjAzem0zNS42NyAzMy41MjlsLjAyOCAzNC40NTMtMzUuNjctNC45MDUtLjAwMi0yOS43OHptNC4zMjctMzkuMDI1bDQ3LjMxOC02LjkwNlY0Ny43M2wtNDcuMzE4LjM3NXptNDcuMzI5IDM5LjM0OWwtLjAxMiA0MS4zNC00Ny4zMTgtNi42NzktLjA2Ni0zNC43Mzl6IiBmaWxsPSIjZmZmIi8+PC9zdmc+DQo=", + "width": 13, + "height": 13 + }, + "zeit": { + "base64": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMTMgMTAwIj48ZGVmcz48bGluZWFyR3JhZGllbnQgeDE9IjE5Ni41NzIlIiB5MT0iMjI4LjgxNSUiIHgyPSI1MCUiIHkyPSI1MCUiIGlkPSJhIj48c3RvcCBvZmZzZXQ9IjAlIi8+PHN0b3Agc3RvcC1jb2xvcj0iI2ZmZiIgb2Zmc2V0PSIxMDAlIi8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PHBhdGggZD0iTTM1MC41IDE1MEw0MDcgMjUwSDI5NHoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yOTQgLTE1MCkiIGZpbGw9InVybCgjYSkiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvc3ZnPg0K", + "width": 15, + "height": 13 + } +} \ No newline at end of file diff --git a/workers/badgen/dist/index.d.ts b/workers/badgen/dist/index.d.ts new file mode 100644 index 0000000..cedecfe --- /dev/null +++ b/workers/badgen/dist/index.d.ts @@ -0,0 +1,19 @@ +export { Verdana110 as calcWidth } from './calc-text-width'; +declare type StyleOption = 'flat' | 'classic'; +interface BadgenOptions { + status: string; + subject?: string; + color?: string; + label?: string; + labelColor?: string; + style?: StyleOption; + icon?: string; + iconWidth?: number; + scale?: number; +} +export declare function badgen({ label, subject, status, color, style, icon, iconWidth, labelColor, scale }: BadgenOptions): string; +declare global { + interface Window { + badgen: typeof badgen; + } +} diff --git a/workers/badgen/dist/index.js b/workers/badgen/dist/index.js new file mode 100644 index 0000000..58c6247 --- /dev/null +++ b/workers/badgen/dist/index.js @@ -0,0 +1,58 @@ +var v=Object.defineProperty;var E=t=>v(t,"__esModule",{value:!0});var B=(t,e)=>()=>(e||(e={exports:{}},t(e.exports,e)),e.exports),A=(t,e)=>{for(var n in e)v(t,n,{get:e[n],enumerable:!0})};var k=B((z,b)=>{b.exports=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,39,43,50,90,70,120,80,30,50,50,70,90,40,50,40,50,70,70,70,70,70,70,70,70,70,70,50,50,90,90,90,60,110,75,75,77,85,70,63,85,83,46,50,76,61,93,82,87,66,87,76,75,68,81,75,110,75,68,75,50,50,50,90,70,70,66,69,57,69,66,39,69,70,30,38,65,30,110,70,67,69,69,47,57,43,70,65,90,65,65,58,70,50,70,90,0,61,110,110,110,110,110,110,110,110,110,110,110,110,110,55,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,55,110,39,43,70,70,70,70,50,70,70,110,60,71,90,0,110,70,60,90,60,60,70,71,70,40,70,60,60,71,110,110,110,60,75,75,75,75,75,75,110,77,70,70,70,70,46,46,46,46,85,82,87,87,87,87,87,90,87,81,81,81,81,68,67,68,66,66,66,66,66,66,110,57,66,66,66,66,30,30,30,30,67,70,67,67,67,67,67,90,67,70,70,70,70,65,69,65,75,66,75,66,75,66,77,57,77,57,77,57,77,57,85,71,85,69,70,66,70,66,70,66,70,66,70,66,85,69,85,69,85,69,85,69,83,70,83,70,46,30,46,30,46,30,46,30,46,30,96,68,50,38,76,65,65,61,30,61,30,61,33,61,50,62,31,82,70,82,70,82,70,80,82,70,87,67,87,67,87,67,120,110,76,47,76,47,76,47,75,57,75,57,75,57,75,57,68,43,68,43,68,43,81,70,81,70,81,69,81,70,81,70,81,69,110,90,68,65,68,75,58,75,58,75,58,33,69,77,64,69,75,62,76,76,59,83,96,64,69,65,60,83,58,59,70,79,72,100,43,43,73,64,42,65,120,81,68,86,89,67,120,98,74,69,70,59,56,65,58,41,74,41,70,83,73,86,78,68,74,67,63,61,61,56,57,70,70,52,50,67,29,48,50,32,140,140,130,94,90,61,110,110,99,76,61,32,32,85,68,76,68,76,68,81,70,76,68,81,70,61,76,61,76,61,100,94,88,69,79,69,72,64,85,68,85,68,61,56,28,140,140,130,85,69,110,61,82,70,75,66,110,110,87,67,72,60,76,61,63,58,60,61,30,27,32,32,76,63,85,68,68,37,70,45,71,61,76,68,75,57,68,43,58,55,81,68,81,100,85,68,67,63,76,61,60,61,85,68,85,68,85,68,85,68,69,57,63,100,63,28,100,100,75,81,56,62,68,55,55,62,62,81,95,75,75,62,61,25,96,69,87,44,86,69,61,69,69,69,56,61,70,70,61,66,86,51,51,71,64,45,70,69,65,59,65,68,68,68,42,41,45,56,53,33,72,100,100,100,69,70,69,68,89,86,84,45,45,47,45,45,45,45,61,61,56,47,48,53,59,41,41,72,73,68,57,85,57,53,63,77,56,59,49,49,49,53,85,58,65,67,69,53,64,51,70,50,49,110,110,130,88,78,96,110,74,77,68,64,71,71,40,40,26,27,27,35,35,51,36,26,52,35,22,28,29,29,31,31,38,39,40,40,70,70,20,70,31,31,20,40,31,31,42,42,31,31,50,50,50,50,70,70,70,70,70,70,23,38,41,20,35,40,31,43,43,43,43,43,42,42,37,46,48,24,24,26,26,32,31,47,47,41,27,31,31,31,31,42,42,50,0,0,53,0,51,68,52,39,49,0,46,51,53,38,47,0,52,52,39,39,39,11,46,47,44,44,26,17,41,48,48,48,48,25,25,0,49,46,21,40,41,38,40,57,53,53,52,52,52,51,68,68,62,62,68,62,79,41,0,40,57,48,41,68,0,0,52,42,53,38,40,51,47,45,52,52,52,57,44,0,45,41,52,48,45,45,56,41,20,48,51,47,83,52,51,51,51,51,51,45,44,36,45,44,44,45,44,51,40,41,45,45,46,37,65,51,32,32,79,64,79,79,68,56,56,56,50,66,79,79,79,79,70,70,75,50,83,96,59,79,97,79,83,100,30,75,75,62,77,70,75,83,87,46,76,75,93,82,71,87,83,66,79,74,68,68,90,75,96,90,46,68,69,56,70,30,69,69,68,65,67,56,50,70,69,30,65,65,70,65,55,67,70,69,56,69,55,69,87,65,90,89,30,69,67,69,89,62,57,64,59,59,70,85,86,61,85,68,73,59,59,56,60,56,73,88,98,92,74,61,74,55,73,73,67,66,81,61,51,45,61,67,56,33,86,58,58,63,67,76,95,80,78,81,81,81,70,70,87,62,77,75,46,46,50,120,120,90,76,83,68,83,75,75,75,62,82,70,110,68,83,83,76,81,93,83,87,83,66,77,68,68,90,75,84,78,110,110,86,100,75,77,110,78,66,68,65,52,68,66,88,58,70,70,65,68,77,70,67,70,69,59,55,65,92,65,71,67,96,98,70,87,63,60,92,66,66,66,70,52,60,57,30,30,38,100,100,70,65,70,65,70,97,85,69,60,99,82,66,59,97,83,94,81,120,110,57,53,76,77,75,63,69,55,69,55,130,110,75,62,96,84,97,85,71,59,69,0,0,0,0,0,0,0,78,63,69,60,70,62,62,52,62,52,67,55,110,88,65,56,76,65,76,65,72,57,90,76,83,70,110,78,110,96,82,66,72,58,66,53,68,65,68,65,75,65,99,74,75,60,78,67,78,70,85,65,85,65,30,100,84,69,60,78,64,78,62,78,63,75,60,96,82,30,72,60,72,60,100,93,63,58,83,66,76,58,100,84,65,56,64,64,78,63,78,63,76,63,87,67,75,63,74,59,69,52,69,52,69,52,75,60,61,46,95,85,65,45,69,55,69,55,68,62,90,95,87,71,59,55,110,89,110,91,68,57,78,70,74,59,78,64,84,76,91,75,110,81,85,68,100,87,75,69,110,88,120,100,76,66,74,68,49,44,98,89,62,58,73,65,79,84,63,81,81,68,71,63,60,80,75,64,57,80,72,66,65,77,79,68,80,61,81,70,59,66,73,67,81,68,81,61,54,63,69,75,69,64,77,79,79,44,37,33,42,29,38,0,79,82,56,67,70,55,58,52,56,63,63,55,30,84,58,54,55,51,57,58,58,30,56,48,58,45,81,48,67,58,58,83,70,56,43,81,65,55,69,59,79,39,44,79,79,79,79,88,79,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,3.3,15,0,0,0,38,0,28,0,0,28,0,5,44,12,79,79,79,79,79,79,79,79,71,62,47,55,78,35,37,78,71,35,58,63,59,77,76,34,45,73,66,58,63,53,63,73,56,79,76,79,79,79,79,79,68,68,66,31,53,79,79,79,79,79,79,79,79,79,79,79,97,190,93,81,290,120,71,71,86,58,58,53,32,49,93,58,0,0,.9,0,0,0,0,0,0,0,9,32,0,79,27,39,89,35,32,32,43,32,70,32,70,39,70,70,64,64,64,45,45,45,45,100,100,120,120,66,66,64,64,77,77,70,70,70,22,86,60,60,52,45,59,39,43,70,70,0,.2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,58,58,58,58,58,58,58,58,58,58,58,58,58,57,70,60,0,32,32,32,0,47,58,54,70,70,70,70,70,70,70,70,70,64,64,64,64,64,64,64,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,100,100,100,120,120,66,64,86,86,86,86,86,86,60,60,77,77,77,60,60,60,77,77,77,77,77,77,52,52,52,52,59,59,59,59,59,57,64,39,49,49,49,43,43,43,43,43,43,43,43,70,79,70,43,70,70,64,64,35,39,7,4.1,.45,.099,0,0,0,95,61,0,0,0,0,24,0,25,38,0,0,70,0,0,0,0,45,45,51,51,58,58,58,58,58,58,58,58,100,120,64,51,48,57,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,70,70,70,70,70,70,70,64,64,45,45,45,100,64,64,64,86,86,77,77,77,45,45,59,59,59,52,45,45,100,64,64,100,45,64,32,32,70,70,70,43,43,64,64,64,100,100,60,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,96,96,74,84,100,74,70,54,83,83,61,47,64,26,52,120,92,52,37,73,88,79,96,96,96,38,83,100,74,66,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,58,40,41,34,33,79,79,79,79,79,79,56,62,79,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,79,0,0,0,0,0,73,73,73,100,80,80,110,58,58,52,74,91,79,60,60,60,60,110,110,110,110,85,87,61,70,68,71,75,82,85,77,55,63,60,58,83,61,71,58,70,56,56,62,87,62,64,64,67,44,45,78,81,81,60,79,63,75,56,73,100,73,54,100,100,100,73,73,73,73,73,73,73,73,100,100,100,100,73,100,100,130,0,0,73,73,73,73,73,85,87,61,82,60,58,87,67,91,79,73,73,52,82,51,53,54,54,56,59,58,72,53,52,55,34,80,80,110,110,80,80,57,82,67,61,80,50,61,62,62,73,120,120,79,98,130,54,72,73,75,83,68,79,79,78,83,79,79,66,78,76,72,70,69,76,58,65,88,85,100,60,60,73,60,67,75,74,60,67,69,79,72,83,60,79,64,62,60,79,81,79,79,79,77,62,72,54,79,79,73,51,100,100,100,73,73,73,73,79,79,100,100,79,79,130,130,73,57,79,79,79,79,79,79,79,79,100,79,79,79,79,73,60,79,62,83,68,73,73,79,79,65,58,53,80,55,67,70,62,76,69,61,60,46,66,44,75,70,30,62,58,70,30,79,79,79,79,79,34,23,32,79,89,110,97,98,78,78,79,79,79,79,73,89,79,79,78,89,76,76,90,92,75,76,79,76,79,73,73,79,75,76,78,75,76,76,76,79,79,76,75,77,75,75,91,73,79,78,78,79,76,75,79,75,73,79,79,12,79,26,23,50,64,64,79,79,79,79,62,62,79,79,67,58,19,79,79,79,19,79,79,79,79,79,79,79,76,90,76,75,79,75,79,79,79,79,79,79,79,93,68,69,70,77,76,70,70,80,77,36,26,73,78,170,46,79,79,79,79,79,79,79,79,79,79,79,89,89,28,79,94,120,71,78,82,95,88,83,94,79,94,94,120,79,120,120,63,84,79,70,65,74,86,92,92,76,70,79,63,76,98,71,74,63,71,73,79,74,63,85,89,67,74,56,79,74,90,79,74,79,74,81,65,79,79,89,56,120,100,120,89,89,89,89,89,79,89,89,120,79,120,120,89,79,79,120,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,95,83,89,89,79,79,74,46,56,62,72,74,57,85,59,75,47,100,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,28,46,48,79,84,100,88,90,91,90,90,62,79,79,70,91,79,79,75,95,87,84,84,84,94,83,70,87,84,79,84,85,84,84,79,84,74,85,73,79,79,75,94,85,88,75,82,87,79,87,87,79,85,80,75,75,85,79,79,4.7,50,98,78,98,78,78,78,78,79,79,140,140,79,79,150,150,78,79,79,79,79,79,79,79,79,78,98,79,79,79,79,84,84,79,90,89,64,78,78,79,79,67,56,56,91,69,59,70,62,55,61,81,63,19,44,70,57,81,91,79,79,79,79,79,79,79,79,79,79,62,76,79,98,120,100,69,100,120,79,79,79,78,78,86,79,83,83,170,78,79,79,79,91,71,79,83,79,100,85,79,79,79,140,75,79,79,79,74,100,64,79,79,79,73,76,59,70,88,93,73,80,100,100,110,130,79,79,79,79,120,80,64,110,120,79,79,79,140,130,160,79,190,180,230,62,79,79,92,79,79,79,79,79,79,150,79,79,79,79,79,79,79,79,79,79,79,79,36,55,59,69,69,65,66,81,91,70,95,90,78,76,85,91,80,160,81,130,140,81,110,79,79,79,79,79,73,110,140,110,79,97,94,85,110,99,130,160,110,79,84,84,89,79,83,83,85,57,99,66,120,85,88,88,84,140,110,93,68,90,90,92,90,90,90,90,84,79,84,84,90,90,120,140,68,97,85,71,97,84,61,84,84,120,79,79,79,70,110,73,73,110,140,120,150,79,73,73,73,79,73,73,110,73,79,79,79,79,79,79,79,73,73,79,88,84,90,79,79,79,79,79,200,150,73,73,79,79,64,62,77,55,65,71,50,57,65,50,79,79,79,79,79,79,79,79,58,28,52,82,74,74,73,86,42,61,120,93,79,90,85,92,120,120,140,120,110,79,81,81,84,79,81,81,84,68,94,70,87,81,81,95,81,140,120,85,73,82,82,85,81,88,88,88,80,79,81,81,86,86,120,140,73,90,90,83,79,83,72,81,83,87,79,79,61,52,120,71,110,100,130,89,130,79,74,110,120,79,140,180,110,110,79,79,79,79,79,79,79,97,89,79,79,79,79,79,79,79,90,79,150,150,69,80,79,79,72,67,85,83,83,92,85,82,99,67,79,59,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,42,31,79,140,150,99,180,70,150,88,110,79,120,120,180,79,70,120,150,97,88,83,130,110,91,130,88,160,140,57,64,120,120,140,96,81,61,92,92,100,78,110,130,64,64,97,67,63,84,72,63,88,94,110,120,120,81,79,79,42,110,89,88,96,96,100,100,79,130,120,180,79,170,160,200,66,19,79,79,79,79,79,79,79,79,150,79,79,79,79,79,79,79,79,88,120,70,81,79,79,64,86,88,110,68,97,130,48,88,100,92,96,130,76,82,110,79,79,79,120,150,100,68,110,94,110,79,79,68,48,79,91,130,130,130,92,90,95,150,150,200,110,170,100,110,160,100,100,170,79,79,79,120,110,100,94,110,120,100,90,88,180,170,150,100,95,100,110,100,140,130,110,96,83,110,100,79,100,88,100,110,120,110,100,99,88,79,99,79,79,97,110,88,100,120,110,100,79,79,79,86,79,79,79,79,120,130,130,89,89,89,79,89,79,140,160,160,220,190,190,220,150,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,200,63,160,79,79,79,79,79,79,79,79,79,79,79,21,66,63,63,70,69,70,52,58,67,64,65,90,90,73,73,59,76,94,90,69,69,66,69,61,68,72,72,65,65,74,74,73,69,67,53,66,64,73,56,69,71,66,69,74,64,63,68,48,56,56,110,56,56,56,56,56,56,56,79,79,79,79,75,35,64,56,61,46,57,67,56,56,56,56,56,56,56,56,81,64,68,72,75,68,66,64,84,68,73,85,140,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,68,60,79,62,79,79,56,61,79,60,79,79,62,79,79,79,79,79,79,64,66,69,71,79,68,58,58,74,73,73,74,79,68,61,60,79,61,79,59,79,79,61,84,79,61,61,58,56,0,47,47,0,0,0,0,0,0,79,0,0,54,79,79,38,65,37,37,37,79,65,79,0,0,0,0,36,0,79,79,61,56,55,63,56,58,69,69,73,69,79,79,110,110,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,69,54,85,85,130,66,130,160,42,63,71,18,18,27,50,27,27,34,120,65,40,71,52,83,45,37,32,55,55,34,55,58,38,38,60,57,76,55,63,63,52,56,56,60,57,76,55,63,63,56,56,55,58,41,55,33,60,6.3,150,150,54,54,31,47,57,57,57,56,52,59,57,52,79,51,52,52,52,56,52,52,52,52,56,52,57,57,57,56,57,59,57,52,56,52,52,54,52,62,54,59,57,57,57,52,66,56,54,58,58,79,79,79,79,60,55,60,61,120,56,120,56,120,53,54,57,57,22,51,54,60,41,41,15,57,41,37,0,58,52,58,79,79,79,79,56,56,56,56,56,56,56,56,79,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,59,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,79,56,56,64,43,54,65,45,36,50,71,39,61,66,64,68,79,70,55,220,52,23,130,53,70,72,67,70,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,120,66,68,120,66,68,120,66,84,110,120,75,66,75,68,130,120,120,63,68,69,68,68,68,120,68,120,67,120,68,120,120,66,110,79,120,130,66,66,65,79,130,240,79,120,65,65,65,65,120,65,79,79,79,65,65,90,68,65,76,81,65,65,170,68,66,66,66,66,66,68,68,68,68,23,43,66,81,66,97,68,68,68,68,66,94,120,170,65,65,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,73,74,78,77,67,87,73,86,62,70,86,77,69,75,78,76,81,68,65,75,75,78,71,69,69,69,70,85,65,73,69,74,81,63,67,67,74,87,79,79,79,79,79,79,79,79,79,79,51,63,64,100,56,60,80,110,65,53,130,55,56,95,57,59,91,54,85,92,86,56,88,51,58,53,62,56,56,63,55,87,52,74,63,60,54,60,93,66,66,66,66,59,66,79,79,79,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,79,79,79,79,79,0,0,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,95,110,110,110,95,79,79,79,79,79,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,79,79,79,79,79,79,76,99,71,73,72,80,99,120,71,91,91,71,94,81,120,95,110,130,130,110,130,110,110,130,120,150,130,120,130,120,120,130,110,130,110,110,110,120,110,110,67,78,76,99,92,68,90,99,74,97,97,74,96,74,74,97,84,100,100,84,100,88,84,100,94,94,94,94,94,94,94,94,110,79,130,94,94,130,79,79,97,97,97,97,97,110,97,79,110,79,140,97,97,120,79,79,78,99,99,78,98,100,78,99,84,100,100,84,100,100,84,100,85,85,85,86,86,85,85,85,85,86,85,86,85,100,87,85,76,95,90,76,89,74,110,110,110,79,110,83,89,110,79,79,58,77,72,70,71,75,87,81,83,96,91,83,89,83,100,86,70,95,95,70,94,72,71,87,79,100,100,79,100,79,79,99,120,79,110,95,100,110,79,79,98,120,120,98,120,98,98,79,140,79,130,120,120,130,79,79,100,120,100,100,100,130,100,130,74,98,95,72,95,72,78,79,82,100,100,82,100,99,82,100,120,120,120,120,120,140,120,120,64,80,91,65,100,77,90,110,84,110,110,82,100,93,91,110,84,110,100,78,100,99,91,100,85,110,110,84,110,100,92,110,64,92,67,70,66,88,64,79,110,79,100,69,81,100,79,79,81,100,81,81,81,97,87,81,120,140,140,120,140,120,120,140,150,150,150,150,180,150,150,150,73,97,95,72,95,93,74,95,76,98,97,73,96,95,77,95,74,98,76,67,76,72,77,91,94,95,100,95,110,92,94,92,85,86,85,86,85,85,85,85,89,130,100,79,79,79,79,78,100,33,68,39,39,39,55,33,100,61,56,59,60,72,66,67,71,62,46,82,82,96,60,71,87,90,58,62,110,79,79,79,170,160,130,170,120,110,98,140,110,110,120,140,110,97,86,120,32,60,32,32,60,76,51,99,110,56,79,79,79,79,79,79,81,74,71,77,110,41,70,80,59,69,81,54,66,100,68,97,50,62,120,100,70,66,80,99,57,91,90,91,68,78,83,59,83,100,73,63,68,88,72,130,89,100,110,57,87,120,63,71,56,72,74,54,100,63,76,84,84,81,58,92,78,67,67,76,73,95,62,76,91,80,80,71,86,90,120,83,94,63,63,130,74,88,73,88,68,79,79,79,56,67,46,74,50,79,79,79,79,87,87,87,87,82,82,82,82,82,82,82,88,88,88,88,88,88,97,100,97,100,82,100,97,100,97,82,73,65,54,35,35,50,50,38,53,55,35,23,44,45,44,120,98,110,120,91,91,91,91,84,84,84,84,84,84,84,92,92,92,94,92,91,95,100,95,100,100,95,100,95,84,46,15,40,90,90,90,90,77,77,77,77,77,77,77,110,100,100,110,100,110,91,92,91,92,92,91,92,91,93,38,110,110,96,96,69,69,69,69,69,69,69,69,69,84,84,81,87,81,87,84,84,84,84,84,84,84,84,84,43,43,85,88,87,87,72,72,72,72,72,72,72,72,72,87,87,87,87,87,87,87,87,87,87,87,87,87,87,87,41,41,71,68,68,68,68,68,68,68,68,80,86,84,77,84,77,77,84,77,84,84,77,84,77,82,38,38,38,47,67,100,100,100,100,100,100,100,100,100,120,120,120,100,120,100,100,60,50,60,96,96,96,96,96,96,96,96,96,110,110,110,110,110,110,96,110,96,110,110,97,110,97,55,49,74,65,65,65,65,65,65,65,65,65,77,80,80,77,81,77,70,85,70,85,81,83,86,78,80,39,45,39,55,39,39,39,120,120,110,110,95,95,95,75,75,75,75,110,110,110,110,110,110,90,90,90,90,90,90,90,90,57,64,64,64,64,64,64,64,64,64,79,79,79,79,79,79,82,79,82,79,79,79,79,79,79,38,51,37,37,100,100,100,100,100,100,68,68,68,68,68,68,83,83,40,49,74,89,89,89,89,94,94,94,94,110,110,54,92,92,92,92,92,92,82,82,82,82,98,98,50,90,90,77,77,66,90,90,77,77,86,86,86,84,84,84,84,54,78,37,110,110,110,110,110,110,110,82,69,69,69,69,89,89,89,89,130,130,130,110,110,130,130,60,93,69,69,69,69,100,100,100,100,60,96,96,96,96,96,96,55,64,64,64,64,64,64,64,38,63,56,56,56,56,63,63,63,63,80,80,80,80,80,80,80,80,80,80,80,80,91,91,83,83,83,83,91,91,83,83,83,83,91,91,84,84,84,84,91,91,84,84,84,84,88,88,75,75,75,75,88,88,71,71,71,71,90,90,76,76,76,76,44,110,110,62,62,62,62,110,110,73,73,73,73,110,110,73,73,73,73,52,72,72,98,98,98,98,110,110,62,62,62,62,90,90,75,75,75,75,70,70,70,100,100,100,100,100,74,74,100,100,100,100,100,100,69,69,69,69,100,100,71,71,71,71,96,96,69,68,68,69,110,110,70,70,70,70,130,130,64,64,64,64,84,84,76,76,76,76,45,45,84,84,76,76,76,76,110,110,62,62,62,62,110,110,68,68,68,68,41,110,110,70,70,70,70,110,110,62,62,62,62,110,110,70,70,70,70,69,53,110,160,160,170,140,140,160,160,79,79,79,79,79,79,79,79,79,54,54,76,98,120,140,54,76,98,120,140,54,76,98,120,140,54,76,98,120,140,81,140,110,120,140,98,81,81,79,79,79,67,67,52,52,52,63,53,53,43,55,55,59,69,45,45,69,67,55,50,65,65,65,70,69,69,53,41,41,71,30,71,45,71,20,30,82,84,71,45,71,64,79,59,41,20,32,67,67,43,50,53,45,53,45,65,65,56,32,43,50,66,54,67,65,110,71,110,79,69,65,56,20,67,53,62,32,32,62,69,56,48,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,66,66,66,100,66,66,66,66,140,100,66,66,66,100,140,66,66,68,66,66,66,66,66,66,66,100,39,100,39,66,66,100,100,110,64,66,100,66,100,66,66,78,68,66,66,66,66,66,66,66,66,66,0,0,94,61,61,61,61,52,52,52,99,110,110,91,91,98,130,140,52,87,79,52,66,52,52,53,52,52,52,52,52,52,51,68,38,58,200,71,130,42,58,54,79,79,58,58,73,97,65,65,65,77,65,62,79,79,79,79,79,79,41,45,18,72,45,44,31,59,31,49,79,79,79,79,79,79,62,24,32,33,42,61,20,33,36,37,20,0,0,0,0,110,58,69,54,47,62,47,61,57,57,63,110,110,110,110,110,110,69,66,53,47,47,47,52,54,59,43,51,52,50,70,58,61,47,56,43,42,41,42,40,43,39,61,49,53,44,47,53,60,71,44,35,32,47,52,50,63,49,50,56,57,50,57,58,55,48,42,47,49,39,41,41,46,49,44,61,54,48,67,40,45,51,42,57,82,48,48,50,48,48,45,42,55,61,62,57,49,50,56,59,42,84,43,51,57,110,110,110,110,110,110,110,110,49,35,54,58,57,42,64,44,52,51,58,46,45,37,45,40,42,42,53,60,63,55,47,49,42,54,48,46,63,51,56,58,56,47,67,52,63,62,32,45,51,66,110,110,110,110,110,110,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,71,58,73,97,65,65,65,77,65,62,140,140,140,160,140,140,70,58,73,97,65,65,65,77,65,62,140,140,140,160,140,140,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,62,77,93,64,64,70,72,57,52,32,37,62,52,80,69,73,64,73,73,74,100,68,66,66,56,62,62,54,68,74,92,74,61,85,63,57,48,64,54,57,69,56,63,65,35,48,33,39,40,31,31,37,39,19,24,35,29,45,38,38,42,40,32,35,33,38,44,39,39,40,57,40,40,36,36,31,31,40,21,38,60,40,40,33,40,40,40,27,40,44,60,35,40,40,39,39,54,40,21,28,41,36,40,40,39,55,38,100,68,70,40,92,61,69,44,40,55,40,55,61,42,61,98,24,24,61,60,63,61,61,31,78,55,24,92,61,61,37,55,43,55,55,55,61,61,61,61,50,50,72,24,55,24,61,60,41,39,38,41,35,25,25,41,42,17,17,17,17,30,17,17,30,63,63,42,42,42,42,41,37,17,24,42,43,42,39,35,39,39,39,41,43,52,52,0,0,52,52,52,52,56,56,38,57,57,48,41,43,79,79,79,60,58,59,53,46,48,48,79,44,46,33,42,47,45,44,43,47,45,42,45,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,0,0,72,60,63,69,75,69,63,69,77,57,82,69,85,69,82,69,82,69,82,69,70,66,70,66,60,61,60,61,60,61,59,40,79,69,81,68,83,70,81,68,81,68,81,68,32,32,46,30,76,65,76,65,72,64,61,30,59,32,59,32,59,32,93,110,95,100,93,110,81,68,82,70,81,68,81,68,87,67,85,68,87,67,87,67,66,69,61,69,70,45,76,47,70,45,70,45,59,56,75,57,59,56,59,56,59,56,70,41,68,43,70,41,70,41,76,68,76,68,76,68,81,70,76,68,75,65,75,65,110,90,110,90,110,90,94,85,110,90,69,67,69,67,69,57,67,63,75,58,67,63,68,41,85,57,61,36,47,46,92,55,75,66,75,66,75,66,75,66,75,66,75,66,75,66,75,66,75,66,75,66,75,66,75,66,70,66,70,66,70,66,70,66,70,66,70,66,70,66,70,66,46,30,46,30,87,67,87,67,87,67,87,67,87,67,87,67,87,67,89,67,89,67,89,67,89,67,89,67,81,70,81,70,83,73,83,73,83,73,83,73,83,73,68,65,68,65,68,65,68,65,100,65,56,49,50,50,76,76,76,76,76,76,76,76,76,79,100,100,97,98,86,84,52,52,52,52,52,52,79,79,79,79,100,100,100,100,79,79,68,68,68,68,68,68,68,68,100,100,120,120,120,120,110,100,40,40,40,40,40,40,40,40,51,51,73,75,73,74,60,56,68,68,68,68,68,68,79,79,100,100,130,130,120,76,79,79,66,66,66,66,66,66,66,66,79,96,79,120,79,120,79,100,99,99,99,99,99,99,99,99,100,110,130,130,120,120,110,110,69,69,56,56,70,70,30,30,67,67,69,69,89,89,79,79,76,76,76,76,76,76,76,76,120,120,140,140,140,140,130,120,68,68,68,68,68,68,68,68,140,140,160,160,160,160,150,150,99,99,99,99,99,99,99,99,140,150,170,170,160,160,150,150,76,76,76,76,76,79,76,76,76,76,75,75,120,68,30,68,68,68,68,68,68,79,68,68,70,83,83,96,120,68,68,68,40,40,30,30,79,79,40,40,32,32,46,59,79,68,68,68,66,66,69,69,67,67,66,66,70,70,68,83,80,70,70,70,79,79,99,99,99,79,99,99,87,97,90,100,130,70,68,79,55,110,55,110,37,28,18,70,40,22,6.9,0,0,0,0,0,64,64,70,70,110,110,65,70,30,30,30,30,50,50,50,50,70,70,60,52,37,52,90,35,0,0,0,0,0,0,0,19,170,150,40,61,61,36,60,83,39,50,50,79,69,46,70,55,55,51,100,36,40,36,36,89,78,78,70,70,60,60,53,35,55,53,61,110,55,77,65,110,65,65,110,65,77,110,31,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,24,79,79,60,60,46,60,60,46,46,46,46,25,25,60,46,46,46,46,46,46,46,46,46,46,46,46,46,25,25,79,31,31,31,28,31,66,66,66,66,66,66,66,66,79,79,79,70,77,77,70,70,110,82,130,130,110,92,69]});E(exports);A(exports,{badgen:()=>V,calcWidth:()=>$});var S=k(),T=t=>{let e=t[64];return([...n])=>{let r=0,g=0,i=n.length;for(;i--;)g=t[n[i].charCodeAt()],r+=g===void 0?e:g;return r}},$=T(S);var c={green:"3C1",blue:"08C",red:"E43",yellow:"DB1",orange:"F73",purple:"94E",pink:"E5B",grey:"999",gray:"999",cyan:"1BC",black:"2A2A2A"};function V({label:t,subject:e,status:n,color:r="blue",style:g,icon:i,iconWidth:x=13,labelColor:h="555",scale:l=1}){if(L(typeof n=="string"," must be string"),t=t===void 0?e:t,!t&&!i)return W({status:n,color:r,style:g,scale:l});r=c[r]||r,h=c[h]||h,x=x*10;let m=i?t.length?x+30:x-18:0,p=i?m+50:50,d=$(t),o=$(n),a=d+100+m,y=o+100,f=a+y,u=i?' xmlns:xlink="http://www.w3.org/1999/xlink"':"";t=s(t),n=s(n),r=s(r),h=s(h),i=i&&s(i);let w=j({label:t,status:n});return g==="flat"?` + ${w} + + + + + + ${i?``:""} +`:` + ${w} + + + + + + + + + + + + ${i?``:""} +`}function W({status:t,color:e,style:n,scale:r}){L(typeof t=="string"," must be string"),e=c[e]||e||c.blue;let g=$(t),i=g+115;return t=s(t),e=s(e),n==="flat"?` + ${t} + + + + +`:` + ${t} + + + + + + + + + + +`}function s(t){return t.replace(/\u0026/g,"&").replace(/\u003C/g,"<").replace(/\u003E/g,">").replace(/\u0022/g,""").replace(/\u0027/g,"'")}function j({label:t,status:e}){return(t?`${t}: `:"")+e}function L(t,e){if(!t)throw new TypeError(e)}typeof window=="object"&&(window.badgen=V); +//# sourceMappingURL=index.js.map diff --git a/workers/badgen/dist/index.js.map b/workers/badgen/dist/index.js.map new file mode 100644 index 0000000..e5e1cb9 --- /dev/null +++ b/workers/badgen/dist/index.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["../src/index.ts", "../src/calc-text-width.ts", "../src/color-presets.ts"], + "sourcesContent": ["export { Verdana110 as calcWidth } from './calc-text-width'\r\nimport { Verdana110 as calcWidth } from './calc-text-width'\r\nimport colorPresets from './color-presets'\r\n\r\ntype StyleOption = 'flat' | 'classic'\r\n\r\ninterface BadgenOptions {\r\n status: string;\r\n subject?: string;\r\n color?: string;\r\n label?: string;\r\n labelColor?: string\r\n style?: StyleOption;\r\n icon?: string;\r\n iconWidth?: number;\r\n scale?: number\r\n}\r\n\r\nexport function badgen ({\r\n label,\r\n subject,\r\n status,\r\n color = 'blue',\r\n style,\r\n icon,\r\n iconWidth = 13,\r\n labelColor = '555',\r\n scale = 1\r\n}: BadgenOptions) {\r\n typeAssert(typeof status === 'string', ' must be string')\r\n\r\n label = label === undefined ? subject : label // subject is deprecated\r\n if (!label && !icon) {\r\n return bare({ status, color, style, scale })\r\n }\r\n\r\n color = colorPresets[color] || color\r\n labelColor = colorPresets[labelColor] || labelColor\r\n iconWidth = iconWidth * 10\r\n\r\n const iconSpanWidth = icon ? (label.length ? iconWidth + 30 : iconWidth - 18) : 0\r\n const sbTextStart = icon ? (iconSpanWidth + 50) : 50\r\n const sbTextWidth = calcWidth(label)\r\n const stTextWidth = calcWidth(status)\r\n const sbRectWidth = sbTextWidth + 100 + iconSpanWidth\r\n const stRectWidth = stTextWidth + 100\r\n const width = sbRectWidth + stRectWidth\r\n const xlink = icon ? ' xmlns:xlink=\"http://www.w3.org/1999/xlink\"' : ''\r\n\r\n label = sanitize(label)\r\n status = sanitize(status)\r\n color = sanitize(color)\r\n labelColor = sanitize(labelColor)\r\n icon = icon ? sanitize(icon) : icon\r\n const accessibleText = createAccessibleText({label, status})\r\n\r\n if (style === 'flat') {\r\n return `\r\n ${accessibleText}\r\n \r\n \r\n \r\n \r\n \r\n ${label}\r\n ${label}\r\n ${status}\r\n ${status}\r\n \r\n ${icon ? `` : ''}\r\n`\r\n }\r\n\r\n return `\r\n ${accessibleText}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ${label}\r\n ${label}\r\n ${status}\r\n ${status}\r\n \r\n ${icon ? `` : ''}\r\n`\r\n}\r\n\r\nfunction bare ({ status, color, style, scale }) {\r\n typeAssert(typeof status === 'string', ' must be string')\r\n color = colorPresets[color] || color || colorPresets.blue\r\n\r\n const stTextWidth = calcWidth(status)\r\n const stRectWidth = stTextWidth + 115\r\n\r\n status = sanitize(status)\r\n color = sanitize(color)\r\n\r\n if (style === 'flat') {\r\n return `\r\n ${status}\r\n \r\n \r\n \r\n \r\n ${status}\r\n ${status}\r\n \r\n`\r\n }\r\n\r\n return `\r\n ${status}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ${status}\r\n ${status}\r\n \r\n`\r\n}\r\n\r\nfunction sanitize (str: string): string {\r\n return str\r\n .replace(/\\u0026/g, '&')\r\n .replace(/\\u003C/g, '<')\r\n .replace(/\\u003E/g, '>')\r\n .replace(/\\u0022/g, '"')\r\n .replace(/\\u0027/g, ''')\r\n}\r\n\r\ninterface AccessibleTextProps {\r\n status: string;\r\n label?: string;\r\n}\r\n\r\nfunction createAccessibleText({label, status}: AccessibleTextProps): string {\r\n const labelPrefix = label ? `${label}: ` : '';\r\n return labelPrefix + status;\r\n}\r\n\r\nfunction typeAssert (assertion: boolean, message: string): void {\r\n if (!assertion) throw new TypeError(message)\r\n}\r\n\r\ndeclare global {\r\n interface Window {\r\n badgen: typeof badgen;\r\n }\r\n}\r\n\r\nif (typeof window === 'object') {\r\n window.badgen = badgen\r\n}\r\n", "// import widthsVerdana110 from './widths-verdana-110.json'\r\n// @ts-ignore\r\nconst widthsVerdana110 = require('./widths-verdana-110.json')\r\n\r\nconst calcWidth = (charWidthTable) => {\r\n const fallbackWidth = charWidthTable[64] // Width as \"@\" for overflows\r\n\r\n return ([...text]) => {\r\n let total = 0\r\n let charWidth = 0\r\n let i = text.length\r\n while (i--) {\r\n charWidth = charWidthTable[text[i].charCodeAt()]\r\n total += charWidth === undefined ? fallbackWidth : charWidth\r\n }\r\n return total\r\n }\r\n}\r\n\r\nexport const Verdana110 = calcWidth(widthsVerdana110)\r\n", "export default {\r\n green: '3C1',\r\n blue: '08C',\r\n red: 'E43',\r\n yellow: 'DB1',\r\n orange: 'F73',\r\n purple: '94E',\r\n pink: 'E5B',\r\n grey: '999',\r\n gray: '999',\r\n cyan: '1BC',\r\n black: '2A2A2A'\r\n}\r\n"], + "mappings": "68yBAAA,qDCEA,GAAM,GAA2B,IAE3B,EAAY,AAAC,GAAmB,CACpC,GAAM,GAAgB,EAAe,IAErC,MAAO,CAAC,IAAI,KAAU,CACpB,GAAI,GAAQ,EACR,EAAY,EACZ,EAAI,EAAK,OACb,KAAO,KACL,EAAY,EAAe,EAAK,GAAG,cACnC,GAAS,IAAc,OAAY,EAAgB,EAErD,MAAO,KAIE,EAAa,EAAU,GCnBpC,GAAO,GAAQ,CACb,MAAO,MACP,KAAM,MACN,IAAK,MACL,OAAQ,MACR,OAAQ,MACR,OAAQ,MACR,KAAM,MACN,KAAM,MACN,KAAM,MACN,KAAM,MACN,MAAO,UFOF,WAAiB,CACtB,QACA,UACA,SACA,QAAQ,OACR,QACA,OACA,YAAY,GACZ,aAAa,MACb,QAAQ,GACQ,CAIhB,GAHA,EAAW,MAAO,IAAW,SAAU,2BAEvC,EAAQ,IAAU,OAAY,EAAU,EACpC,CAAC,GAAS,CAAC,EACb,MAAO,GAAK,CAAE,SAAQ,QAAO,QAAO,UAGtC,EAAQ,EAAa,IAAU,EAC/B,EAAa,EAAa,IAAe,EACzC,EAAY,EAAY,GAExB,GAAM,GAAgB,EAAQ,EAAM,OAAS,EAAY,GAAK,EAAY,GAAM,EAC1E,EAAc,EAAQ,EAAgB,GAAM,GAC5C,EAAc,EAAU,GACxB,EAAc,EAAU,GACxB,EAAc,EAAc,IAAM,EAClC,EAAc,EAAc,IAC5B,EAAQ,EAAc,EACtB,EAAQ,EAAO,8CAAgD,GAErE,EAAQ,EAAS,GACjB,EAAS,EAAS,GAClB,EAAQ,EAAS,GACjB,EAAa,EAAS,GACtB,EAAO,GAAO,EAAS,GACvB,GAAM,GAAiB,EAAqB,CAAC,QAAO,WAEpD,MAAI,KAAU,OACL,eAAe,EAAQ,EAAQ,eAAe,EAAQ,oBAAoB,4CAAgD,4BAAgC;AAAA,WAC1J;AAAA;AAAA,mBAEQ,aAAsB;AAAA,mBACtB,SAAa,aAAuB;AAAA;AAAA;AAAA,eAGxC,EAAc,2BAA2B,gCAA0C;AAAA,eACnF,0BAAoC,MAAgB;AAAA,eACpD,EAAc,2BAA2B,gCAA0C;AAAA,eACnF,EAAc,2BAA2B,MAAgB;AAAA;AAAA,IAEpE,EAAO,+BAA+B,+BAAuC,OAAY;AAAA,QAIpF,eAAe,EAAQ,EAAQ,eAAe,EAAQ,oBAAoB,4CAAgD,4BAAgC;AAAA,WACxJ;AAAA;AAAA;AAAA;AAAA;AAAA,8BAKmB;AAAA;AAAA,mBAEX,0BAAoC;AAAA,mBACpC,0BAAoC,SAAa;AAAA,mBACjD;AAAA;AAAA;AAAA,eAGJ,EAAc,2BAA2B,iCAA2C;AAAA,eACpF,0BAAoC,MAAgB;AAAA,eACpD,EAAc,2BAA2B,iCAA2C;AAAA,eACpF,EAAc,2BAA2B,MAAgB;AAAA;AAAA,IAEpE,EAAO,+BAA+B,+BAAuC,OAAY;AAAA,QAI7F,WAAe,CAAE,SAAQ,QAAO,QAAO,SAAS,CAC9C,EAAW,MAAO,IAAW,SAAU,2BACvC,EAAQ,EAAa,IAAU,GAAS,EAAa,KAErD,GAAM,GAAc,EAAU,GACxB,EAAc,EAAc,IAKlC,MAHA,GAAS,EAAS,GAClB,EAAQ,EAAS,GAEb,IAAU,OACL,eAAe,EAAQ,EAAc,eAAe,EAAQ,oBAAoB,oEAA8E;AAAA,WAC9J;AAAA;AAAA,mBAEQ,mBAAuB;AAAA;AAAA;AAAA,uCAGH,gCAA0C;AAAA,uCAC1C,MAAgB;AAAA;AAAA,QAK9C,eAAe,EAAQ,EAAc,eAAe,EAAQ,oBAAoB,oEAA8E;AAAA,WAC5J;AAAA;AAAA;AAAA;AAAA;AAAA,8BAKmB;AAAA;AAAA,mBAEX,0BAAoC;AAAA,mBACpC;AAAA;AAAA;AAAA,uCAGoB,iCAA2C;AAAA,uCAC3C,MAAgB;AAAA;AAAA,QAKvD,WAAmB,EAAqB,CACtC,MAAO,GACJ,QAAQ,UAAW,SACnB,QAAQ,UAAW,QACnB,QAAQ,UAAW,QACnB,QAAQ,UAAW,UACnB,QAAQ,UAAW,UAQxB,WAA8B,CAAC,QAAO,UAAsC,CAE1E,MAAO,AADa,GAAQ,GAAG,MAAY,IACtB,EAGvB,WAAqB,EAAoB,EAAuB,CAC9D,GAAI,CAAC,EAAW,KAAM,IAAI,WAAU,GAStC,AAAI,MAAO,SAAW,UACpB,QAAO,OAAS", + "names": [] +} diff --git a/workers/package-lock.json b/workers/package-lock.json index 1afb71d..ce68ba9 100644 --- a/workers/package-lock.json +++ b/workers/package-lock.json @@ -1,5 +1,5108 @@ { "name": "byob", "version": "1.0.0", - "lockfileVersion": 1 + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "byob", + "version": "1.0.0", + "license": "MIT", + "devDependencies": { + "@cloudflare/workers-types": "^3.0.0", + "@types/service-worker-mock": "^2.0.1", + "@typescript-eslint/eslint-plugin": "^4.16.1", + "@typescript-eslint/parser": "^4.16.1", + "esbuild": "^0.8.17", + "eslint": "^7.21.0", + "eslint-config-prettier": "^8.1.0", + "eslint-config-typescript": "^3.0.0", + "prettier": "^2.3.0", + "ts-loader": "^9.2.2", + "typescript": "^4.3.2", + "webpack": "^5.38.1", + "webpack-cli": "^4.7.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.10.4" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.15.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", + "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.0.tgz", + "integrity": "sha512-t8MH41kUQylBtu2+4IQA3atqevA2lRgqA2wyVB/YiWmsDSuylZZuXOUy9ric30hfzauEFfdsuk/eXTRrGrfd0g==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.15.7", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/@babel/highlight/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@cloudflare/workers-types": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@cloudflare/workers-types/-/workers-types-3.2.0.tgz", + "integrity": "sha512-y0+f7QeB5/fMMdU0wSwvBB18yE9kAD2s7Wben8a4uI4f/EJyE+eJrai5QO52Pq8EmWP0vRpKqZh0qU857WhY2A==", + "dev": true + }, + "node_modules/@discoveryjs/json-ext": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.5.tgz", + "integrity": "sha512-6nFkfkmSeV/rqSaS4oWHgmpnYw194f6hmWF5is6b0J1naJZoiD0NTc9AiUwPHvWsowkjuHErCZT1wa0jg+BLIA==", + "dev": true, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", + "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.1.1", + "espree": "^7.3.0", + "globals": "^13.9.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^3.13.1", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/@eslint/eslintrc/node_modules/ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", + "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^1.2.0", + "debug": "^4.1.1", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@types/eslint": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.2.0.tgz", + "integrity": "sha512-74hbvsnc+7TEDa1z5YLSe4/q8hGYB3USNvCuzHUJrjPV6hXaq8IXcngCrHkuvFt0+8rFz7xYXrHgNayIX0UZvQ==", + "dev": true, + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.1.tgz", + "integrity": "sha512-SCFeogqiptms4Fg29WpOTk5nHIzfpKCemSN63ksBQYKTcXoJEmJagV+DhVmbapZzY4/5YaOV1nZwrsU79fFm1g==", + "dev": true, + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "0.0.50", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.50.tgz", + "integrity": "sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw==", + "dev": true + }, + "node_modules/@types/json-schema": { + "version": "7.0.9", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", + "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==", + "dev": true + }, + "node_modules/@types/node": { + "version": "14.17.34", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.34.tgz", + "integrity": "sha512-USUftMYpmuMzeWobskoPfzDi+vkpe0dvcOBRNOscFrGxVp4jomnRxWuVohgqBow2xyIPC0S3gjxV/5079jhmDg==", + "dev": true + }, + "node_modules/@types/service-worker-mock": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/service-worker-mock/-/service-worker-mock-2.0.1.tgz", + "integrity": "sha512-LqaP0QmgppRF7YEaqx4amoazHNXaX5bIFDAu62LnWIc5ku0HbgqlPKroQstAu8WsdmWIqEfI9VGlP8Skkq+m5A==", + "dev": true + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "4.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.33.0.tgz", + "integrity": "sha512-aINiAxGVdOl1eJyVjaWn/YcVAq4Gi/Yo35qHGCnqbWVz61g39D0h23veY/MA0rFFGfxK7TySg2uwDeNv+JgVpg==", + "dev": true, + "dependencies": { + "@typescript-eslint/experimental-utils": "4.33.0", + "@typescript-eslint/scope-manager": "4.33.0", + "debug": "^4.3.1", + "functional-red-black-tree": "^1.0.1", + "ignore": "^5.1.8", + "regexpp": "^3.1.0", + "semver": "^7.3.5", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^4.0.0", + "eslint": "^5.0.0 || ^6.0.0 || ^7.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/experimental-utils": { + "version": "4.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.33.0.tgz", + "integrity": "sha512-zeQjOoES5JFjTnAhI5QY7ZviczMzDptls15GFsI6jyUOq0kOf9+WonkhtlIhh0RgHRnqj5gdNxW5j1EvAyYg6Q==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.7", + "@typescript-eslint/scope-manager": "4.33.0", + "@typescript-eslint/types": "4.33.0", + "@typescript-eslint/typescript-estree": "4.33.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^3.0.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + } + }, + "node_modules/@typescript-eslint/experimental-utils/node_modules/eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^2.0.0" + }, + "engines": { + "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=5" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "4.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.33.0.tgz", + "integrity": "sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "4.33.0", + "@typescript-eslint/types": "4.33.0", + "@typescript-eslint/typescript-estree": "4.33.0", + "debug": "^4.3.1" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^5.0.0 || ^6.0.0 || ^7.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "4.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.33.0.tgz", + "integrity": "sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "4.33.0", + "@typescript-eslint/visitor-keys": "4.33.0" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/types": { + "version": "4.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.33.0.tgz", + "integrity": "sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ==", + "dev": true, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "4.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz", + "integrity": "sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "4.33.0", + "@typescript-eslint/visitor-keys": "4.33.0", + "debug": "^4.3.1", + "globby": "^11.0.3", + "is-glob": "^4.0.1", + "semver": "^7.3.5", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "4.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.33.0.tgz", + "integrity": "sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "4.33.0", + "eslint-visitor-keys": "^2.0.0" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", + "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", + "dev": true, + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", + "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", + "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", + "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", + "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", + "dev": true, + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", + "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", + "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", + "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", + "dev": true, + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", + "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", + "dev": true, + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", + "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", + "dev": true + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", + "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/helper-wasm-section": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-opt": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "@webassemblyjs/wast-printer": "1.11.1" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", + "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", + "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", + "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", + "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webpack-cli/configtest": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.1.0.tgz", + "integrity": "sha512-ttOkEkoalEHa7RaFYpM0ErK1xc4twg3Am9hfHhL7MVqlHebnkYd2wuI/ZqTDj0cVzZho6PdinY0phFZV3O0Mzg==", + "dev": true, + "peerDependencies": { + "webpack": "4.x.x || 5.x.x", + "webpack-cli": "4.x.x" + } + }, + "node_modules/@webpack-cli/info": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.4.0.tgz", + "integrity": "sha512-F6b+Man0rwE4n0409FyAJHStYA5OIZERxmnUfLVwv0mc0V1wLad3V7jqRlMkgKBeAq07jUvglacNaa6g9lOpuw==", + "dev": true, + "dependencies": { + "envinfo": "^7.7.3" + }, + "peerDependencies": { + "webpack-cli": "4.x.x" + } + }, + "node_modules/@webpack-cli/serve": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.6.0.tgz", + "integrity": "sha512-ZkVeqEmRpBV2GHvjjUZqEai2PpUbuq8Bqd//vEYsp63J8WyexI8ppCqVS3Zs0QADf6aWuPdU+0XsPI647PVlQA==", + "dev": true, + "peerDependencies": { + "webpack-cli": "4.x.x" + }, + "peerDependenciesMeta": { + "webpack-dev-server": { + "optional": true + } + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true + }, + "node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.18.1.tgz", + "integrity": "sha512-8ScCzdpPwR2wQh8IT82CA2VgDwjHyqMovPBZSNH54+tm4Jk2pCuv90gmAdH6J84OCRWi0b4gMe6O6XPXuJnjgQ==", + "dev": true, + "dependencies": { + "caniuse-lite": "^1.0.30001280", + "electron-to-chromium": "^1.3.896", + "escalade": "^3.1.1", + "node-releases": "^2.0.1", + "picocolors": "^1.0.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001282", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001282.tgz", + "integrity": "sha512-YhF/hG6nqBEllymSIjLtR2iWDDnChvhnVJqp+vloyt2tEHFG1yBR+ac2B/rOw0qOK0m0lEXU2dv4E/sMk5P9Kg==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/colorette": { + "version": "2.0.16", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.16.tgz", + "integrity": "sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==", + "dev": true + }, + "node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/debug": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.0.tgz", + "integrity": "sha512-+oXCt6SaIu8EmFTPx8wNGSB0tHQ5biDscnlf6Uxuz17e9CjzMRtGk9B8705aMPnj0iWr3iC74WuIkngCsLElmA==", + "dev": true + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/enhanced-resolve": { + "version": "5.8.3", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.8.3.tgz", + "integrity": "sha512-EGAbGvH7j7Xt2nc0E7D99La1OiEs8LnyimkRgwExpUMScN6O+3x9tIWs7PLQZVNx4YD+00skHXPXi1yQHpAmZA==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "dev": true, + "dependencies": { + "ansi-colors": "^4.1.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/envinfo": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", + "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", + "dev": true, + "bin": { + "envinfo": "dist/cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/es-module-lexer": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", + "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", + "dev": true + }, + "node_modules/esbuild": { + "version": "0.8.57", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.8.57.tgz", + "integrity": "sha512-j02SFrUwFTRUqiY0Kjplwjm1psuzO1d6AjaXKuOR9hrY0HuPsT6sV42B6myW34h1q4CRy+Y3g4RU/cGJeI/nNA==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "7.32.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", + "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "7.12.11", + "@eslint/eslintrc": "^0.4.3", + "@humanwhocodes/config-array": "^0.5.0", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "enquirer": "^2.3.5", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^2.0.0", + "espree": "^7.3.1", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.1.2", + "globals": "^13.6.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "progress": "^2.0.0", + "regexpp": "^3.1.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.0", + "strip-json-comments": "^3.1.0", + "table": "^6.0.9", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-prettier": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.3.0.tgz", + "integrity": "sha512-BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew==", + "dev": true, + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-config-typescript": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-typescript/-/eslint-config-typescript-3.0.0.tgz", + "integrity": "sha512-CwC2cQ29OLE1OUw0k+Twpc6wpCdenG8rrErl89sWrzmMpWfkulyeQS1HJhhjU0B3Tb4k41zdei4LtX26x5m60Q==", + "dev": true, + "peerDependencies": { + "@typescript-eslint/eslint-plugin": ">=1.8.0", + "@typescript-eslint/parser": ">=1.8.0", + "eslint": ">=6.0.0", + "typescript": "*" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint/node_modules/ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/espree": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", + "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", + "dev": true, + "dependencies": { + "acorn": "^7.4.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^1.3.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/espree/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esquery/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", + "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "node_modules/fastest-levenshtein": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz", + "integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==", + "dev": true + }, + "node_modules/fastq": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", + "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "dependencies": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.4.tgz", + "integrity": "sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw==", + "dev": true + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "dev": true, + "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" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true + }, + "node_modules/globals": { + "version": "13.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.12.0.tgz", + "integrity": "sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globby": { + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz", + "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", + "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==", + "dev": true + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/ignore": { + "version": "5.1.9", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.9.tgz", + "integrity": "sha512-2zeMQpbKz5dhZ9IwL0gbxSW5w0NK/MSAMtNuhgIHEPmaU3vPdKPL0UdvUCXs5SS4JAwsBxysK5sFMW8ocFiVjQ==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-local": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.3.tgz", + "integrity": "sha512-bE9iaUY3CXH8Cwfan/abDKAxe1KGT9kyGsBPqf6DMK/z0a2OzAsrukeYNgIH6cH5Xr452jb1TUL8rSfCLjZ9uA==", + "dev": true, + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/interpret": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", + "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-core-module": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.0.tgz", + "integrity": "sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-worker": { + "version": "27.3.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.3.1.tgz", + "integrity": "sha512-ks3WCzsiZaOPJl/oMsDjaf0TRiSv7ctNgs0FqRr2nARsovz6AWWy4oLElwcquGSz692DzgZQrCLScPNs5YlC4g==", + "dev": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/loader-runner": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz", + "integrity": "sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==", + "dev": true, + "engines": { + "node": ">=6.11.5" + } + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=", + "dev": true + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime-db": { + "version": "1.51.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz", + "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.34", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz", + "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==", + "dev": true, + "dependencies": { + "mime-db": "1.51.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "node_modules/node-releases": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz", + "integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==", + "dev": true + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", + "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.4.1.tgz", + "integrity": "sha512-9fbDAXSBcc6Bs1mZrDYb3XKzDLm4EXXL9sC1LqKP5rZkT6KRr/rf9amVUcODVXgguK/isJz0d0hP72WeaKWsvA==", + "dev": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/rechoir": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz", + "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==", + "dev": true, + "dependencies": { + "resolve": "^1.9.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "dev": true, + "dependencies": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-cwd/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "dev": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/signal-exit": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz", + "integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==", + "dev": true + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/table": { + "version": "6.7.3", + "resolved": "https://registry.npmjs.org/table/-/table-6.7.3.tgz", + "integrity": "sha512-5DkIxeA7XERBqMwJq0aHZOdMadBx4e6eDoFRuyT5VR82J0Ycg2DwM6GfA/EQAhJ+toRTaS1lIdSQCqgrmhPnlw==", + "dev": true, + "dependencies": { + "ajv": "^8.0.1", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/table/node_modules/ajv": { + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.8.2.tgz", + "integrity": "sha512-x9VuX+R/jcFj1DHo/fCp99esgGDWiHENrKxaCENuCxpoMCmAt/COCGVDwA7kleEpEzJjDnvh3yGoOuLu0Dtllw==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/table/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.2.5", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.2.5.tgz", + "integrity": "sha512-3luOVHku5l0QBeYS8r4CdHYWEGMmIj3H1U64jgkdZzECcSOJAyJ9TjuqcQZvw1Y+4AOBN9SeYJPJmFn2cM4/2g==", + "dev": true, + "dependencies": { + "jest-worker": "^27.0.6", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.0", + "source-map": "^0.6.1", + "terser": "^5.7.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/terser-webpack-plugin/node_modules/acorn": { + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.6.0.tgz", + "integrity": "sha512-U1riIR+lBSNi3IbxtaHOIKdH8sLFv3NYfNv8sg7ZsNhcfl4HF2++BfqqrNAxoCLQW1iiylOj76ecnaUxz+z9yw==", + "dev": true, + "optional": true, + "peer": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/terser-webpack-plugin/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "node_modules/terser-webpack-plugin/node_modules/terser": { + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.10.0.tgz", + "integrity": "sha512-AMmF99DMfEDiRJfxfY5jj5wNH/bYO09cniSqhfoyxc8sFoYIgkJy86G04UoZU5VjlpnplVu0K6Tx6E9b5+DlHA==", + "dev": true, + "dependencies": { + "commander": "^2.20.0", + "source-map": "~0.7.2", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "acorn": "^8.5.0" + }, + "peerDependenciesMeta": { + "acorn": { + "optional": true + } + } + }, + "node_modules/terser-webpack-plugin/node_modules/terser/node_modules/source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/ts-loader": { + "version": "9.2.6", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.2.6.tgz", + "integrity": "sha512-QMTC4UFzHmu9wU2VHZEmWWE9cUajjfcdcws+Gh7FhiO+Dy0RnR1bNz0YCHqhI0yRowCE9arVnNxYHqELOy9Hjw==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "enhanced-resolve": "^5.0.0", + "micromatch": "^4.0.0", + "semver": "^7.3.4" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "typescript": "*", + "webpack": "^5.0.0" + } + }, + "node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "dependencies": { + "tslib": "^1.8.1" + }, + "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" + } + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typescript": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.2.tgz", + "integrity": "sha512-5BlMof9H1yGt0P8/WF+wPNw6GfctgGjXp5hkblpyT+8rkASSmkUKMXrxR0Xg8ThVCi/JnHQiKXeBaEwCeQwMFw==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/v8-compile-cache": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", + "dev": true + }, + "node_modules/watchpack": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.3.0.tgz", + "integrity": "sha512-MnN0Q1OsvB/GGHETrFeZPQaOelWh/7O+EiFlj8sM9GPjtQkis7k01aAxrg/18kTfoIVcLL+haEVFlXDaSRwKRw==", + "dev": true, + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack": { + "version": "5.64.3", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.64.3.tgz", + "integrity": "sha512-XF6/IL9Bw2PPQioiR1UYA8Bs4tX3QXJtSelezKECdLFeSFzWoe44zqTzPW5N+xI3fACaRl2/G3sNA4WYHD7Iww==", + "dev": true, + "dependencies": { + "@types/eslint-scope": "^3.7.0", + "@types/estree": "^0.0.50", + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/wasm-edit": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "acorn": "^8.4.1", + "acorn-import-assertions": "^1.7.6", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.8.3", + "es-module-lexer": "^0.9.0", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.4", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.1.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.1.3", + "watchpack": "^2.2.0", + "webpack-sources": "^3.2.2" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-cli": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.9.1.tgz", + "integrity": "sha512-JYRFVuyFpzDxMDB+v/nanUdQYcZtqFPGzmlW4s+UkPMFhSpfRNmf1z4AwYcHJVdvEFAM7FFCQdNTpsBYhDLusQ==", + "dev": true, + "dependencies": { + "@discoveryjs/json-ext": "^0.5.0", + "@webpack-cli/configtest": "^1.1.0", + "@webpack-cli/info": "^1.4.0", + "@webpack-cli/serve": "^1.6.0", + "colorette": "^2.0.14", + "commander": "^7.0.0", + "execa": "^5.0.0", + "fastest-levenshtein": "^1.0.12", + "import-local": "^3.0.2", + "interpret": "^2.2.0", + "rechoir": "^0.7.0", + "webpack-merge": "^5.7.3" + }, + "bin": { + "webpack-cli": "bin/cli.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "peerDependencies": { + "webpack": "4.x.x || 5.x.x" + }, + "peerDependenciesMeta": { + "@webpack-cli/generators": { + "optional": true + }, + "@webpack-cli/migrate": { + "optional": true + }, + "webpack-bundle-analyzer": { + "optional": true + }, + "webpack-dev-server": { + "optional": true + } + } + }, + "node_modules/webpack-merge": { + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz", + "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==", + "dev": true, + "dependencies": { + "clone-deep": "^4.0.1", + "wildcard": "^2.0.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/webpack-sources": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.2.tgz", + "integrity": "sha512-cp5qdmHnu5T8wRg2G3vZZHoJPN14aqQ89SyQ11NpGH5zEMDCclt49rzo+MaRazk7/UeILhAI+/sEtcM+7Fr0nw==", + "dev": true, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack/node_modules/acorn": { + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.6.0.tgz", + "integrity": "sha512-U1riIR+lBSNi3IbxtaHOIKdH8sLFv3NYfNv8sg7ZsNhcfl4HF2++BfqqrNAxoCLQW1iiylOj76ecnaUxz+z9yw==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/webpack/node_modules/acorn-import-assertions": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", + "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", + "dev": true, + "peerDependencies": { + "acorn": "^8" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wildcard": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", + "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", + "dev": true + }, + "node_modules/word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.4" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.15.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", + "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==", + "dev": true + }, + "@babel/highlight": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.0.tgz", + "integrity": "sha512-t8MH41kUQylBtu2+4IQA3atqevA2lRgqA2wyVB/YiWmsDSuylZZuXOUy9ric30hfzauEFfdsuk/eXTRrGrfd0g==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.15.7", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@cloudflare/workers-types": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@cloudflare/workers-types/-/workers-types-3.2.0.tgz", + "integrity": "sha512-y0+f7QeB5/fMMdU0wSwvBB18yE9kAD2s7Wben8a4uI4f/EJyE+eJrai5QO52Pq8EmWP0vRpKqZh0qU857WhY2A==", + "dev": true + }, + "@discoveryjs/json-ext": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.5.tgz", + "integrity": "sha512-6nFkfkmSeV/rqSaS4oWHgmpnYw194f6hmWF5is6b0J1naJZoiD0NTc9AiUwPHvWsowkjuHErCZT1wa0jg+BLIA==", + "dev": true + }, + "@eslint/eslintrc": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", + "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.1.1", + "espree": "^7.3.0", + "globals": "^13.9.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^3.13.1", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true + } + } + }, + "@humanwhocodes/config-array": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", + "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.0", + "debug": "^4.1.1", + "minimatch": "^3.0.4" + } + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@types/eslint": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.2.0.tgz", + "integrity": "sha512-74hbvsnc+7TEDa1z5YLSe4/q8hGYB3USNvCuzHUJrjPV6hXaq8IXcngCrHkuvFt0+8rFz7xYXrHgNayIX0UZvQ==", + "dev": true, + "requires": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "@types/eslint-scope": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.1.tgz", + "integrity": "sha512-SCFeogqiptms4Fg29WpOTk5nHIzfpKCemSN63ksBQYKTcXoJEmJagV+DhVmbapZzY4/5YaOV1nZwrsU79fFm1g==", + "dev": true, + "requires": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "@types/estree": { + "version": "0.0.50", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.50.tgz", + "integrity": "sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw==", + "dev": true + }, + "@types/json-schema": { + "version": "7.0.9", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", + "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==", + "dev": true + }, + "@types/node": { + "version": "14.17.34", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.34.tgz", + "integrity": "sha512-USUftMYpmuMzeWobskoPfzDi+vkpe0dvcOBRNOscFrGxVp4jomnRxWuVohgqBow2xyIPC0S3gjxV/5079jhmDg==", + "dev": true + }, + "@types/service-worker-mock": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/service-worker-mock/-/service-worker-mock-2.0.1.tgz", + "integrity": "sha512-LqaP0QmgppRF7YEaqx4amoazHNXaX5bIFDAu62LnWIc5ku0HbgqlPKroQstAu8WsdmWIqEfI9VGlP8Skkq+m5A==", + "dev": true + }, + "@typescript-eslint/eslint-plugin": { + "version": "4.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.33.0.tgz", + "integrity": "sha512-aINiAxGVdOl1eJyVjaWn/YcVAq4Gi/Yo35qHGCnqbWVz61g39D0h23veY/MA0rFFGfxK7TySg2uwDeNv+JgVpg==", + "dev": true, + "requires": { + "@typescript-eslint/experimental-utils": "4.33.0", + "@typescript-eslint/scope-manager": "4.33.0", + "debug": "^4.3.1", + "functional-red-black-tree": "^1.0.1", + "ignore": "^5.1.8", + "regexpp": "^3.1.0", + "semver": "^7.3.5", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/experimental-utils": { + "version": "4.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.33.0.tgz", + "integrity": "sha512-zeQjOoES5JFjTnAhI5QY7ZviczMzDptls15GFsI6jyUOq0kOf9+WonkhtlIhh0RgHRnqj5gdNxW5j1EvAyYg6Q==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.7", + "@typescript-eslint/scope-manager": "4.33.0", + "@typescript-eslint/types": "4.33.0", + "@typescript-eslint/typescript-estree": "4.33.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^3.0.0" + }, + "dependencies": { + "eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^2.0.0" + } + } + } + }, + "@typescript-eslint/parser": { + "version": "4.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.33.0.tgz", + "integrity": "sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA==", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "4.33.0", + "@typescript-eslint/types": "4.33.0", + "@typescript-eslint/typescript-estree": "4.33.0", + "debug": "^4.3.1" + } + }, + "@typescript-eslint/scope-manager": { + "version": "4.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.33.0.tgz", + "integrity": "sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ==", + "dev": true, + "requires": { + "@typescript-eslint/types": "4.33.0", + "@typescript-eslint/visitor-keys": "4.33.0" + } + }, + "@typescript-eslint/types": { + "version": "4.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.33.0.tgz", + "integrity": "sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ==", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "4.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz", + "integrity": "sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA==", + "dev": true, + "requires": { + "@typescript-eslint/types": "4.33.0", + "@typescript-eslint/visitor-keys": "4.33.0", + "debug": "^4.3.1", + "globby": "^11.0.3", + "is-glob": "^4.0.1", + "semver": "^7.3.5", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "4.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.33.0.tgz", + "integrity": "sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg==", + "dev": true, + "requires": { + "@typescript-eslint/types": "4.33.0", + "eslint-visitor-keys": "^2.0.0" + } + }, + "@webassemblyjs/ast": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", + "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", + "dev": true, + "requires": { + "@webassemblyjs/helper-numbers": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", + "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", + "dev": true + }, + "@webassemblyjs/helper-api-error": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", + "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", + "dev": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", + "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", + "dev": true + }, + "@webassemblyjs/helper-numbers": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", + "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", + "dev": true, + "requires": { + "@webassemblyjs/floating-point-hex-parser": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", + "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", + "dev": true + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", + "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", + "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", + "dev": true, + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", + "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", + "dev": true, + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", + "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", + "dev": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", + "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/helper-wasm-section": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-opt": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "@webassemblyjs/wast-printer": "1.11.1" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", + "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", + "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", + "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", + "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@xtuc/long": "4.2.2" + } + }, + "@webpack-cli/configtest": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.1.0.tgz", + "integrity": "sha512-ttOkEkoalEHa7RaFYpM0ErK1xc4twg3Am9hfHhL7MVqlHebnkYd2wuI/ZqTDj0cVzZho6PdinY0phFZV3O0Mzg==", + "dev": true, + "requires": {} + }, + "@webpack-cli/info": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.4.0.tgz", + "integrity": "sha512-F6b+Man0rwE4n0409FyAJHStYA5OIZERxmnUfLVwv0mc0V1wLad3V7jqRlMkgKBeAq07jUvglacNaa6g9lOpuw==", + "dev": true, + "requires": { + "envinfo": "^7.7.3" + } + }, + "@webpack-cli/serve": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.6.0.tgz", + "integrity": "sha512-ZkVeqEmRpBV2GHvjjUZqEai2PpUbuq8Bqd//vEYsp63J8WyexI8ppCqVS3Zs0QADf6aWuPdU+0XsPI647PVlQA==", + "dev": true, + "requires": {} + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true + }, + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true + }, + "acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "requires": {} + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "requires": {} + }, + "ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "dev": true + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true + }, + "astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "browserslist": { + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.18.1.tgz", + "integrity": "sha512-8ScCzdpPwR2wQh8IT82CA2VgDwjHyqMovPBZSNH54+tm4Jk2pCuv90gmAdH6J84OCRWi0b4gMe6O6XPXuJnjgQ==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001280", + "electron-to-chromium": "^1.3.896", + "escalade": "^3.1.1", + "node-releases": "^2.0.1", + "picocolors": "^1.0.0" + } + }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "caniuse-lite": { + "version": "1.0.30001282", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001282.tgz", + "integrity": "sha512-YhF/hG6nqBEllymSIjLtR2iWDDnChvhnVJqp+vloyt2tEHFG1yBR+ac2B/rOw0qOK0m0lEXU2dv4E/sMk5P9Kg==", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true + }, + "clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "colorette": { + "version": "2.0.16", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.16.tgz", + "integrity": "sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==", + "dev": true + }, + "commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "debug": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "electron-to-chromium": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.0.tgz", + "integrity": "sha512-+oXCt6SaIu8EmFTPx8wNGSB0tHQ5biDscnlf6Uxuz17e9CjzMRtGk9B8705aMPnj0iWr3iC74WuIkngCsLElmA==", + "dev": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "enhanced-resolve": { + "version": "5.8.3", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.8.3.tgz", + "integrity": "sha512-EGAbGvH7j7Xt2nc0E7D99La1OiEs8LnyimkRgwExpUMScN6O+3x9tIWs7PLQZVNx4YD+00skHXPXi1yQHpAmZA==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + } + }, + "enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "dev": true, + "requires": { + "ansi-colors": "^4.1.1" + } + }, + "envinfo": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", + "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", + "dev": true + }, + "es-module-lexer": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", + "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", + "dev": true + }, + "esbuild": { + "version": "0.8.57", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.8.57.tgz", + "integrity": "sha512-j02SFrUwFTRUqiY0Kjplwjm1psuzO1d6AjaXKuOR9hrY0HuPsT6sV42B6myW34h1q4CRy+Y3g4RU/cGJeI/nNA==", + "dev": true + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true + }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true + }, + "eslint": { + "version": "7.32.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", + "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", + "dev": true, + "requires": { + "@babel/code-frame": "7.12.11", + "@eslint/eslintrc": "^0.4.3", + "@humanwhocodes/config-array": "^0.5.0", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "enquirer": "^2.3.5", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^2.0.0", + "espree": "^7.3.1", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.1.2", + "globals": "^13.6.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "progress": "^2.0.0", + "regexpp": "^3.1.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.0", + "strip-json-comments": "^3.1.0", + "table": "^6.0.9", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "dependencies": { + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true + } + } + }, + "eslint-config-prettier": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.3.0.tgz", + "integrity": "sha512-BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew==", + "dev": true, + "requires": {} + }, + "eslint-config-typescript": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-typescript/-/eslint-config-typescript-3.0.0.tgz", + "integrity": "sha512-CwC2cQ29OLE1OUw0k+Twpc6wpCdenG8rrErl89sWrzmMpWfkulyeQS1HJhhjU0B3Tb4k41zdei4LtX26x5m60Q==", + "dev": true, + "requires": {} + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^1.1.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true + } + } + }, + "eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true + }, + "espree": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", + "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", + "dev": true, + "requires": { + "acorn": "^7.4.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^1.3.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true + } + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "esquery": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true + }, + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + } + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fast-glob": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", + "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "fastest-levenshtein": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz", + "integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==", + "dev": true + }, + "fastq": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", + "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.4.tgz", + "integrity": "sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw==", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true + }, + "glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "dev": true, + "requires": { + "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-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true + }, + "globals": { + "version": "13.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.12.0.tgz", + "integrity": "sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "globby": { + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz", + "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + } + }, + "graceful-fs": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", + "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==", + "dev": true + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true + }, + "ignore": { + "version": "5.1.9", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.9.tgz", + "integrity": "sha512-2zeMQpbKz5dhZ9IwL0gbxSW5w0NK/MSAMtNuhgIHEPmaU3vPdKPL0UdvUCXs5SS4JAwsBxysK5sFMW8ocFiVjQ==", + "dev": true + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "import-local": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.3.tgz", + "integrity": "sha512-bE9iaUY3CXH8Cwfan/abDKAxe1KGT9kyGsBPqf6DMK/z0a2OzAsrukeYNgIH6cH5Xr452jb1TUL8rSfCLjZ9uA==", + "dev": true, + "requires": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "interpret": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", + "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", + "dev": true + }, + "is-core-module": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.0.tgz", + "integrity": "sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "jest-worker": { + "version": "27.3.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.3.1.tgz", + "integrity": "sha512-ks3WCzsiZaOPJl/oMsDjaf0TRiSv7ctNgs0FqRr2nARsovz6AWWy4oLElwcquGSz692DzgZQrCLScPNs5YlC4g==", + "dev": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "dependencies": { + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + }, + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "loader-runner": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz", + "integrity": "sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==", + "dev": true + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=", + "dev": true + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, + "micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "dev": true, + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + } + }, + "mime-db": { + "version": "1.51.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz", + "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==", + "dev": true + }, + "mime-types": { + "version": "2.1.34", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz", + "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==", + "dev": true, + "requires": { + "mime-db": "1.51.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "node-releases": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz", + "integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==", + "dev": true + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "requires": { + "path-key": "^3.0.0" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "picomatch": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", + "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", + "dev": true + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "requires": { + "find-up": "^4.0.0" + } + }, + "prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true + }, + "prettier": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.4.1.tgz", + "integrity": "sha512-9fbDAXSBcc6Bs1mZrDYb3XKzDLm4EXXL9sC1LqKP5rZkT6KRr/rf9amVUcODVXgguK/isJz0d0hP72WeaKWsvA==", + "dev": true + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "rechoir": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz", + "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==", + "dev": true, + "requires": { + "resolve": "^1.9.0" + } + }, + "regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "dev": true + }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true + }, + "resolve": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "dev": true, + "requires": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + } + }, + "resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "requires": { + "resolve-from": "^5.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + } + } + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + }, + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, + "shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dev": true, + "requires": { + "kind-of": "^6.0.2" + } + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "signal-exit": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz", + "integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==", + "dev": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "table": { + "version": "6.7.3", + "resolved": "https://registry.npmjs.org/table/-/table-6.7.3.tgz", + "integrity": "sha512-5DkIxeA7XERBqMwJq0aHZOdMadBx4e6eDoFRuyT5VR82J0Ycg2DwM6GfA/EQAhJ+toRTaS1lIdSQCqgrmhPnlw==", + "dev": true, + "requires": { + "ajv": "^8.0.1", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + }, + "dependencies": { + "ajv": { + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.8.2.tgz", + "integrity": "sha512-x9VuX+R/jcFj1DHo/fCp99esgGDWiHENrKxaCENuCxpoMCmAt/COCGVDwA7kleEpEzJjDnvh3yGoOuLu0Dtllw==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + } + } + }, + "tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true + }, + "terser-webpack-plugin": { + "version": "5.2.5", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.2.5.tgz", + "integrity": "sha512-3luOVHku5l0QBeYS8r4CdHYWEGMmIj3H1U64jgkdZzECcSOJAyJ9TjuqcQZvw1Y+4AOBN9SeYJPJmFn2cM4/2g==", + "dev": true, + "requires": { + "jest-worker": "^27.0.6", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.0", + "source-map": "^0.6.1", + "terser": "^5.7.2" + }, + "dependencies": { + "acorn": { + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.6.0.tgz", + "integrity": "sha512-U1riIR+lBSNi3IbxtaHOIKdH8sLFv3NYfNv8sg7ZsNhcfl4HF2++BfqqrNAxoCLQW1iiylOj76ecnaUxz+z9yw==", + "dev": true, + "optional": true, + "peer": true + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "terser": { + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.10.0.tgz", + "integrity": "sha512-AMmF99DMfEDiRJfxfY5jj5wNH/bYO09cniSqhfoyxc8sFoYIgkJy86G04UoZU5VjlpnplVu0K6Tx6E9b5+DlHA==", + "dev": true, + "requires": { + "commander": "^2.20.0", + "source-map": "~0.7.2", + "source-map-support": "~0.5.20" + }, + "dependencies": { + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true + } + } + } + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "ts-loader": { + "version": "9.2.6", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.2.6.tgz", + "integrity": "sha512-QMTC4UFzHmu9wU2VHZEmWWE9cUajjfcdcws+Gh7FhiO+Dy0RnR1bNz0YCHqhI0yRowCE9arVnNxYHqELOy9Hjw==", + "dev": true, + "requires": { + "chalk": "^4.1.0", + "enhanced-resolve": "^5.0.0", + "micromatch": "^4.0.0", + "semver": "^7.3.4" + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + }, + "type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true + }, + "typescript": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.2.tgz", + "integrity": "sha512-5BlMof9H1yGt0P8/WF+wPNw6GfctgGjXp5hkblpyT+8rkASSmkUKMXrxR0Xg8ThVCi/JnHQiKXeBaEwCeQwMFw==", + "dev": true + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "v8-compile-cache": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", + "dev": true + }, + "watchpack": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.3.0.tgz", + "integrity": "sha512-MnN0Q1OsvB/GGHETrFeZPQaOelWh/7O+EiFlj8sM9GPjtQkis7k01aAxrg/18kTfoIVcLL+haEVFlXDaSRwKRw==", + "dev": true, + "requires": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + } + }, + "webpack": { + "version": "5.64.3", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.64.3.tgz", + "integrity": "sha512-XF6/IL9Bw2PPQioiR1UYA8Bs4tX3QXJtSelezKECdLFeSFzWoe44zqTzPW5N+xI3fACaRl2/G3sNA4WYHD7Iww==", + "dev": true, + "requires": { + "@types/eslint-scope": "^3.7.0", + "@types/estree": "^0.0.50", + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/wasm-edit": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "acorn": "^8.4.1", + "acorn-import-assertions": "^1.7.6", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.8.3", + "es-module-lexer": "^0.9.0", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.4", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.1.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.1.3", + "watchpack": "^2.2.0", + "webpack-sources": "^3.2.2" + }, + "dependencies": { + "acorn": { + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.6.0.tgz", + "integrity": "sha512-U1riIR+lBSNi3IbxtaHOIKdH8sLFv3NYfNv8sg7ZsNhcfl4HF2++BfqqrNAxoCLQW1iiylOj76ecnaUxz+z9yw==", + "dev": true + }, + "acorn-import-assertions": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", + "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", + "dev": true, + "requires": {} + } + } + }, + "webpack-cli": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.9.1.tgz", + "integrity": "sha512-JYRFVuyFpzDxMDB+v/nanUdQYcZtqFPGzmlW4s+UkPMFhSpfRNmf1z4AwYcHJVdvEFAM7FFCQdNTpsBYhDLusQ==", + "dev": true, + "requires": { + "@discoveryjs/json-ext": "^0.5.0", + "@webpack-cli/configtest": "^1.1.0", + "@webpack-cli/info": "^1.4.0", + "@webpack-cli/serve": "^1.6.0", + "colorette": "^2.0.14", + "commander": "^7.0.0", + "execa": "^5.0.0", + "fastest-levenshtein": "^1.0.12", + "import-local": "^3.0.2", + "interpret": "^2.2.0", + "rechoir": "^0.7.0", + "webpack-merge": "^5.7.3" + } + }, + "webpack-merge": { + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz", + "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==", + "dev": true, + "requires": { + "clone-deep": "^4.0.1", + "wildcard": "^2.0.0" + } + }, + "webpack-sources": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.2.tgz", + "integrity": "sha512-cp5qdmHnu5T8wRg2G3vZZHoJPN14aqQ89SyQ11NpGH5zEMDCclt49rzo+MaRazk7/UeILhAI+/sEtcM+7Fr0nw==", + "dev": true + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "wildcard": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", + "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", + "dev": true + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } } diff --git a/workers/package.json b/workers/package.json index c120e5c..8705422 100644 --- a/workers/package.json +++ b/workers/package.json @@ -1,13 +1,34 @@ { "name": "byob", - "version": "1.0.0", + "version": "1.1.0", "description": "", - "main": "index.js", + "main": "dist/worker.js", "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" + "build": "webpack" }, "keywords": [], "author": "", "license": "MIT", - "dependencies": {} + "eslintConfig": { + "root": true, + "extends": [ + "typescript", + "prettier" + ] + }, + "devDependencies": { + "@cloudflare/workers-types": "^3.0.0", + "@types/service-worker-mock": "^2.0.1", + "@typescript-eslint/eslint-plugin": "^4.16.1", + "@typescript-eslint/parser": "^4.16.1", + "eslint": "^7.21.0", + "eslint-config-prettier": "^8.1.0", + "eslint-config-typescript": "^3.0.0", + "prettier": "^2.3.0", + "ts-loader": "^9.2.2", + "typescript": "^4.3.2", + "webpack": "^5.38.1", + "webpack-cli": "^4.7.0", + "esbuild": "^0.8.17" + } } diff --git a/workers/index.js b/workers/src/handler.ts similarity index 59% rename from workers/index.js rename to workers/src/handler.ts index 26b26c8..aedccf8 100644 --- a/workers/index.js +++ b/workers/src/handler.ts @@ -2,16 +2,19 @@ * Runnable on Cloudflare Workers */ +import { badgen } from '../badgen/dist' +import { parseIcon } from "./icon"; + const namePattern = /^\S+$/i; // Valid: // RubbaBoy/EmojIDE/badgeName // RubbaBoy/EmojIDE/badgeName/master // RubbaBoy/EmojIDE/badgeName/master/path/here/stuff.json -async function handleRequest(request) { +export async function handleRequest(request: Request): Promise { let url = new URL(request.url) let splitted = url.pathname.substr(1).split('/') - let [nameorg, repo, badgeName, branch, ...split_path ] = splitted + let [nameorg, repo, badgeName, branch, ...split_path] = splitted branch = branch || 'shields'; let path = 'shields.json'; if (split_path.length > 0) { @@ -51,11 +54,7 @@ async function handleRequest(request) { return sendResult(currBadge['label'], currBadge['status'], currBadge['color'], currBadge['icon']); } -addEventListener("fetch", event => { - return event.respondWith(handleRequest(event.request)) -}) - -function loadBody(body) { +function loadBody(body: string): any { try { return JSON.parse(body); } catch (_) { @@ -63,14 +62,26 @@ function loadBody(body) { } } -async function sendError(label, status, statusCode) { +async function sendError(label: string, status: string, statusCode: number) { return sendResult(label, status, 'FF0000', undefined, statusCode) } -async function sendResult(label, status, color, icon, statusCode = 200) { - let res = await fetch(badgeUrl(label, icon, status, color)) - return new Response(res.body, { - 'status': statusCode, "headers": { +async function sendResult(label: string, status: string, color: string, icon: string | undefined, statusCode = 200) { + let usingIcon = await parseIcon(icon) + + const svgString = badgen({ + label: label || '', // + labelColor: '555', // or (default: '555') + status: status || 'N/A', // , required + color: color || 'blue', // or (default: 'blue') + style: 'classic', // 'flat' or 'classic' (default: 'classic') + icon: usingIcon.base64, // Use icon (default: undefined) + iconWidth: usingIcon.width, // Set this if icon is not square (default: 13) + scale: 1 // Set badge scale (default: 1) + }) + + return new Response(svgString, { + 'status': statusCode, 'headers': { 'ETag': Date.now().toString(), 'Cache-Control': 'no-cache', 'Pragma': 'no-cache', @@ -78,22 +89,3 @@ async function sendResult(label, status, color, icon, statusCode = 200) { } }) } - -function badgeUrl(label, icon, status, color) { - let statusString = 'N/A'; - if (status !== undefined) { - statusString = encodeURIComponent(status) - } - - let iconString = ''; - if (icon !== undefined) { - iconString = `&icon=${icon}` - } - - let labelString = '&label'; - if (label !== undefined) { - labelString += `=${label}` - } - - return `https://badgen.net/badge/_/${statusString}/${color || 'N/A'}?cache=300${iconString}${labelString}` -} diff --git a/workers/src/icon.ts b/workers/src/icon.ts new file mode 100644 index 0000000..fb57d08 --- /dev/null +++ b/workers/src/icon.ts @@ -0,0 +1,44 @@ +import icons from "../badgen/dist/icons.json"; + +interface Icon { + base64: string | undefined; + width: number; + height: number; +} + +const defaultIcon: Icon = { + base64: undefined, + width: 13, + height: 13, +}; + +function makeIcon(base64: string, width = 13, height = 13): Icon { + return { + base64: base64, + width: width, + height: height, + } as Icon; +} + +export async function parseIcon(icon: string | undefined): Promise { + if (icon === undefined) { + return defaultIcon; + } + + if (icon.startsWith('data:image/svg+xml;base64,')) { + return makeIcon(icon) + } + + // TODO: Use Workers caching + if (icon.startsWith('https://')) { + let fetched = await fetch(icon); + if (fetched.status == 200) { + let svgText = await fetched.text() + if (svgText.startsWith(' { + event.respondWith(handleRequest(event.request)) +}) diff --git a/workers/tsconfig.json b/workers/tsconfig.json new file mode 100644 index 0000000..d74a402 --- /dev/null +++ b/workers/tsconfig.json @@ -0,0 +1,21 @@ +{ + "compilerOptions": { + "outDir": "./dist", + "module": "commonjs", + "target": "esnext", + "lib": ["esnext"], + "alwaysStrict": true, + "strict": true, + "preserveConstEnums": true, + "moduleResolution": "node", + "resolveJsonModule": true, + "sourceMap": true, + "esModuleInterop": true, + "types": [ + "@cloudflare/workers-types", + "@types/service-worker-mock" + ] + }, + "include": ["src"], + "exclude": ["node_modules", "dist", "test"] +} \ No newline at end of file diff --git a/workers/webpack.config.js b/workers/webpack.config.js new file mode 100644 index 0000000..c329143 --- /dev/null +++ b/workers/webpack.config.js @@ -0,0 +1,22 @@ +const path = require('path') + +module.exports = { + entry: './src/index.ts', + output: { + filename: 'worker.js', + path: path.join(__dirname, 'dist'), + }, + devtool: 'cheap-module-source-map', + mode: 'development', + resolve: { + extensions: ['.ts', '.tsx', '.js'], + }, + module: { + rules: [ + { + test: /\.tsx?$/, + loader: 'ts-loader', + }, + ], + }, +}