diff --git a/.github/workflows/clean.yml b/.github/workflows/clean.yml
index cd90120944..3c1f9a4520 100644
--- a/.github/workflows/clean.yml
+++ b/.github/workflows/clean.yml
@@ -17,8 +17,9 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
branch: 'bot/remove-broken-links'
- test:
+ check:
runs-on: ubuntu-latest
+ needs: create-branch
continue-on-error: true
strategy:
fail-fast: false
@@ -193,6 +194,8 @@ jobs:
uses: actions/checkout@v2
with:
ref: bot/remove-broken-links
+ - name: Setup FFmpeg
+ uses: FedericoCarboni/setup-ffmpeg@v1
- name: Install Dependencies
run: npm install
- name: Remove Broken Links
@@ -204,7 +207,7 @@ jobs:
path: channels/${{ matrix.country }}.m3u
commit-changes:
runs-on: ubuntu-latest
- needs: test
+ needs: check
steps:
- name: Checkout
uses: actions/checkout@v2
@@ -215,13 +218,14 @@ jobs:
- name: Commit Changes
uses: stefanzweifel/git-auto-commit-action@v4
with:
- commit_message: '[Bot] Update playlists'
+ commit_message: '[Bot] Remove broken links'
commit_user_name: iptv-bot
commit_user_email: 84861620+iptv-bot[bot]@users.noreply.github.com
commit_author: 'iptv-bot[bot] <84861620+iptv-bot[bot]@users.noreply.github.com>'
branch: bot/remove-broken-links
file_pattern: channels/*
pull-request:
+ if: ${{ github.ref == 'refs/heads/master' }}
runs-on: ubuntu-latest
needs: commit-changes
steps:
@@ -244,9 +248,9 @@ jobs:
pr_body: |
This pull request is created by [clean][1] workflow.
- The script checks each link and removes only those that return a HTTP 404 code (Not Found). Also, the script ignores links with labels `[Geo-blocked]` and `[Not 24/7]` in the title.
+ The script checks all links except those with labels `[Geo-blocked]`, `[Offline]` or `[Not 24/7]` in the title.
- **IMPORTANT:** Before merging all links should be checked manually to make sure that the response from the server has not changed. Working links should be marked as `[Not 24/7]` so that next time the script will not delete them.
+ **IMPORTANT:** Before merging all links should be checked manually to make sure that the response from the server has not changed. If the link works for you but occasionally return an HTTP code 403 (Forbidden) then it should be marked as `[Geo-blocked]`. If the link does not work but has no alternative, you can mark it as `[Offline]` to save it in the playlist along with a description. Working links should be marked as `[Not 24/7]` so that the script will skip them next time.
[1]: https://github.com/iptv-org/iptv/actions/runs/${{ github.run_id }}
pr_draft: true
diff --git a/README.md b/README.md
index 37d0254e15..f8bad600ce 100644
--- a/README.md
+++ b/README.md
@@ -48,22 +48,22 @@ Or select one of the playlists from the list below.
General | 339 | https://iptv-org.github.io/iptv/categories/general.m3u |
Kids | 213 | https://iptv-org.github.io/iptv/categories/kids.m3u |
Legislative | 61 | https://iptv-org.github.io/iptv/categories/legislative.m3u |
- Lifestyle | 95 | https://iptv-org.github.io/iptv/categories/lifestyle.m3u |
- Local | 540 | https://iptv-org.github.io/iptv/categories/local.m3u |
+ Lifestyle | 94 | https://iptv-org.github.io/iptv/categories/lifestyle.m3u |
+ Local | 543 | https://iptv-org.github.io/iptv/categories/local.m3u |
Movies | 277 | https://iptv-org.github.io/iptv/categories/movies.m3u |
- Music | 409 | https://iptv-org.github.io/iptv/categories/music.m3u |
- News | 492 | https://iptv-org.github.io/iptv/categories/news.m3u |
+ Music | 410 | https://iptv-org.github.io/iptv/categories/music.m3u |
+ News | 491 | https://iptv-org.github.io/iptv/categories/news.m3u |
Outdoor | 52 | https://iptv-org.github.io/iptv/categories/outdoor.m3u |
Relax | 19 | https://iptv-org.github.io/iptv/categories/relax.m3u |
- Religious | 286 | https://iptv-org.github.io/iptv/categories/religious.m3u |
+ Religious | 287 | https://iptv-org.github.io/iptv/categories/religious.m3u |
Series | 233 | https://iptv-org.github.io/iptv/categories/series.m3u |
Science | 16 | https://iptv-org.github.io/iptv/categories/science.m3u |
Shop | 48 | https://iptv-org.github.io/iptv/categories/shop.m3u |
Sports | 287 | https://iptv-org.github.io/iptv/categories/sports.m3u |
Travel | 28 | https://iptv-org.github.io/iptv/categories/travel.m3u |
Weather | 19 | https://iptv-org.github.io/iptv/categories/weather.m3u |
- XXX | 60 | https://iptv-org.github.io/iptv/categories/xxx.m3u |
- Other | 4913 | https://iptv-org.github.io/iptv/categories/other.m3u |
+ XXX | 59 | https://iptv-org.github.io/iptv/categories/xxx.m3u |
+ Other | 4923 | https://iptv-org.github.io/iptv/categories/other.m3u |
@@ -84,7 +84,7 @@ Or select one of the playlists from the list below.
Akan | 2 | https://iptv-org.github.io/iptv/languages/aka.m3u |
Albanian | 17 | https://iptv-org.github.io/iptv/languages/sqi.m3u |
Amharic | 1 | https://iptv-org.github.io/iptv/languages/amh.m3u |
- Arabic | 404 | https://iptv-org.github.io/iptv/languages/ara.m3u |
+ Arabic | 413 | https://iptv-org.github.io/iptv/languages/ara.m3u |
Armenian | 28 | https://iptv-org.github.io/iptv/languages/hye.m3u |
Assyrian Neo-Aramaic | 1 | https://iptv-org.github.io/iptv/languages/aii.m3u |
Azerbaijani | 10 | https://iptv-org.github.io/iptv/languages/aze.m3u |
@@ -103,10 +103,10 @@ Or select one of the playlists from the list below.
Estonian | 3 | https://iptv-org.github.io/iptv/languages/est.m3u |
Faroese | 1 | https://iptv-org.github.io/iptv/languages/fao.m3u |
Finnish | 1 | https://iptv-org.github.io/iptv/languages/fin.m3u |
- French | 181 | https://iptv-org.github.io/iptv/languages/fra.m3u |
+ French | 194 | https://iptv-org.github.io/iptv/languages/fra.m3u |
Galician | 9 | https://iptv-org.github.io/iptv/languages/glg.m3u |
Georgian | 8 | https://iptv-org.github.io/iptv/languages/kat.m3u |
- German | 205 | https://iptv-org.github.io/iptv/languages/deu.m3u |
+ German | 206 | https://iptv-org.github.io/iptv/languages/deu.m3u |
Hebrew | 12 | https://iptv-org.github.io/iptv/languages/heb.m3u |
Hindi | 93 | https://iptv-org.github.io/iptv/languages/hin.m3u |
Hungarian | 14 | https://iptv-org.github.io/iptv/languages/hun.m3u |
@@ -114,7 +114,7 @@ Or select one of the playlists from the list below.
Indonesian | 85 | https://iptv-org.github.io/iptv/languages/ind.m3u |
Inuktitut | 1 | https://iptv-org.github.io/iptv/languages/iku.m3u |
Italian | 136 | https://iptv-org.github.io/iptv/languages/ita.m3u |
- Japanese | 27 | https://iptv-org.github.io/iptv/languages/jpn.m3u |
+ Japanese | 26 | https://iptv-org.github.io/iptv/languages/jpn.m3u |
Javanese | 4 | https://iptv-org.github.io/iptv/languages/jav.m3u |
Kannada | 6 | https://iptv-org.github.io/iptv/languages/kan.m3u |
Kazakh | 13 | https://iptv-org.github.io/iptv/languages/kaz.m3u |
@@ -140,7 +140,7 @@ Or select one of the playlists from the list below.
Norwegian Bokmål | 6 | https://iptv-org.github.io/iptv/languages/nob.m3u |
Panjabi | 5 | https://iptv-org.github.io/iptv/languages/pan.m3u |
Pashto | 8 | https://iptv-org.github.io/iptv/languages/pus.m3u |
- Persian | 186 | https://iptv-org.github.io/iptv/languages/fas.m3u |
+ Persian | 189 | https://iptv-org.github.io/iptv/languages/fas.m3u |
Polish | 33 | https://iptv-org.github.io/iptv/languages/pol.m3u |
Portuguese | 108 | https://iptv-org.github.io/iptv/languages/por.m3u |
Romanian | 64 | https://iptv-org.github.io/iptv/languages/ron.m3u |
@@ -150,7 +150,7 @@ Or select one of the playlists from the list below.
Slovak | 26 | https://iptv-org.github.io/iptv/languages/slk.m3u |
Slovenian | 6 | https://iptv-org.github.io/iptv/languages/slv.m3u |
Somali | 6 | https://iptv-org.github.io/iptv/languages/som.m3u |
- Spanish | 624 | https://iptv-org.github.io/iptv/languages/spa.m3u |
+ Spanish | 626 | https://iptv-org.github.io/iptv/languages/spa.m3u |
Sundanese | 1 | https://iptv-org.github.io/iptv/languages/sun.m3u |
Swedish | 11 | https://iptv-org.github.io/iptv/languages/swe.m3u |
Tagalog | 6 | https://iptv-org.github.io/iptv/languages/tgl.m3u |
@@ -162,10 +162,10 @@ Or select one of the playlists from the list below.
Ukrainian | 63 | https://iptv-org.github.io/iptv/languages/ukr.m3u |
Urdu | 17 | https://iptv-org.github.io/iptv/languages/urd.m3u |
Uzbek | 1 | https://iptv-org.github.io/iptv/languages/uzb.m3u |
- Vietnamese | 68 | https://iptv-org.github.io/iptv/languages/vie.m3u |
+ Vietnamese | 69 | https://iptv-org.github.io/iptv/languages/vie.m3u |
Western Frisian | 1 | https://iptv-org.github.io/iptv/languages/fry.m3u |
Yue Chinese | 10 | https://iptv-org.github.io/iptv/languages/yue.m3u |
- Undefined | 2703 | https://iptv-org.github.io/iptv/languages/undefined.m3u |
+ Undefined | 2688 | https://iptv-org.github.io/iptv/languages/undefined.m3u |
@@ -219,7 +219,7 @@ Or select one of the playlists from the list below.
🇨🇫 Central African Republic | 1 | https://iptv-org.github.io/iptv/countries/cf.m3u |
🇹🇩 Chad | 1 | https://iptv-org.github.io/iptv/countries/td.m3u |
🇨🇱 Chile | 93 | https://iptv-org.github.io/iptv/countries/cl.m3u |
- 🇨🇳 China | 794 | https://iptv-org.github.io/iptv/countries/cn.m3u |
+ 🇨🇳 China | 790 | https://iptv-org.github.io/iptv/countries/cn.m3u |
🇨🇴 Colombia | 54 | https://iptv-org.github.io/iptv/countries/co.m3u |
🇰🇲 Comoros | 43 | https://iptv-org.github.io/iptv/countries/km.m3u |
🇨🇬 Congo - Brazzaville | 9 | https://iptv-org.github.io/iptv/countries/cg.m3u |
@@ -247,14 +247,14 @@ Or select one of the playlists from the list below.
🇫🇴 Faroe Islands | 1 | https://iptv-org.github.io/iptv/countries/fo.m3u |
🇫🇯 Fiji | 4 | https://iptv-org.github.io/iptv/countries/fj.m3u |
🇫🇮 Finland | 10 | https://iptv-org.github.io/iptv/countries/fi.m3u |
- 🇫🇷 France | 206 | https://iptv-org.github.io/iptv/countries/fr.m3u |
+ 🇫🇷 France | 219 | https://iptv-org.github.io/iptv/countries/fr.m3u |
🇬🇫 French Guiana | 23 | https://iptv-org.github.io/iptv/countries/gf.m3u |
🇵🇫 French Polynesia | 4 | https://iptv-org.github.io/iptv/countries/pf.m3u |
🇹🇫 French Southern Territories | 1 | https://iptv-org.github.io/iptv/countries/tf.m3u |
🇬🇦 Gabon | 1 | https://iptv-org.github.io/iptv/countries/ga.m3u |
🇬🇲 Gambia | 1 | https://iptv-org.github.io/iptv/countries/gm.m3u |
🇬🇪 Georgia | 16 | https://iptv-org.github.io/iptv/countries/ge.m3u |
- 🇩🇪 Germany | 257 | https://iptv-org.github.io/iptv/countries/de.m3u |
+ 🇩🇪 Germany | 258 | https://iptv-org.github.io/iptv/countries/de.m3u |
🇬🇭 Ghana | 3 | https://iptv-org.github.io/iptv/countries/gh.m3u |
🇬🇷 Greece | 122 | https://iptv-org.github.io/iptv/countries/gr.m3u |
🇬🇵 Guadeloupe | 24 | https://iptv-org.github.io/iptv/countries/gp.m3u |
@@ -270,19 +270,19 @@ Or select one of the playlists from the list below.
🇮🇳 India | 273 | https://iptv-org.github.io/iptv/countries/in.m3u |
🇮🇩 Indonesia | 95 | https://iptv-org.github.io/iptv/countries/id.m3u |
🌍 International | 34 | https://iptv-org.github.io/iptv/countries/int.m3u |
- 🇮🇷 Iran | 206 | https://iptv-org.github.io/iptv/countries/ir.m3u |
+ 🇮🇷 Iran | 207 | https://iptv-org.github.io/iptv/countries/ir.m3u |
🇮🇶 Iraq | 102 | https://iptv-org.github.io/iptv/countries/iq.m3u |
🇮🇪 Ireland | 24 | https://iptv-org.github.io/iptv/countries/ie.m3u |
- 🇮🇱 Israel | 23 | https://iptv-org.github.io/iptv/countries/il.m3u |
+ 🇮🇱 Israel | 22 | https://iptv-org.github.io/iptv/countries/il.m3u |
🇮🇹 Italy | 309 | https://iptv-org.github.io/iptv/countries/it.m3u |
🇯🇲 Jamaica | 1 | https://iptv-org.github.io/iptv/countries/jm.m3u |
- 🇯🇵 Japan | 42 | https://iptv-org.github.io/iptv/countries/jp.m3u |
+ 🇯🇵 Japan | 41 | https://iptv-org.github.io/iptv/countries/jp.m3u |
🇯🇴 Jordan | 56 | https://iptv-org.github.io/iptv/countries/jo.m3u |
🇰🇿 Kazakhstan | 31 | https://iptv-org.github.io/iptv/countries/kz.m3u |
🇰🇪 Kenya | 15 | https://iptv-org.github.io/iptv/countries/ke.m3u |
🇰🇮 Kiribati | 3 | https://iptv-org.github.io/iptv/countries/ki.m3u |
🇽🇰 Kosovo | 14 | https://iptv-org.github.io/iptv/countries/xk.m3u |
- 🇰🇼 Kuwait | 73 | https://iptv-org.github.io/iptv/countries/kw.m3u |
+ 🇰🇼 Kuwait | 75 | https://iptv-org.github.io/iptv/countries/kw.m3u |
🇰🇬 Kyrgyzstan | 3 | https://iptv-org.github.io/iptv/countries/kg.m3u |
🇱🇦 Laos | 6 | https://iptv-org.github.io/iptv/countries/la.m3u |
🇱🇻 Latvia | 9 | https://iptv-org.github.io/iptv/countries/lv.m3u |
@@ -336,7 +336,7 @@ Or select one of the playlists from the list below.
🇵🇦 Panama | 35 | https://iptv-org.github.io/iptv/countries/pa.m3u |
🇵🇬 Papua New Guinea | 3 | https://iptv-org.github.io/iptv/countries/pg.m3u |
🇵🇾 Paraguay | 33 | https://iptv-org.github.io/iptv/countries/py.m3u |
- 🇵🇪 Peru | 104 | https://iptv-org.github.io/iptv/countries/pe.m3u |
+ 🇵🇪 Peru | 107 | https://iptv-org.github.io/iptv/countries/pe.m3u |
🇵🇭 Philippines | 20 | https://iptv-org.github.io/iptv/countries/ph.m3u |
🇵🇳 Pitcairn Islands | 3 | https://iptv-org.github.io/iptv/countries/pn.m3u |
🇵🇱 Poland | 45 | https://iptv-org.github.io/iptv/countries/pl.m3u |
@@ -349,7 +349,7 @@ Or select one of the playlists from the list below.
🇷🇪 Réunion | 1 | https://iptv-org.github.io/iptv/countries/re.m3u |
🇼🇸 Samoa | 3 | https://iptv-org.github.io/iptv/countries/ws.m3u |
🇸🇲 San Marino | 6 | https://iptv-org.github.io/iptv/countries/sm.m3u |
- 🇸🇦 Saudi Arabia | 103 | https://iptv-org.github.io/iptv/countries/sa.m3u |
+ 🇸🇦 Saudi Arabia | 96 | https://iptv-org.github.io/iptv/countries/sa.m3u |
🇸🇳 Senegal | 5 | https://iptv-org.github.io/iptv/countries/sn.m3u |
🇷🇸 Serbia | 29 | https://iptv-org.github.io/iptv/countries/rs.m3u |
🇸🇨 Seychelles | 1 | https://iptv-org.github.io/iptv/countries/sc.m3u |
@@ -374,14 +374,14 @@ Or select one of the playlists from the list below.
🇸🇹 São Tomé & Príncipe | 1 | https://iptv-org.github.io/iptv/countries/st.m3u |
🇹🇼 Taiwan | 77 | https://iptv-org.github.io/iptv/countries/tw.m3u |
🇹🇯 Tajikistan | 2 | https://iptv-org.github.io/iptv/countries/tj.m3u |
- 🇹🇿 Tanzania | 5 | https://iptv-org.github.io/iptv/countries/tz.m3u |
+ 🇹🇿 Tanzania | 7 | https://iptv-org.github.io/iptv/countries/tz.m3u |
🇹🇭 Thailand | 65 | https://iptv-org.github.io/iptv/countries/th.m3u |
🇹🇱 Timor-Leste | 3 | https://iptv-org.github.io/iptv/countries/tl.m3u |
🇹🇬 Togo | 1 | https://iptv-org.github.io/iptv/countries/tg.m3u |
🇹🇰 Tokelau | 4 | https://iptv-org.github.io/iptv/countries/tk.m3u |
🇹🇴 Tonga | 3 | https://iptv-org.github.io/iptv/countries/to.m3u |
🇹🇹 Trinidad & Tobago | 1 | https://iptv-org.github.io/iptv/countries/tt.m3u |
- 🇹🇳 Tunisia | 50 | https://iptv-org.github.io/iptv/countries/tn.m3u |
+ 🇹🇳 Tunisia | 54 | https://iptv-org.github.io/iptv/countries/tn.m3u |
🇹🇷 Turkey | 245 | https://iptv-org.github.io/iptv/countries/tr.m3u |
🇹🇲 Turkmenistan | 16 | https://iptv-org.github.io/iptv/countries/tm.m3u |
🇹🇻 Tuvalu | 3 | https://iptv-org.github.io/iptv/countries/tv.m3u |
@@ -389,8 +389,8 @@ Or select one of the playlists from the list below.
🇺🇬 Uganda | 6 | https://iptv-org.github.io/iptv/countries/ug.m3u |
🇺🇦 Ukraine | 116 | https://iptv-org.github.io/iptv/countries/ua.m3u |
🇦🇪 United Arab Emirates | 88 | https://iptv-org.github.io/iptv/countries/ae.m3u |
- 🇬🇧 United Kingdom | 225 | https://iptv-org.github.io/iptv/countries/uk.m3u |
- 🇺🇸 United States | 2270 | https://iptv-org.github.io/iptv/countries/us.m3u |
+ 🇬🇧 United Kingdom | 229 | https://iptv-org.github.io/iptv/countries/uk.m3u |
+ 🇺🇸 United States | 2266 | https://iptv-org.github.io/iptv/countries/us.m3u |
🇺🇾 Uruguay | 27 | https://iptv-org.github.io/iptv/countries/uy.m3u |
🇺🇿 Uzbekistan | 3 | https://iptv-org.github.io/iptv/countries/uz.m3u |
🇻🇺 Vanuatu | 3 | https://iptv-org.github.io/iptv/countries/vu.m3u |
diff --git a/channels/ad.m3u b/channels/ad.m3u
index dc47cc3d68..c1471d71d5 100644
--- a/channels/ad.m3u
+++ b/channels/ad.m3u
@@ -1,5 +1,7 @@
#EXTM3U
#EXTINF:-1 tvg-id="ATV.ad" tvg-name="ATV" tvg-country="AD" tvg-language="Catalan" tvg-logo="https://i.imgur.com/kJCjeQ4.png" group-title="",ATV (720p)
+https://iptv-all.lanesh4d0w.codes/andorra/atv
+#EXTINF:-1 tvg-id="ATV.ad" tvg-name="ATV" tvg-country="AD" tvg-language="Catalan" tvg-logo="https://i.imgur.com/kJCjeQ4.png" group-title="",ATV (720p) [Geo-blocked]
https://videos.rtva.ad/live/rtva/playlist.m3u8
-#EXTINF:-1 tvg-id="ATV.ad" tvg-name="ATV" tvg-country="AD" tvg-language="Catalan" tvg-logo="https://i.imgur.com/kJCjeQ4.png" group-title="",ATV (720p)
+#EXTINF:-1 tvg-id="ATV.ad" tvg-name="ATV" tvg-country="AD" tvg-language="Catalan" tvg-logo="https://i.imgur.com/kJCjeQ4.png" group-title="",ATV (720p) [Geo-blocked]
https://videos.rtva.ad/live/web/playlist.m3u8
diff --git a/channels/ae.m3u b/channels/ae.m3u
index 45f732449f..782d85a9c5 100644
--- a/channels/ae.m3u
+++ b/channels/ae.m3u
@@ -78,9 +78,9 @@ https://dcunilive38-lh.akamaihd.net/i/dclive_1@692677/master.m3u8
#EXTINF:-1 tvg-id="MajidTV.ae" tvg-name="Majid TV" tvg-country="AE" tvg-language="Arabic" tvg-logo="https://i.imgur.com/9Bun2IX.png" group-title="Kids",Majid TV (1080p)
https://admdn4.cdn.mangomolo.com/majid/smil:majid.stream.smil/playlist.m3u8
#EXTINF:-1 tvg-id="MBC.ae" tvg-name="MBC" tvg-country="ARAB" tvg-language="Arabic" tvg-logo="https://i.imgur.com/eKBXOKd.png" group-title="General",MBC 1 KSA (1080p)
-https://shls-mbc1ksa-prod-dub.shahid.net/out/v1/451b666db1fb41c7a4bbecf7b4865107/index.m3u8
-#EXTINF:-1 tvg-id="MBC.ae" tvg-name="MBC" tvg-country="ARAB" tvg-language="Arabic" tvg-logo="https://i.imgur.com/eKBXOKd.png" group-title="General",MBC 1 KSA (1080p)
https://shls-mbc1ksa-ak.akamaized.net/out/v1/451b666db1fb41c7a4bbecf7b4865107/index.m3u8
+#EXTINF:-1 tvg-id="MBC.ae" tvg-name="MBC" tvg-country="ARAB" tvg-language="Arabic" tvg-logo="https://i.imgur.com/eKBXOKd.png" group-title="General",MBC 1 KSA (1080p)
+https://shls-mbc1ksa-prod-dub.shahid.net/out/v1/451b666db1fb41c7a4bbecf7b4865107/index.m3u8
#EXTINF:-1 tvg-id="MBC1USA.ae" tvg-name="MBC 1 USA" tvg-country="ARAB" tvg-language="Arabic" tvg-logo="https://i.imgur.com/eKBXOKd.png" group-title="General",MBC 1 USA (1080p)
https://shls-mbc1-usa-prod.shahid.net/out/v1/1b559e832c3f40f996c1984245b3b24b/index.m3u8
#EXTINF:-1 tvg-id="MBC2.ae" tvg-name="MBC 2" tvg-country="ARAB" tvg-language="Arabic" tvg-logo="https://i.imgur.com/KXuzL1u.png" group-title="Movies",MBC 2 (1080p)
diff --git a/channels/ar.m3u b/channels/ar.m3u
index 0bc0087054..97494f417f 100644
--- a/channels/ar.m3u
+++ b/channels/ar.m3u
@@ -40,7 +40,7 @@ https://59d52c5a5ce5e.streamlock.net:4443/canal3rosario/ngrp:canal3rosario_all/p
#EXTINF:-1 tvg-id="Canal4.ar" tvg-name="Canal 4" tvg-country="AR" tvg-language="Spanish" tvg-logo="" group-title="",Canal 4 (Posadas) (360p)
http://184.154.28.210:1935/canal4/canal4/playlist.m3u8
#EXTINF:-1 tvg-id="Canal4Balcarce.ar" tvg-name="Canal 4 Balcarce" tvg-country="AR" tvg-language="" tvg-logo="http://canal4teleba.com.ar/wp-content/uploads/2016/12/teleba-youtube.jpg" group-title="",Canal 4 Balcarce (480p) [Not 24/7]
-http://panel.dattalive.com:1935/8124/8124/playlist.m3u8
+http://inliveserver.com:1935/8550/8550/playlist.m3u8
#EXTINF:-1 tvg-id="Canal4Jujuy.ar" tvg-name="Canal 4 Jujuy" tvg-country="AR" tvg-language="" tvg-logo="https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcT1gHj_nLWhaGNfk5gYfEoENvdvYEEnrlFWCQ&usqp=CAU" group-title="",Canal 4 Jujuy (720p)
http://190.52.32.13:1935/canal4/smil:manifest.smil/playlist.m3u8
#EXTINF:-1 tvg-id="Canal4Jujuy.ar" tvg-name="Canal 4 Jujuy" tvg-country="AR" tvg-language="Spanish" tvg-logo="https://cdn.pixabay.com/photo/2017/05/07/14/59/flag-2292664_960_720.png" group-title="",Canal 4 Jujuy (720p)
diff --git a/channels/de.m3u b/channels/de.m3u
index 17c8ba3eac..8089839575 100644
--- a/channels/de.m3u
+++ b/channels/de.m3u
@@ -466,10 +466,10 @@ https://srunserding-lh.akamaihd.net/i/visualradio_ud@197013/master.m3u8
https://wdr_fs-lh.akamaihd.net/i/wdrfs_weltweit@112033/master.m3u8
#EXTINF:-1 tvg-id="WDRKoeln.de" tvg-name="WDR Koeln" tvg-country="DE" tvg-language="German" tvg-logo="http://logos.zattic.com/images/channels/logos/da2f7b1155f1c2586f93/black/84x48.png" group-title="",WDR Koeln (720p)
https://wdrfsww247.akamaized.net/hls/live/2009628/wdr_msl4_fs247ww/master.m3u8
-#EXTINF:-1 tvg-id="WesterwaldTV.de" tvg-name="Westerwald TV" tvg-country="DE" tvg-language="German" tvg-logo="https://raw.githubusercontent.com/jnk22/kodinerds-iptv/master/logos/tv/westerwaldtv.png" group-title="",Westerwald TV (404p)
-https://sdn-global-live-http-cache.3qsdn.com/2980/amlst:5715-sbr/playlist.m3u8
#EXTINF:-1 tvg-id="Welt.de" tvg-name="Welt" tvg-country="DE" tvg-language="German" tvg-logo="" group-title="News",WELT [Geo-blocked]
https://live2weltcms-lh.akamaihd.net/i/Live2WeltCMS_1@444563/master.m3u8
+#EXTINF:-1 tvg-id="WesterwaldTV.de" tvg-name="Westerwald TV" tvg-country="DE" tvg-language="German" tvg-logo="https://raw.githubusercontent.com/jnk22/kodinerds-iptv/master/logos/tv/westerwaldtv.png" group-title="",Westerwald TV (404p)
+https://sdn-global-live-http-cache.3qsdn.com/2980/amlst:5715-sbr/playlist.m3u8
#EXTINF:-1 tvg-id="WorldofFreesports.de" tvg-name="World of Freesports" tvg-country="DE" tvg-language="German" tvg-logo="https://i.imgur.com/pggeczF.jpg" group-title="Sports",World of Freesports (720p)
https://a.jsrdn.com/broadcast/ab14783a09/+0000/c.m3u8
#EXTINF:-1 tvg-id="ZDF.de" tvg-name="ZDF" tvg-country="DE" tvg-language="German" tvg-logo="" group-title="",ZDF [Geo-blocked]
diff --git a/channels/es.m3u b/channels/es.m3u
index 6cffbc0b04..1ec5a578a7 100644
--- a/channels/es.m3u
+++ b/channels/es.m3u
@@ -245,7 +245,7 @@ https://wowzaprod130-i.akamaihd.net/hls/live/570468/275f3ea5/playlist.m3u8
https://cdn01.yowi.tv/1H23S04G4M/hermesvigo.m3u8
#EXTINF:-1 tvg-id="HermesTV.es" tvg-name="Hermes TV" tvg-country="ES" tvg-language="" tvg-logo="https://i.imgur.com/9vL1zZW.png" group-title="",Hermes TV (720p)
https://cdn01.yowi.tv/1H23S04G4M/master.m3u8
-#EXTINF:-1 tvg-id="HQMArabic.es" tvg-name="HQM Arabic" tvg-country="ES" tvg-language="" tvg-logo="https://hqm.es/wp-content/uploads/arabic-hqm-logo.png" group-title="Music",HQM Arabic (1080p)
+#EXTINF:-1 tvg-id="HQMArabic.es" tvg-name="HQM Arabic" tvg-country="ES" tvg-language="Arabic" tvg-logo="https://hqm.es/wp-content/uploads/arabic-hqm-logo.png" group-title="Music",HQM Arabic (1080p)
https://livelist01.yowi.tv/lista/39596c72840d27b213caf4e58c39599a6f2ed203/master.m3u8
#EXTINF:-1 tvg-id="HQMBaladas.es" tvg-name="HQM Baladas" tvg-country="ES" tvg-language="" tvg-logo="https://hqm.es/wp-content/uploads/baladas-hqm-logo.png" group-title="Music",HQM Baladas (1080p)
https://livelist01.yowi.tv/lista/5d7d2c21e0ec7a8a99fd1fdbc52cbdc0782f77fc/master.m3u8
diff --git a/channels/fr.m3u b/channels/fr.m3u
index 2b8bcca2c6..56359bc09c 100644
--- a/channels/fr.m3u
+++ b/channels/fr.m3u
@@ -101,6 +101,8 @@ https://amuse-amuseanimation-2-fr.samsung.wurl.com/manifest/playlist.m3u8
http://41.213.128.196/ANT-REUNION2-HLS/ANT-REUNION2-HLS.m3u8?localization=ZEOP01
#EXTINF:-1 tvg-id="arte.fr" tvg-name="ARTE" tvg-country="FR" tvg-language="French" tvg-logo="" group-title="Entertainment",Arte (302p)
http://stream.tvtap.net:8081/live/fr-arte.stream/playlist.m3u8
+#EXTINF:-1 tvg-id="Arte.fr" tvg-name="Arte" tvg-country="FR" tvg-language="French" tvg-logo="https://i.imgur.com/D4imsZf.png" group-title="",Arte (360p)
+https://s6.tntendirect.com/arte/live/playlist.m3u8
#EXTINF:-1 tvg-id="ARTEDeutsch.fr" tvg-name="Arte Deutsch" tvg-country="DE" tvg-language="German" tvg-logo="https://www.arte.tv/sites/corporate/wp-content/themes/arte-entreprise/img/arte_logo.png" group-title="",Arte Deutsch [Geo-blocked]
https://artelive-lh.akamaihd.net/i/artelive_de@393591/master.m3u8?set-segment-duration=quality
#EXTINF:-1 tvg-id="ARTEFrancais.fr" tvg-name="ARTE Français" tvg-country="FR" tvg-language="French" tvg-logo="https://www.arte.tv/sites/corporate/wp-content/themes/arte-entreprise/img/arte_logo.png" group-title="",ARTE Français
@@ -127,6 +129,8 @@ https://bfmparishdslive-lh.akamaihd.net/i/BFMPARIS_ESYTLS@429747/index_1100_av-p
https://bfmparishdslive-lh.akamaihd.net/i/BFMPARIS_ESYTLS@429747/master.m3u8
#EXTINF:-1 tvg-id="BFMTV.fr" tvg-name="BFMTV" tvg-country="FR" tvg-language="French" tvg-logo="https://i.imgur.com/ClMYrD0.png" group-title="",BFMTV (720p)
https://bfmtvalive1-a.akamaihd.net/2cc377e69b5f492e91de57728c82f907/eu-central-1/876450610001/7b4151e1e2434a7cacdb9936db7a7910/playlist_ssaiM.m3u8
+#EXTINF:-1 tvg-id="BFMTV.fr" tvg-name="BFMTV" tvg-country="FR" tvg-language="French" tvg-logo="https://i.imgur.com/1xKlTGh.png" group-title="",BFMTV (360p)
+https://s6.tntendirect.com/bmftv/live/playlist.m3u8
#EXTINF:-1 tvg-id="BigName.fr" tvg-name="Big Name" tvg-country="IT" tvg-language="Italian" tvg-logo="https://i.imgur.com/hChduSn.png" group-title="",Big Name (720p)
https://alchimie-big-names-3-it.samsung.wurl.com/manifest/playlist.m3u8
#EXTINF:-1 tvg-id="BigName.fr" tvg-name="Big Name" tvg-country="ES" tvg-language="Spanish" tvg-logo="https://i.imgur.com/hChduSn.png" group-title="",Big Name (720p)
@@ -145,12 +149,16 @@ https://dhx-caillou-1-es.samsung.wurl.com/manifest/playlist.m3u8
https://dhx-caillou-2-fr.samsung.wurl.com/manifest/playlist.m3u8
#EXTINF:-1 tvg-id="CentralTVHD.fr" tvg-name="Central TV HD" tvg-country="FR" tvg-language="" tvg-logo="https://pbs.twimg.com/profile_images/875664704764608512/L-8xnjNf_400x400.jpg" group-title="",Central TV HD (720p) [Not 24/7]
http://cdn2.ujjina.com:1935/iptvcentraltv/livecentraltvtv/playlist.m3u8
+#EXTINF:-1 tvg-id="Cherie25.fr" tvg-name="Chérie 25" tvg-country="FR" tvg-language="French" tvg-logo="https://i.imgur.com/pg8hnPT.png" group-title="",Chérie 25 (360p)
+https://s6.tntendirect.com/cherie25/live/playlist.m3u8
#EXTINF:-1 tvg-id="ClassicalHarmony.fr" tvg-name="Classical Harmony" tvg-country="FR" tvg-language="French" tvg-logo="https://i.imgur.com/JQaZblm.jpg" group-title="",Classical Harmony (720p)
https://alchimie-classical-harmony-1-fr.samsung.wurl.com/manifest/playlist.m3u8
#EXTINF:-1 tvg-id="ClassicalHarmony.fr" tvg-name="Classical Harmony" tvg-country="IT" tvg-language="Italian" tvg-logo="https://i.imgur.com/JQaZblm.jpg" group-title="",Classical Harmony (720p)
https://alchimie-classical-harmony-2-it.samsung.wurl.com/manifest/playlist.m3u8
#EXTINF:-1 tvg-id="ClubbingTV.fr" tvg-name="Clubbing TV" tvg-country="FR" tvg-language="" tvg-logo="" group-title="",Clubbing TV (720p)
https://clubbingtv-rakuten.amagi.tv/playlist.m3u8
+#EXTINF:-1 tvg-id="CSTAR.fr" tvg-name="CSTAR" tvg-country="FR" tvg-language="French" tvg-logo="https://i.imgur.com/kPvRgcY.png" group-title="",CSTAR (360p)
+https://s6.tntendirect.com/d17/live/playlist.m3u8
#EXTINF:-1 tvg-id="DBM.fr" tvg-name="DBM" tvg-country="FR" tvg-language="" tvg-logo="http://www.dbm-tv.fr/wp-content/uploads/2017/12/logo-dbm.png" group-title="",DBM (1080p)
https://edge5.vedge.infomaniak.com/livecast/ik:dbmtv/manifest.m3u8
#EXTINF:-1 tvg-id="DBM.fr" tvg-name="DBM" tvg-country="FR" tvg-language="" tvg-logo="https://i.imgur.com/KOlCUJ9.jpg" group-title="",DBM (1080p)
@@ -333,6 +341,8 @@ https://alchimie-humanity-3-it.samsung.wurl.com/manifest/playlist.m3u8
https://str81.creacast.com/iltv/high/playlist.m3u8
#EXTINF:-1 tvg-id="KTO.fr" tvg-name="KTO" tvg-country="FR;UK;PT;ES;DK;NL;BE;CH" tvg-language="French" tvg-logo="https://i.imgur.com/LvbXFUy.jpg" group-title="",KTO (404p)
https://livehdkto-lh.akamaihd.net/i/LiveStream_1@178944/master.m3u8
+#EXTINF:-1 tvg-id="LEQUIPE.fr" tvg-name="L'EQUIPE" tvg-country="FR" tvg-language="French" tvg-logo="https://i.imgur.com/zKWbV0W.png" group-title="",L'EQUIPE (360p)
+https://s6.tntendirect.com/lequipe21/live/playlist.m3u8
#EXTINF:-1 tvg-id="LaChaineNormande.fr" tvg-name="La Chaine Normande" tvg-country="FR" tvg-language="French" tvg-logo="https://i.imgur.com/xDLwsbY.png" group-title="Family",La Chaîne normande (LCN) (576p)
http://live.lachainenormande.fr/live/lcn/livestream/playlist.m3u8
#EXTINF:-1 tvg-id="LCI.fr" tvg-name="LCI" tvg-country="FR;BE;CH;LU" tvg-language="French" tvg-logo="https://i.imgur.com/6VzdKEa.png" group-title="",LCI (720p)
@@ -341,6 +351,8 @@ https://lci-hls-live-ssl.tf1.fr/lci/1/hls/live_2328.m3u8
https://alchimie-luxe-1-fr.samsung.wurl.com/manifest/playlist.m3u8
#EXTINF:-1 tvg-id="LuxeTV.fr" tvg-name="Luxe TV" tvg-country="UK" tvg-language="English" tvg-logo="https://i.imgur.com/8tWhfap.png" group-title="",Luxe TV (720p)
https://alchimie-luxe-2-gb.samsung.wurl.com/manifest/playlist.m3u8
+#EXTINF:-1 tvg-id="M6.fr" tvg-name="M6" tvg-country="FR" tvg-language="French" tvg-logo="" group-title="",M6 (720p)
+https://s6.tntendirect.com/france5/live/playlist.m3u8
#EXTINF:-1 tvg-id="M6International.fr" tvg-name="M6 International" tvg-country="FR;AD;BE;LU;MC;CH" tvg-language="French" tvg-logo="https://static.epg.best/fr/M6.fr.png" group-title="",M6 International (1080p)
https://shls-m6-int-prod-dub.shahid.net/out/v1/587631773e55495a8aa3dd4050318f6e/index.m3u8
#EXTINF:-1 tvg-id="MagellanTV.fr" tvg-name="Magellan TV" tvg-country="FR" tvg-language="French" tvg-logo="https://i.imgur.com/6osyvwh.png" group-title="",Magellan TV (720p)
@@ -381,6 +393,8 @@ https://alchimie-mysurf-2-it.samsung.wurl.com/manifest/playlist.m3u8
https://alchimie-mysurf-3-es.samsung.wurl.com/manifest/playlist.m3u8
#EXTINF:-1 tvg-id="NancyWebTV.fr" tvg-name="Nancy Web TV" tvg-country="FR" tvg-language="" tvg-logo="https://i.imgur.com/W43rv1R.jpg" group-title="",Nancy Web TV (394p)
https://edge4.vedge.infomaniak.com/livecast/ik:nancy-webtv/manifest.m3u8
+#EXTINF:-1 tvg-id="NRJ12.fr" tvg-name="NRJ12" tvg-country="FR" tvg-language="French" tvg-logo="https://i.imgur.com/FO8XMBS.png" group-title="",NRJ12 (720p)
+https://s6.tntendirect.com/nrj12/live/playlist.m3u8
#EXTINF:-1 tvg-id="PersianaBillboard.fr" tvg-name="Persiana Billboard" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="Music",Persiana Billboard
http://51.210.199.10/hls/stream.m3u8
#EXTINF:-1 tvg-id="PersianaCinema.fr" tvg-name="Persiana Cinema" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="Movies",Persiana Cinema
@@ -415,6 +429,8 @@ http://51.210.199.59/hls/stream.m3u8
http://51.210.199.16/hls/stream.m3u8
#EXTINF:-1 tvg-id="PokerTV.fr" tvg-name="Poker TV" tvg-country="IR" tvg-language="" tvg-logo="https://i.imgur.com/l5fZQ3V.png" group-title="Sports",Poker TV [Not 24/7]
http://51.210.199.17/hls/stream.m3u8
+#EXTINF:-1 tvg-id="RMCDecouverte.fr" tvg-name="RMC Découverte" tvg-country="FR" tvg-language="French" tvg-logo="https://i.imgur.com/2pZBr1Y.jpg" group-title="",RMC Découverte (720p)
+https://s6.tntendirect.com/rmcdecouverte/live/playlist.m3u8
#EXTINF:-1 tvg-id="SportenFrance.fr" tvg-name="Sport en France" tvg-country="FR" tvg-language="French" tvg-logo="https://i.imgur.com/6L6hQnn.png" group-title="",Sport en France (720p)
https://alchimie-sport-en-france-1-fr.samsung.wurl.com/manifest/playlist.m3u8
#EXTINF:-1 tvg-id="StormcastNovelasTV.fr" tvg-name="Stormcast Novelas TV" tvg-country="FR" tvg-language="French" tvg-logo="https://i.imgur.com/WpQ3N82.png" group-title="",Stormcast Novelas TV (720p)
@@ -423,12 +439,20 @@ https://stormcast-telenovelatv-1-fr.samsung.wurl.com/manifest/playlist.m3u8
https://kedoo-supertoonstv-3-fr.samsung.wurl.com/manifest/playlist.m3u8
#EXTINF:-1 tvg-id="TF1.fr" tvg-name="TF1" tvg-country="FR" tvg-language="French" tvg-logo="" group-title="Entertainment",TF1 (302p)
http://stream.tvtap.net:8081/live/fr-tf1.stream/playlist.m3u8
+#EXTINF:-1 tvg-id="TF1.fr" tvg-name="TF1" tvg-country="FR" tvg-language="French" tvg-logo="https://i.imgur.com/CJAbJfM.png" group-title="",TF1 (720p)
+https://s6.tntendirect.com/tf1/live/playlist.m3u8
+#EXTINF:-1 tvg-id="TF1SeriesFilms.fr" tvg-name="TF1 Séries Films" tvg-country="FR" tvg-language="French" tvg-logo="https://i.imgur.com/36wPVaq.jpg" group-title="",TF1 Séries Films (360p)
+https://s6.tntendirect.com/hd1/live/playlist.m3u8
+#EXTINF:-1 tvg-id="TFX.fr" tvg-name="TFX" tvg-country="FR" tvg-language="French" tvg-logo="https://i.imgur.com/psdzDpy.jpg" group-title="",TFX (720p)
+https://s6.tntendirect.com/nt1/live/playlist.m3u8
#EXTINF:-1 tvg-id="Tiji.fr" tvg-name="Tiji" tvg-country="FR" tvg-language="French" tvg-logo="" group-title="Kids",Tiji (1080p)
https://shls-tiji-tv-prod-dub.shahid.net/out/v1/ee05878a88474f408ff04495d44cc249/index.m3u8
#EXTINF:-1 tvg-id="TijiRussia.fr" tvg-name="Tiji Russia" tvg-country="RU" tvg-language="Russian" tvg-logo="" group-title="Kids",Tiji Russia (576p)
http://188.40.68.167/russia/tiji/playlist.m3u8
#EXTINF:-1 tvg-id="TMACaraibes.fr" tvg-name="TMA Caraïbes" tvg-country="FR" tvg-language="French" tvg-logo="" group-title="",TMA Caraïbes
http://hls.tmacaraibes.com/live/index.m3u8
+#EXTINF:-1 tvg-id="TMC.fr" tvg-name="TMC" tvg-country="FR" tvg-language="French" tvg-logo="https://i.imgur.com/Neh3Yhm.jpg" group-title="",TMC (720p)
+https://s6.tntendirect.com/tmc/live/playlist.m3u8
#EXTINF:-1 tvg-id="TraceSportStarsAustralia.fr" tvg-name="Trace Sport Stars (Australia)" tvg-country="FR" tvg-language="" tvg-logo="" group-title="Sports",Trace Sport Stars (Australia) (1080p)
https://lightning-tracesport-samsungau.amagi.tv/playlist.m3u8
#EXTINF:-1 tvg-id="TraceUrbanAustralia.fr" tvg-name="Trace Urban (Australia)" tvg-country="FR" tvg-language="" tvg-logo="" group-title="",Trace Urban (Australia) (1080p)
@@ -469,6 +493,8 @@ https://streamer01.myvideoplace.tv/streamer02/hls/MATL_VLOC_PAD_100919_medium/in
https://live.creacast.com/mirabelletv/smil:mirabelletv.smil/playlist.m3u8
#EXTINF:-1 tvg-id="viaOccitanie.fr" tvg-name="viàOccitanie" tvg-country="FR" tvg-language="French" tvg-logo="https://viaoccitanie.tv/fileadmin/via_main/img/logos/viaOccitanie-header.png" group-title="Local",viàOccitanie
https://streamer03.myvideoplace.tv/streamer02/hls/MDS_VIA_PAD_301117_medium/index.m3u8
+#EXTINF:-1 tvg-id="W9.fr" tvg-name="W9" tvg-country="FR" tvg-language="French" tvg-logo="https://i.imgur.com/7FFFvCN.jpg" group-title="",W9 (720p)
+https://s6.tntendirect.com/w9/live/playlist.m3u8
#EXTINF:-1 tvg-id="WéoNordPasdeCalais.fr" tvg-name="Wéo (Nord-Pas-de-Calais)" tvg-country="FR" tvg-language="French" tvg-logo="" group-title="Local",Wéo (Nord-Pas-de-Calais)
https://linkastream.co/headless?url=https://www.dailymotion.com/video/x62islg
#EXTINF:-1 tvg-id="WéoNordPasdeCalais.fr" tvg-name="Wéo (Nord-Pas-de-Calais)" tvg-country="FR" tvg-language="French" tvg-logo="" group-title="Local",Wéo (Nord-Pas-de-Calais)
diff --git a/channels/il.m3u b/channels/il.m3u
index ad794a79cd..f01d789009 100644
--- a/channels/il.m3u
+++ b/channels/il.m3u
@@ -17,8 +17,6 @@ http://keshethlslive-lh.akamaihd.net/i/24live_1@195271/index_2200_av-b.m3u8
http://50.7.231.221:8081/185/index.m3u8?wmsAuthSign=okad
#EXTINF:-1 tvg-id="HalaTV.il" tvg-name="Hala TV" tvg-country="IL" tvg-language="Arabic" tvg-logo="https://i.imgur.com/OzjftEl.png" group-title="",Hala TV (1080p)
https://gstream4.panet.co.il/edge/halaTV/playlist.m3u8
-#EXTINF:-1 tvg-id="HalaTVIsrael.il" tvg-name="Hala TV Israel" tvg-country="IL" tvg-language="" tvg-logo="https://i.imgur.com/iZ6qgDg.png" group-title="",Hala TV Israel
-https://gstream4.panet.co.il/edge/halaTV/chunks.m3u8
#EXTINF:-1 tvg-id="Hidabroot Channel-IS" tvg-name="Hidabroot Channel-IS" tvg-country="IL" tvg-language="Hebrew" tvg-logo="https://i.imgur.com/wKi97Pg.png" group-title="Religious",Hidabroot (576p)
https://stream5.shidur.net/htvlive2/_definst_/smil:live2.smil/chunklist.m3u8
#EXTINF:-1 tvg-id="Hidabroot Channel-IS" tvg-name="Hidabroot Channel-IS" tvg-country="IL" tvg-language="Hebrew" tvg-logo="https://i.imgur.com/wKi97Pg.png" group-title="Religious",Hidabroot (576p)
diff --git a/channels/ir.m3u b/channels/ir.m3u
index 58543e0069..d15154b45c 100644
--- a/channels/ir.m3u
+++ b/channels/ir.m3u
@@ -5,34 +5,84 @@ https://1-215-11778-1.b.cdn13.com/onetvpersia001.m3u8?bandwidth=3196&playlistlen
http://116.202.255.113:1935/4utv/livehd/playlist.m3u8
#EXTINF:-1 tvg-id="4UTV.ir" tvg-name="4U TV" tvg-country="IR" tvg-language="Persian" tvg-logo="https://i.imgur.com/Icob3E3.jpg" group-title="Entertainment",4U TV (480p)
http://116.202.255.113:1935/4utv/livesd/playlist.m3u8
+#EXTINF:-1 tvg-id="ABADAN.ir" tvg-name="ABADAN" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",ABADAN (576p)
+https://sdm.telewebion.com/live/abadan/playlist.m3u8
+#EXTINF:-1 tvg-id="ABADAN.ir" tvg-name="ABADAN" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",ABADAN (576p)
+https://sdw.telewebion.com/live/abadan/playlist.m3u8
+#EXTINF:-1 tvg-id="AFLAK.ir" tvg-name="AFLAK" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",AFLAK (576p)
+https://sdm.telewebion.com/live/aflak/playlist.m3u8
+#EXTINF:-1 tvg-id="AFLAK.ir" tvg-name="AFLAK" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",AFLAK (576p)
+https://sdw.telewebion.com/live/aflak/playlist.m3u8
#EXTINF:-1 tvg-id="AFNTV.ir" tvg-name="AFN TV" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="Entertainment",AFN TV (720p)
https://bozztv.com/1gbw5/tintv2/tintv2/playlist.m3u8
+#EXTINF:-1 tvg-id="AFTAB.ir" tvg-name="AFTAB" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",AFTAB (576p)
+https://sdm.telewebion.com/live/aftab/playlist.m3u8
+#EXTINF:-1 tvg-id="AFTAB.ir" tvg-name="AFTAB" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",AFTAB (576p)
+https://sdw.telewebion.com/live/aftab/playlist.m3u8
#EXTINF:-1 tvg-id="AlAlam.ir" tvg-name="Al Alam" tvg-country="IR" tvg-language="Arabic" tvg-logo="https://i.imgur.com/jY1u1zz.png" group-title="News",Al Alam (576p)
https://live2.alalam.ir/alalam.m3u8
#EXTINF:-1 tvg-id="AlKawtharTV.ir" tvg-name="Al Kawthar TV" tvg-country="IR" tvg-language="" tvg-logo="" group-title="",Al Kawthar TV
http://178.252.143.156:1935/live/myStream/chunklist_w907760503.m3u8
#EXTINF:-1 tvg-id="AlZahraTV.ir" tvg-name="Al Zahra TV" tvg-country="IR" tvg-language="Arabic" tvg-logo="https://i.imgur.com/ffFbUmd.jpg" group-title="",Al Zahra TV
https://live.al-zahratv.com/live/playlist2/index.m3u8
+#EXTINF:-1 tvg-id="ALBORZ.ir" tvg-name="ALBORZ" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",ALBORZ (576p)
+https://sdm.telewebion.com/live/alborz/playlist.m3u8
+#EXTINF:-1 tvg-id="ALBORZ.ir" tvg-name="ALBORZ" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",ALBORZ (576p)
+https://sdw.telewebion.com/live/alborz/playlist.m3u8
+#EXTINF:-1 tvg-id="AMOOZESH.ir" tvg-name="AMOOZESH" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",AMOOZESH (576p)
+https://sdm.telewebion.com/live/amouzesh/playlist.m3u8
+#EXTINF:-1 tvg-id="AMOOZESH.ir" tvg-name="AMOOZESH" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",AMOOZESH (576p)
+https://sdw.telewebion.com/live/amouzesh/playlist.m3u8
#EXTINF:-1 tvg-id="AVAFamily.ir" tvg-name="AVA Family" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="Family",AVA Family [Not 24/7]
http://51.210.199.5/hls/stream.m3u8
#EXTINF:-1 tvg-id="AVASeries.ir" tvg-name="AVA Series" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="Series",AVA Series
http://51.210.199.4/hls/stream.m3u8
#EXTINF:-1 tvg-id="AyenehTV.ir" tvg-name="Ayeneh TV" tvg-country="IR" tvg-language="Persian" tvg-logo="https://www.ayeneh.org/wp-content/uploads/2016/04/Ayeneh-TV-April-16-400x223.png" group-title="",Ayeneh TV (720p)
https://livestream.5centscdn.com/cls040318/b0d2763968fd0bdd2dc0d44ba2abf9ce.sdp/playlist.m3u8
+#EXTINF:-1 tvg-id="AZARBAYJANGHARBI.ir" tvg-name="AZARBAYJAN GHARBI" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",AZARBAYJAN GHARBI (576p)
+https://sdm.telewebion.com/live/azarbayjangharbi/playlist.m3u8
+#EXTINF:-1 tvg-id="AZARBAYJANGHARBI.ir" tvg-name="AZARBAYJAN GHARBI" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",AZARBAYJAN GHARBI (576p)
+https://sdw.telewebion.com/live/azarbayjangharbi/playlist.m3u8
+#EXTINF:-1 tvg-id="BARAN.ir" tvg-name="BARAN" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",BARAN (576p)
+https://sdm.telewebion.com/live/baran/playlist.m3u8
+#EXTINF:-1 tvg-id="BARAN.ir" tvg-name="BARAN" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",BARAN (576p)
+https://sdw.telewebion.com/live/baran/playlist.m3u8
#EXTINF:-1 tvg-id="BeitolAbbasTV.ir" tvg-name="BeitolAbbas TV" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="Religious",BeitolAbbas TV
http://live.beitolabbas.tv/live/beitolabbastv.m3u8
+#EXTINF:-1 tvg-id="BUSHEHR.ir" tvg-name="BUSHEHR" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",BUSHEHR (576p)
+https://sdm.telewebion.com/live/bushehr/playlist.m3u8
+#EXTINF:-1 tvg-id="BUSHEHR.ir" tvg-name="BUSHEHR" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",BUSHEHR (576p)
+https://sdw.telewebion.com/live/bushehr/playlist.m3u8
#EXTINF:-1 tvg-id="CanadaStarTV.ir" tvg-name="Canada Star TV" tvg-country="IR" tvg-language="English" tvg-logo="http://canadastartv.com/resimler/sistem/logo.png" group-title="",Canada Star TV
https://live.livestreamtv.ca/canadastartv/smil:canadastartv.smil/playlist.m3u8
#EXTINF:-1 tvg-id="Channel1.ir" tvg-name="Channel 1" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="Legislative",Channel 1 (480p)
https://2nbyjjx7y53k-hls-live.5centscdn.com/cls040317/0070c5b7ef083bdc8de09065c61a34d8.sdp/playlist.m3u8
+#EXTINF:-1 tvg-id="DENA.ir" tvg-name="DENA" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",DENA (576p)
+https://sdm.telewebion.com/live/dena/playlist.m3u8
+#EXTINF:-1 tvg-id="DENA.ir" tvg-name="DENA" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",DENA (576p)
+https://sdw.telewebion.com/live/dena/playlist.m3u8
#EXTINF:-1 tvg-id="EBC1TV.ir" tvg-name="EBC1 TV" tvg-country="IR" tvg-language="Persian" tvg-logo="https://www.livefarsi.com/uploads/tv_image/ebc1-tv.jpg" group-title="Music",EBC1 TV (720p)
https://vsn1-cdn-phx.icastcenter.com/EBC1/EBC1/playlist.m3u8
#EXTINF:-1 tvg-id="EcranTV.ir" tvg-name="Ecran TV" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="Entertainment",Ecran TV
http://51.210.199.40/hls/stream.m3u8
#EXTINF:-1 tvg-id="EkranMovie.ir" tvg-name="Ekran Movie" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="Movies",Ekran Movie
http://159.69.58.154/ekran/ekrantv.m3u8
+#EXTINF:-1 tvg-id="ESFAHAN.ir" tvg-name="ESFAHAN" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",ESFAHAN (576p)
+https://sdm.telewebion.com/live/esfahan/playlist.m3u8
+#EXTINF:-1 tvg-id="ESFAHAN.ir" tvg-name="ESFAHAN" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",ESFAHAN (576p)
+https://sdw.telewebion.com/live/esfahan/playlist.m3u8
+#EXTINF:-1 tvg-id="ESHRAGH.ir" tvg-name="ESHRAGH" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",ESHRAGH (576p)
+https://sdm.telewebion.com/live/eshragh/playlist.m3u8
+#EXTINF:-1 tvg-id="ESHRAGH.ir" tvg-name="ESHRAGH" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",ESHRAGH (576p)
+https://sdw.telewebion.com/live/eshragh/playlist.m3u8
#EXTINF:-1 tvg-id="FarazTV.ir" tvg-name="Faraz TV" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="Movies",Faraz TV
https://faraztv.net/hls/stream.m3u8
+#EXTINF:-1 tvg-id="FARS.ir" tvg-name="FARS" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",FARS (240p)
+http://cdn1.live.irib.ir:1935/epg-live/smil:fars/playlist.m3u8
+#EXTINF:-1 tvg-id="FARS.ir" tvg-name="FARS" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",FARS (576p)
+https://sdm.telewebion.com/live/fars/playlist.m3u8
+#EXTINF:-1 tvg-id="FARS.ir" tvg-name="FARS" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",FARS (576p)
+https://sdw.telewebion.com/live/fars/playlist.m3u8
#EXTINF:-1 tvg-id="Film1.ir" tvg-name="Film 1" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="Movies",Film 1
http://159.69.58.154/film1/film1tv.m3u8
#EXTINF:-1 tvg-id="GEM24b.ir" tvg-name="GEM 24b" tvg-country="IR" tvg-language="Persian" tvg-logo="https://www.gemonline.tv/Assets/channels-box/24b.png" group-title="Music",GEM 24b (1080p) [Geo-blocked]
@@ -113,6 +163,16 @@ https://d2e40kvaojifd6.cloudfront.net/stream/gem_travel/playlist.m3u8
#EXTINF:-1 tvg-id="GEMTv.ir" tvg-name="GEM Tv" tvg-country="IR" tvg-language="Persian" tvg-logo="https://www.gemonline.tv/Assets/channels-box/gemtv.png" group-title="Movies",GEM Tv (1080p) [Geo-blocked]
#EXTVLCOPT:http-referrer=https://www.gemonline.tv/en-US/Live/Index?channelname=gemtv
https://d2e40kvaojifd6.cloudfront.net/stream/gem_tv/playlist.m3u8
+#EXTINF:-1 tvg-id="GOLESTAN.ir" tvg-name="GOLESTAN" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",GOLESTAN (240p)
+http://cdn1.live.irib.ir:1935/epg-live/smil:golestan/playlist.m3u8
+#EXTINF:-1 tvg-id="HAMEDAN.ir" tvg-name="HAMEDAN" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",HAMEDAN (576p)
+https://sdm.telewebion.com/live/sina/playlist.m3u8
+#EXTINF:-1 tvg-id="HAMEDAN.ir" tvg-name="HAMEDAN" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",HAMEDAN (576p)
+https://sdw.telewebion.com/live/sina/playlist.m3u8
+#EXTINF:-1 tvg-id="HAMOON.ir" tvg-name="HAMOON" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",HAMOON (576p)
+https://sdm.telewebion.com/live/hamoon/playlist.m3u8
+#EXTINF:-1 tvg-id="HAMOON.ir" tvg-name="HAMOON" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",HAMOON (576p)
+https://sdw.telewebion.com/live/hamoon/playlist.m3u8
#EXTINF:-1 tvg-id="HastiTV.ir" tvg-name="Hasti TV" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",Hasti TV (1080p)
https://live.hastitv.com/hls/livetv.m3u8
#EXTINF:-1 tvg-id="Hispantv.ir" tvg-name="HispanTV" tvg-country="IR;ES;LATAM" tvg-language="Spanish" tvg-logo="https://en.wikipedia.org/wiki/File:HispanTv_logo.svg" group-title="News",HispanTV (480p)
@@ -131,6 +191,10 @@ https://live.presstv.ir/ifilmlive/smil:ifilmar.smil/playlist.m3u8
https://live1.presstv.ir/live/ifilmen.m3u8
#EXTINF:-1 tvg-id="iFILMPersian2.ir" tvg-name="iFILM Persian 2" tvg-country="IR" tvg-language="Persian" tvg-logo="https://fa2.ifilmtv.com/img/test-final02.png" group-title="Movies",iFILM Persian 2
https://live1.presstv.ir/live/ifilm2.m3u8
+#EXTINF:-1 tvg-id="ILAM.ir" tvg-name="ILAM" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",ILAM (576p)
+https://sdm.telewebion.com/live/ilam/playlist.m3u8
+#EXTINF:-1 tvg-id="ILAM.ir" tvg-name="ILAM" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",ILAM (576p)
+https://sdw.telewebion.com/live/ilam/playlist.m3u8
#EXTINF:-1 tvg-id="ImamHusseinTV.ir" tvg-name="Imam Hussein TV" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="Religious",Imam Hussein TV (720p)
https://fa.imamhusseintv.com/live/ih1.m3u8
#EXTINF:-1 tvg-id="ImamHusseinTV.ir" tvg-name="Imam Hussein TV" tvg-country="IR" tvg-language="Persian" tvg-logo="https://i.imgur.com/FPfq4O5.png" group-title="Religious",Imam Hussein TV 1
@@ -145,36 +209,26 @@ http://159.69.58.154/irane_arya/irane_arya.m3u8
https://sdm.telewebion.com/live/irankala/playlist.m3u8
#EXTINF:-1 tvg-id="IRANKALA.ir" tvg-name="IRANKALA" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",IRANKALA (576p)
https://sdw.telewebion.com/live/irankala/playlist.m3u8
-#EXTINF:-1 tvg-id="ESHRAGH.ir" tvg-name="ESHRAGH" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",ESHRAGH (576p)
-https://sdm.telewebion.com/live/eshragh/playlist.m3u8
-#EXTINF:-1 tvg-id="ESHRAGH.ir" tvg-name="ESHRAGH" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",ESHRAGH (576p)
-https://sdw.telewebion.com/live/eshragh/playlist.m3u8
-#EXTINF:-1 tvg-id="AMOOZESH.ir" tvg-name="AMOOZESH" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",AMOOZESH (576p)
-https://sdm.telewebion.com/live/amouzesh/playlist.m3u8
-#EXTINF:-1 tvg-id="AMOOZESH.ir" tvg-name="AMOOZESH" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",AMOOZESH (576p)
-https://sdw.telewebion.com/live/amouzesh/playlist.m3u8
-#EXTINF:-1 tvg-id="AZARBAYJANGHARBI.ir" tvg-name="AZARBAYJAN GHARBI" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",AZARBAYJAN GHARBI (576p)
-https://sdm.telewebion.com/live/azarbayjangharbi/playlist.m3u8
-#EXTINF:-1 tvg-id="AZARBAYJANGHARBI.ir" tvg-name="AZARBAYJAN GHARBI" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",AZARBAYJAN GHARBI (576p)
-https://sdw.telewebion.com/live/azarbayjangharbi/playlist.m3u8
-#EXTINF:-1 tvg-id="BUSHEHR.ir" tvg-name="BUSHEHR" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",BUSHEHR (576p)
-https://sdm.telewebion.com/live/bushehr/playlist.m3u8
-#EXTINF:-1 tvg-id="BUSHEHR.ir" tvg-name="BUSHEHR" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",BUSHEHR (576p)
-https://sdw.telewebion.com/live/bushehr/playlist.m3u8
-#EXTINF:-1 tvg-id="DENA.ir" tvg-name="DENA" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",DENA (576p)
-https://sdm.telewebion.com/live/dena/playlist.m3u8
-#EXTINF:-1 tvg-id="DENA.ir" tvg-name="DENA" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",DENA (576p)
-https://sdw.telewebion.com/live/dena/playlist.m3u8
-#EXTINF:-1 tvg-id="ESFAHAN.ir" tvg-name="ESFAHAN" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",ESFAHAN (576p)
-https://sdm.telewebion.com/live/esfahan/playlist.m3u8
-#EXTINF:-1 tvg-id="ESFAHAN.ir" tvg-name="ESFAHAN" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",ESFAHAN (576p)
-https://sdw.telewebion.com/live/esfahan/playlist.m3u8
-#EXTINF:-1 tvg-id="FARS.ir" tvg-name="FARS" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",FARS (240p)
-http://cdn1.live.irib.ir:1935/epg-live/smil:fars/playlist.m3u8
-#EXTINF:-1 tvg-id="FARS.ir" tvg-name="FARS" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",FARS
-https://sdm.telewebion.com/live/fars/playlist.m3u8
-#EXTINF:-1 tvg-id="FARS.ir" tvg-name="FARS" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",FARS
-https://sdw.telewebion.com/live/fars/playlist.m3u8
+#EXTINF:-1 tvg-id="IRINN.ir" tvg-name="IRINN" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",IRINN (720p)
+https://sdm.telewebion.com/live/irinn/playlist.m3u8
+#EXTINF:-1 tvg-id="IRINN.ir" tvg-name="IRINN" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",IRINN (720p)
+https://sdw.telewebion.com/live/irinn/playlist.m3u8
+#EXTINF:-1 tvg-id="JAHANBIN.ir" tvg-name="JAHANBIN" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",JAHANBIN (240p)
+http://cdn1.live.irib.ir:1935/epg-live/smil:jahanbin/playlist.m3u8
+#EXTINF:-1 tvg-id="JAHANBIN.ir" tvg-name="JAHANBIN" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",JAHANBIN (576p)
+https://sdm.telewebion.com/live/jahanbin/playlist.m3u8
+#EXTINF:-1 tvg-id="JAHANBIN.ir" tvg-name="JAHANBIN" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",JAHANBIN (576p)
+https://sdw.telewebion.com/live/jahanbin/playlist.m3u8
+#EXTINF:-1 tvg-id="KalemehTV.ir" tvg-name="Kalemeh TV" tvg-country="IR" tvg-language="Persian" tvg-logo="https://i.imgur.com/HQjLbwm.png" group-title="Religious",Kalemeh TV (1080p)
+https://live.kalemehtv.tv/live/ngrp:kalemeh_all/playlist.m3u8
+#EXTINF:-1 tvg-id="KERMAN.ir" tvg-name="KERMAN" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",KERMAN (576p)
+https://sdm.telewebion.com/live/kerman/playlist.m3u8
+#EXTINF:-1 tvg-id="KERMAN.ir" tvg-name="KERMAN" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",KERMAN (576p)
+https://sdw.telewebion.com/live/kerman/playlist.m3u8
+#EXTINF:-1 tvg-id="KERMANSHAH.ir" tvg-name="KERMANSHAH" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",KERMANSHAH (576p)
+https://sdm.telewebion.com/live/zagros/playlist.m3u8
+#EXTINF:-1 tvg-id="KERMANSHAH.ir" tvg-name="KERMANSHAH" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",KERMANSHAH (576p)
+https://sdw.telewebion.com/live/zagros/playlist.m3u8
#EXTINF:-1 tvg-id="KHJONOOBI.ir" tvg-name="KH.JONOOBI" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",KH.JONOOBI (576p)
https://sdm.telewebion.com/live/khavaran/playlist.m3u8
#EXTINF:-1 tvg-id="KHJONOOBI.ir" tvg-name="KH.JONOOBI" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",KH.JONOOBI (576p)
@@ -187,130 +241,12 @@ https://sdw.telewebion.com/live/khorasanrazavi/playlist.m3u8
https://sdm.telewebion.com/live/atrak/playlist.m3u8
#EXTINF:-1 tvg-id="KHSHOMALI.ir" tvg-name="KH.SHOMALI" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",KH.SHOMALI (576p)
https://sdw.telewebion.com/live/atrak/playlist.m3u8
-#EXTINF:-1 tvg-id="MAZANDARAN.ir" tvg-name="MAZANDARAN" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",MAZANDARAN (576p)
-https://sdm.telewebion.com/live/tabarestan/playlist.m3u8
-#EXTINF:-1 tvg-id="MAZANDARAN.ir" tvg-name="MAZANDARAN" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",MAZANDARAN (576p)
-https://sdw.telewebion.com/live/tabarestan/playlist.m3u8
-#EXTINF:-1 tvg-id="NAMAYESH.ir" tvg-name="NAMAYESH" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",NAMAYESH (720p)
-https://sdm.telewebion.com/live/namayesh/playlist.m3u8
-#EXTINF:-1 tvg-id="NAMAYESH.ir" tvg-name="NAMAYESH" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",NAMAYESH (720p)
-https://sdw.telewebion.com/live/namayesh/playlist.m3u8
-#EXTINF:-1 tvg-id="NASIM.ir" tvg-name="NASIM" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",NASIM (720p)
-https://sdm.telewebion.com/live/nasim/playlist.m3u8
-#EXTINF:-1 tvg-id="NASIM.ir" tvg-name="NASIM" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",NASIM (720p)
-https://sdw.telewebion.com/live/nasim/playlist.m3u8
-#EXTINF:-1 tvg-id="OFOGH.ir" tvg-name="OFOGH" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",OFOGH (720p)
-https://sdm.telewebion.com/live/ofogh/playlist.m3u8
-#EXTINF:-1 tvg-id="OFOGH.ir" tvg-name="OFOGH" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",OFOGH (720p)
-https://sdw.telewebion.com/live/ofogh/playlist.m3u8
-#EXTINF:-1 tvg-id="QURAN.ir" tvg-name="QURAN" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",QURAN (576p)
-https://sdm.telewebion.com/live/quran/playlist.m3u8
-#EXTINF:-1 tvg-id="QURAN.ir" tvg-name="QURAN" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",QURAN (576p)
-https://sdw.telewebion.com/live/quran/playlist.m3u8
-#EXTINF:-1 tvg-id="SAHAND.ir" tvg-name="SAHAND" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",SAHAND (240p)
-http://cdn1.live.irib.ir:1935/epg-live/smil:sahand/playlist.m3u8
-#EXTINF:-1 tvg-id="SAHAND.ir" tvg-name="SAHAND" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",SAHAND
-https://sdm.telewebion.com/live/sahand/playlist.m3u8
-#EXTINF:-1 tvg-id="SAHAND.ir" tvg-name="SAHAND" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",SAHAND
-https://sdw.telewebion.com/live/sahand/playlist.m3u8
-#EXTINF:-1 tvg-id="SALAMAT.ir" tvg-name="SALAMAT" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",SALAMAT (576p)
-https://sdm.telewebion.com/live/salamat/playlist.m3u8
-#EXTINF:-1 tvg-id="SALAMAT.ir" tvg-name="SALAMAT" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",SALAMAT (576p)
-https://sdw.telewebion.com/live/salamat/playlist.m3u8
-#EXTINF:-1 tvg-id="SEMNAN.ir" tvg-name="SEMNAN" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",SEMNAN (576p)
-https://sdm.telewebion.com/live/semnan/playlist.m3u8
-#EXTINF:-1 tvg-id="SEMNAN.ir" tvg-name="SEMNAN" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",SEMNAN (576p)
-https://sdw.telewebion.com/live/semnan/playlist.m3u8
-#EXTINF:-1 tvg-id="SEPEHR.ir" tvg-name="SEPEHR" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",SEPEHR (576p)
-https://sdm.telewebion.com/live/sepehr/playlist.m3u8
-#EXTINF:-1 tvg-id="SEPEHR.ir" tvg-name="SEPEHR" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",SEPEHR (576p)
-https://sdw.telewebion.com/live/sepehr/playlist.m3u8
-#EXTINF:-1 tvg-id="TV1.ir" tvg-name="TV1" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",TV1 (720p)
-https://sdm.telewebion.com/live/tv1/playlist.m3u8
-#EXTINF:-1 tvg-id="TV1.ir" tvg-name="TV1" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",TV1 (720p)
-https://sdw.telewebion.com/live/tv1/playlist.m3u8
-#EXTINF:-1 tvg-id="TV2.ir" tvg-name="TV2" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",TV2 (576p)
-https://sdm.telewebion.com/live/tv2/playlist.m3u8
-#EXTINF:-1 tvg-id="TV2.ir" tvg-name="TV2" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",TV2 (576p)
-https://sdw.telewebion.com/live/tv2/playlist.m3u8
-#EXTINF:-1 tvg-id="TV3.ir" tvg-name="TV3" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",TV3 (480p)
-https://sdm.telewebion.com/live/tv3/playlist.m3u8
-#EXTINF:-1 tvg-id="TV3.ir" tvg-name="TV3" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",TV3 (480p)
-https://sdw.telewebion.com/live/tv3/playlist.m3u8
-#EXTINF:-1 tvg-id="TV4.ir" tvg-name="TV4" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",TV4 (576p)
-https://sdm.telewebion.com/live/tv4/playlist.m3u8
-#EXTINF:-1 tvg-id="TV4.ir" tvg-name="TV4" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",TV4 (576p)
-https://sdw.telewebion.com/live/tv4/playlist.m3u8
-#EXTINF:-1 tvg-id="TV5.ir" tvg-name="TV5" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",TV5 (576p)
-https://sdm.telewebion.com/live/tehran/playlist.m3u8
-#EXTINF:-1 tvg-id="TV5.ir" tvg-name="TV5" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",TV5 (576p)
-https://sdw.telewebion.com/live/tehran/playlist.m3u8
-#EXTINF:-1 tvg-id="VARZESH.ir" tvg-name="VARZESH" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",VARZESH (720p)
-http://cdn1.live.irib.ir:1935/live-channels/smil:varzesh/playlist.m3u8
-#EXTINF:-1 tvg-id="VARZESH.ir" tvg-name="VARZESH" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",VARZESH (720p)
-https://sdm.telewebion.com/live/varzesh/playlist.m3u8
-#EXTINF:-1 tvg-id="VARZESH.ir" tvg-name="VARZESH" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",VARZESH (720p)
-https://sdw.telewebion.com/live/varzesh/playlist.m3u8
-#EXTINF:-1 tvg-id="TAMASHA.ir" tvg-name="TAMASHA" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",TAMASHA (720p)
-https://sdm.telewebion.com/live/hdtest/playlist.m3u8
-#EXTINF:-1 tvg-id="TAMASHA.ir" tvg-name="TAMASHA" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",TAMASHA (720p)
-https://sdw.telewebion.com/live/hdtest/playlist.m3u8
-#EXTINF:-1 tvg-id="YAZD.ir" tvg-name="YAZD" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",YAZD (576p)
-https://sdm.telewebion.com/live/taban/playlist.m3u8
-#EXTINF:-1 tvg-id="YAZD.ir" tvg-name="YAZD" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",YAZD (576p)
-https://sdw.telewebion.com/live/taban/playlist.m3u8
-#EXTINF:-1 tvg-id="ABADAN.ir" tvg-name="ABADAN" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",ABADAN (576p)
-https://sdm.telewebion.com/live/abadan/playlist.m3u8
-#EXTINF:-1 tvg-id="ABADAN.ir" tvg-name="ABADAN" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",ABADAN (576p)
-https://sdw.telewebion.com/live/abadan/playlist.m3u8
-#EXTINF:-1 tvg-id="AFLAK.ir" tvg-name="AFLAK" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",AFLAK (576p)
-https://sdm.telewebion.com/live/aflak/playlist.m3u8
-#EXTINF:-1 tvg-id="AFLAK.ir" tvg-name="AFLAK" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",AFLAK (576p)
-https://sdw.telewebion.com/live/aflak/playlist.m3u8
-#EXTINF:-1 tvg-id="AFTAB.ir" tvg-name="AFTAB" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",AFTAB (576p)
-https://sdm.telewebion.com/live/aftab/playlist.m3u8
-#EXTINF:-1 tvg-id="AFTAB.ir" tvg-name="AFTAB" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",AFTAB (576p)
-https://sdw.telewebion.com/live/aftab/playlist.m3u8
-#EXTINF:-1 tvg-id="ALBORZ.ir" tvg-name="ALBORZ" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",ALBORZ (576p)
-https://sdm.telewebion.com/live/alborz/playlist.m3u8
-#EXTINF:-1 tvg-id="ALBORZ.ir" tvg-name="ALBORZ" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",ALBORZ (576p)
-https://sdw.telewebion.com/live/alborz/playlist.m3u8
-#EXTINF:-1 tvg-id="BARAN.ir" tvg-name="BARAN" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",BARAN (576p)
-https://sdm.telewebion.com/live/baran/playlist.m3u8
-#EXTINF:-1 tvg-id="BARAN.ir" tvg-name="BARAN" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",BARAN (576p)
-https://sdw.telewebion.com/live/baran/playlist.m3u8
-#EXTINF:-1 tvg-id="GOLESTAN.ir" tvg-name="GOLESTAN" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",GOLESTAN (240p)
-http://cdn1.live.irib.ir:1935/epg-live/smil:golestan/playlist.m3u8
-#EXTINF:-1 tvg-id="HAMEDAN.ir" tvg-name="HAMEDAN" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",HAMEDAN (576p)
-https://sdm.telewebion.com/live/sina/playlist.m3u8
-#EXTINF:-1 tvg-id="HAMEDAN.ir" tvg-name="HAMEDAN" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",HAMEDAN (576p)
-https://sdw.telewebion.com/live/sina/playlist.m3u8
-#EXTINF:-1 tvg-id="HAMOON.ir" tvg-name="HAMOON" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",HAMOON (576p)
-https://sdm.telewebion.com/live/hamoon/playlist.m3u8
-#EXTINF:-1 tvg-id="HAMOON.ir" tvg-name="HAMOON" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",HAMOON (576p)
-https://sdw.telewebion.com/live/hamoon/playlist.m3u8
-#EXTINF:-1 tvg-id="ILAM.ir" tvg-name="ILAM" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",ILAM
-https://sdm.telewebion.com/live/ilam/playlist.m3u8
-#EXTINF:-1 tvg-id="ILAM.ir" tvg-name="ILAM" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",ILAM
-https://sdw.telewebion.com/live/ilam/playlist.m3u8
-#EXTINF:-1 tvg-id="JAHANBIN.ir" tvg-name="JAHANBIN" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",JAHANBIN (240p)
-http://cdn1.live.irib.ir:1935/epg-live/smil:jahanbin/playlist.m3u8
-#EXTINF:-1 tvg-id="JAHANBIN.ir" tvg-name="JAHANBIN" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",JAHANBIN
-https://sdm.telewebion.com/live/jahanbin/playlist.m3u8
-#EXTINF:-1 tvg-id="JAHANBIN.ir" tvg-name="JAHANBIN" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",JAHANBIN
-https://sdw.telewebion.com/live/jahanbin/playlist.m3u8
-#EXTINF:-1 tvg-id="KERMAN.ir" tvg-name="KERMAN" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",KERMAN (576p)
-https://sdm.telewebion.com/live/kerman/playlist.m3u8
-#EXTINF:-1 tvg-id="KERMAN.ir" tvg-name="KERMAN" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",KERMAN (576p)
-https://sdw.telewebion.com/live/kerman/playlist.m3u8
-#EXTINF:-1 tvg-id="KERMANSHAH.ir" tvg-name="KERMANSHAH" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",KERMANSHAH (576p)
-https://sdm.telewebion.com/live/zagros/playlist.m3u8
-#EXTINF:-1 tvg-id="KERMANSHAH.ir" tvg-name="KERMANSHAH" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",KERMANSHAH (576p)
-https://sdw.telewebion.com/live/zagros/playlist.m3u8
#EXTINF:-1 tvg-id="KHALIJEFARS.ir" tvg-name="KHALIJEFARS" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",KHALIJEFARS (576p)
https://sdm.telewebion.com/live/khalijefars/playlist.m3u8
#EXTINF:-1 tvg-id="KHALIJEFARS.ir" tvg-name="KHALIJEFARS" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",KHALIJEFARS (576p)
https://sdw.telewebion.com/live/khalijefars/playlist.m3u8
+#EXTINF:-1 tvg-id="KhaterehTV.ir" tvg-name="Khatereh TV" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="Movies",Khatereh TV (368p)
+https://5caf24a595d94.streamlock.net:1937/8130/8130/playlist.m3u8
#EXTINF:-1 tvg-id="KHOOZESTAN.ir" tvg-name="KHOOZESTAN" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",KHOOZESTAN (576p)
https://sdm.telewebion.com/live/khoozestan/playlist.m3u8
#EXTINF:-1 tvg-id="KHOOZESTAN.ir" tvg-name="KHOOZESTAN" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",KHOOZESTAN (576p)
@@ -327,28 +263,14 @@ https://sdw.telewebion.com/live/kordestan/playlist.m3u8
https://sdm.telewebion.com/live/mahabad/playlist.m3u8
#EXTINF:-1 tvg-id="MAHABAD.ir" tvg-name="MAHABAD" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",MAHABAD (576p)
https://sdw.telewebion.com/live/mahabad/playlist.m3u8
-#EXTINF:-1 tvg-id="NOOR.ir" tvg-name="NOOR" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",NOOR (576p)
-https://sdm.telewebion.com/live/noor/playlist.m3u8
-#EXTINF:-1 tvg-id="NOOR.ir" tvg-name="NOOR" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",NOOR (576p)
-https://sdw.telewebion.com/live/noor/playlist.m3u8
-#EXTINF:-1 tvg-id="QAZVIN.ir" tvg-name="QAZVIN" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",QAZVIN (240p)
-http://cdn1.live.irib.ir:1935/epg-live/smil:qazvin/playlist.m3u8
-#EXTINF:-1 tvg-id="QAZVIN.ir" tvg-name="QAZVIN" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",QAZVIN
-https://sdm.telewebion.com/live/qazvin/playlist.m3u8
-#EXTINF:-1 tvg-id="QAZVIN.ir" tvg-name="QAZVIN" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",QAZVIN
-https://sdw.telewebion.com/live/qazvin/playlist.m3u8
-#EXTINF:-1 tvg-id="IRINN.ir" tvg-name="IRINN" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",IRINN (720p)
-https://sdm.telewebion.com/live/irinn/playlist.m3u8
-#EXTINF:-1 tvg-id="IRINN.ir" tvg-name="IRINN" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",IRINN (720p)
-https://sdw.telewebion.com/live/irinn/playlist.m3u8
-#EXTINF:-1 tvg-id="KalemehTV.ir" tvg-name="Kalemeh TV" tvg-country="IR" tvg-language="Persian" tvg-logo="https://i.imgur.com/HQjLbwm.png" group-title="Religious",Kalemeh TV (1080p)
-https://live.kalemehtv.tv/live/ngrp:kalemeh_all/playlist.m3u8
-#EXTINF:-1 tvg-id="KhaterehTV.ir" tvg-name="Khatereh TV" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="Movies",Khatereh TV (368p)
-https://5caf24a595d94.streamlock.net:1937/8130/8130/playlist.m3u8
#EXTINF:-1 tvg-id="Manoto.ir" tvg-name="Manoto" tvg-country="IR" tvg-language="Persian" tvg-logo="https://dwphh95xlnw84.cloudfront.net/images/static/placeholder/manotologo.png" group-title="Entertainment",Manoto TV (1080p)
https://d2rwmwucnr0d10.cloudfront.net/live.m3u8
#EXTINF:-1 tvg-id="Marjaeyat.ir" tvg-name="Marjaeyat" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="Religious",Marjaeyat (1080p)
https://livefa.marjaeyattv.com/mtv_fa/playlist.m3u8
+#EXTINF:-1 tvg-id="MAZANDARAN.ir" tvg-name="MAZANDARAN" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",MAZANDARAN (576p)
+https://sdm.telewebion.com/live/tabarestan/playlist.m3u8
+#EXTINF:-1 tvg-id="MAZANDARAN.ir" tvg-name="MAZANDARAN" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",MAZANDARAN (576p)
+https://sdw.telewebion.com/live/tabarestan/playlist.m3u8
#EXTINF:-1 tvg-id="MihanTV.ir" tvg-name="Mihan TV" tvg-country="IR" tvg-language="Persian" tvg-logo="http://mihantv.com/wp-content/themes/mihantv/images/logo.png" group-title="News",Mihan TV
https://iptv.mihantv.com/live/playlist1/index.m3u8
#EXTINF:-1 tvg-id="ModernEconomy.ir" tvg-name="Modern Economy" tvg-country="IR" tvg-language="Persian" tvg-logo="https://live-tv-channels.org/pt-data/uploads/logo/ae-gem-modern-economy-6721.jpg" group-title="Entertainment",Modern Economy [Geo-blocked]
@@ -365,10 +287,26 @@ https://sdm.telewebion.com/live/mostanad/playlist.m3u8
https://sdw.telewebion.com/live/mostanad/playlist.m3u8
#EXTINF:-1 tvg-id="Music1.ir" tvg-name="Music 1" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="Music",Music 1
http://159.69.58.154/music1/music1_tv.m3u8
+#EXTINF:-1 tvg-id="NAMAYESH.ir" tvg-name="NAMAYESH" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",NAMAYESH (720p)
+https://sdm.telewebion.com/live/namayesh/playlist.m3u8
+#EXTINF:-1 tvg-id="NAMAYESH.ir" tvg-name="NAMAYESH" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",NAMAYESH (720p)
+https://sdw.telewebion.com/live/namayesh/playlist.m3u8
+#EXTINF:-1 tvg-id="NASIM.ir" tvg-name="NASIM" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",NASIM (720p)
+https://sdm.telewebion.com/live/nasim/playlist.m3u8
+#EXTINF:-1 tvg-id="NASIM.ir" tvg-name="NASIM" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",NASIM (720p)
+https://sdw.telewebion.com/live/nasim/playlist.m3u8
#EXTINF:-1 tvg-id="NAVAHANG.ir" tvg-name="NAVAHANG" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="Music",NAVAHANG
http://51.210.227.130/hls/stream.m3u8
+#EXTINF:-1 tvg-id="NOOR.ir" tvg-name="NOOR" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",NOOR (576p)
+https://sdm.telewebion.com/live/noor/playlist.m3u8
+#EXTINF:-1 tvg-id="NOOR.ir" tvg-name="NOOR" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",NOOR (576p)
+https://sdw.telewebion.com/live/noor/playlist.m3u8
#EXTINF:-1 tvg-id="Nour.ir" tvg-name="Nour" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="Religious",Nour
https://cdn.videoevent.live:19360/elfaro4/elfaro4.m3u8
+#EXTINF:-1 tvg-id="OFOGH.ir" tvg-name="OFOGH" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",OFOGH (720p)
+https://sdm.telewebion.com/live/ofogh/playlist.m3u8
+#EXTINF:-1 tvg-id="OFOGH.ir" tvg-name="OFOGH" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",OFOGH (720p)
+https://sdw.telewebion.com/live/ofogh/playlist.m3u8
#EXTINF:-1 tvg-id="OMID.ir" tvg-name="OMID" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",OMID (576p)
https://sdm.telewebion.com/live/omid/playlist.m3u8
#EXTINF:-1 tvg-id="OMID.ir" tvg-name="OMID" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",OMID (576p)
@@ -409,6 +347,16 @@ https://sdw.telewebion.com/live/pooya/playlist.m3u8
https://live.presstv.ir/liveprs/smil:liveprs/playlist.m3u8
#EXTINF:-1 tvg-id="PressTV.ir" tvg-name="Press TV" tvg-country="IR" tvg-language="English" tvg-logo="https://i.imgur.com/TNQKahI.png" group-title="News",Press TV French (720p)
https://live1.presstv.ir/live/presstvfr/index.m3u8
+#EXTINF:-1 tvg-id="QAZVIN.ir" tvg-name="QAZVIN" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",QAZVIN (240p)
+http://cdn1.live.irib.ir:1935/epg-live/smil:qazvin/playlist.m3u8
+#EXTINF:-1 tvg-id="QAZVIN.ir" tvg-name="QAZVIN" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",QAZVIN (576p)
+https://sdm.telewebion.com/live/qazvin/playlist.m3u8
+#EXTINF:-1 tvg-id="QAZVIN.ir" tvg-name="QAZVIN" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",QAZVIN (576p)
+https://sdw.telewebion.com/live/qazvin/playlist.m3u8
+#EXTINF:-1 tvg-id="QURAN.ir" tvg-name="QURAN" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",QURAN (576p)
+https://sdm.telewebion.com/live/quran/playlist.m3u8
+#EXTINF:-1 tvg-id="QURAN.ir" tvg-name="QURAN" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",QURAN (576p)
+https://sdw.telewebion.com/live/quran/playlist.m3u8
#EXTINF:-1 tvg-id="RadioFarda.ir" tvg-name="Radio Farda" tvg-country="IR" tvg-language="Persian" tvg-logo="https://i.imgur.com/NqTGH0Q.png" group-title="",Radio Farda (576p)
https://rfe-lh.akamaihd.net/i/rfe_tvmc1@383622/master.m3u8
#EXTINF:-1 tvg-id="RadioJavanTV.ir" tvg-name="Radio Javan TV" tvg-country="IR" tvg-language="Persian" tvg-logo="https://i.imgur.com/4XTyMST.jpg" group-title="Music",Radio Javan TV (720p)
@@ -417,14 +365,32 @@ https://stream.rjtv.stream/live/smil:rjtv.smil/playlist.m3u8
https://iptv.rangarang.us/live/playlist.m3u8
#EXTINF:-1 tvg-id="SABALAN.ir" tvg-name="SABALAN" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",SABALAN (576p)
https://sdm.telewebion.com/live/sabalan/playlist.m3u8
+#EXTINF:-1 tvg-id="SAHAND.ir" tvg-name="SAHAND" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",SAHAND (240p)
+http://cdn1.live.irib.ir:1935/epg-live/smil:sahand/playlist.m3u8
+#EXTINF:-1 tvg-id="SAHAND.ir" tvg-name="SAHAND" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",SAHAND (576p)
+https://sdm.telewebion.com/live/sahand/playlist.m3u8
+#EXTINF:-1 tvg-id="SAHAND.ir" tvg-name="SAHAND" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",SAHAND (576p)
+https://sdw.telewebion.com/live/sahand/playlist.m3u8
#EXTINF:-1 tvg-id="Sahar.ir" tvg-name="Sahar" tvg-country="IR" tvg-language="" tvg-logo="" group-title="",Sahar (240p)
http://cdnlive.irib.ir/live-channels/smil:sahar3/playlist.m3u8
#EXTINF:-1 tvg-id="SAHARKURDI.ir" tvg-name="SAHAR KURDI" tvg-country="IR" tvg-language="Kurdish" tvg-logo="" group-title="",SAHAR KURDI
http://163.172.39.215:25461/line/C4@!a3a1@!w72A/56
#EXTINF:-1 tvg-id="SalamTV.ir" tvg-name="Salam TV" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="Religious",Salam TV (720p)
https://iptv.salaamtv.org/salaam/playlist.m3u8
+#EXTINF:-1 tvg-id="SALAMAT.ir" tvg-name="SALAMAT" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",SALAMAT (576p)
+https://sdm.telewebion.com/live/salamat/playlist.m3u8
+#EXTINF:-1 tvg-id="SALAMAT.ir" tvg-name="SALAMAT" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",SALAMAT (576p)
+https://sdw.telewebion.com/live/salamat/playlist.m3u8
+#EXTINF:-1 tvg-id="SEMNAN.ir" tvg-name="SEMNAN" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",SEMNAN (576p)
+https://sdm.telewebion.com/live/semnan/playlist.m3u8
+#EXTINF:-1 tvg-id="SEMNAN.ir" tvg-name="SEMNAN" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",SEMNAN (576p)
+https://sdw.telewebion.com/live/semnan/playlist.m3u8
#EXTINF:-1 tvg-id="SepanjTV.ir" tvg-name="Sepanj TV" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="Movies",Sepanj TV
http://51.210.199.30/hls/stream.m3u8
+#EXTINF:-1 tvg-id="SEPEHR.ir" tvg-name="SEPEHR" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",SEPEHR (576p)
+https://sdm.telewebion.com/live/sepehr/playlist.m3u8
+#EXTINF:-1 tvg-id="SEPEHR.ir" tvg-name="SEPEHR" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",SEPEHR (576p)
+https://sdw.telewebion.com/live/sepehr/playlist.m3u8
#EXTINF:-1 tvg-id="SHOMA.ir" tvg-name="SHOMA" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",SHOMA (576p)
https://sdm.telewebion.com/live/shoma/playlist.m3u8
#EXTINF:-1 tvg-id="SHOMA.ir" tvg-name="SHOMA" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",SHOMA (576p)
@@ -437,6 +403,10 @@ http://51.210.199.2/hls/stream.m3u8
https://live.snn.ir/hls/snn/index.m3u8
#EXTINF:-1 tvg-id="T2TV.ir" tvg-name="T2 TV" tvg-country="IR" tvg-language="Persian" tvg-logo="https://i.imgur.com/BwyQR6n.png" group-title="Music",T2 TV
http://208.113.204.104:8123/live/tapesh-live-stream/index.m3u8
+#EXTINF:-1 tvg-id="TAMASHA.ir" tvg-name="TAMASHA" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",TAMASHA (720p)
+https://sdm.telewebion.com/live/hdtest/playlist.m3u8
+#EXTINF:-1 tvg-id="TAMASHA.ir" tvg-name="TAMASHA" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",TAMASHA (720p)
+https://sdw.telewebion.com/live/hdtest/playlist.m3u8
#EXTINF:-1 tvg-id="Tapesh2Movies.ir" tvg-name="Tapesh 2 Movies" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="Movies",Tapesh 2 Movies (720p)
http://159.69.58.154/t2_movies/master.m3u8
#EXTINF:-1 tvg-id="TBNNejatTV.ir" tvg-name="TBN Nejat TV" tvg-country="IR" tvg-language="Persian" tvg-logo="https://nejattv.org/assets/img/tbn-nejat-logo.png" group-title="",TBN Nejat TV (540p)
@@ -447,15 +417,45 @@ http://51.210.227.132/hls/stream.m3u8
https://bozztv.com/1gbw5/tintv/tintv/playlist.m3u8
#EXTINF:-1 tvg-id="Toonix.ir" tvg-name="Toonix" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="Kids",Toonix
http://51.210.227.134/hls/stream.m3u8
+#EXTINF:-1 tvg-id="TV1.ir" tvg-name="TV1" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",TV1 (720p)
+https://sdm.telewebion.com/live/tv1/playlist.m3u8
+#EXTINF:-1 tvg-id="TV1.ir" tvg-name="TV1" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",TV1 (720p)
+https://sdw.telewebion.com/live/tv1/playlist.m3u8
+#EXTINF:-1 tvg-id="TV2.ir" tvg-name="TV2" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",TV2 (576p)
+https://sdm.telewebion.com/live/tv2/playlist.m3u8
+#EXTINF:-1 tvg-id="TV2.ir" tvg-name="TV2" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",TV2 (576p)
+https://sdw.telewebion.com/live/tv2/playlist.m3u8
+#EXTINF:-1 tvg-id="TV3.ir" tvg-name="TV3" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",TV3 (480p)
+https://sdm.telewebion.com/live/tv3/playlist.m3u8
+#EXTINF:-1 tvg-id="TV3.ir" tvg-name="TV3" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",TV3 (480p)
+https://sdw.telewebion.com/live/tv3/playlist.m3u8
+#EXTINF:-1 tvg-id="TV4.ir" tvg-name="TV4" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",TV4 (576p)
+https://sdm.telewebion.com/live/tv4/playlist.m3u8
+#EXTINF:-1 tvg-id="TV4.ir" tvg-name="TV4" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",TV4 (576p)
+https://sdw.telewebion.com/live/tv4/playlist.m3u8
+#EXTINF:-1 tvg-id="TV5.ir" tvg-name="TV5" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",TV5 (576p)
+https://sdm.telewebion.com/live/tehran/playlist.m3u8
+#EXTINF:-1 tvg-id="TV5.ir" tvg-name="TV5" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",TV5 (576p)
+https://sdw.telewebion.com/live/tehran/playlist.m3u8
#EXTINF:-1 tvg-id="Valiasr.ir" tvg-name="Valiasr" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="Religious",Valiasr
https://ir13.livekadeh.com/hls2/valiasr.m3u8
#EXTINF:-1 tvg-id="Varzesh.ir" tvg-name="Varzesh" tvg-country="IR" tvg-language="" tvg-logo="" group-title="",Varzesh (1080p)
http://cdn1.live.irib.ir:1935/channel-live/smil:varzesh/playlist.m3u8
+#EXTINF:-1 tvg-id="VARZESH.ir" tvg-name="VARZESH" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",VARZESH (720p)
+http://cdn1.live.irib.ir:1935/live-channels/smil:varzesh/playlist.m3u8
+#EXTINF:-1 tvg-id="VARZESH.ir" tvg-name="VARZESH" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",VARZESH (720p)
+https://sdm.telewebion.com/live/varzesh/playlist.m3u8
+#EXTINF:-1 tvg-id="VARZESH.ir" tvg-name="VARZESH" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",VARZESH (720p)
+https://sdw.telewebion.com/live/varzesh/playlist.m3u8
#EXTINF:-1 tvg-id="VarzeshTVFarsi.ir" tvg-name="Varzesh TV Farsi" tvg-country="IR" tvg-language="" tvg-logo="https://i.imgur.com/ADQM8Pk.png" group-title="",Varzesh TV Farsi [Not 24/7]
http://51.210.199.16/hls/stream.m3u8
#EXTINF:-1 tvg-id="VOX1.ir" tvg-name="VOX1" tvg-country="IR" tvg-language="Persian" tvg-logo="https://i.imgur.com/OFuIRFI.jpg" group-title="",VOX1
http://51.210.199.8/hls/stream.m3u8
#EXTINF:-1 tvg-id="VOX2.ir" tvg-name="VOX2" tvg-country="IR" tvg-language="Persian" tvg-logo="https://i.imgur.com/DN5wvFg.jpg" group-title="",VOX2
http://51.210.199.9/hls/stream.m3u8
+#EXTINF:-1 tvg-id="YAZD.ir" tvg-name="YAZD" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",YAZD (576p)
+https://sdm.telewebion.com/live/taban/playlist.m3u8
+#EXTINF:-1 tvg-id="YAZD.ir" tvg-name="YAZD" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",YAZD (576p)
+https://sdw.telewebion.com/live/taban/playlist.m3u8
#EXTINF:-1 tvg-id="YourTimeTV.ir" tvg-name="YourTime TV" tvg-country="IR" tvg-language="Persian" tvg-logo="https://yourtime.tv/img/utv-logo.png" group-title="Entertainment",YourTime TV
https://hls.yourtime.live/hls/stream.m3u8
diff --git a/channels/jp.m3u b/channels/jp.m3u
index 3bea365922..8d538a5bc6 100644
--- a/channels/jp.m3u
+++ b/channels/jp.m3u
@@ -34,8 +34,6 @@ https://hiroshima-tv-live.hls.wselive.stream.ne.jp/hiroshima-tv-live/live/playli
https://aka-amd-njpwworld-hls-enlive.akamaized.net/hls/video/njpw_en/njpw_en_channel01_3/playlist_DVR.m3u8
#EXTINF:-1 tvg-id="NHKChineseVision.jp" tvg-name="NHK Chinese Vision" tvg-country="JP" tvg-language="Chinese" tvg-logo="https://i.imgur.com/4yRulEZ.png" group-title="News",NHK Chinese Vision
https://nhkw-zh-hlscomp.akamaized.net/8thz5iufork8wjip/playlist.m3u8
-#EXTINF:-1 tvg-id="NHKE.jp" tvg-name="NHK E" tvg-country="JP" tvg-language="Japanese" tvg-logo="" group-title="",NHK E
-http://1.179.247.11:1935/jptv/kanto_nhk_edu_540/chunklist.m3u8
#EXTINF:-1 tvg-id="NHKGeneralTV.jp" tvg-name="NHK General TV" tvg-country="JP" tvg-language="Japanese" tvg-logo="" group-title="",NHK General TV
https://nhk.mov3.co/hls/nhk.m3u8
#EXTINF:-1 tvg-id="NHKWorld.jp" tvg-name="NHKWorld" tvg-country="JP" tvg-language="" tvg-logo="https://www3.nhk.or.jp/nhkworld/common/site_images/nw_webapp_1500x1500.png" group-title="",NHK World (720p)
diff --git a/channels/kw.m3u b/channels/kw.m3u
index 6db47f029b..5cb39f24a4 100644
--- a/channels/kw.m3u
+++ b/channels/kw.m3u
@@ -31,12 +31,16 @@ https://stream02.fasttelco.net/live/alrai.stream/chunklist.m3u8
https://stream02.fasttelco.net/live/alrai.stream/chunklist_w2023460738.m3u8
#EXTINF:-1 tvg-id="AlRaiTV.kw" tvg-name="AlRai TV" tvg-country="KW" tvg-language="" tvg-logo="" group-title="",AlRai TV
https://stream02.fasttelco.net/live/alrai.stream/chunklist_w498917617.m3u8?v=2957056943
+#EXTINF:-1 tvg-id="ATV.kw" tvg-name="ATV" tvg-country="KW" tvg-language="Arabic" tvg-logo="" group-title="",ATV (360p)
+https://gulfsat.cdn.easybroadcast.fr/live/Aladalah_abr/playlist.m3u8
#EXTINF:-1 tvg-id="atv.kw" tvg-name="atv" tvg-country="KW" tvg-language="Arabic" tvg-logo="http://www.atvkuwait.com/img/logo/atv_logo.png" group-title="",atv
rtmp://168.187.49.14:1935/live//atv?v=
#EXTINF:-1 tvg-id="Ch4Teen.kw" tvg-name="Ch4Teen" tvg-country="KW" tvg-language="" tvg-logo="" group-title="",Ch4Teen
https://dcunilive93-lh.akamaihd.net/i/dclive_1@835787/index_150_av-p.m3u8
#EXTINF:-1 tvg-id="Ch4Teen.kw" tvg-name="Ch4Teen" tvg-country="KW" tvg-language="Arabic" tvg-logo="https://i.imgur.com/JeG9K1y.png" group-title="",Ch4Teen (480p)
https://dcunilive93-lh.akamaihd.net/i/dclive_1@835787/master.m3u8
+#EXTINF:-1 tvg-id="Funoon.kw" tvg-name="Funoon" tvg-country="KW" tvg-language="Arabic" tvg-logo="" group-title="",Funoon (360p)
+https://gulfsat.cdn.easybroadcast.fr/live/FunoonHd_abr/playlist.m3u8
#EXTINF:-1 tvg-id="KTV 1 ARB" tvg-name="KTV 1 ARB" tvg-country="KW" tvg-language="Arabic" tvg-logo="http://www.freeetv.com/images/03_logo/KTV1_Kuwait.jpg" group-title="",KTV 1 (1080p)
https://hiplayer.hibridcdn.net/t/kwmedia-kwtv1.m3u8
#EXTINF:-1 tvg-id="KTV 2 ARB" tvg-name="KTV 2 ARB" tvg-country="KW" tvg-language="Arabic" tvg-logo="http://www.freeetv.com/images/03_logo/ktv2_Kuwait.jpg" group-title="",KTV 2 (1080p)
diff --git a/channels/ml.m3u b/channels/ml.m3u
index fcd718794a..d48cb07703 100644
--- a/channels/ml.m3u
+++ b/channels/ml.m3u
@@ -1 +1,3 @@
#EXTM3U
+#EXTINF:-1 tvg-id="ORTM1.ml" tvg-name="ORTM1" tvg-country="ML" tvg-language="" tvg-logo="" group-title="",ORTM1 (576p)
+http://51.210.1.13:18000/ortm/hls/playlist.m3u8
diff --git a/channels/pe.m3u b/channels/pe.m3u
index cd06cab550..b7b7ec3617 100644
--- a/channels/pe.m3u
+++ b/channels/pe.m3u
@@ -13,6 +13,12 @@ https://tv.siete.us/bestcablesports/bestcablesports/index.m3u8
https://video1.getstreamhosting.com:1936/8106/8106/playlist.m3u8
#EXTINF:-1 tvg-id="BHTV.pe" tvg-name="BHTV" tvg-country="PE" tvg-language="Spanish" tvg-logo="https://i.imgur.com/7hP4nps.png" group-title="General",BHTV (720p)
http://cdn1.ujjina.com:1935/iptvbhtv/livebhtvtv/playlist.m3u8
+#EXTINF:-1 tvg-id="CNBellezaAndina.pe" tvg-name="Cable Netword Belleza Andina TV" tvg-country="PE" tvg-language="Spanish" tvg-logo="" group-title="Music",Cable Netword Belleza Andina TV (720p) [Not 24/7]
+https://tv.siete.us/bellezaandina/index.m3u8
+#EXTINF:-1 tvg-id="CNCumbia.pe" tvg-name="Cable Netword Cumbia TV" tvg-country="PE" tvg-language="Spanish" tvg-logo="" group-title="Music",Cable Netword Cumbia TV (720p) [Not 24/7]
+https://tv.siete.us/cumbiatv/index.m3u8
+#EXTINF:-1 tvg-id="CNTV.pe" tvg-name="Cable Netword TV" tvg-country="PE" tvg-language="Spanish" tvg-logo="" group-title="Local",Cable Netword TV (720p) [Not 24/7]
+https://tv.siete.us/cntv/index.m3u8
#EXTINF:-1 tvg-id="CajamarcaTV.pe" tvg-name="Cajamarca TV" tvg-country="PE" tvg-language="Spanish" tvg-logo="https://graph.facebook.com/CajamarcaTV/picture?width=320&height=320" group-title="Local",Cajamarca TV (480p) [Not 24/7]
https://tv.siete.us/cajamarcatv/cajamarcatv/index.m3u8
#EXTINF:-1 tvg-id="CANALIPE.pe" tvg-name="CANAL IPE" tvg-country="PE" tvg-language="Spanish" tvg-logo="https://upload.wikimedia.org/wikipedia/commons/thumb/2/28/Identidad_Peruana_ipe_2020.png/1200px-Identidad_Peruana_ipe_2020.png" group-title="Family",CANAL IPE [Not 24/7]
@@ -38,21 +44,21 @@ https://envivo.galacticatv.com:3913/stream/play.m3u8
#EXTINF:-1 tvg-id="GeniosTVMoyobamba.pe" tvg-name="Genios TV (Moyobamba)" tvg-country="PE" tvg-language="Spanish" tvg-logo="https://graph.facebook.com/geniostvmoyobamba/picture?width=320&height=320" group-title="Local",Genios TV (Moyobamba) (720p) [Not 24/7]
https://live.obslivestream.com:1936/geniostv/ngrp:geniostv_all/playlist.m3u8?DVR
#EXTINF:-1 tvg-id="HatunTV.pe" tvg-name="Hatun TV" tvg-country="PE" tvg-language="Spanish" tvg-logo="https://yt3.ggpht.com/ytc/AAUvwnhI0HKESXrVQ8-ktPCeRap6-cP_4upPtEpAlwPa=s88-c-k-c0x00ffffff-no-rj" group-title="Music",Hatun TV (720p)
-https://live.siete.us/bestcablehatuntv/bestcablehatuntv/index.m3u8
+https://tv.siete.us/bestcablehatuntv/bestcablehatuntv/index.m3u8
#EXTINF:-1 tvg-id="JNETV.pe" tvg-name="JNE TV" tvg-country="PE" tvg-language="Spanish" tvg-logo="https://graph.facebook.com/JNE.Peru/picture?width=320&height=320" group-title="Legislative",JNE TV [Not 24/7]
https://dc1.webstream.eu/hls/hls/jnetvhdstreaming_high/index.m3u8
#EXTINF:-1 tvg-id="Karibena.pe" tvg-name="Karibeña" tvg-country="PE" tvg-language="Spanish" tvg-logo="https://graph.facebook.com/LaKaribena/picture?width=320&height=320" group-title="Music",Karibeña
https://cu.onliv3.com/livevd/user1.m3u8
#EXTINF:-1 tvg-id="KaribenaTV.pe" tvg-name="Karibeña TV" tvg-country="PE" tvg-language="" tvg-logo="https://i.imgur.com/a8yMvcV.png" group-title="Music",Karibeña TV
https://cu.onliv3.com/livevd/user1_hd720/index.m3u8
-#EXTINF:-1 tvg-id="Latina.pe" tvg-name="Latina" tvg-country="PE" tvg-language="Spanish" tvg-logo="https://graph.facebook.com/Latina.pe/picture?width=320&height=320" group-title="",Latina
+#EXTINF:-1 tvg-id="Latina.pe" tvg-name="Latina" tvg-country="PE" tvg-language="Spanish" tvg-logo="https://graph.facebook.com/Latina.pe/picture?width=320&height=320" group-title="",Latina (720p)
https://mdstrm.com/live-stream-playlist/5ce7109c7398b977dc0744cd.m3u8
#EXTINF:-1 tvg-id="MasterTVTarapoto.pe" tvg-name="Master TV (Tarapoto)" tvg-country="PE" tvg-language="Spanish" tvg-logo="https://graph.facebook.com/169404973238869/picture?width=320&height=320" group-title="Local",Master TV (Tarapoto) (480p) [Not 24/7]
https://tv.oyotunstream.com/master/master/playlist.m3u8
#EXTINF:-1 tvg-id="MegaTV.pe" tvg-name="Mega TV" tvg-country="PE" tvg-language="Spanish" tvg-logo="https://graph.facebook.com/MTVAQP/picture?width=320&height=320" group-title="Local",Mega TV (360p) [Not 24/7]
https://cp.sradiotv.com:1936/Stream/Stream/playlist.m3u8
#EXTINF:-1 tvg-id="Millenium49TVPucallpa.pe" tvg-name="Millenium 49 TV (Pucallpa)" tvg-country="PE" tvg-language="Spanish" tvg-logo="https://i.imgur.com/zYpMHhQ.png" group-title="Local",Millenium 49 TV (Pucallpa) [Not 24/7]
-https://stmv.panel.mivideo.pro/mileniuntv/mileniuntv/playlist.m3u8
+https://stmv.panel.grupolimalive.com/milleniuntv/milleniuntv/playlist.m3u8
#EXTINF:-1 tvg-id="ModaHuancayo.pe" tvg-name="Moda Huancayo" tvg-country="PE" tvg-language="Spanish" tvg-logo="https://graph.facebook.com/ModaHuancayoTv/picture?width=320&height=320" group-title="Local",Moda Huancayo TV [Not 24/7]
https://tvdatta.com:3383/live/huancayotvlive.m3u8
#EXTINF:-1 tvg-id="MonterricoTV.pe" tvg-name="Monterrico TV" tvg-country="PE" tvg-language="Spanish" tvg-logo="https://yt3.ggpht.com/ytc/AAUvwnhD4JjitkowIeOGRlCsK-kmDk1T3lXgqklUjSv5KA=s320-c-k-c0x00ffffff-no-rj" group-title="Sports",Monterrico TV (1080p)
@@ -83,6 +89,8 @@ https://d2fxrfbiedz1tm.cloudfront.net/livepaxtv/smil:PC.smil/playlist.m3u8
https://linkastream.co/headless?url=https://www.youtube.com/channel/UCgR0st4ZLABi-LQcWNu3wnQ/live
#EXTINF:-1 tvg-id="PlanetaTVMoyobamba.pe" tvg-name="Planeta TV (Moyobamba)" tvg-country="PE" tvg-language="Spanish" tvg-logo="https://graph.facebook.com/PlanetaTeleInformativo/picture?width=320&height=320" group-title="Local",Planeta TV (Moyobamba) (720p) [Not 24/7]
https://live.obslivestream.com:1936/planetatv/ngrp:planetatv_all/playlist.m3u8?DVR
+#EXTINF:-1 tvg-id="PlanetaTVBagua.pe" tvg-name="Planeta TV (Bagua)" tvg-country="PE" tvg-language="Spanish" tvg-logo="https://graph.facebook.com/planeatvperu/picture?width=320&height=320" group-title="Local",Planeta TV (Bagua) (720p) [Not 24/7]
+https://stmv.panel.grupolimalive.com/planeatv/planeatv/playlist.m3u8
#EXTINF:-1 tvg-id="Primavera15RadiotelevisionMoquegua.pe" tvg-name="Primavera 15 Radiotelevisión (Moquegua)" tvg-country="PE" tvg-language="Spanish" tvg-logo="https://graph.facebook.com/radioprimaveramoquegua/picture?width=320&height=320" group-title="Local",Primavera 15 Radiotelevisión (Moquegua) (720p)
https://rtmp02.portalexpress.es/primaveratv/primaveratv/playlist.m3u8
#EXTINF:-1 tvg-id="QTTelevision.pe" tvg-name="QT Televisión" tvg-country="PE" tvg-language="Spanish" tvg-logo="https://graph.facebook.com/QTTelevision/picture?width=320&height=320" group-title="Local",QT Televisión (Cuzco) [Not 24/7]
diff --git a/channels/ps.m3u b/channels/ps.m3u
index 8eda60e16e..3742a885f6 100644
--- a/channels/ps.m3u
+++ b/channels/ps.m3u
@@ -37,7 +37,7 @@ https://cdnamd-hls-globecast.akamaized.net/live/ramdisk/palestinian_satellite_ch
https://live.paltoday.tv/paltv/live/playlist.m3u8
#EXTINF:-1 tvg-id="palestiniantv.ps" tvg-name="palestiniantv" tvg-country="PS" tvg-language="Arabic" tvg-logo="" group-title="",palestiniantv (720p)
http://palestiniantv.origin.technostreaming.net:8081/palestiniantv_source/live/playlist.m3u8
-#EXTINF:-1 tvg-id="RadioAlbaladTV.ps" tvg-name="Radio Albalad TV" tvg-country="PS" tvg-language="Arabic" tvg-logo="" group-title="",Radio Albalad TV
+#EXTINF:-1 tvg-id="RadioAlbaladTV.ps" tvg-name="Radio Albalad TV" tvg-country="PS" tvg-language="Arabic" tvg-logo="" group-title="",Radio Albalad TV (1080p)
http://streaming.zaytonatube.com:8080/radioalbalad/radioalbalad/playlist.m3u8
#EXTINF:-1 tvg-id="RajeenTV.ps" tvg-name="Rajeen TV" tvg-country="PS" tvg-language="Arabic" tvg-logo="" group-title="",Rajeen TV (1080p)
https://mn-nl.mncdn.com/palabroad/live/playlist.m3u8
diff --git a/channels/ru.m3u b/channels/ru.m3u
index 97b21661d2..7bc1d46711 100644
--- a/channels/ru.m3u
+++ b/channels/ru.m3u
@@ -1,6 +1,6 @@
#EXTM3U
#EXTINF:-1 tvg-id="1HDMusicTelevision.ru" tvg-name="1HD Music Television" tvg-country="RU" tvg-language="Russian" tvg-logo="https://www.lyngsat.com/logo/tv/num/1hd-music-tv-ru.png" group-title="Music",1HD Music Television (1080p)
-http://1hdru-hls-otcnet.cdnvideo.ru/onehdmusic/playlist.m3u8
+http://1hdru-hls-otcnet.cdnvideo.ru/onehdmusic/tracks-v1a1/index.m3u8
#EXTINF:-1 tvg-id="1HDMusicTelevision.ru" tvg-name="1HD Music Television" tvg-country="RU" tvg-language="Russian" tvg-logo="https://www.lyngsat.com/logo/tv/num/1hd-music-tv-ru.png" group-title="Music",1HD Music Television
https://sc.id-tv.kz/1hd.m3u8
#EXTINF:-1 tvg-id="2x2.ru" tvg-name="2x2" tvg-country="RU" tvg-language="Russian" tvg-logo="https://i.ibb.co/DrvTgDc/2x2.png" group-title="Entertainment",2x2 [Geo-blocked]
@@ -48,10 +48,10 @@ http://ott-cdn.ucom.am/s34/index.m3u8
#EXTINF:-1 tvg-id="BridgeTV.ru" tvg-name="Bridge TV" tvg-country="RU" tvg-language="Russian" tvg-logo="https://i.imgur.com/L71iY9t.png" group-title="",Bridge TV (480p)
#EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148
http://ott-cdn.ucom.am/s78/index.m3u8
-#EXTINF:-1 tvg-id="Cinema.ru" tvg-name="Cinema" tvg-country="RU" tvg-language="Russian" tvg-logo="" group-title="Movies",Cinema
+#EXTINF:-1 tvg-id="Cinema.ru" tvg-name="Cinema" tvg-country="RU" tvg-language="Russian" tvg-logo="" group-title="Movies",Cinema [Not 24/7]
https://sc.id-tv.kz/Cinema.m3u8
#EXTINF:-1 tvg-id="Eurodance90HD.ru" tvg-name="Eurodance 90 HD" tvg-country="INT" tvg-language="English" tvg-logo="" group-title="Music",Eurodance 90 HD
-https://eurodance.catcast.tv/content/36987/index.m3u8
+https://eurodance90.catcast.tv/content/36987/index.m3u8
#EXTINF:-1 tvg-id="FreshTV.ru" tvg-name="FreshTV" tvg-country="RU" tvg-language="Russian" tvg-logo="https://i.imgur.com/Ju3mLgq.png" group-title="Music",FreshTV (720p)
https://strm.yandex.ru/kal/fresh/fresh0.m3u8
#EXTINF:-1 tvg-id="GlobalStarTV.ru" tvg-name="Global Star TV" tvg-country="RU" tvg-language="Russian" tvg-logo="https://i.imgur.com/BJJN5Zp.jpg" group-title="",Global Star TV
@@ -66,8 +66,6 @@ https://strm.yandex.ru/kal/hdmedia/hdmedia0.m3u8
https://sc.id-tv.kz/hdl.m3u8
#EXTINF:-1 tvg-id="HITV.ru" tvg-name="HITV" tvg-country="RU" tvg-language="Russian" tvg-logo="" group-title="Music",HITV (1080p)
https://strm.yandex.ru/kal/hittv/hittv0.m3u8
-#EXTINF:-1 tvg-id="KrikTV.ru" tvg-name="Krik TV" tvg-country="RU" tvg-language="" tvg-logo="" group-title="",Krik TV (720p)
-http://cdn-01.bonus-tv.ru:8080/kriktv_edge/index.m3u8
#EXTINF:-1 tvg-id="Leomax24.ru" tvg-name="Leomax 24" tvg-country="RU" tvg-language="Russian" tvg-logo="" group-title="Shop",Leomax 24 (576p)
https://tvshops.bonus-tv.ru/cdn/shop24/playlist.m3u8
#EXTINF:-1 tvg-id="LeomaxPlus.ru" tvg-name="Leomax Plus" tvg-country="RU" tvg-language="Russian" tvg-logo="" group-title="Shop",Leomax Plus (576p)
@@ -146,11 +144,11 @@ http://ott-cdn.ucom.am/s63/index.m3u8
#EXTINF:-1 tvg-id="RTD.ru" tvg-name="RTД" tvg-country="RU" tvg-language="Russian" tvg-logo="https://upload.wikimedia.org/wikipedia/en/thumb/a/ae/RTD-TV-logo.png/220px-RTD-TV-logo.png" group-title="Documentary",RTД (480p)
#EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148
http://ott-cdn.ucom.am/s93/index.m3u8
-#EXTINF:-1 tvg-id="RTD.ru" tvg-name="RTД" tvg-country="RU" tvg-language="Russian" tvg-logo="https://i.imgur.com/C6fylkt.png" group-title="Documentary",RTД (1080p)
+#EXTINF:-1 tvg-id="RTD.ru" tvg-name="RTД" tvg-country="RU" tvg-language="Russian" tvg-logo="https://i.imgur.com/C6fylkt.png" group-title="Documentary",RTД (1080p) [Not 24/7]
http://uiptv.do.am/1ufc/300663722/playlist.m3u8
#EXTINF:-1 tvg-id="RTD.ru" tvg-name="RTД" tvg-country="RU" tvg-language="Russian" tvg-logo="https://i.imgur.com/C6fylkt.png" group-title="Documentary",RTД (720p)
https://rtmp.api.rt.com/hls/rtdru.m3u8
-#EXTINF:-1 tvg-id="RTD.ru" tvg-name="RTД" tvg-country="RU" tvg-language="Russian" tvg-logo="https://i.imgur.com/C6fylkt.png" group-title="Documentary",RTД (1080p)
+#EXTINF:-1 tvg-id="RTD.ru" tvg-name="RTД" tvg-country="RU" tvg-language="Russian" tvg-logo="https://i.imgur.com/C6fylkt.png" group-title="Documentary",RTД (1080p) [Not 24/7]
https://strm.yandex.ru/kal/rtd_hd/rtd_hd0.m3u8
#EXTINF:-1 tvg-id="RUTV.ru" tvg-name="RU.TV" tvg-country="RU" tvg-language="Russian" tvg-logo="https://www.parsatv.com/index_files/channels/rutv.png" group-title="Music",RU.TV (360p)
https://rut-v.gcdn.co/streams/1410_95/playlist.m3u8
@@ -164,7 +162,7 @@ http://live.sgdf24.cdnvideo.ru/sgdf24/sgdf24.sdp/playlist.m3u8
http://serv30.vintera.tv:8081/shoppinglive/shoppinglive_stream/playlist.m3u8
#EXTINF:-1 tvg-id="ShotTV.ru" tvg-name="Shot TV" tvg-country="RU" tvg-language="Russian" tvg-logo="" group-title="Movies",Shot TV
http://37.17.14.149:8905/play/a00m
-#EXTINF:-1 tvg-id="ShotTV.ru" tvg-name="Shot TV" tvg-country="RU" tvg-language="Russian" tvg-logo="" group-title="Movies",Shot TV
+#EXTINF:-1 tvg-id="ShotTV.ru" tvg-name="Shot TV" tvg-country="RU" tvg-language="Russian" tvg-logo="" group-title="Movies",Shot TV [Not 24/7]
http://cdn.tvmatic.net/shot.m3u8
#EXTINF:-1 tvg-id="SochiLiveHD.ru" tvg-name="Sochi Live HD" tvg-country="RU" tvg-language="Russian" tvg-logo="" group-title="",Sochi Live HD (720p)
http://serv30.vintera.tv:8081/sochi/sochi_stream/playlist.m3u8
@@ -203,7 +201,7 @@ http://serv25.vintera.tv:8081/test/aris/playlist.m3u8
http://ott-cdn.ucom.am/s68/index.m3u8
#EXTINF:-1 tvg-id="Arhyz24.ru" tvg-name="Архыз 24" tvg-country="RU" tvg-language="Russian" tvg-logo="https://upload.wikimedia.org/wikipedia/commons/thumb/0/05/LOGO_ARKHYZ24.tif/lossy-page1-1200px-LOGO_ARKHYZ24.tif.jpg" group-title="Local",Архыз 24 (1080p)
https://live.mediacdn.ru/sr1/arhis24/playlist.m3u8
-#EXTINF:-1 tvg-id="Arhyz24.ru" tvg-name="Архыз 24" tvg-country="RU" tvg-language="Russian" tvg-logo="" group-title="Local",Архыз 24 (720p)
+#EXTINF:-1 tvg-id="Arhyz24.ru" tvg-name="Архыз 24" tvg-country="RU" tvg-language="Russian" tvg-logo="" group-title="Local",Архыз 24 (720p) [Not 24/7]
https://strm.yandex.ru/kal/arhyz24/arhyz240.m3u8
#EXTINF:-1 tvg-id="Astrahan24.ru" tvg-name="Астрахань 24" tvg-country="RU" tvg-language="Russian" tvg-logo="" group-title="Local",Астрахань 24 (720p)
https://streaming.astrakhan.ru/astrakhan24/playlist.m3u8
@@ -275,8 +273,8 @@ http://88b9da48.kazmazpaz.ru/iptv/D7M94NBVB5DLFS/512/index.m3u8
http://edge05.beetv.kz/btv/SWM/Dom_kino_Prem/Dom_kino_Prem.m3u8
#EXTINF:-1 tvg-id="DomKinoPremium.ru" tvg-name="Дом Кино Премиум" tvg-country="RU" tvg-language="Russian" tvg-logo="https://www.domkino-premium.tv/im/logo3d.png" group-title="Movies",Дом Кино Премиум
https://sc.id-tv.kz/domkino_hd.m3u8
-#EXTINF:-1 tvg-id="Domashniy.ru" tvg-name="Домашний" tvg-country="RU" tvg-language="Russian" tvg-logo="" group-title="",Домашний (576p)
-http://bar-timeshift-inet.ll-bar.zsttk.ru:8080/dom/playlist.m3u8
+#EXTINF:-1 tvg-id="Domashniy.ru" tvg-name="Домашний" tvg-country="RU" tvg-language="Russian" tvg-logo="https://upload.wikimedia.org/wikipedia/commons/thumb/e/e7/Domashniy_tv_logo.svg/2000px-Domashniy_tv_logo.svg.png" group-title="",Домашний (576p)
+http://31.128.159.41:8080/domashniy/tracks-v1a1/mono.m3u8
#EXTINF:-1 tvg-id="Domashniy.ru" tvg-name="Домашний" tvg-country="RU" tvg-language="Russian" tvg-logo="https://upload.wikimedia.org/wikipedia/commons/thumb/e/e7/Domashniy_tv_logo.svg/2000px-Domashniy_tv_logo.svg.png" group-title="",Домашний (480p)
#EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148
http://ott-cdn.ucom.am/s88/index.m3u8
@@ -284,7 +282,7 @@ http://ott-cdn.ucom.am/s88/index.m3u8
#EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148
http://ott-cdn.ucom.am/s95/index.m3u8
#EXTINF:-1 tvg-id="Dorama.ru" tvg-name="Дорама" tvg-country="RU" tvg-language="Russian" tvg-logo="https://i.imgur.com/lHn6OlM.png" group-title="Movies",Дорама
-http://sc.id-tv.kz:80/dorama_hd_34_35.m3u8
+https://sc.id-tv.kz/dorama_hd.m3u8
#EXTINF:-1 tvg-id="Evraziya.ru" tvg-name="Евразия" tvg-country="RU" tvg-language="Russian" tvg-logo="http://eurasia.orsk.ru/images/bg.jpg" group-title="Local",Евразия (Орск) (720p)
http://infochhdcdn.trkeurasia.ru/orsk-infochhd/infochhd/playlist.m3u8
#EXTINF:-1 tvg-id="Evraziya.ru" tvg-name="Евразия" tvg-country="RU" tvg-language="Russian" tvg-logo="http://eurasia.orsk.ru/images/bg.jpg" group-title="Local",Евразия (Орск)
@@ -316,10 +314,8 @@ http://ott-cdn.ucom.am/s92/index.m3u8
http://hls-igi.cdnvideo.ru/igi/igi_hq/playlist.m3u8
#EXTINF:-1 tvg-id="Izvestiya.ru" tvg-name="Известия" tvg-country="RU" tvg-language="Russian" tvg-logo="https://iptvx.one/icn/izvestia.png" group-title="News",Известия (720p)
https://hls-igi.cdnvideo.ru/igi/igi_sq/playlist.m3u8
-#EXTINF:-1 tvg-id="Indiyskoekino.ru" tvg-name="Индийское кино" tvg-country="RU" tvg-language="Russian" tvg-logo="" group-title="",Индийское кино
-http://89.106.234.3:80/Indiiskoe_kino_34_35.m3u8
#EXTINF:-1 tvg-id="Indiyskoekino.ru" tvg-name="Индийское кино" tvg-country="RU" tvg-language="" tvg-logo="" group-title="",Индийское кино
-https://sc.id-tv.kz/Indiiskoe_kino_38_39.m3u8
+https://sc.id-tv.kz/Indiiskoe_kino.m3u8
#EXTINF:-1 tvg-id="Istoriya.ru" tvg-name="История" tvg-country="RU" tvg-language="Russian" tvg-logo="https://i.imgur.com/7fZXK7y.png" group-title="",История (480p)
#EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148
http://ott-cdn.ucom.am/s40/index.m3u8
@@ -331,26 +327,26 @@ https://edge2.de.kab.tv/live/tvrus-rus-high/playlist.m3u8
https://edge2.de.kab.tv/live/tvrus-rus-medium/playlist.m3u8
#EXTINF:-1 tvg-id="KabbalaTV.ru" tvg-name="Каббала ТВ" tvg-country="RU" tvg-language="Russian" tvg-logo="http://kab.tv/static/images/kab_tv_rus.gif" group-title="Religious",Каббала ТВ (360p)
https://edge2.uk.kab.tv/live/tvrus-rus-medium/playlist.m3u8
-#EXTINF:-1 tvg-id="Kavkaz24.ru" tvg-name="Кавказ 24" tvg-country="RU" tvg-language="Russian" tvg-logo="" group-title="",Кавказ 24 (720p) [Not 24/7]
-http://serv30.vintera.tv:8081/kavkaz24/kavkaz24_stream/playlist.m3u8
+#EXTINF:-1 tvg-id="Kavkaz24.ru" tvg-name="Кавказ 24" tvg-country="RU" tvg-language="Russian" tvg-logo="" group-title="",Кавказ 24 (720p)
+https://strm.yandex.ru/kal/kavkaz24_supres/kavkaz24_supres0.m3u8
#EXTINF:-1 tvg-id="KarapuzTV.ru" tvg-name="Карапуз ТВ" tvg-country="RU" tvg-language="Russian" tvg-logo="" group-title="Kids",Карапуз ТВ
https://karapuztv.fenixplustv.xyz/content/33418/index.m3u8
-#EXTINF:-1 tvg-id="KvarcTVPodolsk.ru" tvg-name="Кварц ТВ (Подольск)" tvg-country="RU" tvg-language="" tvg-logo="" group-title="",Кварц ТВ (Подольск)
-https://streamer1.podolsknet.ru/Infochannel/video.m3u8
+#EXTINF:-1 tvg-id="TVKvarc.ru" tvg-name="ТВ Кварц" tvg-country="RU" tvg-language="" tvg-logo="" group-title="Local",ТВ Кварц (576p)
+https://video.quartztelecom.ru:18080/hls/2386168/71fe656b993c510f39a5/playlist.m3u8
#EXTINF:-1 tvg-id="KinozalVHS90s.ru" tvg-name="Кинозал (VHS 90s)" tvg-country="RU" tvg-language="" tvg-logo="" group-title="",Кинозал (VHS 90s)
https://v2.catcast.tv/content/37925/index.m3u8
#EXTINF:-1 tvg-id="Kinokomediya.ru" tvg-name="Кинокомедия" tvg-country="RU" tvg-language="Russian" tvg-logo="" group-title="Comedy",Кинокомедия
-http://sc.id-tv.kz/Kinokomediya_hd.m3u8
+https://sc.id-tv.kz/Kinokomediya_hd.m3u8
#EXTINF:-1 tvg-id="Kinomiks.ru" tvg-name="Киномикс" tvg-country="RU" tvg-language="Russian" tvg-logo="" group-title="Movies",Киномикс
-http://sc.id-tv.kz/Kinomix_hd.m3u8
+https://sc.id-tv.kz/Kinomix_hd.m3u8
#EXTINF:-1 tvg-id="Kinopremera.ru" tvg-name="Кинопремьера" tvg-country="RU" tvg-language="Russian" tvg-logo="" group-title="Movies",Кинопремьера
https://sc.id-tv.kz/Kinopremiera_hd.m3u8
#EXTINF:-1 tvg-id="Kinosvidanie.ru" tvg-name="Киносвидание" tvg-country="RU" tvg-language="Russian" tvg-logo="" group-title="Movies",Киносвидание
-http://sc.id-tv.kz/Kinosvidanie_hd.m3u8
+https://sc.id-tv.kz/Kinosvidanie_hd.m3u8
#EXTINF:-1 tvg-id="Kinosemya.ru" tvg-name="Киносемья" tvg-country="RU" tvg-language="Russian" tvg-logo="" group-title="Movies",Киносемья
-http://sc.id-tv.kz/Kinosemiya_hd.m3u8
+https://sc.id-tv.kz/Kinosemiya_hd.m3u8
#EXTINF:-1 tvg-id="Kinohit.ru" tvg-name="Кинохит" tvg-country="RU" tvg-language="Russian" tvg-logo="" group-title="Movies",Кинохит
-http://sc.id-tv.kz/Kinohit_hd.m3u8
+https://sc.id-tv.kz/Kinohit_hd.m3u8
#EXTINF:-1 tvg-id="KlassikaKino.ru" tvg-name="Классика Кино" tvg-country="RU" tvg-language="Russian" tvg-logo="" group-title="Movies",Классика Кино (720p)
https://strm.yandex.ru/kal/kinoclassic/kinoclassic0.m3u8
#EXTINF:-1 tvg-id="KomediynoeHD.ru" tvg-name="Комедийное HD" tvg-country="RU" tvg-language="" tvg-logo="" group-title="",Комедийное HD
@@ -361,10 +357,10 @@ http://188.40.68.167/russia/komediya/playlist.m3u8
http://cdn-01.bonus-tv.ru:80/konnyimir/playlist.m3u8
#EXTINF:-1 tvg-id="Krasnayaliniya.ru" tvg-name="Красная линия" tvg-country="RU" tvg-language="Russian" tvg-logo="" group-title="General",Красная линия (480p)
https://kprf-htlive.cdn.ngenix.net/live/stream_high/playlist.m3u8
-#EXTINF:-1 tvg-id="KrasnogorskTV.ru" tvg-name="Красногорск ТВ" tvg-country="RU" tvg-language="" tvg-logo="" group-title="",Красногорск ТВ (480p)
+#EXTINF:-1 tvg-id="KrasnogorskTV.ru" tvg-name="Красногорск ТВ" tvg-country="RU" tvg-language="" tvg-logo="" group-title="",Красногорск ТВ (480p) [Not 24/7]
http://live-krtv.cdnvideo.ru/krtv/krtv.sdp/playlist.m3u8
-#EXTINF:-1 tvg-id="KrikTV.ru" tvg-name="Крик-ТВ" tvg-country="RU" tvg-language="Russian" tvg-logo="http://ricekb.ru/img/logo.png" group-title="",Крик-ТВ (720p)
-https://hls-rictv.cdnvideo.ru/rictv/rictv.sdp/playlist.m3u8
+#EXTINF:-1 tvg-id="KrikTV.ru" tvg-name="Крик-ТВ" tvg-country="RU" tvg-language="Russian" tvg-logo="http://ricekb.ru/img/logo.png" group-title="",Крик-ТВ (576p)
+https://strm.yandex.ru/kal/krik_tv/krik_tv0.m3u8
#EXTINF:-1 tvg-id="Krym24.ru" tvg-name="Крым 24" tvg-country="RU" tvg-language="Russian" tvg-logo="http://1tvcrimea.ru/assets/images/live_crimea24.png" group-title="",Крым 24
http://mr2live.1tvcrimea.ru:8080/24tvcrimea.m3u8
#EXTINF:-1 tvg-id="Kuban24Orbita.ru" tvg-name="Кубань 24 Орбита" tvg-country="RU" tvg-language="Russian" tvg-logo="" group-title="",Кубань 24 Орбита
@@ -374,10 +370,11 @@ https://www.10kanal.ru:1443/10kanal/k24/playlist.m3u8
#EXTINF:-1 tvg-id="Kultura.ru" tvg-name="Культура" tvg-country="RU" tvg-language="Russian" tvg-logo="https://i.imgur.com/jzhrYJq.png" group-title="Culture",Культура (480p)
#EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148
http://ott-cdn.ucom.am/s16/index.m3u8
-#EXTINF:-1 tvg-id="Kultura.ru" tvg-name="Культура" tvg-country="RU" tvg-language="Russian" tvg-logo="https://i.imgur.com/jzhrYJq.png" group-title="Culture",Культура
+#EXTINF:-1 tvg-id="Kultura.ru" tvg-name="Культура" tvg-country="RU" tvg-language="Russian" tvg-logo="https://i.imgur.com/jzhrYJq.png" group-title="Culture",Культура (576p)
http://uiptv.do.am/1ufc/000000005/playlist.m3u8
-#EXTINF:-1 tvg-id="Kultura.ru" tvg-name="Культура" tvg-country="RU" tvg-language="Russian" tvg-logo="https://i.imgur.com/jzhrYJq.png" group-title="Culture",Культура
-https://a3569458063-s26881.cdn.ngenix.net/live/smil:russiak.smil/index.m3u8
+#EXTINF:-1 tvg-id="Kultura.ru" tvg-name="Культура" tvg-country="RU" tvg-language="Russian" tvg-logo="https://i.imgur.com/jzhrYJq.png" group-title="Culture",Культура (540p) [Geo-blocked]
+#EXTVLCOPT:http-user-agent=Mozilla/5.0 (X11; Linux aarch64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.84 Safari/537.36 CrKey/1.21a.76178
+https://zabava-htlive.cdn.ngenix.net/hls/CH_RUSSIAK/variant.m3u8
#EXTINF:-1 tvg-id="Kuray.ru" tvg-name="Курай" tvg-country="RU" tvg-language="Bashkir" tvg-logo="https://i.imgur.com/AxgNvdp.png" group-title="",Курай (576p)
https://bsttv.bonus-tv.ru/cdn/kurai/playlist.m3u8
#EXTINF:-1 tvg-id="KFUTV.ru" tvg-name="КФУ ТВ" tvg-country="RU" tvg-language="" tvg-logo="" group-title="",КФУ ТВ (1080p)
@@ -406,8 +403,6 @@ https://sc.id-tv.kz/Mir.m3u8
https://public.streaming.matur-tv.ru/hls/h264_aac/stream.m3u8
#EXTINF:-1 tvg-id="MatchTV.ru" tvg-name="Матч ТВ" tvg-country="RU" tvg-language="Russian" tvg-logo="https://i.imgur.com/ud7AVaF.png" group-title="Sports",Матч ТВ (576p)
http://176.114.16.54:80/match/index.m3u8
-#EXTINF:-1 tvg-id="MatchTV.ru" tvg-name="Матч ТВ" tvg-country="RU" tvg-language="Russian" tvg-logo="https://i.imgur.com/ud7AVaF.png" group-title="Sports",Матч ТВ
-http://uiptv.do.am/1ufc/000000003/playlist.m3u8
#EXTINF:-1 tvg-id="MatchTV.ru" tvg-name="Матч ТВ" tvg-country="RU" tvg-language="Russian" tvg-logo="https://i.imgur.com/ud7AVaF.png" group-title="Sports",Матч ТВ (576p) [Not 24/7]
https://95-213-224-188.livesports24.online/ooomatch.m3u8
#EXTINF:-1 tvg-id="MezhduNetMezhdurechensk.ru" tvg-name="Между.Net (Междуреченск)" tvg-country="RU" tvg-language="Russian" tvg-logo="" group-title="Local",Между.Net (Междуреченск) (720p)
@@ -454,15 +449,11 @@ http://93.78.206.172:8080/stream5/stream.m3u8
https://live-mordovia24.cdnvideo.ru/mordovia24/streamtr/playlist.m3u8
#EXTINF:-1 tvg-id="Morskoy.ru" tvg-name="Морской" tvg-country="RU" tvg-language="" tvg-logo="" group-title="",Морской
http://88b9da48.kazmazpaz.ru/iptv/D7M94NBVB5DLFS/742/index.m3u8
-#EXTINF:-1 tvg-id="Moskva24.ru" tvg-name="Москва 24" tvg-country="RU" tvg-language="Russian" tvg-logo="" group-title="Local",Москва 24 (720p)
+#EXTINF:-1 tvg-id="Moskva24.ru" tvg-name="Москва 24" tvg-country="RU" tvg-language="Russian" tvg-logo="https://i.imgur.com/BOry400.png" group-title="Local",Москва 24 (720p)
http://188.40.68.167/russia/moskva24/playlist.m3u8
-#EXTINF:-1 tvg-id="Moskva24.ru" tvg-name="Москва 24" tvg-country="RU" tvg-language="Russian" tvg-logo="" group-title="Local",Москва 24
-https://a3569458063-s26881.cdn.ngenix.net/live/smil:m24.smil/index.m3u8
-#EXTINF:-1 tvg-id="Moskva24.ru" tvg-name="Москва 24" tvg-country="RU" tvg-language="" tvg-logo="" group-title="",Москва 24 (576p)
+#EXTINF:-1 tvg-id="Moskva24.ru" tvg-name="Москва 24" tvg-country="RU" tvg-language="Russian" tvg-logo="https://i.imgur.com/BOry400.png" group-title="Local",Москва 24 (576p)
https://radio-live-mg.rtr-vesti.ru/hls/moscow_24/playlist.m3u8
-#EXTINF:-1 tvg-id="Moskva24.ru" tvg-name="Москва 24" tvg-country="RU" tvg-language="Russian" tvg-logo="https://i.imgur.com/BOry400.png" group-title="Local",Москва 24
-https://radio-live-mg.rtr-vesti.ru/live/smil:m24.smil/playlist.m3u8
-#EXTINF:-1 tvg-id="Moskva24.ru" tvg-name="Москва 24" tvg-country="RU" tvg-language="Russian" tvg-logo="" group-title="Local",Москва 24 (720p)
+#EXTINF:-1 tvg-id="Moskva24.ru" tvg-name="Москва 24" tvg-country="RU" tvg-language="Russian" tvg-logo="https://i.imgur.com/BOry400.png" group-title="Local",Москва 24 (720p)
https://strm.yandex.ru/kal/msk24_supres/msk24_supres0.m3u8
#EXTINF:-1 tvg-id="Moyaplaneta.ru" tvg-name="Моя планета" tvg-country="RU" tvg-language="" tvg-logo="http://digitalrussia.tv/upload/files/mp.png" group-title="",Моя планета
http://cdnmg.secure.live.rtr-vesti.ru/live/smil:mplan.smil/master.m3u8
@@ -508,8 +499,8 @@ http://live-saha.cdnvideo.ru/saha/saha/playlist.m3u8
http://vod.tv7.fi:1935/tv7-ru/_definst_/smil:tv7-ru.smil/playlist.m3u8
#EXTINF:-1 tvg-id="NebesaTV7RU.ru" tvg-name="Небеса ТВ7 (RU)" tvg-country="RU" tvg-language="" tvg-logo="" group-title="",Небеса ТВ7 (RU) (720p)
http://vod.tv7.fi:1935/tv7-ru/tv7-ru.stream_720p/playlist.m3u8
-#EXTINF:-1 tvg-id="NizhniyNovgorod24.ru" tvg-name="Нижний Новгород 24" tvg-country="RU" tvg-language="" tvg-logo="" group-title="",Нижний Новгород 24
-https://live-vestinn.cdnvideo.ru/vestinn/nn24/playlist.m3u8
+#EXTINF:-1 tvg-id="NizhniyNovgorod24.ru" tvg-name="Нижний Новгород 24" tvg-country="RU" tvg-language="" tvg-logo="" group-title="",Нижний Новгород 24 (720p)
+https://live-vestinn.cdnvideo.ru/vestinn/nn24-khl/playlist.m3u8
#EXTINF:-1 tvg-id="NikaTV.ru" tvg-name="Ника ТВ" tvg-country="RU" tvg-language="Russian" tvg-logo="https://nikatv.ru/public/img/logo2.png" group-title="",Ника ТВ (576p)
https://live-nikatv.cdnvideo.ru/nikatv/nikatv.sdp/playlist.m3u8
#EXTINF:-1 tvg-id="NLOHD.ru" tvg-name="НЛО HD" tvg-country="RU" tvg-language="" tvg-logo="" group-title="",НЛО HD
@@ -520,9 +511,7 @@ https://hls-video01.cdnvideo.ru/video01/smil:video01.smil/playlist.m3u8
http://serv25.vintera.tv:8081/novoetv/nov_tv/playlist.m3u8
#EXTINF:-1 tvg-id="NovoeTV.ru" tvg-name="Новое ТВ" tvg-country="RU" tvg-language="" tvg-logo="" group-title="",Новое ТВ
https://sc.id-tv.kz/New_Television.m3u8
-#EXTINF:-1 tvg-id="NovorossiyaTV.ru" tvg-name="Новороссия ТВ" tvg-country="RU" tvg-language="Russian" tvg-logo="" group-title="",Новороссия ТВ
-http://185.114.136.25:80/novorossia-tv
-#EXTINF:-1 tvg-id="NovorossiyaTVHD.ru" tvg-name="Новороссия ТВ HD" tvg-country="RU" tvg-language="" tvg-logo="" group-title="",Новороссия ТВ HD
+#EXTINF:-1 tvg-id="NovorossiyaTV.ru" tvg-name="Новороссия ТВ" tvg-country="RU" tvg-language="Russian" tvg-logo="" group-title="",Новороссия ТВ (720p)
http://ott.inmart.tv:8081/19/index.m3u8
#EXTINF:-1 tvg-id="Novyy.ru" tvg-name="Новый" tvg-country="RU" tvg-language="" tvg-logo="" group-title="",Новый
http://spacetv.in/stream/DVB2D6AE8CU/157.m3u8
@@ -531,7 +520,7 @@ http://stream.studio360.tv/nw/nw_576p/playlist.m3u8
#EXTINF:-1 tvg-id="Noyabrsk24.ru" tvg-name="Ноябрьск 24" tvg-country="RU" tvg-language="Russian" tvg-logo="" group-title="Local",Ноябрьск 24 (1080p)
https://strm.yandex.ru/kal/noyabrsk24/noyabrsk240.m3u8
#EXTINF:-1 tvg-id="NTV.ru" tvg-name="НТВ" tvg-country="RU" tvg-language="Russian" tvg-logo="" group-title="",НТВ (576p)
-http://bar-timeshift-inet.ll-bar.zsttk.ru:8080/ntv/playlist.m3u8
+http://31.128.159.41:8080/ntv/tracks-v1a1/mono.m3u8
#EXTINF:-1 tvg-id="NTV.ru" tvg-name="НТВ" tvg-country="RU" tvg-language="Russian" tvg-logo="https://i.imgur.com/i6wrwKy.png" group-title="",НТВ (480p)
#EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148
http://ott-cdn.ucom.am/s17/index.m3u8
@@ -554,8 +543,8 @@ http://ott.inmart.tv:8081/54/index.m3u8
http://4197b1f4.kazaktelekom.org/iptv/NXLLLMU654RENM/904/index.m3u8
#EXTINF:-1 tvg-id="OTV.ru" tvg-name="ОТВ" tvg-country="RU" tvg-language="Russian" tvg-logo="" group-title="Local",ОТВ (Одинцово)
http://185.18.4.16/live/3m/playlist.m3u8
-#EXTINF:-1 tvg-id="OTR.ru" tvg-name="ОТР" tvg-country="RU" tvg-language="Russian" tvg-logo="https://iptvx.one/icn/otr_ru.png" group-title="General",ОТР
-http://uiptv.do.am/1ufc/000000008/playlist.m3u8
+#EXTINF:-1 tvg-id="OTR.ru" tvg-name="ОТР" tvg-country="RU" tvg-language="Russian" tvg-logo="https://iptvx.one/icn/otr_ru.png" group-title="General",ОТР (720p)
+https://strm.yandex.ru/kal/otr/otr0.m3u8
#EXTINF:-1 tvg-id="OTS.ru" tvg-name="ОТС" tvg-country="RU" tvg-language="Russian" tvg-logo="" group-title="Local",ОТС (1080p)
https://strm.yandex.ru/kal/otstv/otstv0.m3u8
#EXTINF:-1 tvg-id="OhotnikiRybolov.ru" tvg-name="Охотник и Рыболов" tvg-country="RU" tvg-language="Russian" tvg-logo="https://i.imgur.com/k1Gt1Rc.png" group-title="Outdoor",Охотник и Рыболов (480p)
@@ -569,11 +558,9 @@ http://ott-cdn.ucom.am/s14/04.m3u8
#EXTINF:-1 tvg-id="Pervyykanal.ru" tvg-name="Первый канал" tvg-country="RU" tvg-language="" tvg-logo="" group-title="",Первый канал
https://cdn1.mobiletv.bg/T5/perviy_kanal/perviy_kanal_794613_850k.m3u8
#EXTINF:-1 tvg-id="PervyykanalEvraziya.ru" tvg-name="Первый канал Евразия" tvg-country="RU" tvg-language="Russian" tvg-logo="" group-title="General",Первый канал Евразия
-http://sc.id-tv.kz/1KanalEvraziya_38_39.m3u8
-#EXTINF:-1 tvg-id="PervyykanalEvraziya.ru" tvg-name="Первый канал Евразия" tvg-country="RU" tvg-language="Russian" tvg-logo="" group-title="General",Первый канал Евразия
http://stream.euroasia.lfstrm.tv/perviy_evrasia/1/index.m3u8
#EXTINF:-1 tvg-id="PervyykanalEvraziya.ru" tvg-name="Первый канал Евразия" tvg-country="RU" tvg-language="Russian" tvg-logo="" group-title="General",Первый канал Евразия
-https://sc.id-tv.kz/1KanalEvraziya_34_35.m3u8
+https://sc.id-tv.kz/1KanalEvraziya.m3u8
#EXTINF:-1 tvg-id="Pervyykrymskiy.ru" tvg-name="Первый крымский" tvg-country="RU" tvg-language="Russian" tvg-logo="http://1tvcrimea.ru/assets/images/live_1tvcrimea.png" group-title="",Первый крымский
http://mrlive.1tvcrimea.ru:8080/1tvcrimea.m3u8
#EXTINF:-1 tvg-id="PervyyPskovskiy.ru" tvg-name="Первый Псковский" tvg-country="RU" tvg-language="" tvg-logo="" group-title="",Первый Псковский (540p)
@@ -584,15 +571,12 @@ http://ott.inmart.tv:8081/18/index.m3u8
http://5.164.24.83/tula/1tv_low/index.m3u8
#EXTINF:-1 tvg-id="Planeta.ru" tvg-name="Планета" tvg-country="RU" tvg-language="" tvg-logo="" group-title="",Планета
https://cdn1.mobiletv.bg/T5/planeta/planeta_794613_850k.m3u8
-#EXTINF:-1 tvg-id="Pobeda.ru" tvg-name="Победа" tvg-country="RU" tvg-language="Russian" tvg-logo="https://i.imgur.com/DOtCK9V.png" group-title="",Победа (480p)
-#EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148
-http://ott-cdn.ucom.am/s47/index.m3u8
-#EXTINF:-1 tvg-id="Pobeda.ru" tvg-name="Победа" tvg-country="RU" tvg-language="Russian" tvg-logo="https://i.imgur.com/DOtCK9V.png" group-title="",Победа
+#EXTINF:-1 tvg-id="Pobeda.ru" tvg-name="Победа" tvg-country="RU" tvg-language="Russian" tvg-logo="https://i.imgur.com/DOtCK9V.png" group-title="",Победа (576p)
+https://edge05.beetv.kz/btv/SWM/Pobeda/Pobeda_576p_2000kbps.m3u8
+#EXTINF:-1 tvg-id="Pobeda.ru" tvg-name="Победа" tvg-country="RU" tvg-language="Russian" tvg-logo="https://i.imgur.com/DOtCK9V.png" group-title="",Победа (576p)
https://sc.id-tv.kz/Pobeda.m3u8
#EXTINF:-1 tvg-id="Poehali.ru" tvg-name="Поехали!" tvg-country="RU" tvg-language="Russian" tvg-logo="" group-title="",Поехали!
-http://89.106.234.3:80/poehali.m3u8
-#EXTINF:-1 tvg-id="Poehali.ru" tvg-name="Поехали!" tvg-country="RU" tvg-language="Russian" tvg-logo="" group-title="",Поехали!
-http://sc.id-tv.kz:80/poehali.m3u8
+https://sc.id-tv.kz/poehali.m3u8
#EXTINF:-1 tvg-id="Premera.ru" tvg-name="Премьера" tvg-country="INT" tvg-language="Russian" tvg-logo="" group-title="Movies",Премьера
https://v2.catcast.tv/content/39161/index.m3u8
#EXTINF:-1 tvg-id="Prima.ru" tvg-name="Прима" tvg-country="RU" tvg-language="Russian" tvg-logo="" group-title="",Прима
@@ -654,12 +638,12 @@ http://hls.tva.cdnvideo.ru/tva/tva.sdp/playlist.m3u8
#EXTINF:-1 tvg-id="RZhDTV.ru" tvg-name="РЖД ТВ" tvg-country="RU" tvg-language="Russian" tvg-logo="http://www.tv-logo.com/pt-data/uploads/images/logo/rzd_russian_railways.jpg" group-title="",РЖД ТВ
http://hls.tva.cdnvideo.ru/tva/tvahd.sdp/chunklist.m3u8
#EXTINF:-1 tvg-id="Rodnoekino.ru" tvg-name="Родное кино" tvg-country="RU" tvg-language="Russian" tvg-logo="" group-title="",Родное кино
-http://89.106.234.3:80/Rodnoe_kino_34_35.m3u8
+https://sc.id-tv.kz/Rodnoe_kino.m3u8
#EXTINF:-1 tvg-id="Rodnoykanal.ru" tvg-name="Родной канал" tvg-country="RU" tvg-language="Russian" tvg-logo="" group-title="",Родной канал (720p)
https://n1.slavmir.tv/live/slavmir/playlist.m3u8
-#EXTINF:-1 tvg-id="Rossiya1Kaluga.ru" tvg-name="Россия 1 (Калуга)" tvg-country="RU" tvg-language="Russian" tvg-logo="" group-title="General",Россия 1 (Калуга)
+#EXTINF:-1 tvg-id="Rossiya1Kaluga.ru" tvg-name="Россия 1 (Калуга)" tvg-country="RU" tvg-language="Russian" tvg-logo="" group-title="Local",Россия 1 (Калуга)
http://cdnmg.secure.live.rtr-vesti.ru/vgtrkrtmp/smil:kaluga_r1.smil/playlist.m3u8
-#EXTINF:-1 tvg-id="Rossiya1MariyEl.ru" tvg-name="Россия 1 (Марий Эл)" tvg-country="RU" tvg-language="" tvg-logo="" group-title="",Россия 1 (Марий Эл) (720p)
+#EXTINF:-1 tvg-id="Rossiya1MariyEl.ru" tvg-name="Россия 1 (Марий Эл)" tvg-country="RU" tvg-language="Russian" tvg-logo="" group-title="Local",Россия 1 (Марий Эл) (720p) [Offline]
http://gtrkmariel-live.cdnvideo.ru/gtrkmariel/gtrkmariel/playlist.m3u8
#EXTINF:-1 tvg-id="Rossiya1Plus6.ru" tvg-name="Россия 1 +6" tvg-country="RU" tvg-language="Russian" tvg-logo="" group-title="General",Россия 1 +6
https://gtrkchita.ru:8081/hls/r1-chita_180p.m3u8
@@ -670,18 +654,18 @@ http://cdnmg.secure.live.rtr-vesti.ru/hls/russia_hd/playlist.m3u8
#EXTINF:-1 tvg-id="Rossiya1HD.ru" tvg-name="Россия 1 HD" tvg-country="RU" tvg-language="Russian" tvg-logo="" group-title="General",Россия 1 HD
https://a3569458063-s26881.cdn.ngenix.net/hls/russia_hd/playlist_4.m3u8
#EXTINF:-1 tvg-id="Rossiya24.ru" tvg-name="Россия 24" tvg-country="RU" tvg-language="Russian" tvg-logo="https://i.imgur.com/wu7O85f.png" group-title="News",Россия 24 (576p)
-http://cdnmg.secure.live.rtr-vesti.ru/live/smil:r24.smil/playlist.m3u8
+http://radio-live-mg.rtr-vesti.ru/hls/russia_24/playlist.m3u8
#EXTINF:-1 tvg-id="Rossiya24.ru" tvg-name="Россия 24" tvg-country="RU" tvg-language="Russian" tvg-logo="https://i.imgur.com/wu7O85f.png" group-title="News",Россия 24 (480p)
#EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148
http://ott-cdn.ucom.am/s21/index.m3u8
-#EXTINF:-1 tvg-id="Rossiya24.ru" tvg-name="Россия 24" tvg-country="RU" tvg-language="Russian" tvg-logo="https://i.imgur.com/wu7O85f.png" group-title="News",Россия 24 (576p)
+#EXTINF:-1 tvg-id="Rossiya24.ru" tvg-name="Россия 24" tvg-country="RU" tvg-language="Russian" tvg-logo="https://i.imgur.com/wu7O85f.png" group-title="News",Россия 24 (576p) [Not 24/7]
http://uiptv.do.am/1ufc/000000006/playlist.m3u8
#EXTINF:-1 tvg-id="Rossiya24NNovgorod.ru" tvg-name="Россия 24 (Н.Новгород)" tvg-country="RU" tvg-language="Russian" tvg-logo="" group-title="News",Россия 24 (Н.Новгород) (576p)
https://live-vestinn.cdnvideo.ru/vestinn/vestinn/playlist.m3u8
#EXTINF:-1 tvg-id="Rossiya24Chita.ru" tvg-name="Россия 24 (Чита)" tvg-country="RU" tvg-language="Russian" tvg-logo="" group-title="News",Россия 24 (Чита) (360p)
-http://gtrkchita.ru:8081/hls/r24-chita_360p.m3u8
+https://gtrkchita.ru:8081/hls/r24-chita_360p.m3u8
#EXTINF:-1 tvg-id="Rossiya24Chita.ru" tvg-name="Россия 24 (Чита)" tvg-country="RU" tvg-language="Russian" tvg-logo="" group-title="News",Россия 24 (Чита) (576p)
-http://gtrkchita.ru:8081/hls/r24-chita_576p.m3u8
+https://gtrkchita.ru:8081/hls/r24-chita_576p.m3u8
#EXTINF:-1 tvg-id="RossiyaK.ru" tvg-name="Россия К" tvg-country="RU" tvg-language="" tvg-logo="" group-title="",Россия К (576p)
http://cdnmg.secure.live.rtr-vesti.ru/hls/russia_k/playlist.m3u8
#EXTINF:-1 tvg-id="RossiyaRTR.ru" tvg-name="Россия РТР" tvg-country="RU" tvg-language="" tvg-logo="" group-title="",Россия РТР
@@ -695,7 +679,7 @@ http://ott-cdn.ucom.am/s15/index.m3u8
http://4197b1f4.kazaktelekom.org/iptv/NXLLLMU654RENM/907/index.m3u8
#EXTINF:-1 tvg-id="RusskiySever.ru" tvg-name="Русский Север" tvg-country="RU" tvg-language="Russian" tvg-logo="" group-title="Local",Русский Север (Вологда) (1080p)
http://185.186.142.16/streams.rs.m3u8
-#EXTINF:-1 tvg-id="RusskiyEkstrim.ru" tvg-name="Русский Экстрим" tvg-country="RU" tvg-language="Russian" tvg-logo="" group-title="",Русский Экстрим
+#EXTINF:-1 tvg-id="RusskiyEkstrim.ru" tvg-name="Русский Экстрим" tvg-country="RU" tvg-language="Russian" tvg-logo="" group-title="",Русский Экстрим [Offline]
http://vid.extremtv.ru/hls_get/cameraFeed.m3u8
#EXTINF:-1 tvg-id="Rybolov.ru" tvg-name="Рыболов" tvg-country="RU" tvg-language="Russian" tvg-logo="" group-title="",Рыболов (480p)
#EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148
@@ -713,9 +697,8 @@ https://bsttv.bonus-tv.ru/cdn/salyam/playlist.m3u8
http://45.67.57.9:8080/new/new/playlist.m3u8
#EXTINF:-1 tvg-id="Saratov24.ru" tvg-name="Саратов 24" tvg-country="RU" tvg-language="" tvg-logo="" group-title="",Саратов 24 (576p)
https://saratov24.tv/online/playlist.php
-#EXTINF:-1 tvg-id="Sarafan.ru" tvg-name="Сарафан" tvg-country="RU" tvg-language="Russian" tvg-logo="https://i.imgur.com/AgX6qoz.png" group-title="",Сарафан (480p)
-#EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148
-http://ott-cdn.ucom.am/s38/index.m3u8
+#EXTINF:-1 tvg-id="Sarafan.ru" tvg-name="Сарафан" tvg-country="RU" tvg-language="Russian" tvg-logo="https://i.imgur.com/AgX6qoz.png" group-title="",Сарафан (576p)
+http://195.26.83.96:7024/play/82
#EXTINF:-1 tvg-id="Sever.ru" tvg-name="Север" tvg-country="RU" tvg-language="Russian" tvg-logo="http://www.visitnao.ru/upload/iblock/1c0/1c0bd0c468ce71c2c0deab8ee728440a.png" group-title="Local",Север (Нарьян-Мар) (1080p)
https://live.mediacdn.ru/sr1/sever/playlist.m3u8
#EXTINF:-1 tvg-id="Sever.ru" tvg-name="Север" tvg-country="RU" tvg-language="Russian" tvg-logo="http://www.visitnao.ru/upload/iblock/1c0/1c0bd0c468ce71c2c0deab8ee728440a.png" group-title="Local",Север (Нарьян-Мар) (1080p)
@@ -725,7 +708,7 @@ https://live2.mediacdn.ru/sr1/sever/playlist.m3u8
#EXTINF:-1 tvg-id="SelengaTV.ru" tvg-name="Селенга ТВ" tvg-country="RU" tvg-language="" tvg-logo="" group-title="",Селенга ТВ
http://90.188.37.86/live/playlist.m3u8
#EXTINF:-1 tvg-id="Siesta.ru" tvg-name="Сиеста" tvg-country="RU" tvg-language="Russian" tvg-logo="" group-title="",Сиеста
-http://1hdru-hls-otcnet.cdnvideo.ru/siesta/tracks-v1a1/index.m3u8
+https://1hdru-hls-otcnet.cdnvideo.ru/siesta/index.m3u8
#EXTINF:-1 tvg-id="SmaylikTV.ru" tvg-name="Смайлик ТВ" tvg-country="RU" tvg-language="Russian" tvg-logo="http://smilik.tv/wp-content/uploads/2016/02/Desktop_-1.png" group-title="Kids",Смайлик ТВ (720p)
http://62.32.67.187:1935/WEB_Smilik/ngrp:Smilik.stream-adaptive/playlist.m3u8
#EXTINF:-1 tvg-id="SmaylikTV.ru" tvg-name="Смайлик ТВ" tvg-country="RU" tvg-language="Russian" tvg-logo="http://smilik.tv/wp-content/uploads/2016/02/Desktop_-1.png" group-title="Kids",Смайлик ТВ (720p)
@@ -734,18 +717,14 @@ http://62.32.67.187:1935/WEB_Smilik/Smilik.stream/playlist.m3u8
http://hls.solntv.cdnvideo.ru/solntv/solntv.sdp/playlist.m3u8
#EXTINF:-1 tvg-id="Soyuz.ru" tvg-name="Союз" tvg-country="RU" tvg-language="Russian" tvg-logo="https://tv-soyuz.ru/static/img/logo.png" group-title="Religious",Союз (576p)
http://hls-tvsoyuz.cdnvideo.ru/tvsoyuz/soyuz/playlist.m3u8
-#EXTINF:-1 tvg-id="Soyuz.ru" tvg-name="Союз" tvg-country="RU" tvg-language="" tvg-logo="" group-title="",Союз (576p)
-http://hls-tvsoyuz.cdnvideo.ru/tvsoyuz/soyuz/playlist.m3u8?version=2
-#EXTINF:-1 tvg-id="Soyuz.ru" tvg-name="Союз" tvg-country="RU" tvg-language="Russian" tvg-logo="https://tv-soyuz.ru/static/img/logo.png" group-title="Religious",Союз (720p)
-https://strm.yandex.ru/kal/soyuz_supres/soyuz_supres0.m3u8
+#EXTINF:-1 tvg-id="Soyuz.ru" tvg-name="Союз" tvg-country="RU" tvg-language="Russian" tvg-logo="https://tv-soyuz.ru/static/img/logo.png" group-title="Religious",Союз (1080p)
+https://strm.yandex.ru/kal/soyuz/soyuz0.m3u8
#EXTINF:-1 tvg-id="Spas.ru" tvg-name="Спас" tvg-country="RU" tvg-language="" tvg-logo="" group-title="",Спас (576p)
http://spas.mediacdn.ru/cdn/spas/playlist.m3u8
#EXTINF:-1 tvg-id="SSSRTV.ru" tvg-name="СССР ТВ" tvg-country="INT" tvg-language="Russian" tvg-logo="" group-title="",СССР ТВ
https://v2.catcast.tv/content/38821/index.m3u8
#EXTINF:-1 tvg-id="Start.ru" tvg-name="Старт" tvg-country="RU" tvg-language="Russian" tvg-logo="" group-title="Sports",Старт (1080p)
https://strm.yandex.ru/kal/start/start0.m3u8
-#EXTINF:-1 tvg-id="STVBelarusHD.ru" tvg-name="СТВ (Беларусь) HD" tvg-country="RU" tvg-language="" tvg-logo="" group-title="",СТВ (Беларусь) HD (1080p)
-http://93.125.121.50:8080/STV/index.m3u8
#EXTINF:-1 tvg-id="STVKazahstan.ru" tvg-name="СТВ Казахстан" tvg-country="RU" tvg-language="" tvg-logo="" group-title="",СТВ Казахстан
https://sc.id-tv.kz/STV.m3u8
#EXTINF:-1 tvg-id="StranaFM.ru" tvg-name="Страна FM" tvg-country="RU" tvg-language="Russian" tvg-logo="" group-title="Music",Страна FM (720p)
@@ -761,8 +740,6 @@ http://ott-cdn.ucom.am/s52/04.m3u8
http://spacetv.in/stream/DVB2D6AE8CU/138.m3u8
#EXTINF:-1 tvg-id="STS.ru" tvg-name="СТС" tvg-country="RU" tvg-language="Russian" tvg-logo="https://i.imgur.com/pJNWVAz.png" group-title="",СТС
https://sc.id-tv.kz/STS.m3u8
-#EXTINF:-1 tvg-id="STSPlus4.ru" tvg-name="СТС +4" tvg-country="RU" tvg-language="" tvg-logo="" group-title="",СТС +4 (576p)
-http://bar-timeshift-inet.ll-bar.zsttk.ru:8080/sts/playlist.m3u8
#EXTINF:-1 tvg-id="Surgut24.ru" tvg-name="Сургут 24" tvg-country="RU" tvg-language="Russian" tvg-logo="http://online-red.com/images/tv/surgut-24.png" group-title="Local",Сургут 24 (720p)
https://video1.in-news.ru/c24/index.m3u8
#EXTINF:-1 tvg-id="TaktRenTVKursk.ru" tvg-name="Такт/Рен ТВ (Курск)" tvg-country="RU" tvg-language="" tvg-logo="" group-title="",Такт/Рен ТВ (Курск)
@@ -778,11 +755,11 @@ https://cdn1.mobiletv.bg/T10/tvevropa/tvevropa_794613_850k.m3u8
#EXTINF:-1 tvg-id="TVCentr.ru" tvg-name="ТВ Центр" tvg-country="RU" tvg-language="Russian" tvg-logo="https://i.imgur.com/fIkd01t.png" group-title="",ТВ Центр (480p)
#EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148
http://ott-cdn.ucom.am/s54/index.m3u8
-#EXTINF:-1 tvg-id="TVCentr.ru" tvg-name="ТВ Центр" tvg-country="RU" tvg-language="" tvg-logo="" group-title="",ТВ Центр
+#EXTINF:-1 tvg-id="TVCentr.ru" tvg-name="ТВ Центр" tvg-country="RU" tvg-language="Russian" tvg-logo="" group-title="",ТВ Центр
http://uiptv.do.am/1ufc/000000009/playlist.m3u8
#EXTINF:-1 tvg-id="TVEkstra.ru" tvg-name="ТВ Экстра" tvg-country="RU" tvg-language="Russian" tvg-logo="" group-title="",ТВ Экстра (720p)
http://live-1.otcnet.ru:80/tvextra720b/index.m3u8
-#EXTINF:-1 tvg-id="TV3.ru" tvg-name="ТВ-3" tvg-country="RU" tvg-language="" tvg-logo="" group-title="",ТВ-3 (576p)
+#EXTINF:-1 tvg-id="TV3.ru" tvg-name="ТВ-3" tvg-country="RU" tvg-language="Russian" tvg-logo="" group-title="",ТВ-3 (1080p)
http://bar-timeshift-inet.ll-bar.zsttk.ru:8080/tv3/playlist.m3u8
#EXTINF:-1 tvg-id="TVK24.ru" tvg-name="ТВК 24" tvg-country="RU" tvg-language="" tvg-logo="" group-title="",ТВК 24 (576p)
http://air.tvk6.ru/tvk24/playlist.m3u8
@@ -790,14 +767,10 @@ http://air.tvk6.ru/tvk24/playlist.m3u8
https://live-tvr24.cdnvideo.ru/tvr24/tvr24.sdp/playlist.m3u8
#EXTINF:-1 tvg-id="TVTUR.ru" tvg-name="ТВТУР" tvg-country="RU" tvg-language="Russian" tvg-logo="" group-title="Travel",ТВТУР (720p)
https://strm.yandex.ru/kal/tvtour/tvtour0.m3u8
-#EXTINF:-1 tvg-id="TVCMezhdunarodnyy.ru" tvg-name="ТВЦ (Международный)" tvg-country="RU" tvg-language="" tvg-logo="" group-title="",ТВЦ (Международный) (576p)
+#EXTINF:-1 tvg-id="TVCMezhdunarodnyy.ru" tvg-name="ТВЦ (Международный)" tvg-country="RU" tvg-language="" tvg-logo="" group-title="",ТВЦ (Международный) (576p) [Offline]
http://ad-hls-tvc.cdnvideo.ru/tvc-p222/smil:tvc.smil/playlist.m3u8
#EXTINF:-1 tvg-id="TDK.ru" tvg-name="ТДК" tvg-country="RU" tvg-language="Russian" tvg-logo="https://iptvx.one/icn/tdk.png" group-title="",ТДК
https://sc.id-tv.kz/TDK-42.m3u8
-#EXTINF:-1 tvg-id="TDK.ru" tvg-name="ТДК" tvg-country="RU" tvg-language="Russian" tvg-logo="https://iptvx.one/icn/tdk.png" group-title="",ТДК (720p)
-https://strm.yandex.ru/kal/tdk_supres/tdk_supres0.m3u8
-#EXTINF:-1 tvg-id="TeleviziyaVraca.ru" tvg-name="Телевизия Враца" tvg-country="RU" tvg-language="" tvg-logo="" group-title="",Телевизия Враца
-https://cdn1.mobiletv.bg/T8/tv_vratsa/tv_vratsa_794613_850k.m3u8
#EXTINF:-1 tvg-id="Telekanal86.ru" tvg-name="Телеканал 86" tvg-country="RU" tvg-language="Russian" tvg-logo="http://online-red.com/images/tv/86.png" group-title="Local",Телеканал 86 (Сургут) [Not 24/7]
https://sitv.ru/hls/s86.m3u8
#EXTINF:-1 tvg-id="Teleputeshestviya.ru" tvg-name="Телепутешествия" tvg-country="RU" tvg-language="Russian" tvg-logo="" group-title="Travel",Телепутешествия (480p)
@@ -815,8 +788,6 @@ https://stream.almaz-media.tv:8080/hls/576.m3u8
http://live.tkr.cdnvideo.ru/tkr/tkr.sdp/playlist.m3u8
#EXTINF:-1 tvg-id="TNVPlaneta.ru" tvg-name="ТНВ-Планета" tvg-country="RU" tvg-language="Russian" tvg-logo="" group-title="",ТНВ-Планета (576p)
http://tnv.bonus-tv.ru/cdn/tnvplanet/playlist.m3u8
-#EXTINF:-1 tvg-id="TNTPlus4.ru" tvg-name="ТНТ +4" tvg-country="RU" tvg-language="" tvg-logo="" group-title="",ТНТ +4 (576p)
-http://bar-timeshift-inet.ll-bar.zsttk.ru:8080/tnt/playlist.m3u8
#EXTINF:-1 tvg-id="TNTInternational.ru" tvg-name="ТНТ International" tvg-country="RU" tvg-language="Russian" tvg-logo="" group-title="Entertainment",ТНТ International
#EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148
http://ott-cdn.ucom.am/s19/04.m3u8
@@ -878,8 +849,8 @@ http://stream0.tv41.ru/live.m3u8
https://live-echotv.cdnvideo.ru/echotv/echotv.sdp/playlist.m3u8
#EXTINF:-1 tvg-id="EhoTV.ru" tvg-name="Эхо ТВ" tvg-country="RU" tvg-language="" tvg-logo="" group-title="",Эхо ТВ
http://live-echotv.cdnvideo.ru/echotv/echotv.sdp/chunklist.m3u8
-#EXTINF:-1 tvg-id="YuElista.ru" tvg-name="Ю (Элиста)" tvg-country="RU" tvg-language="" tvg-logo="" group-title="",Ю (Элиста)
-http://hlstv.brn.211.ru/239.211.211.29/stream.m3u8
+#EXTINF:-1 tvg-id="Yu.ru" tvg-name="Ю" tvg-country="RU" tvg-language="Russian" tvg-logo="" group-title="",Ю
+https://strm.yandex.ru/kal/utv/utv0.m3u8
#EXTINF:-1 tvg-id="YuvelirochkaTV.ru" tvg-name="Ювелирочка ТВ" tvg-country="RU" tvg-language="" tvg-logo="" group-title="",Ювелирочка ТВ (576p)
http://live-uvelirochka.cdnvideo.ru/uvelirochka/uvelirochka_720p3/playlist.m3u8
#EXTINF:-1 tvg-id="Yugra.ru" tvg-name="Югра" tvg-country="RU" tvg-language="Russian" tvg-logo="http://www.tv-logo.com/pt-data/uploads/images/logo/ugra_tv.jpg" group-title="Local",Югра (576p)
diff --git a/channels/sa.m3u b/channels/sa.m3u
index db6e14ac0c..a5315c1384 100644
--- a/channels/sa.m3u
+++ b/channels/sa.m3u
@@ -7,12 +7,12 @@ https://iptv--iptv.repl.co/Arabic/Ekhbariyah/
http://82.212.74.3:8000/live/7513.m3u8
#EXTINF:-1 tvg-id="AlKhalij.sa" tvg-name="Al Khalij" tvg-country="SA" tvg-language="Arabic" tvg-logo="http://www.al-khalij.tv/wp-content/uploads/2015/03/logo-1.png" group-title="General",Al Khalij (1080p)
https://mn-nl.mncdn.com/khalij/khalij/playlist.m3u8
-#EXTINF:-1 tvg-id="AlKhalijTV.sa" tvg-name="Al Khalij TV" tvg-country="SA" tvg-language="" tvg-logo="" group-title="",Al Khalij TV
-http://mn-nl.mncdn.com/khalij/khalij/chunklist.m3u8
#EXTINF:-1 tvg-id="AlQuranAlKareemTV.sa" tvg-name="Al Quran Al Kareem TV" tvg-country="SA" tvg-language="Arabic" tvg-logo="https://i.imgur.com/0aMNwQa.png" group-title="Religious",Al Quran Al Kareem TV
http://45.92.69.131:8001/play/a00f
#EXTINF:-1 tvg-id="AlQuranAlKareemTV.sa" tvg-name="Al Quran Al Kareem TV" tvg-country="SA" tvg-language="Arabic" tvg-logo="https://i.imgur.com/zmVCXIK.png" group-title="Religious",Al Quran Al Kareem TV (Mecca) (720p)
http://m.live.net.sa:1935/live/quran/playlist.m3u8
+#EXTINF:-1 tvg-id="AlQuranAlKareemTV.sa" tvg-name="Al Quran Al Kareem TV" tvg-country="SA" tvg-language="Arabic" tvg-logo="https://i.imgur.com/0aMNwQa.png" group-title="Religious",Al Quran Al Kareem TV (Mecca)
+https://5b18be6964c2f.streamlock.net:1935/live/_definst_/quran/playlist.m3u8
#EXTINF:-1 tvg-id="AlQuranAlKareemTV.sa" tvg-name="Al Quran Al Kareem TV" tvg-country="SA" tvg-language="Arabic" tvg-logo="https://i.imgur.com/zmVCXIK.png" group-title="Religious",Al Quran Al Kareem TV (Mecca) (360p)
https://cdnamd-hls-globecast.akamaized.net/live/ramdisk/saudi_quran/hls1/saudi_quran.m3u8
#EXTINF:-1 tvg-id="AlQuranAlKareemTV.sa" tvg-name="Al Quran Al Kareem TV" tvg-country="SA" tvg-language="Arabic" tvg-logo="https://i.imgur.com/0aMNwQa.png" group-title="Religious",Al Quran Al Kareem TV (Mecca) (1080p)
@@ -47,18 +47,10 @@ https://5d658d7e9f562.streamlock.net/atfal1.com/atfal2/playlist.m3u8
http://82.212.74.2:8000/live/7312.m3u8
#EXTINF:-1 tvg-id="ENTV.sa" tvg-name="EN TV" tvg-country="SA" tvg-language="Arabic" tvg-logo="http://jascotvstreaming.com/uploads/topics/15817550307058.png" group-title="General",EN TV
http://82.212.74.100:8000/live/8130.m3u8
-#EXTINF:-1 tvg-id="Iqraa.sa" tvg-name="Iqraa" tvg-country="SA" tvg-language="" tvg-logo="" group-title="",Iqraa [Not 24/7]
-http://iqraac.cdn.mangomolo.com/iqraa/smil:iqraar1.stream.smil/chunklist_b1800000_t64NTc2cA==.m3u8
-#EXTINF:-1 tvg-id="Iqraa.sa" tvg-name="Iqraa" tvg-country="SA" tvg-language="" tvg-logo="" group-title="",Iqraa [Not 24/7]
-http://iqraac.cdn.mangomolo.com/iqraa/smil:iqraar1.stream.smil/chunklist_b1800000_t64NTc2cA==.m3u8?2177918685
#EXTINF:-1 tvg-id="Iqraa" tvg-name="Iqraa" tvg-country="SA" tvg-language="Arabic" tvg-logo="https://i.imgur.com/3bug9dU.png" group-title="Religious",Iqraa (576p) [Not 24/7]
https://iqraac.cdn.mangomolo.com/iqraa/smil:iqraar1.stream.smil/playlist.m3u8
-#EXTINF:-1 tvg-id="IqraaEurope.sa" tvg-name="Iqraa Europe" tvg-country="SA" tvg-language="" tvg-logo="" group-title="",Iqraa Europe [Not 24/7]
-http://iqraac.cdn.mangomolo.com/iqraa/smil:iqraar2.stream.smil/chunklist_b1800000_t64NTc2cA==.m3u8
#EXTINF:-1 tvg-id="IqraaEuropeAfrica.sa" tvg-name="Iqraa Europe Africa" tvg-country="SA" tvg-language="English" tvg-logo="https://i.imgur.com/3bug9dU.png" group-title="Religious",Iqraa Europe Africa (576p) [Not 24/7]
https://iqraac.cdn.mangomolo.com/iqraa/smil:iqraar2.stream.smil/playlist.m3u8
-#EXTINF:-1 tvg-id="IqraaIntlKSA.sa" tvg-name="Iqraa Int'l (KSA)" tvg-country="SA" tvg-language="" tvg-logo="" group-title="",Iqraa Int'l (KSA) [EN]
-http://www.elahmad.com/tv/m3u8/dubaitv.m3u8?id=iqraa_america
#EXTINF:-1 tvg-id="JascoEventsTV.sa" tvg-name="Jasco Events TV" tvg-country="SA" tvg-language="Arabic" tvg-logo="" group-title="Travel",Jasco Events TV
http://82.212.74.100:8000/live/hls/8131.m3u8
#EXTINF:-1 tvg-id="KaifTV.sa" tvg-name="Kaif TV" tvg-country="SA" tvg-language="Arabic" tvg-logo="https://i.imgur.com/q2qHUKF.png" group-title="Religious",Kaif TV
@@ -79,24 +71,10 @@ https://hiplayer.hibridcdn.net/t/rotana-lbc.m3u8
http://makkahtv.srfms.com:1935/makkahtv/livestream/chunklist_w1150651953.m3u8
#EXTINF:-1 tvg-id="MakkahTV.sa" tvg-name="Makkah TV" tvg-country="SA" tvg-language="Arabic" tvg-logo="https://i.imgur.com/5p2yUBb.png" group-title="Religious",Makkah TV (480p)
http://makkahtv.srfms.com:1935/makkahtv/livestream/playlist.m3u8
-#EXTINF:-1 tvg-id="MakkahTV.sa" tvg-name="Makkah TV" tvg-country="SA" tvg-language="" tvg-logo="" group-title="",Makkah TV
-https://5ab29cc78f681.streamlock.net/makkahtv/livestream/chunklist_w2097348824.m3u8?v=2957056943
-#EXTINF:-1 tvg-id="MakkahTV.sa" tvg-name="Makkah TV" tvg-country="SA" tvg-language="Arabic" tvg-logo="https://i.imgur.com/5p2yUBb.png" group-title="Religious",Makkah TV (480p)
-https://5ab29cc78f681.streamlock.net/makkahtv/livestream/chunklist_w655950915.m3u8
#EXTINF:-1 tvg-id="MakkahTV.sa" tvg-name="Makkah TV" tvg-country="SA" tvg-language="Arabic" tvg-logo="https://i.imgur.com/5p2yUBb.png" group-title="Religious",Makkah TV (480p)
https://5ab29cc78f681.streamlock.net/makkahtv/livestream/playlist.m3u8
-#EXTINF:-1 tvg-id="Mekkatv.sa" tvg-name="Mekka tv" tvg-country="SA" tvg-language="" tvg-logo="" group-title="",Mekka tv (480p)
-http://makkahtv.srfms.com:1935/makkahtv/livestream/playlist.m3u8?v=
#EXTINF:-1 tvg-id="PanoramaFM.sa" tvg-name="Panorama FM" tvg-country="SA" tvg-language="Arabic" tvg-logo="" group-title="Music",Panorama FM (1080p)
https://shls-panoramafm-prod-dub.shahid.net/out/v1/66262e420d824475aaae794dc2d69f14/index.m3u8
-#EXTINF:-1 tvg-id="QuranTV.sa" tvg-name="Quran TV" tvg-country="SA" tvg-language="" tvg-logo="" group-title="",Quran TV
-http://5b18be6964c2f.streamlock.net:1935/live/_definst_/quran/chunklist_w2066488187.m3u8
-#EXTINF:-1 tvg-id="QuranTV.sa" tvg-name="Quran TV" tvg-country="SA" tvg-language="" tvg-logo="" group-title="",Quran TV
-http://m.live.net.sa:1935/live/quran/chunklist_w232396531.m3u8?v=2957056943
-#EXTINF:-1 tvg-id="QuranTV.sa" tvg-name="Quran TV" tvg-country="SA" tvg-language="" tvg-logo="" group-title="",Quran TV
-http://m.live.net.sa:1935/live/quran/chunklist_w994500087.m3u8
-#EXTINF:-1 tvg-id="QuranTV.sa" tvg-name="Quran TV" tvg-country="SA" tvg-language="" tvg-logo="" group-title="",Quran TV (720p)
-http://m.live.net.sa:1935/live/quran/gmswf.m3u8
#EXTINF:-1 tvg-id="Rotana Cinema ARB" tvg-name="Rotana Cinema ARB" tvg-country="SA" tvg-language="Arabic" tvg-logo="https://rotana.net/assets/themes/TriTheme/images/channels/cinema.png" group-title="Movies",Rotana Cinema HD (1080p) [Geo-blocked]
https://hiplayer.hibridcdn.net/t/rotana-cinema.m3u8
#EXTINF:-1 tvg-id="RotanaCinemaHD.sa" tvg-name="Rotana Cinema HD" tvg-country="SA" tvg-language="Arabic" tvg-logo="https://rotana.net/assets/themes/TriTheme-new/images/channels/cinema-egypt.png" group-title="Movies",Rotana Cinema HD (1080p)
diff --git a/channels/tn.m3u b/channels/tn.m3u
index a6450c08a5..65634bb490 100644
--- a/channels/tn.m3u
+++ b/channels/tn.m3u
@@ -1,11 +1,23 @@
#EXTM3U
+#EXTINF:-1 tvg-id="ElHiwarElTounsi.tn" tvg-name="El Hiwar El Tounsi" tvg-country="TN" tvg-language="Arabic" tvg-logo="" group-title="",El Hiwar El Tounsi (400p)
+#EXTVLCOPT:http-user-agent=TNAgexpl212C
+http://217.182.137.206/elhiwar.m3u8
+#EXTINF:-1 tvg-id="Hannibal.tn" tvg-name="Hannibal" tvg-country="TN" tvg-language="Arabic" tvg-logo="" group-title="",Hannibal (400p)
+#EXTVLCOPT:http-user-agent=TNAgexpl212C
+http://217.182.137.206/hannibal.m3u8
#EXTINF:-1 tvg-id="Nessma.tn" tvg-name="Nessma" tvg-country="TN" tvg-language="Arabic" tvg-logo="https://www.nessma.tv/images/logonessmamenu.png" group-title="",Nessma (720p)
https://linkastream.co/headless?url=https://www.dailymotion.com/video/x7lmd4f
#EXTINF:-1 tvg-id="SahelTV.tn" tvg-name="Sahel TV" tvg-country="TN" tvg-language="Arabic" tvg-logo="https://saheltv.tn/wp-content/uploads/2018/03/saheltv_logox2.png" group-title="General",Sahel TV (720p)
http://142.44.214.231:1935/saheltv/myStream/playlist.m3u8
#EXTINF:-1 tvg-id="TunisieImmobilierTV.tn" tvg-name="Tunisie Immobilier TV" tvg-country="TN" tvg-language="Arabic" tvg-logo="https://i.imgur.com/cZM2t0P.png" group-title="Travel",Tunisie Immobilier TV (720p)
https://5ac31d8a4c9af.streamlock.net/tunimmob/myStream/playlist.m3u8
-#EXTINF:-1 tvg-id="Watania1.tn" tvg-name="Watania 1" tvg-country="TN" tvg-language="Arabic" tvg-logo="" group-title="",Watania 1
+#EXTINF:-1 tvg-id="Watania1.tn" tvg-name="Watania 1" tvg-country="TN" tvg-language="Arabic" tvg-logo="Arabic" group-title="",Watania 1 (400p)
+#EXTVLCOPT:http-user-agent=TNAgexpl212C
+http://217.182.137.206/tunisie1.m3u8
+#EXTINF:-1 tvg-id="Watania1.tn" tvg-name="Watania 1" tvg-country="TN" tvg-language="Arabic" tvg-logo="" group-title="",Watania 1 (1080p)
https://linkastream.co/headless?url=https://www.youtube.com/channel/UCdvWVsmQBROkgcGzVep73oA/live
-#EXTINF:-1 tvg-id="Watania2.tn" tvg-name="Watania 2" tvg-country="TN" tvg-language="Arabic" tvg-logo="" group-title="",Watania 2
+#EXTINF:-1 tvg-id="Watania2.tn" tvg-name="Watania 2" tvg-country="TN" tvg-language="Arabic" tvg-logo="Arabic" group-title="",Watania 2 (400p)
+#EXTVLCOPT:http-user-agent=TNAgexpl212C
+http://217.182.137.206/tunisie2.m3u8
+#EXTINF:-1 tvg-id="Watania2.tn" tvg-name="Watania 2" tvg-country="TN" tvg-language="Arabic" tvg-logo="" group-title="",Watania 2 (480p)
https://linkastream.co/headless?url=https://www.youtube.com/channel/UCJW9gatYczI191TunQxMGbA/live
diff --git a/channels/tz.m3u b/channels/tz.m3u
index 00e86b9598..50f6dea011 100644
--- a/channels/tz.m3u
+++ b/channels/tz.m3u
@@ -1,4 +1,8 @@
#EXTM3U
+#EXTINF:-1 tvg-id="AzamSports1.tz" tvg-name="Azam Sports 1" tvg-country="TZ" tvg-language="" tvg-logo="https://azamtv.co.tz/tan/thumb/c/124/70/channels/channel_image1444752374.jpg" group-title="Sports",Azam Sports 1
+https://1446000130.rsc.cdn77.org/1446000130/index.m3u8
+#EXTINF:-1 tvg-id="AzamSports2.tz" tvg-name="Azam Sports 2" tvg-country="TZ" tvg-language="" tvg-logo="https://azamtv.co.tz/tan/thumb/c/124/70/channels/channel_image1508329528.png" group-title="Sports",Azam Sports 2
+https://1326605225.rsc.cdn77.org/1326605225/index.m3u8
#EXTINF:-1 tvg-id="ChannelTen.tz" tvg-name="Channel Ten" tvg-country="TZ" tvg-language="" tvg-logo="https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcSlgi36jeSD2_aTBenoZYVRo53N_WjRVK9EcA&usqp=CAU" group-title="",Channel Ten
http://hls-pull-switchinternational.speedws.com/live/test1/playlist.m3u8
#EXTINF:-1 tvg-id="IBNTV.tz" tvg-name="IBN TV" tvg-country="TZ" tvg-language="English" tvg-logo="https://i.imgur.com/Wf2BlTG.png" group-title="Religious",IBN TV
diff --git a/channels/uk.m3u b/channels/uk.m3u
index a72a2c41ca..e53a9bd0a1 100644
--- a/channels/uk.m3u
+++ b/channels/uk.m3u
@@ -1,12 +1,14 @@
#EXTM3U
#EXTINF:-1 tvg-id="4Music.uk" tvg-name="4Music" tvg-country="UK" tvg-language="English" tvg-logo="https://d126oek9ze5bb6.cloudfront.net/uploads/2018/07/4Music_primary.png" group-title="Music",4Music (576p) [not 24/7]
http://csm-e.tm.yospace.com/csm/extlive/boxplus01,4music-desktop.m3u8?yo.up=http://boxtv-origin-elb.cds1.yospace.com/uploads/4music/
-#EXTINF:-1 tvg-id="AfrobeatsAFR.uk" tvg-name="Afrobeats (AFR)" tvg-country="UK" tvg-language="English" tvg-logo="https://i.imgur.com/Iaey8k5.jpg" group-title="Music",Afrobeats (AFR)
-https://stream.ecable.tv/afrobeats/tracks-v1a1/index.m3u8
-#EXTINF:-1 tvg-id="Afrobeats247.uk" tvg-name="Afrobeats 247" tvg-country="UK" tvg-language="English" tvg-logo="https://i.imgur.com/HL7fwzt.png" group-title="",Afrobeats 247
-https://stream.ecable.tv/afrobeats/tracks-v1a1/mono.m3u8
-#EXTINF:-1 tvg-id="AhlulbaytTV.uk" tvg-name="Ahlulbayt TV" tvg-country="UK" tvg-language="English" tvg-logo="https://i.imgur.com/qLqHPhK.png" group-title="Religious",Ahlulbayt TV
-http://109.123.126.14:1935/live/livestream1.sdp/chunklist.m3u8
+#EXTINF:-1 tvg-id="AfrobeatsAFR.uk" tvg-name="Afrobeats (AFR)" tvg-country="UK" tvg-language="English" tvg-logo="https://i.imgur.com/Iaey8k5.jpg" group-title="Music",Afrobeats (AFR) (720p)
+https://stream.ecable.tv/afrobeats/index.m3u8
+#EXTINF:-1 tvg-id="AhlulbaytTV.uk" tvg-name="Ahlulbayt TV" tvg-country="UK" tvg-language="English" tvg-logo="https://i.imgur.com/qLqHPhK.png" group-title="Religious",Ahlulbayt TV (404p)
+http://109.123.126.14:1935/live/livestream1.sdp/playlist.m3u8
+#EXTINF:-1 tvg-id="AhlulbaytTV.uk" tvg-name="Ahlulbayt TV" tvg-country="UK" tvg-language="English" tvg-logo="https://i.imgur.com/qLqHPhK.png" group-title="Religious",Ahlulbayt TV (404p)
+https://5f3e23ac71915.streamlock.net:4434/live/livestream1.sdp/playlist.m3u8
+#EXTINF:-1 tvg-id="Ahwazna.uk" tvg-name="Ahwazna" tvg-country="UK" tvg-language="Arabic" tvg-logo="https://www.ahwazna.net/uploads/2018/04/AhwaznaLogo.png" group-title="",Ahwazna
+https://linkastream.co/headless?url=https://www.twitch.tv/ahwaznach
#EXTINF:-1 tvg-id="AkaalChannel.uk" tvg-name="Akaal Channel" tvg-country="UK" tvg-language="Punjabi;English" tvg-logo="https://i.imgur.com/62IpVDn.png" group-title="Religious",Akaal Channel (396p)
https://cdnamd-hls-globecast.akamaized.net/live/ramdisk/akaal_tv/hls1_smart_akaal/akaal_tv.m3u8
#EXTINF:-1 tvg-id="AkaalTV.uk" tvg-name="Akaal TV" tvg-country="UK" tvg-language="" tvg-logo="" group-title="",Akaal TV (480p)
@@ -185,6 +187,16 @@ https://vs-hls-pushb-uk-live.akamaized.net/x=3/i=urn:bbc:pips:service:bbc_two_no
https://vs-hls-pushb-uk-live.akamaized.net/x=3/i=urn:bbc:pips:service:bbc_two_northern_ireland_hd/t=3840/v=pv14/b=5070016/main.m3u8
#EXTINF:-1 tvg-id="BBCTwoWales.uk" tvg-name="BBC Two Wales" tvg-country="UK" tvg-language="English" tvg-logo="" group-title="",BBC Two Wales (540p) [Geo-Blocked]
https://vs-hls-push-uk-live.akamaized.net/x=3/i=urn:bbc:pips:service:bbc_two_wales_digital/mobile_wifi_main_sd_abr_v2_akamai_hls_live_http.m3u8
+#EXTINF:-1 tvg-id="BBCUHDTrial1.uk" tvg-name="BBC UHD Trial 1" tvg-country="UK" tvg-language="English" tvg-logo="" group-title="",BBC UHD Trial 1 (2160p) [Geo-Blocked] [Not 24/7]
+https://a.files.bbci.co.uk/media/live/manifesto/audio_video/webcast/dash/uk/full/ak/uhd_stream_01.mpd
+#EXTINF:-1 tvg-id="BBCUHDTrial2.uk" tvg-name="BBC UHD Trial 2" tvg-country="UK" tvg-language="English" tvg-logo="" group-title="",BBC UHD Trial 2 (2160p) [Geo-Blocked] [Not 24/7]
+https://a.files.bbci.co.uk/media/live/manifesto/audio_video/webcast/dash/uk/full/ak/uhd_stream_02.mpd
+#EXTINF:-1 tvg-id="BBCUHDTrial3.uk" tvg-name="BBC UHD Trial 3" tvg-country="UK" tvg-language="English" tvg-logo="" group-title="",BBC UHD Trial 3 (2160p) [Geo-Blocked] [Not 24/7]
+https://a.files.bbci.co.uk/media/live/manifesto/audio_video/webcast/dash/uk/full/ak/uhd_stream_03.mpd
+#EXTINF:-1 tvg-id="BBCUHDTrial4.uk" tvg-name="BBC UHD Trial 4" tvg-country="UK" tvg-language="English" tvg-logo="" group-title="",BBC UHD Trial 4 (2160p) [Geo-Blocked] [Not 24/7]
+https://a.files.bbci.co.uk/media/live/manifesto/audio_video/webcast/dash/uk/full/ak/uhd_stream_04.mpd
+#EXTINF:-1 tvg-id="BBCUHDTrial5.uk" tvg-name="BBC UHD Trial 5" tvg-country="UK" tvg-language="English" tvg-logo="" group-title="",BBC UHD Trial 5 (2160p) [Geo-Blocked] [Not 24/7]
+https://a.files.bbci.co.uk/media/live/manifesto/audio_video/webcast/dash/uk/full/ak/uhd_stream_05.mpd
#EXTINF:-1 tvg-id="BBCWorldNews.uk" tvg-name="BBC World News" tvg-country="INT" tvg-language="English" tvg-logo="https://i.imgur.com/Nx0BRdV.png" group-title="News",BBC World News (576p)
http://103.199.161.254/Content/bbcworld/Live/Channel(BBCworld)/index.m3u8
#EXTINF:-1 tvg-id="BBCWorldNews.uk" tvg-name="BBC World News" tvg-country="UK" tvg-language="" tvg-logo="https://i.imgur.com/Nx0BRdV.png" group-title="News",BBC World News (480p)
@@ -300,7 +312,7 @@ https://brandusa-gousa-1-in.samsung.wurl.com/manifest/playlist.m3u8
#EXTINF:-1 tvg-id="GodTVUK.uk" tvg-name="God TV UK" tvg-country="UK" tvg-language="English" tvg-logo="" group-title="Religious",God TV UK (720p)
https://zypelive-lh.akamaihd.net/i/default_1@745545/master.m3u8
#EXTINF:-1 tvg-id="HalaLondon.uk" tvg-name="Hala London" tvg-country="UK" tvg-language="Arabic" tvg-logo="https://i.imgur.com/BVJWUpc.png" group-title="",Hala London (1080p)
-https://halaldn.cdn.mangomolo.com/halavd/smil:halavd.stream.smil/chunklist.m3u8
+https://halaldn.cdn.mangomolo.com/halavd/smil:halavd.stream.smil/playlist.m3u8
#EXTINF:-1 tvg-id="HealthMedia.uk" tvg-name="Health Media" tvg-country="IR" tvg-language="Persian" tvg-logo="" group-title="",Health Media (720p)
https://j78dpkrjlq5r-hls-live.5centscdn.com/HMN/271ddf829afeece44d8732757fba1a66.sdp/playlist.m3u8
#EXTINF:-1 tvg-id="HorseandCountry.uk" tvg-name="Horse and Country" tvg-country="UK" tvg-language="English" tvg-logo="https://i.imgur.com/FNFFhEq.png" group-title="",Horse and Country (720p)
@@ -337,7 +349,7 @@ http://188.40.68.167/russia/jimjam/playlist.m3u8
http://51.210.199.37/hls/stream.m3u8
#EXTINF:-1 tvg-id="KanshiTV.uk" tvg-name="Kanshi TV" tvg-country="UK" tvg-language="Hindi" tvg-logo="https://i.imgur.com/jxf9gQd.jpg" group-title="",Kanshi TV
https://live.kanshitv.co.uk/mobile/kanshitvkey.m3u8
-#EXTINF:-1 tvg-id="Kerrang.uk" tvg-name="Kerrang" tvg-country="UK" tvg-language="English" tvg-logo="https://i.imgur.com/Nn2VfkP.png" group-title="",Kerrang (576p)
+#EXTINF:-1 tvg-id="Kerrang.uk" tvg-name="Kerrang" tvg-country="UK" tvg-language="English" tvg-logo="https://i.imgur.com/Nn2VfkP.png" group-title="",Kerrang (576p) [Geo-blocked]
https://csm-e-boxplus.tls1.yospace.com/csm/extlive/boxplus01,kerrang-alldev.m3u8?yo.up=http://boxtv-origin-elb.cds1.yospace.com/uploads/kerrang/
#EXTINF:-1 tvg-id="Kerrang.uk" tvg-name="Kerrang" tvg-country="UK" tvg-language="English" tvg-logo="https://i.imgur.com/Nn2VfkP.png" group-title="",Kerrang (576p) [Geo-blocked]
https://csm-e-boxplus.tls1.yospace.com/csm/extlive/boxplus01,kerrang-alldev.m3u8?yo.up=https://boxtv.secure.footprint.net/kerrang/
diff --git a/channels/us.m3u b/channels/us.m3u
index 84fda729c1..01b33c9a3c 100644
--- a/channels/us.m3u
+++ b/channels/us.m3u
@@ -1,7 +1,7 @@
#EXTM3U
#EXTINF:-1 tvg-id="KBMT.us" tvg-name="12 News Beaumont TX (KBMT)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/boVFg14.jpg" group-title="Local",12 News Beaumont TX (KBMT) (1080p)
https://livevideo01.12newsnow.com/hls/live/2017379/newscasts/live.m3u8
-#EXTINF:-1 tvg-id="KEROTV.us" tvg-name="23 ABC (KERO)" tvg-country="US" tvg-language="English" tvg-logo="https://scripps.com/wp-content/uploads/2019/01/local_media_23_abc.png" group-title="Local",23 ABC (KERO) (720p)
+#EXTINF:-1 tvg-id="KEROTV.us" tvg-name="23 ABC Bakersfield CA (KERO)" tvg-country="US" tvg-language="English" tvg-logo="https://scripps.com/wp-content/uploads/2019/01/local_media_23_abc.png" group-title="Local",23 ABC Bakersfield CA (KERO) (720p)
https://content.uplynk.com/channel/ff809e6d9ec34109abfb333f0d4444b5.m3u8
#EXTINF:-1 tvg-id="24HourFreeMovies.us" tvg-name="24 Hour Free Movies" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/FiTdDp1.png" group-title="Movies",24 Hour Free Movies (720p)
https://d15690s323oesy.cloudfront.net/v1/master/9d062541f2ff39b5c0f48b743c6411d25f62fc25/UDU-Plex/158.m3u8
@@ -43,7 +43,7 @@ https://moiptvhls-i.akamaihd.net/hls/live/554145/secure/playlist.m3u8
https://moiptvhls-i.akamaihd.net/hls/live/652317/secure/master.m3u8
#EXTINF:-1 tvg-id="3ABNRussia.us" tvg-name="3ABN Russia" tvg-country="US" tvg-language="Russian" tvg-logo="https://i.imgur.com/8fKWpo3.png" group-title="Religious",3ABN Russia (720p)
https://moiptvhls-i.akamaihd.net/hls/live/652316/secure/master.m3u8
-#EXTINF:-1 tvg-id="WHDH.us" tvg-name="7News Boston (WHDH)" tvg-country="US" tvg-language="English" tvg-logo="https://upload.wikimedia.org/wikipedia/en/b/b5/WHDH_7_logo.png" group-title="Local",7News Boston (WHDH) (540p)
+#EXTINF:-1 tvg-id="WHDH.us" tvg-name="7News Boston MA (WHDH)" tvg-country="US" tvg-language="English" tvg-logo="https://upload.wikimedia.org/wikipedia/en/b/b5/WHDH_7_logo.png" group-title="Local",7News Boston MA (WHDH) (540p)
https://bcsecurelivehls-i.akamaihd.net/hls/live/598046/4744899807001_1/livestream/master.m3u8
#EXTINF:-1 tvg-id="AEBestof.us" tvg-name="A&E (Best of)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/zl7Gzwm.png" group-title="Entertainment",A&E (Best of) (1080p)
https://bk7l2w4nlx53-hls-live.5centscdn.com/AETV/514c04b31b5f01cf00dd4965e197fdda.sdp/playlist.m3u8
@@ -58,12 +58,16 @@ https://livevideo01.abc10.com/hls/live/2014547/newscasts/live.m3u8
https://livevideo01.whas11.com/hls/live/2016284/newscasts/live.m3u8
#EXTINF:-1 tvg-id="WZZM.us" tvg-name="ABC 13 Grand Rapids MI (WZZM)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/eapvJpP.jpg" group-title="Local",ABC 13 Grand Rapids MI (WZZM) (1080p)
https://livevideo01.wzzm13.com/hls/live/2016280/newscasts/live.m3u8
+#EXTINF:-1 tvg-id="KTNV.us" tvg-name="ABC 13 Las Vegas NV (KTNV)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/QbkW7zY.png" group-title="Local",ABC 13 Las Vegas NV (KTNV) (720p)
+https://content.uplynk.com/channel/39919d3f7a074eefa8bf579214e952f9.m3u8
#EXTINF:-1 tvg-id="WVEC.us" tvg-name="ABC 13 Norfolk VA (WVEC)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/P5PtUcR.jpg" group-title="Local",ABC 13 Norfolk VA (WVEC) (1080p)
https://livevideo01.13newsnow.com/hls/live/2014545/newscasts/live.m3u8
-#EXTINF:-1 tvg-id="KNXVTV.us" tvg-name="ABC 15 Phoenix (KNXV-TV)" tvg-country="US" tvg-language="English" tvg-logo="https://upload.wikimedia.org/wikipedia/en/9/99/KNXV_Logo.png" group-title="Local",ABC 15 Phoenix (KNXV-TV) (720p)
+#EXTINF:-1 tvg-id="KNXVTV.us" tvg-name="ABC 15 Phoenix AZ (KNXV-TV)" tvg-country="US" tvg-language="English" tvg-logo="https://upload.wikimedia.org/wikipedia/en/9/99/KNXV_Logo.png" group-title="Local",ABC 15 Phoenix AZ (KNXV-TV) (720p)
https://content.uplynk.com/channel/9deaf22aaa33461f9cac22e030ed00ec.m3u8
#EXTINF:-1 tvg-id="WNEP.us" tvg-name="ABC 16 Wilkes Barre PA (WNEP)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/1s3Euh5.jpg" group-title="Local",ABC 16 Wilkes Barre PA (WNEP) (1080p)
https://livevideo01.wnep.com/hls/live/2011655/newscasts/live.m3u8
+#EXTINF:-1 tvg-id="WSBTV.us" tvg-name="ABC 2 Atlanta GA (WSB-TV)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/HkY10xX.jpg" group-title="Local",ABC 2 Atlanta GA (WSB-TV) (720p)
+https://d2rwx6gwduugne.cloudfront.net/v1/master/77872db67918a151b697b5fbc23151e5765767dc/cmg_PROD_cmg-tv-10010_183ec1c7-4183-4661-803b-3ed282ffb625_LE/in/cmg-wsbtvnow-hls-v3/live.m3u8
#EXTINF:-1 tvg-id="WBRZ.us" tvg-name="ABC 2 Baton Rouge LA (WBRZ)" tvg-country="US" tvg-language="English" tvg-logo="https://upload.wikimedia.org/wikipedia/en/8/86/WBRZ_Logo_2013.png" group-title="Local",ABC 2 Baton Rouge LA (WBRZ)
http://cms-wowza.lunabyte.io/wbrz-live-1/_definst_/smil:wbrz-live.smil/chunklist_b1300000.m3u8
#EXTINF:-1 tvg-id="WBRZ.us" tvg-name="ABC 2 Baton Rouge LA (WBRZ)" tvg-country="US" tvg-language="English" tvg-logo="https://upload.wikimedia.org/wikipedia/en/8/86/WBRZ_Logo_2013.png" group-title="Local",ABC 2 Baton Rouge LA (WBRZ) (720p)
@@ -76,35 +80,35 @@ https://livevideo01.localmemphis.com/hls/live/2011654/newscasts/live.m3u8
https://livevideo01.kiiitv.com/hls/live/2017378/newscasts/live.m3u8
#EXTINF:-1 tvg-id="KTVKDT5.us" tvg-name="ABC 3.5 Arizona Weather Authority (KTVK-DT5)" tvg-country="US" tvg-language="English" tvg-logo="https://meredith-img.s3.amazonaws.com/listings/KTVK-DT5.png" group-title="Weather",ABC 3.5 Arizona Weather Authority (KTVK-DT5) (480i)
https://v-px.mybtv.net/event/725/768x432.m3u8?start_time=2021-05-16T23%3A45%3A00%2B00%3A00&end_time=2023-05-17T05%3A00%3A00%2B00%3A00&env=prd&uid=33630
-#EXTINF:-1 tvg-id="KOMOTV.us" tvg-name="ABC 4 KOMO News (KOMO-TV)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/8vXRrRe.jpg" group-title="Local",ABC 4 KOMO News (KOMO-TV) (720p)
+#EXTINF:-1 tvg-id="KOMOTV.us" tvg-name="ABC 4 Seattle WA (KOMO-TV)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/8vXRrRe.jpg" group-title="Local",ABC 4 Seattle WA (KOMO-TV) (720p)
https://content.uplynk.com/2c88dfe19e1447e6a6aa27e8e143a140.m3u8
-#EXTINF:-1 tvg-id="WEWSTV.us" tvg-name="ABC 5 Cleveland News (WEWS-TV)" tvg-country="US" tvg-language="English" tvg-logo="https://f9q4g5j6.ssl.hwcdn.net/606e0f9a9739652ec518e8c1" group-title="Local",ABC 5 Cleveland News (WEWS-TV) (720p)
+#EXTINF:-1 tvg-id="WEWSTV.us" tvg-name="ABC 5 Cleveland OH (WEWS-TV)" tvg-country="US" tvg-language="English" tvg-logo="https://f9q4g5j6.ssl.hwcdn.net/606e0f9a9739652ec518e8c1" group-title="Local",ABC 5 Cleveland OH (WEWS-TV) (720p)
https://live-news-manifest.tubi.video/live-news-manifest/csm/extlive/tubiprd01,Cloudfront-WEWS.m3u8
-#EXTINF:-1 tvg-id="WEWSTV.us" tvg-name="ABC 5 Cleveland News (WEWS-TV)" tvg-country="US" tvg-language="English" tvg-logo="https://f9q4g5j6.ssl.hwcdn.net/606e0f9a9739652ec518e8c1" group-title="Local",ABC 5 Cleveland News (WEWS-TV) (1080p)
+#EXTINF:-1 tvg-id="WEWSTV.us" tvg-name="ABC 5 Cleveland OH (WEWS-TV)" tvg-country="US" tvg-language="English" tvg-logo="https://f9q4g5j6.ssl.hwcdn.net/606e0f9a9739652ec518e8c1" group-title="Local",ABC 5 Cleveland OH (WEWS-TV) (1080p)
https://wews-syndication.ewscloud.com/out/v1/72729e3f4dbe4aafbab93d6b1117e5f1/index.m3u8
#EXTINF:-1 tvg-id="WOI.us" tvg-name="ABC 5 Des Moines IA (WOI)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/1jA3nKg.jpg" group-title="Local",ABC 5 Des Moines IA (WOI) (1080p)
https://livevideo01.weareiowa.com/hls/live/2011593/newscasts/live.m3u8
-#EXTINF:-1 tvg-id="KMGHTV.us" tvg-name="ABC 7 Denver (KMGH)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/JExsI09.png" group-title="Local",ABC 7 Denver (KMGH) (720p)
+#EXTINF:-1 tvg-id="KMGHTV.us" tvg-name="ABC 7 Denver CO (KMGH)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/JExsI09.png" group-title="Local",ABC 7 Denver CO (KMGH) (720p)
https://content.uplynk.com/channel/64ca339f04964a5e961c3207a7771bf1.m3u8
-#EXTINF:-1 tvg-id="WXYZTV.us" tvg-name="ABC 7 Detroit (WXYZ-TV)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/8sQ5mfL.png" group-title="Local",ABC 7 Detroit (WXYZ-TV) (720p)
+#EXTINF:-1 tvg-id="WXYZTV.us" tvg-name="ABC 7 Detroit MI (WXYZ-TV)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/8sQ5mfL.png" group-title="Local",ABC 7 Detroit MI (WXYZ-TV) (720p)
https://content-auso2.uplynk.com/channel/9c9e4e410b5a471391c116166d8c010e.m3u8
-#EXTINF:-1 tvg-id="WXYZTV.us" tvg-name="ABC 7 Detroit (WXYZ-TV)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/8sQ5mfL.png" group-title="Local",ABC 7 Detroit (WXYZ-TV) (720p)
+#EXTINF:-1 tvg-id="WXYZTV.us" tvg-name="ABC 7 Detroit MI (WXYZ-TV)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/8sQ5mfL.png" group-title="Local",ABC 7 Detroit MI (WXYZ-TV) (720p)
https://content-auso2.uplynk.com/channel/9c9e4e410b5a471391c116166d8c010e.m3u8?ad=live
-#EXTINF:-1 tvg-id="WXYZTV.us" tvg-name="ABC 7 Detroit (WXYZ-TV)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/8sQ5mfL.png" group-title="Local",ABC 7 Detroit (WXYZ-TV) (720p)
+#EXTINF:-1 tvg-id="WXYZTV.us" tvg-name="ABC 7 Detroit MI (WXYZ-TV)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/8sQ5mfL.png" group-title="Local",ABC 7 Detroit MI (WXYZ-TV) (720p)
https://live-news-manifest.tubi.video/live-news-manifest/csm/extlive/tubiprd01,Cloudfront-WXYZ.m3u8
#EXTINF:-1 tvg-id="WABC.us" tvg-name="ABC 7 New York NY (WABC-TV)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/99K3yyn.png" group-title="Local",ABC 7 New York NY (WABC-TV) (720p)
https://streams.the6tv.duckdns.org:2443/locals/NewYorkCity/wabc-dt1.m3u8
-#EXTINF:-1 tvg-id="KGOTV.us" tvg-name="ABC 7 News San Francisco (KGO-TV)" tvg-country="US" tvg-language="English" tvg-logo="https://upload.wikimedia.org/wikipedia/commons/6/64/KGOTVABC7.png" group-title="Local",ABC 7 News San Francisco (KGO-TV) (720p)
+#EXTINF:-1 tvg-id="KGOTV.us" tvg-name="ABC 7 News San Francisco CA (KGO-TV)" tvg-country="US" tvg-language="English" tvg-logo="https://upload.wikimedia.org/wikipedia/commons/6/64/KGOTVABC7.png" group-title="Local",ABC 7 News San Francisco CA (KGO-TV) (720p)
https://streams.the6tv.duckdns.org:2443/locals/BayArea/kgo-dt1.m3u8
#EXTINF:-1 tvg-id="WWSB.us" tvg-name="ABC 7 Sarasota FL (WWSB)" tvg-country="US" tvg-language="English" tvg-logo="https://cloudfront-us-east-1.images.arcpublishing.com/raycom/HJ3SAXRMNFAHXOFIRVYCQBIOGM.jpg" group-title="Local",ABC 7 Sarasota FL (WWSB) (720p)
https://d2nt5wxzqbe1ad.cloudfront.net/out/raycom-wwsb1-hls/live.m3u8
-#EXTINF:-1 tvg-id="WJLA.us" tvg-name="ABC 7 Washington D.C. (WJLA)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/LttuGfq.png" group-title="Local",ABC 7 Washington D.C. (WJLA) (720p)
+#EXTINF:-1 tvg-id="WJLA.us" tvg-name="ABC 7 Washington DC (WJLA)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/LttuGfq.png" group-title="Local",ABC 7 Washington DC (WJLA) (720p)
https://content.uplynk.com/40cec2bf074c40f08932da03ab4510be.m3u8
#EXTINF:-1 tvg-id="WFAA.us" tvg-name="ABC 8 Dallas TX (WFAA)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/0a0FVSv.jpg" group-title="Local",ABC 8 Dallas TX (WFAA) (1080p)
https://livevideo01.wfaa.com/hls/live/2014541/newscasts/live.m3u8
#EXTINF:-1 tvg-id="WQAD.us" tvg-name="ABC 8 Davenport IA (WQAD)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/CZZBTGv.jpg" group-title="Local",ABC 8 Davenport IA (WQAD) (1080p)
https://livevideo01.wqad.com/hls/live/2011657/newscasts/live.m3u8
-#EXTINF:-1 tvg-id="WMURTV.us" tvg-name="ABC 9 New Hampshire (WMUR-TV)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/6oNx5F0.png" group-title="Local",ABC 9 New Hampshire (WMUR-TV) (720p)
+#EXTINF:-1 tvg-id="WMURTV.us" tvg-name="ABC 9 Manchester NH (WMUR-TV)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/6oNx5F0.png" group-title="Local",ABC 9 Manchester NH (WMUR-TV) (720p)
https://csm-e-eb.csm.tubi.video/csm/extlive/tubiprd01,Cloudfront-WMUR.m3u8
#EXTINF:-1 tvg-id="WFTV.us" tvg-name="ABC 9 Orlando FL (WFTV)" tvg-country="US" tvg-language="English" tvg-logo="https://mediaweb.wftv.com/theme/images/placeholder-square.jpg" group-title="Local",ABC 9 Orlando FL (WFTV) (540p)
https://d3qm7vzp07vxse.cloudfront.net/v1/master/77872db67918a151b697b5fbc23151e5765767dc/cmg_PROD_cmg-tv-10070_fe1f5f6c-cd0b-4993-a4a4-6db66be4f313_LE/in/cmg-wftvtv-hls-v3/live.m3u8
@@ -417,10 +421,10 @@ http://stream.iphonewebtown.com:1935/bibleexplorations/bexplorationsmobile.strea
https://biglife.sinclair.wurl.com/manifest/playlist.m3u8
#EXTINF:-1 tvg-id="BizTV.us" tvg-name="Biz TV" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/4pEmcFH.png" group-title="Lifestyle",Biz TV (576p)
http://gideommd.mmdlive.lldns.net/gideommd/46c072b287224782a4d4ce93c3646589/manifest.m3u8
-#EXTINF:-1 tvg-id="BizTV.us" tvg-name="Biz TV" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/4pEmcFH.png" group-title="Lifestyle",Biz TV (480p)
-https://thegateway.app/BizAndYou/Biz_480p/playlist.m3u8
#EXTINF:-1 tvg-id="BizTV.us" tvg-name="Biz TV" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/4pEmcFH.png" group-title="Lifestyle",Biz TV (1080p)
https://thegateway.app/BizAndYou/Biz_1080p/playlist.m3u8
+#EXTINF:-1 tvg-id="BizTV.us" tvg-name="Biz TV" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/4pEmcFH.png" group-title="Lifestyle",Biz TV (480p)
+https://thegateway.app/BizAndYou/Biz_480p/playlist.m3u8
#EXTINF:-1 tvg-id="BizTV.us" tvg-name="Biz TV" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/4pEmcFH.png" group-title="Lifestyle",Biz TV (720p)
https://thegateway.app/BizAndYou/Biz_720p/playlist.m3u8
#EXTINF:-1 tvg-id="BlackJesus.us" tvg-name="Black Jesus (Adult Swim 24/7 Stream)" tvg-country="US" tvg-language="English" tvg-logo="https://upload.wikimedia.org/wikipedia/commons/2/2b/Black_Jesus_title_card.png" group-title="Series",Black Jesus (Adult Swim 24/7 Stream) (1080p) [Geo-blocked]
@@ -609,10 +613,10 @@ https://brat-roku-us.amagi.tv/playlist.m3u8
https://brat-samsung-us.amagi.tv/playlist.m3u8
#EXTINF:-1 tvg-id="BratTV.us" tvg-name="Brat TV" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/lhjj94a.png" group-title="Kids",Brat TV (1080p)
https://brat-vizio.amagi.tv/playlist.m3u8
-#EXTINF:-1 tvg-id="bspoketv.us" tvg-name="bspoketv" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/jsiHrMV.png" group-title="Lifestyle",bspoketv (720p)
-https://bspoketv.s.llnwi.net/streams/322/master.m3u8
#EXTINF:-1 tvg-id="bspoketv.us" tvg-name="bspoketv" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/jsiHrMV.png" group-title="Lifestyle",bspoketv
https://bspoketv.nexustreamer.com/distrotv-usa/master.m3u8
+#EXTINF:-1 tvg-id="bspoketv.us" tvg-name="bspoketv" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/jsiHrMV.png" group-title="Lifestyle",bspoketv (720p)
+https://bspoketv.s.llnwi.net/streams/322/master.m3u8
#EXTINF:-1 tvg-id="BuffaloTV.us" tvg-name="Buffalo TV" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/PD5MCbE.jpg" group-title="Local",Buffalo TV (360p)
https://na-all15.secdn.net/pegstream3-live/play/c3e1e4c4-7f11-4a54-8b8f-c590a95b4ade/playlist.m3u8
#EXTINF:-1 tvg-id="BusinessRockstars.us" tvg-name="Business Rockstars" tvg-country="US" tvg-language="English" tvg-logo="https://github.com/geonsey/Free2ViewTV/blob/master/images/logos/BusinessRockstars_1400x1400.png?raw=true" group-title="Business",Business Rockstars (720p)
@@ -707,15 +711,15 @@ https://bcliveunivsecure-lh.akamaihd.net/i/news_1@500579/master.m3u8
https://livevideo01.10tv.com/hls/live/2013836/newscasts/live.m3u8
#EXTINF:-1 tvg-id="WTSP.us" tvg-name="CBS 10 Tampa FL (WTSP)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/Plp4dZh.jpg" group-title="Local",CBS 10 Tampa FL (WTSP) (1080p)
https://livevideo01.wtsp.com/hls/live/2015503/newscasts/live.m3u8
-#EXTINF:-1 tvg-id="KTVT.us" tvg-name="CBS 11 Dallas (KTVT)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/Oy5hH08.png" group-title="Local",CBS 11 Dallas (KTVT) (720p)
+#EXTINF:-1 tvg-id="KTVT.us" tvg-name="CBS 11 Dallas TX (KTVT)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/Oy5hH08.png" group-title="Local",CBS 11 Dallas TX (KTVT) (720p)
https://cbsn-dal-cedexis.cbsnstream.cbsnews.com/out/v1/ffa98bbf7d2b4c038c229bd4d9122708/master.m3u8
-#EXTINF:-1 tvg-id="KTVT.us" tvg-name="CBS 11 Dallas (KTVT)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/Oy5hH08.png" group-title="Local",CBS 11 Dallas (KTVT) (180p)
+#EXTINF:-1 tvg-id="KTVT.us" tvg-name="CBS 11 Dallas TX (KTVT)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/Oy5hH08.png" group-title="Local",CBS 11 Dallas TX (KTVT) (180p)
https://cbsn-dal-cedexis.cbsnstream.cbsnews.com/out/v1/ffa98bbf7d2b4c038c229bd4d9122708/master_6.m3u8
#EXTINF:-1 tvg-id="KHOU.us" tvg-name="CBS 11 Houston TX (KHOU)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/aTU1n4l.jpg" group-title="Local",CBS 11 Houston TX (KHOU) (1080p)
https://livevideo01.khou.com/hls/live/2014966/newscasts/live.m3u8
#EXTINF:-1 tvg-id="WTOL.us" tvg-name="CBS 11 Toledo OH (WTOL)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/NCpIwNs.jpg" group-title="Local",CBS 11 Toledo OH (WTOL) (1080p)
https://livevideo01.wtol.com/hls/live/2017153/newscasts/live.m3u8
-#EXTINF:-1 tvg-id="WPEC.us" tvg-name="CBS 12 West Palm Beach (WPEC)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/SG7iSaA.png" group-title="Local",CBS 12 West Palm Beach (WPEC) (720p)
+#EXTINF:-1 tvg-id="WPEC.us" tvg-name="CBS 12 West Palm Beach FL (WPEC)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/SG7iSaA.png" group-title="Local",CBS 12 West Palm Beach FL (WPEC) (720p)
https://content.uplynk.com/channel/0123b306191a4307a31b9fb573213fd3.m3u8
#EXTINF:-1 tvg-id="WMAZTV.us" tvg-name="CBS 13 Macon GA (WMAZ-TV)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/FAqyK7J.jpg" group-title="Local",CBS 13 Macon GA (WMAZ-TV) (1080p)
https://livevideo01.13wmaz.com/hls/live/2017376/newscasts/live.m3u8
@@ -727,29 +731,31 @@ https://livevideo01.cbs19.tv/hls/live/2017377/newscasts/live.m3u8
https://livevideo01.wfmynews2.com/hls/live/2016285/newscasts/live.m3u8
#EXTINF:-1 tvg-id="KREM.us" tvg-name="CBS 2 Spokane WA (KREM)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/UANdGqv.jpg" group-title="Local",CBS 2 Spokane WA (KREM) (1080p)
https://livevideo01.krem.com/hls/live/2017156/newscasts/live.m3u8
-#EXTINF:-1 tvg-id="KMTVTV.us" tvg-name="CBS 3 Omaha (KMTV-TV)" tvg-country="US" tvg-language="English" tvg-logo="https://upload.wikimedia.org/wikipedia/en/e/ea/KMTV3.png" group-title="Local",CBS 3 Omaha (KMTV-TV) (720p)
+#EXTINF:-1 tvg-id="KMTVTV.us" tvg-name="CBS 3 Omaha NE (KMTV-TV)" tvg-country="US" tvg-language="English" tvg-logo="https://upload.wikimedia.org/wikipedia/en/e/ea/KMTV3.png" group-title="Local",CBS 3 Omaha NE (KMTV-TV) (720p)
https://content.uplynk.com/4a09fbea28ef4f32bce095e9eae04bd8.m3u8
-#EXTINF:-1 tvg-id="KMTVTV.us" tvg-name="CBS 3 Omaha (KMTV-TV)" tvg-country="US" tvg-language="English" tvg-logo="https://upload.wikimedia.org/wikipedia/en/e/ea/KMTV3.png" group-title="Local",CBS 3 Omaha (KMTV-TV) (720p)
+#EXTINF:-1 tvg-id="KMTVTV.us" tvg-name="CBS 3 Omaha NE (KMTV-TV)" tvg-country="US" tvg-language="English" tvg-logo="https://upload.wikimedia.org/wikipedia/en/e/ea/KMTV3.png" group-title="Local",CBS 3 Omaha NE (KMTV-TV) (720p)
https://content.uplynk.com/channel/328d1434fb51476cb6567c74d5b2cc70.m3u8
-#EXTINF:-1 tvg-id="KMTVTV.us" tvg-name="CBS 3 Omaha (KMTV-TV)" tvg-country="US" tvg-language="English" tvg-logo="https://upload.wikimedia.org/wikipedia/en/e/ea/KMTV3.png" group-title="Local",CBS 3 Omaha (KMTV-TV) (1080p)
+#EXTINF:-1 tvg-id="KMTVTV.us" tvg-name="CBS 3 Omaha NE (KMTV-TV)" tvg-country="US" tvg-language="English" tvg-logo="https://upload.wikimedia.org/wikipedia/en/e/ea/KMTV3.png" group-title="Local",CBS 3 Omaha NE (KMTV-TV) (1080p)
https://kmtvnow-samsung.plex.wurl.com/manifest/playlist.m3u8
#EXTINF:-1 tvg-id="WWLTV.us" tvg-name="CBS 4 New Orleans LA (WWL-TV)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/BvlV1dl.jpg" group-title="Local",CBS 4 New Orleans LA (WWL-TV) (1080p)
https://livevideo01.wwltv.com/hls/live/2016516/newscasts/live.m3u8
-#EXTINF:-1 tvg-id="WGCLTV.us" tvg-name="CBS 46 Atlanta (WGCL-TV)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/XuzRQjy.png" group-title="Local",CBS 46 Atlanta (WGCL-TV) (720p)
+#EXTINF:-1 tvg-id="WGCLTV.us" tvg-name="CBS 46 Atlanta GA (WGCL-TV)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/XuzRQjy.png" group-title="Local",CBS 46 Atlanta GA (WGCL-TV) (720p)
https://live.field59.com/wgcl/ngrp:wgcl1_all/playlist.m3u8
-#EXTINF:-1 tvg-id="WJAXTV.us" tvg-name="CBS 47 Action News - Jacksonville (WJAX-TV)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/LW3Dfbt.png" group-title="Local",CBS 47 Action News - Jacksonville (WJAX-TV) (720p)
+#EXTINF:-1 tvg-id="WJAXTV.us" tvg-name="CBS 47 Action News - Jacksonville FL (WJAX-TV)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/LW3Dfbt.png" group-title="Local",CBS 47 Action News - Jacksonville FL (WJAX-TV) (720p)
https://d2eit0bra9qkiw.cloudfront.net/v1/master/77872db67918a151b697b5fbc23151e5765767dc/cmg_PROD_cmg-tv-10050_b9ac3c93-be86-4f7e-82b8-796b7f8bfda3_LE/in/cmg-wjaxtv-hls-v3/live.m3u8
#EXTINF:-1 tvg-id="KFSMTV.us" tvg-name="CBS 5 Ft. Smith AR (KFSM-TV)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/i0KCLny.jpg" group-title="Local",CBS 5 Ft. Smith AR (KFSM-TV) (1080p)
https://livevideo01.5newsonline.com/hls/live/2011653/newscasts/live.m3u8
#EXTINF:-1 tvg-id="KENS.us" tvg-name="CBS 5 San Antonio TX (KENS)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/zV8X5Fi.jpg" group-title="Local",CBS 5 San Antonio TX (KENS) (1080p)
https://livevideo01.kens5.com/hls/live/2016281/newscasts/live.m3u8
-#EXTINF:-1 tvg-id="WRGB.us" tvg-name="CBS 6 WRGB (Albany)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/ByPFQGp.png" group-title="Local",CBS 6 WRGB (Albany) (720p)
+#EXTINF:-1 tvg-id="WRGB.us" tvg-name="CBS 6 Albany NY (WRGB)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/ByPFQGp.png" group-title="Local",CBS 6 Albany NY (WRGB) (720p)
https://content.uplynk.com/channel/bba3e7da884a49bba96341ecf5128f0f.m3u8
-#EXTINF:-1 tvg-id="WHIO.us" tvg-name="CBS 7 Dayton (WHIO)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/n38ZKuE.png" group-title="Local",CBS 7 Dayton (WHIO)
+#EXTINF:-1 tvg-id="WHIO.us" tvg-name="CBS 7 Dayton OH (WHIO)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/n38ZKuE.png" group-title="Local",CBS 7 Dayton OH (WHIO)
https://svc-lvanvato-cxtv-whio.cmgvideo.com/whio/2596k/index.m3u8
-#EXTINF:-1 tvg-id="KFMBTV.us" tvg-name="CBS 8 San Diego (KFMB-TV)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/QJyt4n4.jpg" group-title="Local",CBS 8 San Diego (KFMB-TV) (1080p)
+#EXTINF:-1 tvg-id="KIROTV.us" tvg-name="CBS 7 Seattle WA (KIRO-TV)" tvg-country="US" tvg-language="English" tvg-logo="https://mediaweb.kirotv.com/photo/2018/09/24/kiro7_header_logo_152x60_13118164_ver1.0.png" group-title="Local",CBS 7 Seattle WA (KIRO-TV)
+https://svc-lvanvato-cxtv-kiro.cmgvideo.com/kiro/1864k/index.m3u8
+#EXTINF:-1 tvg-id="KFMBTV.us" tvg-name="CBS 8 San Diego CA (KFMB-TV)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/QJyt4n4.jpg" group-title="Local",CBS 8 San Diego CA (KFMB-TV) (1080p)
https://livevideo01.cbs8.com/hls/live/2014967/newscasts/live.m3u8
-#EXTINF:-1 tvg-id="KCALTV.us" tvg-name="CBS 9 Los Angeles (KCAL-TV)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/Q8IwOiL.jpg" group-title="Local",CBS 9 Los Angeles (KCAL-TV) (720p)
+#EXTINF:-1 tvg-id="KCALTV.us" tvg-name="CBS 9 Los Angeles CA (KCAL-TV)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/Q8IwOiL.jpg" group-title="Local",CBS 9 Los Angeles CA (KCAL-TV) (720p)
https://cbsn-la-cedexis.cbsnstream.cbsnews.com/out/v1/57b6c4534a164accb6b1872b501e0028/master.m3u8
#EXTINF:-1 tvg-id="WUSA.us" tvg-name="CBS 9 Washington DC (WUSA)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/Ekt1an0.png" group-title="Local",CBS 9 Washington DC (WUSA) (720p)
https://livevideo01.wusa9.com/hls/live/2015498/newscasts/live.m3u8
@@ -763,45 +769,45 @@ https://cbsnewshd-lh.akamaihd.net/i/CBSNHD_7@199302/master.m3u8
https://cbsnhls-i.akamaihd.net/hls/live/264710/CBSN_mdialog/prodstream/master.m3u8
#EXTINF:-1 tvg-id="CBSN.us" tvg-name="CBSN" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/kDqyJcP.jpg" group-title="News",CBSN (720p)
https://dai.google.com/linear/hls/event/Sid4xiTQTkCT1SLu6rjUSQ/master.m3u8
-#EXTINF:-1 tvg-id="KTVT.us" tvg-name="CBSN 11 Dallas / Fort Worth (KTVT)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/0pDOolW.jpg" group-title="Local",CBSN 11 Dallas / Fort Worth (KTVT) (720p)
+#EXTINF:-1 tvg-id="KTVT.us" tvg-name="CBSN 11 Dallas / Fort Worth TX (KTVT)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/0pDOolW.jpg" group-title="Local",CBSN 11 Dallas / Fort Worth TX (KTVT) (720p)
https://dai.google.com/linear/hls/event/o5J3g4U9T16CvYnS7Qd86Q/master.m3u8
-#EXTINF:-1 tvg-id="WBBM.us" tvg-name="CBSN 2 Chicago (WBBM)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/dtY6bgk.jpg" group-title="Local",CBSN 2 Chicago (WBBM) (720p)
+#EXTINF:-1 tvg-id="WBBM.us" tvg-name="CBSN 2 Chicago IL (WBBM)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/dtY6bgk.jpg" group-title="Local",CBSN 2 Chicago IL (WBBM) (720p)
https://dai.google.com/linear/hls/event/DWt8iR1YQ-OJQsxczu8KfQ/master.m3u8
-#EXTINF:-1 tvg-id="KCBSTV.us" tvg-name="CBSN 2 Los Angeles (KCBS-TV)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/RIFC1Y6.jpg" group-title="Local",CBSN 2 Los Angeles (KCBS-TV) (720p)
+#EXTINF:-1 tvg-id="KCBSTV.us" tvg-name="CBSN 2 Los Angeles CA (KCBS-TV)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/RIFC1Y6.jpg" group-title="Local",CBSN 2 Los Angeles CA (KCBS-TV) (720p)
https://dai.google.com/linear/hls/event/TxSbNMu4R5anKrjV02VOBg/master.m3u8
-#EXTINF:-1 tvg-id="WLNYTV.us" tvg-name="CBSN 2 New York (WLNY-TV)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/ubsNr5F.jpg" group-title="Local",CBSN 2 New York (WLNY-TV) (720p)
+#EXTINF:-1 tvg-id="WLNYTV.us" tvg-name="CBSN 2 New York NY (WLNY-TV)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/ubsNr5F.jpg" group-title="Local",CBSN 2 New York NY (WLNY-TV) (720p)
http://dai.google.com/linear/hls/event/rtcMlf4RTvOEkaudeany5w/master.m3u8
-#EXTINF:-1 tvg-id="WLNYTV.us" tvg-name="CBSN 2 New York (WLNY-TV)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/ubsNr5F.jpg" group-title="Local",CBSN 2 New York (WLNY-TV) (720p)
+#EXTINF:-1 tvg-id="WLNYTV.us" tvg-name="CBSN 2 New York NY (WLNY-TV)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/ubsNr5F.jpg" group-title="Local",CBSN 2 New York NY (WLNY-TV) (720p)
https://cbsn-ny-cedexis.cbsnstream.cbsnews.com/out/v1/ec3897d58a9b45129a77d67aa247d136/master.m3u8
-#EXTINF:-1 tvg-id="KDKA.us" tvg-name="CBSN 2 Pittsburgh (KDKA)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/IkDUNmq.jpg" group-title="Local",CBSN 2 Pittsburgh (KDKA) (720p)
+#EXTINF:-1 tvg-id="KDKA.us" tvg-name="CBSN 2 Pittsburgh PA (KDKA)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/IkDUNmq.jpg" group-title="Local",CBSN 2 Pittsburgh PA (KDKA) (720p)
https://dai.google.com/linear/hls/event/i5SXVKI4QIuV-eF2XAH4FQ/master.m3u8
-#EXTINF:-1 tvg-id="KYWTV.us" tvg-name="CBSN 3 Philly (KYW-TV)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/mXWNQuT.jpg" group-title="Local",CBSN 3 Philly (KYW-TV) (720p)
+#EXTINF:-1 tvg-id="KYWTV.us" tvg-name="CBSN 3 Philly PA (KYW-TV)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/mXWNQuT.jpg" group-title="Local",CBSN 3 Philly PA (KYW-TV) (720p)
https://dai.google.com/linear/hls/event/Xu-ITJ2GTNGaxGn893mmWg/master.m3u8
-#EXTINF:-1 tvg-id="WBZTV.us" tvg-name="CBSN 4 Boston (WBZ-TV)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/wEGXQ6G.jpg" group-title="Local",CBSN 4 Boston (WBZ-TV) (720p)
+#EXTINF:-1 tvg-id="WBZTV.us" tvg-name="CBSN 4 Boston MA (WBZ-TV)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/wEGXQ6G.jpg" group-title="Local",CBSN 4 Boston MA (WBZ-TV) (720p)
https://cbsn-bos-cedexis.cbsnstream.cbsnews.com/out/v1/589d66ec6eb8434c96c28de0370d1326/master.m3u8
-#EXTINF:-1 tvg-id="WBZTV.us" tvg-name="CBSN 4 Boston (WBZ-TV)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/wEGXQ6G.jpg" group-title="Local",CBSN 4 Boston (WBZ-TV) (720p)
+#EXTINF:-1 tvg-id="WBZTV.us" tvg-name="CBSN 4 Boston MA (WBZ-TV)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/wEGXQ6G.jpg" group-title="Local",CBSN 4 Boston MA (WBZ-TV) (720p)
https://dai.google.com/linear/hls/event/26FJK7wRSo6RhPsK70XS_w/master.m3u8
-#EXTINF:-1 tvg-id="KCNCTV.us" tvg-name="CBSN 4 Denver (KCNC-TV)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/Y8xBN2g.jpg" group-title="Local",CBSN 4 Denver (KCNC-TV) (720p)
+#EXTINF:-1 tvg-id="KCNCTV.us" tvg-name="CBSN 4 Denver CO (KCNC-TV)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/Y8xBN2g.jpg" group-title="Local",CBSN 4 Denver CO (KCNC-TV) (720p)
https://dai.google.com/linear/hls/event/EUo67MWSRh6toPi0heJKnQ/master.m3u8
-#EXTINF:-1 tvg-id="WCCO.us" tvg-name="CBSN 4 Minnesota (WCCO)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/HiEBhR4.png" group-title="Local",CBSN 4 Minnesota (WCCO) (720p)
+#EXTINF:-1 tvg-id="WCCO.us" tvg-name="CBSN 4 Minnesota MN (WCCO)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/HiEBhR4.png" group-title="Local",CBSN 4 Minnesota MN (WCCO) (720p)
https://dai.google.com/linear/hls/event/zcWPVCfURNSPxeidcckQLA/master.m3u8
-#EXTINF:-1 tvg-id="KPIXTV.us" tvg-name="CBSN 5 SF Bay Area (KPIX-TV)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/v1ojdQb.jpg" group-title="Local",CBSN 5 SF Bay Area (KPIX-TV) (720p)
+#EXTINF:-1 tvg-id="KPIXTV.us" tvg-name="CBSN 5 SF Bay Area CA (KPIX-TV)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/v1ojdQb.jpg" group-title="Local",CBSN 5 SF Bay Area CA (KPIX-TV) (720p)
https://dai.google.com/linear/hls/event/VE8b4n-YStusEGv5Z2NmsQ/master.m3u8
#EXTINF:-1 tvg-id="CBSNLiveEvent.us" tvg-name="CBSN Live Event" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/kDqyJcP.jpg" group-title="Local",CBSN Live Event (720p)
https://cbsnewshd-lh.akamaihd.net/i/cbsnewsLivePlayer_1@196305/master.m3u8
#EXTINF:-1 tvg-id="CCTV.us" tvg-name="CC-TV" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/feFWTb8.jpg" group-title="Local",CC-TV (720p)
https://granicusliveus3-a.akamaihd.net/charlotte/G0055_002/playlist.m3u8
-#EXTINF:-1 tvg-id="CCX1.us" tvg-name="CCX1" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/SC5nyyL.png" group-title="Local",CCX1
+#EXTINF:-1 tvg-id="CCXMediaNorthBrooklynParkMN.us" tvg-name="CCX Media North Brooklyn Park MN" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/EOeoqsd.jpg" group-title="Local",CCX Media North Brooklyn Park MN
http://156.142.85.152/live/WIFI-2096k-1080p/WIFI-2096k-1080p.m3u8
#EXTINF:-1 tvg-id="CelebritySceneTV.us" tvg-name="Celebrity Scene TV" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/2D1e2bH.png" group-title="",Celebrity Scene TV (720p)
https://playout4multirtmp.tulix.tv/live8/Stream1/playlist.m3u8
#EXTINF:-1 tvg-id="CerritosTV3.us" tvg-name="Cerritos TV3" tvg-country="US" tvg-language="English" tvg-logo="https://live-tv-channels.org/pt-data/uploads/logo/us-cerritos-tv3.jpg" group-title="Local",Cerritos TV3 (360p)
https://granicusliveus4-a.akamaihd.net/cerritos/G0010_002/playlist.m3u8
-#EXTINF:-1 tvg-id="CGTV.us" tvg-name="CGTV" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/f6dfLXA.png" group-title="Legislative",CGTV
-https://reflect-live-champaign.cablecast.tv/live/CELL-296k-234p/CELL-296k-234p.m3u8
+#EXTINF:-1 tvg-id="CVTV.us" tvg-name="Channel 23 Clark Vancouver TV (CVTV)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/VFPid91.png" group-title="Local",Channel 23 Clark Vancouver TV (CVTV) (1080p)
+https://wowzaprod3-i.akamaihd.net/hls/live/252233/15b8d438/playlist.m3u8
#EXTINF:-1 tvg-id="Channel5.us" tvg-name="Channel 5 (Adult Swim 24/7 Stream)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/sCRPkPk.jpg" group-title="Entertainment",Channel 5 (Adult Swim 24/7 Stream) (1080p) [Geo-blocked]
https://adultswim-vodlive.cdn.turner.com/live/channel-5/stream.m3u8
-#EXTINF:-1 tvg-id="WFTV.us" tvg-name="Channel 9 - Florida - Orlando (WFTV)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/S3fqmWY.png" group-title="Local",Channel 9 - Florida - Orlando (WFTV) (720p)
+#EXTINF:-1 tvg-id="WFTV.us" tvg-name="Channel 9 Orlando FL (WFTV)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/S3fqmWY.png" group-title="Local",Channel 9 Orlando FL (WFTV) (720p)
https://d3nzocdfkx2ybv.cloudfront.net/in/cmg-wftve2-hls-v3/live.m3u8
#EXTINF:-1 tvg-id="ChannelFight.us" tvg-name="Channel Fight" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/cruTxMF.png" group-title="",Channel Fight (720p)
https://stream-us-east-1.getpublica.com/playlist.m3u8?network_id=68
@@ -874,11 +880,11 @@ https://olympusamagi.pc.cdn.bitgravity.com/CineSureno-roku/master.m3u8
#EXTINF:-1 tvg-id="CinehouseSTIRR.us" tvg-name="Cinehouse (STIRR)" tvg-country="US" tvg-language="English" tvg-logo="https://komonews.com/resources/media2/3x1/full/119/center/90/9b0cc12d-a2e0-4a7b-bec4-31c00a4c499f-small3x1_STIRR_Logo_0520_Cinehouse_1920x1080_EPG.png?cb=c81e728d9d4c2f636f067f89cc14862c" group-title="Entertainment",Cinehouse (STIRR) (720p)
https://dai.google.com/linear/hls/event/28oUp4GcQ-u49U4_jjC4Iw/master.m3u8
#EXTINF:-1 tvg-id="CineLife.us" tvg-name="CineLife" tvg-country="US" tvg-language="English" tvg-logo="https://www.arthouseconvergence.org/wp-content/uploads/2015/12/cinelife.png" group-title="Lifestyle",CineLife
+https://magselect-stirr.amagi.tv/playlist1080p.m3u8
+#EXTINF:-1 tvg-id="CineLife.us" tvg-name="CineLife" tvg-country="US" tvg-language="English" tvg-logo="https://www.arthouseconvergence.org/wp-content/uploads/2015/12/cinelife.png" group-title="Lifestyle",CineLife
https://magselect-stirr.amagi.tv/playlist720p.m3u8
#EXTINF:-1 tvg-id="CineLifeSTIRR.us" tvg-name="CineLife (STIRR)" tvg-country="US" tvg-language="English" tvg-logo="https://komonews.com/resources/media2/3x1/full/119/center/90/b69e56d9-8aac-4cff-94e2-4d848cd44ead-small3x1_stirr_0120_epg_CineLife_1920x1080.png?cb=eccbc87e4b5ce2fe28308fd9f2a7baf3" group-title="Lifestyle",CineLife (STIRR) (1080p)
https://dai.google.com/linear/hls/event/PFJ1Jhd6SsSMcu3qq86wzQ/master.m3u8
-#EXTINF:-1 tvg-id="CineLife.us" tvg-name="CineLife" tvg-country="US" tvg-language="English" tvg-logo="https://www.arthouseconvergence.org/wp-content/uploads/2015/12/cinelife.png" group-title="Lifestyle",CineLife
-https://magselect-stirr.amagi.tv/playlist1080p.m3u8
#EXTINF:-1 tvg-id="Cinemax.us" tvg-name="Cinemax" tvg-country="US" tvg-language="Spanish" tvg-logo="https://static.epg.best/ph/Cinemax.ph.png" group-title="Movies",Cinemax
http://23.237.202.43:7283/CINEMAX-FHD/index.m3u8?un=rommel07&tm=1626349319&sn=Ux0Oojow5FkqHQCpMmUNQKUr4Wb
#EXTINF:-1 tvg-id="Cinemax.us" tvg-name="Cinemax" tvg-country="US" tvg-language="English" tvg-logo="https://static.epg.best/ph/Cinemax.ph.png" group-title="Movies",Cinemax (360p)
@@ -912,6 +918,8 @@ https://circle-xumo.amagi.tv/playlist.m3u8
https://dai2.xumo.com/amagi_hls_data_xumo1212A-redboxcircletv/CDN/playlist.m3u8
#EXTINF:-1 tvg-id="Circle.us" tvg-name="Circle" tvg-country="US" tvg-language="English" tvg-logo="https://web.opendrive.com/api/v1/download/file.json/MF8yMjY2MjYwMTlf?inline=1" group-title="Entertainment",Circle (1080p)
https://dai2.xumo.com/amagi_hls_data_xumo1212A-xumo-circle/CDN/master.m3u8
+#EXTINF:-1 tvg-id="CGTV.us" tvg-name="City of Champaign IL (CGTV)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/hNdQFtK.jpg" group-title="Legislative",City of Champaign IL (CGTV)
+https://reflect-live-champaign.cablecast.tv/live/CELL-296k-234p/CELL-296k-234p.m3u8
#EXTINF:-1 tvg-id="CivilizedBumblebee.us" tvg-name="Civilized (Bumblebee)" tvg-country="US" tvg-language="English" tvg-logo="https://media.unreel.me/prod/bumblebeetv/general/f260a87a-ab75-43f7-bafd-49f4143262b0" group-title="Lifestyle",Civilized (Bumblebee) (1080p)
https://stitcheraws.unreel.me/wse-node02.powr.com/live/5c7e2531932c8368bdbfd87c/playlist.m3u8
#EXTINF:-1 tvg-id="ClassicArtsShowcase" tvg-name="Classic Arts Showcase" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/2LJzdu6.png" group-title="Classic",Classic Arts Showcase (720p)
@@ -1058,7 +1066,7 @@ https://cdn-katz-networks-01.vos360.video/Content/HLS/Live/channel(courttv)/inde
https://content.uplynk.com/channel/6c0bd0f94b1d4526a98676e9699a10ef.m3u8
#EXTINF:-1 tvg-id="CourtTVMystery.us" tvg-name="Court TV Mystery" tvg-country="US" tvg-language="English" tvg-logo="https://d229kpbsb5jevy.cloudfront.net/teleup/content/common/logos/channel/logos/court-tv-mystery.png" group-title="Entertainment",Court TV Mystery (720p)
https://bozztv.com/teleyupp/teleup-mystery/playlist.m3u8
-#EXTINF:-1 tvg-id="KNSDDT2.us" tvg-name="COZI TV San Deigo (KNSD-DT2)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/0Nj1N5u.png" group-title="Classic",COZI TV San Deigo (KNSD-DT2) (432p)
+#EXTINF:-1 tvg-id="KNSDDT2.us" tvg-name="COZI TV San Diego CA (KNSD-DT2)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/0Nj1N5u.png" group-title="Classic",COZI TV San Diego CA (KNSD-DT2) (432p)
https://streams.the6tv.duckdns.org:2443/locals/SanDiego/knsd-dt2.m3u8
#EXTINF:-1 tvg-id="Crackle.us" tvg-name="Crackle" tvg-country="US" tvg-language="English" tvg-logo="https://od.lk/s/MF8yMjUyNDQ4NjZf/Crackle_365x365.png" group-title="Movies",Crackle (720p)
https://crackle-plex.amagi.tv/playlist.m3u8
@@ -1090,14 +1098,12 @@ http://admin.ottdemo.rrsat.com:1935/ctntv/ctntv2/playlist.m3u8
http://rtmp.ottdemo.rrsat.com/ctntv/ctntvmulti.smil/playlist.m3u8
#EXTINF:-1 tvg-id="CTN.us" tvg-name="CTN" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/Bj37ZMY.png" group-title="Religious",CTN
https://rrsatrtmp.tulix.tv/ctntv/ctntvmulti.smil/playlist.m3u8
-#EXTINF:-1 tvg-id="CTNWFGC.us" tvg-name="CTN (WFGC)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/UtaBUfH.png" group-title="Religious",CTN (WFGC) (720p)
+#EXTINF:-1 tvg-id="WFGC.us" tvg-name="CTN 61 Riviera Beach FL (WFGC)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/UtaBUfH.png" group-title="Religious",CTN 61 Riviera Beach FL (WFGC) (720p)
http://hls1.livestreamingcdn.com:1935/livecdn631/myStream.sdp/playlist.m3u8
-#EXTINF:-1 tvg-id="WNYEDT3.us" tvg-name="CUNYTV (WNYE-DT3)" tvg-country="US" tvg-language="English" tvg-logo="https://zap2it.tmsimg.com/sources/generic/generic_sources_h3.png" group-title="Local",CUNYTV (WNYE-DT3) (1080p)
+#EXTINF:-1 tvg-id="WNYEDT3.us" tvg-name="CUNY TV City University of New York NY (WNYE-DT3)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/6tCgsNc.jpg" group-title="Local",CUNY TV City University of New York NY (WNYE-DT3) (1080p)
https://streams.the6tv.duckdns.org:2443/locals/NewYorkCity/wnye-dt3.m3u8
#EXTINF:-1 tvg-id="CuteZoneBumblebee.us" tvg-name="Cute Zone (Bumblebee)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/unYHTWg.png" group-title="Kids",Cute Zone (Bumblebee) (720p)
https://stitcheraws.unreel.me/wse-node02.powr.com/live/5bf22518d5eeee0f5a409486/playlist.m3u8
-#EXTINF:-1 tvg-id="CVTVChannel23.us" tvg-name="CVTV Channel 23" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/VFPid91.png" group-title="Local",CVTV Channel 23 (1080p)
-https://wowzaprod3-i.akamaihd.net/hls/live/252233/15b8d438/playlist.m3u8
#EXTINF:-1 tvg-id="CycleWorld.us" tvg-name="Cycle World" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/RZE3Pwf.png" group-title="Auto",Cycle World (720p)
https://a.jsrdn.com/broadcast/3e5befe5dd/+0000/c.m3u8
#EXTINF:-1 tvg-id="DallasCowboyCheerleaders.us" tvg-name="Dallas Cowboy Cheerleaders" tvg-country="US" tvg-language="English" tvg-logo="https://www.samsung.com/us/smg/content/dam/s7/home/televisions-and-home-theater/tvs/tv-plus/all-channels/08182020/Dallas%20Cowboys%20Cheer_190x190.png?raw=true" group-title="",Dallas Cowboy Cheerleaders
@@ -1278,8 +1284,6 @@ http://k3.usastreams.com:1935/etvSD/etvSD/playlist.m3u8
#EXTINF:-1 tvg-id="ESPN.us" tvg-name="ESPN" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/GhhN8mW.png" group-title="Sports",ESPN (360p)
http://stream.tvtap.live:8081/live/espnusahd.stream/playlist.m3u8
#EXTINF:-1 tvg-id="ESPN.us" tvg-name="ESPN" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/GhhN8mW.png" group-title="Sports",ESPN (720p)
-http://stream2.grandma.fit/fs2.m3u8
-#EXTINF:-1 tvg-id="ESPN.us" tvg-name="ESPN" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/GhhN8mW.png" group-title="Sports",ESPN (720p)
https://content.uplynk.com/channel/d0695f6fa2f143eb95c7a41d96d581c4.m3u8
#EXTINF:-1 tvg-id="ESPN2.us" tvg-name="ESPN 2" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/CTgGetu.png" group-title="Sports",ESPN 2 (720p)
http://164.68.124.111/espn2.m3u8
@@ -1519,59 +1523,59 @@ https://dai.google.com/linear/hls/event/fJj7BuL_Tv2KjCnNAmLK8g/master.m3u8
http://htv-drm-live-cdn.fptplay.net/CDN-FPT02/FOX-HD-1080p/playlist.m3u8
#EXTINF:-1 tvg-id="FOX.us" tvg-name="FOX" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/992gw0d.png" group-title="General",FOX
https://cdn1.mobiletv.bg/T13/fox/fox_794613_850k.m3u8
-#EXTINF:-1 tvg-id="KZAS.us" tvg-name="FOX 10 Phoenix (KZAS)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/TCzjchS.jpg" group-title="News",FOX 10 Phoenix (KZAS) (720p)
+#EXTINF:-1 tvg-id="KZAS.us" tvg-name="FOX 10 Phoenix AZ (KZAS)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/TCzjchS.jpg" group-title="News",FOX 10 Phoenix AZ (KZAS) (720p)
https://lnc-ksaz-fox-aws.tubi.video/index.m3u8
-#EXTINF:-1 tvg-id="KTTV.us" tvg-name="FOX 11 Los Angeles (KTTV)" tvg-country="US" tvg-language="English" tvg-logo="http://live-tv-channels.org/pt-data/uploads/logo/us-fox-11-los-angeles.jpg" group-title="News",FOX 11 Los Angeles (KTTV) (720p)
+#EXTINF:-1 tvg-id="KTTV.us" tvg-name="FOX 11 Los Angeles CA (KTTV)" tvg-country="US" tvg-language="English" tvg-logo="http://live-tv-channels.org/pt-data/uploads/logo/us-fox-11-los-angeles.jpg" group-title="News",FOX 11 Los Angeles CA (KTTV) (720p)
https://lnc-kttv-fox-aws.tubi.video/index.m3u8
-#EXTINF:-1 tvg-id="WHBQTV.us" tvg-name="FOX 13 Memphis (WHBQ-TV)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/E9vX12j.jpg" group-title="Local",FOX 13 Memphis (WHBQ-TV) (720p)
+#EXTINF:-1 tvg-id="WHBQTV.us" tvg-name="FOX 13 Memphis TN (WHBQ-TV)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/E9vX12j.jpg" group-title="Local",FOX 13 Memphis TN (WHBQ-TV) (720p)
https://live-news-manifest.tubi.video/live-news-manifest/csm/extlive/tubiprd01,Cloudfront-WHBQ.m3u8
-#EXTINF:-1 tvg-id="WTVT.us" tvg-name="FOX 13 Tampa Bay (WTVT)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/Bvkri2L.png" group-title="Local",FOX 13 Tampa Bay (WTVT) (720p)
+#EXTINF:-1 tvg-id="WTVT.us" tvg-name="FOX 13 Tampa Bay FL (WTVT)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/Bvkri2L.png" group-title="Local",FOX 13 Tampa Bay FL (WTVT) (720p)
https://lnc-wtvt-fox-aws.tubi.video/index.m3u8
#EXTINF:-1 tvg-id="KXVA.us" tvg-name="FOX 15 West Texas Abilene TX (KXVA)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/TSTAkkq.jpg" group-title="Local",FOX 15 West Texas Abilene TX (KXVA) (1080p)
https://livevideo01.myfoxzone.com/hls/live/2017381/newscasts/live.m3u8
-#EXTINF:-1 tvg-id="WJBK.us" tvg-name="FOX 2 Detroit (WJBK)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/EL9Bwtf.png" group-title="News",FOX 2 Detroit (WJBK) (720p)
+#EXTINF:-1 tvg-id="WJBK.us" tvg-name="FOX 2 Detroit MI (WJBK)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/EL9Bwtf.png" group-title="News",FOX 2 Detroit MI (WJBK) (720p)
https://lnc-wjbk-fox-aws.tubi.video/index.m3u8
-#EXTINF:-1 tvg-id="KTVU.us" tvg-name="FOX 2 San Francisco (KTVU)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/18isSVd.png" group-title="News",FOX 2 San Francisco (KTVU) (720p)
+#EXTINF:-1 tvg-id="KTVU.us" tvg-name="FOX 2 San Francisco CA (KTVU)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/18isSVd.png" group-title="News",FOX 2 San Francisco CA (KTVU) (720p)
https://lnc-ktvu-fox-aws.tubi.video/index.m3u8
-#EXTINF:-1 tvg-id="KTVI.us" tvg-name="FOX 2 St. Louis (KTVI)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/Hednfc9.png" group-title="Local",FOX 2 St. Louis (KTVI) (1080p)
+#EXTINF:-1 tvg-id="KTVI.us" tvg-name="FOX 2 St. Louis MO (KTVI)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/Hednfc9.png" group-title="Local",FOX 2 St. Louis MO (KTVI) (1080p)
https://iptv-all.lanesh4d0w.codes/united-states/ktvi-tv
#EXTINF:-1 tvg-id="KOKITV.us" tvg-name="FOX 23 Tulsa OK (KOKI-TV)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/pRKEMb1.jpg" group-title="Local",FOX 23 Tulsa OK (KOKI-TV) (720p)
https://d3nzocdfkx2ybv.cloudfront.net/in/cmg-kokitv-hls-v3/live.m3u8
-#EXTINF:-1 tvg-id="KRIV.us" tvg-name="FOX 26 Houston (KRIV)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/AZ8MWRp.jpg" group-title="News",FOX 26 Houston (KRIV) (720p)
+#EXTINF:-1 tvg-id="KRIV.us" tvg-name="FOX 26 Houston TX (KRIV)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/AZ8MWRp.jpg" group-title="News",FOX 26 Houston TX (KRIV) (720p)
https://lnc-kriv-fox-aws.tubi.video/index.m3u8
-#EXTINF:-1 tvg-id="WTGS.us" tvg-name="FOX 28 Savannah (WTGS)" tvg-country="US" tvg-language="English" tvg-logo="https://upload.wikimedia.org/wikipedia/en/9/99/FOX28WTGS.PNG" group-title="Local",FOX 28 Savannah (WTGS) (720p)
+#EXTINF:-1 tvg-id="WTGS.us" tvg-name="FOX 28 Savannah GA (WTGS)" tvg-country="US" tvg-language="English" tvg-logo="https://upload.wikimedia.org/wikipedia/en/9/99/FOX28WTGS.PNG" group-title="Local",FOX 28 Savannah GA (WTGS) (720p)
https://content.uplynk.com/channel/e56ba52a1b9d45ad8c8a033fd83fe480.m3u8
-#EXTINF:-1 tvg-id="WTXFTV.us" tvg-name="FOX 29 Philadelphia (WTXF-TV)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/fRjmk5r.png" group-title="Local",FOX 29 Philadelphia (WTXF-TV) (720p)
+#EXTINF:-1 tvg-id="WTXFTV.us" tvg-name="FOX 29 Philadelphia PA (WTXF-TV)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/fRjmk5r.png" group-title="Local",FOX 29 Philadelphia PA (WTXF-TV) (720p)
https://lnc-wtxf-fox-aws.tubi.video/index.m3u8
-#EXTINF:-1 tvg-id="WFLD.us" tvg-name="FOX 32 Chicago (WFLD)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/lf5sLNn.png" group-title="Local",FOX 32 Chicago (WFLD) (720p)
+#EXTINF:-1 tvg-id="WFLD.us" tvg-name="FOX 32 Chicago IL (WFLD)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/lf5sLNn.png" group-title="Local",FOX 32 Chicago IL (WFLD) (720p)
https://lnc-wfld-fox-aws.tubi.video/index.m3u8
-#EXTINF:-1 tvg-id="WOFL.us" tvg-name="FOX 35 Orlando (WOFL)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/BOA8KKZ.jpg" group-title="Local",FOX 35 Orlando (WOFL) (720p)
+#EXTINF:-1 tvg-id="WOFL.us" tvg-name="FOX 35 Orlando FL (WOFL)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/BOA8KKZ.jpg" group-title="Local",FOX 35 Orlando FL (WOFL) (720p)
https://lnc-wofl-fox-aws.tubi.video/index.m3u8
-#EXTINF:-1 tvg-id="KDFW.us" tvg-name="FOX 4 Dallas / Fort Worth (KDFW)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/gjIKpMJ.png" group-title="News",FOX 4 Dallas / Fort Worth (KDFW) (720p)
+#EXTINF:-1 tvg-id="KDFW.us" tvg-name="FOX 4 Dallas / Fort Worth TX (KDFW)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/gjIKpMJ.png" group-title="News",FOX 4 Dallas / Fort Worth TX (KDFW) (720p)
https://lnc-kdfw-fox-aws.tubi.video/index.m3u8
#EXTINF:-1 tvg-id="WPMT.us" tvg-name="FOX 43 Harrisburg PA (WPMT)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/kRaIhOa.jpg" group-title="Local",FOX 43 Harrisburg PA (WPMT) (1080p)
https://livevideo01.fox43.com/hls/live/2011656/newscasts/live.m3u8
-#EXTINF:-1 tvg-id="WAGATV.us" tvg-name="FOX 5 Atlanta (WAGA-TV)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/DcZoeGw.jpg" group-title="News",FOX 5 Atlanta (WAGA-TV) (720p)
+#EXTINF:-1 tvg-id="WAGATV.us" tvg-name="FOX 5 Atlanta GA (WAGA-TV)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/DcZoeGw.jpg" group-title="News",FOX 5 Atlanta GA (WAGA-TV) (720p)
https://lnc-waga-fox-aws.tubi.video/index.m3u8
-#EXTINF:-1 tvg-id="WNYW.us" tvg-name="FOX 5 New York (WNYW)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/OfGcsUO.png" group-title="Local",FOX 5 New York (WNYW) (720p)
+#EXTINF:-1 tvg-id="WNYW.us" tvg-name="FOX 5 New York NY (WNYW)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/OfGcsUO.png" group-title="Local",FOX 5 New York NY (WNYW) (720p)
https://lnc-wnyw-fox-aws.tubi.video/index.m3u8
#EXTINF:-1 tvg-id="WTTG.us" tvg-name="FOX 5 Washington DC (WTTG)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/ktLKla7.png" group-title="Local",FOX 5 Washington DC (WTTG) (720p)
https://lnc-wttg-fox-aws.tubi.video/index.m3u8
#EXTINF:-1 tvg-id="WZDX.us" tvg-name="FOX 54.1 Huntsville AL (WZDX)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/2HWx7Av.jpg" group-title="Local",FOX 54.1 Huntsville AL (WZDX) (1080p)
https://livevideo01.rocketcitynow.com/hls/live/2011659/newscasts/live.m3u8
-#EXTINF:-1 tvg-id="WITI.us" tvg-name="FOX 6 Milwaukee (WITI)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/qmOd9Yr.jpg" group-title="Local",FOX 6 Milwaukee (WITI) (720p)
+#EXTINF:-1 tvg-id="WITI.us" tvg-name="FOX 6 Milwaukee WI (WITI)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/qmOd9Yr.jpg" group-title="Local",FOX 6 Milwaukee WI (WITI) (720p)
https://lnc-witi-fox-aws.tubi.video/index.m3u8
#EXTINF:-1 tvg-id="WTICTV.us" tvg-name="FOX 61 Hartford CT (WTIC-TV)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/6QlmS1C.jpg" group-title="Local",FOX 61 Hartford CT (WTIC-TV) (1080p)
https://livevideo01.fox61.com/hls/live/2011658/newscasts/live.m3u8
-#EXTINF:-1 tvg-id="KTBC.us" tvg-name="FOX 7 Austin (KTBC)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/ugLwGEY.png" group-title="News",FOX 7 Austin (KTBC) (720p)
+#EXTINF:-1 tvg-id="KTBC.us" tvg-name="FOX 7 Austin TX (KTBC)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/ugLwGEY.png" group-title="News",FOX 7 Austin TX (KTBC) (720p)
https://lnc-ktbc-fox-aws.tubi.video/index.m3u8
-#EXTINF:-1 tvg-id="WSVN.us" tvg-name="FOX 7 Miami (WSVN)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/zQlK5ux.png" group-title="Local",FOX 7 Miami (WSVN) (720p)
+#EXTINF:-1 tvg-id="WSVN.us" tvg-name="FOX 7 Miami FL (WSVN)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/zQlK5ux.png" group-title="Local",FOX 7 Miami FL (WSVN) (720p)
https://bcsecurelivehls-i.akamaihd.net/hls/live/598043/4368278029001_1/onair/master.m3u8
-#EXTINF:-1 tvg-id="WSVN.us" tvg-name="FOX 7 Miami (WSVN)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/zQlK5ux.png" group-title="Local",FOX 7 Miami (WSVN) (720p)
+#EXTINF:-1 tvg-id="WSVN.us" tvg-name="FOX 7 Miami FL (WSVN)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/zQlK5ux.png" group-title="Local",FOX 7 Miami FL (WSVN) (720p)
https://bozztv.com/teleyupp1/teleup-GgIpXe0CjT/playlist.m3u8
-#EXTINF:-1 tvg-id="KMSP.us" tvg-name="FOX 9 ST Paul Minneapolis (KMSP)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/WBgiaiB.jpg" group-title="News",FOX 9 ST Paul Minneapolis (KMSP) (720p)
+#EXTINF:-1 tvg-id="KMSP.us" tvg-name="FOX 9 ST Paul Minneapolis MN (KMSP)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/WBgiaiB.jpg" group-title="News",FOX 9 ST Paul Minneapolis MN (KMSP) (720p)
https://lnc-kmsp-fox-aws.tubi.video/index.m3u8
-#EXTINF:-1 tvg-id="FOXBusiness.us" tvg-name="FOX Business" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/61wD4dV.png" group-title="Business",FOX Business
+#EXTINF:-1 tvg-id="FOXBusiness.us" tvg-name="FOX Business" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/61wD4dV.png" group-title="Business",FOX Business [Offline]
http://199.66.95.242:80/1/1172/index.m3u8?token=test
#EXTINF:-1 tvg-id="FOXCrime.us" tvg-name="FOX Crime" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/LCDcM0F.png" group-title="",FOX Crime
https://cdn1.mobiletv.bg/T10/fox_crime/fox_crime_794613_850k.m3u8
@@ -1597,7 +1601,7 @@ https://lnc-fox-news-now.tubi.video/index.m3u8
https://fnurtmp-f.akamaihd.net/i/FNRADIO_1@92141/master.m3u8
#EXTINF:-1 tvg-id="FOXNewsMeiGuo.us" tvg-name="FOX News(美国)" tvg-country="US" tvg-language="" tvg-logo="http://static.epg.best/us/FoxNews.us.png" group-title="News",FOX News(美国)
http://1111296894.rsc.cdn77.org/ls-54548-2/mono.m3u8
-#EXTINF:-1 tvg-id="FOXQ13SeattleKCPQ.us" tvg-name="FOX Q13 Seattle (KCPQ)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/4xs5ERr.jpg" group-title="News",FOX Q13 Seattle (KCPQ) (720p)
+#EXTINF:-1 tvg-id="FOXQ13SeattleKCPQ.us" tvg-name="FOX Q13 Seattle WA (KCPQ)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/4xs5ERr.jpg" group-title="News",FOX Q13 Seattle WA (KCPQ) (720p)
https://lnc-kcpq-fox-aws.tubi.video/index.m3u8
#EXTINF:-1 tvg-id="FOXRussia.us" tvg-name="FOX Russia" tvg-country="RU" tvg-language="Russian" tvg-logo="https://i.imgur.com/992gw0d.png" group-title="Movies",FOX Russia (576p)
http://188.40.68.167/russia/fox_russia_sd/playlist.m3u8
@@ -1689,9 +1693,9 @@ https://funnyordie-vizio.amagi.tv/playlist.m3u8
https://dai2.xumo.com/amagi_hls_data_xumo1212A-redboxfuse/CDN/playlist.m3u8
#EXTINF:-1 tvg-id="Futurism.us" tvg-name="Futurism" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/DX7wYuN.png" group-title="News",Futurism (720p)
https://dai.google.com/linear/hls/event/YakHdnr_RpyszducVuHOpQ/master.m3u8
-#EXTINF:-1 tvg-id="FX.us" tvg-name="FX" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/Tfb67yW.png" group-title="Entertainment",FX (720p)
+#EXTINF:-1 tvg-id="FX.us" tvg-name="FX" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/E32ISMV.png" group-title="Entertainment",FX (720p)
https://bozztv.com/teleyupp/teleup-fxhd/playlist.m3u8
-#EXTINF:-1 tvg-id="FX.us" tvg-name="FX Peru" tvg-country="PE" tvg-language="Spanish;English" tvg-logo="https://i.imgur.com/Tfb67yW.png" group-title="Entertainment",FX Peru
+#EXTINF:-1 tvg-id="FX.us" tvg-name="FX Peru" tvg-country="PE" tvg-language="Spanish;English" tvg-logo="https://i.imgur.com/E32ISMV.png" group-title="Entertainment",FX Peru
http://209.91.213.10:8088/play/a01z
#EXTINF:-1 tvg-id="GalvestonCountyTV.us" tvg-name="Galveston County TV" tvg-country="US" tvg-language="English" tvg-logo="https://img.new.livestream.com/accounts/000000000141794a/1769dc58-4a38-4815-9cb7-feb1140db5ec_170x170.png" group-title="Local",Galveston County TV (720p)
https://stream.swagit.com/live-edge/galvestontx/smil:hd-16x9-1-b/playlist.m3u8
@@ -1733,7 +1737,7 @@ https://stitcheraws.unreel.me/wse-node02.powr.com/live/5bf22526d5eeee0f5a4094b8/
https://dai2.xumo.com/amagi_hls_data_xumo1212A-redboxglamour/CDN/playlist.m3u8
#EXTINF:-1 tvg-id="Glamour.us" tvg-name="Glamour" tvg-country="US" tvg-language="English" tvg-logo="http://www.ranklogos.com/wp-content/uploads/2014/11/Glamour-Logo.jpg" group-title="Lifestyle",Glamour
https://dai2.xumo.com/amagi_hls_data_xumo1212A-rokuglamour/CDN/playlist.m3u8
-#EXTINF:-1 tvg-id="Glendale11.us" tvg-name="Glendale 11" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/Zxb1Xyj.jpg" group-title="Local",Glendale 11 (360p)
+#EXTINF:-1 tvg-id="Glendale11AZ.us" tvg-name="Glendale 11 AZ" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/Zxb1Xyj.jpg" group-title="Local",Glendale 11 AZ (360p)
https://stream.swagit.com/live-edge/glendaleaz/smil:std-4x3-1-a/playlist.m3u8
#EXTINF:-1 tvg-id="GlewedTV.us" tvg-name="Glewed TV" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/W4Bx9pG.jpg" group-title="General",Glewed TV (720p)
https://dai.google.com/linear/hls/event/ChWV1GupQOWE92uG4DvbkQ/master.m3u8
@@ -1789,7 +1793,7 @@ https://dai.google.com/linear/hls/event/EpqgwRlpQKq73ySVSohJWA/master.m3u8
https://gravitas-movies.sinclair.wurl.com/manifest/playlist.m3u8
#EXTINF:-1 tvg-id="GreatestAmericanHeroSTIRR.us" tvg-name="Greatest American Hero (STIRR)" tvg-country="US" tvg-language="English" tvg-logo="https://komonews.com/resources/media2/3x1/full/119/center/90/885a4fe2-5dce-4193-8c9b-e72c9b16ae4d-small3x1_stirr_1219_epg_thegreatestamericanhero_1920x1080.png?cb=c81e728d9d4c2f636f067f89cc14862c" group-title="",Greatest American Hero (STIRR) (720p)
https://dai.google.com/linear/hls/event/zaW9PVeXQeamNt6SZ9FsOg/master.m3u8
-#EXTINF:-1 tvg-id="WZRACD.us" tvg-name="Greek Voice Live 48 Tampa Bay (WZRA-CD1)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/biG4n2a.jpg" group-title="Entertainment",Greek Voice Live 48 Tampa Bay (WZRA-CD1)
+#EXTINF:-1 tvg-id="WZRACD.us" tvg-name="Greek Voice Live 48 Tampa Bay FL (WZRA-CD1)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/biG4n2a.jpg" group-title="Entertainment",Greek Voice Live 48 Tampa Bay FL (WZRA-CD1)
http://wpso.com:1936/hls/wzra.m3u8
#EXTINF:-1 tvg-id="GreenbeltTV.us" tvg-name="Greenbelt TV" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/uxUqIVT.png" group-title="",Greenbelt TV (480p)
https://t07113a-lh.akamaihd.net/i/t07113a_1@756729/master.m3u8
@@ -2143,31 +2147,27 @@ https://usgeowall.sinclairstoryline.com/channel/1698bf57810a48c486b83d542bca298d
https://stream-us-east-1.getpublica.com/playlist.m3u8?network_id=50
#EXTINF:-1 tvg-id="KidzBop.us" tvg-name="Kidz Bop" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/19namZP.jpg" group-title="Kids",Kidz Bop (1080p)
https://kidzbop-rokuus.amagi.tv/hls/amagi_hls_data_kidzbopAA-kidzbop-roku-us/CDN/playlist.m3u8
-#EXTINF:-1 tvg-id="KIROTV.us" tvg-name="KIRO 7 News (KIRO-TV)" tvg-country="US" tvg-language="English" tvg-logo="https://mediaweb.kirotv.com/photo/2018/09/24/kiro7_header_logo_152x60_13118164_ver1.0.png" group-title="Local",KIRO 7 News (KIRO-TV)
-https://svc-lvanvato-cxtv-kiro.cmgvideo.com/kiro/1864k/index.m3u8
#EXTINF:-1 tvg-id="KitchenNightmaresSTIRR.us" tvg-name="Kitchen Nightmares (STIRR)" tvg-country="US" tvg-language="English" tvg-logo="https://komonews.com/resources/media2/3x1/full/119/center/90/d3fa0a6c-3f76-46e0-b4d6-5039ee16f5a3-small3x1_stirr_1219_epg_kitchennightmares_1920x1080.png?cb=eccbc87e4b5ce2fe28308fd9f2a7baf3" group-title="Cooking",Kitchen Nightmares (STIRR) (720p)
https://dai.google.com/linear/hls/event/23QIslh0TOqygKz-M9W29Q/master.m3u8
#EXTINF:-1 tvg-id="KocowaClassic.us" tvg-name="Kocowa Classic" tvg-country="US" tvg-language="" tvg-logo="https://i.imgur.com/Px8a1JY.png" group-title="Classic",Kocowa Classic
https://dai2.xumo.com/amagi_hls_data_xumo1212A-rokukocowa/CDN/playlist.m3u8
-#EXTINF:-1 tvg-id="KOFYDT1.us" tvg-name="KOFY-DT1" tvg-country="US" tvg-language="English" tvg-logo="https://media-usba.mybtv.net/logos/20.1-KOFY.png" group-title="",KOFY-DT1 (720p)
-https://v-ca.mybtv.net/event/125/1280x720.m3u8?start_time=2021-05-16T23%3A45%3A00%2B00%3A00&end_time=2023-05-17T05%3A00%3A00%2B00%3A00&env=prd&uid=33630
-#EXTINF:-1 tvg-id="KOFYDT1.us" tvg-name="KOFY-DT1" tvg-country="US" tvg-language="English" tvg-logo="https://media-usba.mybtv.net/logos/20.1-KOFY.png" group-title="",KOFY-DT1 (480i)
-https://v-ca.mybtv.net/event/125/768x432.m3u8?start_time=2021-05-16T23%3A45%3A00%2B00%3A00&end_time=2023-05-17T05%3A00%3A00%2B00%3A00&env=prd&uid=33630
-#EXTINF:-1 tvg-id="KOFY.us" tvg-name="KOFY" tvg-country="US" tvg-language="English" tvg-logo="https://upload.wikimedia.org/wikipedia/en/8/84/KOFY_TV20_logo_2019.png" group-title="Local",KOFY-TV (720p)
+#EXTINF:-1 tvg-id="KOFYDT1.us" tvg-name="KOFY-DT1 San Francisco CA" tvg-country="US" tvg-language="English" tvg-logo="https://media-usba.mybtv.net/logos/20.1-KOFY.png" group-title="Local",KOFY-DT1 San Francisco CA (720p)
https://streams.the6tv.duckdns.org:2443/locals/BayArea/kofy-dt1.m3u8
+#EXTINF:-1 tvg-id="KOFYDT1.us" tvg-name="KOFY-DT1 San Francisco CA" tvg-country="US" tvg-language="English" tvg-logo="https://media-usba.mybtv.net/logos/20.1-KOFY.png" group-title="Local",KOFY-DT1 San Francisco CA (720p)
+https://v-ca.mybtv.net/event/125/1280x720.m3u8?start_time=2021-05-16T23%3A45%3A00%2B00%3A00&end_time=2023-05-17T05%3A00%3A00%2B00%3A00&env=prd&uid=33630
+#EXTINF:-1 tvg-id="KOFYDT1.us" tvg-name="KOFY-DT1 San Francisco CA" tvg-country="US" tvg-language="English" tvg-logo="https://media-usba.mybtv.net/logos/20.1-KOFY.png" group-title="Local",KOFY-DT1 San Francisco CA (480i)
+https://v-ca.mybtv.net/event/125/768x432.m3u8?start_time=2021-05-16T23%3A45%3A00%2B00%3A00&end_time=2023-05-17T05%3A00%3A00%2B00%3A00&env=prd&uid=33630
#EXTINF:-1 tvg-id="KoolTV.us" tvg-name="Kool TV" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/aILvazd.jpg" group-title="Local",Kool TV (1080p)
http://209.182.219.50:1935/roku/roku/playlist.m3u8
-#EXTINF:-1 tvg-id="KQSLDT1.us" tvg-name="KQSL 8 Fort Bragg-San Francisco (KQSL-DT1)" tvg-country="US" tvg-language="English" tvg-logo="https://media-usba.mybtv.net/logos/8.1.png" group-title="Local",KQSL 8 Fort Bragg-San Francisco (KQSL-DT1) (480i)
+#EXTINF:-1 tvg-id="KQSLDT1.us" tvg-name="KQSL 8 Fort Bragg-San Francisco CA (KQSL-DT1)" tvg-country="US" tvg-language="English" tvg-logo="https://media-usba.mybtv.net/logos/8.1.png" group-title="Local",KQSL 8 Fort Bragg-San Francisco CA (KQSL-DT1) (480i)
https://v-ca.mybtv.net/event/740/768x432.m3u8?start_time=2021-05-16T23%3A45%3A00%2B00%3A00&end_time=2023-05-17T05%3A00%3A00%2B00%3A00&env=prd&uid=33630
-#EXTINF:-1 tvg-id="KTLA5.us" tvg-name="KTLA 5 (Los Angeles)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/JH99Psi.jpg" group-title="Local",KTLA 5 (Los Angeles) (720p)
+#EXTINF:-1 tvg-id="KTLA5.us" tvg-name="KTLA 5 Los Angeles CA" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/JH99Psi.jpg" group-title="Local",KTLA 5 Los Angeles CA (720p)
https://bozztv.com/teleyupp1/teleup-N8qwnqgUq2/playlist.m3u8
-#EXTINF:-1 tvg-id="KTLA5.us" tvg-name="KTLA 5 (Los Angeles)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/JH99Psi.jpg" group-title="Local",KTLA 5 (Los Angeles) (720p)
+#EXTINF:-1 tvg-id="KTLA5.us" tvg-name="KTLA 5 Los Angeles CA" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/JH99Psi.jpg" group-title="Local",KTLA 5 Los Angeles CA (720p)
https://content.uplynk.com/channel/6cbf2d32a5384dc1b787539b1102433c.m3u8
-#EXTINF:-1 tvg-id="KTVB.us" tvg-name="KTVB 7 Boise ID" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/2sLPTiM.jpg" group-title="Local",KTVB 7 Boise ID (1080p)
-https://livevideo01.ktvb.com/hls/live/2014542/newscasts/live.m3u8
-#EXTINF:-1 tvg-id="KTVPLD.us" tvg-name="KTVP-LD 7 Phoenix" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/U4bDHHt.png" group-title="Local",KTVP-LD 7 Phoenix (480i)
+#EXTINF:-1 tvg-id="KTVPLD.us" tvg-name="KTVP-LD 7 Phoenix AZ" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/U4bDHHt.png" group-title="Local",KTVP-LD 7 Phoenix AZ (480i)
https://v-px.mybtv.net/event/726/768x432.m3u8?start_time=2021-05-16T23%3A45%3A00%2B00%3A00&end_time=2023-05-17T05%3A00%3A00%2B00%3A00&env=prd&uid=33630
-#EXTINF:-1 tvg-id="KUSIDT1.us" tvg-name="KUSI 51 San Diego (KUSI-DT1)" tvg-country="US" tvg-language="English" tvg-logo="https://yt3.ggpht.com/58o6dSeIv5j0byajnK95NeR_FPMY7G1QXXD1FBeV8z_pl4xJqgVz_YvEO0ZSJc1jdza4WJvNow" group-title="Local",KUSI 51 San Diego (KUSI-DT1) (720p)
+#EXTINF:-1 tvg-id="KUSIDT1.us" tvg-name="KUSI 51 San Diego CA (KUSI-DT1)" tvg-country="US" tvg-language="English" tvg-logo="https://yt3.ggpht.com/58o6dSeIv5j0byajnK95NeR_FPMY7G1QXXD1FBeV8z_pl4xJqgVz_YvEO0ZSJc1jdza4WJvNow" group-title="Local",KUSI 51 San Diego CA (KUSI-DT1) (720p)
https://streams.the6tv.duckdns.org:2443/locals/SanDiego/kusi-dt1.m3u8
#EXTINF:-1 tvg-id="KVVBTV.us" tvg-name="KVVB-TV 33 Victor Valley" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/FzxuNhl.png" group-title="Local",KVVB-TV 33 Victor Valley (1080p)
https://2-fss-2.streamhoster.com/pl_138/amlst:201950-1309230/playlist.m3u8
@@ -2185,14 +2185,14 @@ https://streams.the6tv.duckdns.org:2443/locals/Fresno/kmsg-43.9.m3u8
https://granicusliveus3-a.akamaihd.net/lakehavasucity/G0643_002/playlist.m3u8
#EXTINF:-1 tvg-id="LaoThaiUSTV.us" tvg-name="Lao-Thai US TV" tvg-country="VN" tvg-language="Vietnamese" tvg-logo="" group-title="",Lao-Thai US TV (720p)
https://livefta.malimarcdn.com/ftaedge00/laothaius.sdp/playlist.m3u8
-#EXTINF:-1 tvg-id="LasVegas13ActionNews.us" tvg-name="Las Vegas - 13 Action News" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/QbkW7zY.png" group-title="Local",Las Vegas - 13 Action News (720p)
-https://content.uplynk.com/channel/39919d3f7a074eefa8bf579214e952f9.m3u8
#EXTINF:-1 tvg-id="LSOTL.us" tvg-name="Last Stream On The Left (Adult Swim 24/7 Stream)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/VsAKoN6.jpg" group-title="",Last Stream On The Left (Adult Swim 24/7 Stream) (1080p) [Geo-blocked]
https://adultswim-vodlive.cdn.turner.com/live/lsotl/stream.m3u8
#EXTINF:-1 tvg-id="LatidoMusic.us" tvg-name="Latido Music" tvg-country="US" tvg-language="Spanish" tvg-logo="https://i.imgur.com/p3n3CZP.jpg" group-title="Music",Latido Music (1080p)
https://dai2.xumo.com/amagi_hls_data_xumo1212A-xumovidaprimolatido/CDN/master.m3u8
#EXTINF:-1 tvg-id="LatidoMusic.us" tvg-name="Latido Music" tvg-country="US" tvg-language="Spanish" tvg-logo="https://i.imgur.com/p3n3CZP.jpg" group-title="Music",Latido Music (720p)
https://latidomusic.vizio.wurl.com/manifest/playlist.m3u8
+#EXTINF:-1 tvg-id="LatidoMusic.us" tvg-name="Latido Music" tvg-country="US" tvg-language="Spanish" tvg-logo="https://i.imgur.com/p3n3CZP.jpg" group-title="Music",Latido Music
+https://vidaprimo-distroscale.amagi.tv/playlist.m3u8
#EXTINF:-1 tvg-id="LatidoMusic.us" tvg-name="Latido Music" tvg-country="US" tvg-language="Spanish" tvg-logo="https://i.imgur.com/p3n3CZP.jpg" group-title="Music",Latido Music (1080p)
https://vidaprimo-plex.amagi.tv/hls/amagi_hls_data_vidaprimo-vidaprimo-plex/CDN/playlist.m3u8
#EXTINF:-1 tvg-id="LatidoMusic.us" tvg-name="Latido_Music" tvg-country="US" tvg-language="Spanish" tvg-logo="https://i.imgur.com/p3n3CZP.jpg" group-title="Music",Latido Music (1080p)
@@ -2203,8 +2203,6 @@ https://vidaprimo-samsung.amagi.tv/playlist.m3u8
https://vidaprimo-tcl.amagi.tv/playlist.m3u8
#EXTINF:-1 tvg-id="LatidoMusic.us" tvg-name="Latido Music" tvg-country="US" tvg-language="Spanish" tvg-logo="https://i.imgur.com/p3n3CZP.jpg" group-title="Music",Latido Music (720p)
https://vidaprimo-vizio.amagi.tv/playlist.m3u8
-#EXTINF:-1 tvg-id="LatidoMusic.us" tvg-name="Latido Music" tvg-country="US" tvg-language="Spanish" tvg-logo="https://i.imgur.com/p3n3CZP.jpg" group-title="Music",Latido Music
-https://vidaprimo-distroscale.amagi.tv/playlist.m3u8
#EXTINF:-1 tvg-id="LatinosNCTV.us" tvg-name="Latinos NCTV" tvg-country="US" tvg-language="" tvg-logo="https://www.revistalatinanc.com/wp-content/uploads/2019/02/3287_LatinosncTV.jpg" group-title="",Latinos NCTV
https://live.latinosnc.tv:1443/MRR/live/playlist.m3u8
#EXTINF:-1 tvg-id="LawCrime.us" tvg-name="Law & Crime" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/HY64Nhe.png" group-title="Documentary",Law & Crime (720p)
@@ -2267,6 +2265,8 @@ http://5tv.lincoln.ne.gov/live/WIFI-2096k-1080p/WIFI-2096k-1080p.m3u8
http://80tv.lincoln.ne.gov/live/WIFI-2096k-1080p/WIFI-2096k-1080p.m3u8
#EXTINF:-1 tvg-id="LNKTVHealth.us" tvg-name="LNKTV Health" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/dGgmOY0.png" group-title="",LNKTV Health
http://10tv.lincoln.ne.gov/live/WIFI-2096k-1080p/WIFI-2096k-1080p.m3u8
+#EXTINF:-1 tvg-id="LocalNowAtlantaGA.us" tvg-name="Local Now Atlanta GA" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/x8KRwBz.png" group-title="Local",Local Now Atlanta GA (720p) [Geo-blocked]
+https://prod.localnowapi.com/vod/api/v2/LiveStream/Playback/gaAtlanta/index.m3u8
#EXTINF:-1 tvg-id="LocalNowComedy.us" tvg-name="LocalNow Comedy" tvg-country="US" tvg-language="English" tvg-logo="https://f9q4g5j6.ssl.hwcdn.net/5f9c590dfe3ed0580c0c0494" group-title="Comedy",Local Now Comedy (720p)
https://linear-89.frequency.stream/dist/localnow/89/hls/master/playlist.m3u8
#EXTINF:-1 tvg-id="LocalNowDiscover.us" tvg-name="Local Now Discover" tvg-country="US" tvg-language="English" tvg-logo="https://f9q4g5j6.ssl.hwcdn.net/60481e10fa33524246049ac3" group-title="Travel",Local Now Discover (720p)
@@ -2275,6 +2275,8 @@ https://linear-145.frequency.stream/dist/localnow/145/hls/master/playlist.m3u8
https://linear-141.frequency.stream/dist/localnow/141/hls/master/playlist.m3u8
#EXTINF:-1 tvg-id="LocalNowFireside.us" tvg-name="Local Now Fireside" tvg-country="US" tvg-language="English" tvg-logo="https://f9q4g5j6.ssl.hwcdn.net/5fdd3cad46f6084ed5257102" group-title="Entertainment",Local Now Fireside (720p)
https://linear-127.frequency.stream/dist/localnow/127/hls/master/playlist.m3u8
+#EXTINF:-1 tvg-id="LocalNowHarrisburgPA.us" tvg-name="Local Now Harrisburg PA" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/x8KRwBz.png" group-title="Local",Local Now Harrisburg PA (720p) [Geo-blocked]
+https://prod.localnowapi.com/vod/api/v2/LiveStream/Playback/paHarrisburg/index.m3u8
#EXTINF:-1 tvg-id="LocalNowInsight.us" tvg-name="Local Now Insight" tvg-country="US" tvg-language="English" tvg-logo="https://f9q4g5j6.ssl.hwcdn.net/605e56c1043be40ef1371493" group-title="Lifestyle",Local Now Insight (720p)
https://linear-154.frequency.stream/dist/localnow/154/hls/master/playlist.m3u8
#EXTINF:-1 tvg-id="LocalNowInspiration.us" tvg-name="Local Now Inspiration" tvg-country="US" tvg-language="English" tvg-logo="https://f9q4g5j6.ssl.hwcdn.net/6019e7e94284092f43126172" group-title="Religious",Local Now Inspiration (720p)
@@ -2285,14 +2287,8 @@ https://linear-167.frequency.stream/dist/localnow/167/hls/master/playlist.m3u8
https://linear-168.frequency.stream/dist/localnow/168/hls/master/playlist.m3u8
#EXTINF:-1 tvg-id="LocalNowMusic.us" tvg-name="Local Now Music" tvg-country="US" tvg-language="English" tvg-logo="https://f9q4g5j6.ssl.hwcdn.net/6011c3f68a253a517a15fce8" group-title="Music",Local Now Music (720p)
https://linear-136.frequency.stream/dist/localnow/136/hls/master/playlist.m3u8
-#EXTINF:-1 tvg-id="LocalNowZen.us" tvg-name="Local Now Zen" tvg-country="US" tvg-language="English" tvg-logo="https://f9q4g5j6.ssl.hwcdn.net/5fd9322332850459227a39b8" group-title="",Local Now Zen (720p)
-https://linear-125.frequency.stream/dist/localnow/125/hls/master/playlist.m3u8
-#EXTINF:-1 tvg-id="KABCDT2.us" tvg-name="Localish (KABC-DT2)" tvg-country="US" tvg-language="English" tvg-logo="https://zap2it.tmsimg.com/h3/NowShowing/35230/s70938_h3_aa.png" group-title="Local",Localish (KABC-DT2) (432p)
-https://streams.the6tv.duckdns.org:2443/locals/SoCal/kabc-dt2.m3u8
-#EXTINF:-1 tvg-id="LocalNowAtlantaGA.us" tvg-name="Local Now Atlanta GA" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/x8KRwBz.png" group-title="Local",Local Now Atlanta GA (720p) [Geo-blocked]
-https://prod.localnowapi.com/vod/api/v2/LiveStream/Playback/gaAtlanta/index.m3u8
-#EXTINF:-1 tvg-id="LocalNowHarrisburgPA.us" tvg-name="Local Now Harrisburg PA" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/x8KRwBz.png" group-title="Local",Local Now Harrisburg PA (720p) [Geo-blocked]
-https://prod.localnowapi.com/vod/api/v2/LiveStream/Playback/paHarrisburg/index.m3u8
+#EXTINF:-1 tvg-id="LocalNowNewYorkCityNY.us" tvg-name="Local Now New York City NY" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/x8KRwBz.png" group-title="Local",Local Now New York City NY (720p) [Geo-blocked]
+https://prod.localnowapi.com/vod/api/v2/LiveStream/Playback/nyNewYorkCity/index.m3u8
#EXTINF:-1 tvg-id="LocalNowPhiladelphiaPA.us" tvg-name="Local Now Philadelphia PA" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/x8KRwBz.png" group-title="Local",Local Now Philadelphia PA (720p) [Geo-blocked]
https://prod.localnowapi.com/vod/api/v2/LiveStream/Playback/paPhiladelphia/index.m3u8
#EXTINF:-1 tvg-id="LocalNowPhoenixAZ.us" tvg-name="Local Now Phoenix AZ" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/x8KRwBz.png" group-title="Local",Local Now Phoenix AZ (720p) [Geo-blocked]
@@ -2303,8 +2299,10 @@ https://prod.localnowapi.com/vod/api/v2/LiveStream/Playback/caSanDiego/index.m3u
https://prod.localnowapi.com/vod/api/v2/LiveStream/Playback/moStLouis/index.m3u8
#EXTINF:-1 tvg-id="LocalNowTulsaOK.us" tvg-name="Local Now Tulsa OK" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/x8KRwBz.png" group-title="Local",Local Now Tulsa OK (720p) [Geo-blocked]
https://prod.localnowapi.com/vod/api/v2/LiveStream/Playback/okTulsa/index.m3u8
-#EXTINF:-1 tvg-id="LocalNowNewYorkCityNY.us" tvg-name="Local Now New York City NY" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/x8KRwBz.png" group-title="Local",Local Now New York City NY (720p) [Geo-blocked]
-https://prod.localnowapi.com/vod/api/v2/LiveStream/Playback/nyNewYorkCity/index.m3u8
+#EXTINF:-1 tvg-id="LocalNowZen.us" tvg-name="Local Now Zen" tvg-country="US" tvg-language="English" tvg-logo="https://f9q4g5j6.ssl.hwcdn.net/5fd9322332850459227a39b8" group-title="",Local Now Zen (720p)
+https://linear-125.frequency.stream/dist/localnow/125/hls/master/playlist.m3u8
+#EXTINF:-1 tvg-id="KABCDT2.us" tvg-name="Localish (KABC-DT2)" tvg-country="US" tvg-language="English" tvg-logo="https://zap2it.tmsimg.com/h3/NowShowing/35230/s70938_h3_aa.png" group-title="Local",Localish (KABC-DT2) (432p)
+https://streams.the6tv.duckdns.org:2443/locals/SoCal/kabc-dt2.m3u8
#EXTINF:-1 tvg-id="LoneStar.us" tvg-name="Lone Star" tvg-country="US" tvg-language="English" tvg-logo="https://od.lk/s/MF8yMzMxMzM1NzJf/LoneStar_250x250.png" group-title="Classic",Lone Star (720p)
https://a.jsrdn.com/broadcast/5oWx2VgEmK/+0000/c.m3u8
#EXTINF:-1 tvg-id="LoneStar.us" tvg-name="Lone Star" tvg-country="US" tvg-language="English" tvg-logo="https://od.lk/s/MF8yMzMxMzM1NzJf/LoneStar_250x250.png" group-title="Classic",Lone Star (1080p)
@@ -2643,13 +2641,13 @@ https://appletree-mytime-samsungbrazil.amagi.tv/playlist.m3u8
https://appletree-mytime-samsungmexico.amagi.tv/playlist.m3u8
#EXTINF:-1 tvg-id="MyTimemovienetworkSpain.us" tvg-name="MyTime movie network (Spain)" tvg-country="US" tvg-language="Spanish" tvg-logo="https://od.lk/s/MF8yMjU5ODE1MzJf/MyTime_260x260.png" group-title="Movies",MyTime movie network (Spain) (1080p)
https://appletree-mytimespain-rakuten.amagi.tv/playlist.m3u8
-#EXTINF:-1 tvg-id="KRON.us" tvg-name="myTV 4 San Francisco Bay Area (KRON-TV)" tvg-country="US" tvg-language="English" tvg-logo="https://upload.wikimedia.org/wikipedia/commons/thumb/a/ad/KRON_4_Main_Logo.svg/1920px-KRON_4_Main_Logo.svg.png" group-title="Local",myTV 4 San Francisco Bay Area (KRON-TV) (720p)
+#EXTINF:-1 tvg-id="KRON.us" tvg-name="myTV 4 San Francisco Bay Area CA (KRON-TV)" tvg-country="US" tvg-language="English" tvg-logo="https://upload.wikimedia.org/wikipedia/commons/thumb/a/ad/KRON_4_Main_Logo.svg/1920px-KRON_4_Main_Logo.svg.png" group-title="Local",myTV 4 San Francisco Bay Area CA (KRON-TV) (720p)
https://streams.the6tv.duckdns.org:2443/locals/BayArea/kron-dt1.m3u8
-#EXTINF:-1 tvg-id="KMSG-DT.us" tvg-name="myTV 53.1 Fresno (KMSG)" tvg-country="US" tvg-language="English" tvg-logo="https://media.localbtv.com/images/channelbtv_mytv53/MyTV_53.1_Fresno_Logo_500px.png" group-title="Entertainment",myTV 53.1 Fresno (KMSG) (720p)
+#EXTINF:-1 tvg-id="KMSGDT.us" tvg-name="myTV 53.1 Fresno CA (KMSG)" tvg-country="US" tvg-language="English" tvg-logo="https://media.localbtv.com/images/channelbtv_mytv53/MyTV_53.1_Fresno_Logo_500px.png" group-title="Entertainment",myTV 53.1 Fresno CA (KMSG) (720p)
https://streams.the6tv.duckdns.org:2443/locals/Fresno/kmsg-53.1.m3u8
-#EXTINF:-1 tvg-id="myTV9NewHavenWCTX.us" tvg-name="myTV 9 New Haven (WCTX)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/QwuP3cX.png" group-title="Local",myTV 9 New Haven (WCTX)
+#EXTINF:-1 tvg-id="WCTX.us" tvg-name="myTV 9 New Haven CT (WCTX)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/QwuP3cX.png" group-title="Local",myTV 9 New Haven CT (WCTX)
https://bozztv.com/teleyupp/e5CGxWp8iU/tracks-v3a1/mono.m3u8
-#EXTINF:-1 tvg-id="KCWX.us" tvg-name="myTV San Antonio (KCWX-TV)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/A43Njed.png" group-title="",myTV San Antonio (KCWX-TV)
+#EXTINF:-1 tvg-id="KCWX.us" tvg-name="myTV San Antonio TX (KCWX-TV)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/A43Njed.png" group-title="",myTV San Antonio TX (KCWX-TV)
http://65.36.6.216:1935/live/kcwx.smil/chunklist_w1137540697_b350000_sleng.m3u8
#EXTINF:-1 tvg-id="NASATV.us" tvg-name="NASA TV" tvg-country="US" tvg-language="English" tvg-logo="https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcTupMmB3cw51YJqk8xVO8WZj3yDVr70ayrxkkLS0_SMNT7pR0t6" group-title="Science",NASA TV (720p)
http://iphone-streaming.ustream.tv/uhls/6540154/streams/live/iphone/playlist.m3u8
@@ -2708,7 +2706,7 @@ https://livevideo01.firstcoastnews.com/hls/live/2014550/newscasts/live.m3u8
https://livevideo01.wbir.com/hls/live/2016515/newscasts/live-2000.m3u8
#EXTINF:-1 tvg-id="WXIATV.us" tvg-name="NBC 11 Alive Atlanta GA (WXIA-TV)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/yR2o6Dw.jpg" group-title="Local",NBC 11 Alive Atlanta GA (WXIA-TV) (1080p)
https://livevideo01.11alive.com/hls/live/2015499/newscasts/live.m3u8
-#EXTINF:-1 tvg-id="KNTV.us" tvg-name="NBC 11 Bay Area (KNTV)" tvg-country="US" tvg-language="English" tvg-logo="https://upload.wikimedia.org/wikipedia/commons/thumb/7/77/KNTV_11_NBC_Bay_Area.svg/1920px-KNTV_11_NBC_Bay_Area.svg.png" group-title="Local",NBC 11 Bay Area (KNTV) (1080p)
+#EXTINF:-1 tvg-id="KNTV.us" tvg-name="NBC 11 Bay Area CA (KNTV)" tvg-country="US" tvg-language="English" tvg-logo="https://upload.wikimedia.org/wikipedia/commons/thumb/7/77/KNTV_11_NBC_Bay_Area.svg/1920px-KNTV_11_NBC_Bay_Area.svg.png" group-title="Local",NBC 11 Bay Area CA (KNTV) (1080p)
https://streams.the6tv.duckdns.org:2443/locals/BayArea/kntv-dt1.m3u8
#EXTINF:-1 tvg-id="KARE.us" tvg-name="NBC 11 Minneapolis MN (KARE)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/oyLgNR6.jpg" group-title="Local",NBC 11 Minneapolis MN (KARE) (1080p)
https://livevideo01.kare11.com/hls/live/2014544/newscasts/live.m3u8
@@ -2718,7 +2716,7 @@ https://svc-lvanvato-cxtv-wpxi.cmgvideo.com/wpxi/2564k/index.m3u8
https://kntvlive-f.akamaihd.net/i/kntvb1_1@15530/master.m3u8
#EXTINF:-1 tvg-id="KNTV.us" tvg-name="NBC 11 San Jose CA (KNTV)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/jrWg5qE.jpg" group-title="Local",NBC 11 San Jose CA (KNTV) (240p)
https://kntvlive-f.akamaihd.net/i/kntvb2_1@15530/master.m3u8
-#EXTINF:-1 tvg-id="KPNX.us" tvg-name="NBC 12 Phoenix (KPNX)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/f1FiXuX.jpg" group-title="Local",NBC 12 Phoenix (KPNX) (1080p)
+#EXTINF:-1 tvg-id="KPNX.us" tvg-name="NBC 12 Phoenix AZ (KPNX)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/f1FiXuX.jpg" group-title="Local",NBC 12 Phoenix AZ (KPNX) (1080p)
https://livevideo01.12news.com/hls/live/2015501/newscasts/live.m3u8
#EXTINF:-1 tvg-id="WTHR.us" tvg-name="NBC 13 Indianapolis IN (WTHR)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/DQK8BrE.jpg" group-title="Local",NBC 13 Indianapolis IN (WTHR) (1080p)
https://livevideo01.wthr.com/hls/live/2013835/newscasts/live.m3u8
@@ -2728,31 +2726,35 @@ https://ad-playlistserver.aws.syncbak.com/playlist/899088/master.m3u8?access_tok
https://livevideo01.wgrz.com/hls/live/2016286/newscasts/live.m3u8
#EXTINF:-1 tvg-id="WLBZ.us" tvg-name="NBC 207 Bangor / Portland ME (WLBZ)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/DJrdp7S.jpg" group-title="Local",NBC 207 Bangor Portland ME (WLBZ) (1080p)
https://livevideo01.newscentermaine.com/hls/live/2014540/newscasts/live/wcsh.m3u8
-#EXTINF:-1 tvg-id="WGBA.us" tvg-name="NBC 26 Green Bay (WGBA)" tvg-country="US" tvg-language="English" tvg-logo="https://ewscripps.brightspotcdn.com/dims4/default/31cd86c/2147483647/strip/true/crop/600x200+0+0/resize/400x133!/quality/90/?url=https%3A%2F%2Fewscripps.brightspotcdn.com%2F09%2F30%2F6709482a41ef96f6ba6259d6ae66%2Fwgba-geographic-locator-600x200.png" group-title="Local",NBC 26 Green Bay (WGBA) (720p)
+#EXTINF:-1 tvg-id="WGBA.us" tvg-name="NBC 26 Green Bay WI (WGBA)" tvg-country="US" tvg-language="English" tvg-logo="https://ewscripps.brightspotcdn.com/dims4/default/31cd86c/2147483647/strip/true/crop/600x200+0+0/resize/400x133!/quality/90/?url=https%3A%2F%2Fewscripps.brightspotcdn.com%2F09%2F30%2F6709482a41ef96f6ba6259d6ae66%2Fwgba-geographic-locator-600x200.png" group-title="Local",NBC 26 Green Bay WI (WGBA) (720p)
https://content.uplynk.com/channel/1fbfb28ae5044f619f75ae0adb011989.m3u8
#EXTINF:-1 tvg-id="WCNCTV.us" tvg-name="NBC 36 Charlotte NC (WCNC-TV)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/2EyiCqw.jpg" group-title="Local",NBC 36 Charlotte NC (WCNC-TV) (1080p)
https://livevideo01.wcnc.com/hls/live/2015505/newscasts/live.m3u8
-#EXTINF:-1 tvg-id="KNBC.us" tvg-name="NBC 4 Los Angeles (KNBC)" tvg-country="US" tvg-language="English" tvg-logo="https://upload.wikimedia.org/wikipedia/commons/thumb/e/ed/KNBC_%282011_-_Flat%29.svg/1280px-KNBC_%282011_-_Flat%29.svg.png" group-title="Local",NBC 4 Los Angeles (KNBC) (1080p)
+#EXTINF:-1 tvg-id="KNBC.us" tvg-name="NBC 4 Los Angeles CA (KNBC)" tvg-country="US" tvg-language="English" tvg-logo="https://upload.wikimedia.org/wikipedia/commons/thumb/e/ed/KNBC_%282011_-_Flat%29.svg/1280px-KNBC_%282011_-_Flat%29.svg.png" group-title="Local",NBC 4 Los Angeles CA (KNBC) (1080p)
https://cdnapisec.kaltura.com/p/2630451/sp/2630451/playManifest/entryId/1_61e7x33e/deliveryProfileId/672/protocol/https/format/applehttp/a.m3u8
-#EXTINF:-1 tvg-id="WRCTV.us" tvg-name="NBC 4 News (Washington DC)" tvg-country="US" tvg-language="English" tvg-logo="https://upload.wikimedia.org/wikipedia/commons/0/0f/Logo_of_WRC-TV.png" group-title="Local",NBC 4 News Washington DC (WRC-TV) (720p)
+#EXTINF:-1 tvg-id="WRCTV.us" tvg-name="NBC 4 News Washington DC (WRC-TV)" tvg-country="US" tvg-language="English" tvg-logo="https://upload.wikimedia.org/wikipedia/commons/0/0f/Logo_of_WRC-TV.png" group-title="Local",NBC 4 News Washington DC (WRC-TV) (720p)
https://wrclive-f.akamaihd.net/i/wrcb1_1@46880/master.m3u8
-#EXTINF:-1 tvg-id="WMAQTV.us" tvg-name="NBC 5 News Chicago (WMAQ-TV)" tvg-country="US" tvg-language="English" tvg-logo="https://upload.wikimedia.org/wikipedia/en/a/ac/WMAQ_Logo_2012.png" group-title="Local",NBC 5 News Chicago (WMAQ-TV) (720p)
+#EXTINF:-1 tvg-id="WMAQTV.us" tvg-name="NBC 5 News Chicago IL (WMAQ-TV)" tvg-country="US" tvg-language="English" tvg-logo="https://upload.wikimedia.org/wikipedia/en/a/ac/WMAQ_Logo_2012.png" group-title="Local",NBC 5 News Chicago IL (WMAQ-TV) (720p)
http://wmaqlive-f.akamaihd.net/i/wmaqa1_1@22923/master.m3u8
#EXTINF:-1 tvg-id="KING.us" tvg-name="NBC 5 Seattle WA (KING)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/aDqnu8Y.jpg" group-title="Local",NBC 5 Seattle WA (KING) (1080p)
https://livevideo01.king5.com/hls/live/2006665/live/live.m3u8
-#EXTINF:-1 tvg-id="KSDK.us" tvg-name="NBC 5 St. Louis (KSDK)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/4zQaZBX.jpg" group-title="Local",NBC 5 St. Louis (KSDK) (1080p)
+#EXTINF:-1 tvg-id="KSDK.us" tvg-name="NBC 5 St. Louis MO (KSDK)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/4zQaZBX.jpg" group-title="Local",NBC 5 St. Louis MO (KSDK) (1080p)
https://livevideo01.ksdk.com/hls/live/2014965/newscasts/live.m3u8
#EXTINF:-1 tvg-id="KAGS.us" tvg-name="NBC 6 College Station TX (KAGS)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/zkkg70O.jpg" group-title="Local",NBC 6 College Station TX (KAGS) (1080p)
https://livevideo01.kagstv.com/hls/live/2016283/newscasts/live.m3u8
#EXTINF:-1 tvg-id="KCEN.us" tvg-name="NBC 6 Waco TX (KCEN)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/l9T46o3.jpg" group-title="Local",NBC 6 Waco TX (KCEN) (1080p)
https://livevideo01.kcentv.com/hls/live/2017155/newscasts/live.m3u8
-#EXTINF:-1 tvg-id="KNSD.us" tvg-name="NBC 7 San Diego (KNSD-DT1)" tvg-country="US" tvg-language="English" tvg-logo="https://media.nbcsandiego.com/2021/04/San-Diego.png" group-title="Local",NBC 7 San Diego (KNSD-DT1) (1080p)
+#EXTINF:-1 tvg-id="KTVB.us" tvg-name="NBC 7 Boise ID (KTVB)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/2sLPTiM.jpg" group-title="Local",NBC 7 Boise ID (KTVB) (1080p)
+https://livevideo01.ktvb.com/hls/live/2014542/newscasts/live.m3u8
+#EXTINF:-1 tvg-id="KNSD.us" tvg-name="NBC 7 San Diego CA (KNSD-DT1)" tvg-country="US" tvg-language="English" tvg-logo="https://media.nbcsandiego.com/2021/04/San-Diego.png" group-title="Local",NBC 7 San Diego CA (KNSD-DT1) (1080p)
https://streams.the6tv.duckdns.org:2443/locals/SanDiego/knsd-dt1.m3u8
#EXTINF:-1 tvg-id="KGW.us" tvg-name="NBC 8 Portland OR (KGW)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/tekKgXi.jpg" group-title="Local",NBC 8 Portland OR (KGW) (1080p)
https://livevideo01.kgw.com/hls/live/2015506/newscasts/live.m3u8
#EXTINF:-1 tvg-id="KUSA.us" tvg-name="NBC 9 Denver CO (KUSA)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/uv82wud.jpg" group-title="Local",NBC 9 Denver CO (KUSA) (1080p)
https://livevideo01.9news.com/hls/live/2014548/newscasts/live.m3u8
#EXTINF:-1 tvg-id="NBCNewsNow.us" tvg-name="NBC News Now" tvg-country="US" tvg-language="English" tvg-logo="https://raw.githubusercontent.com/geonsey/Free2ViewTV/master/images/logos/NBCNewsNow.png" group-title="News",NBC News Now (1080p)
+http://nbcnews2.akamaized.net/hls/live/723426-b/NBCNewsPlaymaker24x7Linear99a3a827-ua/master.m3u8
+#EXTINF:-1 tvg-id="NBCNewsNow.us" tvg-name="NBC News Now" tvg-country="US" tvg-language="English" tvg-logo="https://raw.githubusercontent.com/geonsey/Free2ViewTV/master/images/logos/NBCNewsNow.png" group-title="News",NBC News Now (1080p)
https://dai2.xumo.com/amagi_hls_data_xumo1212A-rokunbcnewsnow/CDN/playlist.m3u8
#EXTINF:-1 tvg-id="NBCNewsNow.us" tvg-name="NBC News Now" tvg-country="US" tvg-language="English" tvg-logo="https://raw.githubusercontent.com/geonsey/Free2ViewTV/master/images/logos/NBCNewsNow.png" group-title="News",NBC News Now (1080p)
https://dai2.xumo.com/amagi_hls_data_xumo1212A-xumo-nbcnewsnow/CDN/master.m3u8
@@ -2772,8 +2774,6 @@ https://nbcnews-lh.akamaihd.net/i/nbc_live12@187393/master.m3u8
https://nbcnews-lh.akamaihd.net/i/nbc_live13@187394/master.m3u8
#EXTINF:-1 tvg-id="NBCNewsNowEvent4.us" tvg-name="NBC News Now Event 4" tvg-country="US" tvg-language="English" tvg-logo="https://raw.githubusercontent.com/geonsey/Free2ViewTV/master/images/logos/NBCNewsNow.png" group-title="News",NBC News Now Event 4 (720p)
https://nbcnews-lh.akamaihd.net/i/nbc_live14@187395/master.m3u8
-#EXTINF:-1 tvg-id="NBCNewsNow.us" tvg-name="NBC News Now" tvg-country="US" tvg-language="English" tvg-logo="https://raw.githubusercontent.com/geonsey/Free2ViewTV/master/images/logos/NBCNewsNow.png" group-title="News",NBC News Now (1080p)
-http://nbcnews2.akamaized.net/hls/live/723426-b/NBCNewsPlaymaker24x7Linear99a3a827-ua/master.m3u8
#EXTINF:-1 tvg-id="KWES.us" tvg-name="NBC NewsWest 9 Midland-Odessa TX (KWES)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/qshcBQk.jpg" group-title="Local",NBC NewsWest 9 Midland-Odessa TX (KWES) (1080p)
https://livevideo01.newswest9.com/hls/live/2017380/newscasts/live.m3u8
#EXTINF:-1 tvg-id="NBCLX.us" tvg-name="NBCLX" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/JSCsJc5.png" group-title="Entertainment",NBCLX (1080p)
@@ -2872,12 +2872,12 @@ https://cdn1.mobiletv.bg/T5/bit/bit_794613_850k.m3u8
http://212.224.98.213:2200/EX/Nick_Jr_Too-uk/index.m3u8?token=
#EXTINF:-1 tvg-id="nickjrtoo.us" tvg-name="Nick Jr. Too" tvg-country="UK;IE" tvg-language="English" tvg-logo="http://neczbm.to/images/channels/NickJrToo.png" group-title="Kids",Nick Jr. Too (576p)
http://46.105.112.116/?watch=EX/Nick_Jr_Too-uk
-#EXTINF:-1 tvg-id="NickelodeonSpain.us" tvg-name="Nickelodeon (Spain)" tvg-country="ES" tvg-language="Spanish" tvg-logo="https://static.epg.best/au/Nickelodeon.au.png" group-title="Kids",Nickelodeon (Spain)
-http://5.255.90.184:2001/play/a04d
#EXTINF:-1 tvg-id="Nickelodeon.us" tvg-name="Nickelodeon" tvg-country="US" tvg-language="English" tvg-logo="https://static.epg.best/au/Nickelodeon.au.png" group-title="Kids",Nickelodeon
http://c0.cdn.trinity-tv.net/stream/7tsewn83ddjifz69us9je7eftbm5nuausb4dsvz9g5aydin9672n734qbb9jgcfpiqtpwudvs9dpi2udjc3eh4h462eie5azjmfbfgfjeqfuhjmmgx9zuj736ijg7nffhf8rviq5svkgxbp639y9nfgc.m3u8
#EXTINF:-1 tvg-id="Nickelodeon.us" tvg-name="Nickelodeon" tvg-country="US" tvg-language="English" tvg-logo="https://static.epg.best/au/Nickelodeon.au.png" group-title="Kids",Nickelodeon
http://iptv-telik.usite.pro/load/0-0-1-125-20
+#EXTINF:-1 tvg-id="NickelodeonSpain.us" tvg-name="Nickelodeon (Spain)" tvg-country="ES" tvg-language="Spanish" tvg-logo="https://static.epg.best/au/Nickelodeon.au.png" group-title="Kids",Nickelodeon (Spain)
+http://5.255.90.184:2001/play/a04d
#EXTINF:-1 tvg-id="KETC.us" tvg-name="Nine PBS St. Louis (KETC)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/rMdJ5DP.png" group-title="General",Nine PBS St. Louis (KETC) (1080p) [Geo-blocked]
https://ketcdt.lls.cdn.pbs.org/ketcdt/0436e066-85c7-408b-a4fd-5b492ccb5fd8/primary.m3u8
#EXTINF:-1 tvg-id="NitroCircus.us" tvg-name="Nitro Circus" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/Ri0sB6I.jpg" group-title="Sports",Nitro Circus
@@ -2998,14 +2998,14 @@ https://dai.google.com/linear/hls/event/WB-7LjdsRVm0wVoLZjR8mA/master.m3u8
https://dai2.xumo.com/amagi_hls_data_xumo1212A-redboxoutdooramerica/CDN/playlist.m3u8
#EXTINF:-1 tvg-id="OutdoorAmericaSTIRR.us" tvg-name="Outdoor America (STIRR)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/ldh9sFG.png" group-title="Outdoor",Outdoor America (STIRR) (720p)
https://obsession-media-sinclair.samsung.wurl.com/manifest/playlist.m3u8
+#EXTINF:-1 tvg-id="OutdoorChannel.us" tvg-name="Outdoor Channel" tvg-country="US" tvg-language="English" tvg-logo="http://i.mjh.nz/.images/tv.7outdoor.png" group-title="Outdoor",Outdoor Channel
+http://ott.watch/stream/E7Q3UVKI5H/211.m3u8
#EXTINF:-1 tvg-id="OutdoorChannel.us" tvg-name="Outdoor Channel" tvg-country="AU" tvg-language="English" tvg-logo="http://i.mjh.nz/.images/tv.7outdoor.png" group-title="Outdoor",Outdoor Channel (720p) [Geo-blocked]
https://i.mjh.nz/au/Sydney/tv.7outdoor.m3u8
#EXTINF:-1 tvg-id="OutdoorChannel.us" tvg-name="Outdoor Channel" tvg-country="US" tvg-language="English" tvg-logo="http://i.mjh.nz/.images/tv.7outdoor.png" group-title="Outdoor",Outdoor Channel (720p)
https://livecdn.fptplay.net/world/outdoorfhd_hls.smil/playlist.m3u8
#EXTINF:-1 tvg-id="OutdoorChannel.us" tvg-name="Outdoor Channel" tvg-country="AU" tvg-language="English" tvg-logo="http://i.mjh.nz/.images/tv.7outdoor.png" group-title="Outdoor",Outdoor Channel (1080p)
https://outdoorchannel-samsungau.amagi.tv/playlist.m3u8
-#EXTINF:-1 tvg-id="OutdoorChannel.us" tvg-name="Outdoor Channel" tvg-country="US" tvg-language="English" tvg-logo="http://i.mjh.nz/.images/tv.7outdoor.png" group-title="Outdoor",Outdoor Channel
-http://ott.watch/stream/E7Q3UVKI5H/211.m3u8
#EXTINF:-1 tvg-id="OutsideTV.us" tvg-name="Outside TV" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/7WF7ca4.png" group-title="Outdoor",Outside TV (1080p)
https://dai2.xumo.com/amagi_hls_data_xumo1212A-redboxoutsidetv/CDN/playlist.m3u8
#EXTINF:-1 tvg-id="OutsideTV.us" tvg-name="Outside TV" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/7WF7ca4.png" group-title="Outdoor",Outside TV (720p)
@@ -3242,7 +3242,7 @@ https://bozztv.com/teleyupp/teleup-pettv/playlist.m3u8
https://fc2f8d2d3cec45bb9187e8de15532838.mediatailor.us-east-1.amazonaws.com/v1/master/44f73ba4d03e9607dcd9bebdcb8494d86964f1d8/Roku_BabySharkTV/playlist.m3u8
#EXTINF:-1 tvg-id="PinkfongBabyShark.us" tvg-name="Pinkfong Baby Shark" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/1MGJg18.jpg" group-title="Kids",Pinkfong Baby Shark (1080p)
https://newidco-babysharktv-1.roku.wurl.com/manifest/playlist.m3u8
-#EXTINF:-1 tvg-id="PIX11NewYork.us" tvg-name="PIX11 (New York)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/qDLtnQ6.png" group-title="Local",PIX11 (New York) (720p)
+#EXTINF:-1 tvg-id="PIX11.us" tvg-name="PIX11 New York NY" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/qDLtnQ6.png" group-title="Local",PIX11 New York NY (720p)
https://content.uplynk.com/channel/98828f7707b84dc496472d5789143df2.m3u8
#EXTINF:-1 tvg-id="PlantBasedNetwork.us" tvg-name="Plant Based Network" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/iwd9Jxb.png" group-title="",Plant Based Network (1080p)
https://hls-cdn.tvstartup.net/barakyah-channel/live/pbtv/playlist.m3u8
@@ -4622,6 +4622,8 @@ https://service-stitcher.clusters.pluto.tv/stitch/hls/channel/5ede448d3d50590007
https://service-stitcher.clusters.pluto.tv/stitch/hls/channel/5f3d2b57d6c60800074cb305/master.m3u8?terminate=false&deviceType=web&deviceMake=web&deviceModel=web&sid=19a8ba6e-9713-4df0-83d9-93dd72c984f0&deviceId=5f3d2b57d6c60800074cb305&deviceVersion=DNT&appVersion=DNT&deviceDNT=1&userId=&advertisingId=&deviceLat=&deviceLon=&app_name=&appName=web&buildVersion=&appStoreUrl=&architecture=&includeExtendedEvents=false&marketingRegion=DE&serverSideAds=false
#EXTINF:-1 tvg-id="PlutoTVNick.us" tvg-name="Pluto TV Nick" tvg-country="US" tvg-language="English" tvg-logo="http://images.pluto.tv/channels/5ca673e0d0bd6c2689c94ce3/colorLogoPNG.png" group-title="Kids",Pluto TV Nick (720p)
https://service-stitcher.clusters.pluto.tv/v1/stitch/embed/hls/channel/5ca673e0d0bd6c2689c94ce3/master.m3u8?deviceId=channel&deviceModel=web&deviceVersion=1.0&appVersion=1.0&deviceType=rokuChannel&deviceMake=rokuChannel&deviceDNT=1&advertisingId=channel&embedPartner=rokuChannel&appName=rokuchannel&is_lat=1&bmodel=bm1&content=channel&platform=web&tags=ROKU_CONTENT_TAGS&coppa=false&content_type=livefeed&rdid=channel&genre=ROKU_ADS_CONTENT_GENRE&content_rating=ROKU_ADS_CONTENT_RATING&studio_id=viacom&channel_id=channel
+#EXTINF:-1 tvg-id="PlutoTVNICK.us" tvg-name="Pluto TV Nick" tvg-country="US" tvg-language="Spanish" tvg-logo="http://images.pluto.tv/channels/5ca673e0d0bd6c2689c94ce3/colorLogoPNG.png" group-title="Kids",Pluto TV Nick
+https://service-stitcher.clusters.pluto.tv/v1/stitch/embed/hls/channel/5d8d08395f39465da6fb3ec4/master.m3u8?deviceId=channel&deviceModel=web&deviceVersion=1.0&appVersion=1.0&deviceType=rokuChannel&deviceMake=rokuChannel&deviceDNT=1&advertisingId=channel&embedPartner=rokuChannel&appName=rokuchannel&is_lat=1&bmodel=bm1&content=channel&platform=web&tags=ROKU_CONTENT_TAGS&coppa=false&content_type=livefeed&rdid=channel&genre=ROKU_ADS_CONTENT_GENRE&content_rating=ROKU_ADS_CONTENT_RATING&studio_id=viacom&channel_id=channel
#EXTINF:-1 tvg-id="PlutoTVNick.us" tvg-name="Pluto TV Nick" tvg-country="DE" tvg-language="German" tvg-logo="http://images.pluto.tv/channels/5ca673e0d0bd6c2689c94ce3/colorLogoPNG.png" group-title="Kids",Pluto TV Nick
https://service-stitcher.clusters.pluto.tv/v1/stitch/embed/hls/channel/5ede448d3d50590007a4419e/master.m3u8?deviceId=channel&deviceModel=web&deviceVersion=1.0&appVersion=1.0&deviceType=rokuChannel&deviceMake=rokuChannel&deviceDNT=1&advertisingId=channel&embedPartner=rokuChannel&appName=rokuchannel&is_lat=1&bmodel=bm1&content=channel&platform=web&tags=ROKU_CONTENT_TAGS&coppa=false&content_type=livefeed&rdid=channel&genre=ROKU_ADS_CONTENT_GENRE&content_rating=ROKU_ADS_CONTENT_RATING&studio_id=viacom&channel_id=channel
#EXTINF:-1 tvg-id="PlutoTVNickGermany.us" tvg-name="Pluto TV Nick (Germany)" tvg-country="US" tvg-language="" tvg-logo="https://images.pluto.tv/channels/5ede448d3d50590007a4419e/colorLogoPNG.png" group-title="Kids",Pluto TV Nick (Germany)
@@ -4634,8 +4636,6 @@ https://service-stitcher.clusters.pluto.tv/v1/stitch/embed/hls/channel/5f1215179
https://service-stitcher.clusters.pluto.tv/stitch/hls/channel/5f4796368174910007756454/master.m3u8?terminate=false&deviceType=web&deviceMake=web&deviceModel=web&sid=db62fa8b-15bd-11eb-bde1-0242ac110002&deviceId=5f4796368174910007756454&deviceVersion=DNT&appVersion=DNT&deviceDNT=1&userId=&advertisingId=&deviceLat=&deviceLon=&app_name=&appName=web&buildVersion=&appStoreUrl=&architecture=&includeExtendedEvents=false&marketingRegion=DE&serverSideAds=false
#EXTINF:-1 tvg-id="PlutoTVNickEmmaeinfachmagisch.us" tvg-name="Pluto TV Nick Emma einfach magisch!" tvg-country="DE" tvg-language="German" tvg-logo="https://images.pluto.tv/channels/5f4796368174910007756454/colorLogoPNG.png" group-title="Kids",Pluto TV Nick Emma einfach magisch!
https://service-stitcher.clusters.pluto.tv/v1/stitch/embed/hls/channel/5f4796368174910007756454/master.m3u8?deviceId=channel&deviceModel=web&deviceVersion=1.0&appVersion=1.0&deviceType=rokuChannel&deviceMake=rokuChannel&deviceDNT=1&advertisingId=channel&embedPartner=rokuChannel&appName=rokuchannel&is_lat=1&bmodel=bm1&content=channel&platform=web&tags=ROKU_CONTENT_TAGS&coppa=false&content_type=livefeed&rdid=channel&genre=ROKU_ADS_CONTENT_GENRE&content_rating=ROKU_ADS_CONTENT_RATING&studio_id=viacom&channel_id=channel
-#EXTINF:-1 tvg-id="PlutoTVNICK.us" tvg-name="Pluto TV Nick" tvg-country="US" tvg-language="Spanish" tvg-logo="http://images.pluto.tv/channels/5ca673e0d0bd6c2689c94ce3/colorLogoPNG.png" group-title="Kids",Pluto TV Nick
-https://service-stitcher.clusters.pluto.tv/v1/stitch/embed/hls/channel/5d8d08395f39465da6fb3ec4/master.m3u8?deviceId=channel&deviceModel=web&deviceVersion=1.0&appVersion=1.0&deviceType=rokuChannel&deviceMake=rokuChannel&deviceDNT=1&advertisingId=channel&embedPartner=rokuChannel&appName=rokuchannel&is_lat=1&bmodel=bm1&content=channel&platform=web&tags=ROKU_CONTENT_TAGS&coppa=false&content_type=livefeed&rdid=channel&genre=ROKU_ADS_CONTENT_GENRE&content_rating=ROKU_ADS_CONTENT_RATING&studio_id=viacom&channel_id=channel
#EXTINF:-1 tvg-id="PlutoTVNickJr.us" tvg-name="Pluto TV Nick Jr." tvg-country="US" tvg-language="English" tvg-logo="http://images.pluto.tv/channels/5ca6748a37b88b269472dad9/colorLogoPNG.png" group-title="Kids",Pluto TV Nick Jr. (720p)
http://service-stitcher.clusters.pluto.tv/stitch/hls/channel/5ca6748a37b88b269472dad9/master.m3u8?terminate=false&deviceType=web&deviceMake=web&deviceModel=web&sid=978&deviceId=5ca6748a37b88b269472dad9&deviceVersion=DNT&appVersion=DNT&deviceDNT=0&userId=&advertisingId=&deviceLat=&deviceLon=&app_name=&appName=web&buildVersion=&appStoreUrl=&architecture=&includeExtendedEvents=false&marketingRegion=US&serverSideAds=false
#EXTINF:-1 tvg-id="PlutoTVNickJr.us" tvg-name="Pluto TV Nick Jr." tvg-country="US" tvg-language="English" tvg-logo="http://images.pluto.tv/channels/5ca6748a37b88b269472dad9/colorLogoPNG.png" group-title="Kids",Pluto TV Nick Jr.
@@ -5878,7 +5878,7 @@ https://streams.the6tv.duckdns.org:2443/locals/Pheonix/ktaz-dt1.m3u8
https://wrclive-f.akamaihd.net/i/wrcb2_1@46880/master.m3u8
#EXTINF:-1 tvg-id="KUAN.us" tvg-name="KUAN-LD2" tvg-country="US" tvg-language="Spanish" tvg-logo="https://media.localbtv.com/images/sandiegobtv/logos/20551-88536.png" group-title="Local",teleXitos (KUAN-LD2) (432p)
https://streams.the6tv.duckdns.org:2443/locals/SanDiego/kuan-ld2.m3u8
-#EXTINF:-1 tvg-id="Tempe11.us" tvg-name="Tempe 11" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/2XKjSpy.gif" group-title="Local",Tempe 11 (720p)
+#EXTINF:-1 tvg-id="Tempe11AZ.us" tvg-name="Tempe 11 AZ" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/Rgy4qWN.gif" group-title="Local",Tempe 11 AZ (720p)
https://granicusliveus1-a.akamaihd.net/tempe/G0355_003/playlist.m3u8
#EXTINF:-1 tvg-id="TempleUniversityTV.us" tvg-name="Temple University TV" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/YchkfWy.png" group-title="",Temple University TV (720p)
http://streaming.temple.edu/tutvlive/mp4:8BRYCQMB/playlist.m3u8
@@ -5890,10 +5890,10 @@ https://dai.google.com/linear/hls/event/IG9ThaPaTwCojeoEWVNZRQ/master.m3u8
https://playoutengine.sinclairstoryline.com/playout/9f87522c-5a0e-4ff4-b82c-d5564216132f/f.m3u8
#EXTINF:-1 tvg-id="TennisChannel.us" tvg-name="Tennis Channel" tvg-country="US" tvg-language="English" tvg-logo="https://ott-gateway.sinclairstoryline.com/optimized/90/17ec0fba-d4ec-4421-a665-c8dcab0f80ee-small3x1_TheTChannel.png" group-title="Sports",Tennis Channel [Geo-blocked]
https://playoutengine.sinclairstoryline.com/playout/9f87522c-5a0e-4ff4-b82c-d5564216132f/g.m3u8
-#EXTINF:-1 tvg-id="TennisChannelSTIRR.us" tvg-name="Tennis Channel (STIRR)" tvg-country="US" tvg-language="English" tvg-logo="https://ott-gateway.sinclairstoryline.com/optimized/90/17ec0fba-d4ec-4421-a665-c8dcab0f80ee-small3x1_TheTChannel.png" group-title="Sports",Tennis Channel (STIRR) (720p) [Geo-blocked]
-https://playoutengine.sinclairstoryline.com/playout/9f87522c-5a0e-4ff4-b82c-d5564216132f.m3u8
#EXTINF:-1 tvg-id="TennisChannel.us" tvg-name="Tennis Channel" tvg-country="US" tvg-language="English" tvg-logo="https://ott-gateway.sinclairstoryline.com/optimized/90/17ec0fba-d4ec-4421-a665-c8dcab0f80ee-small3x1_TheTChannel.png" group-title="Sports",Tennis Channel (720p)
https://tennischannel-intl-samsung-uk.amagi.tv/playlist.m3u8
+#EXTINF:-1 tvg-id="TennisChannelSTIRR.us" tvg-name="Tennis Channel (STIRR)" tvg-country="US" tvg-language="English" tvg-logo="https://ott-gateway.sinclairstoryline.com/optimized/90/17ec0fba-d4ec-4421-a665-c8dcab0f80ee-small3x1_TheTChannel.png" group-title="Sports",Tennis Channel (STIRR) (720p) [Geo-blocked]
+https://playoutengine.sinclairstoryline.com/playout/9f87522c-5a0e-4ff4-b82c-d5564216132f.m3u8
#EXTINF:-1 tvg-id="TennisChannelPlus1.us" tvg-name="Tennis Channel+ 1" tvg-country="US" tvg-language="English" tvg-logo="https://ott-gateway.sinclairstoryline.com/optimized/90/17ec0fba-d4ec-4421-a665-c8dcab0f80ee-small3x1_TheTChannel.png" group-title="Sports",Tennis Channel+ 1 (720p) [Geo-blocked]
https://playoutengine.sinclairstoryline.com/playout/f2f8b269-dd85-4434-bdd3-b3a64ca9cd60.m3u8
#EXTINF:-1 tvg-id="TennisChannelPlus2.us" tvg-name="Tennis Channel+ 2" tvg-country="US" tvg-language="English" tvg-logo="https://ott-gateway.sinclairstoryline.com/optimized/90/17ec0fba-d4ec-4421-a665-c8dcab0f80ee-small3x1_TheTChannel.png" group-title="Sports",Tennis Channel+ 2 (720p) [Geo-blocked]
@@ -5992,6 +5992,8 @@ https://thedesignnetwork-tdn-5.plex.wurl.com/manifest/playlist.m3u8
https://thedesignnetwork-tdn-6-eu.rakuten.wurl.com/manifest/playlist.m3u8
#EXTINF:-1 tvg-id="TheEricAndreShow.us" tvg-name="The Eric Andre Show (Adult Swim 24/7 Stream)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/tqHQy32.jpg" group-title="Series",The Eric Andre Show (Adult Swim 24/7 Stream) (1080p) [Geo-blocked]
https://adultswim-vodlive.cdn.turner.com/live/eric-andre/stream.m3u8
+#EXTINF:-1 tvg-id="TheFilmDetective.us" tvg-name="The Film Detective" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/X7NV3X1.png" group-title="Movies",The Film Detective (720p) [Geo-blocked]
+https://a.jsrdn.com/broadcast/9Kl3dcb5l/c.m3u8
#EXTINF:-1 tvg-id="TheFilmDetective.us" tvg-name="The Film Detective" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/X7NV3X1.png" group-title="Movies",The Film Detective
https://a.jsrdn.com/broadcast/9Kl3dcb5l/indexfd_1280x720.m3u8
#EXTINF:-1 tvg-id="TheFilmDetective.us" tvg-name="The Film Detective" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/X7NV3X1.png" group-title="Movies",The Film Detective (720p)
@@ -6004,18 +6006,16 @@ https://filmdetective-plex.amagi.tv/index.m3u8
https://filmdetective-stirr.amagi.tv/index.m3u8
#EXTINF:-1 tvg-id="TheFilmDetective.us" tvg-name="The Film Detective" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/X7NV3X1.png" group-title="Movies",The Film Detective (720p)
https://tfd-distro.amagi.tv/index.m3u8
-#EXTINF:-1 tvg-id="TheFilmDetective.us" tvg-name="The Film Detective" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/X7NV3X1.png" group-title="Movies",The Film Detective (720p) [Geo-blocked]
-https://a.jsrdn.com/broadcast/9Kl3dcb5l/c.m3u8
#EXTINF:-1 tvg-id="TheFirst.us" tvg-name="The First" tvg-country="US" tvg-language="English" tvg-logo="https://f9q4g5j6.ssl.hwcdn.net/5fc953ab6426646dbd7347b4" group-title="News",The First (1080p)
https://redseat-thefirst-glewedtv.amagi.tv/index.m3u8
#EXTINF:-1 tvg-id="TheFirst.us" tvg-name="The First" tvg-country="US" tvg-language="English" tvg-logo="https://f9q4g5j6.ssl.hwcdn.net/5fc953ab6426646dbd7347b4" group-title="News",The First (1080p)
https://redseat-thefirst-localnow.amagi.tv/playlist.m3u8
+#EXTINF:-1 tvg-id="TheFirst.us" tvg-name="The First" tvg-country="US" tvg-language="English" tvg-logo="https://f9q4g5j6.ssl.hwcdn.net/5fc953ab6426646dbd7347b4" group-title="News",The First (1080p)
+https://thefirst-distroscale.amagi.tv/index.m3u8
#EXTINF:-1 tvg-id="TheFirst.us" tvg-name="The First" tvg-country="US" tvg-language="English" tvg-logo="https://f9q4g5j6.ssl.hwcdn.net/5fc953ab6426646dbd7347b4" group-title="News",The First (720p)
https://thefirst-vizio.amagi.tv/playlist.m3u8
#EXTINF:-1 tvg-id="TheFirstSTIRR.us" tvg-name="The First (STIRR)" tvg-country="US" tvg-language="English" tvg-logo="https://f9q4g5j6.ssl.hwcdn.net/5fc953ab6426646dbd7347b4" group-title="News",The First (STIRR) (1080p)
https://dai.google.com/linear/hls/event/nX39-giHRPuKQiVAhua0Kg/master.m3u8
-#EXTINF:-1 tvg-id="TheFirst.us" tvg-name="The First" tvg-country="US" tvg-language="English" tvg-logo="https://f9q4g5j6.ssl.hwcdn.net/5fc953ab6426646dbd7347b4" group-title="News",The First (1080p)
-https://thefirst-distroscale.amagi.tv/index.m3u8
#EXTINF:-1 tvg-id="TheHeartlandNetwork.us" tvg-name="The Heartland Network" tvg-country="US" tvg-language="English" tvg-logo="https://od.lk/s/MF8yMzI1NDE5MjJf/Heartland_720x720.png" group-title="",The Heartland Network (720p)
https://bcovlive-a.akamaihd.net/1ad942d15d9643bea6d199b729e79e48/us-east-1/6183977686001/playlist.m3u8
#EXTINF:-1 tvg-id="TheLoneRangerSTIRR.us" tvg-name="The Lone Ranger (STIRR)" tvg-country="US" tvg-language="English" tvg-logo="https://komonews.com/resources/media2/3x1/full/119/center/90/37204910-429a-4e1a-8c8d-eeb697ae5c62-small3x1_stirr_0120_epg_TheLoneRanger_1920x1080_v3.png?cb=eccbc87e4b5ce2fe28308fd9f2a7baf3" group-title="Classic",The Lone Ranger (STIRR) (720p)
@@ -6088,6 +6088,8 @@ http://147.174.13.196/live/WIFI-1296k-540p/WIFI-1296k-540p.m3u8
https://a.jsrdn.com/broadcast/e6bdcb5ae9/+0000/c.m3u8
#EXTINF:-1 tvg-id="TheVentureBros.us" tvg-name="The Venture Bros. (Adult Swim 24/7 Stream)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/QQc2rh8.jpg" group-title="Animation",The Venture Bros. (Adult Swim 24/7 Stream) (1080p) [Geo-blocked]
https://adultswim-vodlive.cdn.turner.com/live/venture-bros/stream.m3u8
+#EXTINF:-1 tvg-id="WSJ.us" tvg-name="The Wall Street Journal (WSJ)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/2IOP6LI.jpg" group-title="News",The Wall Street Journal (WSJ) (1080p)
+https://wsjlivehls-lh.akamaihd.net/i/events1_1@174990/master.m3u8
#EXTINF:-1 tvg-id="TheWallStreetJournalLive.us" tvg-name="The Wall Street Journal Live" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/ZzyXAKm.jpg" group-title="News",The Wall Street Journal Live (720p)
https://d155hi8td9k2ns.cloudfront.net/out/wapo-medialive3-rtmp/live.m3u8
#EXTINF:-1 tvg-id="TheWeatherChannel.us" tvg-name="The Weather Channel" tvg-country="US" tvg-language="English" tvg-logo="http://i.imgur.com/D4vJyy9.png" group-title="Weather",The Weather Channel (720p) [Geo-blocked]
@@ -6198,6 +6200,8 @@ https://cdn.igocast.com/channel7_hls/channel7_master.m3u8
https://cdn.igocast.com/channel8_hls/channel8_master.m3u8
#EXTINF:-1 tvg-id="I25.9.97126.zap2it.com" tvg-name="25.9" tvg-country="US" tvg-language="English" tvg-logo="https://od.lk/s/MF8yMjM5NTI2OTZf/TV25_360x360.png" group-title="Classic",TV25.9 Retro TV (480p)
https://cdn.igocast.com/channel9_hls/channel9_master.m3u8
+#EXTINF:-1 tvg-id="TVS.us" tvg-name="TVS" tvg-country="US" tvg-language="English" tvg-logo="https://paraguaype.com/wp-content/uploads/2016/07/tvs-encarnacion-televisora-del-sur-en-vivo-online.jpg" group-title="",TVS (720p)
+https://rds3.desdeparaguay.net/tvs/tvs/playlist.m3u8
#EXTINF:-1 tvg-id="TVSBoxing.us" tvg-name="TVS Boxing" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/sal5CkX.jpg" group-title="Sports",TVS Boxing (720p)
https://rpn1.bozztv.com/36bay2/gusa-tvsboxing/index.m3u8
#EXTINF:-1 tvg-id="TVSCipherNetwork.us" tvg-name="TVS Cipher Network" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/pXOyNEy.png" group-title="Classic",TVS Cipher Network (360p)
@@ -6216,8 +6220,6 @@ https://rpn1.bozztv.com/36bay2/gusa-TVSFamilyChannel/index.m3u8
https://rpn1.bozztv.com/36bay2/gusa-TVSFilmNoir/index.m3u8
#EXTINF:-1 tvg-id="TVSFrontPageDetective.us" tvg-name="TVS Front Page Detective" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/pXOyNEy.png" group-title="Classic",TVS Front Page Detective (360p)
https://rpn1.bozztv.com/36bay2/gusa-tvsfrontpagedetective/index.m3u8
-#EXTINF:-1 tvg-id="TVS.us" tvg-name="TVS" tvg-country="US" tvg-language="English" tvg-logo="https://paraguaype.com/wp-content/uploads/2016/07/tvs-encarnacion-televisora-del-sur-en-vivo-online.jpg" group-title="",TVS (720p)
-https://rds3.desdeparaguay.net/tvs/tvs/playlist.m3u8
#EXTINF:-1 tvg-id="TVSHiTops.us" tvg-name="TVS Hi Tops" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/pXOyNEy.png" group-title="Kids",TVS Hi Tops (490p)
https://rpn1.bozztv.com/36bay2/gusa-hitops/index.m3u8
#EXTINF:-1 tvg-id="TVSHollywoodHistory.us" tvg-name="TVS Hollywood History" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/pXOyNEy.png" group-title="Classic",TVS Hollywood History (408p)
@@ -6290,7 +6292,7 @@ https://streams.the6tv.duckdns.org:2443/locals/BayArea/kfsf-dt2.m3u8
https://dai2.xumo.com/amagi_hls_data_xumo1212A-redboxunsolvedmysteries/CDN/playlist.m3u8?p=redbox&deviceid=&is_lat=&subp=RedboxdesktopWebWindows
#EXTINF:-1 tvg-id="UnsolvedMysteriesSTIRR.us" tvg-name="Unsolved Mysteries (STIRR)" tvg-country="US" tvg-language="English" tvg-logo="https://komonews.com/resources/media2/3x1/full/119/center/90/5cf60259-ce44-452f-a8a1-cb33585ea701-small3x1_stirr_1219_epg_unsolvedmysteries_1920x1080.png?cb=c81e728d9d4c2f636f067f89cc14862c" group-title="",Unsolved Mysteries (STIRR) (720p)
https://dai.google.com/linear/hls/event/iLjE1UKtRCiSNkFatA65bg/master.m3u8
-#EXTINF:-1 tvg-id="UNTV.us" tvg-name="UNTV" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/CzIpMK9.jpg" group-title="",UNTV (1080p)
+#EXTINF:-1 tvg-id="UNTV.us" tvg-name="UNTV News & Recue" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/CzIpMK9.jpg" group-title="",UNTV News & Recue (1080p)
https://cdn.untvweb.com/live-stream/playlist.m3u8
#EXTINF:-1 tvg-id="USSPORTTennisPlus1.us" tvg-name="US SPORT Tennis Plus 1" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/tbcqI3o.jpg" group-title="Sports",US SPORT Tennis Plus 1
https://playoutengine.sinclairstoryline.com/playout/f2f8b269-dd85-4434-bdd3-b3a64ca9cd60/g.m3u8
@@ -6308,7 +6310,7 @@ https://dai.google.com/linear/hls/event/1bMiswhQQxqH-X8D3qbmKQ/master.m3u8
https://dai2.xumo.com/amagi_hls_data_xumo1212A-redboxvanityfair/CDN/playlist.m3u8
#EXTINF:-1 tvg-id="VanityFair.us" tvg-name="Vanity Fair" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/KMUYfnz.jpg" group-title="Lifestyle",Vanity Fair
https://dai2.xumo.com/amagi_hls_data_xumo1212A-rokuvanityfair/CDN/playlist.m3u8
-#EXTINF:-1 tvg-id="VBS.us" tvg-name="VBS" tvg-country="US" tvg-language="" tvg-logo="https://i.imgur.com/IWpevBp.jpg" group-title="",VBS
+#EXTINF:-1 tvg-id="VBS.us" tvg-name="VBS Television - Vietnamese TV (VBS)" tvg-country="US" tvg-language="Vietnamese" tvg-logo="https://i.imgur.com/IWpevBp.jpg" group-title="",VBS Television - Vietnamese TV (VBS)
http://uni6rtmp.tulix.tv:1935/vbstv/vbsabr.smil/chunklist_w530158239_b1228800.m3u8
#EXTINF:-1 tvg-id="VENN.us" tvg-name="VENN" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/zVoX1fM.jpg" group-title="Entertainment",VENN (1080p)
https://d80z5qf1qyhbf.cloudfront.net/playlist.m3u8
@@ -6394,10 +6396,10 @@ https://dai2.xumo.com/amagi_hls_data_xumo1212A-redboxvoyager/CDN/playlist.m3u8?p
https://dai2.xumo.com/amagi_hls_data_xumo1212A-rokuvoyagerdocumentaries/CDN/playlist.m3u8
#EXTINF:-1 tvg-id="VSiN.us" tvg-name="VSiN" tvg-country="US" tvg-language="" tvg-logo="https://github.com/geonsey/Free2ViewTV/blob/master/images/logos/VSiN_400x400.png?raw=true" group-title="",VSiN (720p)
https://stream.rcncdn.com/live/vsinproxy.m3u8
-#EXTINF:-1 tvg-id="WABI5.us" tvg-name="WABI 5" tvg-country="US" tvg-language="" tvg-logo="https://i.imgur.com/MsE05yj.jpg" group-title="Local",WABI 5 (720p)
-https://ad-playlistserver.aws.syncbak.com/playlist/13613390/master.m3u8?access_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IkdyYXkyMDE2MDgyOSJ9.eyJtaWQiOjEzNjEzMzkwLCJtZDUiOiI2Y2M5MzczYjIxZWIwNzQ4ZDA0YTRlYzYyMjU2YjBhMiIsImlhdCI6MTQ5NzM4MTU5NywiaXNzIjoiU3luY2JhayIsInN1YiI6IkdyYXkifQ.qJPiMCbnGjAn9wgPrGjVl3M9Xfc4CVSyoZTZ5OH-1jo
#EXTINF:-1 tvg-id="WABI5BangorMaineSTIRR.us" tvg-name="WABI 5 - Bangor - Maine (STIRR)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/D8uMAuV.png" group-title="Local",WABI 5 - Bangor - Maine (STIRR)
https://ad-playlistserver.aws.syncbak.com/playlist/13613390/master.m3u8?access_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IkdyYXkyMDE2MDgyOSJ9.eyJtaWQiOjEzNjEzMzkwL (STIRR)CJtZDUiOiI2Y2M5MzczYjIxZWIwNzQ4ZDA0YTRlYzYyMjU2YjBhMiIsImlhdCI6MTQ5NzM4MTU5NywiaXNzIjoiU3luY2JhayIsInN1YiI6IkdyYXkifQ.qJPiMCbnGjAn9wgPrGjVl3M9Xfc4CVSyoZTZ5OH-1jo
+#EXTINF:-1 tvg-id="WABI.us" tvg-name="WABI 5 Bangor ME (WABI)" tvg-country="US" tvg-language="" tvg-logo="https://i.imgur.com/MsE05yj.jpg" group-title="Local",WABI 5 Bangor ME (WABI) (720p)
+https://ad-playlistserver.aws.syncbak.com/playlist/13613390/master.m3u8?access_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IkdyYXkyMDE2MDgyOSJ9.eyJtaWQiOjEzNjEzMzkwLCJtZDUiOiI2Y2M5MzczYjIxZWIwNzQ4ZDA0YTRlYzYyMjU2YjBhMiIsImlhdCI6MTQ5NzM4MTU5NywiaXNzIjoiU3luY2JhayIsInN1YiI6IkdyYXkifQ.qJPiMCbnGjAn9wgPrGjVl3M9Xfc4CVSyoZTZ5OH-1jo
#EXTINF:-1 tvg-id="WarnerTV.us" tvg-name="Warner TV" tvg-country="US" tvg-language="English" tvg-logo="http://static.epg.best/fr/WarnerTV.fr.png" group-title="Movies",Warner TV
http://203.154.243.89:11205/
#EXTINF:-1 tvg-id="WarnerTV.us" tvg-name="Warner TV" tvg-country="US" tvg-language="English" tvg-logo="http://static.epg.best/fr/WarnerTV.fr.png" group-title="Movies",Warner TV
@@ -6425,9 +6427,9 @@ https://waypointtv-samsung.plex.wurl.com/manifest/1200.m3u8
https://waypointtv-samsung.plex.wurl.com/manifest/playlist.m3u8
#EXTINF:-1 tvg-id="WaypointTV.us" tvg-name="Waypoint TV" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/6r2YHtv.png" group-title="Outdoor",Waypoint TV (720p)
https://waypointtv.samsung.wurl.com/manifest/playlist.m3u8
-#EXTINF:-1 tvg-id="WCCATV.us" tvg-name="WCCA 194 Worcester (WCCA-TV)" tvg-country="US" tvg-language="English" tvg-logo="https://worcester.vod.castus.tv/wccalive.png" group-title="Local",WCCA 194 Worcester (WCCA-TV)
+#EXTINF:-1 tvg-id="WCCATV.us" tvg-name="WCCA 194 Worcester MA (WCCA-TV)" tvg-country="US" tvg-language="English" tvg-logo="https://worcester.vod.castus.tv/wccalive.png" group-title="Local",WCCA 194 Worcester MA (WCCA-TV)
https://worcester.vod.castus.tv/live/ch1.m3u8
-#EXTINF:-1 tvg-id="WCTV.us" tvg-name="WCTV - Washington Township (NJ)" tvg-country="US" tvg-language="English" tvg-logo="https://media.localbtv.com/images/nycbtv/logos/wctv.png" group-title="News",WCTV - Washington Township (NJ) (1080p)
+#EXTINF:-1 tvg-id="WCTV.us" tvg-name="WCTV - Washington Township NJ" tvg-country="US" tvg-language="English" tvg-logo="https://media.localbtv.com/images/nycbtv/logos/wctv.png" group-title="News",WCTV - Washington Township NJ (1080p)
https://streams.the6tv.duckdns.org:2443/cable/wctv.m3u8
#EXTINF:-1 tvg-id="WeatherGoneViral.us" tvg-name="Weather Gone Viral" tvg-country="US" tvg-language="English" tvg-logo="https://f9q4g5j6.ssl.hwcdn.net/5fdd3d8b9f3978154b03b203" group-title="Documentary",Weather Gone Viral (720p)
https://linear-128.frequency.stream/dist/localnow/128/hls/master/playlist.m3u8
@@ -6461,7 +6463,7 @@ https://jukin-weatherspy-2-eu.rakuten.wurl.com/manifest/playlist.m3u8
https://dai.google.com/linear/hls/event/fLqJePs_QR-FRTttC8fMIA/master.m3u8
#EXTINF:-1 tvg-id="WETA.us" tvg-name="WETA Metro (WETA) (Do Not Broadcast .1)" tvg-country="US" tvg-language="English" tvg-logo="https://image.pbs.org/stations/weta-color-single-brand-logo-ZeUHAPm.png" group-title="General",WETA Metro (WETA) (Do Not Broadcast .1) (1080p) [Geo-blocked]
https://wetadt5.lls.cdn.pbs.org/wetadt5/92d89794-5ff0-4fe6-a443-cc888104e021/primary.m3u8
-#EXTINF:-1 tvg-id="WGN9.us" tvg-name="WGN 9 (Chicago)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/dpI43Wg.png" group-title="Local",WGN 9 (Chicago) (720p)
+#EXTINF:-1 tvg-id="WGN.us" tvg-name="WGN 9 Chicago IL" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/dpI43Wg.png" group-title="Local",WGN 9 Chicago IL (720p)
https://bozztv.com/teleyupp1/teleup-mBm5MQ50rA/playlist.m3u8
#EXTINF:-1 tvg-id="WhistleSports.us" tvg-name="Whistle Sports" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/CNO8eQ7.png" group-title="Sports",Whistle Sports (720p)
https://whistle-1.plex.wurl.com/manifest/playlist.m3u8
@@ -6515,7 +6517,7 @@ https://dai.google.com/linear/hls/event/jWaxnXHPQjGX1yTxuFxpuw/master.m3u8
https://dai.google.com/linear/hls/event/kv03O_9RS8-uRahEGtDcjA/master.m3u8
#EXTINF:-1 tvg-id="WLNGRadio.us" tvg-name="WLNG Radio" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/11r6tgW.png" group-title="Local",WLNG Radio (410p)
http://wlngstudiowebcam.srfms.com:1935/wlngstudiowebcam/livestream/playlist.m3u8
-#EXTINF:-1 tvg-id="WMFDTV.us" tvg-name="WMFD-TV 68 Mansfield" tvg-country="US" tvg-language="English" tvg-logo="https://wmfd.com/images/logo.png" group-title="Local",WMFD-TV 68 Mansfield (720p) [Not 24/7]
+#EXTINF:-1 tvg-id="WMFDTV.us" tvg-name="WMFD-TV 68 Mansfield OH" tvg-country="US" tvg-language="English" tvg-logo="https://wmfd.com/images/logo.png" group-title="Local",WMFD-TV 68 Mansfield OH (720p) [Not 24/7]
https://player-api.new.livestream.com/accounts/1194911/events/3466400/live.m3u8
#EXTINF:-1 tvg-id="WorldFashionChannel.us" tvg-name="World Fashion Channel" tvg-country="INT" tvg-language="English" tvg-logo="https://i.imgur.com/JyslMHb.jpg" group-title="Lifestyle",World Fashion Channel (1080p)
https://wfcint.mediacdn.ru/cdn/wfcintweb/playlist.m3u8
@@ -6547,8 +6549,6 @@ https://world-poker-tour.samsung.wurl.com/manifest/playlist.m3u8
http://cdn.elsalvadordigital.com:1935/wowtv/wowtv/playlist.m3u8
#EXTINF:-1 tvg-id="wowkids.us" tvg-name="wow!! kids" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/AWXw9LW.jpg" group-title="Kids",wow!! kids (1080p)
https://wownow-wownowkids-1.vizio.wurl.com/manifest/playlist.m3u8
-#EXTINF:-1 tvg-id="WSJ.us" tvg-name="WSJ" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/2IOP6LI.jpg" group-title="News",WSJ (1080p)
-https://wsjlivehls-lh.akamaihd.net/i/events1_1@174990/master.m3u8
#EXTINF:-1 tvg-id="WuTangCollection.us" tvg-name="Wu Tang Collection" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/jbMmsjI.png" group-title="Music",Wu Tang Collection (720p)
https://stream-us-east-1.getpublica.com/playlist.m3u8?network_id=73
#EXTINF:-1 tvg-id="Xcorps.us" tvg-name="Xcorps" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/SDKWWQu.png" group-title="Series",Xcorps (720p)
@@ -6623,5 +6623,3 @@ https://ln-zen.localnowlive.com/v1/master/385c85a93929f94966d0fb186fc33b431e6f1e
https://rockentertainment-zoomoo-1.samsung.wurl.com/manifest/playlist.m3u8
#EXTINF:-1 tvg-id="KanalDisney.us" tvg-name="Канал Disney" tvg-country="RU" tvg-language="Russian" tvg-logo="https://i.imgur.com/Q9KoVy9.png" group-title="Kids",Канал Disney (576p)
http://188.40.68.167/russia/disney/playlist.m3u8
-#EXTINF:-1 tvg-id="WSBTV.us" tvg-name="ABC 2 Atlanta GA (WSB-TV)" tvg-country="US" tvg-language="English" tvg-logo="https://i.imgur.com/HkY10xX.jpg" group-title="Local",ABC 2 Atlanta GA (WSB-TV)
-https://d2rwx6gwduugne.cloudfront.net/v1/master/77872db67918a151b697b5fbc23151e5765767dc/cmg_PROD_cmg-tv-10010_183ec1c7-4183-4661-803b-3ed282ffb625_LE/in/cmg-wsbtvnow-hls-v3/live.m3u8
diff --git a/package-lock.json b/package-lock.json
index 9e09ceb41f..06cebc1d6c 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -11,6 +11,7 @@
"chalk": "^4.1.1",
"commander": "^7.0.0",
"escape-string-regexp": "^2.0.0",
+ "iptv-checker": "^0.20.2",
"iptv-playlist-parser": "^0.5.4",
"m3u-linter": "^0.1.3",
"markdown-include": "^0.4.3",
@@ -19,11 +20,989 @@
"transliteration": "^2.2.0"
}
},
+ "node_modules/@babel/code-frame": {
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz",
+ "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==",
+ "dependencies": {
+ "@babel/highlight": "^7.14.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/compat-data": {
+ "version": "7.15.0",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.15.0.tgz",
+ "integrity": "sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA==",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/core": {
+ "version": "7.15.0",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.0.tgz",
+ "integrity": "sha512-tXtmTminrze5HEUPn/a0JtOzzfp0nk+UEXQ/tqIJo3WDGypl/2OFQEMll/zSFU8f/lfmfLXvTaORHF3cfXIQMw==",
+ "dependencies": {
+ "@babel/code-frame": "^7.14.5",
+ "@babel/generator": "^7.15.0",
+ "@babel/helper-compilation-targets": "^7.15.0",
+ "@babel/helper-module-transforms": "^7.15.0",
+ "@babel/helpers": "^7.14.8",
+ "@babel/parser": "^7.15.0",
+ "@babel/template": "^7.14.5",
+ "@babel/traverse": "^7.15.0",
+ "@babel/types": "^7.15.0",
+ "convert-source-map": "^1.7.0",
+ "debug": "^4.1.0",
+ "gensync": "^1.0.0-beta.2",
+ "json5": "^2.1.2",
+ "semver": "^6.3.0",
+ "source-map": "^0.5.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/babel"
+ }
+ },
+ "node_modules/@babel/core/node_modules/source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/@babel/generator": {
+ "version": "7.15.0",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.0.tgz",
+ "integrity": "sha512-eKl4XdMrbpYvuB505KTta4AV9g+wWzmVBW69tX0H2NwKVKd2YJbKgyK6M8j/rgLbmHOYJn6rUklV677nOyJrEQ==",
+ "dependencies": {
+ "@babel/types": "^7.15.0",
+ "jsesc": "^2.5.1",
+ "source-map": "^0.5.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/generator/node_modules/source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/@babel/helper-compilation-targets": {
+ "version": "7.15.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.0.tgz",
+ "integrity": "sha512-h+/9t0ncd4jfZ8wsdAsoIxSa61qhBYlycXiHWqJaQBCXAhDCMbPRSMTGnZIkkmt1u4ag+UQmuqcILwqKzZ4N2A==",
+ "dependencies": {
+ "@babel/compat-data": "^7.15.0",
+ "@babel/helper-validator-option": "^7.14.5",
+ "browserslist": "^4.16.6",
+ "semver": "^6.3.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "node_modules/@babel/helper-function-name": {
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz",
+ "integrity": "sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ==",
+ "dependencies": {
+ "@babel/helper-get-function-arity": "^7.14.5",
+ "@babel/template": "^7.14.5",
+ "@babel/types": "^7.14.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-get-function-arity": {
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz",
+ "integrity": "sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg==",
+ "dependencies": {
+ "@babel/types": "^7.14.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-hoist-variables": {
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz",
+ "integrity": "sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ==",
+ "dependencies": {
+ "@babel/types": "^7.14.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-member-expression-to-functions": {
+ "version": "7.15.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.0.tgz",
+ "integrity": "sha512-Jq8H8U2kYiafuj2xMTPQwkTBnEEdGKpT35lJEQsRRjnG0LW3neucsaMWLgKcwu3OHKNeYugfw+Z20BXBSEs2Lg==",
+ "dependencies": {
+ "@babel/types": "^7.15.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-module-imports": {
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.14.5.tgz",
+ "integrity": "sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ==",
+ "dependencies": {
+ "@babel/types": "^7.14.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-module-transforms": {
+ "version": "7.15.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.0.tgz",
+ "integrity": "sha512-RkGiW5Rer7fpXv9m1B3iHIFDZdItnO2/BLfWVW/9q7+KqQSDY5kUfQEbzdXM1MVhJGcugKV7kRrNVzNxmk7NBg==",
+ "dependencies": {
+ "@babel/helper-module-imports": "^7.14.5",
+ "@babel/helper-replace-supers": "^7.15.0",
+ "@babel/helper-simple-access": "^7.14.8",
+ "@babel/helper-split-export-declaration": "^7.14.5",
+ "@babel/helper-validator-identifier": "^7.14.9",
+ "@babel/template": "^7.14.5",
+ "@babel/traverse": "^7.15.0",
+ "@babel/types": "^7.15.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-optimise-call-expression": {
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.14.5.tgz",
+ "integrity": "sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA==",
+ "dependencies": {
+ "@babel/types": "^7.14.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-plugin-utils": {
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz",
+ "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-replace-supers": {
+ "version": "7.15.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.0.tgz",
+ "integrity": "sha512-6O+eWrhx+HEra/uJnifCwhwMd6Bp5+ZfZeJwbqUTuqkhIT6YcRhiZCOOFChRypOIe0cV46kFrRBlm+t5vHCEaA==",
+ "dependencies": {
+ "@babel/helper-member-expression-to-functions": "^7.15.0",
+ "@babel/helper-optimise-call-expression": "^7.14.5",
+ "@babel/traverse": "^7.15.0",
+ "@babel/types": "^7.15.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-simple-access": {
+ "version": "7.14.8",
+ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.14.8.tgz",
+ "integrity": "sha512-TrFN4RHh9gnWEU+s7JloIho2T76GPwRHhdzOWLqTrMnlas8T9O7ec+oEDNsRXndOmru9ymH9DFrEOxpzPoSbdg==",
+ "dependencies": {
+ "@babel/types": "^7.14.8"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-split-export-declaration": {
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz",
+ "integrity": "sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA==",
+ "dependencies": {
+ "@babel/types": "^7.14.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-validator-identifier": {
+ "version": "7.14.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.9.tgz",
+ "integrity": "sha512-pQYxPY0UP6IHISRitNe8bsijHex4TWZXi2HwKVsjPiltzlhse2znVcm9Ace510VT1kxIHjGJCZZQBX2gJDbo0g==",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-validator-option": {
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz",
+ "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helpers": {
+ "version": "7.14.8",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.14.8.tgz",
+ "integrity": "sha512-ZRDmI56pnV+p1dH6d+UN6GINGz7Krps3+270qqI9UJ4wxYThfAIcI5i7j5vXC4FJ3Wap+S9qcebxeYiqn87DZw==",
+ "dependencies": {
+ "@babel/template": "^7.14.5",
+ "@babel/traverse": "^7.14.8",
+ "@babel/types": "^7.14.8"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/highlight": {
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz",
+ "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==",
+ "dependencies": {
+ "@babel/helper-validator-identifier": "^7.14.5",
+ "chalk": "^2.0.0",
+ "js-tokens": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/highlight/node_modules/ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dependencies": {
+ "color-convert": "^1.9.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@babel/highlight/node_modules/chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dependencies": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@babel/highlight/node_modules/color-convert": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+ "dependencies": {
+ "color-name": "1.1.3"
+ }
+ },
+ "node_modules/@babel/highlight/node_modules/color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
+ },
+ "node_modules/@babel/highlight/node_modules/escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/@babel/highlight/node_modules/has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@babel/highlight/node_modules/supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dependencies": {
+ "has-flag": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@babel/parser": {
+ "version": "7.15.0",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.0.tgz",
+ "integrity": "sha512-0v7oNOjr6YT9Z2RAOTv4T9aP+ubfx4Q/OhVtAet7PFDt0t9Oy6Jn+/rfC6b8HJ5zEqrQCiMxJfgtHpmIminmJQ==",
+ "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": {
+ "@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-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.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.14.5.tgz",
+ "integrity": "sha512-u6OXzDaIXjEstBRRoBCQ/uKQKlbuaeE5in0RvWdA4pN6AhqxTIwUsnHPU1CFZA/amYObMsuWhYfRl3Ch90HD0Q==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.14.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/template": {
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.14.5.tgz",
+ "integrity": "sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g==",
+ "dependencies": {
+ "@babel/code-frame": "^7.14.5",
+ "@babel/parser": "^7.14.5",
+ "@babel/types": "^7.14.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/traverse": {
+ "version": "7.15.0",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.0.tgz",
+ "integrity": "sha512-392d8BN0C9eVxVWd8H6x9WfipgVH5IaIoLp23334Sc1vbKKWINnvwRpb4us0xtPaCumlwbTtIYNA0Dv/32sVFw==",
+ "dependencies": {
+ "@babel/code-frame": "^7.14.5",
+ "@babel/generator": "^7.15.0",
+ "@babel/helper-function-name": "^7.14.5",
+ "@babel/helper-hoist-variables": "^7.14.5",
+ "@babel/helper-split-export-declaration": "^7.14.5",
+ "@babel/parser": "^7.15.0",
+ "@babel/types": "^7.15.0",
+ "debug": "^4.1.0",
+ "globals": "^11.1.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/types": {
+ "version": "7.15.0",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.0.tgz",
+ "integrity": "sha512-OBvfqnllOIdX4ojTHpwZbpvz4j3EWyjkZEdmjH0/cgsd6QOdSgU8rLSk6ard/pcW7rlmjdVSX/AWOaORR1uNOQ==",
+ "dependencies": {
+ "@babel/helper-validator-identifier": "^7.14.9",
+ "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/@freearhey/iso-639-3": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/@freearhey/iso-639-3/-/iso-639-3-1.0.0.tgz",
"integrity": "sha512-K4xgPkCktQakQcYv8WuV8gFWAWrAaTrQEVgr/KVdE8k10KL9QmYVw+8Qb9WbtpMr2VXDz5pDwIAEINU5KlnlAg=="
},
+ "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/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": "27.0.6",
+ "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.0.6.tgz",
+ "integrity": "sha512-fMlIBocSHPZ3JxgWiDNW/KPj6s+YRd0hicb33IrmelCcjXo/pXPwvuiKFmZz+XuqI/1u7nbUK10zSsWL/1aegg==",
+ "dependencies": {
+ "@jest/types": "^27.0.6",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "jest-message-util": "^27.0.6",
+ "jest-util": "^27.0.6",
+ "slash": "^3.0.0"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/@jest/core": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.0.6.tgz",
+ "integrity": "sha512-SsYBm3yhqOn5ZLJCtccaBcvD/ccTLCeuDv8U41WJH/V1MW5eKUkeMHT9U+Pw/v1m1AIWlnIW/eM2XzQr0rEmow==",
+ "dependencies": {
+ "@jest/console": "^27.0.6",
+ "@jest/reporters": "^27.0.6",
+ "@jest/test-result": "^27.0.6",
+ "@jest/transform": "^27.0.6",
+ "@jest/types": "^27.0.6",
+ "@types/node": "*",
+ "ansi-escapes": "^4.2.1",
+ "chalk": "^4.0.0",
+ "emittery": "^0.8.1",
+ "exit": "^0.1.2",
+ "graceful-fs": "^4.2.4",
+ "jest-changed-files": "^27.0.6",
+ "jest-config": "^27.0.6",
+ "jest-haste-map": "^27.0.6",
+ "jest-message-util": "^27.0.6",
+ "jest-regex-util": "^27.0.6",
+ "jest-resolve": "^27.0.6",
+ "jest-resolve-dependencies": "^27.0.6",
+ "jest-runner": "^27.0.6",
+ "jest-runtime": "^27.0.6",
+ "jest-snapshot": "^27.0.6",
+ "jest-util": "^27.0.6",
+ "jest-validate": "^27.0.6",
+ "jest-watcher": "^27.0.6",
+ "micromatch": "^4.0.4",
+ "p-each-series": "^2.1.0",
+ "rimraf": "^3.0.0",
+ "slash": "^3.0.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ },
+ "peerDependencies": {
+ "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
+ },
+ "peerDependenciesMeta": {
+ "node-notifier": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@jest/environment": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.0.6.tgz",
+ "integrity": "sha512-4XywtdhwZwCpPJ/qfAkqExRsERW+UaoSRStSHCCiQTUpoYdLukj+YJbQSFrZjhlUDRZeNiU9SFH0u7iNimdiIg==",
+ "dependencies": {
+ "@jest/fake-timers": "^27.0.6",
+ "@jest/types": "^27.0.6",
+ "@types/node": "*",
+ "jest-mock": "^27.0.6"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/@jest/fake-timers": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.0.6.tgz",
+ "integrity": "sha512-sqd+xTWtZ94l3yWDKnRTdvTeZ+A/V7SSKrxsrOKSqdyddb9CeNRF8fbhAU0D7ZJBpTTW2nbp6MftmKJDZfW2LQ==",
+ "dependencies": {
+ "@jest/types": "^27.0.6",
+ "@sinonjs/fake-timers": "^7.0.2",
+ "@types/node": "*",
+ "jest-message-util": "^27.0.6",
+ "jest-mock": "^27.0.6",
+ "jest-util": "^27.0.6"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/@jest/globals": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.0.6.tgz",
+ "integrity": "sha512-DdTGCP606rh9bjkdQ7VvChV18iS7q0IMJVP1piwTWyWskol4iqcVwthZmoJEf7obE1nc34OpIyoVGPeqLC+ryw==",
+ "dependencies": {
+ "@jest/environment": "^27.0.6",
+ "@jest/types": "^27.0.6",
+ "expect": "^27.0.6"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/@jest/reporters": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.0.6.tgz",
+ "integrity": "sha512-TIkBt09Cb2gptji3yJXb3EE+eVltW6BjO7frO7NEfjI9vSIYoISi5R3aI3KpEDXlB1xwB+97NXIqz84qYeYsfA==",
+ "dependencies": {
+ "@bcoe/v8-coverage": "^0.2.3",
+ "@jest/console": "^27.0.6",
+ "@jest/test-result": "^27.0.6",
+ "@jest/transform": "^27.0.6",
+ "@jest/types": "^27.0.6",
+ "chalk": "^4.0.0",
+ "collect-v8-coverage": "^1.0.0",
+ "exit": "^0.1.2",
+ "glob": "^7.1.2",
+ "graceful-fs": "^4.2.4",
+ "istanbul-lib-coverage": "^3.0.0",
+ "istanbul-lib-instrument": "^4.0.3",
+ "istanbul-lib-report": "^3.0.0",
+ "istanbul-lib-source-maps": "^4.0.0",
+ "istanbul-reports": "^3.0.2",
+ "jest-haste-map": "^27.0.6",
+ "jest-resolve": "^27.0.6",
+ "jest-util": "^27.0.6",
+ "jest-worker": "^27.0.6",
+ "slash": "^3.0.0",
+ "source-map": "^0.6.0",
+ "string-length": "^4.0.1",
+ "terminal-link": "^2.0.0",
+ "v8-to-istanbul": "^8.0.0"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ },
+ "peerDependencies": {
+ "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
+ },
+ "peerDependenciesMeta": {
+ "node-notifier": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@jest/source-map": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.0.6.tgz",
+ "integrity": "sha512-Fek4mi5KQrqmlY07T23JRi0e7Z9bXTOOD86V/uS0EIW4PClvPDqZOyFlLpNJheS6QI0FNX1CgmPjtJ4EA/2M+g==",
+ "dependencies": {
+ "callsites": "^3.0.0",
+ "graceful-fs": "^4.2.4",
+ "source-map": "^0.6.0"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/@jest/test-result": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.0.6.tgz",
+ "integrity": "sha512-ja/pBOMTufjX4JLEauLxE3LQBPaI2YjGFtXexRAjt1I/MbfNlMx0sytSX3tn5hSLzQsR3Qy2rd0hc1BWojtj9w==",
+ "dependencies": {
+ "@jest/console": "^27.0.6",
+ "@jest/types": "^27.0.6",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "collect-v8-coverage": "^1.0.0"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/@jest/test-sequencer": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.0.6.tgz",
+ "integrity": "sha512-bISzNIApazYOlTHDum9PwW22NOyDa6VI31n6JucpjTVM0jD6JDgqEZ9+yn575nDdPF0+4csYDxNNW13NvFQGZA==",
+ "dependencies": {
+ "@jest/test-result": "^27.0.6",
+ "graceful-fs": "^4.2.4",
+ "jest-haste-map": "^27.0.6",
+ "jest-runtime": "^27.0.6"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/@jest/transform": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.0.6.tgz",
+ "integrity": "sha512-rj5Dw+mtIcntAUnMlW/Vju5mr73u8yg+irnHwzgtgoeI6cCPOvUwQ0D1uQtc/APmWgvRweEb1g05pkUpxH3iCA==",
+ "dependencies": {
+ "@babel/core": "^7.1.0",
+ "@jest/types": "^27.0.6",
+ "babel-plugin-istanbul": "^6.0.0",
+ "chalk": "^4.0.0",
+ "convert-source-map": "^1.4.0",
+ "fast-json-stable-stringify": "^2.0.0",
+ "graceful-fs": "^4.2.4",
+ "jest-haste-map": "^27.0.6",
+ "jest-regex-util": "^27.0.6",
+ "jest-util": "^27.0.6",
+ "micromatch": "^4.0.4",
+ "pirates": "^4.0.1",
+ "slash": "^3.0.0",
+ "source-map": "^0.6.1",
+ "write-file-atomic": "^3.0.0"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/@jest/types": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.0.6.tgz",
+ "integrity": "sha512-aSquT1qa9Pik26JK5/3rvnYb4bGtm1VFNesHKmNTwmPIgOrixvhL2ghIvFRNEpzy3gU+rUgjIF/KodbkFAl++g==",
+ "dependencies": {
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^16.0.0",
+ "chalk": "^4.0.0"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/@sinonjs/commons": {
+ "version": "1.8.3",
+ "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz",
+ "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==",
+ "dependencies": {
+ "type-detect": "4.0.8"
+ }
+ },
+ "node_modules/@sinonjs/fake-timers": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz",
+ "integrity": "sha512-iQADsW4LBMISqZ6Ci1dupJL9pprqwcVFTcOsEmQOEhW+KLCVn/Y4Jrvg2k19fIHCp+iFprriYPTdRcQR8NbUPg==",
+ "dependencies": {
+ "@sinonjs/commons": "^1.7.0"
+ }
+ },
+ "node_modules/@tootallnate/once": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz",
+ "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==",
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/@types/babel__core": {
+ "version": "7.1.15",
+ "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.15.tgz",
+ "integrity": "sha512-bxlMKPDbY8x5h6HBwVzEOk2C8fb6SLfYQ5Jw3uBYuYF1lfWk/kbLd81la82vrIkBb0l+JdmrZaDikPrNxpS/Ew==",
+ "dependencies": {
+ "@babel/parser": "^7.1.0",
+ "@babel/types": "^7.0.0",
+ "@types/babel__generator": "*",
+ "@types/babel__template": "*",
+ "@types/babel__traverse": "*"
+ }
+ },
+ "node_modules/@types/babel__generator": {
+ "version": "7.6.3",
+ "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.3.tgz",
+ "integrity": "sha512-/GWCmzJWqV7diQW54smJZzWbSFf4QYtF71WCKhcx6Ru/tFyQIY2eiiITcCAeuPbNSvT9YCGkVMqqvSk2Z0mXiA==",
+ "dependencies": {
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "node_modules/@types/babel__template": {
+ "version": "7.4.1",
+ "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz",
+ "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==",
+ "dependencies": {
+ "@babel/parser": "^7.1.0",
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "node_modules/@types/babel__traverse": {
+ "version": "7.14.2",
+ "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.14.2.tgz",
+ "integrity": "sha512-K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA==",
+ "dependencies": {
+ "@babel/types": "^7.3.0"
+ }
+ },
+ "node_modules/@types/graceful-fs": {
+ "version": "4.1.5",
+ "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz",
+ "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==",
+ "dependencies": {
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/istanbul-lib-coverage": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz",
+ "integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw=="
+ },
+ "node_modules/@types/istanbul-lib-report": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz",
+ "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==",
+ "dependencies": {
+ "@types/istanbul-lib-coverage": "*"
+ }
+ },
+ "node_modules/@types/istanbul-reports": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz",
+ "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==",
+ "dependencies": {
+ "@types/istanbul-lib-report": "*"
+ }
+ },
+ "node_modules/@types/node": {
+ "version": "16.4.13",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-16.4.13.tgz",
+ "integrity": "sha512-bLL69sKtd25w7p1nvg9pigE4gtKVpGTPojBFLMkGHXuUgap2sLqQt2qUnqmVCDfzGUL0DRNZP+1prIZJbMeAXg=="
+ },
+ "node_modules/@types/prettier": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.3.2.tgz",
+ "integrity": "sha512-eI5Yrz3Qv4KPUa/nSIAi0h+qX0XyewOliug5F2QAtuRg6Kjg6jfmxe1GIwoIRhZspD1A0RP8ANrPwvEXXtRFog=="
+ },
+ "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": "16.0.4",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz",
+ "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==",
+ "dependencies": {
+ "@types/yargs-parser": "*"
+ }
+ },
+ "node_modules/@types/yargs-parser": {
+ "version": "20.2.1",
+ "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.1.tgz",
+ "integrity": "sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw=="
+ },
+ "node_modules/abab": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz",
+ "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q=="
+ },
+ "node_modules/acorn": {
+ "version": "8.4.1",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.4.1.tgz",
+ "integrity": "sha512-asabaBSkEKosYKMITunzX177CXxQ4Q8BSSzMTKD+FefUhipQC70gfW5SiUDhYQ3vk8G+81HqQk7Fv9OXwwn9KA==",
+ "bin": {
+ "acorn": "bin/acorn"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/acorn-globals": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz",
+ "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==",
+ "dependencies": {
+ "acorn": "^7.1.1",
+ "acorn-walk": "^7.1.1"
+ }
+ },
+ "node_modules/acorn-globals/node_modules/acorn": {
+ "version": "7.4.1",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
+ "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
+ "bin": {
+ "acorn": "bin/acorn"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/acorn-walk": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz",
+ "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==",
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/agent-base": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
+ "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
+ "dependencies": {
+ "debug": "4"
+ },
+ "engines": {
+ "node": ">= 6.0.0"
+ }
+ },
+ "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-regex": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
@@ -43,6 +1022,31 @@
"node": ">=8"
}
},
+ "node_modules/anymatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
+ "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
+ "dependencies": {
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "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/asynckit": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+ "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
+ },
"node_modules/axios": {
"version": "0.21.1",
"resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz",
@@ -59,6 +1063,93 @@
"node": ">=4.0"
}
},
+ "node_modules/babel-jest": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.0.6.tgz",
+ "integrity": "sha512-iTJyYLNc4wRofASmofpOc5NK9QunwMk+TLFgGXsTFS8uEqmd8wdI7sga0FPe2oVH3b5Agt/EAK1QjPEuKL8VfA==",
+ "dependencies": {
+ "@jest/transform": "^27.0.6",
+ "@jest/types": "^27.0.6",
+ "@types/babel__core": "^7.1.14",
+ "babel-plugin-istanbul": "^6.0.0",
+ "babel-preset-jest": "^27.0.6",
+ "chalk": "^4.0.0",
+ "graceful-fs": "^4.2.4",
+ "slash": "^3.0.0"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.8.0"
+ }
+ },
+ "node_modules/babel-plugin-istanbul": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz",
+ "integrity": "sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@istanbuljs/load-nyc-config": "^1.0.0",
+ "@istanbuljs/schema": "^0.1.2",
+ "istanbul-lib-instrument": "^4.0.0",
+ "test-exclude": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/babel-plugin-jest-hoist": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.0.6.tgz",
+ "integrity": "sha512-CewFeM9Vv2gM7Yr9n5eyyLVPRSiBnk6lKZRjgwYnGKSl9M14TMn2vkN02wTF04OGuSDLEzlWiMzvjXuW9mB6Gw==",
+ "dependencies": {
+ "@babel/template": "^7.3.3",
+ "@babel/types": "^7.3.3",
+ "@types/babel__core": "^7.0.0",
+ "@types/babel__traverse": "^7.0.6"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.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": "27.0.6",
+ "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.0.6.tgz",
+ "integrity": "sha512-WObA0/Biw2LrVVwZkF/2GqbOdzhKD6Fkdwhoy9ASIrOWr/zodcSpQh72JOkEn6NWyjmnPDjNSqaGN4KnpKzhXw==",
+ "dependencies": {
+ "babel-plugin-jest-hoist": "^27.0.6",
+ "babel-preset-current-node-syntax": "^1.0.0"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
"node_modules/balanced-match": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
@@ -73,6 +1164,82 @@
"concat-map": "0.0.1"
}
},
+ "node_modules/braces": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+ "dependencies": {
+ "fill-range": "^7.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/browser-process-hrtime": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz",
+ "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow=="
+ },
+ "node_modules/browserslist": {
+ "version": "4.16.7",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.7.tgz",
+ "integrity": "sha512-7I4qVwqZltJ7j37wObBe3SoTz+nS8APaNcrBOlgoirb6/HbEU2XxW/LpUDTCngM6iauwFqmRTuOMfyKnFGY5JA==",
+ "dependencies": {
+ "caniuse-lite": "^1.0.30001248",
+ "colorette": "^1.2.2",
+ "electron-to-chromium": "^1.3.793",
+ "escalade": "^3.1.1",
+ "node-releases": "^1.1.73"
+ },
+ "bin": {
+ "browserslist": "cli.js"
+ },
+ "engines": {
+ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ }
+ },
+ "node_modules/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": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
+ "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ=="
+ },
+ "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": ">=6"
+ }
+ },
+ "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/caniuse-lite": {
+ "version": "1.0.30001249",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001249.tgz",
+ "integrity": "sha512-vcX4U8lwVXPdqzPWi6cAJ3FnQaqXbBqy/GZseKNQzRj37J7qZdGcBtxq/QLFNLLlfsoXLUdHw8Iwenri86Tagw==",
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ }
+ },
"node_modules/chalk": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
@@ -85,6 +1252,24 @@
"node": ">=10"
}
},
+ "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": ">=10"
+ }
+ },
+ "node_modules/ci-info": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.2.0.tgz",
+ "integrity": "sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A=="
+ },
+ "node_modules/cjs-module-lexer": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz",
+ "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA=="
+ },
"node_modules/cliui": {
"version": "7.0.4",
"resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
@@ -95,6 +1280,20 @@
"wrap-ansi": "^7.0.0"
}
},
+ "node_modules/co": {
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
+ "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=",
+ "engines": {
+ "iojs": ">= 1.0.0",
+ "node": ">= 0.12.0"
+ }
+ },
+ "node_modules/collect-v8-coverage": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz",
+ "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg=="
+ },
"node_modules/color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
@@ -111,6 +1310,35 @@
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
},
+ "node_modules/colorette": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz",
+ "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w=="
+ },
+ "node_modules/colors": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz",
+ "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==",
+ "engines": {
+ "node": ">=0.1.90"
+ }
+ },
+ "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/command-exists": {
+ "version": "1.2.9",
+ "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz",
+ "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w=="
+ },
"node_modules/commander": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
@@ -124,6 +1352,167 @@
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
},
+ "node_modules/convert-source-map": {
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz",
+ "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==",
+ "dependencies": {
+ "safe-buffer": "~5.1.1"
+ }
+ },
+ "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/cssom": {
+ "version": "0.4.4",
+ "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz",
+ "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw=="
+ },
+ "node_modules/cssstyle": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz",
+ "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==",
+ "dependencies": {
+ "cssom": "~0.3.6"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/cssstyle/node_modules/cssom": {
+ "version": "0.3.8",
+ "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz",
+ "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg=="
+ },
+ "node_modules/data-urls": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz",
+ "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==",
+ "dependencies": {
+ "abab": "^2.0.3",
+ "whatwg-mimetype": "^2.3.0",
+ "whatwg-url": "^8.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/dateformat": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz",
+ "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/debug": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
+ "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/decimal.js": {
+ "version": "10.3.1",
+ "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.3.1.tgz",
+ "integrity": "sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ=="
+ },
+ "node_modules/dedent": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz",
+ "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw="
+ },
+ "node_modules/deep-is": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
+ "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ="
+ },
+ "node_modules/deepmerge": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz",
+ "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/delayed-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+ "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "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/diff-sequences": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.0.6.tgz",
+ "integrity": "sha512-ag6wfpBFyNXZ0p8pcuIDS//D8H062ZQJ3fzYxjpmeKjnz8W4pekL3AI8VohmyZmsWW2PWaHgjsmqR6L13101VQ==",
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/domexception": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz",
+ "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==",
+ "dependencies": {
+ "webidl-conversions": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/domexception/node_modules/webidl-conversions": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz",
+ "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/electron-to-chromium": {
+ "version": "1.3.799",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.799.tgz",
+ "integrity": "sha512-V2rbYWdGvSqrg+95KjkVuSi41bGfrhrOzjl1tSi2VLnm0mRe3FsSvhiqidSiSll9WiMhrQAhpDcW/wcqK3c+Yw=="
+ },
+ "node_modules/emittery": {
+ "version": "0.8.1",
+ "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz",
+ "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sindresorhus/emittery?sponsor=1"
+ }
+ },
"node_modules/emoji-regex": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
@@ -145,11 +1534,197 @@
"node": ">=8"
}
},
+ "node_modules/escodegen": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz",
+ "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==",
+ "dependencies": {
+ "esprima": "^4.0.1",
+ "estraverse": "^5.2.0",
+ "esutils": "^2.0.2",
+ "optionator": "^0.8.1"
+ },
+ "bin": {
+ "escodegen": "bin/escodegen.js",
+ "esgenerate": "bin/esgenerate.js"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "optionalDependencies": {
+ "source-map": "~0.6.1"
+ }
+ },
+ "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/estraverse": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz",
+ "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==",
+ "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/exit": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
+ "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=",
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/expect": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/expect/-/expect-27.0.6.tgz",
+ "integrity": "sha512-psNLt8j2kwg42jGBDSfAlU49CEZxejN1f1PlANWDZqIhBOVU/c2Pm888FcjWJzFewhIsNWfZJeLjUjtKGiPuSw==",
+ "dependencies": {
+ "@jest/types": "^27.0.6",
+ "ansi-styles": "^5.0.0",
+ "jest-get-type": "^27.0.6",
+ "jest-matcher-utils": "^27.0.6",
+ "jest-message-util": "^27.0.6",
+ "jest-regex-util": "^27.0.6"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/expect/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/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=="
+ },
+ "node_modules/fast-levenshtein": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
+ "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc="
+ },
+ "node_modules/fb-watchman": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz",
+ "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==",
+ "dependencies": {
+ "bser": "2.1.1"
+ }
+ },
+ "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": {
+ "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/form-data": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz",
+ "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==",
+ "dependencies": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.8",
+ "mime-types": "^2.1.12"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
"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.2",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
+ "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
+ "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",
@@ -158,6 +1733,33 @@
"node": "6.* || 8.* || >= 10.*"
}
},
+ "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-stdin": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-7.0.0.tgz",
+ "integrity": "sha512-zRKcywvrXlXsA0v0i9Io4KDRaAw7+a1ZpjRwl9Wox8PFlVCCHra7E9c4kqXCoCM9nR5tBkaTTZRBoCm60bFqTQ==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "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.1.6",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
@@ -174,6 +1776,30 @@
"node": "*"
}
},
+ "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/graceful-fs": {
+ "version": "4.2.8",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz",
+ "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg=="
+ },
+ "node_modules/has": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
+ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
+ "dependencies": {
+ "function-bind": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4.0"
+ }
+ },
"node_modules/has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
@@ -182,6 +1808,89 @@
"node": ">=8"
}
},
+ "node_modules/html-encoding-sniffer": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz",
+ "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==",
+ "dependencies": {
+ "whatwg-encoding": "^1.0.5"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "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/http-proxy-agent": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz",
+ "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==",
+ "dependencies": {
+ "@tootallnate/once": "1",
+ "agent-base": "6",
+ "debug": "4"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/https-proxy-agent": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz",
+ "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==",
+ "dependencies": {
+ "agent-base": "6",
+ "debug": "4"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "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.17.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/import-local": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz",
+ "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==",
+ "dependencies": {
+ "pkg-dir": "^4.2.0",
+ "resolve-cwd": "^3.0.0"
+ },
+ "bin": {
+ "import-local-fixture": "fixtures/cli.js"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/imurmurhash": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
+ "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
+ "engines": {
+ "node": ">=0.8.19"
+ }
+ },
"node_modules/inflight": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
@@ -196,11 +1905,62 @@
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
},
+ "node_modules/iptv-checker": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/iptv-checker/-/iptv-checker-0.20.2.tgz",
+ "integrity": "sha512-3lzN3q1l3TApHvsP6Rt4ALrs8PE+Zb2gmuykwPzQNtlfazIUR73Yeq/ypwpqRwYJxSq5WMoEdQHwV4KcR7y5Ig==",
+ "dependencies": {
+ "axios": "^0.21.1",
+ "colors": "^1.4.0",
+ "command-exists": "^1.2.9",
+ "commander": "^2.20.0",
+ "dateformat": "^3.0.3",
+ "get-stdin": "^7.0.0",
+ "iptv-playlist-parser": "^0.5.4",
+ "jest": "^27.0.6",
+ "lodash.chunk": "^4.2.0",
+ "progress": "^2.0.3",
+ "valid-url": "^1.0.9"
+ },
+ "bin": {
+ "iptv-checker": "bin/iptv-checker.js"
+ },
+ "engines": {
+ "node": ">=10.0.0"
+ }
+ },
+ "node_modules/iptv-checker/node_modules/commander": {
+ "version": "2.20.3",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
+ "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="
+ },
"node_modules/iptv-playlist-parser": {
"version": "0.5.4",
"resolved": "https://registry.npmjs.org/iptv-playlist-parser/-/iptv-playlist-parser-0.5.4.tgz",
"integrity": "sha512-sgzJ83LFLJQX8RhnWvjxEyeYwelLf+vPdNLWYwlozkmSl8IxU/y2qBxyGCvyqCKpIQDdU35wkrZ3k1nMpI3KGQ=="
},
+ "node_modules/is-ci": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.0.tgz",
+ "integrity": "sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ==",
+ "dependencies": {
+ "ci-info": "^3.1.1"
+ },
+ "bin": {
+ "is-ci": "bin.js"
+ }
+ },
+ "node_modules/is-core-module": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.5.0.tgz",
+ "integrity": "sha512-TXCMSDsEHMEEZ6eCA8rwRDbLu55MRGmrctljsBX/2v1d9/GzqHOxW5c5oPSgrUt2vBFXebu9rGqckXGPWOlYpg==",
+ "dependencies": {
+ "has": "^1.0.3"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/is-fullwidth-code-point": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
@@ -209,6 +1969,855 @@
"node": ">=8"
}
},
+ "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-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-potential-custom-element-name": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz",
+ "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ=="
+ },
+ "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-typedarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+ "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
+ },
+ "node_modules/isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA="
+ },
+ "node_modules/istanbul-lib-coverage": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz",
+ "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/istanbul-lib-instrument": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz",
+ "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==",
+ "dependencies": {
+ "@babel/core": "^7.7.5",
+ "@istanbuljs/schema": "^0.1.2",
+ "istanbul-lib-coverage": "^3.0.0",
+ "semver": "^6.3.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/istanbul-lib-report": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz",
+ "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==",
+ "dependencies": {
+ "istanbul-lib-coverage": "^3.0.0",
+ "make-dir": "^3.0.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/istanbul-lib-source-maps": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz",
+ "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==",
+ "dependencies": {
+ "debug": "^4.1.1",
+ "istanbul-lib-coverage": "^3.0.0",
+ "source-map": "^0.6.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/istanbul-reports": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz",
+ "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==",
+ "dependencies": {
+ "html-escaper": "^2.0.0",
+ "istanbul-lib-report": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/jest/-/jest-27.0.6.tgz",
+ "integrity": "sha512-EjV8aETrsD0wHl7CKMibKwQNQc3gIRBXlTikBmmHUeVMKaPFxdcUIBfoDqTSXDoGJIivAYGqCWVlzCSaVjPQsA==",
+ "dependencies": {
+ "@jest/core": "^27.0.6",
+ "import-local": "^3.0.2",
+ "jest-cli": "^27.0.6"
+ },
+ "bin": {
+ "jest": "bin/jest.js"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.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": "27.0.6",
+ "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.0.6.tgz",
+ "integrity": "sha512-BuL/ZDauaq5dumYh5y20sn4IISnf1P9A0TDswTxUi84ORGtVa86ApuBHqICL0vepqAnZiY6a7xeSPWv2/yy4eA==",
+ "dependencies": {
+ "@jest/types": "^27.0.6",
+ "execa": "^5.0.0",
+ "throat": "^6.0.1"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-circus": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.0.6.tgz",
+ "integrity": "sha512-OJlsz6BBeX9qR+7O9lXefWoc2m9ZqcZ5Ohlzz0pTEAG4xMiZUJoacY8f4YDHxgk0oKYxj277AfOk9w6hZYvi1Q==",
+ "dependencies": {
+ "@jest/environment": "^27.0.6",
+ "@jest/test-result": "^27.0.6",
+ "@jest/types": "^27.0.6",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "co": "^4.6.0",
+ "dedent": "^0.7.0",
+ "expect": "^27.0.6",
+ "is-generator-fn": "^2.0.0",
+ "jest-each": "^27.0.6",
+ "jest-matcher-utils": "^27.0.6",
+ "jest-message-util": "^27.0.6",
+ "jest-runtime": "^27.0.6",
+ "jest-snapshot": "^27.0.6",
+ "jest-util": "^27.0.6",
+ "pretty-format": "^27.0.6",
+ "slash": "^3.0.0",
+ "stack-utils": "^2.0.3",
+ "throat": "^6.0.1"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-cli": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.0.6.tgz",
+ "integrity": "sha512-qUUVlGb9fdKir3RDE+B10ULI+LQrz+MCflEH2UJyoUjoHHCbxDrMxSzjQAPUMsic4SncI62ofYCcAvW6+6rhhg==",
+ "dependencies": {
+ "@jest/core": "^27.0.6",
+ "@jest/test-result": "^27.0.6",
+ "@jest/types": "^27.0.6",
+ "chalk": "^4.0.0",
+ "exit": "^0.1.2",
+ "graceful-fs": "^4.2.4",
+ "import-local": "^3.0.2",
+ "jest-config": "^27.0.6",
+ "jest-util": "^27.0.6",
+ "jest-validate": "^27.0.6",
+ "prompts": "^2.0.1",
+ "yargs": "^16.0.3"
+ },
+ "bin": {
+ "jest": "bin/jest.js"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ },
+ "peerDependencies": {
+ "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
+ },
+ "peerDependenciesMeta": {
+ "node-notifier": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/jest-config": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.0.6.tgz",
+ "integrity": "sha512-JZRR3I1Plr2YxPBhgqRspDE2S5zprbga3swYNrvY3HfQGu7p/GjyLOqwrYad97tX3U3mzT53TPHVmozacfP/3w==",
+ "dependencies": {
+ "@babel/core": "^7.1.0",
+ "@jest/test-sequencer": "^27.0.6",
+ "@jest/types": "^27.0.6",
+ "babel-jest": "^27.0.6",
+ "chalk": "^4.0.0",
+ "deepmerge": "^4.2.2",
+ "glob": "^7.1.1",
+ "graceful-fs": "^4.2.4",
+ "is-ci": "^3.0.0",
+ "jest-circus": "^27.0.6",
+ "jest-environment-jsdom": "^27.0.6",
+ "jest-environment-node": "^27.0.6",
+ "jest-get-type": "^27.0.6",
+ "jest-jasmine2": "^27.0.6",
+ "jest-regex-util": "^27.0.6",
+ "jest-resolve": "^27.0.6",
+ "jest-runner": "^27.0.6",
+ "jest-util": "^27.0.6",
+ "jest-validate": "^27.0.6",
+ "micromatch": "^4.0.4",
+ "pretty-format": "^27.0.6"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ },
+ "peerDependencies": {
+ "ts-node": ">=9.0.0"
+ },
+ "peerDependenciesMeta": {
+ "ts-node": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/jest-diff": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.0.6.tgz",
+ "integrity": "sha512-Z1mqgkTCSYaFgwTlP/NUiRzdqgxmmhzHY1Tq17zL94morOHfHu3K4bgSgl+CR4GLhpV8VxkuOYuIWnQ9LnFqmg==",
+ "dependencies": {
+ "chalk": "^4.0.0",
+ "diff-sequences": "^27.0.6",
+ "jest-get-type": "^27.0.6",
+ "pretty-format": "^27.0.6"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-docblock": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.0.6.tgz",
+ "integrity": "sha512-Fid6dPcjwepTFraz0YxIMCi7dejjJ/KL9FBjPYhBp4Sv1Y9PdhImlKZqYU555BlN4TQKaTc+F2Av1z+anVyGkA==",
+ "dependencies": {
+ "detect-newline": "^3.0.0"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-each": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.0.6.tgz",
+ "integrity": "sha512-m6yKcV3bkSWrUIjxkE9OC0mhBZZdhovIW5ergBYirqnkLXkyEn3oUUF/QZgyecA1cF1QFyTE8bRRl8Tfg1pfLA==",
+ "dependencies": {
+ "@jest/types": "^27.0.6",
+ "chalk": "^4.0.0",
+ "jest-get-type": "^27.0.6",
+ "jest-util": "^27.0.6",
+ "pretty-format": "^27.0.6"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-environment-jsdom": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.0.6.tgz",
+ "integrity": "sha512-FvetXg7lnXL9+78H+xUAsra3IeZRTiegA3An01cWeXBspKXUhAwMM9ycIJ4yBaR0L7HkoMPaZsozCLHh4T8fuw==",
+ "dependencies": {
+ "@jest/environment": "^27.0.6",
+ "@jest/fake-timers": "^27.0.6",
+ "@jest/types": "^27.0.6",
+ "@types/node": "*",
+ "jest-mock": "^27.0.6",
+ "jest-util": "^27.0.6",
+ "jsdom": "^16.6.0"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-environment-node": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.0.6.tgz",
+ "integrity": "sha512-+Vi6yLrPg/qC81jfXx3IBlVnDTI6kmRr08iVa2hFCWmJt4zha0XW7ucQltCAPhSR0FEKEoJ3i+W4E6T0s9is0w==",
+ "dependencies": {
+ "@jest/environment": "^27.0.6",
+ "@jest/fake-timers": "^27.0.6",
+ "@jest/types": "^27.0.6",
+ "@types/node": "*",
+ "jest-mock": "^27.0.6",
+ "jest-util": "^27.0.6"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-get-type": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.0.6.tgz",
+ "integrity": "sha512-XTkK5exIeUbbveehcSR8w0bhH+c0yloW/Wpl+9vZrjzztCPWrxhHwkIFpZzCt71oRBsgxmuUfxEqOYoZI2macg==",
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-haste-map": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.0.6.tgz",
+ "integrity": "sha512-4ldjPXX9h8doB2JlRzg9oAZ2p6/GpQUNAeiYXqcpmrKbP0Qev0wdZlxSMOmz8mPOEnt4h6qIzXFLDi8RScX/1w==",
+ "dependencies": {
+ "@jest/types": "^27.0.6",
+ "@types/graceful-fs": "^4.1.2",
+ "@types/node": "*",
+ "anymatch": "^3.0.3",
+ "fb-watchman": "^2.0.0",
+ "graceful-fs": "^4.2.4",
+ "jest-regex-util": "^27.0.6",
+ "jest-serializer": "^27.0.6",
+ "jest-util": "^27.0.6",
+ "jest-worker": "^27.0.6",
+ "micromatch": "^4.0.4",
+ "walker": "^1.0.7"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ },
+ "optionalDependencies": {
+ "fsevents": "^2.3.2"
+ }
+ },
+ "node_modules/jest-jasmine2": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.0.6.tgz",
+ "integrity": "sha512-cjpH2sBy+t6dvCeKBsHpW41mjHzXgsavaFMp+VWRf0eR4EW8xASk1acqmljFtK2DgyIECMv2yCdY41r2l1+4iA==",
+ "dependencies": {
+ "@babel/traverse": "^7.1.0",
+ "@jest/environment": "^27.0.6",
+ "@jest/source-map": "^27.0.6",
+ "@jest/test-result": "^27.0.6",
+ "@jest/types": "^27.0.6",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "co": "^4.6.0",
+ "expect": "^27.0.6",
+ "is-generator-fn": "^2.0.0",
+ "jest-each": "^27.0.6",
+ "jest-matcher-utils": "^27.0.6",
+ "jest-message-util": "^27.0.6",
+ "jest-runtime": "^27.0.6",
+ "jest-snapshot": "^27.0.6",
+ "jest-util": "^27.0.6",
+ "pretty-format": "^27.0.6",
+ "throat": "^6.0.1"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-leak-detector": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.0.6.tgz",
+ "integrity": "sha512-2/d6n2wlH5zEcdctX4zdbgX8oM61tb67PQt4Xh8JFAIy6LRKUnX528HulkaG6nD5qDl5vRV1NXejCe1XRCH5gQ==",
+ "dependencies": {
+ "jest-get-type": "^27.0.6",
+ "pretty-format": "^27.0.6"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-matcher-utils": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.0.6.tgz",
+ "integrity": "sha512-OFgF2VCQx9vdPSYTHWJ9MzFCehs20TsyFi6bIHbk5V1u52zJOnvF0Y/65z3GLZHKRuTgVPY4Z6LVePNahaQ+tA==",
+ "dependencies": {
+ "chalk": "^4.0.0",
+ "jest-diff": "^27.0.6",
+ "jest-get-type": "^27.0.6",
+ "pretty-format": "^27.0.6"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-message-util": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.0.6.tgz",
+ "integrity": "sha512-rBxIs2XK7rGy+zGxgi+UJKP6WqQ+KrBbD1YMj517HYN3v2BG66t3Xan3FWqYHKZwjdB700KiAJ+iES9a0M+ixw==",
+ "dependencies": {
+ "@babel/code-frame": "^7.12.13",
+ "@jest/types": "^27.0.6",
+ "@types/stack-utils": "^2.0.0",
+ "chalk": "^4.0.0",
+ "graceful-fs": "^4.2.4",
+ "micromatch": "^4.0.4",
+ "pretty-format": "^27.0.6",
+ "slash": "^3.0.0",
+ "stack-utils": "^2.0.3"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-mock": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.0.6.tgz",
+ "integrity": "sha512-lzBETUoK8cSxts2NYXSBWT+EJNzmUVtVVwS1sU9GwE1DLCfGsngg+ZVSIe0yd0ZSm+y791esiuo+WSwpXJQ5Bw==",
+ "dependencies": {
+ "@jest/types": "^27.0.6",
+ "@types/node": "*"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-pnp-resolver": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz",
+ "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==",
+ "engines": {
+ "node": ">=6"
+ },
+ "peerDependencies": {
+ "jest-resolve": "*"
+ },
+ "peerDependenciesMeta": {
+ "jest-resolve": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/jest-regex-util": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.0.6.tgz",
+ "integrity": "sha512-SUhPzBsGa1IKm8hx2F4NfTGGp+r7BXJ4CulsZ1k2kI+mGLG+lxGrs76veN2LF/aUdGosJBzKgXmNCw+BzFqBDQ==",
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-resolve": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.0.6.tgz",
+ "integrity": "sha512-yKmIgw2LgTh7uAJtzv8UFHGF7Dm7XfvOe/LQ3Txv101fLM8cx2h1QVwtSJ51Q/SCxpIiKfVn6G2jYYMDNHZteA==",
+ "dependencies": {
+ "@jest/types": "^27.0.6",
+ "chalk": "^4.0.0",
+ "escalade": "^3.1.1",
+ "graceful-fs": "^4.2.4",
+ "jest-pnp-resolver": "^1.2.2",
+ "jest-util": "^27.0.6",
+ "jest-validate": "^27.0.6",
+ "resolve": "^1.20.0",
+ "slash": "^3.0.0"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-resolve-dependencies": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.0.6.tgz",
+ "integrity": "sha512-mg9x9DS3BPAREWKCAoyg3QucCr0n6S8HEEsqRCKSPjPcu9HzRILzhdzY3imsLoZWeosEbJZz6TKasveczzpJZA==",
+ "dependencies": {
+ "@jest/types": "^27.0.6",
+ "jest-regex-util": "^27.0.6",
+ "jest-snapshot": "^27.0.6"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-runner": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.0.6.tgz",
+ "integrity": "sha512-W3Bz5qAgaSChuivLn+nKOgjqNxM7O/9JOJoKDCqThPIg2sH/d4A/lzyiaFgnb9V1/w29Le11NpzTJSzga1vyYQ==",
+ "dependencies": {
+ "@jest/console": "^27.0.6",
+ "@jest/environment": "^27.0.6",
+ "@jest/test-result": "^27.0.6",
+ "@jest/transform": "^27.0.6",
+ "@jest/types": "^27.0.6",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "emittery": "^0.8.1",
+ "exit": "^0.1.2",
+ "graceful-fs": "^4.2.4",
+ "jest-docblock": "^27.0.6",
+ "jest-environment-jsdom": "^27.0.6",
+ "jest-environment-node": "^27.0.6",
+ "jest-haste-map": "^27.0.6",
+ "jest-leak-detector": "^27.0.6",
+ "jest-message-util": "^27.0.6",
+ "jest-resolve": "^27.0.6",
+ "jest-runtime": "^27.0.6",
+ "jest-util": "^27.0.6",
+ "jest-worker": "^27.0.6",
+ "source-map-support": "^0.5.6",
+ "throat": "^6.0.1"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-runtime": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.0.6.tgz",
+ "integrity": "sha512-BhvHLRVfKibYyqqEFkybsznKwhrsu7AWx2F3y9G9L95VSIN3/ZZ9vBpm/XCS2bS+BWz3sSeNGLzI3TVQ0uL85Q==",
+ "dependencies": {
+ "@jest/console": "^27.0.6",
+ "@jest/environment": "^27.0.6",
+ "@jest/fake-timers": "^27.0.6",
+ "@jest/globals": "^27.0.6",
+ "@jest/source-map": "^27.0.6",
+ "@jest/test-result": "^27.0.6",
+ "@jest/transform": "^27.0.6",
+ "@jest/types": "^27.0.6",
+ "@types/yargs": "^16.0.0",
+ "chalk": "^4.0.0",
+ "cjs-module-lexer": "^1.0.0",
+ "collect-v8-coverage": "^1.0.0",
+ "exit": "^0.1.2",
+ "glob": "^7.1.3",
+ "graceful-fs": "^4.2.4",
+ "jest-haste-map": "^27.0.6",
+ "jest-message-util": "^27.0.6",
+ "jest-mock": "^27.0.6",
+ "jest-regex-util": "^27.0.6",
+ "jest-resolve": "^27.0.6",
+ "jest-snapshot": "^27.0.6",
+ "jest-util": "^27.0.6",
+ "jest-validate": "^27.0.6",
+ "slash": "^3.0.0",
+ "strip-bom": "^4.0.0",
+ "yargs": "^16.0.3"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-serializer": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.0.6.tgz",
+ "integrity": "sha512-PtGdVK9EGC7dsaziskfqaAPib6wTViY3G8E5wz9tLVPhHyiDNTZn/xjZ4khAw+09QkoOVpn7vF5nPSN6dtBexA==",
+ "dependencies": {
+ "@types/node": "*",
+ "graceful-fs": "^4.2.4"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-snapshot": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.0.6.tgz",
+ "integrity": "sha512-NTHaz8He+ATUagUgE7C/UtFcRoHqR2Gc+KDfhQIyx+VFgwbeEMjeP+ILpUTLosZn/ZtbNdCF5LkVnN/l+V751A==",
+ "dependencies": {
+ "@babel/core": "^7.7.2",
+ "@babel/generator": "^7.7.2",
+ "@babel/parser": "^7.7.2",
+ "@babel/plugin-syntax-typescript": "^7.7.2",
+ "@babel/traverse": "^7.7.2",
+ "@babel/types": "^7.0.0",
+ "@jest/transform": "^27.0.6",
+ "@jest/types": "^27.0.6",
+ "@types/babel__traverse": "^7.0.4",
+ "@types/prettier": "^2.1.5",
+ "babel-preset-current-node-syntax": "^1.0.0",
+ "chalk": "^4.0.0",
+ "expect": "^27.0.6",
+ "graceful-fs": "^4.2.4",
+ "jest-diff": "^27.0.6",
+ "jest-get-type": "^27.0.6",
+ "jest-haste-map": "^27.0.6",
+ "jest-matcher-utils": "^27.0.6",
+ "jest-message-util": "^27.0.6",
+ "jest-resolve": "^27.0.6",
+ "jest-util": "^27.0.6",
+ "natural-compare": "^1.4.0",
+ "pretty-format": "^27.0.6",
+ "semver": "^7.3.2"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-snapshot/node_modules/semver": {
+ "version": "7.3.5",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
+ "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/jest-util": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.0.6.tgz",
+ "integrity": "sha512-1JjlaIh+C65H/F7D11GNkGDDZtDfMEM8EBXsvd+l/cxtgQ6QhxuloOaiayt89DxUvDarbVhqI98HhgrM1yliFQ==",
+ "dependencies": {
+ "@jest/types": "^27.0.6",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "graceful-fs": "^4.2.4",
+ "is-ci": "^3.0.0",
+ "picomatch": "^2.2.3"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-validate": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.0.6.tgz",
+ "integrity": "sha512-yhZZOaMH3Zg6DC83n60pLmdU1DQE46DW+KLozPiPbSbPhlXXaiUTDlhHQhHFpaqIFRrInko1FHXjTRpjWRuWfA==",
+ "dependencies": {
+ "@jest/types": "^27.0.6",
+ "camelcase": "^6.2.0",
+ "chalk": "^4.0.0",
+ "jest-get-type": "^27.0.6",
+ "leven": "^3.1.0",
+ "pretty-format": "^27.0.6"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-validate/node_modules/camelcase": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz",
+ "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/jest-watcher": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.0.6.tgz",
+ "integrity": "sha512-/jIoKBhAP00/iMGnTwUBLgvxkn7vsOweDrOTSPzc7X9uOyUtJIDthQBTI1EXz90bdkrxorUZVhJwiB69gcHtYQ==",
+ "dependencies": {
+ "@jest/test-result": "^27.0.6",
+ "@jest/types": "^27.0.6",
+ "@types/node": "*",
+ "ansi-escapes": "^4.2.1",
+ "chalk": "^4.0.0",
+ "jest-util": "^27.0.6",
+ "string-length": "^4.0.1"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+ }
+ },
+ "node_modules/jest-worker": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.0.6.tgz",
+ "integrity": "sha512-qupxcj/dRuA3xHPMUd40gr2EaAurFbkwzOh7wfPaeE9id7hyjURRQoqNfHifHK3XjJU6YJJUQKILGUnwGPEOCA==",
+ "dependencies": {
+ "@types/node": "*",
+ "merge-stream": "^2.0.0",
+ "supports-color": "^8.0.0"
+ },
+ "engines": {
+ "node": ">= 10.13.0"
+ }
+ },
+ "node_modules/jest-worker/node_modules/supports-color": {
+ "version": "8.1.1",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
+ "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/supports-color?sponsor=1"
+ }
+ },
+ "node_modules/js-tokens": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
+ },
+ "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/jsdom": {
+ "version": "16.7.0",
+ "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz",
+ "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==",
+ "dependencies": {
+ "abab": "^2.0.5",
+ "acorn": "^8.2.4",
+ "acorn-globals": "^6.0.0",
+ "cssom": "^0.4.4",
+ "cssstyle": "^2.3.0",
+ "data-urls": "^2.0.0",
+ "decimal.js": "^10.2.1",
+ "domexception": "^2.0.1",
+ "escodegen": "^2.0.0",
+ "form-data": "^3.0.0",
+ "html-encoding-sniffer": "^2.0.1",
+ "http-proxy-agent": "^4.0.1",
+ "https-proxy-agent": "^5.0.0",
+ "is-potential-custom-element-name": "^1.0.1",
+ "nwsapi": "^2.2.0",
+ "parse5": "6.0.1",
+ "saxes": "^5.0.1",
+ "symbol-tree": "^3.2.4",
+ "tough-cookie": "^4.0.0",
+ "w3c-hr-time": "^1.0.2",
+ "w3c-xmlserializer": "^2.0.0",
+ "webidl-conversions": "^6.1.0",
+ "whatwg-encoding": "^1.0.5",
+ "whatwg-mimetype": "^2.3.0",
+ "whatwg-url": "^8.5.0",
+ "ws": "^7.4.6",
+ "xml-name-validator": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "peerDependencies": {
+ "canvas": "^2.5.0"
+ },
+ "peerDependenciesMeta": {
+ "canvas": {
+ "optional": true
+ }
+ }
+ },
+ "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": ">=4"
+ }
+ },
+ "node_modules/json5": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz",
+ "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==",
+ "dependencies": {
+ "minimist": "^1.2.5"
+ },
+ "bin": {
+ "json5": "lib/cli.js"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "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": ">=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.3.0",
+ "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
+ "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
+ "dependencies": {
+ "prelude-ls": "~1.1.2",
+ "type-check": "~0.3.2"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "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/lodash": {
+ "version": "4.17.21",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
+ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
+ },
+ "node_modules/lodash.chunk": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/lodash.chunk/-/lodash.chunk-4.2.0.tgz",
+ "integrity": "sha1-ZuXOH3btJ7QwPYxlEujRIW6BBrw="
+ },
+ "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"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
"node_modules/m3u-linter": {
"version": "0.1.3",
"resolved": "https://registry.npmjs.org/m3u-linter/-/m3u-linter-0.1.3.tgz",
@@ -225,6 +2834,28 @@
"node": ">=10.0.0"
}
},
+ "node_modules/make-dir": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
+ "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
+ "dependencies": {
+ "semver": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/makeerror": {
+ "version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz",
+ "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=",
+ "dependencies": {
+ "tmpl": "1.0.x"
+ }
+ },
"node_modules/markdown-include": {
"version": "0.4.3",
"resolved": "https://registry.npmjs.org/markdown-include/-/markdown-include-0.4.3.tgz",
@@ -236,6 +2867,50 @@
"markdown-include": "bin/cli.js"
}
},
+ "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/micromatch": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz",
+ "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==",
+ "dependencies": {
+ "braces": "^3.0.1",
+ "picomatch": "^2.2.3"
+ },
+ "engines": {
+ "node": ">=8.6"
+ }
+ },
+ "node_modules/mime-db": {
+ "version": "1.49.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.49.0.tgz",
+ "integrity": "sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/mime-types": {
+ "version": "2.1.32",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.32.tgz",
+ "integrity": "sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==",
+ "dependencies": {
+ "mime-db": "1.49.0"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/mimic-fn": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
+ "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/minimatch": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
@@ -247,6 +2922,63 @@
"node": "*"
}
},
+ "node_modules/minimist": {
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
+ "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw=="
+ },
+ "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/natural-compare": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
+ "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc="
+ },
+ "node_modules/node-int64": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz",
+ "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs="
+ },
+ "node_modules/node-modules-regexp": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz",
+ "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/node-releases": {
+ "version": "1.1.73",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.73.tgz",
+ "integrity": "sha512-uW7fodD6pyW2FZNZnp/Z3hvWKeEW1Y8R1+1CnErE8cXFXzl5blBOoVB41CvMer6P6Q0S5FXDwcHgFd1Wj0U9zg=="
+ },
+ "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/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/nwsapi": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz",
+ "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ=="
+ },
"node_modules/once": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
@@ -255,6 +2987,93 @@
"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.8.3",
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
+ "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==",
+ "dependencies": {
+ "deep-is": "~0.1.3",
+ "fast-levenshtein": "~2.0.6",
+ "levn": "~0.3.0",
+ "prelude-ls": "~1.1.2",
+ "type-check": "~0.3.2",
+ "word-wrap": "~1.2.3"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/p-each-series": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz",
+ "integrity": "sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==",
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "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/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/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/parse5": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
+ "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw=="
+ },
+ "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/path-is-absolute": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
@@ -263,6 +3082,52 @@
"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/picomatch": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz",
+ "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==",
+ "engines": {
+ "node": ">=8.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/pirates": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz",
+ "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==",
+ "dependencies": {
+ "node-modules-regexp": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "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/pre-push": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/pre-push/-/pre-push-0.1.1.tgz",
@@ -271,6 +3136,39 @@
"shelljs": "0.3.x"
}
},
+ "node_modules/prelude-ls": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
+ "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/pretty-format": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.0.6.tgz",
+ "integrity": "sha512-8tGD7gBIENgzqA+UBzObyWqQ5B778VIFZA/S66cclyd5YkFLYs2Js7gxDKf0MXtTc9zcS7t1xhdfcElJ3YIvkQ==",
+ "dependencies": {
+ "@jest/types": "^27.0.6",
+ "ansi-regex": "^5.0.0",
+ "ansi-styles": "^5.0.0",
+ "react-is": "^17.0.1"
+ },
+ "engines": {
+ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.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/progress": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
@@ -279,6 +3177,31 @@
"node": ">=0.4.0"
}
},
+ "node_modules/prompts": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.1.tgz",
+ "integrity": "sha512-EQyfIuO2hPDsX1L/blblV+H7I0knhgAd82cVneCwcdND9B8AuCDuRcBH6yIcG4dFzlOUqbazQqwGjx5xmsNLuQ==",
+ "dependencies": {
+ "kleur": "^3.0.3",
+ "sisteransi": "^1.0.5"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/psl": {
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz",
+ "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ=="
+ },
+ "node_modules/punycode": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
+ "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/q": {
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
@@ -288,6 +3211,11 @@
"teleport": ">=0.2.0"
}
},
+ "node_modules/react-is": {
+ "version": "17.0.2",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
+ "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w=="
+ },
"node_modules/require-directory": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
@@ -296,6 +3224,99 @@
"node": ">=0.10.0"
}
},
+ "node_modules/resolve": {
+ "version": "1.20.0",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz",
+ "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==",
+ "dependencies": {
+ "is-core-module": "^2.2.0",
+ "path-parse": "^1.0.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/resolve-cwd": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz",
+ "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==",
+ "dependencies": {
+ "resolve-from": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "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/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/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/saxes": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz",
+ "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==",
+ "dependencies": {
+ "xmlchars": "^2.2.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "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/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/shelljs": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.3.0.tgz",
@@ -307,6 +3328,69 @@
"node": ">=0.8.0"
}
},
+ "node_modules/signal-exit": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz",
+ "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA=="
+ },
+ "node_modules/sisteransi": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz",
+ "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg=="
+ },
+ "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"
+ }
+ },
+ "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.19",
+ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz",
+ "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==",
+ "dependencies": {
+ "buffer-from": "^1.0.0",
+ "source-map": "^0.6.0"
+ }
+ },
+ "node_modules/sprintf-js": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
+ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw="
+ },
+ "node_modules/stack-utils": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.3.tgz",
+ "integrity": "sha512-gL//fkxfWUsIlFL2Tl42Cl6+HFALEaB1FU76I/Fy+oZjRreP7OPMXFlGbxM7NQsI0ZpUfw76sHnv0WNYuTb7Iw==",
+ "dependencies": {
+ "escape-string-regexp": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "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.2",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz",
@@ -331,6 +3415,22 @@
"node": ">=8"
}
},
+ "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/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": ">=6"
+ }
+ },
"node_modules/supports-color": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
@@ -342,6 +3442,104 @@
"node": ">=8"
}
},
+ "node_modules/supports-hyperlinks": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz",
+ "integrity": "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==",
+ "dependencies": {
+ "has-flag": "^4.0.0",
+ "supports-color": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/symbol-tree": {
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz",
+ "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw=="
+ },
+ "node_modules/terminal-link": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz",
+ "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==",
+ "dependencies": {
+ "ansi-escapes": "^4.2.1",
+ "supports-hyperlinks": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "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": {
+ "@istanbuljs/schema": "^0.1.2",
+ "glob": "^7.1.4",
+ "minimatch": "^3.0.4"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/throat": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.1.tgz",
+ "integrity": "sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w=="
+ },
+ "node_modules/tmpl": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz",
+ "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE="
+ },
+ "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": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
+ "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": {
+ "is-number": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=8.0"
+ }
+ },
+ "node_modules/tough-cookie": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz",
+ "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==",
+ "dependencies": {
+ "psl": "^1.1.33",
+ "punycode": "^2.1.1",
+ "universalify": "^0.1.2"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/tr46": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz",
+ "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==",
+ "dependencies": {
+ "punycode": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/transliteration": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/transliteration/-/transliteration-2.2.0.tgz",
@@ -357,6 +3555,161 @@
"node": ">=6.0.0"
}
},
+ "node_modules/type-check": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
+ "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
+ "dependencies": {
+ "prelude-ls": "~1.1.2"
+ },
+ "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/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/typedarray-to-buffer": {
+ "version": "3.1.5",
+ "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz",
+ "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==",
+ "dependencies": {
+ "is-typedarray": "^1.0.0"
+ }
+ },
+ "node_modules/universalify": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
+ "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
+ "engines": {
+ "node": ">= 4.0.0"
+ }
+ },
+ "node_modules/v8-to-istanbul": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.0.0.tgz",
+ "integrity": "sha512-LkmXi8UUNxnCC+JlH7/fsfsKr5AU110l+SYGJimWNkWhxbN5EyeOtm1MJ0hhvqMMOhGwBj1Fp70Yv9i+hX0QAg==",
+ "dependencies": {
+ "@types/istanbul-lib-coverage": "^2.0.1",
+ "convert-source-map": "^1.6.0",
+ "source-map": "^0.7.3"
+ },
+ "engines": {
+ "node": ">=10.12.0"
+ }
+ },
+ "node_modules/v8-to-istanbul/node_modules/source-map": {
+ "version": "0.7.3",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
+ "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/valid-url": {
+ "version": "1.0.9",
+ "resolved": "https://registry.npmjs.org/valid-url/-/valid-url-1.0.9.tgz",
+ "integrity": "sha1-HBRHm0DxOXp1eC8RXkCGRHQzogA="
+ },
+ "node_modules/w3c-hr-time": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz",
+ "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==",
+ "dependencies": {
+ "browser-process-hrtime": "^1.0.0"
+ }
+ },
+ "node_modules/w3c-xmlserializer": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz",
+ "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==",
+ "dependencies": {
+ "xml-name-validator": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/walker": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz",
+ "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=",
+ "dependencies": {
+ "makeerror": "1.0.x"
+ }
+ },
+ "node_modules/webidl-conversions": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz",
+ "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==",
+ "engines": {
+ "node": ">=10.4"
+ }
+ },
+ "node_modules/whatwg-encoding": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz",
+ "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==",
+ "dependencies": {
+ "iconv-lite": "0.4.24"
+ }
+ },
+ "node_modules/whatwg-mimetype": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz",
+ "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g=="
+ },
+ "node_modules/whatwg-url": {
+ "version": "8.7.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz",
+ "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==",
+ "dependencies": {
+ "lodash": "^4.7.0",
+ "tr46": "^2.1.0",
+ "webidl-conversions": "^6.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "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/word-wrap": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
+ "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/wrap-ansi": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
@@ -375,6 +3728,47 @@
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
},
+ "node_modules/write-file-atomic": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz",
+ "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==",
+ "dependencies": {
+ "imurmurhash": "^0.1.4",
+ "is-typedarray": "^1.0.0",
+ "signal-exit": "^3.0.2",
+ "typedarray-to-buffer": "^3.1.5"
+ }
+ },
+ "node_modules/ws": {
+ "version": "7.5.3",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.3.tgz",
+ "integrity": "sha512-kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg==",
+ "engines": {
+ "node": ">=8.3.0"
+ },
+ "peerDependencies": {
+ "bufferutil": "^4.0.1",
+ "utf-8-validate": "^5.0.2"
+ },
+ "peerDependenciesMeta": {
+ "bufferutil": {
+ "optional": true
+ },
+ "utf-8-validate": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/xml-name-validator": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz",
+ "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw=="
+ },
+ "node_modules/xmlchars": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz",
+ "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw=="
+ },
"node_modules/y18n": {
"version": "5.0.5",
"resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.5.tgz",
@@ -383,6 +3777,11 @@
"node": ">=10"
}
},
+ "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/yargs": {
"version": "16.2.0",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
@@ -410,11 +3809,767 @@
}
},
"dependencies": {
+ "@babel/code-frame": {
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz",
+ "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==",
+ "requires": {
+ "@babel/highlight": "^7.14.5"
+ }
+ },
+ "@babel/compat-data": {
+ "version": "7.15.0",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.15.0.tgz",
+ "integrity": "sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA=="
+ },
+ "@babel/core": {
+ "version": "7.15.0",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.0.tgz",
+ "integrity": "sha512-tXtmTminrze5HEUPn/a0JtOzzfp0nk+UEXQ/tqIJo3WDGypl/2OFQEMll/zSFU8f/lfmfLXvTaORHF3cfXIQMw==",
+ "requires": {
+ "@babel/code-frame": "^7.14.5",
+ "@babel/generator": "^7.15.0",
+ "@babel/helper-compilation-targets": "^7.15.0",
+ "@babel/helper-module-transforms": "^7.15.0",
+ "@babel/helpers": "^7.14.8",
+ "@babel/parser": "^7.15.0",
+ "@babel/template": "^7.14.5",
+ "@babel/traverse": "^7.15.0",
+ "@babel/types": "^7.15.0",
+ "convert-source-map": "^1.7.0",
+ "debug": "^4.1.0",
+ "gensync": "^1.0.0-beta.2",
+ "json5": "^2.1.2",
+ "semver": "^6.3.0",
+ "source-map": "^0.5.0"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
+ }
+ }
+ },
+ "@babel/generator": {
+ "version": "7.15.0",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.0.tgz",
+ "integrity": "sha512-eKl4XdMrbpYvuB505KTta4AV9g+wWzmVBW69tX0H2NwKVKd2YJbKgyK6M8j/rgLbmHOYJn6rUklV677nOyJrEQ==",
+ "requires": {
+ "@babel/types": "^7.15.0",
+ "jsesc": "^2.5.1",
+ "source-map": "^0.5.0"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
+ }
+ }
+ },
+ "@babel/helper-compilation-targets": {
+ "version": "7.15.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.0.tgz",
+ "integrity": "sha512-h+/9t0ncd4jfZ8wsdAsoIxSa61qhBYlycXiHWqJaQBCXAhDCMbPRSMTGnZIkkmt1u4ag+UQmuqcILwqKzZ4N2A==",
+ "requires": {
+ "@babel/compat-data": "^7.15.0",
+ "@babel/helper-validator-option": "^7.14.5",
+ "browserslist": "^4.16.6",
+ "semver": "^6.3.0"
+ }
+ },
+ "@babel/helper-function-name": {
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz",
+ "integrity": "sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ==",
+ "requires": {
+ "@babel/helper-get-function-arity": "^7.14.5",
+ "@babel/template": "^7.14.5",
+ "@babel/types": "^7.14.5"
+ }
+ },
+ "@babel/helper-get-function-arity": {
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz",
+ "integrity": "sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg==",
+ "requires": {
+ "@babel/types": "^7.14.5"
+ }
+ },
+ "@babel/helper-hoist-variables": {
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz",
+ "integrity": "sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ==",
+ "requires": {
+ "@babel/types": "^7.14.5"
+ }
+ },
+ "@babel/helper-member-expression-to-functions": {
+ "version": "7.15.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.0.tgz",
+ "integrity": "sha512-Jq8H8U2kYiafuj2xMTPQwkTBnEEdGKpT35lJEQsRRjnG0LW3neucsaMWLgKcwu3OHKNeYugfw+Z20BXBSEs2Lg==",
+ "requires": {
+ "@babel/types": "^7.15.0"
+ }
+ },
+ "@babel/helper-module-imports": {
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.14.5.tgz",
+ "integrity": "sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ==",
+ "requires": {
+ "@babel/types": "^7.14.5"
+ }
+ },
+ "@babel/helper-module-transforms": {
+ "version": "7.15.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.0.tgz",
+ "integrity": "sha512-RkGiW5Rer7fpXv9m1B3iHIFDZdItnO2/BLfWVW/9q7+KqQSDY5kUfQEbzdXM1MVhJGcugKV7kRrNVzNxmk7NBg==",
+ "requires": {
+ "@babel/helper-module-imports": "^7.14.5",
+ "@babel/helper-replace-supers": "^7.15.0",
+ "@babel/helper-simple-access": "^7.14.8",
+ "@babel/helper-split-export-declaration": "^7.14.5",
+ "@babel/helper-validator-identifier": "^7.14.9",
+ "@babel/template": "^7.14.5",
+ "@babel/traverse": "^7.15.0",
+ "@babel/types": "^7.15.0"
+ }
+ },
+ "@babel/helper-optimise-call-expression": {
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.14.5.tgz",
+ "integrity": "sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA==",
+ "requires": {
+ "@babel/types": "^7.14.5"
+ }
+ },
+ "@babel/helper-plugin-utils": {
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz",
+ "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ=="
+ },
+ "@babel/helper-replace-supers": {
+ "version": "7.15.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.0.tgz",
+ "integrity": "sha512-6O+eWrhx+HEra/uJnifCwhwMd6Bp5+ZfZeJwbqUTuqkhIT6YcRhiZCOOFChRypOIe0cV46kFrRBlm+t5vHCEaA==",
+ "requires": {
+ "@babel/helper-member-expression-to-functions": "^7.15.0",
+ "@babel/helper-optimise-call-expression": "^7.14.5",
+ "@babel/traverse": "^7.15.0",
+ "@babel/types": "^7.15.0"
+ }
+ },
+ "@babel/helper-simple-access": {
+ "version": "7.14.8",
+ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.14.8.tgz",
+ "integrity": "sha512-TrFN4RHh9gnWEU+s7JloIho2T76GPwRHhdzOWLqTrMnlas8T9O7ec+oEDNsRXndOmru9ymH9DFrEOxpzPoSbdg==",
+ "requires": {
+ "@babel/types": "^7.14.8"
+ }
+ },
+ "@babel/helper-split-export-declaration": {
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz",
+ "integrity": "sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA==",
+ "requires": {
+ "@babel/types": "^7.14.5"
+ }
+ },
+ "@babel/helper-validator-identifier": {
+ "version": "7.14.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.9.tgz",
+ "integrity": "sha512-pQYxPY0UP6IHISRitNe8bsijHex4TWZXi2HwKVsjPiltzlhse2znVcm9Ace510VT1kxIHjGJCZZQBX2gJDbo0g=="
+ },
+ "@babel/helper-validator-option": {
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz",
+ "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow=="
+ },
+ "@babel/helpers": {
+ "version": "7.14.8",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.14.8.tgz",
+ "integrity": "sha512-ZRDmI56pnV+p1dH6d+UN6GINGz7Krps3+270qqI9UJ4wxYThfAIcI5i7j5vXC4FJ3Wap+S9qcebxeYiqn87DZw==",
+ "requires": {
+ "@babel/template": "^7.14.5",
+ "@babel/traverse": "^7.14.8",
+ "@babel/types": "^7.14.8"
+ }
+ },
+ "@babel/highlight": {
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz",
+ "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==",
+ "requires": {
+ "@babel/helper-validator-identifier": "^7.14.5",
+ "chalk": "^2.0.0",
+ "js-tokens": "^4.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "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": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
+ },
+ "escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
+ },
+ "has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
+ },
+ "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/parser": {
+ "version": "7.15.0",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.0.tgz",
+ "integrity": "sha512-0v7oNOjr6YT9Z2RAOTv4T9aP+ubfx4Q/OhVtAet7PFDt0t9Oy6Jn+/rfC6b8HJ5zEqrQCiMxJfgtHpmIminmJQ=="
+ },
+ "@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": {
+ "@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-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.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.14.5.tgz",
+ "integrity": "sha512-u6OXzDaIXjEstBRRoBCQ/uKQKlbuaeE5in0RvWdA4pN6AhqxTIwUsnHPU1CFZA/amYObMsuWhYfRl3Ch90HD0Q==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.14.5"
+ }
+ },
+ "@babel/template": {
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.14.5.tgz",
+ "integrity": "sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g==",
+ "requires": {
+ "@babel/code-frame": "^7.14.5",
+ "@babel/parser": "^7.14.5",
+ "@babel/types": "^7.14.5"
+ }
+ },
+ "@babel/traverse": {
+ "version": "7.15.0",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.0.tgz",
+ "integrity": "sha512-392d8BN0C9eVxVWd8H6x9WfipgVH5IaIoLp23334Sc1vbKKWINnvwRpb4us0xtPaCumlwbTtIYNA0Dv/32sVFw==",
+ "requires": {
+ "@babel/code-frame": "^7.14.5",
+ "@babel/generator": "^7.15.0",
+ "@babel/helper-function-name": "^7.14.5",
+ "@babel/helper-hoist-variables": "^7.14.5",
+ "@babel/helper-split-export-declaration": "^7.14.5",
+ "@babel/parser": "^7.15.0",
+ "@babel/types": "^7.15.0",
+ "debug": "^4.1.0",
+ "globals": "^11.1.0"
+ }
+ },
+ "@babel/types": {
+ "version": "7.15.0",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.0.tgz",
+ "integrity": "sha512-OBvfqnllOIdX4ojTHpwZbpvz4j3EWyjkZEdmjH0/cgsd6QOdSgU8rLSk6ard/pcW7rlmjdVSX/AWOaORR1uNOQ==",
+ "requires": {
+ "@babel/helper-validator-identifier": "^7.14.9",
+ "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=="
+ },
"@freearhey/iso-639-3": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/@freearhey/iso-639-3/-/iso-639-3-1.0.0.tgz",
"integrity": "sha512-K4xgPkCktQakQcYv8WuV8gFWAWrAaTrQEVgr/KVdE8k10KL9QmYVw+8Qb9WbtpMr2VXDz5pDwIAEINU5KlnlAg=="
},
+ "@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"
+ }
+ },
+ "@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": "27.0.6",
+ "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.0.6.tgz",
+ "integrity": "sha512-fMlIBocSHPZ3JxgWiDNW/KPj6s+YRd0hicb33IrmelCcjXo/pXPwvuiKFmZz+XuqI/1u7nbUK10zSsWL/1aegg==",
+ "requires": {
+ "@jest/types": "^27.0.6",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "jest-message-util": "^27.0.6",
+ "jest-util": "^27.0.6",
+ "slash": "^3.0.0"
+ }
+ },
+ "@jest/core": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.0.6.tgz",
+ "integrity": "sha512-SsYBm3yhqOn5ZLJCtccaBcvD/ccTLCeuDv8U41WJH/V1MW5eKUkeMHT9U+Pw/v1m1AIWlnIW/eM2XzQr0rEmow==",
+ "requires": {
+ "@jest/console": "^27.0.6",
+ "@jest/reporters": "^27.0.6",
+ "@jest/test-result": "^27.0.6",
+ "@jest/transform": "^27.0.6",
+ "@jest/types": "^27.0.6",
+ "@types/node": "*",
+ "ansi-escapes": "^4.2.1",
+ "chalk": "^4.0.0",
+ "emittery": "^0.8.1",
+ "exit": "^0.1.2",
+ "graceful-fs": "^4.2.4",
+ "jest-changed-files": "^27.0.6",
+ "jest-config": "^27.0.6",
+ "jest-haste-map": "^27.0.6",
+ "jest-message-util": "^27.0.6",
+ "jest-regex-util": "^27.0.6",
+ "jest-resolve": "^27.0.6",
+ "jest-resolve-dependencies": "^27.0.6",
+ "jest-runner": "^27.0.6",
+ "jest-runtime": "^27.0.6",
+ "jest-snapshot": "^27.0.6",
+ "jest-util": "^27.0.6",
+ "jest-validate": "^27.0.6",
+ "jest-watcher": "^27.0.6",
+ "micromatch": "^4.0.4",
+ "p-each-series": "^2.1.0",
+ "rimraf": "^3.0.0",
+ "slash": "^3.0.0",
+ "strip-ansi": "^6.0.0"
+ }
+ },
+ "@jest/environment": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.0.6.tgz",
+ "integrity": "sha512-4XywtdhwZwCpPJ/qfAkqExRsERW+UaoSRStSHCCiQTUpoYdLukj+YJbQSFrZjhlUDRZeNiU9SFH0u7iNimdiIg==",
+ "requires": {
+ "@jest/fake-timers": "^27.0.6",
+ "@jest/types": "^27.0.6",
+ "@types/node": "*",
+ "jest-mock": "^27.0.6"
+ }
+ },
+ "@jest/fake-timers": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.0.6.tgz",
+ "integrity": "sha512-sqd+xTWtZ94l3yWDKnRTdvTeZ+A/V7SSKrxsrOKSqdyddb9CeNRF8fbhAU0D7ZJBpTTW2nbp6MftmKJDZfW2LQ==",
+ "requires": {
+ "@jest/types": "^27.0.6",
+ "@sinonjs/fake-timers": "^7.0.2",
+ "@types/node": "*",
+ "jest-message-util": "^27.0.6",
+ "jest-mock": "^27.0.6",
+ "jest-util": "^27.0.6"
+ }
+ },
+ "@jest/globals": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.0.6.tgz",
+ "integrity": "sha512-DdTGCP606rh9bjkdQ7VvChV18iS7q0IMJVP1piwTWyWskol4iqcVwthZmoJEf7obE1nc34OpIyoVGPeqLC+ryw==",
+ "requires": {
+ "@jest/environment": "^27.0.6",
+ "@jest/types": "^27.0.6",
+ "expect": "^27.0.6"
+ }
+ },
+ "@jest/reporters": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.0.6.tgz",
+ "integrity": "sha512-TIkBt09Cb2gptji3yJXb3EE+eVltW6BjO7frO7NEfjI9vSIYoISi5R3aI3KpEDXlB1xwB+97NXIqz84qYeYsfA==",
+ "requires": {
+ "@bcoe/v8-coverage": "^0.2.3",
+ "@jest/console": "^27.0.6",
+ "@jest/test-result": "^27.0.6",
+ "@jest/transform": "^27.0.6",
+ "@jest/types": "^27.0.6",
+ "chalk": "^4.0.0",
+ "collect-v8-coverage": "^1.0.0",
+ "exit": "^0.1.2",
+ "glob": "^7.1.2",
+ "graceful-fs": "^4.2.4",
+ "istanbul-lib-coverage": "^3.0.0",
+ "istanbul-lib-instrument": "^4.0.3",
+ "istanbul-lib-report": "^3.0.0",
+ "istanbul-lib-source-maps": "^4.0.0",
+ "istanbul-reports": "^3.0.2",
+ "jest-haste-map": "^27.0.6",
+ "jest-resolve": "^27.0.6",
+ "jest-util": "^27.0.6",
+ "jest-worker": "^27.0.6",
+ "slash": "^3.0.0",
+ "source-map": "^0.6.0",
+ "string-length": "^4.0.1",
+ "terminal-link": "^2.0.0",
+ "v8-to-istanbul": "^8.0.0"
+ }
+ },
+ "@jest/source-map": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.0.6.tgz",
+ "integrity": "sha512-Fek4mi5KQrqmlY07T23JRi0e7Z9bXTOOD86V/uS0EIW4PClvPDqZOyFlLpNJheS6QI0FNX1CgmPjtJ4EA/2M+g==",
+ "requires": {
+ "callsites": "^3.0.0",
+ "graceful-fs": "^4.2.4",
+ "source-map": "^0.6.0"
+ }
+ },
+ "@jest/test-result": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.0.6.tgz",
+ "integrity": "sha512-ja/pBOMTufjX4JLEauLxE3LQBPaI2YjGFtXexRAjt1I/MbfNlMx0sytSX3tn5hSLzQsR3Qy2rd0hc1BWojtj9w==",
+ "requires": {
+ "@jest/console": "^27.0.6",
+ "@jest/types": "^27.0.6",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "collect-v8-coverage": "^1.0.0"
+ }
+ },
+ "@jest/test-sequencer": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.0.6.tgz",
+ "integrity": "sha512-bISzNIApazYOlTHDum9PwW22NOyDa6VI31n6JucpjTVM0jD6JDgqEZ9+yn575nDdPF0+4csYDxNNW13NvFQGZA==",
+ "requires": {
+ "@jest/test-result": "^27.0.6",
+ "graceful-fs": "^4.2.4",
+ "jest-haste-map": "^27.0.6",
+ "jest-runtime": "^27.0.6"
+ }
+ },
+ "@jest/transform": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.0.6.tgz",
+ "integrity": "sha512-rj5Dw+mtIcntAUnMlW/Vju5mr73u8yg+irnHwzgtgoeI6cCPOvUwQ0D1uQtc/APmWgvRweEb1g05pkUpxH3iCA==",
+ "requires": {
+ "@babel/core": "^7.1.0",
+ "@jest/types": "^27.0.6",
+ "babel-plugin-istanbul": "^6.0.0",
+ "chalk": "^4.0.0",
+ "convert-source-map": "^1.4.0",
+ "fast-json-stable-stringify": "^2.0.0",
+ "graceful-fs": "^4.2.4",
+ "jest-haste-map": "^27.0.6",
+ "jest-regex-util": "^27.0.6",
+ "jest-util": "^27.0.6",
+ "micromatch": "^4.0.4",
+ "pirates": "^4.0.1",
+ "slash": "^3.0.0",
+ "source-map": "^0.6.1",
+ "write-file-atomic": "^3.0.0"
+ }
+ },
+ "@jest/types": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.0.6.tgz",
+ "integrity": "sha512-aSquT1qa9Pik26JK5/3rvnYb4bGtm1VFNesHKmNTwmPIgOrixvhL2ghIvFRNEpzy3gU+rUgjIF/KodbkFAl++g==",
+ "requires": {
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^16.0.0",
+ "chalk": "^4.0.0"
+ }
+ },
+ "@sinonjs/commons": {
+ "version": "1.8.3",
+ "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz",
+ "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==",
+ "requires": {
+ "type-detect": "4.0.8"
+ }
+ },
+ "@sinonjs/fake-timers": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz",
+ "integrity": "sha512-iQADsW4LBMISqZ6Ci1dupJL9pprqwcVFTcOsEmQOEhW+KLCVn/Y4Jrvg2k19fIHCp+iFprriYPTdRcQR8NbUPg==",
+ "requires": {
+ "@sinonjs/commons": "^1.7.0"
+ }
+ },
+ "@tootallnate/once": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz",
+ "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw=="
+ },
+ "@types/babel__core": {
+ "version": "7.1.15",
+ "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.15.tgz",
+ "integrity": "sha512-bxlMKPDbY8x5h6HBwVzEOk2C8fb6SLfYQ5Jw3uBYuYF1lfWk/kbLd81la82vrIkBb0l+JdmrZaDikPrNxpS/Ew==",
+ "requires": {
+ "@babel/parser": "^7.1.0",
+ "@babel/types": "^7.0.0",
+ "@types/babel__generator": "*",
+ "@types/babel__template": "*",
+ "@types/babel__traverse": "*"
+ }
+ },
+ "@types/babel__generator": {
+ "version": "7.6.3",
+ "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.3.tgz",
+ "integrity": "sha512-/GWCmzJWqV7diQW54smJZzWbSFf4QYtF71WCKhcx6Ru/tFyQIY2eiiITcCAeuPbNSvT9YCGkVMqqvSk2Z0mXiA==",
+ "requires": {
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@types/babel__template": {
+ "version": "7.4.1",
+ "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz",
+ "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==",
+ "requires": {
+ "@babel/parser": "^7.1.0",
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "@types/babel__traverse": {
+ "version": "7.14.2",
+ "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.14.2.tgz",
+ "integrity": "sha512-K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA==",
+ "requires": {
+ "@babel/types": "^7.3.0"
+ }
+ },
+ "@types/graceful-fs": {
+ "version": "4.1.5",
+ "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz",
+ "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==",
+ "requires": {
+ "@types/node": "*"
+ }
+ },
+ "@types/istanbul-lib-coverage": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz",
+ "integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw=="
+ },
+ "@types/istanbul-lib-report": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz",
+ "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==",
+ "requires": {
+ "@types/istanbul-lib-coverage": "*"
+ }
+ },
+ "@types/istanbul-reports": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz",
+ "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==",
+ "requires": {
+ "@types/istanbul-lib-report": "*"
+ }
+ },
+ "@types/node": {
+ "version": "16.4.13",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-16.4.13.tgz",
+ "integrity": "sha512-bLL69sKtd25w7p1nvg9pigE4gtKVpGTPojBFLMkGHXuUgap2sLqQt2qUnqmVCDfzGUL0DRNZP+1prIZJbMeAXg=="
+ },
+ "@types/prettier": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.3.2.tgz",
+ "integrity": "sha512-eI5Yrz3Qv4KPUa/nSIAi0h+qX0XyewOliug5F2QAtuRg6Kjg6jfmxe1GIwoIRhZspD1A0RP8ANrPwvEXXtRFog=="
+ },
+ "@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": "16.0.4",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz",
+ "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==",
+ "requires": {
+ "@types/yargs-parser": "*"
+ }
+ },
+ "@types/yargs-parser": {
+ "version": "20.2.1",
+ "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.1.tgz",
+ "integrity": "sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw=="
+ },
+ "abab": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz",
+ "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q=="
+ },
+ "acorn": {
+ "version": "8.4.1",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.4.1.tgz",
+ "integrity": "sha512-asabaBSkEKosYKMITunzX177CXxQ4Q8BSSzMTKD+FefUhipQC70gfW5SiUDhYQ3vk8G+81HqQk7Fv9OXwwn9KA=="
+ },
+ "acorn-globals": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz",
+ "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==",
+ "requires": {
+ "acorn": "^7.1.1",
+ "acorn-walk": "^7.1.1"
+ },
+ "dependencies": {
+ "acorn": {
+ "version": "7.4.1",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
+ "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A=="
+ }
+ }
+ },
+ "acorn-walk": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz",
+ "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA=="
+ },
+ "agent-base": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
+ "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
+ "requires": {
+ "debug": "4"
+ }
+ },
+ "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"
+ }
+ },
"ansi-regex": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
@@ -428,6 +4583,28 @@
"color-convert": "^2.0.1"
}
},
+ "anymatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
+ "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
+ "requires": {
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
+ }
+ },
+ "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"
+ }
+ },
+ "asynckit": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+ "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
+ },
"axios": {
"version": "0.21.1",
"resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz",
@@ -443,6 +4620,72 @@
}
}
},
+ "babel-jest": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.0.6.tgz",
+ "integrity": "sha512-iTJyYLNc4wRofASmofpOc5NK9QunwMk+TLFgGXsTFS8uEqmd8wdI7sga0FPe2oVH3b5Agt/EAK1QjPEuKL8VfA==",
+ "requires": {
+ "@jest/transform": "^27.0.6",
+ "@jest/types": "^27.0.6",
+ "@types/babel__core": "^7.1.14",
+ "babel-plugin-istanbul": "^6.0.0",
+ "babel-preset-jest": "^27.0.6",
+ "chalk": "^4.0.0",
+ "graceful-fs": "^4.2.4",
+ "slash": "^3.0.0"
+ }
+ },
+ "babel-plugin-istanbul": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz",
+ "integrity": "sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@istanbuljs/load-nyc-config": "^1.0.0",
+ "@istanbuljs/schema": "^0.1.2",
+ "istanbul-lib-instrument": "^4.0.0",
+ "test-exclude": "^6.0.0"
+ }
+ },
+ "babel-plugin-jest-hoist": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.0.6.tgz",
+ "integrity": "sha512-CewFeM9Vv2gM7Yr9n5eyyLVPRSiBnk6lKZRjgwYnGKSl9M14TMn2vkN02wTF04OGuSDLEzlWiMzvjXuW9mB6Gw==",
+ "requires": {
+ "@babel/template": "^7.3.3",
+ "@babel/types": "^7.3.3",
+ "@types/babel__core": "^7.0.0",
+ "@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": "27.0.6",
+ "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.0.6.tgz",
+ "integrity": "sha512-WObA0/Biw2LrVVwZkF/2GqbOdzhKD6Fkdwhoy9ASIrOWr/zodcSpQh72JOkEn6NWyjmnPDjNSqaGN4KnpKzhXw==",
+ "requires": {
+ "babel-plugin-jest-hoist": "^27.0.6",
+ "babel-preset-current-node-syntax": "^1.0.0"
+ }
+ },
"balanced-match": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
@@ -457,6 +4700,59 @@
"concat-map": "0.0.1"
}
},
+ "braces": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+ "requires": {
+ "fill-range": "^7.0.1"
+ }
+ },
+ "browser-process-hrtime": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz",
+ "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow=="
+ },
+ "browserslist": {
+ "version": "4.16.7",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.7.tgz",
+ "integrity": "sha512-7I4qVwqZltJ7j37wObBe3SoTz+nS8APaNcrBOlgoirb6/HbEU2XxW/LpUDTCngM6iauwFqmRTuOMfyKnFGY5JA==",
+ "requires": {
+ "caniuse-lite": "^1.0.30001248",
+ "colorette": "^1.2.2",
+ "electron-to-chromium": "^1.3.793",
+ "escalade": "^3.1.1",
+ "node-releases": "^1.1.73"
+ }
+ },
+ "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": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
+ "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ=="
+ },
+ "callsites": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
+ "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ=="
+ },
+ "camelcase": {
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
+ "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg=="
+ },
+ "caniuse-lite": {
+ "version": "1.0.30001249",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001249.tgz",
+ "integrity": "sha512-vcX4U8lwVXPdqzPWi6cAJ3FnQaqXbBqy/GZseKNQzRj37J7qZdGcBtxq/QLFNLLlfsoXLUdHw8Iwenri86Tagw=="
+ },
"chalk": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
@@ -466,6 +4762,21 @@
"supports-color": "^7.1.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=="
+ },
+ "ci-info": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.2.0.tgz",
+ "integrity": "sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A=="
+ },
+ "cjs-module-lexer": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz",
+ "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA=="
+ },
"cliui": {
"version": "7.0.4",
"resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz",
@@ -476,6 +4787,16 @@
"wrap-ansi": "^7.0.0"
}
},
+ "co": {
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
+ "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ="
+ },
+ "collect-v8-coverage": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz",
+ "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg=="
+ },
"color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
@@ -489,6 +4810,29 @@
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
},
+ "colorette": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz",
+ "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w=="
+ },
+ "colors": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz",
+ "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA=="
+ },
+ "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"
+ }
+ },
+ "command-exists": {
+ "version": "1.2.9",
+ "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz",
+ "integrity": "sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w=="
+ },
"commander": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
@@ -499,6 +4843,127 @@
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
},
+ "convert-source-map": {
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz",
+ "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==",
+ "requires": {
+ "safe-buffer": "~5.1.1"
+ }
+ },
+ "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"
+ }
+ },
+ "cssom": {
+ "version": "0.4.4",
+ "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz",
+ "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw=="
+ },
+ "cssstyle": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz",
+ "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==",
+ "requires": {
+ "cssom": "~0.3.6"
+ },
+ "dependencies": {
+ "cssom": {
+ "version": "0.3.8",
+ "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz",
+ "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg=="
+ }
+ }
+ },
+ "data-urls": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz",
+ "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==",
+ "requires": {
+ "abab": "^2.0.3",
+ "whatwg-mimetype": "^2.3.0",
+ "whatwg-url": "^8.0.0"
+ }
+ },
+ "dateformat": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz",
+ "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q=="
+ },
+ "debug": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
+ "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "decimal.js": {
+ "version": "10.3.1",
+ "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.3.1.tgz",
+ "integrity": "sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ=="
+ },
+ "dedent": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz",
+ "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw="
+ },
+ "deep-is": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
+ "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ="
+ },
+ "deepmerge": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz",
+ "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg=="
+ },
+ "delayed-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+ "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
+ },
+ "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=="
+ },
+ "diff-sequences": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.0.6.tgz",
+ "integrity": "sha512-ag6wfpBFyNXZ0p8pcuIDS//D8H062ZQJ3fzYxjpmeKjnz8W4pekL3AI8VohmyZmsWW2PWaHgjsmqR6L13101VQ=="
+ },
+ "domexception": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz",
+ "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==",
+ "requires": {
+ "webidl-conversions": "^5.0.0"
+ },
+ "dependencies": {
+ "webidl-conversions": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz",
+ "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA=="
+ }
+ }
+ },
+ "electron-to-chromium": {
+ "version": "1.3.799",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.799.tgz",
+ "integrity": "sha512-V2rbYWdGvSqrg+95KjkVuSi41bGfrhrOzjl1tSi2VLnm0mRe3FsSvhiqidSiSll9WiMhrQAhpDcW/wcqK3c+Yw=="
+ },
+ "emittery": {
+ "version": "0.8.1",
+ "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz",
+ "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg=="
+ },
"emoji-regex": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
@@ -514,16 +4979,160 @@
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz",
"integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w=="
},
+ "escodegen": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz",
+ "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==",
+ "requires": {
+ "esprima": "^4.0.1",
+ "estraverse": "^5.2.0",
+ "esutils": "^2.0.2",
+ "optionator": "^0.8.1",
+ "source-map": "~0.6.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=="
+ },
+ "estraverse": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz",
+ "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ=="
+ },
+ "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"
+ }
+ },
+ "exit": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
+ "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw="
+ },
+ "expect": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/expect/-/expect-27.0.6.tgz",
+ "integrity": "sha512-psNLt8j2kwg42jGBDSfAlU49CEZxejN1f1PlANWDZqIhBOVU/c2Pm888FcjWJzFewhIsNWfZJeLjUjtKGiPuSw==",
+ "requires": {
+ "@jest/types": "^27.0.6",
+ "ansi-styles": "^5.0.0",
+ "jest-get-type": "^27.0.6",
+ "jest-matcher-utils": "^27.0.6",
+ "jest-message-util": "^27.0.6",
+ "jest-regex-util": "^27.0.6"
+ },
+ "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=="
+ }
+ }
+ },
+ "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": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc="
+ },
+ "fb-watchman": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz",
+ "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==",
+ "requires": {
+ "bser": "2.1.1"
+ }
+ },
+ "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": "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"
+ }
+ },
+ "form-data": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz",
+ "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==",
+ "requires": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.8",
+ "mime-types": "^2.1.12"
+ }
+ },
"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.2",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
+ "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
+ "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=="
},
+ "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-stdin": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-7.0.0.tgz",
+ "integrity": "sha512-zRKcywvrXlXsA0v0i9Io4KDRaAw7+a1ZpjRwl9Wox8PFlVCCHra7E9c4kqXCoCM9nR5tBkaTTZRBoCm60bFqTQ=="
+ },
+ "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.1.6",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
@@ -537,11 +5146,88 @@
"path-is-absolute": "^1.0.0"
}
},
+ "globals": {
+ "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": {
+ "version": "4.2.8",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz",
+ "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg=="
+ },
+ "has": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
+ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
+ "requires": {
+ "function-bind": "^1.1.1"
+ }
+ },
"has-flag": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
},
+ "html-encoding-sniffer": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz",
+ "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==",
+ "requires": {
+ "whatwg-encoding": "^1.0.5"
+ }
+ },
+ "html-escaper": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz",
+ "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg=="
+ },
+ "http-proxy-agent": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz",
+ "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==",
+ "requires": {
+ "@tootallnate/once": "1",
+ "agent-base": "6",
+ "debug": "4"
+ }
+ },
+ "https-proxy-agent": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz",
+ "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==",
+ "requires": {
+ "agent-base": "6",
+ "debug": "4"
+ }
+ },
+ "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=="
+ },
+ "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"
+ }
+ },
+ "import-local": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz",
+ "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==",
+ "requires": {
+ "pkg-dir": "^4.2.0",
+ "resolve-cwd": "^3.0.0"
+ }
+ },
+ "imurmurhash": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
+ "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o="
+ },
"inflight": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
@@ -556,16 +5242,700 @@
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
},
+ "iptv-checker": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/iptv-checker/-/iptv-checker-0.20.2.tgz",
+ "integrity": "sha512-3lzN3q1l3TApHvsP6Rt4ALrs8PE+Zb2gmuykwPzQNtlfazIUR73Yeq/ypwpqRwYJxSq5WMoEdQHwV4KcR7y5Ig==",
+ "requires": {
+ "axios": "^0.21.1",
+ "colors": "^1.4.0",
+ "command-exists": "^1.2.9",
+ "commander": "^2.20.0",
+ "dateformat": "^3.0.3",
+ "get-stdin": "^7.0.0",
+ "iptv-playlist-parser": "^0.5.4",
+ "jest": "^27.0.6",
+ "lodash.chunk": "^4.2.0",
+ "progress": "^2.0.3",
+ "valid-url": "^1.0.9"
+ },
+ "dependencies": {
+ "commander": {
+ "version": "2.20.3",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
+ "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="
+ }
+ }
+ },
"iptv-playlist-parser": {
"version": "0.5.4",
"resolved": "https://registry.npmjs.org/iptv-playlist-parser/-/iptv-playlist-parser-0.5.4.tgz",
"integrity": "sha512-sgzJ83LFLJQX8RhnWvjxEyeYwelLf+vPdNLWYwlozkmSl8IxU/y2qBxyGCvyqCKpIQDdU35wkrZ3k1nMpI3KGQ=="
},
+ "is-ci": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.0.tgz",
+ "integrity": "sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ==",
+ "requires": {
+ "ci-info": "^3.1.1"
+ }
+ },
+ "is-core-module": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.5.0.tgz",
+ "integrity": "sha512-TXCMSDsEHMEEZ6eCA8rwRDbLu55MRGmrctljsBX/2v1d9/GzqHOxW5c5oPSgrUt2vBFXebu9rGqckXGPWOlYpg==",
+ "requires": {
+ "has": "^1.0.3"
+ }
+ },
"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-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-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="
+ },
+ "is-potential-custom-element-name": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz",
+ "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ=="
+ },
+ "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-typedarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+ "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
+ },
+ "isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA="
+ },
+ "istanbul-lib-coverage": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz",
+ "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg=="
+ },
+ "istanbul-lib-instrument": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz",
+ "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==",
+ "requires": {
+ "@babel/core": "^7.7.5",
+ "@istanbuljs/schema": "^0.1.2",
+ "istanbul-lib-coverage": "^3.0.0",
+ "semver": "^6.3.0"
+ }
+ },
+ "istanbul-lib-report": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz",
+ "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==",
+ "requires": {
+ "istanbul-lib-coverage": "^3.0.0",
+ "make-dir": "^3.0.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "istanbul-lib-source-maps": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz",
+ "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==",
+ "requires": {
+ "debug": "^4.1.1",
+ "istanbul-lib-coverage": "^3.0.0",
+ "source-map": "^0.6.1"
+ }
+ },
+ "istanbul-reports": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz",
+ "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==",
+ "requires": {
+ "html-escaper": "^2.0.0",
+ "istanbul-lib-report": "^3.0.0"
+ }
+ },
+ "jest": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/jest/-/jest-27.0.6.tgz",
+ "integrity": "sha512-EjV8aETrsD0wHl7CKMibKwQNQc3gIRBXlTikBmmHUeVMKaPFxdcUIBfoDqTSXDoGJIivAYGqCWVlzCSaVjPQsA==",
+ "requires": {
+ "@jest/core": "^27.0.6",
+ "import-local": "^3.0.2",
+ "jest-cli": "^27.0.6"
+ }
+ },
+ "jest-changed-files": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.0.6.tgz",
+ "integrity": "sha512-BuL/ZDauaq5dumYh5y20sn4IISnf1P9A0TDswTxUi84ORGtVa86ApuBHqICL0vepqAnZiY6a7xeSPWv2/yy4eA==",
+ "requires": {
+ "@jest/types": "^27.0.6",
+ "execa": "^5.0.0",
+ "throat": "^6.0.1"
+ }
+ },
+ "jest-circus": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.0.6.tgz",
+ "integrity": "sha512-OJlsz6BBeX9qR+7O9lXefWoc2m9ZqcZ5Ohlzz0pTEAG4xMiZUJoacY8f4YDHxgk0oKYxj277AfOk9w6hZYvi1Q==",
+ "requires": {
+ "@jest/environment": "^27.0.6",
+ "@jest/test-result": "^27.0.6",
+ "@jest/types": "^27.0.6",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "co": "^4.6.0",
+ "dedent": "^0.7.0",
+ "expect": "^27.0.6",
+ "is-generator-fn": "^2.0.0",
+ "jest-each": "^27.0.6",
+ "jest-matcher-utils": "^27.0.6",
+ "jest-message-util": "^27.0.6",
+ "jest-runtime": "^27.0.6",
+ "jest-snapshot": "^27.0.6",
+ "jest-util": "^27.0.6",
+ "pretty-format": "^27.0.6",
+ "slash": "^3.0.0",
+ "stack-utils": "^2.0.3",
+ "throat": "^6.0.1"
+ }
+ },
+ "jest-cli": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.0.6.tgz",
+ "integrity": "sha512-qUUVlGb9fdKir3RDE+B10ULI+LQrz+MCflEH2UJyoUjoHHCbxDrMxSzjQAPUMsic4SncI62ofYCcAvW6+6rhhg==",
+ "requires": {
+ "@jest/core": "^27.0.6",
+ "@jest/test-result": "^27.0.6",
+ "@jest/types": "^27.0.6",
+ "chalk": "^4.0.0",
+ "exit": "^0.1.2",
+ "graceful-fs": "^4.2.4",
+ "import-local": "^3.0.2",
+ "jest-config": "^27.0.6",
+ "jest-util": "^27.0.6",
+ "jest-validate": "^27.0.6",
+ "prompts": "^2.0.1",
+ "yargs": "^16.0.3"
+ }
+ },
+ "jest-config": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.0.6.tgz",
+ "integrity": "sha512-JZRR3I1Plr2YxPBhgqRspDE2S5zprbga3swYNrvY3HfQGu7p/GjyLOqwrYad97tX3U3mzT53TPHVmozacfP/3w==",
+ "requires": {
+ "@babel/core": "^7.1.0",
+ "@jest/test-sequencer": "^27.0.6",
+ "@jest/types": "^27.0.6",
+ "babel-jest": "^27.0.6",
+ "chalk": "^4.0.0",
+ "deepmerge": "^4.2.2",
+ "glob": "^7.1.1",
+ "graceful-fs": "^4.2.4",
+ "is-ci": "^3.0.0",
+ "jest-circus": "^27.0.6",
+ "jest-environment-jsdom": "^27.0.6",
+ "jest-environment-node": "^27.0.6",
+ "jest-get-type": "^27.0.6",
+ "jest-jasmine2": "^27.0.6",
+ "jest-regex-util": "^27.0.6",
+ "jest-resolve": "^27.0.6",
+ "jest-runner": "^27.0.6",
+ "jest-util": "^27.0.6",
+ "jest-validate": "^27.0.6",
+ "micromatch": "^4.0.4",
+ "pretty-format": "^27.0.6"
+ }
+ },
+ "jest-diff": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.0.6.tgz",
+ "integrity": "sha512-Z1mqgkTCSYaFgwTlP/NUiRzdqgxmmhzHY1Tq17zL94morOHfHu3K4bgSgl+CR4GLhpV8VxkuOYuIWnQ9LnFqmg==",
+ "requires": {
+ "chalk": "^4.0.0",
+ "diff-sequences": "^27.0.6",
+ "jest-get-type": "^27.0.6",
+ "pretty-format": "^27.0.6"
+ }
+ },
+ "jest-docblock": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.0.6.tgz",
+ "integrity": "sha512-Fid6dPcjwepTFraz0YxIMCi7dejjJ/KL9FBjPYhBp4Sv1Y9PdhImlKZqYU555BlN4TQKaTc+F2Av1z+anVyGkA==",
+ "requires": {
+ "detect-newline": "^3.0.0"
+ }
+ },
+ "jest-each": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.0.6.tgz",
+ "integrity": "sha512-m6yKcV3bkSWrUIjxkE9OC0mhBZZdhovIW5ergBYirqnkLXkyEn3oUUF/QZgyecA1cF1QFyTE8bRRl8Tfg1pfLA==",
+ "requires": {
+ "@jest/types": "^27.0.6",
+ "chalk": "^4.0.0",
+ "jest-get-type": "^27.0.6",
+ "jest-util": "^27.0.6",
+ "pretty-format": "^27.0.6"
+ }
+ },
+ "jest-environment-jsdom": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.0.6.tgz",
+ "integrity": "sha512-FvetXg7lnXL9+78H+xUAsra3IeZRTiegA3An01cWeXBspKXUhAwMM9ycIJ4yBaR0L7HkoMPaZsozCLHh4T8fuw==",
+ "requires": {
+ "@jest/environment": "^27.0.6",
+ "@jest/fake-timers": "^27.0.6",
+ "@jest/types": "^27.0.6",
+ "@types/node": "*",
+ "jest-mock": "^27.0.6",
+ "jest-util": "^27.0.6",
+ "jsdom": "^16.6.0"
+ }
+ },
+ "jest-environment-node": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.0.6.tgz",
+ "integrity": "sha512-+Vi6yLrPg/qC81jfXx3IBlVnDTI6kmRr08iVa2hFCWmJt4zha0XW7ucQltCAPhSR0FEKEoJ3i+W4E6T0s9is0w==",
+ "requires": {
+ "@jest/environment": "^27.0.6",
+ "@jest/fake-timers": "^27.0.6",
+ "@jest/types": "^27.0.6",
+ "@types/node": "*",
+ "jest-mock": "^27.0.6",
+ "jest-util": "^27.0.6"
+ }
+ },
+ "jest-get-type": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.0.6.tgz",
+ "integrity": "sha512-XTkK5exIeUbbveehcSR8w0bhH+c0yloW/Wpl+9vZrjzztCPWrxhHwkIFpZzCt71oRBsgxmuUfxEqOYoZI2macg=="
+ },
+ "jest-haste-map": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.0.6.tgz",
+ "integrity": "sha512-4ldjPXX9h8doB2JlRzg9oAZ2p6/GpQUNAeiYXqcpmrKbP0Qev0wdZlxSMOmz8mPOEnt4h6qIzXFLDi8RScX/1w==",
+ "requires": {
+ "@jest/types": "^27.0.6",
+ "@types/graceful-fs": "^4.1.2",
+ "@types/node": "*",
+ "anymatch": "^3.0.3",
+ "fb-watchman": "^2.0.0",
+ "fsevents": "^2.3.2",
+ "graceful-fs": "^4.2.4",
+ "jest-regex-util": "^27.0.6",
+ "jest-serializer": "^27.0.6",
+ "jest-util": "^27.0.6",
+ "jest-worker": "^27.0.6",
+ "micromatch": "^4.0.4",
+ "walker": "^1.0.7"
+ }
+ },
+ "jest-jasmine2": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.0.6.tgz",
+ "integrity": "sha512-cjpH2sBy+t6dvCeKBsHpW41mjHzXgsavaFMp+VWRf0eR4EW8xASk1acqmljFtK2DgyIECMv2yCdY41r2l1+4iA==",
+ "requires": {
+ "@babel/traverse": "^7.1.0",
+ "@jest/environment": "^27.0.6",
+ "@jest/source-map": "^27.0.6",
+ "@jest/test-result": "^27.0.6",
+ "@jest/types": "^27.0.6",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "co": "^4.6.0",
+ "expect": "^27.0.6",
+ "is-generator-fn": "^2.0.0",
+ "jest-each": "^27.0.6",
+ "jest-matcher-utils": "^27.0.6",
+ "jest-message-util": "^27.0.6",
+ "jest-runtime": "^27.0.6",
+ "jest-snapshot": "^27.0.6",
+ "jest-util": "^27.0.6",
+ "pretty-format": "^27.0.6",
+ "throat": "^6.0.1"
+ }
+ },
+ "jest-leak-detector": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.0.6.tgz",
+ "integrity": "sha512-2/d6n2wlH5zEcdctX4zdbgX8oM61tb67PQt4Xh8JFAIy6LRKUnX528HulkaG6nD5qDl5vRV1NXejCe1XRCH5gQ==",
+ "requires": {
+ "jest-get-type": "^27.0.6",
+ "pretty-format": "^27.0.6"
+ }
+ },
+ "jest-matcher-utils": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.0.6.tgz",
+ "integrity": "sha512-OFgF2VCQx9vdPSYTHWJ9MzFCehs20TsyFi6bIHbk5V1u52zJOnvF0Y/65z3GLZHKRuTgVPY4Z6LVePNahaQ+tA==",
+ "requires": {
+ "chalk": "^4.0.0",
+ "jest-diff": "^27.0.6",
+ "jest-get-type": "^27.0.6",
+ "pretty-format": "^27.0.6"
+ }
+ },
+ "jest-message-util": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.0.6.tgz",
+ "integrity": "sha512-rBxIs2XK7rGy+zGxgi+UJKP6WqQ+KrBbD1YMj517HYN3v2BG66t3Xan3FWqYHKZwjdB700KiAJ+iES9a0M+ixw==",
+ "requires": {
+ "@babel/code-frame": "^7.12.13",
+ "@jest/types": "^27.0.6",
+ "@types/stack-utils": "^2.0.0",
+ "chalk": "^4.0.0",
+ "graceful-fs": "^4.2.4",
+ "micromatch": "^4.0.4",
+ "pretty-format": "^27.0.6",
+ "slash": "^3.0.0",
+ "stack-utils": "^2.0.3"
+ }
+ },
+ "jest-mock": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.0.6.tgz",
+ "integrity": "sha512-lzBETUoK8cSxts2NYXSBWT+EJNzmUVtVVwS1sU9GwE1DLCfGsngg+ZVSIe0yd0ZSm+y791esiuo+WSwpXJQ5Bw==",
+ "requires": {
+ "@jest/types": "^27.0.6",
+ "@types/node": "*"
+ }
+ },
+ "jest-pnp-resolver": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz",
+ "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==",
+ "requires": {}
+ },
+ "jest-regex-util": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.0.6.tgz",
+ "integrity": "sha512-SUhPzBsGa1IKm8hx2F4NfTGGp+r7BXJ4CulsZ1k2kI+mGLG+lxGrs76veN2LF/aUdGosJBzKgXmNCw+BzFqBDQ=="
+ },
+ "jest-resolve": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.0.6.tgz",
+ "integrity": "sha512-yKmIgw2LgTh7uAJtzv8UFHGF7Dm7XfvOe/LQ3Txv101fLM8cx2h1QVwtSJ51Q/SCxpIiKfVn6G2jYYMDNHZteA==",
+ "requires": {
+ "@jest/types": "^27.0.6",
+ "chalk": "^4.0.0",
+ "escalade": "^3.1.1",
+ "graceful-fs": "^4.2.4",
+ "jest-pnp-resolver": "^1.2.2",
+ "jest-util": "^27.0.6",
+ "jest-validate": "^27.0.6",
+ "resolve": "^1.20.0",
+ "slash": "^3.0.0"
+ }
+ },
+ "jest-resolve-dependencies": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.0.6.tgz",
+ "integrity": "sha512-mg9x9DS3BPAREWKCAoyg3QucCr0n6S8HEEsqRCKSPjPcu9HzRILzhdzY3imsLoZWeosEbJZz6TKasveczzpJZA==",
+ "requires": {
+ "@jest/types": "^27.0.6",
+ "jest-regex-util": "^27.0.6",
+ "jest-snapshot": "^27.0.6"
+ }
+ },
+ "jest-runner": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.0.6.tgz",
+ "integrity": "sha512-W3Bz5qAgaSChuivLn+nKOgjqNxM7O/9JOJoKDCqThPIg2sH/d4A/lzyiaFgnb9V1/w29Le11NpzTJSzga1vyYQ==",
+ "requires": {
+ "@jest/console": "^27.0.6",
+ "@jest/environment": "^27.0.6",
+ "@jest/test-result": "^27.0.6",
+ "@jest/transform": "^27.0.6",
+ "@jest/types": "^27.0.6",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "emittery": "^0.8.1",
+ "exit": "^0.1.2",
+ "graceful-fs": "^4.2.4",
+ "jest-docblock": "^27.0.6",
+ "jest-environment-jsdom": "^27.0.6",
+ "jest-environment-node": "^27.0.6",
+ "jest-haste-map": "^27.0.6",
+ "jest-leak-detector": "^27.0.6",
+ "jest-message-util": "^27.0.6",
+ "jest-resolve": "^27.0.6",
+ "jest-runtime": "^27.0.6",
+ "jest-util": "^27.0.6",
+ "jest-worker": "^27.0.6",
+ "source-map-support": "^0.5.6",
+ "throat": "^6.0.1"
+ }
+ },
+ "jest-runtime": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.0.6.tgz",
+ "integrity": "sha512-BhvHLRVfKibYyqqEFkybsznKwhrsu7AWx2F3y9G9L95VSIN3/ZZ9vBpm/XCS2bS+BWz3sSeNGLzI3TVQ0uL85Q==",
+ "requires": {
+ "@jest/console": "^27.0.6",
+ "@jest/environment": "^27.0.6",
+ "@jest/fake-timers": "^27.0.6",
+ "@jest/globals": "^27.0.6",
+ "@jest/source-map": "^27.0.6",
+ "@jest/test-result": "^27.0.6",
+ "@jest/transform": "^27.0.6",
+ "@jest/types": "^27.0.6",
+ "@types/yargs": "^16.0.0",
+ "chalk": "^4.0.0",
+ "cjs-module-lexer": "^1.0.0",
+ "collect-v8-coverage": "^1.0.0",
+ "exit": "^0.1.2",
+ "glob": "^7.1.3",
+ "graceful-fs": "^4.2.4",
+ "jest-haste-map": "^27.0.6",
+ "jest-message-util": "^27.0.6",
+ "jest-mock": "^27.0.6",
+ "jest-regex-util": "^27.0.6",
+ "jest-resolve": "^27.0.6",
+ "jest-snapshot": "^27.0.6",
+ "jest-util": "^27.0.6",
+ "jest-validate": "^27.0.6",
+ "slash": "^3.0.0",
+ "strip-bom": "^4.0.0",
+ "yargs": "^16.0.3"
+ }
+ },
+ "jest-serializer": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.0.6.tgz",
+ "integrity": "sha512-PtGdVK9EGC7dsaziskfqaAPib6wTViY3G8E5wz9tLVPhHyiDNTZn/xjZ4khAw+09QkoOVpn7vF5nPSN6dtBexA==",
+ "requires": {
+ "@types/node": "*",
+ "graceful-fs": "^4.2.4"
+ }
+ },
+ "jest-snapshot": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.0.6.tgz",
+ "integrity": "sha512-NTHaz8He+ATUagUgE7C/UtFcRoHqR2Gc+KDfhQIyx+VFgwbeEMjeP+ILpUTLosZn/ZtbNdCF5LkVnN/l+V751A==",
+ "requires": {
+ "@babel/core": "^7.7.2",
+ "@babel/generator": "^7.7.2",
+ "@babel/parser": "^7.7.2",
+ "@babel/plugin-syntax-typescript": "^7.7.2",
+ "@babel/traverse": "^7.7.2",
+ "@babel/types": "^7.0.0",
+ "@jest/transform": "^27.0.6",
+ "@jest/types": "^27.0.6",
+ "@types/babel__traverse": "^7.0.4",
+ "@types/prettier": "^2.1.5",
+ "babel-preset-current-node-syntax": "^1.0.0",
+ "chalk": "^4.0.0",
+ "expect": "^27.0.6",
+ "graceful-fs": "^4.2.4",
+ "jest-diff": "^27.0.6",
+ "jest-get-type": "^27.0.6",
+ "jest-haste-map": "^27.0.6",
+ "jest-matcher-utils": "^27.0.6",
+ "jest-message-util": "^27.0.6",
+ "jest-resolve": "^27.0.6",
+ "jest-util": "^27.0.6",
+ "natural-compare": "^1.4.0",
+ "pretty-format": "^27.0.6",
+ "semver": "^7.3.2"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "7.3.5",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
+ "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
+ "requires": {
+ "lru-cache": "^6.0.0"
+ }
+ }
+ }
+ },
+ "jest-util": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.0.6.tgz",
+ "integrity": "sha512-1JjlaIh+C65H/F7D11GNkGDDZtDfMEM8EBXsvd+l/cxtgQ6QhxuloOaiayt89DxUvDarbVhqI98HhgrM1yliFQ==",
+ "requires": {
+ "@jest/types": "^27.0.6",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "graceful-fs": "^4.2.4",
+ "is-ci": "^3.0.0",
+ "picomatch": "^2.2.3"
+ }
+ },
+ "jest-validate": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.0.6.tgz",
+ "integrity": "sha512-yhZZOaMH3Zg6DC83n60pLmdU1DQE46DW+KLozPiPbSbPhlXXaiUTDlhHQhHFpaqIFRrInko1FHXjTRpjWRuWfA==",
+ "requires": {
+ "@jest/types": "^27.0.6",
+ "camelcase": "^6.2.0",
+ "chalk": "^4.0.0",
+ "jest-get-type": "^27.0.6",
+ "leven": "^3.1.0",
+ "pretty-format": "^27.0.6"
+ },
+ "dependencies": {
+ "camelcase": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz",
+ "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg=="
+ }
+ }
+ },
+ "jest-watcher": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.0.6.tgz",
+ "integrity": "sha512-/jIoKBhAP00/iMGnTwUBLgvxkn7vsOweDrOTSPzc7X9uOyUtJIDthQBTI1EXz90bdkrxorUZVhJwiB69gcHtYQ==",
+ "requires": {
+ "@jest/test-result": "^27.0.6",
+ "@jest/types": "^27.0.6",
+ "@types/node": "*",
+ "ansi-escapes": "^4.2.1",
+ "chalk": "^4.0.0",
+ "jest-util": "^27.0.6",
+ "string-length": "^4.0.1"
+ }
+ },
+ "jest-worker": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.0.6.tgz",
+ "integrity": "sha512-qupxcj/dRuA3xHPMUd40gr2EaAurFbkwzOh7wfPaeE9id7hyjURRQoqNfHifHK3XjJU6YJJUQKILGUnwGPEOCA==",
+ "requires": {
+ "@types/node": "*",
+ "merge-stream": "^2.0.0",
+ "supports-color": "^8.0.0"
+ },
+ "dependencies": {
+ "supports-color": {
+ "version": "8.1.1",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
+ "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ }
+ }
+ },
+ "js-tokens": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
+ },
+ "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"
+ }
+ },
+ "jsdom": {
+ "version": "16.7.0",
+ "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz",
+ "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==",
+ "requires": {
+ "abab": "^2.0.5",
+ "acorn": "^8.2.4",
+ "acorn-globals": "^6.0.0",
+ "cssom": "^0.4.4",
+ "cssstyle": "^2.3.0",
+ "data-urls": "^2.0.0",
+ "decimal.js": "^10.2.1",
+ "domexception": "^2.0.1",
+ "escodegen": "^2.0.0",
+ "form-data": "^3.0.0",
+ "html-encoding-sniffer": "^2.0.1",
+ "http-proxy-agent": "^4.0.1",
+ "https-proxy-agent": "^5.0.0",
+ "is-potential-custom-element-name": "^1.0.1",
+ "nwsapi": "^2.2.0",
+ "parse5": "6.0.1",
+ "saxes": "^5.0.1",
+ "symbol-tree": "^3.2.4",
+ "tough-cookie": "^4.0.0",
+ "w3c-hr-time": "^1.0.2",
+ "w3c-xmlserializer": "^2.0.0",
+ "webidl-conversions": "^6.1.0",
+ "whatwg-encoding": "^1.0.5",
+ "whatwg-mimetype": "^2.3.0",
+ "whatwg-url": "^8.5.0",
+ "ws": "^7.4.6",
+ "xml-name-validator": "^3.0.0"
+ }
+ },
+ "jsesc": {
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
+ "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA=="
+ },
+ "json5": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz",
+ "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==",
+ "requires": {
+ "minimist": "^1.2.5"
+ }
+ },
+ "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.3.0",
+ "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
+ "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
+ "requires": {
+ "prelude-ls": "~1.1.2",
+ "type-check": "~0.3.2"
+ }
+ },
+ "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"
+ }
+ },
+ "lodash": {
+ "version": "4.17.21",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
+ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
+ },
+ "lodash.chunk": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/lodash.chunk/-/lodash.chunk-4.2.0.tgz",
+ "integrity": "sha1-ZuXOH3btJ7QwPYxlEujRIW6BBrw="
+ },
+ "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"
+ }
+ },
"m3u-linter": {
"version": "0.1.3",
"resolved": "https://registry.npmjs.org/m3u-linter/-/m3u-linter-0.1.3.tgz",
@@ -576,6 +5946,22 @@
"glob": "^7.1.6"
}
},
+ "make-dir": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
+ "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
+ "requires": {
+ "semver": "^6.0.0"
+ }
+ },
+ "makeerror": {
+ "version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz",
+ "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=",
+ "requires": {
+ "tmpl": "1.0.x"
+ }
+ },
"markdown-include": {
"version": "0.4.3",
"resolved": "https://registry.npmjs.org/markdown-include/-/markdown-include-0.4.3.tgz",
@@ -584,6 +5970,38 @@
"q": "^1.2.0"
}
},
+ "merge-stream": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
+ "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w=="
+ },
+ "micromatch": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz",
+ "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==",
+ "requires": {
+ "braces": "^3.0.1",
+ "picomatch": "^2.2.3"
+ }
+ },
+ "mime-db": {
+ "version": "1.49.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.49.0.tgz",
+ "integrity": "sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA=="
+ },
+ "mime-types": {
+ "version": "2.1.32",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.32.tgz",
+ "integrity": "sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==",
+ "requires": {
+ "mime-db": "1.49.0"
+ }
+ },
+ "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.4",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
@@ -592,6 +6010,54 @@
"brace-expansion": "^1.1.7"
}
},
+ "minimist": {
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
+ "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw=="
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ },
+ "natural-compare": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
+ "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc="
+ },
+ "node-int64": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz",
+ "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs="
+ },
+ "node-modules-regexp": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz",
+ "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA="
+ },
+ "node-releases": {
+ "version": "1.1.73",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.73.tgz",
+ "integrity": "sha512-uW7fodD6pyW2FZNZnp/Z3hvWKeEW1Y8R1+1CnErE8cXFXzl5blBOoVB41CvMer6P6Q0S5FXDwcHgFd1Wj0U9zg=="
+ },
+ "normalize-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="
+ },
+ "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": {
+ "path-key": "^3.0.0"
+ }
+ },
+ "nwsapi": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz",
+ "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ=="
+ },
"once": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
@@ -600,11 +6066,99 @@
"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.8.3",
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
+ "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==",
+ "requires": {
+ "deep-is": "~0.1.3",
+ "fast-levenshtein": "~2.0.6",
+ "levn": "~0.3.0",
+ "prelude-ls": "~1.1.2",
+ "type-check": "~0.3.2",
+ "word-wrap": "~1.2.3"
+ }
+ },
+ "p-each-series": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz",
+ "integrity": "sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA=="
+ },
+ "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=="
+ },
+ "parse5": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
+ "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw=="
+ },
+ "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=="
+ },
"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=="
+ },
+ "picomatch": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz",
+ "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw=="
+ },
+ "pirates": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz",
+ "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==",
+ "requires": {
+ "node-modules-regexp": "^1.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"
+ }
+ },
"pre-push": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/pre-push/-/pre-push-0.1.1.tgz",
@@ -613,26 +6167,190 @@
"shelljs": "0.3.x"
}
},
+ "prelude-ls": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
+ "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ="
+ },
+ "pretty-format": {
+ "version": "27.0.6",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.0.6.tgz",
+ "integrity": "sha512-8tGD7gBIENgzqA+UBzObyWqQ5B778VIFZA/S66cclyd5YkFLYs2Js7gxDKf0MXtTc9zcS7t1xhdfcElJ3YIvkQ==",
+ "requires": {
+ "@jest/types": "^27.0.6",
+ "ansi-regex": "^5.0.0",
+ "ansi-styles": "^5.0.0",
+ "react-is": "^17.0.1"
+ },
+ "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=="
+ }
+ }
+ },
"progress": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
"integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA=="
},
+ "prompts": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.1.tgz",
+ "integrity": "sha512-EQyfIuO2hPDsX1L/blblV+H7I0knhgAd82cVneCwcdND9B8AuCDuRcBH6yIcG4dFzlOUqbazQqwGjx5xmsNLuQ==",
+ "requires": {
+ "kleur": "^3.0.3",
+ "sisteransi": "^1.0.5"
+ }
+ },
+ "psl": {
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz",
+ "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ=="
+ },
+ "punycode": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
+ "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
+ },
"q": {
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
"integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc="
},
+ "react-is": {
+ "version": "17.0.2",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
+ "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w=="
+ },
"require-directory": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
"integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I="
},
+ "resolve": {
+ "version": "1.20.0",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz",
+ "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==",
+ "requires": {
+ "is-core-module": "^2.2.0",
+ "path-parse": "^1.0.6"
+ }
+ },
+ "resolve-cwd": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz",
+ "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==",
+ "requires": {
+ "resolve-from": "^5.0.0"
+ }
+ },
+ "resolve-from": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
+ "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw=="
+ },
+ "rimraf": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ },
+ "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=="
+ },
+ "saxes": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz",
+ "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==",
+ "requires": {
+ "xmlchars": "^2.2.0"
+ }
+ },
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
+ },
+ "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=="
+ },
"shelljs": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.3.0.tgz",
"integrity": "sha1-NZbmMHp4FUT1kfN9phg2DzHbV7E="
},
+ "signal-exit": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz",
+ "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA=="
+ },
+ "sisteransi": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz",
+ "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg=="
+ },
+ "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.19",
+ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz",
+ "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==",
+ "requires": {
+ "buffer-from": "^1.0.0",
+ "source-map": "^0.6.0"
+ }
+ },
+ "sprintf-js": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
+ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw="
+ },
+ "stack-utils": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.3.tgz",
+ "integrity": "sha512-gL//fkxfWUsIlFL2Tl42Cl6+HFALEaB1FU76I/Fy+oZjRreP7OPMXFlGbxM7NQsI0ZpUfw76sHnv0WNYuTb7Iw==",
+ "requires": {
+ "escape-string-regexp": "^2.0.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.2",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz",
@@ -651,6 +6369,16 @@
"ansi-regex": "^5.0.0"
}
},
+ "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=="
+ },
+ "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",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
@@ -659,6 +6387,80 @@
"has-flag": "^4.0.0"
}
},
+ "supports-hyperlinks": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz",
+ "integrity": "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==",
+ "requires": {
+ "has-flag": "^4.0.0",
+ "supports-color": "^7.0.0"
+ }
+ },
+ "symbol-tree": {
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz",
+ "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw=="
+ },
+ "terminal-link": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz",
+ "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==",
+ "requires": {
+ "ansi-escapes": "^4.2.1",
+ "supports-hyperlinks": "^2.0.0"
+ }
+ },
+ "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": {
+ "@istanbuljs/schema": "^0.1.2",
+ "glob": "^7.1.4",
+ "minimatch": "^3.0.4"
+ }
+ },
+ "throat": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.1.tgz",
+ "integrity": "sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w=="
+ },
+ "tmpl": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz",
+ "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE="
+ },
+ "to-fast-properties": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
+ "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4="
+ },
+ "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": {
+ "is-number": "^7.0.0"
+ }
+ },
+ "tough-cookie": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz",
+ "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==",
+ "requires": {
+ "psl": "^1.1.33",
+ "punycode": "^2.1.1",
+ "universalify": "^0.1.2"
+ }
+ },
+ "tr46": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz",
+ "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==",
+ "requires": {
+ "punycode": "^2.1.1"
+ }
+ },
"transliteration": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/transliteration/-/transliteration-2.2.0.tgz",
@@ -667,6 +6469,124 @@
"yargs": "^16.1.0"
}
},
+ "type-check": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
+ "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
+ "requires": {
+ "prelude-ls": "~1.1.2"
+ }
+ },
+ "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=="
+ },
+ "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=="
+ },
+ "typedarray-to-buffer": {
+ "version": "3.1.5",
+ "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz",
+ "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==",
+ "requires": {
+ "is-typedarray": "^1.0.0"
+ }
+ },
+ "universalify": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
+ "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg=="
+ },
+ "v8-to-istanbul": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.0.0.tgz",
+ "integrity": "sha512-LkmXi8UUNxnCC+JlH7/fsfsKr5AU110l+SYGJimWNkWhxbN5EyeOtm1MJ0hhvqMMOhGwBj1Fp70Yv9i+hX0QAg==",
+ "requires": {
+ "@types/istanbul-lib-coverage": "^2.0.1",
+ "convert-source-map": "^1.6.0",
+ "source-map": "^0.7.3"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.7.3",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
+ "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ=="
+ }
+ }
+ },
+ "valid-url": {
+ "version": "1.0.9",
+ "resolved": "https://registry.npmjs.org/valid-url/-/valid-url-1.0.9.tgz",
+ "integrity": "sha1-HBRHm0DxOXp1eC8RXkCGRHQzogA="
+ },
+ "w3c-hr-time": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz",
+ "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==",
+ "requires": {
+ "browser-process-hrtime": "^1.0.0"
+ }
+ },
+ "w3c-xmlserializer": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz",
+ "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==",
+ "requires": {
+ "xml-name-validator": "^3.0.0"
+ }
+ },
+ "walker": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz",
+ "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=",
+ "requires": {
+ "makeerror": "1.0.x"
+ }
+ },
+ "webidl-conversions": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz",
+ "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w=="
+ },
+ "whatwg-encoding": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz",
+ "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==",
+ "requires": {
+ "iconv-lite": "0.4.24"
+ }
+ },
+ "whatwg-mimetype": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz",
+ "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g=="
+ },
+ "whatwg-url": {
+ "version": "8.7.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz",
+ "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==",
+ "requires": {
+ "lodash": "^4.7.0",
+ "tr46": "^2.1.0",
+ "webidl-conversions": "^6.1.0"
+ }
+ },
+ "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"
+ }
+ },
+ "word-wrap": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
+ "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ=="
+ },
"wrap-ansi": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
@@ -682,11 +6602,43 @@
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
},
+ "write-file-atomic": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz",
+ "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==",
+ "requires": {
+ "imurmurhash": "^0.1.4",
+ "is-typedarray": "^1.0.0",
+ "signal-exit": "^3.0.2",
+ "typedarray-to-buffer": "^3.1.5"
+ }
+ },
+ "ws": {
+ "version": "7.5.3",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.3.tgz",
+ "integrity": "sha512-kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg==",
+ "requires": {}
+ },
+ "xml-name-validator": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz",
+ "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw=="
+ },
+ "xmlchars": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz",
+ "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw=="
+ },
"y18n": {
"version": "5.0.5",
"resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.5.tgz",
"integrity": "sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg=="
},
+ "yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
+ },
"yargs": {
"version": "16.2.0",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz",
diff --git a/package.json b/package.json
index 189c4013f5..ea37000635 100644
--- a/package.json
+++ b/package.json
@@ -15,6 +15,7 @@
"chalk": "^4.1.1",
"commander": "^7.0.0",
"escape-string-regexp": "^2.0.0",
+ "iptv-checker": "^0.20.2",
"iptv-playlist-parser": "^0.5.4",
"m3u-linter": "^0.1.3",
"markdown-include": "^0.4.3",
diff --git a/scripts/clean.js b/scripts/clean.js
index 358b275d26..d1ab7c2e7e 100644
--- a/scripts/clean.js
+++ b/scripts/clean.js
@@ -1,93 +1,65 @@
+const IPTVChecker = require('iptv-checker')
const { program } = require('commander')
const ProgressBar = require('progress')
-const axios = require('axios')
-const https = require('https')
-const chalk = require('chalk')
const parser = require('./helpers/parser')
const utils = require('./helpers/utils')
const log = require('./helpers/log')
program
.usage('[OPTIONS]...')
+ .option('-d, --debug', 'Enable debug mode')
.option('-c, --country ', 'Comma-separated list of country codes', '')
.option('-e, --exclude ', 'Comma-separated list of country codes to be excluded', '')
- .option('--delay ', 'Delay between parser requests', 1000)
.option('--timeout ', 'Set timeout for each request', 5000)
.parse(process.argv)
+let bar
const config = program.opts()
-const offlineStatusCodes = [404, 410, 451, 500, 501]
const ignoreStatus = ['Geo-blocked', 'Not 24/7', 'Offline']
-const instance = axios.create({
- timeout: config.timeout,
- maxContentLength: 200000,
- httpsAgent: new https.Agent({
- rejectUnauthorized: false
- }),
- validateStatus: function (status) {
- return !offlineStatusCodes.includes(status)
- }
+const checker = new IPTVChecker({
+ timeout: config.timeout
})
-let broken = 0
-
async function main() {
log.start()
- log.print(`Parsing 'index.m3u'...`)
+ if (config.debug) log.print(`Debug mode enabled\n`)
+
let playlists = parser.parseIndex()
playlists = utils.filterPlaylists(playlists, config.country, config.exclude)
for (const playlist of playlists) {
await parser
.parsePlaylist(playlist.url)
- .then(checkStatus)
+ .then(checkPlaylist)
.then(p => p.save())
}
log.finish()
}
-async function checkStatus(playlist) {
- let bar = new ProgressBar(`Checking '${playlist.url}': [:bar] :current/:total (:percent) `, {
- total: playlist.channels.length
- })
+async function checkPlaylist(playlist) {
+ if (!config.debug) {
+ bar = new ProgressBar(`Checking '${playlist.url}': [:bar] :current/:total (:percent) `, {
+ total: playlist.channels.length
+ })
+ }
const channels = []
const total = playlist.channels.length
for (const [index, channel] of playlist.channels.entries()) {
- const current = index + 1
- const counter = chalk.gray(`[${current}/${total}]`)
const skipChannel =
channel.status &&
ignoreStatus.map(i => i.toLowerCase()).includes(channel.status.toLowerCase())
- bar.tick()
- if (
- skipChannel ||
- (!channel.url.startsWith('http://') && !channel.url.startsWith('https://'))
- ) {
+ if (skipChannel) {
channels.push(channel)
} else {
- const CancelToken = axios.CancelToken
- const source = CancelToken.source()
- const timeout = setTimeout(() => {
- source.cancel()
- }, config.timeout)
-
- await instance
- .get(channel.url, { cancelToken: source.token })
- .then(() => {
- clearTimeout(timeout)
- channels.push(channel)
- })
- .then(utils.sleep(config.delay))
- .catch(err => {
- clearTimeout(timeout)
- if (err.response && offlineStatusCodes.includes(err.response.status)) {
- broken++
- } else {
- channels.push(channel)
- }
- })
+ const result = await checker.checkStream(channel.data)
+ if (result.status.ok || result.status.reason.includes('timed out')) {
+ channels.push(channel)
+ } else {
+ if (config.debug) log.print(`ERR: ${channel.url} (${result.status.reason})\n`)
+ }
}
+ if (!config.debug) bar.tick()
}
if (playlist.channels.length !== channels.length) {
diff --git a/scripts/helpers/Channel.js b/scripts/helpers/Channel.js
index 71f3d4d1a1..043f7886f3 100644
--- a/scripts/helpers/Channel.js
+++ b/scripts/helpers/Channel.js
@@ -7,6 +7,7 @@ const nsfwCategories = categories.filter(c => c.nsfw).map(c => c.name)
module.exports = class Channel {
constructor(data) {
+ this.data = data
this.raw = data.raw
this.tvg = data.tvg
this.http = data.http