diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 00000000..1841e40d --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,39 @@ +{ + "env": { + "node": true, + "es2021": true, + "jest": true + }, + "extends": [ + "eslint:recommended", + "plugin:@typescript-eslint/recommended", + "prettier" + ], + "parser": "@typescript-eslint/parser", + "parserOptions": { + "ecmaVersion": "latest", + "sourceType": "module" + }, + "plugins": [ + "@typescript-eslint" + ], + "rules": { + "@typescript-eslint/no-var-requires": "off", + "no-case-declarations": "off", + "linebreak-style": [ + "error", + "unix" + ], + "quotes": [ + "error", + "single", + { + "avoidEscape": true + } + ], + "semi": [ + "error", + "never" + ] + } +} \ No newline at end of file diff --git a/.github/CODE_OF_CONDUCT.md b/.github/CODE_OF_CONDUCT.md new file mode 100644 index 00000000..760ee26d --- /dev/null +++ b/.github/CODE_OF_CONDUCT.md @@ -0,0 +1,13 @@ +# Contributor Code of Conduct + +As contributors and maintainers of this project, we pledge to respect all people who contribute through reporting issues, posting feature requests, updating documentation, submitting pull requests or patches, and other activities. + +We are committed to making participation in this project a harassment-free experience for everyone, regardless of level of experience, gender, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, or religion. + +Examples of unacceptable behavior by participants include the use of sexual language or imagery, derogatory comments or personal attacks, trolling, public or private harassment, insults, or other unprofessional conduct. + +Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct. Project maintainers who do not follow the Code of Conduct may be removed from the project team. + +Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by opening an issue or contacting one or more of the project maintainers. + +This Code of Conduct is adapted from the [Contributor Covenant](http:contributor-covenant.org), version 1.0.0, available at https://www.contributor-covenant.org/version/1/0/0/code-of-conduct.html diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index 1921cd9f..e71253fb 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -7,15 +7,20 @@ jobs: check: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: - fetch-depth: 0 - - id: files - uses: tj-actions/changed-files@v12.2 + fetch-depth: 2 + - uses: actions/setup-node@v3 + if: ${{ !env.ACT }} with: - files: 'data' + node-version: 18 + cache: 'npm' + - uses: tj-actions/changed-files@v35 + id: files + with: + files: data/*.csv + - name: install dependencies + run: npm install - name: validate if: steps.files.outputs.any_changed == 'true' - run: | - npm install - npm run db:validate -- ${{ steps.files.outputs.all_changed_files }} + run: npm run db:validate -- ${{ steps.files.outputs.all_changed_files }} diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index c5e91d62..22eaf779 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -8,10 +8,17 @@ jobs: update: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 - - run: npm install - - run: npm run db:export - - uses: tibdex/github-app-token@v1 + - uses: actions/checkout@v3 + - uses: actions/setup-node@v3 + if: ${{ !env.ACT }} + with: + node-version: 18 + cache: 'npm' + - name: install dependencies + run: npm install + - name: export data to ./api + run: npm run db:export + - uses: tibdex/github-app-token@v1.8.2 if: ${{ !env.ACT }} id: create-app-token with: diff --git a/.github/workflows/update.yml b/.github/workflows/update.yml index f28585d3..f6cab017 100644 --- a/.github/workflows/update.yml +++ b/.github/workflows/update.yml @@ -7,25 +7,40 @@ jobs: main: runs-on: ubuntu-latest steps: - - uses: tibdex/github-app-token@v1 + - uses: actions/checkout@v3 + - uses: tibdex/github-app-token@v1.8.2 + if: ${{ !env.ACT }} id: create-app-token with: app_id: ${{ secrets.APP_ID }} private_key: ${{ secrets.APP_PRIVATE_KEY }} - uses: actions/checkout@v3 + if: ${{ !env.ACT }} with: token: ${{ steps.create-app-token.outputs.token }} - - run: npm install - - run: npm run db:update --silent >> $GITHUB_OUTPUT - id: issue-process - - name: Validate Changes + - uses: actions/setup-node@v3 + if: ${{ !env.ACT }} + with: + node-version: 18 + cache: 'npm' + - name: install dependencies + run: npm install + - name: update data + id: db-update + run: npm run db:update --silent >> $GITHUB_OUTPUT + - name: validate changes run: npm run db:validate - - name: Commit Changes - if: steps.issue-process.outputs.OUTPUT != 0 + - name: setup git run: | git config user.name "iptv-bot[bot]" git config user.email "84861620+iptv-bot[bot]@users.noreply.github.com" - git add data/channels.csv - git commit -m "[Bot] Update channels.csv" -m "Committed by [iptv-bot](https://github.com/apps/iptv-bot) via [update](https://github.com/iptv-org/database/actions/runs/${{ github.run_id }}) workflow." -m "${{ steps.issue-process.outputs.OUTPUT }}" --no-verify + - run: git status + - name: commit changes + if: steps.db-update.outputs.OUTPUT != 0 + run: | + git add data/*.csv git status - git push + git commit -m "[Bot] Update data" -m "Committed by [iptv-bot](https://github.com/apps/iptv-bot) via [update](https://github.com/iptv-org/database/actions/runs/${{ github.run_id }}) workflow." -m "${{ steps.db-update.outputs.OUTPUT }}" --no-verify + - name: push all changes to the repository + if: ${{ !env.ACT && github.ref == 'refs/heads/master' }} + run: git push diff --git a/.prettierrc.js b/.prettierrc.js new file mode 100644 index 00000000..56f939b5 --- /dev/null +++ b/.prettierrc.js @@ -0,0 +1,10 @@ +module.exports = { + tabWidth: 2, + useTabs: false, + endOfLine: 'lf', + semi: false, + singleQuote: true, + printWidth: 100, + trailingComma: 'none', + arrowParens: 'avoid' +} diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index c9a5b3a3..df82caeb 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,41 +1,26 @@ # Contributing Guide -### How to add a channel to the database or edit its description? - -1. Download the repository to your computer. The easiest way to do this is via [GitHub Desktop](https://desktop.github.com/). -2. Open [data/channels.csv](data/channels.csv) file in one of the spreadsheet editors (such as [Google Sheets](https://www.google.com/sheets/about/), [LibreOffice](https://www.libreoffice.org/discover/libreoffice/), ...). -3. Make the necessary changes and save the file. -4. Make a [pull request](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests) with all changes. This can also be done via [GitHub Desktop](https://desktop.github.com/). - -**IMPORTANT:** Since different programs process CSV files differently before publishing an edited file, please make sure that: - -- no extra columns (commas) were added to the file -- only [CRLF](https://developer.mozilla.org/en-US/docs/Glossary/CRLF) is used to indicate the end of a line -- no empty lines at the end of the file +- [Data Scheme](#data-scheme) +- [Channel Logo Guidelines](#channel-logo-guidelines) +- [Project Structure](#project-structure) +- [Scripts](#scripts) +- [Workflows](#workflows) ## Data Scheme -- [channels](#channels) -- [categories](#categories) -- [countries](#countries) -- [languages](#languages) -- [regions](#regions) -- [subdivisions](#subdivisions) -- [blocklist](#blocklist) - ### channels | Field | Description | Required | Example | | -------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ------------------------------ | | id | Unique channel ID derived from the `name` and `country` separated by dot. May only contain Latin letters, numbers and dot. | Required | `AnhuiTV.cn` | | name | Official channel name in English or call sign. May include: `a-z`, `0-9`, `space`, `-`, `!`, `:`, `&`, `.`, `+`, `'`, `/`, `»`, `#`, `%`, `°`, `$`, `@`, `?`. | Required | `Anhui TV` | -| alt_names | List of alternative channel names separated by `;`. May contain any characters except `,` and `"`. | Optional | `安徽卫视` | +| alt_names | List of alternative channel names separated by `;`. May contain any characters except `,` and `"`. | Optional | `安徽卫视;AHTV` | | network | Network of which this channel is a part. May contain any characters except `,` and `"`. | Optional | `Anhui` | | owners | List of channel owners separated by `;`. May contain any characters except `,` and `"`. | Optional | `China Central Television` | | country | Country code from which the channel is transmitted. A list of all supported countries and their codes can be found in [data/countries.csv](data/countries.csv) | Required | `CN` | | subdivision | Code of the subdivision (e.g., provinces or states) from which the broadcast is transmitted. A list of all supported subdivisions and their codes can be found in [data/subdivisions.csv](data/subdivisions.csv). | Optional | `CN-AH` | | city | The name of the city in English from which the channel is broadcast. May contain any characters except `,` and `"`. | Optional | `Hefei` | -| broadcast_area | List of codes describing the broadcasting area of the channel separated by `;`. Any combination of `r/`, `c/`, `s/`. | Required | `c/CN;r/EUR` | +| broadcast_area | List of codes describing the broadcasting area of the channel separated by `;`. Any combination of `r/`, `c/`, `s/`. | Required | `c/CN;r/ASIA` | | languages | List of languages in which the channel is broadcast separated by `;`. A list of all supported languages and their codes can be found in [data/languages.csv](data/languages.csv). | Required | `zho;eng` | | categories | List of categories to which this channel belongs separated by `;`. A list of all supported categories can be found in [data/categories.csv](data/categories.csv). | Optional | `animation;kids` | | is_nsfw | Indicates whether the channel broadcasts adult content (`TRUE` or `FALSE`). | Required | `FALSE` | @@ -118,3 +103,44 @@ Since finding a suitable logo for the channel is not always possible, this list That way it's much easier to scale the logo later. + +## Project Structure + +- `.github/` + - `ISSUE_TEMPLATE/`: issue templates for the repository. + - `workflows`: contains [GitHub actions](https://docs.github.com/en/actions/quickstart) workflows. + - `CODE_OF_CONDUCT.md`: rules you shouldn't break if you don't want to get banned. +- `.readme/` + - `preview.png`: image displayed in the `README.md`. +- `data/`: contains all data. +- `scripts/`: contains all scripts used in the repository. +- `tests/`: contains tests to check the scripts. +- `CONTRIBUTING.md`: file you are currently reading. +- `README.md`: project description displayed on the home page. + +## Scripts + +These scripts are created to automate routine processes in the repository and make it a bit easier to maintain. + +For scripts to work, you must have [Node.js](https://nodejs.org/en) installed on your computer. + +To run scripts use the `npm run ` command. + +- `act:check`: allows to run the [check](https://github.com/iptv-org/iptv/blob/master/.github/workflows/check.yml) workflow locally. Depends on [nektos/act](https://github.com/nektos/act). +- `act:update`: allows to run the [update](https://github.com/iptv-org/iptv/blob/master/.github/workflows/update.yml) workflow locally. Depends on [nektos/act](https://github.com/nektos/act). +- `act:deploy`: allows to run the [deploy](https://github.com/iptv-org/iptv/blob/master/.github/workflows/deploy.yml) workflow locally. Depends on [nektos/act](https://github.com/nektos/act). +- `db:validate`: checks the integrity of data. +- `db:export`: saves all data in JSON format to the `/.api` folder. +- `db:update`: triggers a data update using approved requests from issues. +- `lint`: сhecks the scripts for syntax errors. +- `test`: runs a test of all the scripts described above. + +## Workflows + +To automate the run of the scripts described above, we use the [GitHub Actions workflows](https://docs.github.com/en/actions/using-workflows). + +Each workflow includes its own set of scripts that can be run either manually or in response to an event. + +- `check`: runs the `db:validate` script when a new pull request appears, and blocks the merge if it detects an error in it. +- `update`: sequentially runs `db:update` and `db:validate` scripts and commits all the changes if successful. +- `deploy`: after each update of the [master](https://github.com/iptv-org/database/branches) branch runs the script `db:export` and then publishes the resulting files to the [iptv-org/api](https://github.com/iptv-org/api) repository. diff --git a/README.md b/README.md index 03d6b2db..125b6b0e 100644 --- a/README.md +++ b/README.md @@ -6,9 +6,31 @@ User editable database for TV channels. All data is stored in the [/data](data) folder as [CSV](https://en.wikipedia.org/wiki/Comma-separated_values) (Comma-separated values) files and can be edited with any spreadsheet editor (such as [Google Sheets](https://www.google.com/sheets/about/), [LibreOffice](https://www.libreoffice.org/discover/libreoffice/), ...). +## API + +All data is also available through the API, documentation for which can be found in the [iptv-org/api](https://github.com/iptv-org/api) repository. + +## Resources + +Links to other useful IPTV-related resources can be found in the [iptv-org/awesome-iptv](https://github.com/iptv-org/awesome-iptv) repository. + +## Discussions + +If you have a question or an idea, you can post it in the [Discussions](https://github.com/orgs/iptv-org/discussions) tab. + ## Contribution -Please make sure to read the [Contributing Guide](CONTRIBUTING.md) before sending an issue or making a pull request. +Please make sure to read the [Contributing Guide](https://github.com/iptv-org/epg/blob/master/CONTRIBUTING.md) before sending [issue](https://github.com/iptv-org/epg/issues) or a [pull request](https://github.com/iptv-org/epg/pulls). + +And thank you to everyone who has already contributed! + +### Backers + + + +### Contributors + + ## License diff --git a/data/blocklist.csv b/data/blocklist.csv index 8cee1488..ae1a0047 100644 --- a/data/blocklist.csv +++ b/data/blocklist.csv @@ -333,6 +333,7 @@ HGTVBrazil.br,https://github.com/iptv-org/iptv/issues/1831 HGTVCanada.ca,https://github.com/iptv-org/iptv/issues/1831 HGTVEast.us,https://github.com/iptv-org/iptv/issues/1831 HGTVGermany.us,https://github.com/iptv-org/iptv/issues/1831 +HGTVHungary.hu,https://github.com/iptv-org/iptv/issues/1831 HGTVItaly.it,https://github.com/iptv-org/iptv/issues/1831 HGTVNewZealand.nz,https://github.com/iptv-org/iptv/issues/1831 HGTVPanregional.us,https://github.com/iptv-org/iptv/issues/1831 @@ -393,6 +394,7 @@ Motortrend.us,https://github.com/iptv-org/iptv/issues/1831 N1BosniaHerzegovina.ba,https://github.com/iptv-org/iptv/issues/6486 N1Croatia.hr,https://github.com/iptv-org/iptv/issues/6486 N1Serbia.rs,https://github.com/iptv-org/iptv/issues/6486 +Nova.bg,https://github.com/iptv-org/iptv/issues/6486 Novacinema1.gr,https://github.com/iptv-org/iptv/issues/6486 Novacinema2.gr,https://github.com/iptv-org/iptv/issues/6486 Novacinema3.gr,https://github.com/iptv-org/iptv/issues/6486 @@ -415,7 +417,6 @@ Novasports4.gr,https://github.com/github/dmca/blob/master/2020/09/2020-09-16-dfl Novasports4.gr,https://github.com/iptv-org/iptv/issues/6486 Novasports5.gr,https://github.com/github/dmca/blob/master/2020/09/2020-09-16-dfl.md Novasports6.gr,https://github.com/github/dmca/blob/master/2020/09/2020-09-16-dfl.md -Nova.bg,https://github.com/iptv-org/iptv/issues/6486 NovaTV.hr,https://github.com/iptv-org/iptv/issues/6486 Nove.it,https://github.com/iptv-org/iptv/issues/1831 One.il,https://github.com/github/dmca/blob/master/2020/09/2020-09-16-dfl.md diff --git a/data/channels.csv b/data/channels.csv index 3eefe592..17a8c1a1 100644 --- a/data/channels.csv +++ b/data/channels.csv @@ -7,9 +7,12 @@ id,name,alt_names,network,owners,country,subdivision,city,broadcast_area,languag 100AutoMotoTV.bg,100% Auto Moto TV,,,,BG,,,c/BG,bul;eng,auto,FALSE,,,,,https://i.imgur.com/mip1puB.png 100News.ua,100% News,,,,UA,,,c/UA;c/RU,ukr,news,FALSE,,,,https://www.100news.tv/,https://i.imgur.com/wEou5az.png 100NLTV.nl,100% NL TV,,,Radiocorp B.V.,NL,,,c/NL,nld,,FALSE,2013-10-01,,,,https://upload.wikimedia.org/wikipedia/commons/thumb/0/01/100p-nl-tv-logo.png/512px-100p-nl-tv-logo.png -101TeleAntequera.es,101 Tele Antequera,,,,ES,,,c/ES,spa,music,FALSE,,,,,https://i.imgur.com/skXiSaf.png -101TV.rs,101 TV,,,,RS,,,c/RS,srp,,FALSE,,,,,https://i.imgur.com/1gr4BQz.png +101tvAntequera.es,101tv Antequera,,,,ES,,,c/ES,spa,general,FALSE,,,,,https://i.imgur.com/GzI3RC4.png +101tvAxarquia.es,101tv Axarquia,101tv Axarquía,,,ES,ES-AN,Axarquía,c/ES,spa,general,FALSE,,,,https://www.101tv.es/,https://i.imgur.com/GzI3RC4.png +101tvCadiz.es,101tv Cadiz,101tv Cádiz,,,ES,ES-AN,Cádiz,c/ES,spa,general,FALSE,,,,https://www.101tv.es/,https://i.imgur.com/GzI3RC4.png 101tvMalaga.es,101tv Malaga,101tv Málaga,,,ES,ES-AN,Málaga,s/ES-AN,spa,news,FALSE,,,,https://www.101tv.es/endirecto101tv/,https://i.imgur.com/CXHLhZD.png +101tvRonda.es,101tv Ronda,,,,ES,ES-AN,Ronda,c/ES,spa,general,FALSE,,,,https://www.101tv.es/ronda/,https://i.imgur.com/GzI3RC4.png +101tvSevilla.es,101tv Sevilla,,,,ES,ES-AN,Sevilla,c/ES,spa,general,FALSE,,,,https://www.101tv.es/,https://i.imgur.com/GzI3RC4.png 10Bold.au,10 Bold,,,Ten Network Holdings Ltd,AU,,,c/AU,eng,,FALSE,2009-03-26,,,http://tenplay.com.au/,https://i.imgur.com/2xglh33.png 10Channel.gr,10 Channel,,,,GR,,,c/GR,ell,entertainment,FALSE,,,,https://10channel.gr/,https://i.ibb.co/0XMM4gn/download-7.png 10emeRueTV.cd,10'eme Rue TV,10'ème Rue TV,,,CD,,,c/CD,fra,,FALSE,,,,https://10emeruetv.net/,https://i.imgur.com/2bm7SgL.png @@ -51,8 +54,8 @@ id,name,alt_names,network,owners,country,subdivision,city,broadcast_area,languag 1AlmereTV.nl,1AlmereTV,,,,NL,,,c/NL,nld,general,FALSE,,,,https://www.1almere.nl/,https://i.imgur.com/XfkbTrU.png 1HDMusicTelevision.ru,1HD Music Television,,,,RU,,,c/RU,rus,music,FALSE,,,,https://1hd.ru/,https://i.imgur.com/4Ww7CsR.png 1KBR.ru,1 KBR,1 КБР,,,RU,,,c/RU,rus,,FALSE,,,,http://1kbr.smikbr.ru/,https://i.imgur.com/CZy4Cqi.png -1KZNTV.za,1KZN TV,,,,ZA,,,c/ZA,eng,,FALSE,,,,http://www.1kzntv.co.za/,https://i.imgur.com/CdeYGdi.png -1MagicAfrica.za,1 Magic Africa,,,,ZA,,,c/ZA,eng,,FALSE,,,,https://onemagic.dstv.com/,https://i.imgur.com/PbWcglP.png +1KZNTV.za,1KZN TV,,,,ZA,,,c/ZA,eng,,FALSE,,,,http://www.1kzntv.co.za/,https://i.imgur.com/5f7Al3e.png +1Magic.za,1Magic,,,MultiChoice,ZA,,,c/ZA,eng,,FALSE,,,,https://www.dstv.com/onemagic/en-za/home,https://i.imgur.com/XpThfkV.png 1Plus1.ua,1+1,,,,UA,,,c/UA;c/RU,ukr,,FALSE,,,,https://1plus1.ua/,https://i.imgur.com/eJXfMh0.png 1Plus1International.ua,1+1 International,,,1+1 Media Group,UA,,,r/EUR,ukr,,FALSE,2006-03-01,,,https://1plus1.international/,https://i.imgur.com/YtSWEMy.png 1Plus1Sport.ua,1+1 Sport,,,,UA,,,c/UA;c/RU,ukr,sports,FALSE,,,,,https://i.imgur.com/tHVc8on.png @@ -112,9 +115,9 @@ id,name,alt_names,network,owners,country,subdivision,city,broadcast_area,languag 324.es,3/24,,,,ES,ES-CT,,c/ES;c/AD,cat,news,FALSE,,,,https://www.ccma.cat/tv3/directe/324/,https://i.imgur.com/SG7D0gt.png 34100TV.gr,34100 TV,,,,GR,,,c/GR,ell,,FALSE,,,,https://34100tv.com/,https://i.imgur.com/WypYQAo.png 359TV.bg,359TV,,,,BG,,,c/BG,bul,music,FALSE,,,,https://359hiphop.com/live/,https://i.imgur.com/u3JEoFO.png +360.ru,360°,,,,RU,,,c/RU,rus,general,FALSE,,,,https://360tv.ru/,https://i.imgur.com/VTJqdoX.png 360.tr,360,,,,TR,,,c/TR,tur,,FALSE,,,,https://www.tv360.com.tr/,https://i.imgur.com/agn47sQ.png -360deg.ru,360°,,,,RU,,,c/RU,rus,general,FALSE,,,,https://360tv.ru/,https://i.imgur.com/VTJqdoX.png -360degNews.ru,360° News,360° Новости,,,RU,,,c/RU,rus,news,FALSE,,,,https://360tv.ru/,https://i.imgur.com/YXDeX8q.png +360News.ru,360° News,360° Новости,,,RU,,,c/RU,rus,news,FALSE,,,,https://360tv.ru/,https://i.imgur.com/YXDeX8q.png 360TuneBox.nl,360TuneBox,,,,NL,,,c/NL,eng,music,FALSE,,,,http://www.360tunebox.com/,https://i.imgur.com/1Fyezng.png 360TV.ar,360 TV,,,,AR,AR-C,,s/AR-C,spa,,FALSE,,2020-11-01,,,https://i.imgur.com/4V3NJBk.png 363TV.tr,363 TV,,,,TR,,,c/TR,tur,,FALSE,,,,,https://i.imgur.com/Jdu5L7P.png @@ -376,7 +379,8 @@ ABNTV.zm,ABN TV,,,,ZM,,,c/ZM,eng,,FALSE,,,,,https://i.imgur.com/5o3yZjP.png ABNTVIndia.us,ABN TV India,,,,US,,,c/US;c/IN,hin,religious,FALSE,,,,https://www.abntvindia.com/,https://i.imgur.com/VcZn60X.png ABNUrdu.us,ABN Urdu,,,,US,,,c/US;c/PK,urd,religious,FALSE,,,,https://www.abnsat.com/,https://i.imgur.com/Y9ScPIl.png ABolaTV.pt,A Bola TV,,,Sociedade Vicra Desportiva,PT,,,c/PT,por,,FALSE,2012-10-12,,,http://www.abolatv.pt/,https://i.imgur.com/IP1NWeA.png -AbolTV.za,Abol TV,,,,ZA,,,c/ZA,amh,,FALSE,,,,https://aboltv.dstv.com/,https://i.imgur.com/qsnQJZL.png +AbolDuka.za,Abol Duka,አባል-ዱካ,,MultiChoice,ZA,,,c/ZA,amh,,FALSE,,,,https://www.dstv.com/aboltv/am-et/channel/%E1%8A%A0%E1%89%A3%E1%88%8D-%E1%8B%B1%E1%8A%AB,https://i.imgur.com/nn0np7A.png +AbolTV.za,Abol TV,አባል,,MultiChoice,ZA,,,c/ZA,amh,,FALSE,,,,https://aboltv.dstv.com/,https://i.imgur.com/go9Adzs.png AboodTV.tz,Abood TV,,,,TZ,,Morogoro,c/TZ,swa,entertainment,FALSE,,,,https://www.aboodgroup.com/,https://i.imgur.com/vYEUncC.jpg ABPAnanda.in,ABP Ananda,,ABP,,IN,,,c/IN,ben,news,FALSE,2005-06-06,,,https://bengali.abplive.com/,https://upload.wikimedia.org/wikipedia/commons/thumb/c/cd/ABP_Ananda_logo.svg/512px-ABP_Ananda_logo.svg.png ABPAsmita.in,ABP Asmita,,ABP,ABP Group,IN,,,c/IN,guj,news,FALSE,2016-01-01,,,https://gujarati.abplive.com/,https://upload.wikimedia.org/wikipedia/commons/thumb/2/20/ABP_Asmita_logo.svg/512px-ABP_Asmita_logo.svg.png @@ -609,13 +613,13 @@ Africa24.fr,Africa 24,,,,FR,,,c/FR,fra,,FALSE,2009-01-01,,,https://www.africa24t Africa7.sn,Africa 7,,,,SN,,,c/SN,wol;fra,,FALSE,,,,,https://i.imgur.com/TGZBbQ5.png AfricableTV.ml,Africable TV,,,,ML,,,c/ML,fra,,FALSE,,,,http://www.africabletelevision.com/,https://i.imgur.com/2ZpneNv.png AfricaHealthTV.ng,Africa Health TV,,,,NG,,,c/NG,eng,lifestyle,FALSE,,,,,https://i.imgur.com/0NUKx1e.png -AfricaMagicEpic.za,Africa Magic Epic,,,,ZA,,,c/ZA,eng,,FALSE,,,,https://www.dstv.com/africamagic/en-ng/channel/africa-magic-epic,https://i.imgur.com/romrJvV.png -AfricaMagicFamily.za,Africa Magic Family,,,,ZA,,,c/ZA,eng,family,FALSE,,,,https://www.dstv.com/africamagic/en-ng/channel/africa-magic-family,https://i.imgur.com/M2tQwn4.png -AfricaMagicHausa.za,Africa Magic Hausa,,,,ZA,,,c/ZA,hau,,FALSE,,,,https://www.dstv.com/africamagic/en-ng/channel/africa-magic-hausa,https://i.imgur.com/ncypvuP.png -AfricaMagicIgbo.za,Africa Magic Igbo,,,,ZA,,,c/ZA,eng,,FALSE,,,,https://www.dstv.com/africamagic/en-ng/channel/africa-magic-igbo,https://i.imgur.com/6LlHEsP.png -AfricaMagicShowcaseAfrica.za,Africa Magic Showcase Africa,,,,ZA,,,c/ZA,eng;fra,,FALSE,,,,https://www.dstv.com/africamagic/en-ng/channel/africa-magic-showcase,https://i.imgur.com/6liZJGI.png -AfricaMagicUrban.za,Africa Magic Urban,,,,ZA,,,c/ZA,eng,,FALSE,,,,https://www.dstv.com/africamagic/en-ng/channel/africa-magic-urban,https://i.imgur.com/SG29ACu.png -AfricaMagicYoruba.za,Africa Magic Yoruba,,,,ZA,,,c/ZA,yor,,FALSE,,,,https://www.dstv.com/africamagic/en-ng/channel/africa-magic-yoruba,https://i.imgur.com/gntwwFV.png +AfricaMagicEpic.za,Africa Magic Epic,,,Multichoice,ZA,,,c/ZA,eng,,FALSE,,,,https://www.dstv.com/africamagic/en-ng/channel/africa-magic-epic,https://i.imgur.com/VSmJFiz.png +AfricaMagicFamily.za,Africa Magic Family,,,Multichoice,ZA,,,c/ZA,eng,family,FALSE,,,,https://www.dstv.com/africamagic/en-ng/channel/africa-magic-family,https://i.imgur.com/iZ6PvXV.png +AfricaMagicHausa.za,Africa Magic Hausa,,,Multichoice,ZA,,,c/ZA,hau,,FALSE,,,,https://www.dstv.com/africamagic/en-ng/channel/africa-magic-hausa,https://i.imgur.com/U1z2z6e.png +AfricaMagicIgbo.za,Africa Magic Igbo,,,Multichoice,ZA,,,c/ZA,eng,,FALSE,,,,https://www.dstv.com/africamagic/en-ng/channel/africa-magic-igbo,https://i.imgur.com/UeycYRm.png +AfricaMagicShowcase.za,Africa Magic Showcase,,,,ZA,,,c/ZA,eng;fra,,FALSE,,,,https://www.dstv.com/africamagic/en-ng/channel/africa-magic-showcase,https://i.imgur.com/9iPCbDO.png +AfricaMagicUrban.za,Africa Magic Urban,,,Multichoice,ZA,,,c/ZA,eng,,FALSE,,,,https://www.dstv.com/africamagic/en-ng/channel/africa-magic-urban,https://i.imgur.com/jLJi92A.png +AfricaMagicYoruba.za,Africa Magic Yoruba,,,Multichoice,ZA,,,c/ZA,yor,,FALSE,,,,https://www.dstv.com/africamagic/en-ng/channel/africa-magic-yoruba,https://i.imgur.com/D2PcvoT.png AfricaMovieStar.cm,Africa Movie Star,,,,CM,,,c/CM,eng,movies,FALSE,,,,,https://i.imgur.com/j5pVrVg.png Africanews.cg,Africanews,,,,CG,,,c/CG,eng;fra,news,FALSE,2016-04-20,,,https://www.africanews.com/,https://i.imgur.com/5UxU4zc.png AfricanMovieChannel.uk,African Movie Channel,AMC,,,UK,,,c/UK,eng,movies,FALSE,,,,https://www.africanmoviechannel.tv/,https://i.imgur.com/qRrOi3t.png @@ -631,8 +635,8 @@ Africayo.uk,Africayo,,,,UK,,,c/UK,eng,music,FALSE,,,,https://www.mimyuni.com/,ht AfriHealthTV.et,Afri Health TV,,,,ET,,,c/ET,eng,lifestyle,FALSE,,,,https://afrihealth.net/,https://i.imgur.com/IpTGVd3.png AfrikInfoTV.gn,Afrik Info TV,Afrikinfo TV,,,GN,,Conakry,c/GN,fra,news,FALSE,,,,https://afrikinfomedias.com/tv/,https://www.lyngsat-logo.com/logo/tv/aa/afrik-info-tv-gn.png AfriqueMedia.cm,Afrique Media,Afrique Média,,,CM,,,c/CM,fra,,FALSE,,,,https://www.afriquemedia.tv/live,https://i.imgur.com/R4iKU6c.png -AfriwoodBlockbuster.za,Afriwood Blockbuster,,,,ZA,,,c/ZA,eng,,FALSE,,,,https://www.africaxp.com/,https://i.imgur.com/xcskfGJ.png -AfriwoodSeries.za,Afriwood Series,,,,ZA,,,c/ZA,eng,series,FALSE,,,,https://www.africaxp.com/,https://i.imgur.com/NOArgpj.png +AfriwoodBlockbuster.za,Afriwood Blockbuster,,,,ZA,,,c/ZA,eng,movies,FALSE,,,,https://www.africaxp.com/,https://i.imgur.com/aESdqiB.png +AfriwoodSeries.za,Afriwood Series,,,,ZA,,,c/ZA,eng,series,FALSE,,,,https://www.africaxp.com/,https://i.imgur.com/9NFg3xp.png AfrobeatTVEntertainment.uk,Afrobeat TV Entertainment,,,,UK,,,c/UK,eng,music,FALSE,,,,,https://i.imgur.com/232ndRK.png Afrobit.cm,Afrobit,,,,CM,,,c/CM,eng,,FALSE,,,,https://shop.afrobitproductions.com/,https://i.imgur.com/M0m4Rra.png AfroLandTV.us,AfroLandTV,,,,US,,,c/US,eng,,FALSE,,,,https://www.afrolandtv.com/,https://i.imgur.com/jvnkrEF.png @@ -731,7 +735,8 @@ AksuTV.tr,Aksu TV,,,,TR,,,c/TR,tur,,FALSE,,,,https://www.aksutv.com.tr/,https:// AksyonTVInternational.ph,Aksyon TV International,,,,PH,,,c/PH,tgl,,FALSE,,,,http://www.kapatidinternational.com/,https://i.imgur.com/oesGsK5.png AKTV.id,AKTV,,,,ID,,Bandung,s/ID-JB,ind,,FALSE,,,,https://www.aktv.co.id/,https://i.imgur.com/DUY5WXf.png AkudjiTV.ru,Akudji TV,Акуджи ТВ,,,RU,,,c/RU,rus,movies,FALSE,,,,http://akudji.ru/,https://i.imgur.com/X0WzbyQ.jpg -AkwaabaMagic.za,Akwaaba Magic,,,,ZA,,,c/ZA,eng,,FALSE,2001-08-01,,,https://akwaabamagic.dstv.com/,https://i.imgur.com/wRGZ2D9.png +AkwaabaMagic.za,Akwaaba Magic,,,Multichoice,ZA,,,c/ZA,eng,,FALSE,2001-08-01,,,https://www.dstv.com/akwaabamagic/en-gh/home,https://i.imgur.com/MTdJWVk.png +AkwaabaMagicAbusua.za,Akwaaba Magic Abusua,,,Multichoice,ZA,,,c/ZA,eng,,FALSE,,,,https://www.dstv.com/akwaabamagic/en-gh/channel/akwaaba-magic-abusua,https://i.imgur.com/iM2LsOQ.png AkwasiAwuaTV.gh,Akwasi Awua TV,,,,GH,,,c/GH,eng,,FALSE,,,,http://akwasiawuahonline.com/,https://i.imgur.com/6dDs0E6.png AlAanTV.ae,Al Aan TV,Alaan TV;تلفزيون الآن,,,AE,,,c/AE,ara,,FALSE,2006-01-01,,,https://www.alaan.tv/,https://i.imgur.com/Jl9Uw8N.png AlacantiTV.es,Alacanti TV,Alacantí TV,,,ES,,,c/ES,spa,,FALSE,,,,https://alacantitv.com/,https://i.imgur.com/pcWU6e1.png @@ -825,7 +830,7 @@ AlfaTV.mk,Alfa TV,,,,MK,,,c/MK,mkd,,FALSE,,,,https://alfa.mk/,https://i.imgur.co AlfaTVP.pl,Alfa TVP,,TVP,Telewizja Polska,PL,,,c/PL,pol,,FALSE,2022-12-20,,,https://www.tvp.pl/program-tv/alfa-tvp,https://i.imgur.com/WwE7fhC.png AlFaydatouTidjaniaTV.fr,Al-Faydatou Tidjania TV,,,,FR,,,c/FR,fra,,FALSE,,,,,https://i.imgur.com/i1PRAIL.png ALFC.mm,ALFC,,,,MM,,,c/MM,mya,,FALSE,,,,,https://i.imgur.com/5WInRGb.png -AlfoldTV.hu,Alfold TV,Alföld TV,,,HU,,,c/HU,hun,entertainment,FALSE,,,,http://www.hajdupress.hu/alfoldtv,https://i.imgur.com/71hz9K2.png +AlfoldTV.hu,Alfold TV,Alföld Televízió,,,HU,,,c/HU,hun,entertainment,FALSE,,,,http://www.hajdupress.hu/alfoldtv,https://i.imgur.com/W6jg8iM.png AlforatTV.iq,Alforat TV,,,,IQ,,,c/IQ,ara,,FALSE,,,,https://alforatnews.iq/,https://i.imgur.com/f6PQzKd.png AlFurqonTV.id,Al-Furqon TV,Al-Furqon TV Gresik,ARTVISI,Dakwah dan Sosial Pondok Pesantren Al-Furqon Al-Islami Gresik,ID,ID-JI,Gresik,r/SEA;c/ID;s/ID-JI,ind;jav;ara,religious;family,FALSE,,,,https://daksos.alfurqongresik.com/,https://i.imgur.com/ZhmsbCJ.png AlGeziraTV.sd,Al Gezira TV,,,,SD,,,c/SD,ara,,FALSE,,,,,https://i.imgur.com/zrJ1y5Q.png @@ -1834,7 +1839,7 @@ AXNChile.cl,AXN Chile,,,,CL,,,c/CL,spa,movies,FALSE,,,,https://la.axn.com/,https AXNEurope.gr,AXN Europe,,,,GR,,,c/BG;c/ES;c/CZ;c/FR;c/HU;c/LU;c/MD;c/PL;c/PT;c/RO;c/SK,bul;eng,movies,FALSE,,,,https://antenna-group.com/,https://upload.wikimedia.org/wikipedia/commons/thumb/5/52/AXN_logo_%282015%29.svg/512px-AXN_logo_%282015%29.svg.png AXNGermany.de,AXN Germany,,,,DE,,,c/DE;c/AT;c/CH,deu,movies,FALSE,2004-11-01,2019-10-17,SonyAXN.de,http://www.axn.de/,https://upload.wikimedia.org/wikipedia/commons/thumb/5/52/AXN_logo_%282015%29.svg/512px-AXN_logo_%282015%29.svg.png AXNHongKong.hk,AXN Hong Kong,,,,HK,,,c/HK,zho,movies,FALSE,,,,http://www.axn-asia.com/,https://upload.wikimedia.org/wikipedia/commons/thumb/5/52/AXN_logo_%282015%29.svg/512px-AXN_logo_%282015%29.svg.png -AXNHungary.hu,AXN Hungary,,,,HU,,,c/HU,eng;hun;ces,movies,FALSE,,,,http://www.axn.hu/,https://upload.wikimedia.org/wikipedia/commons/thumb/5/52/AXN_logo_%282015%29.svg/512px-AXN_logo_%282015%29.svg.png +AXNHungary.hu,AXN Hungary,,,AXN Europe Limited,HU,,,c/HU,eng;hun;ces,movies,FALSE,,,,http://www.axn.hu/,https://upload.wikimedia.org/wikipedia/commons/thumb/5/52/AXN_logo_%282015%29.svg/512px-AXN_logo_%282015%29.svg.png AXNIndonesia.id,AXN Indonesia,,,,ID,,,c/ID,ind,movies,FALSE,,,,http://www.axn-asia.com/,https://upload.wikimedia.org/wikipedia/commons/thumb/5/52/AXN_logo_%282015%29.svg/512px-AXN_logo_%282015%29.svg.png AXNJapan.jp,AXN Japan,AXN,,,JP,,,c/JP,jpn,movies,FALSE,,,,https://www.axn.co.jp/,https://upload.wikimedia.org/wikipedia/commons/thumb/5/52/AXN_logo_%282015%29.svg/512px-AXN_logo_%282015%29.svg.png AXNMalaysia.my,AXN Malaysia,,,,MY,,,c/MY,mal,movies,FALSE,,,,http://www.axn-asia.com/,https://upload.wikimedia.org/wikipedia/commons/thumb/5/52/AXN_logo_%282015%29.svg/512px-AXN_logo_%282015%29.svg.png @@ -1848,6 +1853,7 @@ AXNPortugal.pt,AXN Portugal,,,,PT,,,c/PT,por,movies,FALSE,,,,https://www.axn.pt/ AXNSingapore.sg,AXN Singapore,,,,SG,,,c/SG,eng,movies,FALSE,,,,http://www.axn-asia.com/,https://upload.wikimedia.org/wikipedia/commons/thumb/5/52/AXN_logo_%282015%29.svg/512px-AXN_logo_%282015%29.svg.png AXNSouth.us,AXN South,,,,US,,,c/AR;c/PY;c/UY,spa,movies,FALSE,,,,https://la.axn.com/,https://upload.wikimedia.org/wikipedia/commons/thumb/5/52/AXN_logo_%282015%29.svg/512px-AXN_logo_%282015%29.svg.png AXNSouthKorea.kr,AXN South Korea,,,,KR,,,c/KR,kor,movies,FALSE,,,,http://axntv.co.kr/,https://upload.wikimedia.org/wikipedia/commons/thumb/5/52/AXN_logo_%282015%29.svg/512px-AXN_logo_%282015%29.svg.png +AXNSpain.es,AXN Spain,AXN España,Sony Networks,,ES,,,c/ES,spa;eng,,FALSE,,,,https://www.axn.es/,https://www.axn.es/wp-content/themes/axn/assets/img/logo.png AXNSpin.gr,AXN Spin,,,,GR,,,c/BA;c/PL;c/RO;c/HR;c/MK;c/RS;c/SI,srp,movies,FALSE,,,,https://www.axnspin.rs/,https://i.imgur.com/uVFenKm.png AXNThailand.th,AXN Thailand,,,,TH,,,c/TH,tha,movies,FALSE,,,,http://www.axn-asia.com/,https://upload.wikimedia.org/wikipedia/commons/thumb/5/52/AXN_logo_%282015%29.svg/512px-AXN_logo_%282015%29.svg.png AXNVietnam.vn,AXN Vietnam,,,,VN,,,c/VN,vie,movies,FALSE,,,,http://www.axn-asia.com/,https://upload.wikimedia.org/wikipedia/commons/thumb/5/52/AXN_logo_%282015%29.svg/512px-AXN_logo_%282015%29.svg.png @@ -1937,7 +1943,7 @@ BabyFirstBrazil.br,BabyFirst Brazil,,,,BR,,,c/BR,por,kids,FALSE,,,,https://pluto BabylonTV.iq,Babylon TV,,,,IQ,,,c/IQ,ara,,FALSE,,,,,https://i.imgur.com/u78Ih4t.png BabySharkTV.us,Baby Shark TV,,,,US,,,c/US,eng,kids,FALSE,,,,https://pluto.tv/en/live-tv/baby-shark-tv,https://i.imgur.com/SbBKr8L.png BabyTime.ru,Baby Time,,,,RU,,,c/RU,rus,kids;music,FALSE,,,,https://bridgetv.ru/brands/baby_time/,https://i.imgur.com/lW3WIBD.png -BabyTV.uk,BabyTV,,,,UK,,,r/INT,eng,kids,FALSE,2005-07-04,,,http://www.babytv.com/,https://i.imgur.com/fvVovnc.png +BabyTV.uk,BabyTV,,,The Walt Disney Company Limited,UK,,,r/INT,eng,kids,FALSE,2005-07-04,,,http://www.babytv.com/,https://i.imgur.com/fvVovnc.png BacGiangTV.vn,Bac Giang TV,,,,VN,,,c/VN,vie,,FALSE,,,,http://www.bacgiangtv.vn/,https://i.imgur.com/7nw8tFy.png BacKanTV.vn,Bac Kan TV,,,,VN,,,c/VN,vie,,FALSE,,,,http://backantv.vn/,https://i.imgur.com/zSX0sZC.png Backstage.us,Backstage,,,,US,,,c/US,eng,documentary,FALSE,,,,https://www.fuse.tv/v/fuse-backstage/a4068154335cc15ab055a34979c5e1c4,https://i.imgur.com/qcTNvNU.png @@ -2152,15 +2158,15 @@ BBCEarthAfrica.uk,BBC Earth Africa,,,,UK,,,r/AFR,eng,,FALSE,,,,https://www.bbcaf BBCEarthAsia.uk,BBC Earth Asia,,,,UK,,,r/SEA,eng,,FALSE,,,,https://www.bbcasia.com/channels/earth,https://i.imgur.com/xXM60fa.png BBCEarthAustralia.au,BBC Earth Australia,,,,AU,,,c/AU,eng,,FALSE,,,,https://www.bbcstudios.com.au/channels,https://i.imgur.com/xXM60fa.png BBCEarthCanada.ca,BBC Earth Canada,,,,CA,,,c/CA,eng,,FALSE,2017-01-23,,,http://www.bbcearth.ca/,https://i.imgur.com/xXM60fa.png -BBCEarthGreece.gr,BBC Earth Greece,,,,GR,,,c/GR,eng,,FALSE,,,,,https://i.imgur.com/xXM60fa.png -BBCEarthHungary.hu,BBC Earth Hungary,,,,HU,,,c/HU,hun,,FALSE,2015-04-14,,,http://www.bbcearth.com/,https://i.imgur.com/xXM60fa.png -BBCEarthLatinAmerica.uk,BBC Earth Latin America,,,,UK,,,r/HISPAM,eng,,FALSE,,,,http://www.bbclatinoamerica.com/canales/earth/,https://i.imgur.com/xXM60fa.png -BBCEarthMiddleEast.uk,BBC Earth Middle East,,,,UK,,,c/EG,eng,,FALSE,,,,https://www.bbcmiddleeast.com/channels/earth,https://i.imgur.com/xXM60fa.png -BBCEarthNewZealand.nz,BBC Earth New Zealand,,,,NZ,,,c/NZ,eng,,FALSE,,,,https://www.bbcstudios.co.nz/channels,https://i.imgur.com/xXM60fa.png -BBCEarthNordic.uk,BBC Earth Nordic,,,,UK,,,r/NORD,eng,,FALSE,,,,https://www.bbcnordic.com/channels/earth,https://i.imgur.com/xXM60fa.png -BBCEarthPoland.pl,BBC Earth Poland,,,,PL,,,c/PL,eng,,FALSE,,,,https://www.bbcpolska.com/kanaly/earth,https://i.imgur.com/xXM60fa.png -BBCEarthRomania.ro,BBC Earth Romania,,,,RO,,,c/RO,eng,,FALSE,,,,,https://i.imgur.com/xXM60fa.png -BBCEarthTurkey.tr,BBC Earth Turkey,,,,TR,,,c/TR,eng,,FALSE,,,,https://www.bbcturkiye.com/kanallar/earth,https://i.imgur.com/xXM60fa.png +BBCEarthGreece.gr,BBC Earth Greece,,,,GR,,,c/GR,eng,,FALSE,,,,,https://i.imgur.com/nGSsUd4.png +BBCEarthHungary.hu,BBC Earth Hungary,,,BBC Worldwide,HU,,,c/HU,hun,,FALSE,2015-04-14,,,http://www.bbcearth.com/,https://i.imgur.com/ImimNKy.png +BBCEarthLatinAmerica.uk,BBC Earth Latin America,,,,UK,,,r/HISPAM,eng,,FALSE,,,,http://www.bbclatinoamerica.com/canales/earth/,https://i.imgur.com/nGSsUd4.png +BBCEarthMiddleEast.uk,BBC Earth Middle East,,,,UK,,,c/EG,eng,,FALSE,,,,https://www.bbcmiddleeast.com/channels/earth,https://i.imgur.com/nGSsUd4.png +BBCEarthNewZealand.nz,BBC Earth New Zealand,,,,NZ,,,c/NZ,eng,,FALSE,,,,https://www.bbcstudios.co.nz/channels,https://i.imgur.com/z4rLIVW.png +BBCEarthNordic.uk,BBC Earth Nordic,,,,UK,,,r/NORD,eng,,FALSE,,,,https://www.bbcnordic.com/channels/earth,https://i.imgur.com/nGSsUd4.png +BBCEarthPoland.pl,BBC Earth Poland,,,,PL,,,c/PL,eng,,FALSE,,,,https://www.bbcpolska.com/kanaly/earth,https://i.imgur.com/z4rLIVW.png +BBCEarthRomania.ro,BBC Earth Romania,,,,RO,,,c/RO,eng,,FALSE,,,,,https://i.imgur.com/z4rLIVW.png +BBCEarthTurkey.tr,BBC Earth Turkey,,,,TR,,,c/TR,eng,,FALSE,,,,https://www.bbcturkiye.com/kanallar/earth,https://i.imgur.com/nGSsUd4.png BBCEntertainment.uk,BBC Entertainment,,,,UK,,,r/EUR,eng,entertainment,FALSE,,,,https://www.bbcstudios.com/,https://i.imgur.com/fx2z8M1.png BBCFirstAsia.uk,BBC First Asia,,,,UK,,,r/SEA,msa,,FALSE,,,,https://www.bbcasia.com/channels/first,https://i.imgur.com/UBoBYUI.png BBCFirstAustralia.au,BBC First Australia,,,,AU,,,c/AU,eng,,FALSE,,,,http://www.bbcaustralia.com/channels/first/,https://i.imgur.com/UBoBYUI.png @@ -2243,7 +2249,7 @@ BBCUKTVNewZealand.nz,BBC UKTV New Zealand,,,,NZ,,,c/NZ,eng,,FALSE,,,,https://www BBCUKTVPlus2.au,BBC UKTV +2,,,,AU,,,c/AU,eng,,FALSE,,,,https://www.bbcstudios.co.nz/channels,https://i.imgur.com/N2IiX0x.png BBCWorldNewsAfrica.uk,BBC World News Africa,,,,UK,,,r/AFR,eng,news,FALSE,,,,http://www.bbc.com/news/world-radio-and-tv-12957296,https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/BBC_World_News_2019.svg/512px-BBC_World_News_2019.svg.png BBCWorldNewsAsiaPacific.uk,BBC World News Asia Pacific,,,,UK,,,r/APAC,eng;jpn,news,FALSE,,,,http://www.bbc.com/news/world-radio-and-tv-12957296,https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/BBC_World_News_2019.svg/512px-BBC_World_News_2019.svg.png -BBCWorldNewsEurope.uk,BBC World News Europe,,,,UK,,,r/EUR,eng,news,FALSE,,,,http://www.bbc.com/news/world-radio-and-tv-12957296,https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/BBC_World_News_2019.svg/512px-BBC_World_News_2019.svg.png +BBCWorldNewsEurope.uk,BBC World News Europe,,,BBC Worldwide,UK,,,r/EUR,eng,news,FALSE,,,,http://www.bbc.com/news/world-radio-and-tv-12957296,https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/BBC_World_News_2019.svg/512px-BBC_World_News_2019.svg.png BBCWorldNewsLatinAmerica.uk,BBC World News Latin America,,,,UK,,,r/LATAM,eng;spa,news,FALSE,,,,http://www.bbc.com/news/world-radio-and-tv-12957296,https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/BBC_World_News_2019.svg/512px-BBC_World_News_2019.svg.png BBCWorldNewsMiddleEast.uk,BBC World News Middle East,,,,UK,,,r/MIDEAST,eng,news,FALSE,,,,http://www.bbc.com/news/world-radio-and-tv-12957296,https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/BBC_World_News_2019.svg/512px-BBC_World_News_2019.svg.png BBCWorldNewsNorthAmerica.uk,BBC World News North America,,,,UK,,,r/NORAM,eng,news,FALSE,,,,http://www.bbc.com/news/world-radio-and-tv-12957296,https://upload.wikimedia.org/wikipedia/commons/thumb/3/32/BBC_World_News_2019.svg/512px-BBC_World_News_2019.svg.png @@ -2493,7 +2499,7 @@ Bet9JALeague2.ng,Bet 9JA League 2,,,,NG,,,c/NG,eng,sports,FALSE,,,,https://www.b Bet9JASerieA.ng,Bet 9JA Serie A,,,,NG,,,c/NG,eng,,FALSE,,,,https://www.bet9ja.com/,https://www.lyngsat.com/logo/tv/bb/bet_9ja_ng_racing.png Bet9JAVirtualGame.ng,Bet 9JA Virtual Game,,,,NG,,,c/NG,eng,,FALSE,,,,https://www.bet9ja.com/,https://www.lyngsat.com/logo/tv/bb/bet_9ja_ng_racing.png Bet9JAVirtualGame2.ng,Bet 9JA Virtual Game 2,,,,NG,,,c/NG,eng,,FALSE,,,,https://www.bet9ja.com/,https://www.lyngsat.com/logo/tv/bb/bet_9ja_ng_racing.png -BETAfrica.us,BET Africa,,,,US,,,c/US,eng,,FALSE,,,,https://www.betafrica.tv/,https://i.imgur.com/xeNN1Sr.png +BETAfrica.us,BET Africa,,,Paramount Networks EMEAA,US,,,c/US,eng,,FALSE,,,,https://www.betafrica.tv/,https://i.imgur.com/L2LZpsj.png BetaniaTV.es,Betania TV,,,,ES,ES-PV,San Sebastián,s/ES-PV,spa,religious,FALSE,,,,https://www.betania.tv/,https://i.imgur.com/W5L6Zyh.png BETBeingMaryJaneBrazil.br,BET Being Mary Jane Brazil,,,,BR,,,c/BR,por,entertainment,FALSE,,,,https://pluto.tv/en/live-tv/bet-being-mary-jane,https://i.imgur.com/B4hkCZp.png BetbigaColorColor.ng,Betbiga Color-Color,,,,NG,,,c/NG,eng,,FALSE,,,,https://www.betbiga.com/,https://i.imgur.com/sjDXwUo.png @@ -2543,7 +2549,7 @@ BeykentTV.tr,Beykent TV,,,,TR,,,c/TR,tur,,FALSE,,,,https://www.beykenttv.com.tr/ BeyondBeliefFactorFictionUK.uk,Beyond Belief: Fact or Fiction UK,,,,UK,,,c/UK,eng,,FALSE,,,,https://pluto.tv/en/live-tv/beyond-belief-fact-or-fiction-gb,https://i.imgur.com/3uXQg7Y.png BF1.bf,BF1,,,,BF,,,c/BF,fra,,FALSE,,,,https://www.bf1.tv/,https://i.imgur.com/ufNURAC.png BFBSExtra.uk,BFBS Extra,,,,UK,,,c/UK,eng,,FALSE,,,,https://www.bfbs.com/,https://i.imgur.com/3OxXy8H.png -BFBSSport.uk,BFBS Sport,,,,UK,,,c/UK,eng,sports,FALSE,,,,https://www.bfbs.com/,https://i.imgur.com/6M64clL.png +BFBSSport.uk,BFBS Sport,,,BBC;Warner Bros. Discovery Sports Europe;Sky plc,UK,,,c/UK,eng,sports,FALSE,,,,https://www.bfbs.com/,https://i.imgur.com/slHJ4J6.png BFCForbes.it,BFC Forbes,,,,IT,,,c/IT,ita,,FALSE,,,,https://bfcvideo.com/category/forbes/,https://i.imgur.com/66idMeo.png BflixMovies.in,Bflix Movies,,,,IN,,,c/IN,hin,movies,FALSE,,,,,https://i.imgur.com/5CtiQ45.png BflixPlusMovies.in,Bflix+ Movies,,,,IN,,,c/IN,hin,movies,FALSE,,,,,https://i.imgur.com/voFScYn.png @@ -2619,7 +2625,8 @@ BimaTV.id,Bima TV,,,,ID,ID-NB,,s/ID-NB,ind,,FALSE,,,,https://www.bimakini.com/,h BinBazTV.id,Bin Baz TV,,,,ID,,,c/ID,ind,,FALSE,,,,https://binbaz.or.id/,https://www.lyngsat.com/logo/tv/bb/bin-baz-tv-id.png Bindass.in,Bindass,,,The Walt Disney Company;Disney Star,IN,,,c/IN,hin,,FALSE,2007-09-24,,,,https://i.imgur.com/p5p44ZH.png BindassPlay.in,Bindass Play,,,,IN,,,c/IN,hin,,FALSE,,,,http://www.bindass.com/,https://upload.wikimedia.org/wikipedia/en/7/7e/Bindass-Play.jpg -BingtuanSatelliteTV.cn,Bingtuan Satellite TV,,,,CN,,,c/CN,zho,,FALSE,,,,,https://i.imgur.com/YPWa7UA.png +BingoTV.za,Bingo TV,,,AfricaXP,ZA,,,c/ZA,eng,,FALSE,,,,https://www.africaxp.com/,https://i.imgur.com/3b4XUNB.png +BingtuanSatelliteTV.cn,Bingtuan Satellite TV,兵团卫视,,,CN,,,c/CN,zho,,FALSE,,,,,https://i.imgur.com/Y4qxDqz.png BinhDinhTV.vn,Binh Dinh TV,,,,VN,,,c/VN,vie,,FALSE,,,,,https://i.imgur.com/ZI1V6gG.png BinhDuongTV1.vn,Binh Duong TV 1,,,,VN,,,c/VN,vie,,FALSE,,,,http://www.btv.org.vn/,https://i.imgur.com/JKTPZEp.png BinhPhuocTV1.vn,Binh Phuoc TV 1,,,,VN,,,c/VN,vie,,FALSE,,,,https://bptv.vn/,https://i.imgur.com/slMBRFW.png @@ -2798,7 +2805,7 @@ BoomerangEMEA.us,Boomerang EMEA,,,,US,,,r/EMEA,eng;ara,kids,FALSE,,,,http://www. BoomerangFrance.fr,Boomerang France,,,,FR,,,c/FR,fra,kids,FALSE,,,,http://www.boomerangtv.fr/,https://upload.wikimedia.org/wikipedia/commons/thumb/3/35/Boomerang_2014_logo.svg/512px-Boomerang_2014_logo.svg.png BoomerangFrancePlus1.fr,Boomerang France +1,,,,FR,,,c/FR,eng,kids,FALSE,,,,http://www.boomerangtv.fr/,https://i.imgur.com/Ou4GIBh.png BoomerangGermany.de,Boomerang Germany,,,,DE,,,c/DE;c/AT;c/CH,deu,kids,FALSE,,,,http://www.boomerangtv.de/,https://upload.wikimedia.org/wikipedia/commons/thumb/3/35/Boomerang_2014_logo.svg/512px-Boomerang_2014_logo.svg.png -BoomerangHungary.hu,Boomerang Hungary,,,,HU,,,c/HU,hun,kids,FALSE,,,,http://www.boomerangtv.hu/,https://upload.wikimedia.org/wikipedia/commons/thumb/3/35/Boomerang_2014_logo.svg/512px-Boomerang_2014_logo.svg.png +BoomerangHungary.hu,Boomerang Hungary,,,Turner Broadcasting System Europe Limited,HU,,,c/HU,hun,kids,FALSE,,,,http://www.boomerangtv.hu/,https://upload.wikimedia.org/wikipedia/commons/thumb/3/35/Boomerang_2014_logo.svg/512px-Boomerang_2014_logo.svg.png BoomerangItaly.it,Boomerang Italy,,,,IT,,,c/IT,ita,kids,FALSE,,,,http://www.boomerangtv.it/,https://upload.wikimedia.org/wikipedia/commons/thumb/3/35/Boomerang_2014_logo.svg/512px-Boomerang_2014_logo.svg.png BoomerangItalyPlus1.it,Boomerang Italy +1,,,,IT,,,c/IT,ita,kids,FALSE,,,,http://www.boomerangtv.it/,https://i.imgur.com/Ou4GIBh.png BoomerangLatinAmerica.us,Boomerang Latin America,,,,US,,,r/HISPAM,spa,kids,FALSE,,2021-12-01,CartoonitoLatinAmerica.us,,https://upload.wikimedia.org/wikipedia/commons/thumb/3/35/Boomerang_2014_logo.svg/512px-Boomerang_2014_logo.svg.png @@ -2946,7 +2953,7 @@ BTNTV.rw,BTN TV,,,,RW,,,c/RW,eng,,FALSE,,,,https://btnrwanda.com/,https://i.imgu BTSportMosaic.uk,BT Sport Mosaic,,,,UK,,,c/UK,eng,sports,FALSE,,,,https://sport.bt.com/,https://i.imgur.com/btP60U2.png BTSportMosaic2.uk,BT Sport Mosaic 2,,,,UK,,,c/UK,eng,sports,FALSE,,,,https://sport.bt.com/,https://i.imgur.com/24xSEi6.png bTV.bg,bTV,,,,BG,,,c/BG,bul,,FALSE,,,,https://www.btv.bg/,https://i.imgur.com/l47z7gw.png -BTV.hu,BTV,Bábolnai Televízió,,,HU,,Bábolna,c/HU,hun,general,FALSE,,,,http://www.btv.hu/,https://i.ibb.co/hsCPW6H/5258.png +BTV.hu,BTV,Bábolnai Televízió,,,HU,,Bábolna,c/HU,hun,general,FALSE,,,,http://www.btv.hu/,https://i.imgur.com/0PKqn3V.png BTV.id,BTV,,,B Universe,ID,,Kuningan,c/ID,ind,news,FALSE,2022-10-11,,,https://www.beritasatu.tv/,https://i.imgur.com/fdygcVx.png BTV.ke,BTV,,,,KE,,,c/KE,eng,,FALSE,,,,https://www.btvkenya.ke/,https://i.imgur.com/8hfQHS5.png BTV.lt,BTV,,,MG group,LT,,,c/LT,lit,,FALSE,2004-09-17,,,https://lnk.lt/tv-programa#btv,https://i.imgur.com/AeplGsP.png @@ -3031,7 +3038,7 @@ BursaTV.tr,Bursa TV,,,,TR,,,c/TR,tur,,FALSE,,,,https://www.bursatv.com.tr/,https Business24Africa.ci,Business 24 Africa,,,,CI,,,c/CI,fra,business,FALSE,,,,https://www.business24tv.com/,https://i.imgur.com/zZFl3vy.png Business24x7TV.in,Business 24x7 TV,,,,IN,,,c/IN,eng,business,FALSE,,,,https://business24x7.tv/,https://i.imgur.com/nBgplfm.png BusinessBreakthrough.jp,Business Breakthrough,ビジネス・ブレークスルー,,,JP,,,c/JP,jpn,business,FALSE,,,,https://bb.bbt757.com/,https://i.imgur.com/GxWgDzH.png -BusinessDayTV.za,BusinessDay TV,,,,ZA,,,c/ZA,eng,business,FALSE,,,,https://www.businesslive.co.za/multimedia/,https://i.imgur.com/MIsNgww.png +BusinessDayTV.za,BusinessDay TV,,,BusinessLIVE,ZA,,,c/ZA,eng,business,FALSE,,,,https://www.businesslive.co.za/multimedia/,https://i.imgur.com/FCaGvI5.png BusinessPlus.np,Business Plus,,,,NP,,,c/NP,nep,business,FALSE,,,,https://emountaintv.com/,https://i.imgur.com/ZZwdr0p.png BusinessRockstars.us,Business Rockstars,,,,US,,,c/US,eng,business,FALSE,,,,https://www.businessrockstars.com/,https://i.imgur.com/vfAMWLJ.png BusuiocTV.md,Busuioc TV,,,,MD,,,c/MD,ron,music,FALSE,,,,https://busuioctv.md/,https://i.imgur.com/CQtfBPu.png @@ -3270,7 +3277,6 @@ Canal3Rosario.ar,Canal 3 Rosario,,,,AR,AR-S,Rosario,s/AR-S,spa,,FALSE,,,,https:/ Canal3Trelew.ar,Canal 3 Trelew,,,,AR,,,c/AR,spa,general,FALSE,,,,https://www.diariojornada.com.ar/canal3,https://i.ibb.co/nrPprqZ/IMG-20230714-135948.jpg Canal3TVBiar.es,Canal 3 TV Biar,,,,ES,ES-VC,Alicante,s/ES-VC,cat,general,FALSE,,,,http://canal3biar.es/,https://i.imgur.com/cnKCZkK.png Canal4.cr,Canal 4,,,,CR,,,c/CR,spa,,FALSE,,,,http://www.repretel.com/,https://i.imgur.com/5arZEgO.png -Canal4.es,Canal 4,,,Grup4,ES,ES-CT,Mallorca,s/ES-CT,cat;spa,general,FALSE,,,,https://www.grup4.com/?page_id=14675&lang=ca,https://i.imgur.com/tQh8C3s.png Canal4.ni,Canal 4,,,,NI,,,c/NI,spa,,FALSE,,,,https://canal4.com.ni/,https://i.imgur.com/nhgtZdt.png Canal4.sv,Canal 4,,,,SV,,,c/SV,spa,,FALSE,1959-01-04,,,https://www.tcsgo.com/,https://upload.wikimedia.org/wikipedia/commons/thumb/1/1b/Canal_4_TCS.png/512px-Canal_4_TCS.png Canal4.uy,Canal 4,Monte Carlo Televisión,,Grupo Monte Carlo S.A.,UY,,Montevideo,c/UY,spa,,FALSE,1961-04-23,,,https://www.canal4.com.uy/,https://i.imgur.com/E4gotbu.png @@ -3279,12 +3285,14 @@ Canal43Sudamericana.pe,Canal 43 Sudamericana,,,,PE,PE-ICA,Ica,c/PE,spa,,FALSE,,, Canal44.mx,Canal 44,,,,MX,,,c/MX,spa,,FALSE,,,,https://canal44.com/,https://i.imgur.com/YDp8MlN.png Canal45.es,Canal 45,,,,ES,ES-AN,,s/ES-AN,spa,,FALSE,,,,https://www.canal45tv.com/,https://i.imgur.com/yEfSnGt.png Canal4Balcarce.ar,Canal 4 Balcarce,,,,AR,AR-B,Balcarce,s/AR-B,spa,,FALSE,,,,https://www.canal4teleba.com.ar/,https://i.imgur.com/6xYbED7.png +Canal4Catalunya.es,Canal 4 Catalunya,,,Grup4,ES,ES-CT,Palma de Mallorca,s/ES-CT,cat;spa,general,FALSE,,,,https://www.grup4.com/?page_id=14675&lang=ca,https://i.imgur.com/tQh8C3s.png Canal4Chuy.uy,Canal 4 Chuy,,,,UY,,,c/UY,spa,general,FALSE,,,,https://tv.vera.com.uy/content/2s6n1,https://i.imgur.com/oLKMwgm.png Canal4Eldorado.ar,Canal 4 Eldorado,,,,AR,AR-N,Eldorado,s/AR-N,spa,,FALSE,,,,https://www.canal4eldorado.com/en-vivo/,https://i.imgur.com/wgLw4sV.png Canal4Esquel.ar,Canal 4 Esquel,,,,AR,AR-U,Esquel,s/AR-U,spa,,FALSE,,,,https://canal4esquel.com.ar/,https://i.imgur.com/6kbOr16.png Canal4Internacional.uy,Canal 4 Internacional,,,,UY,,,r/LATAM,spa,,FALSE,2020-01-01,,,https://www.canal4.com.uy/,https://i.imgur.com/E4gotbu.png Canal4JuanLacaze.uy,Canal 4 Juan Lacaze,,,,UY,,,c/UY,spa,general,FALSE,,,,https://tv.vera.com.uy/content/2s6nfhttps://tv.vera.com.uy/content/2s6nf,https://i.imgur.com/gNqoBQo.png Canal4Jujuy.ar,Canal 4 Jujuy,,,,AR,AR-Y,Jujuy,s/AR-Y,spa,,FALSE,,,,https://www.elcuatro.com/,https://i.imgur.com/qB6I274.png +Canal4Mallorca.es,Canal 4 Mallorca,,,,ES,ES-IB,Palma de Mallorca,c/ES,cat;spa,general,FALSE,,,,https://www.grup4.com/?page_id=14505,https://i.imgur.com/tQh8C3s.png Canal4ManchaCentro.es,Canal 4 Mancha Centro,,,,ES,ES-CM,,s/ES-CM,spa,,FALSE,,,,https://villarrobledonoticias.com/canal-4-mancha/,https://i.imgur.com/t3O3O9M.png Canal4Paysandu.uy,Canal 4 Paysandu,Canal 4 Paysandú,,,UY,,,c/UY,spa,general,FALSE,,,,https://tv.vera.com.uy/content/2s6pl,https://i.imgur.com/9hVmY1R.png Canal4Posadas.ar,Canal 4 Posadas,,,,AR,AR-N,Posadas,s/AR-N,spa,,FALSE,,,,http://www.canalcuatroposadas.org/,https://i.imgur.com/tElJr3e.png @@ -3713,7 +3721,7 @@ CartoonNetworkFrance.fr,Cartoon Network France,,,,FR,,,c/FR;c/BE;c/LU;c/CH;c/MA; CartoonNetworkGermany.de,Cartoon Network Germany,,,,DE,,,c/DE;c/LU;c/AT;c/CH;c/LI,deu,kids,FALSE,,,,http://www.cartoonnetwork.de/,https://upload.wikimedia.org/wikipedia/commons/thumb/8/80/Cartoon_Network_2010_logo.svg/512px-Cartoon_Network_2010_logo.svg.png CartoonNetworkHDPlus.in,Cartoon Network HD+,CN HD+,,Warner Bros. Discovery India,IN,,,c/IN,hin,kids,FALSE,2018-04-15,,,http://www.cartoonnetworkindia.com/,https://i.imgur.com/pH6ao2T.png CartoonNetworkHindi.in,Cartoon Network Hindi,,,,IN,,,c/IN,hin,kids,FALSE,2016-04-01,,,http://www.cartoonnetworkindia.com/,https://i.imgur.com/ltSiLho.png -CartoonNetworkHungary.hu,Cartoon Network Hungary,,,,HU,,,c/HU,hun,kids,FALSE,,,,http://www.cartoonnetwork.hu/,https://upload.wikimedia.org/wikipedia/commons/thumb/8/80/Cartoon_Network_2010_logo.svg/512px-Cartoon_Network_2010_logo.svg.png +CartoonNetworkHungary.hu,Cartoon Network Hungary,,,Turner Broadcasting System Europe Limited,HU,,,c/HU,hun,kids,FALSE,,,,http://www.cartoonnetwork.hu/,https://upload.wikimedia.org/wikipedia/commons/thumb/8/80/Cartoon_Network_2010_logo.svg/512px-Cartoon_Network_2010_logo.svg.png CartoonNetworkIndia.in,Cartoon Network India,,,,IN,,,c/IN,hin,kids,FALSE,,,,http://www.cartoonnetworkindia.com/,https://upload.wikimedia.org/wikipedia/commons/thumb/8/80/Cartoon_Network_2010_logo.svg/512px-Cartoon_Network_2010_logo.svg.png CartoonNetworkItaly.it,Cartoon Network Italy,,,,IT,,,c/IT;c/SM;c/VA,ita,kids,FALSE,,,,http://www.cartoonnetwork.it/,https://upload.wikimedia.org/wikipedia/commons/thumb/8/80/Cartoon_Network_2010_logo.svg/512px-Cartoon_Network_2010_logo.svg.png CartoonNetworkItalyPlus1.it,Cartoon Network Italy +1,,,,IT,,,c/IT;c/SM;c/VA,ita,kids,FALSE,,,,http://www.cartoonnetwork.it/,https://i.imgur.com/ZgnZzlL.png @@ -4234,7 +4242,7 @@ ChannelLaw.cn,Channel Law,,,,CN,,,c/CN,zho,,FALSE,,,,http://www.sitv.com.cn/,htt ChannelMax.cn,Channel Max,,,,CN,,,c/CN,zho,,FALSE,,,,,https://i.imgur.com/4cEi02f.png ChannelNeco.jp,Channel Neco,チャンネルNECO,,,JP,,,c/JP,jpn,movies,FALSE,,,,https://www.necoweb.com/neco/,https://i.imgur.com/qPsL8Ho.png ChannelNecoInternational.jp,Channel Neco International,,,,JP,,,c/JP,jpn,,FALSE,,,,https://jedge.tv/en/nippon-tv-2/,https://i.imgur.com/4ZJdEvl.png -ChannelO.za,Channel O,,,,ZA,,,c/ZA,eng,,FALSE,,,,http://channelo.dstv.com/,https://i.imgur.com/b2pgPW8.png +ChannelO.za,Channel O,,,Multichoice,ZA,,,c/ZA,eng,,FALSE,,,,http://channelo.dstv.com/,https://i.imgur.com/b2pgPW8.png ChannelOllehTV.kr,Channel Olleh TV,채널 Olleh TV,,,KR,,,c/KR,kor,movies,FALSE,,,,,https://i.imgur.com/nEF0sHT.png ChannelOne.lk,Channel One,,,,LK,,,c/LK,sin,,FALSE,,,,https://www.dialog.lk/television-channel-one-tv/,https://i.imgur.com/CqRSTdL.png ChannelOne.ru,Channel One,Первый канал,,,RU,,,c/RU,rus,general,FALSE,,,,https://www.1tv.ru/,https://i.imgur.com/RUSX0rX.png @@ -4538,7 +4546,9 @@ CinemachiSeries.uk,Cinemachi Series,,,,UK,,,c/UK,eng,series,FALSE,,,,https://www CinemachiUrban.uk,Cinemachi Urban,,,,UK,,,c/UK,eng,movies,FALSE,,,,https://www.mimyuni.com/,https://i.imgur.com/NwiYbly.png CinemachiXtra.uk,Cinemachi Xtra,,,,UK,,,c/UK,eng,movies,FALSE,,,,https://www.mimyuni.com/,https://i.imgur.com/kpQaMM2.png CinemaDinamita.mx,Cinema Dinamita,,,,MX,,,c/MX,spa,movies,FALSE,,,,http://www.cinemadinamita.com/,https://i.imgur.com/ebTuWRe.png +CineMagic.za,Cine Magic,,,MultiChoice,ZA,,,c/ZA,eng,movies,FALSE,,,,https://www.dstv.com/mzansimagic/en-za/channel/cine-magic,https://i.imgur.com/7OyKYPw.png CinemaGold.pk,Cinema Gold,,,,PK,,,c/PK,eng,movies,FALSE,,,,,https://i.imgur.com/JxABQAo.png +CinemaHausa.za,Cinema Hausa,,,,ZA,,,c/ZA,eng,movies,FALSE,,,,https://video.premiumfree.tv/linear/cinema-hausa,https://i.imgur.com/uV5cHDW.png CinemaHeaven.kr,Cinema Heaven,시네마천국,,,KR,,,c/KR,kor,movies,FALSE,,,,,https://i.imgur.com/PicIdv6.png CinemaLibreChannel.us,Cinema Libre Channel,,,,US,,,c/US,eng,,FALSE,,,,https://watch.plex.tv/live-tv/channel/cinema-libre-channel,https://i.imgur.com/esUXuwn.png Cinemania.rs,Cinemania,,,,RS,,,c/RS,srp,movies,FALSE,,,,http://www.unitedmedia.net/channel/cinemania/,https://i.imgur.com/yQoh7Bb.png @@ -4556,7 +4566,7 @@ CinemaWorld.my,CinemaWorld,,,,MY,,,r/SEA,eng;ind,movies,FALSE,,,,https://cinemaw Cinemax2Bulgaria.bg,Cinemax 2 Bulgaria,,,,BG,,,c/BG,bul,movies,FALSE,,,,http://www.cinemax.eu/,https://upload.wikimedia.org/wikipedia/commons/thumb/c/c3/Cinemax_2_%282016%29.png/512px-Cinemax_2_%282016%29.png Cinemax2Croatia.hr,Cinemax 2 Croatia,,,,HR,,,c/HR,hrv,movies,FALSE,,,,http://www.cinemax.eu/,https://upload.wikimedia.org/wikipedia/commons/thumb/c/c3/Cinemax_2_%282016%29.png/512px-Cinemax_2_%282016%29.png Cinemax2CzechRepublic.cz,Cinemax 2 Czech Republic,,,,CZ,,,c/CZ,ces,movies,FALSE,,,,http://www.cinemax.eu/,https://upload.wikimedia.org/wikipedia/commons/thumb/c/c3/Cinemax_2_%282016%29.png/512px-Cinemax_2_%282016%29.png -Cinemax2Hungary.hu,Cinemax 2 Hungary,,,,HU,,,c/HU,hun,movies,FALSE,,,,http://www.cinemax.eu/,https://upload.wikimedia.org/wikipedia/commons/thumb/c/c3/Cinemax_2_%282016%29.png/512px-Cinemax_2_%282016%29.png +Cinemax2Hungary.hu,Cinemax 2 Hungary,,,Home Box Office Inc.,HU,,,c/HU,hun,movies,FALSE,,,,http://www.cinemax.eu/,https://upload.wikimedia.org/wikipedia/commons/thumb/c/c3/Cinemax_2_%282016%29.png/512px-Cinemax_2_%282016%29.png Cinemax2NorthMacedonia.mk,Cinemax 2 North Macedonia,,,,MK,,,c/MK,mkd,movies,FALSE,,,,http://www.cinemax.eu/,https://upload.wikimedia.org/wikipedia/commons/thumb/c/c3/Cinemax_2_%282016%29.png/512px-Cinemax_2_%282016%29.png Cinemax2Poland.pl,Cinemax 2 Poland,Cinemax 2 Polska,,,PL,,,c/PL,pol,movies,FALSE,,,,http://www.cinemaxtv.pl/,https://upload.wikimedia.org/wikipedia/commons/thumb/6/66/Cinemax_2016.svg/512px-Cinemax_2016.svg.png Cinemax2Romania.ro,Cinemax 2 Romania,,,,RO,,,c/RO,ron,movies,FALSE,,,,http://www.cinemax.eu/,https://upload.wikimedia.org/wikipedia/commons/thumb/c/c3/Cinemax_2_%282016%29.png/512px-Cinemax_2_%282016%29.png @@ -4569,7 +4579,7 @@ CinemaxChile.cl,Cinemax Chile,,,,CL,,,c/CL,spa,movies,FALSE,,,,http://www.cinema CinemaxCroatia.hr,Cinemax Croatia,,,,HR,,,c/HR,hrv,movies,FALSE,,,,http://www.cinemax.eu/,https://upload.wikimedia.org/wikipedia/commons/thumb/6/66/Cinemax_2016.svg/512px-Cinemax_2016.svg.png CinemaxCzechRepublic.cz,Cinemax Czech Republic,,,,CZ,,,c/CZ,ces,movies,FALSE,,,,http://www.cinemax.eu/,https://upload.wikimedia.org/wikipedia/commons/thumb/6/66/Cinemax_2016.svg/512px-Cinemax_2016.svg.png CinemaxEast.us,Cinemax East,,,,US,,,c/US,eng;spa,movies,FALSE,,,,http://www.cinemax.com/,https://upload.wikimedia.org/wikipedia/commons/thumb/6/66/Cinemax_2016.svg/512px-Cinemax_2016.svg.png -CinemaxHungary.hu,Cinemax Hungary,,,,HU,,,c/HU,hun,movies,FALSE,,,,http://www.cinemax.eu/,https://upload.wikimedia.org/wikipedia/commons/thumb/6/66/Cinemax_2016.svg/512px-Cinemax_2016.svg.png +CinemaxHungary.hu,Cinemax Hungary,,,Home Box Office Inc.,HU,,,c/HU,hun,movies,FALSE,,,,http://www.cinemax.eu/,https://upload.wikimedia.org/wikipedia/commons/thumb/6/66/Cinemax_2016.svg/512px-Cinemax_2016.svg.png CinemaxMexico.mx,Cinemax Mexico,,,,MX,,,c/MX,spa,movies,FALSE,,,,http://www.cinemax.tv/,https://upload.wikimedia.org/wikipedia/commons/thumb/1/11/Cinemax_%28Yellow%29.svg/512px-Cinemax_%28Yellow%29.svg.png CinemaxNorthMacedonia.mk,Cinemax North Macedonia,,,,MK,,,c/MK,mkd,movies,FALSE,,,,http://www.cinemax.eu/,https://upload.wikimedia.org/wikipedia/commons/thumb/6/66/Cinemax_2016.svg/512px-Cinemax_2016.svg.png CinemaxPanregional.us,Cinemax Panregional,,,,US,,,c/CO;c/PE;c/PA;c/EC;r/CENAMER,spa,movies,FALSE,,,,http://www.cinemax.tv/,https://upload.wikimedia.org/wikipedia/commons/thumb/1/11/Cinemax_%28Yellow%29.svg/512px-Cinemax_%28Yellow%29.svg.png @@ -4930,7 +4940,7 @@ ClubbingTVUK.uk,Clubbing TV UK,,,,UK,,,c/UK,eng,music,FALSE,,,,https://pluto.tv/ ClubinhoFun.br,Clubinho Fun,,,,BR,,,c/BR,por,,FALSE,,,,http://baitaconteudo.com/canais/,https://i.imgur.com/YTKd8qL.png ClublandTV.uk,Clubland TV,,,Universal Music Group N.V.,UK,,,c/UK,eng,music,FALSE,2008-01-28,,,http://aatw.com/,https://upload.wikimedia.org/wikipedia/commons/thumb/a/a6/Clubland_TV_Logo_2022.svg/512px-Clubland_TV_Logo_2022.svg.png ClubMTVAustralia.au,Club MTV Australia,,,,AU,,,c/AU,eng,music,FALSE,,,,https://www.mtv.com.au/tv-schedule/club-mtv-australia,https://i.imgur.com/FD6eQI3.png -ClubMTVEurope.uk,Club MTV Europe,,,,UK,,,r/EUR,eng,music,FALSE,,,,http://www.mtv.co.uk/club-mtv,https://i.imgur.com/FD6eQI3.png +ClubMTVEurope.uk,Club MTV Europe,,,MTV Networks s.r.o.,UK,,,r/EUR,eng,music,FALSE,,,,http://www.mtv.co.uk/club-mtv,https://i.imgur.com/FD6eQI3.png ClubRTL.be,Club RTL,,,,BE,,,c/BE,fra,,FALSE,1995-02-15,,,http://www.rtl.be/tv/clubrtl/,https://i.imgur.com/eKhblZW.png ClubTV.al,Club TV,,,,AL,,,c/AL,sqi,music,FALSE,,,,,https://i.imgur.com/NOZt2Mk.png ClubTV.cl,Club TV,,,,CL,CL-BI,Santa Juana,c/CL,spa,,FALSE,,,,https://www.clubtv.cl/,https://i.imgur.com/6fmQLF8.png @@ -5111,11 +5121,11 @@ ComedyCentralEast.us,Comedy Central East,,,,US,,,c/US,eng,comedy,FALSE,,,,http:/ ComedyCentralenEspanol.us,Comedy Central en Espanol,Comedy Central en Español,,,US,,,c/US,spa,comedy,FALSE,,,,https://pluto.tv/en/live-tv/comedy-central-en-espanol,https://i.imgur.com/6xTD3G8.png ComedyCentralExtra.uk,Comedy Central Extra,,,,UK,,,c/UK,eng,comedy,FALSE,,,,http://www.comedycentral.co.uk/,https://upload.wikimedia.org/wikipedia/commons/thumb/4/49/Comedy_Central_Extra_logo_2019.svg/512px-Comedy_Central_Extra_logo_2019.svg.png ComedyCentralExtraNetherlands.nl,Comedy Central Extra Netherlands,,,,NL,,,c/NL,eng,comedy,FALSE,,,,http://www.comedycentral.nl/extra,https://i.imgur.com/TO7UfUU.png -ComedyCentralFamilyHungary.hu,Comedy Central Family Hungary,,,,HU,,,c/HU,eng,comedy,FALSE,,,,http://comedycentralfamily.hu/,https://i.imgur.com/rFMi45C.png +ComedyCentralFamilyHungary.hu,Comedy Central Family Hungary,,,MTV Networks s.r.o.,HU,,,c/HU,eng,comedy,FALSE,,,,http://comedycentralfamily.hu/,https://i.imgur.com/rFMi45C.png ComedyCentralFrance.fr,Comedy Central France,,,,FR,,,c/FR;c/CH;c/BE,fra,comedy,FALSE,,,,https://www.comedycentral.fr/,https://upload.wikimedia.org/wikipedia/commons/thumb/a/aa/Comedy_Central_2018.svg/512px-Comedy_Central_2018.svg.png ComedyCentralGermany.de,Comedy Central Germany,,,,DE,,,c/DE;c/AT;c/CH;c/FR,deu,comedy,FALSE,,,,http://www.comedycentral.de/,https://upload.wikimedia.org/wikipedia/commons/thumb/a/aa/Comedy_Central_2018.svg/512px-Comedy_Central_2018.svg.png ComedyCentralGermanyPlus1.de,Comedy Central Germany +1,,,,DE,,,c/DE;c/AT;c/CH;c/FR,deu,comedy,FALSE,,,,http://www.comedycentral.de/,https://i.imgur.com/5HqJO2Z.png -ComedyCentralHungary.hu,Comedy Central Hungary,,,,HU,,,c/HU,eng,comedy,FALSE,,,,http://www.comedycentral.hu/,https://upload.wikimedia.org/wikipedia/commons/thumb/a/aa/Comedy_Central_2018.svg/512px-Comedy_Central_2018.svg.png +ComedyCentralHungary.hu,Comedy Central Hungary,,,MTV Networks s.r.o.,HU,,,c/HU,eng,comedy,FALSE,,,,http://www.comedycentral.hu/,https://upload.wikimedia.org/wikipedia/commons/thumb/a/aa/Comedy_Central_2018.svg/512px-Comedy_Central_2018.svg.png ComedyCentralIndia.in,Comedy Central India,,,,IN,,,c/IN,hin,comedy,FALSE,,,,http://www.comedycentral.in/,https://i.imgur.com/g0caQa2.png ComedyCentralIsrael.il,Comedy Central Israel,,,,IL,,,c/IL,heb,comedy,FALSE,,,,http://www.comedycentral.co.il/he/home,https://i.imgur.com/5JFKVHF.png ComedyCentralItaly.it,Comedy Central Italy,,,,IT,,,c/IT,ita,comedy,FALSE,,,,http://www.comedycentral.it/,https://upload.wikimedia.org/wikipedia/commons/thumb/a/aa/Comedy_Central_2018.svg/512px-Comedy_Central_2018.svg.png @@ -5222,7 +5232,7 @@ CortezCityCouncil.us,Cortez City Council,,,,US,US-CO,Cortez,s/US-CO,eng,legislat CortsValencianes.es,Corts Valencianes,,,,ES,ES-VC,,s/ES-VC,cat;spa,legislative,FALSE,,,,https://mediateca.cortsvalencianes.es/library/lives/,https://i.imgur.com/bVkRBg5.png CorTV.mx,CorTV,,,,MX,,,c/MX,spa,,FALSE,,,,http://www.cortv.oaxaca.gob.mx/television-2/,https://i.imgur.com/NLO7HO4.png Cositel.pe,Cositel,,,,PE,PE-PUN,Juliaca,s/PE-PUN,spa,general,FALSE,,,,https://www.cositel.pe/,https://i.imgur.com/qYwHNr9.png -CosmopolitanTV.es,Cosmopolitan TV,,,,ES,,,c/ES,spa,,FALSE,,,,http://www.cosmopolitantv.es/,https://i.imgur.com/uephj97.png +COSMO.es,COSMO,,,A&E Networks;Hearst Entertaiment,ES,,,c/ES,spa,,FALSE,,,,,https://i.imgur.com/3V5H5bo.png CosmopolitanTV.gh,Cosmopolitan TV,,,,GH,,,c/GH,eng,,FALSE,,,,http://www.christcosmopolitan.tv/,https://i.imgur.com/Pt4492x.png CosmosTV.ar,Cosmos TV,,,,AR,,,c/AR,spa,entertainment,FALSE,,,,https://fmcosmos.com/vivo/,https://i0.wp.com/fmcosmos.com/wp-content/uploads/2021/11/COSMOS-TV.png CosmosTV.cl,Cosmos TV,,,Global Cosmos,CL,CL-VS,,s/CL-VS,spa,,FALSE,,,,https://globalcosmos.cl/,https://i2.paste.pics/ed2fce1f9fe98a5c7dec95777c201497.png @@ -5243,7 +5253,6 @@ CosmoteSport8HD.gr,Cosmote Sport 8 HD,,,,GR,,,c/GR,ell;eng,sports,FALSE,,,,https CosmoteSport9HD.gr,Cosmote Sport 9 HD,,,,GR,,,c/GR,ell,sports,FALSE,,,,https://www.cosmote.gr/cosmotetv,https://i.imgur.com/3YwAXcH.png CosmoteSportHighlightsHD.gr,Cosmote Sport Highlights HD,,,,GR,,,c/GR,ell;eng,sports,FALSE,,,,https://www.cosmote.gr/cosmotetv,https://i.imgur.com/2umBONo.png CosmoteTVPromoChannel.gr,Cosmote TV Promo Channel,,,,GR,,,c/GR,ell,,FALSE,,,,https://www.cosmote.gr/cosmotetv,https://i.imgur.com/NIVaMLW.png -CosmoTV.es,Cosmo TV,,,,ES,,,c/ES,spa,,FALSE,,,,,https://i.imgur.com/YJOJJve.png Cosmovision.co,Cosmovision,Cosmovisión,,,CO,CO-ANT,Medellin,c/CO,spa,,FALSE,,,,https://www.cosmovision.tv,https://i.imgur.com/QlvYfEJ.png CostadelSolTV.es,Costa del Sol TV,,,,ES,ES-AN,Málaga,s/ES-AN,spa,general,FALSE,,,,http://www.costadelsoltv.es/,https://i.imgur.com/01acb17.png CostaNoroesteTV.es,Costa Noroeste TV,,,,ES,ES-AN,Costa Noroeste,s/ES-AN,spa,,FALSE,,,,https://costanoroestetv.net/,https://i.imgur.com/iM9AN6Z.png @@ -5294,6 +5303,7 @@ CreteTV.gr,Crete TV,ΚΡΗΤΗ TV,,,GR,,,c/GR,ell,,FALSE,,,,http://www.cretetv.g CribsMaisonsDeStarsFrance.us,Cribs Maisons De Stars France,,,,US,,,c/CH;c/FR,fra,entertainment,FALSE,,,,https://pluto.tv/en/live-tv/cribs-maisons-de-star-fr,https://i.imgur.com/an9VS5D.png Crime360.us,Crime 360,,,,US,,,c/US,eng,documentary,FALSE,,,,https://pluto.tv/en/live-tv/crime-360,https://i.imgur.com/IjtaG1m.png Crimea24.ru,Crimea 24,Крым 24,,,RU,,,c/RU,rus,news,FALSE,,,,https://crimea24tv.ru/,https://i.imgur.com/k4C0uvp.png +CrimeandEvidence.za,Crime and Evidence,,,,ZA,,,c/ZA,eng,,FALSE,,,,https://video.premiumfree.tv/,https://i.imgur.com/xwGquEb.png CrimeDistrict.fr,Crime District,,,,FR,,,c/FR,fra,series,FALSE,2016-02-11,,,http://www.crimedistrict.tv/,https://i.imgur.com/WQJ6Lbk.png CrimenesImperfectos.us,Crimenes Imperfectos,Crímenes Imperfectos,,,US,,,c/US,eng,,FALSE,,,,https://pluto.tv/en/live-tv/crimenes-imperfectos,https://i.imgur.com/kzUrWR5.png CrimePlusInvestigation.us,Crime + Investigation,,,The Hearst Corporation;The Walt Disney Company,US,,,c/US,eng,entertainment,FALSE,,,,http://www.crimeandinvestigationnetwork.com/,https://upload.wikimedia.org/wikipedia/en/thumb/3/37/C%26I_logo.svg/512px-C%26I_logo.svg.png @@ -5432,7 +5442,8 @@ CumoTV.pe,Cumo TV,,,,PE,PE-SAM,,s/PE-SAM,spa,culture,FALSE,,,,https://cumo.pe/cu CupertinoCityChannel.us,Cupertino City Channel,,,,US,US-CA,Cupertino,s/US-CA,eng;spa,legislative,FALSE,,,,https://www.cupertino.org/residents/city-channel,https://i.imgur.com/p9Jn0Dy.png CuriosityChannel.us,Curiosity Channel,,,,US,,,c/US,eng,,FALSE,,,,https://curiositystream.com/,https://i.imgur.com/K0kZMYo.png CuriosityChannelGermany.de,Curiosity Channel Germany,,,,DE,,,c/DE,deu,,FALSE,2022-05-02,,,https://www.curiositychannel.tv/,https://i.imgur.com/K0kZMYo.png -CurrentTimeTV.cz,Current Time TV,Настоящее Время,,Radio Free Europe;Radio Liberty,CZ,,,c/RU;c/UA,rus,news,FALSE,2017-02-07,,,https://www.currenttime.tv/,https://i.imgur.com/eSCZ8YY.png +CuriosityStream.us,CuriosityStream,,,CuriosityStream Inc.,US,,,r/AFR,eng,education,FALSE,,,,,https://i.imgur.com/KUb4vEz.png +CurrentTimeTV.cz,Current Time TV,Настоящее Время;Nastoyashchee Vremya,,RFE/RL Inc.,CZ,,,c/RU;c/UA,rus,news,FALSE,2017-02-07,,,https://www.currenttime.tv/,https://i.imgur.com/hKo8ApU.png CURRENTTVEducation.us,CURRENTTV-Education,,,,US,US-NC,Manteo,s/US-NC,eng,education,FALSE,,,,https://currenttv.org/watch-education-live/,https://i.imgur.com/Fv50ICy.png CURRENTTVGovernment.us,CURRENTTV-Government,,,,US,US-NC,Manteo,s/US-NC,eng,legislative,FALSE,,,,https://currenttv.org/watch-government-live/,https://i.imgur.com/Fv50ICy.png CurroJimenezSpain.es,Curro Jimenez Spain,Curro Jiménez Spain,,,ES,,,c/ES,spa,series,FALSE,,,,https://pluto.tv/en/live-tv/curro-jimenez-es,https://i.imgur.com/e3biTY5.png @@ -5553,7 +5564,7 @@ DarshanaTV.in,Darshana TV,,,Sathyadhara Communications,IN,,,c/IN,mal,entertainme DarshanaTVMiddleEast.in,Darshana TV Middle East,,,,IN,,,c/IN,mal,,FALSE,,,,http://www.darshanatv.in/,https://i.imgur.com/UNMeKvF.png DaruTV.hu,Daru TV,,,,HU,,,c/HU,hun,general,FALSE,,,,https://balmazujvaros.hu/daru-tv,https://i.imgur.com/0P7QHde.png DASDING908.de,DASDING 90.8,,,,DE,,,c/DE,deu,,FALSE,,,,,https://i.imgur.com/rR44kv4.png -DasErste.de,Das Erste,,,ARD,DE,,,c/DE,deu,,FALSE,1952-12-25,,,https://www.daserste.de/,https://i.imgur.com/tGHLJSF.png +DasErste.de,Das Erste,,,ARD,DE,,,c/DE,deu,,FALSE,1952-12-25,,,https://www.daserste.de/,https://i.imgur.com/gJ0XxZJ.png Dateline247.us,Dateline 24/7,,NBC,,US,,,c/US,eng,documentary,FALSE,,,,https://www.xumo.tv/live-guide/dateline-24-7,https://i.imgur.com/8mAJuut.png DatingItaly.it,Dating Italy,,,,IT,,,c/IT,ita,entertainment,FALSE,,,,https://pluto.tv/en/live-tv/dating-it,https://i.imgur.com/VXaiLtt.png DATV.us,DATV,Dayton Access Television,,,US,US-OH,Dayton,s/US-OH,eng,general,FALSE,,,,http://dayton.cablecast.tv:8080/CablecastPublicSite/watch/3?channel=2,https://i.imgur.com/iPGkSMg.png @@ -5565,8 +5576,8 @@ Dave.uk,Dave,,,,UK,,,c/UK,eng,,FALSE,,,,https://dave.uktv.co.uk/,https://i.imgur Davejavu.uk,Dave ja vu,,,,UK,,,c/UK,eng,,FALSE,,,,https://dave.uktv.co.uk/,https://i.imgur.com/IHDgCft.png DaVinci.de,Da Vinci,,,,DE,,,c/DE,eng,,FALSE,,,,https://www.davincikids.tv/,https://i.imgur.com/iBx7K1M.png DaVinciAsia.de,Da Vinci Asia,,,,DE,,,r/SEA,ind;eng;tha,,FALSE,,,,https://www.davincikids.tv/,https://i.imgur.com/iBx7K1M.png -DaVinciHungary.hu,Da Vinci Hungary,,,,HU,,,c/HU,hun,,FALSE,,,,https://www.davincikids.tv/,https://i.imgur.com/iBx7K1M.png -DaVinciLearningIndia.in,Da Vinci Learning India,,,,IN,,,c/IN,deu,,FALSE,,,,https://www.davincikids.tv/,https://i.imgur.com/f8C6dNz.png +DaVinciHungary.hu,Da Vinci Hungary,,,Azomee,HU,,,c/HU,hun,,FALSE,,,,https://www.davincikids.tv/,https://i.imgur.com/eFKbeFy.png +DaVinciLearningIndia.in,Da Vinci Learning India,,,Raghav Bahl's Quintillion Media;Da Vinci,IN,,,c/IN,eng,kids,FALSE,,,,https://www.davincikids.tv/,https://i.imgur.com/uM8oEhe.png DaVinciPoland.pl,Da Vinci Poland,,,,PL,,,c/PL,pol,,FALSE,,,,https://www.davincikids.tv/,https://i.imgur.com/iBx7K1M.png DaVinciRomania.ro,Da Vinci Romania,Da Vinci,,,RO,,,c/RO,ron,,FALSE,,,,https://www.davincikids.tv/,https://i.imgur.com/iBx7K1M.png DaVinciRussia.ru,Da Vinci Russia,Da Vinci,,,RU,,,c/RU,rus,,FALSE,,,,https://viju.ru/telekanaly/da-vinci/,https://i.imgur.com/iBx7K1M.png @@ -5820,7 +5831,7 @@ DijlahTV.iq,Dijlah TV,دجلة;قناة دجلة الفضائية,,,IQ,,,c/IQ,ar DikaloTV.cm,Dikalo TV,,,,CM,,,c/CM,fra,culture,FALSE,,,,,https://i.ibb.co/3RTb2gc/download-67.jpg DikayaOkhotaHD.ru,Dikaya Okhota HD,Дикая Охота HD,,,RU,,,c/RU,rus,outdoor,FALSE,,,,https://dikoe.tv/channels/dikaya-okhota-hd.html,https://i.imgur.com/EOue13e.png DikayaRybalkaHD.ru,Dikaya Rybalka HD,Дикая Рыбалка HD,,,RU,,,c/RU,rus,outdoor,FALSE,,,,https://dikoe.tv/channels/dikaya-rybalka-hd.html,https://i.imgur.com/e3BFVgt.png -DikhTV.hu,Dikh TV,,,,HU,,,c/HU,hun,,FALSE,,,,https://www.dikhtv.hu/,https://i.imgur.com/aAcORTL.png +DikhTV.hu,Dikh TV,,,Első Roma Média Kft.,HU,,,c/HU,hun,,FALSE,,,,https://www.dikhtv.hu/,https://i.imgur.com/aAcORTL.png Dikij.ru,Dikij,Дикий,,,RU,,,c/RU,rus,outdoor,FALSE,,,,https://dikoe.tv/channels/telekanal-dikij.html,https://i.imgur.com/VDXDiPC.png Diktyo1.gr,Diktyo1,,,,GR,,,c/GR,ell,,FALSE,,,,,https://i.imgur.com/4Cyo8IC.png Dillagi.in,Dillagi,,,,IN,,,c/IN,hin,,FALSE,,,,http://www.dillagi.tv/,https://i.imgur.com/WG78TO1.png @@ -5982,7 +5993,7 @@ DisneyChannelEast.us,Disney Channel East,,,The Walt Disney Company,US,,,c/US,eng DisneyChannelFrance.fr,Disney Channel France,,,The Walt Disney Company,FR,,,c/FR;c/CH;c/BE;r/SSA;c/MU;c/MG;c/HT,eng,kids,FALSE,,,,http://www.disneychannel.fr/,https://upload.wikimedia.org/wikipedia/commons/thumb/f/f4/Disney_Channel_logo_%282014%29.svg/512px-Disney_Channel_logo_%282014%29.svg.png DisneyChannelFrancePlus1.fr,Disney Channel France +1,,,The Walt Disney Company,FR,,,c/FR;c/CH;c/BE;r/SSA;c/MU;c/MG;c/HT,eng,kids,FALSE,,,,http://www.disneychannel.fr/,https://upload.wikimedia.org/wikipedia/commons/thumb/f/f4/Disney_Channel_logo_%282014%29.svg/512px-Disney_Channel_logo_%282014%29.svg.png DisneyChannelGermany.de,Disney Channel Germany,,,The Walt Disney Company,DE,,,c/DE;c/AT;c/CH;c/LI;c/LU;c/IT,deu,kids,FALSE,,,,http://disneychannel.de/,https://upload.wikimedia.org/wikipedia/commons/thumb/f/f4/Disney_Channel_logo_%282014%29.svg/512px-Disney_Channel_logo_%282014%29.svg.png -DisneyChannelHungary.hu,Disney Channel Hungary,,,The Walt Disney Company,HU,,,c/HU;c/CZ;c/MD,hun,kids,FALSE,2009-09-19,,,http://www.disney.hu/DisneyChannel,https://upload.wikimedia.org/wikipedia/commons/thumb/f/f4/Disney_Channel_logo_%282014%29.svg/512px-Disney_Channel_logo_%282014%29.svg.png +DisneyChannelHungary.hu,Disney Channel Hungary,,,The Walt Disney Company,HU,,,c/HU;c/CZ;c/MD,hun;ces,kids,FALSE,2009-09-19,,,http://www.disney.hu/DisneyChannel,https://i.imgur.com/aOa73uT.png DisneyChannelIndia.in,Disney Channel India,,,The Walt Disney Company,IN,,,c/IN,eng,kids,FALSE,,,,http://disney.in/,https://upload.wikimedia.org/wikipedia/commons/thumb/f/f4/Disney_Channel_logo_%282014%29.svg/512px-Disney_Channel_logo_%282014%29.svg.png DisneyChannelIsrael.il,Disney Channel Israel,,,The Walt Disney Company,IL,,,c/IL,eng,kids,FALSE,,,,http://www.disney.co.il/,https://upload.wikimedia.org/wikipedia/commons/thumb/f/f4/Disney_Channel_logo_%282014%29.svg/512px-Disney_Channel_logo_%282014%29.svg.png DisneyChannelJapan.jp,Disney Channel Japan,ディズニー・チャンネル,,The Walt Disney Company,JP,,,c/JP,jpn,kids,FALSE,,,,https://www.disney.co.jp/tv/dc,https://i.imgur.com/VSq7b5E.jpg @@ -6035,9 +6046,9 @@ DitisHelmond.nl,Dit is Helmond,,,,NL,,,c/NL,nld,general,FALSE,,,,https://ditishe DittyTV.us,Ditty TV,,,,US,,,c/US,eng,,FALSE,,,,,https://i.imgur.com/p5rREUo.png DiTV.se,Di TV,,,,SE,,,c/SE,swe,news,FALSE,,,,,https://i.imgur.com/zApTDWn.png DITV80.it,DI.TV 80,,,,IT,,Bologna,c/IT,ita,general,FALSE,,,,http://www.di-tv.net/diretta-streaming/ditv-80/,https://i.imgur.com/2AqKAMy.png -DivaAdria.us,Diva Adria,,,,US,,,c/US,eng;srp,,FALSE,,,,,https://i.imgur.com/pkKSIDf.png -DivaBalkans.us,Diva Balkans,,,,US,,,c/US,eng;srp,,FALSE,,,,,https://i.imgur.com/XfKgTUY.png -DivaRomania.ro,Diva Romania,,,,RO,,,c/RO,ron,,FALSE,,,,http://www.divaromania.tv/,https://i.imgur.com/bgBZgW0.png +Diva.za,Diva,,,,ZA,,,c/ZA,eng,lifestyle,FALSE,,,,https://video.premiumfree.tv/?section=lifestylesection,https://i.imgur.com/U9wMnQ0.png +DivaAdria.us,Diva Adria,,,NBC Universal Global Networks Deutschland GmbH,US,,,c/US,eng;srp,,FALSE,,,,,https://i.imgur.com/iiuTYRU.png +DivaRomania.ro,Diva Romania,Diva România,,,RO,,,c/RO,ron,,FALSE,,,,http://www.divaromania.tv/,https://i.imgur.com/bgBZgW0.png DivinAmourTV.ci,Divin Amour TV,,,,CI,,,c/CI,fra,,FALSE,,,,,https://i.imgur.com/UUSAQET.png DivineHandTV.ng,Divine Hand TV,,,,NG,,,c/NG,eng,,FALSE,,,,https://www.divinehandofgod.org/,https://i.imgur.com/ZdOB7D1.png DivineTV.cm,Divine TV,,,,CM,,,c/CM,eng,,FALSE,,,,,https://i.imgur.com/36bLQ9V.png @@ -6278,7 +6289,7 @@ DuckDynastyUK.uk,Duck Dynasty UK,,,,UK,,,c/UK,eng,entertainment,FALSE,,,,https:/ DuckTV.sk,Duck TV,,,WICKS Communications SlovWest Mega Max Media s.r.o.,SK,,,c/SK,eng,kids,FALSE,2007-10-01,,,https://www.ducktv.tv/,https://i.imgur.com/gRFQ35W.png DuckTVPlus.sk,Duck TV Plus,,,,SK,,,c/SK,slk,kids,FALSE,,,,https://www.ducktv.tv/,https://i.imgur.com/RFhxfOx.png DukhNivaran.ca,Dukh Nivaran,,,,CA,,,c/CA,pan,,FALSE,,,,,https://i.imgur.com/Zh60l1x.png -DumisaTV.za,Dumisa TV,,,,ZA,,,c/ZA,eng,,FALSE,,,,http://www.dumisa.tv/,https://i.imgur.com/utqV6Ti.png +Dumisa.za,Dumisa,,,Urban Brew Studios,ZA,,,c/ZA,eng,,FALSE,,,,http://www.dumisa.tv/,https://i.imgur.com/utqV6Ti.png DumskayaTV.ua,Dumskaya TV,Думської ТВ,,,UA,,,c/UA;c/RU,ukr,,FALSE,,,,https://dumskaya.net/tv/,https://i.imgur.com/cSTLg5w.png DumTVKannada.in,Dum TV Kannada,,,Enterr10 Television,IN,,,c/IN,kan,entertainment,FALSE,,2021-11-17,,http://dangalkannada.com,https://i.imgur.com/VZ1QAoj.png DunamisTV.ng,Dunamis TV,,,,NG,,,c/NG,eng,,FALSE,,,,https://www.dunamisgospel.org/,https://i.imgur.com/thGAXeM.png @@ -6460,7 +6471,7 @@ EestiKanal.ee,Eesti Kanal,,,,EE,,,c/EE,est,,FALSE,,,,,https://i.imgur.com/PQxDOZ EETTV.ca,EET TV,,,,CA,,,c/CA,eng,,FALSE,,,,,https://i.imgur.com/rntSEDZ.png EETTV.in,EET TV,,,,IN,,,c/IN,tam,entertainment,FALSE,,,,,https://i.imgur.com/rMldFW8.png EEurope.us,E! Europe,,,,US,,,r/EUR,eng,entertainment,FALSE,,,,http://uk.eonline.com/,https://upload.wikimedia.org/wikipedia/commons/thumb/9/96/E%21_Logo_2012.svg/512px-E%21_Logo_2012.svg.png -EExtra.za,E Extra,,,,ZA,,,c/ZA,eng,,FALSE,,,,https://www.etv.co.za/,https://i.imgur.com/HzCzsuT.png +eExtra.za,eExtra,,,eMedia Investments,ZA,,,c/ZA,eng,,FALSE,,,,https://www.etv.co.za/,https://i.imgur.com/oSgTFI7.png EfarinaTV.id,Efarina TV,,,,ID,,,c/ID,ind,,FALSE,,,,http://efarinatv.com/,https://i.imgur.com/iYTimXh.png EfektoTV.mx,Efekto TV,,,,MX,,,c/MX,spa,,FALSE,,,,https://www.efekto.tv/,https://i.imgur.com/M62p2Fy.png EFrance.fr,E! France,,,,FR,,,c/FR,fra,,FALSE,,,,http://fr.eonline.com/,https://upload.wikimedia.org/wikipedia/commons/thumb/9/96/E%21_Logo_2012.svg/512px-E%21_Logo_2012.svg.png @@ -6474,7 +6485,7 @@ EgnatiaTileorasi.gr,Egnatia Tileorasi,Εγνατία Τηλεόραση,,,GR,,,c Ego.il,Ego,,,,IL,,,c/IL,heb,,FALSE,,,,,https://i.imgur.com/IOD5Ly2.png EgoTotal.il,Ego Total,,,,IL,,,c/IL,heb,,FALSE,,,,,https://www.lyngsat.com/logo/tv/ee/ego-total-il.png EGTV.us,EGTV,,,,US,US-IL,Elk Grove,s/US-IL,eng,general,FALSE,,,,https://www.elkgrove.org/,https://i.imgur.com/o2jbZNs.png -EgykerTV.hu,Egyker TV,,,,HU,,,c/HU,hun,general,FALSE,,,,,https://i.ibb.co/kSdMm1Z/egykertv.png +EgykerTV.hu,Egyker TV,,,,HU,,,c/HU,hun,general,FALSE,,,,,https://i.imgur.com/yhMhvPq.png EgyptianTV.eg,Egyptian TV,,,,EG,,,c/EG,ara,,FALSE,,,,https://www.maspero.eg/,https://i.imgur.com/rrizXzM.png EgyptQuranKareem.eg,Egypt Quran Kareem,,,,EG,,,c/EG,ara,religious,FALSE,,,,,https://i.imgur.com/H4hpVgc.png EHTTVChannel97.us,EHT-TV Channel 97,,,,US,US-NJ,Egg Harbor Township,s/US-NJ,eng,education,FALSE,,,,https://www.eht.k12.nj.us/district_services/EHTTV,https://i.imgur.com/ZE3yymx.png @@ -6633,9 +6644,9 @@ EMiddleEast.us,E! Middle East,,,,US,,,r/MIDEAST,eng;ara,,FALSE,,,,http://uk.eonl EmiliaRomagna24.it,Emilia-Romagna 24,,,,IT,,,c/IT,ita,,FALSE,,,,https://www.modenaindiretta.it/,https://i.imgur.com/9lEoMi7.png EMITV.ro,EMI TV,,,,RO,,,c/RO,ron,music,FALSE,,,,https://www.emitv.ro/,https://i.imgur.com/PLlEaNG.png EmmaeinfachmagischNickGermany.de,Emma einfach magisch! Nick Germany,,Nickelodeon,,DE,,,c/DE,deu,kids,FALSE,,,,https://pluto.tv/en/live-tv/emma-einfach-magisch-de,https://i.imgur.com/AYlN745.png -EmmanuelTV.ng,Emmanuel TV,,,Emmanuel Global Network,NG,,,c/NG,eng,,FALSE,2006-03-08,,,https://emmanuel.tv/,https://i.imgur.com/ucVriNU.png -eMovies.za,eMovies,,e.tv,,ZA,,,c/ZA,eng,movies,FALSE,2013-10-16,,,https://www.etv.co.za/,https://i.imgur.com/T7QYTh3.png -eMoviesExtra.za,eMovies Extra,,e.tv,,ZA,,,c/ZA,eng,movies,FALSE,2016-10-14,,,https://www.etv.co.za/,https://i.imgur.com/I0L9rDg.png +EmmanuelTV.ng,Emmanuel TV,,,Emmanuel Global Network,NG,,,c/NG,eng,,FALSE,2006-03-08,,,https://emmanuel.tv/,https://i.imgur.com/c7XjM8Y.png +eMovies.za,eMovies,,e.tv,eMedia Investments,ZA,,,c/ZA,eng,movies,FALSE,2013-10-16,,,https://www.etv.co.za/,https://i.imgur.com/D5pbVQz.png +eMoviesExtra.za,eMovies Extra,,e.tv,eMedia Investments,ZA,,,c/ZA,eng,movies,FALSE,2016-10-14,,,https://www.etv.co.za/,https://i.imgur.com/gmfbahB.png EmpenosalobestiaSpain.es,Empenos a lo bestia Spain,Empeños a lo bestia Spain,,,ES,,,c/ES,spa,entertainment,FALSE,,,,https://pluto.tv/en/live-tv/empenos-a-lo-bestia-es,https://i.imgur.com/EOttSdW.png EmPhi1.id,EmPhi 1,,,,ID,,,c/ID,ind,,FALSE,,,,,https://i.imgur.com/PZZHZWg.png EmPhi2.id,EmPhi 2,,,,ID,,,c/ID,ind,,FALSE,,,,,https://i.imgur.com/ehkcWMA.png @@ -6660,7 +6671,7 @@ EnerGeek.cl,EnerGeek,,EnerGeek,EnerGeek,CL,CL-RM,Santiago,c/CL;r/HISPAM,spa,anim EnerGeekRadio.cl,EnerGeek Radio,,EnerGeek,EnerGeek,CL,,,c/CL,spa,music,FALSE,,,,https://energeek.cl/,https://i.imgur.com/euaoN1A.png EnergieTV.ml,Energie TV,,,,ML,,,c/ML,fra,,FALSE,,,,,https://i.imgur.com/Jrke8m1.png Energy.es,Energy,,,,ES,,,c/ES,spa,,FALSE,,,,http://www.telecinco.es/energy/,https://i.imgur.com/tfvpeaS.png -ENewsChannelAfrica.za,ENews Channel Africa,,,,ZA,,,c/ZA,eng,news,FALSE,,,,https://www.enca.com/,https://i.imgur.com/l182H1c.png +eNewsChannelAfrica.za,eNews Channel Africa,,,eMedia Holdings,ZA,,,c/ZA,eng,news,FALSE,,,,https://www.enca.com/,https://i.imgur.com/iE7bNr0.png EnfoqueDigitalTV.cl,Enfoque Digital TV,,,,CL,CL-AT,Vallenar,c/CL,spa,,FALSE,,,,https://enfoquedigital.cl/,https://i.imgur.com/GaJzjt5.png EnglishClubTV.uk,English Club TV,,,,UK,,,c/UK,eng;rus,,FALSE,2008-08-01,,,http://english-club.tv/,https://i.imgur.com/9FMvaRK.png EngueraTV.es,Enguera TV,,,,ES,ES-VC,,s/ES-VC,spa,general,FALSE,,,,https://www.enguera.es/content/enguera-tv,https://i.imgur.com/GShs6DO.png @@ -6707,6 +6718,7 @@ EpixDriveIn.us,Epix Drive-In,,,,US,,,c/US,eng;spa,movies,FALSE,,2023-01-15,MGMPl EpixEast.us,Epix East,,,,US,,,c/US,eng;spa,movies,FALSE,,2023-01-15,MGMPlusEast.us,http://www.epix.com/,https://upload.wikimedia.org/wikipedia/commons/thumb/8/83/Epix_Logo_2019.svg/512px-Epix_Logo_2019.svg.png EpixHits.us,Epix Hits,,,,US,,,c/US,eng;spa,movies,FALSE,,2023-01-15,MGMPlusMarquee.us,http://www.epix.com/,https://upload.wikimedia.org/wikipedia/en/thumb/1/11/Epix_Hits_logo.svg/512px-Epix_Hits_logo.svg.png EpixWest.us,Epix West,,,,US,,,c/US,eng;spa,movies,FALSE,,2023-01-15,,http://www.epix.com/,https://upload.wikimedia.org/wikipedia/commons/thumb/8/83/Epix_Logo_2019.svg/512px-Epix_Logo_2019.svg.png +ePlesier.za,ePlesier,,,,ZA,,,c/ZA,eng,,FALSE,,,,https://www.etv.co.za/,https://i.imgur.com/wRTlAxg.png EPlusTV6.us,EPlusTV 6,,,,US,US-TN,Jackson,s/US-TN,eng,general,FALSE,,,,https://www.eplustv6.com/,https://i.imgur.com/dvVebvQ.png EpocaTV.co,Epoca TV,Época TV,,,CO,,,c/CO,spa,,FALSE,,,,,https://i.imgur.com/trqmeS4.png EPoland.pl,E! Poland,,,,PL,,,c/PL,eng,,FALSE,,,,http://uk.eonline.com/,https://upload.wikimedia.org/wikipedia/commons/thumb/9/96/E%21_Logo_2012.svg/512px-E%21_Logo_2012.svg.png @@ -6728,9 +6740,9 @@ EraNews.tw,Era News,年代新聞台,,,TW,,,c/TW,zho,news,FALSE,,,,https://www.er Erbol.bo,Erbol,,,Educación Radiofónica de Bolivia,BO,,,c/BO,spa,news,FALSE,,,,https://erbol.com.bo/,https://i.imgur.com/hn1KI7t.png ERCNTV12.us,ERCN TV-12,,,,US,US-NY,Pittsford,s/US-NY,eng,general,FALSE,,,,https://videoplayer.telvue.com/player/FcqTL0OYMCGU6WlccUApyUL3twz4dm9V/stream/690?fullscreen=false&showtabssearch=true&autostart=true,https://i.imgur.com/x7nOujO.png ErdelyTV.ro,Erdely TV,Erdély TV,,,RO,,,c/RO,hun;ron,,FALSE,2008-01-01,,,http://www.erdely.tv,https://i.imgur.com/U0yy3t2.png -EReality.za,E Reality,,,,ZA,,,c/ZA,eng,entertainment,FALSE,,,,https://www.etv.co.za/,https://i.imgur.com/XmezBYW.png +eReality.za,eReality,,,eMedia Investments,ZA,,,c/ZA,eng,entertainment,FALSE,,,,https://www.etv.co.za/,https://i.imgur.com/knuZHST.png EreTV.fr,Ere TV,Ère TV,,,FR,,,c/FR,fra;ara,religious,FALSE,,,,https://eretv.fr/,https://i.imgur.com/utMKPpl.png -ERewind.za,E Rewind,,,,ZA,,,c/ZA,afr,,FALSE,,,,https://www.etv.co.za/,https://i.imgur.com/4oJo3TS.png +eRewind.za,eRewind,,,eMedia Investments,ZA,,,c/ZA,afr,,FALSE,,,,https://www.etv.co.za/,https://i.imgur.com/DubJo4j.png ERF1.de,ERF 1,,,,DE,,,c/DE,deu,,FALSE,,,,,https://i.imgur.com/KPntwwS.png ErfanHalghehTV.ca,Erfan Halgheh TV,,,,CA,,Toronto,c/CA;c/IR,fas,religious,FALSE,,,,,https://i.ibb.co/mGC5BMR/erfan-halgheh-tv-au.png EriSat.er,EriSat,,,,ER,,,c/ER,amh,,FALSE,,,,https://www.erisat.org/,https://i.imgur.com/IcmUFh3.png @@ -6778,6 +6790,7 @@ ESAT.us,ESAT,,,ESAT,US,,,c/ET,amh,,FALSE,2010-04-24,,,https://ethsat.com/,https: ESAWebTV.fr,ESA Web TV,,,European Space Agency,FR,,,c/FR,eng;fra,documentary;science,FALSE,,,,https://www.esa.int/ESA_Multimedia/ESA_Web_TV,https://i.imgur.com/s3W0Mb5.png EscambiaCountyTV.us,Escambia County TV,,,,US,,,c/US,eng,legislative,FALSE,,,,,https://i.imgur.com/TAvJdpo.png eScapesXUMO.us,eScapes XUMO,,,,US,,,c/US,eng,entertainment,FALSE,,,,,https://i.imgur.com/BZrq02A.png +eSeries.za,eSeries,,,eMedia Investments,ZA,,,c/ZA,eng,series,FALSE,,,,https://www.etv.co.za/,https://i.imgur.com/L9WvazC.png EskaRockTV.pl,Eska Rock TV,,,,PL,,,c/PL,pol,,FALSE,,,,https://www.eska.tv/,https://i.imgur.com/o0Fg19Q.png EskaTV.pl,Eska TV,,,Telewizja Polsat,PL,,,c/PL,pol,,FALSE,2008-08-08,,,https://www.eska.tv/,https://i.imgur.com/N0eH0Cg.png EskaTVExtra.pl,Eska TV Extra,,,,PL,,,c/PL,pol,,FALSE,,,,https://www.eska.tv/,https://i.imgur.com/pZAFshQ.png @@ -6857,6 +6870,7 @@ EssaidaTV.tn,Essaida TV,,,,TN,,,r/ARAB,ara,culture,FALSE,,,,https://www.essaidaf EstacionCristal.py,Estacion Cristal,Estación Cristal,,,PY,PY-3,Tobati,c/PY,spa,,FALSE,,,,https://www.organizacioncristal.com/,https://lh3.googleusercontent.com/-OVKm6WJqsOE/YH9lkO3dBoI/AAAAAAABB04/rL_BJgKt2Hw7UJjK0PN4Gl0lbNEW9ZK4wCK8BGAsYHg/s512/2021-04-20.jpg EstacionTV.cl,Estacion TV,Estación TV,,,CL,CL-BI,Concepcion,c/CL,spa,,FALSE,,,,http://estaciontv.cl/,https://i.imgur.com/eICyrPP.png EstarsTV.ng,Estars TV,,,,NG,,,c/NG,eng,,FALSE,,,,http://estarstv.telly4africa.com/,https://i.imgur.com/t6oqHKX.png +EsteCanalTV.es,Este Canal TV,,,,ES,ES-CN,,c/ES,spa,general,FALSE,,,,http://www.estecanaltv.com/,https://i.imgur.com/jDT5XFs.jpg EsteponaTelevision.es,Estepona Television,Estepona Televisión,,,ES,ES-AN,,s/ES-AN,spa,,FALSE,,,,https://television.estepona.es/tvendirecto/,https://i.imgur.com/rMAB720.png EstrellaGames.us,Estrella Games,,,Estrella Media,US,,,c/US;c/MX,spa,entertainment;family,FALSE,,,,https://estrellatv.com/live/estrella-games/,https://i.imgur.com/Z52nEnH.png EstrellaNews.us,Estrella News,,,Estrella Media,US,,,c/US;c/MX,spa,news,FALSE,,,,https://estrellatv.com/live/estrella-news/,https://i.imgur.com/HRrkhLq.png @@ -6867,6 +6881,7 @@ EstTVNeamt.ro,Est TV Neamt,,,,RO,,,c/RO,ron,,FALSE,,,,,https://i.imgur.com/Fa6ML Estudeemcasa.br,Estude em casa,,,,BR,,,c/BR,por,,FALSE,,,,https://www.seduc.se.gov.br/estudeemcasa/,https://i.imgur.com/BPRAffK.png Estudio5.us,Estudio 5,,,,US,,,c/US,spa,,FALSE,,,,http://estudio5.tv/,https://i.imgur.com/tgJA5Pa.png EstudioTV.cl,Estudio TV,,,,CL,CL-VS,La Ligua,c/CL,spa,,FALSE,,,,http://estudiotv.cl/,https://i.imgur.com/PwfG6y7.png +EsTuTele.es,EsTuTele,,,,ES,ES-MD,,c/ES,spa,general,FALSE,,,,https://estutele.com/,https://i.imgur.com/bsAbcmC.png ESTV.hu,ESTV,,,,HU,,,c/HU,hun,general,FALSE,,,,http://estv.hu/,https://i.imgur.com/OCZ8CfK.png ESTV.tr,ES TV,,,,TR,,,c/TR,tur,,FALSE,,,,http://www.estv.com.tr/,https://i.imgur.com/epAEBrp.png ESTV.us,ESTV,Esports TV,,,US,,,c/US,eng,sports,FALSE,,,,https://www.estv.co/,https://i.imgur.com/qHNV0f5.png @@ -6893,7 +6908,7 @@ EtnaEspressoChannel.it,Etna Espresso Channel,,,,IT,,,c/IT,ita,news,FALSE,,,,http EtnoTV.ro,Etno TV,,,,RO,,,c/RO,ron,,FALSE,,,,https://www.etno.ro/,https://i.imgur.com/jzhZ8kl.png ETNow.in,ET Now,,,The Times Group,IN,,,c/IN,eng,business,FALSE,2009-01-01,,,https://economictimes.indiatimes.com/et-now,https://i.imgur.com/ueI0VwW.png ETNowSwadesh.in,ET Now Swadesh,,,,IN,,,c/IN,eng,,FALSE,,,,https://www.timesnownews.com/live-tv/et-now-swadesh,https://i.imgur.com/AJpMZIv.png -EToonz.za,E Toonz,,,,ZA,,,c/ZA,eng,animation;kids,FALSE,,,,https://www.etv.co.za/,https://i.imgur.com/Ooyf5p5.png +eToonz.za,eToonz,,,eMedia Investments,ZA,,,c/ZA,eng,animation;kids,FALSE,,,,https://www.etv.co.za/,https://i.imgur.com/LNWCksz.png ETTVAmerica.tw,ETTV America,美國東森電視,,,TW,,,r/NORAM,zho,news,FALSE,,,,http://www.ettvamerica.com/,https://i.imgur.com/XRk0QVA.png ETTVAsiaNews.tw,ETTV Asia News,東森亚洲新聞台,,,TW,,,c/HK;c/SG,zho,news,FALSE,2002-01-01,,,http://ettvasia.ebc.net.tw/,https://i.imgur.com/nLTPKdy.png ETTVChina.tw,ETTV China,,,,TW,,,c/TW,zho,,FALSE,,,,http://ettvamerica.com/Channels/ChannelDescription?i=China,https://i.imgur.com/ABWhJzN.png @@ -6910,10 +6925,10 @@ ETV.mn,ETV,,,,MN,,,c/MN,mon,,FALSE,2010-01-01,,,https://www.etv.mn/,https://uplo ETV.ru,E TV,Е ТВ,,,RU,,,c/RU,rus,,FALSE,,,,http://etv-media.ru/,https://i.imgur.com/FbPFS8u.png ETV.si,ETV,,,,SI,,,c/SI,slv,,FALSE,,,,,https://i.imgur.com/uXpD8l0.png ETV.th,ETV,,,,TH,,,c/TH,tha,,FALSE,,,,http://www.etvthai.tv/,https://i.imgur.com/Dsgpo4I.png -etv.za,e.tv,,,,ZA,,,c/ZA,eng,,FALSE,1998-10-01,,,https://www.etv.co.za/,https://upload.wikimedia.org/wikipedia/commons/thumb/e/e7/ETV_logo_2008.svg/512px-ETV_logo_2008.svg.png +etv.za,e.tv,,,eMedia Investments,ZA,,,c/ZA,eng,,FALSE,1998-10-01,,,https://www.etv.co.za/,https://upload.wikimedia.org/wikipedia/commons/thumb/e/e7/ETV_logo_2008.svg/512px-ETV_logo_2008.svg.png ETV2.ee,ETV 2,,,,EE,,,c/EE,est,,FALSE,,,,http://etv2.err.ee/,https://i.imgur.com/fUjGHDa.png ETVAbhiruchi.in,ETV Abhiruchi,,,,IN,,,c/IN,tel,,FALSE,,,,http://www.etv.co.in/channels/home?channelId=6,https://i.imgur.com/3D5SN3E.png -etvAfrica.za,e.tv Africa,,,,ZA,,,c/ZA,afr,,FALSE,,,,https://www.etv.co.za/,https://i.imgur.com/IOfR7Qd.png +etvAfrica.za,e.tv Africa,,,eMedia Investments,ZA,,,c/ZA,afr,,FALSE,,,,https://www.etv.co.za/,https://i.imgur.com/IOfR7Qd.png ETVAndhraPradesh.in,ETV Andhra Pradesh,,,,IN,,,c/IN,tel,news,FALSE,,,,http://www.etv.co.in/channels/home?channelId=3,https://i.imgur.com/pFNCRnf.png ETVBalaBharatMalayalam.in,ETV Bala Bharat Malayalam,,,,IN,,,c/IN,mal;eng,,FALSE,,,,,https://i.imgur.com/krbuGRA.png ETVBalaBharatTamil.in,ETV Bala Bharat Tamil,,,,IN,,,c/IN,tam;eng,,FALSE,,,,,https://i.imgur.com/iHVWvf2.png @@ -6930,14 +6945,15 @@ ETVBalyaBharatOdia.in,ETV Balya Bharat Odia,,,,IN,,,c/IN,ori;eng,,FALSE,,,,,http ETVCinema.in,ETV Cinema,,,,IN,,,c/IN,tel,movies,FALSE,,,,http://www.etv.co.in/channels/home?channelId=8,https://i.imgur.com/iMxePjI.png ETVCommunityEvents.us,E-TV Community Events,,,,US,US-MN,Eagan,s/US-MN,eng,general,FALSE,,,,https://vod-eagan.cablecast.tv/CablecastPublicSite/watch/7?channel=7,https://i.imgur.com/I1G27J4.png ETVEntertainment.et,ETV Entertainment,ኢቲቪ መዝናኛ,,,ET,,,c/ET,amh,entertainment,FALSE,,,,http://www.ebc.et/,https://i.imgur.com/oQTPp2j.png -etvGhana.gh,e.tv Ghana,,,,GH,,,c/GH,afr,,FALSE,,,,https://www.etvghana.com/,https://i.imgur.com/Egadcif.png +etvGhana.gh,e.tv Ghana,ETV Ghana,,eMedia Investments,GH,,,c/GH,afr,,FALSE,,,,https://www.etvghana.com/,https://i.imgur.com/PIdYuoE.png ETVGovernment.us,E-TV Government,,,,US,US-MN,Eagan,s/US-MN,eng,legislative,FALSE,,,,https://vod-eagan.cablecast.tv/CablecastPublicSite/?channel=4,https://i.imgur.com/RIKhFXZ.png ETVLanguages.et,ETV Languages,የኢቲቪ ቋንቋዎች,,,ET,,,c/ET,amh,news,FALSE,,,,http://www.ebc.et/,https://i.imgur.com/syiQde2.png ETVLife.in,ETV Life,,,,IN,,,c/IN,tel,,FALSE,,,,http://www.etv.co.in/channels/home?channelId=7,https://i.imgur.com/RFfpcoY.png ETVManisa.tr,ETV Manisa,,,,TR,,,c/TR,tur,,FALSE,,,,,https://i.ibb.co/QKXtdkz/sOd3INg.png eTvMarche.it,eTv Marche,èTv Marche,,,IT,,,c/IT,ita,news,FALSE,,,,https://etvmarche.it/,https://i.imgur.com/U6OW577.png +ETVN.au,ETVN,Entrepreneur's TV Network,,ETVN Media Ltd,AU,,,c/ZA,eng,,FALSE,,,,https://entrepreneursnetwork.tv/,https://i.imgur.com/VRE5Idx.png ETVNews.et,ETV News,ኢቲቪ ዜና,,,ET,,,c/ET,amh,news,FALSE,,,,http://www.ebc.et/,https://i.imgur.com/bCsv00P.png -etvNewsSport.za,e.tv News & Sport,,,,ZA,,,c/ZA,afr,news,FALSE,,,,https://www.openview.co.za/channel/open-news,https://i.imgur.com/QVXwd1u.png +etvNewsSport.za,e.tv News & Sport,,,eMedia Investments,ZA,,,c/ZA,afr,news,FALSE,,,,https://www.openview.co.za/channel/open-news,https://i.imgur.com/lXMzsNM.png ETVPlus.ee,ETV+,,,,EE,,,c/EE,rus;est,,FALSE,,,,http://etvpluss.err.ee/,https://upload.wikimedia.org/wikipedia/commons/a/a2/ETV%2B_logo.png ETVPlus.in,ETV Plus,,,,IN,,,c/IN,tel,,FALSE,,,,http://www.etv.co.in/channels/home?channelId=5,https://i.imgur.com/GYGOWI2.png ETVPublicAccess.us,E-TV Public Access,,,,US,US-MN,Eagan,s/US-MN,eng,general,FALSE,,,,https://vod-eagan.cablecast.tv/CablecastPublicSite/?channel=3,https://i.imgur.com/eRx8Uz7.png @@ -7311,6 +7327,7 @@ FightingSpirit.us,Fighting Spirit,,,,US,,,c/US,eng,sports,FALSE,,,,,https://i.im FightingTVSamurai.jp,Fighting TV Samurai!,FIGHTING TV サムライ,,,JP,,,c/JP,jpn,sports,FALSE,,,,https://www.samurai-tv.com/,https://i.imgur.com/jx6vZkd.png FightKlub.pl,Fight Klub,,,,PL,,,c/PL,hun,sports,FALSE,,,,http://fightklub.pl/,https://i.imgur.com/6kaNvZi.png FightNetwork.ca,Fight Network,,,Anthem Sports & Entertainment,CA,,,c/CA,eng,sports,FALSE,2005-09-22,,,https://www.fightnetwork.com/,https://i.imgur.com/vlKPZHR.png +FightNight.za,Fight Night,,,,ZA,,,c/ZA,eng,sports,FALSE,,,,https://video.premiumfree.tv/?section=sportssection,https://i.imgur.com/hFmxfzT.png FightSports.us,Fight Sports,,,,US,,,r/INT,eng,sports,FALSE,,,,https://www.fightsports.tv/,https://i.imgur.com/nV55veq.png Fightstream.nl,Fightstream,,,,NL,,,r/INT,eng,sports,FALSE,,,,https://spiintl.com/channels/fightstream,https://i.imgur.com/EYmJPUp.png FijiOne.fj,Fiji One,,,Fiji Television,FJ,,,c/FJ,eng,,FALSE,1994-06-15,,,https://www.fijione.tv/,https://i.imgur.com/FZmPLlR.png @@ -7323,8 +7340,8 @@ Film1Drama.nl,Film1 Drama,,,,NL,,,c/NL,nld,movies,FALSE,2012-01-17,,,http://www. Film1Family.nl,Film1 Family,,,,NL,,,c/NL,nld,movies,FALSE,2006-02-01,,,http://www.film1.nl/,https://i.imgur.com/8XRfXIa.png Film1Premiere.nl,Film1 Premiere,,,,NL,,,c/NL,nld,movies,FALSE,2006-02-01,,,http://www.film1.nl/,https://i.imgur.com/Kn9LX8i.png Film24h.us,Film 24h,,,,US,,,c/US,vie,movies,FALSE,,,,,https://i.imgur.com/6HX5mwn.png +Film4.hu,Film4,,,Digital Media and Communications Zrt.,HU,,,c/HU,hun,movies,FALSE,,,,https://film4.network4.hu/,https://i.imgur.com/X5N8CHf.png Film4.uk,Film4,,,HM Government,UK,,,c/UK,eng,movies,FALSE,,,,https://www.channel4.com/collection/film4,https://i.imgur.com/MTSgoGI.png -Film4Hungary.hu,Film4 Hungary,,,,HU,,,c/HU,hun,movies,FALSE,,,,https://film4.network4.hu/,https://i.imgur.com/X5N8CHf.png Film4Plus1.uk,Film4 +1,,,HM Government,UK,,,c/UK,eng,movies,FALSE,,,,https://www.channel4.com/collection/film4,https://i.imgur.com/TANpUTR.png FilmAksion.al,Film Aksion,,,,AL,,,c/AL,sqi,movies,FALSE,,,,https://www.digitalb.al/,https://i.imgur.com/8r56J9U.png FilmArtsBrazil.br,Film & Arts Brazil,Film & Arts Brasil,,,BR,,,c/BR,por,movies,FALSE,,,,https://www.filmandarts.tv/,https://i.imgur.com/2kHUsl7.png @@ -7332,28 +7349,29 @@ FilmArtsPanregional.us,Film & Arts Panregional,,,,US,,,r/NORAM,eng,movies,FALSE, FilmAutor.al,Film Autor,,,,AL,,,c/AL,sqi,movies,FALSE,,,,https://www.digitalb.al/,https://i.imgur.com/Cv5azzV.png Filmax.pk,Filmax,,,,PK,,,c/PK,urd,movies,FALSE,,,,,https://i.imgur.com/eLmdZ6k.png Filmazia.pk,Filmazia,,,,PK,,,c/PK,eng,movies,FALSE,,,,,https://i.imgur.com/hpTCANa.png -FilmBox.nl,FilmBox,,,,NL,,,c/TR,eng,movies,FALSE,,,,https://spiintl.com/channels/filmbox-hd,https://i.imgur.com/b8Ad3dF.png +FilmBox.nl,FilmBox,,,SPI International Inc.,NL,,,c/TR,eng,movies,FALSE,,,,https://spiintl.com/channels/filmbox-hd,https://i.imgur.com/VyaslIY.png FilmBoxAction.nl,FilmBox Action,,,,NL,,,c/PL;r/AFR,eng,movies,FALSE,,,,https://spiintl.com/channels/filmbox-action,https://i.imgur.com/y7VMgXK.png FilmBoxAfrica.nl,FilmBox Africa,,,,NL,,,r/AFR,eng,movies,FALSE,,,,https://spiintl.com/channels/filmbox-africa,https://i.imgur.com/LARH9TD.png FilmBoxArthouse.nl,FilmBox Arthouse,,,,NL,,,r/INT,eng,movies,FALSE,,,,http://www.filmboxarthouse.com/,https://i.imgur.com/hDg35ne.png FilmBoxBaltics.nl,FilmBox Baltics,,,,NL,,,c/EE;c/LV;c/LT,eng,movies,FALSE,,,,https://spiintl.com/channels/filmbox,https://i.imgur.com/gXu36aD.png FilmBoxCzechRepublicSlovakia.cz,FilmBox Czech Republic & Slovakia,,,,CZ,,,c/CZ;c/SK,ces,movies,FALSE,,,,http://www.sledujfilmbox.cz/,https://i.imgur.com/KTZUugz.png -FilmBoxExtraBulgaria.bg,FilmBox Extra Bulgaria,,,,BG,,,c/BG,bul,movies,FALSE,,,,http://bg.filmbox.pl/,https://i.imgur.com/kXYd18E.png -FilmBoxExtraCzechRepublicSlovakia.cz,FilmBox Extra Czech Republic & Slovakia,,,,CZ,,,c/CZ;c/SK,ces,movies,FALSE,,,,http://www.sledujfilmbox.cz/,https://i.imgur.com/kXYd18E.png -FilmBoxExtraHungary.hu,FilmBox Extra Hungary,,,,HU,,,c/HU,hun,movies,FALSE,,,,,https://i.imgur.com/kXYd18E.png -FilmBoxExtraPoland.pl,FilmBox Extra Poland,,,,PL,,,c/PL,pol,movies,FALSE,,,,https://spiintl.com/channels/filmbox-extra-hd,https://i.imgur.com/kXYd18E.png +FilmBoxExtraBulgaria.bg,FilmBox Extra Bulgaria,,,,BG,,,c/BG,bul,movies,FALSE,,,,http://bg.filmbox.pl/,https://i.imgur.com/ML7SlIW.png +FilmBoxExtraCzechRepublicSlovakia.cz,FilmBox Extra Czech Republic & Slovakia,,,,CZ,,,c/CZ;c/SK,ces,movies,FALSE,,,,http://www.sledujfilmbox.cz/,https://i.imgur.com/ML7SlIW.png +FilmBoxExtraHungary.hu,FilmBox Extra Hungary,,,SPI International Inc.,HU,,,c/HU,hun,movies,FALSE,,,,,https://i.imgur.com/ML7SlIW.png +FilmBoxExtraPoland.pl,FilmBox Extra Poland,,,,PL,,,c/PL,pol,movies,FALSE,,,,https://spiintl.com/channels/filmbox-extra-hd,https://i.imgur.com/ML7SlIW.png FilmBoxFamily.nl,FilmBox Family,,,,NL,,,c/PL;c/SK;c/RO;c/CZ;c/HU;r/AFR,eng,movies,FALSE,,,,https://spiintl.com/channels/filmbox-family,https://i.imgur.com/CGFyAyc.png +FilmBoxFamilyHungary.hu,FilmBox Family Hungary,,,SPI International Inc.,HU,,,c/HU,eng;hun,,FALSE,,,,http://hu.filmboxextra.pl/filmboxfamily,https://i.imgur.com/QmA6TQW.png FilmBoxNetherlands.nl,FilmBox Netherlands,,,,NL,,,c/NL,nld,movies,FALSE,,,,http://www.filmbox.nl/,https://i.imgur.com/KTZUugz.png FilmBoxPremiumCzechRepublicSlovakia.cz,FilmBox Premium Czech Republic & Slovakia,,,,CZ,,,c/CZ;c/SK,ces,movies,FALSE,,,,http://www.sledujfilmbox.cz/,https://i.imgur.com/OB83whP.png -FilmBoxPremiumHungary.hu,FilmBox Premium Hungary,,,,HU,,,c/HU,hun,movies,FALSE,,,,https://spiintl.com/channels/filmbox-premium,https://i.imgur.com/RydfsE9.png +FilmBoxPremiumHungary.hu,FilmBox Premium Hungary,,,SPI International Inc.,HU,,,c/HU,hun,movies,FALSE,,,,https://spiintl.com/channels/filmbox-premium,https://i.imgur.com/RydfsE9.png FilmBoxPremiumPoland.pl,FilmBox Premium Poland,,,,PL,,,c/PL,pol,movies,FALSE,,,,https://spiintl.com/channels/filmbox-premium,https://i.imgur.com/OB83whP.png FilmBoxPremiumRomania.ro,FilmBox Premium Romania,,,,RO,,,c/RO,ron,movies,FALSE,,,,http://www.filmboxtv.ro/filmboxpremium,https://i.imgur.com/RydfsE9.png FilmBoxRussia.ru,FilmBox Russia,,,,RU,,,c/FR;c/US;c/CH;c/LU,rus,movies,FALSE,,,,https://spiintl.com/channels/filmbox-russia,https://i.imgur.com/cXatYqt.png FilmBoxStarsBulgaria.bg,FilmBox Stars Bulgaria,,,,BG,,,c/BG,bul,movies,FALSE,,,,http://bg.filmbox.pl/,https://i.imgur.com/oNcJn78.png FilmBoxStarsCzechRepublicSlovakia.cz,FilmBox Stars Czech Republic & Slovakia,,,,CZ,,,c/CZ;c/SK,ces,movies,FALSE,,,,http://www.sledujfilmbox.cz/,https://i.imgur.com/oNcJn78.png -FilmBoxStarsHungary.hu,FilmBox Stars Hungary,,,,HU,,,c/HU,hun,movies,FALSE,,,,http://hu.filmboxextra.pl/,https://i.imgur.com/oNcJn78.png +FilmBoxStarsHungary.hu,FilmBox Stars Hungary,,,SPI International Inc.,HU,,,c/HU,hun,movies,FALSE,,,,http://hu.filmboxextra.pl/,https://i.imgur.com/eZFdHbR.png FilmBoxTurkey.tr,FilmBox Turkey,,,,TR,,,c/TR,tur,movies,FALSE,,,,http://www.filmboxturkiye.com/,https://i.imgur.com/KTZUugz.png -FilmCafeHungary.hu,Film Cafe Hungary,Film Café Hungary,,AMC Networks Inc.,HU,,,c/HU,hun,movies,FALSE,,,,https://www.filmcafetv.hu/,https://i.imgur.com/jaKRnzU.png +FilmCafeHungary.hu,Film Cafe Hungary,Film Café Hungary;Filmcafé;Romantica;Zone Romantica,,AMC Networks Central Europe Kft.,HU,,,c/HU,hun,movies,FALSE,,,,https://www.filmcafetv.hu/,https://i.imgur.com/jaKRnzU.png FilmCafeRomania.ro,Film Cafe Romania,Film Café Romania,,AMC Networks Inc.,RO,,,c/RO,rom,movies,FALSE,,,,https://www.filmcafetv.ro/,https://i.imgur.com/pMkgA30.png Filmcity.pk,Filmcity,,,,PK,,,c/PK,eng,movies,FALSE,,,,,https://i.imgur.com/a2tH8eS.png FilmDrame.al,Film Drame,Film Dramë,,,AL,,,c/AL,sqi,movies,FALSE,,,,https://www.digitalb.al/,https://i.imgur.com/fORAe7T.png @@ -7369,12 +7387,12 @@ FilmHub.us,Film Hub,,,,US,,,c/US,eng,movies,FALSE,,,,,https://i.imgur.com/MRU0d3 FilmKlub.rs,Film Klub,,,,RS,,,c/RS,srp,movies,FALSE,,,,http://www.filmklub.rs/,https://i.imgur.com/a6Jq6Qg.png FilmKlubExtra.rs,Film Klub Extra,,,,RS,,,c/RS,srp,movies,FALSE,,,,http://www.filmklub.rs/,https://i.imgur.com/oYjNB2Z.png FilmKomedi.al,Film Komedi,,,,AL,,,c/AL,sqi,movies,FALSE,,,,https://www.digitalb.al/,https://i.imgur.com/Jwn0uJz.png -FilmMania.hu,Film Mania,Film Mánia,,AMC Networks Inc.,HU,,,c/HU,hun,movies,FALSE,,,,http://www.filmmaniatv.hu/,https://i.imgur.com/crhsomk.png +FilmMania.hu,Film Mania,Film Mánia,,AMC Networks Central Europe Kft.,HU,,,c/HU,hun,movies,FALSE,,,,http://www.filmmaniatv.hu/,https://i.imgur.com/crhsomk.png FilmNje.al,Film Nje,Film Një,,,AL,,,c/AL,sqi,movies,FALSE,,,,https://www.digitalb.al/,https://i.imgur.com/Pq3gEik.png FilmNow.ro,Film Now,,,,RO,,,c/RO,ron,movies,FALSE,,,,http://www.digi-film.ro/,https://i.imgur.com/sSoRvGz.png FilmNowHungary.hu,Film Now Hungary,,,,HU,,,c/HU,ron,movies,FALSE,,,,http://www.digi-film.hu/,https://i.imgur.com/sSoRvGz.png FilmPlus.cz,Film+,,,AMC Networks Inc.,CZ,,,c/CZ;c/SK,ces,movies,FALSE,,,,https://www.filmplustv.cz/,https://i.imgur.com/OBYuY3S.png -FilmPlusHungary.hu,Film+ Hungary,,,Bertelsmann Verwaltungsgesellschaft mbH,HU,,,c/HU,hun,movies,FALSE,,,,http://rtl.hu/filmplusz,https://i.imgur.com/OWqzJyy.png +FilmPlus.hu,Film+,F+,,Bertelsmann Verwaltungsgesellschaft mbH,HU,,,c/HU,hun,movies,FALSE,,,,http://rtl.hu/filmplusz,https://i.imgur.com/OWqzJyy.png FilmRiseAction.us,FilmRise Action,,,,US,,,c/US,eng,movies,FALSE,,,,https://filmrise.com/,https://i.imgur.com/AaBlygR.png FilmRiseClassicTV.us,FilmRise Classic TV,,,,US,,,c/US,eng,classic,FALSE,,,,https://filmrise.com/,https://i.imgur.com/dXpn7Xv.png FilmRiseFamily.us,FilmRise Family,,,,US,,,c/US,eng,family,FALSE,,,,https://filmrise.com/,https://i.imgur.com/zbrqObp.png @@ -7420,6 +7438,7 @@ FishTank.us,Fish Tank,,,,US,,,c/US,eng,relax,FALSE,,,,,https://i.imgur.com/4wz5G FishTV.br,Fish TV,,,,BR,,,c/BR,por,,FALSE,,,,https://www.fishtv.com/,https://i.imgur.com/4h89JKx.png Fite.us,Fite,,,,US,,,c/US,eng,sports,FALSE,,,,https://www.fite.tv/,https://i.imgur.com/4w95NZQ.png FITE247.us,FITE 24/7,,,,US,,,c/US,eng,sports,FALSE,,,,https://watch.plex.tv/live-tv/channel/fite-24-7,https://i.imgur.com/ESV6qgH.png +FitelTV.es,Fitel TV,,,,ES,ES-CT,Lloret de Mar,c/ES,cat,general,FALSE,,,,https://www.fitelnetwork.com/fitel-tv/,https://i.imgur.com/3lAoTq3.png FitHD.hu,FitHD,,,,HU,,,c/HU,hun,sports,FALSE,,,,http://www.fithd.hu/,https://i.imgur.com/DSSAAOw.png FiveSomaliTV.ke,Five Somali TV,,,,KE,,,c/KE,som,,FALSE,,,,,https://i.imgur.com/BhZawe3.png FixFoxi.de,Fix & Foxi,,,,DE,,,c/DE,eng;ara;deu;bul,,FALSE,,,,https://fixundfoxi.tv/,https://i.imgur.com/oeKlC8y.png @@ -7703,7 +7722,7 @@ FreeportTV3.us,Freeport TV3,FCTV3,,,US,US-ME,Freeport,s/US-ME,eng,legislative,FA FreeSpeechTV.us,Free Speech TV,,,Public Communicators Inc.,US,,,c/US,eng,,FALSE,1995-01-01,,,https://freespeech.org/,https://i.imgur.com/Qq6heRq.png FreeSports.uk,FreeSports,,,Viaplay Group AB,UK,,,c/UK,eng,sports,FALSE,2017-08-31,2022-10-31,ViaplayXtra.uk,https://www.freesports.tv/,https://i.imgur.com/nyYlWBx.png FreeTV.eg,Free TV,,,,EG,,,c/EG,ara,,FALSE,2015-07-20,,,http://freetvmusic.tv/,https://i.imgur.com/9itQ025.png -Fresh.za,Fresh,,,,ZA,,,c/ZA,eng,,FALSE,,,,https://www.africaxp.com/,https://www.lyngsat.com/logo/tv/ff/fresh-za.png +Fresh.za,Fresh,,,AfricaXP,ZA,,,c/ZA,eng,,FALSE,,,,https://www.africaxp.com/,https://i.imgur.com/2ig8jUH.png FreshNews.kh,Fresh News,,,,KH,,,c/KH,khm,news,FALSE,,,,http://freshnewsasia.com/,https://i.imgur.com/bV6sawt.png FreshTV.am,Fresh TV,,,,AM,,,c/AM,hye,music,FALSE,,,,,https://i.imgur.com/gcFSxrm.png FreshTV.ru,FreshTV,,,,RU,,,c/RU,rus,music,FALSE,,,,http://www.planeta-online.tv/channels/4/live.html,https://i.imgur.com/PDNUztS.png @@ -7861,7 +7880,7 @@ GameShowNetworkCaribbean.us,Game Show Network Caribbean,,,,US,,,c/US,eng,,FALSE, GameShowNetworkEast.us,Game Show Network East,,,,US,,,c/US,eng,entertainment,FALSE,,,,https://www.gsntv.com/,https://www.gameshownetwork.com/storage/app/media/2020/Navigation/gsn_logo.jpg GameShowNetworkWest.us,Game Show Network West,,,,US,,,c/US,eng,,FALSE,,,,https://www.gsntv.com/,https://i.imgur.com/EHDI1je.png GameSpot.us,GameSpot,,,,US,,,c/US,eng,entertainment,FALSE,,,,https://pluto.tv/es/live-tv/gamespot,https://i.imgur.com/fu7kK1z.png -Gametoon.nl,Gametoon,,,,NL,,,r/INT,eng,entertainment,FALSE,,,,http://www.gametoon.com/,https://i.imgur.com/gf5EjjB.png +Gametoon.nl,Gametoon,MadScreenBox,,SPI International Inc.,NL,,,r/INT,eng,entertainment,FALSE,,,,http://www.gametoon.com/,https://i.imgur.com/gf5EjjB.png GameTV.ca,Game TV,,,,CA,,,c/CA,eng,,FALSE,,,,http://www.igametv.com/,https://i.imgur.com/9ddVzCC.png GameTV.ch,Game TV,,,,CH,,,c/CH,deu,,FALSE,,,,,https://i.imgur.com/wJOCqfa.png GamingonVerizon.us,Gaming on Verizon,,,,US,,,c/US,eng,animation,FALSE,,,,https://pluto.tv/en/live-tv/gaming-on-verizon,https://i.imgur.com/MX4qY0k.png @@ -7879,7 +7898,7 @@ GaskiaTV.gh,Gaskia TV,,,,GH,,,c/GH,hau,,FALSE,,,,https://www.gaskiatv.com/,https GasyStar.mg,GasyStar,,,,MG,,,c/MG,eng,,FALSE,,,,https://www.gasystar.com/,https://i.imgur.com/VVvE5Ww.png GATV5.us,GATV 5,,,,US,US-OH,Centerville,s/US-OH,eng,legislative,FALSE,,,,http://vod.mvcc.video:8080/CablecastPublicSite/?channel=2,https://i.imgur.com/DldydP9.png GaundaPunjabTV.in,Gaunda Punjab TV,,,,IN,,,c/IN,hin,,FALSE,,,,,https://i.imgur.com/ArRZRM3.png -GauTV.za,Gau TV,,,,ZA,,,c/ZA,eng,,FALSE,,,,https://www.gautv.co.za/,https://rndcdn.dstv.com/dstvcms/2020/08/04/GAUTV_4-3_001_xlrg.png +GauTV.za,Gau TV,,,,ZA,,,c/ZA,eng,,FALSE,,,,https://www.gautv.co.za/,https://i.imgur.com/2HgnIW5.png GawahiTV.pk,Gawahi TV,,,,PK,,,c/PK,eng,,FALSE,,,,https://gawahi.tv/,https://i.imgur.com/0W6zzHS.png GayelleTheCaribbean.tt,Gayelle The Caribbean,,,,TT,,Curepe,c/TT,eng,general,FALSE,,,,https://tegostream.com/tv?channel=864,https://crm.tegotv.com/assets/live_tv/1585189209859_Gayelle_Mobile_300x300.jpg GayoTV.kr,GayoTV,가요TV,,,KR,,,c/KR,kor,,FALSE,,,,http://gayotv.co.kr/,https://i.imgur.com/5nUmU7h.png @@ -8176,7 +8195,7 @@ GoShopMalay120.my,Go Shop Malay 120,,,,MY,,,c/MY,msa,shop,FALSE,,,,https://www.g GoShopMalayMyFreeview.my,Go Shop Malay MyFreeview,,,,MY,,,c/MY,msa,shop,FALSE,,,,https://www.goshop.com.my/,https://i.imgur.com/oQClOPk.png GospelCartoon.br,Gospel Cartoon,,,,BR,,,c/BR,por,religious,FALSE,,,,,https://i.imgur.com/yxjPno5.png GospelChannelScandinavia.is,Gospel Channel Scandinavia,,,,IS,,,c/IS,isl,religious,FALSE,,,,,https://i.imgur.com/C7t6gao.png -GospelLifeTV.za,GospelLife TV,,,,ZA,,,c/ZA,eng,religious,FALSE,,,,https://www.africaxp.com/,https://www.lyngsat.com/logo/tv/gg/gospel-life-tv-za.png +GospelLifeTV.za,GospelLife TV,,,AfricaXP,ZA,,,c/ZA,eng,religious,FALSE,,,,https://www.africaxp.com/,https://i.imgur.com/hXtNuua.png GospelMovieTV.br,Gospel Movie TV,,,,BR,,,c/BR,por,religious,FALSE,,,,https://ipgotv.net.br/tv/gmovies/,https://i.imgur.com/cQN3nWt.png GospelTruthTV.us,Gospel Truth TV,,,,US,,,c/US,eng,religious,FALSE,,,,,https://i.imgur.com/LI52X2q.png GospelTV.et,Gospel TV,,,,ET,,,c/ET,amh,religious,FALSE,,,,,https://i.imgur.com/WzVncd0.png @@ -8322,7 +8341,9 @@ GuangdongSatelliteTV.cn,Guangdong Satellite TV,,,,CN,,,c/CN,zho,,FALSE,,,,http:/ GuangdongSports.cn,Guangdong Sports,,,,CN,,,c/CN,zho,sports,FALSE,,,,http://www.gdtv.cn/,https://i.imgur.com/AcGbrzc.png GuangdongVarietyChannel.cn,Guangdong Variety Channel,广东综艺频道,,,CN,,Guangzhou,c/CN,zho,entertainment,FALSE,,,,https://www.gdtv.cn/tvChannelDetail/43,https://upload.wikimedia.org/wikipedia/zh/7/7e/TVS3-new-logo.png GuangdongWorldChannel.cn,Guangdong World Channel,广东国际频道,,Guangdong Radio and Television,CN,,Guangzhou,c/CN,zho,general,FALSE,,,,https://www.gdtv.cn/tvChannelDetail/43,https://i1.wp.com/enjoytv.asia/wp-content/uploads/2019/03/%E5%B9%BF%E4%B8%9C%E5%9B%BD%E9%99%85%E9%A2%91%E9%81%93-1.jpg?fit=300%2C170&ssl=1 +GuangxiCityChannel.cn,Guangxi City Channel,都市频道,,,CN,,Guangxi,c/CN,zho,general,FALSE,2012-01-01,,,https://tv.gxtv.cn/channel/channelivePlay_fdbaf085f9fe11e88bcfe41f13b60c62.html,https://www.tvchinese.net/uploads/tv/gxdspd.jpg GuangxiTV.cn,Guangxi TV,,,,CN,,,c/CN,zho,,FALSE,,,,http://vod.gxtv.cn/,https://i.imgur.com/dpre5Qs.png +GuangxiVarietyTravelChannel.cn,Guangxi Variety & Travel Channel,综艺旅游频道,,,CN,,Nanning,c/CN,zho,general;travel,FALSE,,,,https://tv.gxtv.cn/channel/channelivePlay_f3335975f9fe11e88bcfe41f13b60c62.html,https://www.tvchinese.net/uploads/tv/gxzypd.jpg GuangyuanNewsChannel.cn,Guangyuan News Channel,新闻频道,,,CN,,Guangyuan,c/CN,zho,news,FALSE,,,,http://www.dzsm.com/showchannel.asp?id=1015,https://www.tvchinese.net/uploads/tv/gaxwpd.jpg GuangyunaLifestyleChannel.cn,Guangyuna Lifestyle Channel,生活频道,,,CN,,Guangyuan,c/CN,zho,lifestyle,FALSE,,,,http://www.dzsm.com/showchannel.asp?id=1016,https://www.tvchinese.net/uploads/tv/gyggpd.jpg GuangzhouTV.cn,Guangzhou TV,,,,CN,,,c/CN,zho,,FALSE,,,,http://www.gztv.com/,https://i.imgur.com/ff3KQXp.png @@ -8510,7 +8531,7 @@ HBO2Brazil.br,HBO 2 Brazil,HBO 2 Brasil,,,BR,,,c/BR,por,,FALSE,,,,https://br.hbo HBO2CEE.hu,HBO 2 CEE,,,,HU,,,r/CEE,eng,,FALSE,,,,http://www.hbo-europe.com/,https://i.imgur.com/53mBgZI.png HBO2CzechRepublic.cz,HBO 2 Czech Republic,,,,CZ,,,c/CZ,ces,,FALSE,,,,http://www.hbo.cz/,https://i.imgur.com/FCBS57D.png HBO2East.us,HBO 2 East,,,,US,,,c/US,eng;spa,,FALSE,,,,https://www.hbo.com/,https://upload.wikimedia.org/wikipedia/commons/thumb/3/30/HBO_2_%282014%29.svg/512px-HBO_2_%282014%29.svg.png -HBO2Hungary.hu,HBO 2 Hungary,,,,HU,,,c/HU,hun,,FALSE,,,,http://www.hbo.hu/,https://i.imgur.com/53mBgZI.png +HBO2Hungary.hu,HBO 2 Hungary,,,Home Box Office Inc.,HU,,,c/HU,hun,,FALSE,,,,http://www.hbo.hu/,https://i.imgur.com/53mBgZI.png HBO2LatinAmerica.us,HBO 2 Latin America,,,,US,,,r/LATAM,spa,,FALSE,,,,http://www.hbolatam.com/,https://upload.wikimedia.org/wikipedia/commons/thumb/6/6c/HBO2_logo.svg/512px-HBO2_logo.svg.png HBO2Mexico.mx,HBO 2 Mexico,,,,MX,,,c/MX,spa,,FALSE,,,,http://www.hbolatam.com/,https://upload.wikimedia.org/wikipedia/commons/thumb/6/6c/HBO2_logo.svg/512px-HBO2_logo.svg.png HBO2Poland.pl,HBO 2 Poland,HBO 2 Polska,,,PL,,,c/PL,pol,,FALSE,2002-12-01,,,http://www.hbo.pl/HBO2.aspx,https://i.imgur.com/2e3muOJ.png @@ -8518,7 +8539,7 @@ HBO2Romania.ro,HBO 2 Romania,,,,RO,,,c/RO,ron,,FALSE,,,,http://www.hbo.ro/,https HBO2West.us,HBO 2 West,,,,US,,,c/US,eng;spa,,FALSE,,,,https://www.hbo.com/,https://upload.wikimedia.org/wikipedia/commons/thumb/3/30/HBO_2_%282014%29.svg/512px-HBO_2_%282014%29.svg.png HBO3CEE.hu,HBO 3 CEE,,,,HU,,,r/CEE,eng,,FALSE,2016-03-21,,,http://www.hbo-europe.com/,https://i.imgur.com/3QIHh2V.png HBO3CzechRepublic.cz,HBO 3 Czech Republic,,,,CZ,,,c/CZ,ces,,FALSE,,,,http://www.hbo.cz/,https://i.imgur.com/3QIHh2V.png -HBO3Hungary.hu,HBO 3 Hungary,,,,HU,,,c/HU,hun,,FALSE,,,,http://www.hbo.hu/,https://i.imgur.com/3QIHh2V.png +HBO3Hungary.hu,HBO 3 Hungary,,,Home Box Office Inc.,HU,,,c/HU,hun,,FALSE,,,,http://www.hbo.hu/,https://i.imgur.com/3QIHh2V.png HBO3Poland.pl,HBO 3 Poland,HBO 3 Polska,,,PL,,,c/PL,pol,,FALSE,2016-03-21,,,http://www.hbo.pl/HBOComedy.aspx,https://i.imgur.com/3QIHh2V.png HBO3Romania.ro,HBO 3 Romania,,,,RO,,,c/RO,ron,,FALSE,,,,http://www.hbo.ro/,https://i.imgur.com/3QIHh2V.png HBOAsia.sg,HBO Asia,,HBO Asia,HBO Asia Pte Ltd,SG,,,r/SEA,eng,movies,FALSE,,,,http://hboasia.com/HBO/,https://upload.wikimedia.org/wikipedia/commons/thumb/d/de/HBO_logo.svg/512px-HBO_logo.svg.png @@ -8538,7 +8559,7 @@ HBOFamilyLatinAmerica.us,HBO Family Latin America,,,,US,,,r/LATAM,spa,family,FAL HBOFamilyWest.us,HBO Family West,,,,US,,,c/US,eng;spa,family,FALSE,,,,http://www.hbofamily.com/,https://upload.wikimedia.org/wikipedia/commons/thumb/2/22/HBO_Family.svg/512px-HBO_Family.svg.png HBOHawai.us,HBO Hawai,,,,US,,,c/US,eng;spa,,FALSE,,,,http://www.hbo.com/,https://upload.wikimedia.org/wikipedia/commons/thumb/d/de/HBO_logo.svg/512px-HBO_logo.svg.png HBOHitsAsia.sg,HBO Hits Asia,,HBO Asia,,SG,,,r/SEA,eng,movies,FALSE,,,,http://www.hboasia.com/hits,https://i.imgur.com/CTjmocc.png -HBOHungary.hu,HBO Hungary,,,,HU,,,c/HU,hun,,FALSE,,,,http://www.hbo.hu/,https://upload.wikimedia.org/wikipedia/commons/thumb/d/de/HBO_logo.svg/512px-HBO_logo.svg.png +HBOHungary.hu,HBO Hungary,,,Home Box Office Inc.,HU,,,c/HU,hun,,FALSE,,,,http://www.hbo.hu/,https://upload.wikimedia.org/wikipedia/commons/thumb/d/de/HBO_logo.svg/512px-HBO_logo.svg.png HBOLatinAmerica.us,HBO Latin America,,,,US,,,r/LATAM,spa,,FALSE,,,,https://www.hbo.com/,https://upload.wikimedia.org/wikipedia/commons/thumb/d/de/HBO_logo.svg/512px-HBO_logo.svg.png HBOLatinoEast.us,HBO Latino East,,,,US,,,c/US,spa,,FALSE,,,,http://www.hbolatino.com/,https://upload.wikimedia.org/wikipedia/commons/thumb/e/e6/HBO_Latino_%282014%29.svg/512px-HBO_Latino_%282014%29.svg.png HBOLatinoWest.us,HBO Latino West,,,,US,,,c/US,spa,,FALSE,,,,http://www.hbolatino.com/,https://upload.wikimedia.org/wikipedia/commons/thumb/e/e6/HBO_Latino_%282014%29.svg/512px-HBO_Latino_%282014%29.svg.png @@ -8732,7 +8753,7 @@ HistoryEast.us,History East,,A+E Networks,,US,,,c/US,eng,documentary,FALSE,,,,ht HistoryenEspanol.us,History en Espanol,History en Español,A+E Networks,,US,,,c/US,spa,documentary,FALSE,,,,http://www.historyenespanol.com/,https://i.imgur.com/KP4e1kk.png HistoryGermany.de,History Germany,,,,DE,,,c/DE,deu,documentary,FALSE,,,,http://www.history.de/,https://upload.wikimedia.org/wikipedia/commons/thumb/0/01/History_%282021%29.svg/512px-History_%282021%29.svg.png HistoryHit.us,History Hit,,,,US,,,c/US,eng,,FALSE,,,,https://www.historyhit.com/,https://i.imgur.com/ulHoqlP.png -HistoryHungary.hu,History Hungary,,,,HU,,,c/HU,hun,documentary,FALSE,,,,http://www.history.com/,https://upload.wikimedia.org/wikipedia/commons/thumb/0/01/History_%282021%29.svg/512px-History_%282021%29.svg.png +HistoryHungary.hu,History Hungary,History TV Magyarország;History Channel,,AETN UK,HU,,,c/HU,hun,documentary,FALSE,,,,https://www.historychannel.co.hu/hu,https://i.imgur.com/OWIK7FJ.png HistoryItaly.it,History Italy,,,,IT,,,c/IT,ita;eng,documentary,FALSE,2003-07-31,2021-03-18,,https://www.historychannel.it/,https://upload.wikimedia.org/wikipedia/commons/thumb/0/01/History_%282021%29.svg/512px-History_%282021%29.svg.png HistoryItalyPlus1.it,History Italy +1,,,,IT,,,c/IT,ita;eng,documentary,FALSE,2004-09-01,,,https://www.historychannel.it/,https://upload.wikimedia.org/wikipedia/commons/thumb/f/f5/History_Logo.svg/512px-History_Logo.svg.png HistoryJapan.jp,History Japan,,A+E Networks Asia,,JP,,,c/JP,jpn,documentary,FALSE,,,,https://jp.history.com/,https://i.imgur.com/xW7gkWt.png @@ -8860,7 +8881,7 @@ HomicideHunterUK.uk,Homicide Hunter UK,,,,UK,,,c/UK,eng,documentary,FALSE,,,,htt HOMTV.us,HOMTV,,,,US,US-MI,Okemos,s/US-MI,eng,general,FALSE,,,,http://www.homtv.net/index_homtv.asp?view=programming&page=player&id=live,https://i.imgur.com/vlt1GY9.png HonaBaghdadTV.iq,Hona Baghdad TV,,,,IQ,,,c/IQ,ara,,FALSE,,,,,https://i.imgur.com/8QyVQ7E.png Hondured13.hn,Hondured 13,,,,HN,,,c/HN,spa,,FALSE,,,,,https://i.imgur.com/5W6z7ed.png -Honey.za,Honey,,,,ZA,,,c/ZA,eng,,FALSE,,,,https://honey.dstv.com/,https://i.imgur.com/wuaBwAw.png +Honey.za,Honey,,,Media24,ZA,,,c/ZA,eng,,FALSE,,,,https://honey.dstv.com/,https://i.imgur.com/wuaBwAw.png HoneyTV.kr,Honey TV,허니TV,,,KR,,,c/KR,kor,xxx,TRUE,,,,https://www.honeytv.co.kr/,https://i.imgur.com/iWG82fa.png HongKongOpenTV.hk,Hong Kong Open TV,香港开电视,,,HK,,,c/HK,zho;yue,general;entertainment,FALSE,2018-10-27,2022-10-18,HOYTV.hk,https://hkopentv.com/,https://i.imgur.com/iV016Eg.png HonorTV.us,Honor TV,,,,US,,,c/US,eng,classic,FALSE,,,,,https://i.imgur.com/ndNXGbD.png @@ -9075,7 +9096,10 @@ HuntingtonGovernmentAccessChannel.us,Huntington Government Access Channel,,,,US, HustlerHD.nl,Hustler HD,,Sapphire Media,,NL,,,r/EUR,eng,xxx,TRUE,,,,https://www.hustlerhd.eu/,https://i.imgur.com/41Ej2io.png HustlerTV.us,Hustler TV,,,,US,,,c/US,eng,xxx,TRUE,,,,http://www.hustlertv.com/,https://upload.wikimedia.org/wikipedia/commons/thumb/5/5b/HustlerTV.svg/512px-HustlerTV.svg.png HustlerTVCanada.ca,Hustler TV Canada,,,,CA,,,c/CA,eng,xxx,TRUE,2017-03-23,2021-02-18,VixenTV.ca,https://www.hardcorego.com/,https://i.imgur.com/fWGUTwI.png -HustlerTVEurope.nl,Hustler TV Europe,,Sapphire Media,,NL,,,r/EUR,eng,xxx,TRUE,,,,https://hustlertv.eu/,https://upload.wikimedia.org/wikipedia/commons/thumb/5/5b/HustlerTV.svg/512px-HustlerTV.svg.png +HustlerTVEurope.nl,Hustler TV Europe,,Sapphire Media,Sapphire Media International B.V.,NL,,,r/EUR,eng,xxx,FALSE,,,,https://hustlertv.eu/,https://upload.wikimedia.org/wikipedia/commons/thumb/5/5b/HustlerTV.svg/512px-HustlerTV.svg.png +HuzhouCultureEntertainmentChannel.cn,Huzhou Culture Entertainment Channel,,,,CN,,Huzhou City,c/CN,zho,culture;entertainment,FALSE,,,,,https://www.tvchinese.net/uploads/tv/hzwhyl.jpg +HuzhouNewsIntegratedChannel.cn,Huzhou News Integrated Channel,,,,CN,,Huzhou City,c/CN,zho,general,FALSE,,,,,https://www.tvchinese.net/uploads/tv/hzxwzhpd.jpg +HuzhouPublicChannel.cn,Huzhou Public Channel,,,,CN,,,c/CN,zho,general,FALSE,,,,,https://www.tvchinese.net/uploads/tv/hzggpd.jpg HuzurTV.tj,Huzur TV,,,,TJ,,,c/TJ,rus,,FALSE,,,,,https://i.imgur.com/Abg1fct.png HwazanSatelliteTV.tw,Hwazan Satellite TV,,,,TW,,,c/TW,zho,religious,FALSE,,,,https://www.hwazan.org/,https://i.imgur.com/koWtMpc.png HWCAMGovernmentAccess.us,HWCAM Government Access,,,,US,US-MA,Hamilton,s/US-MA,eng,legislative,FALSE,,,,http://www.hwcam.org/,https://i.imgur.com/v09As1P.png @@ -9212,7 +9236,7 @@ IGN1.us,IGN1,,,,US,,,c/US,eng,,FALSE,,,,https://watch.plex.tv/live-tv/channel/ig IGNFrance.fr,IGN France,,,,FR,,,c/FR,fra,entertainment,FALSE,,,,https://pluto.tv/en/live-tv/ign-fr,https://i.imgur.com/uAJOJip.png IGNGermany.de,IGN Germany,,,,DE,,,c/DE,deu,entertainment,FALSE,,,,https://pluto.tv/en/live-tv/ign-de,https://i.imgur.com/tbjCEGB.png IGNItaly.it,IGN Italy,,,,IT,,,c/IT,ita,entertainment,FALSE,,,,https://pluto.tv/en/live-tv/ign-it,https://i.imgur.com/a1wIzng.png -Ignition.za,Ignition,,,,ZA,,,c/ZA,eng,,FALSE,,,,https://www.timeslive.co.za/motoring/,https://i.imgur.com/N5NVkEH.png +Ignition.za,Ignition,,,Arena Holdings,ZA,,,c/ZA,eng,,FALSE,,,,https://www.timeslive.co.za/motoring/,https://i.imgur.com/N5NVkEH.png IGNSpain.es,IGN Spain,,,,ES,,,c/ES,spa,entertainment,FALSE,,,,https://pluto.tv/en/live-tv/ign-es,https://i.imgur.com/grTmYid.png IGNUK.uk,IGN UK,,,,UK,,,c/UK,eng,entertainment,FALSE,,,,https://pluto.tv/en/live-tv/ign-gb,https://i.imgur.com/0Bq7Fxm.png IgoShogiChannel.jp,Igo Shogi Channel,囲碁・将棋チャンネル,,,JP,,,c/JP,jpn,,FALSE,,,,https://www.igoshogi.net/,https://i.imgur.com/kT05DSs.png @@ -9661,6 +9685,9 @@ JiangxiMovieChannel.cn,Jiangxi Movie Channel,影视·旅游频道,,,CN,,Nanchang JiangxiNewsChannel.cn,Jiangxi News Channel,新闻频道,,,CN,,Nanchang,c/CN,zho,news,FALSE,,,,http://www.jxntv.cn/live/#/jxtv7,https://www.tvchinese.net/uploads/tv/jxtv7.jpg JiangxiPublicAgricultureChannel.cn,Jiangxi Public & Agriculture Channel,公共·农业频道,,,CN,,Nanchang,c/CN,zho,general,FALSE,,,,http://www.jxntv.cn/live/jxtv5.shtml,https://www.tvchinese.net/uploads/tv/jxgg.jpg JiangxiTV.cn,Jiangxi TV,,,,CN,,,c/CN,zho,,FALSE,,,,http://www.jxntv.cn/,https://i.imgur.com/RrLthH3.png +JiaxingComprehensiveNewsChannel.cn,Jiaxing Comprehensive News Channel,新闻综合频道,,,CN,,Jiaxing,c/CN,zho,news,FALSE,,,,,https://www.tvchinese.net/uploads/tv/jxxwzh.jpg +JiaxingCultureMovieChannel.cn,Jiaxing Culture & Movie Channel,文化影视频道,,,CN,,Jiaxing,c/CN,zho,culture;movies,FALSE,,,,,https://www.tvchinese.net/uploads/tv/jxwhys.jpg +JiaxingPublicChannel.cn,Jiaxing Public Channel,公共频道,,,CN,,Jiaxing,c/CN,zho,general,FALSE,,,,,https://www.tvchinese.net/uploads/tv/jxggpd.jpg JiaYouHomeShopping.cn,Jia You Home Shopping,,,,CN,,,c/CN,zho,shop,FALSE,,,,http://www.jiayougo.com/,https://i.imgur.com/fRj15kg.png JibekJoly.kz,Jibek Joly,,,Khabar Agency,KZ,,Almaty,c/KZ,kaz;rus;eng,general,FALSE,2002-10-25,,,https://jjtv.kz/en,https://i.imgur.com/SqyXtgK.png JidaigekiSenmonChannel.jp,Jidaigeki Senmon Channel,時代劇専門チャンネル,,,JP,,,c/JP,jpn,,FALSE,,,,https://www.jidaigeki.com/,https://i.imgur.com/J5KVNby.png @@ -9726,7 +9753,7 @@ JOBRDTV.jp,JOBR-DTV,KBS Kyoto;KBS京都;KBSテレビ,JAITS,,JP,,,c/JP,jpn,,FALSE JOBTV.ro,JOB TV,,,,RO,,,c/RO,ron,business,FALSE,,,,https://jobtv.ro/,https://i.imgur.com/UzcZNe3.png JOCKDTV.jp,JOCK-DTV,NHK総合テレビジョン,NHK G,日本放送協会,JP,JP-23,Nagoya,s/JP-23,jpn,general,FALSE,2003-12-01,,,https://www.nhk.or.jp/nagoya/,https://i.imgur.com/fAZ2BEZ.png JockeyClubdeSaoPaulo.br,Jockey Club de Sao Paulo,Jockey Club de São Paulo,,,BR,,,c/BR,por,,FALSE,,,,http://www.jockeysp.com.br/,https://i.imgur.com/HkuWqbn.png -JockyTV.hu,Jocky TV,,,,HU,,,c/HU,hun,,FALSE,,,,https://tv2play.hu/jockytv,https://i.imgur.com/sqmopBA.png +JockyTV.hu,Jocky TV,,,TV2 Média Csoport Kft.,HU,,,c/HU,hun,,FALSE,,,,https://tv2play.hu/jockytv,https://i.imgur.com/wLawFVP.png JOCXDTV.jp,JOCX-DTV,Fuji TV;フジテレビ,FNN/FNS,,JP,,,c/JP,jpn,,FALSE,,,,https://www.fujitv.co.jp/,https://i.imgur.com/sEWDmMD.png JODFDTV.jp,JODF-DTV,IBC TV;IBCテレビ,JNN/TBS Network,,JP,,,c/JP,jpn,,FALSE,,,,https://www.ibc.co.jp/,https://i.imgur.com/uraGabS.png JODRDTV.jp,JODR-DTV,BSN;Broadcasting System of Niigata;新潟放送,,,JP,JP-15,Niigata,s/JP-15,jpn,,FALSE,,,,https://www.ohbsn.com/,https://i.imgur.com/O0AUoGM.png @@ -12085,7 +12112,7 @@ KICUDT4.us,KICU-DT4,,Decades,,US,US-CA,San Jose,s/US-CA,eng,,FALSE,,,,,https://u KICUDT5.us,KICU-DT5,,The Grio,,US,US-CA,San Jose,s/US-CA,eng,,FALSE,,,,,https://upload.wikimedia.org/wikipedia/en/6/66/The_Grio_logo.png KIDBLD2.us,KIDB-LD2,,My Network TV,,US,US-TX,Sweetwater,s/US-TX,eng,,FALSE,,,,,https://upload.wikimedia.org/wikipedia/commons/thumb/3/38/MyNetworkTV_2D_Logo.svg/512px-MyNetworkTV_2D_Logo.svg.png KIDBLD3.us,KIDB-LD3,,Cozi TV,,US,US-TX,Sweetwater,s/US-TX,eng,,FALSE,,,,,https://upload.wikimedia.org/wikipedia/commons/thumb/f/f4/Cozi_TV_logo.svg/512px-Cozi_TV_logo.svg.png -Kiddiwinks.za,Kiddiwinks,,,,ZA,,,c/ZA,eng,,FALSE,,,,,https://i.imgur.com/ZEp1y2E.png +Kiddiwinks.za,Kiddiwinks,,,,ZA,,,c/ZA,eng,,FALSE,,,,,https://i.imgur.com/tStBWnn.png KidGenius.us,Kid Genius,,,,US,,,c/US,eng,kids,FALSE,,,,,https://pbs.twimg.com/profile_images/633357710969303040/ZKJg46ZY.jpg KIDKDT1.us,KIDK-DT1,,Dabl,,US,US-ID,Idaho Falls,s/US-ID,eng,,FALSE,,,,http://www.localnews8.com/,https://upload.wikimedia.org/wikipedia/en/thumb/c/cb/Dabl_logo.svg/512px-Dabl_logo.svg.png KIDKDT2.us,KIDK-DT2,,FOX,,US,US-ID,Idaho Falls,s/US-ID,eng,,FALSE,,,,,https://upload.wikimedia.org/wikipedia/commons/thumb/f/f0/Fox_Networks_Group_US_logo.svg/512px-Fox_Networks_Group_US_logo.svg.png @@ -12139,7 +12166,7 @@ KIIOLD1.us,KIIO-LD1,,US Armenia,,US,US-CA,Los Angeles,s/US-CA,eng,,FALSE,,,,,htt KIIOLD4.us,KIIO-LD4,,AABC TV,,US,US-CA,Los Angeles,s/US-CA,eng,,FALSE,,,,https://www.aabc.tv/,https://i.imgur.com/Spu4s89.png KIIOLD6.us,KIIO-LD6,,amga TV,,US,US-CA,Los Angeles,s/US-CA,eng,,FALSE,,,,,https://i.imgur.com/yNNJBJx.png KIITCD1.us,KIIT-CD1,,FOX,,US,US-NE,North Platte,s/US-NE,eng,,FALSE,,,,,https://upload.wikimedia.org/wikipedia/commons/thumb/f/f0/Fox_Networks_Group_US_logo.svg/512px-Fox_Networks_Group_US_logo.svg.png -KIKA.de,KIKA,,,,DE,,,c/DE,deu,,FALSE,,,,https://www.kika.de/,https://i.imgur.com/sDa6LFn.png +KiKA.de,KiKA,Der Kinderkanal;KI.KA,,ARD;ZDF,DE,,,c/DE,deu,kids,FALSE,,,,https://www.kika.de/,https://i.imgur.com/vZdNp5S.png KIKUDT1.us,KIKU-DT1,,Independent,,US,US-HI,Honolulu,s/US-HI,eng,,FALSE,,,,https://www.kitv.com/kiku/,https://i.imgur.com/86RTX6G.png KIKUDT2.us,KIKU-DT2,,CHARGE!,,US,US-HI,Honolulu,s/US-HI,eng,,FALSE,,,,,https://upload.wikimedia.org/wikipedia/commons/thumb/1/10/Charge%21_Logo_2020.svg/512px-Charge%21_Logo_2020.svg.png KIKUDT3.us,KIKU-DT3,,Laff,,US,US-HI,Honolulu,s/US-HI,eng,,FALSE,,,,,https://upload.wikimedia.org/wikipedia/commons/1/1e/LAFF_logo.png @@ -12172,6 +12199,7 @@ KINCDT4.us,KINC-DT4,,True Crime Network,,US,US-NV,Las Vegas,s/US-NV,eng,,FALSE,, KINCDT5.us,KINC-DT5,,Quest,,US,US-NV,Las Vegas,s/US-NV,eng,,FALSE,,,,,https://upload.wikimedia.org/wikipedia/en/thumb/8/85/Quest_logo.png/512px-Quest_logo.png KingCountyTV.us,King County TV,KCTV,,,US,US-WA,King County,s/US-WA,eng,general,FALSE,,,,https://kingcounty.gov/depts/KCTV.aspx,https://i.imgur.com/3sEnrIM.png KingdomAccessTVChannel192.us,Kingdom Access TV Channel 192,KATV Channel 192,,,US,US-VT,St Johnsbury,s/US-VT,eng,general,FALSE,,,,https://www.katv.org/live,https://i.imgur.com/YbIzWdr.png +KingdomCitizensTV.za,Kingdom Citizens TV,,,,ZA,,,c/ZA,eng,religious,FALSE,,,,https://video.premiumfree.tv/linear/kingdom-citizens-tv,https://i.imgur.com/rPxm9N5.png KingdomGloryTV.us,Kingdom Glory TV,,,,US,,,c/US,amh,,FALSE,,,,,https://www.lyngsat.com/logo/tv/kk/kingdom-glory-tv-us.png KingdomLifeNetwork.za,Kingdom Life Network,,,,ZA,,,c/ZA,eng,,FALSE,,,,,https://i.imgur.com/PQmZRG2.png KingdomTelevision.ke,Kingdom Television,,,,KE,,Nairobi,c/KE,eng,religious,FALSE,,,,https://kingdomtelevision.tv/live/,https://kingdomtelevision.tv/wp-content/uploads/2021/01/logo.jpg @@ -12283,7 +12311,7 @@ KIVIDT4.us,KIVI-DT4,,Bounce,,US,US-ID,Nampa,s/US-ID,eng,,FALSE,,,,,https://uploa KIVIDT5.us,KIVI-DT5,,Court TV,,US,US-ID,Nampa,s/US-ID,eng,,FALSE,,,,,https://upload.wikimedia.org/wikipedia/en/b/bf/Court_TV_2019.png KIVYLD1.us,KIVY-LD1,,Antenna,,US,US-TX,Crockett,s/US-TX,eng,,FALSE,,,,,https://i.imgur.com/ocs2DeU.png KIVYLD2.us,KIVY-LD2,,Family Channel USA,,US,US-TX,Crockett,s/US-TX,eng,,FALSE,,,,,https://upload.wikimedia.org/wikipedia/en/5/5f/The_Family_Channel_Logo.png -KIX.hk,KIX,,,,HK,,,r/SEA,eng;zho;msa;ind,entertainment,FALSE,2009-08-01,,,http://www.kix-tv.com/,https://i.imgur.com/zWcUAdb.png +KIX.hk,KIX,,,Celestial Tiger Entertainment,HK,,,r/SEA,eng;zho;msa;ind,entertainment,FALSE,2009-08-01,,,http://www.kix-tv.com/,https://i.imgur.com/zWcUAdb.png KIXEDT1.us,KIXE-DT1,,PBS,,US,US-CA,Redding,s/US-CA,eng,,FALSE,,,,http://www.kixe.org/,https://upload.wikimedia.org/wikipedia/en/thumb/3/33/PBS_logo.svg/512px-PBS_logo.svg.png KIXEDT2.us,KIXE-DT2,,Create,,US,US-CA,Redding,s/US-CA,eng,,FALSE,,,,,https://upload.wikimedia.org/wikipedia/commons/thumb/7/71/Create_TV_network_logo.svg/512px-Create_TV_network_logo.svg.png KIXEDT3.us,KIXE-DT3,,PBS World,,US,US-CA,Redding,s/US-CA,eng,,FALSE,,,,,https://upload.wikimedia.org/wikipedia/commons/6/6b/PBSworld.png @@ -14723,6 +14751,7 @@ KWCMDT6.us,KWCM-DT6,,FNX,,US,US-MN,Appleton,s/US-MN,eng,,FALSE,,,,,https://uploa KWDALD2.us,KWDA-LD2,,Vida Vision,,US,US-TX,Dallas,s/US-TX,eng,,FALSE,,,,,https://i.imgur.com/SJ6k3UR.jpg KWDKDT1.us,KWDK-DT1,,Daystar,,US,US-WA,Tacoma,s/US-WA,eng,,FALSE,,,,,https://upload.wikimedia.org/wikipedia/en/thumb/9/93/Daystar_TV.PNG/512px-Daystar_TV.PNG KweliTV.us,Kweli TV,,,,US,,,c/US,eng,culture,FALSE,,,,,https://i.imgur.com/LXMlbda.png +KwendaMagic.za,Kwenda Magic,,,Multichoice,ZA,,,c/ZA,eng,,FALSE,,,,https://www.dstv.com/kwendamagic/pt-ao/home,https://i.imgur.com/9tI5cSJ.png KWESDT1.us,KWES-DT1,,NBC,,US,US-TX,Midland,s/US-TX,eng,,FALSE,,,,https://www.newswest9.com/,https://i.imgur.com/qshcBQk.jpg KWESDT2.us,KWES-DT2,,Bounce,,US,US-TX,Midland,s/US-TX,eng,,FALSE,,,,,https://upload.wikimedia.org/wikipedia/en/thumb/e/e0/Bounce_TV_logo.svg/512px-Bounce_TV_logo.svg.png KWESDT3.us,KWES-DT3,,True Crime Network,,US,US-TX,Midland,s/US-TX,eng,,FALSE,,,,,https://upload.wikimedia.org/wikipedia/en/thumb/8/8c/True_Crime_Network_logo.svg/512px-True_Crime_Network_logo.svg.png @@ -14951,10 +14980,10 @@ KYINDT2.us,KYIN-DT2,,PBS Kids,,US,US-IA,Mason City,s/US-IA,eng,,FALSE,,,,,https: KYINDT3.us,KYIN-DT3,,PBS World,,US,US-IA,Mason City,s/US-IA,eng,,FALSE,,,,,https://i.imgur.com/DMN8DOO.png KYINDT4.us,KYIN-DT4,,PBS Create,,US,US-IA,Mason City,s/US-IA,eng,,FALSE,,,,,https://i.imgur.com/ccNkE8t.png KyivTV.ua,Kyiv TV,Kyïv TV,,,UA,,,c/UA;c/RU,ukr,,FALSE,,,,https://tv.kyiv.media/,https://i.imgur.com/Cy3GaMr.png -KykNet.za,KykNet,,,,ZA,,,c/ZA,afr,,FALSE,,,,https://kyknet.dstv.com/,https://i.imgur.com/4JmQCIt.png -KykNetKie.za,KykNet & Kie,,,,ZA,,,c/ZA,afr,,FALSE,,,,https://kyknet.dstv.com/kanaal/kyknet-kie,https://i.imgur.com/rGHkaZ8.png -KykNetLekker.za,KykNet Lekker!,,,,ZA,,,c/ZA,afr,,FALSE,,,,https://kyknet.dstv.com/show/kyknet-lekker,https://i.imgur.com/feeGJiv.png -KykNetNou.za,KykNet Nou!,,,,ZA,,,c/ZA,afr,,FALSE,,,,https://kyknet.dstv.com/kanaal/kyknet-nou,https://i.imgur.com/CIRQSXs.png +KykNet.za,KykNet,,,Multichoice,ZA,,,c/ZA,afr,,FALSE,,,,https://kyknet.dstv.com/,https://i.imgur.com/4JmQCIt.png +kykNETkie.za,kykNET&kie,,,Multichoice,ZA,,,c/ZA,afr,,FALSE,,,,https://kyknet.dstv.com/kanaal/kyknet-kie,https://i.imgur.com/KrhcBVI.png +KykNetLekker.za,KykNet Lekker!,,,Multichoice,ZA,,,c/ZA,afr,,FALSE,,,,https://kyknet.dstv.com/show/kyknet-lekker,https://i.imgur.com/2LP7AaS.png +kykNETNOU.za,kykNET NOU!,,,Multichoice,ZA,,,c/ZA,afr,,FALSE,,,,https://kyknet.dstv.com/kanaal/kyknet-nou,https://i.imgur.com/B2JwRkW.png KYLEDT1.us,KYLE-DT1,,MyNetworkTV,,US,US-TX,Bryan,s/US-TX,eng,,FALSE,,,,http://www.mycentx.com/,https://upload.wikimedia.org/wikipedia/commons/thumb/3/38/MyNetworkTV_2D_Logo.svg/512px-MyNetworkTV_2D_Logo.svg.png KYLEDT2.us,KYLE-DT2,,FOX,,US,US-TX,Bryan,s/US-TX,eng,,FALSE,,,,,https://upload.wikimedia.org/wikipedia/commons/thumb/f/f0/Fox_Networks_Group_US_logo.svg/512px-Fox_Networks_Group_US_logo.svg.png KYLEDT3.us,KYLE-DT3,,Antenna,,US,US-TX,Waco,s/US-TX,eng,,FALSE,,,,,https://i.imgur.com/ocs2DeU.png @@ -15351,6 +15380,7 @@ LiaoningTV.cn,Liaoning TV,,,,CN,,,c/CN,zho,,FALSE,,,,http://www.lntv.cn/,https:/ LiberationTV.ng,Liberation TV,,,,NG,,,c/NG,eng,,FALSE,,,,https://gracenation.ng/liberationtv,https://i.imgur.com/MjbLGOu.png LibertadDigitalTV.es,Libertad Digital TV,,,,ES,,,c/ES,spa,news,FALSE,,,,https://tv.libertaddigital.com/directo.html,https://i.imgur.com/cYACNhh.png LibertasTV.hr,Libertas TV,Libertas Televiziji;LTV,,,HR,,Dubrovnik,c/HR,hrv,general,FALSE,,,,https://libertas.tv/,https://i.imgur.com/4R4fhbd.png +LibertyLearn.za,Liberty Learn,Mindset Learn,,Mindset Network;Liberty,ZA,,,c/ZA,eng,education,FALSE,,,,https://www.mindset.africa/,https://i.imgur.com/ZaY7vrM.png LibertyTV.cm,Liberty TV,,,,CM,,,c/CM,fra,,FALSE,,,,,https://i.imgur.com/AiwRb5i.png LibertyTV.ng,Liberty TV,,,,NG,,,c/NG,eng,,FALSE,,,,https://libertytvradio.com/,https://i.imgur.com/ieJpUu0.png LibraryChannel.us,Library Channel,,,,US,US-IN,Bloomington,s/US-IN,eng,education,FALSE,,,,https://catstv.net/livestream.php?channel=library,https://i.imgur.com/xDddXFe.png @@ -15404,6 +15434,7 @@ LifeTV.in,Life TV,,,,IN,,,c/IN,hin;eng,religious,FALSE,,,,http://watchlifetv.net LifeTv.sk,LifeTv,,,,SK,,,c/SK,slk,,FALSE,,,,https://www.lifetv.sk/,https://i.imgur.com/jO8kAY2.png LifeTV.tr,Life TV,,,,TR,,,c/TR,tur,news,FALSE,,,,http://lifetv.com.tr/,https://i.imgur.com/lWeJxm0.png LifeTV.tw,Life TV,,,,TW,,,c/TW,zho,,FALSE,,,,http://www.lifetv.org.tw/,https://i.imgur.com/flAIJZO.png +LifeTV.za,Life TV,,,,ZA,,,c/ZA,eng,,FALSE,,,,https://video.premiumfree.tv/?section=documentarysection,https://i.imgur.com/C5YxD5m.png LifeTVAsia.ph,Life TV Asia,,,,PH,,,c/PH,tgl,,FALSE,,,,,https://i.imgur.com/xUr7A4V.png LifevisionTV.us,LifevisionTV,,,,US,,,c/US,eng,religious,FALSE,,,,,https://i.imgur.com/pF6Wowj.jpg Liga.ph,Liga,,,,PH,,,c/PH,eng,sports,FALSE,2018-01-01,,,http://sports.abs-cbn.com/,https://i.imgur.com/bRb0Tlv.png @@ -15432,7 +15463,7 @@ LigueNationaledeHockey2.ca,Ligue Nationale de Hockey 2,,,,CA,,,c/CA,fra,,FALSE,, LikeHDTV.mn,Like HD TV,,,,MN,,,c/MN,mon,lifestyle,FALSE,,,,http://www.liketv.mn/,https://i.imgur.com/W2eJq65.png LiloTV.de,Lilo TV,,,,DE,,,c/DE,deu,,FALSE,,,,https://lilotv.de/,https://i.imgur.com/hjSwwVW.png LimaLive.pe,LimaLive,,,,PE,PE-LIM,Lima,c/PE,spa,,FALSE,,,,https://grupolimalive.com/,https://i.imgur.com/cVUmoKE.png -Limelight.za,Limelight,,,,ZA,,,c/ZA,eng,,FALSE,,,,https://www.africaxp.com/,https://i.imgur.com/4h8q1NU.png +Limelight.za,Limelight,,,AfricaXP,ZA,,,c/ZA,eng,,FALSE,,,,https://www.africaxp.com/,https://i.imgur.com/yclinEh.png LimonTV.cr,Limon TV,Limón TV,,,CR,,,c/CR,spa,general,FALSE,,,,https://www.limonhoy.com,https://i.ibb.co/rdpcv7C/1689421727166.jpg LimpopoTV.za,Limpopo TV,,,,ZA,,,c/ZA,eng,,FALSE,,,,http://www.limpopotelevision.co.za/,https://i.imgur.com/0L0M5xA.png LIMTV.py,LIM TV,,,,PY,,,c/PY,spa,,FALSE,,,,https://tv.limpy.online/,https://i.imgur.com/CALoCyo.png @@ -15546,9 +15577,9 @@ LokaleOmroepZeewolde.nl,Lokale Omroep Zeewolde,LOZ,,,NL,,,c/NL,nld,general,FALSE LokSabhaTV.in,Lok Sabha TV,,,Lok Sabha,IN,,,c/IN,eng,,FALSE,,,,https://loksabhatv.nic.in/,https://i.imgur.com/QavgfiK.png LokshahiNews.in,Lokshahi News,,,,IN,,,c/IN,mar,news,FALSE,,,,https://www.lokshahinews.com/,https://i.imgur.com/bpgdafu.png LOKTV.nl,LOK TV,,,,NL,,,c/NL,nld,,FALSE,,,,,https://i.imgur.com/gKOcxmL.png -Lol.rs,Lol,,,,RS,,,c/RS,srp,,FALSE,,,,http://www.pink.rs/lol,https://i.imgur.com/gtErO9t.png -LOLAfrica.za,LOL Africa,,,,ZA,,,c/ZA,eng,,FALSE,,,,,https://www.lyngsat.com/logo/tv/ll/lol-africa-za.png -LollyKids.uk,Lolly Kids,,,,UK,,,c/UK,eng,kids,FALSE,,,,https://www.mimyuni.com/,https://i.imgur.com/DOpgaBe.png +LOL.rs,LOL,,,Željko Mitrović,RS,,,c/RS,srp,lifestyle,FALSE,,,,http://www.pink.rs/lol,https://i.imgur.com/fPdlyJJ.png +LOLAfrica.za,LOL Africa,,,AfricaXP,ZA,,,c/ZA,eng,,FALSE,,,,,https://i.imgur.com/mgUk4qB.png +LollyKids.uk,Lolly Kids,,,Mimyuni Media Entertainment EOOD,UK,,,c/UK,eng,kids,FALSE,,,,https://www.mimyuni.com/,https://i.imgur.com/DOpgaBe.png LoloTV.lv,Lolo TV,Pingvīns,,Teledistribution Baltic,LV,,,c/LV,rus;lat,animation;kids,FALSE,,,,http://www.lolotv.lv/,https://static.wikia.nocookie.net/logopedia/images/2/2a/LoloTV_logo_2019.png LOLStandUp.us,LOL! Stand Up,,,,US,,,c/US,eng,comedy,FALSE,,,,https://watch.plex.tv/live-tv/channel/lol-stand-up,https://i.imgur.com/qgsyzW4.png LolweTV.ke,Lolwe TV,,,,KE,,,c/KE,eng,,FALSE,,,,https://www.lolwe.tv/,https://i.imgur.com/tjZ1cOP.png @@ -15627,7 +15658,7 @@ LoveNature.ca,Love Nature,,,,CA,,,c/CA,eng;zho;tur;bul;ces;hun;rus;spa,outdoor,F LoveNature4K.ca,Love Nature 4K,,,,CA,,,c/CA,eng,outdoor,FALSE,,,,https://tv.lovenature.com/,https://i.imgur.com/oDacp1F.png LoveNatureenEspanol.us,Love Nature en Espanol,Love Nature en Español,,,US,,,c/US,eng,,FALSE,,,,https://watch.plex.tv/live-tv/channel/love-nature-en-espanol,https://i.imgur.com/7uNdcWB.png LoveofJesusTV.pk,Love of Jesus TV,,,,PK,,,c/PK,eng,,FALSE,,,,,https://i.imgur.com/x6Nr3kl.png -Loversenykozvetites.hu,Loverseny kozvetites,Lóverseny közvetítés,,,HU,,,c/HU,hun,,FALSE,,,,,https://i.imgur.com/ieVyC2i.png +Loversenykozvetites.hu,Loverseny kozvetites,Lóverseny közvetítés,,,HU,,,c/HU,hun,,FALSE,,,,,https://i.imgur.com/IGajR6G.png LoveTelevision.bz,Love Television,,,,BZ,,,c/BZ,eng,news,FALSE,,,,https://lovefm.com/,https://i.imgur.com/ZT9tWfj.png LoveTV.mk,Love TV,,,,MK,,Skopje,c/MK,mkd,music,FALSE,,,,https://stream.nasatv.com.mk/lovetv/,https://i.imgur.com/B8iaejQ.png LoveWorldIndia.in,LoveWorld India,,,,IN,,,c/IN,afr,,FALSE,,,,https://www.lbntv.org/,https://i.imgur.com/6AEnf0C.png @@ -15663,6 +15694,7 @@ LTTTV.ca,LTT TV,Linus Tech Tips TV,,Linus Media Group,CA,,,c/CA,eng,,FALSE,,,,,h LTV.cl,LTV,,,,CL,CL-AR,Renaicos,c/CL,spa,,FALSE,,,,https://www.ltvcanal.cl/,https://i.imgur.com/XHs06BX.png LTV.de,L TV,,,,DE,,,c/DE,deu,,FALSE,,,,https://www.l-tv.de/,https://cdn.hd-plus.de/senderlogos/bright-cropped/24496-1.png LTV.hn,LTV,,,,HN,,,c/HN,spa,,FALSE,,,,https://www.ltv.hn/,https://i.imgur.com/KBYUOcP.png +LTV.ls,LTV,Lesotho Television;TV Lesotho,,,LS,,,c/LS,eng,,FALSE,,,,,https://i.imgur.com/AgzfwgN.png LTV.us,LTV,,,,US,US-FL,Largo,s/US-FL,eng,legislative,FALSE,,,,https://www.largo.com/connect/mayor_and_commission/watch_meetings.php,https://i.imgur.com/FGGbMi0.png LTV1.lv,LTV1,,,,LV,,,c/LV,lav,,FALSE,,,,https://replay.lsm.lv/lv/tiesraide/ltv1,https://upload.wikimedia.org/wikipedia/commons/thumb/4/4a/LTV1_%282022%29.svg/512px-LTV1_%282022%29.svg.png LTV7.lv,LTV7,,,,LV,,,c/LV,lav,,FALSE,,,,https://ltv.lsm.lv/lv/ltv7/,https://upload.wikimedia.org/wikipedia/commons/thumb/f/f2/LTV7_Logo_2021.svg/512px-LTV7_Logo_2021.svg.png @@ -15710,18 +15742,19 @@ M1.lt,M-1,,,,LT,,,c/LT,lit,,FALSE,,,,https://www.m-1.fm/,https://i.imgur.com/dGh M1.ua,M1,,,,UA,,,c/UA;c/RU,ukr,music,FALSE,,,,https://m1.tv/,https://i.imgur.com/IeUc8NJ.png M1Film.hr,M1 Film,,,,HR,,,c/HR,hrv,movies,FALSE,,,,http://www.m1film.hr/,https://i.imgur.com/OEo6reV.png M1Gold.hr,M1 Gold,,,,HR,,,c/HR,hrv,,FALSE,,,,http://www.m1film.hr/gold/,https://i.imgur.com/g5hnghG.png -M2.hu,M2,,,,HU,,,c/HU,hun,,FALSE,,,,https://mediaklikk.hu/m2/,https://i.imgur.com/B0nYT0l.png +M2.hu,M2,,,Duna Médiaszolgáltató Nonprofit Zrt.,HU,,,c/HU,hun,,FALSE,,,,https://mediaklikk.hu/m2/,https://i.imgur.com/B0nYT0l.png M2.ua,M2,,,,UA,,,c/UA;c/RU,ukr,music,FALSE,,,,http://m2.tv/,https://i.imgur.com/9ffrXBg.png M24TV.ma,M24 TV,,,,MA,,,c/MA,ara,news,FALSE,,,,https://m24tv.ma/,https://i.imgur.com/7uv5Feu.png m2oTV.it,m2o TV,,,,IT,,,c/IT,ita,music,FALSE,,,,https://www.m2o.it/,https://upload.wikimedia.org/wikipedia/commons/thumb/3/34/Radio_m2o_-_Logo_2019.svg/512px-Radio_m2o_-_Logo_2019.svg.png +M2Petofi.hu,M2 Petofi,M2 Petőfi,,Duna Médiaszolgáltató Nonprofit Zrt.,HU,,,c/HU,hun,,FALSE,,,,,https://i.imgur.com/N7fc9X6.png M3.hu,M3,,,,HU,,,c/HU,hun,,FALSE,,,,https://mediaklikk.hu/m3/,https://i.imgur.com/IaQREoF.png M4.at,M4,,,,AT,,,c/AT,deu,,FALSE,,,,,https://i.imgur.com/xmfgBrg.png M4Sport.hu,M4 Sport,,,,HU,,,c/HU,hun,sports,FALSE,,,,https://m4sport.hu/,https://i.imgur.com/TQ4uJZk.png M4SportPlus.hu,M4 Sport +,,,,HU,,,c/HU,hun,sports,FALSE,,,,https://m4sport.hu/,https://i.imgur.com/0wrFYdN.png M4TV.at,M4TV,,,,AT,,,c/AT,deu,,FALSE,,,,https://www.m4tv.at/,https://i.imgur.com/1pJaEi6.png M4TVMalayalam.au,M4TV Malayalam,,,,AU,,,c/AU,mal,,FALSE,,,,https://m4malayalam.tv/,https://i.imgur.com/dTR6H2A.png -M5.hu,M5,,,,HU,,,c/HU,hun,,FALSE,,,,https://www.mediaklikk.hu/m5/,https://i.imgur.com/y21wFd0.png -M6.fr,M6,,,,FR,,,c/FR,fra,entertainment,FALSE,,,,https://www.6play.fr/m6,https://i.imgur.com/7GVp3fW.png +M5.hu,M5,,,Duna Médiaszolgáltató Nonprofit Zrt.,HU,,,c/HU,hun,,FALSE,,,,https://www.mediaklikk.hu/m5/,https://i.imgur.com/y21wFd0.png +M6.fr,M6,RTL6,,Groupe M6,FR,,,c/FR,fra,entertainment,FALSE,,,,https://www.6play.fr/m6,https://i.imgur.com/7GVp3fW.png M6International.fr,M6 International,,M6,Groupe M6,FR,,,c/AE;c/CA,fra,entertainment,FALSE,2019-10-23,,,https://www.m6international.tv/,https://www.m6international.tv/wp-content/uploads/2020/12/m6-international.png M6Music.fr,M6 Music,,,M6 Group,FR,,,c/FR,fra,music,FALSE,1998-03-05,,,https://www.6play.fr/m6,https://upload.wikimedia.org/wikipedia/en/c/c9/M6_Music_%282012%29.png M6Switzerland.ch,M6 Switzerland,,,,CH,,,c/CH,fra,,FALSE,,,,https://www.6play.fr/m6,https://i.imgur.com/Q3pLdSm.png @@ -15768,6 +15801,7 @@ MaghrebTV.be,Maghreb TV,,,,BE,,,c/BE,fra,,FALSE,,,,https://maghrebtelevision.com Magic.uk,Magic,,,,UK,,,c/UK,eng,,FALSE,,,,http://www.magic.co.uk/tv,https://i.imgur.com/47ZkVhO.png MagicKids.ar,Magic Kids,,,,AR,AR-C,Ciudad Autónoma de Buenos Aires,s/AR-C,spa,animation,FALSE,1995-01-12,2006-05-24,,,https://i.imgur.com/CMImqQY.png MagicPowerRadio.nl,Magic PowerRadio,,,,NL,,,c/NL,nld,entertainment,FALSE,,,,https://www.magic-powerradio.nl/video,https://i.imgur.com/sWcwIte.png +MagicShowcase.za,Magic Showcase,,,MultiChoice,ZA,,,c/ZA,eng,,FALSE,,,,https://www.dstv.com/mzansimagic/en-za/channel/magic-showcase,https://i.imgur.com/vmGj5Qr.png MagicSportTV.rw,Magic Sport TV,,,,RW,,,c/RW,eng,sports,FALSE,,,,https://rba.co.rw/,https://i.imgur.com/Le7ZxXn.png MagicTV.bg,Magic TV,,,,BG,,,c/BG,bul,,FALSE,,,,https://www.magic.bg/,https://i.imgur.com/n7bcrrp.png MagicTV.gr,Magic TV,,,,GR,,,c/GR,ell,music,FALSE,,,,,https://i.imgur.com/QZQhg6C.png @@ -15781,7 +15815,7 @@ MagnoliaNetworkEast.us,Magnolia Network East,,,,US,,,c/US,eng,,FALSE,,,,https:// MagnoliaNetworkWest.us,Magnolia Network West,,,,US,,,c/US,eng,,FALSE,,,,https://magnolia.com/network/,https://upload.wikimedia.org/wikipedia/commons/thumb/4/40/Magnolia_Network.svg/512px-Magnolia_Network.svg.png MagtiHiti.ge,Magti Hiti,,,,GE,,,c/GE,kat,,FALSE,,,,https://www.magticom.ge/,https://i.imgur.com/amFMWiK.png MagtiKino.ge,Magti Kino,,,,GE,,,c/GE,kat,movies,FALSE,,,,https://www.magticom.ge/,https://i.imgur.com/UCGUwF7.png -MagyarMoziTV.hu,Magyar Mozi TV,,,,HU,,,c/HU,hun,movies,FALSE,,,,https://magyarmozitv.hu/,https://musor.tv/images/magyar_mozi_tv.png +MagyarMoziTV.hu,Magyar Mozi TV,,,,HU,,,c/HU,hun,movies,FALSE,,,,https://magyarmozitv.hu/,https://i.imgur.com/cXajs8V.png MahaaNews.in,Mahaa News,,,,IN,,,c/IN,tel,news,FALSE,,,,https://mahaanews.com/,https://i.imgur.com/buT76vR.png MahaasinTV.tz,Mahaasin TV,,,,TZ,,,c/TZ,eng,,FALSE,,,,http://www.mahaasintv.co.tz/,https://i.imgur.com/wdfdKvC.png MahabadTV.ir,Mahabad TV,,,,IR,,,c/IR,fas,,FALSE,,,,http://mahabad.irib.ir/tv,https://i.imgur.com/hi4T2e3.png @@ -15797,10 +15831,10 @@ Maidan.ru,Maidan,Майдан,,,RU,,,c/RU,rus,music,FALSE,,,,https://maidan.tv/, MaimonTVCanal3.do,Maimon TV Canal 3,Maimón TV Canal 3,,,DO,,,c/DO,spa,,FALSE,,,,https://www.maimontv.com/,https://i.imgur.com/twldaaC.png MainEvent.au,Main Event,,,,AU,,,c/AU,eng,sports,FALSE,,,,https://www.mainevent.com.au/,https://i.imgur.com/uO7usc5.png MainlandNewsChannel.hk,Mainland News Channel,神州新聞台,,,HK,,,c/HK,zho,news,FALSE,2005-04-18,,,https://promo.mytvsuper.com/en/epg-channel/CMN1,https://i.imgur.com/mJwISRk.png -MaishaMagicBongo.za,Maisha Magic Bongo,,,,ZA,,,c/ZA,swa,,FALSE,,,,https://maishamagicbongo.dstv.com/,https://i.imgur.com/b1cpmMx.png -MaishaMagicEast.za,Maisha Magic East,,,,ZA,,,c/ZA,swa,,FALSE,,,,https://maishamagiceast.dstv.com/,https://i.imgur.com/BKy3Jun.png -MaishaMagicMovies.za,Maisha Magic Movies,,,,ZA,,,c/ZA,afr,movies,FALSE,,,,https://maishamagicmovies.dstv.com/,https://i.imgur.com/5tiEmM1.png -MaishaMagicPlus.za,Maisha Magic Plus,,,,ZA,,,c/ZA,swa,,FALSE,,,,https://maishamagicplus.dstv.com/,https://i.imgur.com/YDrVVQd.png +MaishaMagicBongo.za,Maisha Magic Bongo,,,Multichoice,ZA,,,c/ZA,swa,,FALSE,,,,https://maishamagicbongo.dstv.com/,https://i.imgur.com/pNKZwox.png +MaishaMagicEast.za,Maisha Magic East,,,Multichoice,ZA,,,c/ZA,swa,,FALSE,,,,https://maishamagiceast.dstv.com/,https://i.imgur.com/S9ZMGR5.png +MaishaMagicMovies.za,Maisha Magic Movies,,,Multichoice,ZA,,,c/ZA,afr,movies,FALSE,,,,https://maishamagicmovies.dstv.com/,https://i.imgur.com/S1B8E6W.png +MaishaMagicPlus.za,Maisha Magic Plus,,,Multichoice,ZA,,,c/ZA,swa,,FALSE,,,,https://maishamagicplus.dstv.com/,https://i.imgur.com/5UXArj4.png MaishaMagicPoa.za,Maisha Magic Poa,,,,ZA,,,c/ZA,afr,,FALSE,,,,,https://i.imgur.com/ePv7axX.png MaisnaTela.br,Mais na Tela,,,,BR,,,c/BR,por,,FALSE,,,,https://canaisglobo.globo.com/c/mais-na-tela/,https://i.imgur.com/9MtbKve.png MaisonTravauxTV.fr,Maison & Travaux TV,,,,FR,,,c/FR,fra,,FALSE,,,,,https://i.imgur.com/uYpc6nE.png @@ -15861,6 +15895,8 @@ Mangas.fr,Mangas,,,,FR,,,c/FR,fra,,FALSE,,,,https://www.mangas.fr/,https://i.img Mango.in,Mango,,,,IN,,,c/IN,hin,,FALSE,,,,,https://i.imgur.com/neZm4CY.png Mangorn.th,Mangorn,,,,TH,,,c/TH,tha,,FALSE,,,,,https://i.imgur.com/sV0S0mV.png Mangystay.kz,Mangystay,Mańǵystaý,,Khabar Agency,KZ,,Aktau,c/KZ,kaz;rus;eng,general,FALSE,,,,https://mangystautv.kz/kz,https://i.imgur.com/9JfLseu.png +ManingueKool.za,Maningue Kool,,,Multichoice,ZA,,,c/ZA,eng,,FALSE,,,,https://www.dstv.com/maninguemagic/pt-mz/channel/maningue-kool,https://i.imgur.com/nBW2I9v.png +ManingueMagic.za,Maningue Magic,,,Multichoice,ZA,,,c/ZA,eng,,FALSE,,,,https://www.dstv.com/maninguemagic/pt-mz/home,https://i.imgur.com/V0ZoWVd.png ManisaTV.tr,Manisa TV,,,,TR,,,c/TR,tur,,FALSE,,,,https://www.manisatv.com.tr/,https://i.imgur.com/S5sYyGG.png ManjariTV.in,Manjari TV,,,,IN,,,c/IN,ori,,FALSE,,,,https://manjaritv.in/,https://i.imgur.com/DH2d6Ev.png MannersacheTV.es,Mannersache TV,Männersache TV,,,ES,,,c/ES,deu,,FALSE,,,,,https://i.imgur.com/ODAmXcy.png @@ -16082,7 +16118,7 @@ MDL.fr,MDL,Monde Du Loisir,,,FR,,,c/FR,fra,,FALSE,,,,,https://i.imgur.com/REN30b MDRFernsehenSachsen.de,MDR Fernsehen Sachsen,,,,DE,,,c/DE,deu,,FALSE,,,,http://www.mdr.de/tv/,https://i.imgur.com/cYHoPXb.png MDRFernsehenSachsenAnhalt.de,MDR Fernsehen Sachsen-Anhalt,,,,DE,,,c/DE,deu,,FALSE,,,,http://www.mdr.de/tv/,https://i.imgur.com/cYHoPXb.png MDRFernsehenThuringen.de,MDR Fernsehen Thuringen,MDR Fernsehen Thüringen,,,DE,,,c/DE,deu,,FALSE,,,,http://www.mdr.de/tv/,https://i.imgur.com/Vt31dQo.png -Me.za,Me,,,,ZA,,,c/ZA,eng,,FALSE,,,,https://m-net.dstv.com/channel/me,https://i.imgur.com/qrjhCH0.png +Me.za,Me,M-Net Essentials,,MultiChoice,ZA,,,c/ZA,eng,,FALSE,,,,https://m-net.dstv.com/channel/me,https://i.imgur.com/TXn806u.png MeaningfulTelevision.gd,Meaningful Television,MTV,,,GD,,,c/GD,eng,general,FALSE,,,,,https://i.ibb.co/fXBqJdz/MTV-Grenada-Logo-Version-2.jpg MedalhaoPersa.br,Medalhao Persa,Medalhão Persa,,,BR,,,c/BR,por,,FALSE,,,,https://medalhaopersa.com.br/,https://i.imgur.com/lGFTdSS.png MedegbeTV.bj,Medegbe TV,,,,BJ,,,c/BJ,fra,,FALSE,,,,http://www.olaoluwamedegbetv.com/,https://i.imgur.com/nafQ1aX.png @@ -16300,7 +16336,6 @@ MilyonTV.tr,Milyon TV,,,,TR,,,c/TR,tur,entertainment,FALSE,,,,https://www.milyon MiMovilTV.uy,Mi Movil TV,Mi Móvil TV,,,UY,,,c/UY,spa,entertainment,FALSE,,,,,https://i.imgur.com/5yJ7CY7.png MimozaTV.id,Mimoza TV,,,,ID,ID-GO,,s/ID-GO,ind,,FALSE,,,,https://mimoza.tv/,https://i.imgur.com/cfxeZYI.png MinberTV.et,Minber TV,,,,ET,,,c/ET,amh,,FALSE,,,,,https://i.imgur.com/c6Gm5Wy.png -MindsetLearn.za,Mindset Learn,,,,ZA,,,c/ZA,eng,,FALSE,,,,https://learn.mindset.africa/,https://i.imgur.com/SbDSHPn.png MinecrafTV.us,MinecrafTV,,,,US,,,c/US,eng,entertainment,FALSE,,,,https://pluto.tv/en/live-tv/minecraftv,https://i.imgur.com/GbLcXjL.png MinecrafTVGermany.de,MinecrafTV Germany,,,,DE,,,c/DE,deu,entertainment,FALSE,,,,https://pluto.tv/en/live-tv/minecraft-tv-de,https://i.imgur.com/GbLcXjL.png MinecrafTVUK.uk,MinecrafTV UK,,,,UK,,,c/UK,eng,entertainment,FALSE,,,,https://pluto.tv/en/live-tv/minecraft-tv-gb,https://i.imgur.com/GbLcXjL.png @@ -16477,23 +16512,17 @@ MNCSports2.id,MNC Sports 2,,,,ID,,,c/ID,ind,sports,FALSE,,,,https://www.mncchann MNCSports3.id,MNC Sports 3,,,,ID,,,c/ID,ind,sports,FALSE,,,,,https://i.imgur.com/LxzsCBg.png MNCTV.id,MNC TV,,,,ID,,,c/ID,ind;eng,general,FALSE,1991-01-23,,,https://www.mnctv.com/,https://i.imgur.com/SK8pjQy.png Mnet.kr,Mnet,엠넷,,,KR,,,c/KR,kor,entertainment;music,FALSE,1995-03-01,,,http://www.mnet.com/,https://i.imgur.com/MTvmw2Y.png -MNetAfrica.za,M-Net Africa,,,,ZA,,,c/ZA,eng,,FALSE,,,,https://m-net.dstv.com/,https://i.imgur.com/9b22b1c.png -MNetEast.za,M-Net East,,,,ZA,,,c/ZA,eng,,FALSE,,,,https://m-net.dstv.com/,https://i.imgur.com/zOlWfL0.png +MNet.za,M-Net,,,MultiChoice,ZA,,,c/ZA,eng,,FALSE,,,,https://m-net.dstv.com/,https://i.imgur.com/ulCrpLt.png MNetHD.mk,M-Net HD,,,,MK,,,c/MK,mkd,general,FALSE,,,,https://mnet.mk/,https://i.imgur.com/HDYqWuR.png MNetInfo.mk,M-Net Info,,,,MK,,,c/MK,mkd,news,FALSE,,,,https://info.mnet.mk/,https://i.ibb.co/0fnY2cj/IMG-20230419-161527.jpg MnetJapan.jp,Mnet Japan,,,,JP,,,c/JP,kor,,FALSE,,,,http://jp.mnet.com/,https://i.imgur.com/Lq1k4Np.png MNetKids.mk,M-Net Kids,,,,MK,,,c/MK,mkd,kids,FALSE,,,,https://kids.mnet.mk/,https://i.imgur.com/SbKkpuH.png -MNetMovies1.za,M-Net Movies 1,,,,ZA,,,c/ZA,eng,movies,FALSE,,,,https://m-net.dstv.com/channel/m-net-movies-1-104,https://i.imgur.com/93fnJl6.png -MNetMovies1EastAfrica.za,M-Net Movies 1 East Africa,,,,ZA,,,c/ZA,eng,movies,FALSE,,,,https://m-net.dstv.com/channel/m-net-movies-1-104,https://i.imgur.com/nFT3qSQ.png -MNetMovies1WestAfrica.za,M-Net Movies 1 West Africa,,,,ZA,,,c/ZA,eng,movies,FALSE,,,,https://m-net.dstv.com/channel/m-net-movies-1-104,https://i.imgur.com/zZND3kI.png -MNetMovies2.za,M-Net Movies 2,,,,ZA,,,c/ZA,eng,movies,FALSE,,,,https://m-net.dstv.com/channel/m-net-movies-2-106,https://i.imgur.com/UHwGt6a.png -MNetMovies3.za,M-Net Movies 3,,,,ZA,,,c/ZA,eng,movies,FALSE,,,,https://m-net.dstv.com/channel/m-net-movies-3-107,https://i.imgur.com/NoKF5I0.png -MNetMovies4.za,M-Net Movies 4,,,,ZA,,,c/ZA,eng,movies,FALSE,,,,https://m-net.dstv.com/channel/m-net-movies-4-108,https://i.imgur.com/lt9YLez.png +MNetMovies1.za,M-Net Movies 1,,,MultiChoice,ZA,,,c/ZA,eng,movies,FALSE,,,,https://m-net.dstv.com/channel/m-net-movies-1-104,https://i.imgur.com/CSaPX3u.png +MNetMovies2.za,M-Net Movies 2,,,MultiChoice,ZA,,,c/ZA,eng,movies,FALSE,,,,https://m-net.dstv.com/channel/m-net-movies-2-106,https://i.imgur.com/of0PqJy.png +MNetMovies3.za,M-Net Movies 3,,,MultiChoice,ZA,,,c/ZA,eng,movies,FALSE,,,,https://m-net.dstv.com/channel/m-net-movies-3-107,https://i.imgur.com/uCD89TX.png +MNetMovies4.za,M-Net Movies 4,,,MultiChoice,ZA,,,c/ZA,eng,movies,FALSE,,,,https://m-net.dstv.com/channel/m-net-movies-4-108,https://i.imgur.com/9eUb6XS.png MNetMoviesMenofAction.za,M-Net Movies Men of Action,,,,ZA,,,c/ZA,eng,movies,FALSE,,,,,https://i.imgur.com/vYKO4vj.png -MNetSouthAfrica.za,M-Net South Africa,,,,ZA,,,c/ZA,eng,,FALSE,,,,https://m-net.dstv.com/,https://i.imgur.com/RH0P7aQ.png MNetSport.mk,M-Net Sport,,,,MK,,,c/MK,mkd,sports,FALSE,,,,http://sport.mnet.mk/,https://i.imgur.com/7k8ar1Z.png -MNetTerrestrial.za,M-Net Terrestrial,,,,ZA,,,c/ZA,eng;afr,,FALSE,,,,https://m-net.dstv.com/,https://i.imgur.com/tlUOlO7.png -MNetWest.za,M-Net West,,,,ZA,,,c/ZA,eng,,FALSE,,,,https://m-net.dstv.com/,https://i.imgur.com/ir0tu25.png mnews.tw,mnews,鏡新聞,,,TW,,Taipei,c/TW,zho,news,FALSE,,,,https://www.mnews.tw/,https://i.ytimg.com/vi/5n0y6b0Q25o/hqdefault_live.jpg?sqp=-oaymwEjCPYBEIoBSFryq4qpAxUIARUAAAAAGAElAADIQj0AgKJDeAE=&rs=AOn4CLCXIMr1Cb8PO2vs9ZtapIAlSro4cw MNM.be,MNM,,,,BE,,,c/BE,nld,,FALSE,,,,,https://i.imgur.com/L4cD18H.png MNNCommunity.us,MNN Community,,,,US,US-NY,New York City,s/US-NY,eng,general,FALSE,,,,https://www.mnn.org/watch/channels/community-channel-1,https://i.imgur.com/GaOR1XE.png @@ -16545,7 +16574,7 @@ MonterricoTV.pe,Monterrico TV,,,Jockey Club del Peru,PE,,Lima,c/PE,spa,sports,FA MontgomeryChannel.us,Montgomery Channel,,,,US,US-MD,Rockville,s/US-MD,eng,general,FALSE,,,,https://montgomerycommunitymediatv.org/CablecastPublicSite/watch/4?channel=2,https://i.imgur.com/mU1Ixfj.png MontgomeryCollegeTelevision.us,Montgomery College Television,MCTV,,,US,US-MD,Rockville,s/US-MD,eng,education,FALSE,,,,https://www.montgomerycollege.edu/offices/advancement-and-community-engagement/mctv/index.html,https://i.imgur.com/Ly7his0.png MontrealGreekTV.ca,Montreal Greek TV,,,,CA,CA-QC,Montreal,s/CA-QC,ell;fra;eng,,FALSE,,,,http://greektimes.ca/greektv/,https://i.imgur.com/Y5YnUit.png -MoonbugKids.uk,Moonbug Kids,,,,UK,,,c/UK,eng,kids,FALSE,,,,https://www.moonbug.com/channel,https://i.imgur.com/vZHtxQb.png +MoonbugKids.uk,Moonbug Kids,,,Moonbug Entertainment,UK,,,c/UK,eng,kids,FALSE,,,,https://www.moonbug.com/channel,https://i.imgur.com/vZHtxQb.png MoonTV.in,Moon TV,,,,IN,,,c/IN,tam,news,FALSE,,,,http://www.moontvlive.com/,https://i.imgur.com/3l25EZI.png MooseLakePublicAccessTelevisionChannel7.us,Moose Lake Public Access Television Channel 7,,,,US,US-MN,Moose Lake,s/US-MN,eng,general,FALSE,,,,https://www.cityofmooselake.net/220/Public-Access-Television,https://i.imgur.com/AbcluEP.png Moovimex.mx,Moovimex,,,,MX,,,c/MX,spa,movies,FALSE,,,,,https://i.imgur.com/mty0mgJ.jpg @@ -16675,14 +16704,14 @@ MovistarPlus.pe,Movistar Plus,,,,PE,PE-LIM,Lima,c/PE,spa,entertainment,FALSE,,,, MovistarSeries.es,Movistar Series,,,,ES,,,c/ES,spa,series,FALSE,2021-07-29,2022-01-22,SeriesporMovistarPlus.es,http://www1.movistarplus.es/canal/M.+Series+Xtra/MV2,https://i.imgur.com/JxtAhZW.png MovistarSeries2.es,Movistar Series 2,,,,ES,,,c/ES,spa,series,FALSE,2021-07-29,2022-01-22,Series2porMovistarPlus.es,http://www1.movistarplus.es/canal/M.+Series+Xtra/MV2,https://i.imgur.com/M2VMC8W.png MoyaPlaneta.ru,Moya Planeta,Моя Планета,,,RU,,,c/RU,rus,outdoor,FALSE,,,,https://www.moya-planeta.ru/,https://i.imgur.com/D5d3lMJ.png -MoziPlus.hu,Mozi+,,,,HU,,,c/HU,hun,,FALSE,,,,https://tv2play.hu/moziplusz,https://i.imgur.com/EIZy9TN.png -Moziverzum.hu,Moziverzum,,,,HU,,,c/HU,hun,,FALSE,,,,https://tv2play.hu/moziverzum,https://i.imgur.com/DUbog4a.png +MoziPlus.hu,Mozi+,,,TV2 Média Csoport Kft,HU,,,c/HU,hun,,FALSE,,,,https://tv2play.hu/moziplusz,https://i.imgur.com/LtCnPFJ.png +Moziverzum.hu,Moziverzum,,,TV2 Média Csoport Kft.,HU,,,c/HU,hun,,FALSE,,,,https://tv2play.hu/moziverzum,https://i.imgur.com/NMifecQ.png MPDC.us,MPDC,Mount Prospect Digital Communications,,,US,US-IL,Mount Prospect,s/US-IL,eng,legislative,FALSE,,,,https://www.mountprospect.org/departments/village-administration/mount-prospect-digital-communications,https://i.imgur.com/9iKdBBl.png Mplex.kr,Mplex,Movie Complex;엠플렉스,,,KR,,,c/KR,kor,,FALSE,2004-01-01,,,http://www.ikmh.co.kr/03_mplex/channel.php,https://i.imgur.com/UjQpJKx.png MPlusHD.sa,M+ HD,,,,SA,,,c/SA,ara,,FALSE,,,,https://rotana.net/,https://i.imgur.com/vnbRyDs.png MPSTV190.us,MPS-TV 190,,,,US,US-MI,Midland,s/US-MI,eng,education,FALSE,,,,http://mctv.midland-mi.org/CablecastPublicSite/watch/2?channel=3,https://i.imgur.com/FbU1kRG.png MPTV.us,MPTV,,,,US,US-CA,Moorpark,s/US-CA,eng,,FALSE,,,,http://moorpark.granicus.com/MediaPlayer.php?publish_id=113,https://i.imgur.com/OOQqMQz.png -MpumaKapaTV.za,Mpuma Kapa TV,,,,ZA,,,c/ZA,eng,,FALSE,,,,,https://i.imgur.com/cHLx7wC.png +MpumaKapaTV.za,Mpuma Kapa TV,,,Thenga Holdings,ZA,,,c/ZA,eng,,FALSE,,,,,https://i.imgur.com/4RP1GX2.png MpumalangaBroadcastingTV.za,Mpumalanga Broadcasting TV,,,,ZA,,,c/ZA,eng,,FALSE,,,,,https://i.imgur.com/BZmVxz9.png MQTV.do,MQTV,,,,DO,,,c/DO,spa,entertainment,FALSE,,,,,https://i.imgur.com/y7rmtec.png MQTV.id,MQTV,,,,ID,ID-JB,Bandung,s/ID-JB,ind,,FALSE,2003-10-28,,,http://www.mqtv.co.id/,https://i.imgur.com/d8dQo6E.png @@ -16793,7 +16822,7 @@ MTVGermany.de,MTV Germany,,,Paramount Networks EMEAA,DE,,,c/DE,eng,entertainment MTVGlobal.uk,MTV Global,,,,UK,,,r/INT,eng,entertainment,FALSE,1987-08-01,,,https://www.mtv.com/,https://upload.wikimedia.org/wikipedia/commons/thumb/6/68/MTV_2021_%28brand_version%29.svg/512px-MTV_2021_%28brand_version%29.svg.png MTVGoodVibesSpain.es,MTV Good Vibes Spain,,,,ES,,,c/ES,spa,music,FALSE,,,,https://pluto.tv/en/live-tv/mtv-good-vibes-es,https://i.imgur.com/pugthdL.png MTVHitsAustralia.au,MTV Hits Australia,,,,AU,,,c/AU,eng,music,FALSE,,,,https://www.mtv.com.au/tv-schedule/mtv-hits-australia,https://i.imgur.com/x1zYoCW.png -MTVHitsEurope.uk,MTV Hits Europe,,,,UK,,,r/EUR;r/LATAM;r/AFR,eng,music,FALSE,,,,http://www.mtv.co.uk/channels/mtv-hits,https://i.imgur.com/zNscEST.png +MTVHitsEurope.uk,MTV Hits Europe,,,MTV Networks s.r.o.,UK,,,r/EUR;r/LATAM;r/AFR,eng,music,FALSE,,,,http://www.mtv.co.uk/channels/mtv-hits,https://i.imgur.com/zNscEST.png MTVHitsFrance.fr,MTV Hits France,,,,FR,,,c/FR,eng,music,FALSE,,,,http://www.mtv.fr/,https://upload.wikimedia.org/wikipedia/commons/thumb/d/d6/MTV_Hits_2021.svg/512px-MTV_Hits_2021.svg.png MTVHitsNewZealand.nz,MTV Hits New Zealand,,,,NZ,,,c/NZ,eng,music,FALSE,,,,https://www.mtv.com.au/tv-schedule/mtv-hits-new-zealand,https://upload.wikimedia.org/wikipedia/commons/thumb/d/d6/MTV_Hits_2021.svg/512px-MTV_Hits_2021.svg.png MTVHitsUK.uk,MTV Hits UK,,,,UK,,,c/UK;c/IE,eng,music,FALSE,,,,http://www.mtv.co.uk/channels/mtv-hits,https://upload.wikimedia.org/wikipedia/commons/thumb/d/d6/MTV_Hits_2021.svg/512px-MTV_Hits_2021.svg.png @@ -16993,7 +17022,7 @@ Muzhskoy.ru,Muzhskoy,Мужской,,,RU,,,c/RU,rus,,FALSE,,,,https://www.mans-t MuzikaPervogo.ru,Muzika Pervogo,Музыка Первого,,,RU,,,c/RU,rus;ukr,music,FALSE,2005-12-01,,,https://www.muz1.tv/,https://i.imgur.com/sJ2xxLy.png MuzikasVideoKanals.lv,Muzikas Video Kanals,Mūzikas Video Kanāls,,,LV,,,c/LV,lav,music,FALSE,,,,https://muzikas-video.lv/,https://i.imgur.com/guuGq6o.png MuzLife.kz,MuzLife,,,,KZ,,,c/KZ,kaz,music,FALSE,,,,,https://i.imgur.com/IIoSxHl.png -MuzsikaTV.hu,Muzsika TV,,,,HU,,,c/HU,hun,music,FALSE,,,,https://rtl.hu/,https://i.imgur.com/Wvx1yGt.png +MuzsikaTV.hu,Muzsika TV,,,Magyar RTL Televízió Zrt.,HU,,,c/HU,hun,music,FALSE,,,,https://rtl.hu/,https://i.imgur.com/kmQ5vYC.png MuzSoyuz.ru,Muz Soyuz,Муз Союз,,,RU,,Yekaterinburg,c/RU,rus,music;religious,FALSE,,,,https://muz.tv-soyuz.ru/,https://i.imgur.com/Puk1Bhx.png MuzTV.az,Muz TV,,,,AZ,,,c/AZ,aze,music,FALSE,,,,http://www.muz-tv.az/,https://i.imgur.com/CjySP1V.png MuzTV.ru,Muz-TV,Муз-ТВ,,UTH Russia,RU,,,c/RU,rus,music,FALSE,,,,https://muz-tv.ru/,https://i.imgur.com/BtqrHmz.png @@ -17110,10 +17139,10 @@ MyxUSA.us,Myx USA,,,,US,,,c/US,eng;jpn;spa;tgl,,FALSE,,,,https://myx.global/,htt MyZenNature.fr,MyZen Nature,,,,FR,,,c/FR,fra,lifestyle,FALSE,,,,https://www.myzen.tv/,https://i.imgur.com/y2uOyaD.png MyZenTV.fr,MyZen TV,,,,FR,,,c/FR,fra;eng;rus;spa;tur;bul,,FALSE,,,,https://www.myzen.tv/,https://i.imgur.com/fIi8o0C.png MyZenTV4K.fr,MyZen TV 4K,,,,FR,,,c/FR,eng;fra;rus,,FALSE,,,,https://www.myzen.tv/,https://i.imgur.com/hjEKyR1.png -MzansiBioskop.za,Mzansi Bioskop,,,,ZA,,,c/ZA,eng,,FALSE,,,,http://mzansimagic.dstv.com/category/channels/mzansi-bioskop/,https://i.imgur.com/OkZMrmp.png -MzansiMagic.za,Mzansi Magic,,,,ZA,,,c/ZA,eng,,FALSE,,,,https://www.dstv.com/mzansimagic/en-za/home,https://i.imgur.com/GuCFWvf.png -MzansiMagicMusic.za,Mzansi Magic Music,,,,ZA,,,c/ZA,eng,music,FALSE,,,,http://mzansimagic.dstv.com/category/channels/mzansi-music/,https://rndcdn.dstv.com/dstvcms/2020/04/16/MzansiMagicMusic-4-3_xlrg.png -MzansiWethu.za,Mzansi Wethu,,,,ZA,,,c/ZA,eng,,FALSE,,,,http://mzansimagic.dstv.com/category/channels/mzansi-wethu/,https://i.imgur.com/1N34meF.png +MzansiBioskop.za,Mzansi Bioskop,,,Multichoice,ZA,,,c/ZA,eng,,FALSE,,,,http://mzansimagic.dstv.com/category/channels/mzansi-bioskop/,https://i.imgur.com/Uhlrdzn.png +MzansiMagic.za,Mzansi Magic,,,Multichoice,ZA,,,c/ZA,eng,,FALSE,,,,https://www.dstv.com/mzansimagic/en-za/home,https://i.imgur.com/GuCFWvf.png +MzansiMagicMusic.za,Mzansi Magic Music,,,MultiChoice,ZA,,,c/ZA,eng,music,FALSE,,,,http://mzansimagic.dstv.com/category/channels/mzansi-music/,https://i.imgur.com/acxLlir.png +MzansiWethu.za,Mzansi Wethu,,,Multichoice,ZA,,,c/ZA,eng,,FALSE,,,,http://mzansimagic.dstv.com/category/channels/mzansi-wethu/,https://i.imgur.com/KbN3wIM.png MZSports.cr,MZ Sports,,,,CR,,San Jose,c/CR,spa,sports,FALSE,,,,https://mzsportscr.com/live/,https://i.imgur.com/pHRhBh6.png N1BosniaHerzegovina.ba,N1 Bosnia & Herzegovina,,,,BA,,,c/BA,srp,news,FALSE,,,,https://ba.n1info.com/,https://i.imgur.com/72oMSWz.png N1Croatia.hr,N1 Croatia,,,,HR,,,c/HR,srp,news,FALSE,,,,https://hr.n1info.com/,https://i.imgur.com/qcD1OOZ.png @@ -17236,7 +17265,7 @@ NationalGeographicFrance.fr,National Geographic France,,,,FR,,,c/FR,fra,document NationalGeographicGermany.de,National Geographic Germany,,,,DE,,,c/DE,deu,documentary,FALSE,1997-10-15,,,http://www.nationalgeographic.de/,https://upload.wikimedia.org/wikipedia/commons/thumb/f/fc/Natgeologo.svg/512px-Natgeologo.svg.png NationalGeographicGreece.gr,National Geographic Greece,,,,GR,,,c/GR;c/CY,eng;ell,documentary,FALSE,2001-01-01,,,https://www.natgeotv.com/gr,https://upload.wikimedia.org/wikipedia/commons/thumb/f/fc/Natgeologo.svg/512px-Natgeologo.svg.png NationalGeographicHongKong.hk,National Geographic Hong Kong,,,,HK,,,c/HK,eng;zho,documentary,FALSE,,,,http://natgeotv.com/hk,https://upload.wikimedia.org/wikipedia/commons/thumb/f/fc/Natgeologo.svg/512px-Natgeologo.svg.png -NationalGeographicHungary.hu,National Geographic Hungary,,,,HU,,,c/HU,hun,documentary,FALSE,,,,http://www.natgeotv.com/hu,https://upload.wikimedia.org/wikipedia/commons/thumb/f/fc/Natgeologo.svg/512px-Natgeologo.svg.png +NationalGeographicHungary.hu,National Geographic Hungary,,,FOX Networks Group,HU,,,c/HU,hun,documentary,FALSE,,,,http://www.natgeotv.com/hu,https://upload.wikimedia.org/wikipedia/commons/thumb/f/fc/Natgeologo.svg/512px-Natgeologo.svg.png NationalGeographicIndia.in,National Geographic India,,,,IN,,,c/IN,hin,documentary,FALSE,1998-07-01,,,https://natgeotv.com/in,https://upload.wikimedia.org/wikipedia/commons/thumb/f/fc/Natgeologo.svg/512px-Natgeologo.svg.png NationalGeographicIndonesia.id,National Geographic Indonesia,,,,ID,,,c/ID,ind,documentary,FALSE,,,,http://natgeotv.com/asia,https://upload.wikimedia.org/wikipedia/commons/thumb/f/fc/Natgeologo.svg/512px-Natgeologo.svg.png NationalGeographicIsrael.il,National Geographic Israel,,,,IL,,,c/IL,heb,documentary,FALSE,,,,http://natgeotv.com/asia,https://upload.wikimedia.org/wikipedia/commons/thumb/f/fc/Natgeologo.svg/512px-Natgeologo.svg.png @@ -17282,7 +17311,7 @@ NationalGeographicWildFrance.fr,National Geographic Wild France,,,,FR,,,c/FR,fra NationalGeographicWildGermany.de,National Geographic Wild Germany,,,,DE,,,c/DE,deu,documentary,FALSE,,,,,https://upload.wikimedia.org/wikipedia/commons/thumb/2/27/National_Geographic_Wild_logo.svg/512px-National_Geographic_Wild_logo.svg.png NationalGeographicWildGreece.gr,National Geographic Wild Greece,,,,GR,,,c/GR;c/CY,ell,documentary,FALSE,,,,http://natgeotv.com/gr/wild,https://upload.wikimedia.org/wikipedia/commons/thumb/2/27/National_Geographic_Wild_logo.svg/512px-National_Geographic_Wild_logo.svg.png NationalGeographicWildHongKong.hk,National Geographic Wild Hong Kong,,,,HK,,,c/HK,zho,documentary,FALSE,,,,http://natgeotv.com/asia,https://upload.wikimedia.org/wikipedia/commons/thumb/2/27/National_Geographic_Wild_logo.svg/512px-National_Geographic_Wild_logo.svg.png -NationalGeographicWildHungary.hu,National Geographic Wild Hungary,,,,HU,,,c/HU,hun,documentary,FALSE,,,,http://natgeotv.com/hu/wild,https://upload.wikimedia.org/wikipedia/commons/thumb/2/27/National_Geographic_Wild_logo.svg/512px-National_Geographic_Wild_logo.svg.png +NationalGeographicWildHungary.hu,National Geographic Wild Hungary,,,FOX Networks Group,HU,,,c/HU,hun,documentary,FALSE,,,,http://natgeotv.com/hu/wild,https://upload.wikimedia.org/wikipedia/commons/thumb/2/27/National_Geographic_Wild_logo.svg/512px-National_Geographic_Wild_logo.svg.png NationalGeographicWildIndia.in,National Geographic Wild India,,,,IN,,,c/IN,hin,documentary,FALSE,2009-07-31,,,https://www.natgeotv.com/in/wild,https://upload.wikimedia.org/wikipedia/commons/thumb/2/27/National_Geographic_Wild_logo.svg/512px-National_Geographic_Wild_logo.svg.png NationalGeographicWildIndonesia.id,National Geographic Wild Indonesia,,,,ID,,,c/ID,ind,documentary,FALSE,,,,http://natgeotv.com/asia,https://upload.wikimedia.org/wikipedia/commons/thumb/2/27/National_Geographic_Wild_logo.svg/512px-National_Geographic_Wild_logo.svg.png NationalGeographicWildIsrael.il,National Geographic Wild Israel,,,,IL,,,c/IL,heb,documentary,FALSE,2008-07-23,,,http://natgeotv.com/asia,https://upload.wikimedia.org/wikipedia/commons/thumb/2/27/National_Geographic_Wild_logo.svg/512px-National_Geographic_Wild_logo.svg.png @@ -17504,6 +17533,7 @@ Neox.es,Neox,,,,ES,,,c/ES,spa,,FALSE,,,,http://www.antena3.com/neox/,https://i.i NeoxTV.ar,Neox TV,,,,AR,AR-A,Salta,s/AR-A,spa,,FALSE,,,,https://sonicaargentina.com.ar/,https://i.imgur.com/eIX71c9.png NepaChannel.np,Nepa Channel,,,,NP,,,c/NP,nep,,FALSE,,,,,https://i.imgur.com/LgCjKXZ.png Nepal1.in,Nepal 1,,,ENCPL;T-Series,IN,,,c/IN,nep,,FALSE,2004-01-01,,,http://www.nepal1tv.net/,https://i.imgur.com/Pgg8dQ2.png +NepalTelevision.np,Nepal Television,Nepal TV;NTV;नेपाल टेलिभिजन,,Government of Nepal,NP,,,c/NP,nep,,FALSE,,,,https://nepaltvonline.com/,https://i.imgur.com/y3qhVcT.png NeshaminySchoolDistrctTV.us,Neshaminy School Distrct TV,,,,US,US-PA,Langhorne,s/US-PA,eng,education,FALSE,,,,https://www.neshaminy.org/domain/2070,https://i.imgur.com/lZiTWwF.png NesihaTV.et,Nesiha TV,,,,ET,,,c/ET,amh,,FALSE,,,,http://www.nesiha.tv/,https://i.imgur.com/rqEyzjE.png NESN.us,NESN,,,Fenway Sports Group;Delaware North,US,,,c/US,eng,sports,FALSE,1984-04-04,,,http://nesn.com/,https://i.imgur.com/Lv1bUG5.png @@ -17583,6 +17613,7 @@ News24.bd,News 24,,,,BD,,,c/BD,ben,news,FALSE,,,,https://www.news24bd.tv/,https: News24.in,News 24,,,,IN,,,c/IN,hin,news,FALSE,,,,https://news24online.com/,https://i.imgur.com/x72O77X.png News24.np,News 24,,,,NP,,,c/NP,nep,news,FALSE,2010-01-01,,,https://www.news24nepal.tv/,https://i.imgur.com/7PgAPMU.png News24MPChhattisgarh.in,News 24 MP & Chhattisgarh,,,,IN,,,c/IN,hin,news,FALSE,,,,https://news24online.com/,https://i.imgur.com/EN45UFX.png +News5.ph,News5,TV5 News and Current Affairs,TV5 Network Inc,,PH,,Metro Manila,c/PH,tgl;eng,news,FALSE,,,,https://news.tv5.com.ph/,https://i.imgur.com/k24LyEj.png News7Tamil.in,News 7 Tamil,,,,IN,,,c/IN,tam,news,FALSE,,,,https://www.news7tamil.live/,https://i.imgur.com/UjlbR4o.png NewsBar.hr,NewsBar,,,,HR,,,c/HR,hrv,news,FALSE,,,,,https://i.imgur.com/Q8eH5zN.jpg NewsBartaman24x7.in,News Bartaman 24x7,,,,IN,,Kolkata,c/IN,ben,news,FALSE,,,,https://www.newsbartaman.com/,https://i.imgur.com/kHJVjHA.png @@ -17759,7 +17790,7 @@ NickelodeonFrance.fr,Nickelodeon France,,Nickelodeon,,FR,,,c/FR,fra,kids,FALSE,, NickelodeonFrancePlus1.fr,Nickelodeon France +1,,Nickelodeon,,FR,,,c/FR,fra,kids,FALSE,,,,http://www.nickelodeon.fr/,https://i.imgur.com/Q2Re7IX.png NickelodeonGermany.de,Nickelodeon Germany,Nick Germany,Nickelodeon,,DE,,,c/DE;c/AT;c/LI;c/LU;c/CH,deu;eng,kids,FALSE,,,,http://www.nick.de/,https://i.imgur.com/E84jnP8.png NickelodeonGreece.gr,Nickelodeon Greece,,Nickelodeon,,GR,,,c/GR;c/CY,eng,kids,FALSE,,,,http://www.nickelodeon.gr/,https://upload.wikimedia.org/wikipedia/commons/thumb/7/7a/Nickelodeon_2009_logo.svg/512px-Nickelodeon_2009_logo.svg.png -NickelodeonHungary.hu,Nickelodeon Hungary,,Nickelodeon,,HU,,,c/HU,eng,kids,FALSE,,,,http://www.nickelodeon.hu/,https://upload.wikimedia.org/wikipedia/commons/thumb/7/7a/Nickelodeon_2009_logo.svg/512px-Nickelodeon_2009_logo.svg.png +NickelodeonHungary.hu,Nickelodeon Hungary,,Nickelodeon,MTV Networks s.r.o.,HU,,,c/HU,hun,kids,FALSE,,,,http://www.nickelodeon.hu/,https://i.imgur.com/fXs8f6a.png NickelodeonIndia.in,Nickelodeon India,,Nickelodeon,,IN,,,c/IN;c/BD;c/NP;c/LK,hin,kids,FALSE,,,,http://www.nickindia.com/,https://upload.wikimedia.org/wikipedia/commons/thumb/1/10/Nick.svg/512px-Nick.svg.png NickelodeonIsrael.il,Nickelodeon Israel,,Nickelodeon,,IL,,,c/IL,eng,kids,FALSE,,,,http://nick.co.il/,https://i.imgur.com/E84jnP8.png NickelodeonItaly.it,Nickelodeon Italy,,Nickelodeon,,IT,,,c/IT,ita,kids,FALSE,,,,http://www.nicktv.it/,https://i.imgur.com/E84jnP8.png @@ -17805,7 +17836,7 @@ NickJrEast.us,Nick Jr East,,Nickelodeon,,US,,,c/US,eng,kids,FALSE,,,,http://www. NickJrenEspanol.us,Nick Jr en Espanol,Nick Jr en Español,Nickelodeon,,US,,,c/US,spa,kids,FALSE,,,,https://pluto.tv/en/live-tv/nick-jr-en-espanol,https://i.imgur.com/OmmWgcr.png NickJrGermany.de,Nick Jr Germany,,Nickelodeon,,DE,,,c/DE;c/AT;c/CH;c/LI;c/LU,eng,kids,FALSE,,,,http://www.nickjr.de/,https://upload.wikimedia.org/wikipedia/commons/thumb/a/a1/Nick_Jr._logo_2009.svg/512px-Nick_Jr._logo_2009.svg.png NickJrGreece.gr,Nick Jr Greece,,Nickelodeon,,GR,,,c/GR;c/CY,eng,kids,FALSE,,,,http://www.nickelodeon.gr/,https://upload.wikimedia.org/wikipedia/commons/thumb/a/a1/Nick_Jr._logo_2009.svg/512px-Nick_Jr._logo_2009.svg.png -NickJrHungary.hu,Nick Jr Hungary,,Nickelodeon,,HU,,,c/HU,eng,kids,FALSE,,,,http://www.nickelodeon.hu/,https://upload.wikimedia.org/wikipedia/commons/thumb/a/a1/Nick_Jr._logo_2009.svg/512px-Nick_Jr._logo_2009.svg.png +NickJrHungary.hu,Nick Jr Hungary,,Nickelodeon,MTV Networks s.r.o.,HU,,,c/HU,eng,kids,FALSE,,,,http://www.nickelodeon.hu/,https://upload.wikimedia.org/wikipedia/commons/thumb/a/a1/Nick_Jr._logo_2009.svg/512px-Nick_Jr._logo_2009.svg.png NickJrIndia.in,Nick Jr India,,Nickelodeon,,IN,,,c/IN;c/BD;c/BT;c/NP,eng;hin,kids,FALSE,,,,http://nickjrindia.com/,https://upload.wikimedia.org/wikipedia/commons/thumb/a/a1/Nick_Jr._logo_2009.svg/512px-Nick_Jr._logo_2009.svg.png NickJrIsrael.il,Nick Jr Israel,,Nickelodeon,,IL,,,c/IL,eng,kids,FALSE,,,,http://nick.co.il/,https://upload.wikimedia.org/wikipedia/commons/thumb/a/a1/Nick_Jr._logo_2009.svg/512px-Nick_Jr._logo_2009.svg.png NickJrItaly.it,Nick Jr Italy,,Nickelodeon,,IT,,,c/IT,ita,kids,FALSE,,,,http://www.nickjr.it/,https://upload.wikimedia.org/wikipedia/commons/thumb/a/a1/Nick_Jr._logo_2009.svg/512px-Nick_Jr._logo_2009.svg.png @@ -17845,7 +17876,7 @@ NicktoonsCIS.ru,Nicktoons CIS,,Nickelodeon,,RU,,,r/CIS,rus,kids,FALSE,,,,http:// NicktoonsCzechia.cz,Nicktoons Czechia,,Nickelodeon,,CZ,,,c/CZ,ces;hun,kids,FALSE,,,,https://www.nicktoons.cz/,https://upload.wikimedia.org/wikipedia/commons/d/d8/Nicktoons_UK_Logo_2014.png NicktoonsEast.us,Nicktoons East,,Nickelodeon,,US,,,c/US,eng,kids,FALSE,,,,http://nicktoons.nick.com/,https://upload.wikimedia.org/wikipedia/commons/thumb/f/f8/Nicktoons_Network_logo_2009.svg/512px-Nicktoons_Network_logo_2009.svg.png NicktoonsGermany.de,Nicktoons Germany,,Nickelodeon,,DE,,,c/DE,deu,kids,FALSE,,,,http://www.nick.de/sender/19-nicktoons,https://upload.wikimedia.org/wikipedia/commons/d/d8/Nicktoons_UK_Logo_2014.png -NicktoonsHungary.hu,Nicktoons Hungary,,Nickelodeon,,HU,,,c/HU,hun,kids,FALSE,,,,http://www.nickelodeon.hu/,https://upload.wikimedia.org/wikipedia/commons/d/d8/Nicktoons_UK_Logo_2014.png +NicktoonsHungary.hu,Nicktoons Hungary,,Nickelodeon,MTV Networks s.r.o.,HU,,,c/HU,hun,kids,FALSE,,,,http://www.nickelodeon.hu/,https://upload.wikimedia.org/wikipedia/commons/d/d8/Nicktoons_UK_Logo_2014.png NicktoonsLatinAmerica.us,Nicktoons Latin America,,Nickelodeon,,US,,,r/LATAM,spa,kids,FALSE,,2020-09-01,NickMusic.us,http://nickelodeon.la/,https://upload.wikimedia.org/wikipedia/commons/thumb/7/7a/Nickelodeon_2009_logo.svg/512px-Nickelodeon_2009_logo.svg.png NicktoonsNetherlands.nl,Nicktoons Netherlands,,Nickelodeon,,NL,,,c/NL;c/BE,nld,kids,FALSE,,,,https://www.nickelodeon.nl/,https://upload.wikimedia.org/wikipedia/commons/d/d8/Nicktoons_UK_Logo_2014.png NicktoonsPoland.pl,Nicktoons Poland,Nicktoons Polska,Nickelodeon,,PL,,,c/PL,eng,kids,FALSE,,,,http://nicktoons.nick.com.pl/,https://upload.wikimedia.org/wikipedia/commons/d/d8/Nicktoons_UK_Logo_2014.png @@ -18052,7 +18083,7 @@ NovaWorld.hr,Nova World,,,,HR,,,r/EUR,hrv,,FALSE,,,,https://novatv.dnevnik.hr/no Nove.it,Nove,,,,IT,,,c/IT,ita;eng,,FALSE,,,,https://www.nove.tv/,https://i.imgur.com/f1oC0LV.png Novegasy.mg,Novegasy,,,,MG,,,c/MG,fra,,FALSE,,,,http://www.canalplusadvertising.com/en/novegasy/,https://i.imgur.com/pFNtfCa.png NovelaChannel.ci,Novela Channel,,,,CI,,,c/CI,fra,series,FALSE,,,,,https://i.ibb.co/V3pfjfB/novela-channel-telepack.jpg -NovelaMagic.za,Novela Magic,,,,ZA,,,c/ZA,eng,series,FALSE,,,,https://m-net.dstv.com/channel/novela-magic-165,https://i.imgur.com/zmaPcjV.png +NovelaMagic.za,Novela Magic,,,MultiChoice,ZA,,,c/ZA,eng,series,FALSE,,,,https://m-net.dstv.com/channel/novela-magic-165,https://i.imgur.com/aBHLLNI.png NovelasCaracol.co,Novelas Caracol,,,,CO,,,c/CO,spa,,FALSE,2009-02-23,,,http://caracolinternacional.com/,https://i.imgur.com/ocHeUe8.png Novelasconlaabuela.us,Novelas con la abuela,,,,US,,,c/US,eng,series,FALSE,,,,https://pluto.tv/en/live-tv/novelas-con-la-abuela,https://i.imgur.com/FcrgSdr.png NovelasTV.fr,Novelas TV,,,,FR,,,c/FR,fra,series,FALSE,2016-07-14,,,https://www.novelas.tv/,https://i.imgur.com/HZw19jM.png @@ -18174,7 +18205,7 @@ NTA2.ng,NTA 2,,,,NG,,,c/NG,eng,,FALSE,,,,https://www.nta.ng/,https://i.imgur.com NTAEntertainment.ng,NTA Entertainment,,,,NG,,,c/NG,eng,entertainment,FALSE,,,,https://www.nta.ng/,https://i.imgur.com/DPuk6Vo.png NTAHausa.ng,NTA Hausa,,,,NG,,,c/NG,hau,,FALSE,,,,https://www.nta.ng/,https://i.imgur.com/7YNB0QL.png NTAIgbo.ng,NTA Igbo,,,,NG,,,c/NG,eng,,FALSE,,,,https://www.nta.ng/,https://i.imgur.com/14lpdHy.png -NTAInternational.ng,NTA International,,,,NG,,,c/NG,eng,,FALSE,,,,https://www.nta.ng/,https://i.imgur.com/mN8j8CR.png +NTAInternational.ng,NTA International,,,Nigerian Television Authority,NG,,,c/NG,eng,,FALSE,,,,https://www.nta.ng/,https://i.imgur.com/mN8j8CR.png NTAKnowledge.ng,NTA Knowledge,,,,NG,,,c/NG,eng,education,FALSE,,,,http://www.nta.ng/channels/nta-knowledge/,https://i.imgur.com/kzWsPyY.png NTALagosChannel10.ng,NTA Lagos Channel 10,,,,NG,,,c/NG,eng,,FALSE,,,,https://www.ntalagoschannel10.gov.ng/,https://i.imgur.com/JNWqVFd.png NTANews24.ng,NTA News 24,,,,NG,,,c/NG,eng,news,FALSE,,,,https://www.nta.ng/,https://i.imgur.com/9ak6bNd.png @@ -18208,8 +18239,7 @@ ntv.de,n-tv,,,,DE,,,c/DE,deu,,FALSE,,,,https://www.n-tv.de/,https://i.imgur.com/ NTV.gh,NTV,,,,GH,,,c/GH,eng,,FALSE,,,,https://www.ntvghana.com/,https://i.imgur.com/pYNj2jj.png NTV.kh,NTV,,,,KH,,,c/KH,khm,,FALSE,,,,,https://i.imgur.com/SoBhuIb.png NTV.mn,NTV,,,,MN,,,c/MN,mon,,FALSE,,,,http://ntv.mn/,https://i.imgur.com/2JbqbPY.png -NTV.np,NTV,,,,NP,,,c/NP,nep,,FALSE,,,,https://nepaltvonline.com/,https://i.imgur.com/XFr7NYl.png -NTV.rs,NTV,,,,RS,,,c/RS,srp,,FALSE,,,,,https://i.imgur.com/7e8dxJ9.png +NTV.rs,NTV,НТВ,,Slađana Ostojić;Narodne novine doo Niš,RS,,,c/RS,eng,,FALSE,,,,,https://i.imgur.com/xNf4l8u.png NTV.ru,NTV,НТВ,,,RU,,,c/RU,rus,general,FALSE,1967-11-04,,,https://www.ntv.ru/,https://i.imgur.com/9r1BKzK.png NTV.tr,NTV,,,,TR,,,c/TR,tur,,FALSE,,,,https://www.ntv.com.tr/,https://i.imgur.com/jXbs8FZ.png NTV7.my,NTV7,,,Media Prima;Ministry of Education,MY,,,c/MY,zho,,FALSE,,,,https://www.xtra.com.my/,https://i.imgur.com/jDWR3xI.png @@ -18274,7 +18304,7 @@ NWSport2.tg,NW Sport 2,,,,TG,,,c/TG,fra,sports,FALSE,,,,https://www.newworldtv.c NWTransnat.tg,NW Transnat,,,,TG,,,c/TG,fra,,FALSE,,,,https://www.newworldtv.com/,https://i.imgur.com/cufYHqf.png NyceTV.ug,Nyce TV,,,,UG,,,c/UG,eng,,FALSE,,,,https://nycetv.com/,https://i.imgur.com/KWINywX.jpg NyotaTV.cd,Nyota TV,,,,CD,,,c/CD,fra,,FALSE,,,,https://www.nyota.net/,https://i.imgur.com/Obyh2Ah.png -NYTV.hu,NYTV,Nyíregyházi Televízió,,,HU,,,c/HU,hun,general,FALSE,,,,http://nyiregyhazitv.hu/,https://i.ibb.co/pxnFBdM/logo-1.jpg +NYTV.hu,NYTV,Nyíregyházi Televízió,,,HU,,,c/HU,hun,general,FALSE,,,,http://nyiregyhazitv.hu/,https://i.imgur.com/LUKbF3N.png NYXT.us,NYXT,,,,US,,,c/US,eng,,FALSE,,,,,https://i.imgur.com/KiIzWmO.jpg NZTV.sk,NZTV,TV Nové Zámky,,,SK,,,c/SK,slk,,FALSE,,,,https://www.nztv.eu/,https://i.imgur.com/jGZlnzT.png O.ru,O!,О!,,,RU,,,c/RU,rus,kids,FALSE,,,,https://www.kanal-o.ru/,https://i.imgur.com/pDc665V.png @@ -18467,6 +18497,7 @@ OndaAlgeciras.es,Onda Algeciras,,,,ES,ES-AN,Algeciras,s/ES-AN,spa,,FALSE,,,,http OndabientalTV.co,Ondabiental TV,,,,CO,,Bogota,c/CO,spa,music;culture,FALSE,,,,https://www.colombia.com/tv/ondambiental-tv-bogota-5400,https://i.imgur.com/u5804Au.jpg OndaCadiz.es,Onda Cadiz,Onda Cádiz,,,ES,ES-AN,Cádiz,s/ES-AN,spa,,FALSE,,,,https://ondacadiz.es/,https://i.imgur.com/sOBMnby.png OndaDigital.pe,Onda Digital,,,,PE,PE-LIM,Lima,c/PE,spa,general,FALSE,,,,https://ondadigitaltv.com/,https://i.imgur.com/3R2emx7.jpg +OndaGranCanaria.es,Onda Gran Canaria,,,,ES,ES-CN,Las Palmas,c/ES,spa,general,FALSE,,,,https://www.ondagrancanaria.com/,https://i.imgur.com/YXwKL8x.png OndaMadrid.es,Onda Madrid,,,,ES,,,c/ES,spa,,FALSE,,,,,https://i.imgur.com/Q1YwYsR.png OndaMezquita.es,Onda Mezquita,,,,ES,ES-AN,,s/ES-AN,spa,,FALSE,,,,https://www.ahoracordoba.es/,https://i.imgur.com/psk3x12.png OndaNovaraTV.it,Onda Novara TV,,,,IT,,,c/IT,ita,,FALSE,,,,https://www.ondanovara.it/,https://i.imgur.com/DTxhOhT.png @@ -18521,7 +18552,7 @@ OneTVSabay1.kh,One TV Sabay 1,,,,KH,,,c/KH,khm,,FALSE,,,,http://digitalsky.com.k OneTVSports11.kh,One TV Sports 11,,,,KH,,,c/KH,khm,sports,FALSE,,,,http://www.digitalsky.com.kh/EN/Channel-List/OneTV-Sports-11,https://i.imgur.com/Fts959a.png OneTVSports9.kh,One TV Sports 9,,,,KH,,,c/KH,khm,sports,FALSE,,,,http://www.digitalsky.com.kh/EN/Channel-List/OneTV-Sports-9,https://i.imgur.com/lHXOjn2.png OneWayTV.fi,One Way TV,,,,FI,,,c/FI,fin,religious,FALSE,,,,https://oneway.tv/fi/,https://i.imgur.com/kgy3DV9.png -OneZed.za,OneZed,,,,ZA,,,c/ZA,eng,,FALSE,,,,https://onezed.dstv.com/,https://i.imgur.com/h80SoQW.png +OneZed.za,OneZed,,,MultiChoice,ZA,,,c/ZA,eng,,FALSE,,,,https://onezed.dstv.com/,https://i.imgur.com/2F7Yjni.png ONFM.pt,ON FM,,,,PT,,Torres Vedra,c/PT,por,music,FALSE,,,,https://www.onfm.pt/,https://onfmwordpressfiles.ams3.digitaloceanspaces.com/wp-content/uploads/2023/03/17130121/logo-on-fm.png OnkarOnlyTruthTV.in,Onkar Only Truth TV,,,,IN,,,c/IN,ben,,FALSE,,,,,https://i.imgur.com/wu7aQRg.png OnlineMediaTV69.th,Online Media TV 69,,,,TH,,,c/TH,tha,,FALSE,,,,https://www.mvtv.co.th/channel/%e0%b8%a1%e0%b9%88%e0%b8%a7%e0%b8%99%e0%b8%8a%e0%b8%b7%e0%b9%88%e0%b8%99,https://i.imgur.com/o3taodt.png @@ -18624,8 +18655,8 @@ OromiaNewsNetwork.us,Oromia News Network,,,,US,,,c/US,orm,news,FALSE,,,,,https:/ OronTV.si,Oron TV,,,,SI,,,c/SI,slv,,FALSE,,,,,https://i.imgur.com/Tk0urD0.png OroszlanyiVarosiTelevizio.hu,Oroszlanyi Varosi Televizio,Oroszlányi Városi Televízió,,,HU,,,c/HU,hun,general,FALSE,,,,http://www.oroszlanyimedia.hu/,https://i.imgur.com/P0fxUH5.png OrsentTV.ee,Orsent TV,,,,EE,,,c/EE,est,,FALSE,,,,,https://i.imgur.com/qiZ00Pn.png -OrszaggyulesOGYplenaris.hu,Orszaggyules: OGY plenaris,Országgyűlés: OGY plenáris,,,HU,,,c/HU,hun,legislative,FALSE,,,,https://www.parlament.hu/elo-kozvetitesek,https://i.ibb.co/cNpcCFW/IMG-20230703-150919.jpg -OrszaggyulesOGYTAB.hu,Orszaggyules: OGY TAB,Országgyűlés: OGY TAB,,,HU,,,c/HU,hun,legislative,FALSE,,,,https://www.parlament.hu/elo-kozvetitesek,https://i.ibb.co/cNpcCFW/IMG-20230703-150919.jpg +OrszaggyulesOGYplenaris.hu,Orszaggyules: OGY plenaris,Országgyűlés: OGY plenáris,,,HU,,,c/HU,hun,legislative,FALSE,,,,https://www.parlament.hu/elo-kozvetitesek,https://i.imgur.com/hbblRpZ.png +OrszaggyulesOGYTAB.hu,Orszaggyules: OGY TAB,Országgyűlés: OGY TAB,,,HU,,,c/HU,hun,legislative,FALSE,,,,https://www.parlament.hu/elo-kozvetitesek,https://i.imgur.com/hbblRpZ.png ORT.gr,ORT,OPT;Ολυμπιακή Ραδιοφωνία Τηλεόραση;Olympiaki Radiofonia Tileorasi,,,GR,,Pyrgos,c/GR,ell,general,FALSE,1993-01-01,,,https://www.patrisnews.com/,https://i.imgur.com/RotckUS.png ORTBTV.bj,ORTB TV,,,,BJ,,,c/BJ,fra,,FALSE,,,,https://ortb.bj/,https://i.imgur.com/ovhVYvP.png ORTCTV.km,ORTC TV,,,,KM,,,c/KM,fra,,FALSE,,,,https://www.ortc.fr/,https://i.imgur.com/G93088y.png @@ -18720,7 +18751,7 @@ OyounAlWatanTV.sa,Oyoun Al-Watan TV,,,,SA,,,c/SA,ara,,FALSE,,,,https://www.oyoun Ozbekiston.uz,O'zbekiston,,,,UZ,,,c/UZ,uzb,,FALSE,,,,https://www.mtrk.uz/uz/tv/ozbekiston/,https://i.imgur.com/QUIIhTD.png Ozbekiston24.uz,O'zbekiston 24,,,,UZ,,,c/UZ,uzb,,FALSE,,,,http://uzbekistan24.uz/,https://i.imgur.com/VRFhKbw.png OzdiVarosiTV.hu,Ozdi Varosi TV,ÓVTV;Ózdi Városi TV,,,HU,,,c/HU,hun,,FALSE,,,,https://www.ovtv.eu/,https://i.imgur.com/t0Aq3UD.png -OzoneTV.hu,Ozone TV,,,,HU,,,c/HU,hun,,FALSE,,,,https://ozonetv.hu/,https://i.imgur.com/eSNF9qt.png +OzoneTV.hu,Ozone TV,,,Media Vivantis Zrt.,HU,,,c/HU,hun,,FALSE,,,,https://ozonetv.hu/,https://i.imgur.com/eSNF9qt.png P2MTV.fr,P2M TV,,,,FR,,,c/FR,fra,,FALSE,,,,,https://i.imgur.com/TrecSeG.png P3tv.at,P3tv,,,,AT,,,c/AT,deu,,FALSE,,,,,https://i.imgur.com/C6Hp5Pb.jpg Pac12Arizona.us,Pac-12 Arizona,,,,US,,,c/US,eng;spa,,FALSE,,,,https://pac-12.com/,https://i.imgur.com/G97usIY.png @@ -18802,7 +18833,7 @@ ParamountNetworkBrazil.br,Paramount Network Brazil,Paramount Network Brasil,,,BR ParamountNetworkCzechRepublic.cz,Paramount Network Czech Republic,,,,CZ,,,c/CZ,ces,series;movies,FALSE,2021-01-12,,,https://www.paramountnetwork.cz/,https://upload.wikimedia.org/wikipedia/commons/thumb/9/9f/Paramount_Network.svg/512px-Paramount_Network.svg.png ParamountNetworkDenmark.dk,Paramount Network Denmark,,,,DK,,,c/DK,dan,series;movies,FALSE,2019-01-08,2022-01-01,,,https://upload.wikimedia.org/wikipedia/commons/thumb/9/9f/Paramount_Network.svg/512px-Paramount_Network.svg.png ParamountNetworkEast.us,Paramount Network East,,,,US,,,c/US;c/CA,eng,series;movies,FALSE,,,,http://www.paramountnetwork.com/,https://upload.wikimedia.org/wikipedia/commons/thumb/9/9f/Paramount_Network.svg/512px-Paramount_Network.svg.png -ParamountNetworkHungary.hu,Paramount Network Hungary,,,,HU,,,c/HU,hun,series;movies,FALSE,2014-02-14,,,https://www.paramountnetwork.hu/,https://upload.wikimedia.org/wikipedia/commons/thumb/9/9f/Paramount_Network.svg/512px-Paramount_Network.svg.png +ParamountNetworkHungary.hu,Paramount Network Hungary,Paramount Channel Hungary,,MTV Networks s.r.o.,HU,,,c/HU,hun,series;movies,FALSE,2014-02-14,,,https://www.paramountnetwork.hu/,https://upload.wikimedia.org/wikipedia/commons/thumb/9/9f/Paramount_Network.svg/512px-Paramount_Network.svg.png ParamountNetworkIndonesia.id,Paramount Network Indonesia,,,,ID,,,c/ID,ind,series;movies,FALSE,2021-09-27,,,https://www.paramountnetwork.com/,https://upload.wikimedia.org/wikipedia/commons/thumb/9/9f/Paramount_Network.svg/512px-Paramount_Network.svg.png ParamountNetworkItaly.it,Paramount Network Italy,,,,IT,,,c/IT,ita,series;movies,FALSE,2016-02-27,2022-01-17,,,https://upload.wikimedia.org/wikipedia/commons/thumb/9/9f/Paramount_Network.svg/512px-Paramount_Network.svg.png ParamountNetworkMalaysia.my,Paramount Network Malaysia,,,,MY,,,c/MY,msa,series;movies,FALSE,2017-01-01,,,https://www.paramountnetwork.com/,https://upload.wikimedia.org/wikipedia/commons/thumb/9/9f/Paramount_Network.svg/512px-Paramount_Network.svg.png @@ -18844,7 +18875,7 @@ ParliamentofGeorgia.ge,Parliament of Georgia,საქართველოს ParliamentofKenya.ke,Parliament of Kenya,,,,KE,,,c/KE,eng,legislative,FALSE,,,,http://www.parliament.go.ke/,https://i.imgur.com/fAULyHh.jpg ParliamentofMalta.mt,Parliament of Malta,,,,MT,,,c/MT,mlt,legislative,FALSE,,,,http://www.parlament.mt/,https://upload.wikimedia.org/wikipedia/en/5/53/Logo_of_the_Parliament_of_Malta.png ParliamentTV.nz,Parliament TV,,,,NZ,,,c/NZ,eng,legislative,FALSE,,,,https://ondemand.parliament.nz/,https://i.imgur.com/2aHW4q7.png -ParliamentTV.za,Parliament TV,,,,ZA,,,c/ZA,eng,legislative,FALSE,,,,https://www.parliament.gov.za/,https://i.imgur.com/2ibsrXG.png +ParliamentTV.za,Parliament TV,,,Parliament of the Republic of South Africa,ZA,,,c/ZA,eng,legislative,FALSE,,,,https://www.parliament.gov.za/,https://i.imgur.com/gzVrSn8.png ParliamentTV.zm,Parliament TV,,,,ZM,,,c/ZM,eng,legislative,FALSE,,,,http://www.parliament.gov.zm/,https://i.imgur.com/bIZGUbE.png ParlimenMalaysia.my,Parlimen Malaysia,,,,MY,,,c/MY,msa,,FALSE,,,,https://unifi.com.my/tv,https://playtv.unifi.com.my:7047/CPS/images/universal/film/logo/202208/20220810/20220810211708829sbp.png ParnianTV.ca,Parnian TV,,,,CA,,,c/IR,fas,,FALSE,,,,https://parnian.tv/,https://i.imgur.com/J8ejADF.png @@ -18936,8 +18967,9 @@ PeaceTVEnglish.ae,Peace TV English,,,,AE,,,r/INT,eng,religious,FALSE,,,,https:// PeaceTVMiddleEast.ae,Peace TV Middle East,,,,AE,,,c/AE,eng,,FALSE,,,,https://peacetv.tv/,https://i.imgur.com/xP8xp9P.png PeaceTVUrdu.ae,Peace TV Urdu,,,,AE,,,c/PK;c/IN,urd,religious,FALSE,,,,https://peacetv.tv/,https://github.com/fawazahmed0/tiger/raw/master/peace/urdu.jpg Pearl.hk,Pearl,TVB明珠台;TVB Pearl,,Television Broadcasts Limited,HK,,,c/HK,eng,general,FALSE,1967-11-19,,,https://programme.tvb.com/pearl/,https://i.imgur.com/UPdcMkW.png -PearlMagic.ug,Pearl Magic,,M-Net,MultiChoice Uganda.,UG,,,c/UG,eng,,FALSE,2018-10-01,,,https://pearlmagic.dstv.com,https://i.imgur.com/uKKxCPB.png -PearlMagicPrime.ug,Pearl Magic Prime,,,,UG,,,c/UG,eng,,FALSE,,,,https://pearlmagicprime.dstv.com/,https://i.imgur.com/lC5wj5e.png +PearlMagic.ug,Pearl Magic,,M-Net,MultiChoice,UG,,,c/UG,eng,,FALSE,2018-10-01,,,https://pearlmagic.dstv.com,https://i.imgur.com/2Bthk0b.png +PearlMagicLoko.za,Pearl Magic Loko,PML,,Multichoice,ZA,,,c/GH,lug,,FALSE,,,,https://www.dstv.com/pearlmagicprime/en-ug/home,https://i.imgur.com/yNnxz0L.png +PearlMagicPrime.ug,Pearl Magic Prime,,,MultiChoice,UG,,,c/UG,eng,,FALSE,,,,https://pearlmagicprime.dstv.com/,https://i.imgur.com/dcMnZ0A.png PearlTV.de,Pearl TV,,,,DE,,,c/DE,deu,,FALSE,,,,https://www.pearl.de/tv/,https://cdn.hd-plus.de/senderlogos/bright-cropped/24524-2.png PebbleTV.nl,Pebble TV,,,,NL,,,c/NL,nld,,FALSE,2009-11-12,,,http://www.pebbletv.nl/,https://i.imgur.com/Nb435IH.png PEGTVEducationChannel.us,PEG TV Education Channel,,,,US,US-MA,Rutland,s/US-MA,eng,education,FALSE,,,,https://www.pegtv.com/channels-education-1095,https://i.imgur.com/d9TnvQG.png @@ -18965,7 +18997,7 @@ PenthouseTVCanada.ca,Penthouse TV Canada,,,,CA,,,c/CA,eng,xxx,TRUE,2008-07-01,,, PenthouseTVMonthlyOffer.us,Penthouse TV Monthly Offer,,,,US,,,c/US,eng,xxx,TRUE,,,,https://www.penthousetv.com/,https://upload.wikimedia.org/wikipedia/commons/thumb/2/26/Penthouse_TV.svg/512px-Penthouse_TV.svg.png PentTV.gh,Pent TV,,,,GH,,,c/GH,eng,,FALSE,,,,https://thecophq.org/pent-tv/,https://i.imgur.com/Jw6d3dR.png PeopleAreAwesome.us,People Are Awesome,,,,US,,,c/US,eng,entertainment,FALSE,,,,https://www.peopleareawesome.tv/,https://i.imgur.com/MsIx7Ax.png -PeoplesWeather.za,People's Weather,,,,ZA,,,c/ZA,eng,weather,FALSE,,,,http://www.peoplesweather.com/,https://i.imgur.com/NRxWexU.png +PeoplesWeather.za,People's Weather,People°s Weather,,People°s Weather,ZA,,,c/ZA,eng,weather,FALSE,,,,http://www.peoplesweather.com/,https://i.imgur.com/EhXb7il.png PeopleTV.th,People TV,,,,TH,,,c/TH,tha,,FALSE,,,,,https://i.imgur.com/Le0s0p0.png PeopleTV.us,PeopleTV,,,,US,,,c/US,eng,entertainment,FALSE,,,,https://peopletv.com/,https://i.imgur.com/hIdFAho.png PeopleTVAtlanta.us,PeopleTV Atlanta,,,,US,US-GA,Atlanta,s/US-GA,eng,general,FALSE,,,,https://www.peopletv.org/,https://i.imgur.com/EUYtzON.png @@ -19552,7 +19584,6 @@ PlutoTVPolarFrance.fr,Pluto TV Polar France,,,,FR,,,c/FR,fra,series,FALSE,,,,htt PlutoTVPortadosFundos.us,Pluto TV Porta dos Fundos,,,,US,,,c/US,eng,,FALSE,,,,,https://i.imgur.com/fQD2tPm.png PlutoTVPranks.us,Pluto TV Pranks,,,,US,,,c/US,eng,comedy,FALSE,,,,https://pluto.tv/en/live-tv/pluto-tv-pranks,https://i.imgur.com/rrRVVT0.png PlutoTVProWrestling.us,Pluto TV Pro Wrestling,,,,US,,,c/US,eng,sports,FALSE,,,,https://pluto.tv/en/live-tv/pluto-tv-wrestling,https://i.imgur.com/TtFrJU4.png -PlutoTVQwestTVJazzBeyond.us,Pluto TV Qwest TV Jazz & Beyond,,,,US,,,c/US,spa,sports,FALSE,,,,,https://i.imgur.com/hT6m7aG.png PlutoTVReaction.us,Pluto TV Reaction,,,,US,,,c/US,eng,movies,FALSE,,,,https://pluto.tv/en/live-tv/pluto-tv-reaction,https://i.imgur.com/H9k3OXN.png PlutoTVRealitiesESP.us,Pluto TV Realities ESP,,,,US,,,c/US,spa,series,FALSE,,,,,https://i.imgur.com/GIt8Sxv.png PlutoTVReality.us,Pluto TV Reality,,,,US,,,c/US,eng,entertainment,FALSE,,,,https://pluto.tv/en/live-tv/pluto-tv-reality,https://i.imgur.com/OvN7FCv.png @@ -19777,6 +19808,8 @@ PopMusik.id,Pop Musik,,,,ID,,,c/ID,ind,music,FALSE,,,,,https://i.imgur.com/Dfnl0 PopPakistan.pk,Pop Pakistan,,,,PK,,,c/PK,eng,,FALSE,,,,,https://i.imgur.com/fGUlCY3.png PopPataka.in,Pop Pataka,,,,IN,,,c/IN,hin,music,FALSE,,,,,https://i.imgur.com/9NacSLW.png PopPlus1.uk,Pop +1,,,,UK,,,c/UK,eng,,FALSE,,,,https://www.popfun.co.uk/,https://i.imgur.com/tBSjVWT.png +PopPrimary.za,Pop Primary,Mindset Pop,Mindset Network,Mindset Network;MultiChoice,ZA,,,c/ZA,eng,education,FALSE,2020-04-01,2020-12-06,,https://www.mindset.africa/,https://i.imgur.com/Mkg4ykD.png +POPSTAR.rs,POP STAR,Muzzik POP STAR,,Original Film d.o.o.,RS,,Belgrade,c/RS,eng,music,FALSE,,,,https://muzzik.co.uk/,https://i.imgur.com/E9ha9Or.png PopstarTV.us,Popstar! TV,,,,US,,,c/US,eng,entertainment,FALSE,,,,,https://i.imgur.com/d4xEiXX.png POPSUGARFitness.us,POPSUGAR Fitness,,,,US,,,c/US,eng,,FALSE,,,,https://www.popsugar.com/fitness/,https://i.imgur.com/tSZcLRI.png PopTV.si,Pop TV,,,,SI,,,c/SI,slv,,FALSE,,,,https://pro-plus.si/,https://i.imgur.com/OSpybMN.png @@ -19960,7 +19993,7 @@ ProntosocorroHistoriasDeEmergenciaBrazil.br,Pronto-socorro: Historias De Emergen PropexTV.in,Propex TV,,,,IN,,,c/IN,mal,shop,FALSE,,,,https://propextv.com/,https://i.ibb.co/fYTXkfL/unnamed.png Prophet1TV.gh,Prophet 1 TV,,,,GH,,,c/GH,eng,,FALSE,,,,,https://i.imgur.com/ghHqG8k.png PropheticChannel.za,Prophetic Channel,,,,ZA,,,c/ZA,eng,,FALSE,,,,https://psbministries.org/,https://i.imgur.com/MPED5Hq.png -ProSieben.de,ProSieben,,,,DE,,,c/DE,deu,,FALSE,,,,https://www.prosieben.de/,https://i.imgur.com/2QXQIZa.png +ProSieben.de,ProSieben,Pro7,,ProSiebenSat1 Media,DE,,,c/DE,deu,,FALSE,,,,https://www.prosieben.de/,https://i.imgur.com/zZOk3nh.png ProSiebenAustria.at,ProSieben Austria,,,,AT,,,c/AT,deu,,FALSE,,,,http://www.prosieben.at/,https://i.imgur.com/Urb7GWr.png ProSiebenFun.de,ProSieben Fun,,ProSieben,ProSiebenSat.1 Media,DE,,,c/DE,deu,,FALSE,2012-05-03,,,https://www.prosiebenfun.de/,https://upload.wikimedia.org/wikipedia/commons/thumb/e/e3/ProSieben_FUN_Logo_2021.svg/512px-ProSieben_FUN_Logo_2021.svg.png ProSiebenMaxxAustria.at,ProSieben Maxx Austria,,,,AT,,,c/AT,deu,,FALSE,,,,https://www.prosiebenmaxx.at/,https://i.imgur.com/sLsWu9y.png @@ -20046,6 +20079,7 @@ Puls2.pl,Puls 2,,,Telewizja Puls,PL,,,c/PL,pol,,FALSE,2012-07-19,,,https://puls2 Puls24.at,Puls 24,,,,AT,,,c/AT,deu,,FALSE,,,,https://www.puls4.com/Puls24,https://i.imgur.com/zem7JQW.png Puls4.at,Puls 4,,,ProSiebenSat.1 Media,AT,,,c/AT,deu,,FALSE,2004-06-21,,,https://www.puls4.com/,https://upload.wikimedia.org/wikipedia/commons/thumb/8/85/Puls4.svg/512px-Puls4.svg.png PulsAcht.ch,Puls Acht,,,,CH,,,c/CH,deu,,FALSE,,,,https://www.puls8.ch/,https://i.imgur.com/a49Cb39.png +Pulse.za,Pulse,,,AfricaXP,ZA,,,c/ZA,eng,,FALSE,,,,https://video.premiumfree.tv/?section=lifestylesection,https://i.imgur.com/J9VRDDR.png Pulsea.fi,Pulsea,,,,FI,,,c/FI,fin,,FALSE,,,,https://www.pulsea.fi/,https://i.imgur.com/gODGgvD.png PumahTV.lr,Pumah TV,Channel 4,,,LR,,,c/LR,eng,entertainment,FALSE,,,,,https://i.ibb.co/vP7bTbQ/Screenshot-20230728-143318.jpg PunjabiHits.in,Punjabi Hits,,,,IN,,,c/IN,pan,,FALSE,,,,,https://i.imgur.com/i9xE87K.png @@ -20195,6 +20229,7 @@ QVCStyleGermany.de,QVC Style Germany,,,Qurate Retail Group,DE,,,c/DE,deu,shop,FA QVCStyleUK.uk,QVC Style UK,,,Qurate Retail Group,UK,,,c/UK,eng,shop,FALSE,,,,https://www.qvcuk.com/,https://i.imgur.com/6HZlLL3.png QVCUK.uk,QVC UK,,,Qurate Retail Group,UK,,,c/UK,eng,shop,FALSE,,,,https://www.qvcuk.com/,https://i.imgur.com/6TWUVrh.png QVCUKPlus1.uk,QVC UK +1,,,Qurate Retail Group,UK,,,c/UK,eng,shop,FALSE,,,,https://www.qvcuk.com/,https://i.imgur.com/6TWUVrh.png +QwestTV.fr,Qwest TV,,,,FR,,,r/AFR,eng,music,FALSE,,,,https://www.qwest.tv/,https://i.imgur.com/DjgNNHK.png QwestTVClassical.fr,Qwest TV Classical,,,QRA,FR,,,c/FR;c/UK,eng,music;classic,FALSE,,,,https://qwest.tv/,https://i.imgur.com/IRJ1FgR.png QwestTVJazzBeyond.fr,Qwest TV Jazz & Beyond,,,QRA,FR,,,c/FR;c/UK,eng,music,FALSE,,,,https://qwest.tv/,https://i.imgur.com/89yWH5L.png QwestTVMix.fr,Qwest TV Mix,,,QRA,FR,,,c/FR;c/UK,eng,music,FALSE,,,,https://qwest.tv/,https://i.imgur.com/lO22nwk.png @@ -20583,7 +20618,7 @@ RealNewsKerala.in,Real News Kerala,,,,IN,,,c/IN,mal,news,FALSE,,,,,https://i.img RealNosey.us,Real Nosey,,,,US,,,c/US,eng,,FALSE,,,,https://www.xumo.tv/networks/real-nosey/99991388,https://i.imgur.com/bfvyuRu.png RealProOnline.cl,RealPro Online,,,,CL,CL-AN,Antofagasta,c/CL,spa,,FALSE,,,,https://www.realpro.cl/,https://i.imgur.com/FwriE8S.png RealStories.uk,Real Stories,,,,UK,,,c/UK,eng,documentary,FALSE,,,,,https://i.imgur.com/PG15QKA.png -RealTimeAfrica.us,Real Time Africa,,,,US,,,r/AFR,eng,,FALSE,,,,https://guide.dstv.com/channels,https://i.imgur.com/HEAdQnY.png +RealTimeAfrica.us,Real Time Africa,,,Warner Bros. Discovery EMEA,US,,,r/AFR,eng,,FALSE,,,,https://guide.dstv.com/channels,https://i.imgur.com/oV2qfq6.png RealTimeItaly.it,Real Time Italy,,,,IT,,,c/IT,ita,,FALSE,,,,https://www.realtime.it/,https://i.imgur.com/SPlk2Gx.png RealTV.az,Real TV,,,,AZ,,,c/AZ,aze,,FALSE,,,,https://www.realtv.az/,https://i.imgur.com/e2KFL0R.png RealTV.in,Real TV,,,,IN,,,c/IN,mal,music,FALSE,,,,,https://i.imgur.com/OL5qm2c.png @@ -20691,7 +20726,7 @@ RedeVidaEducacao.br,Rede Vida Educacao,Rede Vida Educação,,,BR,,,c/BR,por,,FAL RedeVidaEducacao2.br,Rede Vida Educacao 2,Rede Vida Educação 2,,,BR,,,c/BR,por,,FALSE,,,,http://www.redevida.com.br/,https://i.imgur.com/pzmVqlA.png RedeWebTV.br,Rede Web TV,,,,BR,BR-MG,Contagem,s/BR-MG,por,news,FALSE,,,,https://rwtv.com.br/,https://i.imgur.com/C1wZa7x.png RedHotTV.ca,Red Hot TV,,,,CA,,,c/CA,eng,xxx,TRUE,2003-12-01,,,http://exxxtasy.com/redhottv/,https://upload.wikimedia.org/wikipedia/en/5/59/Red_Hot_TV.png -RedlightHD.nl,Redlight HD,,Sapphire Media,,NL,,,c/NL,eng,xxx,TRUE,,,,https://redlight.tv/,https://i.imgur.com/g0QF5IG.png +RedlightHD.nl,Redlight HD,,Sapphire Media,Redlight Television,NL,,,c/NL,eng,xxx,FALSE,,,,https://redlight.tv/,https://i.imgur.com/g0QF5IG.png RedLine.ru,Red Line,Красная линия,,,RU,,,c/RU,rus,,FALSE,,,,https://www.rline.tv/,https://i.imgur.com/TgZ8Uv1.png RedMusic.gr,RedMusic,,,,GR,,,c/GR,ell,music,FALSE,,,,https://redmusic.live/,https://i.ibb.co/1Lk8P1x/1-150x150.png RedPAT.bo,Red PAT,,Red PAT,,BO,,,c/BO,spa,,FALSE,,,PATLaPaz.bo,,https://i.imgur.com/vOVbIwq.png @@ -20924,10 +20959,10 @@ RodnoeKino.ru,Rodnoe Kino,Родное Кино,,,RU,,,c/RU,rus,movies,FALSE,,,, Rodnoykanal.ru,Rodnoy kanal,Родной канал,,,RU,,,c/RU,rus,,FALSE,,,,https://www.slavmir.tv/,https://i.imgur.com/JqydEYN.png Rohi.pk,Rohi,,,,PK,,,c/PK,lah,,FALSE,,,,http://www.rohi.tv/,https://i.imgur.com/zC8hXi4.png RojavaTV.sy,Rojava TV,,,,SY,,,c/SY,kur,,FALSE,,,,,https://i.imgur.com/42noysO.png -Rok.uk,Rok,,,,UK,,,c/NG,eng,,FALSE,,,,http://www.rokchannels.tv/rok/,https://i.imgur.com/UTkQTf7.png -Rok2.uk,Rok 2,,,,UK,,,c/NG,eng,,FALSE,,,,http://www.rokchannels.tv/rok2/,https://i.imgur.com/XAYcD3y.png -RokGH.uk,Rok GH,,,,UK,,,c/NG,eng,,FALSE,,,,http://www.rokchannels.tv/rokgh/,https://i.imgur.com/oMxKyoR.png -RokUK.uk,Rok UK,,,,UK,,,c/UK,eng,,FALSE,,,,http://www.rokchannels.tv/rokuk/,https://i.imgur.com/qVqIPfu.png +ROK.uk,ROK,,,,UK,,,c/NG,eng,,FALSE,,,,http://www.rokchannels.tv/rok/,https://i.imgur.com/UTkQTf7.png +ROK2.uk,ROK 2,,,,UK,,,c/NG,eng,,FALSE,,,,http://www.rokchannels.tv/rok2/,https://i.imgur.com/XAYcD3y.png +ROKGH.uk,ROK GH,,,,UK,,,c/NG,eng,,FALSE,,,,http://www.rokchannels.tv/rokgh/,https://i.imgur.com/oMxKyoR.png +ROKUK.uk,ROK UK,,,,UK,,,c/UK,eng,,FALSE,,,,http://www.rokchannels.tv/rokuk/,https://i.imgur.com/qVqIPfu.png RomanaTVCanal42.do,Romana TV Canal 42,,,,DO,,,c/DO,spa,,FALSE,,,,https://romanatv42.com/,https://i.imgur.com/EXnsmhx.png RomanceTVGermany.de,Romance TV Germany,,,,DE,,,c/DE,deu,,FALSE,,,,https://www.romance-tv.de/,https://i.imgur.com/oa15xXn.png RomanceTVPoland.pl,Romance TV Poland,,,,PL,,,c/PL,pol,,FALSE,,,,https://www.romance-tv.pl/,https://ocdn.eu/ptv2-images-transforms/1/VU3krxsb2dvLW1pZ3JhdGVkL3JvbWFuY2UtdHYucG5nkpUCZADCw5UCACjCww @@ -20935,7 +20970,7 @@ RomaniaTV.ro,Romania TV,România TV,,Ridzone Computers,RO,,,c/RO,ron,,FALSE,2011 RomanticaTV.cl,Romantica TV,Romántica TV,,,CL,,,c/CL,spa,music,FALSE,,,,https://www.romantica.cl/romantica-tv/,https://i.imgur.com/jZFLZyR.png Romantichnoe.ru,Romantichnoe,Романтичное,,,RU,,,c/RU,rus,,FALSE,,,,https://www.tricolor.tv/channels/Romantichnoe/,https://i.imgur.com/w4jBd7s.png RomanTV.ro,Roman TV,,,,RO,,,c/RO,ron,general,FALSE,,,,https://romantv.ro/,https://i.imgur.com/oVeuIY5.png -RomanzaPlusAfrica.mx,Romanza+ Africa,,,,MX,,,c/MX,eng,,FALSE,,,,https://www.romanzaplus.tv/,https://www.lyngsat.com/logo/tv/rr/romanza_plus_africa_mx.png +RomanzaPlusAfrica.ke,Romanza+ Africa,Romanza+ África,,TV Azteca Networks;Cisneros Group;AfricaXP,KE,,,r/AFR,eng,,FALSE,,,,https://www.adnetmedia.tv/,https://i.imgur.com/HYg75w2.png RomaTV82.it,Roma TV 82,,,,IT,,Roma,c/IT,ita,general,FALSE,,,,https://www.grupposciscione.it/,https://i.imgur.com/tCVlMcj.png RomedyNow.in,Romedy Now,,,,IN,,,c/IN,eng,,FALSE,2013-09-22,,,http://www.romedynow.com/,https://i.imgur.com/PPaGJpN.png RonahiTV.sy,Ronahi TV,Ronahî TV,,,SY,,,c/SY,kur,,FALSE,2012-01-01,,,http://ronahi.tv/,https://i.imgur.com/JSvJpD8.png @@ -20992,7 +21027,8 @@ RPCTVPontaGrossa.br,RPC TV Ponta Grossa,,,,BR,,,c/BR,por,,FALSE,,,,http://redegl RPlus.in,R Plus,,,,IN,,,c/IN,ben,,FALSE,,,,https://rplus.in/,https://i.imgur.com/XUnWcZF.png RPlusGold.in,R Plus Gold,,,,IN,,,c/IN,ben,,FALSE,,,,https://rplus.in/,https://i.imgur.com/dpI7XPC.png RPLWoerden.nl,RPL Woerden,,,,NL,,,c/NL,nld,general,FALSE,,,,https://rplwoerden.nl/,https://i.imgur.com/UdYMXWQ.png -RPMTV.za,RPM TV,,,,ZA,,,c/ZA,eng,auto,FALSE,,,,http://www.rpmtv.co.za/,https://i.ibb.co/YTMCHBP/IMG-20230714-144404.jpg +RPM.za,RPM,,,AfricaXP,ZA,,,c/ZA,eng,auto,FALSE,,,,https://video.premiumfree.tv/?section=sportssection,https://i.imgur.com/gWJ1lN8.png +RPMTV.za,RPM TV,,,,ZA,,,c/ZA,eng,auto,FALSE,,,,http://www.rpmtv.co.za/,https://i.imgur.com/QIZoVv8.png RPPTV.pe,RPP TV,,,,PE,PE-LIM,Lima,c/PE,spa,news,FALSE,,,,http://rpp.pe/tv.html,https://i.imgur.com/oBz3CgE.png RRINet.id,RRI Net,,,,ID,,,c/ID,ind,,FALSE,,,,https://rri.co.id/,https://i.imgur.com/4mWKUf4.png rrotv.ch,rrotv,,,,CH,,,c/CH,deu,,FALSE,,,,,https://i.imgur.com/Qnhe4ba.png @@ -21073,8 +21109,8 @@ RTLCrimeNetherlands.nl,RTL Crime Netherlands,,,RTL Group S.A.,NL,,,c/NL,nld,seri RTLCroatia.hr,RTL Croatia,,,,HR,,,c/HR,hrv,,FALSE,,,,https://www.rtl.hr/,https://i.imgur.com/akAa45j.png RTLCroatiaWorld.hr,RTL Croatia World,,,PPF Group,HR,,,c/HR,hrv,,FALSE,2016-07-11,,,https://www.rtl.hr/,https://i.imgur.com/FBHoNUu.png RTLGermany.de,RTL Germany,,,RTL Group S.A.,DE,,,r/EUR,deu,,FALSE,,,,https://www.rtl.de/,https://i.imgur.com/94K94k2.png -RTLGold.hu,RTL Gold,,,RTL Group S.A.,HU,,,c/HU,hun,,FALSE,,,,https://rtl.hu/,https://i.imgur.com/skEgPnD.png -RTLHAROM.hu,RTL HAROM,RTL HÁROM,,RTL Group S.A.,HU,,,c/HU,hun,,FALSE,,,,https://rtl.hu/,https://upload.wikimedia.org/wikipedia/commons/thumb/4/43/RTL_H%C3%A1rom_%282022%2C_stacked%29.svg/375px-RTL_H%C3%A1rom_%282022%2C_stacked%29.svg.png +RTLGold.hu,RTL Gold,Film+ 2,,RTL Group S.A.,HU,,,c/HU,hun,,FALSE,,,,https://rtl.hu/,https://i.imgur.com/PwbLDUQ.png +RTLHarom.hu,RTL Harom,RTL Három;Poén!;Prizma TV;RTL+,,CLT-UFA SA,HU,,,c/HU,hun,,FALSE,,,,https://rtl.hu/,https://i.imgur.com/c4Hhhzs.png RTLHessen.de,RTL Hessen,,,RTL Group S.A.,DE,,,c/DE,deu,,FALSE,,,,https://www.rtl.de/rtl-hessen/,https://i.imgur.com/nURWrEZ.png RTLHungary.hu,RTL Hungary,RTL,,RTL Group S.A.,HU,,,c/HU,hun,,FALSE,1997-10-07,,,https://rtl.hu,https://upload.wikimedia.org/wikipedia/commons/thumb/a/a3/RTL_2022.svg/375px-RTL_2022.svg.png RTLKETTO.hu,RTL KETTO,RTL KETTŐ,,RTL Group S.A.,HU,,,c/HU,hun,,FALSE,,,,https://rtl.hu,https://upload.wikimedia.org/wikipedia/commons/thumb/6/66/RTL_Kett%C5%91_%282022%2C_stacked%29.svg/375px-RTL_Kett%C5%91_%282022%2C_stacked%29.svg.png @@ -21325,8 +21361,8 @@ SaarlandFernsehen2.de,Saarland Fernsehen 2,,,,DE,,,c/DE,deu,,FALSE,,,,,https://i SabalanTV.ir,Sabalan TV,,,,IR,,,c/IR,fas,,FALSE,2000-01-01,,,http://ardabil.irib.ir/tv,https://upload.wikimedia.org/wikipedia/en/c/c5/Sabalan_TV_logo.png SabanetaTV.do,Sabaneta TV,,,,DO,DO-26,Sabaneta,s/DO-26,spa,,FALSE,,,,https://sabanetatv.com/,https://sabanetatv.com/wp-content/uploads/2021/06/SabanetaTV_web_2.png SABC1.za,SABC 1,,SABC,SABC,ZA,,,c/ZA,eng,,FALSE,,,,https://www.sabc1.co.za/,https://i.imgur.com/G8OXWe4.png -SABC2.za,SABC 2,,SABC,SABC,ZA,,,c/ZA,eng,,FALSE,,,,http://www.sabc2.co.za/,https://i.imgur.com/yllW6VY.png -SABC3.za,SABC 3,,SABC,SABC,ZA,,,c/ZA,eng,,FALSE,1991-02-04,,,http://www.sabc3.co.za/,https://upload.wikimedia.org/wikipedia/commons/thumb/2/25/Sabc%2B3%2Blogo%2B2021.jpg/512px-Sabc%2B3%2Blogo%2B2021.jpg +SABC2.za,SABC 2,,SABC,SABC,ZA,,,c/ZA,eng,,FALSE,,,,http://www.sabc2.co.za/,https://i.imgur.com/rj6i9sn.png +SABC3.za,SABC 3,National Network Television;Topsport Surplus,SABC,SABC,ZA,,,c/ZA,eng,,FALSE,1991-02-04,,,http://www.sabc3.co.za/,https://i.imgur.com/eEhLk1D.png SABCEducation.za,SABC Education,,SABC,South African Broadcasting Corporation,ZA,,,c/ZA,eng,education,FALSE,,,,http://www.sabceducation.co.za/,https://upload.wikimedia.org/wikipedia/commons/thumb/c/c8/SABC_Education_2006_logo.svg/512px-SABC_Education_2006_logo.svg.png SABCNews.za,SABC News,,,,ZA,,,c/ZA,eng,news,FALSE,2013-01-01,,,http://www.sabc.co.za/,https://i.imgur.com/liLta8j.png SABCSport.za,SABC Sport,,SABC,South African Broadcasting Corporation,ZA,,,c/ZA,eng,sports,FALSE,,,,https://www.sabcsport.co.za/,https://upload.wikimedia.org/wikipedia/commons/3/38/SABC%2BSport%2B300x169.jpg @@ -21489,7 +21525,7 @@ Saryarqa.kz,Saryarqa,,,,KZ,,,c/KZ,kaz,,FALSE,,,,http://kartv.kz/,https://i.imgur SasaTV.ke,Sasa TV,,,,KE,,,c/KE,eng,,FALSE,,,,,https://i.imgur.com/wOe4shP.png SaskatchewanLegislativeNetwork.ca,Saskatchewan Legislative Network,,,,CA,,,c/CA,eng,legislative,FALSE,,,,http://www.legassembly.sk.ca/,https://i.imgur.com/jFaM4p4.png SASTV.gt,SAS TV,,,,GT,,,c/GT,spa,entertainment,FALSE,,,,,https://i.imgur.com/VShjB3o.png -SAT1.de,SAT.1,,,,DE,,,c/DE,deu,,FALSE,,,,https://video.sat1.de/,https://i.imgur.com/d71PqdE.png +SAT1.de,SAT.1,,,ProSiebenSat1 Media,DE,,,c/DE,deu,,FALSE,,,,https://video.sat1.de/,https://i.imgur.com/rbaAGqi.png SAT1Austria.at,SAT.1 Austria,SAT.1 Österreich,,,AT,,,c/AT,deu,,FALSE,,,,https://www.sat1.at/,https://i.imgur.com/PKcef45.png SAT1emotions.de,SAT.1 emotions,,Sat.1,ProSiebenSat.1 Media,DE,,,c/DE,deu,,FALSE,2012-05-03,,,http://www.sat1emotions.de/,https://i.imgur.com/zbafKiI.png SAT1GOLD.de,SAT.1 GOLD,,,,DE,,,c/DE,deu,,FALSE,,,,https://www.sat1gold.de/,https://i.imgur.com/m7g0urs.png @@ -22323,7 +22359,7 @@ SL48TV.it,SL48 TV,,,,IT,,,c/IT,ita,music,FALSE,,,,http://www.sl48.tv/web/home.as SlagerMuzika.cz,Slager Muzika,Sláger Muzika,,,CZ,,,c/CZ;c/SK,ces,music,FALSE,2017-11-25,,,https://slagrtv.cz/,https://i.imgur.com/hKdXwrW.png SlagerOriginal.cz,Slager Original,Šláger Originál,,,CZ,,,c/CZ;c/SK,ces,music,FALSE,,,,https://slagrtv.cz/,https://i.imgur.com/0YjeWcq.png SlagerPremium.cz,Slager Premium,Sláger Premium,,,CZ,,,c/CZ;c/SK,ces,music,FALSE,,,,https://slagrtv.cz/,https://i.imgur.com/A7u2KeM.png -SlagerTV.hu,Slager TV,Sláger TV,,,HU,,,c/HU,hun,music,FALSE,,,,https://slagertv.tv/,https://i.imgur.com/qDNRgSQ.png +SlagerTV.hu,Slager TV,Sláger TV,,Tematic Media Group,HU,,,c/HU,hun,music,FALSE,,,,https://slagertv.tv/,https://i.imgur.com/qDNRgSQ.png Slam.nl,Slam!,,,,NL,,,c/NL,nld,,FALSE,,,,,https://i.imgur.com/X7NWB3A.png SLBCTV.sl,SLBC TV,,,,SL,,,c/SL,eng,,FALSE,,,,https://www.slbc.gov.sl/,https://i.imgur.com/nVTfqDJ.png SLC6.us,SLC-6,,,,US,US-NH,Salem,s/US-NH,eng,education,FALSE,,,,https://ssdtv6.com/CablecastPublicSite/watch/1?channel=1,https://i.imgur.com/BLaGrE2.png @@ -22529,8 +22565,8 @@ Sorpresa.us,Sorpresa!,,,,US,,,c/US,spa,,FALSE,,,,https://www.olympusat.com/netwo SorTV.md,Sor TV,Soroca TV,,,MD,,,c/MD,ron,general,FALSE,,,,https://news.sortv.md,https://i.imgur.com/BcfZgD8.png SOSDocteurTV.tg,SOS Docteur TV,,,,TG,,,c/TG,fra,,FALSE,,,,https://www.sos-docteur.tv/,https://i.imgur.com/20AstuU.png SOSEspiritual.br,SOS Espiritual,,,,BR,,,c/BR,por,,FALSE,,,,,https://i.imgur.com/lGQ7hDD.png -SOSKanalPlus.rs,SOS Kanal Plus,,,,RS,,,c/RS,srp,,FALSE,,,,https://www.soskanal.net/,https://i.imgur.com/vy66EXI.png -SoundcityTV.ng,Soundcity TV,,,,NG,,,c/NG,eng,,FALSE,2009-03-01,,,https://soundcity.tv/,https://i.imgur.com/21R9NXI.png +SOSKanalPlus.rs,SOS Kanal Plus,Сос канал плус,,Radoica Milosavljević,RS,,,c/RS,srp,sports,FALSE,,,,https://www.soskanal.net/,https://i.imgur.com/9SD40uH.png +SoundcityTV.ng,Soundcity TV,,,Consolidated Media Associates,NG,,,c/NG,eng,,FALSE,2009-03-01,,,https://soundcity.tv/,https://i.imgur.com/fKtPcT4.png SoundViewCommunityMedia.us,Sound View Community Media,,,,US,US-CT,Bridgeport,s/US-CT,eng,general,FALSE,,,,https://videoplayer.telvue.com/player/TZ8khYX7RlRx6tH0saPsaK0nFpap97BM/home?autostart=false&showtabssearch=true,https://i.imgur.com/3gASzGc.png SourceAfricaTV.ci,Source Africa TV,,,,CI,,,c/CI,eng,,FALSE,,,,,https://i.imgur.com/Ef1mWn4.png SouryanaRadio.sy,Souryana Radio,,,,SY,,,c/SY,ara,music,FALSE,,,,,https://i.imgur.com/j5o8ZPm.png @@ -22594,9 +22630,9 @@ Spektrum.cz,Spektrum,,,AMC Networks Inc.,CZ,,,c/CZ;c/SK,ces;slk,documentary,FALS SpektrumHome.cz,Spektrum Home,,,AMC Networks Inc.,CZ,,,c/CZ;c/SK,ces;slk,entertainment,FALSE,,,,https://spektrumhome.cz/,https://i.imgur.com/VaVi65F.png SpektrumHomeHungary.hu,Spektrum Home Hungary,,,AMC Networks Inc.,HU,,,c/HU,hun,entertainment,FALSE,,,,https://www.spektrumhome.hu/,https://i.imgur.com/VaVi65F.png SpektrumHomePlusHungary.hu,Spektrum Home+ Hungary,,,AMC Networks Inc.,HU,,,c/HU,hun,entertainment,FALSE,,,,https://www.spektrumhome.hu/,https://i.imgur.com/VaVi65F.png -SpektrumHungary.hu,Spektrum Hungary,,,AMC Networks Inc.,HU,,,c/HU,hun,documentary,FALSE,,,,https://www.spektrumtv.hu/,https://i.imgur.com/GmFRQ82.png +SpektrumHungary.hu,Spektrum Hungary,,,AMC Networks Central Europe Kft.,HU,,,c/HU,hun,documentary,FALSE,,,,https://www.spektrumtv.hu/,https://i.imgur.com/GmFRQ82.png SperantaTV.ro,Speranta TV,,,,RO,,,c/RO,ron,,FALSE,,,,http://www.sperantatv.ro/,https://i.imgur.com/Yu17vJg.png -SpiceTV.ng,Spice TV,,,Consolidated Media Associates,NG,,,c/NG,eng,,FALSE,2013-11-05,,,https://myspice.tv/,https://i.imgur.com/yh0AQI7.png +SpiceTV.ng,Spice TV,,,Consolidated Media Associates,NG,,,c/NG,eng,,FALSE,2013-11-05,,,https://myspice.tv/,https://i.imgur.com/3YW0cWr.png SpiegelGeschichte.de,Spiegel Geschichte,,,,DE,,,c/DE,deu,,FALSE,,,,http://www.spiegel-geschichte.tv/,https://i.imgur.com/z2m55no.png SpiegelTVWissen.de,Spiegel TV Wissen,,,,DE,,,c/DE,deu,,FALSE,,2022-05-02,CuriosityChannelGermany.de,http://www.spiegelwissen.tv/,https://i.imgur.com/F0Rl7M8.png SpikeAventura.us,Spike Aventura,,,,US,,,c/US,spa,,FALSE,,,,,https://www.samsung.com/us/smg/content/dam/s7/home/televisions-and-home-theater/tvs/tvplus/all-channels/10062020/Spike_Aventura_190x190.png?raw=true @@ -22638,9 +22674,9 @@ Sport24.uk,Sport 24,,,,UK,,,c/UK,eng,sports,FALSE,,,,https://sport24live.com/,ht Sport24Extra.uk,Sport 24 Extra,,,,UK,,,c/UK,eng,sports,FALSE,,,,https://sport24live.com/,https://i.imgur.com/FeZ0COk.png Sport2Hungary.hu,Sport2 Hungary,,,AMC Networks Inc.,HU,,,c/HU,hun,sports,FALSE,,,,http://www.sport1tv.hu/,https://i.imgur.com/UxflVoU.png Sport3.cz,Sport3,,,AMC Networks Inc.,CZ,,,c/CZ;c/SK,ces;slk,sports,FALSE,,,,http://www.sport1tv.cz/,https://i.imgur.com/aV9zioW.png +Sport3.hu,Sport 3,,,AMC Networks Inc.,HU,,,c/HU,hun,sports,FALSE,,,,http://www.sport1tv.hu/,https://i.imgur.com/aV9zioW.png Sport3.il,Sport 3,,,,IL,,,c/IL,heb,sports,FALSE,,,,https://sport1.maariv.co.il/,https://i.imgur.com/stSrBBh.png Sport3.xk,Sport 3,,,,XK,,,c/XK,sqi,sports,FALSE,,,,https://www.artmotion.net/tv/,https://i.imgur.com/9CF7rEd.png -Sport3Hungary.hu,Sport3 Hungary,,,AMC Networks Inc.,HU,,,c/HU,hun,sports,FALSE,,,,http://www.sport1tv.hu/,https://i.imgur.com/aV9zioW.png Sport4.il,Sport 4,,,,IL,,,c/IL,heb,sports,FALSE,,,,https://sport1.maariv.co.il/,https://i.imgur.com/wFXzzYs.png Sport4.xk,Sport 4,,,,XK,,,c/XK,sqi,sports,FALSE,,,,https://www.artmotion.net/tv/,https://i.imgur.com/YKroJkR.png Sport5.cz,Sport 5,,,,CZ,,,c/CZ,ces,sports,FALSE,,,,https://sport5.cz/,https://i.imgur.com/ti6SYvm.png @@ -22691,7 +22727,7 @@ SportPlusTV.gr,SportPlus TV,,,,GR,,,c/GR,ell,sports,FALSE,2014-08-24,,,http://ww Sports181HD.in,Sports18 1 HD,,,,IN,,,c/IN,eng,sports,FALSE,,,,https://www.sports18.com/,https://i.ibb.co/NmVCXhz/IMG-20230610-135938.jpg SportsChannel.il,Sports Channel,,,,IL,,,c/IL,heb,sports,FALSE,,,,https://www.sport5.co.il/,https://i.imgur.com/mnhuXQj.png SportsChannelNetwork.us,Sports Channel Network,,,,US,,,c/US,eng,sports,FALSE,,,,,https://i.imgur.com/M1gIyIQ.png -SportsConnect.za,Sports Connect,,,,ZA,,,c/ZA,eng,sports,FALSE,,,,https://www.africaxp.com/,https://i.imgur.com/CZ2wQig.png +SportsConnect.za,Sports Connect,,,AfricaXP,ZA,,,c/ZA,eng,sports,FALSE,,,,https://www.africaxp.com/,https://i.imgur.com/0sNWg54.png SportsGrid.us,SportsGrid,,,,US,,,c/US,eng,sports,FALSE,,,,https://www.sportsgrid.com/live/,https://i.imgur.com/ulGKX30.png SportskaTV.hr,Sportska TV,,,,HR,,,c/HR,hrv,sports,FALSE,,,,http://www.sptv.hr/,https://i.imgur.com/TbLLi8j.png Sportskool.us,Sportskool,,,,US,,,c/US,eng,sports,FALSE,2004-01-01,,,https://www.sportskool.com/,https://i.imgur.com/R6FsKYj.png @@ -22881,7 +22917,7 @@ StarTV.tr,Star TV,,,,TR,,,c/TR,tur,,FALSE,,,,https://www.startv.com.tr/,https:// StarTV.tz,Star TV,,,,TZ,,,c/TZ,swa,,FALSE,,,,https://startv.co.tz/,https://i.imgur.com/pLfcg0r.png StarUtsav.in,Star Utsav,,,,IN,,,c/IN,hin,,FALSE,,,,https://www.starttv.com/,https://i.imgur.com/H1jhHDl.png StarUtsavMovies.in,Star Utsav Movies,,,,IN,,,c/IN,hin,movies,FALSE,,,,https://www.starttv.com/,https://i.imgur.com/k5QHfH2.png -StarVijay.in,Star Vijay,,Asianet Star Communications,Disney Star,IN,,,c/IN,tam,,FALSE,1994-11-24,,,https://www.starttv.com/,https://i.imgur.com/PV6eVXs.png +StarVijay.in,Star Vijay,,Asianet Star Communications,The Walt Disney Company India,IN,,,c/IN,tam,,FALSE,1994-11-24,,,https://www.starttv.com/,https://i.imgur.com/PV6eVXs.png StarVijayMusic.in,Star Vijay Music,,,,IN,,,c/IN,tam,music,FALSE,,,,https://www.starttv.com/,https://i.imgur.com/5iN3VQY.png StarVijaySuper.in,Star Vijay Super,,Disney Star,Disney Star,IN,,,c/IN,tam,,FALSE,2016-08-25,,,https://www.starttv.com/,https://i.imgur.com/JnF5qf3.png StarWorldIndia.in,Star World India,,,,IN,,,c/IN,hin,,FALSE,,,,http://www.hotstar.com/channels/star-world,https://upload.wikimedia.org/wikipedia/en/thumb/9/90/STAR_World.svg/512px-STAR_World.svg.png @@ -23306,7 +23342,7 @@ SunoNewsHD.pk,Suno News HD,,,,PK,,,c/PK,urd,news,FALSE,,,,https://www.sunonews.t SunPlusTV.cm,Sun+ TV,,,,CM,,,c/CM,fra,,FALSE,,,,,https://i.imgur.com/tmMoq8Z.png SunRTV.tr,Sun RTV,,,,TR,,,c/TR,tur,,FALSE,,,,http://www.sunrtv.com.tr/,https://i.imgur.com/64tph9N.png SunTV.hk,Sun TV,陽光衛視,,,HK,,,c/HK,zho,,FALSE,2000-08-08,,,https://www.isuntv.com/zh/index,https://i.imgur.com/X9DP6oq.png -SunTV.in,Sun TV,,,,IN,,,c/IN,tam,,FALSE,,,,http://www.sunnetwork.in/tv-channel-details.aspx?Channelid=1&channelname=SUN%20TV&LanguageID=1&Type=1,https://i.imgur.com/Z0HJi56.png +SunTV.in,Sun TV,,,SUN Group,IN,,,c/IN,tam,,FALSE,,,,http://www.sun.in/,https://i.imgur.com/Z0HJi56.png SunTVMalaysia.my,Sun TV Malaysia,,,,MY,,,c/MY,tam,,FALSE,,,,,https://i.imgur.com/yTqdaN6.png SunTVUS.us,Sun TV US,,,,US,,,c/US,tam,,FALSE,,,,http://www.sunnetwork.in/tv-channel-details.aspx?Channelid=1&channelname=SUN%20TV&LanguageID=1&Type=1,https://i.imgur.com/H7wk1R9.png SunuYeuf.sn,Sunu Yeuf,,,,SN,,,c/SN,fra,,FALSE,,,,https://www.sunuyeuf.com/,https://i.imgur.com/WSlppQj.png @@ -23500,6 +23536,8 @@ SwiebodzinTV.pl,Swiebodzin TV,Świebodzin TV;Telewizja Świebodzin,,,PL,,Świebo Swiss1.ch,Swiss 1,,,,CH,,,c/CH,deu,,FALSE,,,,https://www.swiss1.tv/,https://i.imgur.com/KiINjID.png SwissRockTV.ch,SwissRock.TV,,,,CH,,,c/CH,deu;eng,music,FALSE,,,,https://swissrock.tv/,https://i.ibb.co/dGGSSqz/Swissrocktv.jpg SwissSportTV.ch,Swiss Sport TV,,,,CH,,,c/CH,deu,sports,FALSE,,,,,https://i.imgur.com/avn54KF.png +SWITCHDONChannel109.za,SWITCH'D ON Channel 109,,,MultiChoice,ZA,,,c/ZA;c/LS,eng,entertainment,FALSE,2023-01-24,,,https://www.dstv.com/,https://i.imgur.com/nTzSgk7.png +SWITCHDONChannel110.za,SWITCH'D ON Channel 110,,,MultiChoice,ZA,,,c/ZA;c/LS,eng,entertainment,FALSE,2023-01-24,,,https://www.dstv.com/,https://i.imgur.com/nTzSgk7.png SwitchTV.ke,Switch TV,,,,KE,,,c/KE,eng,general,FALSE,,,,https://www.switchtv.ke/,https://i.imgur.com/K0Et3vD.png SwordandShield.us,Sword and Shield,,,,US,,,c/US,eng,documentary,FALSE,,,,,https://i.imgur.com/xwHhiAc.png SWR3VisualRadio.de,SWR 3 Visual Radio,,,,DE,,,c/DE,deu,,FALSE,,,,,https://i.imgur.com/PxSgxRO.jpg @@ -23530,7 +23568,7 @@ SyriaTV.tr,Syria TV,,,,TR,,,c/TR,ara,,FALSE,1960-01-01,,,https://www.syria.tv/,h SyriTV.ch,Syri TV,,,,CH,,,c/CH,sqi,,FALSE,,,,https://syri.tv/,https://i.imgur.com/AtK1v9z.png SyrosTV1.gr,Syros TV1,,,,GR,,Manna,c/GR,ell,general,FALSE,,,,https://syrostv1.gr/live-tv/,https://i.imgur.com/arQe5qS.png SYTV.cn,SYTV,邵阳广播电视台,,,CN,,Shaoyang,c/CN,zho,general,FALSE,,,,,https://www.tvchinese.net/uploads/tv/sysggpd.jpg -SzarvasiTelevizio.hu,Szarvasi Televizio,Szarvasi Televízió,,,HU,,Szarvas,c/HU,hun,general,FALSE,,,,http://videotar.szarvasnet.hu/,https://i.ibb.co/4tRKjNw/szarvasi-televizio-logo-e1606209974296.png +SzarvasiTelevizio.hu,Szarvasi Televizio,Szarvasi Televízió,,,HU,,Szarvas,c/HU,hun,general,FALSE,,,,http://videotar.szarvasnet.hu/,https://i.imgur.com/fNk7dF4.png SzecsenyTV.hu,Szecseny TV,Szécsény TV,,,HU,,,c/HU,hun,general,FALSE,,,,http://szecseny.hu/szecsenytv/,https://i.imgur.com/ilRmZtF.png SzegedTV.hu,Szeged TV,,,,HU,,,c/HU,hun,,FALSE,,,,https://tv.szeged.hu/,https://i.imgur.com/gcn9mvd.png SzolnokTV.hu,Szolnok TV,,,,HU,,,c/HU,hun,general,FALSE,,,,https://www.szolnoktv.hu/,https://i.imgur.com/Eiab9MP.png @@ -23759,7 +23797,7 @@ TeenNickBrazil.br,TeenNick Brazil,,Nickelodeon,,BR,,,c/BR,por,kids,FALSE,,,,http TeenNickCzechia.cz,TeenNick Czechia,,Nickelodeon,,CZ,,,c/CZ,eng,kids,FALSE,,,,http://www.nickelodeon.cz/,https://i.imgur.com/KZq73CE.png TeenNickEast.us,TeenNick East,,Nickelodeon,,US,,,c/US,eng,kids,FALSE,,,,http://www.teennick.com/,https://upload.wikimedia.org/wikipedia/commons/thumb/b/bd/TeenNick_2019_logo.svg/512px-TeenNick_2019_logo.svg.png TeenNickGermany.de,TeenNick Germany,,Nickelodeon,,DE,,,c/DE,deu,kids,FALSE,,,,https://pluto.tv/en/live-tv/teen-nick-de,https://i.imgur.com/VTWleRc.png -TeenNickHungary.hu,TeenNick Hungary,,Nickelodeon,,HU,,,c/HU,eng,kids,FALSE,,,,http://www.nickelodeon.hu/,https://i.imgur.com/KZq73CE.png +TeenNickHungary.hu,TeenNick Hungary,,Nickelodeon,MTV Networks s.r.o.,HU,,,c/HU,eng,kids,FALSE,,,,http://www.nickelodeon.hu/,https://i.imgur.com/KZq73CE.png TeenNickIsrael.il,TeenNick Israel,,Nickelodeon,,IL,,,c/IL,eng,kids,FALSE,,,,http://nick.co.il/,https://upload.wikimedia.org/wikipedia/commons/thumb/b/bd/TeenNick_2019_logo.svg/512px-TeenNick_2019_logo.svg.png TeenNickLatinAmerica.us,TeenNick Latin America,,Nickelodeon,,US,,,r/LATAM,spa;eng,kids,FALSE,,,,http://nickelodeon.la/,https://upload.wikimedia.org/wikipedia/commons/thumb/b/bd/TeenNick_2019_logo.svg/512px-TeenNick_2019_logo.svg.png TeenNickPoland.pl,TeenNick Poland,,Nickelodeon,,PL,,,c/PL,eng,kids,FALSE,,,,https://www.nick.com.pl/,https://i.imgur.com/KZq73CE.png @@ -23928,6 +23966,7 @@ TeleLouange.ht,Tele Louange,,,,HT,,,c/HT,fra,,FALSE,,,,,https://i.imgur.com/vZml TeleM.md,Tele M,,,,MD,,,c/MD,ron,,FALSE,,,,,https://i.imgur.com/AUWuwbM.png TeleM1.ch,Tele M1,,,,CH,,,c/CH,deu,,FALSE,,,,https://www.telem1.ch/,https://i.imgur.com/oFiixzK.png Telemadrid.es,Telemadrid,,,Radio Televisión Madrid,ES,,,c/ES,spa,,FALSE,1989-05-02,,,,https://upload.wikimedia.org/wikipedia/commons/thumb/7/71/TeleMadrid.svg/512px-TeleMadrid.svg.png +TelemadridINT.es,Telemadrid INT,Telemadrid Internacional,,Radio Televisión Madrid,ES,ES-MD,,c/ES,spa,general,FALSE,,,,https://telemadrid.es,https://i.imgur.com/hfpxs4g.jpg Telemagino.ca,Telemagino,Télémagino,,WildBrain,CA,,,c/CA,fra,,FALSE,2010-07-05,,,http://www.telemagino.ca/,https://i.imgur.com/UZhWqI9.png TeleMagQuebec.ca,Tele-Mag Quebec,Télé-Mag Québec,,,CA,,,c/CA,fra,general,FALSE,,,,,https://i.imgur.com/AeeWZH1.png TeleMajg.it,TeleMajg,,,,IT,,Bari,c/IT,ita,general,FALSE,,,,http://www.telemajg.com/,https://i.imgur.com/j5fnQ1h.png @@ -24134,6 +24173,7 @@ TelevisionAranda.es,Television Aranda,Televisión Aranda,,,ES,ES-CM,,s/ES-CM,spa TelevisionComayaguaCanal40.hn,Television Comayagua Canal 40,,,,HN,,,c/HN,spa,,FALSE,,,,http://televisioncomayagua.com/,https://i.imgur.com/uDLhsDM.png TelevisionCristal.bo,Television Cristal,Televisión Cristal;Cristal TV,,,BO,,Santa Cruz de la Sierra,c/BO,spa,general,FALSE,,,,https://televisioncristal.com/,https://i.ibb.co/pdTCdWj/logo-cristal-fw.png TelevisiondelEste.do,Television del Este,Televisión del Este,,,DO,DO-11,Punta Cana,s/DO-11,spa,news;travel,FALSE,,,,https://televisiondeleste.net/,https://i.imgur.com/mmjbcGr.png +TelevisiondeSanVicente.es,Television de San Vicente,Televisión de San Vicente,,,ES,ES-VC,San Vicente del Raspeig,c/ES,spa,general,FALSE,,,,https://www.televisiondesanvicente.es/,https://i.imgur.com/oLnrf0d.png TelevisionDominicana.us,Television Dominicana,Televisión Dominicana,,,US,,,c/US,eng,,FALSE,,,,https://www.televisiondominicana.tv/,https://i.imgur.com/SQyEKCD.png TelevisionExtremena.es,Television Extremena,Televisión Extremeña,,,ES,ES-EX,,s/ES-EX,spa,general,FALSE,,,,https://www.xn--televisionextremea-30b.com/,https://i.imgur.com/So5UlJg.png TelevisionLasTerrenas.do,Television Las Terrenas,Televisión Las Terrenas,,,DO,,,c/DO,spa,general,FALSE,,,,http://tdn.do/Canales/canal4/canal4.html,https://i.imgur.com/1KOLAt7.png @@ -24324,7 +24364,7 @@ TheGrioTV.us,TheGrio TV,,,,US,,,c/US,eng,,FALSE,,,,https://thegriotv.com/,https: TheGrotonChannel.us,The Groton Channel,,,,US,US-MA,Groton,s/US-MA,eng,general,FALSE,,,,https://www.thegrotonchannel.org/live.html,https://i.imgur.com/p7Xnylz.png TheGuardian.uk,The Guardian,,,,UK,,,c/UK,eng,news;documentary,FALSE,,,,,https://i.imgur.com/o9AYq9V.png TheHillTV.us,The Hill TV,,,,US,,,c/US,eng,,FALSE,,,,https://thehill.com/hilltv/,https://i.imgur.com/Ioh5xbx.png -TheHomeChannel.za,The Home Channel,,,,ZA,,,c/ZA,eng,,FALSE,,,,https://www.thehomechannel.co.za/,https://i.imgur.com/RAcxeqk.png +TheHomeChannel.za,The Home Channel,,,Arena Holdings,ZA,,,c/ZA,eng,,FALSE,,,,https://www.thehomechannel.co.za/,https://i.imgur.com/RAcxeqk.png TheIndonesiaChannel.id,The Indonesia Channel,,,,ID,,Jakarta,c/ID,eng,culture;education,FALSE,2014-06-04,,,https://www.theindonesiachannel.com/,https://i.imgur.com/jAAPgpV.png TheIslamicNetwork.tt,The Islamic Network,,,,TT,,,c/TT,eng,religious,FALSE,,,,,https://i.imgur.com/EtQolw6.png TheIsraeliNetwork.il,The Israeli Network,,,,IL,,,c/IL,heb,,FALSE,,,,https://tin.tv/,https://i.imgur.com/wOsArb9.png @@ -24451,7 +24491,7 @@ TipTV.al,Tip TV,,,Tring,AL,,,c/AL,sqi,kids,FALSE,2011-10-10,,,http://www.tring.a TirolTV.at,Tirol TV,,,,AT,,,c/AT,deu,,FALSE,,,,,https://i.imgur.com/Xw6uc6W.png TishkTV.iq,Tishk TV,,,,IQ,,,c/IQ,kur,,FALSE,2006-02-16,,,https://www.tishktv.tv/,https://i.imgur.com/FysGwKA.png TISTV.ua,TIS TV,,,,UA,,,c/UA;c/RU,ukr,,FALSE,,,,,https://i.imgur.com/OP8gFSB.png -TiszaTV.hu,Tisza TV,,,,HU,,,c/HU,hun,,FALSE,,,,https://www.tiszatv.hu/,https://www.tiszatv.hu/style/tiszatv_logo.png +TiszaTV.hu,Tisza TV,,,,HU,,,c/HU,hun,,FALSE,,,,https://www.tiszatv.hu/,https://i.imgur.com/Q2bShnh.png TitanChannel.es,Titan Channel,,,,ES,,,c/ES,spa;eng,,FALSE,,,,https://titanchannel.com/,https://i.imgur.com/aXV7M7g.png TitanicoTV.do,Titanico TV,Titánico TV,,,DO,,,c/DO,spa,,FALSE,,,,https://www.titanicotv.net/,https://i.imgur.com/hnbZpxQ.png TitanTV.us,Titan TV,,,,US,US-CA,Fullerton,s/US-CA,eng,education,FALSE,,,,https://titancom.fullerton.edu/ttv.php,https://i.imgur.com/iL7GgJl.png @@ -24548,7 +24588,7 @@ TNORadio.ve,TNO Radio,,,,VE,,Caracas,c/VE,spa,general,FALSE,,,,https://tnoradio. TNT.ru,TNT,ТНТ,,,RU,,,c/RU,rus,entertainment,FALSE,,,,http://tnt-online.ru/,https://i.imgur.com/T4A6rEI.png TNT4.ru,TNT4,ТНТ4,,,RU,,,c/RU,rus,entertainment,FALSE,2016-01-01,,,https://tnt4.ru/,https://i.imgur.com/4GiD9xN.png TNT4International.ru,TNT4 International,ТНТ4 International,,,RU,,,c/BY,rus,entertainment,FALSE,2017-01-31,,,https://tnt4.ru/,https://i.imgur.com/SjdOaya.png -TNTAfrica.us,TNT Africa,,,,US,,,r/AFR,eng;fra,,FALSE,1993-09-17,,,https://www.tnt.africa/,https://i.imgur.com/4MYjMsD.png +TNTAfrica.uk,TNT Africa,Turner Classic Movies,,Warner Bros. Discovery International,UK,,,r/AFR,eng,,FALSE,1993-09-17,,,https://www.tnt.africa/,https://i.imgur.com/4MYjMsD.png TNTArgentina.ar,TNT Argentina,,,,AR,,,c/AR,spa,,FALSE,,,,http://www.tntla.com/,https://upload.wikimedia.org/wikipedia/commons/thumb/2/24/TNT_Logo_2016.svg/512px-TNT_Logo_2016.svg.png TNTBrazil.br,TNT Brazil,TNT Brasil,,,BR,,,c/BR,por,,FALSE,,,,http://www.tnt.com.br/,https://upload.wikimedia.org/wikipedia/commons/thumb/2/24/TNT_Logo_2016.svg/512px-TNT_Logo_2016.svg.png TNTCenter.us,TNT Center,,,,US,,,c/PA;c/VE;r/CARIB,spa,,FALSE,,,,http://www.tntla.com/,https://upload.wikimedia.org/wikipedia/commons/thumb/2/24/TNT_Logo_2016.svg/512px-TNT_Logo_2016.svg.png @@ -24784,6 +24824,7 @@ TretiyCifrovoy.ua,Tretiy Cifrovoy,,,,UA,,,c/UA;c/RU,ukr,,FALSE,,,,,https://i.img TribecaChannel.us,Tribeca Channel,,,,US,,,c/US,eng,,FALSE,,,,https://watch.plex.tv/live-tv/channel/tribeca-channel,https://i.imgur.com/JCpFAll.png TribeTV.in,Tribe TV,,,Kalyani Solvex Private Limited,IN,,Raiganj,c/IN,sat,general,FALSE,2021-08-09,,,https://www.tribetv.in/,https://i.imgur.com/zG2P1WZ.png TribunaTV.sv,Tribuna TV,,,,SV,,,c/SV,spa,,FALSE,,,,https://www.tribunatv.us/,https://i.imgur.com/C5vHpd0.png +Trigger.za,Trigger,,,AfricaXP,ZA,,,c/ZA,eng,,FALSE,,,,https://www.africaxp.com/,https://i.imgur.com/OTZGFGJ.png TrikolorInfokanal.ru,Trikolor Infokanal,Триколор Инфоканал,,,RU,,,c/RU,rus,,FALSE,,,,https://www.tricolor.tv/channels/infokanal/,https://i.imgur.com/9oIabmO.png TrimedioTV.hu,Trimedio TV,,,,HU,,,c/HU,hun,general,FALSE,,,,https://trimedio.tv,https://i.imgur.com/P4hxWVZ.png TringAction.al,Tring Action,,,,AL,,,c/AL,sqi,movies,FALSE,,,,http://www.tring.al/,https://www.tring.al/wp-content/uploads/2018/12/Action-HD.png @@ -24856,7 +24897,7 @@ TRTTurkPlus8.tr,TRT Turk +8,TRT Türk +8,,,TR,,,c/TR,tur,,FALSE,,,,https://www.t TRTWorld.tr,TRT World,,,TRT,TR,,,r/INT,eng,news,FALSE,2015-05-18,,,https://www.trtworld.com/,https://upload.wikimedia.org/wikipedia/commons/thumb/2/27/TRT_World.svg/512px-TRT_World.svg.png TRU.ar,TRU,Televisora Regional Unimar,,,AR,,,c/AR,spa,general,FALSE,,,,https://www.trutv.ar/,https://i.ibb.co/Y0nf1Wd/TRU-Televisora-Regional-Unimar-en-vivo.png True4U.th,True 4U,,,,TH,,,c/TH,tha,,FALSE,,,,https://true4u.com/,https://i.imgur.com/O6Xre1O.png -TrueAfrican.za,True African,,,,ZA,,,c/ZA,eng,,FALSE,,,,,https://i.imgur.com/PKkMr0G.png +TrueAfrican.za,True African,,,,ZA,,,c/ZA,eng,,FALSE,,,,,https://i.imgur.com/nDi2br7.png TrueAmateurs.uk,True Amateurs,,,,UK,,,c/UK,eng,xxx,TRUE,,,,https://www.trueamateurs.com/,https://i.imgur.com/K804K83.png TrueAsianMore.th,True Asian More,,,,TH,,,c/TH,tha;eng,,FALSE,,,,https://tv.trueid.net/live/true-asian-more,https://i.imgur.com/zy2ZD2w.png TrueChineseMore.th,True Chinese More,,,,TH,,,c/TH,tha;eng,,FALSE,,,,https://tv.trueid.net/live/true-chinese-more-hd,https://i.imgur.com/qUmt6Bs.png @@ -25052,7 +25093,7 @@ TV2Comedy.hu,TV2 Comedy,,,,HU,,,c/HU,hun,comedy,FALSE,,,,https://tv2play.hu/tv2c TV2Fri.dk,TV 2 Fri,,TV 2,,DK,,,c/DK,dan,,FALSE,2013-05-05,,,http://fri.tv2.dk/,https://upload.wikimedia.org/wikipedia/commons/thumb/d/d8/TV2FriLogo.png/512px-TV2FriLogo.png TV2Fyn.dk,TV 2 Fyn,,,,DK,,,c/DK,dan,,FALSE,,,,https://www.tv2fyn.dk/,https://i.imgur.com/4L6AIMH.png TV2Guaiba.br,TV2 Guaiba,TV2 Guaíba,,,BR,,,c/BR,por,,FALSE,1979-03-10,2007-07-01,RecordRioGrandedoSul.br,,https://i.imgur.com/mCrKyeu.png -TV2Kids.hu,TV2 Kids,,,,HU,,,c/HU,hun,kids,FALSE,,,,https://tv2play.hu/tv2kids,https://i.imgur.com/Zltlezm.png +TV2Kids.hu,TV2 Kids,,,TV2 Média Csoport Kft.,HU,,,c/HU,hun,kids,FALSE,,,,https://tv2play.hu/tv2kids,https://i.imgur.com/Zltlezm.png TV2Kosmopol.dk,TV 2 Kosmopol,TV 2 Lorry,,,DK,,,c/DK,dan,,FALSE,,,,https://www.tv2kosmopol.dk/,https://i.imgur.com/oVmCoKY.png TV2Livsstil.no,TV 2 Livsstil,,,TV 2 Group,NO,,,c/NO,nor,,FALSE,2015-11-02,,,http://www.tv2.no/kanaler/livsstil/,https://i.imgur.com/c4wRhee.png TV2News.dk,TV 2 News,,TV 2 Denmark,TV 2 Denmark,DK,,,c/DK,dan,news,FALSE,2006-12-01,,,http://news.tv2.dk/,https://i.imgur.com/7oFcuJd.png @@ -25083,7 +25124,6 @@ TV360Nigeria.ng,TV360 Nigeria,,,,NG,,Lagos,c/NG,eng,news,FALSE,,,,https://www.tv TV38.tr,TV 38,,,,TR,,,c/TR,tur,,FALSE,,,,,https://i.imgur.com/KDBXLqn.png TV38SudostNiedersachen.de,TV38 Sudost-Niedersachen,TV38 Südost-Niedersachen,,,DE,,,c/DE,deu,,FALSE,,,,,https://i.imgur.com/ob9JJPU.png TV3CAT.es,TV3CAT,,,Televisió de Catalunya,ES,ES-CT,,s/ES-CT,cat,,FALSE,1995-01-01,,,http://www.ccma.cat/tv3/directe/tv3cat/,https://upload.wikimedia.org/wikipedia/commons/thumb/9/97/TV3CAT.svg/512px-TV3CAT.svg.png -TV3Catalunya.es,TV3 Catalunya,,,,ES,ES-CT,,s/ES-CT,cat,,FALSE,,,,,https://i.imgur.com/FAXhOjv.png TV3Danmark.dk,TV 3 Danmark,,,,DK,,,c/DK,dan,,FALSE,,,,https://www.viafree.dk/kanal/tv3,https://i.imgur.com/sCr0h4N.png TV3Estonia.ee,TV3 Estonia,,,,EE,,,c/EE,est,,FALSE,,,,https://tv3.ee/,https://i.imgur.com/7nipq0y.png TV3Ghana.gh,TV3 Ghana,,TV3,Media General Ghana Limited,GH,,,c/GH,eng,,FALSE,1997-01-01,,,https://3news.com/,https://i.imgur.com/8t967Hq.png @@ -25700,8 +25740,7 @@ TVLaVerdad.br,TV La Verdad,,,,BR,,,c/BR,spa,,FALSE,,,,https://elcaminoantiguo.co TVLavPlus.rs,TV Lav Plus,,,,RS,,,c/RS,srp,,FALSE,,,,,https://i.imgur.com/1ODaHQA.png TVLegislativa.cr,TV Legislativa,,,,CR,,San Jose,c/CR,spa,legislative,FALSE,,,,https://www.asamblea.go.cr/,https://i.imgur.com/hmRkAIf.png TVLegislativa.ec,TV Legislativa,,,,EC,,,c/EC,spa,,FALSE,,,,http://tvl.asambleanacional.gob.ec/,https://i.imgur.com/9eeLsgg.png -TVLeskovac.rs,TV Leskovac,,,,RS,,,c/RS,srp,,FALSE,,,,,https://i.imgur.com/FMedMvT.png -TVLesotho.ls,TV Lesotho,,,,LS,,,c/LS,eng,,FALSE,,,,,https://i.imgur.com/5FiGVP5.png +TVLeskovac.rs,TV Leskovac,ТВ Лесковац,,Radoica Milosavljević,RS,,Leskovac,c/RS,srp,,FALSE,,,,http://www.tvl.rs/,https://i.imgur.com/NFj27eT.png TVLeste.br,TV Leste,,,,BR,,,c/BR,por,,FALSE,,,,http://www.tvleste.com.br/,https://i.imgur.com/sqI1Ckw.png TVLHospitalet.es,TV L'Hospitalet,,,,ES,ES-CT,L'Hospitalet,s/ES-CT,cat,,FALSE,,,,https://lhdigital.cat/web/digital-h/en-directe,https://upload.wikimedia.org/wikipedia/commons/thumb/e/e4/Logotip_TV_L%27H.svg/400px-Logotip_TV_L%27H.svg.png TVLiberal.br,TV Liberal,,,,BR,,,c/BR,por,,FALSE,,,,http://redeglobo.globo.com/pa/tvliberal/,https://cdn.mitvstatic.com/channels/globo_m.jpg @@ -25742,6 +25781,7 @@ TVManaBrazil.pt,TV Mana Brazil,TV Maná Brazil,,,PT,,,c/PT,por,religious,FALSE,, TVManaCordoba.pt,TV Mana Cordoba,TV Maná Córdoba,,,PT,,,c/PT,spa,religious,FALSE,,,,,https://i.imgur.com/WdkeWiz.png TVManaEnglish.pt,TV Mana English,,,,PT,,,c/PT,eng,religious,FALSE,,,,,https://i.imgur.com/c4DSG2J.png TVManaFrancais.pt,TV Mana Francais,,,,PT,,,c/PT,fra,religious,FALSE,,,,,https://i.imgur.com/c4DSG2J.png +TVManaHindi.pt,TV Mana Hindi,TV Maná Hindi,,Igreja Maná,PT,,Pontinha,c/PT,por;hin,religious,FALSE,,,,https://tvmana-hindi.com/,https://i.imgur.com/Rqs2Jyt.png TVManaMaputo.mz,TV Mana Maputo,TV Maná Moçambique,,,MZ,,Maputo,c/MZ,por,religious,FALSE,,,,http://manasat.com/mm1/grelhas/tv_mana_mocambique.html,https://www.livetvcentral.com/imgs/tvs/2594.jpg TVManaMaputo.pt,TV Mana Maputo,,,,PT,,,c/PT,por,religious,FALSE,,,,,https://i.imgur.com/c4DSG2J.png TVManaMozambique.pt,TV Mana Mozambique,TV Maná Mozambique,,,PT,,,c/PT,por,religious,FALSE,,,,https://tvmana-mocambique.com/,https://i.imgur.com/5UIy5tD.png @@ -26538,7 +26578,7 @@ UniversalPremiereWest.us,Universal Premiere West,,,,US,,,c/US,eng,movies,FALSE,, UniversalReality.us,Universal Reality,,,,US,,,c/US,eng,entertainment,FALSE,,,,https://www.universalplus.com/,https://i.imgur.com/mqfUD1R.png UniversalSomaliTV.uk,Universal Somali TV,,,,UK,,,c/UK,som,,FALSE,,,,https://universaltvsomali.net/,https://i.imgur.com/awa4oas.png UniversalTelevision.hk,Universal Television,UTV;環球電視台,,,HK,,,c/HK,zho,,FALSE,2015-10-01,,,,https://i.imgur.com/3ue73Aw.png -UniversalTVAfrica.za,Universal TV Africa,,,,ZA,,,c/ZA,eng,,FALSE,2010-03-24,,,http://www.universaltv.co.za/,https://upload.wikimedia.org/wikipedia/commons/thumb/0/0d/Universal_TV_2018.svg/512px-Universal_TV_2018.svg.png +UniversalTVAfrica.za,Universal TV Africa,,,NBCUniversal,ZA,,,c/ZA,eng,,FALSE,2010-03-24,,,http://www.universaltv.co.za/,https://upload.wikimedia.org/wikipedia/commons/thumb/0/0d/Universal_TV_2018.svg/512px-Universal_TV_2018.svg.png UniversalTVAustralia.au,Universal TV Australia,,,,AU,,,c/AU,eng,,FALSE,2018-06-01,,,https://universaltv.com.au/,https://i.imgur.com/jnjvR5f.png UniversalTVBrazil.br,Universal TV Brazil,,,,BR,,,c/BR,por,,FALSE,,,,https://globosatplay.globo.com/universal/,https://i.imgur.com/Jt0B1Ac.png UniversalTVChile.cl,Universal TV Chile,,,,CL,,,c/CL,spa,,FALSE,,,,https://www.universalplus.com/,https://i.imgur.com/q5x1fCC.png @@ -26804,7 +26844,7 @@ VH1India.in,VH1 India,,,,IN,,,c/IN;c/BD;c/BT;c/MV;c/NP;c/LK,eng,music,FALSE,2005 VH1Italia.it,VH1 Italia,,,,IT,,,c/IT,ita,music,FALSE,2016-07-01,,,https://www.mtv.it/topic/vh1,https://i.imgur.com/tJcbZZP.png VH1PlusItaly.it,VH1+ Italy,,,,IT,,,c/IT,ita,music,FALSE,,,,https://pluto.tv/en/live-tv/vh1-it,https://i.imgur.com/KsiOX0r.png VH1West.us,VH1 West,,,,US,,,c/US,eng,music,FALSE,,,,https://www.vh1.com/,https://upload.wikimedia.org/wikipedia/commons/thumb/9/94/VH1_logonew.svg/512px-VH1_logonew.svg.png -Via.za,Via,,,,ZA,,,c/ZA,afr,,FALSE,,,,http://www.viatv.co.za/,https://i.imgur.com/E9BlNT0.png +VIA.za,VIA,,,Media24,ZA,,,c/ZA,afr,,FALSE,,,,http://www.viatv.co.za/,https://i.imgur.com/i8LmNh0.png Via93.fr,Via93,Vià93,,,FR,,,c/FR,fra,general,FALSE,,,,https://via93.tv/,https://i.imgur.com/FKmXRc3.jpg ViaAltomayo.pe,Via Altomayo,Vía Altomayo,,,PE,PE-SAM,Rioja,c/PE,spa,general,FALSE,,,,https://www.viaaltomayotv.com/,https://i.imgur.com/aJ4XExn.png ViaATV.mq,ViaATV,ViàATV,,,MQ,,,c/MQ,fra,,FALSE,,,,https://viaatv.tv/,https://upload.wikimedia.org/wikipedia/commons/thumb/f/fa/Vi%C3%A0ATV.png/512px-Vi%C3%A0ATV.png @@ -26947,6 +26987,7 @@ VivaCinema.ph,Viva Cinema,,,,PH,,,c/PH,tgl,movies,FALSE,,,,http://www.viva.com.p VivacomArena.bg,Vivacom Arena,,,,BG,,,c/BG,bul,,FALSE,,,,http://www.vivacom.bg/bg/tv/ceni-i-oferti/vivacom-arena,https://i.imgur.com/M7QKnH3.png Vivaldi.us,Vivaldi,,,,US,,,c/US,eng,,FALSE,,,,https://watch.plex.tv/live-tv/channel/vivaldi,https://i.imgur.com/u3dmP4d.png Vivamovil.es,Vivamovil,Vivamóvil,,,ES,ES-AN,,s/ES-AN,spa,,FALSE,,,,https://vivamovil.tv/en-directo/,https://i.imgur.com/QQviU5m.png +VivaMurciaTV.es,Viva Murcia TV,,,,ES,ES-MC,,c/ES,spa,music,FALSE,,,,http://www.vivamurcia.com/,https://i.imgur.com/8G2FlfF.jpg VivaNicaraguaCanal13.ni,Viva Nicaragua Canal 13,,,,NI,,,c/NI,spa,,FALSE,,,,https://www.vivanicaragua.com.ni/,https://i.imgur.com/9q7Ajz4.png VivaPlus.il,Viva Plus,,,,IL,,,c/IL,heb,,FALSE,,,,https://viva.walla.co.il/item/1888338,https://i.imgur.com/JBffnYp.png VIVARussia.ru,VIVA Russia,,,,RU,,,c/RU,rus,music,FALSE,,,,https://viva-russia.ru/,https://i.imgur.com/OFhQQCD.png @@ -28443,6 +28484,10 @@ WENHDT4.us,WENH-DT4,,Create,,US,US-NH,Durham,s/US-NH,eng,,FALSE,,,,,https://uplo WENYDT1.us,WENY-DT1,,ABC,,US,US-NY,Elmira,s/US-NY,eng,,FALSE,,,,http://www.weny.com/,https://upload.wikimedia.org/wikipedia/commons/thumb/2/2f/ABC-2021-LOGO.svg/512px-ABC-2021-LOGO.svg.png WENYDT2.us,WENY-DT2,,CBS,,US,US-NY,Elmira,s/US-NY,eng,,FALSE,,,,,https://upload.wikimedia.org/wikipedia/commons/thumb/e/ee/CBS_logo_%282020%29.svg/512px-CBS_logo_%282020%29.svg.png WENYDT3.us,WENY-DT3,,CW,,US,US-NY,Elmira,s/US-NY,eng,,FALSE,,,,,https://upload.wikimedia.org/wikipedia/commons/thumb/4/4c/The_CW.svg/512px-The_CW.svg.png +WenzhouCityLifeChannel.cn,Wenzhou City Life Channel,,,,CN,,Wenzhou,c/CN,zho,general,FALSE,2014-01-01,,,,https://www.tvchinese.net/uploads/tv/wzdssh.jpg +WenzhouEconomicandEducation.cn,Wenzhou Economic and Education,,,,CN,,Wenzhou,c/CN,zho,science,FALSE,,,,,https://www.tvchinese.net/uploads/tv/wzjjkj.jpg +WenzhouNewsIntegratedChannel.cn,Wenzhou News Integrated Channel,,,,CN,,Wenzhou,c/CN,zho,news,FALSE,,,,,https://www.tvchinese.net/uploads/tv/wzxwzh.jpg +WenzhouPublicChannel.cn,Wenzhou Public Channel,,,,CN,,Wenzhou,c/CN,zho,general,FALSE,,,,,https://www.tvchinese.net/uploads/tv/wzggpd.jpg Weo.fr,Weo,Wéo,,,FR,,,c/FR,fra,,FALSE,,,,https://www.weo.fr/,https://upload.wikimedia.org/wikipedia/commons/thumb/7/7c/WEO_BLEU_NPDC_TV_JAUNE_AVEC_BASELINE.jpg/300px-WEO_BLEU_NPDC_TV_JAUNE_AVEC_BASELINE.jpg WeOneKerala.in,We One Kerala,,,,IN,,,c/IN,mal,general,FALSE,,,,https://weonekeralaonline.com/,https://i.imgur.com/iZufxya.jpg WEPACD1.us,WEPA-CD1,,Cozi TV,,US,US-PA,Pittsburgh,s/US-PA,eng,,FALSE,,,,,https://upload.wikimedia.org/wikipedia/commons/thumb/f/f4/Cozi_TV_logo.svg/512px-Cozi_TV_logo.svg.png @@ -32391,6 +32436,9 @@ YichangSanxiaTravelLifeChannel.cn,Yichang Sanxia Travel & Life Channel,旅游生 YichunComprehensiveNewsChannel.cn,Yichun Comprehensive News Channel,宜春新闻综合频道,,,CN,,Yichun,c/CN,zho,news,FALSE,,,,http://www.yichuntv.com/wlzb/wlds/index.shtml,https://www.tvchinese.net/uploads/tv/yichun.jpg YichunLawChannel.cn,Yichun Law Channel,宜春法治频道,,,CN,,Yichun,c/CN,zho,general,FALSE,,,,http://www.yichuntv.com/wlzb/wlds/index.shtml,https://www.tvchinese.net/uploads/tv/yichun.jpg YildizTVEn.tr,Yildiz TV En,,,,TR,,,c/TR,tur,,FALSE,,,,http://www.yildiztv.com.tr/,https://i.imgur.com/BaFcCP5.png +YiwuBusinessChannel.cn,Yiwu Business Channel,商贸频道,,,CN,,Yiwu,c/CN,zho,business,FALSE,,,,,https://www.tvchinese.net/uploads/tv/yiwutv.jpg +YiwuNewsIntegratedChannel.cn,Yiwu News Integrated Channel,新闻综合频道,,,CN,,Yiwu,c/CN,zho,news,FALSE,,,,,https://www.tvchinese.net/uploads/tv/yiwutv.jpg +YiwuPublicCultureChannel.cn,Yiwu Public & Culture Channel,公共文艺频道,,,CN,,Yiwu,c/CN,zho,culture,FALSE,,,,,https://www.tvchinese.net/uploads/tv/yiwutv.jpg YleTeemaFem.fi,Yle Teema & Fem,,,Yle,FI,,,c/FI,fin,,FALSE,,,,https://svenska.yle.fi/yle-fem,https://upload.wikimedia.org/wikipedia/commons/thumb/0/04/Yle_Teema_%26_Fem.svg/512px-Yle_Teema_%26_Fem.svg.png YleTV1.fi,Yle TV1,,,Yle,FI,,,c/FI,fin,,FALSE,,,,http://www.yle.fi/tv1/,https://i.imgur.com/6yXZwUL.png YleTV2.fi,Yle TV2,,,Yle,FI,,,c/FI,fin,,FALSE,,,,http://tv2.yle.fi/,https://i.imgur.com/4xkc6PL.png @@ -32499,7 +32547,7 @@ ZalaegerszegiTV.hu,Zalaegerszegi TV,,,,HU,,,c/HU,hun,,FALSE,,,,https://zegtv.hu/ ZalSuda.ru,Zal Suda,Зал Суда,,,RU,,,c/RU,rus,,FALSE,,,,https://www.tricolor.tv/channels/zal-suda/,https://i.imgur.com/KON0z08.png ZamalekTV.eg,Zamalek TV,,,,EG,,,c/EG,ara,sports,FALSE,,,,https://el-zamalek.com/,https://i.imgur.com/yrLeg9k.png ZamaniTV.ng,Zamani TV,,,,NG,,,c/NG,eng,,FALSE,,,,,https://i.imgur.com/VSI5ZdL.png -ZambeziMagic.za,Zambezi Magic,,,,ZA,,,c/ZA,eng,,FALSE,2001-01-01,,,http://zambezimagic.dstv.com/,https://i.imgur.com/3mSpO0u.png +ZambeziMagic.za,Zambezi Magic,,,MultiChoice,ZA,,,c/ZA,eng,music,FALSE,2001-01-01,,,http://zambezimagic.dstv.com/,https://i.imgur.com/3mSpO0u.png ZambianTV.zm,Zambian TV,,,,ZM,,,c/ZM,eng,,FALSE,,,,,https://i.imgur.com/XaJpqSY.png Zan.pk,Zan,,,,PK,,,c/PK,eng,,FALSE,,,,,https://www.lyngsat.com/logo/tv/zz/zan-pk.png ZanjanTV.ir,Zanjan TV,,,,IR,,,c/IR,fas,,FALSE,,,,http://zanjan.irib.ir/tv,https://i.imgur.com/9B0cZms.png @@ -32602,7 +32650,7 @@ ZeeWorld.za,Zee World,,,Zee Entertainment Enterprises,ZA,,,r/AFR,eng,,FALSE,2015 ZeeYuva.in,Zee Yuva,,,,IN,,,c/IN,mar,,FALSE,,,,,https://i.imgur.com/CGBdBIz.png ZeeZest.in,Zee Zest,,,Zee Entertainment Enterprises,IN,,,c/IN,hin;eng;tam;mar,,FALSE,2001-11-01,,,https://www.zeezest.com/,https://i.imgur.com/rPcOxqX.png Zelig.it,Zelig,,,,IT,,,c/IT,ita,,FALSE,,,,https://www.areazelig.it/,https://i.imgur.com/SB62ffP.png -Zenebutik.hu,Zenebutik,,,,HU,,,c/HU,hun,,FALSE,,,,https://tv2play.hu/zenebutik,https://i.imgur.com/xGUlF78.png +Zenebutik.hu,Zenebutik,,,TV2 Média Csoport Kft.,HU,,,c/HU,hun,,FALSE,,,,https://tv2play.hu/zenebutik,https://i.imgur.com/xGUlF78.png ZeriTV.xk,Zeri TV,,,,XK,,,c/XK,sqi,,FALSE,,,,,https://i.imgur.com/nx03blS.png ZerounoTVMusic.it,Zerouno TV Music,,,,IT,,,c/IT,ita,music,FALSE,,,,,https://i.imgur.com/RMPVvGR.png ZerounoTVNews.it,Zerouno TV News,,,,IT,,,c/IT,ita,news,FALSE,,,,,https://i.imgur.com/wYntmOt.png @@ -32695,7 +32743,7 @@ ZTV.do,ZTV,,,,DO,,,c/DO,spa,,FALSE,,,,https://z101digital.com/,https://i.imgur.c ZTV.lt,ZTV,ŽTV,,,LT,,,c/LT,lit,,FALSE,,,,http://www.ztelevizija.lt/,https://i.imgur.com/zsrsEfz.png ZTVGhana.gh,ZTV Ghana,,,,GH,,,c/GH,eng,,FALSE,,,,,https://i.imgur.com/xGu5wE0.png ZTVWorld.cn,ZTV World,,,,CN,,,c/CN,zho,,FALSE,,,,,https://i.imgur.com/NTtqRMK.png -ZugloTV.hu,Zuglo TV,Zugló TV,,,HU,,,c/HU,hun,entertainment,FALSE,,,,http://zuglotv.hu/,https://i.imgur.com/a0AmfZF.png +ZugloTV.hu,Zuglo TV,Zugló TV,,,HU,,,c/HU,hun,entertainment,FALSE,,,,http://zuglotv.hu/,https://i.imgur.com/wPqCtwR.png ZuidWestTV.nl,ZuidWest TV,,,,NL,,,c/NL,nld,,FALSE,,,,,https://i.imgur.com/dTEFYhb.png ZukuNovella.ke,Zuku Novella,,,,KE,,,c/KE,eng,,FALSE,,,,http://www.zuku.co.ke/,https://i.imgur.com/LCjVRat.png ZukuZone.ke,Zuku Zone,,,,KE,,,c/KE,eng,,FALSE,,,,http://www.zuku.co.ke/,https://i.imgur.com/ag4vwL7.png diff --git a/package-lock.json b/package-lock.json index 17941ec2..90dc12aa 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6,64 +6,366 @@ "": { "name": "@iptv-org/database", "dependencies": { + "@freearhey/core": "^0.2.1", "@joi/date": "^2.1.0", + "@json2csv/formatters": "^7.0.3", + "@json2csv/node": "^7.0.3", + "@json2csv/transforms": "^7.0.3", "@octokit/core": "^4.2.0", "@octokit/plugin-paginate-rest": "^6.0.0", - "autocrop-js": "^0.2.0", - "axios": "^0.25.0", + "@octokit/plugin-rest-endpoint-methods": "^7.1.3", + "@types/jest": "^29.5.5", + "@typescript-eslint/eslint-plugin": "^6.7.4", "chalk": "^4.1.2", - "cheerio": "^1.0.0-rc.10", - "cli-progress": "^3.11.2", "commander": "^9.0.0", - "crlf": "^1.1.1", - "crypto": "^1.0.1", "csvtojson": "^2.0.10", - "dayjs": "^1.11.0", - "form-data": "^4.0.0", - "glob": "^7.2.0", - "iso-639-2": "^3.0.1", + "eslint": "^8.50.0", + "eslint-config-prettier": "^9.0.0", + "jest": "^29.7.0", "joi": "^17.6.0", - "json2csv": "^6.0.0-alpha.0", - "lodash": "^4.17.21", - "mz": "^2.7.0", - "node-cleanup": "^2.1.2", "pre-commit": "^1.2.2", - "probe-image-size": "^7.2.3", - "sharp": "^0.31.1", - "signale": "^1.4.0", - "slugify": "^1.6.5", - "transliteration": "^2.2.0", - "wikijs": "^6.3.3", - "wtf_wikipedia": "^10.0.0", - "wtf-plugin-image": "^1.0.0" + "ts-jest": "^29.1.1", + "ts-node": "^10.9.1" + } + }, + "node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" } }, "node_modules/@babel/code-frame": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", - "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", + "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", "dependencies": { - "@babel/highlight": "^7.16.7" + "@babel/highlight": "^7.22.13", + "chalk": "^2.4.2" }, "engines": { "node": ">=6.9.0" } }, + "node_modules/@babel/code-frame/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/code-frame/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/@babel/code-frame/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.20.tgz", + "integrity": "sha512-BQYjKbpXjoXwFW5jGqiizJQQT/aC7pFm9Ok1OWssonuguICi264lbgMzRp2ZMmRSlfkX6DsWDDcsrctK8Rwfiw==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.0.tgz", + "integrity": "sha512-97z/ju/Jy1rZmDxybphrBuI+jtJjFVoz7Mr9yUQVVVi+DNZE333uFQeMOqcCIy1x3WYBIbWftUSLmbNXNT7qFQ==", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.23.0", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-module-transforms": "^7.23.0", + "@babel/helpers": "^7.23.0", + "@babel/parser": "^7.23.0", + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.0", + "@babel/types": "^7.23.0", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@babel/core/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", + "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", + "dependencies": { + "@babel/types": "^7.23.0", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz", + "integrity": "sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==", + "dependencies": { + "@babel/compat-data": "^7.22.9", + "@babel/helper-validator-option": "^7.22.15", + "browserslist": "^4.21.9", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", + "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", + "dependencies": { + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.0.tgz", + "integrity": "sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw==", + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", + "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", - "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz", + "integrity": "sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.23.1", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.1.tgz", + "integrity": "sha512-chNpneuK18yW5Oxsr+t553UZzzAs3aZnFm4bxhebsNTeshrC95yA7l5yl7GBAG+JG1rF0F7zzD2EixK9mWSDoA==", + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.0", + "@babel/types": "^7.23.0" + }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.17.9.tgz", - "integrity": "sha512-J9PfEKCbFIv2X5bjTMiZu6Vf341N05QIY+d6FvVKynkG1S7G0j3I0QoRtWIrXhZ+/Nlb5Q0MzqL7TokEJ5BNHg==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", + "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", "dependencies": { - "@babel/helper-validator-identifier": "^7.16.7", - "chalk": "^2.0.0", + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", "js-tokens": "^4.0.0" }, "engines": { @@ -105,12 +407,12 @@ "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=" + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" }, "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=", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "engines": { "node": ">=4" } @@ -126,15 +428,435 @@ "node": ">=4" } }, - "node_modules/@babel/runtime": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.7.tgz", - "integrity": "sha512-UF0tvkUtxwAgZ5W/KrkHf0Rn0fdnLDU9ScxBrEVNUprE/MzirjK4MJUX1/BVDv00Sv8cljtukVK1aky++X1SjQ==", + "node_modules/@babel/parser": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", + "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", "dependencies": { - "regenerator-runtime": "^0.13.11" + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", + "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz", + "integrity": "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", + "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", + "dependencies": { + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.0.tgz", + "integrity": "sha512-t/QaEvyIoIkwzpiZ7aoSKK8kObQYeF7T2v+dazAYCb8SXtp58zEVkWW7zAnju8FNKNdr4ScAOEDmMItbyOmEYw==", + "dependencies": { + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.23.0", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.23.0", + "@babel/types": "^7.23.0", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@babel/traverse/node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/traverse/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/@babel/types": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", + "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", + "dependencies": { + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==" + }, + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "dependencies": { + "@jridgewell/trace-mapping": "0.3.9" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.9.1.tgz", + "integrity": "sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA==", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", + "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@eslint/eslintrc/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@eslint/eslintrc/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/@eslint/eslintrc/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==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/js": { + "version": "8.50.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.50.0.tgz", + "integrity": "sha512-NCC3zz2+nvYd+Ckfh87rA47zfu2QsQpvc6k1yzTk+b9KzRj0wkGa8LSoGOXN6Zv4lRf/EIoZ80biDh9HOI+RNQ==", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@freearhey/core": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@freearhey/core/-/core-0.2.1.tgz", + "integrity": "sha512-kEdIxZClykKhGpgyCSlkwuVuSCCAWr3J5YvOUMJQDPgVAYvT5VbD8MYKPm+OwNi9T4HFmF6qqY90qwKJPoOXCA==", + "dependencies": { + "@types/fs-extra": "^11.0.2", + "@types/lodash": "^4.14.198", + "@types/luxon": "^3.3.2", + "fs-extra": "^11.1.1", + "glob": "^10.3.4", + "lodash": "^4.17.21", + "luxon": "^3.4.3", + "natural-orderby": "^3.0.2", + "node-gzip": "^1.1.2", + "normalize-url": "^6.1.0", + "object-treeify": "^2.1.1", + "signale": "^1.4.0" + } + }, + "node_modules/@freearhey/core/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@freearhey/core/node_modules/glob": { + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.5", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@freearhey/core/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/@hapi/hoek": { @@ -150,6 +872,533 @@ "@hapi/hoek": "^9.0.0" } }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.11", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.11.tgz", + "integrity": "sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==", + "dependencies": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/config-array/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@humanwhocodes/config-array/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "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==" + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" + }, + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dependencies": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/@istanbuljs/load-nyc-config/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==", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@istanbuljs/load-nyc-config/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==", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/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==", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@istanbuljs/load-nyc-config/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==", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/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==", + "engines": { + "node": ">=6" + } + }, + "node_modules/@istanbuljs/load-nyc-config/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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz", + "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/core": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz", + "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==", + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/reporters": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^29.7.0", + "jest-config": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-resolve-dependencies": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "jest-watcher": "^29.7.0", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/environment": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", + "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", + "dependencies": { + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==", + "dependencies": { + "expect": "^29.7.0", + "jest-snapshot": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", + "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", + "dependencies": { + "jest-get-type": "^29.6.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/fake-timers": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", + "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", + "dependencies": { + "@jest/types": "^29.6.3", + "@sinonjs/fake-timers": "^10.0.2", + "@types/node": "*", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/globals": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz", + "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==", + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/types": "^29.6.3", + "jest-mock": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/reporters": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz", + "integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==", + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^6.0.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "slash": "^3.0.0", + "string-length": "^4.0.1", + "strip-ansi": "^6.0.0", + "v8-to-istanbul": "^9.0.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/source-map": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", + "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.18", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/test-result": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz", + "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==", + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/test-sequencer": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz", + "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==", + "dependencies": { + "@jest/test-result": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/transform": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", + "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "dependencies": { + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, "node_modules/@joi/date": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/@joi/date/-/date-2.1.0.tgz", @@ -158,6 +1407,112 @@ "moment": "2.x.x" } }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz", + "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@json2csv/formatters": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@json2csv/formatters/-/formatters-7.0.3.tgz", + "integrity": "sha512-QLTpBNmNxGDAQNALkWwPdnyJ7IdXHQ0Motzog4fZOKK2ozpxckl6vwhWNBxbQs/25Zhp7bLS4J6ILu/hh0en6w==" + }, + "node_modules/@json2csv/node": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@json2csv/node/-/node-7.0.3.tgz", + "integrity": "sha512-lmIprTZLw5UgetRXfkYlzHhs5juXFmeDR03Ao9ahOim7GYqsqMMCDe7SZGSXHYBLNVu5f2ClsUMOKLhHJtW7Zg==", + "dependencies": { + "@json2csv/plainjs": "^7.0.3" + } + }, + "node_modules/@json2csv/plainjs": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@json2csv/plainjs/-/plainjs-7.0.3.tgz", + "integrity": "sha512-AEpEdeSu8o64Sdf7Xoy7BM4MyfZToN7oxxleXJ6u7v3h0V0hKdNIw7i4kQ08wiIe7lcJBhS3JRyEPKX6k2AsjA==", + "dependencies": { + "@json2csv/formatters": "^7.0.3", + "@streamparser/json": "^0.0.17", + "lodash.get": "^4.4.2" + } + }, + "node_modules/@json2csv/transforms": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@json2csv/transforms/-/transforms-7.0.3.tgz", + "integrity": "sha512-6IvE2NXcFB48nutRa1nmbnJEJWlR846xHggI0WIuZzX2yMKJjEnNuJYPVpq7pelm2zQqFh1uoE3M7xqUleGdDw==", + "dependencies": { + "lodash.get": "^4.4.2" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, "node_modules/@octokit/auth-token": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-3.0.3.tgz", @@ -213,9 +1568,9 @@ } }, "node_modules/@octokit/openapi-types": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-16.0.0.tgz", - "integrity": "sha512-JbFWOqTJVLHZSUUoF4FzAZKYtqdxWu9Z5m2QQnOyEa04fOFljvyh7D3GYKbfuaSWisqehImiVIMG4eyJeP5VEA==" + "version": "18.1.1", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-18.1.1.tgz", + "integrity": "sha512-VRaeH8nCDtF5aXWnjPuEMIYf1itK/s3JYyJcWFJT8X9pSNnBtriDf7wlEWsGuhPLl4QIH4xM8fqTXDwJ3Mu6sw==" }, "node_modules/@octokit/plugin-paginate-rest": { "version": "6.0.0", @@ -231,6 +1586,20 @@ "@octokit/core": ">=4" } }, + "node_modules/@octokit/plugin-rest-endpoint-methods": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-7.1.3.tgz", + "integrity": "sha512-0aoPd4f1k/KXPTGSX0NbxcBrShBHArgcW3pujEvLa6wUfcfA1BehxQ2Ifwa6CbJ4SfzaO79FvGgaUipoxDsgjA==", + "dependencies": { + "@octokit/types": "^9.2.3" + }, + "engines": { + "node": ">= 14" + }, + "peerDependencies": { + "@octokit/core": ">=3" + } + }, "node_modules/@octokit/request": { "version": "6.2.3", "resolved": "https://registry.npmjs.org/@octokit/request/-/request-6.2.3.tgz", @@ -261,11 +1630,20 @@ } }, "node_modules/@octokit/types": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-9.0.0.tgz", - "integrity": "sha512-LUewfj94xCMH2rbD5YJ+6AQ4AVjFYTgpp6rboWM5T7N3IsIF65SBEOVcYMGAEzO/kKNiNaW4LoWtoThOhH06gw==", + "version": "9.3.2", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-9.3.2.tgz", + "integrity": "sha512-D4iHGTdAnEEVsB8fl95m1hiz7D5YiRdQ9b/OEb3BYRVwbLsGHcRVPz+u+BgRLNk0Q0/4iZCBqDN96j2XNxfXrA==", "dependencies": { - "@octokit/openapi-types": "^16.0.0" + "@octokit/openapi-types": "^18.0.0" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "optional": true, + "engines": { + "node": ">=14" } }, "node_modules/@sideway/address": { @@ -286,28 +1664,521 @@ "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==" }, - "node_modules/@swiftcarrot/color-fns": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@swiftcarrot/color-fns/-/color-fns-3.2.0.tgz", - "integrity": "sha512-6SCpc4LwmGGqWHpBY9WaBzJwPF4nfgvFfejOX7Ub0kTehJysFkLUAvGID8zEx39n0pGlfr9pTiQE/7/buC7X5w==", + "node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==" + }, + "node_modules/@sinonjs/commons": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", + "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", "dependencies": { - "@babel/runtime": "^7.10.3" + "type-detect": "4.0.8" } }, - "node_modules/@types/minimist": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", - "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==" + "node_modules/@sinonjs/fake-timers": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", + "dependencies": { + "@sinonjs/commons": "^3.0.0" + } }, - "node_modules/@types/normalize-package-data": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", - "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==" + "node_modules/@streamparser/json": { + "version": "0.0.17", + "resolved": "https://registry.npmjs.org/@streamparser/json/-/json-0.0.17.tgz", + "integrity": "sha512-mW54K6CTVJVLwXRB6kSS1xGWPmtTuXAStWnlvtesmcySgtop+eFPWOywBFPpJO4UD173epYsPSP6HSW8kuqN8w==" }, - "node_modules/@types/pako": { + "node_modules/@tsconfig/node10": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", + "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==" + }, + "node_modules/@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==" + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==" + }, + "node_modules/@tsconfig/node16": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@types/pako/-/pako-1.0.4.tgz", - "integrity": "sha512-Z+5bJSm28EXBSUJEgx29ioWeEEHUh6TiMkZHDhLwjc9wVFH+ressbkmX6waUZc5R3Gobn4Qu5llGxaoflZ+yhA==" + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==" + }, + "node_modules/@types/babel__core": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.2.tgz", + "integrity": "sha512-pNpr1T1xLUc2l3xJKuPtsEky3ybxN3m4fJkknfIpTCTfIZCDW57oAg+EfCgIIp2rvCe0Wn++/FfodDS4YXxBwA==", + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.5", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.5.tgz", + "integrity": "sha512-h9yIuWbJKdOPLJTbmSpPzkF67e659PbQDba7ifWm5BJ8xTv+sDmS7rFmywkWOvXedGTivCdeGSIIX8WLcRTz8w==", + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.2.tgz", + "integrity": "sha512-/AVzPICMhMOMYoSx9MoKpGDKdBRsIXMNByh1PXSZoa+v6ZoLa8xxtsT/uLQ/NJm0XVAWl/BvId4MlDeXJaeIZQ==", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.2.tgz", + "integrity": "sha512-ojlGK1Hsfce93J0+kn3H5R73elidKUaZonirN33GSmgTUMpzI/MIFfSpF3haANe3G1bEBS9/9/QEqwTzwqFsKw==", + "dependencies": { + "@babel/types": "^7.20.7" + } + }, + "node_modules/@types/fs-extra": { + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-11.0.2.tgz", + "integrity": "sha512-c0hrgAOVYr21EX8J0jBMXGLMgJqVf/v6yxi0dLaJboW9aQPh16Id+z6w2Tx1hm+piJOLv8xPfVKZCLfjPw/IMQ==", + "dependencies": { + "@types/jsonfile": "*", + "@types/node": "*" + } + }, + "node_modules/@types/graceful-fs": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.7.tgz", + "integrity": "sha512-MhzcwU8aUygZroVwL2jeYk6JisJrPl/oov/gsgGCue9mkgl9wjGbzReYQClxiUgFDnib9FuHqTndccKeZKxTRw==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==" + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-gPQuzaPR5h/djlAv2apEG1HVOyj1IUs7GpfMZixU0/0KXT3pm64ylHuMUI1/Akh+sq/iikxg6Z2j+fcMDXaaTQ==", + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.2.tgz", + "integrity": "sha512-kv43F9eb3Lhj+lr/Hn6OcLCs/sSM8bt+fIaP11rCYngfV6NVjzWXJ17owQtDQTL9tQ8WSLUrGsSJ6rJz0F1w1A==", + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/jest": { + "version": "29.5.5", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.5.tgz", + "integrity": "sha512-ebylz2hnsWR9mYvmBFbXJXr+33UPc4+ZdxyDXh5w0FlPBTfCVN3wPL+kuOiQt3xvrK419v7XWeAs+AeOksafXg==", + "dependencies": { + "expect": "^29.0.0", + "pretty-format": "^29.0.0" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.13", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.13.tgz", + "integrity": "sha512-RbSSoHliUbnXj3ny0CNFOoxrIDV6SUGyStHsvDqosw6CkdPV8TtWGlfecuK4ToyMEAql6pzNxgCFKanovUzlgQ==" + }, + "node_modules/@types/jsonfile": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/@types/jsonfile/-/jsonfile-6.1.2.tgz", + "integrity": "sha512-8t92P+oeW4d/CRQfJaSqEwXujrhH4OEeHRjGU3v1Q8mUS8GPF3yiX26sw4svv6faL2HfBtGTe2xWIoVgN3dy9w==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/lodash": { + "version": "4.14.199", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.199.tgz", + "integrity": "sha512-Vrjz5N5Ia4SEzWWgIVwnHNEnb1UE1XMkvY5DGXrAeOGE9imk0hgTHh5GyDjLDJi9OTCn9oo9dXH1uToK1VRfrg==" + }, + "node_modules/@types/luxon": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/@types/luxon/-/luxon-3.3.2.tgz", + "integrity": "sha512-l5cpE57br4BIjK+9BSkFBOsWtwv6J9bJpC7gdXIzZyI0vuKvNTk0wZZrkQxMGsUAuGW9+WMNWF2IJMD7br2yeQ==" + }, + "node_modules/@types/node": { + "version": "20.8.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.2.tgz", + "integrity": "sha512-Vvycsc9FQdwhxE3y3DzeIxuEJbWGDsnrxvMADzTDF/lcdR9/K+AQIeAghTQsHtotg/q0j3WEOYS/jQgSdWue3w==" + }, + "node_modules/@types/semver": { + "version": "7.5.3", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.3.tgz", + "integrity": "sha512-OxepLK9EuNEIPxWNME+C6WwbRAOOI2o2BaQEGzz5Lu2e4Z5eDnEo+/aVEDMIXywoJitJ7xWd641wrGLZdtwRyw==" + }, + "node_modules/@types/stack-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", + "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==" + }, + "node_modules/@types/yargs": { + "version": "17.0.26", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.26.tgz", + "integrity": "sha512-Y3vDy2X6zw/ZCumcwLpdhM5L7jmyGpmBCTYMHDLqT2IKVMYRRLdv6ZakA+wxhra6Z/3bwhNbNl9bDGXaFU+6rw==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.1", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.1.tgz", + "integrity": "sha512-axdPBuLuEJt0c4yI5OZssC19K2Mq1uKdrfZBzuxLvaztgqUtFYZUNw7lETExPYJR9jdEoIg4mb7RQKRQzOkeGQ==" + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "6.7.4", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.7.4.tgz", + "integrity": "sha512-DAbgDXwtX+pDkAHwiGhqP3zWUGpW49B7eqmgpPtg+BKJXwdct79ut9+ifqOFPJGClGKSHXn2PTBatCnldJRUoA==", + "dependencies": { + "@eslint-community/regexpp": "^4.5.1", + "@typescript-eslint/scope-manager": "6.7.4", + "@typescript-eslint/type-utils": "6.7.4", + "@typescript-eslint/utils": "6.7.4", + "@typescript-eslint/visitor-keys": "6.7.4", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.4", + "natural-compare": "^1.4.0", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha", + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/@typescript-eslint/parser": { + "version": "6.7.4", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.7.4.tgz", + "integrity": "sha512-I5zVZFY+cw4IMZUeNCU7Sh2PO5O57F7Lr0uyhgCJmhN/BuTlnc55KxPonR4+EM3GBdfiCyGZye6DgMjtubQkmA==", + "peer": true, + "dependencies": { + "@typescript-eslint/scope-manager": "6.7.4", + "@typescript-eslint/types": "6.7.4", + "@typescript-eslint/typescript-estree": "6.7.4", + "@typescript-eslint/visitor-keys": "6.7.4", + "debug": "^4.3.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/parser/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "peer": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/parser/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==", + "peer": true + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "6.7.4", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.7.4.tgz", + "integrity": "sha512-SdGqSLUPTXAXi7c3Ob7peAGVnmMoGzZ361VswK2Mqf8UOYcODiYvs8rs5ILqEdfvX1lE7wEZbLyELCW+Yrql1A==", + "dependencies": { + "@typescript-eslint/types": "6.7.4", + "@typescript-eslint/visitor-keys": "6.7.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "6.7.4", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.7.4.tgz", + "integrity": "sha512-n+g3zi1QzpcAdHFP9KQF+rEFxMb2KxtnJGID3teA/nxKHOVi3ylKovaqEzGBbVY2pBttU6z85gp0D00ufLzViQ==", + "dependencies": { + "@typescript-eslint/typescript-estree": "6.7.4", + "@typescript-eslint/utils": "6.7.4", + "debug": "^4.3.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/type-utils/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/type-utils/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/@typescript-eslint/types": { + "version": "6.7.4", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.7.4.tgz", + "integrity": "sha512-o9XWK2FLW6eSS/0r/tgjAGsYasLAnOWg7hvZ/dGYSSNjCh+49k5ocPN8OmG5aZcSJ8pclSOyVKP2x03Sj+RrCA==", + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "6.7.4", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.7.4.tgz", + "integrity": "sha512-ty8b5qHKatlNYd9vmpHooQz3Vki3gG+3PchmtsA4TgrZBKWHNjWfkQid7K7xQogBqqc7/BhGazxMD5vr6Ha+iQ==", + "dependencies": { + "@typescript-eslint/types": "6.7.4", + "@typescript-eslint/visitor-keys": "6.7.4", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/@typescript-eslint/utils": { + "version": "6.7.4", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.7.4.tgz", + "integrity": "sha512-PRQAs+HUn85Qdk+khAxsVV+oULy3VkbH3hQ8hxLRJXWBEd7iI+GbQxH5SEUSH7kbEoTp6oT1bOwyga24ELALTA==", + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.12", + "@types/semver": "^7.5.0", + "@typescript-eslint/scope-manager": "6.7.4", + "@typescript-eslint/types": "6.7.4", + "@typescript-eslint/typescript-estree": "6.7.4", + "semver": "^7.5.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "6.7.4", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.7.4.tgz", + "integrity": "sha512-pOW37DUhlTZbvph50x5zZCkFn3xzwkGtNoJHzIM3svpiSkJzwOYr/kVBaXmf+RAQiUDs1AHEZVNPg6UJCJpwRA==", + "dependencies": { + "@typescript-eslint/types": "6.7.4", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/acorn": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "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==", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "engines": { + "node": ">=0.4.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==", + "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/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, "node_modules/ansi-regex": { "version": "5.0.1", @@ -331,42 +2202,143 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/any-promise": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", - "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=" - }, - "node_modules/arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - }, - "node_modules/autocrop-js": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/autocrop-js/-/autocrop-js-0.2.0.tgz", - "integrity": "sha512-ocGuyZz/3X9GeR0cdXmZF+5JWx96P7wJnEkOjqIYJ92itp8qHPbvyCTkK0lthWBxux8xyG8xgKpSMV0Wfb+d3A==", + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "dependencies": { - "image-js": "^0.35.2", - "lodash": "^4.17.21" + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" }, "engines": { - "node": ">=16.0.0" + "node": ">= 8" } }, - "node_modules/axios": { - "version": "0.25.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.25.0.tgz", - "integrity": "sha512-cD8FOb0tRH3uuEe6+evtAbgJtfxr7ly3fQjYcMcuPlgkwVS9xboaVIpcDV+cYQe+yGykgwZCs1pzjntcGa6l5g==", + "node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", + "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==", "dependencies": { - "follow-redirects": "^1.14.7" + "@jest/transform": "^29.7.0", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.6.3", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" + } + }, + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-istanbul/node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-istanbul/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/babel-plugin-jest-hoist": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", + "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "dependencies": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-preset-jest": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", + "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", + "dependencies": { + "babel-plugin-jest-hoist": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, "node_modules/balanced-match": { @@ -374,68 +2346,16 @@ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, "node_modules/before-after-hook": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz", "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==" }, - "node_modules/bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "node_modules/bl/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/blob-util": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/blob-util/-/blob-util-2.0.2.tgz", - "integrity": "sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==" - }, "node_modules/bluebird": { "version": "3.7.2", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" }, - "node_modules/boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" - }, "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -445,27 +2365,65 @@ "concat-map": "0.0.1" } }, - "node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz", + "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==", "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, { "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" + "url": "https://github.com/sponsors/ai" } ], "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" + "caniuse-lite": "^1.0.30001541", + "electron-to-chromium": "^1.4.535", + "node-releases": "^2.0.13", + "update-browserslist-db": "^1.0.13" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/bs-logger": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", + "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", + "dependencies": { + "fast-json-stable-stringify": "2.x" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dependencies": { + "node-int64": "^0.4.0" } }, "node_modules/buffer-from": { @@ -473,46 +2431,32 @@ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" }, - "node_modules/camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "engines": { - "node": ">=4" + "node": ">=6" } }, - "node_modules/camelcase-keys": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-7.0.2.tgz", - "integrity": "sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg==", - "dependencies": { - "camelcase": "^6.3.0", - "map-obj": "^4.1.0", - "quick-lru": "^5.1.1", - "type-fest": "^1.2.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/camelcase-keys/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/canny-edge-detector": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/canny-edge-detector/-/canny-edge-detector-1.0.0.tgz", - "integrity": "sha512-SpewmkHDE1PbJ1/AVAcpvZKOufYpUXT0euMvhb5C4Q83Q9XEOmSXC+yR7jl3F4Ae1Ev6OtQKbFgdcPrOdHjzQg==" + "node_modules/caniuse-lite": { + "version": "1.0.30001546", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001546.tgz", + "integrity": "sha512-zvtSJwuQFpewSyRrI3AsftF6rM0X80mZkChIt1spBGEvRglCrjTniXvinc8JKRoqTwXAgvqTImaN9igfSMtUBw==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] }, "node_modules/chalk": { "version": "4.1.2", @@ -529,79 +2473,47 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/cheerio": { - "version": "1.0.0-rc.10", - "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.10.tgz", - "integrity": "sha512-g0J0q/O6mW8z5zxQ3A8E8J1hUgp4SMOvEoW/x84OwyHKe/Zccz83PVT4y5Crcr530FV6NgmKI1qvGTKVl9XXVw==", - "dependencies": { - "cheerio-select": "^1.5.0", - "dom-serializer": "^1.3.2", - "domhandler": "^4.2.0", - "htmlparser2": "^6.1.0", - "parse5": "^6.0.1", - "parse5-htmlparser2-tree-adapter": "^6.0.1", - "tslib": "^2.2.0" - }, + "node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/cheeriojs/cheerio?sponsor=1" + "node": ">=10" } }, - "node_modules/cheerio-select": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-1.5.0.tgz", - "integrity": "sha512-qocaHPv5ypefh6YNxvnbABM07KMxExbtbfuJoIie3iZXX1ERwYmJcIiRrr9H05ucQP1k28dav8rpdDgjQd8drg==", - "dependencies": { - "css-select": "^4.1.3", - "css-what": "^5.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0", - "domutils": "^2.7.0" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" - }, - "node_modules/cli-progress": { - "version": "3.11.2", - "resolved": "https://registry.npmjs.org/cli-progress/-/cli-progress-3.11.2.tgz", - "integrity": "sha512-lCPoS6ncgX4+rJu5bS3F/iCz17kZ9MPZ6dpuTtI0KXKABkhyXIdYB3Inby1OpaGti3YlI3EeEkM9AuWpelJrVA==", - "dependencies": { - "string-width": "^4.2.3" - }, + "node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } + "node_modules/cjs-module-lexer": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", + "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==" }, - "node_modules/color": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", - "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", - "dependencies": { - "color-convert": "^2.0.1", - "color-string": "^1.9.0" - }, + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", "engines": { - "node": ">=12.5.0" + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" } }, + "node_modules/collect-v8-coverage": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", + "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==" + }, "node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -618,26 +2530,6 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, - "node_modules/color-string": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", - "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", - "dependencies": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" - } - }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, "node_modules/commander": { "version": "9.0.0", "resolved": "https://registry.npmjs.org/commander/-/commander-9.0.0.tgz", @@ -665,30 +2557,40 @@ "typedarray": "^0.0.6" } }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" + }, "node_modules/core-util-is": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" }, - "node_modules/crlf": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/crlf/-/crlf-1.1.1.tgz", - "integrity": "sha1-JBcoQbTINSmmqkSJ337tlYsu0W8=", + "node_modules/create-jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", + "integrity": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==", "dependencies": { - "glub": "^1.0.0", - "transform-file": "^1.0.1" + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "prompts": "^2.0.1" }, "bin": { - "crlf": "bin/crlf" + "create-jest": "bin/create-jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/cross-fetch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", - "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", - "dependencies": { - "node-fetch": "2.6.7" - } + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==" }, "node_modules/cross-spawn": { "version": "5.1.0", @@ -700,38 +2602,6 @@ "which": "^1.2.9" } }, - "node_modules/crypto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/crypto/-/crypto-1.0.1.tgz", - "integrity": "sha512-VxBKmeNcqQdiUQUW2Tzq0t377b54N2bMtXO/qiLa+6eRRmmC4qT3D4OnTGoT/U6O9aklQ/jTwbOtRMTTY8G0Ig==", - "deprecated": "This package is no longer supported. It's now a built-in Node module. If you've depended on crypto, you should switch to the one that's built-in." - }, - "node_modules/css-select": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.2.1.tgz", - "integrity": "sha512-/aUslKhzkTNCQUB2qTX84lVmfia9NyjP3WpDGtj/WxhwBzWBYUV3DgUpurHTme8UTPcPlAD1DJ+b0nN/t50zDQ==", - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^5.1.0", - "domhandler": "^4.3.0", - "domutils": "^2.8.0", - "nth-check": "^2.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/css-what": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.1.0.tgz", - "integrity": "sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw==", - "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, "node_modules/csvtojson": { "version": "2.0.10", "resolved": "https://registry.npmjs.org/csvtojson/-/csvtojson-2.0.10.tgz", @@ -748,150 +2618,102 @@ "node": ">=4.0.0" } }, - "node_modules/dayjs": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.0.tgz", - "integrity": "sha512-JLC809s6Y948/FuCZPm5IX8rRhQwOiyMb2TfVVQEixG7P8Lm/gt5S7yoQZmC8x1UehI9Pb7sksEt4xx14m+7Ug==" - }, - "node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dependencies": { - "ms": "^2.1.1" + "node_modules/dedent": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz", + "integrity": "sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==", + "peerDependencies": { + "babel-plugin-macros": "^3.1.0" + }, + "peerDependenciesMeta": { + "babel-plugin-macros": { + "optional": true + } } }, - "node_modules/decamelize": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-5.0.1.tgz", - "integrity": "sha512-VfxadyCECXgQlkoEAjeghAr5gY3Hf+IKjKb+X8tGVDtveCjN+USwprd2q3QXBR9T1+x2DG0XZF5/w+7HAtSaXA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "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==" }, - "node_modules/decamelize-keys": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz", - "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=", - "dependencies": { - "decamelize": "^1.1.0", - "map-obj": "^1.0.0" - }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", "engines": { "node": ">=0.10.0" } }, - "node_modules/decamelize-keys/node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decamelize-keys/node_modules/map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decompress-response": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", - "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", - "dependencies": { - "mimic-response": "^3.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/deprecation": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==" }, - "node_modules/detect-libc": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz", - "integrity": "sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==", + "node_modules/detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", "engines": { "node": ">=8" } }, - "node_modules/dom-serializer": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", - "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + "node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "engines": { + "node": ">=0.3.1" } }, - "node_modules/domelementtype": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", - "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ] + "node_modules/diff-sequences": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } }, - "node_modules/domhandler": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.0.tgz", - "integrity": "sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g==", + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", "dependencies": { - "domelementtype": "^2.2.0" + "path-type": "^4.0.0" }, "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" + "node": ">=8" } }, - "node_modules/domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dependencies": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" + }, + "node_modules/electron-to-chromium": { + "version": "1.4.543", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.543.tgz", + "integrity": "sha512-t2ZP4AcGE0iKCCQCBx/K2426crYdxD3YU6l0uK2EO3FZH0pbC4pFz/sZm2ruZsND6hQBTcDWWlo/MLpiOdif5g==" + }, + "node_modules/emittery": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", + "engines": { + "node": ">=12" }, "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" + "url": "https://github.com/sindresorhus/emittery?sponsor=1" } }, "node_modules/emoji-regex": { @@ -899,22 +2721,6 @@ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dependencies": { - "once": "^1.4.0" - } - }, - "node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, "node_modules/error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", @@ -939,64 +2745,464 @@ "node": ">=0.8.0" } }, - "node_modules/expand-template": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", - "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", + "node_modules/eslint": { + "version": "8.50.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.50.0.tgz", + "integrity": "sha512-FOnOGSuFuFLv/Sa+FDVRZl4GGVAAFFi8LecRsI5a1tMO5HIE8nCm4ivAlzt4dT3ol/PaaGC0rJEEXQmHJBGoOg==", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.2", + "@eslint/js": "8.50.0", + "@humanwhocodes/config-array": "^0.11.11", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, "engines": { - "node": ">=6" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/fast-bmp": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-bmp/-/fast-bmp-2.0.1.tgz", - "integrity": "sha512-MOSG2rHYJCjIfL3/Llseuj39yl5U3d3XLtWFLFm5ZSTublGEXyvNcwi4Npyv6nzDPRSbAP53rvVRUswgftWCcQ==", + "node_modules/eslint-config-prettier": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.0.0.tgz", + "integrity": "sha512-IcJsTkJae2S35pRsRAwoCE+925rJJStOdkKnLVgtE+tEpqU0EVVM7OqrwxqgptKdX29NUwC82I5pXsGFIgSevw==", + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", "dependencies": { - "iobuffer": "^5.1.0" + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/fast-jpeg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/fast-jpeg/-/fast-jpeg-1.0.1.tgz", - "integrity": "sha512-nyoYDzmdxgLOBfEhJGwYRsRLqGKziG/wic0SMct17dTVHkseTPvNwHCfihE47tcpGA1cTJO2MNsYYHezmkuA6w==", + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/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==", "dependencies": { - "iobuffer": "^2.1.0", - "tiff": "^2.0.0" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" } }, - "node_modules/fast-jpeg/node_modules/iobuffer": { + "node_modules/eslint/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/eslint/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==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/eslint/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/eslint/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/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==", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "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==", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "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/execa/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==", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/execa/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==", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/execa/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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/execa/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/expect": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", + "dependencies": { + "@jest/expect-utils": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "node_modules/fast-glob": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/iobuffer/-/iobuffer-2.1.0.tgz", - "integrity": "sha512-0XZfU0STJ6NVHBZdMRPjF7jtkDEC5f4AxM/n5DSZOu11SQ+7tAl1csuEnEPoSPYWdaGZ/HOfn5Q837IEHddL2w==" + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" }, - "node_modules/fast-jpeg/node_modules/tiff": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tiff/-/tiff-2.1.0.tgz", - "integrity": "sha512-Q4zLT4+Csn/ZhFVacYCAl+w/1J51NW/m2y2yx7Qxp/bsHYOEsK7+5JOID2kfk+EvsaF0LbA6ccAkqiuXOmAbYw==", + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" + }, + "node_modules/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", "dependencies": { - "iobuffer": "^2.1.0" + "reusify": "^1.0.4" } }, - "node_modules/fast-list": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/fast-list/-/fast-list-1.0.3.tgz", - "integrity": "sha512-Lm56Ci3EqefHNdIneRFuzhpPcpVVBz9fgqVmG3UQIxAefJv1mEYsZ1WQLTWqmdqeGEwbI2t6fbZgp9TqTYARuA==" - }, - "node_modules/fast-png": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/fast-png/-/fast-png-6.1.0.tgz", - "integrity": "sha512-v8e/40RKZbE1mALigoqBOkYnemCVSMmVlGSz8fawZAZg5UQ9OZeR00L++CPvrhIGm2F6TxV5u9lbWD0oOJHcCw==", + "node_modules/fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", "dependencies": { - "@types/pako": "^1.0.2", - "iobuffer": "^5.0.4", - "pako": "^2.0.4" + "bser": "2.1.1" } }, - "node_modules/fft.js": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/fft.js/-/fft.js-4.0.4.tgz", - "integrity": "sha512-f9c00hphOgeQTlDyavwTtu6RiK8AIFjD6+jvXkNkpeQ7rirK3uFWVpalkoS4LAwbdX7mfZ8aoBfFVQX1Re/8aw==" - }, "node_modules/figures": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", @@ -1008,12 +3214,26 @@ "node": ">=4" } }, - "node_modules/file-type": { - "version": "10.11.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-10.11.0.tgz", - "integrity": "sha512-uzk64HRpUZyTGZtVuvrjP0FYxzQrBf4rojot6J65YMEbwBLB0CWm0CLojVpwpmFmxcE/lkvYICgfcGozbBq6rw==", + "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==", + "dependencies": { + "flat-cache": "^3.0.4" + }, "engines": { - "node": ">=6" + "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==", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, "node_modules/find-up": { @@ -1027,53 +3247,140 @@ "node": ">=4" } }, - "node_modules/follow-redirects": { - "version": "1.14.8", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.8.tgz", - "integrity": "sha512-1x0S9UVJHsQprFcEC/qnNzBLcIxsjAV905f/UkQxbclCsoTWlacCNOpQa/anodLl2uaEKFhfWOvM2Qg77+15zA==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "node_modules/flat-cache": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.0.tgz", + "integrity": "sha512-OHx4Qwrrt0E4jEIcI5/Xb+f+QmJYNj2rrK8wiIdQOIrB9WrrJL8cjZvXdXuBTkkEwEqLycb5BeZDV1o2i9bTew==", "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" + "flatted": "^3.2.7", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" }, "engines": { - "node": ">= 6" + "node": ">=12.0.0" } }, - "node_modules/fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" + "node_modules/flatted": { + "version": "3.2.9", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", + "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==" + }, + "node_modules/foreground-child": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/foreground-child/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==", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/foreground-child/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==", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/foreground-child/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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/foreground-child/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/foreground-child/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/fs-extra": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz", + "integrity": "sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, "node_modules/function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", @@ -1082,10 +3389,24 @@ "node": "6.* || 8.* || >= 10.*" } }, - "node_modules/github-from-package": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", - "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==" + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "engines": { + "node": ">=8.0.0" + } + }, + "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==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, "node_modules/glob": { "version": "7.2.0", @@ -1106,31 +3427,59 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/glub": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/glub/-/glub-1.0.3.tgz", - "integrity": "sha1-VsFkMpiuJQZcYxUAMze7pp0vuGY=", + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dependencies": { - "glob": "^5.0.5", - "minimist": "^1.1.1" - }, - "bin": { - "glub": "bin/glub" - } - }, - "node_modules/glub/node_modules/glob": { - "version": "5.0.15", - "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", - "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", - "dependencies": { - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "2 || 3", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "is-glob": "^4.0.3" }, "engines": { - "node": "*" + "node": ">=10.13.0" + } + }, + "node_modules/globals": { + "version": "13.23.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", + "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globals/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/graceful-fs": { @@ -1138,13 +3487,10 @@ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==" }, - "node_modules/hard-rejection": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", - "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", - "engines": { - "node": ">=6" - } + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==" }, "node_modules/has": { "version": "1.0.3", @@ -1165,152 +3511,68 @@ "node": ">=8" } }, - "node_modules/has-own": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-own/-/has-own-1.0.1.tgz", - "integrity": "sha512-RDKhzgQTQfMaLvIFhjahU+2gGnRBK6dYOd5Gd9BzkmnBneOCRYjRC003RIMrdAbH52+l+CnMS4bBCXGer8tEhg==" + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==" }, - "node_modules/hosted-git-info": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", - "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", - "dependencies": { - "lru-cache": "^6.0.0" - }, + "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==", "engines": { - "node": ">=10" + "node": ">=10.17.0" } }, - "node_modules/hosted-git-info/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==", - "dependencies": { - "yallist": "^4.0.0" - }, + "node_modules/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", "engines": { - "node": ">=10" + "node": ">= 4" } }, - "node_modules/hosted-git-info/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "node_modules/htmlparser2": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", - "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", - "funding": [ - "https://github.com/fb55/htmlparser2?sponsor=1", - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.0.0", - "domutils": "^2.5.2", - "entities": "^2.0.0" - } - }, - "node_modules/hyntax": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/hyntax/-/hyntax-1.1.9.tgz", - "integrity": "sha512-xjxyDLbVDdLgjPnl4NM+Iu6il3UPmk6PNCBXruQKeuKDc/HtaZx1hk1AtMgw3vsn9YnLZRfoBpPxYMXcoT5KAA==", - "engines": { - "node": ">=6.11.1", - "npm": ">=5.3.0" - } - }, - "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/image-js": { - "version": "0.35.2", - "resolved": "https://registry.npmjs.org/image-js/-/image-js-0.35.2.tgz", - "integrity": "sha512-dAv1B/ezSsaXZMzEZtSm4NYna200TTIU+1/DWrsmZkEqPwY+OZ0+yHW/VI18mYxZ6r4e9UEzjUOat7F8rVS1zw==", - "dependencies": { - "@swiftcarrot/color-fns": "^3.2.0", - "blob-util": "^2.0.2", - "canny-edge-detector": "^1.0.0", - "fast-bmp": "^2.0.1", - "fast-jpeg": "^1.0.1", - "fast-list": "^1.0.3", - "fast-png": "^6.1.0", - "has-own": "^1.0.1", - "image-type": "^4.1.0", - "is-array-type": "^1.0.0", - "is-integer": "^1.0.7", - "jpeg-js": "^0.4.3", - "js-priority-queue": "^0.1.5", - "js-quantities": "^1.7.6", - "median-quickselect": "^1.0.1", - "ml-convolution": "0.2.0", - "ml-disjoint-set": "^1.0.0", - "ml-matrix": "^6.8.0", - "ml-matrix-convolution": "0.4.3", - "ml-regression": "^5.0.0", - "monotone-chain-convex-hull": "^1.0.0", - "new-array": "^1.0.0", - "robust-point-in-polygon": "^1.0.3", - "tiff": "^5.0.2", - "web-worker-manager": "^0.2.0" - }, - "engines": { - "node": ">= 12.0.0" - } - }, - "node_modules/image-type": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/image-type/-/image-type-4.1.0.tgz", - "integrity": "sha512-CFJMJ8QK8lJvRlTCEgarL4ro6hfDQKif2HjSvYCdQZESaIPV4v9imrf7BQHK+sQeTeNeMpWciR9hyC/g8ybXEg==", - "dependencies": { - "file-type": "^10.10.0" + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" }, "engines": { "node": ">=6" - } - }, - "node_modules/indent-string": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", - "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==", - "engines": { - "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "engines": { + "node": ">=0.8.19" + } + }, "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -1320,52 +3582,20 @@ "wrappy": "1" } }, - "node_modules/infobox-parser": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/infobox-parser/-/infobox-parser-3.6.2.tgz", - "integrity": "sha512-lasdwvbtjCtDDO6mArAs/ueFEnBJRyo2UbZPAkd5rEG5NVJ3XFCOvbMwNTT/rJlFv1+ORw8D3UvZV4brpgATCg==", - "dependencies": { - "camelcase": "^4.1.0" - }, - "funding": { - "type": "individual", - "url": "https://www.buymeacoffee.com/2tmRKi9" - } - }, "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, - "node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" - }, - "node_modules/iobuffer": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/iobuffer/-/iobuffer-5.3.1.tgz", - "integrity": "sha512-5mY3jSgwxNH+rsogUXvZYfJtb4glKJJWYnJM+hpd3r7VcwfVbeMrovv0+XQirmIO8JiNw48Ll/CB5fa2SlJIsw==" - }, - "node_modules/is-any-array": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-any-array/-/is-any-array-2.0.0.tgz", - "integrity": "sha512-WdPV58rT3aOWXvvyuBydnCq4S2BM1Yz8shKxlEpk/6x+GX202XRvXOycEFtNgnHVLoc46hpexPFx8Pz1/sMS0w==" - }, - "node_modules/is-array-type": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-array-type/-/is-array-type-1.0.0.tgz", - "integrity": "sha512-LLwKQdMAO/XUkq4XTed1VYqwR2OahiwkBg+yUtZT88LXX4MLXP28qGsVfSNVP8X0wc7fzDhcZD3nns/IK8UfKw==" - }, "node_modules/is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" }, "node_modules/is-core-module": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", - "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", + "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", "dependencies": { "has": "^1.0.3" }, @@ -1373,15 +3603,12 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-finite": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", - "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "engines": { "node": ">=0.10.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/is-fullwidth-code-point": { @@ -1392,22 +3619,41 @@ "node": ">=8" } }, - "node_modules/is-integer": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-integer/-/is-integer-1.0.7.tgz", - "integrity": "sha512-RPQc/s9yBHSvpi+hs9dYiJ2cuFeU6x3TyyIp8O2H6SKEltIvJOzRj9ToyvcStDvPR/pS4rxgr1oBFajQjZ2Szg==", - "dependencies": { - "is-finite": "^1.0.0" + "node_modules/is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "engines": { + "node": ">=6" } }, - "node_modules/is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dependencies": { + "is-extglob": "^2.1.1" + }, "engines": { "node": ">=0.10.0" } }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "engines": { + "node": ">=8" + } + }, "node_modules/is-plain-object": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", @@ -1416,6 +3662,17 @@ "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==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-utf8": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", @@ -1431,22 +3688,746 @@ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" }, - "node_modules/iso-639-2": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/iso-639-2/-/iso-639-2-3.0.1.tgz", - "integrity": "sha512-omCuNX+RY3qK0WuIUZXn3nY/Oq9x1OHaobVi8eJJNmHW3PQOHkJ0bXSIvKVeX+VzexGO5fxDH9feuDs2H3NPiQ==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" + "node_modules/istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "engines": { + "node": ">=8" } }, - "node_modules/isomorphic-unfetch": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/isomorphic-unfetch/-/isomorphic-unfetch-3.1.0.tgz", - "integrity": "sha512-geDJjpoZ8N0kWexiwkX8F9NkTsXhetLPVbZFQ+JTW239QNOwvB0gniuR1Wc6f0AMTn7/mFGyXvHTifrCp/GH8Q==", + "node_modules/istanbul-lib-instrument": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.1.tgz", + "integrity": "sha512-EAMEJBsYuyyztxMxW3g7ugGPkrZsV57v0Hmv3mm1uQsmB+QnZuepg731CRaIgeUVSdmsTngOkSnauNF8p7FIhA==", "dependencies": { - "node-fetch": "^2.6.1", - "unfetch": "^4.2.0" + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-source-maps/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/istanbul-lib-source-maps/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/istanbul-reports": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz", + "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==", + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jackspeak": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", + "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz", + "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==", + "dependencies": { + "@jest/core": "^29.7.0", + "@jest/types": "^29.6.3", + "import-local": "^3.0.2", + "jest-cli": "^29.7.0" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-changed-files": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz", + "integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==", + "dependencies": { + "execa": "^5.0.0", + "jest-util": "^29.7.0", + "p-limit": "^3.1.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-changed-files/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-circus": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz", + "integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==", + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^1.0.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^29.7.0", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "p-limit": "^3.1.0", + "pretty-format": "^29.7.0", + "pure-rand": "^6.0.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-circus/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-cli": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz", + "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==", + "dependencies": { + "@jest/core": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "create-jest": "^29.7.0", + "exit": "^0.1.2", + "import-local": "^3.0.2", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "yargs": "^17.3.1" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-cli/node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/jest-cli/node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/jest-cli/node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "engines": { + "node": ">=12" + } + }, + "node_modules/jest-config": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz", + "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==", + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-jest": "^29.7.0", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-circus": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@types/node": "*", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/jest-config/node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-config/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==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-diff": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", + "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^29.6.3", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-docblock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz", + "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==", + "dependencies": { + "detect-newline": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-each": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz", + "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==", + "dependencies": { + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "jest-util": "^29.7.0", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-environment-node": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", + "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-get-type": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", + "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-haste-map": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", + "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/jest-leak-detector": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz", + "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==", + "dependencies": { + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-matcher-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", + "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-message-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", + "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.6.3", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-mock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", + "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } + } + }, + "node_modules/jest-regex-util": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", + "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-resolve": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz", + "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==", + "dependencies": { + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "resolve": "^1.20.0", + "resolve.exports": "^2.0.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-resolve-dependencies": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz", + "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==", + "dependencies": { + "jest-regex-util": "^29.6.3", + "jest-snapshot": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-runner": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz", + "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==", + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/environment": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-leak-detector": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-resolve": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-util": "^29.7.0", + "jest-watcher": "^29.7.0", + "jest-worker": "^29.7.0", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-runner/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-runtime": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz", + "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==", + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/globals": "^29.7.0", + "@jest/source-map": "^29.6.3", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-runtime/node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-snapshot": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", + "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==", + "dependencies": { + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "natural-compare": "^1.4.0", + "pretty-format": "^29.7.0", + "semver": "^7.5.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-validate": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", + "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", + "dependencies": { + "@jest/types": "^29.6.3", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "leven": "^3.1.0", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-validate/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-watcher": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz", + "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==", + "dependencies": { + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "jest-util": "^29.7.0", + "string-length": "^4.0.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-worker": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", + "dependencies": { + "@types/node": "*", + "jest-util": "^29.7.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.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==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, "node_modules/joi": { @@ -1461,37 +4442,38 @@ "@sideway/pinpoint": "^2.0.0" } }, - "node_modules/jpeg-js": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.4.4.tgz", - "integrity": "sha512-WZzeDOEtTOBK4Mdsar0IqEU5sMr3vSV2RqkAIzUEV2BHnUfKGyswWFPFwK5EeDo93K3FohSHbLAjj0s1Wzd+dg==" - }, - "node_modules/js-priority-queue": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/js-priority-queue/-/js-priority-queue-0.1.5.tgz", - "integrity": "sha512-2dPmJT4GbXUpob7AZDR1wFMKz3Biy6oW69mwt5PTtdeoOgDin1i0p5gUV9k0LFeUxDpwkfr+JGMZDpcprjiY5w==" - }, - "node_modules/js-quantities": { - "version": "1.7.6", - "resolved": "https://registry.npmjs.org/js-quantities/-/js-quantities-1.7.6.tgz", - "integrity": "sha512-h6TH1xK1u/zdjD26M6kKVthZONJSDTIRzrohbqOILfJAyanWHGlJLWuAWkSMtqi8k/IxshStsc97Pkf8SL9yvA==" - }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, - "node_modules/jshashes": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/jshashes/-/jshashes-1.0.8.tgz", - "integrity": "sha512-btmQZ/w1rj8Lb6nEwvhjM7nBYoj54yaEFo2PWh3RkxZ8qNwuvOxvQYN/JxVuwoMmdIluL+XwYVJ+pEEZoSYybQ==", + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dependencies": { + "argparse": "^2.0.1" + }, "bin": { - "hashes": "bin/hashes" + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "bin": { + "jsesc": "bin/jsesc" }, "engines": { - "node": "*" + "node": ">=4" } }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" + }, "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", @@ -1502,45 +4484,72 @@ "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" }, - "node_modules/json2csv": { - "version": "6.0.0-alpha.0", - "resolved": "https://registry.npmjs.org/json2csv/-/json2csv-6.0.0-alpha.0.tgz", - "integrity": "sha512-Sc7Maca9abvW0eiiwTR/TsR45I9CAAtXNSu2hUa6WnuHDB6gG0hwHVYXeIyVO+0CBoBFy70Mm3afFE+OyJIrIA==", - "dependencies": { - "commander": "^6.2.0", - "jsonparse": "^1.3.1", - "lodash.get": "^4.4.2" - }, + "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==" + }, + "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": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "bin": { - "json2csv": "bin/json2csv.js" + "json5": "lib/cli.js" }, "engines": { - "node": ">= 10", - "npm": ">= 6.13.0" + "node": ">=6" } }, - "node_modules/json2csv/node_modules/commander": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", - "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", - "engines": { - "node": ">= 6" + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "node_modules/jsonparse": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", - "engines": [ - "node >= 0.2.0" - ] + "node_modules/keyv": { + "version": "4.5.3", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.3.tgz", + "integrity": "sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==", + "dependencies": { + "json-buffer": "3.0.1" + } }, - "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==", + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", "engines": { - "node": ">=0.10.0" + "node": ">=6" + } + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "engines": { + "node": ">=6" + } + }, + "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==", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" } }, "node_modules/lines-and-columns": { @@ -1592,6 +4601,11 @@ "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=" }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==" + }, "node_modules/lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", @@ -1606,70 +4620,21 @@ "yallist": "^2.1.2" } }, - "node_modules/map-obj": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", - "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", + "node_modules/luxon": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.4.3.tgz", + "integrity": "sha512-tFWBiv3h7z+T/tDaoxA8rqTxy1CHV6gHS//QdaH4pulbq/JuBSGgQspQQqcgnwdAx6pNI7cmvz5Sv/addzHmUg==", "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=12" } }, - "node_modules/median-quickselect": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/median-quickselect/-/median-quickselect-1.0.1.tgz", - "integrity": "sha512-/QL9ptNuLsdA68qO+2o10TKCyu621zwwTFdLvtu8rzRNKsn8zvuGoq/vDxECPyELFG8wu+BpyoMR9BnsJqfVZQ==" - }, - "node_modules/meow": { - "version": "10.1.2", - "resolved": "https://registry.npmjs.org/meow/-/meow-10.1.2.tgz", - "integrity": "sha512-zbuAlN+V/sXlbGchNS9WTWjUzeamwMt/BApKCJi7B0QyZstZaMx0n4Unll/fg0njGtMdC9UP5SAscvOCLYdM+Q==", + "node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", "dependencies": { - "@types/minimist": "^1.2.2", - "camelcase-keys": "^7.0.0", - "decamelize": "^5.0.0", - "decamelize-keys": "^1.1.0", - "hard-rejection": "^2.1.0", - "minimist-options": "4.1.0", - "normalize-package-data": "^3.0.2", - "read-pkg-up": "^8.0.0", - "redent": "^4.0.0", - "trim-newlines": "^4.0.2", - "type-fest": "^1.2.2", - "yargs-parser": "^20.2.9" + "semver": "^7.5.3" }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mimic-response": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", - "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", "engines": { "node": ">=10" }, @@ -1677,12 +4642,50 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/min-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", - "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" + }, + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dependencies": { + "tmpl": "1.0.5" + } + }, + "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==" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "engines": { - "node": ">=4" + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "engines": { + "node": ">=6" } }, "node_modules/minimatch": { @@ -1696,227 +4699,14 @@ "node": "*" } }, - "node_modules/minimist": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" - }, - "node_modules/minimist-options": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", - "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", - "dependencies": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0", - "kind-of": "^6.0.3" - }, + "node_modules/minipass": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", "engines": { - "node": ">= 6" + "node": ">=16 || 14 >=14.17" } }, - "node_modules/mkdirp-classic": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", - "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" - }, - "node_modules/ml-array-max": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/ml-array-max/-/ml-array-max-1.2.4.tgz", - "integrity": "sha512-BlEeg80jI0tW6WaPyGxf5Sa4sqvcyY6lbSn5Vcv44lp1I2GR6AWojfUvLnGTNsIXrZ8uqWmo8VcG1WpkI2ONMQ==", - "dependencies": { - "is-any-array": "^2.0.0" - } - }, - "node_modules/ml-array-median": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/ml-array-median/-/ml-array-median-1.1.6.tgz", - "integrity": "sha512-V6bV6bTPFRX8v5CaAx/7fuRXC39LLTHfPSVZZafdNaqNz2PFL5zEA7gesjv8dMXh+gwPeUMtB5QPovlTBaa4sw==", - "dependencies": { - "is-any-array": "^2.0.0", - "median-quickselect": "^1.0.1" - } - }, - "node_modules/ml-array-min": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/ml-array-min/-/ml-array-min-1.2.3.tgz", - "integrity": "sha512-VcZ5f3VZ1iihtrGvgfh/q0XlMobG6GQ8FsNyQXD3T+IlstDv85g8kfV0xUG1QPRO/t21aukaJowDzMTc7j5V6Q==", - "dependencies": { - "is-any-array": "^2.0.0" - } - }, - "node_modules/ml-array-rescale": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/ml-array-rescale/-/ml-array-rescale-1.3.7.tgz", - "integrity": "sha512-48NGChTouvEo9KBctDfHC3udWnQKNKEWN0ziELvY3KG25GR5cA8K8wNVzracsqSW1QEkAXjTNx+ycgAv06/1mQ==", - "dependencies": { - "is-any-array": "^2.0.0", - "ml-array-max": "^1.2.4", - "ml-array-min": "^1.2.3" - } - }, - "node_modules/ml-convolution": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/ml-convolution/-/ml-convolution-0.2.0.tgz", - "integrity": "sha512-km5f81jFVnEWG0eFEKAwt00X3xGUIAcUqZZlUk+w0q2sZOz1vkEYhIKOXAlmaEi9rnrTknxW//Ttm399zPzDPg==", - "dependencies": { - "fft.js": "^4.0.3", - "next-power-of-two": "^1.0.0" - } - }, - "node_modules/ml-disjoint-set": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/ml-disjoint-set/-/ml-disjoint-set-1.0.0.tgz", - "integrity": "sha512-UcEzgvRzVhsKpT66syfdhaK8R+av6GxDFmU37t+6WClT/kHDIN6OMRfO7OPwQIV8+L8FSc2E6lNKpvdqf6OgLw==" - }, - "node_modules/ml-distance-euclidean": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ml-distance-euclidean/-/ml-distance-euclidean-2.0.0.tgz", - "integrity": "sha512-yC9/2o8QF0A3m/0IXqCTXCzz2pNEzvmcE/9HFKOZGnTjatvBbsn4lWYJkxENkA4Ug2fnYl7PXQxnPi21sgMy/Q==" - }, - "node_modules/ml-fft": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/ml-fft/-/ml-fft-1.3.5.tgz", - "integrity": "sha512-laAATDyUuWPbIlX57thIds41wqFLsB+Zl7i1yrLRo/4CFg+hFaF9Xle8InblQseyiaVtt1KSlDG+6lgUMPOj3g==" - }, - "node_modules/ml-kernel": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ml-kernel/-/ml-kernel-3.0.0.tgz", - "integrity": "sha512-R+ZR0Kl5xJ7vnxtlDqjZ26xVk7mAw7ctK4NlzRHviBFXxp7keC9+hWirMOdzi2DOQA0t6CaRwjElZ6SdirOmow==", - "dependencies": { - "ml-distance-euclidean": "^2.0.0", - "ml-kernel-gaussian": "^2.0.2", - "ml-kernel-polynomial": "^2.0.1", - "ml-kernel-sigmoid": "^1.0.1", - "ml-matrix": "^6.1.2" - } - }, - "node_modules/ml-kernel-gaussian": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ml-kernel-gaussian/-/ml-kernel-gaussian-2.0.2.tgz", - "integrity": "sha512-5MBrH2g9MBO53I6mcyXvMhyOLsmO2w21+26A1ZV/vYoxqpsov2PWkT8bhdFCEe0kgDupmAb6u81iOID/rhnarA==", - "dependencies": { - "ml-distance-euclidean": "^2.0.0" - } - }, - "node_modules/ml-kernel-polynomial": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ml-kernel-polynomial/-/ml-kernel-polynomial-2.0.1.tgz", - "integrity": "sha512-aGDNRPHDiKeJmBxB0L9wTxKNLfp5JytbdRIo5K+FTcmFjkWDe3YZPo6R6wBB5mxaJ5eqTRawzeV4RoIWHbakyQ==" - }, - "node_modules/ml-kernel-sigmoid": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ml-kernel-sigmoid/-/ml-kernel-sigmoid-1.0.1.tgz", - "integrity": "sha512-mSbYOSbNQ7GsUAGrHuUHNsLgM3bZGpXkotw/FBdKZD9YMXfVOgQb1LvvvVeSlOR/ZdmX23qqaV0RnKSYWBF8og==" - }, - "node_modules/ml-matrix": { - "version": "6.10.4", - "resolved": "https://registry.npmjs.org/ml-matrix/-/ml-matrix-6.10.4.tgz", - "integrity": "sha512-rUyEhfNPzqFsltYwvjNeYQXlYEaVea3KgzcJKJteQUj2WVAGFx9fLNRjtMR9mg2B6bd5buxlmkZmxM4hmO+SKg==", - "dependencies": { - "is-any-array": "^2.0.0", - "ml-array-rescale": "^1.3.7" - } - }, - "node_modules/ml-matrix-convolution": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/ml-matrix-convolution/-/ml-matrix-convolution-0.4.3.tgz", - "integrity": "sha512-B4AATOjxDw4J0oVcoeYHsXrhMr31x9SWhVKZjWucDU+brwXLR0enMdqb1OuRy/REdpL5/iSshA46sS2B1dO2OQ==", - "dependencies": { - "ml-fft": "1.3.5", - "ml-stat": "^1.2.0" - } - }, - "node_modules/ml-regression": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ml-regression/-/ml-regression-5.0.0.tgz", - "integrity": "sha512-mBn0LpfEWV3Dk0dj+8PRNUqIHvO87rUY0PmCUTYv3MKfECx7TtlKyeacJeOBLZ4YAVixX8U5hn4HwRL6TpTYaw==", - "dependencies": { - "ml-kernel": "^3.0.0", - "ml-matrix": "^6.1.2", - "ml-regression-base": "^2.0.1", - "ml-regression-exponential": "^2.0.0", - "ml-regression-multivariate-linear": "^2.0.2", - "ml-regression-polynomial": "^2.0.0", - "ml-regression-power": "^2.0.0", - "ml-regression-robust-polynomial": "^2.0.0", - "ml-regression-simple-linear": "^2.0.2", - "ml-regression-theil-sen": "^2.0.0" - } - }, - "node_modules/ml-regression-base": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/ml-regression-base/-/ml-regression-base-2.1.6.tgz", - "integrity": "sha512-yTckvEc8szc6VrUTJSgAClShvCoPZdNt8pmyRe8aGsIWGjg6bYFotp9mDUwAB0snvKAbQWd6A4trL/PDCASLug==", - "dependencies": { - "is-any-array": "^2.0.0" - } - }, - "node_modules/ml-regression-exponential": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ml-regression-exponential/-/ml-regression-exponential-2.1.0.tgz", - "integrity": "sha512-6ZgGbzIkXnONfGGUU0LjIb9qb35WzVqdAFSX8vFr8UEhgXhfgEws9pGrBJu19VBEh7ZTtttcPObI3aoBscq4Kg==", - "dependencies": { - "ml-regression-base": "^2.1.3", - "ml-regression-simple-linear": "^2.0.3" - } - }, - "node_modules/ml-regression-multivariate-linear": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/ml-regression-multivariate-linear/-/ml-regression-multivariate-linear-2.0.4.tgz", - "integrity": "sha512-/vShPAlP+mB7P2mC5TuXwObSJNl/UBI71/bszt9ilTg6yLKy6btDLpAYyJNa6t+JnL5a7q+Yy4dCltfpvqXRIw==", - "dependencies": { - "ml-matrix": "^6.10.1" - } - }, - "node_modules/ml-regression-polynomial": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/ml-regression-polynomial/-/ml-regression-polynomial-2.2.0.tgz", - "integrity": "sha512-WxFsEmi6oLxgq9TeaVoAA+vVUJFp1kGarX6WWClR8OmlanoIW5iLMnaeXfQcYuH8xNq4R1Cax2N9hYYmeWWkLg==", - "dependencies": { - "ml-matrix": "^6.8.0", - "ml-regression-base": "^2.1.3" - } - }, - "node_modules/ml-regression-power": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ml-regression-power/-/ml-regression-power-2.0.0.tgz", - "integrity": "sha512-u8O9Fy45+OeYm/4ZBcNDn5w3w+MHc6kZz/AWSJIwmJcyjz6PRkTZnNfgGYdVKwKKDlAOS7G/AFvMKSTWRNO4RQ==", - "dependencies": { - "ml-regression-base": "^2.0.1", - "ml-regression-simple-linear": "^2.0.2" - } - }, - "node_modules/ml-regression-robust-polynomial": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ml-regression-robust-polynomial/-/ml-regression-robust-polynomial-2.0.1.tgz", - "integrity": "sha512-WkxA224Cil1G3Ug/T1O8H/2IDADlca21oC5WDplcM+gQRTqtueT/Su4ubH70tG6s79XHM046HfO8xQSpDQxqqg==", - "dependencies": { - "ml-matrix": "^6.8.0", - "ml-regression-base": "^2.1.3" - } - }, - "node_modules/ml-regression-simple-linear": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/ml-regression-simple-linear/-/ml-regression-simple-linear-2.0.3.tgz", - "integrity": "sha512-xcLviI0Gqs0TXE5+QsPLbJm372RyZsX6xmsufez3Dz6vq/r10+KyOJ8JvUimhryKvPaZQvx6BTnzAfQbj/IeLQ==", - "dependencies": { - "ml-regression-base": "^2.0.1" - } - }, - "node_modules/ml-regression-theil-sen": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ml-regression-theil-sen/-/ml-regression-theil-sen-2.0.0.tgz", - "integrity": "sha512-RO//tYzo69XbWDO5LIPdGp8ef1MSTPPJY0bXNlmOLMSay7YR9FQqtNgqn29T9DSYTa863VAafRlCeXwDQNXkBw==", - "dependencies": { - "ml-array-median": "^1.1.1", - "ml-regression-base": "^2.0.1" - } - }, - "node_modules/ml-stat": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/ml-stat/-/ml-stat-1.3.3.tgz", - "integrity": "sha512-F6plydFIKFZA+7j/pRsRrfRu4nwsruQvYD9QxHWc4hFUdASVznsKUL2hgAwgMVizY/P0+b1L9bVQexKES5y/uw==" - }, "node_modules/moment": { "version": "2.29.4", "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz", @@ -1925,78 +4715,19 @@ "node": "*" } }, - "node_modules/monotone-chain-convex-hull": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/monotone-chain-convex-hull/-/monotone-chain-convex-hull-1.1.0.tgz", - "integrity": "sha512-iZGaoO2qtqIWaAfscTtsH2LolE06U4JzTw8AgtjT/yzYIA0aoAHDdwBtsesnQXfVRvS375Wu0Y1+FqdI5Y22GA==" + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - }, - "node_modules/mz": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", - "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", - "dependencies": { - "any-promise": "^1.0.0", - "object-assign": "^4.0.1", - "thenify-all": "^1.0.0" - } - }, - "node_modules/napi-build-utils": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", - "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==" - }, - "node_modules/needle": { - "version": "2.9.1", - "resolved": "https://registry.npmjs.org/needle/-/needle-2.9.1.tgz", - "integrity": "sha512-6R9fqJ5Zcmf+uYaFgdIHmLwNldn5HbK8L5ybn7Uz+ylX/rnOsSp1AHcvQSrCaFN+qNM1wpymHqD7mVasEOlHGQ==", - "dependencies": { - "debug": "^3.2.6", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" - }, - "bin": { - "needle": "bin/needle" - }, + "node_modules/natural-orderby": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/natural-orderby/-/natural-orderby-3.0.2.tgz", + "integrity": "sha512-x7ZdOwBxZCEm9MM7+eQCjkrNLrW3rkBKNHVr78zbtqnMGVNlnDi6C/eUEYgxHNrcbu0ymvjzcwIL/6H1iHri9g==", "engines": { - "node": ">= 4.4.x" + "node": ">=18" } }, - "node_modules/new-array": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/new-array/-/new-array-1.0.0.tgz", - "integrity": "sha512-K5AyFYbuHZ4e/ti52y7k18q8UHsS78FlRd85w2Fmsd6AkuLipDihPflKC0p3PN5i8II7+uHxo+CtkLiJDfmS5A==" - }, - "node_modules/next-power-of-two": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/next-power-of-two/-/next-power-of-two-1.0.0.tgz", - "integrity": "sha512-+z6QY1SxkDk6CQJAeaIZKmcNubBCRP7J8DMQUBglz/sSkNsZoJ1kULjqk9skNPPplzs4i9PFhYrvNDdtQleF/A==" - }, - "node_modules/node-abi": { - "version": "3.30.0", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.30.0.tgz", - "integrity": "sha512-qWO5l3SCqbwQavymOmtTVuCWZE23++S+rxyoHjXqUmPyzRcaoI4lA2gO55/drddGnedAyjA7sk76SfQ5lfUMnw==", - "dependencies": { - "semver": "^7.3.5" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/node-addon-api": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-5.0.0.tgz", - "integrity": "sha512-CvkDw2OEnme7ybCykJpVcKH+uAOLV2qLqiyla128dN9TkEWfrYmxG6C2boDe5KcNQqZF3orkqzGgOMvZ/JNekA==" - }, - "node_modules/node-cleanup": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/node-cleanup/-/node-cleanup-2.1.2.tgz", - "integrity": "sha1-esGavSl+Caf3KnFUXZUbUX5N3iw=" - }, "node_modules/node-fetch": { "version": "2.6.7", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", @@ -2016,39 +4747,59 @@ } } }, - "node_modules/normalize-package-data": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", - "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", - "dependencies": { - "hosted-git-info": "^4.0.1", - "is-core-module": "^2.5.0", - "semver": "^7.3.4", - "validate-npm-package-license": "^3.0.1" - }, - "engines": { - "node": ">=10" - } + "node_modules/node-gzip": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/node-gzip/-/node-gzip-1.1.2.tgz", + "integrity": "sha512-ZB6zWpfZHGtxZnPMrJSKHVPrRjURoUzaDbLFj3VO70mpLTW5np96vXyHwft4Id0o+PYIzgDkBUjIzaNHhQ8srw==" }, - "node_modules/nth-check": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz", - "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==", - "dependencies": { - "boolbase": "^1.0.0" - }, - "funding": { - "url": "https://github.com/fb55/nth-check?sponsor=1" - } + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==" }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "node_modules/node-releases": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", + "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==" + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "engines": { "node": ">=0.10.0" } }, + "node_modules/normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/object-treeify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/object-treeify/-/object-treeify-2.1.1.tgz", + "integrity": "sha512-ofXhazOvXTYWbbibExMiS+asaTbYG/ZWopVroXFFOdjmc8ehXMq9R2VUaTx/C3CnZkQbT52wAZT4DrBLK/nQfw==", + "engines": { + "node": ">= 12" + } + }, "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", @@ -2057,6 +4808,36 @@ "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==", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "dependencies": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, "node_modules/os-shim": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/os-shim/-/os-shim-0.1.3.tgz", @@ -2065,14 +4846,6 @@ "node": ">= 0.4.0" } }, - "node_modules/os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/p-limit": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", @@ -2103,10 +4876,16 @@ "node": ">=4" } }, - "node_modules/pako": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz", - "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==" + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } }, "node_modules/parse-json": { "version": "4.0.0", @@ -2120,19 +4899,6 @@ "node": ">=4" } }, - "node_modules/parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" - }, - "node_modules/parse5-htmlparser2-tree-adapter": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz", - "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", - "dependencies": { - "parse5": "^6.0.1" - } - }, "node_modules/path-exists": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", @@ -2141,32 +4907,6 @@ "node": ">=4" } }, - "node_modules/path-exists-cli": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/path-exists-cli/-/path-exists-cli-2.0.0.tgz", - "integrity": "sha512-qGr0A87KYCznmvabblxyxnzA/MtPZ28wH+4SCMP4tjTFAbzqwvs5xpUZExAYzq5OgHe5vIswzdH5iosCb8YF/Q==", - "dependencies": { - "meow": "^10.1.1", - "path-exists": "^5.0.0" - }, - "bin": { - "path-exists": "cli.js" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/path-exists-cli/node_modules/path-exists": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", - "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - } - }, "node_modules/path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", @@ -2175,6 +4915,66 @@ "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==", + "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==" + }, + "node_modules/path-scurry": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", + "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", + "dependencies": { + "lru-cache": "^9.1.1 || ^10.0.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz", + "integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==", + "engines": { + "node": "14 || >=16.14" + } + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/pify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", @@ -2183,6 +4983,14 @@ "node": ">=4" } }, + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "engines": { + "node": ">= 6" + } + }, "node_modules/pkg-conf": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/pkg-conf/-/pkg-conf-2.1.0.tgz", @@ -2195,6 +5003,81 @@ "node": ">=4" } }, + "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==", + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/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==", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/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==", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/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==", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-dir/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==", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/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==", + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-dir/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==", + "engines": { + "node": ">=8" + } + }, "node_modules/pre-commit": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/pre-commit/-/pre-commit-1.2.2.tgz", @@ -2206,39 +5089,36 @@ "which": "1.2.x" } }, - "node_modules/prebuild-install": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.1.tgz", - "integrity": "sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==", - "dependencies": { - "detect-libc": "^2.0.0", - "expand-template": "^2.0.3", - "github-from-package": "0.0.0", - "minimist": "^1.2.3", - "mkdirp-classic": "^0.5.3", - "napi-build-utils": "^1.0.1", - "node-abi": "^3.3.0", - "pump": "^3.0.0", - "rc": "^1.2.7", - "simple-get": "^4.0.0", - "tar-fs": "^2.0.0", - "tunnel-agent": "^0.6.0" - }, - "bin": { - "prebuild-install": "bin.js" - }, + "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==", "engines": { - "node": ">=10" + "node": ">= 0.8.0" } }, - "node_modules/probe-image-size": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/probe-image-size/-/probe-image-size-7.2.3.tgz", - "integrity": "sha512-HubhG4Rb2UH8YtV4ba0Vp5bQ7L78RTONYu/ujmCu5nBI8wGv24s4E9xSKBi0N1MowRpxk76pFCpJtW0KPzOK0w==", + "node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dependencies": { - "lodash.merge": "^4.6.2", - "needle": "^2.5.2", - "stream-parser": "~0.3.1" + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, "node_modules/process-nextick-args": { @@ -2246,159 +5126,69 @@ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" }, - "node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/quick-lru": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", - "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=6" } }, - "node_modules/rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "dependencies": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "bin": { - "rc": "cli.js" - } + "node_modules/pure-rand": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.4.tgz", + "integrity": "sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/dubzzz" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fast-check" + } + ] }, - "node_modules/read-pkg": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-6.0.0.tgz", - "integrity": "sha512-X1Fu3dPuk/8ZLsMhEj5f4wFAF0DWoK7qhGJvgaijocXxBmSToKfbFtqbxMO7bVjNA1dmE5huAzjXj/ey86iw9Q==", - "dependencies": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^3.0.2", - "parse-json": "^5.2.0", - "type-fest": "^1.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] }, - "node_modules/read-pkg-up": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-8.0.0.tgz", - "integrity": "sha512-snVCqPczksT0HS2EC+SxUndvSzn6LRCwpfSvLrIfR5BKDQQZMaI6jPRC9dYvYFDRAuFEAnkwww8kBBNE/3VvzQ==", - "dependencies": { - "find-up": "^5.0.0", - "read-pkg": "^6.0.0", - "type-fest": "^1.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/read-pkg-up/node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/read-pkg-up/node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/read-pkg-up/node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/read-pkg-up/node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/read-pkg-up/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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg/node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" }, "node_modules/readable-stream": { "version": "2.3.7", @@ -2414,26 +5204,6 @@ "util-deprecate": "~1.0.1" } }, - "node_modules/redent": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-4.0.0.tgz", - "integrity": "sha512-tYkDkVVtYkSVhuQ4zBgfvciymHaeuel+zFKXShfDnFP5SyVEP7qo70Rf1jTOTCx3vGNAbnEi/xFkcfQVMIBWag==", - "dependencies": { - "indent-string": "^5.0.0", - "strip-indent": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/regenerator-runtime": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", - "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" - }, "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -2442,59 +5212,107 @@ "node": ">=0.10.0" } }, - "node_modules/robust-orientation": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/robust-orientation/-/robust-orientation-1.2.1.tgz", - "integrity": "sha512-FuTptgKwY6iNuU15nrIJDLjXzCChWB+T4AvksRtwPS/WZ3HuP1CElCm1t+OBfgQKfWbtZIawip+61k7+buRKAg==", + "node_modules/resolve": { + "version": "1.22.6", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.6.tgz", + "integrity": "sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw==", "dependencies": { - "robust-scale": "^1.0.2", - "robust-subtract": "^1.0.0", - "robust-sum": "^1.0.0", - "two-product": "^1.0.2" + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/robust-point-in-polygon": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/robust-point-in-polygon/-/robust-point-in-polygon-1.0.3.tgz", - "integrity": "sha512-pPzz7AevOOcPYnFv4Vs5L0C7BKOq6C/TfAw5EUE58CylbjGiPyMjAnPLzzSuPZ2zftUGwWbmLWPOjPOz61tAcA==", + "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==", "dependencies": { - "robust-orientation": "^1.0.2" + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/robust-scale": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/robust-scale/-/robust-scale-1.0.2.tgz", - "integrity": "sha512-jBR91a/vomMAzazwpsPTPeuTPPmWBacwA+WYGNKcRGSh6xweuQ2ZbjRZ4v792/bZOhRKXRiQH0F48AvuajY0tQ==", - "dependencies": { - "two-product": "^1.0.2", - "two-sum": "^1.0.0" + "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==", + "engines": { + "node": ">=8" } }, - "node_modules/robust-subtract": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/robust-subtract/-/robust-subtract-1.0.0.tgz", - "integrity": "sha512-xhKUno+Rl+trmxAIVwjQMiVdpF5llxytozXJOdoT4eTIqmqsndQqFb1A0oiW3sZGlhMRhOi6pAD4MF1YYW6o/A==" + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "engines": { + "node": ">=4" + } }, - "node_modules/robust-sum": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/robust-sum/-/robust-sum-1.0.0.tgz", - "integrity": "sha512-AvLExwpaqUqD1uwLU6MwzzfRdaI6VEZsyvQ3IAQ0ZJ08v1H+DTyqskrf2ZJyh0BDduFVLN7H04Zmc+qTiahhAw==" + "node_modules/resolve.exports": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", + "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", + "engines": { + "node": ">=10" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "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==", + "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.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "node_modules/sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" - }, "node_modules/semver": { "version": "7.5.4", "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", @@ -2525,28 +5343,6 @@ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, - "node_modules/sharp": { - "version": "0.31.1", - "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.31.1.tgz", - "integrity": "sha512-GR8M1wBwOiFKLkm9JPun27OQnNRZdHfSf9VwcdZX6UrRmM1/XnOrLFTF0GAil+y/YK4E6qcM/ugxs80QirsHxg==", - "hasInstallScript": true, - "dependencies": { - "color": "^4.2.3", - "detect-libc": "^2.0.1", - "node-addon-api": "^5.0.0", - "prebuild-install": "^7.1.1", - "semver": "^7.3.7", - "simple-get": "^4.0.1", - "tar-fs": "^2.1.1", - "tunnel-agent": "^0.6.0" - }, - "engines": { - "node": ">=14.15.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - } - }, "node_modules/shebang-command": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", @@ -2566,6 +5362,11 @@ "node": ">=0.10.0" } }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + }, "node_modules/signale": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/signale/-/signale-1.4.0.tgz", @@ -2635,68 +5436,34 @@ "node": ">=4" } }, - "node_modules/simple-concat": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", - "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" }, - "node_modules/simple-get": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", - "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "decompress-response": "^6.0.0", - "once": "^1.3.1", - "simple-concat": "^1.0.0" - } - }, - "node_modules/simple-swizzle": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", - "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", - "dependencies": { - "is-arrayish": "^0.3.1" - } - }, - "node_modules/simple-swizzle/node_modules/is-arrayish": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", - "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" - }, - "node_modules/slugify": { - "version": "1.6.5", - "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.6.5.tgz", - "integrity": "sha512-8mo9bslnBO3tr5PEVFzMPIWwWnipGS0xVbYf65zxDqfNwmzYn1LpiKNrR6DlClusuvo+hDHd1zKpmfAe83NQSQ==", + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "engines": { - "node": ">=8.0.0" + "node": ">=8" + } + }, + "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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } }, "node_modules/spawn-sync": { @@ -2709,54 +5476,29 @@ "os-shim": "^0.1.2" } }, - "node_modules/spdx-correct": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", - "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + }, + "node_modules/stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" } }, - "node_modules/spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==" - }, - "node_modules/spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-license-ids": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz", - "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==" - }, - "node_modules/stream-parser": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/stream-parser/-/stream-parser-0.3.1.tgz", - "integrity": "sha512-bJ/HgKq41nlKvlhccD5kaCr/P+Hu0wPNKPJOH7en+YrJu/9EgqUF+88w5Jb6KNcjOFMhfX4B2asfeAtIGuHObQ==", - "dependencies": { - "debug": "2" - } - }, - "node_modules/stream-parser/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/stream-parser/node_modules/ms": { + "node_modules/stack-utils/node_modules/escape-string-regexp": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "engines": { + "node": ">=8" + } }, "node_modules/string_decoder": { "version": "1.1.1", @@ -2766,6 +5508,18 @@ "safe-buffer": "~5.1.0" } }, + "node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", @@ -2779,6 +5533,20 @@ "node": ">=8" } }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", @@ -2790,6 +5558,18 @@ "node": ">=8" } }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/strip-bom": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", @@ -2801,26 +5581,12 @@ "node": ">=0.10.0" } }, - "node_modules/strip-indent": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-4.0.0.tgz", - "integrity": "sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==", - "dependencies": { - "min-indent": "^1.0.1" - }, + "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==", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", - "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, "node_modules/supports-color": { @@ -2834,71 +5600,57 @@ "node": ">=8" } }, - "node_modules/tar-fs": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", - "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", - "dependencies": { - "chownr": "^1.1.1", - "mkdirp-classic": "^0.5.2", - "pump": "^3.0.0", - "tar-stream": "^2.1.4" + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/tar-stream": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", "dependencies": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" }, "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/tar-stream/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" + }, + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==" + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "is-number": "^7.0.0" }, "engines": { - "node": ">= 6" - } - }, - "node_modules/thenify": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", - "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", - "dependencies": { - "any-promise": "^1.0.0" - } - }, - "node_modules/thenify-all": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", - "integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=", - "dependencies": { - "thenify": ">= 3.1.0 < 4" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/tiff": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/tiff/-/tiff-5.0.3.tgz", - "integrity": "sha512-R0WckwRGhawWDNdha8iPQCjHyOiaEEmfFjhmalUVCIEELsON7Y/XO3eeGmBkoCXQp0Gg2nmTozN92Z4hlwbsow==", - "dependencies": { - "iobuffer": "^5.0.4", - "pako": "^2.0.4" + "node": ">=8.0" } }, "node_modules/tr46": { @@ -2906,75 +5658,126 @@ "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" }, - "node_modules/transform-file": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/transform-file/-/transform-file-1.0.1.tgz", - "integrity": "sha1-f5WYSs0j1Ov4q7R+6dg74WbRJoc=", - "dependencies": { - "os-tmpdir": "^1.0.0" + "node_modules/ts-api-utils": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.3.tgz", + "integrity": "sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==", + "engines": { + "node": ">=16.13.0" + }, + "peerDependencies": { + "typescript": ">=4.2.0" } }, - "node_modules/transliteration": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/transliteration/-/transliteration-2.2.0.tgz", - "integrity": "sha512-o29GDWtecNoK4TNfnJQesGluFPiza+U8NoiKrErU8eTNlVgma6w1LV/tTiGo+waFLkhtL9WxrW0lXhZKmm7msQ==", + "node_modules/ts-jest": { + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.1.tgz", + "integrity": "sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==", "dependencies": { - "yargs": "^16.1.0" + "bs-logger": "0.x", + "fast-json-stable-stringify": "2.x", + "jest-util": "^29.0.0", + "json5": "^2.2.3", + "lodash.memoize": "4.x", + "make-error": "1.x", + "semver": "^7.5.3", + "yargs-parser": "^21.0.1" }, "bin": { - "slugify": "dist/bin/slugify", - "transliterate": "dist/bin/transliterate" + "ts-jest": "cli.js" }, "engines": { - "node": ">=6.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": ">=7.0.0-beta.0 <8", + "@jest/types": "^29.0.0", + "babel-jest": "^29.0.0", + "jest": "^29.0.0", + "typescript": ">=4.3 <6" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "@jest/types": { + "optional": true + }, + "babel-jest": { + "optional": true + }, + "esbuild": { + "optional": true + } } }, - "node_modules/trim-newlines": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-4.0.2.tgz", - "integrity": "sha512-GJtWyq9InR/2HRiLZgpIKv+ufIKrVrvjQWEj7PxAXNc5dwbNJkqhAUoAGgzRmULAnoOM5EIpveYd3J2VeSAIew==", + "node_modules/ts-jest/node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "engines": { "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/tslib": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", - "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" - }, - "node_modules/tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "node_modules/ts-node": { + "version": "10.9.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", + "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", "dependencies": { - "safe-buffer": "^5.0.1" + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" }, - "engines": { - "node": "*" + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } } }, - "node_modules/two-product": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/two-product/-/two-product-1.0.2.tgz", - "integrity": "sha512-vOyrqmeYvzjToVM08iU52OFocWT6eB/I5LUWYnxeAPGXAhAxXYU/Yr/R2uY5/5n4bvJQL9AQulIuxpIsMoT8XQ==" - }, - "node_modules/two-sum": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/two-sum/-/two-sum-1.0.0.tgz", - "integrity": "sha512-phP48e8AawgsNUjEY2WvoIWqdie8PoiDZGxTDv70LDr01uX5wLEQbOgSP7Z/B6+SW5oLtbe8qaYX2fKJs3CGTw==" - }, - "node_modules/type-fest": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", - "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", - "engines": { - "node": ">=10" + "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==", + "dependencies": { + "prelude-ls": "^1.2.1" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "engines": { + "node": ">=4" } }, "node_modules/typedarray": { @@ -2982,34 +5785,99 @@ "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" }, - "node_modules/unfetch": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/unfetch/-/unfetch-4.2.0.tgz", - "integrity": "sha512-F9p7yYCn6cIW9El1zi0HI6vqpeIvBsr3dSuRO6Xuppb1u5rXpCPmMvLSyECLhybr9isec8Ohl0hPekMVrEinDA==" + "node_modules/typescript": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", + "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", + "peer": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } }, "node_modules/universal-user-agent": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz", "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==" }, + "node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dependencies": { + "punycode": "^2.1.0" + } + }, "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" }, - "node_modules/validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "node_modules/v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==" + }, + "node_modules/v8-to-istanbul": { + "version": "9.1.3", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.3.tgz", + "integrity": "sha512-9lDD+EVI2fjFsMWXc6dy5JJzBsVTcQ2fVkfBvncZ6xJWG9wtBhOldG+mHkSL0+V1K/xgZz0JDO5UT5hFwHUghg==", "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^2.0.0" + }, + "engines": { + "node": ">=10.12.0" } }, - "node_modules/web-worker-manager": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/web-worker-manager/-/web-worker-manager-0.2.0.tgz", - "integrity": "sha512-WmGabA4GLth1ju9VLm/oMDcPMhMngHoBSdY1OMhrEJvNsPl7z2p+7RBOXjEi5zlP0dK+Shd3Wm+BdD5WZrNYBA==" + "node_modules/walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "dependencies": { + "makeerror": "1.0.12" + } }, "node_modules/webidl-conversions": { "version": "3.0.1", @@ -3036,24 +5904,24 @@ "which": "bin/which" } }, - "node_modules/wikijs": { - "version": "6.3.3", - "resolved": "https://registry.npmjs.org/wikijs/-/wikijs-6.3.3.tgz", - "integrity": "sha512-pYVaUuJyTd7VO2aNxbdN341zgio+QuGdc6HC3jyQqakyaLJdOD8Shj+bs7lnZnhv/wml2u+C+OME9YUkck06Cg==", + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dependencies": { - "cross-fetch": "^3.0.2", - "hyntax": "^1.1.9", - "infobox-parser": "3.6.2" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">=0.10.4" + "node": ">=10" }, "funding": { - "type": "individual", - "url": "https://www.buymeacoffee.com/2tmRKi9" + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/wrap-ansi": { + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", @@ -3074,31 +5942,16 @@ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, - "node_modules/wtf_wikipedia": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/wtf_wikipedia/-/wtf_wikipedia-10.0.0.tgz", - "integrity": "sha512-CVLak9eVDf2jVt5AZTlNe5b4bqHnb8H9h9xfKwUZhLGtb9TbphXhkL0jLaTVYCXPM946wcJg6B+9d9EPKZhAwQ==", - "hasInstallScript": true, + "node_modules/write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", "dependencies": { - "isomorphic-unfetch": "^3.1.0", - "path-exists-cli": "2.0.0" - }, - "bin": { - "wtf_wikipedia": "cli.js" + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" }, "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/wtf-plugin-image": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wtf-plugin-image/-/wtf-plugin-image-1.0.0.tgz", - "integrity": "sha512-dLjC6kSsTZuwHuVwjhqIfImWRL6YgI1fdF2glP1EbDsNYXlYUczYh4m11To/z4fBEq8w7fxx1RG03pBdMKhQcA==", - "dependencies": { - "jshashes": "^1.0.8" - }, - "peerDependencies": { - "wtf_wikipedia": ">=9.0.0" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/y18n": { @@ -3114,29 +5967,12 @@ "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" }, - "node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - }, + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", "engines": { - "node": ">=10" - } - }, - "node_modules/yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "engines": { - "node": ">=10" + "node": ">=6" } }, "node_modules/yocto-queue": { @@ -3152,26 +5988,260 @@ } }, "dependencies": { - "@babel/code-frame": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", - "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", + "@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==" + }, + "@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", "requires": { - "@babel/highlight": "^7.16.7" + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" } }, + "@babel/code-frame": { + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", + "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", + "requires": { + "@babel/highlight": "^7.22.13", + "chalk": "^2.4.2" + }, + "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==", + "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==", + "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==", + "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": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@babel/compat-data": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.20.tgz", + "integrity": "sha512-BQYjKbpXjoXwFW5jGqiizJQQT/aC7pFm9Ok1OWssonuguICi264lbgMzRp2ZMmRSlfkX6DsWDDcsrctK8Rwfiw==" + }, + "@babel/core": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.0.tgz", + "integrity": "sha512-97z/ju/Jy1rZmDxybphrBuI+jtJjFVoz7Mr9yUQVVVi+DNZE333uFQeMOqcCIy1x3WYBIbWftUSLmbNXNT7qFQ==", + "requires": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.23.0", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-module-transforms": "^7.23.0", + "@babel/helpers": "^7.23.0", + "@babel/parser": "^7.23.0", + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.0", + "@babel/types": "^7.23.0", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" + } + } + }, + "@babel/generator": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", + "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", + "requires": { + "@babel/types": "^7.23.0", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz", + "integrity": "sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==", + "requires": { + "@babel/compat-data": "^7.22.9", + "@babel/helper-validator-option": "^7.22.15", + "browserslist": "^4.21.9", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "dependencies": { + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "requires": { + "yallist": "^3.0.2" + } + }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + } + } + }, + "@babel/helper-environment-visitor": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==" + }, + "@babel/helper-function-name": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", + "requires": { + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-module-imports": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", + "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", + "requires": { + "@babel/types": "^7.22.15" + } + }, + "@babel/helper-module-transforms": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.0.tgz", + "integrity": "sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw==", + "requires": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.20" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", + "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==" + }, + "@babel/helper-simple-access": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-string-parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==" + }, "@babel/helper-validator-identifier": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", - "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==" + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==" + }, + "@babel/helper-validator-option": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz", + "integrity": "sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA==" + }, + "@babel/helpers": { + "version": "7.23.1", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.1.tgz", + "integrity": "sha512-chNpneuK18yW5Oxsr+t553UZzzAs3aZnFm4bxhebsNTeshrC95yA7l5yl7GBAG+JG1rF0F7zzD2EixK9mWSDoA==", + "requires": { + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.0", + "@babel/types": "^7.23.0" + } }, "@babel/highlight": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.17.9.tgz", - "integrity": "sha512-J9PfEKCbFIv2X5bjTMiZu6Vf341N05QIY+d6FvVKynkG1S7G0j3I0QoRtWIrXhZ+/Nlb5Q0MzqL7TokEJ5BNHg==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", + "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", "requires": { - "@babel/helper-validator-identifier": "^7.16.7", - "chalk": "^2.0.0", + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", "js-tokens": "^4.0.0" }, "dependencies": { @@ -3204,12 +6274,12 @@ "color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" }, "supports-color": { "version": "5.5.0", @@ -3221,12 +6291,313 @@ } } }, - "@babel/runtime": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.7.tgz", - "integrity": "sha512-UF0tvkUtxwAgZ5W/KrkHf0Rn0fdnLDU9ScxBrEVNUprE/MzirjK4MJUX1/BVDv00Sv8cljtukVK1aky++X1SjQ==", + "@babel/parser": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", + "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==" + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", "requires": { - "regenerator-runtime": "^0.13.11" + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-jsx": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", + "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-typescript": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz", + "integrity": "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/template": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", + "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", + "requires": { + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" + } + }, + "@babel/traverse": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.0.tgz", + "integrity": "sha512-t/QaEvyIoIkwzpiZ7aoSKK8kObQYeF7T2v+dazAYCb8SXtp58zEVkWW7zAnju8FNKNdr4ScAOEDmMItbyOmEYw==", + "requires": { + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.23.0", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.23.0", + "@babel/types": "^7.23.0", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } + } + }, + "@babel/types": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", + "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", + "requires": { + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20", + "to-fast-properties": "^2.0.0" + } + }, + "@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==" + }, + "@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "requires": { + "@jridgewell/trace-mapping": "0.3.9" + }, + "dependencies": { + "@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "requires": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + } + } + }, + "@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "requires": { + "eslint-visitor-keys": "^3.3.0" + } + }, + "@eslint-community/regexpp": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.9.1.tgz", + "integrity": "sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA==" + }, + "@eslint/eslintrc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", + "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "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==" + }, + "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==" + } + } + }, + "@eslint/js": { + "version": "8.50.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.50.0.tgz", + "integrity": "sha512-NCC3zz2+nvYd+Ckfh87rA47zfu2QsQpvc6k1yzTk+b9KzRj0wkGa8LSoGOXN6Zv4lRf/EIoZ80biDh9HOI+RNQ==" + }, + "@freearhey/core": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@freearhey/core/-/core-0.2.1.tgz", + "integrity": "sha512-kEdIxZClykKhGpgyCSlkwuVuSCCAWr3J5YvOUMJQDPgVAYvT5VbD8MYKPm+OwNi9T4HFmF6qqY90qwKJPoOXCA==", + "requires": { + "@types/fs-extra": "^11.0.2", + "@types/lodash": "^4.14.198", + "@types/luxon": "^3.3.2", + "fs-extra": "^11.1.1", + "glob": "^10.3.4", + "lodash": "^4.17.21", + "luxon": "^3.4.3", + "natural-orderby": "^3.0.2", + "node-gzip": "^1.1.2", + "normalize-url": "^6.1.0", + "object-treeify": "^2.1.1", + "signale": "^1.4.0" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "requires": { + "balanced-match": "^1.0.0" + } + }, + "glob": { + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "requires": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.5", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + } + }, + "minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "requires": { + "brace-expansion": "^2.0.1" + } + } } }, "@hapi/hoek": { @@ -3242,6 +6613,394 @@ "@hapi/hoek": "^9.0.0" } }, + "@humanwhocodes/config-array": { + "version": "0.11.11", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.11.tgz", + "integrity": "sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==", + "requires": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } + } + }, + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==" + }, + "@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==" + }, + "@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "requires": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==" + }, + "ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==" + }, + "emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" + }, + "string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "requires": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + } + }, + "strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "requires": { + "ansi-regex": "^6.0.1" + } + }, + "wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "requires": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + } + } + } + }, + "@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "requires": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "dependencies": { + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "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==", + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "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==", + "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==" + }, + "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==" + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" + } + } + }, + "@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==" + }, + "@jest/console": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz", + "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==", + "requires": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0" + } + }, + "@jest/core": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz", + "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==", + "requires": { + "@jest/console": "^29.7.0", + "@jest/reporters": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^29.7.0", + "jest-config": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-resolve-dependencies": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "jest-watcher": "^29.7.0", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "@jest/environment": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", + "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", + "requires": { + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0" + } + }, + "@jest/expect": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==", + "requires": { + "expect": "^29.7.0", + "jest-snapshot": "^29.7.0" + } + }, + "@jest/expect-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", + "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", + "requires": { + "jest-get-type": "^29.6.3" + } + }, + "@jest/fake-timers": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", + "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", + "requires": { + "@jest/types": "^29.6.3", + "@sinonjs/fake-timers": "^10.0.2", + "@types/node": "*", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + } + }, + "@jest/globals": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz", + "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==", + "requires": { + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/types": "^29.6.3", + "jest-mock": "^29.7.0" + } + }, + "@jest/reporters": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz", + "integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==", + "requires": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^6.0.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "slash": "^3.0.0", + "string-length": "^4.0.1", + "strip-ansi": "^6.0.0", + "v8-to-istanbul": "^9.0.1" + } + }, + "@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "requires": { + "@sinclair/typebox": "^0.27.8" + } + }, + "@jest/source-map": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", + "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", + "requires": { + "@jridgewell/trace-mapping": "^0.3.18", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" + } + }, + "@jest/test-result": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz", + "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==", + "requires": { + "@jest/console": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + } + }, + "@jest/test-sequencer": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz", + "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==", + "requires": { + "@jest/test-result": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "slash": "^3.0.0" + } + }, + "@jest/transform": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", + "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", + "requires": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" + } + }, + "@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "requires": { + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + } + }, "@joi/date": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/@joi/date/-/date-2.1.0.tgz", @@ -3250,6 +7009,94 @@ "moment": "2.x.x" } }, + "@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==" + }, + "@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==" + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + }, + "@jridgewell/trace-mapping": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz", + "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==", + "requires": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "@json2csv/formatters": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@json2csv/formatters/-/formatters-7.0.3.tgz", + "integrity": "sha512-QLTpBNmNxGDAQNALkWwPdnyJ7IdXHQ0Motzog4fZOKK2ozpxckl6vwhWNBxbQs/25Zhp7bLS4J6ILu/hh0en6w==" + }, + "@json2csv/node": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@json2csv/node/-/node-7.0.3.tgz", + "integrity": "sha512-lmIprTZLw5UgetRXfkYlzHhs5juXFmeDR03Ao9ahOim7GYqsqMMCDe7SZGSXHYBLNVu5f2ClsUMOKLhHJtW7Zg==", + "requires": { + "@json2csv/plainjs": "^7.0.3" + } + }, + "@json2csv/plainjs": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@json2csv/plainjs/-/plainjs-7.0.3.tgz", + "integrity": "sha512-AEpEdeSu8o64Sdf7Xoy7BM4MyfZToN7oxxleXJ6u7v3h0V0hKdNIw7i4kQ08wiIe7lcJBhS3JRyEPKX6k2AsjA==", + "requires": { + "@json2csv/formatters": "^7.0.3", + "@streamparser/json": "^0.0.17", + "lodash.get": "^4.4.2" + } + }, + "@json2csv/transforms": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@json2csv/transforms/-/transforms-7.0.3.tgz", + "integrity": "sha512-6IvE2NXcFB48nutRa1nmbnJEJWlR846xHggI0WIuZzX2yMKJjEnNuJYPVpq7pelm2zQqFh1uoE3M7xqUleGdDw==", + "requires": { + "lodash.get": "^4.4.2" + } + }, + "@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==", + "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==" + }, + "@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==", + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, "@octokit/auth-token": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-3.0.3.tgz", @@ -3293,9 +7140,9 @@ } }, "@octokit/openapi-types": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-16.0.0.tgz", - "integrity": "sha512-JbFWOqTJVLHZSUUoF4FzAZKYtqdxWu9Z5m2QQnOyEa04fOFljvyh7D3GYKbfuaSWisqehImiVIMG4eyJeP5VEA==" + "version": "18.1.1", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-18.1.1.tgz", + "integrity": "sha512-VRaeH8nCDtF5aXWnjPuEMIYf1itK/s3JYyJcWFJT8X9pSNnBtriDf7wlEWsGuhPLl4QIH4xM8fqTXDwJ3Mu6sw==" }, "@octokit/plugin-paginate-rest": { "version": "6.0.0", @@ -3305,6 +7152,14 @@ "@octokit/types": "^9.0.0" } }, + "@octokit/plugin-rest-endpoint-methods": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-7.1.3.tgz", + "integrity": "sha512-0aoPd4f1k/KXPTGSX0NbxcBrShBHArgcW3pujEvLa6wUfcfA1BehxQ2Ifwa6CbJ4SfzaO79FvGgaUipoxDsgjA==", + "requires": { + "@octokit/types": "^9.2.3" + } + }, "@octokit/request": { "version": "6.2.3", "resolved": "https://registry.npmjs.org/@octokit/request/-/request-6.2.3.tgz", @@ -3329,13 +7184,19 @@ } }, "@octokit/types": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-9.0.0.tgz", - "integrity": "sha512-LUewfj94xCMH2rbD5YJ+6AQ4AVjFYTgpp6rboWM5T7N3IsIF65SBEOVcYMGAEzO/kKNiNaW4LoWtoThOhH06gw==", + "version": "9.3.2", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-9.3.2.tgz", + "integrity": "sha512-D4iHGTdAnEEVsB8fl95m1hiz7D5YiRdQ9b/OEb3BYRVwbLsGHcRVPz+u+BgRLNk0Q0/4iZCBqDN96j2XNxfXrA==", "requires": { - "@octokit/openapi-types": "^16.0.0" + "@octokit/openapi-types": "^18.0.0" } }, + "@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "optional": true + }, "@sideway/address": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.3.tgz", @@ -3354,28 +7215,383 @@ "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==" }, - "@swiftcarrot/color-fns": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@swiftcarrot/color-fns/-/color-fns-3.2.0.tgz", - "integrity": "sha512-6SCpc4LwmGGqWHpBY9WaBzJwPF4nfgvFfejOX7Ub0kTehJysFkLUAvGID8zEx39n0pGlfr9pTiQE/7/buC7X5w==", + "@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==" + }, + "@sinonjs/commons": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", + "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", "requires": { - "@babel/runtime": "^7.10.3" + "type-detect": "4.0.8" } }, - "@types/minimist": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", - "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==" + "@sinonjs/fake-timers": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", + "requires": { + "@sinonjs/commons": "^3.0.0" + } }, - "@types/normalize-package-data": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", - "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==" + "@streamparser/json": { + "version": "0.0.17", + "resolved": "https://registry.npmjs.org/@streamparser/json/-/json-0.0.17.tgz", + "integrity": "sha512-mW54K6CTVJVLwXRB6kSS1xGWPmtTuXAStWnlvtesmcySgtop+eFPWOywBFPpJO4UD173epYsPSP6HSW8kuqN8w==" }, - "@types/pako": { + "@tsconfig/node10": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", + "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==" + }, + "@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==" + }, + "@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==" + }, + "@tsconfig/node16": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@types/pako/-/pako-1.0.4.tgz", - "integrity": "sha512-Z+5bJSm28EXBSUJEgx29ioWeEEHUh6TiMkZHDhLwjc9wVFH+ressbkmX6waUZc5R3Gobn4Qu5llGxaoflZ+yhA==" + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==" + }, + "@types/babel__core": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.2.tgz", + "integrity": "sha512-pNpr1T1xLUc2l3xJKuPtsEky3ybxN3m4fJkknfIpTCTfIZCDW57oAg+EfCgIIp2rvCe0Wn++/FfodDS4YXxBwA==", + "requires": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "@types/babel__generator": { + "version": "7.6.5", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.5.tgz", + "integrity": "sha512-h9yIuWbJKdOPLJTbmSpPzkF67e659PbQDba7ifWm5BJ8xTv+sDmS7rFmywkWOvXedGTivCdeGSIIX8WLcRTz8w==", + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@types/babel__template": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.2.tgz", + "integrity": "sha512-/AVzPICMhMOMYoSx9MoKpGDKdBRsIXMNByh1PXSZoa+v6ZoLa8xxtsT/uLQ/NJm0XVAWl/BvId4MlDeXJaeIZQ==", + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@types/babel__traverse": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.2.tgz", + "integrity": "sha512-ojlGK1Hsfce93J0+kn3H5R73elidKUaZonirN33GSmgTUMpzI/MIFfSpF3haANe3G1bEBS9/9/QEqwTzwqFsKw==", + "requires": { + "@babel/types": "^7.20.7" + } + }, + "@types/fs-extra": { + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-11.0.2.tgz", + "integrity": "sha512-c0hrgAOVYr21EX8J0jBMXGLMgJqVf/v6yxi0dLaJboW9aQPh16Id+z6w2Tx1hm+piJOLv8xPfVKZCLfjPw/IMQ==", + "requires": { + "@types/jsonfile": "*", + "@types/node": "*" + } + }, + "@types/graceful-fs": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.7.tgz", + "integrity": "sha512-MhzcwU8aUygZroVwL2jeYk6JisJrPl/oov/gsgGCue9mkgl9wjGbzReYQClxiUgFDnib9FuHqTndccKeZKxTRw==", + "requires": { + "@types/node": "*" + } + }, + "@types/istanbul-lib-coverage": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==" + }, + "@types/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-gPQuzaPR5h/djlAv2apEG1HVOyj1IUs7GpfMZixU0/0KXT3pm64ylHuMUI1/Akh+sq/iikxg6Z2j+fcMDXaaTQ==", + "requires": { + "@types/istanbul-lib-coverage": "*" + } + }, + "@types/istanbul-reports": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.2.tgz", + "integrity": "sha512-kv43F9eb3Lhj+lr/Hn6OcLCs/sSM8bt+fIaP11rCYngfV6NVjzWXJ17owQtDQTL9tQ8WSLUrGsSJ6rJz0F1w1A==", + "requires": { + "@types/istanbul-lib-report": "*" + } + }, + "@types/jest": { + "version": "29.5.5", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.5.tgz", + "integrity": "sha512-ebylz2hnsWR9mYvmBFbXJXr+33UPc4+ZdxyDXh5w0FlPBTfCVN3wPL+kuOiQt3xvrK419v7XWeAs+AeOksafXg==", + "requires": { + "expect": "^29.0.0", + "pretty-format": "^29.0.0" + } + }, + "@types/json-schema": { + "version": "7.0.13", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.13.tgz", + "integrity": "sha512-RbSSoHliUbnXj3ny0CNFOoxrIDV6SUGyStHsvDqosw6CkdPV8TtWGlfecuK4ToyMEAql6pzNxgCFKanovUzlgQ==" + }, + "@types/jsonfile": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/@types/jsonfile/-/jsonfile-6.1.2.tgz", + "integrity": "sha512-8t92P+oeW4d/CRQfJaSqEwXujrhH4OEeHRjGU3v1Q8mUS8GPF3yiX26sw4svv6faL2HfBtGTe2xWIoVgN3dy9w==", + "requires": { + "@types/node": "*" + } + }, + "@types/lodash": { + "version": "4.14.199", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.199.tgz", + "integrity": "sha512-Vrjz5N5Ia4SEzWWgIVwnHNEnb1UE1XMkvY5DGXrAeOGE9imk0hgTHh5GyDjLDJi9OTCn9oo9dXH1uToK1VRfrg==" + }, + "@types/luxon": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/@types/luxon/-/luxon-3.3.2.tgz", + "integrity": "sha512-l5cpE57br4BIjK+9BSkFBOsWtwv6J9bJpC7gdXIzZyI0vuKvNTk0wZZrkQxMGsUAuGW9+WMNWF2IJMD7br2yeQ==" + }, + "@types/node": { + "version": "20.8.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.2.tgz", + "integrity": "sha512-Vvycsc9FQdwhxE3y3DzeIxuEJbWGDsnrxvMADzTDF/lcdR9/K+AQIeAghTQsHtotg/q0j3WEOYS/jQgSdWue3w==" + }, + "@types/semver": { + "version": "7.5.3", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.3.tgz", + "integrity": "sha512-OxepLK9EuNEIPxWNME+C6WwbRAOOI2o2BaQEGzz5Lu2e4Z5eDnEo+/aVEDMIXywoJitJ7xWd641wrGLZdtwRyw==" + }, + "@types/stack-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", + "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==" + }, + "@types/yargs": { + "version": "17.0.26", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.26.tgz", + "integrity": "sha512-Y3vDy2X6zw/ZCumcwLpdhM5L7jmyGpmBCTYMHDLqT2IKVMYRRLdv6ZakA+wxhra6Z/3bwhNbNl9bDGXaFU+6rw==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "@types/yargs-parser": { + "version": "21.0.1", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.1.tgz", + "integrity": "sha512-axdPBuLuEJt0c4yI5OZssC19K2Mq1uKdrfZBzuxLvaztgqUtFYZUNw7lETExPYJR9jdEoIg4mb7RQKRQzOkeGQ==" + }, + "@typescript-eslint/eslint-plugin": { + "version": "6.7.4", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.7.4.tgz", + "integrity": "sha512-DAbgDXwtX+pDkAHwiGhqP3zWUGpW49B7eqmgpPtg+BKJXwdct79ut9+ifqOFPJGClGKSHXn2PTBatCnldJRUoA==", + "requires": { + "@eslint-community/regexpp": "^4.5.1", + "@typescript-eslint/scope-manager": "6.7.4", + "@typescript-eslint/type-utils": "6.7.4", + "@typescript-eslint/utils": "6.7.4", + "@typescript-eslint/visitor-keys": "6.7.4", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.4", + "natural-compare": "^1.4.0", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } + } + }, + "@typescript-eslint/parser": { + "version": "6.7.4", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.7.4.tgz", + "integrity": "sha512-I5zVZFY+cw4IMZUeNCU7Sh2PO5O57F7Lr0uyhgCJmhN/BuTlnc55KxPonR4+EM3GBdfiCyGZye6DgMjtubQkmA==", + "peer": true, + "requires": { + "@typescript-eslint/scope-manager": "6.7.4", + "@typescript-eslint/types": "6.7.4", + "@typescript-eslint/typescript-estree": "6.7.4", + "@typescript-eslint/visitor-keys": "6.7.4", + "debug": "^4.3.4" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "peer": true, + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "peer": true + } + } + }, + "@typescript-eslint/scope-manager": { + "version": "6.7.4", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.7.4.tgz", + "integrity": "sha512-SdGqSLUPTXAXi7c3Ob7peAGVnmMoGzZ361VswK2Mqf8UOYcODiYvs8rs5ILqEdfvX1lE7wEZbLyELCW+Yrql1A==", + "requires": { + "@typescript-eslint/types": "6.7.4", + "@typescript-eslint/visitor-keys": "6.7.4" + } + }, + "@typescript-eslint/type-utils": { + "version": "6.7.4", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.7.4.tgz", + "integrity": "sha512-n+g3zi1QzpcAdHFP9KQF+rEFxMb2KxtnJGID3teA/nxKHOVi3ylKovaqEzGBbVY2pBttU6z85gp0D00ufLzViQ==", + "requires": { + "@typescript-eslint/typescript-estree": "6.7.4", + "@typescript-eslint/utils": "6.7.4", + "debug": "^4.3.4", + "ts-api-utils": "^1.0.1" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } + } + }, + "@typescript-eslint/types": { + "version": "6.7.4", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.7.4.tgz", + "integrity": "sha512-o9XWK2FLW6eSS/0r/tgjAGsYasLAnOWg7hvZ/dGYSSNjCh+49k5ocPN8OmG5aZcSJ8pclSOyVKP2x03Sj+RrCA==" + }, + "@typescript-eslint/typescript-estree": { + "version": "6.7.4", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.7.4.tgz", + "integrity": "sha512-ty8b5qHKatlNYd9vmpHooQz3Vki3gG+3PchmtsA4TgrZBKWHNjWfkQid7K7xQogBqqc7/BhGazxMD5vr6Ha+iQ==", + "requires": { + "@typescript-eslint/types": "6.7.4", + "@typescript-eslint/visitor-keys": "6.7.4", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } + } + }, + "@typescript-eslint/utils": { + "version": "6.7.4", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.7.4.tgz", + "integrity": "sha512-PRQAs+HUn85Qdk+khAxsVV+oULy3VkbH3hQ8hxLRJXWBEd7iI+GbQxH5SEUSH7kbEoTp6oT1bOwyga24ELALTA==", + "requires": { + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.12", + "@types/semver": "^7.5.0", + "@typescript-eslint/scope-manager": "6.7.4", + "@typescript-eslint/types": "6.7.4", + "@typescript-eslint/typescript-estree": "6.7.4", + "semver": "^7.5.4" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "6.7.4", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.7.4.tgz", + "integrity": "sha512-pOW37DUhlTZbvph50x5zZCkFn3xzwkGtNoJHzIM3svpiSkJzwOYr/kVBaXmf+RAQiUDs1AHEZVNPg6UJCJpwRA==", + "requires": { + "@typescript-eslint/types": "6.7.4", + "eslint-visitor-keys": "^3.4.1" + } + }, + "acorn": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==" + }, + "acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "requires": {} + }, + "acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==" + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "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" + } + }, + "ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "requires": { + "type-fest": "^0.21.3" + }, + "dependencies": { + "type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==" + } + } }, "ansi-regex": { "version": "5.0.1", @@ -3390,36 +7606,112 @@ "color-convert": "^2.0.1" } }, - "any-promise": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", - "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=" - }, - "arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=" - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - }, - "autocrop-js": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/autocrop-js/-/autocrop-js-0.2.0.tgz", - "integrity": "sha512-ocGuyZz/3X9GeR0cdXmZF+5JWx96P7wJnEkOjqIYJ92itp8qHPbvyCTkK0lthWBxux8xyG8xgKpSMV0Wfb+d3A==", + "anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "requires": { - "image-js": "^0.35.2", - "lodash": "^4.17.21" + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" } }, - "axios": { - "version": "0.25.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.25.0.tgz", - "integrity": "sha512-cD8FOb0tRH3uuEe6+evtAbgJtfxr7ly3fQjYcMcuPlgkwVS9xboaVIpcDV+cYQe+yGykgwZCs1pzjntcGa6l5g==", + "arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" + }, + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + }, + "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==" + }, + "babel-jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", + "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==", "requires": { - "follow-redirects": "^1.14.7" + "@jest/transform": "^29.7.0", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.6.3", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + } + }, + "babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + }, + "dependencies": { + "istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "requires": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + } + }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" + } + } + }, + "babel-plugin-jest-hoist": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", + "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", + "requires": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + } + }, + "babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "requires": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" + } + }, + "babel-preset-jest": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", + "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", + "requires": { + "babel-plugin-jest-hoist": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0" } }, "balanced-match": { @@ -3427,53 +7719,16 @@ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - }, "before-after-hook": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz", "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==" }, - "bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "requires": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "blob-util": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/blob-util/-/blob-util-2.0.2.tgz", - "integrity": "sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==" - }, "bluebird": { "version": "3.7.2", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" }, - "boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" - }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -3483,13 +7738,39 @@ "concat-map": "0.0.1" } }, - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" + "fill-range": "^7.0.1" + } + }, + "browserslist": { + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz", + "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==", + "requires": { + "caniuse-lite": "^1.0.30001541", + "electron-to-chromium": "^1.4.535", + "node-releases": "^2.0.13", + "update-browserslist-db": "^1.0.13" + } + }, + "bs-logger": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", + "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", + "requires": { + "fast-json-stable-stringify": "2.x" + } + }, + "bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "requires": { + "node-int64": "^0.4.0" } }, "buffer-from": { @@ -3497,33 +7778,15 @@ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" }, - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" }, - "camelcase-keys": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-7.0.2.tgz", - "integrity": "sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg==", - "requires": { - "camelcase": "^6.3.0", - "map-obj": "^4.1.0", - "quick-lru": "^5.1.1", - "type-fest": "^1.2.1" - }, - "dependencies": { - "camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==" - } - } - }, - "canny-edge-detector": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/canny-edge-detector/-/canny-edge-detector-1.0.0.tgz", - "integrity": "sha512-SpewmkHDE1PbJ1/AVAcpvZKOufYpUXT0euMvhb5C4Q83Q9XEOmSXC+yR7jl3F4Ae1Ev6OtQKbFgdcPrOdHjzQg==" + "caniuse-lite": { + "version": "1.0.30001546", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001546.tgz", + "integrity": "sha512-zvtSJwuQFpewSyRrI3AsftF6rM0X80mZkChIt1spBGEvRglCrjTniXvinc8JKRoqTwXAgvqTImaN9igfSMtUBw==" }, "chalk": { "version": "4.1.2", @@ -3534,63 +7797,30 @@ "supports-color": "^7.1.0" } }, - "cheerio": { - "version": "1.0.0-rc.10", - "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.10.tgz", - "integrity": "sha512-g0J0q/O6mW8z5zxQ3A8E8J1hUgp4SMOvEoW/x84OwyHKe/Zccz83PVT4y5Crcr530FV6NgmKI1qvGTKVl9XXVw==", - "requires": { - "cheerio-select": "^1.5.0", - "dom-serializer": "^1.3.2", - "domhandler": "^4.2.0", - "htmlparser2": "^6.1.0", - "parse5": "^6.0.1", - "parse5-htmlparser2-tree-adapter": "^6.0.1", - "tslib": "^2.2.0" - } + "char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==" }, - "cheerio-select": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-1.5.0.tgz", - "integrity": "sha512-qocaHPv5ypefh6YNxvnbABM07KMxExbtbfuJoIie3iZXX1ERwYmJcIiRrr9H05ucQP1k28dav8rpdDgjQd8drg==", - "requires": { - "css-select": "^4.1.3", - "css-what": "^5.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0", - "domutils": "^2.7.0" - } + "ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==" }, - "chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" + "cjs-module-lexer": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", + "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==" }, - "cli-progress": { - "version": "3.11.2", - "resolved": "https://registry.npmjs.org/cli-progress/-/cli-progress-3.11.2.tgz", - "integrity": "sha512-lCPoS6ncgX4+rJu5bS3F/iCz17kZ9MPZ6dpuTtI0KXKABkhyXIdYB3Inby1OpaGti3YlI3EeEkM9AuWpelJrVA==", - "requires": { - "string-width": "^4.2.3" - } + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==" }, - "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "color": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", - "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", - "requires": { - "color-convert": "^2.0.1", - "color-string": "^1.9.0" - } + "collect-v8-coverage": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", + "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==" }, "color-convert": { "version": "2.0.1", @@ -3605,23 +7835,6 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, - "color-string": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", - "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", - "requires": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" - } - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "requires": { - "delayed-stream": "~1.0.0" - } - }, "commander": { "version": "9.0.0", "resolved": "https://registry.npmjs.org/commander/-/commander-9.0.0.tgz", @@ -3643,27 +7856,34 @@ "typedarray": "^0.0.6" } }, + "convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" + }, "core-util-is": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" }, - "crlf": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/crlf/-/crlf-1.1.1.tgz", - "integrity": "sha1-JBcoQbTINSmmqkSJ337tlYsu0W8=", + "create-jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", + "integrity": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==", "requires": { - "glub": "^1.0.0", - "transform-file": "^1.0.1" + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "prompts": "^2.0.1" } }, - "cross-fetch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", - "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", - "requires": { - "node-fetch": "2.6.7" - } + "create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==" }, "cross-spawn": { "version": "5.1.0", @@ -3675,28 +7895,6 @@ "which": "^1.2.9" } }, - "crypto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/crypto/-/crypto-1.0.1.tgz", - "integrity": "sha512-VxBKmeNcqQdiUQUW2Tzq0t377b54N2bMtXO/qiLa+6eRRmmC4qT3D4OnTGoT/U6O9aklQ/jTwbOtRMTTY8G0Ig==" - }, - "css-select": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.2.1.tgz", - "integrity": "sha512-/aUslKhzkTNCQUB2qTX84lVmfia9NyjP3WpDGtj/WxhwBzWBYUV3DgUpurHTme8UTPcPlAD1DJ+b0nN/t50zDQ==", - "requires": { - "boolbase": "^1.0.0", - "css-what": "^5.1.0", - "domhandler": "^4.3.0", - "domutils": "^2.8.0", - "nth-check": "^2.0.1" - } - }, - "css-what": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.1.0.tgz", - "integrity": "sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw==" - }, "csvtojson": { "version": "2.0.10", "resolved": "https://registry.npmjs.org/csvtojson/-/csvtojson-2.0.10.tgz", @@ -3707,124 +7905,78 @@ "strip-bom": "^2.0.0" } }, - "dayjs": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.0.tgz", - "integrity": "sha512-JLC809s6Y948/FuCZPm5IX8rRhQwOiyMb2TfVVQEixG7P8Lm/gt5S7yoQZmC8x1UehI9Pb7sksEt4xx14m+7Ug==" + "dedent": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz", + "integrity": "sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==", + "requires": {} }, - "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "requires": { - "ms": "^2.1.1" - } + "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==" }, - "decamelize": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-5.0.1.tgz", - "integrity": "sha512-VfxadyCECXgQlkoEAjeghAr5gY3Hf+IKjKb+X8tGVDtveCjN+USwprd2q3QXBR9T1+x2DG0XZF5/w+7HAtSaXA==" - }, - "decamelize-keys": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz", - "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=", - "requires": { - "decamelize": "^1.1.0", - "map-obj": "^1.0.0" - }, - "dependencies": { - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" - }, - "map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=" - } - } - }, - "decompress-response": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", - "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", - "requires": { - "mimic-response": "^3.1.0" - } - }, - "deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" + "deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==" }, "deprecation": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==" }, - "detect-libc": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz", - "integrity": "sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==" + "detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==" }, - "dom-serializer": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", - "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", + "diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==" + }, + "diff-sequences": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==" + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" + "path-type": "^4.0.0" } }, - "domelementtype": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", - "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==" - }, - "domhandler": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.0.tgz", - "integrity": "sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g==", + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "requires": { - "domelementtype": "^2.2.0" + "esutils": "^2.0.2" } }, - "domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", - "requires": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - } + "eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" + }, + "electron-to-chromium": { + "version": "1.4.543", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.543.tgz", + "integrity": "sha512-t2ZP4AcGE0iKCCQCBx/K2426crYdxD3YU6l0uK2EO3FZH0pbC4pFz/sZm2ruZsND6hQBTcDWWlo/MLpiOdif5g==" + }, + "emittery": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==" }, "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==" }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "requires": { - "once": "^1.4.0" - } - }, - "entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" - }, "error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", @@ -3843,62 +7995,326 @@ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" }, - "expand-template": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", - "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==" - }, - "fast-bmp": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-bmp/-/fast-bmp-2.0.1.tgz", - "integrity": "sha512-MOSG2rHYJCjIfL3/Llseuj39yl5U3d3XLtWFLFm5ZSTublGEXyvNcwi4Npyv6nzDPRSbAP53rvVRUswgftWCcQ==", + "eslint": { + "version": "8.50.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.50.0.tgz", + "integrity": "sha512-FOnOGSuFuFLv/Sa+FDVRZl4GGVAAFFi8LecRsI5a1tMO5HIE8nCm4ivAlzt4dT3ol/PaaGC0rJEEXQmHJBGoOg==", "requires": { - "iobuffer": "^5.1.0" - } - }, - "fast-jpeg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/fast-jpeg/-/fast-jpeg-1.0.1.tgz", - "integrity": "sha512-nyoYDzmdxgLOBfEhJGwYRsRLqGKziG/wic0SMct17dTVHkseTPvNwHCfihE47tcpGA1cTJO2MNsYYHezmkuA6w==", - "requires": { - "iobuffer": "^2.1.0", - "tiff": "^2.0.0" + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.2", + "@eslint/js": "8.50.0", + "@humanwhocodes/config-array": "^0.11.11", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" }, "dependencies": { - "iobuffer": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/iobuffer/-/iobuffer-2.1.0.tgz", - "integrity": "sha512-0XZfU0STJ6NVHBZdMRPjF7jtkDEC5f4AxM/n5DSZOu11SQ+7tAl1csuEnEPoSPYWdaGZ/HOfn5Q837IEHddL2w==" - }, - "tiff": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tiff/-/tiff-2.1.0.tgz", - "integrity": "sha512-Q4zLT4+Csn/ZhFVacYCAl+w/1J51NW/m2y2yx7Qxp/bsHYOEsK7+5JOID2kfk+EvsaF0LbA6ccAkqiuXOmAbYw==", + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "requires": { - "iobuffer": "^2.1.0" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "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==" + }, + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "requires": { + "p-locate": "^5.0.0" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "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==" + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "requires": { + "p-limit": "^3.0.2" + } + }, + "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==" + }, + "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==", + "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==" + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "requires": { + "isexe": "^2.0.0" } } } }, - "fast-list": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/fast-list/-/fast-list-1.0.3.tgz", - "integrity": "sha512-Lm56Ci3EqefHNdIneRFuzhpPcpVVBz9fgqVmG3UQIxAefJv1mEYsZ1WQLTWqmdqeGEwbI2t6fbZgp9TqTYARuA==" + "eslint-config-prettier": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.0.0.tgz", + "integrity": "sha512-IcJsTkJae2S35pRsRAwoCE+925rJJStOdkKnLVgtE+tEpqU0EVVM7OqrwxqgptKdX29NUwC82I5pXsGFIgSevw==", + "requires": {} }, - "fast-png": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/fast-png/-/fast-png-6.1.0.tgz", - "integrity": "sha512-v8e/40RKZbE1mALigoqBOkYnemCVSMmVlGSz8fawZAZg5UQ9OZeR00L++CPvrhIGm2F6TxV5u9lbWD0oOJHcCw==", + "eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", "requires": { - "@types/pako": "^1.0.2", - "iobuffer": "^5.0.4", - "pako": "^2.0.4" + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" } }, - "fft.js": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/fft.js/-/fft.js-4.0.4.tgz", - "integrity": "sha512-f9c00hphOgeQTlDyavwTtu6RiK8AIFjD6+jvXkNkpeQ7rirK3uFWVpalkoS4LAwbdX7mfZ8aoBfFVQX1Re/8aw==" + "eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==" + }, + "espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "requires": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + }, + "esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "requires": { + "estraverse": "^5.1.0" + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "requires": { + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" + }, + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "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" + }, + "dependencies": { + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "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==", + "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==" + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==" + }, + "expect": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", + "requires": { + "@jest/expect-utils": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.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==" + }, + "fast-glob": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "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" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "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==" + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" + }, + "fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "requires": { + "reusify": "^1.0.4" + } + }, + "fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "requires": { + "bser": "2.1.1" + } }, "figures": { "version": "2.0.0", @@ -3908,10 +8324,21 @@ "escape-string-regexp": "^1.0.5" } }, - "file-type": { - "version": "10.11.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-10.11.0.tgz", - "integrity": "sha512-uzk64HRpUZyTGZtVuvrjP0FYxzQrBf4rojot6J65YMEbwBLB0CWm0CLojVpwpmFmxcE/lkvYICgfcGozbBq6rw==" + "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==", + "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==", + "requires": { + "to-regex-range": "^5.0.1" + } }, "find-up": { "version": "2.1.0", @@ -3921,45 +8348,113 @@ "locate-path": "^2.0.0" } }, - "follow-redirects": { - "version": "1.14.8", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.8.tgz", - "integrity": "sha512-1x0S9UVJHsQprFcEC/qnNzBLcIxsjAV905f/UkQxbclCsoTWlacCNOpQa/anodLl2uaEKFhfWOvM2Qg77+15zA==" - }, - "form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "flat-cache": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.0.tgz", + "integrity": "sha512-OHx4Qwrrt0E4jEIcI5/Xb+f+QmJYNj2rrK8wiIdQOIrB9WrrJL8cjZvXdXuBTkkEwEqLycb5BeZDV1o2i9bTew==", "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" + "flatted": "^3.2.7", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" } }, - "fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" + "flatted": { + "version": "3.2.9", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", + "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==" + }, + "foreground-child": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "requires": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "dependencies": { + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "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==", + "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==" + }, + "signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==" + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "fs-extra": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz", + "integrity": "sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==", + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } }, "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, + "fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "optional": true + }, "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, + "gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==" + }, "get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" }, - "github-from-package": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", - "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==" + "get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==" + }, + "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==" }, "glob": { "version": "7.2.0", @@ -3974,38 +8469,51 @@ "path-is-absolute": "^1.0.0" } }, - "glub": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/glub/-/glub-1.0.3.tgz", - "integrity": "sha1-VsFkMpiuJQZcYxUAMze7pp0vuGY=", + "glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "requires": { - "glob": "^5.0.5", - "minimist": "^1.1.1" + "is-glob": "^4.0.3" + } + }, + "globals": { + "version": "13.23.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", + "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", + "requires": { + "type-fest": "^0.20.2" }, "dependencies": { - "glob": { - "version": "5.0.15", - "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", - "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", - "requires": { - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "2 || 3", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } + "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==" } } }, + "globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + } + }, "graceful-fs": { "version": "4.2.9", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==" }, - "hard-rejection": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", - "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==" + "graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==" }, "has": { "version": "1.0.3", @@ -4020,107 +8528,43 @@ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, - "has-own": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-own/-/has-own-1.0.1.tgz", - "integrity": "sha512-RDKhzgQTQfMaLvIFhjahU+2gGnRBK6dYOd5Gd9BzkmnBneOCRYjRC003RIMrdAbH52+l+CnMS4bBCXGer8tEhg==" + "html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==" }, - "hosted-git-info": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", - "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "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==" + }, + "ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==" + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "requires": { - "lru-cache": "^6.0.0" - }, - "dependencies": { - "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==", - "requires": { - "yallist": "^4.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - } + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" } }, - "htmlparser2": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", - "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.0.0", - "domutils": "^2.5.2", - "entities": "^2.0.0" + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" } }, - "hyntax": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/hyntax/-/hyntax-1.1.9.tgz", - "integrity": "sha512-xjxyDLbVDdLgjPnl4NM+Iu6il3UPmk6PNCBXruQKeuKDc/HtaZx1hk1AtMgw3vsn9YnLZRfoBpPxYMXcoT5KAA==" - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" - }, - "image-js": { - "version": "0.35.2", - "resolved": "https://registry.npmjs.org/image-js/-/image-js-0.35.2.tgz", - "integrity": "sha512-dAv1B/ezSsaXZMzEZtSm4NYna200TTIU+1/DWrsmZkEqPwY+OZ0+yHW/VI18mYxZ6r4e9UEzjUOat7F8rVS1zw==", - "requires": { - "@swiftcarrot/color-fns": "^3.2.0", - "blob-util": "^2.0.2", - "canny-edge-detector": "^1.0.0", - "fast-bmp": "^2.0.1", - "fast-jpeg": "^1.0.1", - "fast-list": "^1.0.3", - "fast-png": "^6.1.0", - "has-own": "^1.0.1", - "image-type": "^4.1.0", - "is-array-type": "^1.0.0", - "is-integer": "^1.0.7", - "jpeg-js": "^0.4.3", - "js-priority-queue": "^0.1.5", - "js-quantities": "^1.7.6", - "median-quickselect": "^1.0.1", - "ml-convolution": "0.2.0", - "ml-disjoint-set": "^1.0.0", - "ml-matrix": "^6.8.0", - "ml-matrix-convolution": "0.4.3", - "ml-regression": "^5.0.0", - "monotone-chain-convex-hull": "^1.0.0", - "new-array": "^1.0.0", - "robust-point-in-polygon": "^1.0.3", - "tiff": "^5.0.2", - "web-worker-manager": "^0.2.0" - } - }, - "image-type": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/image-type/-/image-type-4.1.0.tgz", - "integrity": "sha512-CFJMJ8QK8lJvRlTCEgarL4ro6hfDQKif2HjSvYCdQZESaIPV4v9imrf7BQHK+sQeTeNeMpWciR9hyC/g8ybXEg==", - "requires": { - "file-type": "^10.10.0" - } - }, - "indent-string": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", - "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==" + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==" }, "inflight": { "version": "1.0.6", @@ -4131,80 +8575,67 @@ "wrappy": "1" } }, - "infobox-parser": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/infobox-parser/-/infobox-parser-3.6.2.tgz", - "integrity": "sha512-lasdwvbtjCtDDO6mArAs/ueFEnBJRyo2UbZPAkd5rEG5NVJ3XFCOvbMwNTT/rJlFv1+ORw8D3UvZV4brpgATCg==", - "requires": { - "camelcase": "^4.1.0" - } - }, "inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, - "ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" - }, - "iobuffer": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/iobuffer/-/iobuffer-5.3.1.tgz", - "integrity": "sha512-5mY3jSgwxNH+rsogUXvZYfJtb4glKJJWYnJM+hpd3r7VcwfVbeMrovv0+XQirmIO8JiNw48Ll/CB5fa2SlJIsw==" - }, - "is-any-array": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-any-array/-/is-any-array-2.0.0.tgz", - "integrity": "sha512-WdPV58rT3aOWXvvyuBydnCq4S2BM1Yz8shKxlEpk/6x+GX202XRvXOycEFtNgnHVLoc46hpexPFx8Pz1/sMS0w==" - }, - "is-array-type": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-array-type/-/is-array-type-1.0.0.tgz", - "integrity": "sha512-LLwKQdMAO/XUkq4XTed1VYqwR2OahiwkBg+yUtZT88LXX4MLXP28qGsVfSNVP8X0wc7fzDhcZD3nns/IK8UfKw==" - }, "is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" }, "is-core-module": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", - "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", + "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", "requires": { "has": "^1.0.3" } }, - "is-finite": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", - "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==" + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" }, "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==" }, - "is-integer": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-integer/-/is-integer-1.0.7.tgz", - "integrity": "sha512-RPQc/s9yBHSvpi+hs9dYiJ2cuFeU6x3TyyIp8O2H6SKEltIvJOzRj9ToyvcStDvPR/pS4rxgr1oBFajQjZ2Szg==", + "is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==" + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "requires": { - "is-finite": "^1.0.0" + "is-extglob": "^2.1.1" } }, - "is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=" + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==" }, "is-plain-object": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==" }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==" + }, "is-utf8": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", @@ -4220,18 +8651,558 @@ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" }, - "iso-639-2": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/iso-639-2/-/iso-639-2-3.0.1.tgz", - "integrity": "sha512-omCuNX+RY3qK0WuIUZXn3nY/Oq9x1OHaobVi8eJJNmHW3PQOHkJ0bXSIvKVeX+VzexGO5fxDH9feuDs2H3NPiQ==" + "istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==" }, - "isomorphic-unfetch": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/isomorphic-unfetch/-/isomorphic-unfetch-3.1.0.tgz", - "integrity": "sha512-geDJjpoZ8N0kWexiwkX8F9NkTsXhetLPVbZFQ+JTW239QNOwvB0gniuR1Wc6f0AMTn7/mFGyXvHTifrCp/GH8Q==", + "istanbul-lib-instrument": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.1.tgz", + "integrity": "sha512-EAMEJBsYuyyztxMxW3g7ugGPkrZsV57v0Hmv3mm1uQsmB+QnZuepg731CRaIgeUVSdmsTngOkSnauNF8p7FIhA==", "requires": { - "node-fetch": "^2.6.1", - "unfetch": "^4.2.0" + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^7.5.4" + } + }, + "istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "requires": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + } + }, + "istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "requires": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } + } + }, + "istanbul-reports": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz", + "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==", + "requires": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + } + }, + "jackspeak": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", + "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", + "requires": { + "@isaacs/cliui": "^8.0.2", + "@pkgjs/parseargs": "^0.11.0" + } + }, + "jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz", + "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==", + "requires": { + "@jest/core": "^29.7.0", + "@jest/types": "^29.6.3", + "import-local": "^3.0.2", + "jest-cli": "^29.7.0" + } + }, + "jest-changed-files": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz", + "integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==", + "requires": { + "execa": "^5.0.0", + "jest-util": "^29.7.0", + "p-limit": "^3.1.0" + }, + "dependencies": { + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "requires": { + "yocto-queue": "^0.1.0" + } + } + } + }, + "jest-circus": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz", + "integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==", + "requires": { + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^1.0.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^29.7.0", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "p-limit": "^3.1.0", + "pretty-format": "^29.7.0", + "pure-rand": "^6.0.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "dependencies": { + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "requires": { + "yocto-queue": "^0.1.0" + } + } + } + }, + "jest-cli": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz", + "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==", + "requires": { + "@jest/core": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "create-jest": "^29.7.0", + "exit": "^0.1.2", + "import-local": "^3.0.2", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "yargs": "^17.3.1" + }, + "dependencies": { + "cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + } + }, + "yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "requires": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + } + }, + "yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==" + } + } + }, + "jest-config": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz", + "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==", + "requires": { + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-jest": "^29.7.0", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-circus": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "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==" + } + } + }, + "jest-diff": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", + "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^29.6.3", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + } + }, + "jest-docblock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz", + "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==", + "requires": { + "detect-newline": "^3.0.0" + } + }, + "jest-each": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz", + "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==", + "requires": { + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "jest-util": "^29.7.0", + "pretty-format": "^29.7.0" + } + }, + "jest-environment-node": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", + "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", + "requires": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + } + }, + "jest-get-type": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", + "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==" + }, + "jest-haste-map": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", + "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", + "requires": { + "@jest/types": "^29.6.3", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.3.2", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + } + }, + "jest-leak-detector": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz", + "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==", + "requires": { + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + } + }, + "jest-matcher-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", + "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", + "requires": { + "chalk": "^4.0.0", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + } + }, + "jest-message-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", + "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.6.3", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + } + }, + "jest-mock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", + "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", + "requires": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-util": "^29.7.0" + } + }, + "jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "requires": {} + }, + "jest-regex-util": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", + "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==" + }, + "jest-resolve": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz", + "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==", + "requires": { + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "resolve": "^1.20.0", + "resolve.exports": "^2.0.0", + "slash": "^3.0.0" + } + }, + "jest-resolve-dependencies": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz", + "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==", + "requires": { + "jest-regex-util": "^29.6.3", + "jest-snapshot": "^29.7.0" + } + }, + "jest-runner": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz", + "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==", + "requires": { + "@jest/console": "^29.7.0", + "@jest/environment": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-leak-detector": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-resolve": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-util": "^29.7.0", + "jest-watcher": "^29.7.0", + "jest-worker": "^29.7.0", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" + }, + "dependencies": { + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "requires": { + "yocto-queue": "^0.1.0" + } + } + } + }, + "jest-runtime": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz", + "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==", + "requires": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/globals": "^29.7.0", + "@jest/source-map": "^29.6.3", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "dependencies": { + "strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==" + } + } + }, + "jest-snapshot": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", + "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==", + "requires": { + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "natural-compare": "^1.4.0", + "pretty-format": "^29.7.0", + "semver": "^7.5.3" + } + }, + "jest-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", + "requires": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, + "jest-validate": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", + "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", + "requires": { + "@jest/types": "^29.6.3", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "leven": "^3.1.0", + "pretty-format": "^29.7.0" + }, + "dependencies": { + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==" + } + } + }, + "jest-watcher": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz", + "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==", + "requires": { + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "jest-util": "^29.7.0", + "string-length": "^4.0.1" + } + }, + "jest-worker": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", + "requires": { + "@types/node": "*", + "jest-util": "^29.7.0", + "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==", + "requires": { + "has-flag": "^4.0.0" + } + } } }, "joi": { @@ -4246,30 +9217,28 @@ "@sideway/pinpoint": "^2.0.0" } }, - "jpeg-js": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.4.4.tgz", - "integrity": "sha512-WZzeDOEtTOBK4Mdsar0IqEU5sMr3vSV2RqkAIzUEV2BHnUfKGyswWFPFwK5EeDo93K3FohSHbLAjj0s1Wzd+dg==" - }, - "js-priority-queue": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/js-priority-queue/-/js-priority-queue-0.1.5.tgz", - "integrity": "sha512-2dPmJT4GbXUpob7AZDR1wFMKz3Biy6oW69mwt5PTtdeoOgDin1i0p5gUV9k0LFeUxDpwkfr+JGMZDpcprjiY5w==" - }, - "js-quantities": { - "version": "1.7.6", - "resolved": "https://registry.npmjs.org/js-quantities/-/js-quantities-1.7.6.tgz", - "integrity": "sha512-h6TH1xK1u/zdjD26M6kKVthZONJSDTIRzrohbqOILfJAyanWHGlJLWuAWkSMtqi8k/IxshStsc97Pkf8SL9yvA==" - }, "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, - "jshashes": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/jshashes/-/jshashes-1.0.8.tgz", - "integrity": "sha512-btmQZ/w1rj8Lb6nEwvhjM7nBYoj54yaEFo2PWh3RkxZ8qNwuvOxvQYN/JxVuwoMmdIluL+XwYVJ+pEEZoSYybQ==" + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "requires": { + "argparse": "^2.0.1" + } + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" + }, + "json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" }, "json-parse-better-errors": { "version": "1.0.2", @@ -4281,32 +9250,56 @@ "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" }, - "json2csv": { - "version": "6.0.0-alpha.0", - "resolved": "https://registry.npmjs.org/json2csv/-/json2csv-6.0.0-alpha.0.tgz", - "integrity": "sha512-Sc7Maca9abvW0eiiwTR/TsR45I9CAAtXNSu2hUa6WnuHDB6gG0hwHVYXeIyVO+0CBoBFy70Mm3afFE+OyJIrIA==", + "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==" + }, + "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": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==" + }, + "json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==" + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "requires": { - "commander": "^6.2.0", - "jsonparse": "^1.3.1", - "lodash.get": "^4.4.2" - }, - "dependencies": { - "commander": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", - "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==" - } + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" } }, - "jsonparse": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=" + "keyv": { + "version": "4.5.3", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.3.tgz", + "integrity": "sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==", + "requires": { + "json-buffer": "3.0.1" + } }, - "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==" + "kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==" + }, + "leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==" + }, + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } }, "lines-and-columns": { "version": "1.2.4", @@ -4350,6 +9343,11 @@ "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=" }, + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==" + }, "lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", @@ -4364,57 +9362,55 @@ "yallist": "^2.1.2" } }, - "map-obj": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", - "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==" + "luxon": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.4.3.tgz", + "integrity": "sha512-tFWBiv3h7z+T/tDaoxA8rqTxy1CHV6gHS//QdaH4pulbq/JuBSGgQspQQqcgnwdAx6pNI7cmvz5Sv/addzHmUg==" }, - "median-quickselect": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/median-quickselect/-/median-quickselect-1.0.1.tgz", - "integrity": "sha512-/QL9ptNuLsdA68qO+2o10TKCyu621zwwTFdLvtu8rzRNKsn8zvuGoq/vDxECPyELFG8wu+BpyoMR9BnsJqfVZQ==" - }, - "meow": { - "version": "10.1.2", - "resolved": "https://registry.npmjs.org/meow/-/meow-10.1.2.tgz", - "integrity": "sha512-zbuAlN+V/sXlbGchNS9WTWjUzeamwMt/BApKCJi7B0QyZstZaMx0n4Unll/fg0njGtMdC9UP5SAscvOCLYdM+Q==", + "make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", "requires": { - "@types/minimist": "^1.2.2", - "camelcase-keys": "^7.0.0", - "decamelize": "^5.0.0", - "decamelize-keys": "^1.1.0", - "hard-rejection": "^2.1.0", - "minimist-options": "4.1.0", - "normalize-package-data": "^3.0.2", - "read-pkg-up": "^8.0.0", - "redent": "^4.0.0", - "trim-newlines": "^4.0.2", - "type-fest": "^1.2.2", - "yargs-parser": "^20.2.9" + "semver": "^7.5.3" } }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + "make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", "requires": { - "mime-db": "1.52.0" + "tmpl": "1.0.5" } }, - "mimic-response": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", - "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==" + "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==" }, - "min-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", - "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==" + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==" + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" }, "minimatch": { "version": "3.0.5", @@ -4424,291 +9420,25 @@ "brace-expansion": "^1.1.7" } }, - "minimist": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" - }, - "minimist-options": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", - "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", - "requires": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0", - "kind-of": "^6.0.3" - } - }, - "mkdirp-classic": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", - "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" - }, - "ml-array-max": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/ml-array-max/-/ml-array-max-1.2.4.tgz", - "integrity": "sha512-BlEeg80jI0tW6WaPyGxf5Sa4sqvcyY6lbSn5Vcv44lp1I2GR6AWojfUvLnGTNsIXrZ8uqWmo8VcG1WpkI2ONMQ==", - "requires": { - "is-any-array": "^2.0.0" - } - }, - "ml-array-median": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/ml-array-median/-/ml-array-median-1.1.6.tgz", - "integrity": "sha512-V6bV6bTPFRX8v5CaAx/7fuRXC39LLTHfPSVZZafdNaqNz2PFL5zEA7gesjv8dMXh+gwPeUMtB5QPovlTBaa4sw==", - "requires": { - "is-any-array": "^2.0.0", - "median-quickselect": "^1.0.1" - } - }, - "ml-array-min": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/ml-array-min/-/ml-array-min-1.2.3.tgz", - "integrity": "sha512-VcZ5f3VZ1iihtrGvgfh/q0XlMobG6GQ8FsNyQXD3T+IlstDv85g8kfV0xUG1QPRO/t21aukaJowDzMTc7j5V6Q==", - "requires": { - "is-any-array": "^2.0.0" - } - }, - "ml-array-rescale": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/ml-array-rescale/-/ml-array-rescale-1.3.7.tgz", - "integrity": "sha512-48NGChTouvEo9KBctDfHC3udWnQKNKEWN0ziELvY3KG25GR5cA8K8wNVzracsqSW1QEkAXjTNx+ycgAv06/1mQ==", - "requires": { - "is-any-array": "^2.0.0", - "ml-array-max": "^1.2.4", - "ml-array-min": "^1.2.3" - } - }, - "ml-convolution": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/ml-convolution/-/ml-convolution-0.2.0.tgz", - "integrity": "sha512-km5f81jFVnEWG0eFEKAwt00X3xGUIAcUqZZlUk+w0q2sZOz1vkEYhIKOXAlmaEi9rnrTknxW//Ttm399zPzDPg==", - "requires": { - "fft.js": "^4.0.3", - "next-power-of-two": "^1.0.0" - } - }, - "ml-disjoint-set": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/ml-disjoint-set/-/ml-disjoint-set-1.0.0.tgz", - "integrity": "sha512-UcEzgvRzVhsKpT66syfdhaK8R+av6GxDFmU37t+6WClT/kHDIN6OMRfO7OPwQIV8+L8FSc2E6lNKpvdqf6OgLw==" - }, - "ml-distance-euclidean": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ml-distance-euclidean/-/ml-distance-euclidean-2.0.0.tgz", - "integrity": "sha512-yC9/2o8QF0A3m/0IXqCTXCzz2pNEzvmcE/9HFKOZGnTjatvBbsn4lWYJkxENkA4Ug2fnYl7PXQxnPi21sgMy/Q==" - }, - "ml-fft": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/ml-fft/-/ml-fft-1.3.5.tgz", - "integrity": "sha512-laAATDyUuWPbIlX57thIds41wqFLsB+Zl7i1yrLRo/4CFg+hFaF9Xle8InblQseyiaVtt1KSlDG+6lgUMPOj3g==" - }, - "ml-kernel": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ml-kernel/-/ml-kernel-3.0.0.tgz", - "integrity": "sha512-R+ZR0Kl5xJ7vnxtlDqjZ26xVk7mAw7ctK4NlzRHviBFXxp7keC9+hWirMOdzi2DOQA0t6CaRwjElZ6SdirOmow==", - "requires": { - "ml-distance-euclidean": "^2.0.0", - "ml-kernel-gaussian": "^2.0.2", - "ml-kernel-polynomial": "^2.0.1", - "ml-kernel-sigmoid": "^1.0.1", - "ml-matrix": "^6.1.2" - } - }, - "ml-kernel-gaussian": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ml-kernel-gaussian/-/ml-kernel-gaussian-2.0.2.tgz", - "integrity": "sha512-5MBrH2g9MBO53I6mcyXvMhyOLsmO2w21+26A1ZV/vYoxqpsov2PWkT8bhdFCEe0kgDupmAb6u81iOID/rhnarA==", - "requires": { - "ml-distance-euclidean": "^2.0.0" - } - }, - "ml-kernel-polynomial": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ml-kernel-polynomial/-/ml-kernel-polynomial-2.0.1.tgz", - "integrity": "sha512-aGDNRPHDiKeJmBxB0L9wTxKNLfp5JytbdRIo5K+FTcmFjkWDe3YZPo6R6wBB5mxaJ5eqTRawzeV4RoIWHbakyQ==" - }, - "ml-kernel-sigmoid": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ml-kernel-sigmoid/-/ml-kernel-sigmoid-1.0.1.tgz", - "integrity": "sha512-mSbYOSbNQ7GsUAGrHuUHNsLgM3bZGpXkotw/FBdKZD9YMXfVOgQb1LvvvVeSlOR/ZdmX23qqaV0RnKSYWBF8og==" - }, - "ml-matrix": { - "version": "6.10.4", - "resolved": "https://registry.npmjs.org/ml-matrix/-/ml-matrix-6.10.4.tgz", - "integrity": "sha512-rUyEhfNPzqFsltYwvjNeYQXlYEaVea3KgzcJKJteQUj2WVAGFx9fLNRjtMR9mg2B6bd5buxlmkZmxM4hmO+SKg==", - "requires": { - "is-any-array": "^2.0.0", - "ml-array-rescale": "^1.3.7" - } - }, - "ml-matrix-convolution": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/ml-matrix-convolution/-/ml-matrix-convolution-0.4.3.tgz", - "integrity": "sha512-B4AATOjxDw4J0oVcoeYHsXrhMr31x9SWhVKZjWucDU+brwXLR0enMdqb1OuRy/REdpL5/iSshA46sS2B1dO2OQ==", - "requires": { - "ml-fft": "1.3.5", - "ml-stat": "^1.2.0" - } - }, - "ml-regression": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ml-regression/-/ml-regression-5.0.0.tgz", - "integrity": "sha512-mBn0LpfEWV3Dk0dj+8PRNUqIHvO87rUY0PmCUTYv3MKfECx7TtlKyeacJeOBLZ4YAVixX8U5hn4HwRL6TpTYaw==", - "requires": { - "ml-kernel": "^3.0.0", - "ml-matrix": "^6.1.2", - "ml-regression-base": "^2.0.1", - "ml-regression-exponential": "^2.0.0", - "ml-regression-multivariate-linear": "^2.0.2", - "ml-regression-polynomial": "^2.0.0", - "ml-regression-power": "^2.0.0", - "ml-regression-robust-polynomial": "^2.0.0", - "ml-regression-simple-linear": "^2.0.2", - "ml-regression-theil-sen": "^2.0.0" - } - }, - "ml-regression-base": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/ml-regression-base/-/ml-regression-base-2.1.6.tgz", - "integrity": "sha512-yTckvEc8szc6VrUTJSgAClShvCoPZdNt8pmyRe8aGsIWGjg6bYFotp9mDUwAB0snvKAbQWd6A4trL/PDCASLug==", - "requires": { - "is-any-array": "^2.0.0" - } - }, - "ml-regression-exponential": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ml-regression-exponential/-/ml-regression-exponential-2.1.0.tgz", - "integrity": "sha512-6ZgGbzIkXnONfGGUU0LjIb9qb35WzVqdAFSX8vFr8UEhgXhfgEws9pGrBJu19VBEh7ZTtttcPObI3aoBscq4Kg==", - "requires": { - "ml-regression-base": "^2.1.3", - "ml-regression-simple-linear": "^2.0.3" - } - }, - "ml-regression-multivariate-linear": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/ml-regression-multivariate-linear/-/ml-regression-multivariate-linear-2.0.4.tgz", - "integrity": "sha512-/vShPAlP+mB7P2mC5TuXwObSJNl/UBI71/bszt9ilTg6yLKy6btDLpAYyJNa6t+JnL5a7q+Yy4dCltfpvqXRIw==", - "requires": { - "ml-matrix": "^6.10.1" - } - }, - "ml-regression-polynomial": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/ml-regression-polynomial/-/ml-regression-polynomial-2.2.0.tgz", - "integrity": "sha512-WxFsEmi6oLxgq9TeaVoAA+vVUJFp1kGarX6WWClR8OmlanoIW5iLMnaeXfQcYuH8xNq4R1Cax2N9hYYmeWWkLg==", - "requires": { - "ml-matrix": "^6.8.0", - "ml-regression-base": "^2.1.3" - } - }, - "ml-regression-power": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ml-regression-power/-/ml-regression-power-2.0.0.tgz", - "integrity": "sha512-u8O9Fy45+OeYm/4ZBcNDn5w3w+MHc6kZz/AWSJIwmJcyjz6PRkTZnNfgGYdVKwKKDlAOS7G/AFvMKSTWRNO4RQ==", - "requires": { - "ml-regression-base": "^2.0.1", - "ml-regression-simple-linear": "^2.0.2" - } - }, - "ml-regression-robust-polynomial": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ml-regression-robust-polynomial/-/ml-regression-robust-polynomial-2.0.1.tgz", - "integrity": "sha512-WkxA224Cil1G3Ug/T1O8H/2IDADlca21oC5WDplcM+gQRTqtueT/Su4ubH70tG6s79XHM046HfO8xQSpDQxqqg==", - "requires": { - "ml-matrix": "^6.8.0", - "ml-regression-base": "^2.1.3" - } - }, - "ml-regression-simple-linear": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/ml-regression-simple-linear/-/ml-regression-simple-linear-2.0.3.tgz", - "integrity": "sha512-xcLviI0Gqs0TXE5+QsPLbJm372RyZsX6xmsufez3Dz6vq/r10+KyOJ8JvUimhryKvPaZQvx6BTnzAfQbj/IeLQ==", - "requires": { - "ml-regression-base": "^2.0.1" - } - }, - "ml-regression-theil-sen": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ml-regression-theil-sen/-/ml-regression-theil-sen-2.0.0.tgz", - "integrity": "sha512-RO//tYzo69XbWDO5LIPdGp8ef1MSTPPJY0bXNlmOLMSay7YR9FQqtNgqn29T9DSYTa863VAafRlCeXwDQNXkBw==", - "requires": { - "ml-array-median": "^1.1.1", - "ml-regression-base": "^2.0.1" - } - }, - "ml-stat": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/ml-stat/-/ml-stat-1.3.3.tgz", - "integrity": "sha512-F6plydFIKFZA+7j/pRsRrfRu4nwsruQvYD9QxHWc4hFUdASVznsKUL2hgAwgMVizY/P0+b1L9bVQexKES5y/uw==" + "minipass": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==" }, "moment": { "version": "2.29.4", "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz", "integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==" }, - "monotone-chain-convex-hull": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/monotone-chain-convex-hull/-/monotone-chain-convex-hull-1.1.0.tgz", - "integrity": "sha512-iZGaoO2qtqIWaAfscTtsH2LolE06U4JzTw8AgtjT/yzYIA0aoAHDdwBtsesnQXfVRvS375Wu0Y1+FqdI5Y22GA==" + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - }, - "mz": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", - "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", - "requires": { - "any-promise": "^1.0.0", - "object-assign": "^4.0.1", - "thenify-all": "^1.0.0" - } - }, - "napi-build-utils": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", - "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==" - }, - "needle": { - "version": "2.9.1", - "resolved": "https://registry.npmjs.org/needle/-/needle-2.9.1.tgz", - "integrity": "sha512-6R9fqJ5Zcmf+uYaFgdIHmLwNldn5HbK8L5ybn7Uz+ylX/rnOsSp1AHcvQSrCaFN+qNM1wpymHqD7mVasEOlHGQ==", - "requires": { - "debug": "^3.2.6", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" - } - }, - "new-array": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/new-array/-/new-array-1.0.0.tgz", - "integrity": "sha512-K5AyFYbuHZ4e/ti52y7k18q8UHsS78FlRd85w2Fmsd6AkuLipDihPflKC0p3PN5i8II7+uHxo+CtkLiJDfmS5A==" - }, - "next-power-of-two": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/next-power-of-two/-/next-power-of-two-1.0.0.tgz", - "integrity": "sha512-+z6QY1SxkDk6CQJAeaIZKmcNubBCRP7J8DMQUBglz/sSkNsZoJ1kULjqk9skNPPplzs4i9PFhYrvNDdtQleF/A==" - }, - "node-abi": { - "version": "3.30.0", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.30.0.tgz", - "integrity": "sha512-qWO5l3SCqbwQavymOmtTVuCWZE23++S+rxyoHjXqUmPyzRcaoI4lA2gO55/drddGnedAyjA7sk76SfQ5lfUMnw==", - "requires": { - "semver": "^7.3.5" - } - }, - "node-addon-api": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-5.0.0.tgz", - "integrity": "sha512-CvkDw2OEnme7ybCykJpVcKH+uAOLV2qLqiyla128dN9TkEWfrYmxG6C2boDe5KcNQqZF3orkqzGgOMvZ/JNekA==" - }, - "node-cleanup": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/node-cleanup/-/node-cleanup-2.1.2.tgz", - "integrity": "sha1-esGavSl+Caf3KnFUXZUbUX5N3iw=" + "natural-orderby": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/natural-orderby/-/natural-orderby-3.0.2.tgz", + "integrity": "sha512-x7ZdOwBxZCEm9MM7+eQCjkrNLrW3rkBKNHVr78zbtqnMGVNlnDi6C/eUEYgxHNrcbu0ymvjzcwIL/6H1iHri9g==" }, "node-fetch": { "version": "2.6.7", @@ -4718,29 +9448,43 @@ "whatwg-url": "^5.0.0" } }, - "normalize-package-data": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", - "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "node-gzip": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/node-gzip/-/node-gzip-1.1.2.tgz", + "integrity": "sha512-ZB6zWpfZHGtxZnPMrJSKHVPrRjURoUzaDbLFj3VO70mpLTW5np96vXyHwft4Id0o+PYIzgDkBUjIzaNHhQ8srw==" + }, + "node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==" + }, + "node-releases": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", + "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==" + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + }, + "normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==" + }, + "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==", "requires": { - "hosted-git-info": "^4.0.1", - "is-core-module": "^2.5.0", - "semver": "^7.3.4", - "validate-npm-package-license": "^3.0.1" + "path-key": "^3.0.0" } }, - "nth-check": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz", - "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==", - "requires": { - "boolbase": "^1.0.0" - } - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + "object-treeify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/object-treeify/-/object-treeify-2.1.1.tgz", + "integrity": "sha512-ofXhazOvXTYWbbibExMiS+asaTbYG/ZWopVroXFFOdjmc8ehXMq9R2VUaTx/C3CnZkQbT52wAZT4DrBLK/nQfw==" }, "once": { "version": "1.4.0", @@ -4750,16 +9494,32 @@ "wrappy": "1" } }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "requires": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + } + }, "os-shim": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/os-shim/-/os-shim-0.1.3.tgz", "integrity": "sha1-a2LDeRz3kJ6jXtRuF2WLtBfLORc=" }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" - }, "p-limit": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", @@ -4781,10 +9541,13 @@ "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" }, - "pako": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz", - "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==" + "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==", + "requires": { + "callsites": "^3.0.0" + } }, "parse-json": { "version": "4.0.0", @@ -4795,50 +9558,67 @@ "json-parse-better-errors": "^1.0.1" } }, - "parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" - }, - "parse5-htmlparser2-tree-adapter": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz", - "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", - "requires": { - "parse5": "^6.0.1" - } - }, "path-exists": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" }, - "path-exists-cli": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/path-exists-cli/-/path-exists-cli-2.0.0.tgz", - "integrity": "sha512-qGr0A87KYCznmvabblxyxnzA/MtPZ28wH+4SCMP4tjTFAbzqwvs5xpUZExAYzq5OgHe5vIswzdH5iosCb8YF/Q==", - "requires": { - "meow": "^10.1.1", - "path-exists": "^5.0.0" - }, - "dependencies": { - "path-exists": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", - "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==" - } - } - }, "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=" }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" + }, + "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==" + }, + "path-scurry": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", + "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", + "requires": { + "lru-cache": "^9.1.1 || ^10.0.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz", + "integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==" + } + } + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" + }, "pify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" }, + "pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==" + }, "pkg-conf": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/pkg-conf/-/pkg-conf-2.1.0.tgz", @@ -4848,6 +9628,59 @@ "load-json-file": "^4.0.0" } }, + "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==", + "requires": { + "find-up": "^4.0.0" + }, + "dependencies": { + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "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==", + "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==" + }, + "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==" + } + } + }, "pre-commit": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/pre-commit/-/pre-commit-1.2.2.tgz", @@ -4858,33 +9691,26 @@ "which": "1.2.x" } }, - "prebuild-install": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.1.tgz", - "integrity": "sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==", - "requires": { - "detect-libc": "^2.0.0", - "expand-template": "^2.0.3", - "github-from-package": "0.0.0", - "minimist": "^1.2.3", - "mkdirp-classic": "^0.5.3", - "napi-build-utils": "^1.0.1", - "node-abi": "^3.3.0", - "pump": "^3.0.0", - "rc": "^1.2.7", - "simple-get": "^4.0.0", - "tar-fs": "^2.0.0", - "tunnel-agent": "^0.6.0" - } + "prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==" }, - "probe-image-size": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/probe-image-size/-/probe-image-size-7.2.3.tgz", - "integrity": "sha512-HubhG4Rb2UH8YtV4ba0Vp5bQ7L78RTONYu/ujmCu5nBI8wGv24s4E9xSKBi0N1MowRpxk76pFCpJtW0KPzOK0w==", + "pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "requires": { - "lodash.merge": "^4.6.2", - "needle": "^2.5.2", - "stream-parser": "~0.3.1" + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" + } } }, "process-nextick-args": { @@ -4892,109 +9718,39 @@ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" }, + "prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "requires": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + } + }, "pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } + "punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==" }, - "quick-lru": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", - "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==" + "pure-rand": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.4.tgz", + "integrity": "sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA==" }, - "rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - } + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" }, - "read-pkg": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-6.0.0.tgz", - "integrity": "sha512-X1Fu3dPuk/8ZLsMhEj5f4wFAF0DWoK7qhGJvgaijocXxBmSToKfbFtqbxMO7bVjNA1dmE5huAzjXj/ey86iw9Q==", - "requires": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^3.0.2", - "parse-json": "^5.2.0", - "type-fest": "^1.0.1" - }, - "dependencies": { - "parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - } - } - } - }, - "read-pkg-up": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-8.0.0.tgz", - "integrity": "sha512-snVCqPczksT0HS2EC+SxUndvSzn6LRCwpfSvLrIfR5BKDQQZMaI6jPRC9dYvYFDRAuFEAnkwww8kBBNE/3VvzQ==", - "requires": { - "find-up": "^5.0.0", - "read-pkg": "^6.0.0", - "type-fest": "^1.0.1" - }, - "dependencies": { - "find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "requires": { - "p-locate": "^5.0.0" - } - }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "requires": { - "p-limit": "^3.0.2" - } - }, - "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==" - } - } + "react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" }, "readable-stream": { "version": "2.3.7", @@ -5010,78 +9766,72 @@ "util-deprecate": "~1.0.1" } }, - "redent": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-4.0.0.tgz", - "integrity": "sha512-tYkDkVVtYkSVhuQ4zBgfvciymHaeuel+zFKXShfDnFP5SyVEP7qo70Rf1jTOTCx3vGNAbnEi/xFkcfQVMIBWag==", - "requires": { - "indent-string": "^5.0.0", - "strip-indent": "^4.0.0" - } - }, - "regenerator-runtime": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", - "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" - }, "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" }, - "robust-orientation": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/robust-orientation/-/robust-orientation-1.2.1.tgz", - "integrity": "sha512-FuTptgKwY6iNuU15nrIJDLjXzCChWB+T4AvksRtwPS/WZ3HuP1CElCm1t+OBfgQKfWbtZIawip+61k7+buRKAg==", + "resolve": { + "version": "1.22.6", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.6.tgz", + "integrity": "sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw==", "requires": { - "robust-scale": "^1.0.2", - "robust-subtract": "^1.0.0", - "robust-sum": "^1.0.0", - "two-product": "^1.0.2" + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" } }, - "robust-point-in-polygon": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/robust-point-in-polygon/-/robust-point-in-polygon-1.0.3.tgz", - "integrity": "sha512-pPzz7AevOOcPYnFv4Vs5L0C7BKOq6C/TfAw5EUE58CylbjGiPyMjAnPLzzSuPZ2zftUGwWbmLWPOjPOz61tAcA==", + "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==", "requires": { - "robust-orientation": "^1.0.2" + "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==" + } } }, - "robust-scale": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/robust-scale/-/robust-scale-1.0.2.tgz", - "integrity": "sha512-jBR91a/vomMAzazwpsPTPeuTPPmWBacwA+WYGNKcRGSh6xweuQ2ZbjRZ4v792/bZOhRKXRiQH0F48AvuajY0tQ==", + "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==" + }, + "resolve.exports": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", + "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==" + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==" + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "requires": { - "two-product": "^1.0.2", - "two-sum": "^1.0.0" + "glob": "^7.1.3" } }, - "robust-subtract": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/robust-subtract/-/robust-subtract-1.0.0.tgz", - "integrity": "sha512-xhKUno+Rl+trmxAIVwjQMiVdpF5llxytozXJOdoT4eTIqmqsndQqFb1A0oiW3sZGlhMRhOi6pAD4MF1YYW6o/A==" - }, - "robust-sum": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/robust-sum/-/robust-sum-1.0.0.tgz", - "integrity": "sha512-AvLExwpaqUqD1uwLU6MwzzfRdaI6VEZsyvQ3IAQ0ZJ08v1H+DTyqskrf2ZJyh0BDduFVLN7H04Zmc+qTiahhAw==" + "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==", + "requires": { + "queue-microtask": "^1.2.2" + } }, "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" - }, "semver": { "version": "7.5.4", "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", @@ -5105,21 +9855,6 @@ } } }, - "sharp": { - "version": "0.31.1", - "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.31.1.tgz", - "integrity": "sha512-GR8M1wBwOiFKLkm9JPun27OQnNRZdHfSf9VwcdZX6UrRmM1/XnOrLFTF0GAil+y/YK4E6qcM/ugxs80QirsHxg==", - "requires": { - "color": "^4.2.3", - "detect-libc": "^2.0.1", - "node-addon-api": "^5.0.0", - "prebuild-install": "^7.1.1", - "semver": "^7.3.7", - "simple-get": "^4.0.1", - "tar-fs": "^2.1.1", - "tunnel-agent": "^0.6.0" - } - }, "shebang-command": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", @@ -5133,6 +9868,11 @@ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" }, + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + }, "signale": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/signale/-/signale-1.4.0.tgz", @@ -5189,41 +9929,30 @@ } } }, - "simple-concat": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", - "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==" + "sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" }, - "simple-get": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", - "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", "requires": { - "decompress-response": "^6.0.0", - "once": "^1.3.1", - "simple-concat": "^1.0.0" + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } }, - "simple-swizzle": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", - "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", - "requires": { - "is-arrayish": "^0.3.1" - }, - "dependencies": { - "is-arrayish": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", - "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" - } - } - }, - "slugify": { - "version": "1.6.5", - "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.6.5.tgz", - "integrity": "sha512-8mo9bslnBO3tr5PEVFzMPIWwWnipGS0xVbYf65zxDqfNwmzYn1LpiKNrR6DlClusuvo+hDHd1zKpmfAe83NQSQ==" - }, "spawn-sync": { "version": "1.0.15", "resolved": "https://registry.npmjs.org/spawn-sync/-/spawn-sync-1.0.15.tgz", @@ -5233,54 +9962,23 @@ "os-shim": "^0.1.2" } }, - "spdx-correct": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", - "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + }, + "stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==" - }, - "spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-license-ids": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz", - "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==" - }, - "stream-parser": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/stream-parser/-/stream-parser-0.3.1.tgz", - "integrity": "sha512-bJ/HgKq41nlKvlhccD5kaCr/P+Hu0wPNKPJOH7en+YrJu/9EgqUF+88w5Jb6KNcjOFMhfX4B2asfeAtIGuHObQ==", - "requires": { - "debug": "2" + "escape-string-regexp": "^2.0.0" }, "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { + "escape-string-regexp": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==" } } }, @@ -5292,6 +9990,15 @@ "safe-buffer": "~5.1.0" } }, + "string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "requires": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + } + }, "string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", @@ -5302,6 +10009,16 @@ "strip-ansi": "^6.0.1" } }, + "string-width-cjs": { + "version": "npm:string-width@4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "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", @@ -5310,6 +10027,14 @@ "ansi-regex": "^5.0.1" } }, + "strip-ansi-cjs": { + "version": "npm:strip-ansi@6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "requires": { + "ansi-regex": "^5.0.1" + } + }, "strip-bom": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", @@ -5318,18 +10043,10 @@ "is-utf8": "^0.2.0" } }, - "strip-indent": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-4.0.0.tgz", - "integrity": "sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==", - "requires": { - "min-indent": "^1.0.1" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==" + "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==" }, "supports-color": { "version": "7.2.0", @@ -5339,64 +10056,42 @@ "has-flag": "^4.0.0" } }, - "tar-fs": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", - "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" + }, + "test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", "requires": { - "chownr": "^1.1.1", - "mkdirp-classic": "^0.5.2", - "pump": "^3.0.0", - "tar-stream": "^2.1.4" + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" } }, - "tar-stream": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", - "requires": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==" }, - "thenify": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", - "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", - "requires": { - "any-promise": "^1.0.0" - } + "tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==" }, - "thenify-all": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", - "integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=", - "requires": { - "thenify": ">= 3.1.0 < 4" - } + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==" }, - "tiff": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/tiff/-/tiff-5.0.3.tgz", - "integrity": "sha512-R0WckwRGhawWDNdha8iPQCjHyOiaEEmfFjhmalUVCIEELsON7Y/XO3eeGmBkoCXQp0Gg2nmTozN92Z4hlwbsow==", + "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==", "requires": { - "iobuffer": "^5.0.4", - "pako": "^2.0.4" + "is-number": "^7.0.0" } }, "tr46": { @@ -5404,88 +10099,132 @@ "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" }, - "transform-file": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/transform-file/-/transform-file-1.0.1.tgz", - "integrity": "sha1-f5WYSs0j1Ov4q7R+6dg74WbRJoc=", + "ts-api-utils": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.3.tgz", + "integrity": "sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==", + "requires": {} + }, + "ts-jest": { + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.1.tgz", + "integrity": "sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==", "requires": { - "os-tmpdir": "^1.0.0" + "bs-logger": "0.x", + "fast-json-stable-stringify": "2.x", + "jest-util": "^29.0.0", + "json5": "^2.2.3", + "lodash.memoize": "4.x", + "make-error": "1.x", + "semver": "^7.5.3", + "yargs-parser": "^21.0.1" + }, + "dependencies": { + "yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==" + } } }, - "transliteration": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/transliteration/-/transliteration-2.2.0.tgz", - "integrity": "sha512-o29GDWtecNoK4TNfnJQesGluFPiza+U8NoiKrErU8eTNlVgma6w1LV/tTiGo+waFLkhtL9WxrW0lXhZKmm7msQ==", + "ts-node": { + "version": "10.9.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", + "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", "requires": { - "yargs": "^16.1.0" + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" } }, - "trim-newlines": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-4.0.2.tgz", - "integrity": "sha512-GJtWyq9InR/2HRiLZgpIKv+ufIKrVrvjQWEj7PxAXNc5dwbNJkqhAUoAGgzRmULAnoOM5EIpveYd3J2VeSAIew==" - }, - "tslib": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", - "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "requires": { - "safe-buffer": "^5.0.1" + "prelude-ls": "^1.2.1" } }, - "two-product": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/two-product/-/two-product-1.0.2.tgz", - "integrity": "sha512-vOyrqmeYvzjToVM08iU52OFocWT6eB/I5LUWYnxeAPGXAhAxXYU/Yr/R2uY5/5n4bvJQL9AQulIuxpIsMoT8XQ==" - }, - "two-sum": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/two-sum/-/two-sum-1.0.0.tgz", - "integrity": "sha512-phP48e8AawgsNUjEY2WvoIWqdie8PoiDZGxTDv70LDr01uX5wLEQbOgSP7Z/B6+SW5oLtbe8qaYX2fKJs3CGTw==" - }, - "type-fest": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", - "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==" + "type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==" }, "typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" }, - "unfetch": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/unfetch/-/unfetch-4.2.0.tgz", - "integrity": "sha512-F9p7yYCn6cIW9El1zi0HI6vqpeIvBsr3dSuRO6Xuppb1u5rXpCPmMvLSyECLhybr9isec8Ohl0hPekMVrEinDA==" + "typescript": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", + "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", + "peer": true }, "universal-user-agent": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz", "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==" }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==" + }, + "update-browserslist-db": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "requires": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + } + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "requires": { + "punycode": "^2.1.0" + } + }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" }, - "validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==" + }, + "v8-to-istanbul": { + "version": "9.1.3", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.3.tgz", + "integrity": "sha512-9lDD+EVI2fjFsMWXc6dy5JJzBsVTcQ2fVkfBvncZ6xJWG9wtBhOldG+mHkSL0+V1K/xgZz0JDO5UT5hFwHUghg==", "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^2.0.0" } }, - "web-worker-manager": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/web-worker-manager/-/web-worker-manager-0.2.0.tgz", - "integrity": "sha512-WmGabA4GLth1ju9VLm/oMDcPMhMngHoBSdY1OMhrEJvNsPl7z2p+7RBOXjEi5zlP0dK+Shd3Wm+BdD5WZrNYBA==" + "walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "requires": { + "makeerror": "1.0.12" + } }, "webidl-conversions": { "version": "3.0.1", @@ -5509,16 +10248,6 @@ "isexe": "^2.0.0" } }, - "wikijs": { - "version": "6.3.3", - "resolved": "https://registry.npmjs.org/wikijs/-/wikijs-6.3.3.tgz", - "integrity": "sha512-pYVaUuJyTd7VO2aNxbdN341zgio+QuGdc6HC3jyQqakyaLJdOD8Shj+bs7lnZnhv/wml2u+C+OME9YUkck06Cg==", - "requires": { - "cross-fetch": "^3.0.2", - "hyntax": "^1.1.9", - "infobox-parser": "3.6.2" - } - }, "wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", @@ -5529,26 +10258,28 @@ "strip-ansi": "^6.0.0" } }, + "wrap-ansi-cjs": { + "version": "npm:wrap-ansi@7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, - "wtf_wikipedia": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/wtf_wikipedia/-/wtf_wikipedia-10.0.0.tgz", - "integrity": "sha512-CVLak9eVDf2jVt5AZTlNe5b4bqHnb8H9h9xfKwUZhLGtb9TbphXhkL0jLaTVYCXPM946wcJg6B+9d9EPKZhAwQ==", + "write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", "requires": { - "isomorphic-unfetch": "^3.1.0", - "path-exists-cli": "2.0.0" - } - }, - "wtf-plugin-image": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wtf-plugin-image/-/wtf-plugin-image-1.0.0.tgz", - "integrity": "sha512-dLjC6kSsTZuwHuVwjhqIfImWRL6YgI1fdF2glP1EbDsNYXlYUczYh4m11To/z4fBEq8w7fxx1RG03pBdMKhQcA==", - "requires": { - "jshashes": "^1.0.8" + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" } }, "y18n": { @@ -5561,24 +10292,10 @@ "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" }, - "yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "requires": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - } - }, - "yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==" + "yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==" }, "yocto-queue": { "version": "0.1.0", diff --git a/package.json b/package.json index 650688a1..0bf4b521 100644 --- a/package.json +++ b/package.json @@ -2,46 +2,45 @@ "name": "@iptv-org/database", "scripts": { "act:check": "act pull_request -W .github/workflows/check.yml", + "act:update": "act workflow_dispatch -W .github/workflows/update.yml", "act:deploy": "act push -W .github/workflows/deploy.yml", - "db:validate": "node scripts/db/validate.js", - "db:export": "node scripts/db/export.js", - "db:update": "node scripts/db/update.js" + "db:validate": "ts-node scripts/db/validate.ts", + "db:export": "ts-node scripts/db/export.ts", + "db:update": "ts-node scripts/db/update.ts", + "lint": "npx eslint ./scripts/**/*.ts ./scripts/**/*.js ./tests/**/*.ts", + "test": "jest --runInBand" }, "pre-commit": [ "db:validate" ], "private": true, "author": "Arhey", + "jest": { + "transform": { + "^.+\\.(ts|js)$": "ts-jest" + }, + "testRegex": "tests/(.*?/)?.*test.(js|ts)$" + }, "dependencies": { + "@freearhey/core": "^0.2.1", "@joi/date": "^2.1.0", + "@json2csv/formatters": "^7.0.3", + "@json2csv/node": "^7.0.3", + "@json2csv/transforms": "^7.0.3", "@octokit/core": "^4.2.0", "@octokit/plugin-paginate-rest": "^6.0.0", - "autocrop-js": "^0.2.0", - "axios": "^0.25.0", + "@octokit/plugin-rest-endpoint-methods": "^7.1.3", + "@types/jest": "^29.5.5", + "@typescript-eslint/eslint-plugin": "^6.7.4", "chalk": "^4.1.2", - "cheerio": "^1.0.0-rc.10", - "cli-progress": "^3.11.2", "commander": "^9.0.0", - "crlf": "^1.1.1", - "crypto": "^1.0.1", "csvtojson": "^2.0.10", - "dayjs": "^1.11.0", - "form-data": "^4.0.0", - "glob": "^7.2.0", - "iso-639-2": "^3.0.1", + "eslint": "^8.50.0", + "eslint-config-prettier": "^9.0.0", + "jest": "^29.7.0", "joi": "^17.6.0", - "json2csv": "^6.0.0-alpha.0", - "lodash": "^4.17.21", - "mz": "^2.7.0", - "node-cleanup": "^2.1.2", "pre-commit": "^1.2.2", - "probe-image-size": "^7.2.3", - "sharp": "^0.31.1", - "signale": "^1.4.0", - "slugify": "^1.6.5", - "transliteration": "^2.2.0", - "wikijs": "^6.3.3", - "wtf_wikipedia": "^10.0.0", - "wtf-plugin-image": "^1.0.0" + "ts-jest": "^29.1.1", + "ts-node": "^10.9.1" } } diff --git a/scripts/constants.ts b/scripts/constants.ts new file mode 100644 index 00000000..258e056a --- /dev/null +++ b/scripts/constants.ts @@ -0,0 +1,5 @@ +export const OWNER = 'iptv-org' +export const REPO = 'database' +export const DATA_DIR = process.env.DATA_DIR || './data' +export const API_DIR = process.env.API_DIR || './.api' +export const TESTING = process.env.NODE_ENV === 'test' ? true : false diff --git a/scripts/core/csv.js b/scripts/core/csv.js deleted file mode 100644 index a2493bf8..00000000 --- a/scripts/core/csv.js +++ /dev/null @@ -1,105 +0,0 @@ -const csv2json = require('csvtojson') -const chalk = require('chalk') -const logger = require('./logger') -const fs = require('mz/fs') -const { - Parser, - transforms: { flatten }, - formatters: { stringQuoteOnlyIfNecessary } -} = require('json2csv') - -const csv2jsonOptions = { - checkColumn: true, - trim: true, - delimiter: ',', - eol: '\r\n', - colParser: { - alt_names: listParser, - network: nullable, - owners: listParser, - subdivision: nullable, - city: nullable, - broadcast_area: listParser, - languages: listParser, - categories: listParser, - is_nsfw: boolParser, - launched: nullable, - closed: nullable, - replaced_by: nullable, - website: nullable, - logo: nullable, - countries: listParser - } -} - -const json2csv = new Parser({ - transforms: [flattenArray, formatBool], - formatters: { - string: stringQuoteOnlyIfNecessary() - }, - eol: '\r\n' -}) - -const csv = {} - -csv.fromFile = async function (filepath) { - return csv2json(csv2jsonOptions).fromFile(filepath) -} - -csv.fromString = async function (filepath) { - return csv2json(csv2jsonOptions).fromString(filepath) -} - -csv.save = async function (filepath, data) { - const string = json2csv.parse(data) - - return fs.writeFile(filepath, string) -} - -csv.saveSync = function (filepath, data) { - const string = json2csv.parse(data) - - return fs.writeFileSync(filepath, string) -} - -module.exports = csv - -function flattenArray(item) { - for (let prop in item) { - const value = item[prop] - item[prop] = Array.isArray(value) ? value.join(';') : value - } - - return item -} - -function formatBool(item) { - for (let prop in item) { - if (item[prop] === false) { - item[prop] = 'FALSE' - } else if (item[prop] === true) { - item[prop] = 'TRUE' - } - } - - return item -} - -function listParser(value) { - return value.split(';').filter(i => i) -} - -function boolParser(value) { - switch (value) { - case 'TRUE': - return true - case 'FALSE': - return false - default: - return value - } -} - -function nullable(value) { - return value === '' ? null : value -} diff --git a/scripts/core/csv.ts b/scripts/core/csv.ts new file mode 100644 index 00000000..a5edb74a --- /dev/null +++ b/scripts/core/csv.ts @@ -0,0 +1,44 @@ +import { Collection } from '@freearhey/core' +import { Parser } from '@json2csv/plainjs' +import { stringQuoteOnlyIfNecessary } from '@json2csv/formatters' + +export class CSV { + items: Collection + + constructor({ items }: { items: Collection }) { + this.items = items + } + + toString(): string { + const parser = new Parser({ + transforms: [flattenArray, formatBool], + formatters: { + string: stringQuoteOnlyIfNecessary() + }, + eol: '\r\n' + }) + + return parser.parse(this.items.all()) + } +} + +function flattenArray(item: { [key: string]: string[] | string | boolean }) { + for (const prop in item) { + const value = item[prop] + item[prop] = Array.isArray(value) ? value.join(';') : value + } + + return item +} + +function formatBool(item: { [key: string]: string[] | string | boolean }) { + for (const prop in item) { + if (item[prop] === false) { + item[prop] = 'FALSE' + } else if (item[prop] === true) { + item[prop] = 'TRUE' + } + } + + return item +} diff --git a/scripts/core/csvParser.ts b/scripts/core/csvParser.ts new file mode 100644 index 00000000..15451a06 --- /dev/null +++ b/scripts/core/csvParser.ts @@ -0,0 +1,53 @@ +import { Collection } from '@freearhey/core' +import csv2json from 'csvtojson' + +const opts = { + checkColumn: true, + trim: true, + delimiter: ',', + eol: '\r\n', + colParser: { + alt_names: listParser, + network: nullable, + owners: listParser, + subdivision: nullable, + city: nullable, + broadcast_area: listParser, + languages: listParser, + categories: listParser, + is_nsfw: boolParser, + launched: nullable, + closed: nullable, + replaced_by: nullable, + website: nullable, + logo: nullable, + countries: listParser + } +} + +export class CSVParser { + async parse(data: string): Promise { + const items = await csv2json(opts).fromString(data) + + return new Collection(items) + } +} + +function listParser(value: string) { + return value.split(';').filter(i => i) +} + +function boolParser(value: string) { + switch (value) { + case 'TRUE': + return true + case 'FALSE': + return false + default: + return value + } +} + +function nullable(value: string) { + return value === '' ? null : value +} diff --git a/scripts/core/file.js b/scripts/core/file.js deleted file mode 100644 index 440b3928..00000000 --- a/scripts/core/file.js +++ /dev/null @@ -1,78 +0,0 @@ -const path = require('path') -const glob = require('glob') -const fs = require('mz/fs') -const crlf = require('crlf') - -const file = {} - -file.list = function (pattern) { - return new Promise(resolve => { - glob(pattern, function (err, files) { - resolve(files) - }) - }) -} - -file.getFilename = function (filepath) { - return path.parse(filepath).name -} - -file.createDir = async function (dir) { - if (await file.exists(dir)) return - - return fs.mkdir(dir, { recursive: true }).catch(console.error) -} - -file.exists = function (filepath) { - return fs.exists(path.resolve(filepath)) -} - -file.read = function (filepath) { - return fs.readFile(path.resolve(filepath), { encoding: 'utf8' }).catch(console.error) -} - -file.append = function (filepath, data) { - return fs.appendFile(path.resolve(filepath), data).catch(console.error) -} - -file.create = function (filepath, data = '') { - filepath = path.resolve(filepath) - const dir = path.dirname(filepath) - - return file - .createDir(dir) - .then(() => file.write(filepath, data)) - .catch(console.error) -} - -file.write = function (filepath, data = '') { - return fs.writeFile(path.resolve(filepath), data, { encoding: 'utf8' }).catch(console.error) -} - -file.clear = async function (filepath) { - if (await file.exists(filepath)) return file.write(filepath, '') - return true -} - -file.resolve = function (filepath) { - return path.resolve(filepath) -} - -file.dirname = function (filepath) { - return path.dirname(filepath) -} - -file.basename = function (filepath) { - return path.basename(filepath) -} - -file.eol = function (filepath) { - return new Promise((resolve, reject) => { - crlf.get(filepath, null, function (err, endingType) { - if (err) reject(err) - resolve(endingType) - }) - }) -} - -module.exports = file diff --git a/scripts/core/idCreator.ts b/scripts/core/idCreator.ts new file mode 100644 index 00000000..e547f83e --- /dev/null +++ b/scripts/core/idCreator.ts @@ -0,0 +1,17 @@ +export class IDCreator { + create(name: string, country: string): string { + const slug = normalize(name) + const code = country.toLowerCase() + + return `${slug}.${code}` + } +} + +function normalize(name: string) { + return name + .replace(/^@/gi, 'At') + .replace(/^&/i, 'And') + .replace(/\+/gi, 'Plus') + .replace(/\s-(\d)/gi, ' Minus$1') + .replace(/[^a-z\d]+/gi, '') +} diff --git a/scripts/core/index.js b/scripts/core/index.js deleted file mode 100644 index dee10491..00000000 --- a/scripts/core/index.js +++ /dev/null @@ -1,3 +0,0 @@ -exports.csv = require('./csv') -exports.file = require('./file') -exports.logger = require('./logger') diff --git a/scripts/core/index.ts b/scripts/core/index.ts new file mode 100644 index 00000000..b32c7fe6 --- /dev/null +++ b/scripts/core/index.ts @@ -0,0 +1,5 @@ +export * from './csv' +export * from './issueParser' +export * from './issueLoader' +export * from './csvParser' +export * from './idCreator' diff --git a/scripts/core/issueLoader.ts b/scripts/core/issueLoader.ts new file mode 100644 index 00000000..bc0791d3 --- /dev/null +++ b/scripts/core/issueLoader.ts @@ -0,0 +1,49 @@ +import { Collection } from '@freearhey/core' +import { restEndpointMethods } from '@octokit/plugin-rest-endpoint-methods' +import { paginateRest } from '@octokit/plugin-paginate-rest' +import { Octokit } from '@octokit/core' +import { IssueParser } from './' +import { TESTING, OWNER, REPO } from '../constants' + +const CustomOctokit = Octokit.plugin(paginateRest, restEndpointMethods) +const octokit = new CustomOctokit() + +export class IssueLoader { + async load({ labels }: { labels: string[] | string }) { + labels = Array.isArray(labels) ? labels.join(',') : labels + let issues: object[] = [] + if (TESTING) { + switch (labels) { + case 'channels:add,approved': + issues = require('../../tests/__data__/input/issues/channels_add_approved.js') + break + case 'channels:edit,approved': + issues = require('../../tests/__data__/input/issues/channels_edit_approved.js') + break + case 'channels:remove,approved': + issues = require('../../tests/__data__/input/issues/channels_remove_approved.js') + break + case 'blocklist:add,approved': + issues = require('../../tests/__data__/input/issues/blocklist_add_approved.js') + break + case 'blocklist:remove,approved': + issues = require('../../tests/__data__/input/issues/blocklist_remove_approved.js') + break + } + } else { + issues = await octokit.paginate(octokit.rest.issues.listForRepo, { + owner: OWNER, + repo: REPO, + per_page: 100, + labels, + headers: { + 'X-GitHub-Api-Version': '2022-11-28' + } + }) + } + + const parser = new IssueParser() + + return new Collection(issues).map(parser.parse) + } +} diff --git a/scripts/core/issueParser.ts b/scripts/core/issueParser.ts new file mode 100644 index 00000000..9ea6cfde --- /dev/null +++ b/scripts/core/issueParser.ts @@ -0,0 +1,66 @@ +import { Dictionary } from '@freearhey/core' +import { Issue } from '../models' + +const FIELDS = new Dictionary({ + 'Channel ID': 'channel_id', + 'Channel ID (required)': 'channel_id', + 'Channel ID (optional)': 'channel_id', + 'Channel Name': 'name', + 'Alternative Names': 'alt_names', + 'Alternative Names (optional)': 'alt_names', + Network: 'network', + 'Network (optional)': 'network', + Owners: 'owners', + 'Owners (optional)': 'owners', + Country: 'country', + Subdivision: 'subdivision', + 'Subdivision (optional)': 'subdivision', + City: 'city', + 'City (optional)': 'city', + 'Broadcast Area': 'broadcast_area', + Languages: 'languages', + Categories: 'categories', + 'Categories (optional)': 'categories', + NSFW: 'is_nsfw', + Launched: 'launched', + 'Launched (optional)': 'launched', + Closed: 'closed', + 'Closed (optional)': 'closed', + 'Replaced By': 'replaced_by', + 'Replaced By (optional)': 'replaced_by', + Website: 'website', + 'Website (optional)': 'website', + Logo: 'logo', + Reason: 'reason', + Notes: 'notes', + 'Notes (optional)': 'notes', + Reference: 'ref', + 'Reference (optional)': 'ref', + 'Reference (required)': 'ref' +}) + +export class IssueParser { + parse(issue: { number: number; body: string; labels: { name: string }[] }): Issue { + const fields = issue.body.split('###') + + const data = new Dictionary() + fields.forEach((field: string) => { + let [_label, , _value] = field.split(/\r?\n/) + _label = _label ? _label.trim() : '' + _value = _value ? _value.trim() : '' + + if (!_label || !_value) return data + + const id: string = FIELDS.get(_label) + const value: string = _value === '_No response_' || _value === 'None' ? '' : _value + + if (!id) return + + data.set(id, value) + }) + + const labels = issue.labels.map(label => label.name) + + return new Issue({ number: issue.number, labels, data }) + } +} diff --git a/scripts/core/logger.js b/scripts/core/logger.js deleted file mode 100644 index 2be5eda2..00000000 --- a/scripts/core/logger.js +++ /dev/null @@ -1,13 +0,0 @@ -const { Signale } = require('signale') - -const options = {} - -const logger = new Signale(options) - -logger.config({ - displayLabel: false, - displayScope: false, - displayBadge: false -}) - -module.exports = logger diff --git a/scripts/db/export.js b/scripts/db/export.js deleted file mode 100644 index 97e5d347..00000000 --- a/scripts/db/export.js +++ /dev/null @@ -1,19 +0,0 @@ -const { csv, file, logger } = require('../core') -const chalk = require('chalk') - -const DATA_DIR = process.env.DATA_DIR || './data' -const OUTPUT_DIR = process.env.OUTPUT_DIR || './.api' - -async function main() { - const files = await file.list(`${DATA_DIR}/*.csv`) - for (const filepath of files) { - const filename = file.getFilename(filepath) - const json = await csv.fromFile(filepath).catch(err => { - logger.error(chalk.red(`\n${err.message} (${filepath})`)) - process.exit(1) - }) - await file.create(`${OUTPUT_DIR}/${filename}.json`, JSON.stringify(json)) - } -} - -main() diff --git a/scripts/db/export.ts b/scripts/db/export.ts new file mode 100644 index 00000000..b221fe78 --- /dev/null +++ b/scripts/db/export.ts @@ -0,0 +1,21 @@ +import { Storage, File } from '@freearhey/core' +import { DATA_DIR, API_DIR } from '../constants' +import { CSVParser } from '../core' + +async function main() { + const dataStorage = new Storage(DATA_DIR) + const apiStorage = new Storage(API_DIR) + const parser = new CSVParser() + + const files = await dataStorage.list('*.csv') + for (const filepath of files) { + const file = new File(filepath) + const filename = file.name() + const data = await dataStorage.load(file.basename()) + const items = await parser.parse(data) + + await apiStorage.save(`${filename}.json`, items.toJSON()) + } +} + +main() diff --git a/scripts/db/update.js b/scripts/db/update.js deleted file mode 100644 index 071eaab4..00000000 --- a/scripts/db/update.js +++ /dev/null @@ -1,172 +0,0 @@ -const { csv, file } = require('../core') -const channelScheme = require('../db/schemes/channels') -const { Octokit } = require('@octokit/core') -const { paginateRest } = require('@octokit/plugin-paginate-rest') -const CustomOctokit = Octokit.plugin(paginateRest) -const _ = require('lodash') - -const octokit = new CustomOctokit() - -const DATA_DIR = process.env.DATA_DIR || './data' -const OWNER = 'iptv-org' -const REPO = 'database' - -let channels = [] -let processedIssues = [] - -async function main() { - try { - const filepath = `${DATA_DIR}/channels.csv` - channels = await csv.fromFile(filepath) - - await removeChannels() - await editChannels() - await addChannels() - - channels = _.orderBy(channels, [channels => channels.id.toLowerCase()], ['asc']) - await csv.save(filepath, channels) - - const output = processedIssues.map(issue => `closes #${issue.number}`).join(', ') - console.log(`OUTPUT=${output}`) - } catch (err) { - console.log(err.message) - } -} - -main() - -async function removeChannels() { - const issues = await fetchIssues('channels:remove,approved') - issues.map(parseIssue).forEach(({ issue, channel }) => { - if (!channel) return - - const index = _.findIndex(channels, { id: channel.id }) - if (index < 0) return - - channels.splice(index, 1) - - processedIssues.push(issue) - }) -} - -async function editChannels() { - const issues = await fetchIssues('channels:edit,approved') - issues.map(parseIssue).forEach(({ issue, channel }) => { - if (!channel) return - - const index = _.findIndex(channels, { id: channel.id }) - if (index < 0) return - - const found = channels[index] - - for (let prop in channel) { - if (channel[prop] !== undefined) { - found[prop] = channel[prop] - } - } - - found.id = generateChannelId(found.name, found.country) - - channels.splice(index, 1, found) - - processedIssues.push(issue) - }) -} - -async function addChannels() { - const issues = await fetchIssues('channels:add,approved') - issues.map(parseIssue).forEach(({ issue, channel }) => { - if (!channel) return - - const found = channels.find(c => c.id === channel.id) - if (found) return - - channels.push(channel) - processedIssues.push(issue) - }) -} - -async function fetchIssues(labels) { - const issues = await octokit.paginate('GET /repos/{owner}/{repo}/issues', { - owner: OWNER, - repo: REPO, - per_page: 100, - labels, - headers: { - 'X-GitHub-Api-Version': '2022-11-28' - } - }) - - return issues -} - -function parseIssue(issue) { - const buffer = {} - const channel = {} - const fieldLabels = { - 'Channel ID (required)': 'id', - 'Channel Name': 'name', - 'Alternative Names': 'alt_names', - 'Alternative Names (optional)': 'alt_names', - Network: 'network', - 'Network (optional)': 'network', - Owners: 'owners', - 'Owners (optional)': 'owners', - Country: 'country', - Subdivision: 'subdivision', - 'Subdivision (optional)': 'subdivision', - City: 'city', - 'City (optional)': 'city', - 'Broadcast Area': 'broadcast_area', - Languages: 'languages', - Categories: 'categories', - 'Categories (optional)': 'categories', - NSFW: 'is_nsfw', - Launched: 'launched', - 'Launched (optional)': 'launched', - Closed: 'closed', - 'Closed (optional)': 'closed', - 'Replaced By': 'replaced_by', - 'Replaced By (optional)': 'replaced_by', - Website: 'website', - 'Website (optional)': 'website', - Logo: 'logo' - } - - const fields = issue.body.split('###') - - if (!fields.length) return { issue, channel: null } - - fields.forEach(item => { - const [fieldLabel, , value] = item.split(/\r?\n/) - const field = fieldLabel ? fieldLabels[fieldLabel.trim()] : null - - if (!field) return - - buffer[field] = value.includes('_No response_') ? undefined : value.trim() - }) - - for (let field of Object.keys(channelScheme)) { - channel[field] = buffer[field] - } - - if (!channel.id) { - channel.id = generateChannelId(channel.name, channel.country) - } - - return { issue, channel } -} - -function generateChannelId(name, country) { - if (name && country) { - const slug = name - .replace(/\+/gi, 'Plus') - .replace(/^@/gi, 'At') - .replace(/[^a-z\d]+/gi, '') - country = country.toLowerCase() - - return `${slug}.${country}` - } - - return null -} diff --git a/scripts/db/update.ts b/scripts/db/update.ts new file mode 100644 index 00000000..39fdef9a --- /dev/null +++ b/scripts/db/update.ts @@ -0,0 +1,185 @@ +import { CSV, IssueLoader, CSVParser, IDCreator } from '../core' +import { Channel, Blocked, Issue } from '../models' +import { DATA_DIR } from '../constants' +import { Storage, Collection } from '@freearhey/core' + +let blocklist = new Collection() +let channels = new Collection() +const processedIssues = new Collection() + +async function main() { + const idCreator = new IDCreator() + const dataStorage = new Storage(DATA_DIR) + const parser = new CSVParser() + + const _channels = await dataStorage.load('channels.csv') + channels = (await parser.parse(_channels)).map(data => new Channel(data)) + + const _blocklist = await dataStorage.load('blocklist.csv') + blocklist = (await parser.parse(_blocklist)).map(data => new Blocked(data)) + + const loader = new IssueLoader() + + await removeChannels({ loader }) + await editChannels({ loader, idCreator }) + await addChannels({ loader, idCreator }) + await blockChannels({ loader }) + await unblockChannels({ loader }) + + channels = sortBy(channels, 'id') + const channelsOutput = new CSV({ items: channels }).toString() + await dataStorage.save('channels.csv', channelsOutput) + + blocklist = sortBy(blocklist, 'channel') + const blocklistOutput = new CSV({ items: blocklist }).toString() + await dataStorage.save('blocklist.csv', blocklistOutput) + + const output = processedIssues.map((issue: Issue) => `closes #${issue.number}`).join(', ') + process.stdout.write(`OUTPUT=${output}`) +} + +main() + +function sortBy(channels: Collection, key: string) { + const items = channels.all().sort((a, b) => { + const normA = a[key].toLowerCase() + const normB = b[key].toLowerCase() + if (normA < normB) return -1 + if (normA > normB) return 1 + return 0 + }) + + return new Collection(items) +} + +async function removeChannels({ loader }: { loader: IssueLoader }) { + const issues = await loader.load({ labels: ['channels:remove,approved'] }) + issues.forEach((issue: Issue) => { + if (issue.data.missing('channel_id')) return + + const found = channels.first((channel: Channel) => channel.id === issue.data.get('channel_id')) + if (!found) return + + channels.remove((channel: Channel) => channel.id === found.id) + + processedIssues.push(issue) + }) +} + +async function editChannels({ loader, idCreator }: { loader: IssueLoader; idCreator: IDCreator }) { + const issues = await loader.load({ labels: ['channels:edit,approved'] }) + issues.forEach((issue: Issue) => { + const data = issue.data + if (data.missing('channel_id')) return + + const found: Channel = channels.first( + (channel: Channel) => channel.id === data.get('channel_id') + ) + if (!found) return + + let channelId = found.id + if (data.has('name') || data.has('country')) { + const name = data.get('name') || found.name + const country = data.get('country') || found.country + channelId = idCreator.create(name, country) + } + + found.update({ + id: channelId, + name: data.get('name'), + alt_names: data.get('alt_names'), + network: data.get('network'), + owners: data.get('owners'), + country: data.get('country'), + subdivision: data.get('subdivision'), + city: data.get('city'), + broadcast_area: data.get('broadcast_area'), + languages: data.get('languages'), + categories: data.get('categories'), + is_nsfw: data.get('is_nsfw'), + launched: data.get('launched'), + closed: data.get('closed'), + replaced_by: data.get('replaced_by'), + website: data.get('website'), + logo: data.get('logo') + }) + + processedIssues.push(issue) + }) +} + +async function addChannels({ loader, idCreator }: { loader: IssueLoader; idCreator: IDCreator }) { + const issues = await loader.load({ labels: ['channels:add,approved'] }) + issues.forEach((issue: Issue) => { + const data = issue.data + if (data.missing('name') || data.missing('country')) return + + const channelId = idCreator.create(data.get('name'), data.get('country')) + + const found: Channel = channels.first((channel: Channel) => channel.id === channelId) + if (found) return + + channels.push( + new Channel({ + id: channelId, + name: data.get('name'), + alt_names: data.get('alt_names'), + network: data.get('network'), + owners: data.get('owners'), + country: data.get('country'), + subdivision: data.get('subdivision'), + city: data.get('city'), + broadcast_area: data.get('broadcast_area'), + languages: data.get('languages'), + categories: data.get('categories'), + is_nsfw: data.get('is_nsfw'), + launched: data.get('launched'), + closed: data.get('closed'), + replaced_by: data.get('replaced_by'), + website: data.get('website'), + logo: data.get('logo') + }) + ) + + processedIssues.push(issue) + }) +} + +async function unblockChannels({ loader }: { loader: IssueLoader }) { + const issues = await loader.load({ labels: ['blocklist:remove,approved'] }) + issues.forEach((issue: Issue) => { + const data = issue.data + if (data.missing('channel_id')) return + + const found: Blocked = blocklist.first( + (blocked: Blocked) => blocked.channel === data.get('channel_id') + ) + if (!found) return + + blocklist.remove((blocked: Blocked) => blocked.channel === found.channel) + + processedIssues.push(issue) + }) +} + +async function blockChannels({ loader }: { loader: IssueLoader }) { + const issues = await loader.load({ labels: ['blocklist:add,approved'] }) + issues.forEach((issue: Issue) => { + const data = issue.data + if (data.missing('channel_id')) return + + const found: Blocked = blocklist.first( + (blocked: Blocked) => blocked.channel === data.get('channel_id') + ) + if (found) return + + blocklist.push( + new Blocked({ + channel: data.get('channel_id'), + ref: data.get('ref') + }) + ) + + processedIssues.push(issue) + }) +} diff --git a/scripts/db/validate.js b/scripts/db/validate.js deleted file mode 100644 index 0395db46..00000000 --- a/scripts/db/validate.js +++ /dev/null @@ -1,334 +0,0 @@ -const { transliterate } = require('transliteration') -const { logger, file, csv } = require('../core') -const { program } = require('commander') -const schemes = require('./schemes') -const chalk = require('chalk') -const Joi = require('joi') -const _ = require('lodash') - -program.argument('[filepath]', 'Path to file to validate').parse(process.argv) - -const allFiles = [ - 'data/blocklist.csv', - 'data/categories.csv', - 'data/channels.csv', - 'data/countries.csv', - 'data/languages.csv', - 'data/regions.csv', - 'data/subdivisions.csv' -] - -let db = {} -let files = {} - -async function main() { - let globalErrors = [] - - for (let filepath of allFiles) { - if (!filepath.endsWith('.csv')) continue - - const csvString = await file.read(filepath) - if (/\s+$/.test(csvString)) - return handleError(`Error: empty lines at the end of file not allowed (${filepath})`) - - const rows = csvString.split(/\r\n/) - const headers = rows[0].split(',') - for (let [i, line] of rows.entries()) { - if (line.indexOf('\n') > -1) - return handleError( - `Error: row ${i + 1} has the wrong line ending character, should be CRLF (${filepath})` - ) - if (line.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/).length !== headers.length) - return handleError(`Error: row ${i + 1} has the wrong number of columns (${filepath})`) - } - - const filename = file.getFilename(filepath) - let data = await csv - .fromString(csvString) - .catch(err => handleError(`${err.message} (${filepath})`)) - - let grouped - switch (filename) { - case 'blocklist': - grouped = _.keyBy(data, 'channel') - break - case 'categories': - case 'channels': - grouped = _.keyBy(data, 'id') - break - default: - grouped = _.keyBy(data, 'code') - break - } - - db[filename] = grouped - files[filename] = data - } - - const toCheck = program.args.length ? program.args : allFiles - for (const filepath of toCheck) { - const filename = file.getFilename(filepath) - if (!schemes[filename]) return handleError(`Error: "${filename}" scheme is missing`) - - const rows = files[filename] - const rowsCopy = JSON.parse(JSON.stringify(rows)) - - let fileErrors = [] - if (filename === 'channels') { - fileErrors = fileErrors.concat(findDuplicatesById(rowsCopy)) - // fileErrors = fileErrors.concat(findDuplicatesByName(rowsCopy)) - for (const [i, row] of rowsCopy.entries()) { - fileErrors = fileErrors.concat(validateChannelId(row, i)) - fileErrors = fileErrors.concat(validateChannelBroadcastArea(row, i)) - fileErrors = fileErrors.concat(validateChannelSubdivision(row, i)) - fileErrors = fileErrors.concat(validateChannelCategories(row, i)) - fileErrors = fileErrors.concat(validateChannelReplacedBy(row, i)) - fileErrors = fileErrors.concat(validateChannelLanguages(row, i)) - fileErrors = fileErrors.concat(validateChannelCountry(row, i)) - } - } else if (filename === 'blocklist') { - for (const [i, row] of rowsCopy.entries()) { - fileErrors = fileErrors.concat(validateChannel(row, i)) - } - } else if (filename === 'countries') { - for (const [i, row] of rowsCopy.entries()) { - fileErrors = fileErrors.concat(validateCountryLanguages(row, i)) - } - } else if (filename === 'subdivisions') { - for (const [i, row] of rowsCopy.entries()) { - fileErrors = fileErrors.concat(validateSubdivisionCountry(row, i)) - } - } else if (filename === 'regions') { - for (const [i, row] of rowsCopy.entries()) { - fileErrors = fileErrors.concat(validateRegionCountries(row, i)) - } - } - - const schema = Joi.object(schemes[filename]) - rows.forEach((row, i) => { - const { error } = schema.validate(row, { abortEarly: false }) - if (error) { - error.details.forEach(detail => { - fileErrors.push({ line: i + 2, message: detail.message }) - }) - } - }) - - if (fileErrors.length) { - logger.info(`\n${chalk.underline(filepath)}`) - fileErrors.forEach(err => { - const position = err.line.toString().padEnd(6, ' ') - logger.info(` ${chalk.gray(position)} ${err.message}`) - }) - globalErrors = globalErrors.concat(fileErrors) - } - } - - if (globalErrors.length) return handleError(`${globalErrors.length} error(s)`) -} - -main() - -function findDuplicatesById(rows) { - const errors = [] - const buffer = {} - rows.forEach((row, i) => { - const normId = row.id.toLowerCase() - if (buffer[normId]) { - errors.push({ - line: i + 2, - message: `entry with the id "${row.id}" already exists` - }) - } - - buffer[normId] = true - }) - - return errors -} - -function findDuplicatesByName(rows) { - const errors = [] - const buffer = {} - rows.forEach((row, i) => { - const normName = row.name.toLowerCase() - if (buffer[normName]) { - errors.push({ - line: i + 2, - message: `entry with the name "${row.name}" already exists` - }) - } - - buffer[normName] = true - }) - - return errors -} - -function validateChannelId(row, i) { - const errors = [] - - let name = normalize(row.name) - let code = row.country.toLowerCase() - let expected = `${name}.${code}` - - if (expected !== row.id) { - errors.push({ - line: i + 2, - message: `"${row.id}" must be derived from the channel name "${row.name}" and the country code "${row.country}"` - }) - } - - function normalize(name) { - let translit = transliterate(name) - - return translit - .replace(/^@/i, 'At') - .replace(/^&/i, 'And') - .replace(/\+/gi, 'Plus') - .replace(/\s\-(\d)/gi, ' Minus$1') - .replace(/[^a-z\d]+/gi, '') - } - - return errors -} - -function validateChannelCategories(row, i) { - const errors = [] - row.categories.forEach(category => { - if (!db.categories[category]) { - errors.push({ - line: i + 2, - message: `"${row.id}" has the wrong category "${category}"` - }) - } - }) - - return errors -} - -function validateChannelCountry(row, i) { - const errors = [] - if (!db.countries[row.country]) { - errors.push({ - line: i + 2, - message: `"${row.id}" has the wrong country "${row.country}"` - }) - } - - return errors -} - -function validateChannelReplacedBy(row, i) { - const errors = [] - if (row.replaced_by && !db.channels[row.replaced_by]) { - errors.push({ - line: i + 2, - message: `"${row.id}" has the wrong replaced_by "${row.replaced_by}"` - }) - } - - return errors -} - -function validateChannelSubdivision(row, i) { - const errors = [] - if (row.subdivision && !db.subdivisions[row.subdivision]) { - errors.push({ - line: i + 2, - message: `"${row.id}" has the wrong subdivision "${row.subdivision}"` - }) - } - - return errors -} - -function validateChannelBroadcastArea(row, i) { - const errors = [] - row.broadcast_area.forEach(area => { - const [type, code] = area.split('/') - if ( - (type === 'r' && !db.regions[code]) || - (type === 'c' && !db.countries[code]) || - (type === 's' && !db.subdivisions[code]) - ) { - errors.push({ - line: i + 2, - message: `"${row.id}" has the wrong broadcast_area "${area}"` - }) - } - }) - - return errors -} - -function validateChannelLanguages(row, i) { - const errors = [] - row.languages.forEach(language => { - if (!db.languages[language]) { - errors.push({ - line: i + 2, - message: `"${row.id}" has the wrong language "${language}"` - }) - } - }) - - return errors -} - -function validateChannel(row, i) { - const errors = [] - if (!db.channels[row.channel]) { - errors.push({ - line: i + 2, - message: `"${row.channel}" is missing in the channels.csv` - }) - } - - return errors -} - -function validateCountryLanguages(row, i) { - const errors = [] - for (let lang of row.languages) { - if (!db.languages[lang]) { - errors.push({ - line: i + 2, - message: `"${row.code}" has the wrong language "${lang}"` - }) - } - } - - return errors -} - -function validateSubdivisionCountry(row, i) { - const errors = [] - if (!db.countries[row.country]) { - errors.push({ - line: i + 2, - message: `"${row.code}" has the wrong country "${row.country}"` - }) - } - - return errors -} - -function validateRegionCountries(row, i) { - const errors = [] - row.countries.forEach(country => { - if (!db.countries[country]) { - errors.push({ - line: i + 2, - message: `"${row.code}" has the wrong country "${country}"` - }) - } - }) - - return errors -} - -function handleError(message) { - logger.error(chalk.red(`\n${message}`)) - process.exit(1) -} diff --git a/scripts/db/validate.ts b/scripts/db/validate.ts new file mode 100644 index 00000000..578987a4 --- /dev/null +++ b/scripts/db/validate.ts @@ -0,0 +1,257 @@ +import { Collection, Storage, File, Dictionary, Logger } from '@freearhey/core' +import { DATA_DIR } from '../constants' +import { program } from 'commander' +import Joi from 'joi' +import { CSVParser, IDCreator } from '../core' +import chalk from 'chalk' + +program.argument('[filepath]', 'Path to file to validate').parse(process.argv) + +const logger = new Logger() +const buffer = new Dictionary() +const files = new Dictionary() +const schemes: { [key: string]: object } = require('../schemes') + +async function main() { + const dataStorage = new Storage(DATA_DIR) + const _files = await dataStorage.list('*.csv') + let globalErrors = new Collection() + const parser = new CSVParser() + + for (const filepath of _files) { + const file = new File(filepath) + if (file.extension() !== 'csv') continue + + const csv = await dataStorage.load(file.basename()) + if (/\s+$/.test(csv)) + return handleError(`Error: empty lines at the end of file not allowed (${filepath})`) + + const rows = csv.split(/\r\n/) + const headers = rows[0].split(',') + for (const [i, line] of rows.entries()) { + if (line.indexOf('\n') > -1) + return handleError( + `Error: row ${i + 1} has the wrong line ending character, should be CRLF (${filepath})` + ) + if (line.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/).length !== headers.length) + return handleError(`Error: row ${i + 1} has the wrong number of columns (${filepath})`) + } + + const data = await parser.parse(csv) + const filename = file.name() + + let grouped + switch (filename) { + case 'blocklist': + grouped = data.keyBy(item => item.channel) + break + case 'categories': + case 'channels': + grouped = data.keyBy(item => item.id) + break + default: + grouped = data.keyBy(item => item.code) + break + } + + buffer.set(filename, grouped) + files.set(filename, data) + } + + const filesToCheck = program.args.length ? program.args : _files + for (const filepath of filesToCheck) { + const file = new File(filepath) + const filename = file.name() + if (!schemes[filename]) return handleError(`Error: "${filename}" scheme is missing`) + + const rows: Collection = files.get(filename) + const rowsCopy = JSON.parse(JSON.stringify(rows.all())) + + let fileErrors = new Collection() + switch (filename) { + case 'channels': + fileErrors = fileErrors.concat(findDuplicatesBy(rowsCopy, 'id')) + for (const [i, row] of rowsCopy.entries()) { + fileErrors = fileErrors.concat(validateChannelId(row, i)) + fileErrors = fileErrors.concat(validateChannelBroadcastArea(row, i)) + fileErrors = fileErrors.concat( + checkValue(i, row, 'id', 'subdivision', buffer.get('subdivisions')) + ) + fileErrors = fileErrors.concat( + checkValue(i, row, 'id', 'categories', buffer.get('categories')) + ) + fileErrors = fileErrors.concat( + checkValue(i, row, 'id', 'replaced_by', buffer.get('channels')) + ) + fileErrors = fileErrors.concat( + checkValue(i, row, 'id', 'languages', buffer.get('languages')) + ) + fileErrors = fileErrors.concat( + checkValue(i, row, 'id', 'country', buffer.get('countries')) + ) + } + break + case 'blocklist': + for (const [i, row] of rowsCopy.entries()) { + fileErrors = fileErrors.concat(validateChannel(row.channel, i)) + } + break + case 'countries': + fileErrors = fileErrors.concat(findDuplicatesBy(rowsCopy, 'code')) + for (const [i, row] of rowsCopy.entries()) { + fileErrors = fileErrors.concat( + checkValue(i, row, 'code', 'languages', buffer.get('languages')) + ) + } + break + case 'subdivisions': + fileErrors = fileErrors.concat(findDuplicatesBy(rowsCopy, 'code')) + for (const [i, row] of rowsCopy.entries()) { + fileErrors = fileErrors.concat( + checkValue(i, row, 'code', 'country', buffer.get('countries')) + ) + } + break + case 'regions': + fileErrors = fileErrors.concat(findDuplicatesBy(rowsCopy, 'code')) + for (const [i, row] of rowsCopy.entries()) { + fileErrors = fileErrors.concat( + checkValue(i, row, 'code', 'countries', buffer.get('countries')) + ) + } + break + case 'categories': + fileErrors = fileErrors.concat(findDuplicatesBy(rowsCopy, 'id')) + break + case 'languages': + fileErrors = fileErrors.concat(findDuplicatesBy(rowsCopy, 'code')) + break + } + + const schema = Joi.object(schemes[filename]) + rows.forEach((row: string | string[] | boolean, i: number) => { + const { error } = schema.validate(row, { abortEarly: false }) + if (error) { + error.details.forEach(detail => { + fileErrors.push({ line: i + 2, message: detail.message }) + }) + } + }) + + if (fileErrors.count()) { + logger.info(`\n${chalk.underline(filepath)}`) + fileErrors.forEach(err => { + const position = err.line.toString().padEnd(6, ' ') + logger.info(` ${chalk.gray(position)} ${err.message}`) + }) + globalErrors = globalErrors.concat(fileErrors) + } + } + + if (globalErrors.count()) return handleError(`${globalErrors.count()} error(s)`) +} + +main() + +function checkValue( + i: number, + row: { [key: string]: string[] | string | boolean }, + key: string, + field: string, + collection: Collection +) { + const errors = new Collection() + let values: string[] = [] + if (Array.isArray(row[field])) { + values = row[field] as string[] + } else if (typeof row[field] === 'string') { + values = new Array(row[field]) as string[] + } + + values.forEach((value: string) => { + if (collection.missing(value)) { + errors.push({ + line: i + 2, + message: `"${row[key]}" has an invalid ${field} "${value}"` + }) + } + }) + + return errors +} + +function validateChannel(channelId: string, i: number) { + const errors = new Collection() + const channels = buffer.get('channels') + + if (channels.missing(channelId)) { + errors.push({ + line: i + 2, + message: `"${channelId}" is missing in the channels.csv` + }) + } + + return errors +} + +function findDuplicatesBy(rows: { [key: string]: string }[], key: string) { + const errors = new Collection() + const buffer = new Dictionary() + + rows.forEach((row, i) => { + const normId = row[key].toLowerCase() + if (buffer.has(normId)) { + errors.push({ + line: i + 2, + message: `entry with the ${key} "${row[key]}" already exists` + }) + } + + buffer.set(normId, true) + }) + + return errors +} + +function validateChannelId(row: { [key: string]: string }, i: number) { + const errors = new Collection() + + const expectedId = new IDCreator().create(row.name, row.country) + + if (expectedId !== row.id) { + errors.push({ + line: i + 2, + message: `"${row.id}" must be derived from the channel name "${row.name}" and the country code "${row.country}"` + }) + } + + return errors +} + +function validateChannelBroadcastArea(row: { [key: string]: string[] }, i: number) { + const errors = new Collection() + const regions = buffer.get('regions') + const countries = buffer.get('countries') + const subdivisions = buffer.get('subdivisions') + + row.broadcast_area.forEach((areaCode: string) => { + const [type, code] = areaCode.split('/') + if ( + (type === 'r' && regions.missing(code)) || + (type === 'c' && countries.missing(code)) || + (type === 's' && subdivisions.missing(code)) + ) { + errors.push({ + line: i + 2, + message: `"${row.id}" has the wrong broadcast_area "${areaCode}"` + }) + } + }) + + return errors +} + +function handleError(message: string) { + logger.error(chalk.red(message)) + process.exit(1) +} diff --git a/scripts/models/blocked.ts b/scripts/models/blocked.ts new file mode 100644 index 00000000..1de7a198 --- /dev/null +++ b/scripts/models/blocked.ts @@ -0,0 +1,14 @@ +type BlockedProps = { + channel: string + ref: string +} + +export class Blocked { + channel: string + ref: string + + constructor({ ref, channel }: BlockedProps) { + this.channel = channel + this.ref = ref + } +} diff --git a/scripts/models/channel.ts b/scripts/models/channel.ts new file mode 100644 index 00000000..e9cf5846 --- /dev/null +++ b/scripts/models/channel.ts @@ -0,0 +1,85 @@ +type ChannelProps = { + id: string + name: string + alt_names: string[] + network: string + owners: string[] + country: string + subdivision: string + city: string + broadcast_area: string[] + languages: string[] + categories: string[] + is_nsfw: boolean + launched: string + closed: string + replaced_by: string + website: string + logo: string +} + +export class Channel { + id: string + name: string + alt_names: string[] + network: string + owners: string[] + country: string + subdivision: string + city: string + broadcast_area: string[] + languages: string[] + categories: string[] + is_nsfw: boolean + launched: string + closed: string + replaced_by: string + website: string + logo: string + + constructor({ + id, + name, + alt_names, + network, + owners, + country, + subdivision, + city, + broadcast_area, + languages, + categories, + is_nsfw, + launched, + closed, + replaced_by, + website, + logo + }: ChannelProps) { + this.id = id + this.name = name + this.alt_names = alt_names + this.network = network + this.owners = owners + this.country = country + this.subdivision = subdivision + this.city = city + this.broadcast_area = broadcast_area + this.languages = languages + this.categories = categories + this.is_nsfw = is_nsfw + this.launched = launched + this.closed = closed + this.replaced_by = replaced_by + this.website = website + this.logo = logo + } + + update(data: { [key: string]: string }) { + for (const key in data) { + if (this[key] && data[key]) { + this[key] = data[key] + } + } + } +} diff --git a/scripts/models/index.ts b/scripts/models/index.ts new file mode 100644 index 00000000..c3258404 --- /dev/null +++ b/scripts/models/index.ts @@ -0,0 +1,3 @@ +export * from './channel' +export * from './issue' +export * from './blocked' diff --git a/scripts/models/issue.ts b/scripts/models/issue.ts new file mode 100644 index 00000000..fecb1fde --- /dev/null +++ b/scripts/models/issue.ts @@ -0,0 +1,19 @@ +import { Dictionary } from '@freearhey/core' + +type IssueProps = { + number: number + labels: string[] + data: Dictionary +} + +export class Issue { + number: number + labels: string[] + data: Dictionary + + constructor({ number, labels, data }: IssueProps) { + this.number = number + this.labels = labels + this.data = data + } +} diff --git a/scripts/db/schemes/blocklist.js b/scripts/schemes/blocklist.js similarity index 95% rename from scripts/db/schemes/blocklist.js rename to scripts/schemes/blocklist.js index 29e57d75..f629a85c 100644 --- a/scripts/db/schemes/blocklist.js +++ b/scripts/schemes/blocklist.js @@ -1,8 +1,8 @@ -const Joi = require('joi') - -module.exports = { - channel: Joi.string() - .regex(/^[A-Za-z0-9]+\.[a-z]{2}$/) - .required(), - ref: Joi.string().uri().required() -} +const Joi = require('joi') + +module.exports = { + channel: Joi.string() + .regex(/^[A-Za-z0-9]+\.[a-z]{2}$/) + .required(), + ref: Joi.string().uri().required() +} diff --git a/scripts/db/schemes/categories.js b/scripts/schemes/categories.js similarity index 94% rename from scripts/db/schemes/categories.js rename to scripts/schemes/categories.js index 4d655c97..7986ecd4 100644 --- a/scripts/db/schemes/categories.js +++ b/scripts/schemes/categories.js @@ -1,10 +1,10 @@ -const Joi = require('joi') - -module.exports = { - id: Joi.string() - .regex(/^[a-z]+$/) - .required(), - name: Joi.string() - .regex(/^[A-Z]+$/i) - .required() -} +const Joi = require('joi') + +module.exports = { + id: Joi.string() + .regex(/^[a-z]+$/) + .required(), + name: Joi.string() + .regex(/^[A-Z]+$/i) + .required() +} diff --git a/scripts/db/schemes/channels.js b/scripts/schemes/channels.js similarity index 96% rename from scripts/db/schemes/channels.js rename to scripts/schemes/channels.js index d6c12636..ea6e17ec 100644 --- a/scripts/db/schemes/channels.js +++ b/scripts/schemes/channels.js @@ -1,65 +1,65 @@ -const Joi = require('joi').extend(require('@joi/date')) -const path = require('path') -const url = require('url') - -module.exports = { - id: Joi.string() - .regex(/^[A-Za-z0-9]+\.[a-z]{2}$/) - .required(), - name: Joi.string() - .regex(/^[a-z0-9-!:&.+'/»#%°$@?\s]+$/i) - .required(), - alt_names: Joi.array().items( - Joi.string() - .regex(/^[^",]+$/) - .invalid(Joi.ref('name')) - ), - network: Joi.string() - .regex(/^[^",]+$/) - .allow(null), - owners: Joi.array().items(Joi.string().regex(/^[^",]+$/)), - country: Joi.string() - .regex(/^[A-Z]{2}$/) - .required(), - subdivision: Joi.string() - .regex(/^[A-Z]{2}-[A-Z0-9]{1,3}$/) - .allow(null), - city: Joi.string() - .regex(/^[^",]+$/) - .allow(null), - broadcast_area: Joi.array().items( - Joi.string() - .regex(/^(s\/[A-Z]{2}-[A-Z0-9]{1,3}|c\/[A-Z]{2}|r\/[A-Z0-9]{3,7})$/) - .required() - ), - languages: Joi.array().items( - Joi.string() - .regex(/^[a-z]{3}$/) - .required() - ), - categories: Joi.array().items(Joi.string().regex(/^[a-z]+$/)), - is_nsfw: Joi.boolean().strict().required(), - launched: Joi.date().format('YYYY-MM-DD').raw().allow(null), - closed: Joi.date().format('YYYY-MM-DD').raw().allow(null).greater(Joi.ref('launched')), - replaced_by: Joi.string() - .regex(/^[A-Za-z0-9]+\.[a-z]{2}$/) - .allow(null), - website: Joi.string() - .uri({ - scheme: ['http', 'https'] - }) - .allow(null), - logo: Joi.string() - .uri({ - scheme: ['https'] - }) - .custom((value, helper) => { - const ext = path.extname(url.parse(value).pathname) - if (!ext || /(\.png|\.jpeg|\.jpg)/i.test(ext)) { - return true - } else { - return helper.message(`"logo" has an invalid file extension "${ext}"`) - } - }) - .required() -} +const Joi = require('joi').extend(require('@joi/date')) +const path = require('path') +const url = require('url') + +module.exports = { + id: Joi.string() + .regex(/^[A-Za-z0-9]+\.[a-z]{2}$/) + .required(), + name: Joi.string() + .regex(/^[a-z0-9-!:&.+'/»#%°$@?\s]+$/i) + .required(), + alt_names: Joi.array().items( + Joi.string() + .regex(/^[^",]+$/) + .invalid(Joi.ref('name')) + ), + network: Joi.string() + .regex(/^[^",]+$/) + .allow(null), + owners: Joi.array().items(Joi.string().regex(/^[^",]+$/)), + country: Joi.string() + .regex(/^[A-Z]{2}$/) + .required(), + subdivision: Joi.string() + .regex(/^[A-Z]{2}-[A-Z0-9]{1,3}$/) + .allow(null), + city: Joi.string() + .regex(/^[^",]+$/) + .allow(null), + broadcast_area: Joi.array().items( + Joi.string() + .regex(/^(s\/[A-Z]{2}-[A-Z0-9]{1,3}|c\/[A-Z]{2}|r\/[A-Z0-9]{3,7})$/) + .required() + ), + languages: Joi.array().items( + Joi.string() + .regex(/^[a-z]{3}$/) + .required() + ), + categories: Joi.array().items(Joi.string().regex(/^[a-z]+$/)), + is_nsfw: Joi.boolean().strict().required(), + launched: Joi.date().format('YYYY-MM-DD').raw().allow(null), + closed: Joi.date().format('YYYY-MM-DD').raw().allow(null).greater(Joi.ref('launched')), + replaced_by: Joi.string() + .regex(/^[A-Za-z0-9]+\.[a-z]{2}$/) + .allow(null), + website: Joi.string() + .uri({ + scheme: ['http', 'https'] + }) + .allow(null), + logo: Joi.string() + .uri({ + scheme: ['https'] + }) + .custom((value, helper) => { + const ext = path.extname(url.parse(value).pathname) + if (!ext || /(\.png|\.jpeg|\.jpg)/i.test(ext)) { + return true + } else { + return helper.message(`"logo" has an invalid file extension "${ext}"`) + } + }) + .required() +} diff --git a/scripts/db/schemes/countries.js b/scripts/schemes/countries.js similarity index 95% rename from scripts/db/schemes/countries.js rename to scripts/schemes/countries.js index 31e737ac..4db75d24 100644 --- a/scripts/db/schemes/countries.js +++ b/scripts/schemes/countries.js @@ -1,18 +1,18 @@ -const Joi = require('joi') - -module.exports = { - name: Joi.string() - .regex(/^[\sA-Z\u00C0-\u00FF().-]+$/i) - .required(), - code: Joi.string() - .regex(/^[A-Z]{2}$/) - .required(), - languages: Joi.array().items( - Joi.string() - .regex(/^[a-z]{3}$/) - .required() - ), - flag: Joi.string() - .regex(/^[\uD83C][\uDDE6-\uDDFF][\uD83C][\uDDE6-\uDDFF]$/) - .required() -} +const Joi = require('joi') + +module.exports = { + name: Joi.string() + .regex(/^[\sA-Z\u00C0-\u00FF().-]+$/i) + .required(), + code: Joi.string() + .regex(/^[A-Z]{2}$/) + .required(), + languages: Joi.array().items( + Joi.string() + .regex(/^[a-z]{3}$/) + .required() + ), + flag: Joi.string() + .regex(/^[\uD83C][\uDDE6-\uDDFF][\uD83C][\uDDE6-\uDDFF]$/) + .required() +} diff --git a/scripts/db/schemes/index.js b/scripts/schemes/index.js similarity index 97% rename from scripts/db/schemes/index.js rename to scripts/schemes/index.js index d8b765e9..f803aadf 100644 --- a/scripts/db/schemes/index.js +++ b/scripts/schemes/index.js @@ -1,7 +1,7 @@ -exports.channels = require('./channels') -exports.categories = require('./categories') -exports.countries = require('./countries') -exports.languages = require('./languages') -exports.regions = require('./regions') -exports.subdivisions = require('./subdivisions') -exports.blocklist = require('./blocklist') +exports.channels = require('./channels') +exports.categories = require('./categories') +exports.countries = require('./countries') +exports.languages = require('./languages') +exports.regions = require('./regions') +exports.subdivisions = require('./subdivisions') +exports.blocklist = require('./blocklist') diff --git a/scripts/db/schemes/languages.js b/scripts/schemes/languages.js similarity index 94% rename from scripts/db/schemes/languages.js rename to scripts/schemes/languages.js index f7ca07ac..4c773ade 100644 --- a/scripts/db/schemes/languages.js +++ b/scripts/schemes/languages.js @@ -1,8 +1,8 @@ -const Joi = require('joi') - -module.exports = { - code: Joi.string() - .regex(/^[a-z]{3}$/) - .required(), - name: Joi.string().required() -} +const Joi = require('joi') + +module.exports = { + code: Joi.string() + .regex(/^[a-z]{3}$/) + .required(), + name: Joi.string().required() +} diff --git a/scripts/db/schemes/regions.js b/scripts/schemes/regions.js similarity index 94% rename from scripts/db/schemes/regions.js rename to scripts/schemes/regions.js index 2560aa9d..16721af2 100644 --- a/scripts/db/schemes/regions.js +++ b/scripts/schemes/regions.js @@ -1,15 +1,15 @@ -const Joi = require('joi') - -module.exports = { - name: Joi.string() - .regex(/^[\sA-Z\u00C0-\u00FF().,-]+$/i) - .required(), - code: Joi.string() - .regex(/^[A-Z]{3,7}$/) - .required(), - countries: Joi.array().items( - Joi.string() - .regex(/^[A-Z]{2}$/) - .required() - ) -} +const Joi = require('joi') + +module.exports = { + name: Joi.string() + .regex(/^[\sA-Z\u00C0-\u00FF().,-]+$/i) + .required(), + code: Joi.string() + .regex(/^[A-Z]{3,7}$/) + .required(), + countries: Joi.array().items( + Joi.string() + .regex(/^[A-Z]{2}$/) + .required() + ) +} diff --git a/scripts/db/schemes/subdivisions.js b/scripts/schemes/subdivisions.js similarity index 95% rename from scripts/db/schemes/subdivisions.js rename to scripts/schemes/subdivisions.js index 43624a30..763eb28c 100644 --- a/scripts/db/schemes/subdivisions.js +++ b/scripts/schemes/subdivisions.js @@ -1,11 +1,11 @@ -const Joi = require('joi') - -module.exports = { - country: Joi.string() - .regex(/^[A-Z]{2}$/) - .required(), - name: Joi.string().required(), - code: Joi.string() - .regex(/^[A-Z]{2}-[A-Z0-9]{1,3}$/) - .required() -} +const Joi = require('joi') + +module.exports = { + country: Joi.string() + .regex(/^[A-Z]{2}$/) + .required(), + name: Joi.string().required(), + code: Joi.string() + .regex(/^[A-Z]{2}-[A-Z0-9]{1,3}$/) + .required() +} diff --git a/tests/__data__/.gitignore b/tests/__data__/.gitignore new file mode 100644 index 00000000..9b1960e7 --- /dev/null +++ b/tests/__data__/.gitignore @@ -0,0 +1 @@ +output/ \ No newline at end of file diff --git a/tests/__data__/expected/api/blocklist.json b/tests/__data__/expected/api/blocklist.json new file mode 100644 index 00000000..8a66ad1a --- /dev/null +++ b/tests/__data__/expected/api/blocklist.json @@ -0,0 +1 @@ +[{"channel":"AnimalPlanetAfrica.za","ref":"https://github.com/iptv-org/iptv/issues/1831"}] \ No newline at end of file diff --git a/tests/__data__/expected/api/channels.json b/tests/__data__/expected/api/channels.json new file mode 100644 index 00000000..c7651abf --- /dev/null +++ b/tests/__data__/expected/api/channels.json @@ -0,0 +1 @@ +[{"id":"002RadioTV.do","name":"002 Radio TV","alt_names":[],"network":null,"owners":[],"country":"DO","subdivision":null,"city":null,"broadcast_area":["c/DO"],"languages":["spa"],"categories":["general"],"is_nsfw":false,"launched":null,"closed":null,"replaced_by":null,"website":"https://www.002radio.com/","logo":"https://i.imgur.com/7oNe8xj.png"},{"id":"BeijingSatelliteTV.cn","name":"Beijing Satellite TV","alt_names":["北京卫视"],"network":null,"owners":[],"country":"CN","subdivision":null,"city":"Beijing","broadcast_area":["c/CN"],"languages":["zho"],"categories":["general"],"is_nsfw":false,"launched":"1979-05-16","closed":null,"replaced_by":null,"website":"https://www.brtn.cn/btv/","logo":"https://i.imgur.com/vsktAez.png"},{"id":"M5.hu","name":"M5","alt_names":[],"network":null,"owners":[],"country":"HU","subdivision":null,"city":null,"broadcast_area":["c/HU"],"languages":["hun"],"categories":[],"is_nsfw":false,"launched":null,"closed":null,"replaced_by":null,"website":"https://www.mediaklikk.hu/m5/","logo":"https://i.imgur.com/y21wFd0.png"}] \ No newline at end of file diff --git a/tests/__data__/expected/data/blocklist.csv b/tests/__data__/expected/data/blocklist.csv new file mode 100644 index 00000000..ff5b8c90 --- /dev/null +++ b/tests/__data__/expected/data/blocklist.csv @@ -0,0 +1,2 @@ +channel,ref +HGTVHungary.hu,https://github.com/iptv-org/iptv/issues/1831 \ No newline at end of file diff --git a/tests/__data__/expected/data/channels.csv b/tests/__data__/expected/data/channels.csv new file mode 100644 index 00000000..bc08e199 --- /dev/null +++ b/tests/__data__/expected/data/channels.csv @@ -0,0 +1,6 @@ +id,name,alt_names,network,owners,country,subdivision,city,broadcast_area,languages,categories,is_nsfw,launched,closed,replaced_by,website,logo +beINMoviesTurk.tr,beIN Movies Turk,beIN Movies Türk,,,TR,,Beijing,c/TR,tur,movies,FALSE,1979-05-16,,,http://www.digiturk.com.tr/,https://i.imgur.com/nw8Sa2z.png +M5.hu,M5,,,Duna Médiaszolgáltató Nonprofit Zrt.,HU,,,c/HU,hun,,FALSE,,,,https://www.mediaklikk.hu/m5/,https://i.imgur.com/y21wFd0.png +WenzhouEconomicandEducation.cn,Wenzhou Economic and Education,,,,CN,,Wenzhou,c/CN,zho,science,FALSE,,,,,https://www.tvchinese.net/uploads/tv/wzjjkj.jpg +YiwuBusinessChannel.cn,Yiwu Business Channel,,,,CN,,,c/CN,zho,business,FALSE,,,,,https://www.tvchinese.net/uploads/tv/yiwutv.jpg +YiwuNewsIntegratedChannel.cn,Yiwu News Integrated Channel,,,,CN,,,c/CN,zho,news,FALSE,,,,,https://www.tvchinese.net/uploads/tv/yiwutv.jpg \ No newline at end of file diff --git a/tests/__data__/input/data/blocklist.csv b/tests/__data__/input/data/blocklist.csv new file mode 100644 index 00000000..6695ea21 --- /dev/null +++ b/tests/__data__/input/data/blocklist.csv @@ -0,0 +1,2 @@ +channel,ref +AnimalPlanetAfrica.za,https://github.com/iptv-org/iptv/issues/1831 \ No newline at end of file diff --git a/tests/__data__/input/data/channels.csv b/tests/__data__/input/data/channels.csv new file mode 100644 index 00000000..dcbdb911 --- /dev/null +++ b/tests/__data__/input/data/channels.csv @@ -0,0 +1,4 @@ +id,name,alt_names,network,owners,country,subdivision,city,broadcast_area,languages,categories,is_nsfw,launched,closed,replaced_by,website,logo +002RadioTV.do,002 Radio TV,,,,DO,,,c/DO,spa,general,FALSE,,,,https://www.002radio.com/,https://i.imgur.com/7oNe8xj.png +BeijingSatelliteTV.cn,Beijing Satellite TV,北京卫视,,,CN,,Beijing,c/CN,zho,general,FALSE,1979-05-16,,,https://www.brtn.cn/btv/,https://i.imgur.com/vsktAez.png +M5.hu,M5,,,,HU,,,c/HU,hun,,FALSE,,,,https://www.mediaklikk.hu/m5/,https://i.imgur.com/y21wFd0.png \ No newline at end of file diff --git a/tests/__data__/input/issues/blocklist_add_approved.js b/tests/__data__/input/issues/blocklist_add_approved.js new file mode 100644 index 00000000..efddef9e --- /dev/null +++ b/tests/__data__/input/issues/blocklist_add_approved.js @@ -0,0 +1,81 @@ +module.exports = [ + { + url: 'https://api.github.com/repos/iptv-org/database/issues/5897', + repository_url: 'https://api.github.com/repos/iptv-org/database', + labels_url: 'https://api.github.com/repos/iptv-org/database/issues/5897/labels{/name}', + comments_url: 'https://api.github.com/repos/iptv-org/database/issues/5897/comments', + events_url: 'https://api.github.com/repos/iptv-org/database/issues/5897/events', + html_url: 'https://github.com/iptv-org/database/issues/5897', + id: 1929261634, + node_id: 'I_kwDOG1Kwp85y_jJC', + number: 5897, + title: 'Block: HGTV Hungary', + user: { + login: 'freearhey', + id: 7253922, + node_id: 'MDQ6VXNlcjcyNTM5MjI=', + avatar_url: 'https://avatars.githubusercontent.com/u/7253922?v=4', + gravatar_id: '', + url: 'https://api.github.com/users/freearhey', + html_url: 'https://github.com/freearhey', + followers_url: 'https://api.github.com/users/freearhey/followers', + following_url: 'https://api.github.com/users/freearhey/following{/other_user}', + gists_url: 'https://api.github.com/users/freearhey/gists{/gist_id}', + starred_url: 'https://api.github.com/users/freearhey/starred{/owner}{/repo}', + subscriptions_url: 'https://api.github.com/users/freearhey/subscriptions', + organizations_url: 'https://api.github.com/users/freearhey/orgs', + repos_url: 'https://api.github.com/users/freearhey/repos', + events_url: 'https://api.github.com/users/freearhey/events{/privacy}', + received_events_url: 'https://api.github.com/users/freearhey/received_events', + type: 'User', + site_admin: false + }, + labels: [ + { + id: 5366738347, + node_id: 'LA_kwDOG1Kwp88AAAABP-Htqw', + url: 'https://api.github.com/repos/iptv-org/database/labels/approved', + name: 'approved', + color: '85DDDE', + default: false, + description: '' + }, + { + id: 6049155772, + node_id: 'LA_kwDOG1Kwp88AAAABaI7KvA', + url: 'https://api.github.com/repos/iptv-org/database/labels/blocklist:add', + name: 'blocklist:add', + color: 'e99695', + default: false, + description: 'Request to add a channel to the blocklist' + } + ], + state: 'open', + locked: false, + assignee: null, + assignees: [], + milestone: null, + comments: 0, + created_at: '2023-10-06T00:35:32Z', + updated_at: '2023-10-06T00:35:32Z', + closed_at: null, + author_association: 'CONTRIBUTOR', + active_lock_reason: null, + body: '### Channel ID\n\nHGTVHungary.hu\n\n### Reference\n\nhttps://github.com/iptv-org/iptv/issues/1831\n\n### Notes (optional)\n\n_No response_', + reactions: { + url: 'https://api.github.com/repos/iptv-org/database/issues/5897/reactions', + total_count: 0, + '+1': 0, + '-1': 0, + laugh: 0, + hooray: 0, + confused: 0, + heart: 0, + rocket: 0, + eyes: 0 + }, + timeline_url: 'https://api.github.com/repos/iptv-org/database/issues/5897/timeline', + performed_via_github_app: null, + state_reason: null + } +] diff --git a/tests/__data__/input/issues/blocklist_remove_approved.js b/tests/__data__/input/issues/blocklist_remove_approved.js new file mode 100644 index 00000000..3644c21e --- /dev/null +++ b/tests/__data__/input/issues/blocklist_remove_approved.js @@ -0,0 +1,81 @@ +module.exports = [ + { + url: 'https://api.github.com/repos/iptv-org/database/issues/5891', + repository_url: 'https://api.github.com/repos/iptv-org/database', + labels_url: 'https://api.github.com/repos/iptv-org/database/issues/5891/labels{/name}', + comments_url: 'https://api.github.com/repos/iptv-org/database/issues/5891/comments', + events_url: 'https://api.github.com/repos/iptv-org/database/issues/5891/events', + html_url: 'https://github.com/iptv-org/database/issues/5891', + id: 1929261634, + node_id: 'I_kwDOG1Kwp85y_jJC', + number: 5891, + title: 'Unblock: Animal Planet Africa', + user: { + login: 'freearhey', + id: 7253922, + node_id: 'MDQ6VXNlcjcyNTM5MjI=', + avatar_url: 'https://avatars.githubusercontent.com/u/7253922?v=4', + gravatar_id: '', + url: 'https://api.github.com/users/freearhey', + html_url: 'https://github.com/freearhey', + followers_url: 'https://api.github.com/users/freearhey/followers', + following_url: 'https://api.github.com/users/freearhey/following{/other_user}', + gists_url: 'https://api.github.com/users/freearhey/gists{/gist_id}', + starred_url: 'https://api.github.com/users/freearhey/starred{/owner}{/repo}', + subscriptions_url: 'https://api.github.com/users/freearhey/subscriptions', + organizations_url: 'https://api.github.com/users/freearhey/orgs', + repos_url: 'https://api.github.com/users/freearhey/repos', + events_url: 'https://api.github.com/users/freearhey/events{/privacy}', + received_events_url: 'https://api.github.com/users/freearhey/received_events', + type: 'User', + site_admin: false + }, + labels: [ + { + id: 5366738347, + node_id: 'LA_kwDOG1Kwp88AAAABP-Htqw', + url: 'https://api.github.com/repos/iptv-org/database/labels/approved', + name: 'approved', + color: '85DDDE', + default: false, + description: '' + }, + { + id: 6049155772, + node_id: 'LA_kwDOG1Kwp88AAAABaI7KvA', + url: 'https://api.github.com/repos/iptv-org/database/labels/blocklist:add', + name: 'blocklist:remove', + color: 'e99695', + default: false, + description: 'Request to remove a channel from the blocklist' + } + ], + state: 'open', + locked: false, + assignee: null, + assignees: [], + milestone: null, + comments: 0, + created_at: '2023-10-06T00:35:32Z', + updated_at: '2023-10-06T00:35:32Z', + closed_at: null, + author_association: 'CONTRIBUTOR', + active_lock_reason: null, + body: '### Channel ID\n\nAnimalPlanetAfrica.za\n\n### Reason\n\nOther\n\n### Notes (optional)\n\n_No response_', + reactions: { + url: 'https://api.github.com/repos/iptv-org/database/issues/5891/reactions', + total_count: 0, + '+1': 0, + '-1': 0, + laugh: 0, + hooray: 0, + confused: 0, + heart: 0, + rocket: 0, + eyes: 0 + }, + timeline_url: 'https://api.github.com/repos/iptv-org/database/issues/5891/timeline', + performed_via_github_app: null, + state_reason: null + } +] diff --git a/tests/__data__/input/issues/channels_add_approved.js b/tests/__data__/input/issues/channels_add_approved.js new file mode 100644 index 00000000..12472861 --- /dev/null +++ b/tests/__data__/input/issues/channels_add_approved.js @@ -0,0 +1,239 @@ +module.exports = [ + { + url: 'https://api.github.com/repos/iptv-org/database/issues/5900', + repository_url: 'https://api.github.com/repos/iptv-org/database', + labels_url: 'https://api.github.com/repos/iptv-org/database/issues/5900/labels{/name}', + comments_url: 'https://api.github.com/repos/iptv-org/database/issues/5900/comments', + events_url: 'https://api.github.com/repos/iptv-org/database/issues/5900/events', + html_url: 'https://github.com/iptv-org/database/issues/5900', + id: 1929321995, + node_id: 'I_kwDOG1Kwp85y_x4L', + number: 5900, + title: 'Add: Yiwu News Integrated Channel', + user: { + login: 'AntiPontifex', + id: 81566772, + node_id: 'MDQ6VXNlcjgxNTY2Nzcy', + avatar_url: 'https://avatars.githubusercontent.com/u/81566772?v=4', + gravatar_id: '', + url: 'https://api.github.com/users/AntiPontifex', + html_url: 'https://github.com/AntiPontifex', + followers_url: 'https://api.github.com/users/AntiPontifex/followers', + following_url: 'https://api.github.com/users/AntiPontifex/following{/other_user}', + gists_url: 'https://api.github.com/users/AntiPontifex/gists{/gist_id}', + starred_url: 'https://api.github.com/users/AntiPontifex/starred{/owner}{/repo}', + subscriptions_url: 'https://api.github.com/users/AntiPontifex/subscriptions', + organizations_url: 'https://api.github.com/users/AntiPontifex/orgs', + repos_url: 'https://api.github.com/users/AntiPontifex/repos', + events_url: 'https://api.github.com/users/AntiPontifex/events{/privacy}', + received_events_url: 'https://api.github.com/users/AntiPontifex/received_events', + type: 'User', + site_admin: false + }, + labels: [ + { + id: 5303575699, + node_id: 'LA_kwDOG1Kwp88AAAABPB4kkw', + url: 'https://api.github.com/repos/iptv-org/database/labels/channels:add', + name: 'channels:add', + color: '017ff8', + default: false, + description: 'Request to add a channel into the database' + }, + { + id: 5366738347, + node_id: 'LA_kwDOG1Kwp88AAAABP-Htqw', + url: 'https://api.github.com/repos/iptv-org/database/labels/approved', + name: 'approved', + color: '85DDDE', + default: false, + description: '' + } + ], + state: 'open', + locked: false, + assignee: null, + assignees: [], + milestone: null, + comments: 0, + created_at: '2023-10-06T02:10:41Z', + updated_at: '2023-10-06T02:52:02Z', + closed_at: null, + author_association: 'CONTRIBUTOR', + active_lock_reason: null, + body: '### Channel Name\n\nYiwu News Integrated Channel\n\n### Alternative Names (optional)\n\n_No response_\n\n### Network (optional)\n\n_No response_\n\n### Owners (optional)\n\n_No response_\n\n### Country\n\nCN\n\n### Subdivision (optional)\n\n_No response_\n\n### City (optional)\n\n_No response_\n\n### Broadcast Area\n\nc/CN\n\n### Languages\n\nzho\n\n### Categories (optional)\n\nnews\n\n### NSFW\n\nFALSE\n\n### Launched (optional)\n\n_No response_\n\n### Closed (optional)\n\n_No response_\n\n### Replaced By (optional)\n\n_No response_\n\n### Website (optional)\n\n_No response_\n\n### Logo\n\nhttps://www.tvchinese.net/uploads/tv/yiwutv.jpg\n\n### Notes\n\n_No response_', + reactions: { + url: 'https://api.github.com/repos/iptv-org/database/issues/5900/reactions', + total_count: 0, + '+1': 0, + '-1': 0, + laugh: 0, + hooray: 0, + confused: 0, + heart: 0, + rocket: 0, + eyes: 0 + }, + timeline_url: 'https://api.github.com/repos/iptv-org/database/issues/5900/timeline', + performed_via_github_app: null, + state_reason: null + }, + { + url: 'https://api.github.com/repos/iptv-org/database/issues/5899', + repository_url: 'https://api.github.com/repos/iptv-org/database', + labels_url: 'https://api.github.com/repos/iptv-org/database/issues/5899/labels{/name}', + comments_url: 'https://api.github.com/repos/iptv-org/database/issues/5899/comments', + events_url: 'https://api.github.com/repos/iptv-org/database/issues/5899/events', + html_url: 'https://github.com/iptv-org/database/issues/5899', + id: 1929318573, + node_id: 'I_kwDOG1Kwp85y_xCt', + number: 5899, + title: 'Add: Yiwu Business Channel', + user: { + login: 'AntiPontifex', + id: 81566772, + node_id: 'MDQ6VXNlcjgxNTY2Nzcy', + avatar_url: 'https://avatars.githubusercontent.com/u/81566772?v=4', + gravatar_id: '', + url: 'https://api.github.com/users/AntiPontifex', + html_url: 'https://github.com/AntiPontifex', + followers_url: 'https://api.github.com/users/AntiPontifex/followers', + following_url: 'https://api.github.com/users/AntiPontifex/following{/other_user}', + gists_url: 'https://api.github.com/users/AntiPontifex/gists{/gist_id}', + starred_url: 'https://api.github.com/users/AntiPontifex/starred{/owner}{/repo}', + subscriptions_url: 'https://api.github.com/users/AntiPontifex/subscriptions', + organizations_url: 'https://api.github.com/users/AntiPontifex/orgs', + repos_url: 'https://api.github.com/users/AntiPontifex/repos', + events_url: 'https://api.github.com/users/AntiPontifex/events{/privacy}', + received_events_url: 'https://api.github.com/users/AntiPontifex/received_events', + type: 'User', + site_admin: false + }, + labels: [ + { + id: 5303575699, + node_id: 'LA_kwDOG1Kwp88AAAABPB4kkw', + url: 'https://api.github.com/repos/iptv-org/database/labels/channels:add', + name: 'channels:add', + color: '017ff8', + default: false, + description: 'Request to add a channel into the database' + }, + { + id: 5366738347, + node_id: 'LA_kwDOG1Kwp88AAAABP-Htqw', + url: 'https://api.github.com/repos/iptv-org/database/labels/approved', + name: 'approved', + color: '85DDDE', + default: false, + description: '' + } + ], + state: 'open', + locked: false, + assignee: null, + assignees: [], + milestone: null, + comments: 0, + created_at: '2023-10-06T02:05:11Z', + updated_at: '2023-10-06T02:51:46Z', + closed_at: null, + author_association: 'CONTRIBUTOR', + active_lock_reason: null, + body: '### Channel Name\n\nYiwu Business Channel\n\n### Alternative Names (optional)\n\n_No response_\n\n### Network (optional)\n\n_No response_\n\n### Owners (optional)\n\n_No response_\n\n### Country\n\nCN\n\n### Subdivision (optional)\n\n_No response_\n\n### City (optional)\n\n_No response_\n\n### Broadcast Area\n\nc/CN\n\n### Languages\n\nzho\n\n### Categories (optional)\n\nbusiness\n\n### NSFW\n\nFALSE\n\n### Launched (optional)\n\n_No response_\n\n### Closed (optional)\n\n_No response_\n\n### Replaced By (optional)\n\n_No response_\n\n### Website (optional)\n\n_No response_\n\n### Logo\n\nhttps://www.tvchinese.net/uploads/tv/yiwutv.jpg\n\n### Notes\n\n_No response_', + reactions: { + url: 'https://api.github.com/repos/iptv-org/database/issues/5899/reactions', + total_count: 0, + '+1': 0, + '-1': 0, + laugh: 0, + hooray: 0, + confused: 0, + heart: 0, + rocket: 0, + eyes: 0 + }, + timeline_url: 'https://api.github.com/repos/iptv-org/database/issues/5899/timeline', + performed_via_github_app: null, + state_reason: null + }, + { + url: 'https://api.github.com/repos/iptv-org/database/issues/5898', + repository_url: 'https://api.github.com/repos/iptv-org/database', + labels_url: 'https://api.github.com/repos/iptv-org/database/issues/5898/labels{/name}', + comments_url: 'https://api.github.com/repos/iptv-org/database/issues/5898/comments', + events_url: 'https://api.github.com/repos/iptv-org/database/issues/5898/events', + html_url: 'https://github.com/iptv-org/database/issues/5898', + id: 1929313117, + node_id: 'I_kwDOG1Kwp85y_vtd', + number: 5898, + title: 'Add: Wenzhou Economic and Education', + user: { + login: 'AntiPontifex', + id: 81566772, + node_id: 'MDQ6VXNlcjgxNTY2Nzcy', + avatar_url: 'https://avatars.githubusercontent.com/u/81566772?v=4', + gravatar_id: '', + url: 'https://api.github.com/users/AntiPontifex', + html_url: 'https://github.com/AntiPontifex', + followers_url: 'https://api.github.com/users/AntiPontifex/followers', + following_url: 'https://api.github.com/users/AntiPontifex/following{/other_user}', + gists_url: 'https://api.github.com/users/AntiPontifex/gists{/gist_id}', + starred_url: 'https://api.github.com/users/AntiPontifex/starred{/owner}{/repo}', + subscriptions_url: 'https://api.github.com/users/AntiPontifex/subscriptions', + organizations_url: 'https://api.github.com/users/AntiPontifex/orgs', + repos_url: 'https://api.github.com/users/AntiPontifex/repos', + events_url: 'https://api.github.com/users/AntiPontifex/events{/privacy}', + received_events_url: 'https://api.github.com/users/AntiPontifex/received_events', + type: 'User', + site_admin: false + }, + labels: [ + { + id: 5303575699, + node_id: 'LA_kwDOG1Kwp88AAAABPB4kkw', + url: 'https://api.github.com/repos/iptv-org/database/labels/channels:add', + name: 'channels:add', + color: '017ff8', + default: false, + description: 'Request to add a channel into the database' + }, + { + id: 5366738347, + node_id: 'LA_kwDOG1Kwp88AAAABP-Htqw', + url: 'https://api.github.com/repos/iptv-org/database/labels/approved', + name: 'approved', + color: '85DDDE', + default: false, + description: '' + } + ], + state: 'open', + locked: false, + assignee: null, + assignees: [], + milestone: null, + comments: 0, + created_at: '2023-10-06T01:56:32Z', + updated_at: '2023-10-06T02:51:22Z', + closed_at: null, + author_association: 'CONTRIBUTOR', + active_lock_reason: null, + body: '### Channel Name\n\nWenzhou Economic and Education\n\n### Alternative Names (optional)\n\n_No response_\n\n### Network (optional)\n\n_No response_\n\n### Owners (optional)\n\n_No response_\n\n### Country\n\nCN\n\n### Subdivision (optional)\n\n_No response_\n\n### City (optional)\n\nWenzhou\n\n### Broadcast Area\n\nc/CN\n\n### Languages\n\nzho\n\n### Categories (optional)\n\nscience\n\n### NSFW\n\nFALSE\n\n### Launched (optional)\n\n_No response_\n\n### Closed (optional)\n\n_No response_\n\n### Replaced By (optional)\n\n_No response_\n\n### Website (optional)\n\n_No response_\n\n### Logo\n\nhttps://www.tvchinese.net/uploads/tv/wzjjkj.jpg\n\n### Notes\n\n_No response_', + reactions: { + url: 'https://api.github.com/repos/iptv-org/database/issues/5898/reactions', + total_count: 0, + '+1': 0, + '-1': 0, + laugh: 0, + hooray: 0, + confused: 0, + heart: 0, + rocket: 0, + eyes: 0 + }, + timeline_url: 'https://api.github.com/repos/iptv-org/database/issues/5898/timeline', + performed_via_github_app: null, + state_reason: null + } +] diff --git a/tests/__data__/input/issues/channels_edit_approved.js b/tests/__data__/input/issues/channels_edit_approved.js new file mode 100644 index 00000000..6088c065 --- /dev/null +++ b/tests/__data__/input/issues/channels_edit_approved.js @@ -0,0 +1,160 @@ +module.exports = [ + { + url: 'https://api.github.com/repos/iptv-org/database/issues/5901', + repository_url: 'https://api.github.com/repos/iptv-org/database', + labels_url: 'https://api.github.com/repos/iptv-org/database/issues/5901/labels{/name}', + comments_url: 'https://api.github.com/repos/iptv-org/database/issues/5901/comments', + events_url: 'https://api.github.com/repos/iptv-org/database/issues/5901/events', + html_url: 'https://github.com/iptv-org/database/issues/5901', + id: 1929459171, + node_id: 'I_kwDOG1Kwp85zATXj', + number: 5901, + title: 'Edit: M5', + user: { + login: 'freearhey', + id: 7253922, + node_id: 'MDQ6VXNlcjcyNTM5MjI=', + avatar_url: 'https://avatars.githubusercontent.com/u/7253922?v=4', + gravatar_id: '', + url: 'https://api.github.com/users/freearhey', + html_url: 'https://github.com/freearhey', + followers_url: 'https://api.github.com/users/freearhey/followers', + following_url: 'https://api.github.com/users/freearhey/following{/other_user}', + gists_url: 'https://api.github.com/users/freearhey/gists{/gist_id}', + starred_url: 'https://api.github.com/users/freearhey/starred{/owner}{/repo}', + subscriptions_url: 'https://api.github.com/users/freearhey/subscriptions', + organizations_url: 'https://api.github.com/users/freearhey/orgs', + repos_url: 'https://api.github.com/users/freearhey/repos', + events_url: 'https://api.github.com/users/freearhey/events{/privacy}', + received_events_url: 'https://api.github.com/users/freearhey/received_events', + type: 'User', + site_admin: false + }, + labels: [ + { + id: 5303574335, + node_id: 'LA_kwDOG1Kwp88AAAABPB4fPw', + url: 'https://api.github.com/repos/iptv-org/database/labels/channels:edit', + name: 'channels:edit', + color: 'E12977', + default: false, + description: 'Request to edit channel description' + }, + { + id: 5366738347, + node_id: 'LA_kwDOG1Kwp88AAAABP-Htqw', + url: 'https://api.github.com/repos/iptv-org/database/labels/approved', + name: 'approved', + color: '85DDDE', + default: false, + description: '' + } + ], + state: 'open', + locked: false, + assignee: null, + assignees: [], + milestone: null, + comments: 0, + created_at: '2023-10-06T05:25:44Z', + updated_at: '2023-10-06T05:25:44Z', + closed_at: null, + author_association: 'CONTRIBUTOR', + active_lock_reason: null, + body: '### Channel ID (required)\n\nM5.hu\n\n### Channel Name\n\n_No response_\n\n### Alternative Names\n\n_No response_\n\n### Network\n\n_No response_\n\n### Owners\n\nDuna Médiaszolgáltató Nonprofit Zrt.\n\n### Country\n\n_No response_\n\n### Subdivision\n\n_No response_\n\n### City\n\n_No response_\n\n### Broadcast Area\n\n_No response_\n\n### Languages\n\n_No response_\n\n### Categories\n\n_No response_\n\n### NSFW\n\nFALSE\n\n### Launched\n\n_No response_\n\n### Closed\n\n_No response_\n\n### Replaced By\n\n_No response_\n\n### Website\n\n_No response_\n\n### Logo\n\n_No response_\n\n### Notes\n\n_No response_', + reactions: { + url: 'https://api.github.com/repos/iptv-org/database/issues/5901/reactions', + total_count: 0, + '+1': 0, + '-1': 0, + laugh: 0, + hooray: 0, + confused: 0, + heart: 0, + rocket: 0, + eyes: 0 + }, + timeline_url: 'https://api.github.com/repos/iptv-org/database/issues/5901/timeline', + performed_via_github_app: null, + state_reason: null + }, + { + url: 'https://api.github.com/repos/iptv-org/database/issues/5701', + repository_url: 'https://api.github.com/repos/iptv-org/database', + labels_url: 'https://api.github.com/repos/iptv-org/database/issues/5701/labels{/name}', + comments_url: 'https://api.github.com/repos/iptv-org/database/issues/5701/comments', + events_url: 'https://api.github.com/repos/iptv-org/database/issues/5701/events', + html_url: 'https://github.com/iptv-org/database/issues/5701', + id: 1929459171, + node_id: 'I_kwDOG1Kwp85zATXj', + number: 5701, + title: 'Edit: M5', + user: { + login: 'freearhey', + id: 7253922, + node_id: 'MDQ6VXNlcjcyNTM5MjI=', + avatar_url: 'https://avatars.githubusercontent.com/u/7253922?v=4', + gravatar_id: '', + url: 'https://api.github.com/users/freearhey', + html_url: 'https://github.com/freearhey', + followers_url: 'https://api.github.com/users/freearhey/followers', + following_url: 'https://api.github.com/users/freearhey/following{/other_user}', + gists_url: 'https://api.github.com/users/freearhey/gists{/gist_id}', + starred_url: 'https://api.github.com/users/freearhey/starred{/owner}{/repo}', + subscriptions_url: 'https://api.github.com/users/freearhey/subscriptions', + organizations_url: 'https://api.github.com/users/freearhey/orgs', + repos_url: 'https://api.github.com/users/freearhey/repos', + events_url: 'https://api.github.com/users/freearhey/events{/privacy}', + received_events_url: 'https://api.github.com/users/freearhey/received_events', + type: 'User', + site_admin: false + }, + labels: [ + { + id: 5303574335, + node_id: 'LA_kwDOG1Kwp88AAAABPB4fPw', + url: 'https://api.github.com/repos/iptv-org/database/labels/channels:edit', + name: 'channels:edit', + color: 'E12977', + default: false, + description: 'Request to edit channel description' + }, + { + id: 5366738347, + node_id: 'LA_kwDOG1Kwp88AAAABP-Htqw', + url: 'https://api.github.com/repos/iptv-org/database/labels/approved', + name: 'approved', + color: '85DDDE', + default: false, + description: '' + } + ], + state: 'open', + locked: false, + assignee: null, + assignees: [], + milestone: null, + comments: 0, + created_at: '2023-10-06T05:25:44Z', + updated_at: '2023-10-06T05:25:44Z', + closed_at: null, + author_association: 'CONTRIBUTOR', + active_lock_reason: null, + body: '### Channel ID (required)\n\nBeijingSatelliteTV.cn\n\n### Channel Name\n\nbeIN Movies Turk\n\n### Alternative Names\n\nbeIN Movies Türk\n\n### Network\n\n_No response_\n\n### Owners\n\n_No response_\n\n### Country\n\nTR\n\n### Subdivision\n\n_No response_\n\n### City\n\n_No response_\n\n### Broadcast Area\n\nc/TR\n\n### Languages\n\ntur\n\n### Categories\n\nmovies\n\n### NSFW\n\nFALSE\n\n### Launched\n\n1979-05-16\n\n### Closed\n\n_No response_\n\n### Replaced By\n\n_No response_\n\n### Website\n\nhttp://www.digiturk.com.tr/\n\n### Logo\n\nhttps://i.imgur.com/nw8Sa2z.png\n\n### Notes\n\n_No response_', + reactions: { + url: 'https://api.github.com/repos/iptv-org/database/issues/5701/reactions', + total_count: 0, + '+1': 0, + '-1': 0, + laugh: 0, + hooray: 0, + confused: 0, + heart: 0, + rocket: 0, + eyes: 0 + }, + timeline_url: 'https://api.github.com/repos/iptv-org/database/issues/5701/timeline', + performed_via_github_app: null, + state_reason: null + } +] diff --git a/tests/__data__/input/issues/channels_remove_approved.js b/tests/__data__/input/issues/channels_remove_approved.js new file mode 100644 index 00000000..96ff8cad --- /dev/null +++ b/tests/__data__/input/issues/channels_remove_approved.js @@ -0,0 +1,81 @@ +module.exports = [ + { + url: 'https://api.github.com/repos/iptv-org/database/issues/5871', + repository_url: 'https://api.github.com/repos/iptv-org/database', + labels_url: 'https://api.github.com/repos/iptv-org/database/issues/5871/labels{/name}', + comments_url: 'https://api.github.com/repos/iptv-org/database/issues/5871/comments', + events_url: 'https://api.github.com/repos/iptv-org/database/issues/5871/events', + html_url: 'https://github.com/iptv-org/database/issues/5871', + id: 1929261634, + node_id: 'I_kwDOG1Kwp85y_jJC', + number: 5871, + title: 'Remove: 002 Radio TV', + user: { + login: 'freearhey', + id: 7253922, + node_id: 'MDQ6VXNlcjcyNTM5MjI=', + avatar_url: 'https://avatars.githubusercontent.com/u/7253922?v=4', + gravatar_id: '', + url: 'https://api.github.com/users/freearhey', + html_url: 'https://github.com/freearhey', + followers_url: 'https://api.github.com/users/freearhey/followers', + following_url: 'https://api.github.com/users/freearhey/following{/other_user}', + gists_url: 'https://api.github.com/users/freearhey/gists{/gist_id}', + starred_url: 'https://api.github.com/users/freearhey/starred{/owner}{/repo}', + subscriptions_url: 'https://api.github.com/users/freearhey/subscriptions', + organizations_url: 'https://api.github.com/users/freearhey/orgs', + repos_url: 'https://api.github.com/users/freearhey/repos', + events_url: 'https://api.github.com/users/freearhey/events{/privacy}', + received_events_url: 'https://api.github.com/users/freearhey/received_events', + type: 'User', + site_admin: false + }, + labels: [ + { + id: 5366738347, + node_id: 'LA_kwDOG1Kwp88AAAABP-Htqw', + url: 'https://api.github.com/repos/iptv-org/database/labels/approved', + name: 'approved', + color: '85DDDE', + default: false, + description: '' + }, + { + id: 6049155772, + node_id: 'LA_kwDOG1Kwp88AAAABaI7KvA', + url: 'https://api.github.com/repos/iptv-org/database/labels/blocklist:add', + name: 'channels:remove', + color: 'e99695', + default: false, + description: 'Request to remove a channel' + } + ], + state: 'open', + locked: false, + assignee: null, + assignees: [], + milestone: null, + comments: 0, + created_at: '2023-10-06T00:35:32Z', + updated_at: '2023-10-06T00:35:32Z', + closed_at: null, + author_association: 'CONTRIBUTOR', + active_lock_reason: null, + body: '### Channel ID\n\n002RadioTV.do\n\n### Reason\n\nOther\n\n### Notes (optional)\n\n_No response_', + reactions: { + url: 'https://api.github.com/repos/iptv-org/database/issues/5871/reactions', + total_count: 0, + '+1': 0, + '-1': 0, + laugh: 0, + hooray: 0, + confused: 0, + heart: 0, + rocket: 0, + eyes: 0 + }, + timeline_url: 'https://api.github.com/repos/iptv-org/database/issues/5871/timeline', + performed_via_github_app: null, + state_reason: null + } +] diff --git a/tests/__data__/input/validate/duplicate/categories.csv b/tests/__data__/input/validate/duplicate/categories.csv new file mode 100644 index 00000000..c09a76df --- /dev/null +++ b/tests/__data__/input/validate/duplicate/categories.csv @@ -0,0 +1,3 @@ +id,name +aaa,AAA +aaa,BBB \ No newline at end of file diff --git a/tests/__data__/input/validate/empty_line/channels.csv b/tests/__data__/input/validate/empty_line/channels.csv new file mode 100644 index 00000000..52bd1c4c --- /dev/null +++ b/tests/__data__/input/validate/empty_line/channels.csv @@ -0,0 +1 @@ +id,name,alt_names,network,owners,country,subdivision,city,broadcast_area,languages,categories,is_nsfw,launched,closed,replaced_by,website,logo diff --git a/tests/__data__/input/validate/invalid_line_ending/categories.csv b/tests/__data__/input/validate/invalid_line_ending/categories.csv new file mode 100644 index 00000000..526ec916 --- /dev/null +++ b/tests/__data__/input/validate/invalid_line_ending/categories.csv @@ -0,0 +1,2 @@ +id,name +aaa,AAA \ No newline at end of file diff --git a/tests/__data__/input/validate/invalid_value/blocklist.csv b/tests/__data__/input/validate/invalid_value/blocklist.csv new file mode 100644 index 00000000..bb01b0f8 --- /dev/null +++ b/tests/__data__/input/validate/invalid_value/blocklist.csv @@ -0,0 +1,2 @@ +channel,ref +aaa.us,https://github.com/iptv-org/iptv/issues/1831 \ No newline at end of file diff --git a/tests/__data__/input/validate/invalid_value/channels.csv b/tests/__data__/input/validate/invalid_value/channels.csv new file mode 100644 index 00000000..133d1c8c --- /dev/null +++ b/tests/__data__/input/validate/invalid_value/channels.csv @@ -0,0 +1,2 @@ +id,name,alt_names,network,owners,country,subdivision,city,broadcast_area,languages,categories,is_nsfw,launched,closed,replaced_by,website,logo +002RadioTV.do,002 Radio TV,,,,DO,,,c/DO,spa,,FALSE,,,,https://www.002radio.com/,https://i.imgur.com/7oNe8xj.png \ No newline at end of file diff --git a/tests/__data__/input/validate/invalid_value/countries.csv b/tests/__data__/input/validate/invalid_value/countries.csv new file mode 100644 index 00000000..8a1c05e5 --- /dev/null +++ b/tests/__data__/input/validate/invalid_value/countries.csv @@ -0,0 +1,3 @@ +name,code,languages,flag +Andorra,AD,cat,🇦🇩 +Dominican Republic,DO,spa,🇩🇴 \ No newline at end of file diff --git a/tests/__data__/input/validate/invalid_value/languages.csv b/tests/__data__/input/validate/invalid_value/languages.csv new file mode 100644 index 00000000..7e3eb4b4 --- /dev/null +++ b/tests/__data__/input/validate/invalid_value/languages.csv @@ -0,0 +1,3 @@ +code,name +cat,Catalan +spa,Spanish \ No newline at end of file diff --git a/tests/__data__/input/validate/invalid_value/subdivisions.csv b/tests/__data__/input/validate/invalid_value/subdivisions.csv new file mode 100644 index 00000000..9498b609 --- /dev/null +++ b/tests/__data__/input/validate/invalid_value/subdivisions.csv @@ -0,0 +1,2 @@ +country,name,code +AD,Andorra la Vella,AD-07 \ No newline at end of file diff --git a/tests/__data__/input/validate/valid_data/channels.csv b/tests/__data__/input/validate/valid_data/channels.csv new file mode 100644 index 00000000..2ab64e0c --- /dev/null +++ b/tests/__data__/input/validate/valid_data/channels.csv @@ -0,0 +1,2 @@ +id,name,alt_names,network,owners,country,subdivision,city,broadcast_area,languages,categories,is_nsfw,launched,closed,replaced_by,website,logo +PeoplesWeather.do,People°s Weather,,,,DO,,,c/DO,spa,,FALSE,,,,,https://i.imgur.com/7oNe8xj.png \ No newline at end of file diff --git a/tests/__data__/input/validate/valid_data/countries.csv b/tests/__data__/input/validate/valid_data/countries.csv new file mode 100644 index 00000000..8a1c05e5 --- /dev/null +++ b/tests/__data__/input/validate/valid_data/countries.csv @@ -0,0 +1,3 @@ +name,code,languages,flag +Andorra,AD,cat,🇦🇩 +Dominican Republic,DO,spa,🇩🇴 \ No newline at end of file diff --git a/tests/__data__/input/validate/valid_data/languages.csv b/tests/__data__/input/validate/valid_data/languages.csv new file mode 100644 index 00000000..7e3eb4b4 --- /dev/null +++ b/tests/__data__/input/validate/valid_data/languages.csv @@ -0,0 +1,3 @@ +code,name +cat,Catalan +spa,Spanish \ No newline at end of file diff --git a/tests/__data__/input/validate/wrong_num_cols/categories.csv b/tests/__data__/input/validate/wrong_num_cols/categories.csv new file mode 100644 index 00000000..36c48f12 --- /dev/null +++ b/tests/__data__/input/validate/wrong_num_cols/categories.csv @@ -0,0 +1,2 @@ +id,name +auto \ No newline at end of file diff --git a/tests/db/export.test.ts b/tests/db/export.test.ts new file mode 100644 index 00000000..e807de52 --- /dev/null +++ b/tests/db/export.test.ts @@ -0,0 +1,24 @@ +import { execSync } from 'child_process' +import * as fs from 'fs-extra' + +beforeEach(() => { + fs.emptyDirSync('tests/__data__/output') +}) + +it('can export data as json', () => { + execSync( + 'DATA_DIR=tests/__data__/input/data API_DIR=tests/__data__/output/api npm run db:export', + { + encoding: 'utf8' + } + ) + + expect(content('output/api/blocklist.json')).toEqual(content('expected/api/blocklist.json')) + expect(content('output/api/channels.json')).toEqual(content('expected/api/channels.json')) +}) + +function content(filepath: string) { + return fs.readFileSync(`tests/__data__/${filepath}`, { + encoding: 'utf8' + }) +} diff --git a/tests/db/update.test.ts b/tests/db/update.test.ts new file mode 100644 index 00000000..255bbaeb --- /dev/null +++ b/tests/db/update.test.ts @@ -0,0 +1,25 @@ +import { execSync } from 'child_process' +import * as fs from 'fs-extra' + +beforeEach(() => { + fs.emptyDirSync('tests/__data__/output') + fs.copySync('tests/__data__/input/data', 'tests/__data__/output/data') +}) + +it('can update db with data from issues', () => { + const stdout = execSync('DATA_DIR=tests/__data__/output/data npm run db:update --silent', { + encoding: 'utf8' + }) + + expect(content('output/data/blocklist.csv')).toEqual(content('expected/data/blocklist.csv')) + expect(content('output/data/channels.csv')).toEqual(content('expected/data/channels.csv')) + expect(stdout).toEqual( + 'OUTPUT=closes #5871, closes #5901, closes #5701, closes #5900, closes #5899, closes #5898, closes #5897, closes #5891' + ) +}) + +function content(filepath: string) { + return fs.readFileSync(`tests/__data__/${filepath}`, { + encoding: 'utf8' + }) +} diff --git a/tests/db/validate.test.ts b/tests/db/validate.test.ts new file mode 100644 index 00000000..1f9897f6 --- /dev/null +++ b/tests/db/validate.test.ts @@ -0,0 +1,81 @@ +import { execSync } from 'child_process' + +type ExecError = { + status: number + stdout: string +} + +describe('db:validate', () => { + it('shows an error if there is an empty line at the end of the file', () => { + try { + execSync('DATA_DIR=tests/__data__/input/validate/empty_line npm run db:validate', { + encoding: 'utf8' + }) + process.exit(1) + } catch (error) { + expect((error as ExecError).status).toBe(1) + expect((error as ExecError).stdout).toContain( + 'Error: empty lines at the end of file not allowed (channels.csv)' + ) + } + }) + + it('shows an error if the number of columns in a row is incorrect', () => { + try { + execSync('DATA_DIR=tests/__data__/input/validate/wrong_num_cols npm run db:validate', { + encoding: 'utf8' + }) + process.exit(1) + } catch (error) { + expect((error as ExecError).status).toBe(1) + expect((error as ExecError).stdout).toContain( + 'Error: row 2 has the wrong number of columns (categories.csv)' + ) + } + }) + + it('shows an error if one of the lines ends with an invalid character', () => { + try { + execSync('DATA_DIR=tests/__data__/input/validate/invalid_line_ending npm run db:validate', { + encoding: 'utf8' + }) + process.exit(1) + } catch (error) { + expect((error as ExecError).status).toBe(1) + expect((error as ExecError).stdout).toContain( + 'Error: row 1 has the wrong line ending character, should be CRLF (categories.csv)' + ) + } + }) + + it('shows an error if there are duplicates in the file', () => { + try { + execSync('DATA_DIR=tests/__data__/input/validate/duplicate npm run db:validate', { + encoding: 'utf8' + }) + process.exit(1) + } catch (error) { + expect((error as ExecError).status).toBe(1) + expect((error as ExecError).stdout).toContain('entry with the id "aaa" already exists') + } + }) + + it('shows an error if an invalid value is specified', () => { + try { + execSync('DATA_DIR=tests/__data__/input/validate/invalid_value npm run db:validate', { + encoding: 'utf8' + }) + process.exit(1) + } catch (error) { + expect((error as ExecError).status).toBe(1) + expect((error as ExecError).stdout).toContain('"aaa.us" is missing in the channels.csv') + expect((error as ExecError).stdout).toContain('1 error(s)') + } + }) + + it('does not show an error if all data are correct', () => { + execSync('DATA_DIR=tests/__data__/input/validate/valid_data npm run db:validate', { + encoding: 'utf8' + }) + }) +}) diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 00000000..24e7b3d5 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,19 @@ +{ + "compilerOptions": { + "strict": true, + "module": "commonjs", + "moduleResolution": "node", + "target": "es2020", + "esModuleInterop": true, + "declaration": true, + "typeRoots": [ + "./node_modules/@types", + "./src/types" + ], + "allowJs": true + }, + "ts-node": { + "esm": true, + "transpileOnly": true + } +} \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index 2c420d72..c3f07bfc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,33 +2,362 @@ # yarn lockfile v1 -"@babel/code-frame@^7.0.0": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz" - integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg== - dependencies: - "@babel/highlight" "^7.16.7" +"@aashutoshrathi/word-wrap@^1.2.3": + version "1.2.6" + resolved "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz" + integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== -"@babel/helper-validator-identifier@^7.16.7": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz" - integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw== - -"@babel/highlight@^7.16.7": - version "7.17.9" - resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.17.9.tgz" - integrity sha512-J9PfEKCbFIv2X5bjTMiZu6Vf341N05QIY+d6FvVKynkG1S7G0j3I0QoRtWIrXhZ+/Nlb5Q0MzqL7TokEJ5BNHg== +"@ampproject/remapping@^2.2.0": + version "2.2.1" + resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz" + integrity sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg== dependencies: - "@babel/helper-validator-identifier" "^7.16.7" - chalk "^2.0.0" + "@jridgewell/gen-mapping" "^0.3.0" + "@jridgewell/trace-mapping" "^0.3.9" + +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.22.13": + version "7.22.13" + resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz" + integrity sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w== + dependencies: + "@babel/highlight" "^7.22.13" + chalk "^2.4.2" + +"@babel/compat-data@^7.22.9": + version "7.22.20" + resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.20.tgz" + integrity sha512-BQYjKbpXjoXwFW5jGqiizJQQT/aC7pFm9Ok1OWssonuguICi264lbgMzRp2ZMmRSlfkX6DsWDDcsrctK8Rwfiw== + +"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.8.0", "@babel/core@>=7.0.0-beta.0 <8": + version "7.23.0" + resolved "https://registry.npmjs.org/@babel/core/-/core-7.23.0.tgz" + integrity sha512-97z/ju/Jy1rZmDxybphrBuI+jtJjFVoz7Mr9yUQVVVi+DNZE333uFQeMOqcCIy1x3WYBIbWftUSLmbNXNT7qFQ== + dependencies: + "@ampproject/remapping" "^2.2.0" + "@babel/code-frame" "^7.22.13" + "@babel/generator" "^7.23.0" + "@babel/helper-compilation-targets" "^7.22.15" + "@babel/helper-module-transforms" "^7.23.0" + "@babel/helpers" "^7.23.0" + "@babel/parser" "^7.23.0" + "@babel/template" "^7.22.15" + "@babel/traverse" "^7.23.0" + "@babel/types" "^7.23.0" + convert-source-map "^2.0.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.3" + semver "^6.3.1" + +"@babel/generator@^7.23.0", "@babel/generator@^7.7.2": + version "7.23.0" + resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz" + integrity sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g== + dependencies: + "@babel/types" "^7.23.0" + "@jridgewell/gen-mapping" "^0.3.2" + "@jridgewell/trace-mapping" "^0.3.17" + jsesc "^2.5.1" + +"@babel/helper-compilation-targets@^7.22.15": + version "7.22.15" + resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz" + integrity sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw== + dependencies: + "@babel/compat-data" "^7.22.9" + "@babel/helper-validator-option" "^7.22.15" + browserslist "^4.21.9" + lru-cache "^5.1.1" + semver "^6.3.1" + +"@babel/helper-environment-visitor@^7.22.20": + version "7.22.20" + resolved "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz" + integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== + +"@babel/helper-function-name@^7.23.0": + version "7.23.0" + resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz" + integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw== + dependencies: + "@babel/template" "^7.22.15" + "@babel/types" "^7.23.0" + +"@babel/helper-hoist-variables@^7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz" + integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-module-imports@^7.22.15": + version "7.22.15" + resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz" + integrity sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w== + dependencies: + "@babel/types" "^7.22.15" + +"@babel/helper-module-transforms@^7.23.0": + version "7.23.0" + resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.0.tgz" + integrity sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-module-imports" "^7.22.15" + "@babel/helper-simple-access" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + "@babel/helper-validator-identifier" "^7.22.20" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.8.0": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz" + integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg== + +"@babel/helper-simple-access@^7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz" + integrity sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-split-export-declaration@^7.22.6": + version "7.22.6" + resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz" + integrity sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-string-parser@^7.22.5": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz" + integrity sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw== + +"@babel/helper-validator-identifier@^7.22.20": + version "7.22.20" + resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz" + integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== + +"@babel/helper-validator-option@^7.22.15": + version "7.22.15" + resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz" + integrity sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA== + +"@babel/helpers@^7.23.0": + version "7.23.1" + resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.1.tgz" + integrity sha512-chNpneuK18yW5Oxsr+t553UZzzAs3aZnFm4bxhebsNTeshrC95yA7l5yl7GBAG+JG1rF0F7zzD2EixK9mWSDoA== + dependencies: + "@babel/template" "^7.22.15" + "@babel/traverse" "^7.23.0" + "@babel/types" "^7.23.0" + +"@babel/highlight@^7.22.13": + version "7.22.20" + resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz" + integrity sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg== + dependencies: + "@babel/helper-validator-identifier" "^7.22.20" + chalk "^2.4.2" js-tokens "^4.0.0" -"@babel/runtime@^7.10.3": - version "7.20.7" - resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.7.tgz" - integrity sha512-UF0tvkUtxwAgZ5W/KrkHf0Rn0fdnLDU9ScxBrEVNUprE/MzirjK4MJUX1/BVDv00Sv8cljtukVK1aky++X1SjQ== +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.22.15", "@babel/parser@^7.23.0": + version "7.23.0" + resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz" + integrity sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw== + +"@babel/plugin-syntax-async-generators@^7.8.4": + version "7.8.4" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz" + integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== dependencies: - regenerator-runtime "^0.13.11" + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-bigint@^7.8.3": + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz" + integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-class-properties@^7.8.3": + version "7.12.13" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz" + integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-syntax-import-meta@^7.8.3": + version "7.10.4" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz" + integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-json-strings@^7.8.3": + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz" + integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-jsx@^7.7.2": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz" + integrity sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-syntax-logical-assignment-operators@^7.8.3": + version "7.10.4" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz" + integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz" + integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-numeric-separator@^7.8.3": + version "7.10.4" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz" + integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-object-rest-spread@^7.8.3": + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz" + integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-catch-binding@^7.8.3": + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz" + integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-chaining@^7.8.3": + version "7.8.3" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz" + integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-top-level-await@^7.8.3": + version "7.14.5" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz" + integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-typescript@^7.7.2": + version "7.22.5" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz" + integrity sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/template@^7.22.15", "@babel/template@^7.3.3": + version "7.22.15" + resolved "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz" + integrity sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w== + dependencies: + "@babel/code-frame" "^7.22.13" + "@babel/parser" "^7.22.15" + "@babel/types" "^7.22.15" + +"@babel/traverse@^7.23.0": + version "7.23.0" + resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.0.tgz" + integrity sha512-t/QaEvyIoIkwzpiZ7aoSKK8kObQYeF7T2v+dazAYCb8SXtp58zEVkWW7zAnju8FNKNdr4ScAOEDmMItbyOmEYw== + dependencies: + "@babel/code-frame" "^7.22.13" + "@babel/generator" "^7.23.0" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-hoist-variables" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + "@babel/parser" "^7.23.0" + "@babel/types" "^7.23.0" + debug "^4.1.0" + globals "^11.1.0" + +"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.22.15", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.3.3": + version "7.23.0" + resolved "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz" + integrity sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg== + dependencies: + "@babel/helper-string-parser" "^7.22.5" + "@babel/helper-validator-identifier" "^7.22.20" + to-fast-properties "^2.0.0" + +"@bcoe/v8-coverage@^0.2.3": + version "0.2.3" + resolved "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz" + integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== + +"@cspotcode/source-map-support@^0.8.0": + version "0.8.1" + resolved "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz" + integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== + dependencies: + "@jridgewell/trace-mapping" "0.3.9" + +"@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": + version "4.4.0" + resolved "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz" + integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== + dependencies: + eslint-visitor-keys "^3.3.0" + +"@eslint-community/regexpp@^4.5.1", "@eslint-community/regexpp@^4.6.1": + version "4.9.1" + resolved "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.9.1.tgz" + integrity sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA== + +"@eslint/eslintrc@^2.1.2": + version "2.1.2" + resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz" + integrity sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g== + dependencies: + ajv "^6.12.4" + debug "^4.3.2" + espree "^9.6.0" + globals "^13.19.0" + ignore "^5.2.0" + import-fresh "^3.2.1" + js-yaml "^4.1.0" + minimatch "^3.1.2" + strip-json-comments "^3.1.1" + +"@eslint/js@8.50.0": + version "8.50.0" + resolved "https://registry.npmjs.org/@eslint/js/-/js-8.50.0.tgz" + integrity sha512-NCC3zz2+nvYd+Ckfh87rA47zfu2QsQpvc6k1yzTk+b9KzRj0wkGa8LSoGOXN6Zv4lRf/EIoZ80biDh9HOI+RNQ== + +"@freearhey/core@^0.2.1": + version "0.2.1" + resolved "https://registry.npmjs.org/@freearhey/core/-/core-0.2.1.tgz" + integrity sha512-kEdIxZClykKhGpgyCSlkwuVuSCCAWr3J5YvOUMJQDPgVAYvT5VbD8MYKPm+OwNi9T4HFmF6qqY90qwKJPoOXCA== + dependencies: + "@types/fs-extra" "^11.0.2" + "@types/lodash" "^4.14.198" + "@types/luxon" "^3.3.2" + fs-extra "^11.1.1" + glob "^10.3.4" + lodash "^4.17.21" + luxon "^3.4.3" + natural-orderby "^3.0.2" + node-gzip "^1.1.2" + normalize-url "^6.1.0" + object-treeify "^2.1.1" + signale "^1.4.0" "@hapi/hoek@^9.0.0": version "9.2.1" @@ -42,6 +371,245 @@ dependencies: "@hapi/hoek" "^9.0.0" +"@humanwhocodes/config-array@^0.11.11": + version "0.11.11" + resolved "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.11.tgz" + integrity sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA== + dependencies: + "@humanwhocodes/object-schema" "^1.2.1" + debug "^4.1.1" + minimatch "^3.0.5" + +"@humanwhocodes/module-importer@^1.0.1": + version "1.0.1" + resolved "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz" + integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== + +"@humanwhocodes/object-schema@^1.2.1": + 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== + +"@isaacs/cliui@^8.0.2": + version "8.0.2" + resolved "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz" + integrity sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA== + dependencies: + string-width "^5.1.2" + string-width-cjs "npm:string-width@^4.2.0" + strip-ansi "^7.0.1" + strip-ansi-cjs "npm:strip-ansi@^6.0.1" + wrap-ansi "^8.1.0" + wrap-ansi-cjs "npm:wrap-ansi@^7.0.0" + +"@istanbuljs/load-nyc-config@^1.0.0": + version "1.1.0" + resolved "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz" + integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== + dependencies: + camelcase "^5.3.1" + find-up "^4.1.0" + get-package-type "^0.1.0" + js-yaml "^3.13.1" + resolve-from "^5.0.0" + +"@istanbuljs/schema@^0.1.2": + version "0.1.3" + resolved "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz" + integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== + +"@jest/console@^29.7.0": + version "29.7.0" + resolved "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz" + integrity sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg== + dependencies: + "@jest/types" "^29.6.3" + "@types/node" "*" + chalk "^4.0.0" + jest-message-util "^29.7.0" + jest-util "^29.7.0" + slash "^3.0.0" + +"@jest/core@^29.7.0": + version "29.7.0" + resolved "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz" + integrity sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg== + dependencies: + "@jest/console" "^29.7.0" + "@jest/reporters" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + ci-info "^3.2.0" + exit "^0.1.2" + graceful-fs "^4.2.9" + jest-changed-files "^29.7.0" + jest-config "^29.7.0" + jest-haste-map "^29.7.0" + jest-message-util "^29.7.0" + jest-regex-util "^29.6.3" + jest-resolve "^29.7.0" + jest-resolve-dependencies "^29.7.0" + jest-runner "^29.7.0" + jest-runtime "^29.7.0" + jest-snapshot "^29.7.0" + jest-util "^29.7.0" + jest-validate "^29.7.0" + jest-watcher "^29.7.0" + micromatch "^4.0.4" + pretty-format "^29.7.0" + slash "^3.0.0" + strip-ansi "^6.0.0" + +"@jest/environment@^29.7.0": + version "29.7.0" + resolved "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz" + integrity sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw== + dependencies: + "@jest/fake-timers" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + jest-mock "^29.7.0" + +"@jest/expect-utils@^29.7.0": + version "29.7.0" + resolved "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz" + integrity sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA== + dependencies: + jest-get-type "^29.6.3" + +"@jest/expect@^29.7.0": + version "29.7.0" + resolved "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz" + integrity sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ== + dependencies: + expect "^29.7.0" + jest-snapshot "^29.7.0" + +"@jest/fake-timers@^29.7.0": + version "29.7.0" + resolved "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz" + integrity sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ== + dependencies: + "@jest/types" "^29.6.3" + "@sinonjs/fake-timers" "^10.0.2" + "@types/node" "*" + jest-message-util "^29.7.0" + jest-mock "^29.7.0" + jest-util "^29.7.0" + +"@jest/globals@^29.7.0": + version "29.7.0" + resolved "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz" + integrity sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ== + dependencies: + "@jest/environment" "^29.7.0" + "@jest/expect" "^29.7.0" + "@jest/types" "^29.6.3" + jest-mock "^29.7.0" + +"@jest/reporters@^29.7.0": + version "29.7.0" + resolved "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz" + integrity sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg== + dependencies: + "@bcoe/v8-coverage" "^0.2.3" + "@jest/console" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" + "@jridgewell/trace-mapping" "^0.3.18" + "@types/node" "*" + chalk "^4.0.0" + collect-v8-coverage "^1.0.0" + exit "^0.1.2" + glob "^7.1.3" + graceful-fs "^4.2.9" + istanbul-lib-coverage "^3.0.0" + istanbul-lib-instrument "^6.0.0" + istanbul-lib-report "^3.0.0" + istanbul-lib-source-maps "^4.0.0" + istanbul-reports "^3.1.3" + jest-message-util "^29.7.0" + jest-util "^29.7.0" + jest-worker "^29.7.0" + slash "^3.0.0" + string-length "^4.0.1" + strip-ansi "^6.0.0" + v8-to-istanbul "^9.0.1" + +"@jest/schemas@^29.6.3": + version "29.6.3" + resolved "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz" + integrity sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA== + dependencies: + "@sinclair/typebox" "^0.27.8" + +"@jest/source-map@^29.6.3": + version "29.6.3" + resolved "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz" + integrity sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw== + dependencies: + "@jridgewell/trace-mapping" "^0.3.18" + callsites "^3.0.0" + graceful-fs "^4.2.9" + +"@jest/test-result@^29.7.0": + version "29.7.0" + resolved "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz" + integrity sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA== + dependencies: + "@jest/console" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/istanbul-lib-coverage" "^2.0.0" + collect-v8-coverage "^1.0.0" + +"@jest/test-sequencer@^29.7.0": + version "29.7.0" + resolved "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz" + integrity sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw== + dependencies: + "@jest/test-result" "^29.7.0" + graceful-fs "^4.2.9" + jest-haste-map "^29.7.0" + slash "^3.0.0" + +"@jest/transform@^29.7.0": + version "29.7.0" + resolved "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz" + integrity sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw== + dependencies: + "@babel/core" "^7.11.6" + "@jest/types" "^29.6.3" + "@jridgewell/trace-mapping" "^0.3.18" + babel-plugin-istanbul "^6.1.1" + chalk "^4.0.0" + convert-source-map "^2.0.0" + fast-json-stable-stringify "^2.1.0" + graceful-fs "^4.2.9" + jest-haste-map "^29.7.0" + jest-regex-util "^29.6.3" + jest-util "^29.7.0" + micromatch "^4.0.4" + pirates "^4.0.4" + slash "^3.0.0" + write-file-atomic "^4.0.2" + +"@jest/types@^29.0.0", "@jest/types@^29.6.3": + version "29.6.3" + resolved "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz" + integrity sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw== + dependencies: + "@jest/schemas" "^29.6.3" + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^17.0.8" + chalk "^4.0.0" + "@joi/date@^2.1.0": version "2.1.0" resolved "https://registry.npmjs.org/@joi/date/-/date-2.1.0.tgz" @@ -49,6 +617,95 @@ dependencies: moment "2.x.x" +"@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2": + version "0.3.3" + resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz" + integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ== + dependencies: + "@jridgewell/set-array" "^1.0.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.9" + +"@jridgewell/resolve-uri@^3.0.3", "@jridgewell/resolve-uri@^3.1.0": + version "3.1.1" + resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz" + integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== + +"@jridgewell/set-array@^1.0.1": + version "1.1.2" + resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz" + integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== + +"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": + version "1.4.15" + resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz" + integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== + +"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.9": + version "0.3.19" + resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz" + integrity sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw== + dependencies: + "@jridgewell/resolve-uri" "^3.1.0" + "@jridgewell/sourcemap-codec" "^1.4.14" + +"@jridgewell/trace-mapping@0.3.9": + version "0.3.9" + resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz" + integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== + dependencies: + "@jridgewell/resolve-uri" "^3.0.3" + "@jridgewell/sourcemap-codec" "^1.4.10" + +"@json2csv/formatters@^7.0.3": + version "7.0.3" + resolved "https://registry.npmjs.org/@json2csv/formatters/-/formatters-7.0.3.tgz" + integrity sha512-QLTpBNmNxGDAQNALkWwPdnyJ7IdXHQ0Motzog4fZOKK2ozpxckl6vwhWNBxbQs/25Zhp7bLS4J6ILu/hh0en6w== + +"@json2csv/node@^7.0.3": + version "7.0.3" + resolved "https://registry.npmjs.org/@json2csv/node/-/node-7.0.3.tgz" + integrity sha512-lmIprTZLw5UgetRXfkYlzHhs5juXFmeDR03Ao9ahOim7GYqsqMMCDe7SZGSXHYBLNVu5f2ClsUMOKLhHJtW7Zg== + dependencies: + "@json2csv/plainjs" "^7.0.3" + +"@json2csv/plainjs@^7.0.3": + version "7.0.3" + resolved "https://registry.npmjs.org/@json2csv/plainjs/-/plainjs-7.0.3.tgz" + integrity sha512-AEpEdeSu8o64Sdf7Xoy7BM4MyfZToN7oxxleXJ6u7v3h0V0hKdNIw7i4kQ08wiIe7lcJBhS3JRyEPKX6k2AsjA== + dependencies: + "@json2csv/formatters" "^7.0.3" + "@streamparser/json" "^0.0.17" + lodash.get "^4.4.2" + +"@json2csv/transforms@^7.0.3": + version "7.0.3" + resolved "https://registry.npmjs.org/@json2csv/transforms/-/transforms-7.0.3.tgz" + integrity sha512-6IvE2NXcFB48nutRa1nmbnJEJWlR846xHggI0WIuZzX2yMKJjEnNuJYPVpq7pelm2zQqFh1uoE3M7xqUleGdDw== + dependencies: + lodash.get "^4.4.2" + +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== + dependencies: + "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5": + version "2.0.5" + resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== + +"@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": + version "1.2.8" + resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== + dependencies: + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" + "@octokit/auth-token@^3.0.0": version "3.0.3" resolved "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-3.0.3.tgz" @@ -56,7 +713,7 @@ dependencies: "@octokit/types" "^9.0.0" -"@octokit/core@^4.2.0", "@octokit/core@>=4": +"@octokit/core@^4.2.0", "@octokit/core@>=3", "@octokit/core@>=4": version "4.2.0" resolved "https://registry.npmjs.org/@octokit/core/-/core-4.2.0.tgz" integrity sha512-AgvDRUg3COpR82P7PBdGZF/NNqGmtMq2NiPqeSsDIeCfYFOZ9gddqWNQHnFdEUf+YwOj4aZYmJnlPp7OXmDIDg== @@ -87,10 +744,10 @@ "@octokit/types" "^9.0.0" universal-user-agent "^6.0.0" -"@octokit/openapi-types@^16.0.0": - version "16.0.0" - resolved "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-16.0.0.tgz" - integrity sha512-JbFWOqTJVLHZSUUoF4FzAZKYtqdxWu9Z5m2QQnOyEa04fOFljvyh7D3GYKbfuaSWisqehImiVIMG4eyJeP5VEA== +"@octokit/openapi-types@^18.0.0": + version "18.1.1" + resolved "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-18.1.1.tgz" + integrity sha512-VRaeH8nCDtF5aXWnjPuEMIYf1itK/s3JYyJcWFJT8X9pSNnBtriDf7wlEWsGuhPLl4QIH4xM8fqTXDwJ3Mu6sw== "@octokit/plugin-paginate-rest@^6.0.0": version "6.0.0" @@ -99,6 +756,13 @@ dependencies: "@octokit/types" "^9.0.0" +"@octokit/plugin-rest-endpoint-methods@^7.1.3": + version "7.1.3" + resolved "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-7.1.3.tgz" + integrity sha512-0aoPd4f1k/KXPTGSX0NbxcBrShBHArgcW3pujEvLa6wUfcfA1BehxQ2Ifwa6CbJ4SfzaO79FvGgaUipoxDsgjA== + dependencies: + "@octokit/types" "^9.2.3" + "@octokit/request-error@^3.0.0": version "3.0.3" resolved "https://registry.npmjs.org/@octokit/request-error/-/request-error-3.0.3.tgz" @@ -120,12 +784,17 @@ node-fetch "^2.6.7" universal-user-agent "^6.0.0" -"@octokit/types@^9.0.0": - version "9.0.0" - resolved "https://registry.npmjs.org/@octokit/types/-/types-9.0.0.tgz" - integrity sha512-LUewfj94xCMH2rbD5YJ+6AQ4AVjFYTgpp6rboWM5T7N3IsIF65SBEOVcYMGAEzO/kKNiNaW4LoWtoThOhH06gw== +"@octokit/types@^9.0.0", "@octokit/types@^9.2.3": + version "9.3.2" + resolved "https://registry.npmjs.org/@octokit/types/-/types-9.3.2.tgz" + integrity sha512-D4iHGTdAnEEVsB8fl95m1hiz7D5YiRdQ9b/OEb3BYRVwbLsGHcRVPz+u+BgRLNk0Q0/4iZCBqDN96j2XNxfXrA== dependencies: - "@octokit/openapi-types" "^16.0.0" + "@octokit/openapi-types" "^18.0.0" + +"@pkgjs/parseargs@^0.11.0": + version "0.11.0" + resolved "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz" + integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg== "@sideway/address@^4.1.3": version "4.1.3" @@ -144,33 +813,301 @@ resolved "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz" integrity sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ== -"@swiftcarrot/color-fns@^3.2.0": - version "3.2.0" - resolved "https://registry.npmjs.org/@swiftcarrot/color-fns/-/color-fns-3.2.0.tgz" - integrity sha512-6SCpc4LwmGGqWHpBY9WaBzJwPF4nfgvFfejOX7Ub0kTehJysFkLUAvGID8zEx39n0pGlfr9pTiQE/7/buC7X5w== +"@sinclair/typebox@^0.27.8": + version "0.27.8" + resolved "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz" + integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== + +"@sinonjs/commons@^3.0.0": + version "3.0.0" + resolved "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz" + integrity sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA== dependencies: - "@babel/runtime" "^7.10.3" + type-detect "4.0.8" -"@types/minimist@^1.2.2": - version "1.2.2" - resolved "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz" - integrity sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ== +"@sinonjs/fake-timers@^10.0.2": + version "10.3.0" + resolved "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz" + integrity sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA== + dependencies: + "@sinonjs/commons" "^3.0.0" -"@types/normalize-package-data@^2.4.0": - version "2.4.1" - resolved "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz" - integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw== +"@streamparser/json@^0.0.17": + version "0.0.17" + resolved "https://registry.npmjs.org/@streamparser/json/-/json-0.0.17.tgz" + integrity sha512-mW54K6CTVJVLwXRB6kSS1xGWPmtTuXAStWnlvtesmcySgtop+eFPWOywBFPpJO4UD173epYsPSP6HSW8kuqN8w== -"@types/pako@^1.0.2": +"@tsconfig/node10@^1.0.7": + version "1.0.9" + resolved "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz" + integrity sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA== + +"@tsconfig/node12@^1.0.7": + version "1.0.11" + resolved "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz" + integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== + +"@tsconfig/node14@^1.0.0": + version "1.0.3" + resolved "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz" + integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== + +"@tsconfig/node16@^1.0.2": version "1.0.4" - resolved "https://registry.npmjs.org/@types/pako/-/pako-1.0.4.tgz" - integrity sha512-Z+5bJSm28EXBSUJEgx29ioWeEEHUh6TiMkZHDhLwjc9wVFH+ressbkmX6waUZc5R3Gobn4Qu5llGxaoflZ+yhA== + resolved "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz" + integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== + +"@types/babel__core@^7.1.14": + version "7.20.2" + resolved "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.2.tgz" + integrity sha512-pNpr1T1xLUc2l3xJKuPtsEky3ybxN3m4fJkknfIpTCTfIZCDW57oAg+EfCgIIp2rvCe0Wn++/FfodDS4YXxBwA== + dependencies: + "@babel/parser" "^7.20.7" + "@babel/types" "^7.20.7" + "@types/babel__generator" "*" + "@types/babel__template" "*" + "@types/babel__traverse" "*" + +"@types/babel__generator@*": + version "7.6.5" + resolved "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.5.tgz" + integrity sha512-h9yIuWbJKdOPLJTbmSpPzkF67e659PbQDba7ifWm5BJ8xTv+sDmS7rFmywkWOvXedGTivCdeGSIIX8WLcRTz8w== + dependencies: + "@babel/types" "^7.0.0" + +"@types/babel__template@*": + version "7.4.2" + resolved "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.2.tgz" + integrity sha512-/AVzPICMhMOMYoSx9MoKpGDKdBRsIXMNByh1PXSZoa+v6ZoLa8xxtsT/uLQ/NJm0XVAWl/BvId4MlDeXJaeIZQ== + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + +"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": + version "7.20.2" + resolved "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.2.tgz" + integrity sha512-ojlGK1Hsfce93J0+kn3H5R73elidKUaZonirN33GSmgTUMpzI/MIFfSpF3haANe3G1bEBS9/9/QEqwTzwqFsKw== + dependencies: + "@babel/types" "^7.20.7" + +"@types/fs-extra@^11.0.2": + version "11.0.2" + resolved "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-11.0.2.tgz" + integrity sha512-c0hrgAOVYr21EX8J0jBMXGLMgJqVf/v6yxi0dLaJboW9aQPh16Id+z6w2Tx1hm+piJOLv8xPfVKZCLfjPw/IMQ== + dependencies: + "@types/jsonfile" "*" + "@types/node" "*" + +"@types/graceful-fs@^4.1.3": + version "4.1.7" + resolved "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.7.tgz" + integrity sha512-MhzcwU8aUygZroVwL2jeYk6JisJrPl/oov/gsgGCue9mkgl9wjGbzReYQClxiUgFDnib9FuHqTndccKeZKxTRw== + dependencies: + "@types/node" "*" + +"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": + version "2.0.4" + resolved "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz" + integrity sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g== + +"@types/istanbul-lib-report@*": + version "3.0.1" + resolved "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz" + integrity sha512-gPQuzaPR5h/djlAv2apEG1HVOyj1IUs7GpfMZixU0/0KXT3pm64ylHuMUI1/Akh+sq/iikxg6Z2j+fcMDXaaTQ== + dependencies: + "@types/istanbul-lib-coverage" "*" + +"@types/istanbul-reports@^3.0.0": + version "3.0.2" + resolved "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.2.tgz" + integrity sha512-kv43F9eb3Lhj+lr/Hn6OcLCs/sSM8bt+fIaP11rCYngfV6NVjzWXJ17owQtDQTL9tQ8WSLUrGsSJ6rJz0F1w1A== + dependencies: + "@types/istanbul-lib-report" "*" + +"@types/jest@^29.5.5": + version "29.5.5" + resolved "https://registry.npmjs.org/@types/jest/-/jest-29.5.5.tgz" + integrity sha512-ebylz2hnsWR9mYvmBFbXJXr+33UPc4+ZdxyDXh5w0FlPBTfCVN3wPL+kuOiQt3xvrK419v7XWeAs+AeOksafXg== + dependencies: + expect "^29.0.0" + pretty-format "^29.0.0" + +"@types/json-schema@^7.0.12": + version "7.0.13" + resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.13.tgz" + integrity sha512-RbSSoHliUbnXj3ny0CNFOoxrIDV6SUGyStHsvDqosw6CkdPV8TtWGlfecuK4ToyMEAql6pzNxgCFKanovUzlgQ== + +"@types/jsonfile@*": + version "6.1.2" + resolved "https://registry.npmjs.org/@types/jsonfile/-/jsonfile-6.1.2.tgz" + integrity sha512-8t92P+oeW4d/CRQfJaSqEwXujrhH4OEeHRjGU3v1Q8mUS8GPF3yiX26sw4svv6faL2HfBtGTe2xWIoVgN3dy9w== + dependencies: + "@types/node" "*" + +"@types/lodash@^4.14.198": + version "4.14.199" + resolved "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.199.tgz" + integrity sha512-Vrjz5N5Ia4SEzWWgIVwnHNEnb1UE1XMkvY5DGXrAeOGE9imk0hgTHh5GyDjLDJi9OTCn9oo9dXH1uToK1VRfrg== + +"@types/luxon@^3.3.2": + version "3.3.2" + resolved "https://registry.npmjs.org/@types/luxon/-/luxon-3.3.2.tgz" + integrity sha512-l5cpE57br4BIjK+9BSkFBOsWtwv6J9bJpC7gdXIzZyI0vuKvNTk0wZZrkQxMGsUAuGW9+WMNWF2IJMD7br2yeQ== + +"@types/node@*": + version "20.8.2" + resolved "https://registry.npmjs.org/@types/node/-/node-20.8.2.tgz" + integrity sha512-Vvycsc9FQdwhxE3y3DzeIxuEJbWGDsnrxvMADzTDF/lcdR9/K+AQIeAghTQsHtotg/q0j3WEOYS/jQgSdWue3w== + +"@types/semver@^7.5.0": + version "7.5.3" + resolved "https://registry.npmjs.org/@types/semver/-/semver-7.5.3.tgz" + integrity sha512-OxepLK9EuNEIPxWNME+C6WwbRAOOI2o2BaQEGzz5Lu2e4Z5eDnEo+/aVEDMIXywoJitJ7xWd641wrGLZdtwRyw== + +"@types/stack-utils@^2.0.0": + version "2.0.1" + resolved "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz" + integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw== + +"@types/yargs-parser@*": + version "21.0.1" + resolved "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.1.tgz" + integrity sha512-axdPBuLuEJt0c4yI5OZssC19K2Mq1uKdrfZBzuxLvaztgqUtFYZUNw7lETExPYJR9jdEoIg4mb7RQKRQzOkeGQ== + +"@types/yargs@^17.0.8": + version "17.0.26" + resolved "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.26.tgz" + integrity sha512-Y3vDy2X6zw/ZCumcwLpdhM5L7jmyGpmBCTYMHDLqT2IKVMYRRLdv6ZakA+wxhra6Z/3bwhNbNl9bDGXaFU+6rw== + dependencies: + "@types/yargs-parser" "*" + +"@typescript-eslint/eslint-plugin@^6.7.4": + version "6.7.4" + resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.7.4.tgz" + integrity sha512-DAbgDXwtX+pDkAHwiGhqP3zWUGpW49B7eqmgpPtg+BKJXwdct79ut9+ifqOFPJGClGKSHXn2PTBatCnldJRUoA== + dependencies: + "@eslint-community/regexpp" "^4.5.1" + "@typescript-eslint/scope-manager" "6.7.4" + "@typescript-eslint/type-utils" "6.7.4" + "@typescript-eslint/utils" "6.7.4" + "@typescript-eslint/visitor-keys" "6.7.4" + debug "^4.3.4" + graphemer "^1.4.0" + ignore "^5.2.4" + natural-compare "^1.4.0" + semver "^7.5.4" + ts-api-utils "^1.0.1" + +"@typescript-eslint/parser@^6.0.0 || ^6.0.0-alpha": + version "6.7.4" + resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.7.4.tgz" + integrity sha512-I5zVZFY+cw4IMZUeNCU7Sh2PO5O57F7Lr0uyhgCJmhN/BuTlnc55KxPonR4+EM3GBdfiCyGZye6DgMjtubQkmA== + dependencies: + "@typescript-eslint/scope-manager" "6.7.4" + "@typescript-eslint/types" "6.7.4" + "@typescript-eslint/typescript-estree" "6.7.4" + "@typescript-eslint/visitor-keys" "6.7.4" + debug "^4.3.4" + +"@typescript-eslint/scope-manager@6.7.4": + version "6.7.4" + resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.7.4.tgz" + integrity sha512-SdGqSLUPTXAXi7c3Ob7peAGVnmMoGzZ361VswK2Mqf8UOYcODiYvs8rs5ILqEdfvX1lE7wEZbLyELCW+Yrql1A== + dependencies: + "@typescript-eslint/types" "6.7.4" + "@typescript-eslint/visitor-keys" "6.7.4" + +"@typescript-eslint/type-utils@6.7.4": + version "6.7.4" + resolved "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.7.4.tgz" + integrity sha512-n+g3zi1QzpcAdHFP9KQF+rEFxMb2KxtnJGID3teA/nxKHOVi3ylKovaqEzGBbVY2pBttU6z85gp0D00ufLzViQ== + dependencies: + "@typescript-eslint/typescript-estree" "6.7.4" + "@typescript-eslint/utils" "6.7.4" + debug "^4.3.4" + ts-api-utils "^1.0.1" + +"@typescript-eslint/types@6.7.4": + version "6.7.4" + resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.7.4.tgz" + integrity sha512-o9XWK2FLW6eSS/0r/tgjAGsYasLAnOWg7hvZ/dGYSSNjCh+49k5ocPN8OmG5aZcSJ8pclSOyVKP2x03Sj+RrCA== + +"@typescript-eslint/typescript-estree@6.7.4": + version "6.7.4" + resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.7.4.tgz" + integrity sha512-ty8b5qHKatlNYd9vmpHooQz3Vki3gG+3PchmtsA4TgrZBKWHNjWfkQid7K7xQogBqqc7/BhGazxMD5vr6Ha+iQ== + dependencies: + "@typescript-eslint/types" "6.7.4" + "@typescript-eslint/visitor-keys" "6.7.4" + debug "^4.3.4" + globby "^11.1.0" + is-glob "^4.0.3" + semver "^7.5.4" + ts-api-utils "^1.0.1" + +"@typescript-eslint/utils@6.7.4": + version "6.7.4" + resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.7.4.tgz" + integrity sha512-PRQAs+HUn85Qdk+khAxsVV+oULy3VkbH3hQ8hxLRJXWBEd7iI+GbQxH5SEUSH7kbEoTp6oT1bOwyga24ELALTA== + dependencies: + "@eslint-community/eslint-utils" "^4.4.0" + "@types/json-schema" "^7.0.12" + "@types/semver" "^7.5.0" + "@typescript-eslint/scope-manager" "6.7.4" + "@typescript-eslint/types" "6.7.4" + "@typescript-eslint/typescript-estree" "6.7.4" + semver "^7.5.4" + +"@typescript-eslint/visitor-keys@6.7.4": + version "6.7.4" + resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.7.4.tgz" + integrity sha512-pOW37DUhlTZbvph50x5zZCkFn3xzwkGtNoJHzIM3svpiSkJzwOYr/kVBaXmf+RAQiUDs1AHEZVNPg6UJCJpwRA== + dependencies: + "@typescript-eslint/types" "6.7.4" + eslint-visitor-keys "^3.4.1" + +acorn-jsx@^5.3.2: + version "5.3.2" + resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== + +acorn-walk@^8.1.1: + version "8.2.0" + resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz" + integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== + +"acorn@^6.0.0 || ^7.0.0 || ^8.0.0", acorn@^8.4.1, acorn@^8.9.0: + version "8.10.0" + resolved "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz" + integrity sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw== + +ajv@^6.12.4: + version "6.12.6" + resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + 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" + +ansi-escapes@^4.2.1: + version "4.3.2" + resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz" + integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== + dependencies: + type-fest "^0.21.3" ansi-regex@^5.0.1: version "5.0.1" resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== +ansi-regex@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz" + integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== + ansi-styles@^3.2.1: version "3.2.1" resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" @@ -185,75 +1122,121 @@ ansi-styles@^4.0.0, ansi-styles@^4.1.0: dependencies: color-convert "^2.0.1" -any-promise@^1.0.0: - version "1.3.0" - resolved "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz" - integrity sha1-q8av7tzqUugJzcA3au0845Y10X8= +ansi-styles@^5.0.0: + version "5.2.0" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz" + integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== -arrify@^1.0.1: +ansi-styles@^6.1.0: + version "6.2.1" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz" + integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== + +anymatch@^3.0.3: + version "3.1.3" + resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz" + integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +arg@^4.1.0: + version "4.1.3" + resolved "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz" + integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + +babel-jest@^29.0.0, babel-jest@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz" + integrity sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg== + dependencies: + "@jest/transform" "^29.7.0" + "@types/babel__core" "^7.1.14" + babel-plugin-istanbul "^6.1.1" + babel-preset-jest "^29.6.3" + chalk "^4.0.0" + graceful-fs "^4.2.9" + slash "^3.0.0" + +babel-plugin-istanbul@^6.1.1: + version "6.1.1" + resolved "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz" + integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@istanbuljs/load-nyc-config" "^1.0.0" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-instrument "^5.0.4" + test-exclude "^6.0.0" + +babel-plugin-jest-hoist@^29.6.3: + version "29.6.3" + resolved "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz" + integrity sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg== + dependencies: + "@babel/template" "^7.3.3" + "@babel/types" "^7.3.3" + "@types/babel__core" "^7.1.14" + "@types/babel__traverse" "^7.0.6" + +babel-preset-current-node-syntax@^1.0.0: version "1.0.1" - resolved "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz" - integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz" - integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== - -autocrop-js@^0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/autocrop-js/-/autocrop-js-0.2.0.tgz" - integrity sha512-ocGuyZz/3X9GeR0cdXmZF+5JWx96P7wJnEkOjqIYJ92itp8qHPbvyCTkK0lthWBxux8xyG8xgKpSMV0Wfb+d3A== + resolved "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz" + integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ== dependencies: - image-js "^0.35.2" - lodash "^4.17.21" + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-syntax-bigint" "^7.8.3" + "@babel/plugin-syntax-class-properties" "^7.8.3" + "@babel/plugin-syntax-import-meta" "^7.8.3" + "@babel/plugin-syntax-json-strings" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.8.3" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + "@babel/plugin-syntax-top-level-await" "^7.8.3" -axios@^0.25.0: - version "0.25.0" - resolved "https://registry.npmjs.org/axios/-/axios-0.25.0.tgz" - integrity sha512-cD8FOb0tRH3uuEe6+evtAbgJtfxr7ly3fQjYcMcuPlgkwVS9xboaVIpcDV+cYQe+yGykgwZCs1pzjntcGa6l5g== +babel-preset-jest@^29.6.3: + version "29.6.3" + resolved "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz" + integrity sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA== dependencies: - follow-redirects "^1.14.7" + babel-plugin-jest-hoist "^29.6.3" + babel-preset-current-node-syntax "^1.0.0" balanced-match@^1.0.0: version "1.0.2" resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== -base64-js@^1.3.1: - version "1.5.1" - resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" - integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== - before-after-hook@^2.2.0: version "2.2.3" resolved "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz" integrity sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ== -bl@^4.0.3: - version "4.1.0" - resolved "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz" - integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== - dependencies: - buffer "^5.5.0" - inherits "^2.0.4" - readable-stream "^3.4.0" - -blob-util@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/blob-util/-/blob-util-2.0.2.tgz" - integrity sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ== - bluebird@^3.5.1: version "3.7.2" resolved "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz" integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== -boolbase@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz" - integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= - brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" @@ -262,52 +1245,68 @@ brace-expansion@^1.1.7: balanced-match "^1.0.0" concat-map "0.0.1" +brace-expansion@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz" + integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== + dependencies: + balanced-match "^1.0.0" + +braces@^3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +browserslist@^4.21.9, "browserslist@>= 4.21.0": + version "4.22.1" + resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz" + integrity sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ== + dependencies: + caniuse-lite "^1.0.30001541" + electron-to-chromium "^1.4.535" + node-releases "^2.0.13" + update-browserslist-db "^1.0.13" + +bs-logger@0.x: + version "0.2.6" + resolved "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz" + integrity sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog== + dependencies: + fast-json-stable-stringify "2.x" + +bser@2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz" + integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== + dependencies: + node-int64 "^0.4.0" + buffer-from@^1.0.0: version "1.1.2" resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz" integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== -buffer@^5.5.0: - version "5.7.1" - resolved "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz" - integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== - dependencies: - base64-js "^1.3.1" - ieee754 "^1.1.13" +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== -camelcase-keys@^7.0.0: - version "7.0.2" - resolved "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-7.0.2.tgz" - integrity sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg== - dependencies: - camelcase "^6.3.0" - map-obj "^4.1.0" - quick-lru "^5.1.1" - type-fest "^1.2.1" +camelcase@^5.3.1: + version "5.3.1" + resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== -camelcase@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz" - integrity sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0= - -camelcase@^6.3.0: +camelcase@^6.2.0: version "6.3.0" resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz" integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== -canny-edge-detector@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/canny-edge-detector/-/canny-edge-detector-1.0.0.tgz" - integrity sha512-SpewmkHDE1PbJ1/AVAcpvZKOufYpUXT0euMvhb5C4Q83Q9XEOmSXC+yR7jl3F4Ae1Ev6OtQKbFgdcPrOdHjzQg== - -chalk@^2.0.0: - version "2.4.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" +caniuse-lite@^1.0.30001541: + version "1.0.30001546" + resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001546.tgz" + integrity sha512-zvtSJwuQFpewSyRrI3AsftF6rM0X80mZkChIt1spBGEvRglCrjTniXvinc8JKRoqTwXAgvqTImaN9igfSMtUBw== chalk@^2.3.2: version "2.4.2" @@ -318,7 +1317,16 @@ chalk@^2.3.2: escape-string-regexp "^1.0.5" supports-color "^5.3.0" -chalk@^4.1.2: +chalk@^2.4.2: + version "2.4.2" + resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^4.0.0, chalk@^4.1.2: version "4.1.2" resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== @@ -326,51 +1334,40 @@ chalk@^4.1.2: ansi-styles "^4.1.0" supports-color "^7.1.0" -cheerio-select@^1.5.0: - version "1.5.0" - resolved "https://registry.npmjs.org/cheerio-select/-/cheerio-select-1.5.0.tgz" - integrity sha512-qocaHPv5ypefh6YNxvnbABM07KMxExbtbfuJoIie3iZXX1ERwYmJcIiRrr9H05ucQP1k28dav8rpdDgjQd8drg== - dependencies: - css-select "^4.1.3" - css-what "^5.0.1" - domelementtype "^2.2.0" - domhandler "^4.2.0" - domutils "^2.7.0" +char-regex@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz" + integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== -cheerio@^1.0.0-rc.10: - version "1.0.0-rc.10" - resolved "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.10.tgz" - integrity sha512-g0J0q/O6mW8z5zxQ3A8E8J1hUgp4SMOvEoW/x84OwyHKe/Zccz83PVT4y5Crcr530FV6NgmKI1qvGTKVl9XXVw== - dependencies: - cheerio-select "^1.5.0" - dom-serializer "^1.3.2" - domhandler "^4.2.0" - htmlparser2 "^6.1.0" - parse5 "^6.0.1" - parse5-htmlparser2-tree-adapter "^6.0.1" - tslib "^2.2.0" +ci-info@^3.2.0: + version "3.9.0" + resolved "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz" + integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== -chownr@^1.1.1: - version "1.1.4" - resolved "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz" - integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== +cjs-module-lexer@^1.0.0: + version "1.2.3" + resolved "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz" + integrity sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ== -cli-progress@^3.11.2: - version "3.11.2" - resolved "https://registry.npmjs.org/cli-progress/-/cli-progress-3.11.2.tgz" - integrity sha512-lCPoS6ncgX4+rJu5bS3F/iCz17kZ9MPZ6dpuTtI0KXKABkhyXIdYB3Inby1OpaGti3YlI3EeEkM9AuWpelJrVA== - dependencies: - string-width "^4.2.3" - -cliui@^7.0.2: - version "7.0.4" - resolved "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz" - integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== +cliui@^8.0.1: + version "8.0.1" + resolved "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz" + integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== dependencies: string-width "^4.2.0" - strip-ansi "^6.0.0" + strip-ansi "^6.0.1" wrap-ansi "^7.0.0" +co@^4.6.0: + version "4.6.0" + resolved "https://registry.npmjs.org/co/-/co-4.6.0.tgz" + integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== + +collect-v8-coverage@^1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz" + integrity sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q== + color-convert@^1.9.0: version "1.9.3" resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" @@ -385,7 +1382,7 @@ color-convert@^2.0.1: dependencies: color-name "~1.1.4" -color-name@^1.0.0, color-name@~1.1.4: +color-name@~1.1.4: version "1.1.4" resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== @@ -393,35 +1390,7 @@ color-name@^1.0.0, color-name@~1.1.4: color-name@1.1.3: version "1.1.3" resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" - integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= - -color-string@^1.9.0: - version "1.9.1" - resolved "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz" - integrity sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg== - dependencies: - color-name "^1.0.0" - simple-swizzle "^0.2.2" - -color@^4.2.3: - version "4.2.3" - resolved "https://registry.npmjs.org/color/-/color-4.2.3.tgz" - integrity sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A== - dependencies: - color-convert "^2.0.1" - color-string "^1.9.0" - -combined-stream@^1.0.8: - version "1.0.8" - resolved "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz" - integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== - dependencies: - delayed-stream "~1.0.0" - -commander@^6.2.0: - version "6.2.1" - resolved "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz" - integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== + integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== commander@^9.0.0: version "9.0.0" @@ -443,25 +1412,33 @@ concat-stream@^1.4.7: readable-stream "^2.2.2" typedarray "^0.0.6" +convert-source-map@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz" + integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== + core-util-is@~1.0.0: version "1.0.3" resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz" integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== -crlf@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/crlf/-/crlf-1.1.1.tgz" - integrity sha1-JBcoQbTINSmmqkSJ337tlYsu0W8= +create-jest@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz" + integrity sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q== dependencies: - glub "^1.0.0" - transform-file "^1.0.1" + "@jest/types" "^29.6.3" + chalk "^4.0.0" + exit "^0.1.2" + graceful-fs "^4.2.9" + jest-config "^29.7.0" + jest-util "^29.7.0" + prompts "^2.0.1" -cross-fetch@^3.0.2: - version "3.1.5" - resolved "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz" - integrity sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw== - dependencies: - node-fetch "2.6.7" +create-require@^1.1.0: + version "1.1.1" + resolved "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz" + integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== cross-spawn@^5.0.1: version "5.1.0" @@ -472,26 +1449,32 @@ cross-spawn@^5.0.1: shebang-command "^1.2.0" which "^1.2.9" -crypto@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/crypto/-/crypto-1.0.1.tgz" - integrity sha512-VxBKmeNcqQdiUQUW2Tzq0t377b54N2bMtXO/qiLa+6eRRmmC4qT3D4OnTGoT/U6O9aklQ/jTwbOtRMTTY8G0Ig== - -css-select@^4.1.3: - version "4.2.1" - resolved "https://registry.npmjs.org/css-select/-/css-select-4.2.1.tgz" - integrity sha512-/aUslKhzkTNCQUB2qTX84lVmfia9NyjP3WpDGtj/WxhwBzWBYUV3DgUpurHTme8UTPcPlAD1DJ+b0nN/t50zDQ== +cross-spawn@^7.0.0: + version "7.0.3" + resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== dependencies: - boolbase "^1.0.0" - css-what "^5.1.0" - domhandler "^4.3.0" - domutils "^2.8.0" - nth-check "^2.0.1" + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" -css-what@^5.0.1, css-what@^5.1.0: - version "5.1.0" - resolved "https://registry.npmjs.org/css-what/-/css-what-5.1.0.tgz" - integrity sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw== +cross-spawn@^7.0.2: + version "7.0.3" + resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +cross-spawn@^7.0.3: + version "7.0.3" + resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" csvtojson@^2.0.10: version "2.0.10" @@ -502,116 +1485,107 @@ csvtojson@^2.0.10: lodash "^4.17.3" strip-bom "^2.0.0" -dayjs@^1.11.0: - version "1.11.0" - resolved "https://registry.npmjs.org/dayjs/-/dayjs-1.11.0.tgz" - integrity sha512-JLC809s6Y948/FuCZPm5IX8rRhQwOiyMb2TfVVQEixG7P8Lm/gt5S7yoQZmC8x1UehI9Pb7sksEt4xx14m+7Ug== - -debug@^3.2.6: - version "3.2.7" - resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" - integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== +debug@^4.1.0: + version "4.3.4" + resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== dependencies: - ms "^2.1.1" + ms "2.1.2" -debug@2: - version "2.6.9" - resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== +debug@^4.1.1: + version "4.3.4" + resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== dependencies: - ms "2.0.0" + ms "2.1.2" -decamelize-keys@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz" - integrity sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk= +debug@^4.3.2: + version "4.3.4" + resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== dependencies: - decamelize "^1.1.0" - map-obj "^1.0.0" + ms "2.1.2" -decamelize@^1.1.0: - version "1.2.0" - resolved "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz" - integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= - -decamelize@^5.0.0: - version "5.0.1" - resolved "https://registry.npmjs.org/decamelize/-/decamelize-5.0.1.tgz" - integrity sha512-VfxadyCECXgQlkoEAjeghAr5gY3Hf+IKjKb+X8tGVDtveCjN+USwprd2q3QXBR9T1+x2DG0XZF5/w+7HAtSaXA== - -decompress-response@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz" - integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== +debug@^4.3.4: + version "4.3.4" + resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== dependencies: - mimic-response "^3.1.0" + ms "2.1.2" -deep-extend@^0.6.0: - version "0.6.0" - resolved "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz" - integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== +dedent@^1.0.0: + version "1.5.1" + resolved "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz" + integrity sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg== -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" - integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== +deep-is@^0.1.3: + 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== + +deepmerge@^4.2.2: + version "4.3.1" + resolved "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz" + integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== deprecation@^2.0.0: version "2.3.1" resolved "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz" integrity sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ== -detect-libc@^2.0.0, detect-libc@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz" - integrity sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w== +detect-newline@^3.0.0: + version "3.1.0" + resolved "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz" + integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== -dom-serializer@^1.0.1, dom-serializer@^1.3.2: - version "1.3.2" - resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz" - integrity sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig== +diff-sequences@^29.6.3: + version "29.6.3" + resolved "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz" + integrity sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q== + +diff@^4.0.1: + version "4.0.2" + resolved "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz" + integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== + +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== dependencies: - domelementtype "^2.0.1" - domhandler "^4.2.0" - entities "^2.0.0" + path-type "^4.0.0" -domelementtype@^2.0.1, domelementtype@^2.2.0: - version "2.2.0" - resolved "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz" - integrity sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A== - -domhandler@^4.0.0, domhandler@^4.2.0, domhandler@^4.3.0: - version "4.3.0" - resolved "https://registry.npmjs.org/domhandler/-/domhandler-4.3.0.tgz" - integrity sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g== +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz" + integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== dependencies: - domelementtype "^2.2.0" + esutils "^2.0.2" -domutils@^2.5.2, domutils@^2.7.0, domutils@^2.8.0: - version "2.8.0" - resolved "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz" - integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== - dependencies: - dom-serializer "^1.0.1" - domelementtype "^2.2.0" - domhandler "^4.2.0" +eastasianwidth@^0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz" + integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== + +electron-to-chromium@^1.4.535: + version "1.4.543" + resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.543.tgz" + integrity sha512-t2ZP4AcGE0iKCCQCBx/K2426crYdxD3YU6l0uK2EO3FZH0pbC4pFz/sZm2ruZsND6hQBTcDWWlo/MLpiOdif5g== + +emittery@^0.13.1: + version "0.13.1" + resolved "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz" + integrity sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ== emoji-regex@^8.0.0: version "8.0.0" resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== -end-of-stream@^1.1.0, end-of-stream@^1.4.1: - version "1.4.4" - resolved "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz" - integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== - dependencies: - once "^1.4.0" - -entities@^2.0.0: - version "2.2.0" - resolved "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz" - integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== +emoji-regex@^9.2.2: + version "9.2.2" + resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz" + integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== error-ex@^1.3.1: version "1.3.2" @@ -630,44 +1604,185 @@ escape-string-regexp@^1.0.5: resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= -expand-template@^2.0.3: +escape-string-regexp@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz" + integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== + +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +eslint-config-prettier@^9.0.0: + version "9.0.0" + resolved "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.0.0.tgz" + integrity sha512-IcJsTkJae2S35pRsRAwoCE+925rJJStOdkKnLVgtE+tEpqU0EVVM7OqrwxqgptKdX29NUwC82I5pXsGFIgSevw== + +eslint-scope@^7.2.2: + version "7.2.2" + resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz" + integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg== + dependencies: + esrecurse "^4.3.0" + estraverse "^5.2.0" + +eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3: + version "3.4.3" + resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz" + integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== + +"eslint@^6.0.0 || ^7.0.0 || >=8.0.0", "eslint@^7.0.0 || ^8.0.0", eslint@^8.50.0, eslint@>=7.0.0: + version "8.50.0" + resolved "https://registry.npmjs.org/eslint/-/eslint-8.50.0.tgz" + integrity sha512-FOnOGSuFuFLv/Sa+FDVRZl4GGVAAFFi8LecRsI5a1tMO5HIE8nCm4ivAlzt4dT3ol/PaaGC0rJEEXQmHJBGoOg== + dependencies: + "@eslint-community/eslint-utils" "^4.2.0" + "@eslint-community/regexpp" "^4.6.1" + "@eslint/eslintrc" "^2.1.2" + "@eslint/js" "8.50.0" + "@humanwhocodes/config-array" "^0.11.11" + "@humanwhocodes/module-importer" "^1.0.1" + "@nodelib/fs.walk" "^1.2.8" + ajv "^6.12.4" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.3.2" + doctrine "^3.0.0" + escape-string-regexp "^4.0.0" + eslint-scope "^7.2.2" + eslint-visitor-keys "^3.4.3" + espree "^9.6.1" + esquery "^1.4.2" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^6.0.1" + find-up "^5.0.0" + glob-parent "^6.0.2" + globals "^13.19.0" + graphemer "^1.4.0" + ignore "^5.2.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + is-path-inside "^3.0.3" + js-yaml "^4.1.0" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash.merge "^4.6.2" + minimatch "^3.1.2" + natural-compare "^1.4.0" + optionator "^0.9.3" + strip-ansi "^6.0.1" + text-table "^0.2.0" + +espree@^9.6.0, espree@^9.6.1: + version "9.6.1" + resolved "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz" + integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ== + dependencies: + acorn "^8.9.0" + acorn-jsx "^5.3.2" + eslint-visitor-keys "^3.4.1" + +esprima@^4.0.0: + version "4.0.1" + resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +esquery@^1.4.2: + version "1.5.0" + resolved "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz" + integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== + dependencies: + estraverse "^5.1.0" + +esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + dependencies: + estraverse "^5.2.0" + +estraverse@^5.1.0, estraverse@^5.2.0: + version "5.3.0" + resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== + +esutils@^2.0.2: version "2.0.3" - resolved "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz" - integrity sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg== + resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== -fast-bmp@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/fast-bmp/-/fast-bmp-2.0.1.tgz" - integrity sha512-MOSG2rHYJCjIfL3/Llseuj39yl5U3d3XLtWFLFm5ZSTublGEXyvNcwi4Npyv6nzDPRSbAP53rvVRUswgftWCcQ== +execa@^5.0.0: + version "5.1.1" + resolved "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz" + integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== dependencies: - iobuffer "^5.1.0" + 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-jpeg@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/fast-jpeg/-/fast-jpeg-1.0.1.tgz" - integrity sha512-nyoYDzmdxgLOBfEhJGwYRsRLqGKziG/wic0SMct17dTVHkseTPvNwHCfihE47tcpGA1cTJO2MNsYYHezmkuA6w== +exit@^0.1.2: + version "0.1.2" + resolved "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz" + integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ== + +expect@^29.0.0, expect@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz" + integrity sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw== dependencies: - iobuffer "^2.1.0" - tiff "^2.0.0" + "@jest/expect-utils" "^29.7.0" + jest-get-type "^29.6.3" + jest-matcher-utils "^29.7.0" + jest-message-util "^29.7.0" + jest-util "^29.7.0" -fast-list@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/fast-list/-/fast-list-1.0.3.tgz" - integrity sha512-Lm56Ci3EqefHNdIneRFuzhpPcpVVBz9fgqVmG3UQIxAefJv1mEYsZ1WQLTWqmdqeGEwbI2t6fbZgp9TqTYARuA== +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: + 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== -fast-png@^6.1.0: - version "6.1.0" - resolved "https://registry.npmjs.org/fast-png/-/fast-png-6.1.0.tgz" - integrity sha512-v8e/40RKZbE1mALigoqBOkYnemCVSMmVlGSz8fawZAZg5UQ9OZeR00L++CPvrhIGm2F6TxV5u9lbWD0oOJHcCw== +fast-glob@^3.2.9: + version "3.3.1" + resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz" + integrity sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg== dependencies: - "@types/pako" "^1.0.2" - iobuffer "^5.0.4" - pako "^2.0.4" + "@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" -fft.js@^4.0.3: - version "4.0.4" - resolved "https://registry.npmjs.org/fft.js/-/fft.js-4.0.4.tgz" - integrity sha512-f9c00hphOgeQTlDyavwTtu6RiK8AIFjD6+jvXkNkpeQ7rirK3uFWVpalkoS4LAwbdX7mfZ8aoBfFVQX1Re/8aw== +fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0, fast-json-stable-stringify@2.x: + 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== + +fast-levenshtein@^2.0.6: + version "2.0.6" + resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" + integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== + +fastq@^1.6.0: + version "1.15.0" + resolved "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz" + integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== + dependencies: + reusify "^1.0.4" + +fb-watchman@^2.0.0: + version "2.0.2" + resolved "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz" + integrity sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA== + dependencies: + bser "2.1.1" figures@^2.0.0: version "2.0.0" @@ -676,10 +1791,19 @@ figures@^2.0.0: dependencies: escape-string-regexp "^1.0.5" -file-type@^10.10.0: - version "10.11.0" - resolved "https://registry.npmjs.org/file-type/-/file-type-10.11.0.tgz" - integrity sha512-uzk64HRpUZyTGZtVuvrjP0FYxzQrBf4rojot6J65YMEbwBLB0CWm0CLojVpwpmFmxcE/lkvYICgfcGozbBq6rw== +file-entry-cache@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz" + integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== + dependencies: + flat-cache "^3.0.4" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" find-up@^2.0.0: version "2.1.0" @@ -688,6 +1812,22 @@ find-up@^2.0.0: dependencies: locate-path "^2.0.0" +find-up@^4.0.0: + version "4.1.0" + resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +find-up@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + find-up@^5.0.0: version "5.0.0" resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" @@ -696,57 +1836,98 @@ find-up@^5.0.0: locate-path "^6.0.0" path-exists "^4.0.0" -follow-redirects@^1.14.7: - version "1.14.8" - resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.8.tgz" - integrity sha512-1x0S9UVJHsQprFcEC/qnNzBLcIxsjAV905f/UkQxbclCsoTWlacCNOpQa/anodLl2uaEKFhfWOvM2Qg77+15zA== - -form-data@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz" - integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== +flat-cache@^3.0.4: + version "3.1.0" + resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.0.tgz" + integrity sha512-OHx4Qwrrt0E4jEIcI5/Xb+f+QmJYNj2rrK8wiIdQOIrB9WrrJL8cjZvXdXuBTkkEwEqLycb5BeZDV1o2i9bTew== dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.8" - mime-types "^2.1.12" + flatted "^3.2.7" + keyv "^4.5.3" + rimraf "^3.0.2" -fs-constants@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz" - integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== +flatted@^3.2.7: + version "3.2.9" + resolved "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz" + integrity sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ== + +foreground-child@^3.1.0: + version "3.1.1" + resolved "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz" + integrity sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg== + dependencies: + cross-spawn "^7.0.0" + signal-exit "^4.0.1" + +fs-extra@^11.1.1: + version "11.1.1" + resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz" + integrity sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= +fsevents@^2.3.2: + version "2.3.3" + resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz" + integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== + function-bind@^1.1.1: version "1.1.1" resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== +gensync@^1.0.0-beta.2: + version "1.0.0-beta.2" + resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" + integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== + get-caller-file@^2.0.5: version "2.0.5" resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== -github-from-package@0.0.0: - version "0.0.0" - resolved "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz" - integrity sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw== +get-package-type@^0.1.0: + version "0.1.0" + resolved "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz" + integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== -glob@^5.0.5: - version "5.0.15" - resolved "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz" - integrity sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E= +get-stream@^6.0.0: + version "6.0.1" + resolved "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz" + integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== + +glob-parent@^5.1.2: + version "5.1.2" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== dependencies: - inflight "^1.0.4" - inherits "2" - minimatch "2 || 3" - once "^1.3.0" - path-is-absolute "^1.0.0" + is-glob "^4.0.1" -glob@^7.2.0: +glob-parent@^6.0.2: + version "6.0.2" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" + integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== + dependencies: + is-glob "^4.0.3" + +glob@^10.3.4: + version "10.3.10" + resolved "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz" + integrity sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g== + dependencies: + foreground-child "^3.1.0" + jackspeak "^2.3.5" + minimatch "^9.0.1" + minipass "^5.0.0 || ^6.0.2 || ^7.0.0" + path-scurry "^1.10.1" + +glob@^7.1.3, glob@^7.1.4: version "7.2.0" resolved "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz" integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== @@ -758,39 +1939,50 @@ glob@^7.2.0: once "^1.3.0" path-is-absolute "^1.0.0" -glub@^1.0.0: - version "1.0.3" - resolved "https://registry.npmjs.org/glub/-/glub-1.0.3.tgz" - integrity sha1-VsFkMpiuJQZcYxUAMze7pp0vuGY= - dependencies: - glob "^5.0.5" - minimist "^1.1.1" +globals@^11.1.0: + version "11.12.0" + resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" + integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== -graceful-fs@^4.1.2: +globals@^13.19.0: + version "13.23.0" + resolved "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz" + integrity sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA== + dependencies: + type-fest "^0.20.2" + +globby@^11.1.0: + version "11.1.0" + resolved "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz" + integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.2.9" + ignore "^5.2.0" + merge2 "^1.4.1" + slash "^3.0.0" + +graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.9: version "4.2.9" resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz" integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ== -hard-rejection@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz" - integrity sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA== +graphemer@^1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz" + integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== has-flag@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" - integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== has-flag@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== -has-own@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/has-own/-/has-own-1.0.1.tgz" - integrity sha512-RDKhzgQTQfMaLvIFhjahU+2gGnRBK6dYOd5Gd9BzkmnBneOCRYjRC003RIMrdAbH52+l+CnMS4bBCXGer8tEhg== - has@^1.0.3: version "1.0.3" resolved "https://registry.npmjs.org/has/-/has-1.0.3.tgz" @@ -798,82 +1990,41 @@ has@^1.0.3: dependencies: function-bind "^1.1.1" -hosted-git-info@^4.0.1: - version "4.1.0" - resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz" - integrity sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA== +html-escaper@^2.0.0: + version "2.0.2" + resolved "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz" + integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== + +human-signals@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz" + integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== + +ignore@^5.2.0, ignore@^5.2.4: + version "5.2.4" + resolved "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz" + integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== + +import-fresh@^3.2.1: + version "3.3.0" + resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== dependencies: - lru-cache "^6.0.0" + parent-module "^1.0.0" + resolve-from "^4.0.0" -htmlparser2@^6.1.0: - version "6.1.0" - resolved "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz" - integrity sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A== +import-local@^3.0.2: + version "3.1.0" + resolved "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz" + integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== dependencies: - domelementtype "^2.0.1" - domhandler "^4.0.0" - domutils "^2.5.2" - entities "^2.0.0" + pkg-dir "^4.2.0" + resolve-cwd "^3.0.0" -hyntax@^1.1.9: - version "1.1.9" - resolved "https://registry.npmjs.org/hyntax/-/hyntax-1.1.9.tgz" - integrity sha512-xjxyDLbVDdLgjPnl4NM+Iu6il3UPmk6PNCBXruQKeuKDc/HtaZx1hk1AtMgw3vsn9YnLZRfoBpPxYMXcoT5KAA== - -iconv-lite@^0.4.4: - version "0.4.24" - resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz" - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== - dependencies: - safer-buffer ">= 2.1.2 < 3" - -ieee754@^1.1.13: - version "1.2.1" - resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz" - integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== - -image-js@^0.35.2: - version "0.35.2" - resolved "https://registry.npmjs.org/image-js/-/image-js-0.35.2.tgz" - integrity sha512-dAv1B/ezSsaXZMzEZtSm4NYna200TTIU+1/DWrsmZkEqPwY+OZ0+yHW/VI18mYxZ6r4e9UEzjUOat7F8rVS1zw== - dependencies: - "@swiftcarrot/color-fns" "^3.2.0" - blob-util "^2.0.2" - canny-edge-detector "^1.0.0" - fast-bmp "^2.0.1" - fast-jpeg "^1.0.1" - fast-list "^1.0.3" - fast-png "^6.1.0" - has-own "^1.0.1" - image-type "^4.1.0" - is-array-type "^1.0.0" - is-integer "^1.0.7" - jpeg-js "^0.4.3" - js-priority-queue "^0.1.5" - js-quantities "^1.7.6" - median-quickselect "^1.0.1" - ml-convolution "0.2.0" - ml-disjoint-set "^1.0.0" - ml-matrix "^6.8.0" - ml-matrix-convolution "0.4.3" - ml-regression "^5.0.0" - monotone-chain-convex-hull "^1.0.0" - new-array "^1.0.0" - robust-point-in-polygon "^1.0.3" - tiff "^5.0.2" - web-worker-manager "^0.2.0" - -image-type@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/image-type/-/image-type-4.1.0.tgz" - integrity sha512-CFJMJ8QK8lJvRlTCEgarL4ro6hfDQKif2HjSvYCdQZESaIPV4v9imrf7BQHK+sQeTeNeMpWciR9hyC/g8ybXEg== - dependencies: - file-type "^10.10.0" - -indent-string@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz" - integrity sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg== +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" + integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== inflight@^1.0.4: version "1.0.6" @@ -883,87 +2034,65 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -infobox-parser@3.6.2: - version "3.6.2" - resolved "https://registry.npmjs.org/infobox-parser/-/infobox-parser-3.6.2.tgz" - integrity sha512-lasdwvbtjCtDDO6mArAs/ueFEnBJRyo2UbZPAkd5rEG5NVJ3XFCOvbMwNTT/rJlFv1+ORw8D3UvZV4brpgATCg== - dependencies: - camelcase "^4.1.0" - -inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3, inherits@2: +inherits@^2.0.3, inherits@~2.0.3, inherits@2: version "2.0.4" resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== -ini@~1.3.0: - version "1.3.8" - resolved "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz" - integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== - -iobuffer@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/iobuffer/-/iobuffer-2.1.0.tgz" - integrity sha512-0XZfU0STJ6NVHBZdMRPjF7jtkDEC5f4AxM/n5DSZOu11SQ+7tAl1csuEnEPoSPYWdaGZ/HOfn5Q837IEHddL2w== - -iobuffer@^5.0.4, iobuffer@^5.1.0: - version "5.3.1" - resolved "https://registry.npmjs.org/iobuffer/-/iobuffer-5.3.1.tgz" - integrity sha512-5mY3jSgwxNH+rsogUXvZYfJtb4glKJJWYnJM+hpd3r7VcwfVbeMrovv0+XQirmIO8JiNw48Ll/CB5fa2SlJIsw== - -is-any-array@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/is-any-array/-/is-any-array-2.0.0.tgz" - integrity sha512-WdPV58rT3aOWXvvyuBydnCq4S2BM1Yz8shKxlEpk/6x+GX202XRvXOycEFtNgnHVLoc46hpexPFx8Pz1/sMS0w== - -is-array-type@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/is-array-type/-/is-array-type-1.0.0.tgz" - integrity sha512-LLwKQdMAO/XUkq4XTed1VYqwR2OahiwkBg+yUtZT88LXX4MLXP28qGsVfSNVP8X0wc7fzDhcZD3nns/IK8UfKw== - is-arrayish@^0.2.1: version "0.2.1" resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= -is-arrayish@^0.3.1: - version "0.3.2" - resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz" - integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== - -is-core-module@^2.5.0: - version "2.8.1" - resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz" - integrity sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA== +is-core-module@^2.13.0: + version "2.13.0" + resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz" + integrity sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ== dependencies: has "^1.0.3" -is-finite@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz" - integrity sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w== +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== is-fullwidth-code-point@^3.0.0: 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== -is-integer@^1.0.7: - version "1.0.7" - resolved "https://registry.npmjs.org/is-integer/-/is-integer-1.0.7.tgz" - integrity sha512-RPQc/s9yBHSvpi+hs9dYiJ2cuFeU6x3TyyIp8O2H6SKEltIvJOzRj9ToyvcStDvPR/pS4rxgr1oBFajQjZ2Szg== - dependencies: - is-finite "^1.0.0" +is-generator-fn@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz" + integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== -is-plain-obj@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz" - integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3: + version "4.0.3" + resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-path-inside@^3.0.3: + version "3.0.3" + resolved "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz" + integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== is-plain-object@^5.0.0: version "5.0.0" resolved "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz" integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q== +is-stream@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz" + integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== + is-utf8@^0.2.0: version "0.2.1" resolved "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz" @@ -979,18 +2108,425 @@ isexe@^2.0.0: resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= -iso-639-2@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/iso-639-2/-/iso-639-2-3.0.1.tgz" - integrity sha512-omCuNX+RY3qK0WuIUZXn3nY/Oq9x1OHaobVi8eJJNmHW3PQOHkJ0bXSIvKVeX+VzexGO5fxDH9feuDs2H3NPiQ== +istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: + version "3.2.0" + resolved "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz" + integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw== -isomorphic-unfetch@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/isomorphic-unfetch/-/isomorphic-unfetch-3.1.0.tgz" - integrity sha512-geDJjpoZ8N0kWexiwkX8F9NkTsXhetLPVbZFQ+JTW239QNOwvB0gniuR1Wc6f0AMTn7/mFGyXvHTifrCp/GH8Q== +istanbul-lib-instrument@^5.0.4: + version "5.2.1" + resolved "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz" + integrity sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg== dependencies: - node-fetch "^2.6.1" - unfetch "^4.2.0" + "@babel/core" "^7.12.3" + "@babel/parser" "^7.14.7" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-coverage "^3.2.0" + semver "^6.3.0" + +istanbul-lib-instrument@^6.0.0: + version "6.0.1" + resolved "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.1.tgz" + integrity sha512-EAMEJBsYuyyztxMxW3g7ugGPkrZsV57v0Hmv3mm1uQsmB+QnZuepg731CRaIgeUVSdmsTngOkSnauNF8p7FIhA== + dependencies: + "@babel/core" "^7.12.3" + "@babel/parser" "^7.14.7" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-coverage "^3.2.0" + semver "^7.5.4" + +istanbul-lib-report@^3.0.0: + version "3.0.1" + resolved "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz" + integrity sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw== + dependencies: + istanbul-lib-coverage "^3.0.0" + make-dir "^4.0.0" + supports-color "^7.1.0" + +istanbul-lib-source-maps@^4.0.0: + version "4.0.1" + resolved "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz" + integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw== + dependencies: + debug "^4.1.1" + istanbul-lib-coverage "^3.0.0" + source-map "^0.6.1" + +istanbul-reports@^3.1.3: + version "3.1.6" + resolved "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz" + integrity sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg== + dependencies: + html-escaper "^2.0.0" + istanbul-lib-report "^3.0.0" + +jackspeak@^2.3.5: + version "2.3.6" + resolved "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz" + integrity sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ== + dependencies: + "@isaacs/cliui" "^8.0.2" + optionalDependencies: + "@pkgjs/parseargs" "^0.11.0" + +jest-changed-files@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz" + integrity sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w== + dependencies: + execa "^5.0.0" + jest-util "^29.7.0" + p-limit "^3.1.0" + +jest-circus@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz" + integrity sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw== + dependencies: + "@jest/environment" "^29.7.0" + "@jest/expect" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + chalk "^4.0.0" + co "^4.6.0" + dedent "^1.0.0" + is-generator-fn "^2.0.0" + jest-each "^29.7.0" + jest-matcher-utils "^29.7.0" + jest-message-util "^29.7.0" + jest-runtime "^29.7.0" + jest-snapshot "^29.7.0" + jest-util "^29.7.0" + p-limit "^3.1.0" + pretty-format "^29.7.0" + pure-rand "^6.0.0" + slash "^3.0.0" + stack-utils "^2.0.3" + +jest-cli@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz" + integrity sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg== + dependencies: + "@jest/core" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/types" "^29.6.3" + chalk "^4.0.0" + create-jest "^29.7.0" + exit "^0.1.2" + import-local "^3.0.2" + jest-config "^29.7.0" + jest-util "^29.7.0" + jest-validate "^29.7.0" + yargs "^17.3.1" + +jest-config@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz" + integrity sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ== + dependencies: + "@babel/core" "^7.11.6" + "@jest/test-sequencer" "^29.7.0" + "@jest/types" "^29.6.3" + babel-jest "^29.7.0" + chalk "^4.0.0" + ci-info "^3.2.0" + deepmerge "^4.2.2" + glob "^7.1.3" + graceful-fs "^4.2.9" + jest-circus "^29.7.0" + jest-environment-node "^29.7.0" + jest-get-type "^29.6.3" + jest-regex-util "^29.6.3" + jest-resolve "^29.7.0" + jest-runner "^29.7.0" + jest-util "^29.7.0" + jest-validate "^29.7.0" + micromatch "^4.0.4" + parse-json "^5.2.0" + pretty-format "^29.7.0" + slash "^3.0.0" + strip-json-comments "^3.1.1" + +jest-diff@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz" + integrity sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw== + dependencies: + chalk "^4.0.0" + diff-sequences "^29.6.3" + jest-get-type "^29.6.3" + pretty-format "^29.7.0" + +jest-docblock@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz" + integrity sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g== + dependencies: + detect-newline "^3.0.0" + +jest-each@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz" + integrity sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ== + dependencies: + "@jest/types" "^29.6.3" + chalk "^4.0.0" + jest-get-type "^29.6.3" + jest-util "^29.7.0" + pretty-format "^29.7.0" + +jest-environment-node@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz" + integrity sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw== + dependencies: + "@jest/environment" "^29.7.0" + "@jest/fake-timers" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + jest-mock "^29.7.0" + jest-util "^29.7.0" + +jest-get-type@^29.6.3: + version "29.6.3" + resolved "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz" + integrity sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw== + +jest-haste-map@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz" + integrity sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA== + dependencies: + "@jest/types" "^29.6.3" + "@types/graceful-fs" "^4.1.3" + "@types/node" "*" + anymatch "^3.0.3" + fb-watchman "^2.0.0" + graceful-fs "^4.2.9" + jest-regex-util "^29.6.3" + jest-util "^29.7.0" + jest-worker "^29.7.0" + micromatch "^4.0.4" + walker "^1.0.8" + optionalDependencies: + fsevents "^2.3.2" + +jest-leak-detector@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz" + integrity sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw== + dependencies: + jest-get-type "^29.6.3" + pretty-format "^29.7.0" + +jest-matcher-utils@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz" + integrity sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g== + dependencies: + chalk "^4.0.0" + jest-diff "^29.7.0" + jest-get-type "^29.6.3" + pretty-format "^29.7.0" + +jest-message-util@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz" + integrity sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w== + dependencies: + "@babel/code-frame" "^7.12.13" + "@jest/types" "^29.6.3" + "@types/stack-utils" "^2.0.0" + chalk "^4.0.0" + graceful-fs "^4.2.9" + micromatch "^4.0.4" + pretty-format "^29.7.0" + slash "^3.0.0" + stack-utils "^2.0.3" + +jest-mock@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz" + integrity sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw== + dependencies: + "@jest/types" "^29.6.3" + "@types/node" "*" + jest-util "^29.7.0" + +jest-pnp-resolver@^1.2.2: + version "1.2.3" + resolved "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz" + integrity sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w== + +jest-regex-util@^29.6.3: + version "29.6.3" + resolved "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz" + integrity sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg== + +jest-resolve-dependencies@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz" + integrity sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA== + dependencies: + jest-regex-util "^29.6.3" + jest-snapshot "^29.7.0" + +jest-resolve@*, jest-resolve@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz" + integrity sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA== + dependencies: + chalk "^4.0.0" + graceful-fs "^4.2.9" + jest-haste-map "^29.7.0" + jest-pnp-resolver "^1.2.2" + jest-util "^29.7.0" + jest-validate "^29.7.0" + resolve "^1.20.0" + resolve.exports "^2.0.0" + slash "^3.0.0" + +jest-runner@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz" + integrity sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ== + dependencies: + "@jest/console" "^29.7.0" + "@jest/environment" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + chalk "^4.0.0" + emittery "^0.13.1" + graceful-fs "^4.2.9" + jest-docblock "^29.7.0" + jest-environment-node "^29.7.0" + jest-haste-map "^29.7.0" + jest-leak-detector "^29.7.0" + jest-message-util "^29.7.0" + jest-resolve "^29.7.0" + jest-runtime "^29.7.0" + jest-util "^29.7.0" + jest-watcher "^29.7.0" + jest-worker "^29.7.0" + p-limit "^3.1.0" + source-map-support "0.5.13" + +jest-runtime@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz" + integrity sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ== + dependencies: + "@jest/environment" "^29.7.0" + "@jest/fake-timers" "^29.7.0" + "@jest/globals" "^29.7.0" + "@jest/source-map" "^29.6.3" + "@jest/test-result" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + chalk "^4.0.0" + cjs-module-lexer "^1.0.0" + collect-v8-coverage "^1.0.0" + glob "^7.1.3" + graceful-fs "^4.2.9" + jest-haste-map "^29.7.0" + jest-message-util "^29.7.0" + jest-mock "^29.7.0" + jest-regex-util "^29.6.3" + jest-resolve "^29.7.0" + jest-snapshot "^29.7.0" + jest-util "^29.7.0" + slash "^3.0.0" + strip-bom "^4.0.0" + +jest-snapshot@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz" + integrity sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw== + dependencies: + "@babel/core" "^7.11.6" + "@babel/generator" "^7.7.2" + "@babel/plugin-syntax-jsx" "^7.7.2" + "@babel/plugin-syntax-typescript" "^7.7.2" + "@babel/types" "^7.3.3" + "@jest/expect-utils" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" + babel-preset-current-node-syntax "^1.0.0" + chalk "^4.0.0" + expect "^29.7.0" + graceful-fs "^4.2.9" + jest-diff "^29.7.0" + jest-get-type "^29.6.3" + jest-matcher-utils "^29.7.0" + jest-message-util "^29.7.0" + jest-util "^29.7.0" + natural-compare "^1.4.0" + pretty-format "^29.7.0" + semver "^7.5.3" + +jest-util@^29.0.0, jest-util@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz" + integrity sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA== + dependencies: + "@jest/types" "^29.6.3" + "@types/node" "*" + chalk "^4.0.0" + ci-info "^3.2.0" + graceful-fs "^4.2.9" + picomatch "^2.2.3" + +jest-validate@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz" + integrity sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw== + dependencies: + "@jest/types" "^29.6.3" + camelcase "^6.2.0" + chalk "^4.0.0" + jest-get-type "^29.6.3" + leven "^3.1.0" + pretty-format "^29.7.0" + +jest-watcher@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz" + integrity sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g== + dependencies: + "@jest/test-result" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + emittery "^0.13.1" + jest-util "^29.7.0" + string-length "^4.0.1" + +jest-worker@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz" + integrity sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw== + dependencies: + "@types/node" "*" + jest-util "^29.7.0" + merge-stream "^2.0.0" + supports-color "^8.0.0" + +jest@^29.0.0, jest@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz" + integrity sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw== + dependencies: + "@jest/core" "^29.7.0" + "@jest/types" "^29.6.3" + import-local "^3.0.2" + jest-cli "^29.7.0" joi@^17.6.0: version "17.6.0" @@ -1003,30 +2539,35 @@ joi@^17.6.0: "@sideway/formula" "^3.0.0" "@sideway/pinpoint" "^2.0.0" -jpeg-js@^0.4.3: - version "0.4.4" - resolved "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.4.4.tgz" - integrity sha512-WZzeDOEtTOBK4Mdsar0IqEU5sMr3vSV2RqkAIzUEV2BHnUfKGyswWFPFwK5EeDo93K3FohSHbLAjj0s1Wzd+dg== - -js-priority-queue@^0.1.5: - version "0.1.5" - resolved "https://registry.npmjs.org/js-priority-queue/-/js-priority-queue-0.1.5.tgz" - integrity sha512-2dPmJT4GbXUpob7AZDR1wFMKz3Biy6oW69mwt5PTtdeoOgDin1i0p5gUV9k0LFeUxDpwkfr+JGMZDpcprjiY5w== - -js-quantities@^1.7.6: - version "1.7.6" - resolved "https://registry.npmjs.org/js-quantities/-/js-quantities-1.7.6.tgz" - integrity sha512-h6TH1xK1u/zdjD26M6kKVthZONJSDTIRzrohbqOILfJAyanWHGlJLWuAWkSMtqi8k/IxshStsc97Pkf8SL9yvA== - js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== -jshashes@^1.0.8: - version "1.0.8" - resolved "https://registry.npmjs.org/jshashes/-/jshashes-1.0.8.tgz" - integrity sha512-btmQZ/w1rj8Lb6nEwvhjM7nBYoj54yaEFo2PWh3RkxZ8qNwuvOxvQYN/JxVuwoMmdIluL+XwYVJ+pEEZoSYybQ== +js-yaml@^3.13.1: + version "3.14.1" + resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + +json-buffer@3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz" + integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== json-parse-better-errors@^1.0.1: version "1.0.2" @@ -1038,24 +2579,54 @@ json-parse-even-better-errors@^2.3.0: resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== -json2csv@^6.0.0-alpha.0: - version "6.0.0-alpha.0" - resolved "https://registry.npmjs.org/json2csv/-/json2csv-6.0.0-alpha.0.tgz" - integrity sha512-Sc7Maca9abvW0eiiwTR/TsR45I9CAAtXNSu2hUa6WnuHDB6gG0hwHVYXeIyVO+0CBoBFy70Mm3afFE+OyJIrIA== +json-schema-traverse@^0.4.1: + 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== + +json-stable-stringify-without-jsonify@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" + integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== + +json5@^2.2.3: + version "2.2.3" + resolved "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz" + integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== + +jsonfile@^6.0.1: + version "6.1.0" + resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz" + integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== dependencies: - commander "^6.2.0" - jsonparse "^1.3.1" - lodash.get "^4.4.2" + universalify "^2.0.0" + optionalDependencies: + graceful-fs "^4.1.6" -jsonparse@^1.3.1: - version "1.3.1" - resolved "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz" - integrity sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA= +keyv@^4.5.3: + version "4.5.3" + resolved "https://registry.npmjs.org/keyv/-/keyv-4.5.3.tgz" + integrity sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug== + dependencies: + json-buffer "3.0.1" -kind-of@^6.0.3: - version "6.0.3" - resolved "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz" - integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== +kleur@^3.0.3: + version "3.0.3" + resolved "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz" + integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== + +leven@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz" + integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== + +levn@^0.4.1: + version "0.4.1" + resolved "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz" + integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== + dependencies: + prelude-ls "^1.2.1" + type-check "~0.4.0" lines-and-columns@^1.1.6: version "1.2.4" @@ -1080,6 +2651,13 @@ locate-path@^2.0.0: p-locate "^2.0.0" path-exists "^3.0.0" +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + locate-path@^6.0.0: version "6.0.0" resolved "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" @@ -1092,6 +2670,11 @@ lodash.get@^4.4.2: resolved "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz" integrity sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk= +lodash.memoize@4.x: + version "4.1.2" + resolved "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz" + integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag== + lodash.merge@^4.6.2: version "4.6.2" resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" @@ -1110,6 +2693,13 @@ lru-cache@^4.0.1: pseudomap "^1.0.2" yallist "^2.1.2" +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz" + integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== + dependencies: + yallist "^3.0.2" + lru-cache@^6.0.0: version "6.0.0" resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" @@ -1117,383 +2707,179 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" -map-obj@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz" - integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0= +"lru-cache@^9.1.1 || ^10.0.0": + version "10.0.1" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz" + integrity sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g== -map-obj@^4.1.0: - version "4.3.0" - resolved "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz" - integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== +luxon@^3.4.3: + version "3.4.3" + resolved "https://registry.npmjs.org/luxon/-/luxon-3.4.3.tgz" + integrity sha512-tFWBiv3h7z+T/tDaoxA8rqTxy1CHV6gHS//QdaH4pulbq/JuBSGgQspQQqcgnwdAx6pNI7cmvz5Sv/addzHmUg== -median-quickselect@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/median-quickselect/-/median-quickselect-1.0.1.tgz" - integrity sha512-/QL9ptNuLsdA68qO+2o10TKCyu621zwwTFdLvtu8rzRNKsn8zvuGoq/vDxECPyELFG8wu+BpyoMR9BnsJqfVZQ== - -meow@^10.1.1: - version "10.1.2" - resolved "https://registry.npmjs.org/meow/-/meow-10.1.2.tgz" - integrity sha512-zbuAlN+V/sXlbGchNS9WTWjUzeamwMt/BApKCJi7B0QyZstZaMx0n4Unll/fg0njGtMdC9UP5SAscvOCLYdM+Q== +make-dir@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz" + integrity sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw== dependencies: - "@types/minimist" "^1.2.2" - camelcase-keys "^7.0.0" - decamelize "^5.0.0" - decamelize-keys "^1.1.0" - hard-rejection "^2.1.0" - minimist-options "4.1.0" - normalize-package-data "^3.0.2" - read-pkg-up "^8.0.0" - redent "^4.0.0" - trim-newlines "^4.0.2" - type-fest "^1.2.2" - yargs-parser "^20.2.9" + semver "^7.5.3" -mime-db@1.52.0: - version "1.52.0" - resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" - integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== +make-error@^1.1.1, make-error@1.x: + version "1.3.6" + resolved "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz" + integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== -mime-types@^2.1.12: - version "2.1.35" - resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" - integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== +makeerror@1.0.12: + version "1.0.12" + resolved "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz" + integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== dependencies: - mime-db "1.52.0" + tmpl "1.0.5" -mimic-response@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz" - integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== -min-indent@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz" - integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== +merge2@^1.3.0, merge2@^1.4.1: + version "1.4.1" + resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== -minimatch@^3.0.4, "minimatch@2 || 3": +micromatch@^4.0.4: + version "4.0.5" + resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" + integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== + dependencies: + braces "^3.0.2" + picomatch "^2.3.1" + +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + +minimatch@^3.0.4, minimatch@^3.0.5: version "3.0.5" resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz" integrity sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw== dependencies: brace-expansion "^1.1.7" -minimist-options@4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz" - integrity sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A== +minimatch@^3.1.2: + version "3.1.2" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== dependencies: - arrify "^1.0.1" - is-plain-obj "^1.1.0" - kind-of "^6.0.3" + brace-expansion "^1.1.7" -minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.3: - version "1.2.6" - resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz" - integrity sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q== - -mkdirp-classic@^0.5.2, mkdirp-classic@^0.5.3: - version "0.5.3" - resolved "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz" - integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== - -ml-array-max@^1.2.4: - version "1.2.4" - resolved "https://registry.npmjs.org/ml-array-max/-/ml-array-max-1.2.4.tgz" - integrity sha512-BlEeg80jI0tW6WaPyGxf5Sa4sqvcyY6lbSn5Vcv44lp1I2GR6AWojfUvLnGTNsIXrZ8uqWmo8VcG1WpkI2ONMQ== +minimatch@^9.0.1: + version "9.0.3" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz" + integrity sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg== dependencies: - is-any-array "^2.0.0" + brace-expansion "^2.0.1" -ml-array-median@^1.1.1: - version "1.1.6" - resolved "https://registry.npmjs.org/ml-array-median/-/ml-array-median-1.1.6.tgz" - integrity sha512-V6bV6bTPFRX8v5CaAx/7fuRXC39LLTHfPSVZZafdNaqNz2PFL5zEA7gesjv8dMXh+gwPeUMtB5QPovlTBaa4sw== - dependencies: - is-any-array "^2.0.0" - median-quickselect "^1.0.1" - -ml-array-min@^1.2.3: - version "1.2.3" - resolved "https://registry.npmjs.org/ml-array-min/-/ml-array-min-1.2.3.tgz" - integrity sha512-VcZ5f3VZ1iihtrGvgfh/q0XlMobG6GQ8FsNyQXD3T+IlstDv85g8kfV0xUG1QPRO/t21aukaJowDzMTc7j5V6Q== - dependencies: - is-any-array "^2.0.0" - -ml-array-rescale@^1.3.7: - version "1.3.7" - resolved "https://registry.npmjs.org/ml-array-rescale/-/ml-array-rescale-1.3.7.tgz" - integrity sha512-48NGChTouvEo9KBctDfHC3udWnQKNKEWN0ziELvY3KG25GR5cA8K8wNVzracsqSW1QEkAXjTNx+ycgAv06/1mQ== - dependencies: - is-any-array "^2.0.0" - ml-array-max "^1.2.4" - ml-array-min "^1.2.3" - -ml-convolution@0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/ml-convolution/-/ml-convolution-0.2.0.tgz" - integrity sha512-km5f81jFVnEWG0eFEKAwt00X3xGUIAcUqZZlUk+w0q2sZOz1vkEYhIKOXAlmaEi9rnrTknxW//Ttm399zPzDPg== - dependencies: - fft.js "^4.0.3" - next-power-of-two "^1.0.0" - -ml-disjoint-set@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/ml-disjoint-set/-/ml-disjoint-set-1.0.0.tgz" - integrity sha512-UcEzgvRzVhsKpT66syfdhaK8R+av6GxDFmU37t+6WClT/kHDIN6OMRfO7OPwQIV8+L8FSc2E6lNKpvdqf6OgLw== - -ml-distance-euclidean@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/ml-distance-euclidean/-/ml-distance-euclidean-2.0.0.tgz" - integrity sha512-yC9/2o8QF0A3m/0IXqCTXCzz2pNEzvmcE/9HFKOZGnTjatvBbsn4lWYJkxENkA4Ug2fnYl7PXQxnPi21sgMy/Q== - -ml-fft@1.3.5: - version "1.3.5" - resolved "https://registry.npmjs.org/ml-fft/-/ml-fft-1.3.5.tgz" - integrity sha512-laAATDyUuWPbIlX57thIds41wqFLsB+Zl7i1yrLRo/4CFg+hFaF9Xle8InblQseyiaVtt1KSlDG+6lgUMPOj3g== - -ml-kernel-gaussian@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/ml-kernel-gaussian/-/ml-kernel-gaussian-2.0.2.tgz" - integrity sha512-5MBrH2g9MBO53I6mcyXvMhyOLsmO2w21+26A1ZV/vYoxqpsov2PWkT8bhdFCEe0kgDupmAb6u81iOID/rhnarA== - dependencies: - ml-distance-euclidean "^2.0.0" - -ml-kernel-polynomial@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/ml-kernel-polynomial/-/ml-kernel-polynomial-2.0.1.tgz" - integrity sha512-aGDNRPHDiKeJmBxB0L9wTxKNLfp5JytbdRIo5K+FTcmFjkWDe3YZPo6R6wBB5mxaJ5eqTRawzeV4RoIWHbakyQ== - -ml-kernel-sigmoid@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/ml-kernel-sigmoid/-/ml-kernel-sigmoid-1.0.1.tgz" - integrity sha512-mSbYOSbNQ7GsUAGrHuUHNsLgM3bZGpXkotw/FBdKZD9YMXfVOgQb1LvvvVeSlOR/ZdmX23qqaV0RnKSYWBF8og== - -ml-kernel@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/ml-kernel/-/ml-kernel-3.0.0.tgz" - integrity sha512-R+ZR0Kl5xJ7vnxtlDqjZ26xVk7mAw7ctK4NlzRHviBFXxp7keC9+hWirMOdzi2DOQA0t6CaRwjElZ6SdirOmow== - dependencies: - ml-distance-euclidean "^2.0.0" - ml-kernel-gaussian "^2.0.2" - ml-kernel-polynomial "^2.0.1" - ml-kernel-sigmoid "^1.0.1" - ml-matrix "^6.1.2" - -ml-matrix-convolution@0.4.3: - version "0.4.3" - resolved "https://registry.npmjs.org/ml-matrix-convolution/-/ml-matrix-convolution-0.4.3.tgz" - integrity sha512-B4AATOjxDw4J0oVcoeYHsXrhMr31x9SWhVKZjWucDU+brwXLR0enMdqb1OuRy/REdpL5/iSshA46sS2B1dO2OQ== - dependencies: - ml-fft "1.3.5" - ml-stat "^1.2.0" - -ml-matrix@^6.1.2, ml-matrix@^6.10.1, ml-matrix@^6.8.0: - version "6.10.4" - resolved "https://registry.npmjs.org/ml-matrix/-/ml-matrix-6.10.4.tgz" - integrity sha512-rUyEhfNPzqFsltYwvjNeYQXlYEaVea3KgzcJKJteQUj2WVAGFx9fLNRjtMR9mg2B6bd5buxlmkZmxM4hmO+SKg== - dependencies: - is-any-array "^2.0.0" - ml-array-rescale "^1.3.7" - -ml-regression-base@^2.0.1, ml-regression-base@^2.1.3: - version "2.1.6" - resolved "https://registry.npmjs.org/ml-regression-base/-/ml-regression-base-2.1.6.tgz" - integrity sha512-yTckvEc8szc6VrUTJSgAClShvCoPZdNt8pmyRe8aGsIWGjg6bYFotp9mDUwAB0snvKAbQWd6A4trL/PDCASLug== - dependencies: - is-any-array "^2.0.0" - -ml-regression-exponential@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/ml-regression-exponential/-/ml-regression-exponential-2.1.0.tgz" - integrity sha512-6ZgGbzIkXnONfGGUU0LjIb9qb35WzVqdAFSX8vFr8UEhgXhfgEws9pGrBJu19VBEh7ZTtttcPObI3aoBscq4Kg== - dependencies: - ml-regression-base "^2.1.3" - ml-regression-simple-linear "^2.0.3" - -ml-regression-multivariate-linear@^2.0.2: - version "2.0.4" - resolved "https://registry.npmjs.org/ml-regression-multivariate-linear/-/ml-regression-multivariate-linear-2.0.4.tgz" - integrity sha512-/vShPAlP+mB7P2mC5TuXwObSJNl/UBI71/bszt9ilTg6yLKy6btDLpAYyJNa6t+JnL5a7q+Yy4dCltfpvqXRIw== - dependencies: - ml-matrix "^6.10.1" - -ml-regression-polynomial@^2.0.0: - version "2.2.0" - resolved "https://registry.npmjs.org/ml-regression-polynomial/-/ml-regression-polynomial-2.2.0.tgz" - integrity sha512-WxFsEmi6oLxgq9TeaVoAA+vVUJFp1kGarX6WWClR8OmlanoIW5iLMnaeXfQcYuH8xNq4R1Cax2N9hYYmeWWkLg== - dependencies: - ml-matrix "^6.8.0" - ml-regression-base "^2.1.3" - -ml-regression-power@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/ml-regression-power/-/ml-regression-power-2.0.0.tgz" - integrity sha512-u8O9Fy45+OeYm/4ZBcNDn5w3w+MHc6kZz/AWSJIwmJcyjz6PRkTZnNfgGYdVKwKKDlAOS7G/AFvMKSTWRNO4RQ== - dependencies: - ml-regression-base "^2.0.1" - ml-regression-simple-linear "^2.0.2" - -ml-regression-robust-polynomial@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/ml-regression-robust-polynomial/-/ml-regression-robust-polynomial-2.0.1.tgz" - integrity sha512-WkxA224Cil1G3Ug/T1O8H/2IDADlca21oC5WDplcM+gQRTqtueT/Su4ubH70tG6s79XHM046HfO8xQSpDQxqqg== - dependencies: - ml-matrix "^6.8.0" - ml-regression-base "^2.1.3" - -ml-regression-simple-linear@^2.0.2, ml-regression-simple-linear@^2.0.3: - version "2.0.3" - resolved "https://registry.npmjs.org/ml-regression-simple-linear/-/ml-regression-simple-linear-2.0.3.tgz" - integrity sha512-xcLviI0Gqs0TXE5+QsPLbJm372RyZsX6xmsufez3Dz6vq/r10+KyOJ8JvUimhryKvPaZQvx6BTnzAfQbj/IeLQ== - dependencies: - ml-regression-base "^2.0.1" - -ml-regression-theil-sen@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/ml-regression-theil-sen/-/ml-regression-theil-sen-2.0.0.tgz" - integrity sha512-RO//tYzo69XbWDO5LIPdGp8ef1MSTPPJY0bXNlmOLMSay7YR9FQqtNgqn29T9DSYTa863VAafRlCeXwDQNXkBw== - dependencies: - ml-array-median "^1.1.1" - ml-regression-base "^2.0.1" - -ml-regression@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/ml-regression/-/ml-regression-5.0.0.tgz" - integrity sha512-mBn0LpfEWV3Dk0dj+8PRNUqIHvO87rUY0PmCUTYv3MKfECx7TtlKyeacJeOBLZ4YAVixX8U5hn4HwRL6TpTYaw== - dependencies: - ml-kernel "^3.0.0" - ml-matrix "^6.1.2" - ml-regression-base "^2.0.1" - ml-regression-exponential "^2.0.0" - ml-regression-multivariate-linear "^2.0.2" - ml-regression-polynomial "^2.0.0" - ml-regression-power "^2.0.0" - ml-regression-robust-polynomial "^2.0.0" - ml-regression-simple-linear "^2.0.2" - ml-regression-theil-sen "^2.0.0" - -ml-stat@^1.2.0: - version "1.3.3" - resolved "https://registry.npmjs.org/ml-stat/-/ml-stat-1.3.3.tgz" - integrity sha512-F6plydFIKFZA+7j/pRsRrfRu4nwsruQvYD9QxHWc4hFUdASVznsKUL2hgAwgMVizY/P0+b1L9bVQexKES5y/uw== +"minipass@^5.0.0 || ^6.0.2 || ^7.0.0": + version "7.0.4" + resolved "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz" + integrity sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ== moment@2.x.x: version "2.29.4" resolved "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz" integrity sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w== -monotone-chain-convex-hull@^1.0.0: - version "1.1.0" - resolved "https://registry.npmjs.org/monotone-chain-convex-hull/-/monotone-chain-convex-hull-1.1.0.tgz" - integrity sha512-iZGaoO2qtqIWaAfscTtsH2LolE06U4JzTw8AgtjT/yzYIA0aoAHDdwBtsesnQXfVRvS375Wu0Y1+FqdI5Y22GA== - -ms@^2.1.1: - version "2.1.3" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" - integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== - -mz@^2.7.0: - version "2.7.0" - resolved "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz" - integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== - dependencies: - any-promise "^1.0.0" - object-assign "^4.0.1" - thenify-all "^1.0.0" - -napi-build-utils@^1.0.1: - version "1.0.2" - resolved "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz" - integrity sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg== - -needle@^2.5.2: - version "2.9.1" - resolved "https://registry.npmjs.org/needle/-/needle-2.9.1.tgz" - integrity sha512-6R9fqJ5Zcmf+uYaFgdIHmLwNldn5HbK8L5ybn7Uz+ylX/rnOsSp1AHcvQSrCaFN+qNM1wpymHqD7mVasEOlHGQ== - dependencies: - debug "^3.2.6" - iconv-lite "^0.4.4" - sax "^1.2.4" - -new-array@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/new-array/-/new-array-1.0.0.tgz" - integrity sha512-K5AyFYbuHZ4e/ti52y7k18q8UHsS78FlRd85w2Fmsd6AkuLipDihPflKC0p3PN5i8II7+uHxo+CtkLiJDfmS5A== - -next-power-of-two@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/next-power-of-two/-/next-power-of-two-1.0.0.tgz" - integrity sha512-+z6QY1SxkDk6CQJAeaIZKmcNubBCRP7J8DMQUBglz/sSkNsZoJ1kULjqk9skNPPplzs4i9PFhYrvNDdtQleF/A== - -node-abi@^3.3.0: - version "3.30.0" - resolved "https://registry.npmjs.org/node-abi/-/node-abi-3.30.0.tgz" - integrity sha512-qWO5l3SCqbwQavymOmtTVuCWZE23++S+rxyoHjXqUmPyzRcaoI4lA2gO55/drddGnedAyjA7sk76SfQ5lfUMnw== - dependencies: - semver "^7.3.5" - -node-addon-api@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/node-addon-api/-/node-addon-api-5.0.0.tgz" - integrity sha512-CvkDw2OEnme7ybCykJpVcKH+uAOLV2qLqiyla128dN9TkEWfrYmxG6C2boDe5KcNQqZF3orkqzGgOMvZ/JNekA== - -node-cleanup@^2.1.2: +ms@2.1.2: version "2.1.2" - resolved "https://registry.npmjs.org/node-cleanup/-/node-cleanup-2.1.2.tgz" - integrity sha1-esGavSl+Caf3KnFUXZUbUX5N3iw= + resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -node-fetch@^2.6.1, node-fetch@^2.6.7, node-fetch@2.6.7: +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" + integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== + +natural-orderby@^3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/natural-orderby/-/natural-orderby-3.0.2.tgz" + integrity sha512-x7ZdOwBxZCEm9MM7+eQCjkrNLrW3rkBKNHVr78zbtqnMGVNlnDi6C/eUEYgxHNrcbu0ymvjzcwIL/6H1iHri9g== + +node-fetch@^2.6.7: version "2.6.7" resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz" integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== dependencies: whatwg-url "^5.0.0" -normalize-package-data@^3.0.2: - version "3.0.3" - resolved "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz" - integrity sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA== +node-gzip@^1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/node-gzip/-/node-gzip-1.1.2.tgz" + integrity sha512-ZB6zWpfZHGtxZnPMrJSKHVPrRjURoUzaDbLFj3VO70mpLTW5np96vXyHwft4Id0o+PYIzgDkBUjIzaNHhQ8srw== + +node-int64@^0.4.0: + version "0.4.0" + resolved "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz" + integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== + +node-releases@^2.0.13: + version "2.0.13" + resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz" + integrity sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ== + +normalize-path@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +normalize-url@^6.1.0: + version "6.1.0" + resolved "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz" + integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== + +npm-run-path@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz" + integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== dependencies: - hosted-git-info "^4.0.1" - is-core-module "^2.5.0" - semver "^7.3.4" - validate-npm-package-license "^3.0.1" + path-key "^3.0.0" -nth-check@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz" - integrity sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w== - dependencies: - boolbase "^1.0.0" +object-treeify@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/object-treeify/-/object-treeify-2.1.1.tgz" + integrity sha512-ofXhazOvXTYWbbibExMiS+asaTbYG/ZWopVroXFFOdjmc8ehXMq9R2VUaTx/C3CnZkQbT52wAZT4DrBLK/nQfw== -object-assign@^4.0.1: - version "4.1.1" - resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" - integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= - -once@^1.3.0, once@^1.3.1, once@^1.4.0: +once@^1.3.0, once@^1.4.0: version "1.4.0" resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= dependencies: wrappy "1" +onetime@^5.1.2: + version "5.1.2" + resolved "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== + dependencies: + mimic-fn "^2.1.0" + +optionator@^0.9.3: + version "0.9.3" + resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz" + integrity sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg== + dependencies: + "@aashutoshrathi/word-wrap" "^1.2.3" + deep-is "^0.1.3" + fast-levenshtein "^2.0.6" + levn "^0.4.1" + prelude-ls "^1.2.1" + type-check "^0.4.0" + os-shim@^0.1.2: version "0.1.3" resolved "https://registry.npmjs.org/os-shim/-/os-shim-0.1.3.tgz" integrity sha1-a2LDeRz3kJ6jXtRuF2WLtBfLORc= -os-tmpdir@^1.0.0: - version "1.0.2" - resolved "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz" - integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= - p-limit@^1.1.0: version "1.3.0" resolved "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz" @@ -1501,6 +2887,13 @@ p-limit@^1.1.0: dependencies: p-try "^1.0.0" +p-limit@^2.2.0: + version "2.3.0" + resolved "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + p-limit@^3.0.2: version "3.1.0" resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" @@ -1508,6 +2901,13 @@ p-limit@^3.0.2: dependencies: yocto-queue "^0.1.0" +p-limit@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" + p-locate@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz" @@ -1515,6 +2915,13 @@ p-locate@^2.0.0: dependencies: p-limit "^1.1.0" +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + dependencies: + p-limit "^2.2.0" + p-locate@^5.0.0: version "5.0.0" resolved "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz" @@ -1527,10 +2934,17 @@ p-try@^1.0.0: resolved "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz" integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= -pako@^2.0.4: - version "2.1.0" - resolved "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz" - integrity sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug== +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" parse-json@^4.0.0: version "4.0.0" @@ -1550,26 +2964,6 @@ parse-json@^5.2.0: json-parse-even-better-errors "^2.3.0" lines-and-columns "^1.1.6" -parse5-htmlparser2-tree-adapter@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz" - integrity sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA== - dependencies: - parse5 "^6.0.1" - -parse5@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz" - integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== - -path-exists-cli@2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/path-exists-cli/-/path-exists-cli-2.0.0.tgz" - integrity sha512-qGr0A87KYCznmvabblxyxnzA/MtPZ28wH+4SCMP4tjTFAbzqwvs5xpUZExAYzq5OgHe5vIswzdH5iosCb8YF/Q== - dependencies: - meow "^10.1.1" - path-exists "^5.0.0" - path-exists@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz" @@ -1580,21 +2974,54 @@ path-exists@^4.0.0: resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== -path-exists@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz" - integrity sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ== - path-is-absolute@^1.0.0: version "1.0.1" resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= +path-key@^3.0.0, path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-scurry@^1.10.1: + version "1.10.1" + resolved "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz" + integrity sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ== + dependencies: + lru-cache "^9.1.1 || ^10.0.0" + minipass "^5.0.0 || ^6.0.2 || ^7.0.0" + +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + +picomatch@^2.0.4, picomatch@^2.2.3, picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + pify@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz" integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= +pirates@^4.0.4: + version "4.0.6" + resolved "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz" + integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg== + pkg-conf@^2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/pkg-conf/-/pkg-conf-2.1.0.tgz" @@ -1603,6 +3030,13 @@ pkg-conf@^2.1.0: find-up "^2.0.0" load-json-file "^4.0.0" +pkg-dir@^4.2.0: + 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== + dependencies: + find-up "^4.0.0" + pre-commit@^1.2.2: version "1.2.2" resolved "https://registry.npmjs.org/pre-commit/-/pre-commit-1.2.2.tgz" @@ -1612,84 +3046,57 @@ pre-commit@^1.2.2: spawn-sync "^1.0.15" which "1.2.x" -prebuild-install@^7.1.1: - version "7.1.1" - resolved "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.1.tgz" - integrity sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw== - dependencies: - detect-libc "^2.0.0" - expand-template "^2.0.3" - github-from-package "0.0.0" - minimist "^1.2.3" - mkdirp-classic "^0.5.3" - napi-build-utils "^1.0.1" - node-abi "^3.3.0" - pump "^3.0.0" - rc "^1.2.7" - simple-get "^4.0.0" - tar-fs "^2.0.0" - tunnel-agent "^0.6.0" +prelude-ls@^1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" + integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== -probe-image-size@^7.2.3: - version "7.2.3" - resolved "https://registry.npmjs.org/probe-image-size/-/probe-image-size-7.2.3.tgz" - integrity sha512-HubhG4Rb2UH8YtV4ba0Vp5bQ7L78RTONYu/ujmCu5nBI8wGv24s4E9xSKBi0N1MowRpxk76pFCpJtW0KPzOK0w== +pretty-format@^29.0.0, pretty-format@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz" + integrity sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ== dependencies: - lodash.merge "^4.6.2" - needle "^2.5.2" - stream-parser "~0.3.1" + "@jest/schemas" "^29.6.3" + ansi-styles "^5.0.0" + react-is "^18.0.0" process-nextick-args@~2.0.0: version "2.0.1" resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz" integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== +prompts@^2.0.1: + version "2.4.2" + resolved "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz" + integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== + dependencies: + kleur "^3.0.3" + sisteransi "^1.0.5" + pseudomap@^1.0.2: version "1.0.2" resolved "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz" integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= -pump@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz" - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" +punycode@^2.1.0: + version "2.3.0" + resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz" + integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== -quick-lru@^5.1.1: - version "5.1.1" - resolved "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz" - integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== +pure-rand@^6.0.0: + version "6.0.4" + resolved "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.4.tgz" + integrity sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA== -rc@^1.2.7: - version "1.2.8" - resolved "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz" - integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== - dependencies: - deep-extend "^0.6.0" - ini "~1.3.0" - minimist "^1.2.0" - strip-json-comments "~2.0.1" +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== -read-pkg-up@^8.0.0: - version "8.0.0" - resolved "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-8.0.0.tgz" - integrity sha512-snVCqPczksT0HS2EC+SxUndvSzn6LRCwpfSvLrIfR5BKDQQZMaI6jPRC9dYvYFDRAuFEAnkwww8kBBNE/3VvzQ== - dependencies: - find-up "^5.0.0" - read-pkg "^6.0.0" - type-fest "^1.0.1" - -read-pkg@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/read-pkg/-/read-pkg-6.0.0.tgz" - integrity sha512-X1Fu3dPuk/8ZLsMhEj5f4wFAF0DWoK7qhGJvgaijocXxBmSToKfbFtqbxMO7bVjNA1dmE5huAzjXj/ey86iw9Q== - dependencies: - "@types/normalize-package-data" "^2.4.0" - normalize-package-data "^3.0.2" - parse-json "^5.2.0" - type-fest "^1.0.1" +react-is@^18.0.0: + version "18.2.0" + resolved "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz" + integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== readable-stream@^2.2.2: version "2.3.7" @@ -1704,113 +3111,83 @@ readable-stream@^2.2.2: string_decoder "~1.1.1" util-deprecate "~1.0.1" -readable-stream@^3.1.1: - version "3.6.0" - resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz" - integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - -readable-stream@^3.4.0: - version "3.6.0" - resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz" - integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - -redent@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/redent/-/redent-4.0.0.tgz" - integrity sha512-tYkDkVVtYkSVhuQ4zBgfvciymHaeuel+zFKXShfDnFP5SyVEP7qo70Rf1jTOTCx3vGNAbnEi/xFkcfQVMIBWag== - dependencies: - indent-string "^5.0.0" - strip-indent "^4.0.0" - -regenerator-runtime@^0.13.11: - version "0.13.11" - resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz" - integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg== - require-directory@^2.1.1: version "2.1.1" resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= -robust-orientation@^1.0.2: - version "1.2.1" - resolved "https://registry.npmjs.org/robust-orientation/-/robust-orientation-1.2.1.tgz" - integrity sha512-FuTptgKwY6iNuU15nrIJDLjXzCChWB+T4AvksRtwPS/WZ3HuP1CElCm1t+OBfgQKfWbtZIawip+61k7+buRKAg== +resolve-cwd@^3.0.0: + 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== dependencies: - robust-scale "^1.0.2" - robust-subtract "^1.0.0" - robust-sum "^1.0.0" - two-product "^1.0.2" + resolve-from "^5.0.0" -robust-point-in-polygon@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/robust-point-in-polygon/-/robust-point-in-polygon-1.0.3.tgz" - integrity sha512-pPzz7AevOOcPYnFv4Vs5L0C7BKOq6C/TfAw5EUE58CylbjGiPyMjAnPLzzSuPZ2zftUGwWbmLWPOjPOz61tAcA== +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +resolve-from@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz" + integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== + +resolve.exports@^2.0.0: + version "2.0.2" + resolved "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz" + integrity sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg== + +resolve@^1.20.0: + version "1.22.6" + resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.6.tgz" + integrity sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw== dependencies: - robust-orientation "^1.0.2" + is-core-module "^2.13.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" -robust-scale@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/robust-scale/-/robust-scale-1.0.2.tgz" - integrity sha512-jBR91a/vomMAzazwpsPTPeuTPPmWBacwA+WYGNKcRGSh6xweuQ2ZbjRZ4v792/bZOhRKXRiQH0F48AvuajY0tQ== +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + +rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== dependencies: - two-product "^1.0.2" - two-sum "^1.0.0" + glob "^7.1.3" -robust-subtract@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/robust-subtract/-/robust-subtract-1.0.0.tgz" - integrity sha512-xhKUno+Rl+trmxAIVwjQMiVdpF5llxytozXJOdoT4eTIqmqsndQqFb1A0oiW3sZGlhMRhOi6pAD4MF1YYW6o/A== +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" -robust-sum@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/robust-sum/-/robust-sum-1.0.0.tgz" - integrity sha512-AvLExwpaqUqD1uwLU6MwzzfRdaI6VEZsyvQ3IAQ0ZJ08v1H+DTyqskrf2ZJyh0BDduFVLN7H04Zmc+qTiahhAw== - -safe-buffer@^5.0.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1: +safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== -"safer-buffer@>= 2.1.2 < 3": - version "2.1.2" - resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== +semver@^6.3.0: + version "6.3.1" + resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz" + integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== -sax@^1.2.4: - version "1.2.4" - resolved "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz" - integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== +semver@^6.3.1: + version "6.3.1" + resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz" + integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== -semver@^7.3.4, semver@^7.3.5, semver@^7.3.7: +semver@^7.5.3, semver@^7.5.4: version "7.5.4" resolved "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz" integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== dependencies: lru-cache "^6.0.0" -sharp@^0.31.1: - version "0.31.1" - resolved "https://registry.npmjs.org/sharp/-/sharp-0.31.1.tgz" - integrity sha512-GR8M1wBwOiFKLkm9JPun27OQnNRZdHfSf9VwcdZX6UrRmM1/XnOrLFTF0GAil+y/YK4E6qcM/ugxs80QirsHxg== - dependencies: - color "^4.2.3" - detect-libc "^2.0.1" - node-addon-api "^5.0.0" - prebuild-install "^7.1.1" - semver "^7.3.7" - simple-get "^4.0.1" - tar-fs "^2.1.1" - tunnel-agent "^0.6.0" - shebang-command@^1.2.0: version "1.2.0" resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz" @@ -1818,11 +3195,33 @@ shebang-command@^1.2.0: dependencies: shebang-regex "^1.0.0" +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + shebang-regex@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz" integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +signal-exit@^3.0.3, signal-exit@^3.0.7: + version "3.0.7" + resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== + +signal-exit@^4.0.1: + version "4.1.0" + resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz" + integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== + signale@^1.4.0: version "1.4.0" resolved "https://registry.npmjs.org/signale/-/signale-1.4.0.tgz" @@ -1832,31 +3231,28 @@ signale@^1.4.0: figures "^2.0.0" pkg-conf "^2.1.0" -simple-concat@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz" - integrity sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q== +sisteransi@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz" + integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== -simple-get@^4.0.0, simple-get@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz" - integrity sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA== +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +source-map-support@0.5.13: + version "0.5.13" + resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz" + integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w== dependencies: - decompress-response "^6.0.0" - once "^1.3.1" - simple-concat "^1.0.0" + buffer-from "^1.0.0" + source-map "^0.6.0" -simple-swizzle@^0.2.2: - version "0.2.2" - resolved "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz" - integrity sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg== - dependencies: - is-arrayish "^0.3.1" - -slugify@^1.6.5: - version "1.6.5" - resolved "https://registry.npmjs.org/slugify/-/slugify-1.6.5.tgz" - integrity sha512-8mo9bslnBO3tr5PEVFzMPIWwWnipGS0xVbYf65zxDqfNwmzYn1LpiKNrR6DlClusuvo+hDHd1zKpmfAe83NQSQ== +source-map@^0.6.0, source-map@^0.6.1: + version "0.6.1" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== spawn-sync@^1.0.15: version "1.0.15" @@ -1866,46 +3262,42 @@ spawn-sync@^1.0.15: concat-stream "^1.4.7" os-shim "^0.1.2" -spdx-correct@^3.0.0: - version "3.1.1" - resolved "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz" - integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" + integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== + +stack-utils@^2.0.3: + version "2.0.6" + resolved "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz" + integrity sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ== dependencies: - spdx-expression-parse "^3.0.0" - spdx-license-ids "^3.0.0" + escape-string-regexp "^2.0.0" -spdx-exceptions@^2.1.0: - version "2.3.0" - resolved "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz" - integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== - -spdx-expression-parse@^3.0.0: - version "3.0.1" - resolved "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz" - integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== - dependencies: - spdx-exceptions "^2.1.0" - spdx-license-ids "^3.0.0" - -spdx-license-ids@^3.0.0: - version "3.0.11" - resolved "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz" - integrity sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g== - -stream-parser@~0.3.1: - version "0.3.1" - resolved "https://registry.npmjs.org/stream-parser/-/stream-parser-0.3.1.tgz" - integrity sha512-bJ/HgKq41nlKvlhccD5kaCr/P+Hu0wPNKPJOH7en+YrJu/9EgqUF+88w5Jb6KNcjOFMhfX4B2asfeAtIGuHObQ== - dependencies: - debug "2" - -string_decoder@^1.1.1, string_decoder@~1.1.1: +string_decoder@~1.1.1: version "1.1.1" resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz" integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== dependencies: safe-buffer "~5.1.0" +string-length@^4.0.1: + version "4.0.2" + resolved "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz" + integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ== + dependencies: + char-regex "^1.0.2" + strip-ansi "^6.0.0" + +"string-width-cjs@npm:string-width@^4.2.0": + version "4.2.3" + resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: version "4.2.3" resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" @@ -1915,6 +3307,22 @@ string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.1" +string-width@^5.0.1, string-width@^5.1.2: + version "5.1.2" + resolved "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz" + integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== + dependencies: + eastasianwidth "^0.2.0" + emoji-regex "^9.2.2" + strip-ansi "^7.0.1" + +"strip-ansi-cjs@npm:strip-ansi@^6.0.1": + version "6.0.1" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" @@ -1922,6 +3330,13 @@ strip-ansi@^6.0.0, strip-ansi@^6.0.1: dependencies: ansi-regex "^5.0.1" +strip-ansi@^7.0.1: + version "7.1.0" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz" + integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== + dependencies: + ansi-regex "^6.0.1" + strip-bom@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz" @@ -1934,17 +3349,20 @@ strip-bom@^3.0.0: resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz" integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= -strip-indent@^4.0.0: +strip-bom@^4.0.0: version "4.0.0" - resolved "https://registry.npmjs.org/strip-indent/-/strip-indent-4.0.0.tgz" - integrity sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA== - dependencies: - min-indent "^1.0.1" + resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz" + integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== -strip-json-comments@~2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz" - integrity sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ== +strip-final-newline@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz" + integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== + +strip-json-comments@^3.1.1: + 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== supports-color@^5.3.0: version "5.5.0" @@ -1960,139 +3378,174 @@ supports-color@^7.1.0: dependencies: has-flag "^4.0.0" -tar-fs@^2.0.0, tar-fs@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz" - integrity sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng== +supports-color@^8.0.0: + version "8.1.1" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== dependencies: - chownr "^1.1.1" - mkdirp-classic "^0.5.2" - pump "^3.0.0" - tar-stream "^2.1.4" + has-flag "^4.0.0" -tar-stream@^2.1.4: - version "2.2.0" - resolved "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz" - integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== - dependencies: - bl "^4.0.3" - end-of-stream "^1.4.1" - fs-constants "^1.0.0" - inherits "^2.0.3" - readable-stream "^3.1.1" +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== -thenify-all@^1.0.0: - version "1.6.0" - resolved "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz" - integrity sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY= +test-exclude@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz" + integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== dependencies: - thenify ">= 3.1.0 < 4" + "@istanbuljs/schema" "^0.1.2" + glob "^7.1.4" + minimatch "^3.0.4" -"thenify@>= 3.1.0 < 4": - version "3.3.1" - resolved "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz" - integrity sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== - dependencies: - any-promise "^1.0.0" +text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" + integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== -tiff@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/tiff/-/tiff-2.1.0.tgz" - integrity sha512-Q4zLT4+Csn/ZhFVacYCAl+w/1J51NW/m2y2yx7Qxp/bsHYOEsK7+5JOID2kfk+EvsaF0LbA6ccAkqiuXOmAbYw== - dependencies: - iobuffer "^2.1.0" +tmpl@1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz" + integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== -tiff@^5.0.2: - version "5.0.3" - resolved "https://registry.npmjs.org/tiff/-/tiff-5.0.3.tgz" - integrity sha512-R0WckwRGhawWDNdha8iPQCjHyOiaEEmfFjhmalUVCIEELsON7Y/XO3eeGmBkoCXQp0Gg2nmTozN92Z4hlwbsow== +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" + integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== dependencies: - iobuffer "^5.0.4" - pako "^2.0.4" + is-number "^7.0.0" tr46@~0.0.3: version "0.0.3" resolved "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz" integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o= -transform-file@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/transform-file/-/transform-file-1.0.1.tgz" - integrity sha1-f5WYSs0j1Ov4q7R+6dg74WbRJoc= +ts-api-utils@^1.0.1: + version "1.0.3" + resolved "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.3.tgz" + integrity sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg== + +ts-jest@^29.1.1: + version "29.1.1" + resolved "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.1.tgz" + integrity sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA== dependencies: - os-tmpdir "^1.0.0" + bs-logger "0.x" + fast-json-stable-stringify "2.x" + jest-util "^29.0.0" + json5 "^2.2.3" + lodash.memoize "4.x" + make-error "1.x" + semver "^7.5.3" + yargs-parser "^21.0.1" -transliteration@^2.2.0: - version "2.2.0" - resolved "https://registry.npmjs.org/transliteration/-/transliteration-2.2.0.tgz" - integrity sha512-o29GDWtecNoK4TNfnJQesGluFPiza+U8NoiKrErU8eTNlVgma6w1LV/tTiGo+waFLkhtL9WxrW0lXhZKmm7msQ== +ts-node@^10.9.1, ts-node@>=9.0.0: + version "10.9.1" + resolved "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz" + integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw== dependencies: - yargs "^16.1.0" + "@cspotcode/source-map-support" "^0.8.0" + "@tsconfig/node10" "^1.0.7" + "@tsconfig/node12" "^1.0.7" + "@tsconfig/node14" "^1.0.0" + "@tsconfig/node16" "^1.0.2" + acorn "^8.4.1" + acorn-walk "^8.1.1" + arg "^4.1.0" + create-require "^1.1.0" + diff "^4.0.1" + make-error "^1.1.1" + v8-compile-cache-lib "^3.0.1" + yn "3.1.1" -trim-newlines@^4.0.2: - version "4.0.2" - resolved "https://registry.npmjs.org/trim-newlines/-/trim-newlines-4.0.2.tgz" - integrity sha512-GJtWyq9InR/2HRiLZgpIKv+ufIKrVrvjQWEj7PxAXNc5dwbNJkqhAUoAGgzRmULAnoOM5EIpveYd3J2VeSAIew== - -tslib@^2.2.0: - version "2.3.1" - resolved "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz" - integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== - -tunnel-agent@^0.6.0: - version "0.6.0" - resolved "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz" - integrity sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w== +type-check@^0.4.0, type-check@~0.4.0: + version "0.4.0" + resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" + integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== dependencies: - safe-buffer "^5.0.1" + prelude-ls "^1.2.1" -two-product@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/two-product/-/two-product-1.0.2.tgz" - integrity sha512-vOyrqmeYvzjToVM08iU52OFocWT6eB/I5LUWYnxeAPGXAhAxXYU/Yr/R2uY5/5n4bvJQL9AQulIuxpIsMoT8XQ== +type-detect@4.0.8: + version "4.0.8" + resolved "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz" + integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== -two-sum@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/two-sum/-/two-sum-1.0.0.tgz" - integrity sha512-phP48e8AawgsNUjEY2WvoIWqdie8PoiDZGxTDv70LDr01uX5wLEQbOgSP7Z/B6+SW5oLtbe8qaYX2fKJs3CGTw== +type-fest@^0.20.2: + 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== -type-fest@^1.0.1, type-fest@^1.2.1, type-fest@^1.2.2: - version "1.4.0" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz" - integrity sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA== +type-fest@^0.21.3: + version "0.21.3" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz" + integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== typedarray@^0.0.6: version "0.0.6" resolved "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= -unfetch@^4.2.0: - version "4.2.0" - resolved "https://registry.npmjs.org/unfetch/-/unfetch-4.2.0.tgz" - integrity sha512-F9p7yYCn6cIW9El1zi0HI6vqpeIvBsr3dSuRO6Xuppb1u5rXpCPmMvLSyECLhybr9isec8Ohl0hPekMVrEinDA== +typescript@>=2.7, typescript@>=4.2.0, "typescript@>=4.3 <6": + version "5.2.2" + resolved "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz" + integrity sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w== universal-user-agent@^6.0.0: version "6.0.0" resolved "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz" integrity sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w== -util-deprecate@^1.0.1, util-deprecate@~1.0.1: +universalify@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz" + integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== + +update-browserslist-db@^1.0.13: + version "1.0.13" + resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz" + integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== + dependencies: + escalade "^3.1.1" + picocolors "^1.0.0" + +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + dependencies: + punycode "^2.1.0" + +util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= -validate-npm-package-license@^3.0.1: - version "3.0.4" - resolved "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz" - integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== - dependencies: - spdx-correct "^3.0.0" - spdx-expression-parse "^3.0.0" +v8-compile-cache-lib@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz" + integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== -web-worker-manager@^0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/web-worker-manager/-/web-worker-manager-0.2.0.tgz" - integrity sha512-WmGabA4GLth1ju9VLm/oMDcPMhMngHoBSdY1OMhrEJvNsPl7z2p+7RBOXjEi5zlP0dK+Shd3Wm+BdD5WZrNYBA== +v8-to-istanbul@^9.0.1: + version "9.1.3" + resolved "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.3.tgz" + integrity sha512-9lDD+EVI2fjFsMWXc6dy5JJzBsVTcQ2fVkfBvncZ6xJWG9wtBhOldG+mHkSL0+V1K/xgZz0JDO5UT5hFwHUghg== + dependencies: + "@jridgewell/trace-mapping" "^0.3.12" + "@types/istanbul-lib-coverage" "^2.0.1" + convert-source-map "^2.0.0" + +walker@^1.0.8: + version "1.0.8" + resolved "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz" + integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== + dependencies: + makeerror "1.0.12" webidl-conversions@^3.0.0: version "3.0.1" @@ -2114,14 +3567,21 @@ which@^1.2.9, which@1.2.x: dependencies: isexe "^2.0.0" -wikijs@^6.3.3: - version "6.3.3" - resolved "https://registry.npmjs.org/wikijs/-/wikijs-6.3.3.tgz" - integrity sha512-pYVaUuJyTd7VO2aNxbdN341zgio+QuGdc6HC3jyQqakyaLJdOD8Shj+bs7lnZnhv/wml2u+C+OME9YUkck06Cg== +which@^2.0.1: + version "2.0.2" + resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== dependencies: - cross-fetch "^3.0.2" - hyntax "^1.1.9" - infobox-parser "3.6.2" + isexe "^2.0.0" + +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": + version "7.0.0" + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" wrap-ansi@^7.0.0: version "7.0.0" @@ -2132,25 +3592,27 @@ wrap-ansi@^7.0.0: string-width "^4.1.0" strip-ansi "^6.0.0" +wrap-ansi@^8.1.0: + version "8.1.0" + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz" + integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== + dependencies: + ansi-styles "^6.1.0" + string-width "^5.0.1" + strip-ansi "^7.0.1" + wrappy@1: version "1.0.2" resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= -wtf_wikipedia@^10.0.0, wtf_wikipedia@>=9.0.0: - version "10.0.0" - resolved "https://registry.npmjs.org/wtf_wikipedia/-/wtf_wikipedia-10.0.0.tgz" - integrity sha512-CVLak9eVDf2jVt5AZTlNe5b4bqHnb8H9h9xfKwUZhLGtb9TbphXhkL0jLaTVYCXPM946wcJg6B+9d9EPKZhAwQ== +write-file-atomic@^4.0.2: + version "4.0.2" + resolved "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz" + integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg== dependencies: - isomorphic-unfetch "^3.1.0" - path-exists-cli "2.0.0" - -wtf-plugin-image@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/wtf-plugin-image/-/wtf-plugin-image-1.0.0.tgz" - integrity sha512-dLjC6kSsTZuwHuVwjhqIfImWRL6YgI1fdF2glP1EbDsNYXlYUczYh4m11To/z4fBEq8w7fxx1RG03pBdMKhQcA== - dependencies: - jshashes "^1.0.8" + imurmurhash "^0.1.4" + signal-exit "^3.0.7" y18n@^5.0.5: version "5.0.8" @@ -2162,28 +3624,43 @@ yallist@^2.1.2: resolved "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz" integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= +yallist@^3.0.2: + version "3.1.1" + resolved "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz" + integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== + yallist@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== -yargs-parser@^20.2.2, yargs-parser@^20.2.9: - version "20.2.9" - resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz" - integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== +yargs-parser@^21.0.1: + version "21.1.1" + resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz" + integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== -yargs@^16.1.0: - version "16.2.0" - resolved "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz" - integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== +yargs-parser@^21.1.1: + version "21.1.1" + resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz" + integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== + +yargs@^17.3.1: + version "17.7.2" + resolved "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz" + integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== dependencies: - cliui "^7.0.2" + cliui "^8.0.1" escalade "^3.1.1" get-caller-file "^2.0.5" require-directory "^2.1.1" - string-width "^4.2.0" + string-width "^4.2.3" y18n "^5.0.5" - yargs-parser "^20.2.2" + yargs-parser "^21.1.1" + +yn@3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz" + integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== yocto-queue@^0.1.0: version "0.1.0"