diff --git a/.github/ISSUE_TEMPLATE/1_streams_add.yml b/.github/ISSUE_TEMPLATE/1_streams_add.yml index 75d89b54f..2d3f9c793 100644 --- a/.github/ISSUE_TEMPLATE/1_streams_add.yml +++ b/.github/ISSUE_TEMPLATE/1_streams_add.yml @@ -6,9 +6,9 @@ labels: ['streams:add'] body: - type: input attributes: - label: Channel ID (required) - description: Unique channel ID from [iptv-org.github.io](https://iptv-org.github.io/). If you can't find the channel you want in the list, please let us know through this [form](https://github.com/iptv-org/database/issues/new?assignees=&labels=channels%3Aadd&projects=&template=channels_add.yml&title=Add%3A+) before posting your request. - placeholder: 'BBCAmericaEast.us' + label: Stream ID (required) + description: "ID of the stream consisting of `` or `@`. Full list of supported channels with corresponding ID could be found on [iptv-org.github.io](https://iptv-org.github.io/). If you can't find the channel you want in the list, please let us know through this [form](https://github.com/iptv-org/database/issues/new?assignees=&labels=channels%3Aadd&projects=&template=channels_add.yml&title=Add%3A+) before posting your request." + placeholder: 'BBCAmerica.us@East' validations: required: true @@ -28,9 +28,12 @@ body: - 2160p - 1280p - 1080p + - 1080i - 720p - 576p + - 576i - 480p + - 480i - 360p - type: dropdown diff --git a/.github/ISSUE_TEMPLATE/2_streams_edit.yml b/.github/ISSUE_TEMPLATE/2_streams_edit.yml index 0231d30c0..1c9ab6200 100644 --- a/.github/ISSUE_TEMPLATE/2_streams_edit.yml +++ b/.github/ISSUE_TEMPLATE/2_streams_edit.yml @@ -19,9 +19,9 @@ body: - type: input attributes: - label: Channel ID - description: Channel ID from [iptv-org.github.io](https://iptv-org.github.io/). - placeholder: 'BBCAmericaEast.us' + label: Stream ID + description: "ID of the stream consisting of `` or `@`. Full list of supported channels with corresponding ID could be found on [iptv-org.github.io](https://iptv-org.github.io/). If you can't find the channel you want in the list, please let us know through this [form](https://github.com/iptv-org/database/issues/new?assignees=&labels=channels%3Aadd&projects=&template=channels_add.yml&title=Add%3A+) before posting your request." + placeholder: 'BBCAmerica.us@East' - type: dropdown attributes: @@ -31,9 +31,12 @@ body: - 2160p - 1280p - 1080p + - 1080i - 720p - 576p + - 576i - 480p + - 480i - 360p - '~' diff --git a/.github/ISSUE_TEMPLATE/3_broken-stream.yml b/.github/ISSUE_TEMPLATE/3_broken-stream.yml index 12ed63a5b..67dcb462a 100644 --- a/.github/ISSUE_TEMPLATE/3_broken-stream.yml +++ b/.github/ISSUE_TEMPLATE/3_broken-stream.yml @@ -1,7 +1,7 @@ name: ๐Ÿšง Report broken stream description: Report a broken or unstable stream title: 'Broken: ' -labels: ['broken stream'] +labels: ['broken stream', 'streams:remove'] body: - type: markdown diff --git a/.readme/supported-categories.md b/.readme/supported-categories.md index c01f5cf26..9107c3501 100644 --- a/.readme/supported-categories.md +++ b/.readme/supported-categories.md @@ -22,7 +22,7 @@ | News | Programming is mostly news | | Outdoor | Programming related to outdoor activities like fishing, hunting, etc. | | Relax | Programming is calm sounding and beautiful views | -| Religious | Religious Programming | +| Religious | Religious programming | | Science | Science and Technology | | Series | Channels that only show series | | Shop | Programming is for shopping | diff --git a/.readme/supported-regions.md b/.readme/supported-regions.md deleted file mode 100644 index 8431742ef..000000000 --- a/.readme/supported-regions.md +++ /dev/null @@ -1,30 +0,0 @@ -## Supported Regions - -| Code | Description | -| ------------------------------------------------------------------------ | -------------------------------------- | -| [AFR](https://en.wikipedia.org/wiki/Africa) | Africa | -| [AMER](https://en.wikipedia.org/wiki/Americas) | Americas | -| [APAC](https://en.wikipedia.org/wiki/Asia-Pacific) | Asia-Pacific | -| [ARAB](https://en.wikipedia.org/wiki/Arab_world) | Arab world | -| [ASEAN](https://en.wikipedia.org/wiki/ASEAN) | Association of Southeast Asian Nations | -| [ASIA](https://en.wikipedia.org/wiki/Asia) | Asia | -| [CARIB](https://en.wikipedia.org/wiki/Caribbean) | Caribbean | -| [CAS](https://en.wikipedia.org/wiki/Central_Asia) | Central Asia | -| [CENAMER](https://en.wikipedia.org/wiki/Central_America) | Central America | -| [CIS](https://en.wikipedia.org/wiki/Commonwealth_of_Independent_States) | Commonwealth of Independent States | -| [EMEA](https://en.wikipedia.org/wiki/Europe,_the_Middle_East_and_Africa) | Europe, the Middle East and Africa | -| [EUR](https://en.wikipedia.org/wiki/Europe) | Europe | -| [HISPAM](https://en.wikipedia.org/wiki/Hispanic_America) | Hispanic America | -| [LAC](https://en.wikipedia.org/wiki/Latin_America_and_the_Caribbean) | Latin America and the Caribbean | -| [LATAM](https://en.wikipedia.org/wiki/Latin_America) | Latin America | -| [MAGHREB](https://en.wikipedia.org/wiki/Maghreb) | Maghreb | -| [MENA](https://en.wikipedia.org/wiki/MENA) | Middle East and North Africa | -| [MIDEAST](https://en.wikipedia.org/wiki/Middle_East) | Middle East | -| [NAM](https://en.wikipedia.org/wiki/Northern_America) | Northern America | -| [NORAM](https://en.wikipedia.org/wiki/North_America) | North America | -| [NORD](https://en.wikipedia.org/wiki/Nordic_countries) | Nordics | -| [OCE](https://en.wikipedia.org/wiki/Oceania) | Oceania | -| [SAS](https://en.wikipedia.org/wiki/South_Asia) | South Asia | -| [SSA](https://en.wikipedia.org/wiki/Sub-Saharan_Africa) | Sub-Saharan Africa | -| [WAFR](https://en.wikipedia.org/wiki/West_Africa) | West Africa | -| [INT](https://en.wikipedia.org/wiki/West_Africa) | Worldwide | diff --git a/.readme/template.md b/.readme/template.md index da49331b9..5dd4d1cf8 100644 --- a/.readme/template.md +++ b/.readme/template.md @@ -36,12 +36,12 @@ https://iptv-org.github.io/iptv/index.m3u ### Grouped by category +Playlists in which channels are grouped by category. A list of all supported categories with descriptions can be found [here](.readme/supported-categories.md). +
Expand
-Playlist in which each channel has its _category_ as a group title: - ``` https://iptv-org.github.io/iptv/index.category.m3u ``` @@ -55,12 +55,12 @@ Same thing, but split up into separate files: ### Grouped by language +Playlists in which channels are grouped by the language in which they are broadcast. +
Expand
-Playlist in which each channel has its _language_ as a group title: - ``` https://iptv-org.github.io/iptv/index.language.m3u ``` @@ -74,12 +74,12 @@ Same thing, but split up into separate files: ### Grouped by country +Playlists in which channels are grouped by country for which they are broadcasted. +
Expand
-Playlist in which each channel has its _country_ as a group title: - ``` https://iptv-org.github.io/iptv/index.country.m3u ``` @@ -97,7 +97,7 @@ Same thing, but split up into separate files: Expand
-Playlist in which each channel has its _region_ as a group title: +Playlists in which channels are grouped by the region for which they are broadcasted. ``` https://iptv-org.github.io/iptv/index.region.m3u diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 470dcbaf0..556ed05c7 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -20,15 +20,23 @@ Regardless of which option you choose, before posting your request please do the - Make sure the link you want to add works stably. To check this, open it in one of the players (for example, [VLC player](https://www.videolan.org/vlc/index.html)) and watch the broadcast for at least a minute (some test streams are interrupted after 15-30 seconds). - Make sure the link is not already in the playlist. This can be done by [searching](https://github.com/search?q=repo%3Aiptv-org%2Fiptv+http%3A%2F%2Fexample.com&type=code) the repository. -- Find the ID of the channel you want to add in our [database](https://iptv-org.github.io/). If this particular channel is not in the database, then leave a request to add it [here](https://github.com/iptv-org/database/issues/new/choose) and wait until it is approved before continuing. -- Make sure the channel is not blocklisted. This can be done by checking the [blocklist.csv](https://github.com/iptv-org/database/blob/master/data/blocklist.csv) file. +- Find the ID of the channel you want on [iptv-org.github.io](https://iptv-org.github.io/). If your desired channel is not on the list you can leave a request to add it [here](https://github.com/iptv-org/database/issues/new/choose). +- Make sure the channel is not blocklisted. It can also be done through [iptv-org.github.io](https://iptv-org.github.io/). - The link does not lead to the Xtream Codes server. [Why don't you accept links to Xtream Codes server?](FAQ.md#why-dont-you-accept-links-to-xtream-codes-server) - If you know that the broadcast only works in certain countries or it is periodically interrupted, do not forget to indicate this in the request. -A requests without a valid channel ID or working link to the stream will be closed immediately. +A requests without a valid stream ID or working link to the stream will be closed immediately. Note all links in playlists are sorted automatically by scripts so there is no need to sort them manually. For more info, see [Scripts](#scripts). +### How to fix the stream description? + +Most of the stream description (channel name, categories, languages, broadcast area, logo) we load from the [iptv-org/database](https://github.com/iptv-org/database) using the stream ID. + +So first of all, make sure that the desired stream has the correct ID. A full list of all supported channels and their corresponding IDs can be found on [iptv-org.github.io](https://iptv-org.github.io/). To change the stream ID of any link in the playlist, just fill out this [form](https://github.com/iptv-org/iptv/issues/new?assignees=&labels=streams%3Aedit&projects=&template=2_streams_edit.yml&title=Edit%3A+). + +If, however, you have found an error in the database itself, this is the place to go: [How to edit channel description?](https://github.com/iptv-org/database/blob/master/CONTRIBUTING.md#how-to-edit-channel-description) + ### How to distinguish a link to an Xtream Codes server from a regular one? Most of them have this form: @@ -52,6 +60,37 @@ The only thing before publishing your report is to make sure that: An issue without a valid link will be closed immediately. +### How to find a broken stream? + +For starters, you can just try to open the playlist in [VLC player](https://www.videolan.org/vlc/). The player outputs all errors to the log (Tools -> Messages) so you'll be able to determine pretty accurately why a link isn't working. + +Another way to test links is to use the NPM script. To do this, first make sure you have [Node.js](https://nodejs.org/en) installed on your system. Then go to the `iptv` folder using [Console](https://en.wikipedia.org/wiki/Windows_Console) (or [Terminal]() if you have macOS) and run the command: + +```sh +npm run playlist:test path/to/playlist.m3u +``` + +This command will run an automatic check of all links in the playlist and display their status: + +```sh +npm run playlist:test streams/fr.m3u + +streams/fr.m3u +โ”Œโ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” +โ”‚ โ”‚ tvg-id โ”‚ url โ”‚ status โ”‚ +โ”œโ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค +โ”‚ 0 โ”‚ 6ter.fr โ”‚ https://origin-caf900c010ea8046.live.6cloud.fr/out/v1/29c7a579af3348b48230f76cd75699a5/dash_short... โ”‚ LOADING... โ”‚ +โ”‚ 1 โ”‚ 20MinutesTV.fr โ”‚ https://lives.digiteka.com/stream/86d3e867-a272-496b-8412-f59aa0104771/index.m3u8 โ”‚ FFMPEG_STREAMS_NOT_FOUND โ”‚ +โ”‚ 2 โ”‚ โ”‚ https://video1.getstreamhosting.com:1936/8420/8420/playlist.m3u8 โ”‚ OK โ”‚ +โ”‚ 3 โ”‚ ADNTVPlus.fr โ”‚ https://samsunguk-adn-samsung-fre-qfrlc.amagi.tv/playlist/samsunguk-adn-samsung-fre/playlist.m3u8 โ”‚ HTTP_FORBIDDEN โ”‚ +โ”‚ 4 โ”‚ Africa24.fr โ”‚ https://edge12.vedge.infomaniak.com/livecast/ik:africa24/manifest.m3u8 โ”‚ OK โ”‚ +โ”‚ 5 โ”‚ Africa24English.fr โ”‚ https://edge17.vedge.infomaniak.com/livecast/ik:africa24sport/manifest.m3u8 โ”‚ OK โ”‚ +โ”‚ 6 โ”‚ AfricanewsEnglish.fr โ”‚ https://37c774660687468c821a51190046facf.mediatailor.us-east-1.amazonaws.com/v1/master/04fd913bb2... โ”‚ HTTP_GATEWAY_TIMEOUT โ”‚ +โ”‚ 7 โ”‚ AlpedHuezTV.fr โ”‚ https://edge.vedge.infomaniak.com/livecast/ik:adhtv/chunklist.m3u8 โ”‚ HTTP_NOT_FOUND โ”‚ +``` + +After that, all you have to do is report any broken streams you find. + ### How do I remove my channel from playlist? To request removal of a link to a channel from the repository, you need to fill out this [form](https://github.com/iptv-org/iptv/issues/new?assignees=&labels=removal+request&projects=&template=-removal-request.yml&title=Remove%3A+) and wait for the request to be reviewed (this usually takes no more than 1 business day). And if the request is approved, links to the channel will be immediately removed from the repository. @@ -65,22 +104,22 @@ Please note that we only accept removal requests from channel owners and their o For a stream to be approved, its description must follow this template: ``` -#EXTINF:-1 tvg-id="CHANNEL_ID",CHANNEL_NAME (RESOLUTION) [LABEL] +#EXTINF:-1 tvg-id="STREAM_ID",CHANNEL_NAME (QUALITY) [LABEL] STREAM_URL ``` -| Attribute | Description | Required | Valid values | -| -------------- | ------------------------------------------------------------------------------------------ | -------- | -------------------------------------------------------------------------------------------------------------------------- | -| `CHANNEL_ID` | Channel ID. | Optional | Full list of supported channels with corresponding ID could be found on [iptv-org.github.io](https://iptv-org.github.io/). | -| `CHANNEL_NAME` | Full name of the channel. May contain any characters except: `,`, `[`, `]`. | Required | - | -| `RESOLUTION` | Maximum stream resolution. | Optional | `2160p`, `1080p`, `720p`, `480p`, `360p` etc | -| `LABEL` | Specified in cases where the broadcast for some reason may not be available to some users. | Optional | `Geo-blocked` or `Not 24/7` | -| `STREAM_URL` | Stream URL. | Required | - | +| Attribute | Description | Required | Valid values | +| -------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | -------- | -------------------------------------------- | +| `STREAM_ID` | ID of the stream. Full list of supported channels with corresponding ID could be found on [iptv-org.github.io](https://iptv-org.github.io/). | Optional | `` or `@` | +| `CHANNEL_NAME` | Full name of the channel. May contain any characters except: `,`, `[`, `]`. | Required | - | +| `QUALITY` | Maximum stream quality. | Optional | `2160p`, `1080p`, `720p`, `480p`, `360p` etc | +| `LABEL` | Specified in cases where the broadcast for some reason may not be available to some users. | Optional | `Geo-blocked` or `Not 24/7` | +| `STREAM_URL` | Stream URL. | Required | - | Example: ```xml -#EXTINF:-1 tvg-id="ExampleTV.ua",Example TV (720p) [Not 24/7] +#EXTINF:-1 tvg-id="ExampleTV.ua@HD",Example TV (720p) [Not 24/7] https://example.com/playlist.m3u8 ``` @@ -110,7 +149,6 @@ http://example.com/stream.m3u8 - `config.json`: config for the `markdown-include` package, which is used to compile everything into one `README.md` file. - `preview.png`: image displayed in the `README.md`. - `supported-categories.md`: list of supported categories. - - `supported-regions.md`: list of supported regions. - `template.md`: template for `README.md`. - `scripts/`: contains all scripts used in the repository. - `streams/`: contains all streams broken down by the country from which they are broadcast. diff --git a/README.md b/README.md index 9b91168c2..ac0904dc2 100644 --- a/README.md +++ b/README.md @@ -36,12 +36,12 @@ https://iptv-org.github.io/iptv/index.m3u ### Grouped by category +Playlists in which channels are grouped by category. A list of all supported categories with descriptions can be found [here](.readme/supported-categories.md). +
Expand
-Playlist in which each channel has its _category_ as a group title: - ``` https://iptv-org.github.io/iptv/index.category.m3u ``` @@ -54,35 +54,35 @@ Same thing, but split up into separate files: CategoryChannelsPlaylist - Animation50https://iptv-org.github.io/iptv/categories/animation.m3u - Auto15https://iptv-org.github.io/iptv/categories/auto.m3u - Business69https://iptv-org.github.io/iptv/categories/business.m3u - Classic46https://iptv-org.github.io/iptv/categories/classic.m3u - Comedy74https://iptv-org.github.io/iptv/categories/comedy.m3u - Cooking28https://iptv-org.github.io/iptv/categories/cooking.m3u + Animation45https://iptv-org.github.io/iptv/categories/animation.m3u + Auto14https://iptv-org.github.io/iptv/categories/auto.m3u + Business60https://iptv-org.github.io/iptv/categories/business.m3u + Classic44https://iptv-org.github.io/iptv/categories/classic.m3u + Comedy60https://iptv-org.github.io/iptv/categories/comedy.m3u + Cooking23https://iptv-org.github.io/iptv/categories/cooking.m3u Culture168https://iptv-org.github.io/iptv/categories/culture.m3u - Documentary109https://iptv-org.github.io/iptv/categories/documentary.m3u - Education159https://iptv-org.github.io/iptv/categories/education.m3u - Entertainment578https://iptv-org.github.io/iptv/categories/entertainment.m3u - Family47https://iptv-org.github.io/iptv/categories/family.m3u - General2357https://iptv-org.github.io/iptv/categories/general.m3u - Kids228https://iptv-org.github.io/iptv/categories/kids.m3u - Legislative191https://iptv-org.github.io/iptv/categories/legislative.m3u - Lifestyle92https://iptv-org.github.io/iptv/categories/lifestyle.m3u - Movies295https://iptv-org.github.io/iptv/categories/movies.m3u - Music665https://iptv-org.github.io/iptv/categories/music.m3u - News775https://iptv-org.github.io/iptv/categories/news.m3u - Outdoor41https://iptv-org.github.io/iptv/categories/outdoor.m3u - Relax5https://iptv-org.github.io/iptv/categories/relax.m3u - Religious710https://iptv-org.github.io/iptv/categories/religious.m3u - Science22https://iptv-org.github.io/iptv/categories/science.m3u - Series207https://iptv-org.github.io/iptv/categories/series.m3u - Shop87https://iptv-org.github.io/iptv/categories/shop.m3u - Sports278https://iptv-org.github.io/iptv/categories/sports.m3u - Travel43https://iptv-org.github.io/iptv/categories/travel.m3u + Documentary81https://iptv-org.github.io/iptv/categories/documentary.m3u + Education152https://iptv-org.github.io/iptv/categories/education.m3u + Entertainment541https://iptv-org.github.io/iptv/categories/entertainment.m3u + Family35https://iptv-org.github.io/iptv/categories/family.m3u + General2346https://iptv-org.github.io/iptv/categories/general.m3u + Kids176https://iptv-org.github.io/iptv/categories/kids.m3u + Legislative192https://iptv-org.github.io/iptv/categories/legislative.m3u + Lifestyle78https://iptv-org.github.io/iptv/categories/lifestyle.m3u + Movies233https://iptv-org.github.io/iptv/categories/movies.m3u + Music664https://iptv-org.github.io/iptv/categories/music.m3u + News766https://iptv-org.github.io/iptv/categories/news.m3u + Outdoor40https://iptv-org.github.io/iptv/categories/outdoor.m3u + Relax2https://iptv-org.github.io/iptv/categories/relax.m3u + Religious692https://iptv-org.github.io/iptv/categories/religious.m3u + Science21https://iptv-org.github.io/iptv/categories/science.m3u + Series149https://iptv-org.github.io/iptv/categories/series.m3u + Shop86https://iptv-org.github.io/iptv/categories/shop.m3u + Sports267https://iptv-org.github.io/iptv/categories/sports.m3u + Travel39https://iptv-org.github.io/iptv/categories/travel.m3u Weather13https://iptv-org.github.io/iptv/categories/weather.m3u XXX0https://iptv-org.github.io/iptv/categories/xxx.m3u - Undefined4297https://iptv-org.github.io/iptv/categories/undefined.m3u + Undefined4725https://iptv-org.github.io/iptv/categories/undefined.m3u @@ -90,12 +90,12 @@ Same thing, but split up into separate files: ### Grouped by language +Playlists in which channels are grouped by the language in which they are broadcast. +
Expand
-Playlist in which each channel has its _language_ as a group title: - ``` https://iptv-org.github.io/iptv/index.language.m3u ``` @@ -114,23 +114,23 @@ Same thing, but split up into separate files: Afrikaans3https://iptv-org.github.io/iptv/languages/afr.m3u Albanian37https://iptv-org.github.io/iptv/languages/sqi.m3u Alur1https://iptv-org.github.io/iptv/languages/alz.m3u - Amharic8https://iptv-org.github.io/iptv/languages/amh.m3u - Arabic384https://iptv-org.github.io/iptv/languages/ara.m3u + Amharic7https://iptv-org.github.io/iptv/languages/amh.m3u + Arabic393https://iptv-org.github.io/iptv/languages/ara.m3u Armenian25https://iptv-org.github.io/iptv/languages/hye.m3u Assamese7https://iptv-org.github.io/iptv/languages/asm.m3u Assyrian Neo-Aramaic1https://iptv-org.github.io/iptv/languages/aii.m3u Ayizo Gbe1https://iptv-org.github.io/iptv/languages/ayb.m3u Aymara1https://iptv-org.github.io/iptv/languages/aym.m3u - Azerbaijani18https://iptv-org.github.io/iptv/languages/aze.m3u + Azerbaijani17https://iptv-org.github.io/iptv/languages/aze.m3u Baatonum2https://iptv-org.github.io/iptv/languages/bba.m3u Bambara3https://iptv-org.github.io/iptv/languages/bam.m3u Bashkir1https://iptv-org.github.io/iptv/languages/bak.m3u Basque8https://iptv-org.github.io/iptv/languages/eus.m3u - Belarusian7https://iptv-org.github.io/iptv/languages/bel.m3u - Bengali32https://iptv-org.github.io/iptv/languages/ben.m3u + Belarusian6https://iptv-org.github.io/iptv/languages/bel.m3u + Bengali30https://iptv-org.github.io/iptv/languages/ben.m3u Bhojpuri1https://iptv-org.github.io/iptv/languages/bho.m3u - Bosnian14https://iptv-org.github.io/iptv/languages/bos.m3u - Bulgarian34https://iptv-org.github.io/iptv/languages/bul.m3u + Bosnian13https://iptv-org.github.io/iptv/languages/bos.m3u + Bulgarian28https://iptv-org.github.io/iptv/languages/bul.m3u Burmese9https://iptv-org.github.io/iptv/languages/mya.m3u Catalan51https://iptv-org.github.io/iptv/languages/cat.m3u Central Kurdish1https://iptv-org.github.io/iptv/languages/ckb.m3u @@ -138,7 +138,7 @@ Same thing, but split up into separate files: Chewa3https://iptv-org.github.io/iptv/languages/nya.m3u Chhattisgarhi1https://iptv-org.github.io/iptv/languages/hne.m3u Chiga1https://iptv-org.github.io/iptv/languages/cgg.m3u - Chinese196https://iptv-org.github.io/iptv/languages/zho.m3u + Chinese188https://iptv-org.github.io/iptv/languages/zho.m3u Croatian22https://iptv-org.github.io/iptv/languages/hrv.m3u Czech35https://iptv-org.github.io/iptv/languages/ces.m3u Danish19https://iptv-org.github.io/iptv/languages/dan.m3u @@ -147,52 +147,51 @@ Same thing, but split up into separate files: Dhivehi10https://iptv-org.github.io/iptv/languages/div.m3u Dholuo2https://iptv-org.github.io/iptv/languages/luo.m3u Dimili2https://iptv-org.github.io/iptv/languages/zza.m3u - Dutch191https://iptv-org.github.io/iptv/languages/nld.m3u + Dutch188https://iptv-org.github.io/iptv/languages/nld.m3u Dyula1https://iptv-org.github.io/iptv/languages/dyu.m3u Egyptian Arabic2https://iptv-org.github.io/iptv/languages/arz.m3u - English2277https://iptv-org.github.io/iptv/languages/eng.m3u + English2112https://iptv-org.github.io/iptv/languages/eng.m3u Estonian9https://iptv-org.github.io/iptv/languages/est.m3u Ewe2https://iptv-org.github.io/iptv/languages/ewe.m3u Faroese1https://iptv-org.github.io/iptv/languages/fao.m3u Fataleka1https://iptv-org.github.io/iptv/languages/far.m3u Filipino1https://iptv-org.github.io/iptv/languages/fil.m3u - Finnish24https://iptv-org.github.io/iptv/languages/fin.m3u + Finnish23https://iptv-org.github.io/iptv/languages/fin.m3u Fon3https://iptv-org.github.io/iptv/languages/fon.m3u - French485https://iptv-org.github.io/iptv/languages/fra.m3u + French418https://iptv-org.github.io/iptv/languages/fra.m3u Fulah2https://iptv-org.github.io/iptv/languages/ful.m3u Gaelic2https://iptv-org.github.io/iptv/languages/gla.m3u Galician13https://iptv-org.github.io/iptv/languages/glg.m3u Ganda5https://iptv-org.github.io/iptv/languages/lug.m3u Gen1https://iptv-org.github.io/iptv/languages/gej.m3u Georgian9https://iptv-org.github.io/iptv/languages/kat.m3u - German329https://iptv-org.github.io/iptv/languages/deu.m3u + German257https://iptv-org.github.io/iptv/languages/deu.m3u Gikuyu2https://iptv-org.github.io/iptv/languages/kik.m3u Goan Konkani1https://iptv-org.github.io/iptv/languages/gom.m3u Greek125https://iptv-org.github.io/iptv/languages/ell.m3u Guadeloupean Creole French2https://iptv-org.github.io/iptv/languages/gcf.m3u Gujarati6https://iptv-org.github.io/iptv/languages/guj.m3u - Gulf Arabic1https://iptv-org.github.io/iptv/languages/afb.m3u Gun1https://iptv-org.github.io/iptv/languages/guw.m3u Haitian4https://iptv-org.github.io/iptv/languages/hat.m3u Hausa2https://iptv-org.github.io/iptv/languages/hau.m3u - Hebrew14https://iptv-org.github.io/iptv/languages/heb.m3u + Hebrew13https://iptv-org.github.io/iptv/languages/heb.m3u Hindi121https://iptv-org.github.io/iptv/languages/hin.m3u Hmong1https://iptv-org.github.io/iptv/languages/hmn.m3u - Hungarian104https://iptv-org.github.io/iptv/languages/hun.m3u + Hungarian103https://iptv-org.github.io/iptv/languages/hun.m3u Icelandic5https://iptv-org.github.io/iptv/languages/isl.m3u Indonesian127https://iptv-org.github.io/iptv/languages/ind.m3u Inuktitut1https://iptv-org.github.io/iptv/languages/iku.m3u Iranian Persian1https://iptv-org.github.io/iptv/languages/pes.m3u Irish7https://iptv-org.github.io/iptv/languages/gle.m3u Isekiri1https://iptv-org.github.io/iptv/languages/its.m3u - Italian336https://iptv-org.github.io/iptv/languages/ita.m3u - Japanese18https://iptv-org.github.io/iptv/languages/jpn.m3u + Italian288https://iptv-org.github.io/iptv/languages/ita.m3u + Japanese69https://iptv-org.github.io/iptv/languages/jpn.m3u Javanese3https://iptv-org.github.io/iptv/languages/jav.m3u Kabiyรจ1https://iptv-org.github.io/iptv/languages/kbp.m3u Kabyle1https://iptv-org.github.io/iptv/languages/kab.m3u Kannada11https://iptv-org.github.io/iptv/languages/kan.m3u Kapampangan1https://iptv-org.github.io/iptv/languages/pam.m3u - Kazakh29https://iptv-org.github.io/iptv/languages/kaz.m3u + Kazakh28https://iptv-org.github.io/iptv/languages/kaz.m3u Khmer22https://iptv-org.github.io/iptv/languages/khm.m3u Khorasani Turkish1https://iptv-org.github.io/iptv/languages/kmz.m3u Kinyarwanda7https://iptv-org.github.io/iptv/languages/kin.m3u @@ -213,47 +212,47 @@ Same thing, but split up into separate files: Luba-Lulua1https://iptv-org.github.io/iptv/languages/lua.m3u Macedonian34https://iptv-org.github.io/iptv/languages/mkd.m3u Maithili1https://iptv-org.github.io/iptv/languages/mai.m3u - Malay18https://iptv-org.github.io/iptv/languages/msa.m3u - Malayalam62https://iptv-org.github.io/iptv/languages/mal.m3u + Malay17https://iptv-org.github.io/iptv/languages/msa.m3u + Malayalam64https://iptv-org.github.io/iptv/languages/mal.m3u Maltese8https://iptv-org.github.io/iptv/languages/mlt.m3u Mandarin Chinese3https://iptv-org.github.io/iptv/languages/cmn.m3u Mandinka1https://iptv-org.github.io/iptv/languages/mnk.m3u Maori2https://iptv-org.github.io/iptv/languages/mri.m3u - Marathi6https://iptv-org.github.io/iptv/languages/mar.m3u + Marathi7https://iptv-org.github.io/iptv/languages/mar.m3u Min Nan Chinese1https://iptv-org.github.io/iptv/languages/nan.m3u Mongolian22https://iptv-org.github.io/iptv/languages/mon.m3u Montenegrin1https://iptv-org.github.io/iptv/languages/cnr.m3u Mossi1https://iptv-org.github.io/iptv/languages/mos.m3u Mycenaean Greek1https://iptv-org.github.io/iptv/languages/gmy.m3u Nepali9https://iptv-org.github.io/iptv/languages/nep.m3u - Norwegian9https://iptv-org.github.io/iptv/languages/nor.m3u + Norwegian8https://iptv-org.github.io/iptv/languages/nor.m3u Norwegian Bokmรฅl1https://iptv-org.github.io/iptv/languages/nob.m3u Nyankole1https://iptv-org.github.io/iptv/languages/nyn.m3u Nyoro1https://iptv-org.github.io/iptv/languages/nyo.m3u Oriya (macrolanguage)7https://iptv-org.github.io/iptv/languages/ori.m3u Panjabi27https://iptv-org.github.io/iptv/languages/pan.m3u - Papiamento17https://iptv-org.github.io/iptv/languages/pap.m3u + Papiamento18https://iptv-org.github.io/iptv/languages/pap.m3u Parsi-Dari3https://iptv-org.github.io/iptv/languages/prd.m3u Pashto16https://iptv-org.github.io/iptv/languages/pus.m3u Persian139https://iptv-org.github.io/iptv/languages/fas.m3u - Polish161https://iptv-org.github.io/iptv/languages/pol.m3u - Portuguese346https://iptv-org.github.io/iptv/languages/por.m3u + Polish160https://iptv-org.github.io/iptv/languages/pol.m3u + Portuguese337https://iptv-org.github.io/iptv/languages/por.m3u Pulaar1https://iptv-org.github.io/iptv/languages/fuc.m3u Quechua1https://iptv-org.github.io/iptv/languages/que.m3u - Romanian126https://iptv-org.github.io/iptv/languages/ron.m3u + Romanian127https://iptv-org.github.io/iptv/languages/ron.m3u Romany1https://iptv-org.github.io/iptv/languages/rom.m3u Rundi1https://iptv-org.github.io/iptv/languages/run.m3u - Russian291https://iptv-org.github.io/iptv/languages/rus.m3u + Russian261https://iptv-org.github.io/iptv/languages/rus.m3u Saint Lucian Creole French2https://iptv-org.github.io/iptv/languages/acf.m3u Samoan2https://iptv-org.github.io/iptv/languages/smo.m3u Santali1https://iptv-org.github.io/iptv/languages/sat.m3u Serbian46https://iptv-org.github.io/iptv/languages/srp.m3u Serbo-Croatian1https://iptv-org.github.io/iptv/languages/hbs.m3u Sinhala5https://iptv-org.github.io/iptv/languages/sin.m3u - Slovak48https://iptv-org.github.io/iptv/languages/slk.m3u - Slovenian14https://iptv-org.github.io/iptv/languages/slv.m3u - Somali10https://iptv-org.github.io/iptv/languages/som.m3u - Spanish2109https://iptv-org.github.io/iptv/languages/spa.m3u + Slovak49https://iptv-org.github.io/iptv/languages/slk.m3u + Slovenian13https://iptv-org.github.io/iptv/languages/slv.m3u + Somali11https://iptv-org.github.io/iptv/languages/som.m3u + Spanish2071https://iptv-org.github.io/iptv/languages/spa.m3u Sranan Tongo3https://iptv-org.github.io/iptv/languages/srn.m3u Swahili24https://iptv-org.github.io/iptv/languages/swa.m3u Swedish16https://iptv-org.github.io/iptv/languages/swe.m3u @@ -264,21 +263,21 @@ Same thing, but split up into separate files: Tajik15https://iptv-org.github.io/iptv/languages/tgk.m3u Tamashek1https://iptv-org.github.io/iptv/languages/tmh.m3u Tamasheq1https://iptv-org.github.io/iptv/languages/taq.m3u - Tamil49https://iptv-org.github.io/iptv/languages/tam.m3u + Tamil46https://iptv-org.github.io/iptv/languages/tam.m3u Tatar1https://iptv-org.github.io/iptv/languages/tat.m3u - Telugu7https://iptv-org.github.io/iptv/languages/tel.m3u - Thai64https://iptv-org.github.io/iptv/languages/tha.m3u + Telugu8https://iptv-org.github.io/iptv/languages/tel.m3u + Thai63https://iptv-org.github.io/iptv/languages/tha.m3u Tibetan1https://iptv-org.github.io/iptv/languages/bod.m3u Tooro1https://iptv-org.github.io/iptv/languages/ttj.m3u Tswana1https://iptv-org.github.io/iptv/languages/tsn.m3u Tumzabt1https://iptv-org.github.io/iptv/languages/mzb.m3u - Turkish255https://iptv-org.github.io/iptv/languages/tur.m3u + Turkish259https://iptv-org.github.io/iptv/languages/tur.m3u Turkmen8https://iptv-org.github.io/iptv/languages/tuk.m3u Uighur3https://iptv-org.github.io/iptv/languages/uig.m3u - Ukrainian61https://iptv-org.github.io/iptv/languages/ukr.m3u - Urdu39https://iptv-org.github.io/iptv/languages/urd.m3u + Ukrainian60https://iptv-org.github.io/iptv/languages/ukr.m3u + Urdu38https://iptv-org.github.io/iptv/languages/urd.m3u Uzbek14https://iptv-org.github.io/iptv/languages/uzb.m3u - Vietnamese68https://iptv-org.github.io/iptv/languages/vie.m3u + Vietnamese66https://iptv-org.github.io/iptv/languages/vie.m3u Welsh1https://iptv-org.github.io/iptv/languages/cym.m3u Western Frisian1https://iptv-org.github.io/iptv/languages/fry.m3u Wolof8https://iptv-org.github.io/iptv/languages/wol.m3u @@ -287,7 +286,7 @@ Same thing, but split up into separate files: Yucatec Maya1https://iptv-org.github.io/iptv/languages/yua.m3u Yue Chinese7https://iptv-org.github.io/iptv/languages/yue.m3u Zarma1https://iptv-org.github.io/iptv/languages/dje.m3u - Undefined2435https://iptv-org.github.io/iptv/languages/undefined.m3u + Undefined2885https://iptv-org.github.io/iptv/languages/undefined.m3u @@ -295,12 +294,12 @@ Same thing, but split up into separate files: ### Grouped by country +Playlists in which channels are grouped by country for which they are broadcasted. +
Expand
-Playlist in which each channel has its _country_ as a group title: - ``` https://iptv-org.github.io/iptv/index.country.m3u ``` @@ -313,15 +312,15 @@ Same thing, but split up into separate files: CountryChannelsPlaylist - ๐Ÿ‡ฆ๐Ÿ‡ซ Afghanistan37https://iptv-org.github.io/iptv/countries/af.m3u - ๐Ÿ‡ฆ๐Ÿ‡ฑ Albania51https://iptv-org.github.io/iptv/countries/al.m3u - ๐Ÿ‡ฉ๐Ÿ‡ฟ Algeria76https://iptv-org.github.io/iptv/countries/dz.m3u - ๐Ÿ‡ฆ๐Ÿ‡ธ American Samoa9https://iptv-org.github.io/iptv/countries/as.m3u - ๐Ÿ‡ฆ๐Ÿ‡ฉ Andorra43https://iptv-org.github.io/iptv/countries/ad.m3u - ๐Ÿ‡ฆ๐Ÿ‡ด Angola28https://iptv-org.github.io/iptv/countries/ao.m3u - ๐Ÿ‡ฆ๐Ÿ‡ฎ Anguilla14https://iptv-org.github.io/iptv/countries/ai.m3u - ๐Ÿ‡ฆ๐Ÿ‡ฌ Antigua and Barbuda15https://iptv-org.github.io/iptv/countries/ag.m3u - ๐Ÿ‡ฆ๐Ÿ‡ท Argentina231https://iptv-org.github.io/iptv/countries/ar.m3u + ๐Ÿ‡ฆ๐Ÿ‡ซ Afghanistan31https://iptv-org.github.io/iptv/countries/af.m3u + ๐Ÿ‡ฆ๐Ÿ‡ฑ Albania41https://iptv-org.github.io/iptv/countries/al.m3u + ๐Ÿ‡ฉ๐Ÿ‡ฟ Algeria71https://iptv-org.github.io/iptv/countries/dz.m3u + ๐Ÿ‡ฆ๐Ÿ‡ธ American Samoa5https://iptv-org.github.io/iptv/countries/as.m3u + ๐Ÿ‡ฆ๐Ÿ‡ฉ Andorra33https://iptv-org.github.io/iptv/countries/ad.m3u + ๐Ÿ‡ฆ๐Ÿ‡ด Angola27https://iptv-org.github.io/iptv/countries/ao.m3u + ๐Ÿ‡ฆ๐Ÿ‡ฎ Anguilla12https://iptv-org.github.io/iptv/countries/ai.m3u + ๐Ÿ‡ฆ๐Ÿ‡ฌ Antigua and Barbuda13https://iptv-org.github.io/iptv/countries/ag.m3u + ๐Ÿ‡ฆ๐Ÿ‡ท Argentina223https://iptv-org.github.io/iptv/countries/ar.m3u       Buenos Aires18https://iptv-org.github.io/iptv/subdivisions/ar-b.m3u       Catamarca1https://iptv-org.github.io/iptv/subdivisions/ar-k.m3u       Chaco3https://iptv-org.github.io/iptv/subdivisions/ar-h.m3u @@ -344,31 +343,31 @@ Same thing, but split up into separate files:       Santa Fe3https://iptv-org.github.io/iptv/subdivisions/ar-s.m3u       Santiago del Estero1https://iptv-org.github.io/iptv/subdivisions/ar-g.m3u       Tucuman2https://iptv-org.github.io/iptv/subdivisions/ar-t.m3u - ๐Ÿ‡ฆ๐Ÿ‡ฒ Armenia70https://iptv-org.github.io/iptv/countries/am.m3u - ๐Ÿ‡ฆ๐Ÿ‡ผ Aruba24https://iptv-org.github.io/iptv/countries/aw.m3u - ๐Ÿ‡ฆ๐Ÿ‡บ Australia78https://iptv-org.github.io/iptv/countries/au.m3u - ๐Ÿ‡ฆ๐Ÿ‡น Austria308https://iptv-org.github.io/iptv/countries/at.m3u - ๐Ÿ‡ฆ๐Ÿ‡ฟ Azerbaijan69https://iptv-org.github.io/iptv/countries/az.m3u - ๐Ÿ‡ง๐Ÿ‡ธ Bahamas14https://iptv-org.github.io/iptv/countries/bs.m3u - ๐Ÿ‡ง๐Ÿ‡ญ Bahrain52https://iptv-org.github.io/iptv/countries/bh.m3u - ๐Ÿ‡ง๐Ÿ‡ฉ Bangladesh27https://iptv-org.github.io/iptv/countries/bd.m3u - ๐Ÿ‡ง๐Ÿ‡ง Barbados15https://iptv-org.github.io/iptv/countries/bb.m3u - ๐Ÿ‡ง๐Ÿ‡พ Belarus63https://iptv-org.github.io/iptv/countries/by.m3u - ๐Ÿ‡ง๐Ÿ‡ช Belgium87https://iptv-org.github.io/iptv/countries/be.m3u - ๐Ÿ‡ง๐Ÿ‡ฟ Belize14https://iptv-org.github.io/iptv/countries/bz.m3u - ๐Ÿ‡ง๐Ÿ‡ฏ Benin34https://iptv-org.github.io/iptv/countries/bj.m3u - ๐Ÿ‡ง๐Ÿ‡ฒ Bermuda9https://iptv-org.github.io/iptv/countries/bm.m3u - ๐Ÿ‡ง๐Ÿ‡น Bhutan10https://iptv-org.github.io/iptv/countries/bt.m3u - ๐Ÿ‡ง๐Ÿ‡ด Bolivia137https://iptv-org.github.io/iptv/countries/bo.m3u + ๐Ÿ‡ฆ๐Ÿ‡ฒ Armenia52https://iptv-org.github.io/iptv/countries/am.m3u + ๐Ÿ‡ฆ๐Ÿ‡ผ Aruba21https://iptv-org.github.io/iptv/countries/aw.m3u + ๐Ÿ‡ฆ๐Ÿ‡บ Australia39https://iptv-org.github.io/iptv/countries/au.m3u + ๐Ÿ‡ฆ๐Ÿ‡น Austria73https://iptv-org.github.io/iptv/countries/at.m3u + ๐Ÿ‡ฆ๐Ÿ‡ฟ Azerbaijan46https://iptv-org.github.io/iptv/countries/az.m3u + ๐Ÿ‡ง๐Ÿ‡ธ Bahamas15https://iptv-org.github.io/iptv/countries/bs.m3u + ๐Ÿ‡ง๐Ÿ‡ญ Bahrain46https://iptv-org.github.io/iptv/countries/bh.m3u + ๐Ÿ‡ง๐Ÿ‡ฉ Bangladesh20https://iptv-org.github.io/iptv/countries/bd.m3u + ๐Ÿ‡ง๐Ÿ‡ง Barbados13https://iptv-org.github.io/iptv/countries/bb.m3u + ๐Ÿ‡ง๐Ÿ‡พ Belarus47https://iptv-org.github.io/iptv/countries/by.m3u + ๐Ÿ‡ง๐Ÿ‡ช Belgium70https://iptv-org.github.io/iptv/countries/be.m3u + ๐Ÿ‡ง๐Ÿ‡ฟ Belize9https://iptv-org.github.io/iptv/countries/bz.m3u + ๐Ÿ‡ง๐Ÿ‡ฏ Benin33https://iptv-org.github.io/iptv/countries/bj.m3u + ๐Ÿ‡ง๐Ÿ‡ฒ Bermuda7https://iptv-org.github.io/iptv/countries/bm.m3u + ๐Ÿ‡ง๐Ÿ‡น Bhutan5https://iptv-org.github.io/iptv/countries/bt.m3u + ๐Ÿ‡ง๐Ÿ‡ด Bolivia128https://iptv-org.github.io/iptv/countries/bo.m3u       Cochabamba1https://iptv-org.github.io/iptv/subdivisions/bo-c.m3u       La Paz2https://iptv-org.github.io/iptv/subdivisions/bo-l.m3u       Oruro1https://iptv-org.github.io/iptv/subdivisions/bo-o.m3u       Santa Cruz2https://iptv-org.github.io/iptv/subdivisions/bo-s.m3u - ๐Ÿ‡ง๐Ÿ‡ถ Bonaire4https://iptv-org.github.io/iptv/countries/bq.m3u - ๐Ÿ‡ง๐Ÿ‡ฆ Bosnia and Herzegovina57https://iptv-org.github.io/iptv/countries/ba.m3u - ๐Ÿ‡ง๐Ÿ‡ผ Botswana25https://iptv-org.github.io/iptv/countries/bw.m3u + ๐Ÿ‡ง๐Ÿ‡ถ Bonaire5https://iptv-org.github.io/iptv/countries/bq.m3u + ๐Ÿ‡ง๐Ÿ‡ฆ Bosnia and Herzegovina45https://iptv-org.github.io/iptv/countries/ba.m3u + ๐Ÿ‡ง๐Ÿ‡ผ Botswana24https://iptv-org.github.io/iptv/countries/bw.m3u ๐Ÿ‡ง๐Ÿ‡ป Bouvet Island5https://iptv-org.github.io/iptv/countries/bv.m3u - ๐Ÿ‡ง๐Ÿ‡ท Brazil312https://iptv-org.github.io/iptv/countries/br.m3u + ๐Ÿ‡ง๐Ÿ‡ท Brazil301https://iptv-org.github.io/iptv/countries/br.m3u       Alagoas3https://iptv-org.github.io/iptv/subdivisions/br-al.m3u       Amazonas1https://iptv-org.github.io/iptv/subdivisions/br-am.m3u       Bahia5https://iptv-org.github.io/iptv/subdivisions/br-ba.m3u @@ -390,14 +389,14 @@ Same thing, but split up into separate files:       Roraima1https://iptv-org.github.io/iptv/subdivisions/br-rr.m3u       Santa Catarina9https://iptv-org.github.io/iptv/subdivisions/br-sc.m3u       Sao Paulo24https://iptv-org.github.io/iptv/subdivisions/br-sp.m3u - ๐Ÿ‡ป๐Ÿ‡ฌ British Virgin Islands15https://iptv-org.github.io/iptv/countries/vg.m3u - ๐Ÿ‡ง๐Ÿ‡ณ Brunei23https://iptv-org.github.io/iptv/countries/bn.m3u - ๐Ÿ‡ง๐Ÿ‡ฌ Bulgaria78https://iptv-org.github.io/iptv/countries/bg.m3u - ๐Ÿ‡ง๐Ÿ‡ซ Burkina Faso30https://iptv-org.github.io/iptv/countries/bf.m3u - ๐Ÿ‡ง๐Ÿ‡ฎ Burundi25https://iptv-org.github.io/iptv/countries/bi.m3u - ๐Ÿ‡ฐ๐Ÿ‡ญ Cambodia44https://iptv-org.github.io/iptv/countries/kh.m3u - ๐Ÿ‡จ๐Ÿ‡ฒ Cameroon56https://iptv-org.github.io/iptv/countries/cm.m3u - ๐Ÿ‡จ๐Ÿ‡ฆ Canada409https://iptv-org.github.io/iptv/countries/ca.m3u + ๐Ÿ‡ป๐Ÿ‡ฌ British Virgin Islands14https://iptv-org.github.io/iptv/countries/vg.m3u + ๐Ÿ‡ง๐Ÿ‡ณ Brunei17https://iptv-org.github.io/iptv/countries/bn.m3u + ๐Ÿ‡ง๐Ÿ‡ฌ Bulgaria62https://iptv-org.github.io/iptv/countries/bg.m3u + ๐Ÿ‡ง๐Ÿ‡ซ Burkina Faso26https://iptv-org.github.io/iptv/countries/bf.m3u + ๐Ÿ‡ง๐Ÿ‡ฎ Burundi24https://iptv-org.github.io/iptv/countries/bi.m3u + ๐Ÿ‡ฐ๐Ÿ‡ญ Cambodia35https://iptv-org.github.io/iptv/countries/kh.m3u + ๐Ÿ‡จ๐Ÿ‡ฒ Cameroon55https://iptv-org.github.io/iptv/countries/cm.m3u + ๐Ÿ‡จ๐Ÿ‡ฆ Canada172https://iptv-org.github.io/iptv/countries/ca.m3u       Alberta5https://iptv-org.github.io/iptv/subdivisions/ca-ab.m3u       British Columbia5https://iptv-org.github.io/iptv/subdivisions/ca-bc.m3u       Manitoba3https://iptv-org.github.io/iptv/subdivisions/ca-mb.m3u @@ -410,11 +409,11 @@ Same thing, but split up into separate files:       Prince Edward Island1https://iptv-org.github.io/iptv/subdivisions/ca-pe.m3u       Quebec15https://iptv-org.github.io/iptv/subdivisions/ca-qc.m3u       Saskatchewan2https://iptv-org.github.io/iptv/subdivisions/ca-sk.m3u - ๐Ÿ‡จ๐Ÿ‡ป Cape Verde29https://iptv-org.github.io/iptv/countries/cv.m3u - ๐Ÿ‡ฐ๐Ÿ‡พ Cayman Islands14https://iptv-org.github.io/iptv/countries/ky.m3u - ๐Ÿ‡จ๐Ÿ‡ซ Central African Republic24https://iptv-org.github.io/iptv/countries/cf.m3u - ๐Ÿ‡น๐Ÿ‡ฉ Chad25https://iptv-org.github.io/iptv/countries/td.m3u - ๐Ÿ‡จ๐Ÿ‡ฑ Chile272https://iptv-org.github.io/iptv/countries/cl.m3u + ๐Ÿ‡จ๐Ÿ‡ป Cape Verde28https://iptv-org.github.io/iptv/countries/cv.m3u + ๐Ÿ‡ฐ๐Ÿ‡พ Cayman Islands12https://iptv-org.github.io/iptv/countries/ky.m3u + ๐Ÿ‡จ๐Ÿ‡ซ Central African Republic23https://iptv-org.github.io/iptv/countries/cf.m3u + ๐Ÿ‡น๐Ÿ‡ฉ Chad24https://iptv-org.github.io/iptv/countries/td.m3u + ๐Ÿ‡จ๐Ÿ‡ฑ Chile266https://iptv-org.github.io/iptv/countries/cl.m3u       Atacama1https://iptv-org.github.io/iptv/subdivisions/cl-at.m3u       Biobio3https://iptv-org.github.io/iptv/subdivisions/cl-bi.m3u       Coquimbo1https://iptv-org.github.io/iptv/subdivisions/cl-co.m3u @@ -424,8 +423,8 @@ Same thing, but split up into separate files:       Maule1https://iptv-org.github.io/iptv/subdivisions/cl-ml.m3u       Nuble3https://iptv-org.github.io/iptv/subdivisions/cl-nb.m3u       Valparaiso2https://iptv-org.github.io/iptv/subdivisions/cl-vs.m3u - ๐Ÿ‡จ๐Ÿ‡ณ China638https://iptv-org.github.io/iptv/countries/cn.m3u - ๐Ÿ‡จ๐Ÿ‡ด Colombia202https://iptv-org.github.io/iptv/countries/co.m3u + ๐Ÿ‡จ๐Ÿ‡ณ China143https://iptv-org.github.io/iptv/countries/cn.m3u + ๐Ÿ‡จ๐Ÿ‡ด Colombia194https://iptv-org.github.io/iptv/countries/co.m3u       Antioquia1https://iptv-org.github.io/iptv/subdivisions/co-ant.m3u       Atlantico1https://iptv-org.github.io/iptv/subdivisions/co-atl.m3u       Bolivar1https://iptv-org.github.io/iptv/subdivisions/co-bol.m3u @@ -442,21 +441,21 @@ Same thing, but split up into separate files:       San Andres, Providencia y Santa Catalina1https://iptv-org.github.io/iptv/subdivisions/co-sap.m3u       Tolima1https://iptv-org.github.io/iptv/subdivisions/co-tol.m3u       Valle del Cauca5https://iptv-org.github.io/iptv/subdivisions/co-vac.m3u - ๐Ÿ‡ฐ๐Ÿ‡ฒ Comoros65https://iptv-org.github.io/iptv/countries/km.m3u - ๐Ÿ‡จ๐Ÿ‡ฐ Cook Islands9https://iptv-org.github.io/iptv/countries/ck.m3u - ๐Ÿ‡จ๐Ÿ‡ท Costa Rica146https://iptv-org.github.io/iptv/countries/cr.m3u + ๐Ÿ‡ฐ๐Ÿ‡ฒ Comoros60https://iptv-org.github.io/iptv/countries/km.m3u + ๐Ÿ‡จ๐Ÿ‡ฐ Cook Islands5https://iptv-org.github.io/iptv/countries/ck.m3u + ๐Ÿ‡จ๐Ÿ‡ท Costa Rica137https://iptv-org.github.io/iptv/countries/cr.m3u       Puntarenas1https://iptv-org.github.io/iptv/subdivisions/cr-p.m3u       San Jose1https://iptv-org.github.io/iptv/subdivisions/cr-sj.m3u - ๐Ÿ‡ญ๐Ÿ‡ท Croatia71https://iptv-org.github.io/iptv/countries/hr.m3u - ๐Ÿ‡จ๐Ÿ‡บ Cuba76https://iptv-org.github.io/iptv/countries/cu.m3u - ๐Ÿ‡จ๐Ÿ‡ผ Curacao22https://iptv-org.github.io/iptv/countries/cw.m3u - ๐Ÿ‡จ๐Ÿ‡พ Cyprus82https://iptv-org.github.io/iptv/countries/cy.m3u - ๐Ÿ‡จ๐Ÿ‡ฟ Czech Republic81https://iptv-org.github.io/iptv/countries/cz.m3u - ๐Ÿ‡จ๐Ÿ‡ฉ Democratic Republic of the Congo63https://iptv-org.github.io/iptv/countries/cd.m3u - ๐Ÿ‡ฉ๐Ÿ‡ฐ Denmark72https://iptv-org.github.io/iptv/countries/dk.m3u - ๐Ÿ‡ฉ๐Ÿ‡ฏ Djibouti68https://iptv-org.github.io/iptv/countries/dj.m3u - ๐Ÿ‡ฉ๐Ÿ‡ฒ Dominica15https://iptv-org.github.io/iptv/countries/dm.m3u - ๐Ÿ‡ฉ๐Ÿ‡ด Dominican Republic325https://iptv-org.github.io/iptv/countries/do.m3u + ๐Ÿ‡ญ๐Ÿ‡ท Croatia61https://iptv-org.github.io/iptv/countries/hr.m3u + ๐Ÿ‡จ๐Ÿ‡บ Cuba68https://iptv-org.github.io/iptv/countries/cu.m3u + ๐Ÿ‡จ๐Ÿ‡ผ Curacao18https://iptv-org.github.io/iptv/countries/cw.m3u + ๐Ÿ‡จ๐Ÿ‡พ Cyprus72https://iptv-org.github.io/iptv/countries/cy.m3u + ๐Ÿ‡จ๐Ÿ‡ฟ Czech Republic71https://iptv-org.github.io/iptv/countries/cz.m3u + ๐Ÿ‡จ๐Ÿ‡ฉ Democratic Republic of the Congo60https://iptv-org.github.io/iptv/countries/cd.m3u + ๐Ÿ‡ฉ๐Ÿ‡ฐ Denmark57https://iptv-org.github.io/iptv/countries/dk.m3u + ๐Ÿ‡ฉ๐Ÿ‡ฏ Djibouti63https://iptv-org.github.io/iptv/countries/dj.m3u + ๐Ÿ‡ฉ๐Ÿ‡ฒ Dominica13https://iptv-org.github.io/iptv/countries/dm.m3u + ๐Ÿ‡ฉ๐Ÿ‡ด Dominican Republic252https://iptv-org.github.io/iptv/countries/do.m3u       Distrito Nacional (Santo Domingo)2https://iptv-org.github.io/iptv/subdivisions/do-01.m3u       El Seibo1https://iptv-org.github.io/iptv/subdivisions/do-08.m3u       La Altagracia2https://iptv-org.github.io/iptv/subdivisions/do-11.m3u @@ -466,33 +465,33 @@ Same thing, but split up into separate files:       San Juan1https://iptv-org.github.io/iptv/subdivisions/do-22.m3u       Santiago1https://iptv-org.github.io/iptv/subdivisions/do-25.m3u       Valverde1https://iptv-org.github.io/iptv/subdivisions/do-27.m3u - ๐Ÿ‡น๐Ÿ‡ฑ East Timor17https://iptv-org.github.io/iptv/countries/tl.m3u - ๐Ÿ‡ช๐Ÿ‡จ Ecuador145https://iptv-org.github.io/iptv/countries/ec.m3u + ๐Ÿ‡น๐Ÿ‡ฑ East Timor10https://iptv-org.github.io/iptv/countries/tl.m3u + ๐Ÿ‡ช๐Ÿ‡จ Ecuador139https://iptv-org.github.io/iptv/countries/ec.m3u       Azuay1https://iptv-org.github.io/iptv/subdivisions/ec-a.m3u       Loja2https://iptv-org.github.io/iptv/subdivisions/ec-l.m3u       Orellana1https://iptv-org.github.io/iptv/subdivisions/ec-d.m3u - ๐Ÿ‡ช๐Ÿ‡ฌ Egypt96https://iptv-org.github.io/iptv/countries/eg.m3u - ๐Ÿ‡ธ๐Ÿ‡ป El Salvador108https://iptv-org.github.io/iptv/countries/sv.m3u - ๐Ÿ‡ฌ๐Ÿ‡ถ Equatorial Guinea28https://iptv-org.github.io/iptv/countries/gq.m3u - ๐Ÿ‡ช๐Ÿ‡ท Eritrea24https://iptv-org.github.io/iptv/countries/er.m3u - ๐Ÿ‡ช๐Ÿ‡ช Estonia75https://iptv-org.github.io/iptv/countries/ee.m3u - ๐Ÿ‡ช๐Ÿ‡น Ethiopia29https://iptv-org.github.io/iptv/countries/et.m3u + ๐Ÿ‡ช๐Ÿ‡ฌ Egypt92https://iptv-org.github.io/iptv/countries/eg.m3u + ๐Ÿ‡ธ๐Ÿ‡ป El Salvador100https://iptv-org.github.io/iptv/countries/sv.m3u + ๐Ÿ‡ฌ๐Ÿ‡ถ Equatorial Guinea27https://iptv-org.github.io/iptv/countries/gq.m3u + ๐Ÿ‡ช๐Ÿ‡ท Eritrea23https://iptv-org.github.io/iptv/countries/er.m3u + ๐Ÿ‡ช๐Ÿ‡ช Estonia65https://iptv-org.github.io/iptv/countries/ee.m3u + ๐Ÿ‡ช๐Ÿ‡น Ethiopia27https://iptv-org.github.io/iptv/countries/et.m3u ๐Ÿ‡ซ๐Ÿ‡ฐ Falkland Islands5https://iptv-org.github.io/iptv/countries/fk.m3u ๐Ÿ‡ซ๐Ÿ‡ด Faroe Islands1https://iptv-org.github.io/iptv/countries/fo.m3u - ๐Ÿ‡ซ๐Ÿ‡ฏ Fiji10https://iptv-org.github.io/iptv/countries/fj.m3u - ๐Ÿ‡ซ๐Ÿ‡ฎ Finland74https://iptv-org.github.io/iptv/countries/fi.m3u + ๐Ÿ‡ซ๐Ÿ‡ฏ Fiji6https://iptv-org.github.io/iptv/countries/fj.m3u + ๐Ÿ‡ซ๐Ÿ‡ฎ Finland62https://iptv-org.github.io/iptv/countries/fi.m3u       Keski-Suomi1https://iptv-org.github.io/iptv/subdivisions/fi-08.m3u       Pohjanmaa1https://iptv-org.github.io/iptv/subdivisions/fi-12.m3u - ๐Ÿ‡ซ๐Ÿ‡ท France380https://iptv-org.github.io/iptv/countries/fr.m3u - ๐Ÿ‡ฌ๐Ÿ‡ซ French Guiana18https://iptv-org.github.io/iptv/countries/gf.m3u - ๐Ÿ‡ต๐Ÿ‡ซ French Polynesia10https://iptv-org.github.io/iptv/countries/pf.m3u - ๐Ÿ‡น๐Ÿ‡ซ French Southern Territories24https://iptv-org.github.io/iptv/countries/tf.m3u - ๐Ÿ‡ฌ๐Ÿ‡ฆ Gabon29https://iptv-org.github.io/iptv/countries/ga.m3u - ๐Ÿ‡ฌ๐Ÿ‡ฒ Gambia25https://iptv-org.github.io/iptv/countries/gm.m3u - ๐Ÿ‡ฌ๐Ÿ‡ช Georgia47https://iptv-org.github.io/iptv/countries/ge.m3u - ๐Ÿ‡ฉ๐Ÿ‡ช Germany492https://iptv-org.github.io/iptv/countries/de.m3u - ๐Ÿ‡ฌ๐Ÿ‡ญ Ghana43https://iptv-org.github.io/iptv/countries/gh.m3u - ๐Ÿ‡ฌ๐Ÿ‡ท Greece162https://iptv-org.github.io/iptv/countries/gr.m3u + ๐Ÿ‡ซ๐Ÿ‡ท France154https://iptv-org.github.io/iptv/countries/fr.m3u + ๐Ÿ‡ฌ๐Ÿ‡ซ French Guiana19https://iptv-org.github.io/iptv/countries/gf.m3u + ๐Ÿ‡ต๐Ÿ‡ซ French Polynesia6https://iptv-org.github.io/iptv/countries/pf.m3u + ๐Ÿ‡น๐Ÿ‡ซ French Southern Territories23https://iptv-org.github.io/iptv/countries/tf.m3u + ๐Ÿ‡ฌ๐Ÿ‡ฆ Gabon28https://iptv-org.github.io/iptv/countries/ga.m3u + ๐Ÿ‡ฌ๐Ÿ‡ฒ Gambia24https://iptv-org.github.io/iptv/countries/gm.m3u + ๐Ÿ‡ฌ๐Ÿ‡ช Georgia36https://iptv-org.github.io/iptv/countries/ge.m3u + ๐Ÿ‡ฉ๐Ÿ‡ช Germany248https://iptv-org.github.io/iptv/countries/de.m3u + ๐Ÿ‡ฌ๐Ÿ‡ญ Ghana42https://iptv-org.github.io/iptv/countries/gh.m3u + ๐Ÿ‡ฌ๐Ÿ‡ท Greece145https://iptv-org.github.io/iptv/countries/gr.m3u       Attiki10https://iptv-org.github.io/iptv/subdivisions/gr-i.m3u       Dytiki Ellada5https://iptv-org.github.io/iptv/subdivisions/gr-g.m3u       Dytiki Makedonia2https://iptv-org.github.io/iptv/subdivisions/gr-c.m3u @@ -502,11 +501,11 @@ Same thing, but split up into separate files:       Notio Aigaio1https://iptv-org.github.io/iptv/subdivisions/gr-l.m3u       Sterea Ellada2https://iptv-org.github.io/iptv/subdivisions/gr-h.m3u       Thessalia4https://iptv-org.github.io/iptv/subdivisions/gr-e.m3u - ๐Ÿ‡ฌ๐Ÿ‡ฑ Greenland9https://iptv-org.github.io/iptv/countries/gl.m3u - ๐Ÿ‡ฌ๐Ÿ‡ฉ Grenada14https://iptv-org.github.io/iptv/countries/gd.m3u - ๐Ÿ‡ฌ๐Ÿ‡ต Guadeloupe28https://iptv-org.github.io/iptv/countries/gp.m3u - ๐Ÿ‡ฌ๐Ÿ‡บ Guam11https://iptv-org.github.io/iptv/countries/gu.m3u - ๐Ÿ‡ฌ๐Ÿ‡น Guatemala157https://iptv-org.github.io/iptv/countries/gt.m3u + ๐Ÿ‡ฌ๐Ÿ‡ฑ Greenland7https://iptv-org.github.io/iptv/countries/gl.m3u + ๐Ÿ‡ฌ๐Ÿ‡ฉ Grenada12https://iptv-org.github.io/iptv/countries/gd.m3u + ๐Ÿ‡ฌ๐Ÿ‡ต Guadeloupe27https://iptv-org.github.io/iptv/countries/gp.m3u + ๐Ÿ‡ฌ๐Ÿ‡บ Guam7https://iptv-org.github.io/iptv/countries/gu.m3u + ๐Ÿ‡ฌ๐Ÿ‡น Guatemala148https://iptv-org.github.io/iptv/countries/gt.m3u       Escuintla2https://iptv-org.github.io/iptv/subdivisions/gt-05.m3u       Huehuetenango1https://iptv-org.github.io/iptv/subdivisions/gt-13.m3u       Izabal1https://iptv-org.github.io/iptv/subdivisions/gt-18.m3u @@ -516,17 +515,16 @@ Same thing, but split up into separate files:       Santa Rosa1https://iptv-org.github.io/iptv/subdivisions/gt-06.m3u       Solola4https://iptv-org.github.io/iptv/subdivisions/gt-07.m3u       Totonicapan1https://iptv-org.github.io/iptv/subdivisions/gt-08.m3u - ๐Ÿ‡ฌ๐Ÿ‡ฌ Guernsey1https://iptv-org.github.io/iptv/countries/gg.m3u - ๐Ÿ‡ฌ๐Ÿ‡ณ Guinea36https://iptv-org.github.io/iptv/countries/gn.m3u - ๐Ÿ‡ฌ๐Ÿ‡ผ Guinea-Bissau24https://iptv-org.github.io/iptv/countries/gw.m3u - ๐Ÿ‡ฌ๐Ÿ‡พ Guyana19https://iptv-org.github.io/iptv/countries/gy.m3u - ๐Ÿ‡ญ๐Ÿ‡น Haiti50https://iptv-org.github.io/iptv/countries/ht.m3u - ๐Ÿ‡ญ๐Ÿ‡ณ Honduras148https://iptv-org.github.io/iptv/countries/hn.m3u - ๐Ÿ‡ญ๐Ÿ‡ฐ Hong Kong17https://iptv-org.github.io/iptv/countries/hk.m3u - ๐Ÿ‡ญ๐Ÿ‡บ Hungary149https://iptv-org.github.io/iptv/countries/hu.m3u - ๐Ÿ‡ฎ๐Ÿ‡ธ Iceland42https://iptv-org.github.io/iptv/countries/is.m3u - ๐Ÿ‡ฎ๐Ÿ‡ณ India320https://iptv-org.github.io/iptv/countries/in.m3u - ๐Ÿ‡ฎ๐Ÿ‡ฉ Indonesia151https://iptv-org.github.io/iptv/countries/id.m3u + ๐Ÿ‡ฌ๐Ÿ‡ณ Guinea35https://iptv-org.github.io/iptv/countries/gn.m3u + ๐Ÿ‡ฌ๐Ÿ‡ผ Guinea-Bissau23https://iptv-org.github.io/iptv/countries/gw.m3u + ๐Ÿ‡ฌ๐Ÿ‡พ Guyana18https://iptv-org.github.io/iptv/countries/gy.m3u + ๐Ÿ‡ญ๐Ÿ‡น Haiti45https://iptv-org.github.io/iptv/countries/ht.m3u + ๐Ÿ‡ญ๐Ÿ‡ณ Honduras139https://iptv-org.github.io/iptv/countries/hn.m3u + ๐Ÿ‡ญ๐Ÿ‡ฐ Hong Kong14https://iptv-org.github.io/iptv/countries/hk.m3u + ๐Ÿ‡ญ๐Ÿ‡บ Hungary137https://iptv-org.github.io/iptv/countries/hu.m3u + ๐Ÿ‡ฎ๐Ÿ‡ธ Iceland32https://iptv-org.github.io/iptv/countries/is.m3u + ๐Ÿ‡ฎ๐Ÿ‡ณ India304https://iptv-org.github.io/iptv/countries/in.m3u + ๐Ÿ‡ฎ๐Ÿ‡ฉ Indonesia143https://iptv-org.github.io/iptv/countries/id.m3u       Aceh2https://iptv-org.github.io/iptv/subdivisions/id-ac.m3u       Bali2https://iptv-org.github.io/iptv/subdivisions/id-ba.m3u       Banten1https://iptv-org.github.io/iptv/subdivisions/id-bt.m3u @@ -556,48 +554,52 @@ Same thing, but split up into separate files:       Sumatera Barat2https://iptv-org.github.io/iptv/subdivisions/id-sb.m3u       Sumatera Selatan2https://iptv-org.github.io/iptv/subdivisions/id-ss.m3u       Yogyakarta3https://iptv-org.github.io/iptv/subdivisions/id-yo.m3u - ๐Ÿ‡ฎ๐Ÿ‡ท Iran149https://iptv-org.github.io/iptv/countries/ir.m3u - ๐Ÿ‡ฎ๐Ÿ‡ถ Iraq121https://iptv-org.github.io/iptv/countries/iq.m3u - ๐Ÿ‡ฎ๐Ÿ‡ช Ireland67https://iptv-org.github.io/iptv/countries/ie.m3u - ๐Ÿ‡ฎ๐Ÿ‡ฑ Israel26https://iptv-org.github.io/iptv/countries/il.m3u - ๐Ÿ‡ฎ๐Ÿ‡น Italy438https://iptv-org.github.io/iptv/countries/it.m3u + ๐Ÿ‡ฎ๐Ÿ‡ท Iran124https://iptv-org.github.io/iptv/countries/ir.m3u + ๐Ÿ‡ฎ๐Ÿ‡ถ Iraq108https://iptv-org.github.io/iptv/countries/iq.m3u + ๐Ÿ‡ฎ๐Ÿ‡ช Ireland56https://iptv-org.github.io/iptv/countries/ie.m3u + ๐Ÿ‡ฎ๐Ÿ‡ฑ Israel22https://iptv-org.github.io/iptv/countries/il.m3u + ๐Ÿ‡ฎ๐Ÿ‡น Italy324https://iptv-org.github.io/iptv/countries/it.m3u       Trentino-Alto Adige3https://iptv-org.github.io/iptv/subdivisions/it-32.m3u - ๐Ÿ‡จ๐Ÿ‡ฎ Ivory Coast53https://iptv-org.github.io/iptv/countries/ci.m3u - ๐Ÿ‡ฏ๐Ÿ‡ฒ Jamaica21https://iptv-org.github.io/iptv/countries/jm.m3u - ๐Ÿ‡ฏ๐Ÿ‡ต Japan23https://iptv-org.github.io/iptv/countries/jp.m3u -       Chiba1https://iptv-org.github.io/iptv/subdivisions/jp-12.m3u -       Kanagawa1https://iptv-org.github.io/iptv/subdivisions/jp-14.m3u -       Saitama1https://iptv-org.github.io/iptv/subdivisions/jp-11.m3u + ๐Ÿ‡จ๐Ÿ‡ฎ Ivory Coast52https://iptv-org.github.io/iptv/countries/ci.m3u + ๐Ÿ‡ฏ๐Ÿ‡ฒ Jamaica19https://iptv-org.github.io/iptv/countries/jm.m3u + ๐Ÿ‡ฏ๐Ÿ‡ต Japan67https://iptv-org.github.io/iptv/countries/jp.m3u +       Chiba2https://iptv-org.github.io/iptv/subdivisions/jp-12.m3u +       Gunma1https://iptv-org.github.io/iptv/subdivisions/jp-10.m3u +       Ibaraki1https://iptv-org.github.io/iptv/subdivisions/jp-08.m3u +       Kanagawa2https://iptv-org.github.io/iptv/subdivisions/jp-14.m3u +       Osaka1https://iptv-org.github.io/iptv/subdivisions/jp-27.m3u +       Saitama2https://iptv-org.github.io/iptv/subdivisions/jp-11.m3u +       Tochigi1https://iptv-org.github.io/iptv/subdivisions/jp-09.m3u       Tokyo1https://iptv-org.github.io/iptv/subdivisions/jp-13.m3u - ๐Ÿ‡ฏ๐Ÿ‡ด Jordan74https://iptv-org.github.io/iptv/countries/jo.m3u - ๐Ÿ‡ฐ๐Ÿ‡ฟ Kazakhstan82https://iptv-org.github.io/iptv/countries/kz.m3u - ๐Ÿ‡ฐ๐Ÿ‡ช Kenya64https://iptv-org.github.io/iptv/countries/ke.m3u - ๐Ÿ‡ฐ๐Ÿ‡ฎ Kiribati9https://iptv-org.github.io/iptv/countries/ki.m3u + ๐Ÿ‡ฏ๐Ÿ‡ด Jordan68https://iptv-org.github.io/iptv/countries/jo.m3u + ๐Ÿ‡ฐ๐Ÿ‡ฟ Kazakhstan67https://iptv-org.github.io/iptv/countries/kz.m3u + ๐Ÿ‡ฐ๐Ÿ‡ช Kenya63https://iptv-org.github.io/iptv/countries/ke.m3u + ๐Ÿ‡ฐ๐Ÿ‡ฎ Kiribati5https://iptv-org.github.io/iptv/countries/ki.m3u ๐Ÿ‡ฝ๐Ÿ‡ฐ Kosovo10https://iptv-org.github.io/iptv/countries/xk.m3u - ๐Ÿ‡ฐ๐Ÿ‡ผ Kuwait59https://iptv-org.github.io/iptv/countries/kw.m3u - ๐Ÿ‡ฐ๐Ÿ‡ฌ Kyrgyzstan24https://iptv-org.github.io/iptv/countries/kg.m3u - ๐Ÿ‡ฑ๐Ÿ‡ฆ Laos33https://iptv-org.github.io/iptv/countries/la.m3u - ๐Ÿ‡ฑ๐Ÿ‡ป Latvia69https://iptv-org.github.io/iptv/countries/lv.m3u - ๐Ÿ‡ฑ๐Ÿ‡ง Lebanon75https://iptv-org.github.io/iptv/countries/lb.m3u - ๐Ÿ‡ฑ๐Ÿ‡ธ Lesotho24https://iptv-org.github.io/iptv/countries/ls.m3u - ๐Ÿ‡ฑ๐Ÿ‡ท Liberia25https://iptv-org.github.io/iptv/countries/lr.m3u - ๐Ÿ‡ฑ๐Ÿ‡พ Libya76https://iptv-org.github.io/iptv/countries/ly.m3u - ๐Ÿ‡ฑ๐Ÿ‡ฎ Liechtenstein41https://iptv-org.github.io/iptv/countries/li.m3u - ๐Ÿ‡ฑ๐Ÿ‡น Lithuania57https://iptv-org.github.io/iptv/countries/lt.m3u - ๐Ÿ‡ฑ๐Ÿ‡บ Luxembourg68https://iptv-org.github.io/iptv/countries/lu.m3u - ๐Ÿ‡ฒ๐Ÿ‡ด Macao9https://iptv-org.github.io/iptv/countries/mo.m3u - ๐Ÿ‡ฒ๐Ÿ‡ฌ Madagascar24https://iptv-org.github.io/iptv/countries/mg.m3u - ๐Ÿ‡ฒ๐Ÿ‡ผ Malawi27https://iptv-org.github.io/iptv/countries/mw.m3u - ๐Ÿ‡ฒ๐Ÿ‡พ Malaysia36https://iptv-org.github.io/iptv/countries/my.m3u - ๐Ÿ‡ฒ๐Ÿ‡ป Maldives20https://iptv-org.github.io/iptv/countries/mv.m3u - ๐Ÿ‡ฒ๐Ÿ‡ฑ Mali30https://iptv-org.github.io/iptv/countries/ml.m3u - ๐Ÿ‡ฒ๐Ÿ‡น Malta70https://iptv-org.github.io/iptv/countries/mt.m3u - ๐Ÿ‡ฒ๐Ÿ‡ญ Marshall Islands9https://iptv-org.github.io/iptv/countries/mh.m3u - ๐Ÿ‡ฒ๐Ÿ‡ถ Martinique26https://iptv-org.github.io/iptv/countries/mq.m3u - ๐Ÿ‡ฒ๐Ÿ‡ท Mauritania67https://iptv-org.github.io/iptv/countries/mr.m3u - ๐Ÿ‡ฒ๐Ÿ‡บ Mauritius25https://iptv-org.github.io/iptv/countries/mu.m3u - ๐Ÿ‡พ๐Ÿ‡น Mayotte25https://iptv-org.github.io/iptv/countries/yt.m3u - ๐Ÿ‡ฒ๐Ÿ‡ฝ Mexico268https://iptv-org.github.io/iptv/countries/mx.m3u + ๐Ÿ‡ฐ๐Ÿ‡ผ Kuwait53https://iptv-org.github.io/iptv/countries/kw.m3u + ๐Ÿ‡ฐ๐Ÿ‡ฌ Kyrgyzstan20https://iptv-org.github.io/iptv/countries/kg.m3u + ๐Ÿ‡ฑ๐Ÿ‡ฆ Laos24https://iptv-org.github.io/iptv/countries/la.m3u + ๐Ÿ‡ฑ๐Ÿ‡ป Latvia57https://iptv-org.github.io/iptv/countries/lv.m3u + ๐Ÿ‡ฑ๐Ÿ‡ง Lebanon69https://iptv-org.github.io/iptv/countries/lb.m3u + ๐Ÿ‡ฑ๐Ÿ‡ธ Lesotho23https://iptv-org.github.io/iptv/countries/ls.m3u + ๐Ÿ‡ฑ๐Ÿ‡ท Liberia24https://iptv-org.github.io/iptv/countries/lr.m3u + ๐Ÿ‡ฑ๐Ÿ‡พ Libya70https://iptv-org.github.io/iptv/countries/ly.m3u + ๐Ÿ‡ฑ๐Ÿ‡ฎ Liechtenstein30https://iptv-org.github.io/iptv/countries/li.m3u + ๐Ÿ‡ฑ๐Ÿ‡น Lithuania47https://iptv-org.github.io/iptv/countries/lt.m3u + ๐Ÿ‡ฑ๐Ÿ‡บ Luxembourg56https://iptv-org.github.io/iptv/countries/lu.m3u + ๐Ÿ‡ฒ๐Ÿ‡ด Macao7https://iptv-org.github.io/iptv/countries/mo.m3u + ๐Ÿ‡ฒ๐Ÿ‡ฌ Madagascar23https://iptv-org.github.io/iptv/countries/mg.m3u + ๐Ÿ‡ฒ๐Ÿ‡ผ Malawi26https://iptv-org.github.io/iptv/countries/mw.m3u + ๐Ÿ‡ฒ๐Ÿ‡พ Malaysia32https://iptv-org.github.io/iptv/countries/my.m3u + ๐Ÿ‡ฒ๐Ÿ‡ป Maldives15https://iptv-org.github.io/iptv/countries/mv.m3u + ๐Ÿ‡ฒ๐Ÿ‡ฑ Mali29https://iptv-org.github.io/iptv/countries/ml.m3u + ๐Ÿ‡ฒ๐Ÿ‡น Malta45https://iptv-org.github.io/iptv/countries/mt.m3u + ๐Ÿ‡ฒ๐Ÿ‡ญ Marshall Islands5https://iptv-org.github.io/iptv/countries/mh.m3u + ๐Ÿ‡ฒ๐Ÿ‡ถ Martinique25https://iptv-org.github.io/iptv/countries/mq.m3u + ๐Ÿ‡ฒ๐Ÿ‡ท Mauritania62https://iptv-org.github.io/iptv/countries/mr.m3u + ๐Ÿ‡ฒ๐Ÿ‡บ Mauritius24https://iptv-org.github.io/iptv/countries/mu.m3u + ๐Ÿ‡พ๐Ÿ‡น Mayotte24https://iptv-org.github.io/iptv/countries/yt.m3u + ๐Ÿ‡ฒ๐Ÿ‡ฝ Mexico254https://iptv-org.github.io/iptv/countries/mx.m3u       Chihuahua2https://iptv-org.github.io/iptv/subdivisions/mx-chh.m3u       Coahuila de Zaragoza1https://iptv-org.github.io/iptv/subdivisions/mx-coa.m3u       Durango1https://iptv-org.github.io/iptv/subdivisions/mx-dur.m3u @@ -608,45 +610,45 @@ Same thing, but split up into separate files:       Quintana Roo2https://iptv-org.github.io/iptv/subdivisions/mx-roo.m3u       San Luis Potosi1https://iptv-org.github.io/iptv/subdivisions/mx-slp.m3u       Yucatan1https://iptv-org.github.io/iptv/subdivisions/mx-yuc.m3u - ๐Ÿ‡ซ๐Ÿ‡ฒ Micronesia9https://iptv-org.github.io/iptv/countries/fm.m3u - ๐Ÿ‡ฒ๐Ÿ‡ฉ Moldova74https://iptv-org.github.io/iptv/countries/md.m3u - ๐Ÿ‡ฒ๐Ÿ‡จ Monaco42https://iptv-org.github.io/iptv/countries/mc.m3u - ๐Ÿ‡ฒ๐Ÿ‡ณ Mongolia32https://iptv-org.github.io/iptv/countries/mn.m3u - ๐Ÿ‡ฒ๐Ÿ‡ช Montenegro45https://iptv-org.github.io/iptv/countries/me.m3u + ๐Ÿ‡ซ๐Ÿ‡ฒ Micronesia5https://iptv-org.github.io/iptv/countries/fm.m3u + ๐Ÿ‡ฒ๐Ÿ‡ฉ Moldova62https://iptv-org.github.io/iptv/countries/md.m3u + ๐Ÿ‡ฒ๐Ÿ‡จ Monaco32https://iptv-org.github.io/iptv/countries/mc.m3u + ๐Ÿ‡ฒ๐Ÿ‡ณ Mongolia24https://iptv-org.github.io/iptv/countries/mn.m3u + ๐Ÿ‡ฒ๐Ÿ‡ช Montenegro35https://iptv-org.github.io/iptv/countries/me.m3u       Ulcinj1https://iptv-org.github.io/iptv/subdivisions/me-20.m3u - ๐Ÿ‡ฒ๐Ÿ‡ธ Montserrat14https://iptv-org.github.io/iptv/countries/ms.m3u - ๐Ÿ‡ฒ๐Ÿ‡ฆ Morocco81https://iptv-org.github.io/iptv/countries/ma.m3u - ๐Ÿ‡ฒ๐Ÿ‡ฟ Mozambique28https://iptv-org.github.io/iptv/countries/mz.m3u - ๐Ÿ‡ฒ๐Ÿ‡ฒ Myanmar29https://iptv-org.github.io/iptv/countries/mm.m3u - ๐Ÿ‡ณ๐Ÿ‡ฆ Namibia25https://iptv-org.github.io/iptv/countries/na.m3u - ๐Ÿ‡ณ๐Ÿ‡ท Nauru9https://iptv-org.github.io/iptv/countries/nr.m3u - ๐Ÿ‡ณ๐Ÿ‡ต Nepal22https://iptv-org.github.io/iptv/countries/np.m3u - ๐Ÿ‡ณ๐Ÿ‡ฑ Netherlands218https://iptv-org.github.io/iptv/countries/nl.m3u - ๐Ÿ‡ณ๐Ÿ‡จ New Caledonia9https://iptv-org.github.io/iptv/countries/nc.m3u - ๐Ÿ‡ณ๐Ÿ‡ฟ New Zealand39https://iptv-org.github.io/iptv/countries/nz.m3u - ๐Ÿ‡ณ๐Ÿ‡ฎ Nicaragua92https://iptv-org.github.io/iptv/countries/ni.m3u - ๐Ÿ‡ณ๐Ÿ‡ช Niger26https://iptv-org.github.io/iptv/countries/ne.m3u - ๐Ÿ‡ณ๐Ÿ‡ฌ Nigeria83https://iptv-org.github.io/iptv/countries/ng.m3u - ๐Ÿ‡ณ๐Ÿ‡บ Niue9https://iptv-org.github.io/iptv/countries/nu.m3u - ๐Ÿ‡ณ๐Ÿ‡ซ Norfolk Island9https://iptv-org.github.io/iptv/countries/nf.m3u - ๐Ÿ‡ฐ๐Ÿ‡ต North Korea10https://iptv-org.github.io/iptv/countries/kp.m3u - ๐Ÿ‡ฒ๐Ÿ‡ฐ North Macedonia74https://iptv-org.github.io/iptv/countries/mk.m3u - ๐Ÿ‡ฒ๐Ÿ‡ต Northern Mariana Islands9https://iptv-org.github.io/iptv/countries/mp.m3u - ๐Ÿ‡ณ๐Ÿ‡ด Norway48https://iptv-org.github.io/iptv/countries/no.m3u - ๐Ÿ‡ด๐Ÿ‡ฒ Oman53https://iptv-org.github.io/iptv/countries/om.m3u - ๐Ÿ‡ต๐Ÿ‡ฐ Pakistan44https://iptv-org.github.io/iptv/countries/pk.m3u - ๐Ÿ‡ต๐Ÿ‡ผ Palau9https://iptv-org.github.io/iptv/countries/pw.m3u - ๐Ÿ‡ต๐Ÿ‡ธ Palestine69https://iptv-org.github.io/iptv/countries/ps.m3u - ๐Ÿ‡ต๐Ÿ‡ฆ Panama93https://iptv-org.github.io/iptv/countries/pa.m3u - ๐Ÿ‡ต๐Ÿ‡ฌ Papua New Guinea10https://iptv-org.github.io/iptv/countries/pg.m3u - ๐Ÿ‡ต๐Ÿ‡พ Paraguay129https://iptv-org.github.io/iptv/countries/py.m3u + ๐Ÿ‡ฒ๐Ÿ‡ธ Montserrat12https://iptv-org.github.io/iptv/countries/ms.m3u + ๐Ÿ‡ฒ๐Ÿ‡ฆ Morocco75https://iptv-org.github.io/iptv/countries/ma.m3u + ๐Ÿ‡ฒ๐Ÿ‡ฟ Mozambique27https://iptv-org.github.io/iptv/countries/mz.m3u + ๐Ÿ‡ฒ๐Ÿ‡ฒ Myanmar21https://iptv-org.github.io/iptv/countries/mm.m3u + ๐Ÿ‡ณ๐Ÿ‡ฆ Namibia24https://iptv-org.github.io/iptv/countries/na.m3u + ๐Ÿ‡ณ๐Ÿ‡ท Nauru5https://iptv-org.github.io/iptv/countries/nr.m3u + ๐Ÿ‡ณ๐Ÿ‡ต Nepal17https://iptv-org.github.io/iptv/countries/np.m3u + ๐Ÿ‡ณ๐Ÿ‡ฑ Netherlands195https://iptv-org.github.io/iptv/countries/nl.m3u + ๐Ÿ‡ณ๐Ÿ‡จ New Caledonia5https://iptv-org.github.io/iptv/countries/nc.m3u + ๐Ÿ‡ณ๐Ÿ‡ฟ New Zealand24https://iptv-org.github.io/iptv/countries/nz.m3u + ๐Ÿ‡ณ๐Ÿ‡ฎ Nicaragua82https://iptv-org.github.io/iptv/countries/ni.m3u + ๐Ÿ‡ณ๐Ÿ‡ช Niger25https://iptv-org.github.io/iptv/countries/ne.m3u + ๐Ÿ‡ณ๐Ÿ‡ฌ Nigeria82https://iptv-org.github.io/iptv/countries/ng.m3u + ๐Ÿ‡ณ๐Ÿ‡บ Niue5https://iptv-org.github.io/iptv/countries/nu.m3u + ๐Ÿ‡ณ๐Ÿ‡ซ Norfolk Island5https://iptv-org.github.io/iptv/countries/nf.m3u + ๐Ÿ‡ฐ๐Ÿ‡ต North Korea5https://iptv-org.github.io/iptv/countries/kp.m3u + ๐Ÿ‡ฒ๐Ÿ‡ฐ North Macedonia64https://iptv-org.github.io/iptv/countries/mk.m3u + ๐Ÿ‡ฒ๐Ÿ‡ต Northern Mariana Islands5https://iptv-org.github.io/iptv/countries/mp.m3u + ๐Ÿ‡ณ๐Ÿ‡ด Norway37https://iptv-org.github.io/iptv/countries/no.m3u + ๐Ÿ‡ด๐Ÿ‡ฒ Oman47https://iptv-org.github.io/iptv/countries/om.m3u + ๐Ÿ‡ต๐Ÿ‡ฐ Pakistan39https://iptv-org.github.io/iptv/countries/pk.m3u + ๐Ÿ‡ต๐Ÿ‡ผ Palau5https://iptv-org.github.io/iptv/countries/pw.m3u + ๐Ÿ‡ต๐Ÿ‡ธ Palestine63https://iptv-org.github.io/iptv/countries/ps.m3u + ๐Ÿ‡ต๐Ÿ‡ฆ Panama84https://iptv-org.github.io/iptv/countries/pa.m3u + ๐Ÿ‡ต๐Ÿ‡ฌ Papua New Guinea6https://iptv-org.github.io/iptv/countries/pg.m3u + ๐Ÿ‡ต๐Ÿ‡พ Paraguay124https://iptv-org.github.io/iptv/countries/py.m3u       Alto Parana2https://iptv-org.github.io/iptv/subdivisions/py-10.m3u       Boqueron1https://iptv-org.github.io/iptv/subdivisions/py-19.m3u       Caaguazu1https://iptv-org.github.io/iptv/subdivisions/py-5.m3u       Central1https://iptv-org.github.io/iptv/subdivisions/py-11.m3u       Itapua1https://iptv-org.github.io/iptv/subdivisions/py-7.m3u       Presidente Hayes1https://iptv-org.github.io/iptv/subdivisions/py-15.m3u - ๐Ÿ‡ต๐Ÿ‡ช Peru217https://iptv-org.github.io/iptv/countries/pe.m3u + ๐Ÿ‡ต๐Ÿ‡ช Peru208https://iptv-org.github.io/iptv/countries/pe.m3u       Amazonas2https://iptv-org.github.io/iptv/subdivisions/pe-ama.m3u       Ancash1https://iptv-org.github.io/iptv/subdivisions/pe-anc.m3u       Apurimac1https://iptv-org.github.io/iptv/subdivisions/pe-apu.m3u @@ -654,49 +656,50 @@ Same thing, but split up into separate files:       Ayacucho2https://iptv-org.github.io/iptv/subdivisions/pe-aya.m3u       Cusco1https://iptv-org.github.io/iptv/subdivisions/pe-cus.m3u       Junin4https://iptv-org.github.io/iptv/subdivisions/pe-jun.m3u -       Lima8https://iptv-org.github.io/iptv/subdivisions/pe-lim.m3u +       La Libertad1https://iptv-org.github.io/iptv/subdivisions/pe-lal.m3u +       Lima9https://iptv-org.github.io/iptv/subdivisions/pe-lim.m3u       Loreto2https://iptv-org.github.io/iptv/subdivisions/pe-lor.m3u       Moquegua3https://iptv-org.github.io/iptv/subdivisions/pe-moq.m3u       Puno2https://iptv-org.github.io/iptv/subdivisions/pe-pun.m3u       San Martin3https://iptv-org.github.io/iptv/subdivisions/pe-sam.m3u       Ucayali2https://iptv-org.github.io/iptv/subdivisions/pe-uca.m3u - ๐Ÿ‡ต๐Ÿ‡ญ Philippines33https://iptv-org.github.io/iptv/countries/ph.m3u - ๐Ÿ‡ต๐Ÿ‡ณ Pitcairn Islands9https://iptv-org.github.io/iptv/countries/pn.m3u + ๐Ÿ‡ต๐Ÿ‡ญ Philippines26https://iptv-org.github.io/iptv/countries/ph.m3u + ๐Ÿ‡ต๐Ÿ‡ณ Pitcairn Islands5https://iptv-org.github.io/iptv/countries/pn.m3u ๐Ÿ‡ต๐Ÿ‡ฑ Poland203https://iptv-org.github.io/iptv/countries/pl.m3u - ๐Ÿ‡ต๐Ÿ‡น Portugal95https://iptv-org.github.io/iptv/countries/pt.m3u - ๐Ÿ‡ต๐Ÿ‡ท Puerto Rico108https://iptv-org.github.io/iptv/countries/pr.m3u - ๐Ÿ‡ถ๐Ÿ‡ฆ Qatar60https://iptv-org.github.io/iptv/countries/qa.m3u - ๐Ÿ‡จ๐Ÿ‡ฌ Republic of the Congo34https://iptv-org.github.io/iptv/countries/cg.m3u + ๐Ÿ‡ต๐Ÿ‡น Portugal83https://iptv-org.github.io/iptv/countries/pt.m3u + ๐Ÿ‡ต๐Ÿ‡ท Puerto Rico100https://iptv-org.github.io/iptv/countries/pr.m3u + ๐Ÿ‡ถ๐Ÿ‡ฆ Qatar54https://iptv-org.github.io/iptv/countries/qa.m3u + ๐Ÿ‡จ๐Ÿ‡ฌ Republic of the Congo33https://iptv-org.github.io/iptv/countries/cg.m3u       Brazzaville1https://iptv-org.github.io/iptv/subdivisions/cg-bzv.m3u - ๐Ÿ‡ท๐Ÿ‡ช Reunion25https://iptv-org.github.io/iptv/countries/re.m3u - ๐Ÿ‡ท๐Ÿ‡ด Romania153https://iptv-org.github.io/iptv/countries/ro.m3u + ๐Ÿ‡ท๐Ÿ‡ช Reunion24https://iptv-org.github.io/iptv/countries/re.m3u + ๐Ÿ‡ท๐Ÿ‡ด Romania142https://iptv-org.github.io/iptv/countries/ro.m3u       Gorj1https://iptv-org.github.io/iptv/subdivisions/ro-gj.m3u - ๐Ÿ‡ท๐Ÿ‡บ Russia283https://iptv-org.github.io/iptv/countries/ru.m3u - ๐Ÿ‡ท๐Ÿ‡ผ Rwanda32https://iptv-org.github.io/iptv/countries/rw.m3u - ๐Ÿ‡ง๐Ÿ‡ฑ Saint Barthรฉlemy22https://iptv-org.github.io/iptv/countries/bl.m3u - ๐Ÿ‡ธ๐Ÿ‡ญ Saint Helena24https://iptv-org.github.io/iptv/countries/sh.m3u - ๐Ÿ‡ฐ๐Ÿ‡ณ Saint Kitts and Nevis15https://iptv-org.github.io/iptv/countries/kn.m3u - ๐Ÿ‡ฑ๐Ÿ‡จ Saint Lucia15https://iptv-org.github.io/iptv/countries/lc.m3u - ๐Ÿ‡ฒ๐Ÿ‡ซ Saint Martin22https://iptv-org.github.io/iptv/countries/mf.m3u - ๐Ÿ‡ต๐Ÿ‡ฒ Saint Pierre and Miquelon9https://iptv-org.github.io/iptv/countries/pm.m3u - ๐Ÿ‡ป๐Ÿ‡จ Saint Vincent and the Grenadines14https://iptv-org.github.io/iptv/countries/vc.m3u - ๐Ÿ‡ผ๐Ÿ‡ธ Samoa11https://iptv-org.github.io/iptv/countries/ws.m3u - ๐Ÿ‡ธ๐Ÿ‡ฒ San Marino39https://iptv-org.github.io/iptv/countries/sm.m3u - ๐Ÿ‡ธ๐Ÿ‡น Sao Tome and Principe25https://iptv-org.github.io/iptv/countries/st.m3u - ๐Ÿ‡ธ๐Ÿ‡ฆ Saudi Arabia87https://iptv-org.github.io/iptv/countries/sa.m3u - ๐Ÿ‡ธ๐Ÿ‡ณ Senegal56https://iptv-org.github.io/iptv/countries/sn.m3u - ๐Ÿ‡ท๐Ÿ‡ธ Serbia78https://iptv-org.github.io/iptv/countries/rs.m3u - ๐Ÿ‡ธ๐Ÿ‡จ Seychelles24https://iptv-org.github.io/iptv/countries/sc.m3u - ๐Ÿ‡ธ๐Ÿ‡ฑ Sierra Leone26https://iptv-org.github.io/iptv/countries/sl.m3u - ๐Ÿ‡ธ๐Ÿ‡ฌ Singapore27https://iptv-org.github.io/iptv/countries/sg.m3u - ๐Ÿ‡ธ๐Ÿ‡ฝ Sint Maarten19https://iptv-org.github.io/iptv/countries/sx.m3u - ๐Ÿ‡ธ๐Ÿ‡ฐ Slovakia100https://iptv-org.github.io/iptv/countries/sk.m3u - ๐Ÿ‡ธ๐Ÿ‡ฎ Slovenia66https://iptv-org.github.io/iptv/countries/si.m3u - ๐Ÿ‡ธ๐Ÿ‡ง Solomon Islands9https://iptv-org.github.io/iptv/countries/sb.m3u - ๐Ÿ‡ธ๐Ÿ‡ด Somalia74https://iptv-org.github.io/iptv/countries/so.m3u - ๐Ÿ‡ฟ๐Ÿ‡ฆ South Africa65https://iptv-org.github.io/iptv/countries/za.m3u + ๐Ÿ‡ท๐Ÿ‡บ Russia209https://iptv-org.github.io/iptv/countries/ru.m3u + ๐Ÿ‡ท๐Ÿ‡ผ Rwanda31https://iptv-org.github.io/iptv/countries/rw.m3u + ๐Ÿ‡ง๐Ÿ‡ฑ Saint Barthรฉlemy21https://iptv-org.github.io/iptv/countries/bl.m3u + ๐Ÿ‡ธ๐Ÿ‡ญ Saint Helena23https://iptv-org.github.io/iptv/countries/sh.m3u + ๐Ÿ‡ฐ๐Ÿ‡ณ Saint Kitts and Nevis13https://iptv-org.github.io/iptv/countries/kn.m3u + ๐Ÿ‡ฑ๐Ÿ‡จ Saint Lucia13https://iptv-org.github.io/iptv/countries/lc.m3u + ๐Ÿ‡ฒ๐Ÿ‡ซ Saint Martin21https://iptv-org.github.io/iptv/countries/mf.m3u + ๐Ÿ‡ต๐Ÿ‡ฒ Saint Pierre and Miquelon7https://iptv-org.github.io/iptv/countries/pm.m3u + ๐Ÿ‡ป๐Ÿ‡จ Saint Vincent and the Grenadines12https://iptv-org.github.io/iptv/countries/vc.m3u + ๐Ÿ‡ผ๐Ÿ‡ธ Samoa7https://iptv-org.github.io/iptv/countries/ws.m3u + ๐Ÿ‡ธ๐Ÿ‡ฒ San Marino29https://iptv-org.github.io/iptv/countries/sm.m3u + ๐Ÿ‡ธ๐Ÿ‡น Sao Tome and Principe24https://iptv-org.github.io/iptv/countries/st.m3u + ๐Ÿ‡ธ๐Ÿ‡ฆ Saudi Arabia90https://iptv-org.github.io/iptv/countries/sa.m3u + ๐Ÿ‡ธ๐Ÿ‡ณ Senegal54https://iptv-org.github.io/iptv/countries/sn.m3u + ๐Ÿ‡ท๐Ÿ‡ธ Serbia68https://iptv-org.github.io/iptv/countries/rs.m3u + ๐Ÿ‡ธ๐Ÿ‡จ Seychelles23https://iptv-org.github.io/iptv/countries/sc.m3u + ๐Ÿ‡ธ๐Ÿ‡ฑ Sierra Leone25https://iptv-org.github.io/iptv/countries/sl.m3u + ๐Ÿ‡ธ๐Ÿ‡ฌ Singapore21https://iptv-org.github.io/iptv/countries/sg.m3u + ๐Ÿ‡ธ๐Ÿ‡ฝ Sint Maarten18https://iptv-org.github.io/iptv/countries/sx.m3u + ๐Ÿ‡ธ๐Ÿ‡ฐ Slovakia91https://iptv-org.github.io/iptv/countries/sk.m3u + ๐Ÿ‡ธ๐Ÿ‡ฎ Slovenia55https://iptv-org.github.io/iptv/countries/si.m3u + ๐Ÿ‡ธ๐Ÿ‡ง Solomon Islands5https://iptv-org.github.io/iptv/countries/sb.m3u + ๐Ÿ‡ธ๐Ÿ‡ด Somalia69https://iptv-org.github.io/iptv/countries/so.m3u + ๐Ÿ‡ฟ๐Ÿ‡ฆ South Africa61https://iptv-org.github.io/iptv/countries/za.m3u ๐Ÿ‡ฌ๐Ÿ‡ธ South Georgia and the South Sandwich Islands5https://iptv-org.github.io/iptv/countries/gs.m3u - ๐Ÿ‡ฐ๐Ÿ‡ท South Korea100https://iptv-org.github.io/iptv/countries/kr.m3u + ๐Ÿ‡ฐ๐Ÿ‡ท South Korea93https://iptv-org.github.io/iptv/countries/kr.m3u       Busan-gwangyeoksi2https://iptv-org.github.io/iptv/subdivisions/kr-26.m3u       Chungcheongbuk-do2https://iptv-org.github.io/iptv/subdivisions/kr-43.m3u       Daegu-gwangyeoksi2https://iptv-org.github.io/iptv/subdivisions/kr-27.m3u @@ -710,8 +713,8 @@ Same thing, but split up into separate files:       Jeollanam-do4https://iptv-org.github.io/iptv/subdivisions/kr-46.m3u       Seoul-teukbyeolsi1https://iptv-org.github.io/iptv/subdivisions/kr-11.m3u       Ulsan-gwangyeoksi1https://iptv-org.github.io/iptv/subdivisions/kr-31.m3u - ๐Ÿ‡ธ๐Ÿ‡ธ South Sudan24https://iptv-org.github.io/iptv/countries/ss.m3u - ๐Ÿ‡ช๐Ÿ‡ธ Spain368https://iptv-org.github.io/iptv/countries/es.m3u + ๐Ÿ‡ธ๐Ÿ‡ธ South Sudan23https://iptv-org.github.io/iptv/countries/ss.m3u + ๐Ÿ‡ช๐Ÿ‡ธ Spain340https://iptv-org.github.io/iptv/countries/es.m3u       Andalucia38https://iptv-org.github.io/iptv/subdivisions/es-an.m3u       Aragon1https://iptv-org.github.io/iptv/subdivisions/es-ar.m3u       Asturias, Principado de1https://iptv-org.github.io/iptv/subdivisions/es-as.m3u @@ -729,33 +732,32 @@ Same thing, but split up into separate files:       Navarra, Comunidad Foral de1https://iptv-org.github.io/iptv/subdivisions/es-nc.m3u       Pais Vasco6https://iptv-org.github.io/iptv/subdivisions/es-pv.m3u       Valenciana, Comunidad16https://iptv-org.github.io/iptv/subdivisions/es-vc.m3u - ๐Ÿ‡ฑ๐Ÿ‡ฐ Sri Lanka18https://iptv-org.github.io/iptv/countries/lk.m3u - ๐Ÿ‡ธ๐Ÿ‡ฉ Sudan71https://iptv-org.github.io/iptv/countries/sd.m3u + ๐Ÿ‡ฑ๐Ÿ‡ฐ Sri Lanka13https://iptv-org.github.io/iptv/countries/lk.m3u + ๐Ÿ‡ธ๐Ÿ‡ฉ Sudan66https://iptv-org.github.io/iptv/countries/sd.m3u ๐Ÿ‡ธ๐Ÿ‡ท Suriname10https://iptv-org.github.io/iptv/countries/sr.m3u - ๐Ÿ‡ธ๐Ÿ‡ฟ Swaziland25https://iptv-org.github.io/iptv/countries/sz.m3u - ๐Ÿ‡ธ๐Ÿ‡ช Sweden80https://iptv-org.github.io/iptv/countries/se.m3u - ๐Ÿ‡จ๐Ÿ‡ญ Switzerland310https://iptv-org.github.io/iptv/countries/ch.m3u - ๐Ÿ‡ธ๐Ÿ‡พ Syria52https://iptv-org.github.io/iptv/countries/sy.m3u - ๐Ÿ‡น๐Ÿ‡ผ Taiwan72https://iptv-org.github.io/iptv/countries/tw.m3u - ๐Ÿ‡น๐Ÿ‡ฏ Tajikistan32https://iptv-org.github.io/iptv/countries/tj.m3u - ๐Ÿ‡น๐Ÿ‡ฟ Tanzania32https://iptv-org.github.io/iptv/countries/tz.m3u - ๐Ÿ‡น๐Ÿ‡ญ Thailand83https://iptv-org.github.io/iptv/countries/th.m3u - ๐Ÿ‡น๐Ÿ‡ฌ Togo37https://iptv-org.github.io/iptv/countries/tg.m3u - ๐Ÿ‡น๐Ÿ‡ฐ Tokelau9https://iptv-org.github.io/iptv/countries/tk.m3u - ๐Ÿ‡น๐Ÿ‡ด Tonga9https://iptv-org.github.io/iptv/countries/to.m3u - ๐Ÿ‡น๐Ÿ‡น Trinidad and Tobago20https://iptv-org.github.io/iptv/countries/tt.m3u - ๐Ÿ‡น๐Ÿ‡ณ Tunisia71https://iptv-org.github.io/iptv/countries/tn.m3u - ๐Ÿ‡น๐Ÿ‡ท Turkey297https://iptv-org.github.io/iptv/countries/tr.m3u - ๐Ÿ‡น๐Ÿ‡ฒ Turkmenistan17https://iptv-org.github.io/iptv/countries/tm.m3u - ๐Ÿ‡น๐Ÿ‡จ Turks and Caicos Islands14https://iptv-org.github.io/iptv/countries/tc.m3u - ๐Ÿ‡น๐Ÿ‡ป Tuvalu9https://iptv-org.github.io/iptv/countries/tv.m3u - ๐Ÿ‡ป๐Ÿ‡ฎ U.S. Virgin Islands14https://iptv-org.github.io/iptv/countries/vi.m3u - ๐Ÿ‡บ๐Ÿ‡ฌ Uganda52https://iptv-org.github.io/iptv/countries/ug.m3u - ๐Ÿ‡บ๐Ÿ‡ฆ Ukraine102https://iptv-org.github.io/iptv/countries/ua.m3u - ๐Ÿ‡ฆ๐Ÿ‡ช United Arab Emirates94https://iptv-org.github.io/iptv/countries/ae.m3u - ๐Ÿ‡ฌ๐Ÿ‡ง United Kingdom239https://iptv-org.github.io/iptv/countries/uk.m3u -       Wales2https://iptv-org.github.io/iptv/subdivisions/gb-wls.m3u - ๐Ÿ‡บ๐Ÿ‡ธ United States2050https://iptv-org.github.io/iptv/countries/us.m3u + ๐Ÿ‡ธ๐Ÿ‡ฟ Swaziland24https://iptv-org.github.io/iptv/countries/sz.m3u + ๐Ÿ‡ธ๐Ÿ‡ช Sweden57https://iptv-org.github.io/iptv/countries/se.m3u + ๐Ÿ‡จ๐Ÿ‡ญ Switzerland75https://iptv-org.github.io/iptv/countries/ch.m3u + ๐Ÿ‡ธ๐Ÿ‡พ Syria46https://iptv-org.github.io/iptv/countries/sy.m3u + ๐Ÿ‡น๐Ÿ‡ผ Taiwan29https://iptv-org.github.io/iptv/countries/tw.m3u + ๐Ÿ‡น๐Ÿ‡ฏ Tajikistan28https://iptv-org.github.io/iptv/countries/tj.m3u + ๐Ÿ‡น๐Ÿ‡ฟ Tanzania31https://iptv-org.github.io/iptv/countries/tz.m3u + ๐Ÿ‡น๐Ÿ‡ญ Thailand75https://iptv-org.github.io/iptv/countries/th.m3u + ๐Ÿ‡น๐Ÿ‡ฌ Togo36https://iptv-org.github.io/iptv/countries/tg.m3u + ๐Ÿ‡น๐Ÿ‡ฐ Tokelau5https://iptv-org.github.io/iptv/countries/tk.m3u + ๐Ÿ‡น๐Ÿ‡ด Tonga5https://iptv-org.github.io/iptv/countries/to.m3u + ๐Ÿ‡น๐Ÿ‡น Trinidad and Tobago18https://iptv-org.github.io/iptv/countries/tt.m3u + ๐Ÿ‡น๐Ÿ‡ณ Tunisia66https://iptv-org.github.io/iptv/countries/tn.m3u + ๐Ÿ‡น๐Ÿ‡ท Turkey280https://iptv-org.github.io/iptv/countries/tr.m3u + ๐Ÿ‡น๐Ÿ‡ฒ Turkmenistan16https://iptv-org.github.io/iptv/countries/tm.m3u + ๐Ÿ‡น๐Ÿ‡จ Turks and Caicos Islands12https://iptv-org.github.io/iptv/countries/tc.m3u + ๐Ÿ‡น๐Ÿ‡ป Tuvalu5https://iptv-org.github.io/iptv/countries/tv.m3u + ๐Ÿ‡ป๐Ÿ‡ฎ U.S. Virgin Islands12https://iptv-org.github.io/iptv/countries/vi.m3u + ๐Ÿ‡บ๐Ÿ‡ฌ Uganda51https://iptv-org.github.io/iptv/countries/ug.m3u + ๐Ÿ‡บ๐Ÿ‡ฆ Ukraine91https://iptv-org.github.io/iptv/countries/ua.m3u + ๐Ÿ‡ฆ๐Ÿ‡ช United Arab Emirates88https://iptv-org.github.io/iptv/countries/ae.m3u + ๐Ÿ‡ฌ๐Ÿ‡ง United Kingdom174https://iptv-org.github.io/iptv/countries/uk.m3u + ๐Ÿ‡บ๐Ÿ‡ธ United States1422https://iptv-org.github.io/iptv/countries/us.m3u       Alabama3https://iptv-org.github.io/iptv/subdivisions/us-al.m3u       Alaska2https://iptv-org.github.io/iptv/subdivisions/us-ak.m3u       Arizona13https://iptv-org.github.io/iptv/subdivisions/us-az.m3u @@ -790,7 +792,7 @@ Same thing, but split up into separate files:       New Mexico1https://iptv-org.github.io/iptv/subdivisions/us-nm.m3u       New York22https://iptv-org.github.io/iptv/subdivisions/us-ny.m3u       North Carolina7https://iptv-org.github.io/iptv/subdivisions/us-nc.m3u -       North Dakota3https://iptv-org.github.io/iptv/subdivisions/us-nd.m3u +       North Dakota2https://iptv-org.github.io/iptv/subdivisions/us-nd.m3u       Ohio10https://iptv-org.github.io/iptv/subdivisions/us-oh.m3u       Oklahoma4https://iptv-org.github.io/iptv/subdivisions/us-ok.m3u       Oregon1https://iptv-org.github.io/iptv/subdivisions/us-or.m3u @@ -798,25 +800,25 @@ Same thing, but split up into separate files:       Rhode Island1https://iptv-org.github.io/iptv/subdivisions/us-ri.m3u       South Carolina4https://iptv-org.github.io/iptv/subdivisions/us-sc.m3u       Tennessee7https://iptv-org.github.io/iptv/subdivisions/us-tn.m3u -       Texas28https://iptv-org.github.io/iptv/subdivisions/us-tx.m3u +       Texas27https://iptv-org.github.io/iptv/subdivisions/us-tx.m3u       Utah1https://iptv-org.github.io/iptv/subdivisions/us-ut.m3u       Virginia3https://iptv-org.github.io/iptv/subdivisions/us-va.m3u       Washington5https://iptv-org.github.io/iptv/subdivisions/us-wa.m3u       Wisconsin4https://iptv-org.github.io/iptv/subdivisions/us-wi.m3u - ๐Ÿ‡บ๐Ÿ‡พ Uruguay80https://iptv-org.github.io/iptv/countries/uy.m3u - ๐Ÿ‡บ๐Ÿ‡ฟ Uzbekistan32https://iptv-org.github.io/iptv/countries/uz.m3u - ๐Ÿ‡ป๐Ÿ‡บ Vanuatu9https://iptv-org.github.io/iptv/countries/vu.m3u - ๐Ÿ‡ป๐Ÿ‡ฆ Vatican City38https://iptv-org.github.io/iptv/countries/va.m3u - ๐Ÿ‡ป๐Ÿ‡ช Venezuela125https://iptv-org.github.io/iptv/countries/ve.m3u + ๐Ÿ‡บ๐Ÿ‡พ Uruguay75https://iptv-org.github.io/iptv/countries/uy.m3u + ๐Ÿ‡บ๐Ÿ‡ฟ Uzbekistan28https://iptv-org.github.io/iptv/countries/uz.m3u + ๐Ÿ‡ป๐Ÿ‡บ Vanuatu5https://iptv-org.github.io/iptv/countries/vu.m3u + ๐Ÿ‡ป๐Ÿ‡ฆ Vatican City28https://iptv-org.github.io/iptv/countries/va.m3u + ๐Ÿ‡ป๐Ÿ‡ช Venezuela116https://iptv-org.github.io/iptv/countries/ve.m3u       Aragua2https://iptv-org.github.io/iptv/subdivisions/ve-d.m3u       Lara1https://iptv-org.github.io/iptv/subdivisions/ve-k.m3u - ๐Ÿ‡ป๐Ÿ‡ณ Vietnam81https://iptv-org.github.io/iptv/countries/vn.m3u - ๐Ÿ‡ผ๐Ÿ‡ซ Wallis and Futuna9https://iptv-org.github.io/iptv/countries/wf.m3u + ๐Ÿ‡ป๐Ÿ‡ณ Vietnam71https://iptv-org.github.io/iptv/countries/vn.m3u + ๐Ÿ‡ผ๐Ÿ‡ซ Wallis and Futuna5https://iptv-org.github.io/iptv/countries/wf.m3u ๐Ÿ‡ช๐Ÿ‡ญ Western Sahara28https://iptv-org.github.io/iptv/countries/eh.m3u - ๐Ÿ‡พ๐Ÿ‡ช Yemen52https://iptv-org.github.io/iptv/countries/ye.m3u - ๐Ÿ‡ฟ๐Ÿ‡ฒ Zambia25https://iptv-org.github.io/iptv/countries/zm.m3u - ๐Ÿ‡ฟ๐Ÿ‡ผ Zimbabwe25https://iptv-org.github.io/iptv/countries/zw.m3u - ๐ŸŒ International62https://iptv-org.github.io/iptv/countries/int.m3u + ๐Ÿ‡พ๐Ÿ‡ช Yemen46https://iptv-org.github.io/iptv/countries/ye.m3u + ๐Ÿ‡ฟ๐Ÿ‡ฒ Zambia24https://iptv-org.github.io/iptv/countries/zm.m3u + ๐Ÿ‡ฟ๐Ÿ‡ผ Zimbabwe24https://iptv-org.github.io/iptv/countries/zw.m3u + Undefined2885https://iptv-org.github.io/iptv/countries/undefined.m3u @@ -828,7 +830,7 @@ Same thing, but split up into separate files: Expand
-Playlist in which each channel has its _region_ as a group title: +Playlists in which channels are grouped by the region for which they are broadcasted. ``` https://iptv-org.github.io/iptv/index.region.m3u @@ -842,40 +844,42 @@ Same thing, but split up into separate files: RegionChannelsPlaylist - Africa517https://iptv-org.github.io/iptv/regions/afr.m3u - Americas4513https://iptv-org.github.io/iptv/regions/amer.m3u - Arab world378https://iptv-org.github.io/iptv/regions/arab.m3u - Asia2652https://iptv-org.github.io/iptv/regions/asia.m3u - Asia-Pacific1681https://iptv-org.github.io/iptv/regions/apac.m3u - Association of Southeast Asian Nations341https://iptv-org.github.io/iptv/regions/asean.m3u - Balkan660https://iptv-org.github.io/iptv/regions/balkan.m3u - Benelux220https://iptv-org.github.io/iptv/regions/benelux.m3u - Caribbean372https://iptv-org.github.io/iptv/regions/carib.m3u - Central America316https://iptv-org.github.io/iptv/regions/cenamer.m3u - Central and Eastern Europe1049https://iptv-org.github.io/iptv/regions/cee.m3u - Central Asia78https://iptv-org.github.io/iptv/regions/cas.m3u - Commonwealth of Independent States400https://iptv-org.github.io/iptv/regions/cis.m3u - Europe4074https://iptv-org.github.io/iptv/regions/eur.m3u - Europe, the Middle East and Africa4953https://iptv-org.github.io/iptv/regions/emea.m3u - European Union2813https://iptv-org.github.io/iptv/regions/eu.m3u - Hispanic America1759https://iptv-org.github.io/iptv/regions/hispam.m3u - Latin America2052https://iptv-org.github.io/iptv/regions/latam.m3u - Latin America and the Caribbean2086https://iptv-org.github.io/iptv/regions/lac.m3u - Maghreb50https://iptv-org.github.io/iptv/regions/maghreb.m3u - Middle East735https://iptv-org.github.io/iptv/regions/mideast.m3u - Middle East and North Africa770https://iptv-org.github.io/iptv/regions/mena.m3u - Nordics92https://iptv-org.github.io/iptv/regions/nord.m3u - North America3302https://iptv-org.github.io/iptv/regions/noram.m3u - Northern America2437https://iptv-org.github.io/iptv/regions/nam.m3u - Northern Europe136https://iptv-org.github.io/iptv/regions/neur.m3u - Oceania98https://iptv-org.github.io/iptv/regions/oce.m3u - South America1229https://iptv-org.github.io/iptv/regions/southam.m3u - South Asia418https://iptv-org.github.io/iptv/regions/sas.m3u - Southeast Asia348https://iptv-org.github.io/iptv/regions/sea.m3u - Southern Europe1169https://iptv-org.github.io/iptv/regions/ser.m3u - Sub-Saharan Africa441https://iptv-org.github.io/iptv/regions/ssa.m3u - West Africa198https://iptv-org.github.io/iptv/regions/wafr.m3u - Western Europe1709https://iptv-org.github.io/iptv/regions/wer.m3u + Africa546https://iptv-org.github.io/iptv/regions/afr.m3u + Americas3602https://iptv-org.github.io/iptv/regions/amer.m3u + Arab world402https://iptv-org.github.io/iptv/regions/arab.m3u + Asia2143https://iptv-org.github.io/iptv/regions/asia.m3u + Asia-Pacific1135https://iptv-org.github.io/iptv/regions/apac.m3u + Association of Southeast Asian Nations344https://iptv-org.github.io/iptv/regions/asean.m3u + Balkan680https://iptv-org.github.io/iptv/regions/balkan.m3u + Benelux240https://iptv-org.github.io/iptv/regions/benelux.m3u + Caribbean366https://iptv-org.github.io/iptv/regions/carib.m3u + Central America373https://iptv-org.github.io/iptv/regions/cenamer.m3u + Central and Eastern Europe989https://iptv-org.github.io/iptv/regions/cee.m3u + Central Asia109https://iptv-org.github.io/iptv/regions/cas.m3u + Commonwealth of Independent States354https://iptv-org.github.io/iptv/regions/cis.m3u + Europe2864https://iptv-org.github.io/iptv/regions/eur.m3u + Europe, the Middle East and Africa3776https://iptv-org.github.io/iptv/regions/emea.m3u + European Union1964https://iptv-org.github.io/iptv/regions/eu.m3u + Hispanic America1681https://iptv-org.github.io/iptv/regions/hispam.m3u + Latin America1998https://iptv-org.github.io/iptv/regions/latam.m3u + Latin America and the Caribbean2042https://iptv-org.github.io/iptv/regions/lac.m3u + Maghreb90https://iptv-org.github.io/iptv/regions/maghreb.m3u + Middle East807https://iptv-org.github.io/iptv/regions/mideast.m3u + Middle East and North Africa836https://iptv-org.github.io/iptv/regions/mena.m3u + Nordics111https://iptv-org.github.io/iptv/regions/nord.m3u + North America2421https://iptv-org.github.io/iptv/regions/noram.m3u + Northern America1582https://iptv-org.github.io/iptv/regions/nam.m3u + Northern Europe153https://iptv-org.github.io/iptv/regions/neur.m3u + Oceania55https://iptv-org.github.io/iptv/regions/oce.m3u + South America1261https://iptv-org.github.io/iptv/regions/southam.m3u + South Asia408https://iptv-org.github.io/iptv/regions/sas.m3u + Southeast Asia344https://iptv-org.github.io/iptv/regions/sea.m3u + Southern Europe1057https://iptv-org.github.io/iptv/regions/ser.m3u + Sub-Saharan Africa491https://iptv-org.github.io/iptv/regions/ssa.m3u + West Africa253https://iptv-org.github.io/iptv/regions/wafr.m3u + Western Europe781https://iptv-org.github.io/iptv/regions/wer.m3u + Worldwide57https://iptv-org.github.io/iptv/regions/int.m3u + Undefined2885https://iptv-org.github.io/iptv/regions/undefined.m3u diff --git a/package-lock.json b/package-lock.json index 94161cfca..a9d29de73 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,7 @@ "dependencies": { "@eslint/eslintrc": "^3.3.0", "@eslint/js": "^9.21.0", - "@freearhey/core": "^0.2.1", + "@freearhey/core": "^0.7.0", "@octokit/core": "^6.1.4", "@octokit/plugin-paginate-rest": "^11.4.3", "@octokit/plugin-rest-endpoint-methods": "^7.1.3", @@ -1063,9 +1063,9 @@ } }, "node_modules/@freearhey/core": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/@freearhey/core/-/core-0.2.1.tgz", - "integrity": "sha512-kEdIxZClykKhGpgyCSlkwuVuSCCAWr3J5YvOUMJQDPgVAYvT5VbD8MYKPm+OwNi9T4HFmF6qqY90qwKJPoOXCA==", + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@freearhey/core/-/core-0.7.0.tgz", + "integrity": "sha512-HXkKPYGY7ife7JAc1q/Qxzy0WUdSnyt3rHThCShZHgnH3rz0tpkjHFW7LNegB3he0IKn/Zc95/YSOQ97Fq8ctA==", "dependencies": { "@types/fs-extra": "^11.0.2", "@types/lodash": "^4.14.198", @@ -1078,6 +1078,7 @@ "node-gzip": "^1.1.2", "normalize-url": "^6.1.0", "object-treeify": "^2.1.1", + "run-script-os": "^1.1.6", "signale": "^1.4.0" } }, @@ -6059,6 +6060,15 @@ "queue-microtask": "^1.2.2" } }, + "node_modules/run-script-os": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/run-script-os/-/run-script-os-1.1.6.tgz", + "integrity": "sha512-ql6P2LzhBTTDfzKts+Qo4H94VUKpxKDFz6QxxwaUZN0mwvi7L3lpOI7BqPCq7lgDh3XLl0dpeXwfcVIitlrYrw==", + "bin": { + "run-os": "index.js", + "run-script-os": "index.js" + } + }, "node_modules/semver": { "version": "7.6.3", "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", @@ -7455,9 +7465,9 @@ } }, "@freearhey/core": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/@freearhey/core/-/core-0.2.1.tgz", - "integrity": "sha512-kEdIxZClykKhGpgyCSlkwuVuSCCAWr3J5YvOUMJQDPgVAYvT5VbD8MYKPm+OwNi9T4HFmF6qqY90qwKJPoOXCA==", + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@freearhey/core/-/core-0.7.0.tgz", + "integrity": "sha512-HXkKPYGY7ife7JAc1q/Qxzy0WUdSnyt3rHThCShZHgnH3rz0tpkjHFW7LNegB3he0IKn/Zc95/YSOQ97Fq8ctA==", "requires": { "@types/fs-extra": "^11.0.2", "@types/lodash": "^4.14.198", @@ -7470,6 +7480,7 @@ "node-gzip": "^1.1.2", "normalize-url": "^6.1.0", "object-treeify": "^2.1.1", + "run-script-os": "^1.1.6", "signale": "^1.4.0" }, "dependencies": { @@ -11122,6 +11133,11 @@ "queue-microtask": "^1.2.2" } }, + "run-script-os": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/run-script-os/-/run-script-os-1.1.6.tgz", + "integrity": "sha512-ql6P2LzhBTTDfzKts+Qo4H94VUKpxKDFz6QxxwaUZN0mwvi7L3lpOI7BqPCq7lgDh3XLl0dpeXwfcVIitlrYrw==" + }, "semver": { "version": "7.6.3", "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", diff --git a/package.json b/package.json index 7db699386..d3aec1ea8 100644 --- a/package.json +++ b/package.json @@ -39,7 +39,7 @@ "dependencies": { "@eslint/eslintrc": "^3.3.0", "@eslint/js": "^9.21.0", - "@freearhey/core": "^0.2.1", + "@freearhey/core": "^0.7.0", "@octokit/core": "^6.1.4", "@octokit/plugin-paginate-rest": "^11.4.3", "@octokit/plugin-rest-endpoint-methods": "^7.1.3", diff --git a/scripts/commands/api/generate.ts b/scripts/commands/api/generate.ts index 9f311fd38..670fa091d 100644 --- a/scripts/commands/api/generate.ts +++ b/scripts/commands/api/generate.ts @@ -1,21 +1,37 @@ -import { Logger, Storage } from '@freearhey/core' -import { API_DIR, STREAMS_DIR } from '../../constants' +import { Logger, Storage, Collection } from '@freearhey/core' +import { API_DIR, STREAMS_DIR, DATA_DIR } from '../../constants' import { PlaylistParser } from '../../core' -import { Stream } from '../../models' +import { Stream, Channel, Feed } from '../../models' +import { uniqueId } from 'lodash' async function main() { const logger = new Logger() + logger.info('loading api data...') + const dataStorage = new Storage(DATA_DIR) + const channelsData = await dataStorage.json('channels.json') + const channels = new Collection(channelsData).map(data => new Channel(data)) + const channelsGroupedById = channels.keyBy((channel: Channel) => channel.id) + const feedsData = await dataStorage.json('feeds.json') + const feeds = new Collection(feedsData).map(data => + new Feed(data).withChannel(channelsGroupedById) + ) + const feedsGroupedByChannelId = feeds.groupBy((feed: Feed) => + feed.channel ? feed.channel.id : uniqueId() + ) + logger.info('loading streams...') const streamsStorage = new Storage(STREAMS_DIR) - const parser = new PlaylistParser({ storage: streamsStorage }) + const parser = new PlaylistParser({ + storage: streamsStorage, + channelsGroupedById, + feedsGroupedByChannelId + }) const files = await streamsStorage.list('**/*.m3u') let streams = await parser.parse(files) streams = streams - .map(data => new Stream(data)) - .orderBy([(stream: Stream) => stream.channel]) + .orderBy((stream: Stream) => stream.getId()) .map((stream: Stream) => stream.toJSON()) - logger.info(`found ${streams.count()} streams`) logger.info('saving to .api/streams.json...') diff --git a/scripts/commands/api/load.ts b/scripts/commands/api/load.ts index 68e6e18a4..fbb1fea43 100644 --- a/scripts/commands/api/load.ts +++ b/scripts/commands/api/load.ts @@ -12,7 +12,9 @@ async function main() { client.download('countries.json'), client.download('languages.json'), client.download('regions.json'), - client.download('subdivisions.json') + client.download('subdivisions.json'), + client.download('feeds.json'), + client.download('timezones.json') ] await Promise.all(requests) diff --git a/scripts/commands/playlist/format.ts b/scripts/commands/playlist/format.ts index d532db607..6ac14cb62 100644 --- a/scripts/commands/playlist/format.ts +++ b/scripts/commands/playlist/format.ts @@ -1,25 +1,36 @@ import { Logger, Storage, Collection } from '@freearhey/core' import { STREAMS_DIR, DATA_DIR } from '../../constants' import { PlaylistParser } from '../../core' -import { Stream, Playlist, Channel } from '../../models' +import { Stream, Playlist, Channel, Feed } from '../../models' import { program } from 'commander' +import { uniqueId } from 'lodash' program.argument('[filepath]', 'Path to file to validate').parse(process.argv) async function main() { - const storage = new Storage(STREAMS_DIR) + const streamsStorage = new Storage(STREAMS_DIR) const logger = new Logger() - logger.info('loading channels from api...') + logger.info('loading data from api...') const dataStorage = new Storage(DATA_DIR) - const channelsContent = await dataStorage.json('channels.json') - const groupedChannels = new Collection(channelsContent) - .map(data => new Channel(data)) - .keyBy((channel: Channel) => channel.id) + const channelsData = await dataStorage.json('channels.json') + const channels = new Collection(channelsData).map(data => new Channel(data)) + const channelsGroupedById = channels.keyBy((channel: Channel) => channel.id) + const feedsData = await dataStorage.json('feeds.json') + const feeds = new Collection(feedsData).map(data => + new Feed(data).withChannel(channelsGroupedById) + ) + const feedsGroupedByChannelId = feeds.groupBy(feed => + feed.channel ? feed.channel.id : uniqueId() + ) logger.info('loading streams...') - const parser = new PlaylistParser({ storage }) - const files = program.args.length ? program.args : await storage.list('**/*.m3u') + const parser = new PlaylistParser({ + storage: streamsStorage, + channelsGroupedById, + feedsGroupedByChannelId + }) + const files = program.args.length ? program.args : await streamsStorage.list('**/*.m3u') let streams = await parser.parse(files) logger.info(`found ${streams.count()} streams`) @@ -35,8 +46,8 @@ async function main() { logger.info('removing wrong id...') streams = streams.map((stream: Stream) => { - if (groupedChannels.missing(stream.channel)) { - stream.channel = '' + if (!stream.channel || channelsGroupedById.missing(stream.channel.id)) { + stream.id = '' } return stream @@ -46,22 +57,22 @@ async function main() { streams = streams.orderBy( [ (stream: Stream) => stream.name, - (stream: Stream) => parseInt(stream.quality.replace('p', '')), - (stream: Stream) => stream.label, + (stream: Stream) => stream.getVerticalResolution(), + (stream: Stream) => stream.getLabel(), (stream: Stream) => stream.url ], ['asc', 'desc', 'asc', 'asc'] ) logger.info('saving...') - const groupedStreams = streams.groupBy((stream: Stream) => stream.filepath) + const groupedStreams = streams.groupBy((stream: Stream) => stream.getFilepath()) for (let filepath of groupedStreams.keys()) { const streams = groupedStreams.get(filepath) || [] if (!streams.length) return const playlist = new Playlist(streams, { public: false }) - await storage.save(filepath, playlist.toString()) + await streamsStorage.save(filepath, playlist.toString()) } } diff --git a/scripts/commands/playlist/generate.ts b/scripts/commands/playlist/generate.ts index bab7839fd..7acbbba4b 100644 --- a/scripts/commands/playlist/generate.ts +++ b/scripts/commands/playlist/generate.ts @@ -1,14 +1,23 @@ -import { Logger, Storage, Collection, File } from '@freearhey/core' +import { Logger, Storage, Collection } from '@freearhey/core' import { PlaylistParser } from '../../core' -import { Stream, Category, Channel, Language, Country, Region, Subdivision } from '../../models' -import _ from 'lodash' +import { + Stream, + Category, + Channel, + Language, + Country, + Region, + Subdivision, + Feed, + Timezone +} from '../../models' +import { uniqueId } from 'lodash' import { CategoriesGenerator, CountriesGenerator, LanguagesGenerator, RegionsGenerator, IndexGenerator, - IndexNsfwGenerator, IndexCategoryGenerator, IndexCountryGenerator, IndexLanguageGenerator, @@ -19,123 +28,136 @@ import { DATA_DIR, LOGS_DIR, STREAMS_DIR } from '../../constants' async function main() { const logger = new Logger() const dataStorage = new Storage(DATA_DIR) - - logger.info('loading data from api...') - const channelsContent = await dataStorage.json('channels.json') - const channels = new Collection(channelsContent).map(data => new Channel(data)) - const categoriesContent = await dataStorage.json('categories.json') - const categories = new Collection(categoriesContent).map(data => new Category(data)) - const countriesContent = await dataStorage.json('countries.json') - const countries = new Collection(countriesContent).map(data => new Country(data)) - const languagesContent = await dataStorage.json('languages.json') - const languages = new Collection(languagesContent).map(data => new Language(data)) - const regionsContent = await dataStorage.json('regions.json') - const regions = new Collection(regionsContent).map(data => new Region(data)) - const subdivisionsContent = await dataStorage.json('subdivisions.json') - const subdivisions = new Collection(subdivisionsContent).map(data => new Subdivision(data)) - - logger.info('loading streams...') - let streams = await loadStreams({ channels, categories, languages }) - let totalStreams = streams.count() - streams = streams.uniqBy((stream: Stream) => (stream.channel || _.uniqueId()) + stream.timeshift) - logger.info(`found ${totalStreams} streams (including ${streams.count()} unique)`) - const generatorsLogger = new Logger({ stream: await new Storage(LOGS_DIR).createStream(`generators.log`) }) + logger.info('loading data from api...') + const categoriesData = await dataStorage.json('categories.json') + const countriesData = await dataStorage.json('countries.json') + const languagesData = await dataStorage.json('languages.json') + const regionsData = await dataStorage.json('regions.json') + const subdivisionsData = await dataStorage.json('subdivisions.json') + const timezonesData = await dataStorage.json('timezones.json') + const channelsData = await dataStorage.json('channels.json') + const feedsData = await dataStorage.json('feeds.json') + + logger.info('preparing data...') + const subdivisions = new Collection(subdivisionsData).map(data => new Subdivision(data)) + const subdivisionsGroupedByCode = subdivisions.keyBy( + (subdivision: Subdivision) => subdivision.code + ) + const subdivisionsGroupedByCountryCode = subdivisions.groupBy( + (subdivision: Subdivision) => subdivision.countryCode + ) + let regions = new Collection(regionsData).map(data => + new Region(data).withSubdivisions(subdivisions) + ) + const regionsGroupedByCode = regions.keyBy((region: Region) => region.code) + const categories = new Collection(categoriesData).map(data => new Category(data)) + const categoriesGroupedById = categories.keyBy((category: Category) => category.id) + const languages = new Collection(languagesData).map(data => new Language(data)) + const languagesGroupedByCode = languages.keyBy((language: Language) => language.code) + const countries = new Collection(countriesData).map(data => + new Country(data) + .withRegions(regions) + .withLanguage(languagesGroupedByCode) + .withSubdivisions(subdivisionsGroupedByCountryCode) + ) + const countriesGroupedByCode = countries.keyBy((country: Country) => country.code) + regions = regions.map((region: Region) => region.withCountries(countriesGroupedByCode)) + + const timezones = new Collection(timezonesData).map(data => + new Timezone(data).withCountries(countriesGroupedByCode) + ) + const timezonesGroupedById = timezones.keyBy((timezone: Timezone) => timezone.id) + + const channels = new Collection(channelsData).map(data => + new Channel(data) + .withCategories(categoriesGroupedById) + .withCountry(countriesGroupedByCode) + .withSubdivision(subdivisionsGroupedByCode) + ) + const channelsGroupedById = channels.keyBy((channel: Channel) => channel.id) + const feeds = new Collection(feedsData).map(data => + new Feed(data) + .withChannel(channelsGroupedById) + .withLanguages(languagesGroupedByCode) + .withTimezones(timezonesGroupedById) + .withBroadcastCountries( + countriesGroupedByCode, + regionsGroupedByCode, + subdivisionsGroupedByCode + ) + .withBroadcastRegions(regions) + .withBroadcastSubdivisions(subdivisionsGroupedByCode) + ) + const feedsGroupedByChannelId = feeds.groupBy((feed: Feed) => + feed.channel ? feed.channel.id : uniqueId() + ) + + logger.info('loading streams...') + const storage = new Storage(STREAMS_DIR) + const parser = new PlaylistParser({ + storage, + channelsGroupedById, + feedsGroupedByChannelId + }) + const files = await storage.list('**/*.m3u') + let streams = await parser.parse(files) + const totalStreams = streams.count() + streams = streams.uniqBy((stream: Stream) => + stream.hasId() ? stream.getChannelId() + stream.getFeedId() : uniqueId() + ) + logger.info(`found ${totalStreams} streams (including ${streams.count()} unique)`) + + logger.info('sorting streams...') + streams = streams.orderBy( + [ + (stream: Stream) => stream.getId(), + (stream: Stream) => stream.getVerticalResolution(), + (stream: Stream) => stream.getLabel() + ], + ['asc', 'asc', 'desc'] + ) + logger.info('generating categories/...') await new CategoriesGenerator({ categories, streams, logger: generatorsLogger }).generate() + logger.info('generating countries/...') await new CountriesGenerator({ countries, streams, - regions, - subdivisions, logger: generatorsLogger }).generate() + logger.info('generating languages/...') await new LanguagesGenerator({ streams, logger: generatorsLogger }).generate() + logger.info('generating regions/...') await new RegionsGenerator({ streams, regions, - subdivisions, logger: generatorsLogger }).generate() + logger.info('generating index.m3u...') await new IndexGenerator({ streams, logger: generatorsLogger }).generate() + logger.info('generating index.category.m3u...') await new IndexCategoryGenerator({ streams, logger: generatorsLogger }).generate() + logger.info('generating index.country.m3u...') await new IndexCountryGenerator({ streams, - countries, - regions, - subdivisions, logger: generatorsLogger }).generate() + logger.info('generating index.language.m3u...') await new IndexLanguageGenerator({ streams, logger: generatorsLogger }).generate() + logger.info('generating index.region.m3u...') await new IndexRegionGenerator({ streams, regions, logger: generatorsLogger }).generate() } main() - -async function loadStreams({ - channels, - categories, - languages -}: { - channels: Collection - categories: Collection - languages: Collection -}) { - const groupedChannels = channels.keyBy(channel => channel.id) - const groupedCategories = categories.keyBy(category => category.id) - const groupedLanguages = languages.keyBy(language => language.code) - - const storage = new Storage(STREAMS_DIR) - const parser = new PlaylistParser({ storage }) - const files = await storage.list('**/*.m3u') - let streams = await parser.parse(files) - - streams = streams - .orderBy( - [ - (stream: Stream) => stream.channel, - (stream: Stream) => parseInt(stream.quality.replace('p', '')), - (stream: Stream) => stream.label - ], - ['asc', 'asc', 'desc', 'asc'] - ) - .map((stream: Stream) => { - const channel: Channel | undefined = groupedChannels.get(stream.channel) - - if (channel) { - const channelCategories = channel.categories - .map((id: string) => groupedCategories.get(id)) - .filter(Boolean) - const channelLanguages = channel.languages - .map((id: string) => groupedLanguages.get(id)) - .filter(Boolean) - - stream.categories = channelCategories - stream.languages = channelLanguages - stream.broadcastArea = channel.broadcastArea - stream.isNSFW = channel.isNSFW - if (channel.logo) stream.logo = channel.logo - } else { - const file = new File(stream.filepath) - const [_, countryCode] = file.name().match(/^([a-z]{2})(_|$)/) || [null, null] - const defaultBroadcastArea = countryCode ? [`c/${countryCode.toUpperCase()}`] : [] - - stream.broadcastArea = new Collection(defaultBroadcastArea) - } - - return stream - }) - - return streams -} diff --git a/scripts/commands/playlist/test.ts b/scripts/commands/playlist/test.ts index 74c19e66c..f32f2e0c2 100644 --- a/scripts/commands/playlist/test.ts +++ b/scripts/commands/playlist/test.ts @@ -1,7 +1,7 @@ import { Logger, Storage, Collection } from '@freearhey/core' -import { ROOT_DIR, STREAMS_DIR } from '../../constants' +import { ROOT_DIR, STREAMS_DIR, DATA_DIR } from '../../constants' import { PlaylistParser, StreamTester, CliTable } from '../../core' -import { Stream } from '../../models' +import { Stream, Feed, Channel } from '../../models' import { program } from 'commander' import { eachLimit } from 'async-es' import commandExists from 'command-exists' @@ -38,8 +38,6 @@ const logger = new Logger() const tester = new StreamTester() async function main() { - const storage = new Storage(ROOT_DIR) - if (await isOffline()) { logger.error(chalk.red('Internet connection is required for the script to work')) @@ -56,9 +54,25 @@ async function main() { return } + logger.info('loading channels from api...') + const dataStorage = new Storage(DATA_DIR) + const channelsData = await dataStorage.json('channels.json') + const channels = new Collection(channelsData).map(data => new Channel(data)) + const channelsGroupedById = channels.keyBy((channel: Channel) => channel.id) + const feedsData = await dataStorage.json('feeds.json') + const feeds = new Collection(feedsData).map(data => + new Feed(data).withChannel(channelsGroupedById) + ) + const feedsGroupedByChannelId = feeds.groupBy(feed => feed.channel) + logger.info('loading streams...') - const parser = new PlaylistParser({ storage }) - const files = program.args.length ? program.args : await storage.list(`${STREAMS_DIR}/*.m3u`) + const rootStorage = new Storage(ROOT_DIR) + const parser = new PlaylistParser({ + storage: rootStorage, + channelsGroupedById, + feedsGroupedByChannelId + }) + const files = program.args.length ? program.args : await rootStorage.list(`${STREAMS_DIR}/*.m3u`) streams = await parser.parse(files) logger.info(`found ${streams.count()} streams`) @@ -89,7 +103,7 @@ async function main() { main() async function runTest(stream: Stream) { - const key = stream.filepath + stream.channel + stream.url + const key = stream.filepath + stream.getId() + stream.url results[key] = chalk.white('LOADING...') const result = await tester.test(stream) @@ -125,11 +139,11 @@ function drawTable() { ] }) streams.forEach((stream: Stream, index: number) => { - const status = results[stream.filepath + stream.channel + stream.url] || chalk.gray('PENDING') + const status = results[stream.filepath + stream.getId() + stream.url] || chalk.gray('PENDING') const row = { '': index, - 'tvg-id': stream.channel.length > 25 ? stream.channel.slice(0, 22) + '...' : stream.channel, + 'tvg-id': stream.getId().length > 25 ? stream.getId().slice(0, 22) + '...' : stream.getId(), url: stream.url.length > 100 ? stream.url.slice(0, 97) + '...' : stream.url, status } diff --git a/scripts/commands/playlist/update.ts b/scripts/commands/playlist/update.ts index 1fb56ee03..b2ac5b814 100644 --- a/scripts/commands/playlist/update.ts +++ b/scripts/commands/playlist/update.ts @@ -1,45 +1,63 @@ import { Logger, Storage, Collection, Dictionary } from '@freearhey/core' import { DATA_DIR, STREAMS_DIR } from '../../constants' import { IssueLoader, PlaylistParser } from '../../core' -import { Stream, Playlist, Channel, Issue } from '../../models' +import { Stream, Playlist, Channel, Feed, Issue } from '../../models' import validUrl from 'valid-url' +import { uniqueId } from 'lodash' let processedIssues = new Collection() -let streams: Collection -let groupedChannels: Dictionary -let issues: Collection async function main() { const logger = new Logger({ disabled: true }) const loader = new IssueLoader() logger.info('loading issues...') - issues = await loader.load() + const issues = await loader.load() logger.info('loading channels from api...') const dataStorage = new Storage(DATA_DIR) - const channelsContent = await dataStorage.json('channels.json') - groupedChannels = new Collection(channelsContent) - .map(data => new Channel(data)) - .keyBy((channel: Channel) => channel.id) + const channelsData = await dataStorage.json('channels.json') + const channels = new Collection(channelsData).map(data => new Channel(data)) + const channelsGroupedById = channels.keyBy((channel: Channel) => channel.id) + const feedsData = await dataStorage.json('feeds.json') + const feeds = new Collection(feedsData).map(data => + new Feed(data).withChannel(channelsGroupedById) + ) + const feedsGroupedByChannelId = feeds.groupBy((feed: Feed) => + feed.channel ? feed.channel.id : uniqueId() + ) logger.info('loading streams...') const streamsStorage = new Storage(STREAMS_DIR) - const parser = new PlaylistParser({ storage: streamsStorage }) + const parser = new PlaylistParser({ + storage: streamsStorage, + feedsGroupedByChannelId, + channelsGroupedById + }) const files = await streamsStorage.list('**/*.m3u') - streams = await parser.parse(files) + const streams = await parser.parse(files) logger.info('removing broken streams...') - await removeStreams(loader) + await removeStreams({ streams, issues }) logger.info('edit stream description...') - await editStreams(loader) + await editStreams({ + streams, + issues, + channelsGroupedById, + feedsGroupedByChannelId + }) logger.info('add new streams...') - await addStreams(loader) + await addStreams({ + streams, + issues, + channelsGroupedById, + feedsGroupedByChannelId + }) logger.info('saving...') - const groupedStreams = streams.groupBy((stream: Stream) => stream.filepath) + const groupedStreams = streams.groupBy((stream: Stream) => stream.getFilepath()) for (let filepath of groupedStreams.keys()) { let streams = groupedStreams.get(filepath) || [] streams = streams.filter((stream: Stream) => stream.removed === false) @@ -54,7 +72,7 @@ async function main() { main() -async function removeStreams(loader: IssueLoader) { +async function removeStreams({ streams, issues }: { streams: Collection; issues: Collection }) { const requests = issues.filter( issue => issue.labels.includes('streams:remove') && issue.labels.includes('approved') ) @@ -62,22 +80,35 @@ async function removeStreams(loader: IssueLoader) { const data = issue.data if (data.missing('brokenLinks')) return - const brokenLinks = data.getString('brokenLinks').split(/\r?\n/).filter(Boolean) + const brokenLinks = data.getString('brokenLinks') || '' let changed = false - brokenLinks.forEach(link => { - const found: Stream = streams.first((_stream: Stream) => _stream.url === link.trim()) - if (found) { - found.removed = true - changed = true - } - }) + brokenLinks + .split(/\r?\n/) + .filter(Boolean) + .forEach(link => { + const found: Stream = streams.first((_stream: Stream) => _stream.url === link.trim()) + if (found) { + found.removed = true + changed = true + } + }) if (changed) processedIssues.add(issue.number) }) } -async function editStreams(loader: IssueLoader) { +async function editStreams({ + streams, + issues, + channelsGroupedById, + feedsGroupedByChannelId +}: { + streams: Collection + issues: Collection + channelsGroupedById: Dictionary + feedsGroupedByChannelId: Dictionary +}) { const requests = issues.filter( issue => issue.labels.includes('streams:edit') && issue.labels.includes('approved') ) @@ -86,59 +117,110 @@ async function editStreams(loader: IssueLoader) { if (data.missing('streamUrl')) return - let stream = streams.first( + let stream: Stream = streams.first( (_stream: Stream) => _stream.url === data.getString('streamUrl') - ) as Stream - + ) if (!stream) return - if (data.has('channelId')) { - const channel = groupedChannels.get(data.getString('channelId')) + const streamId = data.getString('streamId') || '' + const [channelId, feedId] = streamId.split('@') - if (!channel) return - - stream.channel = data.getString('channelId') - stream.filepath = `${channel.country.toLowerCase()}.m3u` - stream.line = -1 - stream.name = channel.name + if (channelId) { + stream + .setChannelId(channelId) + .setFeedId(feedId) + .withChannel(channelsGroupedById) + .withFeed(feedsGroupedByChannelId) + .updateId() + .updateName() + .updateFilepath() } - if (data.has('label')) stream.label = data.getString('label') - if (data.has('quality')) stream.quality = data.getString('quality') - if (data.has('httpUserAgent')) stream.httpUserAgent = data.getString('httpUserAgent') - if (data.has('httpReferrer')) stream.httpReferrer = data.getString('httpReferrer') + const label = data.getString('label') || '' + const quality = data.getString('quality') || '' + const httpUserAgent = data.getString('httpUserAgent') || '' + const httpReferrer = data.getString('httpReferrer') || '' + + if (data.has('label')) stream.setLabel(label) + if (data.has('quality')) stream.setQuality(quality) + if (data.has('httpUserAgent')) stream.setHttpUserAgent(httpUserAgent) + if (data.has('httpReferrer')) stream.setHttpReferrer(httpReferrer) processedIssues.add(issue.number) }) } -async function addStreams(loader: IssueLoader) { +async function addStreams({ + streams, + issues, + channelsGroupedById, + feedsGroupedByChannelId +}: { + streams: Collection + issues: Collection + channelsGroupedById: Dictionary + feedsGroupedByChannelId: Dictionary +}) { const requests = issues.filter( issue => issue.labels.includes('streams:add') && issue.labels.includes('approved') ) requests.forEach((issue: Issue) => { const data = issue.data - if (data.missing('channelId') || data.missing('streamUrl')) return + if (data.missing('streamId') || data.missing('streamUrl')) return if (streams.includes((_stream: Stream) => _stream.url === data.getString('streamUrl'))) return - if (!validUrl.isUri(data.getString('streamUrl'))) return + const stringUrl = data.getString('streamUrl') || '' + if (!isUri(stringUrl)) return - const channel = groupedChannels.get(data.getString('channelId')) + const streamId = data.getString('streamId') || '' + const [channelId] = streamId.split('@') + const channel: Channel = channelsGroupedById.get(channelId) if (!channel) return + const label = data.getString('label') || '' + const quality = data.getString('quality') || '' + const httpUserAgent = data.getString('httpUserAgent') || '' + const httpReferrer = data.getString('httpReferrer') || '' + const stream = new Stream({ - channel: data.getString('channelId'), - url: data.getString('streamUrl'), - label: data.getString('label'), - quality: data.getString('quality'), - httpUserAgent: data.getString('httpUserAgent'), - httpReferrer: data.getString('httpReferrer'), - filepath: `${channel.country.toLowerCase()}.m3u`, + tvg: { + id: streamId, + name: '', + url: '', + logo: '', + rec: '', + shift: '' + }, + name: data.getString('channelName') || channel.name, + url: stringUrl, + group: { + title: '' + }, + http: { + 'user-agent': httpUserAgent, + referrer: httpReferrer + }, line: -1, - name: data.getString('channelName') || channel.name + raw: '', + timeshift: '', + catchup: { + type: '', + source: '', + days: '' + } }) + .withChannel(channelsGroupedById) + .withFeed(feedsGroupedByChannelId) + .setLabel(label) + .setQuality(quality) + .updateName() + .updateFilepath() streams.add(stream) processedIssues.add(issue.number) }) } + +function isUri(string: string) { + return validUrl.isUri(encodeURI(string)) +} diff --git a/scripts/commands/playlist/validate.ts b/scripts/commands/playlist/validate.ts index b0c140dcf..6296b5651 100644 --- a/scripts/commands/playlist/validate.ts +++ b/scripts/commands/playlist/validate.ts @@ -1,9 +1,9 @@ import { Logger, Storage, Collection, Dictionary } from '@freearhey/core' import { PlaylistParser } from '../../core' -import { Channel, Stream, Blocked } from '../../models' +import { Channel, Stream, Blocked, Feed } from '../../models' import { program } from 'commander' import chalk from 'chalk' -import _ from 'lodash' +import { uniqueId } from 'lodash' import { DATA_DIR, STREAMS_DIR } from '../../constants' program.argument('[filepath]', 'Path to file to validate').parse(process.argv) @@ -17,41 +17,52 @@ type LogItem = { async function main() { const logger = new Logger() - logger.info(`loading blocklist...`) + logger.info('loading data from api...') const dataStorage = new Storage(DATA_DIR) - const channelsContent = await dataStorage.json('channels.json') - const channels = new Collection(channelsContent).map(data => new Channel(data)) + const channelsData = await dataStorage.json('channels.json') + const channels = new Collection(channelsData).map(data => new Channel(data)) + const channelsGroupedById = channels.keyBy((channel: Channel) => channel.id) + const feedsData = await dataStorage.json('feeds.json') + const feeds = new Collection(feedsData).map(data => + new Feed(data).withChannel(channelsGroupedById) + ) + const feedsGroupedByChannelId = feeds.groupBy((feed: Feed) => + feed.channel ? feed.channel.id : uniqueId() + ) const blocklistContent = await dataStorage.json('blocklist.json') const blocklist = new Collection(blocklistContent).map(data => new Blocked(data)) - - logger.info(`found ${blocklist.count()} records`) + const blocklistGroupedByChannelId = blocklist.keyBy((blocked: Blocked) => blocked.channelId) logger.info('loading streams...') const streamsStorage = new Storage(STREAMS_DIR) - const parser = new PlaylistParser({ storage: streamsStorage }) + const parser = new PlaylistParser({ + storage: streamsStorage, + channelsGroupedById, + feedsGroupedByChannelId + }) const files = program.args.length ? program.args : await streamsStorage.list('**/*.m3u') const streams = await parser.parse(files) - logger.info(`found ${streams.count()} streams`) let errors = new Collection() let warnings = new Collection() - let groupedStreams = streams.groupBy((stream: Stream) => stream.filepath) - for (const filepath of groupedStreams.keys()) { - const streams = groupedStreams.get(filepath) + let streamsGroupedByFilepath = streams.groupBy((stream: Stream) => stream.getFilepath()) + for (const filepath of streamsGroupedByFilepath.keys()) { + const streams = streamsGroupedByFilepath.get(filepath) if (!streams) continue const log = new Collection() const buffer = new Dictionary() streams.forEach((stream: Stream) => { - const invalidId = - stream.channel && !channels.first((channel: Channel) => channel.id === stream.channel) - if (invalidId) { - log.add({ - type: 'warning', - line: stream.line, - message: `"${stream.channel}" is not in the database` - }) + if (stream.channelId) { + const channel = channelsGroupedById.get(stream.channelId) + if (!channel) { + log.add({ + type: 'warning', + line: stream.line, + message: `"${stream.id}" is not in the database` + }) + } } const duplicate = stream.url && buffer.has(stream.url) @@ -65,19 +76,19 @@ async function main() { buffer.set(stream.url, true) } - const blocked = blocklist.first(blocked => stream.channel === blocked.channel) + const blocked = stream.channel ? blocklistGroupedByChannelId.get(stream.channel.id) : false if (blocked) { if (blocked.reason === 'dmca') { log.add({ type: 'error', line: stream.line, - message: `"${stream.channel}" is on the blocklist due to claims of copyright holders (${blocked.ref})` + message: `"${blocked.channelId}" is on the blocklist due to claims of copyright holders (${blocked.ref})` }) } else if (blocked.reason === 'nsfw') { log.add({ type: 'error', line: stream.line, - message: `"${stream.channel}" is on the blocklist due to NSFW content (${blocked.ref})` + message: `"${blocked.channelId}" is on the blocklist due to NSFW content (${blocked.ref})` }) } } diff --git a/scripts/commands/report/create.ts b/scripts/commands/report/create.ts index 6b440547b..7584105d1 100644 --- a/scripts/commands/report/create.ts +++ b/scripts/commands/report/create.ts @@ -1,154 +1,164 @@ import { Logger, Storage, Collection, Dictionary } from '@freearhey/core' import { DATA_DIR, STREAMS_DIR } from '../../constants' import { IssueLoader, PlaylistParser } from '../../core' -import { Blocked, Channel, Issue, Stream } from '../../models' +import { Blocked, Channel, Issue, Stream, Feed } from '../../models' +import { uniqueId } from 'lodash' async function main() { const logger = new Logger() const loader = new IssueLoader() - - const storage = new Storage(DATA_DIR) + let report = new Collection() logger.info('loading issues...') const issues = await loader.load() + logger.info('loading data from api...') + const dataStorage = new Storage(DATA_DIR) + const channelsData = await dataStorage.json('channels.json') + const channels = new Collection(channelsData).map(data => new Channel(data)) + const channelsGroupedById = channels.keyBy((channel: Channel) => channel.id) + const feedsData = await dataStorage.json('feeds.json') + const feeds = new Collection(feedsData).map(data => + new Feed(data).withChannel(channelsGroupedById) + ) + const feedsGroupedByChannelId = feeds.groupBy((feed: Feed) => + feed.channel ? feed.channel.id : uniqueId() + ) + const blocklistContent = await dataStorage.json('blocklist.json') + const blocklist = new Collection(blocklistContent).map(data => new Blocked(data)) + const blocklistGroupedByChannelId = blocklist.keyBy((blocked: Blocked) => blocked.channelId) + logger.info('loading streams...') const streamsStorage = new Storage(STREAMS_DIR) - const parser = new PlaylistParser({ storage: streamsStorage }) + const parser = new PlaylistParser({ + storage: streamsStorage, + channelsGroupedById, + feedsGroupedByChannelId + }) const files = await streamsStorage.list('**/*.m3u') const streams = await parser.parse(files) const streamsGroupedByUrl = streams.groupBy((stream: Stream) => stream.url) - const streamsGroupedByChannel = streams.groupBy((stream: Stream) => stream.channel) - - logger.info('loading channels from api...') - const channelsContent = await storage.json('channels.json') - const channelsGroupedById = new Collection(channelsContent) - .map(data => new Channel(data)) - .groupBy((channel: Channel) => channel.id) - - logger.info('loading blocklist from api...') - const blocklistContent = await storage.json('blocklist.json') - const blocklistGroupedByChannel = new Collection(blocklistContent) - .map(data => new Blocked(data)) - .groupBy((blocked: Blocked) => blocked.channel) - - let report = new Collection() - - logger.info('checking streams:add requests...') - const addRequests = issues.filter(issue => issue.labels.includes('streams:add')) - const addRequestsBuffer = new Dictionary() - addRequests.forEach((issue: Issue) => { - const channelId = issue.data.getString('channelId') || undefined - const streamUrl = issue.data.getString('streamUrl') - - const result = new Dictionary({ - issueNumber: issue.number, - type: 'streams:add', - channelId, - streamUrl, - status: 'pending' - }) - - if (!channelId) result.set('status', 'missing_id') - else if (!streamUrl) result.set('status', 'missing_link') - else if (blocklistGroupedByChannel.has(channelId)) result.set('status', 'blocked') - else if (channelsGroupedById.missing(channelId)) result.set('status', 'wrong_id') - else if (streamsGroupedByUrl.has(streamUrl)) result.set('status', 'on_playlist') - else if (addRequestsBuffer.has(streamUrl)) result.set('status', 'duplicate') - else result.set('status', 'pending') - - addRequestsBuffer.set(streamUrl, true) - - report.add(result.data()) - }) - - logger.info('checking streams:edit requests...') - const editRequests = issues.filter(issue => issue.labels.find(label => label === 'streams:edit')) - editRequests.forEach((issue: Issue) => { - const channelId = issue.data.getString('channelId') || undefined - const streamUrl = issue.data.getString('streamUrl') || undefined - - const result = new Dictionary({ - issueNumber: issue.number, - type: 'streams:edit', - channelId, - streamUrl, - status: 'pending' - }) - - if (!streamUrl) result.set('status', 'missing_link') - else if (streamsGroupedByUrl.missing(streamUrl)) result.set('status', 'invalid_link') - else if (channelId && channelsGroupedById.missing(channelId)) result.set('status', 'invalid_id') - - report.add(result.data()) - }) + const streamsGroupedByChannelId = streams.groupBy((stream: Stream) => stream.channelId) logger.info('checking broken streams reports...') const brokenStreamReports = issues.filter(issue => - issue.labels.find(label => label === 'broken stream') + issue.labels.find((label: string) => label === 'broken stream') ) brokenStreamReports.forEach((issue: Issue) => { const brokenLinks = issue.data.getArray('brokenLinks') || [] if (!brokenLinks.length) { - const result = new Dictionary({ + const result = { issueNumber: issue.number, type: 'broken stream', - channelId: undefined, + streamId: undefined, streamUrl: undefined, status: 'missing_link' - }) + } - report.add(result.data()) + report.add(result) } else { for (const streamUrl of brokenLinks) { - const result = new Dictionary({ + const result = { issueNumber: issue.number, type: 'broken stream', - channelId: undefined, - streamUrl: undefined, + streamId: undefined, + streamUrl: truncate(streamUrl), status: 'pending' - }) - - if (streamsGroupedByUrl.missing(streamUrl)) { - result.set('streamUrl', streamUrl) - result.set('status', 'wrong_link') } - report.add(result.data()) + if (streamsGroupedByUrl.missing(streamUrl)) { + result.status = 'wrong_link' + } + + report.add(result) } } }) + logger.info('checking streams:add requests...') + const addRequests = issues.filter(issue => issue.labels.includes('streams:add')) + const addRequestsBuffer = new Dictionary() + addRequests.forEach((issue: Issue) => { + const streamId = issue.data.getString('streamId') || '' + const streamUrl = issue.data.getString('streamUrl') || '' + const [channelId] = streamId.split('@') + + const result = { + issueNumber: issue.number, + type: 'streams:add', + streamId: streamId || undefined, + streamUrl: truncate(streamUrl), + status: 'pending' + } + + if (!channelId) result.status = 'missing_id' + else if (!streamUrl) result.status = 'missing_link' + else if (blocklistGroupedByChannelId.has(channelId)) result.status = 'blocked' + else if (channelsGroupedById.missing(channelId)) result.status = 'wrong_id' + else if (streamsGroupedByUrl.has(streamUrl)) result.status = 'on_playlist' + else if (addRequestsBuffer.has(streamUrl)) result.status = 'duplicate' + else result.status = 'pending' + + addRequestsBuffer.set(streamUrl, true) + + report.add(result) + }) + + logger.info('checking streams:edit requests...') + const editRequests = issues.filter(issue => + issue.labels.find((label: string) => label === 'streams:edit') + ) + editRequests.forEach((issue: Issue) => { + const streamId = issue.data.getString('streamId') || '' + const streamUrl = issue.data.getString('streamUrl') || '' + const [channelId] = streamId.split('@') + + const result = { + issueNumber: issue.number, + type: 'streams:edit', + streamId: streamId || undefined, + streamUrl: truncate(streamUrl), + status: 'pending' + } + + if (!streamUrl) result.status = 'missing_link' + else if (streamsGroupedByUrl.missing(streamUrl)) result.status = 'invalid_link' + else if (channelId && channelsGroupedById.missing(channelId)) result.status = 'invalid_id' + + report.add(result) + }) + logger.info('checking channel search requests...') const channelSearchRequests = issues.filter(issue => - issue.labels.find(label => label === 'channel search') + issue.labels.find((label: string) => label === 'channel search') ) const channelSearchRequestsBuffer = new Dictionary() channelSearchRequests.forEach((issue: Issue) => { - const channelId = issue.data.getString('channelId') + const streamId = issue.data.getString('channelId') || '' + const [channelId] = streamId.split('@') - const result = new Dictionary({ + const result = { issueNumber: issue.number, type: 'channel search', - channelId, + streamId: streamId || undefined, streamUrl: undefined, status: 'pending' - }) + } - if (!channelId) result.set('status', 'missing_id') - else if (channelsGroupedById.missing(channelId)) result.set('status', 'invalid_id') - else if (channelSearchRequestsBuffer.has(channelId)) result.set('status', 'duplicate') - else if (blocklistGroupedByChannel.has(channelId)) result.set('status', 'blocked') - else if (streamsGroupedByChannel.has(channelId)) result.set('status', 'fulfilled') + if (!channelId) result.status = 'missing_id' + else if (channelsGroupedById.missing(channelId)) result.status = 'invalid_id' + else if (channelSearchRequestsBuffer.has(channelId)) result.status = 'duplicate' + else if (blocklistGroupedByChannelId.has(channelId)) result.status = 'blocked' + else if (streamsGroupedByChannelId.has(channelId)) result.status = 'fulfilled' else { const channelData = channelsGroupedById.get(channelId) - if (channelData.length && channelData[0].closed) result.set('status', 'closed') + if (channelData.length && channelData[0].closed) result.status = 'closed' } channelSearchRequestsBuffer.set(channelId, true) - report.add(result.data()) + report.add(result) }) report = report.orderBy(item => item.issueNumber).filter(item => item.status !== 'pending') @@ -157,3 +167,10 @@ async function main() { } main() + +function truncate(string: string, limit: number = 100) { + if (!string) return string + if (string.length < limit) return string + + return string.slice(0, limit) + '...' +} diff --git a/scripts/core/apiClient.ts b/scripts/core/apiClient.ts index 66fa28a87..3b6291908 100644 --- a/scripts/core/apiClient.ts +++ b/scripts/core/apiClient.ts @@ -41,7 +41,7 @@ export class ApiClient { } async download(filename: string) { - const stream = await this.storage.createStream(`/temp/data/${filename}`) + const stream = await this.storage.createStream(`temp/data/${filename}`) const bar = this.progressBar.create(0, 0, { filename }) diff --git a/scripts/core/cliTable.ts b/scripts/core/cliTable.ts index 4d1fe3253..61d9e608e 100644 --- a/scripts/core/cliTable.ts +++ b/scripts/core/cliTable.ts @@ -1,9 +1,10 @@ import { Table } from 'console-table-printer' +import { ComplexOptions } from 'console-table-printer/dist/src/models/external-table' export class CliTable { table: Table - constructor(options?) { + constructor(options?: ComplexOptions | string[]) { this.table = new Table(options) } diff --git a/scripts/core/issueData.ts b/scripts/core/issueData.ts index ee8918b65..61123f4aa 100644 --- a/scripts/core/issueData.ts +++ b/scripts/core/issueData.ts @@ -18,7 +18,7 @@ export class IssueData { return Boolean(this._data.get(key)) } - getString(key: string): string { + getString(key: string): string | undefined { const deleteSymbol = '~' return this._data.get(key) === deleteSymbol ? '' : this._data.get(key) diff --git a/scripts/core/issueLoader.ts b/scripts/core/issueLoader.ts index 535e2e744..1594eeb37 100644 --- a/scripts/core/issueLoader.ts +++ b/scripts/core/issueLoader.ts @@ -16,7 +16,7 @@ export class IssueLoader { } let issues: object[] = [] if (TESTING) { - issues = (await import('../../tests/__data__/input/issues/all.js')).default + issues = (await import('../../tests/__data__/input/playlist_update/issues.js')).default } else { issues = await octokit.paginate(octokit.rest.issues.listForRepo, { owner: OWNER, diff --git a/scripts/core/issueParser.ts b/scripts/core/issueParser.ts index e43f505d0..61e61c6d9 100644 --- a/scripts/core/issueParser.ts +++ b/scripts/core/issueParser.ts @@ -3,11 +3,10 @@ import { Issue } from '../models' import { IssueData } from './issueData' const FIELDS = new Dictionary({ + 'Stream ID': 'streamId', 'Channel ID': 'channelId', - 'Channel ID (required)': 'channelId', + 'Feed ID': 'feedId', 'Stream URL': 'streamUrl', - 'Stream URL (optional)': 'streamUrl', - 'Stream URL (required)': 'streamUrl', 'Broken Link': 'brokenLinks', 'Broken Links': 'brokenLinks', Label: 'label', @@ -18,8 +17,7 @@ const FIELDS = new Dictionary({ 'HTTP Referrer': 'httpReferrer', 'What happened to the stream?': 'reason', Reason: 'reason', - Notes: 'notes', - 'Notes (optional)': 'notes' + Notes: 'notes' }) export class IssueParser { @@ -30,7 +28,7 @@ export class IssueParser { fields.forEach((field: string) => { const parsed = typeof field === 'string' ? field.split(/\r?\n/).filter(Boolean) : [] let _label = parsed.shift() - _label = _label ? _label.trim() : '' + _label = _label ? _label.replace(/ \(optional\)| \(required\)/, '').trim() : '' let _value = parsed.join('\r\n') _value = _value ? _value.trim() : '' diff --git a/scripts/core/logParser.ts b/scripts/core/logParser.ts index 322858e0c..fb888f6b5 100644 --- a/scripts/core/logParser.ts +++ b/scripts/core/logParser.ts @@ -1,4 +1,5 @@ export type LogItem = { + type: string filepath: string count: number } diff --git a/scripts/core/playlistParser.ts b/scripts/core/playlistParser.ts index d615f5c6c..b28876663 100644 --- a/scripts/core/playlistParser.ts +++ b/scripts/core/playlistParser.ts @@ -1,12 +1,22 @@ -import { Collection, Storage } from '@freearhey/core' +import { Collection, Storage, Dictionary } from '@freearhey/core' import parser from 'iptv-playlist-parser' import { Stream } from '../models' +type PlaylistPareserProps = { + storage: Storage + feedsGroupedByChannelId: Dictionary + channelsGroupedById: Dictionary +} + export class PlaylistParser { storage: Storage + feedsGroupedByChannelId: Dictionary + channelsGroupedById: Dictionary - constructor({ storage }: { storage: Storage }) { + constructor({ storage, feedsGroupedByChannelId, channelsGroupedById }: PlaylistPareserProps) { this.storage = storage + this.feedsGroupedByChannelId = feedsGroupedByChannelId + this.channelsGroupedById = channelsGroupedById } async parse(files: string[]): Promise { @@ -21,41 +31,18 @@ export class PlaylistParser { } async parseFile(filepath: string): Promise { - const streams = new Collection() - const content = await this.storage.load(filepath) const parsed: parser.Playlist = parser.parse(content) - parsed.items.forEach((item: parser.PlaylistItem) => { - const { name, label, quality } = parseTitle(item.name) - const stream = new Stream({ - channel: item.tvg.id, - name, - label, - quality, - filepath, - line: item.line, - url: item.url, - httpReferrer: item.http.referrer, - httpUserAgent: item.http['user-agent'] - }) + const streams = new Collection(parsed.items).map((data: parser.PlaylistItem) => { + const stream = new Stream(data) + .withFeed(this.feedsGroupedByChannelId) + .withChannel(this.channelsGroupedById) + .setFilepath(filepath) - streams.add(stream) + return stream }) return streams } } - -function parseTitle(title: string): { name: string; label: string; quality: string } { - const [, label] = title.match(/ \[(.*)\]$/) || [null, ''] - title = title.replace(new RegExp(` \\[${escapeRegExp(label)}\\]$`), '') - const [, quality] = title.match(/ \(([0-9]+p)\)$/) || [null, ''] - title = title.replace(new RegExp(` \\(${quality}\\)$`), '') - - return { name: title, label, quality } -} - -function escapeRegExp(text) { - return text.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&') -} diff --git a/scripts/core/streamTester.ts b/scripts/core/streamTester.ts index d3f772f97..89c44de74 100644 --- a/scripts/core/streamTester.ts +++ b/scripts/core/streamTester.ts @@ -11,15 +11,15 @@ export class StreamTester { async test(stream: Stream) { if (TESTING) { - const results = (await import('../../tests/__data__/input/test_results/all.js')).default + const results = (await import('../../tests/__data__/input/playlist_test/results.js')).default return results[stream.url] } else { return this.checker.checkStream({ url: stream.url, http: { - referrer: stream.httpReferrer, - 'user-agent': stream.httpUserAgent + referrer: stream.getHttpReferrer(), + 'user-agent': stream.getHttpUserAgent() } }) } diff --git a/scripts/generators/categoriesGenerator.ts b/scripts/generators/categoriesGenerator.ts index 672af3d90..cd20b6ea4 100644 --- a/scripts/generators/categoriesGenerator.ts +++ b/scripts/generators/categoriesGenerator.ts @@ -29,11 +29,7 @@ export class CategoriesGenerator implements Generator { const categoryStreams = streams .filter((stream: Stream) => stream.hasCategory(category)) .map((stream: Stream) => { - const streamCategories = stream.categories - .map((category: Category) => category.name) - .sort() - const groupTitle = stream.categories ? streamCategories.join(';') : '' - stream.groupTitle = groupTitle + stream.groupTitle = stream.getCategoryNames().join(';') return stream }) @@ -41,13 +37,17 @@ export class CategoriesGenerator implements Generator { const playlist = new Playlist(categoryStreams, { public: true }) const filepath = `categories/${category.id}.m3u` await this.storage.save(filepath, playlist.toString()) - this.logger.info(JSON.stringify({ filepath, count: playlist.streams.count() })) + this.logger.info( + JSON.stringify({ type: 'category', filepath, count: playlist.streams.count() }) + ) }) - const undefinedStreams = streams.filter((stream: Stream) => stream.noCategories()) + const undefinedStreams = streams.filter((stream: Stream) => !stream.hasCategories()) const playlist = new Playlist(undefinedStreams, { public: true }) const filepath = 'categories/undefined.m3u' await this.storage.save(filepath, playlist.toString()) - this.logger.info(JSON.stringify({ filepath, count: playlist.streams.count() })) + this.logger.info( + JSON.stringify({ type: 'category', filepath, count: playlist.streams.count() }) + ) } } diff --git a/scripts/generators/countriesGenerator.ts b/scripts/generators/countriesGenerator.ts index 0b5bc8c11..c935da5a4 100644 --- a/scripts/generators/countriesGenerator.ts +++ b/scripts/generators/countriesGenerator.ts @@ -1,12 +1,10 @@ import { Generator } from './generator' import { Collection, Storage, Logger } from '@freearhey/core' -import { Country, Region, Subdivision, Stream, Playlist } from '../models' +import { Country, Subdivision, Stream, Playlist } from '../models' import { PUBLIC_DIR } from '../constants' type CountriesGeneratorProps = { streams: Collection - regions: Collection - subdivisions: Collection countries: Collection logger: Logger } @@ -14,55 +12,37 @@ type CountriesGeneratorProps = { export class CountriesGenerator implements Generator { streams: Collection countries: Collection - regions: Collection - subdivisions: Collection storage: Storage logger: Logger - constructor({ streams, countries, regions, subdivisions, logger }: CountriesGeneratorProps) { + constructor({ streams, countries, logger }: CountriesGeneratorProps) { this.streams = streams this.countries = countries - this.regions = regions - this.subdivisions = subdivisions this.storage = new Storage(PUBLIC_DIR) this.logger = logger } async generate(): Promise { const streams = this.streams - .orderBy([stream => stream.getTitle()]) + .orderBy((stream: Stream) => stream.getTitle()) .filter((stream: Stream) => stream.isSFW()) - const regions = this.regions.filter((region: Region) => region.code !== 'INT') this.countries.forEach(async (country: Country) => { - const countrySubdivisions = this.subdivisions.filter( - (subdivision: Subdivision) => subdivision.country === country.code + const countryStreams = streams.filter((stream: Stream) => + stream.isBroadcastInCountry(country) ) - - const countrySubdivisionsCodes = countrySubdivisions.map( - (subdivision: Subdivision) => `s/${subdivision.code}` - ) - - const countryAreaCodes = regions - .filter((region: Region) => region.countries.includes(country.code)) - .map((region: Region) => `r/${region.code}`) - .concat(countrySubdivisionsCodes) - .add(`c/${country.code}`) - - const countryStreams = streams.filter(stream => - stream.broadcastArea.intersects(countryAreaCodes) - ) - if (countryStreams.isEmpty()) return const playlist = new Playlist(countryStreams, { public: true }) const filepath = `countries/${country.code.toLowerCase()}.m3u` await this.storage.save(filepath, playlist.toString()) - this.logger.info(JSON.stringify({ filepath, count: playlist.streams.count() })) + this.logger.info( + JSON.stringify({ type: 'country', filepath, count: playlist.streams.count() }) + ) - countrySubdivisions.forEach(async (subdivision: Subdivision) => { - const subdivisionStreams = streams.filter(stream => - stream.broadcastArea.includes(`s/${subdivision.code}`) + country.getSubdivisions().forEach(async (subdivision: Subdivision) => { + const subdivisionStreams = streams.filter((stream: Stream) => + stream.isBroadcastInSubdivision(subdivision) ) if (subdivisionStreams.isEmpty()) return @@ -70,16 +50,22 @@ export class CountriesGenerator implements Generator { const playlist = new Playlist(subdivisionStreams, { public: true }) const filepath = `subdivisions/${subdivision.code.toLowerCase()}.m3u` await this.storage.save(filepath, playlist.toString()) - this.logger.info(JSON.stringify({ filepath, count: playlist.streams.count() })) + this.logger.info( + JSON.stringify({ type: 'subdivision', filepath, count: playlist.streams.count() }) + ) }) }) - const internationalStreams = streams.filter(stream => stream.isInternational()) - if (internationalStreams.notEmpty()) { - const playlist = new Playlist(internationalStreams, { public: true }) - const filepath = 'countries/int.m3u' - await this.storage.save(filepath, playlist.toString()) - this.logger.info(JSON.stringify({ filepath, count: playlist.streams.count() })) - } + const undefinedStreams = streams.filter((stream: Stream) => !stream.hasBroadcastArea()) + const undefinedPlaylist = new Playlist(undefinedStreams, { public: true }) + const undefinedFilepath = 'countries/undefined.m3u' + await this.storage.save(undefinedFilepath, undefinedPlaylist.toString()) + this.logger.info( + JSON.stringify({ + type: 'country', + filepath: undefinedFilepath, + count: undefinedPlaylist.streams.count() + }) + ) } } diff --git a/scripts/generators/indexCategoryGenerator.ts b/scripts/generators/indexCategoryGenerator.ts index 8fd5f2cbf..529ee8336 100644 --- a/scripts/generators/indexCategoryGenerator.ts +++ b/scripts/generators/indexCategoryGenerator.ts @@ -26,14 +26,14 @@ export class IndexCategoryGenerator implements Generator { let groupedStreams = new Collection() streams.forEach((stream: Stream) => { - if (stream.noCategories()) { + if (!stream.hasCategories()) { const streamClone = stream.clone() streamClone.groupTitle = 'Undefined' groupedStreams.add(streamClone) return } - stream.categories.forEach((category: Category) => { + stream.getCategories().forEach((category: Category) => { const streamClone = stream.clone() streamClone.groupTitle = category.name groupedStreams.push(streamClone) @@ -48,6 +48,6 @@ export class IndexCategoryGenerator implements Generator { const playlist = new Playlist(groupedStreams, { public: true }) const filepath = 'index.category.m3u' await this.storage.save(filepath, playlist.toString()) - this.logger.info(JSON.stringify({ filepath, count: playlist.streams.count() })) + this.logger.info(JSON.stringify({ type: 'index', filepath, count: playlist.streams.count() })) } } diff --git a/scripts/generators/indexCountryGenerator.ts b/scripts/generators/indexCountryGenerator.ts index dcdb214f8..c65a43734 100644 --- a/scripts/generators/indexCountryGenerator.ts +++ b/scripts/generators/indexCountryGenerator.ts @@ -1,29 +1,20 @@ import { Generator } from './generator' import { Collection, Storage, Logger } from '@freearhey/core' -import { Stream, Playlist, Country, Subdivision, Region } from '../models' +import { Stream, Playlist, Country } from '../models' import { PUBLIC_DIR } from '../constants' type IndexCountryGeneratorProps = { streams: Collection - regions: Collection - countries: Collection - subdivisions: Collection logger: Logger } export class IndexCountryGenerator implements Generator { streams: Collection - countries: Collection - regions: Collection - subdivisions: Collection storage: Storage logger: Logger - constructor({ streams, regions, countries, subdivisions, logger }: IndexCountryGeneratorProps) { + constructor({ streams, logger }: IndexCountryGeneratorProps) { this.streams = streams - this.countries = countries - this.regions = regions - this.subdivisions = subdivisions this.storage = new Storage(PUBLIC_DIR) this.logger = logger } @@ -32,10 +23,10 @@ export class IndexCountryGenerator implements Generator { let groupedStreams = new Collection() this.streams - .orderBy(stream => stream.getTitle()) - .filter(stream => stream.isSFW()) - .forEach(stream => { - if (stream.noBroadcastArea()) { + .orderBy((stream: Stream) => stream.getTitle()) + .filter((stream: Stream) => stream.isSFW()) + .forEach((stream: Stream) => { + if (!stream.hasBroadcastArea()) { const streamClone = stream.clone() streamClone.groupTitle = 'Undefined' groupedStreams.add(streamClone) @@ -48,7 +39,7 @@ export class IndexCountryGenerator implements Generator { groupedStreams.add(streamClone) } - this.getStreamBroadcastCountries(stream).forEach((country: Country) => { + stream.getBroadcastCountries().forEach((country: Country) => { const streamClone = stream.clone() streamClone.groupTitle = country.name groupedStreams.add(streamClone) @@ -65,40 +56,6 @@ export class IndexCountryGenerator implements Generator { const playlist = new Playlist(groupedStreams, { public: true }) const filepath = 'index.country.m3u' await this.storage.save(filepath, playlist.toString()) - this.logger.info(JSON.stringify({ filepath, count: playlist.streams.count() })) - } - - getStreamBroadcastCountries(stream: Stream) { - const groupedRegions = this.regions.keyBy((region: Region) => region.code) - const groupedCountries = this.countries.keyBy((country: Country) => country.code) - const groupedSubdivisions = this.subdivisions.keyBy( - (subdivision: Subdivision) => subdivision.code - ) - - let broadcastCountries = new Collection() - - stream.broadcastArea.forEach(broadcastAreaCode => { - const [type, code] = broadcastAreaCode.split('/') - switch (type) { - case 'c': - broadcastCountries.add(code) - break - case 'r': - if (code !== 'INT' && groupedRegions.has(code)) { - broadcastCountries = broadcastCountries.concat(groupedRegions.get(code).countries) - } - break - case 's': - if (groupedSubdivisions.has(code)) { - broadcastCountries.add(groupedSubdivisions.get(code).country) - } - break - } - }) - - return broadcastCountries - .uniq() - .map(code => groupedCountries.get(code)) - .filter(Boolean) + this.logger.info(JSON.stringify({ type: 'index', filepath, count: playlist.streams.count() })) } } diff --git a/scripts/generators/indexGenerator.ts b/scripts/generators/indexGenerator.ts index b4389ff5f..fafda061f 100644 --- a/scripts/generators/indexGenerator.ts +++ b/scripts/generators/indexGenerator.ts @@ -27,6 +27,6 @@ export class IndexGenerator implements Generator { const playlist = new Playlist(sfwStreams, { public: true }) const filepath = 'index.m3u' await this.storage.save(filepath, playlist.toString()) - this.logger.info(JSON.stringify({ filepath, count: playlist.streams.count() })) + this.logger.info(JSON.stringify({ type: 'index', filepath, count: playlist.streams.count() })) } } diff --git a/scripts/generators/indexLanguageGenerator.ts b/scripts/generators/indexLanguageGenerator.ts index a64ffaada..1116eb740 100644 --- a/scripts/generators/indexLanguageGenerator.ts +++ b/scripts/generators/indexLanguageGenerator.ts @@ -22,17 +22,17 @@ export class IndexLanguageGenerator implements Generator { async generate(): Promise { let groupedStreams = new Collection() this.streams - .orderBy(stream => stream.getTitle()) - .filter(stream => stream.isSFW()) - .forEach(stream => { - if (stream.noLanguages()) { + .orderBy((stream: Stream) => stream.getTitle()) + .filter((stream: Stream) => stream.isSFW()) + .forEach((stream: Stream) => { + if (!stream.hasLanguages()) { const streamClone = stream.clone() streamClone.groupTitle = 'Undefined' groupedStreams.add(streamClone) return } - stream.languages.forEach((language: Language) => { + stream.getLanguages().forEach((language: Language) => { const streamClone = stream.clone() streamClone.groupTitle = language.name groupedStreams.add(streamClone) @@ -47,6 +47,6 @@ export class IndexLanguageGenerator implements Generator { const playlist = new Playlist(groupedStreams, { public: true }) const filepath = 'index.language.m3u' await this.storage.save(filepath, playlist.toString()) - this.logger.info(JSON.stringify({ filepath, count: playlist.streams.count() })) + this.logger.info(JSON.stringify({ type: 'index', filepath, count: playlist.streams.count() })) } } diff --git a/scripts/generators/indexNsfwGenerator.ts b/scripts/generators/indexNsfwGenerator.ts index a1f0a8062..a89cf0a10 100644 --- a/scripts/generators/indexNsfwGenerator.ts +++ b/scripts/generators/indexNsfwGenerator.ts @@ -25,6 +25,6 @@ export class IndexNsfwGenerator implements Generator { const playlist = new Playlist(allStreams, { public: true }) const filepath = 'index.nsfw.m3u' await this.storage.save(filepath, playlist.toString()) - this.logger.info(JSON.stringify({ filepath, count: playlist.streams.count() })) + this.logger.info(JSON.stringify({ type: 'index', filepath, count: playlist.streams.count() })) } } diff --git a/scripts/generators/indexRegionGenerator.ts b/scripts/generators/indexRegionGenerator.ts index 55affcaa3..94537c9af 100644 --- a/scripts/generators/indexRegionGenerator.ts +++ b/scripts/generators/indexRegionGenerator.ts @@ -28,14 +28,21 @@ export class IndexRegionGenerator implements Generator { .orderBy((stream: Stream) => stream.getTitle()) .filter((stream: Stream) => stream.isSFW()) .forEach((stream: Stream) => { - if (stream.noBroadcastArea()) { + if (stream.isInternational()) { + const streamClone = stream.clone() + streamClone.groupTitle = 'International' + groupedStreams.push(streamClone) + return + } + + if (!stream.hasBroadcastArea()) { const streamClone = stream.clone() streamClone.groupTitle = 'Undefined' groupedStreams.push(streamClone) return } - this.getStreamRegions(stream).forEach((region: Region) => { + stream.getBroadcastRegions().forEach((region: Region) => { const streamClone = stream.clone() streamClone.groupTitle = region.name groupedStreams.push(streamClone) @@ -43,41 +50,14 @@ export class IndexRegionGenerator implements Generator { }) groupedStreams = groupedStreams.orderBy((stream: Stream) => { - if (stream.groupTitle === 'Undefined') return 'ZZ' + if (stream.groupTitle === 'International') return 'ZZ' + if (stream.groupTitle === 'Undefined') return 'ZZZ' return stream.groupTitle }) const playlist = new Playlist(groupedStreams, { public: true }) const filepath = 'index.region.m3u' await this.storage.save(filepath, playlist.toString()) - this.logger.info(JSON.stringify({ filepath, count: playlist.streams.count() })) - } - - getStreamRegions(stream: Stream) { - let streamRegions = new Collection() - stream.broadcastArea.forEach(broadcastAreaCode => { - const [type, code] = broadcastAreaCode.split('/') - switch (type) { - case 'r': - const groupedRegions = this.regions.keyBy((region: Region) => region.code) - streamRegions.add(groupedRegions.get(code)) - break - case 's': - const [countryCode] = code.split('-') - const subdivisionRegions = this.regions.filter((region: Region) => - region.countries.includes(countryCode) - ) - streamRegions = streamRegions.concat(subdivisionRegions) - break - case 'c': - const countryRegions = this.regions.filter((region: Region) => - region.countries.includes(code) - ) - streamRegions = streamRegions.concat(countryRegions) - break - } - }) - - return streamRegions + this.logger.info(JSON.stringify({ type: 'index', filepath, count: playlist.streams.count() })) } } diff --git a/scripts/generators/languagesGenerator.ts b/scripts/generators/languagesGenerator.ts index d40d53d9b..114fcddb2 100644 --- a/scripts/generators/languagesGenerator.ts +++ b/scripts/generators/languagesGenerator.ts @@ -18,35 +18,40 @@ export class LanguagesGenerator implements Generator { async generate(): Promise { const streams = this.streams - .orderBy(stream => stream.getTitle()) - .filter(stream => stream.isSFW()) + .orderBy((stream: Stream) => stream.getTitle()) + .filter((stream: Stream) => stream.isSFW()) let languages = new Collection() streams.forEach((stream: Stream) => { - languages = languages.concat(stream.languages) + languages = languages.concat(stream.getLanguages()) }) languages + .filter(Boolean) .uniqBy((language: Language) => language.code) .orderBy((language: Language) => language.name) .forEach(async (language: Language) => { - const languageStreams = streams.filter(stream => stream.hasLanguage(language)) + const languageStreams = streams.filter((stream: Stream) => stream.hasLanguage(language)) if (languageStreams.isEmpty()) return const playlist = new Playlist(languageStreams, { public: true }) const filepath = `languages/${language.code}.m3u` await this.storage.save(filepath, playlist.toString()) - this.logger.info(JSON.stringify({ filepath, count: playlist.streams.count() })) + this.logger.info( + JSON.stringify({ type: 'language', filepath, count: playlist.streams.count() }) + ) }) - const undefinedStreams = streams.filter(stream => stream.noLanguages()) + const undefinedStreams = streams.filter((stream: Stream) => !stream.hasLanguages()) if (undefinedStreams.isEmpty()) return const playlist = new Playlist(undefinedStreams, { public: true }) const filepath = 'languages/undefined.m3u' await this.storage.save(filepath, playlist.toString()) - this.logger.info(JSON.stringify({ filepath, count: playlist.streams.count() })) + this.logger.info( + JSON.stringify({ type: 'language', filepath, count: playlist.streams.count() }) + ) } } diff --git a/scripts/generators/regionsGenerator.ts b/scripts/generators/regionsGenerator.ts index 9c29ee3a2..fb0a5d688 100644 --- a/scripts/generators/regionsGenerator.ts +++ b/scripts/generators/regionsGenerator.ts @@ -1,53 +1,61 @@ import { Generator } from './generator' import { Collection, Storage, Logger } from '@freearhey/core' -import { Playlist, Subdivision, Region } from '../models' +import { Playlist, Region, Stream } from '../models' import { PUBLIC_DIR } from '../constants' type RegionsGeneratorProps = { streams: Collection regions: Collection - subdivisions: Collection logger: Logger } export class RegionsGenerator implements Generator { streams: Collection regions: Collection - subdivisions: Collection storage: Storage logger: Logger - constructor({ streams, regions, subdivisions, logger }: RegionsGeneratorProps) { + constructor({ streams, regions, logger }: RegionsGeneratorProps) { this.streams = streams this.regions = regions - this.subdivisions = subdivisions this.storage = new Storage(PUBLIC_DIR) this.logger = logger } async generate(): Promise { const streams = this.streams - .orderBy(stream => stream.getTitle()) - .filter(stream => stream.isSFW()) + .orderBy((stream: Stream) => stream.getTitle()) + .filter((stream: Stream) => stream.isSFW()) this.regions.forEach(async (region: Region) => { - if (region.code === 'INT') return + if (region.isWorldwide()) return - const regionSubdivisionsCodes = this.subdivisions - .filter((subdivision: Subdivision) => region.countries.indexOf(subdivision.country) > -1) - .map((subdivision: Subdivision) => `s/${subdivision.code}`) - - const regionCodes = region.countries - .map((code: string) => `c/${code}`) - .concat(regionSubdivisionsCodes) - .add(`r/${region.code}`) - - const regionStreams = streams.filter(stream => stream.broadcastArea.intersects(regionCodes)) + const regionStreams = streams.filter((stream: Stream) => stream.isBroadcastInRegion(region)) const playlist = new Playlist(regionStreams, { public: true }) const filepath = `regions/${region.code.toLowerCase()}.m3u` await this.storage.save(filepath, playlist.toString()) - this.logger.info(JSON.stringify({ filepath, count: playlist.streams.count() })) + this.logger.info( + JSON.stringify({ type: 'region', filepath, count: playlist.streams.count() }) + ) }) + + const internationalStreams = streams.filter((stream: Stream) => stream.isInternational()) + const internationalPlaylist = new Playlist(internationalStreams, { public: true }) + const internationalFilepath = 'regions/int.m3u' + await this.storage.save(internationalFilepath, internationalPlaylist.toString()) + this.logger.info( + JSON.stringify({ + type: 'region', + filepath: internationalFilepath, + count: internationalPlaylist.streams.count() + }) + ) + + const undefinedStreams = streams.filter((stream: Stream) => !stream.hasBroadcastArea()) + const playlist = new Playlist(undefinedStreams, { public: true }) + const filepath = 'regions/undefined.m3u' + await this.storage.save(filepath, playlist.toString()) + this.logger.info(JSON.stringify({ type: 'region', filepath, count: playlist.streams.count() })) } } diff --git a/scripts/models/blocked.ts b/scripts/models/blocked.ts index 1bc38886b..29041278b 100644 --- a/scripts/models/blocked.ts +++ b/scripts/models/blocked.ts @@ -5,13 +5,13 @@ type BlockedProps = { } export class Blocked { - channel: string + channelId: string reason: string ref: string - constructor({ ref, reason, channel }: BlockedProps) { - this.channel = channel - this.reason = reason - this.ref = ref + constructor(data: BlockedProps) { + this.channelId = data.channel + this.reason = data.reason + this.ref = data.ref } } diff --git a/scripts/models/broadcastArea.ts b/scripts/models/broadcastArea.ts new file mode 100644 index 000000000..2b96b7f91 --- /dev/null +++ b/scripts/models/broadcastArea.ts @@ -0,0 +1,11 @@ +type BroadcastAreaProps = { + code: string +} + +export class BroadcastArea { + code: string + + constructor(data: BroadcastAreaProps) { + this.code = data.code + } +} diff --git a/scripts/models/category.ts b/scripts/models/category.ts index 885cea849..17ff9af12 100644 --- a/scripts/models/category.ts +++ b/scripts/models/category.ts @@ -1,4 +1,4 @@ -type CategoryProps = { +type CategoryData = { id: string name: string } @@ -7,8 +7,8 @@ export class Category { id: string name: string - constructor({ id, name }: CategoryProps) { - this.id = id - this.name = name + constructor(data: CategoryData) { + this.id = data.id + this.name = data.name } } diff --git a/scripts/models/channel.ts b/scripts/models/channel.ts index dd7a7a1d9..1d4c5cf8d 100644 --- a/scripts/models/channel.ts +++ b/scripts/models/channel.ts @@ -1,17 +1,16 @@ -import { Collection } from '@freearhey/core' +import { Collection, Dictionary } from '@freearhey/core' +import { Category, Country, Subdivision } from './index' -type ChannelProps = { +type ChannelData = { id: string name: string alt_names: string[] network: string - owners: string[] + owners: Collection country: string subdivision: string city: string - broadcast_area: string[] - languages: string[] - categories: string[] + categories: Collection is_nsfw: boolean launched: string closed: string @@ -24,56 +23,86 @@ export class Channel { id: string name: string altNames: Collection - network: string + network?: string owners: Collection - country: string - subdivision: string - city: string - broadcastArea: Collection - languages: Collection - categories: Collection + countryCode: string + country?: Country + subdivisionCode?: string + subdivision?: Subdivision + cityName?: string + categoryIds: Collection + categories?: Collection isNSFW: boolean - launched: string - closed: string - replacedBy: string - website: string + launched?: string + closed?: string + replacedBy?: string + website?: string logo: string - constructor({ - id, - name, - alt_names, - network, - owners, - country, - subdivision, - city, - broadcast_area, - languages, - categories, - is_nsfw, - launched, - closed, - replaced_by, - website, - logo - }: ChannelProps) { - this.id = id - this.name = name - this.altNames = new Collection(alt_names) - this.network = network - this.owners = new Collection(owners) - this.country = country - this.subdivision = subdivision - this.city = city - this.broadcastArea = new Collection(broadcast_area) - this.languages = new Collection(languages) - this.categories = new Collection(categories) - this.isNSFW = is_nsfw - this.launched = launched - this.closed = closed - this.replacedBy = replaced_by - this.website = website - this.logo = logo + constructor(data: ChannelData) { + this.id = data.id + this.name = data.name + this.altNames = new Collection(data.alt_names) + this.network = data.network || undefined + this.owners = new Collection(data.owners) + this.countryCode = data.country + this.subdivisionCode = data.subdivision || undefined + this.cityName = data.city || undefined + this.categoryIds = new Collection(data.categories) + this.isNSFW = data.is_nsfw + this.launched = data.launched || undefined + this.closed = data.closed || undefined + this.replacedBy = data.replaced_by || undefined + this.website = data.website || undefined + this.logo = data.logo + } + + withSubdivision(subdivisionsGroupedByCode: Dictionary): this { + if (!this.subdivisionCode) return this + + this.subdivision = subdivisionsGroupedByCode.get(this.subdivisionCode) + + return this + } + + withCountry(countriesGroupedByCode: Dictionary): this { + this.country = countriesGroupedByCode.get(this.countryCode) + + return this + } + + withCategories(groupedCategories: Dictionary): this { + this.categories = this.categoryIds + .map((id: string) => groupedCategories.get(id)) + .filter(Boolean) + + return this + } + + getCountry(): Country | undefined { + return this.country + } + + getSubdivision(): Subdivision | undefined { + return this.subdivision + } + + getCategories(): Collection { + return this.categories || new Collection() + } + + hasCategories(): boolean { + return !!this.categories && this.categories.notEmpty() + } + + hasCategory(category: Category): boolean { + return ( + !!this.categories && + this.categories.includes((_category: Category) => _category.id === category.id) + ) + } + + isSFW(): boolean { + return this.isNSFW === false } } diff --git a/scripts/models/country.ts b/scripts/models/country.ts index 5b33858ce..ac822a235 100644 --- a/scripts/models/country.ts +++ b/scripts/models/country.ts @@ -1,20 +1,58 @@ -type CountryProps = { +import { Collection, Dictionary } from '@freearhey/core' +import { Region, Language } from '.' + +type CountryData = { code: string name: string - languages: string[] + lang: string flag: string } export class Country { code: string name: string - languages: string[] flag: string + languageCode: string + language?: Language + subdivisions?: Collection + regions?: Collection - constructor({ code, name, languages, flag }: CountryProps) { - this.code = code - this.name = name - this.languages = languages - this.flag = flag + constructor(data: CountryData) { + this.code = data.code + this.name = data.name + this.flag = data.flag + this.languageCode = data.lang + } + + withSubdivisions(subdivisionsGroupedByCountryCode: Dictionary): this { + this.subdivisions = subdivisionsGroupedByCountryCode.get(this.code) || new Collection() + + return this + } + + withRegions(regions: Collection): this { + this.regions = regions.filter( + (region: Region) => region.code !== 'INT' && region.includesCountryCode(this.code) + ) + + return this + } + + withLanguage(languagesGroupedByCode: Dictionary): this { + this.language = languagesGroupedByCode.get(this.languageCode) + + return this + } + + getLanguage(): Language | undefined { + return this.language + } + + getRegions(): Collection { + return this.regions || new Collection() + } + + getSubdivisions(): Collection { + return this.subdivisions || new Collection() } } diff --git a/scripts/models/feed.ts b/scripts/models/feed.ts new file mode 100644 index 000000000..03e34762b --- /dev/null +++ b/scripts/models/feed.ts @@ -0,0 +1,200 @@ +import { Collection, Dictionary } from '@freearhey/core' +import { Country, Language, Region, Channel, Subdivision } from './index' + +type FeedData = { + channel: string + id: string + name: string + is_main: boolean + broadcast_area: Collection + languages: Collection + timezones: Collection + video_format: string +} + +export class Feed { + channelId: string + channel?: Channel + id: string + name: string + isMain: boolean + broadcastAreaCodes: Collection + broadcastCountryCodes: Collection + broadcastCountries?: Collection + broadcastRegionCodes: Collection + broadcastRegions?: Collection + broadcastSubdivisionCodes: Collection + broadcastSubdivisions?: Collection + languageCodes: Collection + languages?: Collection + timezoneIds: Collection + timezones?: Collection + videoFormat: string + + constructor(data: FeedData) { + this.channelId = data.channel + this.id = data.id + this.name = data.name + this.isMain = data.is_main + this.broadcastAreaCodes = new Collection(data.broadcast_area) + this.languageCodes = new Collection(data.languages) + this.timezoneIds = new Collection(data.timezones) + this.videoFormat = data.video_format + this.broadcastCountryCodes = new Collection() + this.broadcastRegionCodes = new Collection() + this.broadcastSubdivisionCodes = new Collection() + + this.broadcastAreaCodes.forEach((areaCode: string) => { + const [type, code] = areaCode.split('/') + + switch (type) { + case 'c': + this.broadcastCountryCodes.add(code) + break + case 'r': + this.broadcastRegionCodes.add(code) + break + case 's': + this.broadcastSubdivisionCodes.add(code) + break + } + }) + } + + withChannel(channelsGroupedById: Dictionary): this { + this.channel = channelsGroupedById.get(this.channelId) + + return this + } + + withLanguages(languagesGroupedByCode: Dictionary): this { + this.languages = this.languageCodes + .map((code: string) => languagesGroupedByCode.get(code)) + .filter(Boolean) + + return this + } + + withTimezones(timezonesGroupedById: Dictionary): this { + this.timezones = this.timezoneIds + .map((id: string) => timezonesGroupedById.get(id)) + .filter(Boolean) + + return this + } + + withBroadcastSubdivisions(subdivisionsGroupedByCode: Dictionary): this { + this.broadcastSubdivisions = this.broadcastSubdivisionCodes.map((code: string) => + subdivisionsGroupedByCode.get(code) + ) + + return this + } + + withBroadcastCountries( + countriesGroupedByCode: Dictionary, + regionsGroupedByCode: Dictionary, + subdivisionsGroupedByCode: Dictionary + ): this { + let broadcastCountries = new Collection() + + if (this.isInternational()) { + this.broadcastCountries = broadcastCountries + return this + } + + this.broadcastCountryCodes.forEach((code: string) => { + broadcastCountries.add(countriesGroupedByCode.get(code)) + }) + + this.broadcastRegionCodes.forEach((code: string) => { + const region: Region = regionsGroupedByCode.get(code) + if (region) { + region.countryCodes.forEach((countryCode: string) => { + broadcastCountries.add(countriesGroupedByCode.get(countryCode)) + }) + } + }) + + this.broadcastSubdivisionCodes.forEach((code: string) => { + const subdivision: Subdivision = subdivisionsGroupedByCode.get(code) + if (subdivision) { + broadcastCountries.add(countriesGroupedByCode.get(subdivision.countryCode)) + } + }) + + this.broadcastCountries = broadcastCountries.uniq().filter(Boolean) + + return this + } + + withBroadcastRegions(regions: Collection): this { + if (!this.broadcastCountries) return this + const countriesCodes = this.broadcastCountries.map((country: Country) => country.code) + + this.broadcastRegions = regions.filter((region: Region) => { + if (region.code === 'INT') return false + + return region.countryCodes.intersects(countriesCodes) + }) + + return this + } + + hasBroadcastArea(): boolean { + return ( + this.isInternational() || (!!this.broadcastCountries && this.broadcastCountries.notEmpty()) + ) + } + + getBroadcastCountries(): Collection { + return this.broadcastCountries || new Collection() + } + + getBroadcastRegions(): Collection { + return this.broadcastRegions || new Collection() + } + + getTimezones(): Collection { + return this.timezones || new Collection() + } + + getLanguages(): Collection { + return this.languages || new Collection() + } + + hasLanguages(): boolean { + return !!this.languages && this.languages.notEmpty() + } + + hasLanguage(language: Language): boolean { + return ( + !!this.languages && + this.languages.includes((_language: Language) => _language.code === language.code) + ) + } + + isInternational(): boolean { + return this.broadcastAreaCodes.includes('r/INT') + } + + isBroadcastInSubdivision(subdivision: Subdivision): boolean { + if (this.isInternational()) return false + + return this.broadcastSubdivisionCodes.includes(subdivision.code) + } + + isBroadcastInCountry(country: Country): boolean { + if (this.isInternational()) return false + + return this.getBroadcastCountries().includes( + (_country: Country) => _country.code === country.code + ) + } + + isBroadcastInRegion(region: Region): boolean { + if (this.isInternational()) return false + + return this.getBroadcastRegions().includes((_region: Region) => _region.code === region.code) + } +} diff --git a/scripts/models/index.ts b/scripts/models/index.ts index 9782fdae8..83a9380ed 100644 --- a/scripts/models/index.ts +++ b/scripts/models/index.ts @@ -8,3 +8,6 @@ export * from './language' export * from './country' export * from './region' export * from './subdivision' +export * from './feed' +export * from './broadcastArea' +export * from './timezone' diff --git a/scripts/models/language.ts b/scripts/models/language.ts index 84433abca..aeda5e6c2 100644 --- a/scripts/models/language.ts +++ b/scripts/models/language.ts @@ -1,4 +1,4 @@ -type LanguageProps = { +type LanguageData = { code: string name: string } @@ -7,8 +7,8 @@ export class Language { code: string name: string - constructor({ code, name }: LanguageProps) { - this.code = code - this.name = name + constructor(data: LanguageData) { + this.code = data.code + this.name = data.name } } diff --git a/scripts/models/region.ts b/scripts/models/region.ts index 72b30c192..928b48f06 100644 --- a/scripts/models/region.ts +++ b/scripts/models/region.ts @@ -1,6 +1,7 @@ -import { Collection } from '@freearhey/core' +import { Collection, Dictionary } from '@freearhey/core' +import { Subdivision } from '.' -type RegionProps = { +type RegionData = { code: string name: string countries: string[] @@ -9,11 +10,43 @@ type RegionProps = { export class Region { code: string name: string - countries: Collection + countryCodes: Collection + countries?: Collection + subdivisions?: Collection - constructor({ code, name, countries }: RegionProps) { - this.code = code - this.name = name - this.countries = new Collection(countries) + constructor(data: RegionData) { + this.code = data.code + this.name = data.name + this.countryCodes = new Collection(data.countries) + } + + withCountries(countriesGroupedByCode: Dictionary): this { + this.countries = this.countryCodes.map((code: string) => countriesGroupedByCode.get(code)) + + return this + } + + withSubdivisions(subdivisions: Collection): this { + this.subdivisions = subdivisions.filter( + (subdivision: Subdivision) => this.countryCodes.indexOf(subdivision.countryCode) > -1 + ) + + return this + } + + getSubdivisions(): Collection { + return this.subdivisions || new Collection() + } + + getCountries(): Collection { + return this.countries || new Collection() + } + + includesCountryCode(code: string): boolean { + return this.countryCodes.includes((countryCode: string) => countryCode === code) + } + + isWorldwide(): boolean { + return this.code === 'INT' } } diff --git a/scripts/models/stream.ts b/scripts/models/stream.ts index 53d244126..bd01845f6 100644 --- a/scripts/models/stream.ts +++ b/scripts/models/stream.ts @@ -1,64 +1,193 @@ -import { URL, Collection } from '@freearhey/core' -import { Category, Language } from './index' - -type StreamProps = { - name: string - url: string - filepath: string - line: number - channel?: string - httpReferrer?: string - httpUserAgent?: string - label?: string - quality?: string -} +import { URL, Collection, Dictionary } from '@freearhey/core' +import { Feed, Channel, Category, Region, Subdivision, Country, Language } from './index' +import parser from 'iptv-playlist-parser' export class Stream { - channel: string - filepath: string - line: number - httpReferrer: string - label: string name: string - quality: string url: string - httpUserAgent: string - logo: string - broadcastArea: Collection - categories: Collection - languages: Collection - isNSFW: boolean + id?: string groupTitle: string + channelId?: string + channel?: Channel + feedId?: string + feed?: Feed + filepath?: string + line: number + label?: string + verticalResolution?: number + isInterlaced?: boolean + httpReferrer?: string + httpUserAgent?: string removed: boolean = false - constructor({ - channel, - filepath, - line, - httpReferrer, - label, - name, - quality, - url, - httpUserAgent - }: StreamProps) { - this.channel = channel || '' - this.filepath = filepath - this.line = line - this.httpReferrer = httpReferrer || '' - this.label = label || '' + constructor(data: parser.PlaylistItem) { + if (!data.name) throw new Error('"name" property is required') + if (!data.url) throw new Error('"url" property is required') + + const [channelId, feedId] = data.tvg.id.split('@') + const { name, label, quality } = parseTitle(data.name) + const { verticalResolution, isInterlaced } = parseQuality(quality) + + this.id = data.tvg.id || undefined + this.feedId = feedId || undefined + this.channelId = channelId || undefined + this.line = data.line + this.label = label || undefined this.name = name - this.quality = quality || '' - this.url = url - this.httpUserAgent = httpUserAgent || '' - this.logo = '' - this.broadcastArea = new Collection() - this.categories = new Collection() - this.languages = new Collection() - this.isNSFW = false + this.verticalResolution = verticalResolution || undefined + this.isInterlaced = isInterlaced || undefined + this.url = data.url + this.httpReferrer = data.http.referrer || undefined + this.httpUserAgent = data.http['user-agent'] || undefined this.groupTitle = 'Undefined' } + withChannel(channelsGroupedById: Dictionary): this { + if (!this.channelId) return this + + this.channel = channelsGroupedById.get(this.channelId) + + return this + } + + withFeed(feedsGroupedByChannelId: Dictionary): this { + if (!this.channelId) return this + + const channelFeeds = feedsGroupedByChannelId.get(this.channelId) || [] + if (this.feedId) this.feed = channelFeeds.find((feed: Feed) => feed.id === this.feedId) + if (!this.feedId && !this.feed) this.feed = channelFeeds.find((feed: Feed) => feed.isMain) + + return this + } + + setId(id: string): this { + this.id = id + + return this + } + + setChannelId(channelId: string): this { + this.channelId = channelId + + return this + } + + setFeedId(feedId: string | undefined): this { + this.feedId = feedId + + return this + } + + setLabel(label: string): this { + this.label = label + + return this + } + + setQuality(quality: string): this { + const { verticalResolution, isInterlaced } = parseQuality(quality) + + this.verticalResolution = verticalResolution || undefined + this.isInterlaced = isInterlaced || undefined + + return this + } + + setHttpUserAgent(httpUserAgent: string): this { + this.httpUserAgent = httpUserAgent + + return this + } + + setHttpReferrer(httpReferrer: string): this { + this.httpReferrer = httpReferrer + + return this + } + + setFilepath(filepath: string): this { + this.filepath = filepath + + return this + } + + updateFilepath(): this { + if (!this.channel) return this + + this.filepath = `${this.channel.countryCode.toLowerCase()}.m3u` + + return this + } + + getChannelId(): string { + return this.channelId || '' + } + + getFeedId(): string { + if (this.feedId) return this.feedId + if (this.feed) return this.feed.id + return '' + } + + getFilepath(): string { + return this.filepath || '' + } + + getHttpReferrer(): string { + return this.httpReferrer || '' + } + + getHttpUserAgent(): string { + return this.httpUserAgent || '' + } + + getQuality(): string { + if (!this.verticalResolution) return '' + + let quality = this.verticalResolution.toString() + + if (this.isInterlaced) quality += 'i' + else quality += 'p' + + return quality + } + + hasId(): boolean { + return !!this.id + } + + hasQuality(): boolean { + return !!this.verticalResolution + } + + getVerticalResolution(): number { + if (!this.hasQuality()) return 0 + + return parseInt(this.getQuality().replace(/p|i/, '')) + } + + updateName(): this { + if (!this.channel) return this + + this.name = this.channel.name + if (this.feed && !this.feed.isMain) { + this.name += ` ${this.feed.name}` + } + + return this + } + + updateId(): this { + if (!this.channel) return this + if (this.feed) { + this.id = `${this.channel.id}@${this.feed.id}` + } else { + this.id = this.channel.id + } + + return this + } + normalizeURL() { const url = new URL(this.url) @@ -81,43 +210,82 @@ export class Stream { return !!this.channel } - hasCategories(): boolean { - return this.categories.notEmpty() + getBroadcastRegions(): Collection { + return this.feed ? this.feed.getBroadcastRegions() : new Collection() } - noCategories(): boolean { - return this.categories.isEmpty() + getBroadcastCountries(): Collection { + return this.feed ? this.feed.getBroadcastCountries() : new Collection() } - hasCategory(category: Category): boolean { - return this.categories.includes((_category: Category) => _category.id === category.id) - } - - noLanguages(): boolean { - return this.languages.isEmpty() - } - - hasLanguage(language: Language): boolean { - return this.languages.includes((_language: Language) => _language.code === language.code) - } - - noBroadcastArea(): boolean { - return this.broadcastArea.isEmpty() - } - - isInternational(): boolean { - return this.broadcastArea.includes('r/INT') + hasBroadcastArea(): boolean { + return this.feed ? this.feed.hasBroadcastArea() : false } isSFW(): boolean { - return this.isNSFW === false + return this.channel ? this.channel.isSFW() : true + } + + hasCategories(): boolean { + return this.channel ? this.channel.hasCategories() : false + } + + hasCategory(category: Category): boolean { + return this.channel ? this.channel.hasCategory(category) : false + } + + getCategoryNames(): string[] { + return this.getCategories() + .map((category: Category) => category.name) + .sort() + .all() + } + + getCategories(): Collection { + return this.channel ? this.channel.getCategories() : new Collection() + } + + getLanguages(): Collection { + return this.feed ? this.feed.getLanguages() : new Collection() + } + + hasLanguages() { + return this.feed ? this.feed.hasLanguages() : false + } + + hasLanguage(language: Language) { + return this.feed ? this.feed.hasLanguage(language) : false + } + + getBroadcastAreaCodes(): Collection { + return this.feed ? this.feed.broadcastAreaCodes : new Collection() + } + + isBroadcastInSubdivision(subdivision: Subdivision): boolean { + return this.feed ? this.feed.isBroadcastInSubdivision(subdivision) : false + } + + isBroadcastInCountry(country: Country): boolean { + return this.feed ? this.feed.isBroadcastInCountry(country) : false + } + + isBroadcastInRegion(region: Region): boolean { + return this.feed ? this.feed.isBroadcastInRegion(region) : false + } + + isInternational(): boolean { + return this.feed ? this.feed.isInternational() : false + } + + getLogo(): string { + return this?.channel?.logo || '' } getTitle(): string { let title = `${this.name}` - if (this.quality) { - title += ` (${this.quality})` + if (this.getQuality()) { + title += ` (${this.getQuality()})` } if (this.label) { @@ -127,15 +295,26 @@ export class Stream { return title } + getLabel(): string { + return this.label || '' + } + + getId(): string { + return this.id || '' + } + data() { return { + id: this.id, channel: this.channel, + feed: this.feed, filepath: this.filepath, - httpReferrer: this.httpReferrer, label: this.label, name: this.name, - quality: this.quality, + verticalResolution: this.verticalResolution, + isInterlaced: this.isInterlaced, url: this.url, + httpReferrer: this.httpReferrer, httpUserAgent: this.httpUserAgent, line: this.line } @@ -143,18 +322,20 @@ export class Stream { toJSON() { return { - channel: this.channel || null, + channel: this.channelId || null, + feed: this.feedId || null, url: this.url, referrer: this.httpReferrer || null, - user_agent: this.httpUserAgent || null + user_agent: this.httpUserAgent || null, + quality: this.getQuality() || null } } toString(options: { public: boolean }) { - let output = `#EXTINF:-1 tvg-id="${this.channel}"` + let output = `#EXTINF:-1 tvg-id="${this.getId()}"` if (options.public) { - output += ` tvg-logo="${this.logo}" group-title="${this.groupTitle}"` + output += ` tvg-logo="${this.getLogo()}" group-title="${this.groupTitle}"` } if (this.httpReferrer) { @@ -180,3 +361,29 @@ export class Stream { return output } } + +function parseTitle(title: string): { + name: string + label: string + quality: string +} { + const [, label] = title.match(/ \[(.*)\]$/) || [null, ''] + title = title.replace(new RegExp(` \\[${escapeRegExp(label)}\\]$`), '') + const [, quality] = title.match(/ \(([0-9]+p)\)$/) || [null, ''] + title = title.replace(new RegExp(` \\(${quality}\\)$`), '') + + return { name: title, label, quality } +} + +function escapeRegExp(text) { + return text.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&') +} + +function parseQuality(quality: string): { verticalResolution: number; isInterlaced: boolean } { + let [, verticalResolutionString] = quality.match(/^(\d+)/) || [null, undefined] + const isInterlaced = /i$/i.test(quality) + let verticalResolution = 0 + if (verticalResolutionString) verticalResolution = parseInt(verticalResolutionString) + + return { verticalResolution, isInterlaced } +} diff --git a/scripts/models/subdivision.ts b/scripts/models/subdivision.ts index c3209ca3d..d6795fea3 100644 --- a/scripts/models/subdivision.ts +++ b/scripts/models/subdivision.ts @@ -1,4 +1,7 @@ -type SubdivisionProps = { +import { Dictionary } from '@freearhey/core' +import { Country } from '.' + +type SubdivisionData = { code: string name: string country: string @@ -7,11 +10,18 @@ type SubdivisionProps = { export class Subdivision { code: string name: string - country: string + countryCode: string + country?: Country - constructor({ code, name, country }: SubdivisionProps) { - this.code = code - this.name = name - this.country = country + constructor(data: SubdivisionData) { + this.code = data.code + this.name = data.name + this.countryCode = data.country + } + + withCountry(countriesGroupedByCode: Dictionary): this { + this.country = countriesGroupedByCode.get(this.countryCode) + + return this } } diff --git a/scripts/models/timezone.ts b/scripts/models/timezone.ts new file mode 100644 index 000000000..b519f0e06 --- /dev/null +++ b/scripts/models/timezone.ts @@ -0,0 +1,30 @@ +import { Collection, Dictionary } from '@freearhey/core' + +type TimezoneData = { + id: string + utc_offset: string + countries: string[] +} + +export class Timezone { + id: string + utcOffset: string + countryCodes: Collection + countries?: Collection + + constructor(data: TimezoneData) { + this.id = data.id + this.utcOffset = data.utc_offset + this.countryCodes = new Collection(data.countries) + } + + withCountries(countriesGroupedByCode: Dictionary): this { + this.countries = this.countryCodes.map((code: string) => countriesGroupedByCode.get(code)) + + return this + } + + getCountries(): Collection { + return this.countries || new Collection() + } +} diff --git a/scripts/tables/categoryTable.ts b/scripts/tables/categoryTable.ts index a3fb49f14..f82f3ffd4 100644 --- a/scripts/tables/categoryTable.ts +++ b/scripts/tables/categoryTable.ts @@ -11,6 +11,7 @@ export class CategoryTable implements Table { const dataStorage = new Storage(DATA_DIR) const categoriesContent = await dataStorage.json('categories.json') const categories = new Collection(categoriesContent).map(data => new Category(data)) + const categoriesGroupedById = categories.keyBy((category: Category) => category.id) const parser = new LogParser() const logsStorage = new Storage(LOGS_DIR) @@ -19,13 +20,12 @@ export class CategoryTable implements Table { let data = new Collection() parser .parse(generatorsLog) - .filter((logItem: LogItem) => logItem.filepath.includes('categories/')) + .filter((logItem: LogItem) => logItem.type === 'category') .forEach((logItem: LogItem) => { const file = new File(logItem.filepath) const categoryId = file.name() - const category: Category = categories.first( - (category: Category) => category.id === categoryId - ) + const category: Category = categoriesGroupedById.get(categoryId) + data.add([ category ? category.name : 'ZZ', category ? category.name : 'Undefined', diff --git a/scripts/tables/countryTable.ts b/scripts/tables/countryTable.ts index 06a72490e..2f50ccedf 100644 --- a/scripts/tables/countryTable.ts +++ b/scripts/tables/countryTable.ts @@ -12,34 +12,31 @@ export class CountryTable implements Table { const countriesContent = await dataStorage.json('countries.json') const countries = new Collection(countriesContent).map(data => new Country(data)) - + const countriesGroupedByCode = countries.keyBy((country: Country) => country.code) const subdivisionsContent = await dataStorage.json('subdivisions.json') const subdivisions = new Collection(subdivisionsContent).map(data => new Subdivision(data)) + const subdivisionsGroupedByCode = subdivisions.keyBy( + (subdivision: Subdivision) => subdivision.code + ) const parser = new LogParser() const logsStorage = new Storage(LOGS_DIR) const generatorsLog = await logsStorage.load('generators.log') + const parsed = parser.parse(generatorsLog) let data = new Collection() - parser - .parse(generatorsLog) - .filter( - (logItem: LogItem) => - logItem.filepath.includes('countries/') || logItem.filepath.includes('subdivisions/') - ) + + parsed + .filter((logItem: LogItem) => logItem.type === 'subdivision') .forEach((logItem: LogItem) => { const file = new File(logItem.filepath) const code = file.name().toUpperCase() const [countryCode, subdivisionCode] = code.split('-') || ['', ''] + const country = countriesGroupedByCode.get(countryCode) - if (subdivisionCode) { - const subdivision = subdivisions.first( - (subdivision: Subdivision) => subdivision.code === code - ) + if (country && subdivisionCode) { + const subdivision = subdivisionsGroupedByCode.get(code) if (subdivision) { - const country = countries.first( - (country: Country) => country.code === subdivision.country - ) data.add([ `${country.name}/${subdivision.name}`, `      ${subdivision.name}`, @@ -47,18 +44,28 @@ export class CountryTable implements Table { `https://iptv-org.github.io/iptv/${logItem.filepath}` ]) } - } else if (countryCode === 'INT') { + } + }) + + parsed + .filter((logItem: LogItem) => logItem.type === 'country') + .forEach((logItem: LogItem) => { + const file = new File(logItem.filepath) + const code = file.name().toUpperCase() + const [countryCode] = code.split('-') || ['', ''] + const country = countriesGroupedByCode.get(countryCode) + + if (country) { data.add([ - 'ZZ', - '๐ŸŒ International', + country.name, + `${country.flag} ${country.name}`, logItem.count, `https://iptv-org.github.io/iptv/${logItem.filepath}` ]) } else { - const country = countries.first((country: Country) => country.code === countryCode) data.add([ - country.name, - `${country.flag} ${country.name}`, + 'ZZ', + 'Undefined', logItem.count, `https://iptv-org.github.io/iptv/${logItem.filepath}` ]) diff --git a/scripts/tables/languageTable.ts b/scripts/tables/languageTable.ts index f0b54d242..2014ba676 100644 --- a/scripts/tables/languageTable.ts +++ b/scripts/tables/languageTable.ts @@ -11,6 +11,7 @@ export class LanguageTable implements Table { const dataStorage = new Storage(DATA_DIR) const languagesContent = await dataStorage.json('languages.json') const languages = new Collection(languagesContent).map(data => new Language(data)) + const languagesGroupedByCode = languages.keyBy((language: Language) => language.code) const parser = new LogParser() const logsStorage = new Storage(LOGS_DIR) @@ -19,13 +20,11 @@ export class LanguageTable implements Table { let data = new Collection() parser .parse(generatorsLog) - .filter((logItem: LogItem) => logItem.filepath.includes('languages/')) + .filter((logItem: LogItem) => logItem.type === 'language') .forEach((logItem: LogItem) => { const file = new File(logItem.filepath) const languageCode = file.name() - const language: Language = languages.first( - (language: Language) => language.code === languageCode - ) + const language: Language = languagesGroupedByCode.get(languageCode) data.add([ language ? language.name : 'ZZ', diff --git a/scripts/tables/regionTable.ts b/scripts/tables/regionTable.ts index 60a6e5ff7..84eeaaa4a 100644 --- a/scripts/tables/regionTable.ts +++ b/scripts/tables/regionTable.ts @@ -11,6 +11,7 @@ export class RegionTable implements Table { const dataStorage = new Storage(DATA_DIR) const regionsContent = await dataStorage.json('regions.json') const regions = new Collection(regionsContent).map(data => new Region(data)) + const regionsGroupedByCode = regions.keyBy((region: Region) => region.code) const parser = new LogParser() const logsStorage = new Storage(LOGS_DIR) @@ -19,22 +20,35 @@ export class RegionTable implements Table { let data = new Collection() parser .parse(generatorsLog) - .filter((logItem: LogItem) => logItem.filepath.includes('regions/')) + .filter((logItem: LogItem) => logItem.type === 'region') .forEach((logItem: LogItem) => { const file = new File(logItem.filepath) const regionCode = file.name().toUpperCase() - const region: Region = regions.first((region: Region) => region.code === regionCode) + const region: Region = regionsGroupedByCode.get(regionCode) if (region) { data.add([ region.name, + region.name, + logItem.count, + `https://iptv-org.github.io/iptv/${logItem.filepath}` + ]) + } else { + data.add([ + 'ZZZ', + 'Undefined', logItem.count, `https://iptv-org.github.io/iptv/${logItem.filepath}` ]) } }) - data = data.orderBy(item => item[0]) + data = data + .orderBy(item => item[0]) + .map(item => { + item.shift() + return item + }) const table = new HTMLTable(data.all(), [ { name: 'Region', align: 'left' }, diff --git a/streams/ad.m3u b/streams/ad.m3u index ef27ca479..65ccf3b44 100644 --- a/streams/ad.m3u +++ b/streams/ad.m3u @@ -1,3 +1,5 @@ #EXTM3U #EXTINF:-1 tvg-id="AndorraTV.ad",ATV (720p) https://videos.rtva.ad/live/rtva/playlist.m3u8 +#EXTINF:-1 tvg-id="AndorraTV.ad@Web",Andorra TV (1080p) +https://live-edge-eu-1.cdn.enetres.net/56495F77FD124FECA75590A906965F2C022/live-3000/index.m3u8 diff --git a/streams/ae.m3u b/streams/ae.m3u index 81199159d..c02c37de4 100644 --- a/streams/ae.m3u +++ b/streams/ae.m3u @@ -3,9 +3,9 @@ https://vo-live.cdb.cdn.orange.com/Content/Channel/AbuDhabiChannel/HLS/index.m3u8 #EXTINF:-1 tvg-id="AbuDhabiEmirates.ae",Abu Dhabi Emirates (1080p) https://vo-live.cdb.cdn.orange.com/Content/Channel/EmiratesChannel/HLS/index.m3u8 -#EXTINF:-1 tvg-id="AbuDhabiSports1.ae",Abu Dhabi Sports 1 +#EXTINF:-1 tvg-id="AbuDhabiSports1.ae",Abu Dhabi Sports 1 (1080p) https://vo-live-media.cdb.cdn.orange.com/Content/Channel/AbuDhabiSportsChannel1/HLS/index.m3u8 -#EXTINF:-1 tvg-id="AbuDhabiSports2.ae",Abu Dhabi Sports 2 +#EXTINF:-1 tvg-id="AbuDhabiSports2.ae",Abu Dhabi Sports 2 (1080p) https://tr-live-route.adm.tcon.hlit.hvds.tv/Content/Channel/AbuDhabiSportsChannel2/DASH/master.mpd #EXTINF:-1 tvg-id="AbuDhabiSports2.ae",Abu Dhabi Sports 2 (1080p) https://vo-live.cdb.cdn.orange.com/Content/Channel/AbuDhabiSportsChannel2/HLS/index.m3u8 @@ -19,6 +19,8 @@ https://mbc1-enc.edgenextcdn.net/out/v1/f5f319206ed740f9a831f2097c2ead23/index.m https://live.alarabiya.net/alarabiapublish/aswaaq.smil/playlist.m3u8 #EXTINF:-1 tvg-id="AlArabiyaPrograms.ae",Al Arabiya Programs (1080p) https://d1j4r34gq3qw9y.cloudfront.net/out/v1/96804f3a14864641a21c25e8ca9afb74/index.m3u8 +#EXTINF:-1 tvg-id="AlDafrahTV.ae",Al Dafrah TV (720p) +https://rtmp-live-ingest-eu-west-3-universe-dacast-com.akamaized.net/transmuxv1/streams/dbb8ac05-a020-784c-3a95-6ed027941532.m3u8 #EXTINF:-1 tvg-id="AlMashhad.ae",Al Mashhad (1080p) https://bcovlive-a.akamaihd.net/20c3ca22be3c4f03b30afbf3c92cfd14/ap-south-1/6313884884001/playlist.m3u8 #EXTINF:-1 tvg-id="AlQamarTV.ae",Al Qamar TV (1080p) @@ -31,8 +33,6 @@ https://svs.itworkscdn.net/kablatvlive/kabtv1.smil/playlist.m3u8 https://svs.itworkscdn.net/alwoustalive/alwoustatv.smil/playlist.m3u8 #EXTINF:-1 tvg-id="AlYaumTV.ae",Al Yaum TV (1080p) https://iko-live.akamaized.net/AlyuamTV/master.m3u8 -#EXTINF:-1 tvg-id="AlYaumTV.ae",Al Yaum TV (720p) -https://alyaum-tv.akamaized.net/hls/alyaum-tv.m3u8 #EXTINF:-1 tvg-id="Alarabiya.ae",Alarabiya (1080p) https://d35j504z0x2vu2.cloudfront.net/v1/master/0bc8e8376bd8417a1b6761138aa41c26c7309312/al-arabiya/playlist.m3u8 #EXTINF:-1 tvg-id="Alarabiya.ae",Alarabiya (1080p) @@ -63,7 +63,7 @@ https://dmieigthvllta.cdn.mgmlcdn.com/dubaitvht/smil:dubaitv.stream.smil/chunkli https://dmiffthftl.cdn.mangomolo.com/dubaizaman/smil:dubaizaman.stream.smil/chunklist.m3u8 #EXTINF:-1 tvg-id="FujairahTV.ae",Fujairah TV (720p) https://live.kwikmotion.com/fujairahlive/fujairah.smil/playlist.m3u8 -#EXTINF:-1 tvg-id="JustVogueTV.ae",Just Vogue TV +#EXTINF:-1 tvg-id="JustVogueTV.ae",Just Vogue TV (1080p) https://ip100.radyotelekomtv.com:3873/stream/play.m3u8 #EXTINF:-1 tvg-id="Majid.ae",Majid TV (1080p) https://vo-live.cdb.cdn.orange.com/Content/Channel/MajidChildrenChannel/HLS/index.m3u8 @@ -151,9 +151,9 @@ https://weyyak-live.akamaized.net/weyyak_mix/index.m3u8 https://weyyak-live.akamaized.net/weyyak_nawaem/index.m3u8 #EXTINF:-1 tvg-id="YasTV.ae",Yas TV (1080p) https://vo-live.cdb.cdn.orange.com/Content/Channel/YASSportsChannel/HLS/index.m3u8 -#EXTINF:-1 tvg-id="AlDafrahTV.ae",Al Dafrah TV (720p) -https://rtmp-live-ingest-eu-west-3-universe-dacast-com.akamaized.net/transmuxv1/streams/dbb8ac05-a020-784c-3a95-6ed027941532.m3u8 -#EXTINF:-1 tvg-id="ZeeAlwan.ae",Zee Alwan (720p) [Geo-blocked] -https://weyyak-live.akamaized.net/weyyak_zee_alwan/index.m3u8 #EXTINF:-1 tvg-id="ZeeAflam.ae",Zee Aflam (720p) [Geo-blocked] https://weyyak-live.akamaized.net/weyyak_zee_aflam/index.m3u8 +#EXTINF:-1 tvg-id="ZeeAlwan.ae",Zee Alwan (720p) [Geo-blocked] +https://weyyak-live.akamaized.net/weyyak_zee_alwan/index.m3u8 +#EXTINF:-1 tvg-id="SpacetoonArabic.ae",Spacetoon Arabic (1080p) +https://shd-gcp-live.edgenextcdn.net/live/bitmovin-spacetoon/d8382fb9ab4b2307058f12c7ea90db54/index.m3u8 diff --git a/streams/al.m3u b/streams/al.m3u index 372b39b01..8ee8a13f9 100644 --- a/streams/al.m3u +++ b/streams/al.m3u @@ -19,6 +19,8 @@ https://live1.mediadesk.al/oranews.m3u8 http://198.244.188.94/panorama/livestream/playlist.m3u8 #EXTINF:-1 tvg-id="ReportTV.al",Report TV (720p) https://deb10stream.duckdns.org/hls/stream.m3u8 +#EXTINF:-1 tvg-id="Syri.al",Syri (720p) [Not 24/7] +https://stream.syritv.al/SyriTV/index.m3u8 #EXTINF:-1 tvg-id="TopChannel.al",Top News (720p) https://trueodin.serv00.net/?t=topnewsal #EXTINF:-1 tvg-id="TropojaTelevizion.al",Tropoja TV (1080p) @@ -27,5 +29,3 @@ https://live.prostream.al/al/smil:tropojatv.smil/playlist.m3u8 https://fe.tring.al/delta/105/out/u/rdghfhsfhfshs.m3u8 #EXTINF:-1 tvg-id="ZjarrTV.al",Zjarr TV (720p) [Not 24/7] https://cdn.jwplayer.com/live/events/r2qgHu7W.m3u8 -#EXTINF:-1 tvg-id="Syri.al",Syri (720p) [Not 24/7] -https://stream.syritv.al/SyriTV/index.m3u8 diff --git a/streams/am_vnet.m3u b/streams/am_vnet.m3u index eb314add2..9188290eb 100644 --- a/streams/am_vnet.m3u +++ b/streams/am_vnet.m3u @@ -5,32 +5,8 @@ http://stream01.vnet.am/AmediaPremium/mono.m3u8 http://stream02.vnet.am/Kinoman/mono.m3u8 #EXTINF:-1 tvg-id="FightBox.nl",FightBox http://stream01.vnet.am/Fightbox/mono.m3u8 -#EXTINF:-1 tvg-id="Fox.ru",Fox -https://stream01.vnet.am/Fox/mono.m3u8 -#EXTINF:-1 tvg-id="Hollywood.ru",Hollywood -http://stream01.vnet.am/ParamountChannel/mono.m3u8 -#EXTINF:-1 tvg-id="NationalGeographicWild.ru",National Geographic Wild -http://stream02.vnet.am/NatGeoWild/mono.m3u8 -#EXTINF:-1 tvg-id="NicktoonsCIS.ru",Nicktoons -https://stream01.vnet.am/Boomerang/mono.m3u8 -#EXTINF:-1 tvg-id="BoksTV.ru",ะ‘ะพะบั ะขะ’ -http://stream01.vnet.am/BoksTv/mono.m3u8 #EXTINF:-1 tvg-id="Detskimir.ru",ะ”ะตั‚ัะบะธะน ะผะธั€ http://stream01.vnet.am/CartoonNetwork/mono.m3u8 -#EXTINF:-1 tvg-id="Domkino.ru",ะ”ะพะผ ะšะธะฝะพ -https://stream01.vnet.am/DomKino/mono.m3u8 -#EXTINF:-1 tvg-id="India.ru",ะ˜ะฝะดะธั -https://stream01.vnet.am/ZeeTV/mono.m3u8 -#EXTINF:-1 tvg-id="CarouselInternational.ru",ะšะฐั€ัƒัะตะปัŒ Int -http://stream02.vnet.am/Karusel/mono.m3u8 -#EXTINF:-1 tvg-id="KinopremyeraHD.ru",ะšะธะฝะพะฟั€ะตะผัŒะตั€ะฐ HD -http://stream02.vnet.am/Kinopremera/mono.m3u8 -#EXTINF:-1 tvg-id="KukhnyaTV.ru",ะšัƒั…ะฝั ะขะ’ HD -http://stream01.vnet.am/KukhnyaTv/mono.m3u8 -#EXTINF:-1 tvg-id="MuzTV.ru",ะœัƒะท ะขะ’ -http://stream01.vnet.am/MuzTv/mono.m3u8 -#EXTINF:-1 tvg-id="Mult.ru",ะœัƒะปัŒั‚ -http://stream01.vnet.am/Mult/mono.m3u8 #EXTINF:-1 tvg-id="Nauka.ru",ะะฐัƒะบะฐ 2.0 http://stream01.vnet.am/Nauka/mono.m3u8 #EXTINF:-1 tvg-id="NTVMir.ru",ะะขะ’ ะœะธั€ @@ -41,7 +17,5 @@ http://stream01.vnet.am/Evrika/mono.m3u8 http://stream01.vnet.am/Perec/mono.m3u8 #EXTINF:-1 tvg-id="FridayInternational.ru",ะŸัั‚ะฝะธั†ะฐ International https://stream01.vnet.am/Pyatnica/mono.m3u8 -#EXTINF:-1 tvg-id="STSkids.ru",ะกะขะก Kids -http://stream02.vnet.am/DisneyChannel/mono.m3u8 #EXTINF:-1 tvg-id="Telecafe.ru",ะขะตะปะตะบะฐั„ะต http://stream01.vnet.am/Telekafe/mono.m3u8 diff --git a/streams/ar.m3u b/streams/ar.m3u index 5985586d2..b051df2b5 100644 --- a/streams/ar.m3u +++ b/streams/ar.m3u @@ -16,9 +16,9 @@ https://panel.dattalive.com/6605140/smil:6605140.smil/playlist.m3u8 #EXTVLCOPT:http-user-agent=iPhone https://g1.vxral-hor.transport.edge-access.net/a15/ngrp:a24-100056_all/a24-100056.m3u8 #EXTINF:-1 tvg-id="AiredeSantaFe.ar",Aire de Santa Fe (1080p) +https://unlimited1-us.dps.live/airedesantafetv/airedesantafetv.smil/playlist.m3u8 #EXTINF:-1 tvg-id="AlternaTV.ar",Alterna TV (720p) https://alternatv.ar/stream/hls/live.m3u8 -https://unlimited1-us.dps.live/airedesantafetv/airedesantafetv.smil/playlist.m3u8 #EXTINF:-1 tvg-id="Am1020.ar",Am1020 (360p) [Geo-blocked] http://51.79.83.93:9998/live/am1020/playlist.m3u8 #EXTINF:-1 tvg-id="AmericaTV.ar",America TV (480p) diff --git a/streams/at.m3u b/streams/at.m3u index 476527a7b..205a855a6 100644 --- a/streams/at.m3u +++ b/streams/at.m3u @@ -27,6 +27,8 @@ https://bitcdn-kronehit.bitmovin.com/v2/hls/playlist.m3u8 https://streaming13.huberwebmedia.at/LiveApp/streams/985585225397790082777809.m3u8 #EXTINF:-1 tvg-id="Okto.at",Okto TV (1080p) https://cdn3.wowza.com/1/MHFtazJReW5rOFhP/N2NWNDZ2/hls/live/playlist.m3u8 +#EXTINF:-1 tvg-id="ORF1HD.at",ORF 1 HD +https://s6.hopslan.com/orfx11/index.m3u8 #EXTINF:-1 tvg-id="ORF1HD.at" http-referrer="https://livestreamde.com/",ORF 1 HD #EXTVLCOPT:http-referrer=https://livestreamde.com/ https://strm.hdtvizlecanli.com/live/orf1.m3u8 @@ -48,6 +50,8 @@ http://iptv.rtv-ooe.at/stream.m3u8 https://m317.video-stream-hosting.de/gzSoftware-live/_definst_/smil:livestream.smil/playlist.m3u8 #EXTINF:-1 tvg-id="ServusTV.at",ServusTV (1080p) [Geo-blocked] https://stv-live.akamaized.net/hls/live/2031011/lingeoSTVATwebPri/master.m3u8 +#EXTINF:-1 tvg-id="SteiermarkTV.at",Steiermark TV (1080p) +https://h056.video-stream-hosting.de/easycast8-live/_definst_/mp4:livestreamhd4/playlist.m3u8?ref= #EXTINF:-1 tvg-id="SwamijiTVAmerican.at",Swamiji TV American (1080p) [Not 24/7] https://stream.swamiji.tv/YogaIPTV/smil:YogaStreamUS.smil/playlist.m3u8 #EXTINF:-1 tvg-id="SwamijiTVAustralian.at",Swamiji TV Australian (1080p) [Not 24/7] @@ -64,9 +68,3 @@ http://89.187.168.245:8080/live/sUPPERchannel2/index.m3u8 https://live1.markenfunk.com/t1/ngrp:live_all/playlist.m3u8 #EXTINF:-1 tvg-id="W24.at",W24 (720p) [Not 24/7] https://ms01.w24.at/W24/smil:liveevent.smil/playlist.m3u8 -#EXTINF:-1 tvg-id="ORF1HD.at",ORF 1 HD -https://s6.hopslan.com/orfx1/index.m3u8 -#EXTINF:-1 tvg-id="ORF1HD.at",ORF 1 HD -https://s6.hopslan.com/orfx11/index.m3u8 -#EXTINF:-1 tvg-id="SteiermarkTV.at",Steiermark TV (1080p) -https://h056.video-stream-hosting.de/easycast8-live/_definst_/mp4:livestreamhd4/playlist.m3u8?ref= diff --git a/streams/au.m3u b/streams/au.m3u index 8882b720c..944482a8e 100644 --- a/streams/au.m3u +++ b/streams/au.m3u @@ -3,8 +3,6 @@ https://2gblive.akamaized.net/hls/live/2033805/2GB/index.m3u8 #EXTINF:-1 tvg-id="3AW.au",3AW Melbourne (1080p) https://3awlive.akamaized.net/hls/live/2032295/3AW/index.m3u8 -#EXTINF:-1 tvg-id="3TamilTV.au",3 Tamil TV (720p) [Not 24/7] -https://6n3yogbnd9ok-hls-live.5centscdn.com/threetamil/d0dbe915091d400bd8ee7f27f0791303.sdp/index.m3u8 #EXTINF:-1 tvg-id="6PR.au",6PR Perth (1080p) https://6prlive.akamaized.net/hls/live/2033806/6PR/index.m3u8 #EXTINF:-1 tvg-id="9GemSydney.au",9Gem (720p) [Geo-blocked] @@ -13,12 +11,8 @@ https://9now-livestreams.akamaized.net/hls/live/2008311/gem-syd/master.m3u8 https://9now-livestreams.akamaized.net/hls/live/2008312/go-syd/master.m3u8 #EXTINF:-1 tvg-id="9LifeSydney.au",9Life (720p) [Geo-blocked] https://9now-livestreams.akamaized.net/hls/live/2008313/life-syd/master.m3u8 -#EXTINF:-1 tvg-id="10BoldSydney.au",10 Bold (720p) [Geo-blocked] -https://i.mjh.nz/10bold-nsw.m3u8 #EXTINF:-1 tvg-id="10BoldAdelaide.au",10 Bold Adelaide (1080p) https://dce3793146fef017.mediapackage.us-west-2.amazonaws.com/out/v1/55cdf73af7894775ba6de8f57482b66a/CMAF_HLS/index.m3u8 -#EXTINF:-1 tvg-id="10PeachSydney.au",10 Peach (720p) [Geo-blocked] -https://i.mjh.nz/10peach-nsw.m3u8 #EXTINF:-1 tvg-id="ABCAustralia.au",ABC Australia https://abc-news-dmd-streams-1.akamaized.net/out/v1/701126012d044971b3fa89406a440133/index.m3u8 #EXTINF:-1 tvg-id="ABCMESydney.au",ABC Me (720p) @@ -41,8 +35,6 @@ https://c.mjh.nz/abc-wa.m3u8 https://c.mjh.nz/abc-tv-plus.m3u8 #EXTINF:-1 tvg-id="ABCTVNSW.au",ABC TV Sydney (720p) https://c.mjh.nz/abc-nsw.m3u8 -#EXTINF:-1 tvg-id="AUSTamilTV.au",AUS Tamil TV (720p) [Not 24/7] -https://bk7l2pn7dx53-hls-live.5centscdn.com/austamil/fe01ce2a7fbac8fafaed7c982a04e229.sdp/playlist.m3u8 #EXTINF:-1 tvg-id="AusbizTV.au",ausbiz TV (720p) [Not 24/7] https://d9quh89lh7dtw.cloudfront.net/public-output/index.m3u8 #EXTINF:-1 tvg-id="BloombergTVAustralia.au",Bloomberg TV Australia (270p) @@ -61,8 +53,6 @@ https://9now-livestreams-fhd-t.akamaized.net/u/prod/simulcast/mel/ch9/hls/r1/ind https://9now-livestreams-fhd-t.akamaized.net/u/prod/simulcast/per/ch9/hls/r1/index.m3u8 #EXTINF:-1 tvg-id="Channel9Sydney.au",Channel 9 Sydney (720p) [Geo-blocked] https://9now-livestreams-fhd-t.akamaized.net/u/prod/simulcast/syd/ch9/hls/r1/index.m3u8 -#EXTINF:-1 tvg-id="10Sydney.au",Channel 10 (720p) [Geo-blocked] -https://i.mjh.nz/10-nsw.m3u8 #EXTINF:-1 tvg-id="Channel44.au",Channel 44 (480p) https://d1k6kax80wecy5.cloudfront.net/WFqZJc/index.m3u8 #EXTINF:-1 tvg-id="CTBPerth.au",CTB Perth (720p) @@ -73,16 +63,10 @@ https://movies.ctbperth.net.au/hls/stream.m3u8 https://news.ctbperth.net.au/hls/stream.m3u8 #EXTINF:-1 tvg-id="ExpoChannel.au",Expo Channel (360p) https://tvsnhlslivetest.akamaized.net/hls/live/2034711/EXPO-MSL4/master.m3u8 -#EXTINF:-1 tvg-id="GOOD.au",GOOD. -https://i.mjh.nz/.r/good-dot.m3u8 #EXTINF:-1 tvg-id="HopeChannelAustralia.au",Hope Channel Australia (1080p) https://videodelivery.net/9fb3596948ddf463fde0ec4b85625b24/manifest/video.m3u8 #EXTINF:-1 tvg-id="IndoOzTV.au",Indo Oz TV (720p) https://stream.e2is.in/hls/indoztv.m3u8 -#EXTINF:-1 tvg-id="JonmoBhumiTV.au",JonmoBhumi TV (720p) [Not 24/7] -https://us170.jagobd.com:447/c3VydmVyX8RpbEU9Mi8xNy8yMDE0GIDU6RgzQ6NTAgdEoaeFzbF92YWxIZTO0U0ezN1IzMyfvcGVMZEJCTEFWeVN3PTOmdFsaWRtaW51aiPhnPTI/jonmobhumitv.stream/playlist.m3u8 -#EXTINF:-1 tvg-id="M4TVMalayalam.au",M4TV Malayalam (1080p) [Not 24/7] -https://app.m4stream.live/mfourmalayalamhls/live.m3u8 #EXTINF:-1 tvg-id="",Race Central TV (720p) [Not 24/7] https://nrpus.bozztv.com/36bay2/gusa-racecentral/index.m3u8 #EXTINF:-1 tvg-id="Racingcom.au",Racing.com (720p) @@ -99,15 +83,11 @@ https://skylivetab-new.akamaized.net/hls/live/2038780/sky1/index.m3u8 https://skylivetab-new.akamaized.net/hls/live/2038781/sky2/index.m3u8 #EXTINF:-1 tvg-id="SkyThoroughbredCentral.au",Sky Thoroughbred Central (720p) [Geo-blocked] https://skylivetab-new.akamaized.net/hls/live/2038782/stcsd/index.m3u8 -#EXTINF:-1 tvg-id="tickerNews.au",Ticker News (1080p) -https://cdn-uw2-prod.tsv2.amagi.tv/linear/amg01486-tickernews-tickernewsweb-ono/playlist.m3u8 #EXTINF:-1 tvg-id="",Travel & Food TV (720p) https://nrpus.bozztv.com/36bay2/gusa-moviemagictv/index.m3u8 #EXTINF:-1 tvg-id="TVSN.au",TVSN (1080p) https://tvsnhlslivetest.akamaized.net/hls/live/2034711/TVSN-MSL4/master.m3u8 #EXTINF:-1 tvg-id="TVSNBeauty.au",TVSN Beauty (1080p) https://live-tvsn.simplestreamcdn.com/live12/tvsnbeauty/bitrate1.isml/.m3u8 -#EXTINF:-1 tvg-id="",TVSN Catchup TV (1080p) -https://tvsnshowsvod.akamaized.net/CatchUpTV/TVSN-AU/2411171630/TVSN_2411171630.m3u8 #EXTINF:-1 tvg-id="TVSNJewellery.au",TVSN Jewellery (1080p) https://live-tvsn.simplestreamcdn.com/live13/tvsnjewellery/bitrate1.isml/.m3u8 diff --git a/streams/au_samsung.m3u b/streams/au_samsung.m3u index cb4d38f67..f9c3a9ad1 100644 --- a/streams/au_samsung.m3u +++ b/streams/au_samsung.m3u @@ -1,6 +1,4 @@ #EXTM3U -#EXTINF:-1 tvg-id="EuronewsEnglish.fr",Euronews English (720p) -https://euronews-euronews-world-1-au.samsung.wurl.tv/manifest/playlist.m3u8 #EXTINF:-1 tvg-id="HorseCountryTV.uk",Horse and Country (720p) https://hncfree-samsungau.amagi.tv/playlist.m3u8 #EXTINF:-1 tvg-id="InsightTV.nl",Insight TV (720p) @@ -11,18 +9,12 @@ https://introuble-samsungau.amagi.tv/playlist.m3u8 https://inwild-samsungau.amagi.tv/playlist.m3u8 #EXTINF:-1 tvg-id="InWonder.nl",InWonder (720p) https://inwonder-samsungau.amagi.tv/playlist.m3u8 -#EXTINF:-1 tvg-id="RealFamilies.au",Real Families (Australia) (720p) -https://lds-realfamilies-samsunguau.amagi.tv/playlist.m3u8 -#EXTINF:-1 tvg-id="RealStories.uk",Real Stories (720p) -https://lds-realstories-samsungau.amagi.tv/playlist.m3u8 #EXTINF:-1 tvg-id="Rialto.nz",Rialto (1080p) https://rialto-rialto-samsungaustralia.amagi.tv/playlist.m3u8 #EXTINF:-1 tvg-id="RyanandFriends.us",Ryan and Friends (1080p) https://ryanandfriends-samsungau.amagi.tv/playlist.m3u8 #EXTINF:-1 tvg-id="Tastemade.au",Tastemade Australia (1080p) https://tmint-aus-samsungau.amagi.tv/playlist.m3u8 -#EXTINF:-1 tvg-id="Timeline.us",Time Line Australia (720p) -https://lds-timeline-samsungau.amagi.tv/playlist.m3u8 #EXTINF:-1 tvg-id="TraceSportStars.fr",Trace Sport Stars (Australia) (1080p) https://lightning-tracesport-samsungau.amagi.tv/playlist.m3u8 #EXTINF:-1 tvg-id="TraceUrban.fr",Trace Urban (Australia) (1080p) diff --git a/streams/aw.m3u b/streams/aw.m3u index 1ad27f037..1133a053b 100644 --- a/streams/aw.m3u +++ b/streams/aw.m3u @@ -3,14 +3,10 @@ https://cdn01.setar.aw/Canal49/canal49/playlist.m3u8 #EXTINF:-1 tvg-id="ArubaTVPlus.aw",ArubaTV + (1080p) https://livertmptwo.com:19360/atvplusrelay/atvplusrelay.m3u8 +#EXTINF:-1 tvg-id="BalchiTV.aw",Balchi TV (720p) +https://livertmptwo.com:19360/balchirelaytv/balchirelaytv.m3u8 #EXTINF:-1 tvg-id="CoolFM989.aw",Cool FM 98.9 (720p) https://live2.tensila.com/cool-v-1.arubara/hls/master.m3u8 -#EXTINF:-1 tvg-id="",Dushi TV (720p) -https://livertmptwo.com:19360/dushitvrelay/dushitvrelay.m3u8 -#EXTINF:-1 tvg-id="HeartRadioAruba.aw",Heart Radio Aruba (720p) [Not 24/7] -https://live2.tensila.com/heart-v-1.heartar/hls/live/mystream.m3u8 -#EXTINF:-1 tvg-id="Hit94FM.aw",Hit 94 FM (720p) -https://565280.gvideo.io/cmaf/565280_2069313/master.m3u8 #EXTINF:-1 tvg-id="NosIslaTV.aw" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36",Nos Isla TV (1080p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36 https://backend-server-dot-telearuba-app.appspot.com/media/livestream23/playlist.m3u8 @@ -25,3 +21,6 @@ https://backend-server-dot-telearuba-app.appspot.com/media/livestream13/playlist https://cdn01.setar.aw/Telearuba/telearuba/playlist.m3u8 #EXTINF:-1 tvg-id="VIPTV.aw",VIP TV (720p) https://ed5ov1.live.opencaster.com/bkyqeDgfaukC/index.m3u8 +#EXTINF:-1 tvg-id="X1027FM.aw" http-referrer="https://player.castr.com/live_21e811c0d60d11eeaa1a471c2c967e4a",X 102.7 FM (720p) [Not 24/7] +#EXTVLCOPT:http-referrer=https://player.castr.com/live_21e811c0d60d11eeaa1a471c2c967e4a +https://stream.castr.com/65dee3aad6beacddbd6cd1af/live_21e811c0d60d11eeaa1a471c2c967e4a/index.m3u8 diff --git a/streams/az.m3u b/streams/az.m3u index 79d36aa38..88440a0e2 100644 --- a/streams/az.m3u +++ b/streams/az.m3u @@ -35,8 +35,6 @@ https://raw.githubusercontent.com/UzunMuhalefet/streams/refs/heads/main/myvideo- https://str.yodacdn.net/medeniyyet/index.m3u8 #EXTINF:-1 tvg-id="",MTV TV https://raw.githubusercontent.com/UzunMuhalefet/streams/refs/heads/main/myvideo-az/mtv-azerbaycan.m3u8 -#EXTINF:-1 tvg-id="ShowPlusTV.az",Show Plus TV (720p) -https://glb.bozztv.com/glb/ssh101/showplus/index.m3u8 #EXTINF:-1 tvg-id="SpaceTV.az",Space TV https://raw.githubusercontent.com/UzunMuhalefet/streams/main/myvideo-az/space-tv.m3u8 #EXTINF:-1 tvg-id="",TMB TV diff --git a/streams/ba.m3u b/streams/ba.m3u index 8fe9d0b82..dfcc434ed 100644 --- a/streams/ba.m3u +++ b/streams/ba.m3u @@ -1,8 +1,6 @@ #EXTM3U #EXTINF:-1 tvg-id="AlJazeeraBalkans.ba",Al Jazeera Balkans (1080p) https://live-hls-apps-ajb-v3-fa.getaj.net/AJB/index.m3u8 -#EXTINF:-1 tvg-id="B1TV.ba",B1 TV (1080p) [Not 24/7] -http://wowza.bihnet.net:88/hls/b1-live.m3u8 #EXTINF:-1 tvg-id="BHRT.ba",BHRT (720p) [Geo-blocked] https://bhrtstream.bhtelecom.ba/bhrtportal.m3u8 #EXTINF:-1 tvg-id="BHRT.ba",BHRT (270p) [Geo-blocked] @@ -25,8 +23,6 @@ http://glasdrine.cutuk.net:8081/433ssdsw/GlasDrineSD/playlist.m3u8 https://prd-hometv-live-open.spectar.tv/ERO_1_083/playlist.m3u8 #EXTINF:-1 tvg-id="RTVZenica.ba",RTV Zenica (720p) https://stream.rtvze.ba/live/123/123.m3u8 -#EXTINF:-1 tvg-id="SevdahTV.ba",Sevdah TV (288p) -https://restreamer2.tnt.ba/hls/stream.m3u8 #EXTINF:-1 tvg-id="SuperTV.ba",Super TV Media (720p) https://mirtv.club/live/mirtv/index.m3u8 #EXTINF:-1 tvg-id="Televizija5.ba",Televizija 5 (576p) @@ -37,3 +33,5 @@ https://live.tv-m.net/hls/stream.m3u8 https://restreamer1.tnt.ba/hls/tntkids.m3u8 #EXTINF:-1 tvg-id="TVSlonExtra.ba",TV Slon Extra (1080p) [Not 24/7] http://31.47.0.130:8082 +#EXTINF:-1 tvg-id="NTVICKakanj.ba",NTV IC Kakanj (720p) +https://lon.rtsp.me/dEqnY-myGj84bKrieCIPfA/1743271667/hls/3dH3YAD6.m3u8 diff --git a/streams/bd.m3u b/streams/bd.m3u index 2ef1c316e..1a90ee72a 100644 --- a/streams/bd.m3u +++ b/streams/bd.m3u @@ -11,14 +11,10 @@ https://www.btvlive.gov.bd/streams/ef8b8bbc-98b7-4ba7-a49d-a0adaf259d35/ES/d96eb https://amigofx.com:1936/channelsreporter/channelsreporter/playlist.m3u8 #EXTINF:-1 tvg-id="DeshiTV.ca",Deshi TV (720p) https://deshitv.deshitv24.net/live/myStream/playlist.m3u8 -#EXTINF:-1 tvg-id="ETenTV.bd",E Ten TV (1080p) [Not 24/7] -https://iptvbd.live/test/1080.m3u8 #EXTINF:-1 tvg-id="EkusheyTV.bd",Ekushey TV (480p) https://ekusheyserver.com/etvlivesn.m3u8 #EXTINF:-1 tvg-id="JamunaTV.bd",Jamuna TV (720p) [Geo-blocked] http://113.212.111.246:8080/hls/col12.m3u8 -#EXTINF:-1 tvg-id="",JaTV (720p) -https://cloud2.smartsolbd.com/live/jatvbd/index.m3u8 #EXTINF:-1 tvg-id="ProbashiTVNews.ca",Probashi TV News (720p) http://probashi.alvegroups.com:8081/probashitv/probashi/playlist.m3u8 #EXTINF:-1 tvg-id="SangsadTV.bd",Sangsad TV (1080p) diff --git a/streams/be.m3u b/streams/be.m3u index de4c3363e..fae73786b 100644 --- a/streams/be.m3u +++ b/streams/be.m3u @@ -7,32 +7,24 @@ https://live.zendzend.com/streams/29375_107244/playlist.m3u8 https://bel-live-hls.akamaized.net/hls/live/2038650/BEL-Live-HLS/master.m3u8 #EXTINF:-1 tvg-id="BAMTV.be",Bel'Afrika Media TV (1080p) https://goccn.cloud/hls/belafrikatv/index.m3u8 -#EXTINF:-1 tvg-id="BelgianFederalParliament.be",Belgian Federal Parliament (720p) [Not 24/7] -http://livestream.parolis.be:1935/live/PLN_NL/playlist.m3u8 #EXTINF:-1 tvg-id="Bouke.be",Bouke [Geo-blocked] https://tvlocales-live.freecaster.com/live/95d2f70d-9229-478b-9aed-bc4fa220316d/95d2f70d-9229-478b-9aed-bc4fa220316d.isml/master.m3u8 #EXTINF:-1 tvg-id="BX1.be",BX1 (720p) [Not 24/7] https://59959724487e3.streamlock.net/stream/live/playlist.m3u8 #EXTINF:-1 tvg-id="CanalZoom.be",Canal Zoom [Geo-blocked] https://tvlocales-live.freecaster.com/live/95d2e3af-5ab8-45a9-9dc9-f544d006b5d5/95d2e3af-5ab8-45a9-9dc9-f544d006b5d5.isml/master.m3u8 -#EXTINF:-1 tvg-id="CityMusicTV.be",City Music TV (720p) -https://5592f056abba8.streamlock.net/citytv/citytv/playlist.m3u8 #EXTINF:-1 tvg-id="EbS.be",EbS (1080p) https://streams.prd.commavservices.eu/live/ebs/index.m3u8 #EXTINF:-1 tvg-id="EbSPlus.be",EbS+ (1080p) https://streams.prd.commavservices.eu/live/ebsplus/index.m3u8 -#EXTINF:-1 tvg-id="FunVision.be",Fun Radio Vision (720p) [Not 24/7] -https://raw.githubusercontent.com/Sphinxroot/HSL/main/DM/be/FunRadio.m3u8 #EXTINF:-1 tvg-id="HLNLive.be",HLN Live (720p) https://dpg-eventstreams.akamaized.net/hlnlivesrt-xmr/streamx/hlnlivesrt_720p.m3u8 #EXTINF:-1 tvg-id="JapanimTV.be",Japanim TV (1080p) https://foxkidstv.be:3369/stream/play.m3u8 #EXTINF:-1 tvg-id="JoeFM.be",Joe FM (720p) [Not 24/7] https://dpp-streamlive-plain.medialaancdn.be/joe_kijklive/plain/hls_hd.m3u8 -#EXTINF:-1 tvg-id="KetnetJunior.be",Ketnet Junior (720p) -https://content.uplynk.com/channel/e11a05356cc44198977436418ad71832.m3u8 -#EXTINF:-1 tvg-id="KetnetJunior.be",Ketnet Junior (720p) -https://content.uplynk.com/channel/e11a05356cc44198977436418ad71832.mpd +#EXTINF:-1 tvg-id="LaUne.be",La Une (1080p) +http://41.205.93.154/LA-UNE/mpegts #EXTINF:-1 tvg-id="LN24.be",LN24 https://live-ln24.digiteka.com/1911668011/index.m3u8 #EXTINF:-1 tvg-id="Matele.be",MaTele (1080p) [Not 24/7] @@ -47,10 +39,6 @@ https://streaming01.divercom.be/notele_live/direct.stream/playlist.m3u8 https://live-video.dpgmedia.net/f1d26a28c95485cc/out/v1/5f60a245c110454fba652900ecf30ea2/index.m3u8 #EXTINF:-1 tvg-id="RadioContact.be",Radio Contact (1080p) https://contact-live-hls.akamaized.net/hls/live/2038650/CONTACT-Live-HLS/master.m3u8 -#EXTINF:-1 tvg-id="RadioPROS.be",Radio PROS (720p) [Not 24/7] -http://highvolume04.streampartner.nl/radiopros/livestream/playlist.m3u8 -#EXTINF:-1 tvg-id="RadioPROS.be",Radio PROS (720p) [Not 24/7] -https://558bd16067b67.streamlock.net/radiopros/livestream/playlist.m3u8 #EXTINF:-1 tvg-id="",RTC Tรฉlรฉ Liรจge [Geo-blocked] https://tvlocales-live.freecaster.com/live/95d2f6eb-6f01-4d1d-8543-d14966de7b04/95d2f6eb-6f01-4d1d-8543-d14966de7b04.isml/master.m3u8 #EXTINF:-1 tvg-id="RTLTVI.be",RTL-TVI (1080p) [Not 24/7] @@ -77,5 +65,3 @@ https://live-radio-cf-vrt.akamaized.net/groupb/live/0f394a26-c87d-475e-8590-e9c6 https://dpp-live-events.medialaancdn.be/events/hls/aes/webstream1.m3u8 #EXTINF:-1 tvg-id="VTM2.be",VTM 2 (720p) https://dpp-live-events.medialaancdn.be/events/hls/aes/webstream3.m3u8 -#EXTINF:-1 tvg-id="LaUne.be",La Une (1080p) -http://41.205.93.154/LA-UNE/mpegts diff --git a/streams/be_samsung.m3u b/streams/be_samsung.m3u index 7889da66f..c060b8134 100644 --- a/streams/be_samsung.m3u +++ b/streams/be_samsung.m3u @@ -1,13 +1,5 @@ #EXTM3U -#EXTINF:-1 tvg-id="AfricanewsFrench.fr",AfricaNews Franรงais (720p) -https://rakuten-africanews-2-be.samsung.wurl.tv/manifest/playlist.m3u8 #EXTINF:-1 tvg-id="AFVFamily.us",AFV Family https://futuretoday-afv-family-2-be.samsung.wurl.tv/playlist.m3u8 #EXTINF:-1 tvg-id="BloombergQuicktake.us",Bloomberg Quicktake https://bloomberg-quicktake-1-be.samsung.wurl.tv/playlist.m3u8 -#EXTINF:-1 tvg-id="BloombergTV.us",Bloomberg TV -https://bloomberg-bloomberg-1-be.samsung.wurl.tv/playlist.m3u8 -#EXTINF:-1 tvg-id="EuronewsFrench.fr",Euronews -https://rakuten-euronews-10-be.samsung.wurl.tv/playlist.m3u8 -#EXTINF:-1 tvg-id="RakutenTVFamilyMovies.fr",Rakuten Family -https://rakuten-family-16-be.samsung.wurl.tv/playlist.m3u8 diff --git a/streams/bg.m3u b/streams/bg.m3u index 0fef91b03..f1c8fa018 100644 --- a/streams/bg.m3u +++ b/streams/bg.m3u @@ -5,20 +5,12 @@ https://ms4.sedemosmi.tv/live/M3E5ajhtdjJkaXBscmZubmUxMmh1cjN1bjZrbm5wZW8/index. http://100automoto.tv:1935/bgtv1/autotv/playlist.m3u8 #EXTINF:-1 tvg-id="AgroTV.bg",Agro TV (480p) https://restr2.bgtv.bg/agro/hls/agro.m3u8 -#EXTINF:-1 tvg-id="b1bbox.bg",B1B Box (720p) -https://e105-ts.cdn.bg/b1b/fls/b1btv.stream/playlist.m3u8 #EXTINF:-1 tvg-id="BalkanikaTV.bg",Balkanika TV (270p) rtsp://stream.teracomm.bg/balkanika #EXTINF:-1 tvg-id="CityTV.bg",City TV (576p) [Not 24/7] https://tv.city.bg/play/tshls/citytv/index.m3u8 -#EXTINF:-1 tvg-id="CodeFashionTV.bg",Code Fashion TV (1080p) -https://cdn3.invivo.bg/Codefashion_5500/index.m3u8 -#EXTINF:-1 tvg-id="CodeHealthTV.bg",Code Health TV (1080p) -https://cdn3.invivo.bg/codehealth_test/index.m3u8 #EXTINF:-1 tvg-id="DSTV.bg",DSTV (614p) [Not 24/7] http://46.249.95.140:8081/hls/data.m3u8 -#EXTINF:-1 tvg-id="EuroFolkTV.bg",EuroFolk TV (720p) -https://eurofolk.cdn.netbadgers.com/bg040/bg041/bg041.m3u8 #EXTINF:-1 tvg-id="Eurocom.bg",Evrokom (360p) https://live.ecomservice.bg/hls/stream.m3u8 #EXTINF:-1 tvg-id="HopeChannelBulgaria.bg",Hope Channel Bulgaria @@ -48,11 +40,7 @@ https://streamer103.neterra.tv/tiankov-orient/live.m3u8 https://streamer103.neterra.tv/travel/live.m3u8 #EXTINF:-1 tvg-id="TV1.bg",TV 1 (720p) https://tv1.cloudcdn.bg:8081/stream.m3u8 -#EXTINF:-1 tvg-id="TVDarts.bg",TV Darts (576p) -https://streamer103.neterra.tv/darts/live.m3u8 #EXTINF:-1 tvg-id="TVZagora.bg",TV Zagora (576p) http://zagoratv.ddns.net:8080/tvzagora.m3u8 -#EXTINF:-1 tvg-id="TVart.bg",TVart (1080p) -https://stream.osc.bg/tvart/Stream3/playlist.m3u8 #EXTINF:-1 tvg-id="TVNBulgaria.bg",TVN-Bulgaria (1080p) https://obs.friendshipchurch.eu/tvn/mystream.m3u8 diff --git a/streams/bo.m3u b/streams/bo.m3u index c965184bc..6855b3ac3 100644 --- a/streams/bo.m3u +++ b/streams/bo.m3u @@ -153,3 +153,9 @@ https://fl1004.bozztv.com/ssh101/zoytvsports4/index.m3u8 https://fl1004.bozztv.com/ssh101/zoytvsports5/index.m3u8 #EXTINF:-1 tvg-id="ZoyTVTurcas.bo",Zoy TV Turcas https://fl1004.bozztv.com/ssh101/zoytvturcas/index.m3u8 +#EXTINF:-1 tvg-id="BoliviaTV.bo",Bolivia TV (720p) +https://5fe2654d6127d.streamlock.net:443/boliviatv/videoboliviatv/playlist.m3u8 +#EXTINF:-1 tvg-id="ZoyTVSports1.bo",Zoy TV Sports 1 (1080p) +https://ssh101stream.ssh101.com/akamaissh101/ssh101/zoytvsports/playlist.m3u8 +#EXTINF:-1 tvg-id="ZoyTVTurcas.bo",Zoy TV Turcas (720p) +https://ssh101stream.ssh101.com/akamaissh101/ssh101/zoytvturcas/playlist.m3u8 diff --git a/streams/bq.m3u b/streams/bq.m3u index 213e8d25d..aeaec8774 100644 --- a/streams/bq.m3u +++ b/streams/bq.m3u @@ -9,3 +9,5 @@ https://sincerecloud.stream/loadbalancer/public/actMdyoE.m3u8 https://media.streambrothers.com:1936/8014/8014/playlist.m3u8 #EXTINF:-1 tvg-id="NosTVBonaire.bq",Nos TV Bonaire (1080p) http://streaming.flamingotv.net/nostv/live.m3u8 +#EXTINF:-1 tvg-id="VozDiBonaireTV.bq",Voz Di Bonaire TV (720p) +https://tv.westream.cloud/VozdiBonaireTV/VozdiBonaireTV.m3u8 diff --git a/streams/br.m3u b/streams/br.m3u index a56c35599..29668ec3a 100644 --- a/streams/br.m3u +++ b/streams/br.m3u @@ -599,3 +599,11 @@ https://video01.kshost.com.br/seap8272/seap8272/playlist.m3u8 http://painelvj.com.br/tvaguaboa2/tvaguaboa2.sdp/playlist.m3u8 #EXTINF:-1 tvg-id="WTVBrasil.br",WTV Brasil (720p) https://stmv1.srvstm.com/wtvbrasil/wtvbrasil/playlist.m3u8 +#EXTINF:-1 tvg-id="TVCancaoNova.br",TV Cancao Nova (720p) +https://5c65286fc6ace.streamlock.net/cancaonova/CancaoNova.stream_720p/playlist.m3u8 +#EXTINF:-1 tvg-id="TVMAX.br",TV MAX (720p) +https://5cf4a2c2512a2.streamlock.net/tvmax/tvmax/playlist.m3u8 +#EXTINF:-1 tvg-id="TVBrasil.br",TV Brasil (720p) +https://tvbrasil-stream.ebc.com.br/index.m3u8 +#EXTINF:-1 tvg-id="RedeTV.br",Rede TV! (720p) +https://cdn.jmvstream.com/w/AVJ-15235/playlist/playlist.m3u8 diff --git a/streams/bs.m3u b/streams/bs.m3u index fcd718794..fbdaecba9 100644 --- a/streams/bs.m3u +++ b/streams/bs.m3u @@ -1 +1,7 @@ #EXTM3U +#EXTINF:-1 tvg-id="GuardianTalkRadio.bs",Guardian Talk Radio (1080p) +https://cdn-edge1.streamcomedia.com/abr_tngr969fm/abr-tngr969fm_streams/playlist.m3u8 +#EXTINF:-1 tvg-id="IslandLuckTV.bs",Island Luck TV (1080p) [Geo-blocked] +https://islandluck-edge1.streamcomedia.com/abr_islandluck-ott/abr-islandluck-ott_streams/playlist.m3u8 +#EXTINF:-1 tvg-id="TheParliamentaryChannel.bs",The Parliamentary Channel (720p) [Not 24/7] +https://zns-edge1.streamcomedia.cloud/abr_parliamentarychannel/abr-parliament_streams/playlist.m3u8 diff --git a/streams/ch.m3u b/streams/ch.m3u index 904495fd8..002c6d132 100644 --- a/streams/ch.m3u +++ b/streams/ch.m3u @@ -3,6 +3,8 @@ https://edge13.vedge.infomaniak.com/livecast/ik:alpen-wellelivestream/manifest.m3u8 #EXTINF:-1 tvg-id="AlpenlandTV.ch",Alpenland TV (720p) https://edge14.vedge.infomaniak.com/livecast/ik:alpen-wellelivestream/playlist.m3u8 +#EXTINF:-1 tvg-id="BlueSport2.ch",Blue Sport 2 (720p) +http://62.210.211.188:2095/play/a00f #EXTINF:-1 tvg-id="Canal9.ch",Canal 9 en Franรงais (1080p) https://livehd.vedge.infomaniak.com/livecast/livehd/master.m3u8 #EXTINF:-1 tvg-id="CanalAlphaJura.ch",Canal Alpha Jura (1080p) @@ -77,5 +79,3 @@ https://livevideo.infomaniak.com/streaming/livecast/tvm3/playlist.m3u8 https://cdnapisec.kaltura.com/p/1719221/sp/171922100/playManifest/entryId/1_t5h46v64/format/applehttp/protocol/https/a.m3u8 #EXTINF:-1 tvg-id="WedoBigStories.ch",Wedo Big Stories (1080p) https://weyyak-live.akamaized.net/wedo_big_stories/index.m3u8 -#EXTINF:-1 tvg-id="BlueSport2.ch",Blue Sport 2 (720p) -http://62.210.211.188:2095/play/a00f diff --git a/streams/cl.m3u b/streams/cl.m3u index a7716a204..625bfc27c 100644 --- a/streams/cl.m3u +++ b/streams/cl.m3u @@ -443,7 +443,7 @@ https://mdstrm.com/live-stream-playlist/6046495ddf98b007fa2fe807.m3u8 https://mediacpstreamchile.com:1936/8028/8028/playlist.m3u8 #EXTINF:-1 tvg-id="ZappingMusic.cl",Zapping Music (720p) https://zmlive.zappingtv.com/zm-free/zm.smil/playlist.m3u8 -#EXTINF:-1 tvg-id="ZonaPlayTV.cl",Zona Play TV (720p) -https://paneltv.online:1936/8100/8100/playlist.m3u8 #EXTINF:-1 tvg-id="ZonaLatina.cl",Zona Latina (480p) http://190.2.212.209:8050/play/a0oj +#EXTINF:-1 tvg-id="ZonaPlayTV.cl",Zona Play TV (720p) +https://paneltv.online:1936/8100/8100/playlist.m3u8 diff --git a/streams/cn.m3u b/streams/cn.m3u index 5207a418e..8be3fced0 100644 --- a/streams/cn.m3u +++ b/streams/cn.m3u @@ -1,4 +1,6 @@ #EXTM3U +#EXTINF:-1 tvg-id="AndoTV.cn",Ando TV +http://stream.qhbtv.com/adws/sd/live.m3u8 #EXTINF:-1 tvg-id="AndoTV.cn",Ando TV (576p) http://119.1.122.186:4022/rtp/238.255.2.189:5999 #EXTINF:-1 tvg-id="AnimationShowChannel.cn",Animation Show Channel @@ -23,46 +25,10 @@ http://49.113.179.174:4022/udp/238.125.3.121:5140 http://gslbservzqhsw.itv.cmvideo.cn/index.m3u8?Contentid=reallive-hdcctv1&channel-id=ystenlive&livemode=1&stbId=3 #EXTINF:-1 tvg-id="CCTV1.cn",CCTV1 (576p) http://117.161.133.51:81/gitv_live/G_CCTV-1/G_CCTV-1.m3u8 -#EXTINF:-1 tvg-id="CCTV2.cn",CCTV2 (1080p) -http://bl.dchwtq.asia:10000/rtp/239.69.1.102:10250 #EXTINF:-1 tvg-id="CCTV2.cn",CCTV2 (576p) http://117.161.133.51:81/gitv_live/G_CCTV-2/G_CCTV-2.m3u8 -#EXTINF:-1 tvg-id="CCTV3.cn",CCTV3 (1080p) -http://bl.dchwtq.asia:10000/rtp/239.69.1.122:10370 -#EXTINF:-1 tvg-id="",CCTV4 (1080p) -http://bl.dchwtq.asia:10000/rtp/239.69.1.138:10466 -#EXTINF:-1 tvg-id="CCTV5.cn",CCTV5 (1080p) -http://bl.dchwtq.asia:10000/rtp/239.69.1.123:10376 -#EXTINF:-1 tvg-id="CCTV5Plus.cn",CCTV5+ (1080p) -http://bl.dchwtq.asia:10000/rtp/239.254.96.234:9484 -#EXTINF:-1 tvg-id="CCTV6.cn",CCTV6 (1080p) -http://bl.dchwtq.asia:10000/rtp/239.69.1.124:10382 -#EXTINF:-1 tvg-id="CCTV7.cn",CCTV7 (1080p) -http://bl.dchwtq.asia:10000/rtp/239.69.1.103:10256 -#EXTINF:-1 tvg-id="CCTV8.cn",CCTV8 (1080p) -http://bl.dchwtq.asia:10000/rtp/239.69.1.125:10388 -#EXTINF:-1 tvg-id="CCTV9.cn",CCTV9 (1080p) -http://bl.dchwtq.asia:10000/rtp/239.69.1.104:10262 -#EXTINF:-1 tvg-id="CCTV10.cn",CCTV10 (1080p) -http://bl.dchwtq.asia:10000/rtp/239.69.1.105:10268 -#EXTINF:-1 tvg-id="CCTV11.cn",CCTV11 (1080p) -http://bl.dchwtq.asia:10000/rtp/239.69.1.154:10560 -#EXTINF:-1 tvg-id="CCTV12.cn",CCTV12 (1080p) -http://bl.dchwtq.asia:10000/rtp/239.69.1.106:10274 -#EXTINF:-1 tvg-id="CCTV13.cn",CCTV13 (1080p) -http://bl.dchwtq.asia:10000/rtp/239.254.96.161:9040 -#EXTINF:-1 tvg-id="CCTV14.cn",CCTV14 (1080p) -http://bl.dchwtq.asia:10000/rtp/239.69.1.107:10280 -#EXTINF:-1 tvg-id="CCTV15.cn",CCTV15 (1080p) -http://bl.dchwtq.asia:10000/rtp/239.69.1.155:10566 #EXTINF:-1 tvg-id="CCTV15.cn",CCTV15้Ÿณไน http://hwrr.jx.chinamobile.com:8080/PLTV/88888888/224/3221225641/index.m3u8 -#EXTINF:-1 tvg-id="CCTV16.cn",CCTV16 (1080p) -http://bl.dchwtq.asia:10000/rtp/239.69.1.247:11124 -#EXTINF:-1 tvg-id="",CCTV16-4K (2160p) -http://bl.dchwtq.asia:10000/rtp/239.69.1.249:11136 -#EXTINF:-1 tvg-id="CCTV17.cn",CCTV17 (1080p) -http://bl.dchwtq.asia:10000/rtp/239.69.1.152:10548 #EXTINF:-1 tvg-id="",CCTV TV Guide (576p) http://117.161.133.51:81/gitv_live/G_DIANSHIZN-CQ/G_DIANSHIZN-CQ.m3u8?p=GITV #EXTINF:-1 tvg-id="CCTVWorldGeography.cn",CCTV ไธ–็•Œๅœฐ็† @@ -157,6 +123,8 @@ http://118.122.2.29:9999/hls/47/index.m3u8 http://1.183.141.194:8001/hls/55/index.m3u8 #EXTINF:-1 tvg-id="NeiMonggolTV.cn",Nei Monggol TV http://49.113.179.174:4022/udp/238.125.7.93:5140 +#EXTINF:-1 tvg-id="NeiMonggolTV.cn",Nei Monggol TV +http://110.19.156.172:9901/tsfile/live/1003_1.m3u8 #EXTINF:-1 tvg-id="NeiMonggolTV2MongolianCultureChannel.cn",Nei Monggol TV 2 Mongolian Culture Channel http://1.183.141.194:8001/hls/54/index.m3u8 #EXTINF:-1 tvg-id="QTV1.cn",QTV-1 @@ -227,6 +195,8 @@ http://49.113.179.174:4022/udp/238.125.7.153:5140 http://106.124.91.222:85/tsfile/live/21220_1.m3u8?authid=0&key=txiptv&playlive=1 #EXTINF:-1 tvg-id="XinjiangTV12.cn",Xinjiang TV 12 http://49.113.179.174:4022/udp/238.125.3.185:5140 +#EXTINF:-1 tvg-id="XizangTVChinese.cn",Xizang TV Chinese +http://php.jdshipin.com/xztv.php?id=ws #EXTINF:-1 tvg-id="XizangTVTibetan.cn",Xizang TV Tibetan http://49.113.179.174:4022/udp/238.125.3.94:5140 #EXTINF:-1 tvg-id="XizangTVTibetan.cn",Xizang TV Tibetan @@ -1565,7 +1535,3 @@ http://yslk.chinashadt.com:1635/live/stream:di1.stream/playlist.m3u8 http://yslk.chinashadt.com:1635/live/stream:di2.stream/playlist.m3u8 #EXTINF:-1 tvg-id="",้พ™ๅฒฉ็ปผๅˆ (540p) http://stream.lytv.net.cn/2/sd/live.m3u8 -#EXTINF:-1 tvg-id="AndoTV.cn",Ando TV -http://stream.qhbtv.com/adws/sd/live.m3u8 -#EXTINF:-1 tvg-id="XizangTVChinese.cn",Xizang TV Chinese -http://php.jdshipin.com/xztv.php?id=ws diff --git a/streams/co.m3u b/streams/co.m3u index 048ef1589..f34282d33 100644 --- a/streams/co.m3u +++ b/streams/co.m3u @@ -65,6 +65,8 @@ https://canaldos.internetinalambrico.com.co:1936/live/canal2.stream/playlist.m3u https://glb.bozztv.com/glb/ssh101/infotv01/playlist.m3u8 #EXTINF:-1 tvg-id="CanalInstitucional.co",Canal Institucional (720p) [Not 24/7] https://streaming.rtvc.gov.co/TV_CanalInstitucional_live/smil:live.smil/playlist.m3u8 +#EXTINF:-1 tvg-id="CanalInstitucional.co",Canal Institucional (480p) +http://190.2.212.209:8050/play/a0lw #EXTINF:-1 tvg-id="CanalMasTelevision.co",Canal Mรกs Televisiรณn (720p) https://movil.ejeserver.com/live/teledoradahd.m3u8 #EXTINF:-1 tvg-id="CanalMasTelevision.co",Canal Mรกs Televisiรณn (720p) @@ -81,6 +83,8 @@ https://video.ejeserver.com/live/nets.m3u8 https://canal.mediaserver.com.co/live/oracionconson.m3u8 #EXTINF:-1 tvg-id="CanalPyC.co",Canal PyC (480p) [Not 24/7] https://glb.bozztv.com/glb/ssh101/pyctelevision/index.m3u8 +#EXTINF:-1 tvg-id="CanalRCN.co",Canal RCN (480p) +http://190.2.212.209:8050/play/a0lt #EXTINF:-1 tvg-id="CanalRegionalFTV.co",Canal Regional FTV (720p) [Not 24/7] https://tvlatina.live:1936/8024/8024/playlist.m3u8 #EXTINF:-1 tvg-id="CanalSantaMartaTV.co",Canal Santa Marta TV (720p) [Not 24/7] @@ -92,6 +96,8 @@ https://play.amelbasoluciones.co:3976/live/telepalmartvlive.m3u8 #EXTINF:-1 tvg-id="CanalTRO.co" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",Canal TRO (1080p) #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160 https://liveingesta118.cdnmedia.tv/canaltro2live/smil:live.smil/playlist.m3u8 +#EXTINF:-1 tvg-id="CanalTRO.co",Canal TRO (480p) +http://190.2.212.209:8050/play/a0m5 #EXTINF:-1 tvg-id="CanalTROPlus.co" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",Canal TRO Plus (1080p) [Geo-blocked] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160 https://liveingesta118.cdnmedia.tv/canaltro2live/smil:troplus.smil/playlist.m3u8 @@ -196,6 +202,8 @@ https://xhateaec.com/livestreams/19.crKOSL8FRzpid0MA.m3u8 https://stmv4.voxtvhd.com.br/psctv/psctv/playlist.m3u8 #EXTINF:-1 tvg-id="",PyC Televisiรณn (720p) [Not 24/7] https://ssh101-fl.bozztv.com/ssh101/pyctelevision/playlist.m3u8 +#EXTINF:-1 tvg-id="RCNNovelas.co",RCN Novelas (480p) +http://190.2.212.209:8050/play/a0ox #EXTINF:-1 tvg-id="RCNXtra.co",RCN Xtra (1080p) https://latv-rcn-xtra-1-mx.tcl.wurl.tv/playlist.m3u8 #EXTINF:-1 tvg-id="RDMTelevision.co",RDM Televisiรณn (720p) [Not 24/7] @@ -212,6 +220,8 @@ https://tvlatina.live:1936/8004/8004/playlist.m3u8 https://server.asilivehd.com:3802/live/canal4live.m3u8 #EXTINF:-1 tvg-id="SenalColombia.co",Seรฑal Colombia (1080p) https://streaming.rtvc.gov.co/TV_Senal_Colombia_live/smil:live.smil/playlist.m3u8 +#EXTINF:-1 tvg-id="SinLimites.co",Sin Limites (480p) +http://190.2.212.209:8050/play/a0pa #EXTINF:-1 tvg-id="SuramTV.co",Suram TV (1080p) https://livetv.305streamhd.com:3111/live/suramtvlive.m3u8 #EXTINF:-1 tvg-id="TamesisTeVe.co",Tรกmesis TeVe (614p) [Not 24/7] @@ -228,18 +238,24 @@ https://video.ejeserver.com/live/telesanjacinto.m3u8 #EXTINF:-1 tvg-id="TeleVid.co" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",Tele Vid (1080p) #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160 https://liveingesta118.cdnmedia.tv/televidtvlive/smil:dvrlive.smil/playlist.m3u8?DVR= +#EXTINF:-1 tvg-id="Teleantioquia.co",Teleantioquia (480p) +http://190.2.212.209:8050/play/a0n1 #EXTINF:-1 tvg-id="Teleantioquia.co" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",Teleantioquia (360p) [Not 24/7] #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160 https://liveingesta118.cdnmedia.tv/teleantioquialive/smil:dvrlive.smil/playlist.m3u8 #EXTINF:-1 tvg-id="Teleantioquia2.co" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",Teleantioquia 2 (720p) #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160 https://liveingesta118.cdnmedia.tv/teleantioquialive/smil:live.smil/playlist.m3u8?DVR= +#EXTINF:-1 tvg-id="Telecafe.co",Telecafe (480p) +http://190.2.212.209:8050/play/a0ne #EXTINF:-1 tvg-id="Telecafe.co" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",Telecafรฉ (720p) #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160 https://liveingesta118.cdnmedia.tv/telecafelive/smil:dvrlive.smil/playlist.m3u8 #EXTINF:-1 tvg-id="Telecaribe.co" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",Telecaribe (720p) #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160 https://liveingesta118.cdnmedia.tv/telecaribetvlive/smil:rtmp01.smil/playlist.m3u8 +#EXTINF:-1 tvg-id="Telecaribe.co",Telecaribe (480p) +http://190.2.212.209:8050/play/a0nc #EXTINF:-1 tvg-id="TelecaribePlus.co" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160",Telecaribe Plus (720p) #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 CrKey/1.44.191160 https://liveingesta118.cdnmedia.tv/telecaribetvlive/smil:rtmp02.smil/playlist.m3u8 @@ -247,10 +263,14 @@ https://liveingesta118.cdnmedia.tv/telecaribetvlive/smil:rtmp02.smil/playlist.m3 https://cp.panelchs.com:1936/8094/8094/playlist.m3u8 #EXTINF:-1 tvg-id="Teleislas.co",Teleislas (486p) [Not 24/7] https://5ab772334c39c.streamlock.net/live-teleislas/teleislas/playlist.m3u8 +#EXTINF:-1 tvg-id="Teleislas.co",Teleislas (480p) +http://190.2.212.209:8050/play/a0m6 #EXTINF:-1 tvg-id="TelemusicaTV.co",Telemรบsica TV (540p) [Geo-blocked] https://canal.mediaserver.com.co/live/telemusica.m3u8 #EXTINF:-1 tvg-id="TelenetTelevision.co",Telenet Televisiรณn (478p) https://cp.panelchs.com:1936/8058/8058/playlist.m3u8 +#EXTINF:-1 tvg-id="Telepacifico.co",Telepacifico (480p) +http://190.2.212.209:8050/play/a0n3 #EXTINF:-1 tvg-id="Telepacifico.co",Telepacรญfico (1080p) [Not 24/7] https://stream.logicideas.media/telepacifico-live/smil:live.smil/playlist.m3u8 #EXTINF:-1 tvg-id="Telepasto.co",Telepasto (360p) [Geo-blocked] @@ -263,6 +283,8 @@ https://cp.panelchs.com:1936/8060/8060/playlist.m3u8 https://stream.logicideas.media/canaltrece-live/smil:live.smil/playlist.m3u8 #EXTINF:-1 tvg-id="TrecePlus.co",Trece + (720p) https://stream.logicideas.media/canaltreceplus-live/smil:live1plus.smil/playlist.m3u8 +#EXTINF:-1 tvg-id="TrecePlus.co",Trece+ (480p) +http://190.2.212.209:8050/play/a0nf #EXTINF:-1 tvg-id="TropicalTV.co",Tropical TV (480p) [Not 24/7] https://rpn3.bozztv.com/ssh101/ssh101/estvco/playlist.m3u8 #EXTINF:-1 tvg-id="TuKanal.co",Tu Kanal (1080p) @@ -293,30 +315,8 @@ https://video.ejeserver.com/live/veotv.m3u8 https://eu1.servers10.com:8081/vidanuevatv/index.m3u8 #EXTINF:-1 tvg-id="ViveTV.co",Vive TV Colombia (1080p) http://192.144.113.132:1935/live/ViveTV/playlist.m3u8 +#EXTINF:-1 tvg-id="WinSports.co",Win Sports (480p) +http://190.2.212.209:8050/play/a0n2 #EXTINF:-1 tvg-id="Zoom.co" http-referrer="https://canalzoom.org/senal-en-vivo",Zoom (1080p) #EXTVLCOPT:http-referrer=https://canalzoom.org/senal-en-vivo https://canalzoom.smoothcloud.co:3027/live/canalzoombr1live.m3u8 -#EXTINF:-1 tvg-id="CanalRCN.co",Canal RCN (480p) -http://190.2.212.209:8050/play/a0lt -#EXTINF:-1 tvg-id="WinSports.co",Win Sports (480p) -http://190.2.212.209:8050/play/a0n2 -#EXTINF:-1 tvg-id="CanalInstitucional.co",Canal Institucional (480p) -http://190.2.212.209:8050/play/a0lw -#EXTINF:-1 tvg-id="RCNNovelas.co",RCN Novelas (480p) -http://190.2.212.209:8050/play/a0ox -#EXTINF:-1 tvg-id="SinLimites.co",Sin Limites (480p) -http://190.2.212.209:8050/play/a0pa -#EXTINF:-1 tvg-id="CanalTRO.co",Canal TRO (480p) -http://190.2.212.209:8050/play/a0m5 -#EXTINF:-1 tvg-id="Teleantioquia.co",Teleantioquia (480p) -http://190.2.212.209:8050/play/a0n1 -#EXTINF:-1 tvg-id="Telecafe.co",Telecafe (480p) -http://190.2.212.209:8050/play/a0ne -#EXTINF:-1 tvg-id="Telecaribe.co",Telecaribe (480p) -http://190.2.212.209:8050/play/a0nc -#EXTINF:-1 tvg-id="Teleislas.co",Teleislas (480p) -http://190.2.212.209:8050/play/a0m6 -#EXTINF:-1 tvg-id="Telepacifico.co",Telepacifico (480p) -http://190.2.212.209:8050/play/a0n3 -#EXTINF:-1 tvg-id="TrecePlus.co",Trece+ (480p) -http://190.2.212.209:8050/play/a0nf diff --git a/streams/cy.m3u b/streams/cy.m3u index b04edfe1f..f2939fe87 100644 --- a/streams/cy.m3u +++ b/streams/cy.m3u @@ -36,6 +36,10 @@ https://sc-kuzeykibrissmarttv.ercdn.net/kanalt/bantp1/playlist.m3u8 https://sc-kuzeykibrissmarttv.ercdn.net/kibristv/bant1/playlist.m3u8 #EXTINF:-1 tvg-id="OmegaChannel.cy",Omega Channel (1080p) http://l1.cloudskep.com/tst/omcy/playlist.m3u8 +#EXTINF:-1 tvg-id="OMONOIATV.cy",OMONOIA TV (684p) +http://62.233.57.226:8001/play/a00b00 +#EXTINF:-1 tvg-id="OneChannelCyprus.cy",One Channel Cyprus (576p) +http://62.210.211.188:2095/play/a00e #EXTINF:-1 tvg-id="RIK1.cy",RIK 1 http://l6.cloudskep.com/tvb6/rik1-1/mpeg.2ts #EXTINF:-1 tvg-id="RIK2.cy",RIK 2 @@ -60,7 +64,3 @@ https://sc-kuzeykibrissmarttv.ercdn.net/tv2020/bantp1/playlist.m3u8 https://dev.aftermind.xyz/edge-hls/unitrust/voulitv/index.m3u8?token=8TXWzhY3h6jrzqEqx #EXTINF:-1 tvg-id="VouliTV.cy",Vouli TV (1080p) [Not 24/7] https://dev.aftermind.xyz/hls/unitrust/voulitv/index.m3u8?token=8TXWzhY3h6jrzqEqx -#EXTINF:-1 tvg-id="OMONOIATV.cy",OMONOIA TV (684p) -http://62.233.57.226:8001/play/a00b00 -#EXTINF:-1 tvg-id="OneChannelCyprus.cy",One Channel Cyprus (576p) -http://62.210.211.188:2095/play/a00e diff --git a/streams/de.m3u b/streams/de.m3u index d6eba9b61..6df857b60 100644 --- a/streams/de.m3u +++ b/streams/de.m3u @@ -3,8 +3,6 @@ https://123tv-mx1.flex-cdn.net/index.m3u8 #EXTINF:-1 tvg-id="3sat.de",3sat (720p) [Geo-blocked] https://zdf-hls-18.akamaized.net/hls/live/2016501/dach/high/master.m3u8 -#EXTINF:-1 tvg-id="AlexBerlin.de",Alex Berlin (1080p) [Not 24/7] -https://alex-stream.rosebud-media.de/live/alexlivetv40.smil/playlist.m3u8 #EXTINF:-1 tvg-id="AllgauTV.de",Allgรคu TV (1080p) https://stream01.welocal.stream/stream/fhd-allgaeutv_25679/ngrp:stream_all/playlist.m3u8 #EXTINF:-1 tvg-id="AltenburgTV.de",Altenburg TV (1080p) @@ -197,6 +195,8 @@ https://mcdn.ndr.de/ndr/hls/ndr_fs/ndr_nds/master.m3u8 https://mcdn.ndr.de/ndr/hls/ndr_fs/ndr_sh/master.m3u8 #EXTINF:-1 tvg-id="Nickelodeon.de",Nick Germany (1080p) [Geo-blocked] https://0d26a00dfbb1.airspace-cdn.cbsivideo.com/nick1999/master/nick1999.m3u8 +#EXTINF:-1 tvg-id="Nickelodeon.de",Nickelodeon +https://ma.anixa.tv/clips/stream/nickelodeon/playlist.php #EXTINF:-1 tvg-id="Nickelodeon.de",Nickelodeon Deutschland [Geo-blocked] https://unilivemtveu-lh.akamaihd.net/i/nickde_1@448749/master.m3u8 #EXTINF:-1 tvg-id="NiederbayernTV.de",Niederbayern TV (720p) @@ -214,13 +214,7 @@ https://hls1.wtnet.de/noa4hh/apple/wifi6500.m3u8 #EXTINF:-1 tvg-id="noa4Norderstedt.de",Noa 4 Norderstedt (1080p) https://hls1.wtnet.de/noa4/apple/wifi6500.m3u8 #EXTINF:-1 tvg-id="NRWision.de",NRWision (1080p) -https://fms.nrwision.de/live/livestreamHD.stream/playlist.m3u8 -#EXTINF:-1 tvg-id="NRWision.de",NRWISION (1080p) -https://fms.nrwision.de/live/livestreamHD.stream_source/playlist.m3u8 -#EXTINF:-1 tvg-id="NRWision.de",NRWision (720p) -https://fms.nrwision.de/live/livestreamHD.stream_1080p/playlist.m3u8 -#EXTINF:-1 tvg-id="NRWision.de",NRWision (360p) -https://fms.nrwision.de/live/livestreamHD.stream_360p/playlist.m3u8 +https://fms.nrwision.de/live/ngrp:livestreamHD.stream/playlist.m3u8 #EXTINF:-1 tvg-id="OberpfalzTV.de",Oberpfalz TV (1080p) https://oberpfalztv.iptv-playoutcenter.de/oberpfalztv/oberpfalztv.stream_1/playlist.m3u8 #EXTINF:-1 tvg-id="Oeins.de",oeins (Oldenburg) (1080p) [Not 24/7] @@ -371,17 +365,12 @@ https://live.creacast.com/rockland-radio/smil:rockland-radio.smil/playlist.m3u8 https://rt-ger.rttv.com/dvr/rtdeutsch/playlist.m3u8 #EXTINF:-1 tvg-id="RTDE.de",RT DE (1080p) [Not 24/7] https://rt-ger.rttv.com/live/rtdeutsch/playlist.m3u8 -#EXTINF:-1 tvg-id="RTL.de",RTL (576p) -https://s6.hopslan.com/rtlc1/tracks-v1a1/mono.m3u8 #EXTINF:-1 tvg-id="RTL.de",RTL (Germany) (576p) http://178.219.128.68:64888/RTL #EXTINF:-1 tvg-id="RTLSuper.de",RTL Super (576p) http://178.219.128.68:64888/SUPERTL #EXTINF:-1 tvg-id="RTLZwei.de",RTL Zwei (1080p) http://178.219.128.68:64888/RTL2 -#EXTINF:-1 tvg-id="RTLZwei.de" http-referrer="https://www.2ix2.com/rtl2-live/",RTL Zwei (576p) -#EXTVLCOPT:http-referrer=https://www.2ix2.com/rtl2-live/ -https://s6.hopslan.com/rtl2x1/index.m3u8 #EXTINF:-1 tvg-id="SaarlandFernsehen1.de",Saarland Fernsehen 1 (1080p) https://saarland1.iptv-playoutcenter.de/saarland1/saarland1.stream_1/playlist.m3u8 #EXTINF:-1 tvg-id="SaarlandFernsehen2.de",Saarland Fernsehen 2 (720p) [Not 24/7] @@ -492,6 +481,8 @@ https://wdrlokalzeit.akamaized.net/hls/live/2018025-b/wdrlz_muensterland/master. https://wdrlokalzeit.akamaized.net/hls/live/2018020-b/wdrlz_siegen/master.m3u8 #EXTINF:-1 tvg-id="WDRFernsehenWuppertal.de",WDR Fernsehen Wuppertal (720p) [Geo-blocked] https://wdrlokalzeit.akamaized.net/hls/live/2018028-b/wdrlz_wuppertal/master.m3u8 +#EXTINF:-1 tvg-id="WELT.de",WELT +https://s6.hopslan.com/n24X/index.m3u8 #EXTINF:-1 tvg-id="WeltderWunderTV.de",Welt der Wunder TV (576p) https://wdw.iptv-playoutcenter.de/wdw/wdw1/playlist.m3u8 #EXTINF:-1 tvg-id="Wir24TV.de",Wir24 TV (1080p) [Geo-blocked] @@ -510,7 +501,9 @@ https://zdf-hls-16.akamaized.net/hls/live/2016499/de/high/master.m3u8 https://ef56ef401101403a8b06f1dec29ef1eb.mediatailor.us-east-1.amazonaws.com/v1/master/44f73ba4d03e9607dcd9bebdcb8494d86964f1d8/Samsung-de_ZeeOne/playlist.m3u8 #EXTINF:-1 tvg-id="ZweiMusicTelevision.de",ZWEI2 Music (1080p) https://cdne.folxplay.tv/folx-trz/streams/ch-2/master.m3u8 -#EXTINF:-1 tvg-id="WELT.de",WELT -https://s6.hopslan.com/n24X/index.m3u8 -#EXTINF:-1 tvg-id="Nickelodeon.de",Nickelodeon -https://ma.anixa.tv/clips/stream/nickelodeon/playlist.php +#EXTINF:-1 tvg-id="MCTV.de",MC TV (720p) +https://rrr.sz.xlcdn.com/?account=mceutv&file=mc2&type=live&service=wowza&protocol=https&output=playlist.m3u8 +#EXTINF:-1 tvg-id="RFH.de",RFH (1080p) +https://h056.video-stream-hosting.de/medienasa-live/_definst_/mp4:RFH_high/index.m3u8 +#EXTINF:-1 tvg-id="AlexBerlin.de",Alex Berlin (1080p) +https://alex-stream.rosebud-media.de/bounce/alexlivetv50.smil/index.m3u8 diff --git a/streams/do.m3u b/streams/do.m3u index 5bc8eac39..db58dc992 100644 --- a/streams/do.m3u +++ b/streams/do.m3u @@ -185,6 +185,8 @@ https://ss3.domint.net:3136/gtv_str/globalhd/playlist.m3u8 https://imagenuniversaltv.net:3820/live/guacaratvlive.m3u8 #EXTINF:-1 tvg-id="",Guaymate [Not 24/7] https://5790d294af2dc.streamlock.net/8100/8100/playlist.m3u8 +#EXTINF:-1 tvg-id="GuaymateTV.do",Guaymate TV (720p) +https://ssh101stream.ssh101.com/akamaissh101/ssh101/guaymatetv/playlist.m3u8 #EXTINF:-1 tvg-id="HainaVision.do",Haina Vision (720p) https://cdn.streamingcpanel.com:3447/live/hainavisionlive.m3u8 #EXTINF:-1 tvg-id="HermanasMirabalTV.do",Hermanas Mirabal TV (720p) [Not 24/7] @@ -517,5 +519,3 @@ https://ss3.domint.net:3108/zol_str/vzol/playlist.m3u8 https://5790d294af2dc.streamlock.net/Zonavisiontv/Zonavisiontv/playlist.m3u8 #EXTINF:-1 tvg-id="ZTV.do",ZTV (720p) [Not 24/7] https://lb00zdigital.streamprolive.com/mnt/hls/live.m3u8 -#EXTINF:-1 tvg-id="GuaymateTV.do",Guaymate TV (720p) -https://ssh101stream.ssh101.com/akamaissh101/ssh101/guaymatetv/playlist.m3u8 diff --git a/streams/ec.m3u b/streams/ec.m3u index a9144a5a9..e1e30dad8 100644 --- a/streams/ec.m3u +++ b/streams/ec.m3u @@ -130,8 +130,6 @@ https://ssh101-fl.bozztv.com/ssh101/scandalotv/index.m3u8 https://eu1.servers10.com:8081/8108/index.m3u8 #EXTINF:-1 tvg-id="SonoOndaTV.ec",Sono Onda TV (720p) https://live.obslivestream.com/sonoondatv/index.m3u8 -#EXTINF:-1 tvg-id="Teleamazonas.ec",Teleamazonas (1080p) [Geo-blocked] -https://teleamazonas-live.cdn.vustreams.com/live/0fc97608-6057-4db8-9af7-102c21ac18af/live.isml/0fc97608-6057-4db8-9af7-102c21ac18af.m3u8 #EXTINF:-1 tvg-id="Teledigital.ec",Teledigital (240p) [Not 24/7] https://tv.portalexpress.es:3182/hybrid/play.m3u8 #EXTINF:-1 tvg-id="Telerama.ec",Telerama (240p) [Not 24/7] @@ -154,3 +152,5 @@ https://cloud37.ecuatel.com/vostv/live/manifest.m3u8 https://video2.makrodigital.com/wuanplus/wuanplus/playlist.m3u8 #EXTINF:-1 tvg-id="ZaracayTV.ec",Zaracay TV (1080p) [Not 24/7] https://video2.makrodigital.com/zaracay/zaracay/playlist.m3u8 +#EXTINF:-1 tvg-id="Teleamazonas.ec",Teleamazonas (1080p) +https://teleamazonas-live.cdn.vustreams.com/live/fd4ab346-b4e3-4628-abf0-b5a1bc192428/live.isml/playlist.m3u8 diff --git a/streams/eg.m3u b/streams/eg.m3u index a12a8287f..69af3923e 100644 --- a/streams/eg.m3u +++ b/streams/eg.m3u @@ -45,9 +45,13 @@ https://shls-masr2-ak.akamaized.net/out/v1/f683685242b549f48ea8a5171e3e993a/inde https://nogoumtv.nrpstream.com/hls/stream.m3u8 #EXTINF:-1 tvg-id="PNCDrama.eg",PNC Drama (1080p) https://d35j504z0x2vu2.cloudfront.net/v1/master/0bc8e8376bd8417a1b6761138aa41c26c7309312/pnc-drama/playlist.m3u8 +#EXTINF:-1 tvg-id="TeN.eg",TeN (720p) [Geo-blocked] +https://weyyak-live.akamaized.net/weyyak_ten_tv/index.m3u8 #EXTINF:-1 tvg-id="TheKingdomSat.eg",The Kingdom Sat (720p) https://bcovlive-a.akamaihd.net/0e524e1838ed411dad0a674d18e07914/eu-central-1/6415808954001/playlist_dvr.m3u8 #EXTINF:-1 tvg-id="WatanTV.eg",Watan TV (1080p) https://rp.tactivemedia.com/watantv_source/live/playlist.m3u8 -#EXTINF:-1 tvg-id="TeN.eg",TeN (720p) [Geo-blocked] -https://weyyak-live.akamaized.net/weyyak_ten_tv/index.m3u8 +#EXTINF:-1 tvg-id="RotanaCinemaEgypt.eg",Rotana Cinema Egypt (1080p) +https://rotana.hibridcdn.net/rotana/cinemamasr_net-7Y83PP5adWixDF93/playlist.m3u8 +#EXTINF:-1 tvg-id="OnE.eg",On E (1080p) +https://bcovlive-a.akamaihd.net/3dc60bab470f4c9fbf00408ecb7c3d7a/eu-west-1/6057955906001/playlist_dvr.m3u8 diff --git a/streams/es.m3u b/streams/es.m3u index f0ed591d3..63461de66 100644 --- a/streams/es.m3u +++ b/streams/es.m3u @@ -52,10 +52,20 @@ https://cls.alcarria.tv/alcarriatv/livestream/playlist.m3u8 http://vegafibratv.com:8085/AMC/index.m3u8 #EXTINF:-1 tvg-id="Antena3.es",Antena 3 (720p) http://185.189.225.150:85/Antena3HD/index.m3u8 +#EXTINF:-1 tvg-id="AquiNoHayQuienViva.es",Aqui No Hay Quien Viva (720p) +https://fast-channels.atresmedia.com/648ef3951756b0e425af83cc/648ef3951756b0e425af83cc.m3u8 #EXTINF:-1 tvg-id="ArabiTV.es",Arabรญ TV (1080p) https://streamtv2.elitecomunicacion.cloud:3956/live/arabitvlive.m3u8 #EXTINF:-1 tvg-id="AragonTV.es",Aragรณn TV (720p) [Not 24/7] https://cartv.streaming.aranova.es/hls/live/aragontv_canal1.m3u8 +#EXTINF:-1 tvg-id="AtresplayerClasicos.es",Atresplayer Clasicos (1080p) +https://fast-channels.atresmedia.com/648ef12c2bfab0e4507e0d61/648ef12c2bfab0e4507e0d61.m3u8 +#EXTINF:-1 tvg-id="AtresplayerComedia.es",Atresplayer Comedia (1080p) +https://fast-channels.atresmedia.com/648ef23d2bfab0e4557e0d61/648ef23d2bfab0e4557e0d61.m3u8 +#EXTINF:-1 tvg-id="AtresplayerInquietos.es",Atresplayer Inquietos (1080p) +https://fast-channels.atresmedia.com/648ef3162bfab0e4587e0d61/648ef3162bfab0e4587e0d61.m3u8 +#EXTINF:-1 tvg-id="AtresplayerMulticine.es",Atresplayer Multicine (1080p) +https://fast-channels.atresmedia.com/648ef18c1756b0e41daf83cc/648ef18c1756b0e41daf83cc.m3u8 #EXTINF:-1 tvg-id="BabyTV.es",BabyTV (Spain) (1080p) http://185.189.225.150:85/BabyTV/index.m3u8 #EXTINF:-1 tvg-id="BailenTV.es",Bailรฉn TV (720p) [Not 24/7] @@ -69,6 +79,8 @@ https://cdnapisec.kaltura.com/p/2346171/sp/234617100/playManifest/entryId/1_n644 https://cdnapisec.kaltura.com/p/2346171/sp/234617100/playManifest/entryId/1_n6442jz0/format/applehttp/protocol/https/uiConfId/42816492/a.m3u8?referrer=aHR0cHM6Ly9iZXRldmUuY2F0 #EXTINF:-1 tvg-id="BiosferaTV.es",Biosfera TV (720p) [Not 24/7] https://tvdatta.com:3021/live/biosferatvlive.m3u8 +#EXTINF:-1 tvg-id="Boing.es",Boing +http://185.189.225.150:85/boing/index.m3u8 #EXTINF:-1 tvg-id="BomCine.es",Bom Cine (576p) http://185.189.225.150:85/BOM/index.m3u8 #EXTINF:-1 tvg-id="BonDiaTV.es",Bon Dia TV (1080p) @@ -223,8 +235,12 @@ https://liveingesta318.cdnmedia.tv/9tvlive/smil:live.smil/playlist.m3u8?DVR= https://directes-tv-cat.3catdirectes.cat/live-origin/c33-super3-hls/master.m3u8 #EXTINF:-1 tvg-id="El33SX3.es",El 33 SX3 (1080p) [Geo-blocked] https://directes-tv-es.3catdirectes.cat/live-origin/c33-super3-hls/master.m3u8 +#EXTINF:-1 tvg-id="ElClubdelaComedia.es",El Club de la Comedia (1080p) +https://fast-channels.atresmedia.com/648f47f7a2ffb0e40aeff3ad/648f47f7a2ffb0e40aeff3ad.m3u8 #EXTINF:-1 tvg-id="ElConfidencialTV.es",El Confidencial TV (1080p) https://daqnsnf5phf17.cloudfront.net/v1/master/3722c60a815c199d9c0ef36c5b73da68a62b09d1/cc-sde7fypd1420w-prod/fast-channel-elconfidencial/fast-channel-elconfidencial.m3u8 +#EXTINF:-1 tvg-id="ElHormiguero.es",El Hormiguero (1080p) +https://fast-channels.atresmedia.com/648ef5882bfab0e4627e0d61/648ef5882bfab0e4627e0d61.m3u8 #EXTINF:-1 tvg-id="ElPaisTV.es",EL PAรS TV (1080p) https://d2xqbi89ghm9hh.cloudfront.net/v1/master/3722c60a815c199d9c0ef36c5b73da68a62b09d1/cc-79fx3huimw4xc-ssai-prd/fast-channel-el-pais.m3u8 #EXTINF:-1 tvg-id="ElToroTV.es",El Toro TV (720p) @@ -233,6 +249,8 @@ https://streaming-1.eltorotv.com/lb0/eltorotv-streaming-web/index.m3u8 https://elche7tv.gestec-video.com/hls/canal2.m3u8 #EXTINF:-1 tvg-id="EmpordaTV.es",Empordร  TV (1080p) https://video3.lhdserver.es/empordatv2/live.m3u8 +#EXTINF:-1 tvg-id="EquipodeInvestigacion.es",Equipo de Investigacion (1080p) +https://fast-channels.atresmedia.com/648ef5551756b0e429af83cc/648ef5551756b0e429af83cc.m3u8 #EXTINF:-1 tvg-id="ErloTelebista.es",Erlo Telebista (720p) https://5940924978228.streamlock.net/8159/8159/master.m3u8 #EXTINF:-1 tvg-id="Esport3.es",Esport3 (1080p) [Geo-blocked] @@ -261,8 +279,12 @@ https://media2.streambrothers.com:1936/8150/8150/playlist.m3u8 http://185.189.225.150:85/fdf/index.m3u8 #EXTINF:-1 tvg-id="Fibwi.es",Fibwi (1080p) [Not 24/7] https://hostcdn3.fibwi.com/fibwi_diario/index.fmp4.m3u8 +#EXTINF:-1 tvg-id="FisicaoQuimica.es",Fisica o Quimica (1080p) +https://fast-channels.atresmedia.com/648ef50a2bfab0e4607e0d61/648ef50a2bfab0e4607e0d61.m3u8 #EXTINF:-1 tvg-id="FitelTV.es",Fitel TV (1080p) https://tv.mywifisocial.es/live.m3u8 +#EXTINF:-1 tvg-id="Flooxer.es",Flooxer (1080p) +https://fast-channels.atresmedia.com/5c1285e47ed1a861f8125285/5c1285e47ed1a861f8125285.m3u8 #EXTINF:-1 tvg-id="FuengirolaTV.es",Fuengirola TV (360p) [Not 24/7] https://secure.todostreaming.es/live/nerja-livestream.m3u8 #EXTINF:-1 tvg-id="FuerteventuraTV.es",Fuerteventura TV (1080p) @@ -442,6 +464,8 @@ https://tv.portalexpress.es:3731/stream/play.m3u8 https://tvmelilla-hls-rm-lw.flumotion.com/playlist.m3u8 #EXTINF:-1 tvg-id="RadioTelevisionMogan.es",Radio Televisiรณn Mogรกn (1080p) https://cloudvideo.servers10.com:8081/8028/index.m3u8 +#EXTINF:-1 tvg-id="RakutenViki.es",Rakuten Viki (1080p) +https://newidco-rakutenviki-2-eu.xiaomi.wurl.tv/playlist.m3u8 #EXTINF:-1 tvg-id="RakutenViki.es",Rakuten Viki (720p) https://fd18f1cadd404894a31a3362c5f319bd.mediatailor.us-east-1.amazonaws.com/v1/manifest/04fd913bb278d8775298c26fdca9d9841f37601f/RakutenTV-eu_RakutenViki-1/048a962c-e84b-4a0e-aeb3-98376f4b9953/2.m3u8 #EXTINF:-1 tvg-id="RealMadridTV.es",Real Madrid TV (404p) @@ -655,27 +679,13 @@ https://janus.xpbroadcasting.com:8443/hls/xptvUS.m3u8 #EXTINF:-1 tvg-id="ZafraTV.es" http-referrer="https://player.streamingconnect.com/",Zafra TV (1080p) #EXTVLCOPT:http-referrer=https://player.streamingconnect.com/ https://cloud.fastchannel.es/mic/manifiest/hls/radiotvzafra/radiotvzafra.m3u8 -#EXTINF:-1 tvg-id="RakutenViki.es",Rakuten Viki (1080p) -https://newidco-rakutenviki-2-eu.xiaomi.wurl.tv/playlist.m3u8 -#EXTINF:-1 tvg-id="AtresplayerInquietos.es",Atresplayer Inquietos (1080p) -https://fast-channels.atresmedia.com/648ef3162bfab0e4587e0d61/648ef3162bfab0e4587e0d61.m3u8 -#EXTINF:-1 tvg-id="AtresplayerMulticine.es",Atresplayer Multicine (1080p) -https://fast-channels.atresmedia.com/648ef18c1756b0e41daf83cc/648ef18c1756b0e41daf83cc.m3u8 -#EXTINF:-1 tvg-id="AtresplayerComedia.es",Atresplayer Comedia (1080p) -https://fast-channels.atresmedia.com/648ef23d2bfab0e4557e0d61/648ef23d2bfab0e4557e0d61.m3u8 -#EXTINF:-1 tvg-id="AtresplayerClasicos.es",Atresplayer Clasicos (1080p) -https://fast-channels.atresmedia.com/648ef12c2bfab0e4507e0d61/648ef12c2bfab0e4507e0d61.m3u8 -#EXTINF:-1 tvg-id="Flooxer.es",Flooxer (1080p) -https://fast-channels.atresmedia.com/5c1285e47ed1a861f8125285/5c1285e47ed1a861f8125285.m3u8 -#EXTINF:-1 tvg-id="FisicaoQuimica.es",Fisica o Quimica (1080p) -https://fast-channels.atresmedia.com/648ef50a2bfab0e4607e0d61/648ef50a2bfab0e4607e0d61.m3u8 -#EXTINF:-1 tvg-id="EquipodeInvestigacion.es",Equipo de Investigacion (1080p) -https://fast-channels.atresmedia.com/648ef5551756b0e429af83cc/648ef5551756b0e429af83cc.m3u8 -#EXTINF:-1 tvg-id="ElHormiguero.es",El Hormiguero (1080p) -https://fast-channels.atresmedia.com/648ef5882bfab0e4627e0d61/648ef5882bfab0e4627e0d61.m3u8 -#EXTINF:-1 tvg-id="ElClubdelaComedia.es",El Club de la Comedia (1080p) -https://fast-channels.atresmedia.com/648f47f7a2ffb0e40aeff3ad/648f47f7a2ffb0e40aeff3ad.m3u8 -#EXTINF:-1 tvg-id="AquiNoHayQuienViva.es",Aqui No Hay Quien Viva (720p) -https://fast-channels.atresmedia.com/648ef3951756b0e425af83cc/648ef3951756b0e425af83cc.m3u8 -#EXTINF:-1 tvg-id="Boing.es",Boing -http://185.189.225.150:85/boing/index.m3u8 +#EXTINF:-1 tvg-id="Atreseries.es",Atreseries (480p) +http://181.78.109.48:8000/play/a00l/index.m3u8 +#EXTINF:-1 tvg-id="Antena3.es",Antena 3 (480p) +http://181.78.109.48:8000/play/a00f/index.m3u8 +#EXTINF:-1 tvg-id="AXN.es",AXN (1080p) +http://181.78.109.48:8000/play/a05u/index.m3u8 +#EXTINF:-1 tvg-id="AXN.es",AXN (480p) +http://181.78.109.48:8000/play/a023/index.m3u8 +#EXTINF:-1 tvg-id="Nickelodeon.es",Nickelodeon (480p) +http://181.78.109.48:8000/play/a05a/index.m3u8 diff --git a/streams/es_samsung.m3u b/streams/es_samsung.m3u index 00105f578..159547501 100644 --- a/streams/es_samsung.m3u +++ b/streams/es_samsung.m3u @@ -3,8 +3,6 @@ https://dhx-caillou-1-es.samsung.wurl.tv/playlist.m3u8 #EXTINF:-1 tvg-id="EuronewsSpanish.fr",Euronews en Espaรฑol (720p) https://rakuten-euronews-4-es.samsung.wurl.tv/manifest/playlist.m3u8 -#EXTINF:-1 tvg-id="FashionTVEurope.fr",Fashion TV (Spain) (1080p) -https://fashiontv-fashiontv-2-es.samsung.wurl.tv/manifest/playlist.m3u8 #EXTINF:-1 tvg-id="",iHola Play https://rakuten-hola-2-es.samsung.wurl.tv/playlist.m3u8 #EXTINF:-1 tvg-id="PeopleAreAwesome.us",People are Awesome diff --git a/streams/fr.m3u b/streams/fr.m3u index 5ea99b0d5..934dd079a 100644 --- a/streams/fr.m3u +++ b/streams/fr.m3u @@ -1,4 +1,6 @@ #EXTM3U +#EXTINF:-1 tvg-id="6ter.fr",6ter +https://origin-caf900c010ea8046.live.6cloud.fr/out/v1/29c7a579af3348b48230f76cd75699a5/dash_short_cenc10_6ter_hd_index.mpd #EXTINF:-1 tvg-id="20MinutesTV.fr",20 Minutes TV (1080p) https://lives.digiteka.com/stream/86d3e867-a272-496b-8412-f59aa0104771/index.m3u8 #EXTINF:-1 tvg-id="",A12 TV (720p) @@ -59,6 +61,8 @@ https://raw.githubusercontent.com/Paradise-91/ParaTV/main/streams/equidia/live2. https://raw.githubusercontent.com/Paradise-91/ParaTV/main/streams/equidia/racingmag.m3u8 #EXTINF:-1 tvg-id="EreTV.fr",รˆre TV (1080p) https://mn-nl.mncdn.com/awraastv/awraastv_hd.smil/playlist.m3u8 +#EXTINF:-1 tvg-id="EuronewsEnglishHD.fr",Euronews English HD (1080p) +http://stream01.vnet.am/Channel_119/mono.m3u8 #EXTINF:-1 tvg-id="FashionTVCzechSlovak.fr",FashionTV Czech&Slovak (450p) [Not 24/7] http://lb.streaming.sk/fashiontv/stream/playlist.m3u8 #EXTINF:-1 tvg-id="France2.fr",France 2 (1080p) @@ -185,6 +189,8 @@ http://178.170.47.109/MTVHITS/index.m3u8 http://190.2.155.162:8080/mtvhit/mpegts #EXTINF:-1 tvg-id="MuseumTVFrench.fr",Museum TV (1080p) https://live2.creacast.com/museum-france/smil:museum-france.smil/master.m3u8 +#EXTINF:-1 tvg-id="MuseumTVEnglish.fr",Museum TV English (1080p) +https://cdn-ue1-prod.tsv2.amagi.tv/linear/amg01492-secomsasmediart-museumtven-xiaomi/playlist.m3u8 #EXTINF:-1 tvg-id="MyZenTV.fr",MyZen TV (1080p) https://cdn-ue1-prod.tsv2.amagi.tv/linear/amg01255-secomcofites-my-myzen-en-plex/playlist.m3u8 #EXTINF:-1 tvg-id="NancyWebTV.fr",Nancy Web TV (394p) [Not 24/7] @@ -223,6 +229,10 @@ https://raw.githubusercontent.com/Paradise-91/ParaTV/main/streams/tf1plus/tf1.m3 https://raw.githubusercontent.com/Paradise-91/ParaTV/main/streams/tf1plus/tf1sf.m3u8 #EXTINF:-1 tvg-id="TFX.fr",TFX (720p) [Geo-blocked] https://raw.githubusercontent.com/Paradise-91/ParaTV/main/streams/tf1plus/tfx.m3u8 +#EXTINF:-1 tvg-id="TiVi5Monde.fr",TiVi5 Monde [Geo-blocked] +https://ott.tv5monde.com/Content/HLS/Live/channel(tivi5)/variant.m3u8 +#EXTINF:-1 tvg-id="TiVi5Monde.fr",TiVi5Monde (1080p) +http://154.197.91.168:7001/play/a0dz/index.m3u8 #EXTINF:-1 tvg-id="TMC.fr",TMC (720p) [Geo-blocked] https://raw.githubusercontent.com/Paradise-91/ParaTV/main/streams/tf1plus/tmc.m3u8 #EXTINF:-1 tvg-id="TraceLatina.fr",Trace Latina @@ -231,8 +241,6 @@ http://185.234.217.27:8002/play/a02f/index.m3u8 https://amg01131-tracetv-amg01131c1-rakuten-us-1081.playouts.now.amagi.tv/playlist/amg01131-tracetvfast-traceurban-rakutenus/playlist.m3u8 #EXTINF:-1 tvg-id="TV3V.fr",TV3V (720p) https://tv3v.hdr-tv.com/live/tv3v/livestream/master.m3u8 -#EXTINF:-1 tvg-id="TiVi5Monde.fr",TiVi5Monde (1080p) -http://154.197.91.168:7001/play/a0dz/index.m3u8 #EXTINF:-1 tvg-id="TV5MondeAsia.fr",TV5 Monde Asia (Asie) (1080p) [Geo-blocked] https://ott.tv5monde.com/Content/HLS/Live/channel(seasie)/variant.m3u8 #EXTINF:-1 tvg-id="TV5MondeEurope.fr",TV5Monde Europe (1080p) [Geo-blocked] @@ -275,11 +283,3 @@ https://vosgestv.live-kd.com/live/vosgestv/vosgestv/playlist.m3u8 https://live.digiteka.com/1/WGQ1NnhEN0lzM0NU/dk1EOHhw/hls/live/playlist.m3u8 #EXTINF:-1 tvg-id="Weo.fr",Wรฉo (Picardie) (480p) [Not 24/7] https://live.digiteka.com/1/Zks2L0VsM2V0T242/QTBqcFly/hls/live/playlist.m3u8 -#EXTINF:-1 tvg-id="6ter.fr",6ter -https://origin-caf900c010ea8046.live.6cloud.fr/out/v1/29c7a579af3348b48230f76cd75699a5/dash_short_cenc10_6ter_hd_index.mpd -#EXTINF:-1 tvg-id="EuronewsEnglishHD.fr",Euronews English HD (1080p) -http://stream01.vnet.am/Channel_119/mono.m3u8 -#EXTINF:-1 tvg-id="MuseumTVEnglish.fr",Museum TV English (1080p) -https://cdn-ue1-prod.tsv2.amagi.tv/linear/amg01492-secomsasmediart-museumtven-xiaomi/playlist.m3u8 -#EXTINF:-1 tvg-id="TiVi5Monde.fr",TiVi5 Monde [Geo-blocked] -https://ott.tv5monde.com/Content/HLS/Live/channel(tivi5)/variant.m3u8 diff --git a/streams/gp.m3u b/streams/gp.m3u index dc266db2e..959086c18 100644 --- a/streams/gp.m3u +++ b/streams/gp.m3u @@ -1,6 +1,6 @@ #EXTM3U #EXTINF:-1 tvg-id="ETV.gp",ETV (1080p) -https://edge.vedge.infomaniak.com/livecast/ik:etvgp/manifest.m3u8 +https://edge12.vedge.infomaniak.com/livecast/ik:etvgp/manifest.m3u8 #EXTINF:-1 tvg-id="MadrasFMTV.gp",Madras FM TV (1080p) https://edge12.vedge.infomaniak.com/livecast/ik:madrasfmtv/manifest.m3u8 #EXTINF:-1 tvg-id="RadioTVBasseTerre.gp",Radio TV Basse-Terre (720p) diff --git a/streams/gr.m3u b/streams/gr.m3u index e57fa4e91..78fb449f7 100644 --- a/streams/gr.m3u +++ b/streams/gr.m3u @@ -23,6 +23,10 @@ https://www.hellasnet.tv/rest2.live.hn/w2r.alf/playlist.m3u8 http://alphatvlive.siliconweb.com/1/Y2Rsd1lUcUVoajcv/UVdCN25h/hls/live/playlist.m3u8 #EXTINF:-1 tvg-id="ANT1.gr",ANT1 (1080p) [Geo-blocked] http://d1nfykbwa3n98t.cloudfront.net/out/v1/6e5667da5a6843899a337dea72adb61b/antenna.m3u8 +#EXTINF:-1 tvg-id="ANT1.gr" http-referrer="http://watch.antennaplus.gr" http-user-agent="Chrome",ANT1 (1080p) [Geo-blocked] +#EXTVLCOPT:http-referrer=http://watch.antennaplus.gr +#EXTVLCOPT:http-user-agent=Chrome +https://mcdn.antennaplus.gr/live/media0/Ant1/HLS/Ant1.m3u8 #EXTINF:-1 tvg-id="ART.gr",APT (1080p) https://hugh.cdn.rumble.cloud/live/k5e12sb4/slot-82/fdd0-tbln/chunklist_DVR.m3u8 #EXTINF:-1 tvg-id="ARTTV.gr",ART TV (720p) @@ -63,8 +67,6 @@ http://live.streams.ovh:1935/tvcreta/tvcreta/playlist.m3u8 http://81.171.10.42:554/liveD/DStream.sdp/playlist.m3u8 #EXTINF:-1 tvg-id="DiavataTV.gr",Diavata TV (720p) https://ssh101.bozztv.com/ssh101/diavatatvweb/playlist.m3u8 -#EXTINF:-1 tvg-id="DiavataTV.gr",Diavata TV (720p) -https://video.streams.ovh:1936/DiavataTV/DiavataTV/playlist.m3u8 #EXTINF:-1 tvg-id="DiktyoTV.gr",Diktyo TV (576p) https://5d00db0e0fcd5.streamlock.net/7322/7322/playlist.m3u8 #EXTINF:-1 tvg-id="DipsoTV.gr",Dipso TV (720p) [Not 24/7] @@ -156,6 +158,8 @@ https://til.pp.ua:3872/live/mesogeiostvlive.m3u8 https://vod.streams.ovh:3876/stream/play.m3u8 #EXTINF:-1 tvg-id="NaftemporikiTV.gr",Naftemporiki TV (1080p) https://naftemporiki-live.cdn.vustreams.com/live/a4b4a88a-681c-4a2d-8e74-33daa5f2cb61/live.isml/.m3u8 +#EXTINF:-1 tvg-id="NationalGeographic.gr",National Geographic (1080p) +http://62.210.211.188:2095/play/a00d #EXTINF:-1 tvg-id="NeaTV.gr",Nea TV (720p) https://live.neatv.gr:8888/hls/neatv.m3u8 #EXTINF:-1 tvg-id="NeaTV.gr",Nea TV (720p) @@ -277,9 +281,3 @@ http://live.cretetv.gr:1935/cretetv/myStream/f1tv.m3u8 https://vod.streams.ovh:3037/stream/play.m3u8 #EXTINF:-1 tvg-id="RIKSat.cy",ฮกฮ™ฮš Sat (720p) [Not 24/7] http://l3.cloudskep.com/cybcsat/abr/playlist.m3u8 -#EXTINF:-1 tvg-id="NationalGeographic.gr",National Geographic (1080p) -http://62.210.211.188:2095/play/a00d -#EXTINF:-1 tvg-id="ANT1.gr" http-referrer="http://watch.antennaplus.gr" http-user-agent="Chrome",ANT1 (1080p) [Geo-blocked] -#EXTVLCOPT:http-referrer=http://watch.antennaplus.gr -#EXTVLCOPT:http-user-agent=Chrome -https://mcdn.antennaplus.gr/live/media0/Ant1/HLS/Ant1.m3u8 diff --git a/streams/hu.m3u b/streams/hu.m3u index 6dd7f08ff..4711e943b 100644 --- a/streams/hu.m3u +++ b/streams/hu.m3u @@ -199,12 +199,6 @@ http://194.76.186.33:8000/play/a05h/index.m3u8 http://194.76.186.33:8000/play/a02a/index.m3u8 #EXTINF:-1 tvg-id="RTLHarom.hu",RTL Harom (576p) http://194.76.186.33:8000/play/a05d/index.m3u8 -#EXTINF:-1 tvg-id="RTL.hu",RTL Hungary (1080p) -http://194.76.186.33:8000/play/a041/index.m3u8 -#EXTINF:-1 tvg-id="RTL.hu",RTL Hungary (576p) -http://194.76.186.33:8000/play/a01e/index.m3u8 -#EXTINF:-1 tvg-id="RTL.hu",RTL Hungary (576p) -http://194.76.186.33:8000/play/a04g/index.m3u8 #EXTINF:-1 tvg-id="RTLKetto.hu",RTL Ketto (1080p) http://194.76.186.33:8000/play/a01z/index.m3u8 #EXTINF:-1 tvg-id="RTLKetto.hu",RTL Ketto (576p) diff --git a/streams/in.m3u b/streams/in.m3u index 016c15bbb..b1d182004 100644 --- a/streams/in.m3u +++ b/streams/in.m3u @@ -1,12 +1,12 @@ #EXTM3U #EXTINF:-1 tvg-id="7SMusic.in",7S Music (576p) [Not 24/7] http://103.199.161.254/Content/7smusic/Live/Channel(7smusic)/index.m3u8 -#EXTINF:-1 tvg-id="9XJalwa.in",9X Jalwa -https://amg01281-9xmediapvtltd-9xjalwa-samsungin-goszf.amagi.tv/playlist/amg01281-9xmediapvtltd-9xjalwa-samsungin/playlist.m3u8 #EXTINF:-1 tvg-id="9XJhakaas.in",9x Jhakaas https://amg01281-9xmediapvtltd-9xjhakaas-samsungin-ci2cs.amagi.tv/playlist/amg01281-9xmediapvtltd-9xjhakaas-samsungin/playlist.m3u8 #EXTINF:-1 tvg-id="9XTashan.in",9X Tashan https://amg01281-9xmediapvtltd-9xtashan-samsungin-xz1sd.amagi.tv/playlist/amg01281-9xmediapvtltd-9xtashan-samsungin/playlist.m3u8 +#EXTINF:-1 tvg-id="9XM.in",9XM (576p) +https://d35j504z0x2vu2.cloudfront.net/v1/manifest/0bc8e8376bd8417a1b6761138aa41c26c7309312/9xm/23886666-8fc5-470f-aab1-bd637ed607b1/3.m3u8 #EXTINF:-1 tvg-id="A1TVRajasthan.in",A1 TV Rajasthan (720p) https://5b48d7e1b4bce.streamlock.net/myapp/a1live/playlist.m3u8 #EXTINF:-1 tvg-id="AajTak.in",Aaj Tak @@ -646,6 +646,8 @@ https://yoganadam.cinesoftcdn.com/yoganadam/live/index.m3u8 https://zainabia.livebox.co.in/ZainabiaChannelhls/channel.m3u8 #EXTINF:-1 tvg-id="Zee24Kalak.in",Zee 24 Kalak (720p) https://livetv-channels.b-cdn.net/8077/playlist.m3u8 +#EXTINF:-1 tvg-id="",Zee Alwan (576p) [Not 24/7] +https://tgn.bozztv.com/gin-dvrfl05/ga-zeealwan/index.m3u8 #EXTINF:-1 tvg-id="ZeeBiharJharkhand.in",Zee Bihar Jharkhand (720p) https://d3dxf2v5wg5rcy.cloudfront.net/out/v1/349f643193e347609b16671d8e0bfb4a/index.m3u8 #EXTINF:-1 tvg-id="ZeeBiharJharkhand.in",Zee Bihar Jharkhand (720p) @@ -674,7 +676,13 @@ https://livetv-channels.b-cdn.net/8076/playlist.m3u8 http://183.89.246.119:8881/play/a09a/index.m3u8 #EXTINF:-1 tvg-id="Zoom.in",Zoom (1080p) http://103.81.104.118/hls/stream8.m3u8 -#EXTINF:-1 tvg-id="ZeeAlwan.in",Zee Alwan (576p) [Not 24/7] -https://tgn.bozztv.com/gin-dvrfl05/ga-zeealwan/index.m3u8 -#EXTINF:-1 tvg-id="9XM.in",9XM (576p) -https://d35j504z0x2vu2.cloudfront.net/v1/manifest/0bc8e8376bd8417a1b6761138aa41c26c7309312/9xm/23886666-8fc5-470f-aab1-bd637ed607b1/3.m3u8 +#EXTINF:-1 tvg-id="ShowBox.in",ShowBox +https://epiconvh.akamaized.net/live/showbox/master.m3u8 +#EXTINF:-1 tvg-id="RajTV.in",Raj TV +https://d3qs3d2rkhfqrt.cloudfront.net/out/v1/2839e3d1e0f84a2e821c1708d5fdfdf0/index.m3u8 +#EXTINF:-1 tvg-id="DDSahyadri.in",DD Sahyadri +https://d3qs3d2rkhfqrt.cloudfront.net/out/v1/66dcc3ebe182447ba42837e746cf0c7c/index.m3u8 +#EXTINF:-1 tvg-id="DDSaptagiri.in",DD Saptagiri +https://d2lk5u59tns74c.cloudfront.net/out/v1/26e915d6d12b4a06822c5e33c088ed56/index.m3u8 +#EXTINF:-1 tvg-id="DDHaryana.in",DD Haryana +https://d2lk5u59tns74c.cloudfront.net/out/v1/950fc69666474351bde0a32b9600c804/index.m3u8 diff --git a/streams/iq.m3u b/streams/iq.m3u index 8bdd5d9f7..d67bac805 100644 --- a/streams/iq.m3u +++ b/streams/iq.m3u @@ -3,6 +3,8 @@ https://mediaserver.abnvideos.com/streams/abnsat.m3u8 #EXTINF:-1 tvg-id="AfaqTV.iq",Afaq TV http://63b03f7689049.streamlock.net:1935/live/1/playlist.m3u8 +#EXTINF:-1 tvg-id="AfarinBaxcha.iq",Afarin Baxcha (1080p) +https://5dcabf026b188.streamlock.net/afarinTV/livestream/playlist.m3u8 #EXTINF:-1 tvg-id="AfarinTV.iq",Afarin TV (720p) [Not 24/7] https://65f16f0fdfc51.streamlock.net/afarinTV/livestream/playlist.m3u8 #EXTINF:-1 tvg-id="AlahadTV.iq",Al Ahad TV @@ -32,7 +34,7 @@ https://arrafidain.tvplayer.online/arrafidaintv/source2/playlist.m3u8 https://arrafidain.tvplayer.online/arrafidaintv/source/playlist.m3u8 #EXTINF:-1 tvg-id="AlRasheedTV.iq",Al Rasheed TV (1080p) [Not 24/7] https://media1.livaat.com/static/AL-RASHEED-HD/playlist.m3u8 -#EXTINF:-1 tvg-id="AlShabab.iq",Al Shabab TV (1080p) +#EXTINF:-1 tvg-id="",Al Shabab TV (1080p) http://149.100.11.244:8001/play/a07n/index.m3u8 #EXTINF:-1 tvg-id="AlAimmaTV.iq" http-referrer="https://alaimma.tv",Al-Aimma TV (1080p) #EXTVLCOPT:http-referrer=https://alaimma.tv @@ -138,6 +140,8 @@ http://stream.nubar.tv:1935/private/NUBARtv/playlist.m3u8 https://media2.streambrothers.com:1936/8218/8218/playlist.m3u8 #EXTINF:-1 tvg-id="RudawTV.iq",Rudaw TV (1080p) https://svs.itworkscdn.net/rudawlive/rudawlive.smil/playlist.m3u8 +#EXTINF:-1 tvg-id="ShamsTV.iq",Shams TV (1080p) +https://stream.shams.tv/hls/stream.m3u8 #EXTINF:-1 tvg-id="UTV.iq",UTV (1080p) https://mn-nl.mncdn.com/utviraqi2/64c80359/index.m3u8 #EXTINF:-1 tvg-id="WaarTV.iq",Waar TV @@ -146,7 +150,3 @@ https://ca-rt.onetv.app/Waar/index-0.m3u8 https://5a3ed7a72ed4b.streamlock.net/zagrostv/SMIL:myStream.smil/playlist.m3u8 #EXTINF:-1 tvg-id="",Zarok TV Sorani (720p) https://zindisorani.zaroktv.com.tr/hls/stream.m3u8 -#EXTINF:-1 tvg-id="AfarinBaxcha.iq",Afarin Baxcha (1080p) -https://5dcabf026b188.streamlock.net/afarinTV/livestream/playlist.m3u8 -#EXTINF:-1 tvg-id="ShamsTV.iq",Shams TV (1080p) -https://stream.shams.tv/hls/stream.m3u8 diff --git a/streams/ir.m3u b/streams/ir.m3u index 4d7c35b2a..93a1dcaf2 100644 --- a/streams/ir.m3u +++ b/streams/ir.m3u @@ -71,3 +71,5 @@ https://hls.nejat.live/hls/stream.m3u8 https://hls.vox1.live/hls/stream.m3u8 #EXTINF:-1 tvg-id="YourTimeTV.ir",YourTime TV (720p) [Not 24/7] https://hls.yourtime.live/hls/stream.m3u8 +#EXTINF:-1 tvg-id="VarzeshTV.ir",Varzesh TV (480p) +https://stream.sainaertebat.com/hls2/varzeshtest.m3u8 diff --git a/streams/it.m3u b/streams/it.m3u index db57c39b4..933581a68 100644 --- a/streams/it.m3u +++ b/streams/it.m3u @@ -37,6 +37,8 @@ https://59d7d6f47d7fc.streamlock.net/auroraarte/auroraarte/playlist.m3u8 https://ed05.top-ix.org/avtvlive/azzurra/streaming/playlist.m3u8 #EXTINF:-1 tvg-id="BikeChannel.it",Bike (720p) http://backup.superstreaming.inaria.me/BikeSmartMobilityDTT/playlist.m3u8 +#EXTINF:-1 tvg-id="Boing.it",Boing (720p) +https://liveturner.akamaized.net/75a4d1a90e744fa5b9901a1853d2c47f/eu-central-1/6284318116001/playlist.m3u8 #EXTINF:-1 tvg-id="Boing.it",Boing Italy [Geo-blocked] https://live2.msf.cdn.mediaset.net/content/hls_h0_clr_vos/live/channel(kb)/index.m3u8 #EXTINF:-1 tvg-id="BomChannel.it",Bom Channel @@ -314,6 +316,9 @@ https://mediapolisevent.rai.it/relinker/relinkerServlet.htm?cont=2606803 https://mediapolis.rai.it/relinker/relinkerServlet.htm?cont=308718 #EXTINF:-1 tvg-id="Rai2.it",Rai 2 (302p) [Geo-blocked] http://stream.tvtap.net:8081/live/it-rai2.stream/playlist.m3u8 +#EXTINF:-1 tvg-id="Rai2HD.it" http-referrer="https://babaktv.com/",Rai 2 HD +#EXTVLCOPT:http-referrer=https://babaktv.com/ +https://m3u.iranvids.com/rai02/output.m3u8 #EXTINF:-1 tvg-id="Rai3.it",Rai 3 (720p) https://dash2.antik.sk/live/test_rai_tre_tizen/playlist.m3u8 #EXTINF:-1 tvg-id="Rai3.it",Rai 3 (720p) [Not 24/7] @@ -662,8 +667,11 @@ https://stream.cp.ets-sistemi.it:1936/profservtv/profservtv/playlist.m3u8 https://5f22d76e220e1.streamlock.net/canale5/canale5/playlist.m3u8 #EXTINF:-1 tvg-id="ZerounoTVNews.it",Zerouno TV News (720p) https://5db313b643fd8.streamlock.net/ZerounoTVEventi/ZerounoTVEventi/playlist.m3u8 -#EXTINF:-1 tvg-id="Boing.it",Boing (720p) -https://liveturner.akamaized.net/75a4d1a90e744fa5b9901a1853d2c47f/eu-central-1/6284318116001/playlist.m3u8 -#EXTINF:-1 tvg-id="Rai2HD.it" http-referrer="https://babaktv.com/",Rai 2 HD -#EXTVLCOPT:http-referrer=https://babaktv.com/ -https://m3u.iranvids.com/rai02/output.m3u8 +#EXTINF:-1 tvg-id="Telenova.it",Telenova (720p) +https://64b16f23efbee.streamlock.net/telenova/telenova/playlist.m3u8 +#EXTINF:-1 tvg-id="TeleQuattro.it",Tele Quattro (720p) +https://59d7d6f47d7fc.streamlock.net/telequattro/telequattro/playlist.m3u8 +#EXTINF:-1 tvg-id="7RadioVisione.it",7 RadioVisione (720p) +https://stream10.xdevel.com/video1s976543-1932/stream/playlist.m3u8 +#EXTINF:-1 tvg-id="RTV38.it",RTV38 (576p) +https://streamcdne1-845d8509d2cb4f249dd0b2ae5755b6c2.msvdn.net/rtv38/rtv38_live_main/mainabr/rtv38_live_main/main_576/chunks_dvr.m3u8 diff --git a/streams/jp.m3u b/streams/jp.m3u index 33e9a1736..d698488a8 100644 --- a/streams/jp.m3u +++ b/streams/jp.m3u @@ -32,10 +32,6 @@ https://cdn.skygo.mn/live/disk1/NHK_World_Premium/HLSv3-FTA/NHK_World_Premium.m3 https://master.nhkworld.jp/nhkworld-tv/playlist/live.m3u8 #EXTINF:-1 tvg-id="JOAXDTV.jp",Nippon TV (540p) [Not 24/7] https://ntv4.mov3.co/hls/ntv.m3u8 -#EXTINF:-1 tvg-id="NTVNEWS24.jp",NTV News24 (480p) -https://n24-cdn-live.ntv.co.jp/ch01/index.m3u8 -#EXTINF:-1 tvg-id="NTVNEWS24.jp",NTV News24 (480p) -https://n24-cdn-live.ntv.co.jp/ch02/index.m3u8 #EXTINF:-1 tvg-id="QVC.jp",QVC Japan (720p) https://cdn-live1.qvc.jp/iPhone/1501/1501.m3u8 #EXTINF:-1 tvg-id="ShopChannel.jp",Shop Channel (1080p) [Not 24/7] diff --git a/streams/jp_primehome.m3u b/streams/jp_primehome.m3u index 6aecb4c9d..a3f57c0aa 100644 --- a/streams/jp_primehome.m3u +++ b/streams/jp_primehome.m3u @@ -17,8 +17,6 @@ http://cdns.jp-primehome.com:8000/zhongying/live/playlist.m3u8?cid=bs04&isp=4 http://cdns.jp-primehome.com:8000/zhongying/live/playlist.m3u8?cid=bs05&isp=4 #EXTINF:-1 tvg-id="ChannelGinga.jp",Channel Ginga (1080p) http://cdns.jp-primehome.com:8000/zhongying/live/playlist.m3u8?cid=cs29&isp=4 -#EXTINF:-1 tvg-id="CNNj.jp",CNNj (544p) -http://cdns.jp-primehome.com:8000/zhongying/live/playlist.m3u8?cid=cs16&isp=4 #EXTINF:-1 tvg-id="DisneyChannel.jp",Disney Channel Japan (544p) http://cdns.jp-primehome.com:8000/zhongying/live/playlist.m3u8?cid=bs24&isp=4 #EXTINF:-1 tvg-id="EiseiGekijo.jp",Eisei Gekijo (544p) diff --git a/streams/kh.m3u b/streams/kh.m3u index 16f1a0506..b412e59c7 100644 --- a/streams/kh.m3u +++ b/streams/kh.m3u @@ -17,6 +17,8 @@ https://streaming.freshnewsasia.com/live/ngrp:myStream_all/playlist.m3u8 http://clive.malisresidences.com:1935/hm_hdtv/_definst_/smil:HMHDTV.smil/playlist.m3u8 #EXTINF:-1 tvg-id="iTVHD.kh",iTV HD http://43.252.18.195:5080/live/streams/itv.khmeretv.m3u8 +#EXTINF:-1 tvg-id="KomsanTV.kh",Komsan TV [Not 24/7] +http://tv.cootel.com.kh:8077/streams/d/Komsan/playlist.m3u8 #EXTINF:-1 tvg-id="MSJTV.kh" http-referrer="https://www.iptvservice.site/",MSJ TV (1080p) #EXTVLCOPT:http-referrer=https://www.iptvservice.site/ https://live-ali7.tv360.metfone.com.kh/live/myStream/playlist.m3u8 @@ -38,10 +40,14 @@ https://fmseatv.netlinkbroadcaster.com/hls/test.m3u8 https://live-evg13.tv360.metfone.com.kh/live/towntv.m3u8 #EXTINF:-1 tvg-id="TownTV.kh",Town TV (720p) https://live.kh.malimarcdn.com/live/towntv.stream/playlist.m3u8 +#EXTINF:-1 tvg-id="TV3.kh",TV 3 +http://206.189.93.160:1935/live/myStream_720p/playlist.m3u8 #EXTINF:-1 tvg-id="TV3.kh",TV 3 (720p) https://edge6a.v2h-cdn.com/tv3cam/tv3cam.stream/playlist.m3u8 #EXTINF:-1 tvg-id="TV5Cambodia.kh",TV5 Cambodia http://live.happywatch99.com/livehd14/77bbe9df6a93cf229cd40f1400af00fa.sdp/playlist.m3u8 +#EXTINF:-1 tvg-id="TV5Cambodia.kh",TV5 Cambodia (1080p) +https://es1-p1-netcdn.metfone.com.kh/netcdn-live-36/36/output/playlist.m3u8 #EXTINF:-1 tvg-id="TV5Cambodia.kh",TV5 Cambodia (720p) https://live-evg3.tv360.metfone.com.kh/live/tv5.m3u8 #EXTINF:-1 tvg-id="TVK.kh",TVK (720p) @@ -50,9 +56,7 @@ https://live.kh.malimarcdn.com/live/tvk.stream/playlist.m3u8 https://live.kh.malimarcdn.com/live/tvk2.stream/playlist.m3u8 #EXTINF:-1 tvg-id="WikiTV.kh",WIKI TV (720p) https://stream.wikitv.asia/live/ngrp:myStream_all/playlist.m3u8 -#EXTINF:-1 tvg-id="TV5Cambodia.kh",TV5 Cambodia (1080p) -https://es1-p1-netcdn.metfone.com.kh/netcdn-live-36/36/output/playlist.m3u8 -#EXTINF:-1 tvg-id="KomsanTV.kh",Komsan TV [Not 24/7] -http://tv.cootel.com.kh:8077/streams/d/Komsan/playlist.m3u8 -#EXTINF:-1 tvg-id="TV3.kh",TV 3 -http://206.189.93.160:1935/live/myStream_720p/playlist.m3u8 +#EXTINF:-1 tvg-id="MyTV.kh",My TV +http://43.252.18.195:5080/live/streams/mytv.m3u8 +#EXTINF:-1 tvg-id="CTN.kh",CTN (480p) +http://43.252.18.195:5080/live/streams/ctntv.m3u8 diff --git a/streams/kr.m3u b/streams/kr.m3u index 43e77ed70..b76ce9137 100644 --- a/streams/kr.m3u +++ b/streams/kr.m3u @@ -35,6 +35,8 @@ https://btn.nowcdn.co.kr/btn/btnlive2m/playlist.m3u8 https://du35ivadp6cxj.cloudfront.net/out/v1/81781d23cbbf490990b2aa9181d4ce19/CGNWebLiveKR.m3u8 #EXTINF:-1 tvg-id="ChannelA.kr",Channel A [Geo-blocked] http://channelalive.ktcdn.co.kr/chalivepc/_definst_/atv2/playlist.m3u8 +#EXTINF:-1 tvg-id="ChannelA.kr",Channel A (360p) +http://www.hwado.net/webtv/catv/52_440DDPPJ.php #EXTINF:-1 tvg-id="CJOnStyle.kr",CJ OnStyle (540p) https://live-ch1.cjonstyle.net/cjmalllive/stream2/playlist.m3u8 #EXTINF:-1 tvg-id="CJOnStylePlus.kr",CJ OnStyle Plus (540p) @@ -86,8 +88,6 @@ https://live.jobplustv.or.kr/live/wowtvlive1.sdp/playlist.m3u8 #EXTINF:-1 tvg-id="KBS1TV.kr",KBS 1TV [Not 24/7] http://mytv.dothome.co.kr/ch/public/1.php #EXTINF:-1 tvg-id="KBS1TV.kr",KBS 1 UHD (720p) -http://202.60.106.14:8080/200/playlist.m3u8 -#EXTINF:-1 tvg-id="KBS1TV.kr",KBS 1 UHD (720p) http://202.60.106.14:21585/200/playlist.m3u8 #EXTINF:-1 tvg-id="KBS2TV.kr",KBS 2TV [Not 24/7] http://mytv.dothome.co.kr/ch/public/3.php @@ -105,8 +105,6 @@ http://kbs-dokdo.gscdn.com/dokdo_300/dokdo_300.stream/playlist.m3u8 http://mytv.dothome.co.kr/ch/catv/4.php #EXTINF:-1 tvg-id="KBSWorld.kr",KBS World http://mytv.dothome.co.kr/ch/catv/7.php -#EXTINF:-1 tvg-id="KBSWorld.kr",KBS World (Vietnamese Subtitles) (720p) -https://livecdn.fptplay.net/sdb/kbs_hls.smil/playlist.m3u8 #EXTINF:-1 tvg-id="KCTV.kr",KCTV ๊ด‘์ฃผ CH05 (720p) [Not 24/7] http://119.77.96.184:1935/chn05/chn05/playlist.m3u8 #EXTINF:-1 tvg-id="KTV.kr",Korea TV (1080p) @@ -147,6 +145,8 @@ https://5ee9633b25727.streamlock.net/jmbc_tv/_definst_/jmbc_tv.stream/playlist.m http://vod.mpmbc.co.kr:1935/live/encoder-tv/playlist.m3u8 #EXTINF:-1 tvg-id="MBCNet.kr",MBC Net (480p) [Geo-blocked] http://mytv.dothome.co.kr/ch/catv/28.php +#EXTINF:-1 tvg-id="MBCTV.kr",MBC TV (720p) +http://www.hwado.net/webtv/catv/503_CFEA7803.php #EXTINF:-1 tvg-id="HLATDTV.kr",MBC Yeosu (์—ฌ์ˆ˜ MBC) (1080p) [Not 24/7] https://5c3639aa99149.streamlock.net/live_TV/tv/playlist.m3u8 #EXTINF:-1 tvg-id="MTN.kr",MTN (720p) @@ -173,6 +173,8 @@ https://live.knou.ac.kr/knou1/live1/playlist.m3u8 https://rtv-stream2.a04f922e9e85c8d25ebfeae3dfd22a67.com/rtv/rtv.m3u8 #EXTINF:-1 tvg-id="RUTCTV.kr",RUTC TV (720p) http://d26sxnc75smwvh.cloudfront.net/livehttporigin/rutclive_720p2.stream/playlist.m3u8 +#EXTINF:-1 tvg-id="SBS.kr",SBS (480p) +http://www.hwado.net/webtv/catv/502_76142D8F.php #EXTINF:-1 tvg-id="HLDRDTV.kr",SBS CJB (540p) [Not 24/7] http://1.222.207.80:1935/live/cjbtv/playlist.m3u8 #EXTINF:-1 tvg-id="HLCGDTV.kr",SBS G1 (360p) [Not 24/7] @@ -221,9 +223,3 @@ http://157.245.196.186/live/livestream.m3u8 http://202.60.106.14:8080/214/playlist.m3u8 #EXTINF:-1 tvg-id="YTN.kr",YTN (720p) http://202.60.106.14:21585/214/playlist.m3u8 -#EXTINF:-1 tvg-id="SBS.kr",SBS (480p) -http://www.hwado.net/webtv/catv/502_76142D8F.php -#EXTINF:-1 tvg-id="ChannelA.kr",Channel A (360p) -http://www.hwado.net/webtv/catv/52_440DDPPJ.php -#EXTINF:-1 tvg-id="MBCTV.kr",MBC TV (720p) -http://www.hwado.net/webtv/catv/503_CFEA7803.php diff --git a/streams/kz.m3u b/streams/kz.m3u index 9c58de14a..e5e164eb2 100644 --- a/streams/kz.m3u +++ b/streams/kz.m3u @@ -31,8 +31,6 @@ https://stream.kaztrk.kz/regional/kokshetautv/index.m3u8 http://212.42.111.152:8080/hls/manas.m3u8 #EXTINF:-1 tvg-id="Mangystay.kz",Maล„วตystaรฝ (540p) [Not 24/7] https://stream.kaztrk.kz/regional/mangystautv/index.m3u8 -#EXTINF:-1 tvg-id="MuzzOne.kz",MuzzOne (1080p) -https://muzzone-stream.daitsuna.net/muzzondvr/muzzone/playlist_dvr.m3u8 #EXTINF:-1 tvg-id="Ontustik.kz",Ontรบstik (360p) https://stream.kaztrk.kz/regional/shymkenttv/index.m3u8 #EXTINF:-1 tvg-id="Qazaqstan.kz",Qazaqstan TV (720p) [Not 24/7] @@ -63,3 +61,5 @@ https://tvcdn01.oktv.kz/tv/mtrk/playlist.m3u8 http://serv25.vintera.tv:8081/novoetv/nov_tv/playlist.m3u8 #EXTINF:-1 tvg-id="ChannelOneEurasia.kz",ะŸะตั€ะฒั‹ะน ะบะฐะฝะฐะป ะ•ะฒั€ะฐะทะธั (720p) https://1tvkz-stream.daitsuna.net/1tvkz/1tvkz/playlist.m3u8 +#EXTINF:-1 tvg-id="MuzzOne.kz",MuzzOne (1080p) +https://streams.qazcdn.net/muzzone/muzzone/playlist_dvr.m3u8 diff --git a/streams/lk.m3u b/streams/lk.m3u index 23f004fcf..a58517609 100644 --- a/streams/lk.m3u +++ b/streams/lk.m3u @@ -3,8 +3,6 @@ https://tv.hiruhost.com:1936/8012/8012/playlist.m3u8 #EXTINF:-1 tvg-id="ImaiTV.lk",Imai TV (720p) https://rpn3.bozztv.com/ssh101/ssh101/imaitv/playlist.m3u8 -#EXTINF:-1 tvg-id="ITN.lk",ITN (720p) [Not 24/7] -https://j78dp2pnlq5r-hls-live.comcities.net/ITNDigital/cf467ddf13ba30dd3c71435cafa6fd6e.sdp/playlist_dvr.m3u8 #EXTINF:-1 tvg-id="MonaraTV.lk",Monara TV (720p) [Not 24/7] https://jk3lz8xklw79-hls-live.5centscdn.com/lpl/d0dbe915091d400bd8ee7f27f0791303.sdp/playlist.m3u8 #EXTINF:-1 tvg-id="Rupavahini.lk",Rupavahini (480p) @@ -19,3 +17,7 @@ https://jk3lz8xklw79-hls-live.5centscdn.com/live/6226f7cbe59e99a90b5cef6f94f966f https://j78dp2pnlq5r-hls-live.comcities.net/ITNDigital/20a317b0496a4930b375290505e5d628.sdp/playlist_dvr.m3u8 #EXTINF:-1 tvg-id="VerbumTV.lk",Verbum TV (414p) [Not 24/7] https://verbumtv.livebox.co.in/verbumtvhls/live.m3u8 +#EXTINF:-1 tvg-id="VasanthamTV.lk",Vasantham TV (720p) +https://222103-hls.akamaized.net/668828a00bf80aa436254876/live_2cdb4ef03c1311efadcf7986aa245789/rewind-3600.m3u8 +#EXTINF:-1 tvg-id="ITN.lk",ITN (1080p) +https://222103-hls.akamaized.net/668828a00bf80aa436254876/live_aabd3d003af211efadcf7986aa245789/rewind-3600.m3u8 diff --git a/streams/ma.m3u b/streams/ma.m3u index 1432ae056..fbe581a48 100644 --- a/streams/ma.m3u +++ b/streams/ma.m3u @@ -3,36 +3,26 @@ #EXTVLCOPT:http-referrer=https://2m.ma #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0 https://cdn-globecast.akamaized.net/live/eds/2m_monde/hls_video_ts_tuhawxpiemz257adfc/2m_monde.m3u8 -#EXTINF:-1 tvg-id="2MNational.ma",2M National (1080p) -http://154.197.91.168:7001/play/a0fn/index.m3u8 -#EXTINF:-1 tvg-id="AlAoulaInter.ma",Al Aoula International (1080p) -http://154.197.91.168:7001/play/a0f5/index.m3u8 #EXTINF:-1 tvg-id="AlAoulaInter.ma",Al Aoula International (480p) https://cdn.live.easybroadcast.io/abr_corp/73_aloula_w1dqfwm/playlist_dvr.m3u8 -#EXTINF:-1 tvg-id="AlAoula.ma",Al Aoula Laรขyoune (1080p) -http://154.197.91.168:7001/play/a0f6/index.m3u8 -#EXTINF:-1 tvg-id="AlAoula.ma",Al Aoula Laรขyoune (480p) +#EXTINF:-1 tvg-id="LaayouneTV.ma",Al Aoula Laรขyoune (480p) https://cdn.live.easybroadcast.io/abr_corp/73_laayoune_pgagr52/playlist_dvr.m3u8 -#EXTINF:-1 tvg-id="AlMaghribia.ma",Al Maghribia (1080p) -http://154.197.91.168:7001/play/a0f9/index.m3u8 #EXTINF:-1 tvg-id="AlMaghribia.ma",Al Maghribia (480p) https://cdn.live.easybroadcast.io/abr_corp/73_almaghribia_83tz85q/playlist_dvr.m3u8 #EXTINF:-1 tvg-id="",Al Rahman (480p) http://149.100.11.244:8001/play/a06j/index.m3u8 -#EXTINF:-1 tvg-id="Arryadia.ma",Arryadia (1080p) -http://154.197.91.168:7001/play/a0f7/index.m3u8 #EXTINF:-1 tvg-id="Arryadia.ma",Arryadia (480p) https://cdn.live.easybroadcast.io/abr_corp/73_arryadia_k2tgcj0/playlist_dvr.m3u8 -#EXTINF:-1 tvg-id="Arryadia.ma",Arryadia (1080p) -http://154.197.91.168:7001/play/a0fa/index.m3u8 #EXTINF:-1 tvg-id="Assadissa.ma",Assadissa (480p) https://cdn.live.easybroadcast.io/abr_corp/73_assadissa_7b7u5n1/playlist_dvr.m3u8 -#EXTINF:-1 tvg-id="Athaqafia.ma",Athaqafia (1080p) -http://154.197.91.168:7001/play/a0f8/index.m3u8 #EXTINF:-1 tvg-id="Athaqafia.ma",Athaqafia (480p) https://cdn.live.easybroadcast.io/abr_corp/73_arrabia_hthcj4p/playlist_dvr.m3u8 #EXTINF:-1 tvg-id="ChadaTV.ma",Chada TV (720p) https://chadatv.vedge.infomaniak.com/livecast/chadatv/playlist.m3u8 +#EXTINF:-1 tvg-id="ChadaTV.ma",Chada TV (720p) +https://edge19.vedge.infomaniak.com/livecast/ik:chadatv/playlist.m3u8 +#EXTINF:-1 tvg-id="M24TV.ma",M24 TV (1080p) +https://67aac8c668349.streamlock.net/live/ngrp:Live2.stream_all/playlist.m3u8 #EXTINF:-1 tvg-id="Medi1TVAfrique.ma",Medi 1 TV Afrique (1080p) [Not 24/7] https://streaming1.medi1tv.com/live/smil:medi1fr.smil/playlist.m3u8 #EXTINF:-1 tvg-id="Medi1TVAfrique.ma",Medi 1 TV Afrique (1080p) [Not 24/7] @@ -45,7 +35,9 @@ https://streaming2.medi1tv.com/live/smil:medi1ar.smil/playlist.m3u8 https://streaming1.medi1tv.com/live/smil:medi1tv.smil/playlist.m3u8 #EXTINF:-1 tvg-id="Medi1TVMaghreb.ma",Medi 1 TV Maghreb (1080p) [Not 24/7] https://streaming2.medi1tv.com/live/smil:medi1tv.smil/playlist.m3u8 -#EXTINF:-1 tvg-id="TamazightTV.ma",Tamazight (1080p) -http://154.197.91.168:7001/play/a0fb/index.m3u8 #EXTINF:-1 tvg-id="TamazightTV.ma",Tamazight (480p) https://cdn.live.easybroadcast.io/abr_corp/73_tamazight_tccybxt/playlist_dvr.m3u8 +#EXTINF:-1 tvg-id="2MMonde.ma",2M Monde (720p) +https://d3g87jnubafe6a.cloudfront.net/out/v1/1fa0fb3c8dec402994a6f7a7f6492b82/index.m3u8 +#EXTINF:-1 tvg-id="TeleMaroc.ma",Tele Maroc (720p) +https://raw.githubusercontent.com/ipstreet312/freeiptv/master/ressources/kuw/telmar.m3u8 diff --git a/streams/mc.m3u b/streams/mc.m3u index eedd55969..7377e229c 100644 --- a/streams/mc.m3u +++ b/streams/mc.m3u @@ -1,7 +1,7 @@ #EXTM3U -#EXTINF:-1 tvg-id="MonacoInfo.mc",Monaco Info (720p) [Not 24/7] -https://webtvmonacoinfo.mc/live/prod_720/index.m3u8 #EXTINF:-1 tvg-id="SuperyachtTV.mc",Superyacht TV (1080p) https://sy.wns.live/hls/stream.m3u8 #EXTINF:-1 tvg-id="TVMonaco.mc",TV Monaco (1080p) https://production-fast-mcrtv.content.okast.tv/channels/2116dc08-1959-465d-857f-3619daefb66b/b702b2b9-aebd-436c-be69-2118f56f3d86/2024/media.m3u8 +#EXTINF:-1 tvg-id="MonacoInfo.mc",Monaco Info (1080p) +https://webtv.monacoinfo.com/live/prod/index.m3u8 diff --git a/streams/md.m3u b/streams/md.m3u index 81ae95bc1..81bbc26c5 100644 --- a/streams/md.m3u +++ b/streams/md.m3u @@ -3,29 +3,61 @@ http://hls.protv.md/acasatv/acasatv.m3u8 #EXTINF:-1 tvg-id="BaltiTV.md",Bฤƒlลฃi TV (1080p) [Geo-blocked] http://77.89.199.174:8000/play/1024/index.m3u8 +#EXTINF:-1 tvg-id="BusuiocTV.md",Busuioc TV (1080p) +http://62.233.57.226:8001/play/a005 #EXTINF:-1 tvg-id="BusuiocTV.md",Busuioc TV (540p) [Not 24/7] https://busuioctv.iforward.eu/hls/busuioc.m3u8 +#EXTINF:-1 tvg-id="Cinema1.md",Cinema 1 (1080p) +http://62.233.57.226:8001/play/a00l00 #EXTINF:-1 tvg-id="DrochiaTV.md",Drochia TV (1080p) [Not 24/7] https://hls.drochia.tv/tv/web.m3u8 #EXTINF:-1 tvg-id="DuniaSinema.my",Dunia Sinema (1080p) https://unifi-live05.secureswiftcontent.com/UnifiHD/live27-1080FHD.m3u8 +#EXTINF:-1 tvg-id="ExclusivTV.md",Exclusiv TV (1080p) +http://62.233.57.226:8001/play/a00f +#EXTINF:-1 tvg-id="GRT.md",GRT (1080p) +http://62.233.57.226:8001/play/a00f00 +#EXTINF:-1 tvg-id="JurnalTV.md",Jurnal TV (1080p) +http://62.233.57.226:8001/play/a00i +#EXTINF:-1 tvg-id="Moldova1.md",Moldova 1 (1080p) +https://v0.trm.md/static/streaming-playlists/hls/9b79338b-1870-4cd7-91d4-0f6ce5cac7ca/master.m3u8 +#EXTINF:-1 tvg-id="Moldova2.md",Moldova 2 (1080p) +https://v0.trm.md/static/streaming-playlists/hls/d5fafab0-9c37-4746-9e7a-b2d6c0427015/master.m3u8 +#EXTINF:-1 tvg-id="Moldova2.md",Moldova 2 (1080p) +http://62.233.57.226:8001/play/a00a #EXTINF:-1 tvg-id="MoldovaTV.md",Moldova TV (576p) [Not 24/7] http://89.38.8.130:39435 +#EXTINF:-1 tvg-id="N4.md",N4 (1080p) +http://62.233.57.226:8001/play/a007 #EXTINF:-1 tvg-id="N4.md",N4 (360p) [Not 24/7] https://web.sats.gstv.tech/cpl11/da8df281-1165-440a-8c86-959f71b695b6/N4web.m3u8 +#EXTINF:-1 tvg-id="NextTV.md",Next TV (1080p) +http://62.233.57.226:8001/play/a00h +#EXTINF:-1 tvg-id="NorocTV.md",Noroc TV (1080p) +http://62.233.57.226:8001/play/a00i00 #EXTINF:-1 tvg-id="NorocTV.md",Noroc TV (576p) [Not 24/7] https://live.noroc.tv/noroc/noroc.m3u8 +#EXTINF:-1 tvg-id="NTSTV.md",NTS TV (1080p) +http://62.233.57.226:8001/play/a00d +#EXTINF:-1 tvg-id="PremieraTV.md",Premiera TV (1080p) +http://62.233.57.226:8001/play/a009 #EXTINF:-1 tvg-id="PrivescEuTV.md",Privesc.Eu TV (2160p) https://cachestar.privesc.eu/liniar/moldova/playlist.m3u8 +#EXTINF:-1 tvg-id="PROTVChisinau.md",PRO TV Chisinau (1080p) +http://62.233.57.226:8001/play/a00g #EXTINF:-1 tvg-id="PublikaTV.md",Publika TV (720p) https://livebeta.publika.press/LIVE/P/6810.m3u8 #EXTINF:-1 tvg-id="RealitateaTV.md",Rlive TV (406p) https://realitatealive.md/tv/rlive.m3u8 #EXTINF:-1 tvg-id="SorTV.md",Sor TV (720p) http://188.237.212.16:8888/live/cameraFeed.m3u8 +#EXTINF:-1 tvg-id="StarTV.md",Star TV (1080p) +http://62.233.57.226:8001/play/a008 #EXTINF:-1 tvg-id="TeleM.md",TeleM (576p) https://tv.streambox.ro/hls/telem/index.m3u8 #EXTINF:-1 tvg-id="TezaurTV.md",Tezaur TV (1080p) +http://62.233.57.226:8001/play/a00j +#EXTINF:-1 tvg-id="TezaurTV.md",Tezaur TV (1080p) https://tezaurtv.md/wp-content/uploads/live/index.m3u8 #EXTINF:-1 tvg-id="TVNord.md",TV-Nord (1080p) https://6065d3147e895.streamlock.net:4444/npcl/live/playlist.m3u8 @@ -33,33 +65,5 @@ https://6065d3147e895.streamlock.net:4444/npcl/live/playlist.m3u8 https://tvr-tvrmoldova.cdn.zitec.com/live/tvrmoldova/main.m3u8 #EXTINF:-1 tvg-id="VoceaBasarabieiTV.md",Vocea Basarabiei TV (720p) [Not 24/7] https://storage.voceabasarabiei.md/vocea/vocea.m3u8 -#EXTINF:-1 tvg-id="ExclusivTV.md",Exclusiv TV (1080p) -http://62.233.57.226:8001/play/a00f -#EXTINF:-1 tvg-id="TezaurTV.md",Tezaur TV (1080p) -http://62.233.57.226:8001/play/a00j -#EXTINF:-1 tvg-id="StarTV.md",Star TV (1080p) -http://62.233.57.226:8001/play/a008 #EXTINF:-1 tvg-id="ZonaM.md",Zona M (576p) http://62.233.57.226:8001/play/a00e -#EXTINF:-1 tvg-id="PROTVChisinau.md",PRO TV Chisinau (1080p) -http://62.233.57.226:8001/play/a00g -#EXTINF:-1 tvg-id="PremieraTV.md",Premiera TV (1080p) -http://62.233.57.226:8001/play/a009 -#EXTINF:-1 tvg-id="NTSTV.md",NTS TV (1080p) -http://62.233.57.226:8001/play/a00d -#EXTINF:-1 tvg-id="NorocTV.md",Noroc TV (1080p) -http://62.233.57.226:8001/play/a00i00 -#EXTINF:-1 tvg-id="NextTV.md",Next TV (1080p) -http://62.233.57.226:8001/play/a00h -#EXTINF:-1 tvg-id="N4.md",N4 (1080p) -http://62.233.57.226:8001/play/a007 -#EXTINF:-1 tvg-id="Moldova2.md",Moldova 2 (1080p) -http://62.233.57.226:8001/play/a00a -#EXTINF:-1 tvg-id="JurnalTV.md",Jurnal TV (1080p) -http://62.233.57.226:8001/play/a00i -#EXTINF:-1 tvg-id="GRT.md",GRT (1080p) -http://62.233.57.226:8001/play/a00f00 -#EXTINF:-1 tvg-id="Cinema1.md",Cinema 1 (1080p) -http://62.233.57.226:8001/play/a00l00 -#EXTINF:-1 tvg-id="BusuiocTV.md",Busuioc TV (1080p) -http://62.233.57.226:8001/play/a005 diff --git a/streams/my.m3u b/streams/my.m3u index fd7d719c8..1c73198ba 100644 --- a/streams/my.m3u +++ b/streams/my.m3u @@ -14,18 +14,20 @@ http://210.210.155.35/dr9445/h/h04/index.m3u8 http://210.210.155.37/uq2663/h/h22/index.m3u8 #EXTINF:-1 tvg-id="MaahTV.my",Maah TV (720p) [Not 24/7] https://hls.maahtv.live/hls/stream.m3u8 -#EXTINF:-1 tvg-id="Okey.my" http-referrer="https://rtm-player.glueapi.io/",Okey RTM [Geo-blocked] +#EXTINF:-1 tvg-id="Okey.my" http-referrer="https://rtm-player.glueapi.io/",Okey [Geo-blocked] #EXTVLCOPT:http-referrer=https://rtm-player.glueapi.io/ https://d25tgymtnqzu8s.cloudfront.net/smil:okey/playlist.m3u8?id=3 -#EXTINF:-1 tvg-id="ParlimenMalaysia.my" http-referrer="https://rtm-player.glueapi.io/",RTM Parlimen (Dewan Negara) [Geo-blocked] +#EXTINF:-1 tvg-id="RTMASEAN.my",RTM ASEAN +https://d25tgymtnqzu8s.cloudfront.net/event/smil:event1/chunklist_b2596000_slENG.m3u8 +#EXTINF:-1 tvg-id="RTMParlimenDewanNegara.my" http-referrer="https://rtm-player.glueapi.io/",RTM Parlimen (Dewan Negara) [Geo-blocked] #EXTVLCOPT:http-referrer=https://rtm-player.glueapi.io/ https://d25tgymtnqzu8s.cloudfront.net/smil:negara/playlist.m3u8?id=8 -#EXTINF:-1 tvg-id="ParlimenMalaysia.my" http-referrer="https://rtm-player.glueapi.io/",RTM Parlimen (Dewan Rakyat) [Geo-blocked] +#EXTINF:-1 tvg-id="RTMParlimenDewanRakyat.my" http-referrer="https://rtm-player.glueapi.io/",RTM Parlimen (Dewan Rakyat) [Geo-blocked] #EXTVLCOPT:http-referrer=https://rtm-player.glueapi.io/ https://d25tgymtnqzu8s.cloudfront.net/smil:rakyat/playlist.m3u8?id=7 -#EXTINF:-1 tvg-id="TV1.my",RTM TV 1 [Geo-blocked] +#EXTINF:-1 tvg-id="TV1.my",TV1 [Geo-blocked] https://d25tgymtnqzu8s.cloudfront.net/smil:tv1/manifest.mpd -#EXTINF:-1 tvg-id="TV2.my",RTM TV 2 [Geo-blocked] +#EXTINF:-1 tvg-id="TV2.my",TV2 [Geo-blocked] https://d25tgymtnqzu8s.cloudfront.net/smil:tv2/manifest.mpd #EXTINF:-1 tvg-id="SukanRTM.my",Sukan RTM [Geo-blocked] https://d25tgymtnqzu8s.cloudfront.net/smil:sukan/manifest.mpd @@ -42,7 +44,9 @@ https://tonton-live-switch-ssar.akamaized.net/stream-tv3/master.m3u8?bpkio_servi https://d25tgymtnqzu8s.cloudfront.net/smil:tv6/playlist.m3u8?id=6 #EXTINF:-1 tvg-id="TV9.my",TV9 https://tonton-live-switch-ssar.akamaized.net/stream-tv9/master.m3u8?bpkio_serviceid=6c0958d82a830a02ca0936d9cfab8311 +#EXTINF:-1 tvg-id="8TV.my",8TV +https://tonton-live-switch-ssar.akamaized.net/stream-8tv/master.m3u8?bpkio_serviceid=6c0958d82a830a02ca0936d9cfab8311 +#EXTINF:-1 tvg-id="NTV7.my",NTV7 +https://tonton-live-switch-ssar.akamaized.net/stream-ntv7/master.m3u8?bpkio_serviceid=6c0958d82a830a02ca0936d9cfab8311 #EXTINF:-1 tvg-id="TVIKIM.my",TVIKIM https://edge-sg1.vediostream.com/abr/tvikim/playlist.m3u8 -#EXTINF:-1 tvg-id="RTMASEAN.my",RTM ASEAN -https://d25tgymtnqzu8s.cloudfront.net/event/smil:event1/chunklist_b2596000_slENG.m3u8 diff --git a/streams/ng.m3u b/streams/ng.m3u index b2b4c46be..c071468cb 100644 --- a/streams/ng.m3u +++ b/streams/ng.m3u @@ -102,6 +102,8 @@ https://video1.getstreamhosting.com:1936/8398/8398/playlist.m3u8 https://webstreaming.viewmedia.tv/web_038/Stream/playlist.m3u8 #EXTINF:-1 tvg-id="TVC.ng",TVC (1080p) https://tvce.gridpapaservers.com/TVCSEPT/ngrp:myStream_all/playlist.m3u8 +#EXTINF:-1 tvg-id="TVCNews.ng",TVC News (576p) +http://92.114.85.72:8000/play/a0al #EXTINF:-1 tvg-id="WaffiTV.ng",Waffi TV (240p) https://oqgdro3xd4rm-hls-live.5centscdn.com/waffiitvstreaminglivetfmediacast/e0885d428bea69e372309657f3bd895f.sdp/playlist.m3u8 #EXTINF:-1 tvg-id="WapTV.ng",Wap TV (720p) [Not 24/7] @@ -114,5 +116,3 @@ https://wazobia.live:8333/channel/wmax.m3u8 https://wazobia.live:8333/channel/wmaxph.m3u8 #EXTINF:-1 tvg-id="WholeWordTV.ng",Whole Word TV (720p) https://mn-nl.mncdn.com/wholewordtv/wholewordtv/index.m3u8 -#EXTINF:-1 tvg-id="TVCNews.ng",TVC News (576p) -http://92.114.85.72:8000/play/a0al diff --git a/streams/no.m3u b/streams/no.m3u index 520fb3e8f..858e5ca00 100644 --- a/streams/no.m3u +++ b/streams/no.m3u @@ -13,8 +13,6 @@ http://media1.adventist.no:1935/live/hope2/playlist.m3u8 http://media1.adventist.no:1935/live/hope3/playlist.m3u8 #EXTINF:-1 tvg-id="Kanal10Asia.se",Kanal 10 Asia (540p) http://cdn-kanal10.crossnet.net:1935/kanal10/kanal10asia/playlist.m3u8 -#EXTINF:-1 tvg-id="NRK1.no",NRK 1 [Geo-blocked] -https://nrk-nrk1.akamaized.net/21/0/hls/nrk_1/playlist.m3u8 #EXTINF:-1 tvg-id="NRK2.no",NRK 2 [Geo-blocked] https://nrk-nrk2.akamaized.net/22/0/hls/nrk_2/playlist.m3u8 #EXTINF:-1 tvg-id="NRK3.no",NRK 3 [Geo-blocked] diff --git a/streams/pe.m3u b/streams/pe.m3u index 56d796608..253bdd415 100644 --- a/streams/pe.m3u +++ b/streams/pe.m3u @@ -303,3 +303,5 @@ https://live.obslivestream.com/wtv/index.m3u8 https://vdo.panelchs.com:3927/live/xtvcontrollive.m3u8 #EXTINF:-1 tvg-id="",X TV Zona Film https://vdo.panelchs.com:3769/live/vdo54575151live.m3u8 +#EXTINF:-1 tvg-id="ONDADIGITAL.pe",ONDA DIGITAL (720p) +https://tv.ondadigital.pe/ondadigital/index.m3u8 diff --git a/streams/pl.m3u b/streams/pl.m3u index 26892e6cb..eb1ae6e28 100644 --- a/streams/pl.m3u +++ b/streams/pl.m3u @@ -3,6 +3,8 @@ http://178.219.128.68:64888/4FUNDANC #EXTINF:-1 tvg-id="4FunDance.pl",4 Fun Dance (576p) http://178.219.128.68:64889/4FUNDANC +#EXTINF:-1 tvg-id="4FunDance.pl",4 Fun Dance (576p) +http://185.236.229.62:9981/play/a020 #EXTINF:-1 tvg-id="4FunKids.pl",4 Fun Kids (576p) http://178.219.128.68:64888/4FUNKIDS #EXTINF:-1 tvg-id="4FunTV.pl",4 Fun TV (576p) @@ -15,12 +17,16 @@ http://109.233.89.166/13_Ulica_HD/index.m3u8 http://109.233.89.170/13_Ulica_HD/index.m3u8 #EXTINF:-1 tvg-id="13Ulica.pl",13 Ulica (1080p) http://178.219.128.68:64888/13ULICHD +#EXTINF:-1 tvg-id="13Ulica.pl",13 Ulica (1080p) +http://185.236.229.62:9981/play/a03o #EXTINF:-1 tvg-id="ActiveFamily.pl",Active Family (1080p) http://109.233.89.166/Active_Family_HD/index.m3u8 #EXTINF:-1 tvg-id="ActiveFamily.pl",Active Family (1080p) http://178.219.128.68:64888/ACTIFAMIHD #EXTINF:-1 tvg-id="ActiveFamily.pl",Active Family (1080p) http://178.219.128.68:64889/ACTIFAMIHD +#EXTINF:-1 tvg-id="ActiveFamily.pl",Active Family (1080p) +http://185.236.229.62:9981/play/a04a #EXTINF:-1 tvg-id="AdventureTV.pl",Adventure TV (1080p) http://109.233.89.170/Adventure_HD/index.m3u8 #EXTINF:-1 tvg-id="AFVFamily.pl",AFV Family (720p) @@ -35,48 +41,64 @@ http://109.233.89.166/AMC_HD/index.m3u8 http://109.233.89.170/AMC_HD/index.m3u8 #EXTINF:-1 tvg-id="AMC.pl",AMC (1080p) http://178.219.128.68:64889/AMCHD +#EXTINF:-1 tvg-id="AMC.pl",AMC (1080p) +http://185.236.229.62:9981/play/a05g #EXTINF:-1 tvg-id="AntenaHD.pl",Antena HD (1080p) http://109.233.89.170/Antena_TV_HD/index.m3u8 #EXTINF:-1 tvg-id="AXN.pl",AXN (1080p) http://178.219.128.68:64888/AXN +#EXTINF:-1 tvg-id="AXN.pl",AXN (1080p) +http://185.236.229.62:9981/play/a07s #EXTINF:-1 tvg-id="AXNBlack.pl",AXN Black (576p) http://185.236.229.62:9981/play/a075 +#EXTINF:-1 tvg-id="AXNSpin.pl",AXN Spin (1080p) +http://185.236.229.62:9981/play/a044 #EXTINF:-1 tvg-id="AXNWhite.pl",AXN White (576p) http://185.236.229.62:9981/play/a074 #EXTINF:-1 tvg-id="BBCBrit.pl",BBC Brit (1080p) +http://109.233.89.170/BBC_Brit_HD/index.m3u8 +#EXTINF:-1 tvg-id="BBCBrit.pl",BBC Brit (1080p) http://178.219.128.68:64889/BBCBRITHD #EXTINF:-1 tvg-id="BBCBrit.pl",BBC Brit (1080p) -http://109.233.89.170/BBC_Brit_HD/index.m3u8 +http://185.236.229.62:9981/play/a06r #EXTINF:-1 tvg-id="BBCEarth.pl",BBC Earth (1080p) http://109.233.89.170/BBC_Earth_HD/index.m3u8 #EXTINF:-1 tvg-id="BBCEarth.pl",BBC Earth (1080p) http://178.219.128.68:64888/BBCEARTHD #EXTINF:-1 tvg-id="BBCEarth.pl",BBC Earth (1080p) http://178.219.128.68:64889/BBCEARTHD +#EXTINF:-1 tvg-id="BBCEarth.pl",BBC Earth (1080p) +http://185.236.229.62:9981/play/a02o #EXTINF:-1 tvg-id="BBCFirst.pl",BBC First (1080p) http://185.236.229.62:9981/play/a02n #EXTINF:-1 tvg-id="BBCLifestyle.pl",BBC Lifestyle (1080p) http://178.219.128.68:64888/BBCLIFEHD +#EXTINF:-1 tvg-id="BBCLifestyle.pl",BBC Lifestyle (1080p) +http://185.236.229.62:9981/play/a06t #EXTINF:-1 tvg-id="Bigtime.pl",Bigtime (720p) https://103f01c3ff79408e83c9212f8a374ecc.mediatailor.us-east-1.amazonaws.com/v1/master/0fb304b2320b25f067414d481a779b77db81760d/RakutenTV-eu_BjgtjmeDarmoweFilmy/playlist.m3u8 #EXTINF:-1 tvg-id="CarCityAdventures.pl",Car City Adventures (720p) https://d39g1vxj2ef6in.cloudfront.net/v1/manifest/3fec3e5cac39a52b2132f9c66c83dae043dc17d4/prod-rakuten-stitched/b6397b24-18b0-49c2-80bf-0333ae568e37/5.m3u8 #EXTINF:-1 tvg-id="CBeebies.pl",CBeebies (1080p) http://185.236.229.62:9981/play/a06s +#EXTINF:-1 tvg-id="CBSEuropa.pl",CBS Europa (1080p) +http://185.236.229.62:9981/play/a06i #EXTINF:-1 tvg-id="CBSReality.pl",CBS Reality (1080p) http://109.233.89.170/CBS_Reality_HD/index.m3u8 #EXTINF:-1 tvg-id="CBSReality.pl",CBS Reality (1080p) http://185.236.229.62:9981/play/a02v #EXTINF:-1 tvg-id="ComedyCentral.pl",Comedy Central (1080p) -http://109.233.89.166/Comedy_Central_HD/index.m3u8 -#EXTINF:-1 tvg-id="ComedyCentral.pl",Comedy Central (1080p) http://109.233.89.170/Comedy_Central_HD/index.m3u8 #EXTINF:-1 tvg-id="ComedyCentral.pl",Comedy Central (1080p) http://178.219.128.68:64889/COMECENTHD +#EXTINF:-1 tvg-id="ComedyCentral.pl",Comedy Central (1080p) +http://185.236.229.62:9981/play/a068 #EXTINF:-1 tvg-id="CrimePlusInvestigationPolsat.pl",Crime + Investigation Polsat (1080p) http://185.236.229.62:9981/play/a07w #EXTINF:-1 tvg-id="DaVinci.pl",Da Vinci (1080p) http://109.233.89.170/Da_Vinci_HD/index.m3u8 +#EXTINF:-1 tvg-id="DaVinci.pl",Da Vinci (576p) +http://185.236.229.62:9981/play/a024 #EXTINF:-1 tvg-id="DAZNCombat.pl",DAZN Combat (1080p) https://dazn-combat-rakuten.amagi.tv/hls/amagi_hls_data_rakutenAA-dazn-combat-rakuten/CDN/master.m3u8 #EXTINF:-1 tvg-id="DAZNWomensFootball.pl",DAZN Women's Football (1080p) @@ -103,18 +125,30 @@ http://109.233.89.170/Disney_Junior/index.m3u8 http://185.236.229.62:9981/play/a06n #EXTINF:-1 tvg-id="DisneyXD.pl",Disney XD (576p) http://178.219.128.68:64888/DISNXD +#EXTINF:-1 tvg-id="DisneyXD.pl",Disney XD (576p) +http://185.236.229.62:9981/play/a07c #EXTINF:-1 tvg-id="dlaCiebietv.pl",dlaCiebie.tv (1080p) http://178.219.128.68:64889/DLAC +#EXTINF:-1 tvg-id="dlaCiebietv.pl",dlaCiebie.tv (1080p) +http://185.236.229.62:9981/play/a04u #EXTINF:-1 tvg-id="dlaCiebietv.pl",dlaCiebie.tv (1080p) [Not 24/7] http://94.246.128.53:1935/tv/dlaCiebieTv/playlist.m3u8 #EXTINF:-1 tvg-id="dlaCiebietv.pl",dlaCiebie.tv (1080p) [Not 24/7] https://6034e09794f07.streamlock.net/tv/dlaCiebieTv/playlist.m3u8 +#EXTINF:-1 tvg-id="E.pl",E! (1080p) +http://185.236.229.62:9981/play/a03j #EXTINF:-1 tvg-id="Echo24.pl",Echo24 (720p) https://echo24new.pl/LiveAppStreamECHO24/streams/GL0VksiIgQUS1672825288490.m3u8 +#EXTINF:-1 tvg-id="ElevenSports1.pl",Eleven Sports 1 (2160p) +http://9b129915.akadatel.com/iptv/83GA6FAV4DPTPQ/20068/index.m3u8 +#EXTINF:-1 tvg-id="ElevenSports1.pl",Eleven Sports 1 (2160p) +http://185.236.229.62:9981/play/a03t #EXTINF:-1 tvg-id="ElevenSports1.pl",Eleven Sports 1 (1080p) http://109.233.89.166/Eleven_Sports_1_HD/index.m3u8 #EXTINF:-1 tvg-id="ElevenSports1.pl",Eleven Sports 1 (1080p) http://109.233.89.170/Eleven_Sports_1_HD/index.m3u8 +#EXTINF:-1 tvg-id="ElevenSports1.pl",Eleven Sports 1 (1080p) +http://185.236.229.62:9981/play/a05w #EXTINF:-1 tvg-id="ElevenSports1.pl" http-referrer="https://newembedplay.xyz/",Eleven Sports 1 (1080p) #EXTVLCOPT:http-referrer=https://newembedplay.xyz/ https://windnew.iosplayer.ru/wind/premium71/mono.m3u8 @@ -122,6 +156,8 @@ https://windnew.iosplayer.ru/wind/premium71/mono.m3u8 http://109.233.89.166/Eleven_Sports_2_HD/index.m3u8 #EXTINF:-1 tvg-id="ElevenSports2.pl",Eleven Sports 2 (1080p) http://109.233.89.170/Eleven_Sports_2_HD/index.m3u8 +#EXTINF:-1 tvg-id="ElevenSports2.pl",Eleven Sports 2 (1080p) +http://185.236.229.62:9981/play/a05y #EXTINF:-1 tvg-id="ElevenSports2.pl" http-referrer="https://newembedplay.xyz/",Eleven Sports 2 (1080p) #EXTVLCOPT:http-referrer=https://newembedplay.xyz/ https://windnew.iosplayer.ru/wind/premium72/mono.m3u8 @@ -129,6 +165,8 @@ https://windnew.iosplayer.ru/wind/premium72/mono.m3u8 http://109.233.89.166/Eleven_Sports_3_HD/index.m3u8 #EXTINF:-1 tvg-id="ElevenSports3.pl",Eleven Sports 3 (1080p) http://109.233.89.170/Eleven_Sports_3_HD/index.m3u8 +#EXTINF:-1 tvg-id="ElevenSports3.pl",Eleven Sports 3 (1080p) +http://185.236.229.62:9981/play/a061 #EXTINF:-1 tvg-id="ElevenSports3.pl" http-referrer="https://newembedplay.xyz/",Eleven Sports 3 (1080p) #EXTVLCOPT:http-referrer=https://newembedplay.xyz/ https://ddy6new.iosplayer.ru/ddy6/premium428/mono.m3u8 @@ -136,6 +174,10 @@ https://ddy6new.iosplayer.ru/ddy6/premium428/mono.m3u8 http://109.233.89.166/ELEVEN_SPORTS_4_HD/index.m3u8 #EXTINF:-1 tvg-id="ElevenSports4.pl",Eleven Sports 4 (1080p) http://109.233.89.170/ELEVEN_SPORTS_4_HD/index.m3u8 +#EXTINF:-1 tvg-id="EpicDrama.pl",Epic Drama (1080p) +http://185.236.229.62:9981/play/a029 +#EXTINF:-1 tvg-id="EpicDrama.pl",Epic Drama (1080p) +http://195.189.60.33:9010/play/a00e #EXTINF:-1 tvg-id="EskaRockTV.pl",Eska Rock TV (1080p) http://178.219.128.68:64889/ESKAROCKTV #EXTINF:-1 tvg-id="EskaTV.pl",Eska TV (1080p) @@ -144,6 +186,8 @@ http://109.233.89.166/ESKA_TV_HD/index.m3u8 http://109.233.89.170/ESKA_TV_HD/index.m3u8 #EXTINF:-1 tvg-id="EskaTV.pl",Eska TV (1080p) http://178.219.128.68:64888/ESKATVHD +#EXTINF:-1 tvg-id="EskaTV.pl",Eska TV (1080p) +http://185.236.229.62:9981/play/a02f #EXTINF:-1 tvg-id="EskaTVExtra.pl",Eska TV Extra (1080p) http://178.219.128.68:64888/ESKATVEXTRHD #EXTINF:-1 tvg-id="EWTNPoland.pl",EWTN Poland (1080p) @@ -154,20 +198,52 @@ http://live.ezotv.pl:1935/live/EZOTV/playlist.m3u8 https://bd93cfed.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/UmFrdXRlblRWLWV1X0ZhaWxBcm15X0hMUw/playlist.m3u8 #EXTINF:-1 tvg-id="FIFAPlus.pl",FIFA+ (720p) https://a62dad94.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/UmFrdXRlblRWLWV1X0ZJRkFQbHVzRW5nbGlzaF9ITFM/playlist.m3u8 +#EXTINF:-1 tvg-id="FightKlub.pl",Fight Klub (1080p) +http://185.236.229.62:9981/play/a02l +#EXTINF:-1 tvg-id="FightBox.pl",FightBox (1080p) +http://185.236.229.62:9981/play/a03n +#EXTINF:-1 tvg-id="FightBox.pl",FightBox (1080p) +http://195.189.60.33:9002/play/a007 +#EXTINF:-1 tvg-id="FilmBoxAction.pl",FilmBox Action (576p) +http://185.236.229.62:9981/play/a033 +#EXTINF:-1 tvg-id="FilmBoxAction.pl",FilmBox Action (576p) +http://195.189.60.33:9004/play/a00g +#EXTINF:-1 tvg-id="FilmBoxArthouse.pl",FilmBox Arthouse (576p) +http://195.189.60.33:9010/play/a00a #EXTINF:-1 tvg-id="FilmBoxExtra.pl",FilmBox Extra (1080p) http://178.219.128.68:64888/FILMEXTRHD +#EXTINF:-1 tvg-id="FilmBoxExtra.pl",FilmBox Extra (1080p) +http://185.236.229.62:9981/play/a036 +#EXTINF:-1 tvg-id="FilmBoxFamily.pl",FilmBox Family (1080p) +http://178.219.128.68:64888/FILMFAMI +#EXTINF:-1 tvg-id="FilmBoxFamily.pl",FilmBox Family (576p) +http://185.236.229.62:9981/play/a032 +#EXTINF:-1 tvg-id="FilmBoxFamily.pl",FilmBox Family (576p) +http://185.236.229.62:9981/play/a037 #EXTINF:-1 tvg-id="FilmBoxPremiumHD.pl",FilmBox Premium HD (1080p) http://178.219.128.68:64888/FILMPREMHD +#EXTINF:-1 tvg-id="FilmBoxPremiumHD.pl",FilmBox Premium HD (1080p) +http://185.236.229.62:9981/play/a02x #EXTINF:-1 tvg-id="FokusTV.pl",Fokus TV (1080p) http://178.219.128.68:64889/FOKUTV -#EXTINF:-1 tvg-id="Fox.pl",Fox (1080p) -http://178.219.128.68:64889/FOXHD +#EXTINF:-1 tvg-id="FokusTV.pl",Fokus TV (1080p) +http://185.236.229.62:9981/play/a02g #EXTINF:-1 tvg-id="Fox.pl",Fox (1080p) http://109.233.89.166/FOX_HD/index.m3u8 #EXTINF:-1 tvg-id="Fox.pl",Fox (1080p) http://109.233.89.170/FOX_HD/index.m3u8 +#EXTINF:-1 tvg-id="Fox.pl",Fox (1080p) +http://178.219.128.68:64889/FOXHD +#EXTINF:-1 tvg-id="Fox.pl",Fox (1080p) +http://185.236.229.62:9981/play/a07u #EXTINF:-1 tvg-id="FoxComedy.pl",Fox Comedy (1080p) http://178.219.128.68:64889/FOXCOMEHD +#EXTINF:-1 tvg-id="FoxComedy.pl",Fox Comedy (1080p) +http://185.236.229.62:9981/play/a07t +#EXTINF:-1 tvg-id="GolfChannel.pl",Golf Channel (1080p) +http://185.236.229.62:9981/play/a03m +#EXTINF:-1 tvg-id="GolfZone.pl",Golf Zone (1080p) +http://195.189.60.33:9002/play/a006 #EXTINF:-1 tvg-id="Grjngo.pl",Grjngo (720p) https://b6c7c7d1020a4588982ca7c2625f85d1.mediatailor.us-east-1.amazonaws.com/v1/master/0fb304b2320b25f067414d481a779b77db81760d/RakutenTV-eu_GrjngoWesterny/playlist.m3u8 #EXTINF:-1 tvg-id="HardKnocksFightingChampionship.pl",Hard Knocks Fighting Championship (720p) @@ -192,12 +268,20 @@ http://178.219.128.68:64889/HOMETV http://109.233.89.166/Kino_Polska_HD/index.m3u8 #EXTINF:-1 tvg-id="KinoPolska.pl",Kino Polska (1080p) http://178.219.128.68:64888/KINOPOLSHD +#EXTINF:-1 tvg-id="KinoPolska.pl",Kino Polska (1080p) +http://185.236.229.62:9981/play/a05v #EXTINF:-1 tvg-id="KinoPolskaMuzyka.pl",Kino Polska Muzyka (576p) http://185.236.229.62:9981/play/a030 #EXTINF:-1 tvg-id="KinoTV.pl",Kino TV (1080p) http://178.219.128.68:64888/KINOTV +#EXTINF:-1 tvg-id="KinoTV.pl",Kino TV (1080p) +http://185.236.229.62:9981/play/a031 +#EXTINF:-1 tvg-id="LoneStar.pl",Lone Star (720p) +https://6b88cde9.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/UmFrdXRlblRWLWV1X0xvbmVTdGFyX0hMUw/playlist.m3u8 #EXTINF:-1 tvg-id="Moconomy.pl",Moconomy (1080p) https://3ee905090d464be5a51478fd9c642e93.mediatailor.us-east-1.amazonaws.com/v1/master/44f73ba4d03e9607dcd9bebdcb8494d86964f1d8/RakutenTV-pl_Moconomy/playlist.m3u8 +#EXTINF:-1 tvg-id="MonsterJam.pl",Monster Jam (720p) +https://4b9627c7.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/UmFrdXRlblRWLWV1X01vbnN0ZXJKYW1fSExT/playlist.m3u8 #EXTINF:-1 tvg-id="Motowizja.pl",Motowizja (1080p) http://109.233.89.170/Motowizja_HD/index.m3u8 #EXTINF:-1 tvg-id="Motowizja.pl",Motowizja (1080p) @@ -210,12 +294,16 @@ http://178.219.128.68:64888/MTVHD http://185.236.229.62:9981/play/a06f #EXTINF:-1 tvg-id="NationalGeographic.pl",National Geographic (1080p) http://178.219.128.68:64889/NATIGEOGHD +#EXTINF:-1 tvg-id="NationalGeographic.pl",National Geographic (1080p) +http://185.236.229.62:9981/play/a04d #EXTINF:-1 tvg-id="NationalGeographicWild.pl",National Geographic Wild (1080p) http://109.233.89.166/National_Geographic_Wild_HD/index.m3u8 #EXTINF:-1 tvg-id="NationalGeographicWild.pl",National Geographic Wild (1080p) http://109.233.89.170/National_Geographic_Wild_HD/index.m3u8 #EXTINF:-1 tvg-id="NationalGeographicWild.pl",National Geographic Wild (1080p) http://185.236.229.62:9981/play/a05z +#EXTINF:-1 tvg-id="NickJr.pl",Nick Jr. (576p) +http://185.236.229.62:9981/play/a065 #EXTINF:-1 tvg-id="NickJr.pl",Nick Jr. Poland (576i) http://178.219.128.68:64888/NICKJR #EXTINF:-1 tvg-id="Nickelodeon.pl",Nickelodeon (576p) @@ -224,12 +312,16 @@ http://109.233.89.166/Nickelodeon/index.m3u8 http://109.233.89.170/Nickelodeon/index.m3u8 #EXTINF:-1 tvg-id="Nickelodeon.pl",Nickelodeon (576p) http://178.219.128.68:64889/NICK +#EXTINF:-1 tvg-id="Nickelodeon.pl",Nickelodeon (576p) +http://185.236.229.62:9981/play/a067 #EXTINF:-1 tvg-id="Nicktoons.pl",Nicktoons (1080p) http://185.236.229.62:9981/play/a06a #EXTINF:-1 tvg-id="NowaTV.pl",Nowa TV (1080p) http://109.233.89.170/NOWA_TV_HD/index.m3u8 #EXTINF:-1 tvg-id="NowaTV.pl",Nowa TV (1080p) http://178.219.128.68:64889/NOWATVHD +#EXTINF:-1 tvg-id="NowaTV.pl",Nowa TV (1080p) +http://185.236.229.62:9981/play/a02h #EXTINF:-1 tvg-id="NutaTV.pl",Nuta TV (576p) http://178.219.128.68:64888/NUTA #EXTINF:-1 tvg-id="ParamountNetwork.pl",Paramount Network (1080p) @@ -238,10 +330,16 @@ http://109.233.89.166/Paramount_Channel_HD/index.m3u8 http://109.233.89.170/Paramount_Channel_HD/index.m3u8 #EXTINF:-1 tvg-id="ParamountNetwork.pl",Paramount Network (1080p) http://185.236.229.62:9981/play/a069 +#EXTINF:-1 tvg-id="PeopleAreAwesome.pl",People Are Awesome (720p) +https://3ab76e42.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/UmFrdXRlblRWLWV1X1Blb3BsZUFyZUF3ZXNvbWVfSExT/playlist.m3u8 +#EXTINF:-1 tvg-id="PFLMMA.pl",PFL MMA (720p) +https://a883593c.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/UmFrdXRlblRWLWV1X1BGTE1NQV9ITFM/playlist.m3u8 #EXTINF:-1 tvg-id="PoloTV.pl",Polo TV (1080p) http://109.233.89.166/Polo_TV/index.m3u8 #EXTINF:-1 tvg-id="PoloTV.pl",Polo TV (1080p) http://178.219.128.68:64888/POLOTV +#EXTINF:-1 tvg-id="PoloTV.pl",Polo TV (1080p) +http://185.236.229.62:9981/play/a02e #EXTINF:-1 tvg-id="Polonia1.pl",Polonia 1 (1080p) http://178.219.128.68:64889/POLO1 #EXTINF:-1 tvg-id="Polonia1.pl",Polonia 1 (576p) @@ -254,6 +352,8 @@ http://109.233.89.166/Polsat_HD/index.m3u8 http://109.233.89.170/Polsat_HD/index.m3u8 #EXTINF:-1 tvg-id="Polsat.pl",Polsat (1080p) http://178.219.128.68:64889/POLSHD +#EXTINF:-1 tvg-id="Polsat.pl",Polsat (1080p) +http://185.236.229.62:9981/play/a03v #EXTINF:-1 tvg-id="Polsat.pl",Polsat (1080p) [Geo-blocked] https://lb2-e2-19.pluscdn.pl/ch/1502600/308/dash/20a18c30/live.mpd #EXTINF:-1 tvg-id="Polsat2.pl",Polsat 2 (1080p) @@ -262,22 +362,30 @@ http://109.233.89.166/Polsat_2_HD/index.m3u8 http://109.233.89.170/Polsat_2_HD/index.m3u8 #EXTINF:-1 tvg-id="Polsat2.pl",Polsat 2 (1080p) http://178.219.128.68:64888/POLS2HD +#EXTINF:-1 tvg-id="Polsat2.pl",Polsat 2 (1080p) +http://185.236.229.62:9981/play/a042 #EXTINF:-1 tvg-id="PolsatCafe.pl",Polsat Cafe (1080p) http://109.233.89.170/Polsat_Cafe_HD/index.m3u8 #EXTINF:-1 tvg-id="PolsatCafe.pl",Polsat Cafe (1080p) http://178.219.128.68:64889/POLSCAFEHD +#EXTINF:-1 tvg-id="PolsatCafe.pl",Polsat Cafe (1080p) +http://185.236.229.62:9981/play/a03z #EXTINF:-1 tvg-id="PolsatDoku.pl",Polsat Doku (1080p) http://109.233.89.166/Polsat_Doku_HD/index.m3u8 #EXTINF:-1 tvg-id="PolsatDoku.pl",Polsat Doku (1080p) http://109.233.89.170/Polsat_Doku_HD/index.m3u8 #EXTINF:-1 tvg-id="PolsatDoku.pl",Polsat Doku (1080p) http://178.219.128.68:64888/POLSDOKUHD +#EXTINF:-1 tvg-id="PolsatDoku.pl",Polsat Doku (1080p) +http://185.236.229.62:9981/play/a07z #EXTINF:-1 tvg-id="PolsatFilm.pl",Polsat Film (1080p) http://109.233.89.166/Polsat_Film_HD/index.m3u8 #EXTINF:-1 tvg-id="PolsatFilm.pl",Polsat Film (1080p) http://109.233.89.170/Polsat_Film_HD/index.m3u8 #EXTINF:-1 tvg-id="PolsatFilm.pl",Polsat Film (1080p) http://178.219.128.68:64889/POLSFILMHD +#EXTINF:-1 tvg-id="PolsatFilm.pl",Polsat Film (1080p) +http://185.236.229.62:9981/play/a040 #EXTINF:-1 tvg-id="PolsatGames.pl",Polsat Games (1080p) http://109.233.89.166/Polsat_Games/index.m3u8 #EXTINF:-1 tvg-id="PolsatGames.pl",Polsat Games (1080p) @@ -304,46 +412,64 @@ http://cdn-s-lb2.pluscdn.pl/lv/1517830/349/dash/81ec4c32/live.mpd http://109.233.89.166/Polsat_News_2/index.m3u8 #EXTINF:-1 tvg-id="PolsatNews2.pl",Polsat News 2 (1080p) http://178.219.128.68:64889/POLSNEWS2 +#EXTINF:-1 tvg-id="PolsatNews2.pl",Polsat News 2 (1080p) +http://185.236.229.62:9981/play/a03u #EXTINF:-1 tvg-id="PolsatNewsPolityka.pl",Polsat News Polityka (1080p) http://109.233.89.166/Polsat_News_Polityka/index.m3u8 #EXTINF:-1 tvg-id="PolsatNewsPolityka.pl",Polsat News Polityka (1080p) http://109.233.89.170/Polsat_News_Polityka/index.m3u8 #EXTINF:-1 tvg-id="PolsatNewsPolityka.pl",Polsat News Polityka (1080p) http://178.219.128.68:64888/SUPEHD +#EXTINF:-1 tvg-id="PolsatNewsPolityka.pl",Polsat News Polityka (1080p) +http://185.236.229.62:9981/play/a07h #EXTINF:-1 tvg-id="PolsatPlay.pl",Polsat Play (1080p) http://109.233.89.166/Polsat_Play_HD/index.m3u8 #EXTINF:-1 tvg-id="PolsatPlay.pl",Polsat Play (1080p) http://109.233.89.170/Polsat_Play_HD/index.m3u8 #EXTINF:-1 tvg-id="PolsatPlay.pl",Polsat Play (1080p) http://178.219.128.68:64888/POLSPLAYHD +#EXTINF:-1 tvg-id="PolsatPlay.pl",Polsat Play (1080p) +http://185.236.229.62:9981/play/a03w #EXTINF:-1 tvg-id="PolsatRodzina.pl",Polsat Rodzina (1080p) http://109.233.89.170/Polsat_Rodzina_HD/index.m3u8 #EXTINF:-1 tvg-id="PolsatRodzina.pl",Polsat Rodzina (1080p) http://178.219.128.68:64889/POLSRODZHD +#EXTINF:-1 tvg-id="PolsatRodzina.pl",Polsat Rodzina (1080p) +http://185.236.229.62:9981/play/a079 #EXTINF:-1 tvg-id="PolsatSeriale.pl",Polsat Seriale (1080p) http://109.233.89.166/Polsat_Seriale_HD/index.m3u8 #EXTINF:-1 tvg-id="PolsatSeriale.pl",Polsat Seriale (1080p) http://109.233.89.170/Polsat_Seriale_HD/index.m3u8 #EXTINF:-1 tvg-id="PolsatSeriale.pl",Polsat Seriale (1080p) http://178.219.128.68:64888/POLSROMA +#EXTINF:-1 tvg-id="PolsatSeriale.pl",Polsat Seriale (1080p) +http://185.236.229.62:9981/play/a07b #EXTINF:-1 tvg-id="PolsatSport.pl",Polsat Sport (1080p) http://109.233.89.170/Polsat_Sport_HD/index.m3u8 #EXTINF:-1 tvg-id="PolsatSport.pl",Polsat Sport (1080p) http://178.219.128.68:64889/POLSSPORHD +#EXTINF:-1 tvg-id="PolsatSport.pl",Polsat Sport (1080p) +http://185.236.229.62:9981/play/a07n #EXTINF:-1 tvg-id="PolsatSportExtra.pl",Polsat Sport Extra (1080p) http://109.233.89.170/Polsat_Sport_Extra_HD/index.m3u8 #EXTINF:-1 tvg-id="PolsatSportExtra.pl",Polsat Sport Extra (1080p) http://178.219.128.68:64889/POLSSPOREXTRHD +#EXTINF:-1 tvg-id="PolsatSportExtra.pl",Polsat Sport Extra (1080p) +http://185.236.229.62:9981/play/a07q #EXTINF:-1 tvg-id="PolsatSportFight.pl",Polsat Sport Fight (1080p) http://109.233.89.170/Polsat_Sport_Fight_HD/index.m3u8 #EXTINF:-1 tvg-id="PolsatSportFight.pl",Polsat Sport Fight (1080p) http://178.219.128.68:64888/POLSSPORFIGHHD #EXTINF:-1 tvg-id="PolsatSportFight.pl",Polsat Sport Fight (1080p) http://178.219.128.68:64889/POLSSPORFIGHHD +#EXTINF:-1 tvg-id="PolsatSportFight.pl",Polsat Sport Fight (1080p) +http://185.236.229.62:9981/play/a06l #EXTINF:-1 tvg-id="PolsatSportNews.pl",Polsat Sport News (1080p) http://109.233.89.170/Polsat_Sport_News_HD/index.m3u8 #EXTINF:-1 tvg-id="PolsatSportNews.pl",Polsat Sport News (1080p) http://178.219.128.68:64889/POLSSPORNEWSHD +#EXTINF:-1 tvg-id="PolsatSportNews.pl",Polsat Sport News (1080p) +http://185.236.229.62:9981/play/a06m #EXTINF:-1 tvg-id="PolsatViasatExplore.pl",Polsat Viasat Explore (1080p) http://178.219.128.68:64888/POLSVIASEXPLHD #EXTINF:-1 tvg-id="PolsatViasatExplore.pl",Polsat Viasat Explore (1080p) @@ -352,22 +478,32 @@ http://178.219.128.68:64889/POLSVIASEXPLHD http://178.219.128.68:64888/POLSVIASHISTHD #EXTINF:-1 tvg-id="PolsatViasatHistory.pl",Polsat Viasat History (1080p) http://178.219.128.68:64889/POLSVIASHISTHD +#EXTINF:-1 tvg-id="PolsatViasatHistory.pl",Polsat Viasat History (1080p) +http://185.236.229.62:9981/play/a07o #EXTINF:-1 tvg-id="PolsatViasatNature.pl",Polsat Viasat Nature (1080p) http://178.219.128.68:64888/POLSVIASNATUHD #EXTINF:-1 tvg-id="PolsatViasatNature.pl",Polsat Viasat Nature (1080p) http://185.236.229.62:9981/play/a06g #EXTINF:-1 tvg-id="Puls2.pl",Puls 2 (1080p) http://178.219.128.68:64889/PULS2HD +#EXTINF:-1 tvg-id="Puls2.pl",Puls 2 (1080p) +http://185.236.229.62:9981/play/a02y #EXTINF:-1 tvg-id="RadiowaCzworka.pl",Radio Czwรณrka (1080p) https://stream14.polskieradio.pl/pr4_video/video_pr4.stream/playlist.m3u8 +#EXTINF:-1 tvg-id="RakutenVIKI.pl",Rakuten VIKI (720p) +https://fd18f1cadd404894a31a3362c5f319bd.mediatailor.us-east-1.amazonaws.com/v1/master/04fd913bb278d8775298c26fdca9d9841f37601f/RakutenTV-eu_RakutenViki-1/playlist.m3u8 #EXTINF:-1 tvg-id="RedCarpetTV.pl",Red Carpet TV (1080p) http://185.236.229.62:9981/play/a02q #EXTINF:-1 tvg-id="RedCarpetTVInternational.pl",Red Carpet TV International (1080p) https://fast-rakuten.okast.tv/fa2e8c4385712f9a9076eaf728c751de/channels/1a6ecfaa-40c6-41b8-8634-595c424f856e/21f67fd1-4d21-43ba-8ad8-3afac9982c25/master.m3u8 +#EXTINF:-1 tvg-id="Revry.pl",Revry (720p) +https://99d8b4b6.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/UmFrdXRlblRWLWV1X1JldnJ5X0hMUw/playlist.m3u8 #EXTINF:-1 tvg-id="RomanceTV.pl",Romance TV (1080p) http://109.233.89.166/Romance_TV_HD/index.m3u8 #EXTINF:-1 tvg-id="RomanceTV.pl",Romance TV (1080p) http://109.233.89.170/Romance_TV_HD/index.m3u8 +#EXTINF:-1 tvg-id="RomanceTV.pl",Romance TV (1080p) +http://185.236.229.62:9981/play/a05j #EXTINF:-1 tvg-id="SciFi.pl",Sci Fi (1080p) http://109.233.89.166/SciFi_HD/index.m3u8 #EXTINF:-1 tvg-id="SciFi.pl",Sci Fi (1080p) @@ -376,6 +512,10 @@ http://109.233.89.170/SciFi_HD/index.m3u8 http://185.236.229.62:9981/play/a03k #EXTINF:-1 tvg-id="SferaTV.pl",Sfera TV (480p) [Not 24/7] http://stream.sferatv.pl:1935/sferalive/smil:sferalive.smil/playlist.m3u8 +#EXTINF:-1 tvg-id="ShadesofBlack.pl",Shades of Black (1080p) +https://rakutenaa-fusemedia-shadesofblack-rakutena-giu24.amagi.tv/playlist/rakutenAA-fusemedia-shadesofblack-rakutenA/playlist.m3u8 +#EXTINF:-1 tvg-id="SportKlub.pl",Sport Klub (1080p) +http://185.236.229.62:9981/play/a02k #EXTINF:-1 tvg-id="StarsTV.pl",Stars TV (1080p) http://178.219.128.68:64888/STARTVHD #EXTINF:-1 tvg-id="StopklatkaTV.pl",Stopklatka TV (1080p) @@ -394,10 +534,14 @@ http://109.233.89.166/Super_Polsat_HD/index.m3u8 http://109.233.89.170/Super_Polsat_HD/index.m3u8 #EXTINF:-1 tvg-id="SuperPolsat.pl",Super Polsat (1080p) http://178.219.128.68:64889/SUPEPOLSHD +#EXTINF:-1 tvg-id="SuperPolsat.pl",Super Polsat (1080p) +http://185.236.229.62:9981/play/a043 #EXTINF:-1 tvg-id="Superstacja.pl",Superstacja (1080p) http://109.233.89.166/Wydarzenia_24_HD/index.m3u8 #EXTINF:-1 tvg-id="Superstacja.pl",Superstacja (1080p) http://109.233.89.170/Wydarzenia_24_HD/index.m3u8 +#EXTINF:-1 tvg-id="Superstacja.pl",Superstacja (1080p) +http://185.236.229.62:9981/play/a06j #EXTINF:-1 tvg-id="TeenNick.pl",TeenNick (1080p) http://109.233.89.166/TeenNick/index.m3u8 #EXTINF:-1 tvg-id="TeenNick.pl",TeenNick (1080p) @@ -418,6 +562,12 @@ https://cdn01.sesja.pl/live_tvjaslo/live_tvjaslo.stream/playlist.m3u8 http://stream.herissons.cloud/hls/tvluban.m3u8 #EXTINF:-1 tvg-id="TelewizjaTorun.pl",Telewizja Toruล„ (1080p) [Not 24/7] http://217.173.176.107:1935/live/ngrp:tvk.stream_mobile/chunks.m3u8 +#EXTINF:-1 tvg-id="ThePetCollective.pl",The Pet Collective (720p) +https://6ec8627d.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/UmFrdXRlblRWLWV1X1RoZVBldENvbGxlY3RpdmVfSExT/playlist.m3u8 +#EXTINF:-1 tvg-id="TNAWrestlingChannel.pl",TNA Wrestling Channel (720p) +https://d39g1vxj2ef6in.cloudfront.net/v1/master/3fec3e5cac39a52b2132f9c66c83dae043dc17d4/prod-rakuten-stitched/master.m3u8?ads.xumo_channelId=88883039 +#EXTINF:-1 tvg-id="TOPBarca.pl",TOP Barca (1080p) +https://amg17560-fcb-amg17560c1-rakuten-uk-4891.playouts.now.amagi.tv/playlist/amg17560-fcbarcelona-topbarcaenglish-rakutenuk/playlist.m3u8 #EXTINF:-1 tvg-id="TopMoviesPolska.pl",Top Movies Polska (720p) https://d14678b7277b4f21964f367309c8f3e2.mediatailor.us-east-1.amazonaws.com/v1/master/44f73ba4d03e9607dcd9bebdcb8494d86964f1d8/RakutenTV-pl_TopMoviesPolska/playlist.m3u8 #EXTINF:-1 tvg-id="TrusoTV.pl",Truso TV (576p) [Not 24/7] @@ -428,6 +578,8 @@ http://109.233.89.166/TV4_HD/index.m3u8 http://109.233.89.170/TV4_HD/index.m3u8 #EXTINF:-1 tvg-id="TV4.pl",TV4 (1080p) http://178.219.128.68:64889/TV4HD +#EXTINF:-1 tvg-id="TV4.pl",TV4 (1080p) +http://185.236.229.62:9981/play/a03x #EXTINF:-1 tvg-id="TV4.pl",TV4 (1080p) [Geo-blocked] https://lb2-e2-32.pluscdn.pl/ch/1502601/309/dash/e25c2c93/live.mpd #EXTINF:-1 tvg-id="TV6.pl",TV6 (1080p) @@ -436,6 +588,8 @@ http://109.233.89.166/TV6_HD/index.m3u8 http://109.233.89.170/TV6_HD/index.m3u8 #EXTINF:-1 tvg-id="TV6.pl",TV6 (1080p) http://178.219.128.68:64889/TV6HD +#EXTINF:-1 tvg-id="TV6.pl",TV6 (1080p) +http://185.236.229.62:9981/play/a03y #EXTINF:-1 tvg-id="TVASTA.pl",TV ASTA (720p) https://5cce8c6f0e84c.streamlock.net/LiveCast/smil:PlayStream9.smil/playlist.m3u8 #EXTINF:-1 tvg-id="TelewizjaImperium.pl",TV Imperium (1080p) [Not 24/7] @@ -446,10 +600,14 @@ http://stream.tvkujawy.pl:8080/live/broadcast.m3u8 https://lb2-e3-20.pluscdn.pl/ch/1523532/366/dash/2cf383bb/live.mpd #EXTINF:-1 tvg-id="TVOkazje.pl",TV Okazje (576p) http://185.236.229.62:9981/play/a07l +#EXTINF:-1 tvg-id="TVOkazje.pl",TV Okazje (576p) +http://185.236.229.62:9981/play/a07m #EXTINF:-1 tvg-id="TVPuls.pl",TV Puls (1080p) http://109.233.89.166/TV_Puls_HD/index.m3u8 #EXTINF:-1 tvg-id="TVPuls.pl",TV Puls (1080p) http://178.219.128.68:64889/TVPULSHD +#EXTINF:-1 tvg-id="TVPuls.pl",TV Puls (1080p) +http://185.236.229.62:9981/play/a034 #EXTINF:-1 tvg-id="TVRegionalnaLubin.pl",TV Regionalna Lubin (576p) [Not 24/7] https://tvreg.klemit.net/regionalna/stream/index.m3u8 #EXTINF:-1 tvg-id="TVRepublika.pl",TV Republika (1080p) @@ -458,6 +616,8 @@ http://109.233.89.166/TV_Republika_HD/index.m3u8 http://109.233.89.170/TV_Republika_HD/index.m3u8 #EXTINF:-1 tvg-id="TVRepublika.pl",TV Republika (1080p) http://178.219.128.68:64888/TVREPU +#EXTINF:-1 tvg-id="TVRepublika.pl",TV Republika (1080p) +http://185.236.229.62:9981/play/a027 #EXTINF:-1 tvg-id="TVTorun.pl",TV Toruล„ (1080p) [Not 24/7] http://217.173.176.107:1935/live/tvk.stream/playlist.m3u8 #EXTINF:-1 tvg-id="TVTrwam.pl",TV Trwam (1080p) [Geo-blocked] @@ -481,6 +641,8 @@ http://109.233.89.170/TVP2_HD/index.m3u8 #EXTINF:-1 tvg-id="TVP2.pl",TVP2 (1080p) http://178.219.128.68:64889/TVP2HD #EXTINF:-1 tvg-id="TVP2.pl",TVP2 (1080p) +http://185.236.229.62:9981/play/a07p +#EXTINF:-1 tvg-id="TVP2.pl",TVP2 (1080p) https://ec04-waw4.cache.orange.pl/dai4/org2/vb/105/tvp2hd/index.m3u8 #EXTINF:-1 tvg-id="TVP3Bialystok.pl",TVP 3 Biaล‚ystok (576p) https://cdndai.pl/tvp3bialystoksd/index.m3u8 @@ -510,6 +672,8 @@ https://cdndai.pl/tvp3poznansd/index.m3u8 https://cdndai.pl/tvp3rzeszowsd/index.m3u8 #EXTINF:-1 tvg-id="TVP3Szczecin.pl",TVP 3 Szczecin (576p) https://cdndai.pl/tvp3szczecinsd/index.m3u8 +#EXTINF:-1 tvg-id="TVP3Warszawa.pl",TVP 3 Warszawa (1080p) +http://185.236.229.62:9981/play/a060 #EXTINF:-1 tvg-id="TVP3Warszawa.pl",TVP 3 Warszawa (576p) https://cdndai.pl/tvp3warszawasd/index.m3u8 #EXTINF:-1 tvg-id="TVP3Wroclaw.pl",TVP 3 Wrocล‚aw (576p) @@ -518,12 +682,16 @@ https://cdndai.pl/tvp3wroclawsd/index.m3u8 http://109.233.89.170/TVP_ABC/index.m3u8 #EXTINF:-1 tvg-id="TVPABC.pl",TVP ABC (1080p) http://178.219.128.68:64888/TVPABC +#EXTINF:-1 tvg-id="TVPABC.pl",TVP ABC (576p) +http://185.236.229.62:9981/play/a02z #EXTINF:-1 tvg-id="TVPDokument.pl",TVP Dokument (1080p) http://109.233.89.166/TVP_Dokument_HD/index.m3u8 #EXTINF:-1 tvg-id="TVPDokument.pl",TVP Dokument (1080p) http://109.233.89.170/TVP_Dokument_HD/index.m3u8 #EXTINF:-1 tvg-id="TVPDokument.pl",TVP Dokument (1080p) http://178.219.128.68:64889/TVPDOKUHD +#EXTINF:-1 tvg-id="TVPDokument.pl",TVP Dokument (1080p) +http://185.236.229.62:9981/play/a05b #EXTINF:-1 tvg-id="TVPHD.pl",TVP HD (1080p) http://109.233.89.166/TVP_HD/index.m3u8 #EXTINF:-1 tvg-id="TVPHD.pl",TVP HD (1080p) @@ -542,12 +710,16 @@ http://109.233.89.166/TVP_INFO_HD/index.m3u8 http://109.233.89.170/TVP_INFO_HD/index.m3u8 #EXTINF:-1 tvg-id="TVPInfo.pl",TVP Info (1080p) http://178.219.128.68:64889/TVPINFOHD +#EXTINF:-1 tvg-id="TVPInfo.pl",TVP Info (1080p) +http://185.236.229.62:9981/play/a02j #EXTINF:-1 tvg-id="TVPKobieta.pl",TVP Kobieta (1080p) http://109.233.89.170/TVP_Kobieta_HD/index.m3u8 #EXTINF:-1 tvg-id="TVPKobieta.pl",TVP Kobieta (1080p) http://178.219.128.68:64889/TVPKOBIHD #EXTINF:-1 tvg-id="TVPKultura.pl",TVP Kultura (1080p) http://178.219.128.68:64889/TVPKULT +#EXTINF:-1 tvg-id="TVPKultura.pl",TVP Kultura (1080p) +http://185.236.229.62:9981/play/a02t #EXTINF:-1 tvg-id="TVPNauka.pl",TVP Nauka (1080p) http://109.233.89.166/TVP_Nauka/index.m3u8 #EXTINF:-1 tvg-id="TVPNauka.pl",TVP Nauka (1080p) @@ -558,6 +730,8 @@ http://109.233.89.166/TVP_Polonia_HD/index.m3u8 http://109.233.89.170/TVP_Polonia_HD/index.m3u8 #EXTINF:-1 tvg-id="TVPPolonia.pl",TVP Polonia (1080p) http://178.219.128.68:64889/TVPPOLOHD +#EXTINF:-1 tvg-id="TVPPolonia.pl",TVP Polonia (1080p) +http://185.236.229.62:9981/play/a08m #EXTINF:-1 tvg-id="TVPRozrywka.pl",TVP Rozrywka (1080p) http://109.233.89.166/TVP_Rozrywka/index.m3u8 #EXTINF:-1 tvg-id="TVPRozrywka.pl",TVP Rozrywka (1080p) @@ -570,6 +744,14 @@ http://185.236.229.62:9981/play/a026 http://109.233.89.166/TVP_Seriale/index.m3u8 #EXTINF:-1 tvg-id="TVPSeriale.pl",TVP Seriale (1080p) http://178.219.128.68:64889/TVPSERI +#EXTINF:-1 tvg-id="TVPSeriale.pl",TVP Seriale (1080p) +http://185.236.229.62:9981/play/a02w +#EXTINF:-1 tvg-id="TVPSport.pl",TVP Sport (1080p) +http://109.233.89.166/TVP_Sport_HD/index.m3u8 +#EXTINF:-1 tvg-id="TVPSport.pl",TVP Sport (1080p) +http://109.233.89.170/TVP_Sport_HD/index.m3u8 +#EXTINF:-1 tvg-id="TVPSport.pl",TVP Sport (1080p) +http://178.219.128.68:64889/TVPSPORHD #EXTINF:-1 tvg-id="TVPWorld.pl",TVP World (1080p) http://178.219.128.68:64888/TVPWORLHD #EXTINF:-1 tvg-id="TVS.pl",TVS (1080p) @@ -582,6 +764,8 @@ https://live.streamtvt.pl/LiveAppStreamTVT/streams/853271271313930867905724.m3u8 http://gargoyle.tomkow.pl/hls/tvt.m3u8 #EXTINF:-1 tvg-id="ViasatExploreClassic.pl",Viasat Explore Classic (720p) https://da9c49fa.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/UmFrdXRlblRWLXBsX1ZpYXNhdEV4cGxvcmVfSExT/playlist.m3u8 +#EXTINF:-1 tvg-id="ViDocTV.pl",ViDoc TV (1080p) +http://185.236.229.62:9981/play/a051 #EXTINF:-1 tvg-id="VOXMusicTV.pl",VOX Music TV (576p) http://109.233.89.166/VOX/index.m3u8 #EXTINF:-1 tvg-id="WPolscePL.pl",W Polsce PL (1080p) @@ -590,6 +774,10 @@ http://109.233.89.170/wPolsce.PL/index.m3u8 http://109.233.89.166/wPolsce.PL/index.m3u8 #EXTINF:-1 tvg-id="WPolscePL.pl",W Polsce PL (576p) http://185.236.229.62:9981/play/a022 +#EXTINF:-1 tvg-id="WorldBilliards.pl",World Billiards (720p) +https://9a81dd4ee3884d0dbcacafaf0d81327a.mediatailor.us-east-1.amazonaws.com/v1/master/04fd913bb278d8775298c26fdca9d9841f37601f/RakutenTV-eu_BilliardsTV/playlist.m3u8 +#EXTINF:-1 tvg-id="WorldofFreesports.pl",World of Freesports (1080p) +https://rakutenaa-mainstreammediafreesportsintl-rakuten-t7dc0.amagi.tv/playlist/rakutenAA-mainstreammediafreesportsintl-rakuten/playlist.m3u8 #EXTINF:-1 tvg-id="WorldPokerTour.pl",World Poker Tour (1080p) https://d39g1vxj2ef6in.cloudfront.net/v1/manifest/3fec3e5cac39a52b2132f9c66c83dae043dc17d4/prod-rakuten-stitched/15d59f2f-80da-4448-9bce-775cc9f470f7/1.m3u8 #EXTINF:-1 tvg-id="WPTV.pl",WP TV (1080p) @@ -600,6 +788,10 @@ http://109.233.89.170/WP_HD/index.m3u8 http://178.219.128.68:64889/WPHD #EXTINF:-1 tvg-id="WPTV.pl",WP TV (576p) http://185.236.229.62:9981/play/a02u +#EXTINF:-1 tvg-id="ZNation.pl",Z Nation (720p) +https://d39g1vxj2ef6in.cloudfront.net/v1/master/3fec3e5cac39a52b2132f9c66c83dae043dc17d4/prod-rakuten-stitched/master.m3u8?ads.xumo_channelId=88883098 +#EXTINF:-1 tvg-id="ZeeOne.pl",Zee One (720p) +https://89ec2d15e090480bb419d940b8793b9c.mediatailor.us-east-1.amazonaws.com/v1/master/44f73ba4d03e9607dcd9bebdcb8494d86964f1d8/RakutenTV-eu_ZeeWorld-1/playlist.m3u8 #EXTINF:-1 tvg-id="ZoomTV.pl",Zoom TV (1080p) http://109.233.89.166/Zoom_TV_HD/index.m3u8 #EXTINF:-1 tvg-id="ZoomTV.pl",Zoom TV (1080p) @@ -608,169 +800,173 @@ http://109.233.89.170/Zoom_TV_HD/index.m3u8 http://178.219.128.68:64889/ZOOMTVHD #EXTINF:-1 tvg-id="ZoomTV.pl",Zoom TV (576p) http://185.236.229.62:9981/play/a02a -#EXTINF:-1 tvg-id="FilmBoxFamily.pl",FilmBox Family (1080p) -http://178.219.128.68:64888/FILMFAMI -#EXTINF:-1 tvg-id="GolfChannel.pl",Golf Channel (1080p) -http://185.236.229.62:9981/play/a03m -#EXTINF:-1 tvg-id="FightKlub.pl",Fight Klub (1080p) -http://185.236.229.62:9981/play/a02l -#EXTINF:-1 tvg-id="E.pl",E! (1080p) -http://185.236.229.62:9981/play/a03j -#EXTINF:-1 tvg-id="AXNSpin.pl",AXN Spin (1080p) -http://185.236.229.62:9981/play/a044 -#EXTINF:-1 tvg-id="ElevenSports1.pl",Eleven Sports 1 (2160p) -http://9b129915.akadatel.com/iptv/83GA6FAV4DPTPQ/20068/index.m3u8 -#EXTINF:-1 tvg-id="TVPSport.pl",TVP Sport (1080p) -http://109.233.89.166/TVP_Sport_HD/index.m3u8 -#EXTINF:-1 tvg-id="TVPSport.pl",TVP Sport (1080p) -http://109.233.89.170/TVP_Sport_HD/index.m3u8 -#EXTINF:-1 tvg-id="TVPSport.pl",TVP Sport (1080p) -http://178.219.128.68:64889/TVPSPORHD -#EXTINF:-1 tvg-id="ViDocTV.pl",ViDoc TV (1080p) -http://185.236.229.62:9981/play/a051 -#EXTINF:-1 tvg-id="FightBox.pl",FightBox (1080p) -http://185.236.229.62:9981/play/a03n -#EXTINF:-1 tvg-id="FilmBoxAction.pl",FilmBox Action (576p) -http://185.236.229.62:9981/play/a033 -#EXTINF:-1 tvg-id="EpicDrama.pl",Epic Drama (1080p) -http://185.236.229.62:9981/play/a029 -#EXTINF:-1 tvg-id="FightBox.pl",FightBox (1080p) -http://195.189.60.33:9002/play/a007 -#EXTINF:-1 tvg-id="GolfZone.pl",Golf Zone (1080p) -http://195.189.60.33:9002/play/a006 -#EXTINF:-1 tvg-id="FilmBoxAction.pl",FilmBox Action (576p) -http://195.189.60.33:9004/play/a00g -#EXTINF:-1 tvg-id="EpicDrama.pl",Epic Drama (1080p) -http://195.189.60.33:9010/play/a00e -#EXTINF:-1 tvg-id="FilmBoxArthouse.pl",FilmBox Arthouse (576p) -http://195.189.60.33:9010/play/a00a -#EXTINF:-1 tvg-id="TVP3Warszawa.pl",TVP 3 Warszawa (1080p) -http://185.236.229.62:9981/play/a060 -#EXTINF:-1 tvg-id="TVPPolonia.pl",TVP Polonia (1080p) -http://185.236.229.62:9981/play/a08m -#EXTINF:-1 tvg-id="PolsatDoku.pl",Polsat Doku (1080p) -http://185.236.229.62:9981/play/a07z -#EXTINF:-1 tvg-id="Fox.pl",Fox (1080p) -http://185.236.229.62:9981/play/a07u -#EXTINF:-1 tvg-id="FoxComedy.pl",Fox Comedy (1080p) -http://185.236.229.62:9981/play/a07t -#EXTINF:-1 tvg-id="PolsatSportExtra.pl",Polsat Sport Extra (1080p) -http://185.236.229.62:9981/play/a07q -#EXTINF:-1 tvg-id="TVP2.pl",TVP2 (1080p) -http://185.236.229.62:9981/play/a07p -#EXTINF:-1 tvg-id="PolsatViasatHistory.pl",Polsat Viasat History (1080p) -http://185.236.229.62:9981/play/a07o -#EXTINF:-1 tvg-id="PolsatSport.pl",Polsat Sport (1080p) -http://185.236.229.62:9981/play/a07n -#EXTINF:-1 tvg-id="TVOkazje.pl",TV Okazje (576p) -http://185.236.229.62:9981/play/a07m -#EXTINF:-1 tvg-id="PolsatNewsPolityka.pl",Polsat News Polityka (1080p) -http://185.236.229.62:9981/play/a07h -#EXTINF:-1 tvg-id="DisneyXD.pl",Disney XD (576p) -http://185.236.229.62:9981/play/a07c -#EXTINF:-1 tvg-id="PolsatSeriale.pl",Polsat Seriale (1080p) -http://185.236.229.62:9981/play/a07b -#EXTINF:-1 tvg-id="PolsatRodzina.pl",Polsat Rodzina (1080p) -http://185.236.229.62:9981/play/a079 -#EXTINF:-1 tvg-id="BBCLifestyle.pl",BBC Lifestyle (1080p) -http://185.236.229.62:9981/play/a06t -#EXTINF:-1 tvg-id="BBCBrit.pl",BBC Brit (1080p) -http://185.236.229.62:9981/play/a06r -#EXTINF:-1 tvg-id="PolsatSportNews.pl",Polsat Sport News (1080p) -http://185.236.229.62:9981/play/a06m -#EXTINF:-1 tvg-id="PolsatSportFight.pl",Polsat Sport Fight (1080p) -http://185.236.229.62:9981/play/a06l -#EXTINF:-1 tvg-id="Superstacja.pl",Superstacja (1080p) -http://185.236.229.62:9981/play/a06j -#EXTINF:-1 tvg-id="CBSEuropa.pl",CBS Europa (1080p) -http://185.236.229.62:9981/play/a06i -#EXTINF:-1 tvg-id="ComedyCentral.pl",Comedy Central (1080p) -http://185.236.229.62:9981/play/a068 -#EXTINF:-1 tvg-id="Nickelodeon.pl",Nickelodeon (576p) -http://185.236.229.62:9981/play/a067 -#EXTINF:-1 tvg-id="NickJr.pl",Nick Jr. (576p) -http://185.236.229.62:9981/play/a065 -#EXTINF:-1 tvg-id="ElevenSports3.pl",Eleven Sports 3 (1080p) -http://185.236.229.62:9981/play/a061 -#EXTINF:-1 tvg-id="ElevenSports2.pl",Eleven Sports 2 (1080p) -http://185.236.229.62:9981/play/a05y -#EXTINF:-1 tvg-id="ElevenSports1.pl",Eleven Sports 1 (1080p) -http://185.236.229.62:9981/play/a05w -#EXTINF:-1 tvg-id="KinoPolska.pl",Kino Polska (1080p) -http://185.236.229.62:9981/play/a05v -#EXTINF:-1 tvg-id="RomanceTV.pl",Romance TV (1080p) -http://185.236.229.62:9981/play/a05j -#EXTINF:-1 tvg-id="AMC.pl",AMC (1080p) -http://185.236.229.62:9981/play/a05g -#EXTINF:-1 tvg-id="TVPDokument.pl",TVP Dokument (1080p) -http://185.236.229.62:9981/play/a05b -#EXTINF:-1 tvg-id="dlaCiebietv.pl",dlaCiebie.tv (1080p) -http://185.236.229.62:9981/play/a04u -#EXTINF:-1 tvg-id="NationalGeographic.pl",National Geographic (1080p) -http://185.236.229.62:9981/play/a04d -#EXTINF:-1 tvg-id="ActiveFamily.pl",Active Family (1080p) -http://185.236.229.62:9981/play/a04a -#EXTINF:-1 tvg-id="SuperPolsat.pl",Super Polsat (1080p) -http://185.236.229.62:9981/play/a043 -#EXTINF:-1 tvg-id="Polsat2.pl",Polsat 2 (1080p) -http://185.236.229.62:9981/play/a042 -#EXTINF:-1 tvg-id="PolsatFilm.pl",Polsat Film (1080p) -http://185.236.229.62:9981/play/a040 -#EXTINF:-1 tvg-id="PolsatCafe.pl",Polsat Cafe (1080p) -http://185.236.229.62:9981/play/a03z -#EXTINF:-1 tvg-id="TV6.pl",TV6 (1080p) -http://185.236.229.62:9981/play/a03y -#EXTINF:-1 tvg-id="TV4.pl",TV4 (1080p) -http://185.236.229.62:9981/play/a03x +#EXTINF:-1 tvg-id="PolsatNewsPolityka.pl",Polsat News Polityka (1080p) [Geo-blocked] +https://lb2-e3-20.pluscdn.pl/lv/1511888/322/dash/52a9b70b/live.mpd +#EXTINF:-1 tvg-id="Royalworld.pl",Royalworld (720p) +https://ac76260b1102416c93f3d20958bfeb4b.mediatailor.us-east-1.amazonaws.com/v1/master/44f73ba4d03e9607dcd9bebdcb8494d86964f1d8/RakutenTV-pl_Royalworld/playlist.m3u8 +#EXTINF:-1 tvg-id="Euronews.pl",Euronews (720p) +https://euronews-live-pol-pl.fast.rakuten.tv/v1/master/0547f18649bd788bec7b67b746e47670f558b6b2/production-LiveChannel-6769/bitok/eyJzdGlkIjoiNDgyYjMzYzEtYmYwYi00NTIzLThlMGMtZGZmY2ZkNjYyMGU1IiwibWt0IjoicGwiLCJjaCI6Njc2OSwicHRmIjo1fQ%3D%3D/26235/euronews-pl.m3u8 +#EXTINF:-1 tvg-id="TopMoviesPolska.pl",Top Movies Polska (1080i) +https://top-movies-rakuten-tv-pl.fast.rakuten.tv/v1/master/0547f18649bd788bec7b67b746e47670f558b6b2/production-LiveChannel-6059/master.m3u8 +#EXTINF:-1 tvg-id="HiDance.pl",HiDance (1080i) +https://s-pl-01.mediatool.tv/playout/hdpl-abr/index.m3u8 +#EXTINF:-1 tvg-id="HiMusic.pl",HiMusic (1080i) +https://s-pl-01.mediatool.tv/playout/hmpl-abr/index.m3u8 +#EXTINF:-1 tvg-id="SAYHi.pl",SAYHi (1080i) +https://s-pl-01.mediatool.tv/playout/shpl-abr/index.m3u8 +#EXTINF:-1 tvg-id="VoxwRytmieHitow.pl",Vox w Rytmie Hitow (1080i) +https://s-pl-01.mediatool.tv/playout/vxpl-abr/index.m3u8 +#EXTINF:-1 tvg-id="EskaRockDobrzeRockuje.pl",Eska Rock Dobrze Rockuje (1080i) +https://s-pl-01.mediatool.tv/playout/erpl-abr/index.m3u8 +#EXTINF:-1 tvg-id="EskaHitynaCzasie.pl",Eska Hity na Czasie (1080i) +https://s-pl-01.mediatool.tv/playout/espl-abr/index.m3u8 +#EXTINF:-1 tvg-id="PoradnikZdrowieTV.pl",Poradnik Zdrowie TV (1080i) +https://s-pl-01.mediatool.tv/playout/pzpl-abr/index.m3u8 +#EXTINF:-1 tvg-id="MuratorTV.pl",Murator TV (1080i) +https://s-pl-01.mediatool.tv/playout/mupl-abr/index.m3u8 +#EXTINF:-1 tvg-id="SuperExpressTV.pl",Super Express TV (1080i) +https://s-pl-01.mediatool.tv/playout/sepl-abr/index.m3u8 +#EXTINF:-1 tvg-id="TVP1.pl",TVP1 (1080i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/172c116f-0e21-4c80-9146-327a2ee05918.ts +#EXTINF:-1 tvg-id="ComedyCentral.pl",Comedy Central (540i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/ecf03eb6-acc5-4c9e-9339-9e6a4fe31d98.ts +#EXTINF:-1 tvg-id="VOD205.pl",VOD 205 (576i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/9dac17c7-98be-4b05-8ef2-038aa3a37cc4.ts +#EXTINF:-1 tvg-id="VOD206.pl",VOD 206 (576i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/4a4bb8f0-c5bc-4001-94ed-1b8d628e097d.ts +#EXTINF:-1 tvg-id="VOD207.pl",VOD 207 (576i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/1e51c6c3-a5a2-4f0e-8482-d1bc9f94d2e5.ts +#EXTINF:-1 tvg-id="VOD208.pl",VOD 208 (720p) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/ffb9bcf6-96e8-4a7a-9bcd-a32a8b399f5a.ts +#EXTINF:-1 tvg-id="13Ulica.pl",13 Ulica (1080i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/ced900ec-18e3-4500-be3d-5642227688f7.ts +#EXTINF:-1 tvg-id="NowaTV.pl",Nowa TV (1080i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/62d1cae5-4864-4c79-9224-96e4a1dfe9f3.ts +#EXTINF:-1 tvg-id="PoloTV.pl",Polo TV (720p) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/6e627418-a319-4d09-a627-4b612193147d.ts +#EXTINF:-1 tvg-id="PowerTV.pl",Power TV (576i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/ca44c966-c2d9-48a4-aa6c-c22f1c95fd17.ts +#EXTINF:-1 tvg-id="RedCarpetTV.pl",Red Carpet TV (1080i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/6109dcb5-ebdd-41a0-b7f0-0c1ab0c1ddd2.ts +#EXTINF:-1 tvg-id="StarsTV.pl",Stars TV (1080i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/f78056d5-c76b-4ed5-9186-f02217dcfb48.ts +#EXTINF:-1 tvg-id="TV6.pl",TV6 (1080i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/693f29bf-70ac-432d-bed6-458b1ed144e7.ts +#EXTINF:-1 tvg-id="TV6.pl",TV6 (1080i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/9f075b25-a8e2-4801-9ed5-e599c6e281c4.ts +#EXTINF:-1 tvg-id="RomanceTV.pl",Romance TV (1080i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/a58cea4f-b711-4935-ab88-5848b99d76e2.ts +#EXTINF:-1 tvg-id="SundanceTV.pl",Sundance TV (1080i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/e02f357c-de0f-461f-9928-949889a786fb.ts +#EXTINF:-1 tvg-id="WPTV.pl",WP TV (1080i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/0a234f82-e4ff-470e-864c-bfc560b00f6a.ts +#EXTINF:-1 tvg-id="WPTV.pl",WP TV (576i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/afd2ddbf-a0f9-481a-8dcd-fcfa8f97939b.ts +#EXTINF:-1 tvg-id="E.pl",E! (1080i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/1edbd119-5fef-4b2f-b3ef-7bb9e27a49aa.ts +#EXTINF:-1 tvg-id="TVS.pl",TVS (576i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/a8ddbe08-496f-4aba-9f18-6bef849a01fa.ts +#EXTINF:-1 tvg-id="TVS.pl",TVS (576i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/38e7bf79-ed62-4242-968d-df18f04181de.ts +#EXTINF:-1 tvg-id="ZoomTV.pl",Zoom TV (720p) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/f9057d34-8caf-4cf6-894d-9e4ca197095e.ts +#EXTINF:-1 tvg-id="ZoomTV.pl",Zoom TV (576i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/95b37a9f-4e7f-4c72-9595-5c1b27324cab.ts +#EXTINF:-1 tvg-id="ComedyCentral.pl",Comedy Central (540i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/3499eccd-fe22-444a-9129-2975ae097d42.ts +#EXTINF:-1 tvg-id="ComedyCentral.pl",Comedy Central (1080i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/b78c60f0-b186-485a-822c-2ee6822b006f.ts +#EXTINF:-1 tvg-id="Puls2.pl",Puls 2 (720p) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/aef35b7b-ac74-4207-9db9-b1bfae15be28.ts +#EXTINF:-1 tvg-id="Puls2.pl",Puls 2 (1080i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/e0286f10-a4c8-45fb-983c-f6ebec907fd8.ts +#EXTINF:-1 tvg-id="TVOkazje.pl",TV Okazje (576i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/26e34e37-6cf4-49d8-bcf3-f1a2eac28c57.ts +#EXTINF:-1 tvg-id="TVPuls.pl",TV Puls (1080i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/aeb45398-d540-43df-814d-b9eab064cb13.ts +#EXTINF:-1 tvg-id="TVPuls.pl",TV Puls (1080i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/53c57b24-742a-42d0-ae2b-998408f4c19c.ts +#EXTINF:-1 tvg-id="TV4.pl",TV4 (720p) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/85edd39f-d0c7-42ca-b3b4-43c25b427c3a.ts +#EXTINF:-1 tvg-id="TV4.pl",TV4 (1080i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/2b98fc49-f914-4b76-83dc-50a16d039e8f.ts +#EXTINF:-1 tvg-id="SuperPolsat.pl",Super Polsat (720p) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/ddd92d16-e9fc-405a-9cde-3b39297dc7db.ts +#EXTINF:-1 tvg-id="SuperPolsat.pl",Super Polsat (1080i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/1e84efe5-b400-470a-847d-2ff4e511fdf6.ts +#EXTINF:-1 tvg-id="PolsatPlay.pl",Polsat Play (1080i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/6fbc38af-7ef3-4997-a9cd-d95f3adffa10.ts +#EXTINF:-1 tvg-id="PolsatPlay.pl",Polsat Play (1080i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/580e1210-a4e7-4538-a335-ba0778c2a88c.ts +#EXTINF:-1 tvg-id="PolsatRodzina.pl",Polsat Rodzina (720p) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/426e3874-1088-452b-86b9-d5ffd907645c.ts +#EXTINF:-1 tvg-id="PolsatRodzina.pl",Polsat Rodzina (1080i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/f342f17c-f85c-4940-8192-e12f20065006.ts +#EXTINF:-1 tvg-id="PolsatComedyCentralExtra.pl",Polsat Comedy Central Extra (720p) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/dcd9bfb6-3cf1-4ed3-8071-8bb7c5584dd9.ts +#EXTINF:-1 tvg-id="PolsatComedyCentralExtra.pl",Polsat Comedy Central Extra (1080i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/47026565-02f2-49ec-aa83-f0e12630be0d.ts +#EXTINF:-1 tvg-id="PolsatSeriale.pl",Polsat Seriale (720p) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/4b49481c-3ec7-4a54-91e1-4406aec5074e.ts +#EXTINF:-1 tvg-id="PolsatSeriale.pl",Polsat Seriale (1080i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/ab79c293-a2d0-4352-addf-3abd775c056a.ts +#EXTINF:-1 tvg-id="PolsatFilm.pl",Polsat Film (720p) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/6be8bf64-18d0-49a0-8da9-a2e93359597f.ts +#EXTINF:-1 tvg-id="PolsatFilm.pl",Polsat Film (1080i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/d23ca912-3c76-4384-8609-b3efb74d6860.ts +#EXTINF:-1 tvg-id="PolsatCafe.pl",Polsat Cafe (1080i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/873595c1-87e1-4acb-a856-021ef40de90d.ts +#EXTINF:-1 tvg-id="PolsatCafe.pl",Polsat Cafe (1080i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/842750a0-b7fc-4261-bd56-2a68b03c5a27.ts +#EXTINF:-1 tvg-id="Polsat2.pl",Polsat 2 (1080i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/3313df7a-4f5a-49d4-b75a-d3ed161915ca.ts +#EXTINF:-1 tvg-id="Polsat2.pl",Polsat 2 (1080i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/185dd46e-4702-42ac-84f3-a4ddcfdd9704.ts +#EXTINF:-1 tvg-id="Polsat.pl",Polsat (1080i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/3623e2ea-d0eb-450e-bdbd-8ba4806553a1.ts #EXTINF:-1 tvg-id="Polsat.pl",Polsat (1080p) -http://185.236.229.62:9981/play/a03v -#EXTINF:-1 tvg-id="PolsatPlay.pl",Polsat Play (1080p) -http://185.236.229.62:9981/play/a03w -#EXTINF:-1 tvg-id="PolsatNews2.pl",Polsat News 2 (1080p) -http://185.236.229.62:9981/play/a03u -#EXTINF:-1 tvg-id="ElevenSports1.pl",Eleven Sports 1 (2160p) -http://185.236.229.62:9981/play/a03t -#EXTINF:-1 tvg-id="13Ulica.pl",13 Ulica (1080p) -http://185.236.229.62:9981/play/a03o -#EXTINF:-1 tvg-id="FilmBoxFamily.pl",FilmBox Family (576p) -http://185.236.229.62:9981/play/a037 -#EXTINF:-1 tvg-id="FilmBoxExtra.pl",FilmBox Extra (1080p) -http://185.236.229.62:9981/play/a036 -#EXTINF:-1 tvg-id="TVPuls.pl",TV Puls (1080p) -http://185.236.229.62:9981/play/a034 -#EXTINF:-1 tvg-id="FilmBoxFamily.pl",FilmBox Family (576p) -http://185.236.229.62:9981/play/a032 -#EXTINF:-1 tvg-id="KinoTV.pl",Kino TV (1080p) -http://185.236.229.62:9981/play/a031 -#EXTINF:-1 tvg-id="TVPABC.pl",TVP ABC (576p) -http://185.236.229.62:9981/play/a02z -#EXTINF:-1 tvg-id="Puls2.pl",Puls 2 (1080p) -http://185.236.229.62:9981/play/a02y -#EXTINF:-1 tvg-id="FilmBoxPremiumHD.pl",FilmBox Premium HD (1080p) -http://185.236.229.62:9981/play/a02x -#EXTINF:-1 tvg-id="TVPSeriale.pl",TVP Seriale (1080p) -http://185.236.229.62:9981/play/a02w -#EXTINF:-1 tvg-id="TVPKultura.pl",TVP Kultura (1080p) -http://185.236.229.62:9981/play/a02t -#EXTINF:-1 tvg-id="BBCEarth.pl",BBC Earth (1080p) -http://185.236.229.62:9981/play/a02o -#EXTINF:-1 tvg-id="SportKlub.pl",Sport Klub (1080p) -http://185.236.229.62:9981/play/a02k -#EXTINF:-1 tvg-id="TVPInfo.pl",TVP Info (1080p) -http://185.236.229.62:9981/play/a02j -#EXTINF:-1 tvg-id="NowaTV.pl",Nowa TV (1080p) -http://185.236.229.62:9981/play/a02h -#EXTINF:-1 tvg-id="FokusTV.pl",Fokus TV (1080p) -http://185.236.229.62:9981/play/a02g -#EXTINF:-1 tvg-id="EskaTV.pl",Eska TV (1080p) -http://185.236.229.62:9981/play/a02f -#EXTINF:-1 tvg-id="PoloTV.pl",Polo TV (1080p) -http://185.236.229.62:9981/play/a02e -#EXTINF:-1 tvg-id="TVRepublika.pl",TV Republika (1080p) -http://185.236.229.62:9981/play/a027 -#EXTINF:-1 tvg-id="DaVinci.pl",Da Vinci (576p) -http://185.236.229.62:9981/play/a024 -#EXTINF:-1 tvg-id="AXN.pl",AXN (1080p) -http://185.236.229.62:9981/play/a07s -#EXTINF:-1 tvg-id="4FunDance.pl",4 Fun Dance (576p) -http://185.236.229.62:9981/play/a020 +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/0affc19c-ec65-4558-a9a7-07f0445f341a.ts +#EXTINF:-1 tvg-id="ActiveFamily.pl",Active Family (1080i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/f13879f3-bcd4-4321-9d62-313670edbd64.ts +#EXTINF:-1 tvg-id="StudioMedTV.pl",StudioMed TV (576i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/729629f0-1c3f-4504-a229-17cab8264f6d.ts +#EXTINF:-1 tvg-id="TVTrwam.pl",TV Trwam (1080i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/a221dbe9-fe9c-448b-ac03-c888235c32f9.ts +#EXTINF:-1 tvg-id="HomeTV.pl",Home TV (576i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/cd50060a-0ab8-42c4-a245-473fab0e27a1.ts +#EXTINF:-1 tvg-id="TVC.pl",TVC (576i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/23d51aa6-9daa-45d5-857f-a73f741f0655.ts +#EXTINF:-1 tvg-id="AntenaHD.pl",Antena HD (576p) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/648835f7-46e6-4b32-bfae-2536848f708d.ts +#EXTINF:-1 tvg-id="TVPPolonia.pl",TVP Polonia (720p) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/c7eebc71-bd18-4042-886c-e9aaefb7477f.ts +#EXTINF:-1 tvg-id="TVPPolonia.pl",TVP Polonia (1080i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/3ab29e79-8cf7-4f7b-9f7d-56ac82451e77.ts +#EXTINF:-1 tvg-id="TVPHistoria.pl",TVP Historia (576i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/1126cb0c-d437-4f64-bd74-e66b085a72ef.ts +#EXTINF:-1 tvg-id="TVPHistoria.pl",TVP Historia (576i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/d19b3e42-40ab-4a06-bfa1-d659d0d0c926.ts +#EXTINF:-1 tvg-id="TVPKultura.pl",TVP Kultura (1080i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/77234e51-d22e-4941-9644-e4537a9f0691.ts +#EXTINF:-1 tvg-id="TVPDokument.pl",TVP Dokument (1080i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/d91afe3f-da34-4537-96b1-02dd5e1dc6eb.ts +#EXTINF:-1 tvg-id="TVPRozrywka.pl",TVP Rozrywka (540i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/6ac08ec1-579b-4033-ab8e-85cdc83b62fe.ts +#EXTINF:-1 tvg-id="TVPRozrywka.pl",TVP Rozrywka (576i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/d4cd00a3-60f5-40dc-bfcf-0c5e228d4dc5.ts +#EXTINF:-1 tvg-id="TVPSeriale.pl",TVP Seriale (360p) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/470aea40-e244-4d07-9d03-1305cc51c5eb.ts +#EXTINF:-1 tvg-id="TVPSeriale.pl",TVP Seriale (1080i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/47400c2a-f645-47a3-860a-ee745a2ee678.ts +#EXTINF:-1 tvg-id="TVPHD.pl",TVP HD (720p) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/5445b6cd-c1ed-4d3b-be39-55ac3dc85ba8.ts +#EXTINF:-1 tvg-id="TVPHD.pl",TVP HD (1080i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/a8ef46c5-142a-4c2a-bb0d-27fdb7ba3a36.ts +#EXTINF:-1 tvg-id="TVRepublika.pl",TV Republika (1080i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/610afe23-79a2-4d0d-b607-dbbe08297b50.ts +#EXTINF:-1 tvg-id="TVP2.pl",TVP2 (720p) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/896c4efd-0a92-4b7a-9152-bfba2ecd12ec.ts +#EXTINF:-1 tvg-id="TVP2.pl",TVP2 (1080p) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/5242aace-e131-4449-af51-46207be50da5.ts +#EXTINF:-1 tvg-id="TVP1.pl",TVP1 (1080i) +http://nowatv.stream2.link:8080/live/64%3A1c%3Ab0%3Aa1%3A48%3Ac1/tfAjswfz6H/00eb3d6b-3ce1-4016-aa67-944190ae0103.ts diff --git a/streams/pl_irylek.m3u b/streams/pl_irylek.m3u deleted file mode 100644 index e00bb3fb7..000000000 --- a/streams/pl_irylek.m3u +++ /dev/null @@ -1,41 +0,0 @@ -#EXTM3U -#EXTINF:-1 tvg-id="AlfaTVP.pl",Alfa TVP (1080p) -https://irylek.ct8.pl/stream/alfatvp -#EXTINF:-1 tvg-id="BelsatTV.pl",Belsat TV (1080p) -https://irylek.ct8.pl/stream/belsat -#EXTINF:-1 tvg-id="TVP1.pl",TVP1 (1080p) -https://irylek.ct8.pl/stream/tvp1hd -#EXTINF:-1 tvg-id="TVP2.pl",TVP2 (1080p) -https://irylek.ct8.pl/stream/tvp2hd -#EXTINF:-1 tvg-id="TVP3Warszawa.pl",TVP 3 Warszawa (1080p) -https://irylek.ct8.pl/stream/tvp3warszawahd -#EXTINF:-1 tvg-id="TVPABC.pl",TVP ABC (1080p) -https://irylek.ct8.pl/stream/tvpabc -#EXTINF:-1 tvg-id="TVPABC2.pl",TVP ABC 2 (1080p) -https://irylek.ct8.pl/stream/tvpabc2 -#EXTINF:-1 tvg-id="TVPDokument.pl",TVP Dokument (1080p) -https://irylek.ct8.pl/stream/tvpdokument -#EXTINF:-1 tvg-id="TVPHistoria.pl",TVP Historia (1080p) -https://irylek.ct8.pl/stream/tvphistoria -#EXTINF:-1 tvg-id="",TVP Historia 2 (1080p) -https://irylek.ct8.pl/stream/tvphistoria2 -#EXTINF:-1 tvg-id="TVPInfo.pl",TVP Info (1080p) -https://irylek.ct8.pl/stream/tvpinfo -#EXTINF:-1 tvg-id="TVPKobieta.pl",TVP Kobieta (1080p) [Geo-blocked] -https://irylek.ct8.pl/stream/tvpkobieta -#EXTINF:-1 tvg-id="TVPKultura.pl",TVP Kultura (1080p) -https://irylek.ct8.pl/stream/tvpkultura -#EXTINF:-1 tvg-id="TVPKultura2.pl",TVP Kultura 2 (1080p) -https://irylek.ct8.pl/stream/tvpkultura2 -#EXTINF:-1 tvg-id="TVPNauka.pl",TVP Nauka (1080p) -https://irylek.ct8.pl/stream/tvpnauka -#EXTINF:-1 tvg-id="TVPPolonia.pl",TVP Polonia (1080p) -https://irylek.ct8.pl/stream/tvppolonia -#EXTINF:-1 tvg-id="TVPRozrywka.pl",TVP Rozrywka (1080p) -https://irylek.ct8.pl/stream/tvprozrywka -#EXTINF:-1 tvg-id="TVPWilno.pl",TVP Wilno (1080p) -https://irylek.ct8.pl/stream/tvpwilno -#EXTINF:-1 tvg-id="TVPSport.pl",TVP Sport (1080p) -https://irylek.ct8.pl/stream/tvpsport -#EXTINF:-1 tvg-id="TVPWorld.pl",TVP World (1080p) -https://irylek.ct8.pl/stream/tvpworld diff --git a/streams/ps.m3u b/streams/ps.m3u index 9e1999514..c7ddf783e 100644 --- a/streams/ps.m3u +++ b/streams/ps.m3u @@ -48,3 +48,5 @@ https://streaming.zaytonatube.com:8081/ShababFM/shabab/index.m3u8 http://htvint.mada.ps:8889/orient/index.m3u8 #EXTINF:-1 tvg-id="WatarTV.ps",Watar TV (720p) [Not 24/7] https://htvint.mada.ps/orient/index.m3u8 +#EXTINF:-1 tvg-id="NablusTV.ps",Nablus TV (1080p) +https://htvint.mada.ps/nabluslive/index.m3u8 diff --git a/streams/pt.m3u b/streams/pt.m3u index b34a62b3c..904aa678d 100644 --- a/streams/pt.m3u +++ b/streams/pt.m3u @@ -99,3 +99,9 @@ https://video-auth4.iol.pt/live_tvi_reality/live_tvi_reality/edge_servers/tvirea https://video-auth2.iol.pt/live_vmais/live_vmais/edge_servers/vmais-720p/playlist.m3u8 #EXTINF:-1 tvg-id="WayTV.pt",Way TV (1080p) http://213.13.26.11:1935/live/sobrenaturaltv/livestream.m3u8 +#EXTINF:-1 tvg-id="ADBTV.pt",ADB TV (1080p) +https://customer-dxeagripmkqbhyeq.cloudflarestream.com/580c36d77be200bf5c7d3efc06487bd4/manifest/video.m3u8 +#EXTINF:-1 tvg-id="NPCRadioeTV.pt",NPC Radio e TV (720p) +https://stmv1.srvif.com/npc/npc/playlist.m3u8 +#EXTINF:-1 tvg-id="TVI.pt",TVI (720p) +https://raw.githubusercontent.com/ipstreet312/freeiptv/master/ressources/tvipt/sh/tvi.m3u8 diff --git a/streams/qa.m3u b/streams/qa.m3u index dbb6051cb..aa7633e2f 100644 --- a/streams/qa.m3u +++ b/streams/qa.m3u @@ -81,3 +81,7 @@ https://liveakgr.alkassdigital.net/hls/live/2097037/Alkass2hef/master.m3u8 https://qatartv.akamaized.net/hls/live/2026573/qtv1/master.m3u8 #EXTINF:-1 tvg-id="QatarTelevision2.qa",Qatar Television 2 (720p) https://qatartv.akamaized.net/hls/live/2026574/qtv2/master.m3u8 +#EXTINF:-1 tvg-id="QatarTelevision2.qa",Qatar Television 2 (1080p) +https://live.kwikmotion.com/qtv2live/qtv2.smil/playlist.m3u8 +#EXTINF:-1 tvg-id="QatarTelevision.qa",Qatar Television (1080p) +https://live.kwikmotion.com/qtv1live/qtv1.smil/playlist.m3u8 diff --git a/streams/ro.m3u b/streams/ro.m3u index 5bb6fd139..518230122 100644 --- a/streams/ro.m3u +++ b/streams/ro.m3u @@ -1,4 +1,6 @@ #EXTM3U +#EXTINF:-1 tvg-id="A7TV.ro",A7TV (1080p) +http://62.233.57.226:8001/play/a00j00 #EXTINF:-1 tvg-id="AgroTV.ro",AgroTV (404p) [Not 24/7] https://stream1.1616.ro:1945/agro/livestream/playlist.m3u8 #EXTINF:-1 tvg-id="AgroTV.ro",AgroTV (360p) [Not 24/7] @@ -53,6 +55,8 @@ http://89.149.30.158:1935/CorneaTV/myStream/playlist.m3u8 http://cdn.credonet.tv:1935/ctv/livecredo/playlist.m3u8 #EXTINF:-1 tvg-id="CredoTV.ro",Credo TV (720p) [Not 24/7] https://5bb3298db4821.streamlock.net/ctv/livecredo/playlist.m3u8 +#EXTINF:-1 tvg-id="Digi24.ro",Digi 24 (1080p) +http://62.233.57.226:8001/play/a00k00 #EXTINF:-1 tvg-id="Digi24.ro",Digi 24 (576p) https://edge-ar.rcs-rds.ro/digi24ar/index.m3u8 #EXTINF:-1 tvg-id="DisneyChannel.ro",Disney Channel Romania (576i) @@ -245,7 +249,6 @@ https://mn-nl.mncdn.com/tvrtgmures_new/smil:tvrtgmures_new.smil/index.m3u8 https://tvr-tvrtimisoara.cdn.zitec.com/live/tvrtimisoara/main.m3u8 #EXTINF:-1 tvg-id="TVSat.ro",TVSat (576p) [Not 24/7] http://89.38.8.130:39443 -#EXTINF:-1 tvg-id="Digi24.ro",Digi 24 (1080p) -http://62.233.57.226:8001/play/a00k00 -#EXTINF:-1 tvg-id="A7TV.ro",A7TV (1080p) -http://62.233.57.226:8001/play/a00j00 +#EXTINF:-1 tvg-id="SuperTV.ro" http-referrer="https://supertv.ro",Super TV (1080i) [Not 24/7] +#EXTVLCOPT:http-referrer=https://supertv.ro +https://live.supertv.ro/live/supertv/playlist.m3u8 diff --git a/streams/rs.m3u b/streams/rs.m3u index 7248633a6..a0a51f3e1 100644 --- a/streams/rs.m3u +++ b/streams/rs.m3u @@ -17,6 +17,10 @@ https://5afd52b55ff79.streamlock.net/MISTV/myStream/playlist.m3u8 https://tv.nisville.com/live/nisville/playlist.m3u8 #EXTINF:-1 tvg-id="Pink.rs",Pink https://live.rednet.rs/providus/pink1.m3u8 +#EXTINF:-1 tvg-id="RadioHitFMTV.rs",Radio Hit FM TV (720p) +https://peer2.tdiradio.com/static/streaming-playlists/hls/bab99862-ec1c-474f-9a02-4f8c8677d565/0.m3u8 +#EXTINF:-1 tvg-id="RadioKarolinaTV.rs",Radio Karolina TV (720p) +https://peer2.tdiradio.com/static/streaming-playlists/hls/4207de1d-52e8-4591-ad9e-218069b864d1/0.m3u8 #EXTINF:-1 tvg-id="RadioLolaTV.rs",Radio Lola (720p) [Not 24/7] https://peer2.tdiradio.com/static/streaming-playlists/hls/7c3ea8d3-49dc-4e1b-8b1e-dc6fab71f5cf/0.m3u8 #EXTINF:-1 tvg-id="RedTV.rs",Red TV (720p) @@ -59,7 +63,3 @@ http://176.67.210.1/hls/kanalm.m3u8 https://stream.pikanal.rs/pikanal/pgm.m3u8 #EXTINF:-1 tvg-id="TVPirot.rs",TV Pirot (240p) [Not 24/7] https://5bc45691ca49f.streamlock.net/tvpirot/uzivo/playlist.m3u8 -#EXTINF:-1 tvg-id="RadioKarolinaTV.rs",Radio Karolina TV (720p) -https://peer2.tdiradio.com/static/streaming-playlists/hls/4207de1d-52e8-4591-ad9e-218069b864d1/0.m3u8 -#EXTINF:-1 tvg-id="RadioHitFMTV.rs",Radio Hit FM TV (720p) -https://peer2.tdiradio.com/static/streaming-playlists/hls/bab99862-ec1c-474f-9a02-4f8c8677d565/0.m3u8 diff --git a/streams/ru.m3u b/streams/ru.m3u index 6fd79cf09..65124dbb0 100644 --- a/streams/ru.m3u +++ b/streams/ru.m3u @@ -1,8 +1,4 @@ #EXTM3U -#EXTINF:-1 tvg-id="7tv.ru",7 TV -http://v4.proofix.ru/7tv-live/tracks-v1a1/index.m3u8 -#EXTINF:-1 tvg-id="Channel43.ru",43 ะบะฐะฝะฐะป (ะขัƒะฐะฟัะต) (720p) -http://sochinskayatrk.ru/hdtv/hls/43Channel_hd/playlist.m3u8 #EXTINF:-1 tvg-id="360.ru",360ยฐ (1080p) [Not 24/7] https://edge2-tv-ll.facecast.io/evacoder_hls_hi/CkxfR1xNUAJwTgtXTBZTAJli/index.m3u8 #EXTINF:-1 tvg-id="360.ru",360ยฐ (720p) @@ -21,8 +17,6 @@ http://retj.educom.ru/mosobrtv/tv1/index.m3u8 http://retc.educom.ru/mosobrtv/tv1/index.m3u8 #EXTINF:-1 tvg-id="Pro100TV.ru",Pro100TV https://sirius.greenhosting.ru/Pro100tvRu/video.m3u8 -#EXTINF:-1 tvg-id="",Relax -http://185.57.68.33:8091/232/tracks-v1a1/index.m3u8 #EXTINF:-1 tvg-id="RUTV.ru",RU TV https://hls-03-video.webcaramba.com/rutv/live.m3u8 #EXTINF:-1 tvg-id="RussianMusicBox.ru",Russian MusicBox (1080p) @@ -77,8 +71,6 @@ http://serv24.vintera.tv:8081/vetta/vetta_office/playlist.m3u8 http://tele2dvrnat01-02.cdnvideo.ru/stream/NAT_Volga/hls/1920x1080@4504/playlist.m3u8 #EXTINF:-1 tvg-id="Volgograd24.ru",ะ’ะพะปะณะพะณั€ะฐะด 24 https://vgtrkregion-reg.cdnvideo.ru/vgtrk/volgograd/russia1-hd/index.m3u8 -#EXTINF:-1 tvg-id="Gorodskoytelekanal.ru",ะ“ะพั€ะพะดัะบะพะน ั‚ะตะปะตะบะฐะฝะฐะป (ะฏั€ะพัะปะฐะฒะปัŒ) (576p) -https://www.gtk.tv/hls/gtyar.m3u8 #EXTINF:-1 tvg-id="GuberniaSamara.ru",ะ“ัƒะฑะตั€ะฝะธั (ะกะฐะผะฐั€ะฐ) (576p) http://live.guberniatv.cdnvideo.ru/guberniatv/guberniatv.sdp/playlist.m3u8 #EXTINF:-1 tvg-id="TVRain.ru",ะ”ะพะถะดัŒ (1080p) [Geo-blocked] @@ -159,15 +151,8 @@ https://live-ntm13.cdnvideo.ru/ntm13/smil:ntm13.smil/playlist.m3u8 https://peqk71plnjy.a.trbcdn.net/livemaster/w4kz7pki62_nts_tv/playlist.m3u8 #EXTINF:-1 tvg-id="OSN.ru",ะžะกะ http://osnmedia.servicecdn.ru/streams/17603_88089/playlist.m3u8 -#EXTINF:-1 tvg-id="OstrosyuzhetnoyeHD.ru",ะžัั‚ั€ะพััŽะถะตั‚ะฝะพะต HD -http://213.172.73.133:8081/nimble_live/9009_ะžัั‚ั€ะพััŽะถะตั‚ะฝะพะต_HD/playlist.m3u8 #EXTINF:-1 tvg-id="ChannelOne.ru",ะŸะตั€ะฒั‹ะน ะบะฐะฝะฐะป https://edge1.1internet.tv/dash-live2/streams/1tv-dvr/1tvdash.mpd -#EXTINF:-1 tvg-id="Pobeda.ru" http-referrer="https://pobeda.tv/",ะŸะพะฑะตะดะฐ (720p) -#EXTVLCOPT:http-referrer=https://pobeda.tv/ -https://pkvc-hls3.cdnvideo.ru/Pobeda/smil:Pobeda.smil/chunklist_b5128000_slru.m3u8 -#EXTINF:-1 tvg-id="PremialnoeHD.ru",ะŸั€ะตะผะธะฐะปัŒะฝะพะต HD -http://213.172.73.133:8081/nimble_live/9008_ะŸั€ะตะผะธะฐะปัŒะฝะพะต_HD/playlist.m3u8 #EXTINF:-1 tvg-id="Prima.ru",ะŸั€ะธะผะฐ (1080p) https://tele2dvrnat01-02.cdnvideo.ru/stream/NAT_Prima/hls/index.m3u8 #EXTINF:-1 tvg-id="GovoritMoskva.ru",ะ ะฐะดะธะพ ะ“ะพะฒะพั€ะธั‚ ะœะพัะบะฒะฐ (404p) [Not 24/7] @@ -202,14 +187,10 @@ https://sitv.ru/hls/stv.m3u8 http://45.67.57.9:8080/new/new/playlist.m3u8 #EXTINF:-1 tvg-id="SvoyoTV.ru",ะกะฒะพั‘ HD http://live.stv24.tv:8080/svoetv/HQ_video.m3u8 -#EXTINF:-1 tvg-id="Solnce.ru",ะกะพะปะฝั†ะต -http://tv.mediacdn.ru/live/disney/playlist.m3u8 #EXTINF:-1 tvg-id="Soyuz.ru",ะกะพัŽะท (576p) https://hls-tvsoyuz.cdnvideo.ru/tvsoyuz/soyuz/playlist.m3u8 #EXTINF:-1 tvg-id="StranaFM.ru",ะกั‚ั€ะฐะฝะฐ FM (720p) [Not 24/7] http://live.stranafm.cdnvideo.ru/stranafm/stranafm_hd.sdp/playlist.m3u8 -#EXTINF:-1 tvg-id="STRK.ru",ะกะขะ ะš (720p) [Not 24/7] -http://sochinskayatrk.ru/hdtv/hls/strc_hd/playlist.m3u8 #EXTINF:-1 tvg-id="Surgut24.ru",ะกัƒั€ะณัƒั‚ 24 (720p) [Not 24/7] https://video1.in-news.ru/c24/index.m3u8 #EXTINF:-1 tvg-id="TVK.ru",ะขะ’ะš 24 (576p) diff --git a/streams/ru_bonustv.m3u b/streams/ru_bonustv.m3u index 6f8c646d3..9791e65a8 100644 --- a/streams/ru_bonustv.m3u +++ b/streams/ru_bonustv.m3u @@ -1,6 +1,4 @@ #EXTM3U -#EXTINF:-1 tvg-id="9Volna.ru",9 ะ’ะพะปะฝะฐ (ะงะตั€ะบะตััะบ) -http://cdn-01.bonus-tv.ru/9volna/playlist.m3u8 #EXTINF:-1 tvg-id="Channel12.ru",12 ะบะฐะฝะฐะป https://12channel.bonus-tv.ru/cdn/12channel_blackout/playlist.m3u8 #EXTINF:-1 tvg-id="Channel12.ru",12 ะบะฐะฝะฐะป (1080p) @@ -65,8 +63,6 @@ https://cdn-01.bonus-tv.ru/prosveschenie_edge/playlist.m3u8 https://radm.mediacdn.ru/cdn/radost/playlist.m3u8 #EXTINF:-1 tvg-id="Salyam.ru",ะกะฐะปัะผ (ะฃั„ะฐ) (576p) https://bsttv.bonus-tv.ru/cdn/salyam/playlist.m3u8 -#EXTINF:-1 tvg-id="SanktPeterburg.ru",ะกะฐะฝะบั‚-ะŸะตั‚ะตั€ะฑัƒั€ะณ -https://streamsrv2.tvspb.ru/OTT/playlist.m3u8 #EXTINF:-1 tvg-id="SvoyoTV.ru",ะกะฒะพั‘ ะขะ’ (ะกั‚ะฐะฒั€ะพะฟะพะปัŒ) https://svoetv.mediacdn.ru/cdn/svoetv/playlist.m3u8 #EXTINF:-1 tvg-id="Sever.ru",ะกะตะฒะตั€ (ะะฐั€ัŒัะฝ-ะœะฐั€) (1080p) diff --git a/streams/ru_smotrim.m3u b/streams/ru_smotrim.m3u index 932284295..1761da3dd 100644 --- a/streams/ru_smotrim.m3u +++ b/streams/ru_smotrim.m3u @@ -3,14 +3,10 @@ https://live-vgtrksmotrim.cdnvideo.ru/vgtrksmotrim/smotrim-live-04-srt.smil/playlist.m3u8 #EXTINF:-1 tvg-id="360News.ru",360ยฐ ะะพะฒะพัั‚ะธ https://live-vgtrksmotrim.cdnvideo.ru/vgtrksmotrim/smotrim-live-03-srt.smil/playlist.m3u8 -#EXTINF:-1 tvg-id="",Thematical Stream 1 -https://vgtrksmotrim.cdnvideo.ru/hls2/givc11_hd/playlist.m3u8 #EXTINF:-1 tvg-id="",ะั€ะบั‚ะธะบะฐ 24 https://vgtrkregion-reg.cdnvideo.ru/vgtrk/arhangelsk/arktika24-hd/index.m3u8 #EXTINF:-1 tvg-id="",ะ‘ะฐัˆะบะพั€ั‚ะพัั‚ะฐะฝ 24 https://vgtrkregion-reg.cdnvideo.ru/vgtrk/ufa/bashkortostan24-hd/index.m3u8 -#EXTINF:-1 tvg-id="Bashkortostan24.ru",ะ‘ะฐัˆะบะพั€ั‚ะพัั‚ะฐะฝ 24 (ะฃั„ะฐ) -https://vgtrkregion-reg.cdnvideo.ru/vgtrk/ufa/russia1-hd/index.m3u8 #EXTINF:-1 tvg-id="BigAsia.ru",ะ‘ะพะปัŒัˆะฐั ะะทะธั https://live-bigasia.cdnvideo.ru/bigasia/bigasia.smil/playlist.m3u8 #EXTINF:-1 tvg-id="",ะ’ะตัั‚ะธ ะคะœ diff --git a/streams/sa.m3u b/streams/sa.m3u index c3bf0d4da..611f62218 100644 --- a/streams/sa.m3u +++ b/streams/sa.m3u @@ -1,10 +1,12 @@ #EXTM3U #EXTINF:-1 tvg-id="AbdulmajeedAbdullah.sa",Abdulmajeed Abdullah (1080p) https://d2hng5r56zpsbw.cloudfront.net/out/v1/9c4c990f44bb4767bb46271f326dd574/index.m3u8 +#EXTINF:-1 tvg-id="Aflam.sa",Aflam (1080p) +https://shls-live-enc.edgenextcdn.net/out/v1/0044dd4b001a466c941ad77b04a574a2/index.m3u8 #EXTINF:-1 tvg-id="AlHadath.sa",Al Arabiya Al Hadath (1080p) [Not 24/7] https://av.alarabiya.net/alarabiapublish/alhadath.smil/playlist.m3u8 #EXTINF:-1 tvg-id="AlEkhbariya.sa",Al Ekhbariya (1080p) -https://al-ekhbaria-prod-dub.shahid.net/out/v1/d443f3203b444032896e3233cb6eaa84/index.m3u8 +https://shd-gcp-live.edgenextcdn.net/live/bitmovin-al-ekhbaria/297b3ef1cd0633ad9cfba7473a686a06/index.m3u8 #EXTINF:-1 tvg-id="AlEkhbariya.sa",Al Ekhbariya (360p) https://cdn-globecast.akamaized.net/live/eds/al_ekhbariya/hls_roku/index.m3u8 #EXTINF:-1 tvg-id="AlHadath.sa",Al Hadath TV (1080p) @@ -23,12 +25,12 @@ http://m.live.net.sa:1935/live/quran/playlist.m3u8 https://cdn-globecast.akamaized.net/live/eds/saudi_quran/hls_roku/index.m3u8 #EXTINF:-1 tvg-id="AlRiyadhRadio.sa",Al Riyadh Radio (1080p) https://live.kwikmotion.com/sbrksariyadhradiolive/srpksariyadhradio/playlist.m3u8 -#EXTINF:-1 tvg-id="AlSaudiya.sa",Al Saudiya (1080p) [Not 24/7] -https://saudi-tv-prod-dub-enc.edgenextcdn.net/out/v1/5ae66b453b62403199811ab78da9982a/index.m3u8 -#EXTINF:-1 tvg-id="AlSaudiya.sa",Al Saudiya (1080p) [Not 24/7] -https://shls-masr2-ak.akamaized.net/out/v1/5ae66b453b62403199811ab78da9982a/index.m3u8 +#EXTINF:-1 tvg-id="AlSaudiya.sa",Al Saudiya (1080p) +https://shd-gcp-live.edgenextcdn.net/live/bitmovin-saudi-tv/2ad66056b51fd8c1b624854623112e43/index.m3u8 #EXTINF:-1 tvg-id="AlSaudiya.sa",Al Saudiya (360p) https://cdn-globecast.akamaized.net/live/eds/saudi_tv/hls_roku/index.m3u8 +#EXTINF:-1 tvg-id="AlSaudiyaAlaan.sa",Al Saudiya Alaan (1080p) +https://shd-gcp-live.edgenextcdn.net/live/bitmovin-ksa-now/71ed3aa814c643306c0a8bc4fcc7d17f/index.m3u8 #EXTINF:-1 tvg-id="AlSunnahAlNabawiyahTV.sa",Al Sunnah Al Nabawiyah TV (1080p) https://sbc-prod-dub-enc.edgenextcdn.net/out/v1/b09bbb8d9b684763be4211b088168de7/index.m3u8 #EXTINF:-1 tvg-id="AlSunnahAlNabawiyahTV.sa",Al Sunnah Al Nabawiyah TV (720p) @@ -57,6 +59,8 @@ https://svs.itworkscdn.net/asharqradiovlive/asharqradiov/playlist.m3u8 https://5aafcc5de91f1.streamlock.net/atfal1.com/atfal2/playlist.m3u8 #EXTINF:-1 tvg-id="AtfalMawahebTV.sa",Atfal & Mawaheb TV (1080p) https://5d658d7e9f562.streamlock.net/atfal1.com/atfal2/playlist.m3u8 +#EXTINF:-1 tvg-id="BabAlHara.sa",Bab Al Hara (1080p) +https://shls-live-enc.edgenextcdn.net/out/v1/948c54279b594944adde578c95f1d7d1/index.m3u8 #EXTINF:-1 tvg-id="BedayaTV.sa",Bedaya TV (1080p) https://shls-live-enc.edgenextcdn.net/out/v1/97427be47b79457b9ca245e22a8db23a/index.m3u8 #EXTINF:-1 tvg-id="BigTimePlus.sa",Big Time Plus (1080p) @@ -67,6 +71,8 @@ https://playlist.fasttvcdn.com/pl/dlkqw1ftuvuuzkcb4pxdcg/Iqraafasttv3/playlist.m https://playlist.fasttvcdn.com/pl/dlkqw1ftuvuuzkcb4pxdcg/Iqraafasttv2/playlist.m3u8 #EXTINF:-1 tvg-id="JeddahRadio.sa",Jeddah Radio (1080p) https://live.kwikmotion.com/sbrksajeddahradiolive/srpksajeddahradio/playlist.m3u8 +#EXTINF:-1 tvg-id="RabehSaqer.sa",Rabeh Saqer (1080p) +https://shls-live-enc.edgenextcdn.net/out/v1/ea4275b6dc0840c198c17f6dc6f1ec49/index.m3u8 #EXTINF:-1 tvg-id="MPlusHD.sa",M+ HD (1080p) https://d35j504z0x2vu2.cloudfront.net/v1/master/0bc8e8376bd8417a1b6761138aa41c26c7309312/m-plus/playlist.m3u8 #EXTINF:-1 tvg-id="MajidAlMohandis.sa",Majid Al Mohandis (1080p) @@ -75,12 +81,18 @@ https://shls-live-mood-ak.akamaized.net/out/v1/8e2419c6c7494dbba478be025af490ee/ https://media2.streambrothers.com:1936/8122/8122/playlist.m3u8 #EXTINF:-1 tvg-id="MBCLoud.sa",MBC Loud (1080p) https://d2lfa0y84k5bwn.cloudfront.net/out/v1/86dd4506a70c4d7fb35e2ab50296d9a3/index.m3u8 +#EXTINF:-1 tvg-id="MBCMasrDrama.sa",MBC Masr Drama (1080p) +https://shls-live-enc.edgenextcdn.net/out/v1/08eca926a78a41339b8010c882410307/index.m3u8 #EXTINF:-1 tvg-id="MBCPlusDrama.sa",MBC+ Drama (1080p) https://mbcplusdrama-prod-dub-enc.edgenextcdn.net/out/v1/97ca0ce6fc6142f4b14c0a694af59eab/index.m3u8 #EXTINF:-1 tvg-id="MBCPlusDrama.sa",MBC+ Drama (1080p) https://shls-mbcplusdrama-prod-dub.shahid.net/out/v1/97ca0ce6fc6142f4b14c0a694af59eab/index.m3u8 #EXTINF:-1 tvg-id="MohammedAbdo.sa",Mohammed Abdo (1080p) https://d2ow8h651gs7dx.cloudfront.net/out/v1/371fb663da604e659a2fb99bf89d92d4/index.m3u8 +#EXTINF:-1 tvg-id="MoviesAction.sa",Movies Action (1080p) +https://shls-live-enc.edgenextcdn.net/out/v1/46079e838e65490c8299f902a7731168/index.m3u8 +#EXTINF:-1 tvg-id="MoviesThriller.sa",Movies Thriller (1080p) +https://shls-live-enc.edgenextcdn.net/out/v1/f6d718e841f8442f8374de47f18c93a7/index.m3u8 #EXTINF:-1 tvg-id="NidaeAlIslamRadio.sa",Nidae AlIslam Radio (1080p) https://live.kwikmotion.com/sbrksanedaradiolive/srpksanedaradio/playlist.m3u8 #EXTINF:-1 tvg-id="PanoramaFM.sa",Panorama FM (1080p) @@ -89,6 +101,8 @@ https://d6izdil55uftn.cloudfront.net/out/v1/0a06d1d6377c47edbd48721ed724bd08/ind https://shls-panoramafm-prod-dub.shahid.net/out/v1/66262e420d824475aaae794dc2d69f14/index.m3u8 #EXTINF:-1 tvg-id="QuranRadio.sa",Quran Radio (1080p) https://live.kwikmotion.com/sbrksaquranradiolive/srpksaquranradio/playlist.m3u8 +#EXTINF:-1 tvg-id="Ramez.sa",Ramez (1080p) +https://shls-live-enc.edgenextcdn.net/out/v1/0ef83323c0374a1187c182645db2a45f/index.m3u8 #EXTINF:-1 tvg-id="RashidAlMajed.sa",Rashid AlMajed (1080p) https://dphwv2ufgnfsq.cloudfront.net/out/v1/59cd80dfe93a479eb8b4d79bc6f225ca/index.m3u8 #EXTINF:-1 tvg-id="RotanaAflamPlusHD.sa",Rotana Aflam+ HD (1080p) @@ -103,8 +117,8 @@ rtmp://live.restream.io/pull/play_320121_94512612fd0e084bd284 https://thaqafeyyah-ak.akamaized.net/out/v1/f6851f68ada94f82ae6b64a441eb5ab1/index.m3u8 #EXTINF:-1 tvg-id="SaudiaRadio.sa",Saudia Radio (1080p) https://live.kwikmotion.com/sbrksasaudiaradiolive/srpksasaudiaradio/playlist.m3u8 -#EXTINF:-1 tvg-id="SBC.sa",SBC (1080p) [Not 24/7] -https://sbc-prod-dub-ak.akamaized.net/out/v1/2eb1ad0f29984a339bc0fce4ce94dcbb/index.m3u8 +#EXTINF:-1 tvg-id="SBC.sa",SBC (1080p) +https://shd-gcp-live.edgenextcdn.net/live/bitmovin-sbc/90e09c0c28db26435799b4a14892a167/index.m3u8 #EXTINF:-1 tvg-id="SSCActionWaleed.sa",SSC Action Waleed (1080p) [Not 24/7] https://shls-live-event2-prod-dub.shahid.net/out/v1/0456ede1a39145d98b3d8c8062ddc998/index.m3u8 #EXTINF:-1 tvg-id="Tarab.sa",Tarab (1080p) @@ -113,17 +127,21 @@ https://shls-live-enc.edgenextcdn.net/out/v1/90143f040feb40589d18c57863d9e829/in https://shls-live-mood-ak.akamaized.net/out/v1/90143f040feb40589d18c57863d9e829/index.m3u8 #EXTINF:-1 tvg-id="ThikrayatTV.sa",Thikrayat TV (1080p) https://al-ekhbaria-prod-dub.shahid.net/out/v1/ef87956651694f4ba2ccc16e852dbb95/index.m3u8 -#EXTINF:-1 tvg-id="MBCMasrDrama.sa",MBC Masr Drama (1080p) -https://shls-live-enc.edgenextcdn.net/out/v1/08eca926a78a41339b8010c882410307/index.m3u8 -#EXTINF:-1 tvg-id="Ramez.sa",Ramez (1080p) -https://shls-live-enc.edgenextcdn.net/out/v1/0ef83323c0374a1187c182645db2a45f/index.m3u8 -#EXTINF:-1 tvg-id="MoviesThriller.sa",Movies Thriller (1080p) -https://shls-live-enc.edgenextcdn.net/out/v1/f6d718e841f8442f8374de47f18c93a7/index.m3u8 -#EXTINF:-1 tvg-id="MoviesAction.sa",Movies Action (1080p) -https://shls-live-enc.edgenextcdn.net/out/v1/46079e838e65490c8299f902a7731168/index.m3u8 -#EXTINF:-1 tvg-id="KhalijiComedy.sa",Khaliji Comedy (1080p) -https://shls-live-enc.edgenextcdn.net/out/v1/ea4275b6dc0840c198c17f6dc6f1ec49/index.m3u8 -#EXTINF:-1 tvg-id="BabAlHara.sa",Bab Al Hara (1080p) -https://shls-live-enc.edgenextcdn.net/out/v1/948c54279b594944adde578c95f1d7d1/index.m3u8 -#EXTINF:-1 tvg-id="Aflam.sa",Aflam (1080p) -https://shls-live-enc.edgenextcdn.net/out/v1/0044dd4b001a466c941ad77b04a574a2/index.m3u8 +#EXTINF:-1 tvg-id="AlResalah.sa",Al Resalah (1080p) +https://rotana.hibridcdn.net/rotana/risala_net-7Y83PP5adWixDF93/playlist.m3u8 +#EXTINF:-1 tvg-id="RotanaClip.sa",Rotana Clip (1080p) +https://rotana.hibridcdn.net/rotana/clip_net-7Y83PP5adWixDF93/playlist.m3u8 +#EXTINF:-1 tvg-id="RotanaClassic.sa",Rotana Classic (1080p) +https://rotana.hibridcdn.net/rotana/classical_net-7Y83PP5adWixDF93/playlist.m3u8 +#EXTINF:-1 tvg-id="RotanaComedy.sa",Rotana Comedy (1080p) +https://rotana.hibridcdn.net/rotana/comedy_net-7Y83PP5adWixDF93/playlist.m3u8 +#EXTINF:-1 tvg-id="RotanaDrama.sa",Rotana Drama (1080p) +https://rotana.hibridcdn.net/rotana/drama_net-7Y83PP5adWixDF93/playlist.m3u8 +#EXTINF:-1 tvg-id="RotanaKhalijia.sa",Rotana Khalijia (1080p) +https://rotana.hibridcdn.net/rotana/khaleejiya_net-7Y83PP5adWixDF93/playlist.m3u8 +#EXTINF:-1 tvg-id="LBC.sa",LBC (1080p) +https://rotana.hibridcdn.net/rotana/lbc_net-7Y83PP5adWixDF93/playlist.m3u8 +#EXTINF:-1 tvg-id="RotanaCinemaKSA.sa",Rotana Cinema KSA (1080p) +https://rotana.hibridcdn.net/rotana/cinema_net-7Y83PP5adWixDF93/playlist.m3u8 +#EXTINF:-1 tvg-id="Fairuz.sa",Fairuz (1080p) +https://shls-live-enc.edgenextcdn.net/out/v1/bba3ef00b71b470fa955d93a9ca8c277/index.m3u8 diff --git a/streams/sk.m3u b/streams/sk.m3u index 5b8f4de3b..0346ce78a 100644 --- a/streams/sk.m3u +++ b/streams/sk.m3u @@ -10,9 +10,15 @@ http://88.212.7.11/live/test_doma_hd_hevc/playlist.m3u8 #EXTINF:-1 tvg-id="ducktv.sk",ducktv (720p) https://jmp2.uk/sam-ESBC4700001GR.m3u8 #EXTINF:-1 tvg-id="ducktv.sk",ducktv (720p) +https://mmm-dk.otteravision.com/DexaYJdJXkLqFxTK_DuckTVHDSAMS/DuckTVHDSAMS.stream/playlist.m3u8 +#EXTINF:-1 tvg-id="ducktv.sk",ducktv (720p) +https://stream.ads.ottera.tv/playlist.m3u8?network_id=13168 +#EXTINF:-1 tvg-id="ducktv.sk",ducktv (720p) https://weyyak-live.akamaized.net/weyyak_ducktv/index.m3u8 #EXTINF:-1 tvg-id="Dvojka.sk",Dvojka STV2 (720p) [Not 24/7] https://n5.stv.livebox.sk/stv-tv/addfd31846e34200883cc2b4e9e6c855/stv2.smil/playlist.m3u8 +#EXTINF:-1 tvg-id="Jednotka.sk",Jednotka (1080p) +https://sktv.plainrock127.xyz/get.php?x=STV1 #EXTINF:-1 tvg-id="Jednotka.sk",Jednotka STV1 (720p) [Not 24/7] https://n4.stv.livebox.sk/stv-tv/fe09ae603df84846978c9d960f699900/stv1.smil/playlist.m3u8 #EXTINF:-1 tvg-id="LubovnianskaTV.sk",L'ubovnianska TV (1080p) @@ -33,6 +39,8 @@ https://ottst05.flexitv.sk/2827-tv-pc.m3u8 http://tv.geniusnet.sk:8081/regiotv/pl.m3u8 #EXTINF:-1 tvg-id="Senzi.sk",Senzi (720p) http://lb.streaming.sk/senzi/stream/playlist.m3u8 +#EXTINF:-1 tvg-id="TA3.sk",TA3 (360p) +https://sktv.plainrock127.xyz/get.php?x=TA3 #EXTINF:-1 tvg-id="TeleviziaMocenok.sk",Televรญzia Moฤenok (720p) https://5ca49f2417d90.streamlock.net/mocenok/livestream/playlist.m3u8 #EXTINF:-1 tvg-id="TV8.sk",Televรญzia OSEM (576p) @@ -87,7 +95,3 @@ https://5ca49f2417d90.streamlock.net/live/turzovka/playlist.m3u8 http://slovanet-livestream.ceelabs.com:1935/live/VioTV.stream_transcoded/playlist.m3u8 #EXTINF:-1 tvg-id="ZapadoslovenskaTV.sk",Zรกpadoslovenskรก TV (1080p) https://live.zstv.sk/memfs/5b0f9dd2-8f77-4fe5-9527-bc11bb8b18e5.m3u8 -#EXTINF:-1 tvg-id="ducktv.sk",ducktv (720p) -https://mmm-dk.otteravision.com/DexaYJdJXkLqFxTK_DuckTVHDSAMS/DuckTVHDSAMS.stream/playlist.m3u8 -#EXTINF:-1 tvg-id="ducktv.sk",ducktv (720p) -https://stream.ads.ottera.tv/playlist.m3u8?network_id=13168 diff --git a/streams/so.m3u b/streams/so.m3u index c1ceeff4b..fcdd43637 100644 --- a/streams/so.m3u +++ b/streams/so.m3u @@ -1,4 +1,6 @@ #EXTM3U +#EXTINF:-1 tvg-id="ArlaadiTV.so",Arlaadi TV +https://ap02.iqplay.tv:8082/iqb8002/alr114iapp/playlist.m3u8 #EXTINF:-1 tvg-id="BulshoTV.so",Bulsho TV https://cdn.mediavisionuk.com:9000/bulshotv/index.m3u8 #EXTINF:-1 tvg-id="DacwaTV.ke",Dacwa TV (576p) [Not 24/7] diff --git a/streams/sx.m3u b/streams/sx.m3u index b9e537967..83050b955 100644 --- a/streams/sx.m3u +++ b/streams/sx.m3u @@ -1,11 +1,21 @@ #EXTM3U #EXTINF:-1 tvg-id="981PearlFM.sx",98.1 Pearl FM (720p) https://live2.tensila.com/pearl-v-1.pearlfm/hls/live/mystream.m3u8 -#EXTINF:-1 tvg-id="",Canal 15 Sint Maarten +#EXTINF:-1 tvg-id="SXMTVBroadcast.sx",SXM TV Broadcast (720p) +https://5dcabf026b188.streamlock.net/Theodore/livestream/playlist.m3u8 +#EXTINF:-1 tvg-id="TV15.sx",TV15 (720p) http://198.255.80.170/FTX9_SXM-TV/index.m3u8 #EXTINF:-1 tvg-id="TVCARiB.sx",TVCARiB (720p) [Not 24/7] -https://tvc.mediacaribstream.com:5443/LiveApp/streams/678996728477322762133253.m3u8 +https://cdn.mycloudstream.io/hls/live/broadcast/s6nitpvn/index.m3u8 #EXTINF:-1 tvg-id="TVCARiBGospel.sx",TVCARiB Gospel (480p) [Not 24/7] -https://tvc.mediacaribstream.com:5443/LiveApp/streams/102810068706751773675303.m3u8 +https://cdn.mycloudstream.io/hls/live/broadcast/wokrhjkd/index.m3u8 #EXTINF:-1 tvg-id="TVCARiBLatino.sx",TVCARiB Latino (720p) [Not 24/7] -https://tvc.mediacaribstream.com:5443/LiveApp/streams/503041699392698464410277.m3u8 +https://cdn.mycloudstream.io/hls/live/broadcast/xn44vdc5/index.m3u8 +#EXTINF:-1 tvg-id="",TVCARiB Cinema (720p) [Not 24/7] +https://cdn.mycloudstream.io/hls/live/broadcast/l3vslw4i/index.m3u8 +#EXTINF:-1 tvg-id="",TVCARiB Kids & Teens (720p) [Not 24/7] +https://cdn.mycloudstream.io/hls/live/broadcast/nro19k2h/index.m3u8 +#EXTINF:-1 tvg-id="",TVCARiB Radio (720p) [Not 24/7] +https://cdn.mycloudstream.io/hls/live/broadcast/agf7yo9x/index.m3u8 +#EXTINF:-1 tvg-id="",Nolan Nanton Productions (720p) [Not 24/7] +https://cdn.mycloudstream.io/hls/live/broadcast/wbxpvv7l/index.m3u8 diff --git a/streams/sy.m3u b/streams/sy.m3u index 2c5c5aad8..2cb03017c 100644 --- a/streams/sy.m3u +++ b/streams/sy.m3u @@ -7,7 +7,5 @@ https://p-ltv.akamaized.net/ltv/ltv.m3u8 https://rojava-tv.akamaized.net/hls/rojava-tv.m3u8 #EXTINF:-1 tvg-id="RonahiTV.sy",Ronahi TV https://ronahi-tv.akamaized.net/hls/ronahi-tv.m3u8 -#EXTINF:-1 tvg-id="SpacetoonArabic.ae",Spacetoon (1080p) -https://shls-spacetoon-prod-dub.shahid.net/out/v1/6240b773a3f34cca95d119f9e76aec02/index.m3u8 #EXTINF:-1 tvg-id="SpacetoonArabic.ae",Spacetoon (576p) https://streams.spacetoon.com/live/stchannel/smil:livesmil.smil/playlist.m3u8 diff --git a/streams/tr.m3u b/streams/tr.m3u index f9b439038..a275ed63d 100644 --- a/streams/tr.m3u +++ b/streams/tr.m3u @@ -72,10 +72,6 @@ https://live.al-zahratv.com/live/playlist.m3u8 https://api-tv3.yayin.com.tr/postatv/postatv/playlist.m3u8 #EXTINF:-1 tvg-id="AlmahriahTV.tr",Almahriah TV (576p) https://starmenajo.com/hls/almahriah/index.m3u8 -#EXTINF:-1 tvg-id="AltasTV.tr",ALTAS TV (720p) [Not 24/7] -http://stream.taksimbilisim.com:1935/altastv/bant1/playlist.m3u8 -#EXTINF:-1 tvg-id="AltasTV.tr",ALTAลž TV (720p) [Not 24/7] -https://edge1.socialsmart.tv/altastv/bant1/index.m3u8 #EXTINF:-1 tvg-id="AnadoluDernekTV.tr",Anadolu Dernek TV (576p) http://185.234.111.229:8000/play/a020 #EXTINF:-1 tvg-id="AnadoluNetTV.tr",Anadolu Net TV (1080p) @@ -150,6 +146,8 @@ http://stream2.taksimbilisim.com:1935/caytv/bant1/CAYTV.m3u8 https://cdn-cekmekoybeltv.yayin.com.tr/cekmekoybeltv/cekmekoybeltv/playlist.m3u8 #EXTINF:-1 tvg-id="CekmekoyTV.tr",Cekmekรถy TV (1080p) https://cdn-cekmekoybeltv.yayin.com.tr/cekmekoybeltv/cekmekoybeltv_1080p/playlist.m3u8 +#EXTINF:-1 tvg-id="CGTNDocumentary.tr",CGTN Documentary +https://mn-nl.mncdn.com/dogusdyg_drone/cgtn/playlist.m3u8 #EXTINF:-1 tvg-id="CiftciTV.tr",Ciftci TV (576p) http://185.234.111.229:8000/play/a04i #EXTINF:-1 tvg-id="CiftciTV.tr",ร‡iftรงi TV (1080p) [Not 24/7] @@ -206,7 +204,7 @@ http://185.234.111.229:8000/play/a00w https://mn-nl.mncdn.com/blutv_ekoturk2/live.m3u8 #EXTINF:-1 tvg-id="ElmasTV.tr",Elmas TV (720p) [Not 24/7] https://5be5d840359c6.streamlock.net/elmas67tv/elmas67tv/chunklist.m3u8 -#EXTINF:-1 tvg-id="EmTV.tr",Em TV (486p) +#EXTINF:-1 tvg-id="",Em TV (486p) https://cdn.yayin.com.tr/TVEM/TVEM/playlist.m3u8 #EXTINF:-1 tvg-id="ERTV.tr",Er TV (1080p) [Geo-blocked] https://live.artidijitalmedya.com/artidijital_ertv_new/ertv/playlist.m3u8 @@ -228,8 +226,6 @@ https://live.duhnet.tv/S2/HLS_LIVE/eurodnp/playlist.m3u8 http://185.234.111.229:8000/play/a01h #EXTINF:-1 tvg-id="EuroStar.tr",EuroStar TV (1080p) https://canlitvulusal.xyz/live/eurostar/index.m3u8 -#EXTINF:-1 tvg-id="FinansTurkTV.tr",Finans Turk TV (720p) -https://vdo.digitalbox.xyz:3588/live/finansturktvlive.m3u8 #EXTINF:-1 tvg-id="FlashTV.tr",Flash TV (720p) https://mn-nl.mncdn.com/blutv_flashtv/live.m3u8 #EXTINF:-1 tvg-id="FortunaTV.tr",Fortuna TV @@ -452,6 +448,8 @@ https://trkvz-live.daioncdn.net/minikago/minikago.m3u8 https://tgn.bozztv.com/dvrfl05/gin-minikago/index.m3u8 #EXTINF:-1 tvg-id="MTurkTV.tr",MTรผrk TV (1080p) https://edge1.socialsmart.tv/muglaturk/bant1/playlist.m3u8 +#EXTINF:-1 tvg-id="NationalGeographicWild.tr",National Geographic Wild +https://tv.arectv13.sbs/live/natgeowild.m3u8 #EXTINF:-1 tvg-id="NaturalTV.tr",Natural TV (720p) [Not 24/7] http://broadcasttr.com:1935/naturaltv/bant1/playlist.m3u8 #EXTINF:-1 tvg-id="NaturalTV.tr",Natural TV (720p) [Not 24/7] @@ -459,6 +457,8 @@ https://edge1.socialsmart.tv/naturaltv/bant1/playlist.m3u8 #EXTINF:-1 tvg-id="NoraTV.tr",Nora TV (1080p) https://live.artidijitalmedya.com/artidijital_noratv/noratv/playlist.m3u8 #EXTINF:-1 tvg-id="NOWTV.tr",NOW TV +http://116.202.238.88/FOXTV_TR/index.m3u8 +#EXTINF:-1 tvg-id="NOWTV.tr",NOW TV https://c.fulltvizle.com/fox/index.m3u8 #EXTINF:-1 tvg-id="NTV.tr",NTV (720p) [Not 24/7] https://dogus-live.daioncdn.net/ntv/ntv.m3u8 @@ -527,6 +527,10 @@ https://mn-nl.mncdn.com/qaf/live/playlist.m3u8 https://yayin30.haber100.com/live/rehbertv/playlist.m3u8 #EXTINF:-1 tvg-id="RumeliTV.tr",Rumeli TV (576p) http://185.234.111.229:8000/play/a023 +#EXTINF:-1 tvg-id="SSport.tr",S Sport +https://bcovlive-a.akamaihd.net/540fcb034b144b848e7ff887f61a293a/eu-central-1/6415845530001/profile_0/chunklist.m3u8 +#EXTINF:-1 tvg-id="SSport2.tr",S Sport 2 +https://bcovlive-a.akamaihd.net/29c60f23ea4840ba8726925a77fcfd0b/eu-central-1/6415845530001/profile_0/chunklist.m3u8 #EXTINF:-1 tvg-id="SariyerTV.tr",Sarฤฑyer TV (360p) https://s01.vpis.io/sariyer/sariyer.m3u8 #EXTINF:-1 tvg-id="Sat7Pars.cy",Sat7 Pars (1080p) @@ -575,6 +579,8 @@ https://live.kwikmotion.com/syriatvlive/syriatv.smil/playlist_dvr.m3u8 https://stream.ads.ottera.tv/playlist.m3u8?network_id=6017 #EXTINF:-1 tvg-id="SyriaTV.tr",Syria TV (1080p) https://svs.itworkscdn.net/syriatvlive/syriatv.smil/playlist_dvr.m3u8 +#EXTINF:-1 tvg-id="TabiiSpor6.tr",Tabii Spor 6 (720p) [Geo-blocked] +https://vbtob9hyq58eiophct5qctxr2.medya.trt.com.tr/master.m3u8 #EXTINF:-1 tvg-id="TarimTV.tr",Tarim TV (1080p) https://content.tvkur.com/l/c7e1da7mm25p552d9u9g/master.m3u8 #EXTINF:-1 tvg-id="TatlisesTV.tr",Tatlises TV (1080p) [Not 24/7] @@ -659,7 +665,7 @@ https://tv-trtdiyanetcocuk.medya.trt.com.tr/master.m3u8 https://tv-e-okul00.medya.trt.com.tr/master.m3u8 #EXTINF:-1 tvg-id="TRTEBALise.tr",TRT EBA Lise (720p) https://tv-e-okul02.medya.trt.com.tr/master.m3u8 -#EXTINF:-1 tvg-id="TRTEBAOrtaokul.tr",TRT EBA Ortaokul (720p) +#EXTINF:-1 tvg-id="",TRT EBA Ortaokul (720p) https://tv-e-okul01.medya.trt.com.tr/master.m3u8 #EXTINF:-1 tvg-id="TRTHaber.tr",TRT Haber (1080p) http://185.234.111.229:8000/play/a00d @@ -686,13 +692,23 @@ http://185.234.111.229:8000/play/a00h #EXTINF:-1 tvg-id="TRTTurk.tr",TRT Tรผrk (720p) https://tv-trtturk.medya.trt.com.tr/master.m3u8 #EXTINF:-1 tvg-id="TRTWorld.tr",TRT World (1080p) +http://92.114.85.72:8000/play/a02v +#EXTINF:-1 tvg-id="TRTWorld.tr",TRT World (1080p) http://185.234.111.229:8000/play/a00g #EXTINF:-1 tvg-id="TRTWorld.tr",TRT World (1080p) http://185.234.111.229:8000/play/a003 #EXTINF:-1 tvg-id="TRTWorld.tr",TRT World (1080p) [Not 24/7] https://tv-trtworld.medya.trt.com.tr/master.m3u8 +#EXTINF:-1 tvg-id="TRTWorld.tr",TRT World (576p) +http://92.114.85.72:8000/play/a0a9 #EXTINF:-1 tvg-id="TurkHaberTV.tr",TรผrkHaber (720p) https://edge1.socialsmart.tv/turkhaber/bant1/playlist.m3u8 +#EXTINF:-1 tvg-id="TurksatSaat.tr",Turksat Saat +http://185.234.111.229:8000/play/a01f +#EXTINF:-1 tvg-id="TurksatTanitim.tr",Turksat Tanitim +http://185.234.111.229:8000/play/a01d +#EXTINF:-1 tvg-id="TurksatTanitim.tr",Turksat Tanitim +http://185.234.111.229:8000/play/a01e #EXTINF:-1 tvg-id="TV1.tr",TV 1 (720p) https://edge1.socialsmart.tv/tv1/bant1/playlist.m3u8 #EXTINF:-1 tvg-id="TV4.tr",TV4 (720p) @@ -703,7 +719,7 @@ https://tv8.daioncdn.net/tv8/tv8.m3u8?app=7ddc255a-ef47-4e81-ab14-c0e5f2949788&c https://tv8-live.daioncdn.net/tv8/tv8.m3u8 #EXTINF:-1 tvg-id="TV85.tr",TV 8.5 (720p) http://bozztv.com/gin-dvrfl05/gin-tv8_5/index.m3u8 -#EXTINF:-1 tvg-id="TV8International.tr",TV8 International (1080p) +#EXTINF:-1 tvg-id="",TV8 International (1080p) http://185.234.111.229:8000/play/a01x #EXTINF:-1 tvg-id="24TV.tr",TV 24 (720p) https://turkmedya-live.ercdn.net/tv24/tv24.m3u8 @@ -731,12 +747,14 @@ https://b01c02nl.mediatriple.net/videoonlylive/mtdxkkitgbrckilive/broadcast_5ee2 https://live.artidijitalmedya.com/artidijital_tva/tva/playlist.m3u8 #EXTINF:-1 tvg-id="TVDen.tr",TV Den (576p) [Not 24/7] http://canli.tvden.com.tr/hls/live.m3u8 -#EXTINF:-1 tvg-id="TVEm.tr",TV Em (486p) +#EXTINF:-1 tvg-id="",TV Em (486p) https://cdn-tvem.yayin.com.tr/TVEM/TVEM/playlist.m3u8 -#EXTINF:-1 tvg-id="TVEm.tr",TV Em (486p) +#EXTINF:-1 tvg-id="",TV Em (486p) https://cdn.yayin.com.tr/TVEM/TVEM/chunklist.m3u8 #EXTINF:-1 tvg-id="TVNET.tr",TVnet (720p) https://mn-nl.mncdn.com/tvnet/tvnet/playlist.m3u8 +#EXTINF:-1 tvg-id="TYTTurk.tr",TYT Turk (720p) +https://cdn4.yayin.com.tr/tytturk/index.m3u8 #EXTINF:-1 tvg-id="UcanKusTV.tr",UรงanKuลŸ TV (720p) https://ucankus-live.cdnnew.com/ucankus/ucankus.m3u8 #EXTINF:-1 tvg-id="UlkeTV.tr",รœlke TV (720p) @@ -756,6 +774,8 @@ https://uskudarunv.mediatriple.net/uskudarunv/uskudar2/playlist.m3u8 https://serdar.tiviplayer.com/player/m3u8/65aae71c9b93f0965aaed3a92660d98b/65aae71c9b93f0965aaed3a92660d98b.m3u8 #EXTINF:-1 tvg-id="VavTV.tr",Vav TV (1080p) http://185.234.111.229:8000/play/a01n +#EXTINF:-1 tvg-id="ViasatExplore.tr",Viasat Explore +https://tv.arectv29.sbs/live/viasathistory.m3u8 #EXTINF:-1 tvg-id="Vizyon58TV.tr",Vizyon 58 TV (720p) [Geo-blocked] https://live.artidijitalmedya.com/artidijital_vizyon58/vizyon58/playlist.m3u8 #EXTINF:-1 tvg-id="VuslatTV.tr",Vuslat TV (720p) [Not 24/7] @@ -776,29 +796,29 @@ https://cdn-yildiz.yayin.com.tr/yildiz/yildiz/playlist.m3u8 https://stream.yol.tv:9443/medialive/yol.m3u8 #EXTINF:-1 tvg-id="ZarokTV.tr",Zarok TV (720p) https://zindikurmanci.zaroktv.com.tr/hls/stream.m3u8 -#EXTINF:-1 tvg-id="TabiiSpor6.tr",Tabii Spor 6 (720p) [Geo-blocked] -https://vbtob9hyq58eiophct5qctxr2.medya.trt.com.tr/master.m3u8 -#EXTINF:-1 tvg-id="TurksatTanitim.tr",Turksat Tanitim -http://185.234.111.229:8000/play/a01d -#EXTINF:-1 tvg-id="TurksatTanitim.tr",Turksat Tanitim -http://185.234.111.229:8000/play/a01e -#EXTINF:-1 tvg-id="TurksatSaat.tr",Turksat Saat -http://185.234.111.229:8000/play/a01f -#EXTINF:-1 tvg-id="TYTTurk.tr",TYT Turk (720p) -https://cdn4.yayin.com.tr/tytturk/index.m3u8 -#EXTINF:-1 tvg-id="TRTWorld.tr",TRT World (1080p) -http://92.114.85.72:8000/play/a02v -#EXTINF:-1 tvg-id="TRTWorld.tr",TRT World (576p) -http://92.114.85.72:8000/play/a0a9 -#EXTINF:-1 tvg-id="CGTNDocumentary.tr",CGTN Documentary -https://mn-nl.mncdn.com/dogusdyg_drone/cgtn/playlist.m3u8 -#EXTINF:-1 tvg-id="NOWTV.tr",NOW TV -http://116.202.238.88/FOXTV_TR/index.m3u8 -#EXTINF:-1 tvg-id="ViasatExplore.tr",Viasat Explore -https://tv.arectv29.sbs/live/viasathistory.m3u8 -#EXTINF:-1 tvg-id="SSport2.tr",S Sport 2 -https://bcovlive-a.akamaihd.net/29c60f23ea4840ba8726925a77fcfd0b/eu-central-1/6415845530001/profile_0/chunklist.m3u8 -#EXTINF:-1 tvg-id="SSport.tr",S Sport -https://bcovlive-a.akamaihd.net/540fcb034b144b848e7ff887f61a293a/eu-central-1/6415845530001/profile_0/chunklist.m3u8 -#EXTINF:-1 tvg-id="NationalGeographicWild.tr",National Geographic Wild -https://tv.arectv13.sbs/live/natgeowild.m3u8 +#EXTINF:-1 tvg-id="TYTTurk.tr",TYT Turk +https://cdn-tytturk.yayin.com.tr/tytturk/index.m3u8 +#EXTINF:-1 tvg-id="MedMuzik.tr",Med Muzik (1080p) +http://54.36.110.140/live3/live3.m3u8 +#EXTINF:-1 tvg-id="DisneyJr.tr",Disney Jr. (1080p) [Geo-blocked] +https://saran-live.ercdn.net/disneyjunior/index.m3u8 +#EXTINF:-1 tvg-id="NationalGeographic.tr",National Geographic (1080p) [Geo-blocked] +https://saran-live.ercdn.net/natgeohd/index.m3u8 +#EXTINF:-1 tvg-id="LalegulTV.tr",Lalegul TV (1080p) +https://lbl.netmedya.net/hls/lalegultv.m3u8 +#EXTINF:-1 tvg-id="FX.tr",FX (1080p) [Geo-blocked] +https://saran-live.ercdn.net/fx/index.m3u8 +#EXTINF:-1 tvg-id="CanTV.tr",Can TV (720p) +https://livetv.canbroadcast.com:7443/canlican/tv.m3u8 +#EXTINF:-1 tvg-id="AltasTV.tr",Altas TV (1080p) +https://edge1.socialsmart.tv/altastv/bant1/playlist.m3u8 +#EXTINF:-1 tvg-id="FinansTurkTV.tr",Finans Turk TV (720p) +https://yayin30.haber100.com/live/finansturk/playlist.m3u8 +#EXTINF:-1 tvg-id="AfroturkTV.tr",Afroturk TV (1080p) +https://edge.socialsmart.tv/naturaltv/bant1/playlist.m3u8 +#EXTINF:-1 tvg-id="NationalGeographicWild.tr",National Geographic Wild (1080p) [Geo-blocked] +https://saran-live.ercdn.net/natgeowild/index.m3u8 +#EXTINF:-1 tvg-id="NationalGeographicWild.tr",National Geographic Wild (720p) +https://tv.arectv29.sbs/live/natgeowild.m3u8 +#EXTINF:-1 tvg-id="NOWTV.tr",NOW TV (720p) +https://uycyyuuzyh.turknet.ercdn.net/nphindgytw/nowtv/nowtv.m3u8 diff --git a/streams/ua.m3u b/streams/ua.m3u index b808589c8..6ee285106 100644 --- a/streams/ua.m3u +++ b/streams/ua.m3u @@ -36,6 +36,8 @@ https://stream.uagit.tv/gittv.m3u8 https://kie2.cdn.i-ua.tv/hlsme/iuatv.m3u8 #EXTINF:-1 tvg-id="Inter.ua",IHTEP (576p) https://edge1.iptv.macc.com.ua/img/inter_3/index.m3u8 +#EXTINF:-1 tvg-id="InterPlus.ua",Inter+ (1080p) +http://62.233.57.226:8001/play/a00q #EXTINF:-1 tvg-id="IT3.ua",IT-3 (720p) http://cdn10.live-tv.od.ua:8081/it3od/720p/playlist.m3u8 #EXTINF:-1 tvg-id="ITV.ua",ITV (480p) @@ -160,5 +162,3 @@ https://tuso.cdn-01.cosmonova.net.ua/hls/tuso_ua.m3u8 http://46.175.163.130/ks_plus/index.m3u8 #EXTINF:-1 tvg-id="ChPinfo.ua",ะงะŸ ะ˜ะฝั„ะพ (576p) http://edge3.iptv.macc.com.ua/life/magnolia_3/index.m3u8 -#EXTINF:-1 tvg-id="InterPlus.ua",Inter+ (1080p) -http://62.233.57.226:8001/play/a00q diff --git a/streams/uk.m3u b/streams/uk.m3u index ecfd8bfc2..eb7459e58 100644 --- a/streams/uk.m3u +++ b/streams/uk.m3u @@ -26,6 +26,8 @@ https://xyzdddd.mizhls.ru/lb/premium356/index.m3u8 http://92.114.85.72:8000/play/a0mp #EXTINF:-1 tvg-id="BBCScotland.uk",BBC Scotland (1080p) http://92.114.85.72:8000/play/a0mf +#EXTINF:-1 tvg-id="BBCThree.uk",BBC Three +https://x.canlitvapp.com/u-bbc3/index.m3u8 #EXTINF:-1 tvg-id="BBCTwo.uk",BBC Two https://x.canlitvapp.com/u-bbc2/index.m3u8 #EXTINF:-1 tvg-id="Blaze.uk",Blaze (576p) [Geo-blocked] @@ -36,12 +38,18 @@ https://bloomberg.com/media-manifest/streams/eu-event.m3u8 https://bloomberg.com/media-manifest/streams/eu.m3u8 #EXTINF:-1 tvg-id="Bridezillas.uk",Bridezillas https://run-br-uk.otteravision.com/run/br_uk/br_uk_720.m3u8 +#EXTINF:-1 tvg-id="CBeebies.uk",CBeebies +https://x.canlitvapp.com/u-cbeebies/index.m3u8 +#EXTINF:-1 tvg-id="Channel4.uk",Channel 4 +https://x.canlitvapp.com/u-channel-4/index.m3u8 +#EXTINF:-1 tvg-id="Channel5.uk",Channel 5 +https://x.canlitvapp.com/u-channel-5/index.m3u8 #EXTINF:-1 tvg-id="ChannelS.uk",Channel S (576p) [Not 24/7] https://cdn149.anystream.uk:8082/g1/tvchsuk03/playlist.m3u8 -#EXTINF:-1 tvg-id="CNBCEurope.uk",CNBC Europe/World (1080p) [Geo-blocked] -https://amg01079-nbcuuk-amg01079c1-samsung-es-1261.playouts.now.amagi.tv/playlist/amg01079-nbcuukfast-cnbcpe-samsunges/playlist.m3u8 #EXTINF:-1 tvg-id="DeenTV.uk",Deen TV (576p) [Not 24/7] https://ap02.iqplay.tv:8082/iqb8002/d33ntv/playlist.m3u8 +#EXTINF:-1 tvg-id="E4.uk",E4 +https://x.canlitvapp.com/u-e4/index.m3u8 #EXTINF:-1 tvg-id="ElshaddaiTelevisionNetwork.uk",Elshaddai Television Network (720p) https://5d00db0e0fcd5.streamlock.net/7586/7586/playlist.m3u8 #EXTINF:-1 tvg-id="EmanChannel.uk",Eman Channel (576p) @@ -53,11 +61,21 @@ https://og2qd3aal7an-hls-live.5centscdn.com/garshomtv/d0dbe915091d400bd8ee7f27f0 #EXTINF:-1 tvg-id="GBNews.uk",GB News (1080p) https://amg01076-lightning-amg01076c7-lg-gb-2019.playouts.now.amagi.tv/playlist/amg01076-lightning-gbnews-lggb/playlist.m3u8 #EXTINF:-1 tvg-id="GBNews.uk",GB News (1080p) +https://jmp2.uk/sam-GBBB1600008R3.m3u8 +#EXTINF:-1 tvg-id="GBNews.uk",GB News (1080p) https://live-gbnews-ssai.simplestreamcdn.com/v1/master/82267e84b9e5053b3fd0ade12cb1a146df74169a/gbnews-live/index.m3u8 #EXTINF:-1 tvg-id="GBNews.uk",GB News (1080p) https://live-gbnews.simplestreamcdn.com/live5/gbnews/bitrate1.isml/manifest.m3u8 +#EXTINF:-1 tvg-id="GemsTV.uk",Gems TV (720p) +https://lo3.gemporia.com/abrgemporiaukgfx/smil:livestream.smil/playlist.m3u8 #EXTINF:-1 tvg-id="GemsTV.uk",Gems TV (360p) https://lo2-1.gemporia.com/abrgemporiaukgfx/smil:livestream.smil/playlist.m3u8 +#EXTINF:-1 tvg-id="GREATmovies.uk",GREAT! movies (1080p) +https://amg01753-narrativeuk-amg01753c3-lg-gb-1833.playouts.now.amagi.tv/playlist/amg01753-narrativeuk-greatmovies-lggb/playlist.m3u8 +#EXTINF:-1 tvg-id="GREATMystery.uk",GREAT! Mystery (1080p) +https://linear-861.frequency.stream/dist/lg-uk/861/hls/master/playlist.m3u8 +#EXTINF:-1 tvg-id="GREATromance.uk",GREAT! romance (1080p) +https://amg01753-narrativeuk-amg01753c2-lg-gb-1832.playouts.now.amagi.tv/playlist/amg01753-narrativeuk-greatchristmas-lggb/playlist.m3u8 #EXTINF:-1 tvg-id="",Hadi TV French (720p) https://live.ishiacloud.com/haditv.co.uk/haditv8.m3u8 #EXTINF:-1 tvg-id="",Hadi TV Indonesian and Thai (720p) @@ -66,6 +84,8 @@ https://live.ishiacloud.com/haditv.co.uk/haditv2.m3u8 https://live.ishiacloud.com/haditv.co.uk/haditv7.m3u8 #EXTINF:-1 tvg-id="HalaLondon.uk",Hala London (1080p) https://halalondon-live.ercdn.net/halalondon/halalondon.m3u8 +#EXTINF:-1 tvg-id="HobbyMaker.uk",Hobby Maker (720p) +https://lo3.gemporia.com/abrhobbymakerukgfx/smil:livestreamFullHD.smil/playlist.m3u8 #EXTINF:-1 tvg-id="HorseCountryTV.uk",Horse & Country TV (1080p) https://hnc-free-viewlift.amagi.tv/HNC_AUSTRALIA.m3u8 #EXTINF:-1 tvg-id="InsideCrime.uk",Inside Crime (1080p) [Geo-blocked] @@ -84,14 +104,14 @@ https://live.playstop.me/LS-63503-4/index.m3u8 https://live.islamchannel.tv/live11/islamtv_english/bitrate1.isml/live.m3u8 #EXTINF:-1 tvg-id="IslamChannelUrdu.uk",Islam Channel Urdu https://live-islamtv-urdu.simplestreamcdn.com/live13/islamtv_urdu/bitrate1.isml/live.m3u8 -#EXTINF:-1 tvg-id="ITV1CentralHD.uk",ITV1 Central HD (1080p) -http://92.114.85.72:8000/play/a0lu +#EXTINF:-1 tvg-id="ITV1.uk",ITV1 +https://x.canlitvapp.com/u-itv1/index.m3u8 #EXTINF:-1 tvg-id="ITV2.uk",ITV2 -http://92.114.85.77:8000/play/a041 +https://x.canlitvapp.com/u-itv2/index.m3u8 #EXTINF:-1 tvg-id="ITV3.uk",ITV3 -http://92.114.85.77:8000/play/a04z -#EXTINF:-1 tvg-id="ITV3.uk",ITV3 -http://92.114.85.77:8000/play/a05z +https://x.canlitvapp.com/u-itv3/index.m3u8 +#EXTINF:-1 tvg-id="ITV4.uk",ITV4 (576p) +https://x.canlitvapp.com/u-itv4/index.m3u8 #EXTINF:-1 tvg-id="JewelleryMaker.uk",Jewelery Maker (1080p) https://lo2-1.gemporia.com/abrjewellerymaker/smil:livestream.smil/playlist.m3u8 #EXTINF:-1 tvg-id="KalsanTV.uk",Kalsan TV (576p) @@ -108,6 +128,8 @@ https://5a0e89631aa14.streamlock.net/LatestTelevision/LatestTelevision/playlist. https://cdn3.wowza.com/5/L1Uzd2FrbVlLRG1W/live/smil:lwukweb.smil/playlist.m3u8 #EXTINF:-1 tvg-id="MagnavisionTV.uk",Magna Vision (1080p) https://j78dpa3edq5r-hls-live.5centscdn.com/abr/0864028584026e6ad9cdf922473177a4/playlist.m3u8 +#EXTINF:-1 tvg-id="MBC.uk",MBC (1080p) +https://cdn8.fntvchannel.com/v1/master/02eeb1726c343dc9c30c32e93dee82013e157021/FNTV-CHANNEL_CDN77/index.m3u8 #EXTINF:-1 tvg-id="MTA1World.uk",MTA1 World (720p) https://chlivemta1.akamaized.net/hls/live/2008145/mta1/playlist.m3u8 #EXTINF:-1 tvg-id="MTA2Europe.uk",MTA2 Europe (720p) @@ -124,6 +146,8 @@ https://livemtaasia.akamaized.net/hls/live/2039224/mta6asia/playlist.m3u8 https://livemtaasia.akamaized.net/hls/live/2039224/mtaasia2/playlist.m3u8 #EXTINF:-1 tvg-id="MTA8America.uk",MTA8 America (1080p) https://chlivemta.akamaized.net/hls/live/2016718/mta8/playlist.m3u8 +#EXTINF:-1 tvg-id="MTVHitsEurope.uk",MTV Hits Europe +http://45.88.92.3/tr3_MTVHits_SD/index.m3u8?token=test #EXTINF:-1 tvg-id="MTVLive.uk",MTV Live http://190.102.246.93:9005/play/a01p #EXTINF:-1 tvg-id="MUTV.uk",MUTV (720p) @@ -190,10 +214,24 @@ https://csm-e-stv-eb.tls1.yospace.com/csm/extlive/stv01,prd-ml-stvplusone-gla-su https://stvwest.akamaized.net/out/v1/0a8c175eec414b0d8bf7ac8178ad7aae/index.m3u8 #EXTINF:-1 tvg-id="TakbeerTV.uk",Takbeer TV (1080p) https://ap02.iqplay.tv:8082/iqb8002/t5kb86/playlist.m3u8 +#EXTINF:-1 tvg-id="TakbeerTV.uk",Takbeer TV (576p) +http://92.114.85.72:8000/play/a09b +#EXTINF:-1 tvg-id="TalkingPicturesTV.uk",Talking Pictures TV (576p) +http://92.114.85.72:8000/play/a0la +#EXTINF:-1 tvg-id="talkSPORT.uk",talkSPORT (1080p) +https://af7a8b4e.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/TEctZ2JfdGFsa1NQT1JUX0hMUw/playlist.m3u8 #EXTINF:-1 tvg-id="TalkTV.uk",TalkTV (1080p) https://amg00738-newsuk-amg00738c1-lg-gb-3426.playouts.now.amagi.tv/playlist/amg00738-newscorpukandirelandlimited-talktv-lggb/playlist.m3u8 #EXTINF:-1 tvg-id="TalkTV.uk",TalkTV (1080p) https://live-talktv-ssai.simplestreamcdn.com/v1/master/774d979dd66704abea7c5b62cb34c6815fda0d35/talktv-live/index.m3u8 +#EXTINF:-1 tvg-id="TBNUK.uk",TBN UK (1080p) +https://live-tbn-ssai.simplestreamcdn.com/v1/master/774d979dd66704abea7c5b62cb34c6815fda0d35/tbn-live/manifest.m3u8 +#EXTINF:-1 tvg-id="TBNUK.uk",TBN UK (576p) +http://92.114.85.72:8000/play/a0nj +#EXTINF:-1 tvg-id="Thats70s.uk",That's 70s (576p) +http://92.114.85.72:8000/play/a0lc +#EXTINF:-1 tvg-id="ThatsTV.uk",That's TV (576p) +http://92.114.85.72:8000/play/a0lb #EXTINF:-1 tvg-id="TheCraftStore.uk",The Craft Store (720p) https://live-hochanda.simplestreamcdn.com/hochanda/live.m3u8 #EXTINF:-1 tvg-id="TinyPop.uk",Tiny Pop (1080p) @@ -202,81 +240,39 @@ https://amg01753-narrativeuk-amg01753c1-lg-gb-1830.playouts.now.amagi.tv/playlis https://jmp2.uk/sam-GBBD3200003T6.m3u8 #EXTINF:-1 tvg-id="TinyPop.uk",Tiny Pop (1080p) https://live-pop-ssai.simplestreamcdn.com/v1/master/774d979dd66704abea7c5b62cb34c6815fda0d35/narrative-tinypop-live-amagi/playlist.m3u8 -#EXTINF:-1 tvg-id="TJC.uk",TJC (1080p) -https://cdn-shop-lc-01.akamaized.net/Content/HLS_HLS/Live/channel(TJCOTT)/index.m3u8 -#EXTINF:-1 tvg-id="TraceHits.uk",Trace Hits (1080p) -https://d35j504z0x2vu2.cloudfront.net/v1/master/0bc8e8376bd8417a1b6761138aa41c26c7309312/trace-uk/encrypted.m3u8 -#EXTINF:-1 tvg-id="TVWarehouse.uk",TV Warehouse (720p) -https://tvwarehouse.r.worldssl.net/mystream.m3u8 -#EXTINF:-1 tvg-id="V2BEATTV.uk",V2BEAT (720p) [Not 24/7] -https://abr.de1se01.v2beat.live/playlist.m3u8 -#EXTINF:-1 tvg-id="GBNews.uk",GB News (1080p) -https://jmp2.uk/sam-GBBB1600008R3.m3u8 -#EXTINF:-1 tvg-id="UAlibi.uk",U&Alibi (576p) -http://92.114.85.72:8000/play/a0bi -#EXTINF:-1 tvg-id="TogetherTV.uk",Together TV (576p) -http://92.114.85.72:8000/play/a0j8 -#EXTINF:-1 tvg-id="TinyPopPlus1.uk",Tiny Pop +1 (576p) -http://92.114.85.72:8000/play/a08p #EXTINF:-1 tvg-id="TinyPop.uk",Tiny Pop (576p) http://92.114.85.72:8000/play/a08g -#EXTINF:-1 tvg-id="ThatsTV.uk",That's TV (576p) -http://92.114.85.72:8000/play/a0lb -#EXTINF:-1 tvg-id="Thats70s.uk",That's 70s (576p) -http://92.114.85.72:8000/play/a0lc -#EXTINF:-1 tvg-id="TalkingPicturesTV.uk",Talking Pictures TV (576p) -http://92.114.85.72:8000/play/a0la -#EXTINF:-1 tvg-id="TakbeerTV.uk",Takbeer TV (576p) -http://92.114.85.72:8000/play/a09b -#EXTINF:-1 tvg-id="TVWarehouse.uk",TV Warehouse (576p) -http://92.114.85.72:8000/play/a09i -#EXTINF:-1 tvg-id="TVOne.uk",TV One (576p) -http://92.114.85.72:8000/play/a070 -#EXTINF:-1 tvg-id="TBNUK.uk",TBN UK (576p) -http://92.114.85.72:8000/play/a0nj -#EXTINF:-1 tvg-id="UYesterday.uk",U&Yesterday -http://92.114.85.72:8000/play/aOb3 -#EXTINF:-1 tvg-id="UW.uk",U&W -http://92.114.85.72:8000/play/a0bj -#EXTINF:-1 tvg-id="CBeebies.uk",CBeebies -https://x.canlitvapp.com/u-cbeebies/index.m3u8 -#EXTINF:-1 tvg-id="BBCThree.uk",BBC Three -https://x.canlitvapp.com/u-bbc3/index.m3u8 -#EXTINF:-1 tvg-id="ITV3.uk",ITV3 -https://x.canlitvapp.com/u-itv3/index.m3u8 -#EXTINF:-1 tvg-id="GREATMystery.uk",GREAT! Mystery (1080p) -https://linear-861.frequency.stream/dist/lg-uk/861/hls/master/playlist.m3u8 -#EXTINF:-1 tvg-id="GREATmovies.uk",GREAT! movies (1080p) -https://amg01753-narrativeuk-amg01753c3-lg-gb-1833.playouts.now.amagi.tv/playlist/amg01753-narrativeuk-greatmovies-lggb/playlist.m3u8 -#EXTINF:-1 tvg-id="GREATromance.uk",GREAT! romance (1080p) -https://amg01753-narrativeuk-amg01753c2-lg-gb-1832.playouts.now.amagi.tv/playlist/amg01753-narrativeuk-greatchristmas-lggb/playlist.m3u8 -#EXTINF:-1 tvg-id="talkSPORT.uk",talkSPORT (1080p) -https://af7a8b4e.wurl.com/master/f36d25e7e52f1ba8d7e56eb859c636563214f541/TEctZ2JfdGFsa1NQT1JUX0hMUw/playlist.m3u8 -#EXTINF:-1 tvg-id="GemsTV.uk",Gems TV (720p) -https://lo3.gemporia.com/abrgemporiaukgfx/smil:livestream.smil/playlist.m3u8 -#EXTINF:-1 tvg-id="TBNUK.uk",TBN UK (1080p) -https://live-tbn-ssai.simplestreamcdn.com/v1/master/774d979dd66704abea7c5b62cb34c6815fda0d35/tbn-live/manifest.m3u8 -#EXTINF:-1 tvg-id="HobbyMaker.uk",Hobby Maker (720p) -https://lo3.gemporia.com/abrhobbymakerukgfx/smil:livestreamFullHD.smil/playlist.m3u8 +#EXTINF:-1 tvg-id="TinyPopPlus1.uk",Tiny Pop +1 (576p) +http://92.114.85.72:8000/play/a08p +#EXTINF:-1 tvg-id="TJC.uk",TJC (1080p) +https://cdn-shop-lc-01.akamaized.net/Content/HLS_HLS/Live/channel(TJCOTT)/index.m3u8 #EXTINF:-1 tvg-id="TJC.uk",TJC (1080p) https://cdn-shop-lc-01.vos360.video/Content/HLS_HLS/Live/channel(HDTJCcustomGFX)/master.m3u8 +#EXTINF:-1 tvg-id="TogetherTV.uk",Together TV (576p) +http://92.114.85.72:8000/play/a0j8 +#EXTINF:-1 tvg-id="TraceHits.uk",Trace Hits (1080p) +https://d35j504z0x2vu2.cloudfront.net/v1/master/0bc8e8376bd8417a1b6761138aa41c26c7309312/trace-uk/encrypted.m3u8 +#EXTINF:-1 tvg-id="TVOne.uk",TV One (576p) +http://92.114.85.72:8000/play/a070 +#EXTINF:-1 tvg-id="TVWarehouse.uk",TV Warehouse (720p) +https://tvwarehouse.r.worldssl.net/mystream.m3u8 +#EXTINF:-1 tvg-id="TVWarehouse.uk",TV Warehouse (576p) +http://92.114.85.72:8000/play/a09i +#EXTINF:-1 tvg-id="UAlibi.uk",U&Alibi (576p) +http://92.114.85.72:8000/play/a0bi +#EXTINF:-1 tvg-id="UW.uk",U&W +http://92.114.85.72:8000/play/a0bj +#EXTINF:-1 tvg-id="UYesterday.uk",U&Yesterday +http://92.114.85.72:8000/play/aOb3 +#EXTINF:-1 tvg-id="V2BEATTV.uk",V2BEAT (720p) [Not 24/7] +https://abr.de1se01.v2beat.live/playlist.m3u8 #EXTINF:-1 tvg-id="WildEarth.uk",WildEarth (1080p) https://wildearth-ono.amagi.tv/playlist/amg01290-wildearth-oando/playlist.m3u8 -#EXTINF:-1 tvg-id="ITV4.uk",ITV4 (576p) -https://x.canlitvapp.com/u-itv4/index.m3u8 -#EXTINF:-1 tvg-id="MTVHitsEurope.uk",MTV Hits Europe -http://45.88.92.3:80/tr3_MTVHits_SD/index.m3u8?token=test -#EXTINF:-1 tvg-id="E4.uk",E4 -https://x.canlitvapp.com/u-e4/index.m3u8 -#EXTINF:-1 tvg-id="Channel5.uk",Channel 5 -https://x.canlitvapp.com/u-channel-5/index.m3u8 -#EXTINF:-1 tvg-id="Channel4.uk",Channel 4 -https://x.canlitvapp.com/u-channel-4/index.m3u8 -#EXTINF:-1 tvg-id="ITV2.uk",ITV2 -https://x.canlitvapp.com/u-itv2/index.m3u8 -#EXTINF:-1 tvg-id="ITV1.uk",ITV1 -https://x.canlitvapp.com/u-itv1/index.m3u8 -#EXTINF:-1 tvg-id="MBC.uk",MBC (1080p) -https://cdn8.fntvchannel.com/v1/master/02eeb1726c343dc9c30c32e93dee82013e157021/FNTV-CHANNEL_CDN77/index.m3u8 #EXTINF:-1 tvg-id="YAAAS.uk",YAAAS! (720p) [Geo-blocked] https://jmp2.uk/sam-GB340000289.m3u8 +#EXTINF:-1 tvg-id="BabyTV.uk@Spain",BabyTV Spain (480p) +http://181.78.109.48:8000/play/a00c/index.m3u8 +#EXTINF:-1 tvg-id="AMCEurope.uk@Spain",AMC Europe Spain (1080p) +http://181.78.109.48:8000/play/a02l/index.m3u8 +#EXTINF:-1 tvg-id="AMCEurope.uk@Spain",AMC Europe Spain (480p) +http://181.78.109.48:8000/play/a025/index.m3u8 diff --git a/streams/uk_bbc.m3u b/streams/uk_bbc.m3u index e5928a7f0..be06ab867 100644 --- a/streams/uk_bbc.m3u +++ b/streams/uk_bbc.m3u @@ -109,6 +109,8 @@ https://vs-cmaf-pushb-ww.live.cf.md.bbci.co.uk/x=3/i=urn:bbc:pips:service:bbc_pe https://vs-cmaf-pushb-ww.live.cf.md.bbci.co.uk/x=3/i=urn:bbc:pips:service:bbc_persian_tv/pc_hd_abr_v2_cloudfrontms_live_http.mpd #EXTINF:-1 tvg-id="BBCPersian.uk",BBC Persian (720p) https://vs-hls-pushb-ww-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_persian_tv/t=3840/v=pv14/b=5070016/main.m3u8 +#EXTINF:-1 tvg-id="BBCRedButton1HD.uk",BBC RB 1 (720p) [Geo-blocked] +https://vs-cmaf-pushb-uk.live.cf.md.bbci.co.uk/x=4/i=urn:bbc:pips:service:red_button_one/iptv_hd_abr_v1.mpd #EXTINF:-1 tvg-id="BBCRedButton1.uk",BBC Red Button 1 (720p) [Geo-blocked] https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_001/iptv_hd_abr_v1.mpd #EXTINF:-1 tvg-id="BBCRedButton2.uk",BBC Red Button 2 (720p) [Geo-blocked] @@ -157,8 +159,6 @@ https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_str https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_023/iptv_hd_abr_v1.mpd #EXTINF:-1 tvg-id="BBCRedButton24.uk",BBC Red Button 24 (720p) [Geo-blocked] https://ve-cmaf-push-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:uk_bbc_stream_024/iptv_hd_abr_v1.mpd -#EXTINF:-1 tvg-id="BBCRedButton1HD.uk",BBC RB 1 (720p) [Geo-blocked] -https://vs-cmaf-pushb-uk.live.cf.md.bbci.co.uk/x=4/i=urn:bbc:pips:service:red_button_one/iptv_hd_abr_v1.mpd #EXTINF:-1 tvg-id="BBCScotland.uk",BBC Scotland (540p) [Geo-blocked] https://vs-hls-pushb-uk-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_scotland_hd/pc_hd_abr_v2.m3u8 #EXTINF:-1 tvg-id="BBCScotland.uk",BBC Scotland HD (720p) [Geo-blocked] diff --git a/streams/us.m3u b/streams/us.m3u index 11984132b..e751dfb3e 100644 --- a/streams/us.m3u +++ b/streams/us.m3u @@ -179,6 +179,10 @@ https://reflect-stream-bronxnet.cablecast.tv/live-18/live/live.m3u8 https://reflect-stream-bronxnet.cablecast.tv/live-16/live/live.m3u8 #EXTINF:-1 tvg-id="BYUTV.us",BYU TV (720p) https://content.uplynk.com/channel/2f29cb20fcb74f68a85c38b99ca384bc.m3u8 +#EXTINF:-1 tvg-id="CSPAN.us" http-referrer="https://webxzplay.cfd/" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1",C-SPAN +#EXTVLCOPT:http-referrer=https://webxzplay.cfd/ +#EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1 +https://windnew.newkso.ru/wind/premium750/mono.m3u8 #EXTINF:-1 tvg-id="CafeTradeTV.us",Cafe Trade TV (720p) https://cafetradehls.wns.live/hls/stream.m3u8 #EXTINF:-1 tvg-id="CaliforniaMusicChannel.us",California Music Channel (720p) [Not 24/7] @@ -233,6 +237,8 @@ https://cmc-ono.amagi.tv/playlist.m3u8 https://hwlive.streamingmediahosting.com/14215-live/0_obd393sh/playlist.m3u8 #EXTINF:-1 tvg-id="CNBCIndonesia.id",CNBC Indonesia (720p) https://live.cnbcindonesia.com/livecnbc/smil:cnbctv.smil/playlist.m3u8 +#EXTINF:-1 tvg-id="ConcertChannel.us",Concert Channel +http://45.228.233.254:18000/play/a04u/index.m3u8 #EXTINF:-1 tvg-id="CookingPanda.us",Cooking Panda (576p) https://stream-us-east-1.getpublica.com/playlist.m3u8?network_id=46 #EXTINF:-1 tvg-id="Cops.us",Cops (720p) @@ -287,6 +293,8 @@ http://media3.smc-host.com:1935/elbesharagtv.com/gtv.smil/playlist.m3u8 https://elec-en.otteravision.com/elec/en/elec_en.m3u8 #EXTINF:-1 tvg-id="EntertainmentTonight.us",Entertainment Tonight (720p) https://cbsta49f-cbsta49f-ms.global.ssl.fastly.net/amagi7b98-AmagiMixible/master/amagi7b98-AmagiMixible.m3u8 +#EXTINF:-1 tvg-id="ESNETV.us",ESNE TV (480p) +http://190.2.212.209:8050/play/a0na #EXTINF:-1 tvg-id="ESR24x7eSportsNetwork.us",ESR 24x7 eSports Network (1080p) https://eyeonesports.com/ES2RA-628g.m3u8 #EXTINF:-1 tvg-id="EternalLifeTVNetwork.us",Eternal Life TV Network (1080p) @@ -323,12 +331,14 @@ http://41.205.93.154/FOXBUSINESS/index.m3u8 #EXTVLCOPT:http-referrer=https://www.newslive.com/ #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1 https://stream.livenewsplay.com:9443/hls/foxnews/foxsd.m3u8 -#EXTINF:-1 tvg-id="FoxNewsChannel.us" http-referrer="https://pkpakiplay.xyz/" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1",Fox News Channel (720p) -#EXTVLCOPT:http-referrer=https://pkpakiplay.xyz/ +#EXTINF:-1 tvg-id="FoxNewsChannel.us" http-referrer="https://webxzplay.cfd/" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1",Fox News Channel (720p) +#EXTVLCOPT:http-referrer=https://webxzplay.cfd/ #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1 -https://zekonew.koskoros.ru/zeko/premium347/mono.m3u8 +https://zekonew.newkso.ru/zeko/premium347/mono.m3u8 #EXTINF:-1 tvg-id="FoxNewsChannel.us",Fox News Channel (144p) http://247preview.foxnews.com/hls/live/2020027/fncv3preview/primary.m3u8 +#EXTINF:-1 tvg-id="FoxNewsRadio.us",Fox News Radio (720p) +https://radiovid.foxnews.com/hls/live/661547/RADIOVID/index.m3u8 #EXTINF:-1 tvg-id="FoxWeather.us",Fox Weather (720p) https://247wlive.foxweather.com/stream/index.m3u8 #EXTINF:-1 tvg-id="FreeSpeechTV.us",Free Speech TV (720p) @@ -431,8 +441,12 @@ http://teleredmcp.com:1935/jrestv/jrestv/playlist.m3u8 https://livevideo01.kare11.com/hls/live/2014544/elvs/live.m3u8 #EXTINF:-1 tvg-id="KBMTDT1.us",KBMT-DT1 (1080p) https://livevideo01.12newsnow.com/hls/live/2017379/elvs/live.m3u8 +#EXTINF:-1 tvg-id="KCMNLD6.us",KCMN-LD6 (1080p) +https://cdn-uw2-prod.tsv2.amagi.tv/linear/amg02873-kravemedia-mtrspt1-distrotv/playlist.m3u8 #EXTINF:-1 tvg-id="KCTVDT1.us",KCTV-DT1 [Geo-blocked] https://cdn-uw2-prod.tsv2.amagi.tv/linear/amg00312-graytelevisioni-kctv5news-vizious/playlist.m3u8 +#EXTINF:-1 tvg-id="KetchupTV.us",Ketchup TV (720p) +https://stream.ads.ottera.tv/playlist.m3u8?network_id=13171 #EXTINF:-1 tvg-id="KFMBDT1.us",KFMB-DT1 (1080p) https://livevideo01.cbs8.com/hls/live/2014967/elvs/live.m3u8 #EXTINF:-1 tvg-id="KFSMDT1.us",KFSM-DT1 (1080p) @@ -479,6 +493,8 @@ https://1840769862.rsc.cdn77.org/FTF/LSN_SCTE.m3u8 https://livefta.malimarcdn.com/ftaedge00/laothaius.sdp/playlist.m3u8 #EXTINF:-1 tvg-id="LatinZone.us",Latin Zone TV (720p) https://cdn.streamingcpanel.com:3784/live/latinzonetvlive.m3u8 +#EXTINF:-1 tvg-id="LegoChannel.us",Lego Channel (1080p) +https://jmp2.uk/sam-GBBC4300005AL.m3u8 #EXTINF:-1 tvg-id="LifevisionTV.us",LifevisionTV (406p) [Not 24/7] https://tgn.bozztv.com/lifevision/lifevision/index.m3u8 #EXTINF:-1 tvg-id="LLBNHisLight.us",Lighting Lives Blessing Nations His Light (LLBN) (720p) @@ -553,10 +569,10 @@ http://media.mohabat.tv:1935/live_transcoder/ngrp:mohabat.stream_all/playlist.m3 https://1422977263.rsc.cdn77.org/HLS/MOTOAMERICA.m3u8 #EXTINF:-1 tvg-id="",Motorbikes & Engines https://motors.playout.vju.tv/motors/main.m3u8 -#EXTINF:-1 tvg-id="MSNBC.us" http-referrer="https://pkpakiplay.xyz/" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1",MSNBC (1080p) -#EXTVLCOPT:http-referrer=https://pkpakiplay.xyz/ +#EXTINF:-1 tvg-id="MSNBC.us" http-referrer="https://webxzplay.cfd/" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1",MSNBC (1080p) +#EXTVLCOPT:http-referrer=https://webxzplay.cfd/ #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1 -https://windnew.koskoros.ru/wind/premium327/mono.m3u8 +https://windnew.newkso.ru/wind/premium327/mono.m3u8 #EXTINF:-1 tvg-id="MSNBC.us",MSNBC (720p) http://41.205.93.154/MSNBC/index.m3u8 #EXTINF:-1 tvg-id="MTC.us",MTC (720p) @@ -573,14 +589,16 @@ https://nbculocalfast.akamaized.net/hls/live/2096797/nbcchicago/master.m3u8 https://nbculocallive.akamaized.net/hls/live/2037098/sandiego/stream1/master.m3u8 #EXTINF:-1 tvg-id="NBCLX.us",NBCLX https://nbculocallive.akamaized.net/hls/live/2037096/lx/use1.m3u8 +#EXTINF:-1 tvg-id="NEWKPOP.us",NEW K-POP (1080p) +https://newidco-newkid-1-eu.xiaomi.wurl.tv/playlist.m3u8 #EXTINF:-1 tvg-id="Newsmax2.us",Newsmax 2 (720p) https://nmxlive.akamaized.net/hls/live/529965/Live_1/index.m3u8 #EXTINF:-1 tvg-id="NewsmaxTV.us",Newsmax TV (720p) https://nmx1ota.akamaized.net/hls/live/2107010/Live_1/index.m3u8 -#EXTINF:-1 tvg-id="NewsNationEast.us" http-referrer="https://pkpakiplay.xyz/" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1",NewsNation East (720p) -#EXTVLCOPT:http-referrer=https://pkpakiplay.xyz/ +#EXTINF:-1 tvg-id="NewsNationEast.us" http-referrer="https://webxzplay.cfd/" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1",NewsNation East (720p) +#EXTVLCOPT:http-referrer=https://webxzplay.cfd/ #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1 -https://windnew.koskoros.ru/wind/premium292/mono.m3u8 +https://windnew.newkso.ru/wind/premium292/mono.m3u8 #EXTINF:-1 tvg-id="NewsNet.us",NewsNet (720p) [Not 24/7] https://2-fss-2.streamhoster.com/pl_138/amlst:201950-1311088/playlist.m3u8 #EXTINF:-1 tvg-id="Newsy.us",Newsy (1080p) @@ -591,8 +609,6 @@ https://content.uplynk.com/channel/1f93c13275024afb9e0ead299624073d.m3u8 https://content.uplynk.com/channel/4bb4901b934c4e029fd4c1abfc766c37.m3u8 #EXTINF:-1 tvg-id="NickPlutoTV.us",Nick Pluto TV (720p) https://jmp2.uk/plu-62bdb6a83c6e37000726823b.m3u8 -#EXTINF:-1 tvg-id="NickelodeonEast.us",Nickelodeon East (720p) -http://143.244.60.30/NICKELODEON/index.m3u8 #EXTINF:-1 tvg-id="NicktoonsEast.us",NickToons (720p) http://143.244.60.30/NICKTOONS/index.m3u8 #EXTINF:-1 tvg-id="",Novelas @@ -725,6 +741,8 @@ https://content.uplynk.com/channel/f9aafa1f132e40af9b9e7238bc18d128.m3u8 https://tv2.fastcast4u.com:3238/live/radiotelebostonlive.m3u8 #EXTINF:-1 tvg-id="TelemundoCorpusChristi.us",Telemundo Corpus Christi https://content.uplynk.com/channel/b6a96ed39d694ae1b738faa98cf7dd3f.m3u8 +#EXTINF:-1 tvg-id="TelemundoInternacional.us",Telemundo Internacional (480p) +http://190.2.212.209:8050/play/a0oa #EXTINF:-1 tvg-id="TelemundoWest.us",Telemundo West (720p) https://content.uplynk.com/channel/b6a96ed39d694ae1b738faa98cf7dd3f.m3u8?delay=10800 #EXTINF:-1 tvg-id="TennisChannel.us",Tennis Channel (1080p) @@ -797,6 +815,8 @@ https://server80.servistreaming.com:3074/hybrid/play.m3u8 https://tstv-stream.tsm.utexas.edu/hls/livestream_hi/index.m3u8 #EXTINF:-1 tvg-id="TUDN.us",TUDN https://dai.google.com/linear/hls/event/LKaz-eTgQvawHshATl-Qdw/master.m3u8 +#EXTINF:-1 tvg-id="TUDN.us",TUDN (1080p) +https://tkx.mp.lura.live/rest/v2/mcp/video/adstkZj0NvKqzB6e?anvack=NVQrq6a3oZfdBzkefWT1rvdRCoj9XOyx&token=eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJOVlFycTZhM29aZmRCemtlZldUMXJ2ZFJDb2o5WE95eCIsImV4cCI6MTY1NjE5ODE4NSwiYWRfcGFycyI6eyJkZnAiOnsiaXVfdmFsdWVfZnJvbV9wYWdlIjoiL3VuZGVmaW5lZC9yZC51bml2aXNpb25fdmlkZW9fZGVwb3J0ZXMvZGFpIiwidXJsIjoiaHR0cHM6Ly93d3cudHVkbi5jb20vdHVkbi1saXZlc3RyZWFtLTI0LTciLCJwbGF5ZXJfd2lkdGgiOiI3NTMiLCJwbGF5ZXJfaGVpZ2h0IjoiNDI0IiwicHAiOiJEZXNrdG9wQml0UmF0ZXMiLCJtdnBkIjoidGVtcF9wYXNzIn19LCJ2aWQiOiJhZHN0a1pqME52S3F6QjZlIiwidXNlcl9wYXJzIjp7InByZWZlcnJlZF9jZG4iOnsibmFtZSI6ImFrYW1haSIsImZvcmNlIjp0cnVlfX19.Y9JMF-b_SUsCZ3WMkjU1cmNkiHvT7lmvYLsVbCx-Dhg #EXTINF:-1 tvg-id="TUTV.us",TUTV https://livestream.telvue.com/templeuni1/f7b44cfafd5c52223d5498196c8a2e7b.sdp/playlist.m3u8 #EXTINF:-1 tvg-id="TVSBowlingNetwork.us",TVS Bowling Network (720p) @@ -867,12 +887,18 @@ https://bozztv.com/gusa/gusa-tvswsn/index.m3u8 https://rpn.bozztv.com/gusa/gusa-ConsumerDirect/index.m3u8 #EXTINF:-1 tvg-id="UNWebTV.us",UN Web TV (540p) https://cdnapi.kaltura.com/p/2503451/sp/250345100/playManifest/entryId/1_gb6tjmle/protocol/https/format/applehttp/a.m3u8 +#EXTINF:-1 tvg-id="UniversalCinema.us",Universal Cinema (480p) +http://190.2.212.209:8050/play/a0q3 +#EXTINF:-1 tvg-id="UniversalComedy.us",Universal Comedy (480p) +http://190.2.212.209:8050/play/a0q4 #EXTINF:-1 tvg-id="VallenatoInternacional.us",Vallenato Internacional (720p) [Not 24/7] https://server80.servistreaming.com:3884/hybrid/play.m3u8 #EXTINF:-1 tvg-id="VBSTV.us",VBS TV (480p) [Not 24/7] http://uni6rtmp.tulix.tv:1935/vbstv/vbsabr.smil/playlist.m3u8 #EXTINF:-1 tvg-id="VelayatTVNetwork.us",Velayat TV (480p) https://nl.livekadeh.com/hls2/velayattv.m3u8 +#EXTINF:-1 tvg-id="VevoPop.us",Vevo Pop (1080p) +https://jmp2.uk/sam-GBBC19000017V.m3u8 #EXTINF:-1 tvg-id="VICETV.us",Vice East https://d2do1g43aq7264.cloudfront.net/playlist.m3u8 #EXTINF:-1 tvg-id="VictorValleyTV.us",Victor Valley Movies (1080p) [Not 24/7] @@ -903,6 +929,8 @@ https://livevideo01.10tv.com/hls/live/2013836/elvs/live.m3u8 https://livestream.pbskids.org/out/v1/1e3d77b418ad4a819b3f4c80ac0373b5/est_124.m3u8 #EXTINF:-1 tvg-id="WBZDT1.us",WBZ-DT1 (720p) http://143.244.60.30/CBSEAST/index.m3u8 +#EXTINF:-1 tvg-id="WCBSDT1.us",WCBS-DT1 (720p) +https://tvpass.org/live/WCBSDT1/hd #EXTINF:-1 tvg-id="WCNCDT1.us",WCNC-DT1 (1080p) https://livevideo01.wcnc.com/hls/live/2015505/elvs/live.m3u8 #EXTINF:-1 tvg-id="WeatherSpy.us",WeatherSpy (720p) @@ -975,40 +1003,20 @@ https://d1ewctnvcwvvvu.cloudfront.net/playlist.m3u8 https://thegateway.app/YouToo/CueTones/playlist.m3u8 #EXTINF:-1 tvg-id="YoutooAmerica.us",Youtoo America (1080p) https://thegateway.app/YouToo/YTamerica/playlist.m3u8 +#EXTINF:-1 tvg-id="YuGiOh.us",Yu-Gi-Oh! (1080p) +https://fastmedia-yu-gi-oh-1-gb.xiaomi.wurl.tv/playlist.m3u8 #EXTINF:-1 tvg-id="ZoomNews.us" http-referrer="https://zoomnews.info/",Zoom TV Kurdish (720p) #EXTVLCOPT:http-referrer=https://zoomnews.info/ https://live.zoomnews.info/live/Zoom_playlist.m3u8 -#EXTINF:-1 tvg-id="CSPAN.us" http-referrer="https://pkpakiplay.xyz/" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1",C-SPAN -#EXTVLCOPT:http-referrer=https://pkpakiplay.xyz/ -#EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1 -https://windnew.koskoros.ru/wind/premium750/mono.m3u8 -#EXTINF:-1 tvg-id="WCBSDT1.us",WCBS-DT1 (720p) -https://tvpass.org/live/WCBSDT1/hd/ -#EXTINF:-1 tvg-id="NEWKPOP.us",NEW K-POP (1080p) -https://newidco-newkid-1-eu.xiaomi.wurl.tv/playlist.m3u8 -#EXTINF:-1 tvg-id="YuGiOh.us",Yu-Gi-Oh! (1080p) -https://fastmedia-yu-gi-oh-1-gb.xiaomi.wurl.tv/playlist.m3u8 -#EXTINF:-1 tvg-id="LegoChannel.us",Lego Channel (1080p) -https://jmp2.uk/sam-GBBC4300005AL.m3u8 -#EXTINF:-1 tvg-id="VevoPop.us",Vevo Pop (1080p) -https://jmp2.uk/sam-GBBC19000017V.m3u8 -#EXTINF:-1 tvg-id="UniversalCinema.us",Universal Cinema (480p) -http://190.2.212.209:8050/play/a0q3 -#EXTINF:-1 tvg-id="UniversalComedy.us",Universal Comedy (480p) -http://190.2.212.209:8050/play/a0q4 -#EXTINF:-1 tvg-id="ESNETV.us",ESNE TV (480p) -http://190.2.212.209:8050/play/a0na -#EXTINF:-1 tvg-id="TelemundoInternacional.us",Telemundo Internacional (480p) -http://190.2.212.209:8050/play/a0oa -#EXTINF:-1 tvg-id="TUDN.us",TUDN (1080p) -https://tkx.mp.lura.live/rest/v2/mcp/video/adstkZj0NvKqzB6e?anvack=NVQrq6a3oZfdBzkefWT1rvdRCoj9XOyx&token=eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJOVlFycTZhM29aZmRCemtlZldUMXJ2ZFJDb2o5WE95eCIsImV4cCI6MTY1NjE5ODE4NSwiYWRfcGFycyI6eyJkZnAiOnsiaXVfdmFsdWVfZnJvbV9wYWdlIjoiL3VuZGVmaW5lZC9yZC51bml2aXNpb25fdmlkZW9fZGVwb3J0ZXMvZGFpIiwidXJsIjoiaHR0cHM6Ly93d3cudHVkbi5jb20vdHVkbi1saXZlc3RyZWFtLTI0LTciLCJwbGF5ZXJfd2lkdGgiOiI3NTMiLCJwbGF5ZXJfaGVpZ2h0IjoiNDI0IiwicHAiOiJEZXNrdG9wQml0UmF0ZXMiLCJtdnBkIjoidGVtcF9wYXNzIn19LCJ2aWQiOiJhZHN0a1pqME52S3F6QjZlIiwidXNlcl9wYXJzIjp7InByZWZlcnJlZF9jZG4iOnsibmFtZSI6ImFrYW1haSIsImZvcmNlIjp0cnVlfX19.Y9JMF-b_SUsCZ3WMkjU1cmNkiHvT7lmvYLsVbCx-Dhg -#EXTINF:-1 tvg-id="ConcertChannel.us",Concert Channel -http://45.228.233.254:18000/play/a04u/index.m3u8 -#EXTINF:-1 tvg-id="KetchupTV.us",Ketchup TV (720p) -https://stream.ads.ottera.tv/playlist.m3u8?network_id=13171 -#EXTINF:-1 tvg-id="KCMNLD6.us",KCMN-LD6 (1080p) -https://cdn-uw2-prod.tsv2.amagi.tv/linear/amg02873-kravemedia-mtrspt1-distrotv/playlist.m3u8 -#EXTINF:-1 tvg-id="FoxNewsRadio.us",Fox News Radio (720p) -https://radiovid.foxnews.com/hls/live/661547/RADIOVID/index.m3u8 -#EXTINF:-1 tvg-id="FoxNewsChannel.us",Fox News Channel (720p) -https://v1.thetvapp.to/hls/FoxNewsChannel/index.m3u8 +#EXTINF:-1 tvg-id="Laff.us",Laff (480p) +http://72.46.118.193/Laff/index.m3u8 +#EXTINF:-1 tvg-id="History2LatinAmerica.us",History 2 Latin America +https://cors-proxy.cooks.fyi/https://streamer1.nexgen.bz/HISTORY2/index.m3u8 +#EXTINF:-1 tvg-id="DidgahTV.us",Didgah TV (576p) +https://media.streambrothers.com:1936/8276/8276/playlist.m3u8 +#EXTINF:-1 tvg-id="TinTV.us",Tin TV (720p) +https://tulixcdn.akamaized.net/tintv6/tintv/tintv/playlist.m3u8 +#EXTINF:-1 tvg-id="RJTV.us",RJTV (720p) +https://rjtvhls.wns.live/hls/stream.m3u8 +#EXTINF:-1 tvg-id="PBCTapeshTV.us",PBC Tapesh TV (480p) +https://iptv.tapesh.tv/tapesh/playlist_mid/index.m3u8 diff --git a/streams/us_moveonjoy.m3u b/streams/us_moveonjoy.m3u index 49eca274e..372984acf 100644 --- a/streams/us_moveonjoy.m3u +++ b/streams/us_moveonjoy.m3u @@ -1,6 +1,8 @@ #EXTM3U #EXTINF:-1 tvg-id="WOLODT1.us",ABC 25 Columbia http://fl1.moveonjoy.com/ABC_EAST/index.m3u8 +#EXTINF:-1 tvg-id="ACCNetwork.us",ACCN (720p) +http://fl2.moveonjoy.com/ACC_NETWORK/index.m3u8 #EXTINF:-1 tvg-id="AMCEast.us",AMC East (1080p) http://fl5.moveonjoy.com/AMC_NETWORK/index.m3u8 #EXTINF:-1 tvg-id="Aspire.us",Aspire @@ -63,8 +65,14 @@ http://fl2.moveonjoy.com/CRAVE_4/index.m3u8 http://fl3.moveonjoy.com/Curiosity_Stream/index.m3u8 #EXTINF:-1 tvg-id="DisneyJuniorEast.us",Disney Junior East http://fl2.moveonjoy.com/DISNEY_JR/index.m3u8 +#EXTINF:-1 tvg-id="DisneyXDWest.us",Disney XD West (720p) +http://fl2.moveonjoy.com/DISNEY_XD/index.m3u8 #EXTINF:-1 tvg-id="EEast.us",E! East http://fl2.moveonjoy.com/E_ENTERTAINMENT_TELEVISION/index.m3u8 +#EXTINF:-1 tvg-id="ESPNU.us",ESPN U (720p) +http://fl2.moveonjoy.com/ESPN_U/index.m3u8 +#EXTINF:-1 tvg-id="ESPNews.us",ESPNews (720p) +http://fl2.moveonjoy.com/ESPN_NEWS/index.m3u8 #EXTINF:-1 tvg-id="FoxBusinessNetwork.us",Fox Business Network (720p) http://fl2.moveonjoy.com/FOX_Business_Network/index.m3u8 #EXTINF:-1 tvg-id="FoxSoul.us",Fox Soul @@ -91,6 +99,8 @@ http://fl2.moveonjoy.com/GOLF_CHANNEL/index.m3u8 http://fl2.moveonjoy.com/GRIT_TV/index.m3u8 #EXTINF:-1 tvg-id="HallmarkChannelEast.us",Hallmark Channel East http://fl2.moveonjoy.com/HALLMARK_CHANNEL/index.m3u8 +#EXTINF:-1 tvg-id="HallmarkDrama.us",Hallmark Drama (720p) +http://fl2.moveonjoy.com/HALLMARK_DRAMA/index.m3u8 #EXTINF:-1 tvg-id="HallmarkMoviesMysteriesEast.us",Hallmark Movies Mysteries East http://fl2.moveonjoy.com/HALLMARK_MOVIES_MYSTERIES/index.m3u8 #EXTINF:-1 tvg-id="HSN.us",HSN @@ -145,6 +155,8 @@ http://fl2.moveonjoy.com/National_Geographic/index.m3u8 http://fl2.moveonjoy.com/Nat_Geo_Wild/index.m3u8 #EXTINF:-1 tvg-id="NBATV.us",NBA TV http://fl2.moveonjoy.com/NBA_TV/index.m3u8 +#EXTINF:-1 tvg-id="NewsNationEast.us",News Nation (720p) +http://fl2.moveonjoy.com/NEWS_NATION/index.m3u8 #EXTINF:-1 tvg-id="NFLNetwork.us",NFL Network http://fl2.moveonjoy.com/NFL_NETWORK/index.m3u8 #EXTINF:-1 tvg-id="NFLRedZone.us",NFL RedZone @@ -165,6 +177,8 @@ http://fl1.moveonjoy.com/NICKELODEON/index.m3u8 http://fl1.moveonjoy.com/NICKTOONS/index.m3u8 #EXTINF:-1 tvg-id="OutdoorChannel.us",Outdoor Channel http://fl2.moveonjoy.com/OUTDOOR_CHANNEL/index.m3u8 +#EXTINF:-1 tvg-id="OuterMaxEast.us",OuterMax East (720p) +http://fl2.moveonjoy.com/OUTER_MAX/index.m3u8 #EXTINF:-1 tvg-id="OutsideTV.us",Outside TV http://fl2.moveonjoy.com/OUTSIDE_TV/index.m3u8 #EXTINF:-1 tvg-id="Ovation.us",Ovation (1080p) @@ -173,6 +187,8 @@ http://fl3.moveonjoy.com/Ovation/index.m3u8 http://fl2.moveonjoy.com/OXYGEN/index.m3u8 #EXTINF:-1 tvg-id="ParamountNetworkEast.us",Paramount Network East http://fl2.moveonjoy.com/PARAMOUNT_NETWORK/index.m3u8 +#EXTINF:-1 tvg-id="PursuitChannel.us",Pursuit Channel (720p) +http://fl3.moveonjoy.com/Pursuit_Channel/index.m3u8 #EXTINF:-1 tvg-id="QVC.us",QVC (720p) http://fl2.moveonjoy.com/QVC/index.m3u8 #EXTINF:-1 tvg-id="Reelz.us",Reelz (720p) @@ -183,8 +199,6 @@ http://fl2.moveonjoy.com/REVOLT/index.m3u8 http://fl2.moveonjoy.com/SHOWTIME_2/index.m3u8 #EXTINF:-1 tvg-id="ShowtimeEast.us",Showtime East http://fl2.moveonjoy.com/SHOWTIME/index.m3u8 -#EXTINF:-1 tvg-id="ShowtimeExtremeEast.us",Showtime Extreme East -http://fl2.moveonjoy.com/SHOWTIME_EXTREME/index.m3u8 #EXTINF:-1 tvg-id="ShowtimeNextEast.us",Showtime Next East http://fl2.moveonjoy.com/SHOWTIME_NEXT/index.m3u8 #EXTINF:-1 tvg-id="ShowtimeWest.us",Showtime West (1080p) @@ -199,24 +213,20 @@ http://fl2.moveonjoy.com/SPORTSMAN_CHANNEL/index.m3u8 http://fl2.moveonjoy.com/SNY/index.m3u8 #EXTINF:-1 tvg-id="StartTV.us",Start TV http://fl3.moveonjoy.com/Start_Tv/index.m3u8 -#EXTINF:-1 tvg-id="StarzComedyEast.us",Starz Comedy East -http://fl2.moveonjoy.com/STARZ_COMEDY/index.m3u8 #EXTINF:-1 tvg-id="StarzEast.us",Starz East http://fl2.moveonjoy.com/STARZ/index.m3u8 -#EXTINF:-1 tvg-id="StarzEdgeEast.us",Starz Edge East -http://fl2.moveonjoy.com/STARZ_EDGE/index.m3u8 -#EXTINF:-1 tvg-id="StarzEncoreActionEast.us",Starz Encore Action East -http://fl2.moveonjoy.com/STARZ_ENCORE_ACTION/index.m3u8 #EXTINF:-1 tvg-id="StarzEncoreClassicEast.us",Starz Encore Classic East http://fl5.moveonjoy.com/STARZ_ENCORE_CLASSIC/index.m3u8 -#EXTINF:-1 tvg-id="StarzEncoreEast.us",Starz Encore East -http://fl2.moveonjoy.com/STARZ_ENCORE/index.m3u8 +#EXTINF:-1 tvg-id="StarzWest.us",Starz West +http://fl2.moveonjoy.com/STARZ_WEST/index.m3u8 #EXTINF:-1 tvg-id="SundanceTVEast.us",Sundance TV East http://fl2.moveonjoy.com/SUNDANCE/index.m3u8 #EXTINF:-1 tvg-id="SyfyEast.us",Syfy East http://fl2.moveonjoy.com/SYFY/index.m3u8 #EXTINF:-1 tvg-id="TennisChannel.us",Tennis Channel http://fl2.moveonjoy.com/TENNIS_CHANNEL/index.m3u8 +#EXTINF:-1 tvg-id="TSN1.ca",TSN1 (1080p) +http://fl5.moveonjoy.com/TSN_1/index.m3u8 #EXTINF:-1 tvg-id="TSN2.ca",TSN2 http://fl5.moveonjoy.com/TSN_2/index.m3u8 #EXTINF:-1 tvg-id="TSN3.ca",TSN3 @@ -237,6 +247,8 @@ http://fl2.moveonjoy.com/USA_Network/index.m3u8 http://fl2.moveonjoy.com/VH1/index.m3u8 #EXTINF:-1 tvg-id="VICETV.us",VICE TV (720p) http://fl2.moveonjoy.com/VICELAND/index.m3u8 +#EXTINF:-1 tvg-id="WNetworkEast.ca",W Network (720p) +http://fl2.moveonjoy.com/W_NETWORK/index.m3u8 #EXTINF:-1 tvg-id="WeTVEast.us",We TV East http://fl1.moveonjoy.com/WE_TV/index.m3u8 #EXTINF:-1 tvg-id="WGNDT1.us",WGN-DT1 (720p) diff --git a/streams/us_samsung.m3u b/streams/us_samsung.m3u index b2f616ed9..d3ee5b96d 100644 --- a/streams/us_samsung.m3u +++ b/streams/us_samsung.m3u @@ -27,8 +27,6 @@ https://edgesport-rakuten-samsung.amagi.tv/playlist.m3u8 https://estrellanews-samsung-us.amagi.tv/playlist.m3u8 #EXTINF:-1 tvg-id="ESTV.us",ESTV (1080p) https://estv-rakuten-samsung.amagi.tv/playlist.m3u8 -#EXTINF:-1 tvg-id="FireplaceLounge.us",Fireplace Lounge (2160p) -https://d300k472vyqakg.cloudfront.net/v1/master/3722c60a815c199d9c0ef36c5b73da68a62b09d1/cc-aijrtvzii4xsm-ssai-prd/v1/channel/FIREPLACE_4K_2022/index.m3u8 #EXTINF:-1 tvg-id="LiveNOWfromFOX.us",FOX News Now (720p) https://fox-foxnewsnow-samsungus.amagi.tv/playlist.m3u8 #EXTINF:-1 tvg-id="FoxSoul.us",Fox Soul (1080p) diff --git a/streams/us_thetvapp.m3u b/streams/us_thetvapp.m3u new file mode 100644 index 000000000..bd4a14116 --- /dev/null +++ b/streams/us_thetvapp.m3u @@ -0,0 +1,103 @@ +#EXTM3U +#EXTINF:-1 tvg-id="AEEast.us",A&E East +https://v1.thetvapp.to/hls/AEEast/index.m3u8 +#EXTINF:-1 tvg-id="CSPAN.us",C-SPAN +https://v1.thetvapp.to/hls/CSPAN/index.m3u8 +#EXTINF:-1 tvg-id="CSPAN2.us",C-SPAN 2 +https://v1.thetvapp.to/hls/CSPAN2/index.m3u8 +#EXTINF:-1 tvg-id="CNBC.us",CNBC +https://v1.thetvapp.to/hls/CNBC/index.m3u8 +#EXTINF:-1 tvg-id="CrimePlusInvestigation.us",Crime + Investigation +https://v1.thetvapp.to/hls/CrimePlusInvestigation/index.m3u8 +#EXTINF:-1 tvg-id="DisneyChannelEast.us",Disney Channel East +https://v1.thetvapp.to/hls/DisneyChannelEast/index.m3u8 +#EXTINF:-1 tvg-id="DisneyJuniorEast.us",Disney Junior East +https://v1.thetvapp.to/hls/DisneyJuniorEast/index.m3u8 +#EXTINF:-1 tvg-id="DisneyXDEast.us",Disney XD East +https://v1.thetvapp.to/hls/DisneyXDEast/index.m3u8 +#EXTINF:-1 tvg-id="EEast.us",E! East +https://v1.thetvapp.to/hls/EEast/index.m3u8 +#EXTINF:-1 tvg-id="FoxBusinessNetwork.us",Fox Business Network +https://v1.thetvapp.to/hls/FoxBusiness/index.m3u8 +#EXTINF:-1 tvg-id="FoxNewsChannel.us",Fox News Channel +https://v1.thetvapp.to/hls/FoxNewsChannel/index.m3u8 +#EXTINF:-1 tvg-id="FoxSports2.us",Fox Sports 2 +https://v1.thetvapp.to/hls/FoxSports2/index.m3u8 +#EXTINF:-1 tvg-id="FuseEast.us",Fuse East +https://v1.thetvapp.to/hls/FuseEast/index.m3u8 +#EXTINF:-1 tvg-id="FXEast.us",FX East +https://v1.thetvapp.to/hls/FXEast/index.m3u8 +#EXTINF:-1 tvg-id="FXMovieChannel.us",FX Movie Channel +https://v1.thetvapp.to/hls/FXMovieChannel/index.m3u8 +#EXTINF:-1 tvg-id="FXXEast.us",FXX East +https://v1.thetvapp.to/hls/FXXEast/index.m3u8 +#EXTINF:-1 tvg-id="FYIEast.us",FYI East +https://v1.thetvapp.to/hls/FYIEast/index.m3u8 +#EXTINF:-1 tvg-id="GolfChannel.us",Golf Channel +https://v1.thetvapp.to/hls/GolfChannel/index.m3u8 +#EXTINF:-1 tvg-id="HallmarkDrama.us",Hallmark Drama +https://v1.thetvapp.to/hls/HallmarkDrama/index.m3u8 +#EXTINF:-1 tvg-id="HallmarkMoviesMysteriesEast.us",Hallmark Movies & Mysteries East +https://v1.thetvapp.to/hls/HallmarkMoviesMysteriesEast/index.m3u8 +#EXTINF:-1 tvg-id="IFCEast.us",IFC East +https://v1.thetvapp.to/hls/IFCEast/index.m3u8 +#EXTINF:-1 tvg-id="KABCDT1.us",KABC-DT1 +https://v1.thetvapp.to/hls/abc-kabc-los-angeles-ca/index.m3u8 +#EXTINF:-1 tvg-id="KCBSDT1.us",KCBS-DT1 +https://v1.thetvapp.to/hls/cbs-kcbs-los-angeles-ca/index.m3u8 +#EXTINF:-1 tvg-id="KFMBDT2.us",KFMB-DT2 +https://v1.thetvapp.to/hls/cw-kfmbtv2-san-diego-ca/index.m3u8 +#EXTINF:-1 tvg-id="KNBCDT1.us",KNBC-DT1 +https://v1.thetvapp.to/hls/nbc-knbc-los-angeles-ca/index.m3u8 +#EXTINF:-1 tvg-id="KTTVDT1.us",KTTV-DT1 +https://v1.thetvapp.to/hls/fox-kttv-los-angeles-ca/index.m3u8 +#EXTINF:-1 tvg-id="LifetimeMoviesEast.us",Lifetime Movies East +https://v1.thetvapp.to/hls/LifetimeMoviesEast/index.m3u8 +#EXTINF:-1 tvg-id="LogoEast.us",Logo East +https://v1.thetvapp.to/hls/LogoEast/index.m3u8 +#EXTINF:-1 tvg-id="MarqueeSportsNetwork.us",Marquee Sports Network +https://v1.thetvapp.to/hls/marquee-sports-network/index.m3u8 +#EXTINF:-1 tvg-id="MSG.us",MSG +https://v1.thetvapp.to/hls/msg-madison-square-gardens/index.m3u8 +#EXTINF:-1 tvg-id="MSNBC.us",MSNBC +https://v1.thetvapp.to/hls/MSNBC/index.m3u8 +#EXTINF:-1 tvg-id="NationalGeographicindex.m3u8East.us",National Geographic index.m3u8 East +https://v1.thetvapp.to/hls/NationalGeographicEast/index.m3u8 +#EXTINF:-1 tvg-id="NationalGeographicWildindex.m3u8East.us",National Geographic Wild index.m3u8 East +https://v1.thetvapp.to/hls/NationalGeographicWildEast/index.m3u8 +#EXTINF:-1 tvg-id="NBATV.us",NBA TV +https://v1.thetvapp.to/hls/NBATV/index.m3u8 +#EXTINF:-1 tvg-id="NBCSportsBayArea.us",NBC Sports Bay Area +https://v1.thetvapp.to/hls/nbc-sports-bay-area/index.m3u8 +#EXTINF:-1 tvg-id="NBCSportsBoston.us",NBC Sports Boston +https://v1.thetvapp.to/hls/nbc-sports-boston/index.m3u8 +#EXTINF:-1 tvg-id="NBCSportsPhiladelphia.us",NBC Sports Philadelphia +https://v1.thetvapp.to/hls/nbc-sports-philadelphia/index.m3u8 +#EXTINF:-1 tvg-id="NewsmaxTV.us",Newsmax TV +https://v1.thetvapp.to/hls/NewsmaxTV/index.m3u8 +#EXTINF:-1 tvg-id="NFLRedZone.us",NFL RedZone +https://v1.thetvapp.to/hls/NFLRedZone/index.m3u8 +#EXTINF:-1 tvg-id="StarzEast.us",Starz East +https://v1.thetvapp.to/hls/StarzEast/index.m3u8 +#EXTINF:-1 tvg-id="TSN1.ca",TSN1 +https://v1.thetvapp.to/hls/tsn1/index.m3u8 +#EXTINF:-1 tvg-id="TSN2.ca",TSN2 +https://v1.thetvapp.to/hls/tsn2/index.m3u8 +#EXTINF:-1 tvg-id="TSN3.ca",TSN3 +https://v1.thetvapp.to/hls/tsn3/index.m3u8 +#EXTINF:-1 tvg-id="TSN4.ca",TSN4 +https://v1.thetvapp.to/hls/tsn4/index.m3u8 +#EXTINF:-1 tvg-id="TSN5.ca",TSN5 +https://v1.thetvapp.to/hls/tsn5/index.m3u8 +#EXTINF:-1 tvg-id="USANetworkEast.us",USA Network East +https://v1.thetvapp.to/hls/USANetworkEast/index.m3u8 +#EXTINF:-1 tvg-id="WABCDT1.us",WABC-DT1 +https://v1.thetvapp.to/hls/WABCDT1/index.m3u8 +#EXTINF:-1 tvg-id="WNBCDT1.us",WNBC-DT1 +https://v1.thetvapp.to/hls/WNBCDT1/index.m3u8 +#EXTINF:-1 tvg-id="WNETDT1.us",WNET-DT1 +https://v1.thetvapp.to/hls/WNET/index.m3u8 +#EXTINF:-1 tvg-id="WNJUDT1.us",WNJU-DT1 +https://v1.thetvapp.to/hls/TelemundoEast/index.m3u8 +#EXTINF:-1 tvg-id="WNYWDT1.us",WNYW-DT1 +https://v1.thetvapp.to/hls/WNYWDT1/index.m3u8 diff --git a/streams/ve.m3u b/streams/ve.m3u index 78ab49b20..20da61d9a 100644 --- a/streams/ve.m3u +++ b/streams/ve.m3u @@ -25,6 +25,8 @@ https://cloud.fastchannel.es/manifiest/hls/prog9/catatumbotv.m3u8 https://glb.bozztv.com/glb/ssh101/1234chivacoa/index.m3u8 #EXTINF:-1 tvg-id="EXCTV.ve",Explosiรณn Creativa (720p) [Not 24/7] https://vcp.myplaytv.com/explosioncreativa/explosioncreativa/playlist.m3u8 +#EXTINF:-1 tvg-id="",GlobalTV (480p) +https://streamtv.intervenhosting.net:3179/live/globaltvlive.m3u8 #EXTINF:-1 tvg-id="GuaroTV.ve",Guaro TV (1080p) https://streamtv.intervenhosting.net:3592/live/guarotvbqtolive.m3u8 #EXTINF:-1 tvg-id="InterTV.ve",interTV (1080p) @@ -115,5 +117,3 @@ https://vod2live.univtec.com/manifest/4c41c0d8-e2e4-43cc-bd43-79afe715e1b3.m3u8 https://cloud.fastchannel.es/manifiest/hls/prog9/vepacotv.m3u8 #EXTINF:-1 tvg-id="VPItv.ve",VPItv (1080p) https://ott3.streann.com/loadbalancer/services/public/channels/5d23d5882cdce61dae029fd8/playlist.m3u8 -#EXTINF:-1 tvg-id="GlobalTV.ve",GlobalTV (480p) -https://streamtv.intervenhosting.net:3179/live/globaltvlive.m3u8 diff --git a/streams/vg.m3u b/streams/vg.m3u index a14734a32..e4daa41b5 100644 --- a/streams/vg.m3u +++ b/streams/vg.m3u @@ -1,3 +1,5 @@ #EXTM3U +#EXTINF:-1 tvg-id="CBNGospel.vg",CBN Gospel (720p) +https://59d39900ebfb8.streamlock.net/ccbn/ccbn/playlist.m3u8 #EXTINF:-1 tvg-id="CBNTV.vg",CBN TV (720p) https://5790d294af2dc.streamlock.net/CBNVI/CBNVI/playlist.m3u8 diff --git a/streams/vn.m3u b/streams/vn.m3u index 8ba1cf99e..a80dfd95d 100644 --- a/streams/vn.m3u +++ b/streams/vn.m3u @@ -1,6 +1,6 @@ #EXTM3U -#EXTINF:-1 tvg-id="AnNinhTV.vn",ANTV (1080p) -https://liveh34.vtvcab.vn/hls/ONANTV_CL/04.m3u8 +#EXTINF:-1 tvg-id="AnNinhTV.vn",ANTV (480p) +https://ott1.nethubtv.vn/live/antv/playlist.m3u8 #EXTINF:-1 tvg-id="BacKanTV.vn",Bac Kan TV (406p) http://123.31.36.68/live.m3u8?c=vstv360&deviceId=&deviceType=&gcId=1532&location=NA&pkg=pkg11.hni&q=high&requestTime=1586309420781&time=1586395820&token=LX-ibJYRUq9pflRtYAxfYQ&type=tv&userId= #EXTINF:-1 tvg-id="BacLieuTV.vn",Bac Lieu TV (1080p) @@ -51,6 +51,8 @@ https://livefta.malimarcdn.com/ftaedge00/cvabroadcasting.stream/playlist.m3u8 https://vc.101vn.com/htv/htvcmb.php?id=2631 #EXTINF:-1 tvg-id="HTV7.vn",HTV7 (576p) http://125hvt.ddns.net:21585/htv7/tracks-v1a1/mono.m3u8 +#EXTINF:-1 tvg-id="HTV9.vn",HTV9 (576p) +http://125hvt.ddns.net:21585/htv9/index.m3u8 #EXTINF:-1 tvg-id="KhanhHoaTV.vn",Khanh Hoa TV (720p) http://210.245.20.94/hls/ktv1.m3u8 #EXTINF:-1 tvg-id="KienGiangTV.vn",KienGiangTV (1080p) [Geo-blocked] @@ -73,8 +75,6 @@ https://livefta.malimarcdn.com/ftaedge00/laonet.sdp/playlist.m3u8 https://livefta.malimarcdn.com/ftaedge00/laosvtv.stream/playlist.m3u8 #EXTINF:-1 tvg-id="KDOCDT7.us",Little Saigon TV (720p) https://media.streambrothers.com:1936/8228/8228/playlist.m3u8 -#EXTINF:-1 tvg-id="NhanDanTV.vn",Nhan Dan TV (720p) -https://video.nhandan.thienvietjsc.net/live/nhandan720/playlist.m3u8 #EXTINF:-1 tvg-id="NingTV.la",Ning TV (720p) https://livefta.malimarcdn.com/ftaedge00/ningtv.sdp/playlist.m3u8 #EXTINF:-1 tvg-id="NinhThuanTV.vn",Ninh Thuan TV (720p) @@ -83,8 +83,6 @@ https://60acee235f4d5.streamlock.net/live/mystream/playlist.m3u8 http://113.161.4.48:8080/phuyen/tv/index.m3u8 #EXTINF:-1 tvg-id="PNTV.us",PNTV (720p) https://livefta.malimarcdn.com/ftaedge00/pntv.sdp/playlist.m3u8 -#EXTINF:-1 tvg-id="QPVN.vn",QPVN (720p) -http://27.76.137.122:1935/standard/smil:standard.smil/playlist.m3u8 #EXTINF:-1 tvg-id="QuangNgaiTV.vn",Quang Ngai TV (720p) http://118.107.85.5:1935/live/smil:PTQ.smil/playlist.m3u8 #EXTINF:-1 tvg-id="SETTV.us",SET TV 1 (1080p) @@ -115,25 +113,17 @@ http://125hvt.ddns.net:21585/thvl1/tracks-v1a1/mono.m3u8 http://vinhphuctv.vn:8090/vinhphuclive/web.stream/playlist.m3u8 #EXTINF:-1 tvg-id="VTV1.vn",VTV1 (576p) http://125hvt.ddns.net:21585/vtv1/tracks-v1a1/mono.m3u8 -#EXTINF:-1 tvg-id="VTV2.vn",VTV2 (1080p) -http://str1.cvtv.xyz/vtv2?token=live +#EXTINF:-1 tvg-id="VTV2.vn",VTV2 (1080p) [Geo-blocked] +https://live.fptplay53.net/fnxch2/vtv2hd_abr.smil/chunklist.m3u8 +#EXTINF:-1 tvg-id="VTV3.vn",VTV3 (1080p) [Geo-blocked] +https://live.fptplay53.net/fnxch2/vtv3hd_abr.smil/chunklist.m3u8 #EXTINF:-1 tvg-id="VTV4.vn",VTV4 (576p) http://125hvt.ddns.net:21585/vtv4/tracks-v1a1/mono.m3u8 #EXTINF:-1 tvg-id="VTV5.vn",VTV5 http://125hvt.ddns.net:21585/vtv5/tracks-v1a1/mono.m3u8 -#EXTINF:-1 tvg-id="VTV5TayNamBo.vn",VTV5 (1080p) -http://103.47.194.152/VTV5TNB/mpegts -#EXTINF:-1 tvg-id="VTV5.vn",VTV5 (1080p) -https://liveh12.vtvcab.vn/hls/ONVTV5_CL/04.m3u8 -#EXTINF:-1 tvg-id="VTV5TayNamBo.vn",VTV5 Tรขy Nam Bแป™ (1080p) -https://liveh12.vtvcab.vn/hls/ONVTV5TNB_CL/04.m3u8 -#EXTINF:-1 tvg-id="VTV9.vn",VTV9 (1080p) -https://e2.endpoint.cdn.sctvonline.vn/hls/vtv9/index.m3u8 -#EXTINF:-1 tvg-id="VTVCanTho.vn",VTV Can Tho (720p) -http://125hvt.ddns.net:21585/vtv6/playlist.m3u8 #EXTINF:-1 tvg-id="VTV9.vn",VTV9 (576p) http://125hvt.ddns.net:21585/vtv9/tracks-v1a1/mono.m3u8 -#EXTINF:-1 tvg-id="VTV3.vn",VTV3 (1080p) [Geo-blocked] -https://live.fptplay53.net/fnxch2/vtv3hd_abr.smil/chunklist_b4200000.m3u8 -#EXTINF:-1 tvg-id="HTV9.vn",HTV9 (576p) -http://125hvt.ddns.net:21585/htv9/index.m3u8 +#EXTINF:-1 tvg-id="VTVCanTho.vn",VTV Can Tho (720p) +http://125hvt.ddns.net:21585/vtv6/playlist.m3u8 +#EXTINF:-1 tvg-id="QPVN.vn",QPVN (480p) +https://ott1.nethubtv.vn/live/qpvn/playlist.m3u8 diff --git a/tests/__data__/expected/.api/streams.json b/tests/__data__/expected/.api/streams.json deleted file mode 100644 index 2dfb3cd3e..000000000 --- a/tests/__data__/expected/.api/streams.json +++ /dev/null @@ -1 +0,0 @@ -[{"channel":null,"url":"http://51.15.246.58:8081/daawahtv/daawahtv2/playlist.m3u8","referrer":null,"user_agent":null},{"channel":null,"url":"http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index2.m3u8","referrer":"http://imn.iq","user_agent":"Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148"},{"channel":"AndorraTV.ad","url":"https://iptv-all.lanesh4d0w.repl.co/andorra/atv","referrer":null,"user_agent":null},{"channel":"BBCNews.uk","url":"http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index.m3u8","referrer":null,"user_agent":null},{"channel":"LDPRTV.ru","url":"http://46.46.143.222:1935/live/mp4:ldpr.stream/blocked.m3u8","referrer":null,"user_agent":null},{"channel":"MeteoMedia.ca","url":"http://encodercdn1.frontline.ca/encoder181/output/Meteo_Media_720p/playlist.m3u8","referrer":null,"user_agent":null},{"channel":"VisitXTV.nl","url":"https://stream.visit-x.tv/vxtv/ngrp:live_all/30fps.m3u8","referrer":null,"user_agent":null},{"channel":"Zoo.ad","url":"https://iptv-all.lanesh4d0w.repl.co/andorra/zoo","referrer":null,"user_agent":null}] \ No newline at end of file diff --git a/tests/__data__/expected/.gh-pages/categories/general.m3u b/tests/__data__/expected/.gh-pages/categories/general.m3u deleted file mode 100644 index d3b81a411..000000000 --- a/tests/__data__/expected/.gh-pages/categories/general.m3u +++ /dev/null @@ -1,5 +0,0 @@ -#EXTM3U -#EXTINF:-1 tvg-id="BBCNews.uk" tvg-logo="https://raw.githubusercontent.com/Tapiosinn/tv-logos/master/countries/united-kingdom/bbc-news-uk.png" group-title="General;News",BBC News HD -http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index.m3u8 -#EXTINF:-1 tvg-id="LDPRTV.ru" tvg-logo="https://iptvx.one/icn/ldpr-tv.png" group-title="General",ะ›ะ”ะŸะ  ะขะ’ (1080p) -http://46.46.143.222:1935/live/mp4:ldpr.stream/blocked.m3u8 diff --git a/tests/__data__/expected/.gh-pages/categories/legislative.m3u b/tests/__data__/expected/.gh-pages/categories/legislative.m3u deleted file mode 100644 index fcd718794..000000000 --- a/tests/__data__/expected/.gh-pages/categories/legislative.m3u +++ /dev/null @@ -1 +0,0 @@ -#EXTM3U diff --git a/tests/__data__/expected/.gh-pages/categories/news.m3u b/tests/__data__/expected/.gh-pages/categories/news.m3u deleted file mode 100644 index cf4e62a9a..000000000 --- a/tests/__data__/expected/.gh-pages/categories/news.m3u +++ /dev/null @@ -1,3 +0,0 @@ -#EXTM3U -#EXTINF:-1 tvg-id="BBCNews.uk" tvg-logo="https://raw.githubusercontent.com/Tapiosinn/tv-logos/master/countries/united-kingdom/bbc-news-uk.png" group-title="General;News",BBC News HD -http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index.m3u8 diff --git a/tests/__data__/expected/.gh-pages/categories/undefined.m3u b/tests/__data__/expected/.gh-pages/categories/undefined.m3u deleted file mode 100644 index 33ab86e59..000000000 --- a/tests/__data__/expected/.gh-pages/categories/undefined.m3u +++ /dev/null @@ -1,11 +0,0 @@ -#EXTM3U -#EXTINF:-1 tvg-id="" tvg-logo="" group-title="Undefined" http-referrer="http://imn.iq" 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",Andorra TV (720p) [Not 24/7] -#EXTVLCOPT:http-referrer=http://imn.iq -#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://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index2.m3u8 -#EXTINF:-1 tvg-id="AndorraTV.ad" tvg-logo="" group-title="Undefined",ATV -https://iptv-all.lanesh4d0w.repl.co/andorra/atv -#EXTINF:-1 tvg-id="" tvg-logo="" group-title="Undefined",Daawah TV -http://51.15.246.58:8081/daawahtv/daawahtv2/playlist.m3u8 -#EXTINF:-1 tvg-id="Zoo.ad" tvg-logo="" group-title="Undefined",Zoo (720p) -https://iptv-all.lanesh4d0w.repl.co/andorra/zoo diff --git a/tests/__data__/expected/.gh-pages/categories/weather.m3u b/tests/__data__/expected/.gh-pages/categories/weather.m3u deleted file mode 100644 index 4686c68f4..000000000 --- a/tests/__data__/expected/.gh-pages/categories/weather.m3u +++ /dev/null @@ -1,3 +0,0 @@ -#EXTM3U -#EXTINF:-1 tvg-id="MeteoMedia.ca" tvg-logo="https://s1.twnmm.com/images/en_ca/mobile/logos/twn-mobile-logo.png" group-title="Weather",Meteomedia -http://encodercdn1.frontline.ca/encoder181/output/Meteo_Media_720p/playlist.m3u8 diff --git a/tests/__data__/expected/.gh-pages/categories/xxx.m3u b/tests/__data__/expected/.gh-pages/categories/xxx.m3u deleted file mode 100644 index d1e3a69bc..000000000 --- a/tests/__data__/expected/.gh-pages/categories/xxx.m3u +++ /dev/null @@ -1,3 +0,0 @@ -#EXTM3U -#EXTINF:-1 tvg-id="VisitXTV.nl" tvg-logo="https://i.imgur.com/RJ9wbNF.jpg" group-title="XXX",Visit-X TV -https://stream.visit-x.tv/vxtv/ngrp:live_all/30fps.m3u8 diff --git a/tests/__data__/expected/.gh-pages/countries/ad.m3u b/tests/__data__/expected/.gh-pages/countries/ad.m3u deleted file mode 100644 index ea69856d8..000000000 --- a/tests/__data__/expected/.gh-pages/countries/ad.m3u +++ /dev/null @@ -1,5 +0,0 @@ -#EXTM3U -#EXTINF:-1 tvg-id="AndorraTV.ad" tvg-logo="" group-title="Undefined",ATV -https://iptv-all.lanesh4d0w.repl.co/andorra/atv -#EXTINF:-1 tvg-id="Zoo.ad" tvg-logo="" group-title="Undefined",Zoo (720p) -https://iptv-all.lanesh4d0w.repl.co/andorra/zoo diff --git a/tests/__data__/expected/.gh-pages/countries/ca.m3u b/tests/__data__/expected/.gh-pages/countries/ca.m3u deleted file mode 100644 index 4686c68f4..000000000 --- a/tests/__data__/expected/.gh-pages/countries/ca.m3u +++ /dev/null @@ -1,3 +0,0 @@ -#EXTM3U -#EXTINF:-1 tvg-id="MeteoMedia.ca" tvg-logo="https://s1.twnmm.com/images/en_ca/mobile/logos/twn-mobile-logo.png" group-title="Weather",Meteomedia -http://encodercdn1.frontline.ca/encoder181/output/Meteo_Media_720p/playlist.m3u8 diff --git a/tests/__data__/expected/.gh-pages/countries/in.m3u b/tests/__data__/expected/.gh-pages/countries/in.m3u deleted file mode 100644 index 4708e622d..000000000 --- a/tests/__data__/expected/.gh-pages/countries/in.m3u +++ /dev/null @@ -1,3 +0,0 @@ -#EXTM3U -#EXTINF:-1 tvg-id="" tvg-logo="" group-title="Undefined",Daawah TV -http://51.15.246.58:8081/daawahtv/daawahtv2/playlist.m3u8 diff --git a/tests/__data__/expected/.gh-pages/countries/ru.m3u b/tests/__data__/expected/.gh-pages/countries/ru.m3u deleted file mode 100644 index cbfde9249..000000000 --- a/tests/__data__/expected/.gh-pages/countries/ru.m3u +++ /dev/null @@ -1,3 +0,0 @@ -#EXTM3U -#EXTINF:-1 tvg-id="LDPRTV.ru" tvg-logo="https://iptvx.one/icn/ldpr-tv.png" group-title="General",ะ›ะ”ะŸะ  ะขะ’ (1080p) -http://46.46.143.222:1935/live/mp4:ldpr.stream/blocked.m3u8 diff --git a/tests/__data__/expected/.gh-pages/index.category.m3u b/tests/__data__/expected/.gh-pages/index.category.m3u deleted file mode 100644 index f63d34846..000000000 --- a/tests/__data__/expected/.gh-pages/index.category.m3u +++ /dev/null @@ -1,19 +0,0 @@ -#EXTM3U -#EXTINF:-1 tvg-id="BBCNews.uk" tvg-logo="https://raw.githubusercontent.com/Tapiosinn/tv-logos/master/countries/united-kingdom/bbc-news-uk.png" group-title="General",BBC News HD -http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index.m3u8 -#EXTINF:-1 tvg-id="LDPRTV.ru" tvg-logo="https://iptvx.one/icn/ldpr-tv.png" group-title="General",ะ›ะ”ะŸะ  ะขะ’ (1080p) -http://46.46.143.222:1935/live/mp4:ldpr.stream/blocked.m3u8 -#EXTINF:-1 tvg-id="BBCNews.uk" tvg-logo="https://raw.githubusercontent.com/Tapiosinn/tv-logos/master/countries/united-kingdom/bbc-news-uk.png" group-title="News",BBC News HD -http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index.m3u8 -#EXTINF:-1 tvg-id="MeteoMedia.ca" tvg-logo="https://s1.twnmm.com/images/en_ca/mobile/logos/twn-mobile-logo.png" group-title="Weather",Meteomedia -http://encodercdn1.frontline.ca/encoder181/output/Meteo_Media_720p/playlist.m3u8 -#EXTINF:-1 tvg-id="" tvg-logo="" group-title="Undefined" http-referrer="http://imn.iq" 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",Andorra TV (720p) [Not 24/7] -#EXTVLCOPT:http-referrer=http://imn.iq -#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://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index2.m3u8 -#EXTINF:-1 tvg-id="AndorraTV.ad" tvg-logo="" group-title="Undefined",ATV -https://iptv-all.lanesh4d0w.repl.co/andorra/atv -#EXTINF:-1 tvg-id="" tvg-logo="" group-title="Undefined",Daawah TV -http://51.15.246.58:8081/daawahtv/daawahtv2/playlist.m3u8 -#EXTINF:-1 tvg-id="Zoo.ad" tvg-logo="" group-title="Undefined",Zoo (720p) -https://iptv-all.lanesh4d0w.repl.co/andorra/zoo diff --git a/tests/__data__/expected/.gh-pages/index.country.m3u b/tests/__data__/expected/.gh-pages/index.country.m3u deleted file mode 100644 index 2df73910b..000000000 --- a/tests/__data__/expected/.gh-pages/index.country.m3u +++ /dev/null @@ -1,17 +0,0 @@ -#EXTM3U -#EXTINF:-1 tvg-id="AndorraTV.ad" tvg-logo="" group-title="Andorra",ATV -https://iptv-all.lanesh4d0w.repl.co/andorra/atv -#EXTINF:-1 tvg-id="Zoo.ad" tvg-logo="" group-title="Andorra",Zoo (720p) -https://iptv-all.lanesh4d0w.repl.co/andorra/zoo -#EXTINF:-1 tvg-id="MeteoMedia.ca" tvg-logo="https://s1.twnmm.com/images/en_ca/mobile/logos/twn-mobile-logo.png" group-title="Canada",Meteomedia -http://encodercdn1.frontline.ca/encoder181/output/Meteo_Media_720p/playlist.m3u8 -#EXTINF:-1 tvg-id="" tvg-logo="" group-title="India",Daawah TV -http://51.15.246.58:8081/daawahtv/daawahtv2/playlist.m3u8 -#EXTINF:-1 tvg-id="LDPRTV.ru" tvg-logo="https://iptvx.one/icn/ldpr-tv.png" group-title="Russia",ะ›ะ”ะŸะ  ะขะ’ (1080p) -http://46.46.143.222:1935/live/mp4:ldpr.stream/blocked.m3u8 -#EXTINF:-1 tvg-id="BBCNews.uk" tvg-logo="https://raw.githubusercontent.com/Tapiosinn/tv-logos/master/countries/united-kingdom/bbc-news-uk.png" group-title="International",BBC News HD -http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index.m3u8 -#EXTINF:-1 tvg-id="" tvg-logo="" group-title="Undefined" http-referrer="http://imn.iq" 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",Andorra TV (720p) [Not 24/7] -#EXTVLCOPT:http-referrer=http://imn.iq -#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://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index2.m3u8 diff --git a/tests/__data__/expected/.gh-pages/index.language.m3u b/tests/__data__/expected/.gh-pages/index.language.m3u deleted file mode 100644 index 94479bedb..000000000 --- a/tests/__data__/expected/.gh-pages/index.language.m3u +++ /dev/null @@ -1,17 +0,0 @@ -#EXTM3U -#EXTINF:-1 tvg-id="BBCNews.uk" tvg-logo="https://raw.githubusercontent.com/Tapiosinn/tv-logos/master/countries/united-kingdom/bbc-news-uk.png" group-title="English",BBC News HD -http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index.m3u8 -#EXTINF:-1 tvg-id="LDPRTV.ru" tvg-logo="https://iptvx.one/icn/ldpr-tv.png" group-title="Russian",ะ›ะ”ะŸะ  ะขะ’ (1080p) -http://46.46.143.222:1935/live/mp4:ldpr.stream/blocked.m3u8 -#EXTINF:-1 tvg-id="AndorraTV.ad" tvg-logo="" group-title="Valencian",ATV -https://iptv-all.lanesh4d0w.repl.co/andorra/atv -#EXTINF:-1 tvg-id="" tvg-logo="" group-title="Undefined" http-referrer="http://imn.iq" 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",Andorra TV (720p) [Not 24/7] -#EXTVLCOPT:http-referrer=http://imn.iq -#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://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index2.m3u8 -#EXTINF:-1 tvg-id="" tvg-logo="" group-title="Undefined",Daawah TV -http://51.15.246.58:8081/daawahtv/daawahtv2/playlist.m3u8 -#EXTINF:-1 tvg-id="MeteoMedia.ca" tvg-logo="https://s1.twnmm.com/images/en_ca/mobile/logos/twn-mobile-logo.png" group-title="Undefined",Meteomedia -http://encodercdn1.frontline.ca/encoder181/output/Meteo_Media_720p/playlist.m3u8 -#EXTINF:-1 tvg-id="Zoo.ad" tvg-logo="" group-title="Undefined",Zoo (720p) -https://iptv-all.lanesh4d0w.repl.co/andorra/zoo diff --git a/tests/__data__/expected/.gh-pages/index.m3u b/tests/__data__/expected/.gh-pages/index.m3u deleted file mode 100644 index 52b63d17a..000000000 --- a/tests/__data__/expected/.gh-pages/index.m3u +++ /dev/null @@ -1,17 +0,0 @@ -#EXTM3U -#EXTINF:-1 tvg-id="" tvg-logo="" group-title="Undefined" http-referrer="http://imn.iq" 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",Andorra TV (720p) [Not 24/7] -#EXTVLCOPT:http-referrer=http://imn.iq -#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://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index2.m3u8 -#EXTINF:-1 tvg-id="AndorraTV.ad" tvg-logo="" group-title="Undefined",ATV -https://iptv-all.lanesh4d0w.repl.co/andorra/atv -#EXTINF:-1 tvg-id="BBCNews.uk" tvg-logo="https://raw.githubusercontent.com/Tapiosinn/tv-logos/master/countries/united-kingdom/bbc-news-uk.png" group-title="General;News",BBC News HD -http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index.m3u8 -#EXTINF:-1 tvg-id="" tvg-logo="" group-title="Undefined",Daawah TV -http://51.15.246.58:8081/daawahtv/daawahtv2/playlist.m3u8 -#EXTINF:-1 tvg-id="MeteoMedia.ca" tvg-logo="https://s1.twnmm.com/images/en_ca/mobile/logos/twn-mobile-logo.png" group-title="Weather",Meteomedia -http://encodercdn1.frontline.ca/encoder181/output/Meteo_Media_720p/playlist.m3u8 -#EXTINF:-1 tvg-id="Zoo.ad" tvg-logo="" group-title="Undefined",Zoo (720p) -https://iptv-all.lanesh4d0w.repl.co/andorra/zoo -#EXTINF:-1 tvg-id="LDPRTV.ru" tvg-logo="https://iptvx.one/icn/ldpr-tv.png" group-title="General",ะ›ะ”ะŸะ  ะขะ’ (1080p) -http://46.46.143.222:1935/live/mp4:ldpr.stream/blocked.m3u8 diff --git a/tests/__data__/expected/.gh-pages/index.region.m3u b/tests/__data__/expected/.gh-pages/index.region.m3u deleted file mode 100644 index c1594ab58..000000000 --- a/tests/__data__/expected/.gh-pages/index.region.m3u +++ /dev/null @@ -1,45 +0,0 @@ -#EXTM3U -#EXTINF:-1 tvg-id="MeteoMedia.ca" tvg-logo="https://s1.twnmm.com/images/en_ca/mobile/logos/twn-mobile-logo.png" group-title="Americas",Meteomedia -http://encodercdn1.frontline.ca/encoder181/output/Meteo_Media_720p/playlist.m3u8 -#EXTINF:-1 tvg-id="" tvg-logo="" group-title="Asia",Daawah TV -http://51.15.246.58:8081/daawahtv/daawahtv2/playlist.m3u8 -#EXTINF:-1 tvg-id="LDPRTV.ru" tvg-logo="https://iptvx.one/icn/ldpr-tv.png" group-title="Asia",ะ›ะ”ะŸะ  ะขะ’ (1080p) -http://46.46.143.222:1935/live/mp4:ldpr.stream/blocked.m3u8 -#EXTINF:-1 tvg-id="" tvg-logo="" group-title="Asia-Pacific",Daawah TV -http://51.15.246.58:8081/daawahtv/daawahtv2/playlist.m3u8 -#EXTINF:-1 tvg-id="LDPRTV.ru" tvg-logo="https://iptvx.one/icn/ldpr-tv.png" group-title="Commonwealth of Independent States",ะ›ะ”ะŸะ  ะขะ’ (1080p) -http://46.46.143.222:1935/live/mp4:ldpr.stream/blocked.m3u8 -#EXTINF:-1 tvg-id="AndorraTV.ad" tvg-logo="" group-title="Europe",ATV -https://iptv-all.lanesh4d0w.repl.co/andorra/atv -#EXTINF:-1 tvg-id="Zoo.ad" tvg-logo="" group-title="Europe",Zoo (720p) -https://iptv-all.lanesh4d0w.repl.co/andorra/zoo -#EXTINF:-1 tvg-id="LDPRTV.ru" tvg-logo="https://iptvx.one/icn/ldpr-tv.png" group-title="Europe",ะ›ะ”ะŸะ  ะขะ’ (1080p) -http://46.46.143.222:1935/live/mp4:ldpr.stream/blocked.m3u8 -#EXTINF:-1 tvg-id="AndorraTV.ad" tvg-logo="" group-title="Europe, the Middle East and Africa",ATV -https://iptv-all.lanesh4d0w.repl.co/andorra/atv -#EXTINF:-1 tvg-id="Zoo.ad" tvg-logo="" group-title="Europe, the Middle East and Africa",Zoo (720p) -https://iptv-all.lanesh4d0w.repl.co/andorra/zoo -#EXTINF:-1 tvg-id="LDPRTV.ru" tvg-logo="https://iptvx.one/icn/ldpr-tv.png" group-title="Europe, the Middle East and Africa",ะ›ะ”ะŸะ  ะขะ’ (1080p) -http://46.46.143.222:1935/live/mp4:ldpr.stream/blocked.m3u8 -#EXTINF:-1 tvg-id="MeteoMedia.ca" tvg-logo="https://s1.twnmm.com/images/en_ca/mobile/logos/twn-mobile-logo.png" group-title="North America",Meteomedia -http://encodercdn1.frontline.ca/encoder181/output/Meteo_Media_720p/playlist.m3u8 -#EXTINF:-1 tvg-id="MeteoMedia.ca" tvg-logo="https://s1.twnmm.com/images/en_ca/mobile/logos/twn-mobile-logo.png" group-title="Northern America",Meteomedia -http://encodercdn1.frontline.ca/encoder181/output/Meteo_Media_720p/playlist.m3u8 -#EXTINF:-1 tvg-id="" tvg-logo="" group-title="South Asia",Daawah TV -http://51.15.246.58:8081/daawahtv/daawahtv2/playlist.m3u8 -#EXTINF:-1 tvg-id="AndorraTV.ad" tvg-logo="" group-title="Worldwide",ATV -https://iptv-all.lanesh4d0w.repl.co/andorra/atv -#EXTINF:-1 tvg-id="BBCNews.uk" tvg-logo="https://raw.githubusercontent.com/Tapiosinn/tv-logos/master/countries/united-kingdom/bbc-news-uk.png" group-title="Worldwide",BBC News HD -http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index.m3u8 -#EXTINF:-1 tvg-id="" tvg-logo="" group-title="Worldwide",Daawah TV -http://51.15.246.58:8081/daawahtv/daawahtv2/playlist.m3u8 -#EXTINF:-1 tvg-id="MeteoMedia.ca" tvg-logo="https://s1.twnmm.com/images/en_ca/mobile/logos/twn-mobile-logo.png" group-title="Worldwide",Meteomedia -http://encodercdn1.frontline.ca/encoder181/output/Meteo_Media_720p/playlist.m3u8 -#EXTINF:-1 tvg-id="Zoo.ad" tvg-logo="" group-title="Worldwide",Zoo (720p) -https://iptv-all.lanesh4d0w.repl.co/andorra/zoo -#EXTINF:-1 tvg-id="LDPRTV.ru" tvg-logo="https://iptvx.one/icn/ldpr-tv.png" group-title="Worldwide",ะ›ะ”ะŸะ  ะขะ’ (1080p) -http://46.46.143.222:1935/live/mp4:ldpr.stream/blocked.m3u8 -#EXTINF:-1 tvg-id="" tvg-logo="" group-title="Undefined" http-referrer="http://imn.iq" 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",Andorra TV (720p) [Not 24/7] -#EXTVLCOPT:http-referrer=http://imn.iq -#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://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index2.m3u8 diff --git a/tests/__data__/expected/.gh-pages/languages/eng.m3u b/tests/__data__/expected/.gh-pages/languages/eng.m3u deleted file mode 100644 index cf4e62a9a..000000000 --- a/tests/__data__/expected/.gh-pages/languages/eng.m3u +++ /dev/null @@ -1,3 +0,0 @@ -#EXTM3U -#EXTINF:-1 tvg-id="BBCNews.uk" tvg-logo="https://raw.githubusercontent.com/Tapiosinn/tv-logos/master/countries/united-kingdom/bbc-news-uk.png" group-title="General;News",BBC News HD -http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index.m3u8 diff --git a/tests/__data__/expected/.gh-pages/languages/rus.m3u b/tests/__data__/expected/.gh-pages/languages/rus.m3u deleted file mode 100644 index cbfde9249..000000000 --- a/tests/__data__/expected/.gh-pages/languages/rus.m3u +++ /dev/null @@ -1,3 +0,0 @@ -#EXTM3U -#EXTINF:-1 tvg-id="LDPRTV.ru" tvg-logo="https://iptvx.one/icn/ldpr-tv.png" group-title="General",ะ›ะ”ะŸะ  ะขะ’ (1080p) -http://46.46.143.222:1935/live/mp4:ldpr.stream/blocked.m3u8 diff --git a/tests/__data__/expected/.gh-pages/languages/undefined.m3u b/tests/__data__/expected/.gh-pages/languages/undefined.m3u deleted file mode 100644 index 7267ae5e1..000000000 --- a/tests/__data__/expected/.gh-pages/languages/undefined.m3u +++ /dev/null @@ -1,11 +0,0 @@ -#EXTM3U -#EXTINF:-1 tvg-id="" tvg-logo="" group-title="Undefined" http-referrer="http://imn.iq" 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",Andorra TV (720p) [Not 24/7] -#EXTVLCOPT:http-referrer=http://imn.iq -#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://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index2.m3u8 -#EXTINF:-1 tvg-id="" tvg-logo="" group-title="Undefined",Daawah TV -http://51.15.246.58:8081/daawahtv/daawahtv2/playlist.m3u8 -#EXTINF:-1 tvg-id="MeteoMedia.ca" tvg-logo="https://s1.twnmm.com/images/en_ca/mobile/logos/twn-mobile-logo.png" group-title="Weather",Meteomedia -http://encodercdn1.frontline.ca/encoder181/output/Meteo_Media_720p/playlist.m3u8 -#EXTINF:-1 tvg-id="Zoo.ad" tvg-logo="" group-title="Undefined",Zoo (720p) -https://iptv-all.lanesh4d0w.repl.co/andorra/zoo diff --git a/tests/__data__/expected/.gh-pages/regions/afr.m3u b/tests/__data__/expected/.gh-pages/regions/afr.m3u deleted file mode 100644 index fcd718794..000000000 --- a/tests/__data__/expected/.gh-pages/regions/afr.m3u +++ /dev/null @@ -1 +0,0 @@ -#EXTM3U diff --git a/tests/__data__/expected/.gh-pages/regions/amer.m3u b/tests/__data__/expected/.gh-pages/regions/amer.m3u deleted file mode 100644 index 4686c68f4..000000000 --- a/tests/__data__/expected/.gh-pages/regions/amer.m3u +++ /dev/null @@ -1,3 +0,0 @@ -#EXTM3U -#EXTINF:-1 tvg-id="MeteoMedia.ca" tvg-logo="https://s1.twnmm.com/images/en_ca/mobile/logos/twn-mobile-logo.png" group-title="Weather",Meteomedia -http://encodercdn1.frontline.ca/encoder181/output/Meteo_Media_720p/playlist.m3u8 diff --git a/tests/__data__/expected/.gh-pages/regions/apac.m3u b/tests/__data__/expected/.gh-pages/regions/apac.m3u deleted file mode 100644 index 4708e622d..000000000 --- a/tests/__data__/expected/.gh-pages/regions/apac.m3u +++ /dev/null @@ -1,3 +0,0 @@ -#EXTM3U -#EXTINF:-1 tvg-id="" tvg-logo="" group-title="Undefined",Daawah TV -http://51.15.246.58:8081/daawahtv/daawahtv2/playlist.m3u8 diff --git a/tests/__data__/expected/.gh-pages/regions/arab.m3u b/tests/__data__/expected/.gh-pages/regions/arab.m3u deleted file mode 100644 index fcd718794..000000000 --- a/tests/__data__/expected/.gh-pages/regions/arab.m3u +++ /dev/null @@ -1 +0,0 @@ -#EXTM3U diff --git a/tests/__data__/expected/.gh-pages/regions/asia.m3u b/tests/__data__/expected/.gh-pages/regions/asia.m3u deleted file mode 100644 index 27e5170bd..000000000 --- a/tests/__data__/expected/.gh-pages/regions/asia.m3u +++ /dev/null @@ -1,5 +0,0 @@ -#EXTM3U -#EXTINF:-1 tvg-id="" tvg-logo="" group-title="Undefined",Daawah TV -http://51.15.246.58:8081/daawahtv/daawahtv2/playlist.m3u8 -#EXTINF:-1 tvg-id="LDPRTV.ru" tvg-logo="https://iptvx.one/icn/ldpr-tv.png" group-title="General",ะ›ะ”ะŸะ  ะขะ’ (1080p) -http://46.46.143.222:1935/live/mp4:ldpr.stream/blocked.m3u8 diff --git a/tests/__data__/expected/.gh-pages/regions/carib.m3u b/tests/__data__/expected/.gh-pages/regions/carib.m3u deleted file mode 100644 index fcd718794..000000000 --- a/tests/__data__/expected/.gh-pages/regions/carib.m3u +++ /dev/null @@ -1 +0,0 @@ -#EXTM3U diff --git a/tests/__data__/expected/.gh-pages/regions/cas.m3u b/tests/__data__/expected/.gh-pages/regions/cas.m3u deleted file mode 100644 index fcd718794..000000000 --- a/tests/__data__/expected/.gh-pages/regions/cas.m3u +++ /dev/null @@ -1 +0,0 @@ -#EXTM3U diff --git a/tests/__data__/expected/.gh-pages/regions/cis.m3u b/tests/__data__/expected/.gh-pages/regions/cis.m3u deleted file mode 100644 index cbfde9249..000000000 --- a/tests/__data__/expected/.gh-pages/regions/cis.m3u +++ /dev/null @@ -1,3 +0,0 @@ -#EXTM3U -#EXTINF:-1 tvg-id="LDPRTV.ru" tvg-logo="https://iptvx.one/icn/ldpr-tv.png" group-title="General",ะ›ะ”ะŸะ  ะขะ’ (1080p) -http://46.46.143.222:1935/live/mp4:ldpr.stream/blocked.m3u8 diff --git a/tests/__data__/expected/.gh-pages/regions/emea.m3u b/tests/__data__/expected/.gh-pages/regions/emea.m3u deleted file mode 100644 index 6b40ee03c..000000000 --- a/tests/__data__/expected/.gh-pages/regions/emea.m3u +++ /dev/null @@ -1,7 +0,0 @@ -#EXTM3U -#EXTINF:-1 tvg-id="AndorraTV.ad" tvg-logo="" group-title="Undefined",ATV -https://iptv-all.lanesh4d0w.repl.co/andorra/atv -#EXTINF:-1 tvg-id="Zoo.ad" tvg-logo="" group-title="Undefined",Zoo (720p) -https://iptv-all.lanesh4d0w.repl.co/andorra/zoo -#EXTINF:-1 tvg-id="LDPRTV.ru" tvg-logo="https://iptvx.one/icn/ldpr-tv.png" group-title="General",ะ›ะ”ะŸะ  ะขะ’ (1080p) -http://46.46.143.222:1935/live/mp4:ldpr.stream/blocked.m3u8 diff --git a/tests/__data__/expected/.gh-pages/regions/eur.m3u b/tests/__data__/expected/.gh-pages/regions/eur.m3u deleted file mode 100644 index 6b40ee03c..000000000 --- a/tests/__data__/expected/.gh-pages/regions/eur.m3u +++ /dev/null @@ -1,7 +0,0 @@ -#EXTM3U -#EXTINF:-1 tvg-id="AndorraTV.ad" tvg-logo="" group-title="Undefined",ATV -https://iptv-all.lanesh4d0w.repl.co/andorra/atv -#EXTINF:-1 tvg-id="Zoo.ad" tvg-logo="" group-title="Undefined",Zoo (720p) -https://iptv-all.lanesh4d0w.repl.co/andorra/zoo -#EXTINF:-1 tvg-id="LDPRTV.ru" tvg-logo="https://iptvx.one/icn/ldpr-tv.png" group-title="General",ะ›ะ”ะŸะ  ะขะ’ (1080p) -http://46.46.143.222:1935/live/mp4:ldpr.stream/blocked.m3u8 diff --git a/tests/__data__/expected/.gh-pages/regions/hispam.m3u b/tests/__data__/expected/.gh-pages/regions/hispam.m3u deleted file mode 100644 index fcd718794..000000000 --- a/tests/__data__/expected/.gh-pages/regions/hispam.m3u +++ /dev/null @@ -1 +0,0 @@ -#EXTM3U diff --git a/tests/__data__/expected/.gh-pages/regions/lac.m3u b/tests/__data__/expected/.gh-pages/regions/lac.m3u deleted file mode 100644 index fcd718794..000000000 --- a/tests/__data__/expected/.gh-pages/regions/lac.m3u +++ /dev/null @@ -1 +0,0 @@ -#EXTM3U diff --git a/tests/__data__/expected/.gh-pages/regions/latam.m3u b/tests/__data__/expected/.gh-pages/regions/latam.m3u deleted file mode 100644 index fcd718794..000000000 --- a/tests/__data__/expected/.gh-pages/regions/latam.m3u +++ /dev/null @@ -1 +0,0 @@ -#EXTM3U diff --git a/tests/__data__/expected/.gh-pages/regions/maghreb.m3u b/tests/__data__/expected/.gh-pages/regions/maghreb.m3u deleted file mode 100644 index fcd718794..000000000 --- a/tests/__data__/expected/.gh-pages/regions/maghreb.m3u +++ /dev/null @@ -1 +0,0 @@ -#EXTM3U diff --git a/tests/__data__/expected/.gh-pages/regions/mena.m3u b/tests/__data__/expected/.gh-pages/regions/mena.m3u deleted file mode 100644 index fcd718794..000000000 --- a/tests/__data__/expected/.gh-pages/regions/mena.m3u +++ /dev/null @@ -1 +0,0 @@ -#EXTM3U diff --git a/tests/__data__/expected/.gh-pages/regions/mideast.m3u b/tests/__data__/expected/.gh-pages/regions/mideast.m3u deleted file mode 100644 index fcd718794..000000000 --- a/tests/__data__/expected/.gh-pages/regions/mideast.m3u +++ /dev/null @@ -1 +0,0 @@ -#EXTM3U diff --git a/tests/__data__/expected/.gh-pages/regions/nam.m3u b/tests/__data__/expected/.gh-pages/regions/nam.m3u deleted file mode 100644 index 4686c68f4..000000000 --- a/tests/__data__/expected/.gh-pages/regions/nam.m3u +++ /dev/null @@ -1,3 +0,0 @@ -#EXTM3U -#EXTINF:-1 tvg-id="MeteoMedia.ca" tvg-logo="https://s1.twnmm.com/images/en_ca/mobile/logos/twn-mobile-logo.png" group-title="Weather",Meteomedia -http://encodercdn1.frontline.ca/encoder181/output/Meteo_Media_720p/playlist.m3u8 diff --git a/tests/__data__/expected/.gh-pages/regions/noram.m3u b/tests/__data__/expected/.gh-pages/regions/noram.m3u deleted file mode 100644 index 4686c68f4..000000000 --- a/tests/__data__/expected/.gh-pages/regions/noram.m3u +++ /dev/null @@ -1,3 +0,0 @@ -#EXTM3U -#EXTINF:-1 tvg-id="MeteoMedia.ca" tvg-logo="https://s1.twnmm.com/images/en_ca/mobile/logos/twn-mobile-logo.png" group-title="Weather",Meteomedia -http://encodercdn1.frontline.ca/encoder181/output/Meteo_Media_720p/playlist.m3u8 diff --git a/tests/__data__/expected/.gh-pages/regions/nord.m3u b/tests/__data__/expected/.gh-pages/regions/nord.m3u deleted file mode 100644 index fcd718794..000000000 --- a/tests/__data__/expected/.gh-pages/regions/nord.m3u +++ /dev/null @@ -1 +0,0 @@ -#EXTM3U diff --git a/tests/__data__/expected/.gh-pages/regions/oce.m3u b/tests/__data__/expected/.gh-pages/regions/oce.m3u deleted file mode 100644 index fcd718794..000000000 --- a/tests/__data__/expected/.gh-pages/regions/oce.m3u +++ /dev/null @@ -1 +0,0 @@ -#EXTM3U diff --git a/tests/__data__/expected/.gh-pages/regions/sas.m3u b/tests/__data__/expected/.gh-pages/regions/sas.m3u deleted file mode 100644 index 4708e622d..000000000 --- a/tests/__data__/expected/.gh-pages/regions/sas.m3u +++ /dev/null @@ -1,3 +0,0 @@ -#EXTM3U -#EXTINF:-1 tvg-id="" tvg-logo="" group-title="Undefined",Daawah TV -http://51.15.246.58:8081/daawahtv/daawahtv2/playlist.m3u8 diff --git a/tests/__data__/expected/.gh-pages/regions/ssa.m3u b/tests/__data__/expected/.gh-pages/regions/ssa.m3u deleted file mode 100644 index fcd718794..000000000 --- a/tests/__data__/expected/.gh-pages/regions/ssa.m3u +++ /dev/null @@ -1 +0,0 @@ -#EXTM3U diff --git a/tests/__data__/expected/.gh-pages/regions/wafr.m3u b/tests/__data__/expected/.gh-pages/regions/wafr.m3u deleted file mode 100644 index fcd718794..000000000 --- a/tests/__data__/expected/.gh-pages/regions/wafr.m3u +++ /dev/null @@ -1 +0,0 @@ -#EXTM3U diff --git a/tests/__data__/expected/.gh-pages/subdivisions/ca-on.m3u b/tests/__data__/expected/.gh-pages/subdivisions/ca-on.m3u deleted file mode 100644 index 4686c68f4..000000000 --- a/tests/__data__/expected/.gh-pages/subdivisions/ca-on.m3u +++ /dev/null @@ -1,3 +0,0 @@ -#EXTM3U -#EXTINF:-1 tvg-id="MeteoMedia.ca" tvg-logo="https://s1.twnmm.com/images/en_ca/mobile/logos/twn-mobile-logo.png" group-title="Weather",Meteomedia -http://encodercdn1.frontline.ca/encoder181/output/Meteo_Media_720p/playlist.m3u8 diff --git a/tests/__data__/expected/logs/generators.log b/tests/__data__/expected/logs/generators.log deleted file mode 100644 index 6bb3175f4..000000000 --- a/tests/__data__/expected/logs/generators.log +++ /dev/null @@ -1,70 +0,0 @@ -{"filepath":"categories/auto.m3u","count":0} -{"filepath":"categories/animation.m3u","count":0} -{"filepath":"categories/business.m3u","count":0} -{"filepath":"categories/classic.m3u","count":0} -{"filepath":"categories/comedy.m3u","count":0} -{"filepath":"categories/cooking.m3u","count":0} -{"filepath":"categories/culture.m3u","count":0} -{"filepath":"categories/documentary.m3u","count":0} -{"filepath":"categories/education.m3u","count":0} -{"filepath":"categories/entertainment.m3u","count":0} -{"filepath":"categories/family.m3u","count":0} -{"filepath":"categories/general.m3u","count":2} -{"filepath":"categories/kids.m3u","count":0} -{"filepath":"categories/legislative.m3u","count":0} -{"filepath":"categories/lifestyle.m3u","count":0} -{"filepath":"categories/movies.m3u","count":0} -{"filepath":"categories/music.m3u","count":0} -{"filepath":"categories/news.m3u","count":1} -{"filepath":"categories/outdoor.m3u","count":0} -{"filepath":"categories/relax.m3u","count":0} -{"filepath":"categories/religious.m3u","count":0} -{"filepath":"categories/series.m3u","count":0} -{"filepath":"categories/science.m3u","count":0} -{"filepath":"categories/shop.m3u","count":0} -{"filepath":"categories/sports.m3u","count":0} -{"filepath":"categories/travel.m3u","count":0} -{"filepath":"categories/weather.m3u","count":1} -{"filepath":"categories/xxx.m3u","count":1} -{"filepath":"categories/undefined.m3u","count":4} -{"filepath":"countries/ad.m3u","count":2} -{"filepath":"countries/ca.m3u","count":1} -{"filepath":"subdivisions/ca-on.m3u","count":1} -{"filepath":"countries/in.m3u","count":1} -{"filepath":"countries/ru.m3u","count":1} -{"filepath":"countries/int.m3u","count":1} -{"filepath":"index.category.m3u","count":8} -{"filepath":"index.country.m3u","count":7} -{"filepath":"index.language.m3u","count":7} -{"filepath":"index.m3u","count":7} -{"filepath":"index.region.m3u","count":21} -{"filepath":"languages/eng.m3u","count":1} -{"filepath":"languages/rus.m3u","count":1} -{"filepath":"languages/cat.m3u","count":1} -{"filepath":"languages/undefined.m3u","count":4} -{"filepath":"regions/afr.m3u","count":0} -{"filepath":"regions/amer.m3u","count":1} -{"filepath":"regions/apac.m3u","count":1} -{"filepath":"regions/arab.m3u","count":0} -{"filepath":"regions/asean.m3u","count":0} -{"filepath":"regions/asia.m3u","count":2} -{"filepath":"regions/carib.m3u","count":0} -{"filepath":"regions/cas.m3u","count":0} -{"filepath":"regions/cenamer.m3u","count":0} -{"filepath":"regions/cis.m3u","count":1} -{"filepath":"regions/emea.m3u","count":3} -{"filepath":"regions/eur.m3u","count":3} -{"filepath":"regions/hispam.m3u","count":0} -{"filepath":"regions/lac.m3u","count":0} -{"filepath":"regions/latam.m3u","count":0} -{"filepath":"regions/maghreb.m3u","count":0} -{"filepath":"regions/mena.m3u","count":0} -{"filepath":"regions/mideast.m3u","count":0} -{"filepath":"regions/nam.m3u","count":1} -{"filepath":"regions/noram.m3u","count":1} -{"filepath":"regions/nord.m3u","count":0} -{"filepath":"regions/oce.m3u","count":0} -{"filepath":"regions/sas.m3u","count":1} -{"filepath":"regions/southam.m3u","count":0} -{"filepath":"regions/ssa.m3u","count":0} -{"filepath":"regions/wafr.m3u","count":0} diff --git a/tests/__data__/expected/streams_format/in.m3u b/tests/__data__/expected/playlist_format/in.m3u similarity index 100% rename from tests/__data__/expected/streams_format/in.m3u rename to tests/__data__/expected/playlist_format/in.m3u diff --git a/tests/__data__/expected/streams_format/nl.m3u b/tests/__data__/expected/playlist_format/nl.m3u similarity index 77% rename from tests/__data__/expected/streams_format/nl.m3u rename to tests/__data__/expected/playlist_format/nl.m3u index 2eef58b98..8f1e0ba2a 100644 --- a/tests/__data__/expected/streams_format/nl.m3u +++ b/tests/__data__/expected/playlist_format/nl.m3u @@ -1,5 +1,5 @@ #EXTM3U -#EXTINF:-1 tvg-id="NPO1.nl",NPO 1 (342p) [Geo-blocked] +#EXTINF:-1 tvg-id="NPO1.nl@SD",NPO 1 (342p) [Geo-blocked] http://resolver.streaming.api.nos.nl/livestream?url=/live/npo/tvlive/npo1/npo1.isml/.m3u8 #EXTINF:-1 tvg-id="NPO2.nl",NPO 2 (342p) http://resolver.streaming.api.nos.nl/livestream?url=/live/npo/tvlive/npo2/npo2.isml/.m3u8 @@ -7,3 +7,5 @@ http://resolver.streaming.api.nos.nl/livestream?url=/live/npo/tvlive/npo2/npo2.i #EXTVLCOPT:http-referrer=http://imn.iq #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://stream.tvtap.net:8081/live/nl-npo2.stream/playlist.m3u8 +#EXTINF:-1 tvg-id="NPO2.nl",NPO 2 [Geo-blocked] +http://resolver.streaming.api.nos.nl/livestream?url=/live/npo/tvlive/npo2/npo22.isml/.m3u8 diff --git a/tests/__data__/expected/playlist_generate/logs/generators.log b/tests/__data__/expected/playlist_generate/logs/generators.log new file mode 100644 index 000000000..720731423 --- /dev/null +++ b/tests/__data__/expected/playlist_generate/logs/generators.log @@ -0,0 +1,76 @@ +{"type":"category","filepath":"categories/auto.m3u","count":0} +{"type":"category","filepath":"categories/cooking.m3u","count":0} +{"type":"category","filepath":"categories/comedy.m3u","count":0} +{"type":"category","filepath":"categories/documentary.m3u","count":0} +{"type":"category","filepath":"categories/business.m3u","count":0} +{"type":"category","filepath":"categories/classic.m3u","count":0} +{"type":"category","filepath":"categories/entertainment.m3u","count":0} +{"type":"category","filepath":"categories/education.m3u","count":0} +{"type":"category","filepath":"categories/animation.m3u","count":0} +{"type":"category","filepath":"categories/family.m3u","count":0} +{"type":"category","filepath":"categories/kids.m3u","count":0} +{"type":"category","filepath":"categories/culture.m3u","count":0} +{"type":"category","filepath":"categories/lifestyle.m3u","count":0} +{"type":"category","filepath":"categories/general.m3u","count":3} +{"type":"category","filepath":"categories/outdoor.m3u","count":0} +{"type":"category","filepath":"categories/music.m3u","count":0} +{"type":"category","filepath":"categories/legislative.m3u","count":0} +{"type":"category","filepath":"categories/series.m3u","count":0} +{"type":"category","filepath":"categories/news.m3u","count":1} +{"type":"category","filepath":"categories/movies.m3u","count":0} +{"type":"category","filepath":"categories/relax.m3u","count":0} +{"type":"category","filepath":"categories/religious.m3u","count":0} +{"type":"category","filepath":"categories/weather.m3u","count":1} +{"type":"category","filepath":"categories/science.m3u","count":0} +{"type":"category","filepath":"categories/shop.m3u","count":0} +{"type":"category","filepath":"categories/xxx.m3u","count":1} +{"type":"category","filepath":"categories/sports.m3u","count":0} +{"type":"category","filepath":"categories/travel.m3u","count":0} +{"type":"category","filepath":"categories/undefined.m3u","count":6} +{"type":"country","filepath":"countries/ad.m3u","count":1} +{"type":"country","filepath":"countries/ca.m3u","count":1} +{"type":"country","filepath":"countries/kg.m3u","count":1} +{"type":"country","filepath":"countries/kz.m3u","count":1} +{"type":"country","filepath":"countries/tj.m3u","count":1} +{"type":"country","filepath":"countries/ru.m3u","count":1} +{"type":"country","filepath":"countries/tm.m3u","count":1} +{"type":"country","filepath":"countries/undefined.m3u","count":4} +{"type":"country","filepath":"countries/uz.m3u","count":1} +{"type":"language","filepath":"languages/cat.m3u","count":1} +{"type":"language","filepath":"languages/rus.m3u","count":1} +{"type":"subdivision","filepath":"subdivisions/ca-on.m3u","count":1} +{"type":"language","filepath":"languages/undefined.m3u","count":7} +{"type":"language","filepath":"languages/eng.m3u","count":1} +{"type":"region","filepath":"regions/afr.m3u","count":0} +{"type":"region","filepath":"regions/apac.m3u","count":0} +{"type":"region","filepath":"regions/amer.m3u","count":1} +{"type":"region","filepath":"regions/arab.m3u","count":0} +{"type":"region","filepath":"regions/asean.m3u","count":0} +{"type":"region","filepath":"regions/cenamer.m3u","count":0} +{"type":"region","filepath":"regions/asia.m3u","count":2} +{"type":"region","filepath":"regions/carib.m3u","count":0} +{"type":"region","filepath":"regions/cis.m3u","count":2} +{"type":"region","filepath":"regions/hispam.m3u","count":0} +{"type":"region","filepath":"regions/emea.m3u","count":3} +{"type":"region","filepath":"regions/lac.m3u","count":0} +{"type":"region","filepath":"regions/cas.m3u","count":1} +{"type":"region","filepath":"regions/latam.m3u","count":0} +{"type":"region","filepath":"regions/eur.m3u","count":3} +{"type":"region","filepath":"regions/nam.m3u","count":1} +{"type":"region","filepath":"regions/mena.m3u","count":0} +{"type":"region","filepath":"regions/noram.m3u","count":1} +{"type":"region","filepath":"regions/mideast.m3u","count":0} +{"type":"region","filepath":"regions/maghreb.m3u","count":0} +{"type":"region","filepath":"regions/ssa.m3u","count":0} +{"type":"region","filepath":"regions/nord.m3u","count":0} +{"type":"region","filepath":"regions/oce.m3u","count":0} +{"type":"region","filepath":"regions/southam.m3u","count":0} +{"type":"region","filepath":"regions/wafr.m3u","count":0} +{"type":"region","filepath":"regions/int.m3u","count":2} +{"type":"region","filepath":"regions/sas.m3u","count":0} +{"type":"region","filepath":"regions/undefined.m3u","count":4} +{"type":"index","filepath":"index.m3u","count":10} +{"type":"index","filepath":"index.category.m3u","count":11} +{"type":"index","filepath":"index.country.m3u","count":14} +{"type":"index","filepath":"index.language.m3u","count":10} +{"type":"index","filepath":"index.region.m3u","count":20} diff --git a/tests/__data__/expected/playlist_update/cy.m3u b/tests/__data__/expected/playlist_update/cy.m3u new file mode 100644 index 000000000..987825ca1 --- /dev/null +++ b/tests/__data__/expected/playlist_update/cy.m3u @@ -0,0 +1,3 @@ +#EXTM3U +#EXTINF:-1 tvg-id="AdaTV.cy",AdaTV +https://ythls.onrender.com/channel/UC40TUSUx490U5uR1lZt3Ajg.m3u8 diff --git a/tests/__data__/expected/streams_update/fr.m3u b/tests/__data__/expected/playlist_update/fr.m3u similarity index 51% rename from tests/__data__/expected/streams_update/fr.m3u rename to tests/__data__/expected/playlist_update/fr.m3u index 2dcf9fed5..82856b338 100644 --- a/tests/__data__/expected/streams_update/fr.m3u +++ b/tests/__data__/expected/playlist_update/fr.m3u @@ -2,4 +2,4 @@ #EXTINF:-1 tvg-id="TFX.fr" http-referrer="https://pkpakiplay.xyz/" http-user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1",TFX #EXTVLCOPT:http-referrer=https://pkpakiplay.xyz/ #EXTVLCOPT:http-user-agent=Mozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1 -http://livetv.ktv.zone/13/play.m3u8 +https://stitcher-ipv4.pluto.tv/v1/stitch/embed/hls/channel/64c109a4798def0008a6e03e/master.m3u8?advertisingId={PSID}&appVersion=unknown&deviceDNT={TARGETOPT}&deviceId={PSID}&deviceLat=0&deviceLon=0&deviceMake=samsung&deviceModel=samsung&deviceType=samsung-tvplus&deviceVersion=unknown&embedPartner=samsung-tvplus&profileFloor=&profileLimit=&samsung_app_domain={APP_DOMAIN}&samsung_app_name={APP_NAME}&us_privacy=1YNY diff --git a/tests/__data__/expected/streams_update/uk.m3u b/tests/__data__/expected/playlist_update/uk.m3u similarity index 100% rename from tests/__data__/expected/streams_update/uk.m3u rename to tests/__data__/expected/playlist_update/uk.m3u diff --git a/tests/__data__/expected/streams_update/us.m3u b/tests/__data__/expected/playlist_update/us.m3u similarity index 65% rename from tests/__data__/expected/streams_update/us.m3u rename to tests/__data__/expected/playlist_update/us.m3u index 1562c6075..5271483e5 100644 --- a/tests/__data__/expected/streams_update/us.m3u +++ b/tests/__data__/expected/playlist_update/us.m3u @@ -1,5 +1,5 @@ #EXTM3U -#EXTINF:-1 tvg-id="BBCAmericaEast.us" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36 Edge/12.246",BBC America East (720p) +#EXTINF:-1 tvg-id="BBCAmerica.us@East" http-user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36 Edge/12.246",BBC America East (720p) #EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36 Edge/12.246 https://servilive.com:3126/live/tele2000live.m3u8 #EXTINF:-1 tvg-id="FastTV.us",Fast TV diff --git a/tests/__data__/expected/_readme.md b/tests/__data__/expected/readme_update/_readme.md similarity index 97% rename from tests/__data__/expected/_readme.md rename to tests/__data__/expected/readme_update/_readme.md index 7cd308c41..9fc78acc2 100644 --- a/tests/__data__/expected/_readme.md +++ b/tests/__data__/expected/readme_update/_readme.md @@ -155,7 +155,7 @@ Same thing, but split up into separate files: ๐Ÿ‡ง๐Ÿ‡ฑ Saint Barthรฉlemy1https://iptv-org.github.io/iptv/countries/bl.m3u ๐Ÿ‡ธ๐Ÿ‡ญ Saint Helena1https://iptv-org.github.io/iptv/countries/sh.m3u ๐Ÿ‡ฐ๐Ÿ‡ณ Saint Kitts and Nevis1https://iptv-org.github.io/iptv/countries/kn.m3u - ๐ŸŒ International1https://iptv-org.github.io/iptv/countries/int.m3u + Undefined2https://iptv-org.github.io/iptv/countries/undefined.m3u @@ -207,6 +207,8 @@ Same thing, but split up into separate files: South Asia1https://iptv-org.github.io/iptv/regions/sas.m3u Sub-Saharan Africa0https://iptv-org.github.io/iptv/regions/ssa.m3u West Africa0https://iptv-org.github.io/iptv/regions/wafr.m3u + Worldwide1https://iptv-org.github.io/iptv/regions/int.m3u + Undefined2https://iptv-org.github.io/iptv/regions/undefined.m3u diff --git a/tests/__data__/expected/streams_update/cy.m3u b/tests/__data__/expected/streams_update/cy.m3u deleted file mode 100644 index fcd718794..000000000 --- a/tests/__data__/expected/streams_update/cy.m3u +++ /dev/null @@ -1 +0,0 @@ -#EXTM3U diff --git a/tests/__data__/input/streams_generate/ad.m3u b/tests/__data__/input/api_generate/ad.m3u similarity index 78% rename from tests/__data__/input/streams_generate/ad.m3u rename to tests/__data__/input/api_generate/ad.m3u index aed019154..64a1dc0cf 100644 --- a/tests/__data__/input/streams_generate/ad.m3u +++ b/tests/__data__/input/api_generate/ad.m3u @@ -1,5 +1,5 @@ #EXTM3U #EXTINF:-1 tvg-id="Zoo.ad",Zoo (720p) https://iptv-all.lanesh4d0w.repl.co/andorra/zoo -#EXTINF:-1 tvg-id="AndorraTV.ad",ATV +#EXTINF:-1 tvg-id="AndorraTV.ad@SD",ATV https://iptv-all.lanesh4d0w.repl.co/andorra/atv diff --git a/tests/__data__/input/streams_generate/ca.m3u b/tests/__data__/input/api_generate/ca.m3u similarity index 100% rename from tests/__data__/input/streams_generate/ca.m3u rename to tests/__data__/input/api_generate/ca.m3u diff --git a/tests/__data__/input/streams_generate/in.m3u b/tests/__data__/input/api_generate/in.m3u similarity index 100% rename from tests/__data__/input/streams_generate/in.m3u rename to tests/__data__/input/api_generate/in.m3u diff --git a/tests/__data__/input/streams_generate/uk.m3u b/tests/__data__/input/api_generate/uk.m3u similarity index 100% rename from tests/__data__/input/streams_generate/uk.m3u rename to tests/__data__/input/api_generate/uk.m3u diff --git a/tests/__data__/input/streams_generate/unsorted.m3u b/tests/__data__/input/api_generate/unsorted.m3u similarity index 100% rename from tests/__data__/input/streams_generate/unsorted.m3u rename to tests/__data__/input/api_generate/unsorted.m3u diff --git a/tests/__data__/input/data/blocklist.json b/tests/__data__/input/data/blocklist.json index cfba11f57..10dace03f 100644 --- a/tests/__data__/input/data/blocklist.json +++ b/tests/__data__/input/data/blocklist.json @@ -1 +1 @@ -[{"channel":"FoxSports1.us","reason":"dmca","ref":"https://github.com/iptv-org/iptv/issues/0001"},{"channel":"FoxSports2Asia.us","reason":"dmca","ref":"https://github.com/iptv-org/iptv/issues/0002"},{"channel":"TVN.pl","reason":"nsfw","ref":"https://github.com/iptv-org/iptv/issues/0003"},{"channel":"TV3.my","reason":"dmca","ref":"https://github.com/iptv-org/iptv/issues/0004"}] \ No newline at end of file +[{"channel":"FoxSports1.us","reason":"dmca","ref":"https://github.com/iptv-org/iptv/issues/0001"},{"channel":"FoxSports2.us","reason":"dmca","ref":"https://github.com/iptv-org/iptv/issues/0002"},{"channel":"TVN.pl","reason":"nsfw","ref":"https://github.com/iptv-org/iptv/issues/0003"},{"channel":"TV3.my","reason":"dmca","ref":"https://github.com/iptv-org/iptv/issues/0004"}] \ No newline at end of file diff --git a/tests/__data__/input/data/channels.json b/tests/__data__/input/data/channels.json index 59bc80b71..fe31e8dc0 100644 --- a/tests/__data__/input/data/channels.json +++ b/tests/__data__/input/data/channels.json @@ -6,12 +6,6 @@ "country": "AD", "subdivision": null, "city": null, - "broadcast_area": [ - "c/AD" - ], - "languages": [ - "cat" - ], "categories": [], "is_nsfw": false, "logo": null @@ -23,12 +17,6 @@ "country": "UK", "subdivision": null, "city": null, - "broadcast_area": [ - "r/INT" - ], - "languages": [ - "eng" - ], "categories": [ "news", "general" @@ -43,12 +31,6 @@ "country": "US", "subdivision": null, "city": null, - "broadcast_area": [ - "c/US" - ], - "languages": [ - "eng" - ], "categories": [], "is_nsfw": false, "logo": "https://www.lyngsat.com/logo/tv/ee/eve_us.png" @@ -60,12 +42,6 @@ "country": "US", "subdivision": null, "city": null, - "broadcast_area": [ - "c/US" - ], - "languages": [ - "eng" - ], "categories": [], "is_nsfw": false, "logo": "https://i.imgur.com/Iam3ol3.png" @@ -77,29 +53,17 @@ "country": "US", "subdivision": null, "city": null, - "broadcast_area": [ - "c/US" - ], - "languages": [ - "eng" - ], "categories": [], "is_nsfw": false, "logo": "https://cdn.tvpassport.com/image/station/100x100/fs1.png" }, { - "id": "FoxSports2Asia.us", - "name": "Fox Sports 2 Asia", + "id": "FoxSports2.us", + "name": "Fox Sports 2", "network": null, "country": "US", "subdivision": null, "city": null, - "broadcast_area": [ - "c/US" - ], - "languages": [ - "eng" - ], "categories": [], "is_nsfw": false, "logo": null @@ -111,12 +75,6 @@ "country": "RU", "subdivision": null, "city": null, - "broadcast_area": [ - "c/RU" - ], - "languages": [ - "rus" - ], "categories": [ "general" ], @@ -130,12 +88,6 @@ "country": "LY", "subdivision": null, "city": null, - "broadcast_area": [ - "c/LY" - ], - "languages": [ - "eng" - ], "categories": [], "is_nsfw": false, "logo": "https://i.imgur.com/RD9wbNF.jpg" @@ -147,12 +99,6 @@ "country": "CA", "subdivision": null, "city": null, - "broadcast_area": [ - "s/CA-ON" - ], - "languages": [ - "fru" - ], "categories": [ "weather" ], @@ -166,12 +112,6 @@ "country": "PL", "subdivision": null, "city": null, - "broadcast_area": [ - "c/PL" - ], - "languages": [ - "pol" - ], "categories": [], "is_nsfw": false, "logo": "https://www.sms.cz/kategorie/televize/bmp/loga/velka/TVN.png" @@ -183,12 +123,6 @@ "country": "NL", "subdivision": null, "city": null, - "broadcast_area": [ - "r/INT" - ], - "languages": [ - "nld" - ], "categories": [ "xxx" ], @@ -202,12 +136,6 @@ "country": "US", "subdivision": null, "city": null, - "broadcast_area": [ - "c/US" - ], - "languages": [ - "eng" - ], "categories": [ "general" ], @@ -225,12 +153,6 @@ "country": "IN", "subdivision": null, "city": null, - "broadcast_area": [ - "c/IN" - ], - "languages": [ - "mal" - ], "categories": [ "news" ], @@ -250,12 +172,6 @@ "country": "MY", "subdivision": null, "city": null, - "broadcast_area": [ - "c/MY" - ], - "languages": [ - "eng" - ], "categories": [ "news" ], @@ -267,20 +183,14 @@ "logo": "https://i.imgur.com/adjRrVx.png" }, { - "id": "BBCAmericaEast.us", - "name": "BBC America East", + "id": "BBCAmerica.us", + "name": "BBC America", "alt_names": [], "network": null, "owners": [], "country": "US", "subdivision": null, "city": null, - "broadcast_area": [ - "c/US" - ], - "languages": [ - "eng" - ], "categories": [ "news" ], @@ -302,12 +212,6 @@ "country": "PE", "subdivision": "PE-LIM", "city": "Lima", - "broadcast_area": [ - "c/PE" - ], - "languages": [ - "spa" - ], "categories": [ "news" ], @@ -327,12 +231,6 @@ "country": "UK", "subdivision": null, "city": "London", - "broadcast_area": [ - "c/UK" - ], - "languages": [ - "eng" - ], "categories": [ "series" ], @@ -356,12 +254,6 @@ "country": "JP", "subdivision": null, "city": "Tokyo", - "broadcast_area": [ - "c/JP" - ], - "languages": [ - "jpn" - ], "categories": [ "animation" ], @@ -383,13 +275,6 @@ "country": "IN", "subdivision": null, "city": "Noida", - "broadcast_area": [ - "c/IN", - "c/UK" - ], - "languages": [ - "hin" - ], "categories": [ "news" ], @@ -409,12 +294,6 @@ "country": "JP", "subdivision": null, "city": null, - "broadcast_area": [ - "c/JP" - ], - "languages": [ - "jpn" - ], "categories": [ "weather" ], @@ -436,12 +315,6 @@ "country": "LK", "subdivision": null, "city": "Athurugiriya", - "broadcast_area": [ - "c/LK" - ], - "languages": [ - "tam" - ], "categories": [ "religious" ], @@ -461,12 +334,6 @@ "country": "HU", "subdivision": null, "city": null, - "broadcast_area": [ - "c/HU" - ], - "languages": [ - "hun" - ], "categories": [ "sports" ], @@ -491,12 +358,6 @@ "country": "US", "subdivision": null, "city": null, - "broadcast_area": [ - "c/US" - ], - "languages": [ - "eng" - ], "categories": [], "is_nsfw": false, "launched": "2022-10-26", @@ -518,12 +379,6 @@ "country": "TH", "subdivision": null, "city": "Bangkok", - "broadcast_area": [ - "c/TH" - ], - "languages": [ - "tha" - ], "categories": [ "general" ], @@ -547,12 +402,6 @@ "country": "TH", "subdivision": null, "city": "Bangkok", - "broadcast_area": [ - "c/TH" - ], - "languages": [ - "tha" - ], "categories": [ "entertainment" ], @@ -574,12 +423,6 @@ "country": "FR", "subdivision": null, "city": "Paris", - "broadcast_area": [ - "c/FR" - ], - "languages": [ - "fra" - ], "categories": [ "general" ], @@ -601,12 +444,6 @@ "country": "FR", "subdivision": null, "city": "Paris", - "broadcast_area": [ - "c/FR" - ], - "languages": [ - "fra" - ], "categories": [ "general" ], @@ -628,12 +465,6 @@ "country": "FR", "subdivision": null, "city": "Paris", - "broadcast_area": [ - "c/FR" - ], - "languages": [ - "fra" - ], "categories": [ "general" ], @@ -645,8 +476,8 @@ "logo": "https://upload.wikimedia.org/wikipedia/commons/thumb/5/50/France_5_2018.svg/512px-France_5_2018.svg.png" }, { - "id": "France3Aquitaine.fr", - "name": "France 3 Aquitaine", + "id": "France3.fr", + "name": "France 3", "alt_names": [], "network": null, "owners": [ @@ -655,12 +486,6 @@ "country": "FR", "subdivision": null, "city": "Paris", - "broadcast_area": [ - "c/FR" - ], - "languages": [ - "fra" - ], "categories": [ "general" ], @@ -671,363 +496,6 @@ "website": "https://france3-regions.francetvinfo.fr/nouvelle-aquitaine/", "logo": "https://upload.wikimedia.org/wikipedia/commons/thumb/a/a7/France_3_Aquitaine_-_Logo_2018.svg/512px-France_3_Aquitaine_-_Logo_2018.svg.png" }, - { - "id": "France3Auvergne.fr", - "name": "France 3 Auvergne", - "alt_names": [], - "network": null, - "owners": [ - "France Tรฉlรฉvisions" - ], - "country": "FR", - "subdivision": null, - "city": "Paris", - "broadcast_area": [ - "c/FR" - ], - "languages": [ - "fra" - ], - "categories": [ - "general" - ], - "is_nsfw": false, - "launched": null, - "closed": null, - "replaced_by": null, - "website": "https://france3-regions.francetvinfo.fr/auvergne-rhone-alpes/", - "logo": "https://i.imgur.com/OOEHRei.png" - }, - { - "id": "France3BasseNormandie.fr", - "name": "France 3 Basse-Normandie", - "alt_names": [], - "network": null, - "owners": [ - "France Tรฉlรฉvisions" - ], - "country": "FR", - "subdivision": null, - "city": "Paris", - "broadcast_area": [ - "c/FR" - ], - "languages": [ - "fra" - ], - "categories": [ - "general" - ], - "is_nsfw": false, - "launched": null, - "closed": null, - "replaced_by": null, - "website": "https://france3-regions.francetvinfo.fr/normandie/", - "logo": "https://i.imgur.com/nTM78Ig.png" - }, - { - "id": "France3Bourgogne.fr", - "name": "France 3 Bourgogne", - "alt_names": [], - "network": null, - "owners": [ - "France Tรฉlรฉvisions" - ], - "country": "FR", - "subdivision": null, - "city": "Paris", - "broadcast_area": [ - "c/FR" - ], - "languages": [ - "fra" - ], - "categories": [ - "general" - ], - "is_nsfw": false, - "launched": "1965-11-15", - "closed": null, - "replaced_by": null, - "website": "https://france3-regions.francetvinfo.fr/bourgogne-franche-comte/", - "logo": "https://upload.wikimedia.org/wikipedia/commons/thumb/7/77/France_3_Bourgogne_-_Logo_2018.svg/512px-France_3_Bourgogne_-_Logo_2018.svg.png" - }, - { - "id": "France3Bretagne.fr", - "name": "France 3 Bretagne", - "alt_names": [], - "network": null, - "owners": [ - "France Tรฉlรฉvisions" - ], - "country": "FR", - "subdivision": null, - "city": "Paris", - "broadcast_area": [ - "c/FR" - ], - "languages": [ - "fra" - ], - "categories": [ - "general" - ], - "is_nsfw": false, - "launched": null, - "closed": null, - "replaced_by": null, - "website": "https://france3-regions.francetvinfo.fr/bretagne/", - "logo": "https://upload.wikimedia.org/wikipedia/commons/thumb/c/c2/France_3_Bretagne_-_Logo_2018.svg/512px-France_3_Bretagne_-_Logo_2018.svg.png" - }, - { - "id": "France3CentreValdeLoire.fr", - "name": "France 3 Centre-Val de Loire", - "alt_names": [], - "network": null, - "owners": [ - "France Tรฉlรฉvisions" - ], - "country": "FR", - "subdivision": null, - "city": "Paris", - "broadcast_area": [ - "c/FR" - ], - "languages": [ - "fra" - ], - "categories": [ - "general" - ], - "is_nsfw": false, - "launched": null, - "closed": null, - "replaced_by": null, - "website": "https://france3-regions.francetvinfo.fr/centre-val-de-loire/", - "logo": "https://i.imgur.com/jDh4rUk.png" - }, - { - "id": "France3ChampagneArdenne.fr", - "name": "France 3 Champagne-Ardenne", - "alt_names": [], - "network": null, - "owners": [ - "France Tรฉlรฉvisions" - ], - "country": "FR", - "subdivision": null, - "city": "Paris", - "broadcast_area": [ - "c/FR" - ], - "languages": [ - "fra" - ], - "categories": [ - "general" - ], - "is_nsfw": false, - "launched": null, - "closed": null, - "replaced_by": null, - "website": "https://france3-regions.francetvinfo.fr/grand-est/", - "logo": "https://i.imgur.com/V9nhfLC.png" - }, - { - "id": "France3CorseViaStella.fr", - "name": "France 3 Corse Via Stella", - "alt_names": [], - "network": null, - "owners": [ - "France Tรฉlรฉvisions" - ], - "country": "FR", - "subdivision": null, - "city": "Paris", - "broadcast_area": [ - "c/FR" - ], - "languages": [ - "fra" - ], - "categories": [ - "general" - ], - "is_nsfw": false, - "launched": null, - "closed": null, - "replaced_by": null, - "website": "https://france3-regions.francetvinfo.fr/corse/", - "logo": "https://i.imgur.com/Sx9VLAt.png" - }, - { - "id": "France3CotedAzur.fr", - "name": "France 3 Cote d'Azur", - "alt_names": [ - "France 3 Cรดte d'Azur" - ], - "network": null, - "owners": [ - "France Tรฉlรฉvisions" - ], - "country": "FR", - "subdivision": null, - "city": "Paris", - "broadcast_area": [ - "c/FR" - ], - "languages": [ - "fra" - ], - "categories": [ - "general" - ], - "is_nsfw": false, - "launched": null, - "closed": null, - "replaced_by": null, - "website": "https://france3-regions.francetvinfo.fr/provence-alpes-cote-d-azur/", - "logo": "https://i.imgur.com/dQC6Rm3.png" - }, - { - "id": "France3FrancheComte.fr", - "name": "France 3 Franche-Comte", - "alt_names": [ - "France 3 Franche-Comtรฉ" - ], - "network": null, - "owners": [ - "France Tรฉlรฉvisions" - ], - "country": "FR", - "subdivision": null, - "city": "Paris", - "broadcast_area": [ - "c/FR" - ], - "languages": [ - "fra" - ], - "categories": [ - "general" - ], - "is_nsfw": false, - "launched": null, - "closed": null, - "replaced_by": null, - "website": "https://france3-regions.francetvinfo.fr/bourgogne-franche-comte/", - "logo": "https://i.imgur.com/41b7194.png" - }, - { - "id": "France3HauteNormandie.fr", - "name": "France 3 Haute-Normandie", - "alt_names": [], - "network": null, - "owners": [ - "France Tรฉlรฉvisions" - ], - "country": "FR", - "subdivision": null, - "city": "Paris", - "broadcast_area": [ - "c/FR" - ], - "languages": [ - "fra" - ], - "categories": [ - "general" - ], - "is_nsfw": false, - "launched": null, - "closed": null, - "replaced_by": null, - "website": "https://france3-regions.francetvinfo.fr/normandie/", - "logo": "https://i.imgur.com/nTM78Ig.png" - }, - { - "id": "France3NouvelleAquitaine.fr", - "name": "France 3 Nouvelle-Aquitaine", - "alt_names": [], - "network": null, - "owners": [ - "France Tรฉlรฉvisions" - ], - "country": "FR", - "subdivision": null, - "city": "Paris", - "broadcast_area": [ - "c/FR" - ], - "languages": [ - "fra" - ], - "categories": [ - "general" - ], - "is_nsfw": false, - "launched": null, - "closed": null, - "replaced_by": null, - "website": "https://france3-regions.francetvinfo.fr/nouvelle-aquitaine/", - "logo": "https://i.imgur.com/ScAQW1B.png" - }, - { - "id": "France3ProvenceAlpes.fr", - "name": "France 3 Provence-Alpes", - "alt_names": [], - "network": null, - "owners": [ - "France Tรฉlรฉvisions" - ], - "country": "FR", - "subdivision": null, - "city": "Paris", - "broadcast_area": [ - "c/FR" - ], - "languages": [ - "fra" - ], - "categories": [ - "general" - ], - "is_nsfw": false, - "launched": null, - "closed": null, - "replaced_by": null, - "website": "https://france3-regions.francetvinfo.fr/provence-alpes-cote-d-azur/", - "logo": "https://i.imgur.com/W6TyDLx.png" - }, - { - "id": "France3RhoneAlpes.fr", - "name": "France 3 Rhone-Alpes", - "alt_names": [ - "France 3 Rhรดne-Alpes" - ], - "network": null, - "owners": [ - "France Tรฉlรฉvisions" - ], - "country": "FR", - "subdivision": null, - "city": "Paris", - "broadcast_area": [ - "c/FR" - ], - "languages": [ - "fra" - ], - "categories": [ - "general" - ], - "is_nsfw": false, - "launched": null, - "closed": null, - "replaced_by": null, - "website": "https://france3-regions.francetvinfo.fr/auvergne-rhone-alpes/", - "logo": "https://i.imgur.com/XIdPu3o.png" - }, { "id": "TF1.fr", "name": "TF1", @@ -1039,12 +507,6 @@ "country": "FR", "subdivision": null, "city": null, - "broadcast_area": [ - "c/FR" - ], - "languages": [ - "fra" - ], "categories": [ "entertainment" ], @@ -1068,12 +530,6 @@ "country": "FR", "subdivision": null, "city": null, - "broadcast_area": [ - "c/FR" - ], - "languages": [ - "fra" - ], "categories": [ "movies" ], @@ -1095,13 +551,6 @@ "country": "FR", "subdivision": null, "city": null, - "broadcast_area": [ - "c/FR", - "c/MC" - ], - "languages": [ - "fra" - ], "categories": [ "general" ], @@ -1121,13 +570,6 @@ "country": "FR", "subdivision": null, "city": null, - "broadcast_area": [ - "c/FR" - ], - "languages": [ - "fra", - "eng" - ], "categories": [], "is_nsfw": false, "launched": null, @@ -1147,12 +589,6 @@ "country": "IN", "subdivision": null, "city": "Kottayam", - "broadcast_area": [ - "c/IN" - ], - "languages": [ - "mal" - ], "categories": [ "news" ], @@ -1174,12 +610,6 @@ "country": "AU", "subdivision": null, "city": "New York City", - "broadcast_area": [ - "c/AU" - ], - "languages": [ - "eng" - ], "categories": [ "entertainment" ], @@ -1189,5 +619,63 @@ "replaced_by": "Sleuth.au", "website": "http://www.13thstreet.com.au/", "logo": "https://upload.wikimedia.org/wikipedia/commons/thumb/0/0c/13th_street_logo_uk_master_rgb_black.png/512px-13th_street_logo_uk_master_rgb_black.png" + }, + { + "id": "Zoo.ad", + "name": "Zoo", + "network": null, + "country": "CA", + "subdivision": null, + "city": null, + "categories": [], + "is_nsfw": false, + "logo": null + }, + { + "id": "DunaWorld.hu", + "name": "Duna World", + "network": null, + "country": "HU", + "subdivision": null, + "city": null, + "categories": [ + "General" + ], + "is_nsfw": false, + "logo": "https://i.imgur.com/uOBQJZS.png" + }, + { + "id": "ElTR.kg", + "name": "ElTR", + "alt_names": [ + "ะญะปะขะ ", + "ะœะขะ ะš ะญะปะขะ ", + "ะญะป ะบะฐะฝะฐะปั‹", + "ะญะปะขะ  ะšั‹ั€ะณั‹ะทัั‚ะฐะฝ", + "ELTR Kyrgyzstan" + ], + "network": "ElTR", + "owners": [ + "ElTR" + ], + "country": "KG", + "subdivision": null, + "city": "Bishkek", + "broadcast_area": [ + "r/CAS" + ], + "languages": [ + "kir", + "rus" + ], + "categories": [ + "general" + ], + "is_nsfw": false, + "launched": null, + "closed": null, + "replaced_by": null, + "website": "https://eltr.kg", + "logo": "https://i.ibb.co/r6czQwQ/365049798-774721644658455-5702658175909463406-n-2.png" } ] \ No newline at end of file diff --git a/tests/__data__/input/data/feeds.json b/tests/__data__/input/data/feeds.json new file mode 100644 index 000000000..5170ebf26 --- /dev/null +++ b/tests/__data__/input/data/feeds.json @@ -0,0 +1,830 @@ +[ + { + "channel": "AndorraTV.ad", + "id": "SD", + "name": "SD", + "is_main": true, + "broadcast_area": [ + "c/AD" + ], + "languages": [ + "cat" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "AdaTV.cy", + "id": "SD", + "name": "SD", + "is_main": true, + "broadcast_area": [ + "c/CY" + ], + "languages": [ + "tur" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "BBCNews.uk", + "id": "SD", + "name": "SD", + "is_main": true, + "broadcast_area": [ + "r/INT" + ], + "languages": [ + "eng" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "Eve.us", + "id": "SD", + "name": "SD", + "is_main": true, + "broadcast_area": [ + "c/US" + ], + "languages": [ + "eng" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "EverydayHeroes.us", + "id": "SD", + "name": "SD", + "is_main": true, + "broadcast_area": [ + "c/US" + ], + "languages": [ + "eng" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "FoxSports1.us", + "id": "SD", + "name": "SD", + "broadcast_area": [ + "c/US" + ], + "languages": [ + "eng" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "FoxSports2.us", + "id": "Asia", + "name": "Asia", + "is_main": false, + "broadcast_area": [ + "c/US" + ], + "languages": [ + "eng" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "LDPRTV.ru", + "id": "SD", + "name": "SD", + "is_main": true, + "broadcast_area": [ + "c/RU" + ], + "languages": [ + "rus" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "LibyasChannel.ly", + "id": "SD", + "name": "SD", + "is_main": true, + "broadcast_area": [ + "c/LY" + ], + "languages": [ + "eng" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "MeteoMedia.ca", + "id": "SD", + "name": "SD", + "is_main": true, + "broadcast_area": [ + "s/CA-ON" + ], + "languages": [ + "fru" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "TVN.pl", + "id": "SD", + "name": "SD", + "is_main": true, + "broadcast_area": [ + "c/PL" + ], + "languages": [ + "pol" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "VisitXTV.nl", + "id": "SD", + "name": "SD", + "is_main": true, + "broadcast_area": [ + "r/INT" + ], + "languages": [ + "nld" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "TUTV.us", + "id": "SD", + "name": "SD", + "is_main": true, + "broadcast_area": [ + "c/US" + ], + "languages": [ + "eng" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "ManoramaNews.in", + "id": "SD", + "name": "SD", + "is_main": true, + "broadcast_area": [ + "c/IN" + ], + "languages": [ + "mal" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "TV3.my", + "id": "SD", + "name": "SD", + "is_main": true, + "broadcast_area": [ + "c/MY" + ], + "languages": [ + "eng" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "BBCAmerica.us", + "id": "East", + "name": "East", + "is_main": false, + "broadcast_area": [ + "c/US" + ], + "languages": [ + "eng" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "ATVPlus.pe", + "id": "SD", + "name": "SD", + "is_main": true, + "broadcast_area": [ + "c/PE" + ], + "languages": [ + "spa" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "BeanoTV.uk", + "id": "SD", + "name": "SD", + "is_main": true, + "broadcast_area": [ + "c/UK" + ], + "languages": [ + "eng" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "ATX.jp", + "id": "SD", + "name": "SD", + "is_main": true, + "broadcast_area": [ + "c/JP" + ], + "languages": [ + "jpn" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "AajTak.in", + "id": "SD", + "name": "SD", + "is_main": true, + "broadcast_area": [ + "c/IN", + "c/UK" + ], + "languages": [ + "hin" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "Weathernews.jp", + "id": "SD", + "name": "SD", + "is_main": true, + "broadcast_area": [ + "c/JP" + ], + "languages": [ + "jpn" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "MethTV.lk", + "id": "SD", + "name": "SD", + "is_main": true, + "broadcast_area": [ + "c/LK" + ], + "languages": [ + "tam" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "Match4.hu", + "id": "SD", + "name": "SD", + "is_main": true, + "broadcast_area": [ + "c/HU" + ], + "languages": [ + "hun" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "FastTV.us", + "id": "SD", + "name": "SD", + "is_main": true, + "broadcast_area": [ + "c/US" + ], + "languages": [ + "eng" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "MCOTHD.th", + "id": "SD", + "name": "SD", + "is_main": true, + "broadcast_area": [ + "c/TH" + ], + "languages": [ + "tha" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "AmarinTV.th", + "id": "SD", + "name": "SD", + "is_main": true, + "broadcast_area": [ + "c/TH" + ], + "languages": [ + "tha" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "France2.fr", + "id": "SD", + "name": "SD", + "is_main": true, + "broadcast_area": [ + "c/FR" + ], + "languages": [ + "fra" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "France3.fr", + "id": "SD", + "name": "SD", + "is_main": true, + "broadcast_area": [ + "c/FR" + ], + "languages": [ + "fra" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "France5.fr", + "id": "SD", + "name": "SD", + "is_main": true, + "broadcast_area": [ + "c/FR" + ], + "languages": [ + "fra" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "France3.fr", + "id": "Aquitaine", + "name": "Aquitaine", + "is_main": false, + "broadcast_area": [ + "c/FR" + ], + "languages": [ + "fra" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "France3.fr", + "id": "Auvergne", + "name": "Auvergne", + "is_main": false, + "broadcast_area": [ + "c/FR" + ], + "languages": [ + "fra" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "France3.fr", + "id": "BasseNormandie", + "name": "Basse-Normandie", + "is_main": false, + "broadcast_area": [ + "c/FR" + ], + "languages": [ + "fra" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "France3.fr", + "id": "Bourgogne", + "name": "Bourgogne", + "is_main": false, + "broadcast_area": [ + "c/FR" + ], + "languages": [ + "fra" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "France3.fr", + "id": "Bretagne", + "name": "Bretagne", + "is_main": false, + "broadcast_area": [ + "c/FR" + ], + "languages": [ + "fra" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "France3.fr", + "id": "CentreValdeLoire", + "name": "Centre-Val de Loire", + "is_main": false, + "broadcast_area": [ + "c/FR" + ], + "languages": [ + "fra" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "France3.fr", + "id": "ChampagneArdenne", + "name": "Champagne-Ardenne", + "is_main": false, + "broadcast_area": [ + "c/FR" + ], + "languages": [ + "fra" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "France3.fr", + "id": "CorseViaStella", + "name": "Corse Via Stella", + "is_main": false, + "broadcast_area": [ + "c/FR" + ], + "languages": [ + "fra" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "France3.fr", + "id": "CotedAzur", + "name": "Cote d'Azur", + "is_main": false, + "broadcast_area": [ + "c/FR" + ], + "languages": [ + "fra" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "France3.fr", + "id": "FrancheComte", + "name": "Franche-Comte", + "is_main": false, + "broadcast_area": [ + "c/FR" + ], + "languages": [ + "fra" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "France3.fr", + "id": "HauteNormandie", + "name": "Haute-Normandie", + "is_main": false, + "broadcast_area": [ + "c/FR" + ], + "languages": [ + "fra" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "France3.fr", + "id": "NouvelleAquitaine", + "name": "Nouvelle-Aquitaine", + "is_main": false, + "broadcast_area": [ + "c/FR" + ], + "languages": [ + "fra" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "France3.fr", + "id": "ProvenceAlpes", + "name": "Provence-Alpes", + "is_main": false, + "broadcast_area": [ + "c/FR" + ], + "languages": [ + "fra" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "France3.fr", + "id": "RhoneAlpes", + "name": "Rhone-Alpes", + "is_main": false, + "broadcast_area": [ + "c/FR" + ], + "languages": [ + "fra" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "TF1.fr", + "id": "SD", + "name": "SD", + "is_main": true, + "broadcast_area": [ + "c/FR" + ], + "languages": [ + "fra" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "TF1SeriesFilms.fr", + "id": "SD", + "name": "SD", + "is_main": true, + "broadcast_area": [ + "c/FR" + ], + "languages": [ + "fra" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "TMC.fr", + "id": "SD", + "name": "SD", + "is_main": true, + "broadcast_area": [ + "c/FR", + "c/MC" + ], + "languages": [ + "fra" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "TFX.fr", + "id": "SD", + "name": "SD", + "is_main": true, + "broadcast_area": [ + "c/FR" + ], + "languages": [ + "fra", + "eng" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "ManoramaNews.in", + "id": "SD", + "name": "SD", + "is_main": true, + "broadcast_area": [ + "c/IN" + ], + "languages": [ + "mal" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "13thStreet.au", + "id": "SD", + "name": "SD", + "is_main": true, + "broadcast_area": [ + "c/AU" + ], + "languages": [ + "eng" + ], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "Zoo.ad", + "id": "SD", + "name": "SD", + "is_main": true, + "broadcast_area": [ + "c/AD" + ], + "languages": [], + "timezones": [ + "America/Port_of_Spain" + ], + "video_format": "576i" + }, + { + "channel": "DunaWorld.hu", + "id": "SD", + "name": "SD", + "is_main": true, + "broadcast_area": [ + "r/INT" + ], + "languages": [], + "timezones": [ + "Europe/London" + ], + "video_format": "576i" + }, + { + "channel": "ElTR.kg", + "id": "SD", + "name": "SD", + "is_main": true, + "broadcast_area": [ + "r/CAS" + ], + "timezones": [ + "Asia/Bishkek" + ], + "languages": [], + "video_format": "576i" + } +] \ No newline at end of file diff --git a/tests/__data__/input/data/languages.json b/tests/__data__/input/data/languages.json index 6b2570a79..7997d55ca 100644 --- a/tests/__data__/input/data/languages.json +++ b/tests/__data__/input/data/languages.json @@ -1 +1 @@ -[{"name":"Ghotuo","code":"aaa"},{"name":"Alumu-Tesu","code":"aab"},{"name":"Ari","code":"aac"},{"name":"Amal","code":"aad"},{"name":"Arbรซreshรซ Albanian","code":"aae"},{"name":"Aranadan","code":"aaf"},{"name":"Ambrak","code":"aag"},{"name":"Abu' Arapesh","code":"aah"},{"name":"Arifama-Miniafia","code":"aai"},{"name":"Ankave","code":"aak"},{"name":"Afade","code":"aal"},{"name":"Anambรฉ","code":"aan"},{"name":"Algerian Saharan Arabic","code":"aao"},{"name":"Parรก Arรกra","code":"aap"},{"name":"Eastern Abnaki","code":"aaq"},{"name":"Afar","code":"aar"},{"name":"Aasรกx","code":"aas"},{"name":"Arvanitika Albanian","code":"aat"},{"name":"Abau","code":"aau"},{"name":"Solong","code":"aaw"},{"name":"Mandobo Atas","code":"aax"},{"name":"Amarasi","code":"aaz"},{"name":"Abรฉ","code":"aba"},{"name":"Bankon","code":"abb"},{"name":"Ambala Ayta","code":"abc"},{"name":"Manide","code":"abd"},{"name":"Western Abnaki","code":"abe"},{"name":"Abai Sungai","code":"abf"},{"name":"Abaga","code":"abg"},{"name":"Tajiki Arabic","code":"abh"},{"name":"Abidji","code":"abi"},{"name":"Aka-Bea","code":"abj"},{"name":"Abkhazian","code":"abk"},{"name":"Lampung Nyo","code":"abl"},{"name":"Abanyom","code":"abm"},{"name":"Abua","code":"abn"},{"name":"Abon","code":"abo"},{"name":"Abellen Ayta","code":"abp"},{"name":"Abaza","code":"abq"},{"name":"Abron","code":"abr"},{"name":"Ambonese Malay","code":"abs"},{"name":"Ambulas","code":"abt"},{"name":"Abure","code":"abu"},{"name":"Baharna Arabic","code":"abv"},{"name":"Pal","code":"abw"},{"name":"Inabaknon","code":"abx"},{"name":"Aneme Wake","code":"aby"},{"name":"Abui","code":"abz"},{"name":"Achagua","code":"aca"},{"name":"รncรก","code":"acb"},{"name":"Gikyode","code":"acd"},{"name":"Achinese","code":"ace"},{"name":"Saint Lucian Creole French","code":"acf"},{"name":"Acoli","code":"ach"},{"name":"Aka-Cari","code":"aci"},{"name":"Aka-Kora","code":"ack"},{"name":"Akar-Bale","code":"acl"},{"name":"Mesopotamian Arabic","code":"acm"},{"name":"Achang","code":"acn"},{"name":"Eastern Acipa","code":"acp"},{"name":"Ta'izzi-Adeni Arabic","code":"acq"},{"name":"Achi","code":"acr"},{"name":"Acroรก","code":"acs"},{"name":"Achterhoeks","code":"act"},{"name":"Achuar-Shiwiar","code":"acu"},{"name":"Achumawi","code":"acv"},{"name":"Hijazi Arabic","code":"acw"},{"name":"Omani Arabic","code":"acx"},{"name":"Cypriot Arabic","code":"acy"},{"name":"Acheron","code":"acz"},{"name":"Adangme","code":"ada"},{"name":"Atauran","code":"adb"},{"name":"Dzodinka","code":"add"},{"name":"Lidzonka","code":"add"},{"name":"Adele","code":"ade"},{"name":"Dhofari Arabic","code":"adf"},{"name":"Andegerebinha","code":"adg"},{"name":"Adhola","code":"adh"},{"name":"Adi","code":"adi"},{"name":"Adioukrou","code":"adj"},{"name":"Galo","code":"adl"},{"name":"Adang","code":"adn"},{"name":"Abu","code":"ado"},{"name":"Adangbe","code":"adq"},{"name":"Adonara","code":"adr"},{"name":"Adamorobe Sign Language","code":"ads"},{"name":"Adnyamathanha","code":"adt"},{"name":"Aduge","code":"adu"},{"name":"Amundava","code":"adw"},{"name":"Amdo Tibetan","code":"adx"},{"name":"Adygei","code":"ady"},{"name":"Adyghe","code":"ady"},{"name":"Adzera","code":"adz"},{"name":"Areba","code":"aea"},{"name":"Tunisian Arabic","code":"aeb"},{"name":"Saidi Arabic","code":"aec"},{"name":"Argentine Sign Language","code":"aed"},{"name":"Northeast Pashai","code":"aee"},{"name":"Northeast Pashayi","code":"aee"},{"name":"Haeke","code":"aek"},{"name":"Ambele","code":"ael"},{"name":"Arem","code":"aem"},{"name":"Armenian Sign Language","code":"aen"},{"name":"Aer","code":"aeq"},{"name":"Eastern Arrernte","code":"aer"},{"name":"Alsea","code":"aes"},{"name":"Akeu","code":"aeu"},{"name":"Ambakich","code":"aew"},{"name":"Amele","code":"aey"},{"name":"Aeka","code":"aez"},{"name":"Gulf Arabic","code":"afb"},{"name":"Andai","code":"afd"},{"name":"Putukwam","code":"afe"},{"name":"Afghan Sign Language","code":"afg"},{"name":"Afrihili","code":"afh"},{"name":"Akrukay","code":"afi"},{"name":"Chini","code":"afi"},{"name":"Nanubae","code":"afk"},{"name":"Defaka","code":"afn"},{"name":"Eloyi","code":"afo"},{"name":"Tapei","code":"afp"},{"name":"Afrikaans","code":"afr"},{"name":"Afro-Seminole Creole","code":"afs"},{"name":"Afitti","code":"aft"},{"name":"Awutu","code":"afu"},{"name":"Obokuitai","code":"afz"},{"name":"Aguano","code":"aga"},{"name":"Legbo","code":"agb"},{"name":"Agatu","code":"agc"},{"name":"Agarabi","code":"agd"},{"name":"Angal","code":"age"},{"name":"Arguni","code":"agf"},{"name":"Angor","code":"agg"},{"name":"Ngelima","code":"agh"},{"name":"Agariya","code":"agi"},{"name":"Argobba","code":"agj"},{"name":"Isarog Agta","code":"agk"},{"name":"Fembe","code":"agl"},{"name":"Angaataha","code":"agm"},{"name":"Agutaynen","code":"agn"},{"name":"Tainae","code":"ago"},{"name":"Aghem","code":"agq"},{"name":"Aguaruna","code":"agr"},{"name":"Esimbi","code":"ags"},{"name":"Central Cagayan Agta","code":"agt"},{"name":"Aguacateco","code":"agu"},{"name":"Remontado Dumagat","code":"agv"},{"name":"Kahua","code":"agw"},{"name":"Aghul","code":"agx"},{"name":"Southern Alta","code":"agy"},{"name":"Mt. Iriga Agta","code":"agz"},{"name":"Ahanta","code":"aha"},{"name":"Axamb","code":"ahb"},{"name":"Qimant","code":"ahg"},{"name":"Aghu","code":"ahh"},{"name":"Tiagbamrin Aizi","code":"ahi"},{"name":"Akha","code":"ahk"},{"name":"Igo","code":"ahl"},{"name":"Mobumrin Aizi","code":"ahm"},{"name":"ร€hร n","code":"ahn"},{"name":"Ahom","code":"aho"},{"name":"Aproumu Aizi","code":"ahp"},{"name":"Ahirani","code":"ahr"},{"name":"Ashe","code":"ahs"},{"name":"Ahtena","code":"aht"},{"name":"Arosi","code":"aia"},{"name":"Ainu (China)","code":"aib"},{"name":"Ainbai","code":"aic"},{"name":"Alngith","code":"aid"},{"name":"Amara","code":"aie"},{"name":"Agi","code":"aif"},{"name":"Antigua and Barbuda Creole English","code":"aig"},{"name":"Ai-Cham","code":"aih"},{"name":"Assyrian Neo-Aramaic","code":"aii"},{"name":"Lishanid Noshan","code":"aij"},{"name":"Ake","code":"aik"},{"name":"Aimele","code":"ail"},{"name":"Aimol","code":"aim"},{"name":"Ainu (Japan)","code":"ain"},{"name":"Aiton","code":"aio"},{"name":"Burumakok","code":"aip"},{"name":"Aimaq","code":"aiq"},{"name":"Airoran","code":"air"},{"name":"Arikem","code":"ait"},{"name":"Aari","code":"aiw"},{"name":"Aighon","code":"aix"},{"name":"Ali","code":"aiy"},{"name":"Aja (South Sudan)","code":"aja"},{"name":"Aja (Benin)","code":"ajg"},{"name":"Ajiรซ","code":"aji"},{"name":"Andajin","code":"ajn"},{"name":"South Levantine Arabic","code":"ajp"},{"name":"Judeo-Tunisian Arabic","code":"ajt"},{"name":"Judeo-Moroccan Arabic","code":"aju"},{"name":"Ajawa","code":"ajw"},{"name":"Amri Karbi","code":"ajz"},{"name":"Akan","code":"aka"},{"name":"Batak Angkola","code":"akb"},{"name":"Mpur","code":"akc"},{"name":"Ukpet-Ehom","code":"akd"},{"name":"Akawaio","code":"ake"},{"name":"Akpa","code":"akf"},{"name":"Anakalangu","code":"akg"},{"name":"Angal Heneng","code":"akh"},{"name":"Aiome","code":"aki"},{"name":"Aka-Jeru","code":"akj"},{"name":"Akkadian","code":"akk"},{"name":"Aklanon","code":"akl"},{"name":"Aka-Bo","code":"akm"},{"name":"Akurio","code":"ako"},{"name":"Siwu","code":"akp"},{"name":"Ak","code":"akq"},{"name":"Araki","code":"akr"},{"name":"Akaselem","code":"aks"},{"name":"Akolet","code":"akt"},{"name":"Akum","code":"aku"},{"name":"Akhvakh","code":"akv"},{"name":"Akwa","code":"akw"},{"name":"Aka-Kede","code":"akx"},{"name":"Aka-Kol","code":"aky"},{"name":"Alabama","code":"akz"},{"name":"Alago","code":"ala"},{"name":"Qawasqar","code":"alc"},{"name":"Alladian","code":"ald"},{"name":"Aleut","code":"ale"},{"name":"Alege","code":"alf"},{"name":"Alawa","code":"alh"},{"name":"Amaimon","code":"ali"},{"name":"Alangan","code":"alj"},{"name":"Alak","code":"alk"},{"name":"Allar","code":"all"},{"name":"Amblong","code":"alm"},{"name":"Gheg Albanian","code":"aln"},{"name":"Larike-Wakasihu","code":"alo"},{"name":"Alune","code":"alp"},{"name":"Algonquin","code":"alq"},{"name":"Alutor","code":"alr"},{"name":"Tosk Albanian","code":"als"},{"name":"Southern Altai","code":"alt"},{"name":"'Are'are","code":"alu"},{"name":"Alaba-Kโ€™abeena","code":"alw"},{"name":"Wanbasana","code":"alw"},{"name":"Amol","code":"alx"},{"name":"Alyawarr","code":"aly"},{"name":"Alur","code":"alz"},{"name":"Amanayรฉ","code":"ama"},{"name":"Ambo","code":"amb"},{"name":"Amahuaca","code":"amc"},{"name":"Yanesha'","code":"ame"},{"name":"Hamer-Banna","code":"amf"},{"name":"Amurdak","code":"amg"},{"name":"Amharic","code":"amh"},{"name":"Amis","code":"ami"},{"name":"Amdang","code":"amj"},{"name":"Ambai","code":"amk"},{"name":"War-Jaintia","code":"aml"},{"name":"Ama (Papua New Guinea)","code":"amm"},{"name":"Amanab","code":"amn"},{"name":"Amo","code":"amo"},{"name":"Alamblak","code":"amp"},{"name":"Amahai","code":"amq"},{"name":"Amarakaeri","code":"amr"},{"name":"Southern Amami-Oshima","code":"ams"},{"name":"Amto","code":"amt"},{"name":"Guerrero Amuzgo","code":"amu"},{"name":"Ambelau","code":"amv"},{"name":"Western Neo-Aramaic","code":"amw"},{"name":"Anmatyerre","code":"amx"},{"name":"Ami","code":"amy"},{"name":"Atampaya","code":"amz"},{"name":"Andaqui","code":"ana"},{"name":"Andoa","code":"anb"},{"name":"Ngas","code":"anc"},{"name":"Ansus","code":"and"},{"name":"Xรขrรขcรนรน","code":"ane"},{"name":"Animere","code":"anf"},{"name":"Old English (ca. 450-1100)","code":"ang"},{"name":"Nend","code":"anh"},{"name":"Andi","code":"ani"},{"name":"Anor","code":"anj"},{"name":"Goemai","code":"ank"},{"name":"Anu-Hkongso Chin","code":"anl"},{"name":"Anal","code":"anm"},{"name":"Obolo","code":"ann"},{"name":"Andoque","code":"ano"},{"name":"Angika","code":"anp"},{"name":"Jarawa (India)","code":"anq"},{"name":"Andh","code":"anr"},{"name":"Anserma","code":"ans"},{"name":"Antakarinya","code":"ant"},{"name":"Antikarinya","code":"ant"},{"name":"Anuak","code":"anu"},{"name":"Denya","code":"anv"},{"name":"Anaang","code":"anw"},{"name":"Andra-Hus","code":"anx"},{"name":"Anyin","code":"any"},{"name":"Anem","code":"anz"},{"name":"Angolar","code":"aoa"},{"name":"Abom","code":"aob"},{"name":"Pemon","code":"aoc"},{"name":"Andarum","code":"aod"},{"name":"Angal Enen","code":"aoe"},{"name":"Bragat","code":"aof"},{"name":"Angoram","code":"aog"},{"name":"Anindilyakwa","code":"aoi"},{"name":"Mufian","code":"aoj"},{"name":"Arhรถ","code":"aok"},{"name":"Alor","code":"aol"},{"name":"ร–mie","code":"aom"},{"name":"Bumbita Arapesh","code":"aon"},{"name":"Aore","code":"aor"},{"name":"Taikat","code":"aos"},{"name":"A'tong","code":"aot"},{"name":"Atong (India)","code":"aot"},{"name":"A'ou","code":"aou"},{"name":"Atorada","code":"aox"},{"name":"Uab Meto","code":"aoz"},{"name":"Sa'a","code":"apb"},{"name":"North Levantine Arabic","code":"apc"},{"name":"Sudanese Arabic","code":"apd"},{"name":"Bukiyip","code":"ape"},{"name":"Pahanan Agta","code":"apf"},{"name":"Ampanang","code":"apg"},{"name":"Athpariya","code":"aph"},{"name":"Apiakรก","code":"api"},{"name":"Jicarilla Apache","code":"apj"},{"name":"Kiowa Apache","code":"apk"},{"name":"Lipan Apache","code":"apl"},{"name":"Mescalero-Chiricahua Apache","code":"apm"},{"name":"Apinayรฉ","code":"apn"},{"name":"Ambul","code":"apo"},{"name":"Apma","code":"app"},{"name":"A-Pucikwar","code":"apq"},{"name":"Arop-Lokep","code":"apr"},{"name":"Arop-Sissano","code":"aps"},{"name":"Apatani","code":"apt"},{"name":"Apurinรฃ","code":"apu"},{"name":"Alapmunte","code":"apv"},{"name":"Western Apache","code":"apw"},{"name":"Aputai","code":"apx"},{"name":"Apalaรญ","code":"apy"},{"name":"Safeyoka","code":"apz"},{"name":"Archi","code":"aqc"},{"name":"Ampari Dogon","code":"aqd"},{"name":"Arigidi","code":"aqg"},{"name":"Aninka","code":"aqk"},{"name":"Atohwaim","code":"aqm"},{"name":"Northern Alta","code":"aqn"},{"name":"Atakapa","code":"aqp"},{"name":"Arhรข","code":"aqr"},{"name":"Angaitรฉ","code":"aqt"},{"name":"Akuntsu","code":"aqz"},{"name":"Arabic","code":"ara"},{"name":"Standard Arabic","code":"arb"},{"name":"Imperial Aramaic (700-300 BCE)","code":"arc"},{"name":"Official Aramaic (700-300 BCE)","code":"arc"},{"name":"Arabana","code":"ard"},{"name":"Western Arrarnta","code":"are"},{"name":"Aragonese","code":"arg"},{"name":"Arhuaco","code":"arh"},{"name":"Arikara","code":"ari"},{"name":"Arapaso","code":"arj"},{"name":"Arikapรบ","code":"ark"},{"name":"Arabela","code":"arl"},{"name":"Mapuche","code":"arn"},{"name":"Mapudungun","code":"arn"},{"name":"Araona","code":"aro"},{"name":"Arapaho","code":"arp"},{"name":"Algerian Arabic","code":"arq"},{"name":"Karo (Brazil)","code":"arr"},{"name":"Najdi Arabic","code":"ars"},{"name":"Arawรก","code":"aru"},{"name":"Aruรก (Amazonas State)","code":"aru"},{"name":"Arbore","code":"arv"},{"name":"Arawak","code":"arw"},{"name":"Aruรก (Rodonia State)","code":"arx"},{"name":"Moroccan Arabic","code":"ary"},{"name":"Egyptian Arabic","code":"arz"},{"name":"Asu (Tanzania)","code":"asa"},{"name":"Assiniboine","code":"asb"},{"name":"Casuarina Coast Asmat","code":"asc"},{"name":"American Sign Language","code":"ase"},{"name":"Auslan","code":"asf"},{"name":"Australian Sign Language","code":"asf"},{"name":"Cishingini","code":"asg"},{"name":"Abishira","code":"ash"},{"name":"Buruwai","code":"asi"},{"name":"Sari","code":"asj"},{"name":"Ashkun","code":"ask"},{"name":"Asilulu","code":"asl"},{"name":"Assamese","code":"asm"},{"name":"Xingรบ Asurinรญ","code":"asn"},{"name":"Dano","code":"aso"},{"name":"Algerian Sign Language","code":"asp"},{"name":"Austrian Sign Language","code":"asq"},{"name":"Asuri","code":"asr"},{"name":"Ipulo","code":"ass"},{"name":"Asturian","code":"ast"},{"name":"Asturleonese","code":"ast"},{"name":"Bable","code":"ast"},{"name":"Leonese","code":"ast"},{"name":"Tocantins Asurini","code":"asu"},{"name":"Asoa","code":"asv"},{"name":"Australian Aborigines Sign Language","code":"asw"},{"name":"Muratayak","code":"asx"},{"name":"Yaosakor Asmat","code":"asy"},{"name":"As","code":"asz"},{"name":"Pele-Ata","code":"ata"},{"name":"Zaiwa","code":"atb"},{"name":"Atsahuaca","code":"atc"},{"name":"Ata Manobo","code":"atd"},{"name":"Atemble","code":"ate"},{"name":"Ivbie North-Okpela-Arhe","code":"atg"},{"name":"Attiรฉ","code":"ati"},{"name":"Atikamekw","code":"atj"},{"name":"Ati","code":"atk"},{"name":"Mt. Iraya Agta","code":"atl"},{"name":"Ata","code":"atm"},{"name":"Ashtiani","code":"atn"},{"name":"Atong (Cameroon)","code":"ato"},{"name":"Pudtol Atta","code":"atp"},{"name":"Aralle-Tabulahan","code":"atq"},{"name":"Waimiri-Atroari","code":"atr"},{"name":"Gros Ventre","code":"ats"},{"name":"Pamplona Atta","code":"att"},{"name":"Reel","code":"atu"},{"name":"Northern Altai","code":"atv"},{"name":"Atsugewi","code":"atw"},{"name":"Arutani","code":"atx"},{"name":"Aneityum","code":"aty"},{"name":"Arta","code":"atz"},{"name":"Asumboa","code":"aua"},{"name":"Alugu","code":"aub"},{"name":"Waorani","code":"auc"},{"name":"Anuta","code":"aud"},{"name":"Aguna","code":"aug"},{"name":"Aushi","code":"auh"},{"name":"Anuki","code":"aui"},{"name":"Awjilah","code":"auj"},{"name":"Heyo","code":"auk"},{"name":"Aulua","code":"aul"},{"name":"Asu (Nigeria)","code":"aum"},{"name":"Molmo One","code":"aun"},{"name":"Auyokawa","code":"auo"},{"name":"Makayam","code":"aup"},{"name":"Anus","code":"auq"},{"name":"Korur","code":"auq"},{"name":"Aruek","code":"aur"},{"name":"Austral","code":"aut"},{"name":"Auye","code":"auu"},{"name":"Awyi","code":"auw"},{"name":"Aurรก","code":"aux"},{"name":"Awiyaana","code":"auy"},{"name":"Uzbeki Arabic","code":"auz"},{"name":"Avaric","code":"ava"},{"name":"Avau","code":"avb"},{"name":"Alviri-Vidari","code":"avd"},{"name":"Avestan","code":"ave"},{"name":"Avikam","code":"avi"},{"name":"Kotava","code":"avk"},{"name":"Eastern Egyptian Bedawi Arabic","code":"avl"},{"name":"Angkamuthi","code":"avm"},{"name":"Avatime","code":"avn"},{"name":"Agavotaguerra","code":"avo"},{"name":"Aushiri","code":"avs"},{"name":"Au","code":"avt"},{"name":"Avokaya","code":"avu"},{"name":"Avรก-Canoeiro","code":"avv"},{"name":"Awadhi","code":"awa"},{"name":"Awa (Papua New Guinea)","code":"awb"},{"name":"Cicipu","code":"awc"},{"name":"Awetรญ","code":"awe"},{"name":"Anguthimri","code":"awg"},{"name":"Awbono","code":"awh"},{"name":"Aekyom","code":"awi"},{"name":"Awabakal","code":"awk"},{"name":"Arawum","code":"awm"},{"name":"Awngi","code":"awn"},{"name":"Awak","code":"awo"},{"name":"Awera","code":"awr"},{"name":"South Awyu","code":"aws"},{"name":"Arawetรฉ","code":"awt"},{"name":"Central Awyu","code":"awu"},{"name":"Jair Awyu","code":"awv"},{"name":"Awun","code":"aww"},{"name":"Awara","code":"awx"},{"name":"Edera Awyu","code":"awy"},{"name":"Abipon","code":"axb"},{"name":"Ayerrerenge","code":"axe"},{"name":"Mato Grosso Arรกra","code":"axg"},{"name":"Yaka (Central African Republic)","code":"axk"},{"name":"Lower Southern Aranda","code":"axl"},{"name":"Middle Armenian","code":"axm"},{"name":"Xรขrรขgurรจ","code":"axx"},{"name":"Awar","code":"aya"},{"name":"Ayizo Gbe","code":"ayb"},{"name":"Southern Aymara","code":"ayc"},{"name":"Ayabadhu","code":"ayd"},{"name":"Ayere","code":"aye"},{"name":"Ginyanga","code":"ayg"},{"name":"Hadrami Arabic","code":"ayh"},{"name":"Leyigha","code":"ayi"},{"name":"Akuku","code":"ayk"},{"name":"Libyan Arabic","code":"ayl"},{"name":"Aymara","code":"aym"},{"name":"Sanaani Arabic","code":"ayn"},{"name":"Ayoreo","code":"ayo"},{"name":"North Mesopotamian Arabic","code":"ayp"},{"name":"Ayi (Papua New Guinea)","code":"ayq"},{"name":"Central Aymara","code":"ayr"},{"name":"Sorsogon Ayta","code":"ays"},{"name":"Magbukun Ayta","code":"ayt"},{"name":"Ayu","code":"ayu"},{"name":"Mai Brat","code":"ayz"},{"name":"Azha","code":"aza"},{"name":"South Azerbaijani","code":"azb"},{"name":"Eastern Durango Nahuatl","code":"azd"},{"name":"Azerbaijani","code":"aze"},{"name":"San Pedro Amuzgos Amuzgo","code":"azg"},{"name":"North Azerbaijani","code":"azj"},{"name":"Ipalapa Amuzgo","code":"azm"},{"name":"Western Durango Nahuatl","code":"azn"},{"name":"Awing","code":"azo"},{"name":"Faire Atta","code":"azt"},{"name":"Highland Puebla Nahuatl","code":"azz"},{"name":"Babatana","code":"baa"},{"name":"Bainouk-Gunyuรฑo","code":"bab"},{"name":"Badui","code":"bac"},{"name":"Barรฉ","code":"bae"},{"name":"Nubaca","code":"baf"},{"name":"Tuki","code":"bag"},{"name":"Bahamas Creole English","code":"bah"},{"name":"Barakai","code":"baj"},{"name":"Bashkir","code":"bak"},{"name":"Baluchi","code":"bal"},{"name":"Bambara","code":"bam"},{"name":"Balinese","code":"ban"},{"name":"Waimaha","code":"bao"},{"name":"Bantawa","code":"bap"},{"name":"Bavarian","code":"bar"},{"name":"Basa (Cameroon)","code":"bas"},{"name":"Bada (Nigeria)","code":"bau"},{"name":"Vengo","code":"bav"},{"name":"Bambili-Bambui","code":"baw"},{"name":"Bamun","code":"bax"},{"name":"Batuley","code":"bay"},{"name":"Baatonum","code":"bba"},{"name":"Barai","code":"bbb"},{"name":"Batak Toba","code":"bbc"},{"name":"Bau","code":"bbd"},{"name":"Bangba","code":"bbe"},{"name":"Baibai","code":"bbf"},{"name":"Barama","code":"bbg"},{"name":"Bugan","code":"bbh"},{"name":"Barombi","code":"bbi"},{"name":"Ghomรกlรก'","code":"bbj"},{"name":"Babanki","code":"bbk"},{"name":"Bats","code":"bbl"},{"name":"Babango","code":"bbm"},{"name":"Uneapa","code":"bbn"},{"name":"Konabรฉrรฉ","code":"bbo"},{"name":"Northern Bobo Madarรฉ","code":"bbo"},{"name":"West Central Banda","code":"bbp"},{"name":"Bamali","code":"bbq"},{"name":"Girawa","code":"bbr"},{"name":"Bakpinka","code":"bbs"},{"name":"Mburku","code":"bbt"},{"name":"Kulung (Nigeria)","code":"bbu"},{"name":"Karnai","code":"bbv"},{"name":"Baba","code":"bbw"},{"name":"Bubia","code":"bbx"},{"name":"Befang","code":"bby"},{"name":"Central Bai","code":"bca"},{"name":"Bainouk-Samik","code":"bcb"},{"name":"Southern Balochi","code":"bcc"},{"name":"North Babar","code":"bcd"},{"name":"Bamenyam","code":"bce"},{"name":"Bamu","code":"bcf"},{"name":"Baga Pokur","code":"bcg"},{"name":"Bariai","code":"bch"},{"name":"Baoulรฉ","code":"bci"},{"name":"Bardi","code":"bcj"},{"name":"Bunuba","code":"bck"},{"name":"Central Bikol","code":"bcl"},{"name":"Bannoni","code":"bcm"},{"name":"Bali (Nigeria)","code":"bcn"},{"name":"Kaluli","code":"bco"},{"name":"Bali (Democratic Republic of Congo)","code":"bcp"},{"name":"Bench","code":"bcq"},{"name":"Babine","code":"bcr"},{"name":"Kohumono","code":"bcs"},{"name":"Bendi","code":"bct"},{"name":"Awad Bing","code":"bcu"},{"name":"Shoo-Minda-Nye","code":"bcv"},{"name":"Bana","code":"bcw"},{"name":"Bacama","code":"bcy"},{"name":"Bainouk-Gunyaamolo","code":"bcz"},{"name":"Bayot","code":"bda"},{"name":"Basap","code":"bdb"},{"name":"Emberรก-Baudรณ","code":"bdc"},{"name":"Bunama","code":"bdd"},{"name":"Bade","code":"bde"},{"name":"Biage","code":"bdf"},{"name":"Bonggi","code":"bdg"},{"name":"Baka (South Sudan)","code":"bdh"},{"name":"Burun","code":"bdi"},{"name":"Bai","code":"bdj"},{"name":"Bai (South Sudan)","code":"bdj"},{"name":"Budukh","code":"bdk"},{"name":"Indonesian Bajau","code":"bdl"},{"name":"Buduma","code":"bdm"},{"name":"Baldemu","code":"bdn"},{"name":"Morom","code":"bdo"},{"name":"Bende","code":"bdp"},{"name":"Bahnar","code":"bdq"},{"name":"West Coast Bajau","code":"bdr"},{"name":"Burunge","code":"bds"},{"name":"Bokoto","code":"bdt"},{"name":"Oroko","code":"bdu"},{"name":"Bodo Parja","code":"bdv"},{"name":"Baham","code":"bdw"},{"name":"Budong-Budong","code":"bdx"},{"name":"Bandjalang","code":"bdy"},{"name":"Badeshi","code":"bdz"},{"name":"Beaver","code":"bea"},{"name":"Bebele","code":"beb"},{"name":"Iceve-Maci","code":"bec"},{"name":"Bedoanas","code":"bed"},{"name":"Byangsi","code":"bee"},{"name":"Benabena","code":"bef"},{"name":"Belait","code":"beg"},{"name":"Biali","code":"beh"},{"name":"Bekati'","code":"bei"},{"name":"Bedawiyet","code":"bej"},{"name":"Beja","code":"bej"},{"name":"Bebeli","code":"bek"},{"name":"Belarusian","code":"bel"},{"name":"Bemba (Zambia)","code":"bem"},{"name":"Bengali","code":"ben"},{"name":"Beami","code":"beo"},{"name":"Besoa","code":"bep"},{"name":"Beembe","code":"beq"},{"name":"Besme","code":"bes"},{"name":"Guiberoua Bรฉte","code":"bet"},{"name":"Blagar","code":"beu"},{"name":"Daloa Bรฉtรฉ","code":"bev"},{"name":"Betawi","code":"bew"},{"name":"Jur Modo","code":"bex"},{"name":"Beli (Papua New Guinea)","code":"bey"},{"name":"Bena (Tanzania)","code":"bez"},{"name":"Bari","code":"bfa"},{"name":"Pauri Bareli","code":"bfb"},{"name":"Northern Bai","code":"bfc"},{"name":"Panyi Bai","code":"bfc"},{"name":"Bafut","code":"bfd"},{"name":"Betaf","code":"bfe"},{"name":"Tena","code":"bfe"},{"name":"Bofi","code":"bff"},{"name":"Busang Kayan","code":"bfg"},{"name":"Blafe","code":"bfh"},{"name":"British Sign Language","code":"bfi"},{"name":"Bafanji","code":"bfj"},{"name":"Ban Khor Sign Language","code":"bfk"},{"name":"Banda-Ndรฉlรฉ","code":"bfl"},{"name":"Mmen","code":"bfm"},{"name":"Bunak","code":"bfn"},{"name":"Malba Birifor","code":"bfo"},{"name":"Beba","code":"bfp"},{"name":"Badaga","code":"bfq"},{"name":"Bazigar","code":"bfr"},{"name":"Southern Bai","code":"bfs"},{"name":"Balti","code":"bft"},{"name":"Gahri","code":"bfu"},{"name":"Bondo","code":"bfw"},{"name":"Bantayanon","code":"bfx"},{"name":"Bagheli","code":"bfy"},{"name":"Mahasu Pahari","code":"bfz"},{"name":"Gwamhi-Wuri","code":"bga"},{"name":"Bobongko","code":"bgb"},{"name":"Haryanvi","code":"bgc"},{"name":"Rathwi Bareli","code":"bgd"},{"name":"Bauria","code":"bge"},{"name":"Bangandu","code":"bgf"},{"name":"Bugun","code":"bgg"},{"name":"Giangan","code":"bgi"},{"name":"Bangolan","code":"bgj"},{"name":"Bit","code":"bgk"},{"name":"Buxinhua","code":"bgk"},{"name":"Bo (Laos)","code":"bgl"},{"name":"Western Balochi","code":"bgn"},{"name":"Baga Koga","code":"bgo"},{"name":"Eastern Balochi","code":"bgp"},{"name":"Bagri","code":"bgq"},{"name":"Bawm Chin","code":"bgr"},{"name":"Tagabawa","code":"bgs"},{"name":"Bughotu","code":"bgt"},{"name":"Mbongno","code":"bgu"},{"name":"Warkay-Bipim","code":"bgv"},{"name":"Bhatri","code":"bgw"},{"name":"Balkan Gagauz Turkish","code":"bgx"},{"name":"Benggoi","code":"bgy"},{"name":"Banggai","code":"bgz"},{"name":"Bharia","code":"bha"},{"name":"Bhili","code":"bhb"},{"name":"Biga","code":"bhc"},{"name":"Bhadrawahi","code":"bhd"},{"name":"Bhaya","code":"bhe"},{"name":"Odiai","code":"bhf"},{"name":"Binandere","code":"bhg"},{"name":"Bukharic","code":"bhh"},{"name":"Bhilali","code":"bhi"},{"name":"Bahing","code":"bhj"},{"name":"Bimin","code":"bhl"},{"name":"Bathari","code":"bhm"},{"name":"Bohtan Neo-Aramaic","code":"bhn"},{"name":"Bhojpuri","code":"bho"},{"name":"Bima","code":"bhp"},{"name":"Tukang Besi South","code":"bhq"},{"name":"Bara Malagasy","code":"bhr"},{"name":"Buwal","code":"bhs"},{"name":"Bhattiyali","code":"bht"},{"name":"Bhunjia","code":"bhu"},{"name":"Bahau","code":"bhv"},{"name":"Biak","code":"bhw"},{"name":"Bhalay","code":"bhx"},{"name":"Bhele","code":"bhy"},{"name":"Bada (Indonesia)","code":"bhz"},{"name":"Badimaya","code":"bia"},{"name":"Bisa","code":"bib"},{"name":"Bissa","code":"bib"},{"name":"Bidiyo","code":"bid"},{"name":"Bepour","code":"bie"},{"name":"Biafada","code":"bif"},{"name":"Biangai","code":"big"},{"name":"Bikol","code":"bik"},{"name":"Bile","code":"bil"},{"name":"Bimoba","code":"bim"},{"name":"Bini","code":"bin"},{"name":"Edo","code":"bin"},{"name":"Nai","code":"bio"},{"name":"Bila","code":"bip"},{"name":"Bipi","code":"biq"},{"name":"Bisorio","code":"bir"},{"name":"Bislama","code":"bis"},{"name":"Berinomo","code":"bit"},{"name":"Biete","code":"biu"},{"name":"Southern Birifor","code":"biv"},{"name":"Kol (Cameroon)","code":"biw"},{"name":"Bijori","code":"bix"},{"name":"Birhor","code":"biy"},{"name":"Baloi","code":"biz"},{"name":"Budza","code":"bja"},{"name":"Banggarla","code":"bjb"},{"name":"Bariji","code":"bjc"},{"name":"Biao-Jiao Mien","code":"bje"},{"name":"Barzani Jewish Neo-Aramaic","code":"bjf"},{"name":"Bidyogo","code":"bjg"},{"name":"Bahinemo","code":"bjh"},{"name":"Burji","code":"bji"},{"name":"Kanauji","code":"bjj"},{"name":"Barok","code":"bjk"},{"name":"Bulu (Papua New Guinea)","code":"bjl"},{"name":"Bajelani","code":"bjm"},{"name":"Banjar","code":"bjn"},{"name":"Mid-Southern Banda","code":"bjo"},{"name":"Fanamaket","code":"bjp"},{"name":"Binumarien","code":"bjr"},{"name":"Bajan","code":"bjs"},{"name":"Balanta-Ganja","code":"bjt"},{"name":"Busuu","code":"bju"},{"name":"Bedjond","code":"bjv"},{"name":"Bakwรฉ","code":"bjw"},{"name":"Banao Itneg","code":"bjx"},{"name":"Bayali","code":"bjy"},{"name":"Baruga","code":"bjz"},{"name":"Kyak","code":"bka"},{"name":"Baka (Cameroon)","code":"bkc"},{"name":"Binukid","code":"bkd"},{"name":"Talaandig","code":"bkd"},{"name":"Beeke","code":"bkf"},{"name":"Buraka","code":"bkg"},{"name":"Bakoko","code":"bkh"},{"name":"Baki","code":"bki"},{"name":"Pande","code":"bkj"},{"name":"Brokskat","code":"bkk"},{"name":"Berik","code":"bkl"},{"name":"Kom (Cameroon)","code":"bkm"},{"name":"Bukitan","code":"bkn"},{"name":"Kwa'","code":"bko"},{"name":"Boko (Democratic Republic of Congo)","code":"bkp"},{"name":"Bakairรญ","code":"bkq"},{"name":"Bakumpai","code":"bkr"},{"name":"Northern Sorsoganon","code":"bks"},{"name":"Boloki","code":"bkt"},{"name":"Buhid","code":"bku"},{"name":"Bekwarra","code":"bkv"},{"name":"Bekwel","code":"bkw"},{"name":"Baikeno","code":"bkx"},{"name":"Bokyi","code":"bky"},{"name":"Bungku","code":"bkz"},{"name":"Siksika","code":"bla"},{"name":"Bilua","code":"blb"},{"name":"Bella Coola","code":"blc"},{"name":"Bolango","code":"bld"},{"name":"Balanta-Kentohe","code":"ble"},{"name":"Buol","code":"blf"},{"name":"Kuwaa","code":"blh"},{"name":"Bolia","code":"bli"},{"name":"Bolongan","code":"blj"},{"name":"Pa'O","code":"blk"},{"name":"Pa'o Karen","code":"blk"},{"name":"Biloxi","code":"bll"},{"name":"Beli (South Sudan)","code":"blm"},{"name":"Southern Catanduanes Bikol","code":"bln"},{"name":"Anii","code":"blo"},{"name":"Blablanga","code":"blp"},{"name":"Baluan-Pam","code":"blq"},{"name":"Blang","code":"blr"},{"name":"Balaesang","code":"bls"},{"name":"Tai Dam","code":"blt"},{"name":"Bolo","code":"blv"},{"name":"Kibala","code":"blv"},{"name":"Balangao","code":"blw"},{"name":"Mag-Indi Ayta","code":"blx"},{"name":"Notre","code":"bly"},{"name":"Balantak","code":"blz"},{"name":"Lame","code":"bma"},{"name":"Bembe","code":"bmb"},{"name":"Biem","code":"bmc"},{"name":"Baga Manduri","code":"bmd"},{"name":"Limassa","code":"bme"},{"name":"Bom-Kim","code":"bmf"},{"name":"Bamwe","code":"bmg"},{"name":"Kein","code":"bmh"},{"name":"Bagirmi","code":"bmi"},{"name":"Bote-Majhi","code":"bmj"},{"name":"Ghayavi","code":"bmk"},{"name":"Bomboli","code":"bml"},{"name":"Northern Betsimisaraka Malagasy","code":"bmm"},{"name":"Bina (Papua New Guinea)","code":"bmn"},{"name":"Bambalang","code":"bmo"},{"name":"Bulgebi","code":"bmp"},{"name":"Bomu","code":"bmq"},{"name":"Muinane","code":"bmr"},{"name":"Bilma Kanuri","code":"bms"},{"name":"Biao Mon","code":"bmt"},{"name":"Somba-Siawari","code":"bmu"},{"name":"Bum","code":"bmv"},{"name":"Bomwali","code":"bmw"},{"name":"Baimak","code":"bmx"},{"name":"Baramu","code":"bmz"},{"name":"Bonerate","code":"bna"},{"name":"Bookan","code":"bnb"},{"name":"Bontok","code":"bnc"},{"name":"Banda (Indonesia)","code":"bnd"},{"name":"Bintauna","code":"bne"},{"name":"Masiwang","code":"bnf"},{"name":"Benga","code":"bng"},{"name":"Bangi","code":"bni"},{"name":"Eastern Tawbuid","code":"bnj"},{"name":"Bierebo","code":"bnk"},{"name":"Boon","code":"bnl"},{"name":"Batanga","code":"bnm"},{"name":"Bunun","code":"bnn"},{"name":"Bantoanon","code":"bno"},{"name":"Bola","code":"bnp"},{"name":"Bantik","code":"bnq"},{"name":"Butmas-Tur","code":"bnr"},{"name":"Bundeli","code":"bns"},{"name":"Bentong","code":"bnu"},{"name":"Beneraf","code":"bnv"},{"name":"Bonerif","code":"bnv"},{"name":"Edwas","code":"bnv"},{"name":"Bisis","code":"bnw"},{"name":"Bangubangu","code":"bnx"},{"name":"Bintulu","code":"bny"},{"name":"Beezen","code":"bnz"},{"name":"Bora","code":"boa"},{"name":"Aweer","code":"bob"},{"name":"Tibetan","code":"bod"},{"name":"Mundabli","code":"boe"},{"name":"Bolon","code":"bof"},{"name":"Bamako Sign Language","code":"bog"},{"name":"Boma","code":"boh"},{"name":"Barbareรฑo","code":"boi"},{"name":"Anjam","code":"boj"},{"name":"Bonjo","code":"bok"},{"name":"Bole","code":"bol"},{"name":"Berom","code":"bom"},{"name":"Bine","code":"bon"},{"name":"Tiemacรจwรจ Bozo","code":"boo"},{"name":"Bonkiman","code":"bop"},{"name":"Bogaya","code":"boq"},{"name":"Borรดro","code":"bor"},{"name":"Bosnian","code":"bos"},{"name":"Bongo","code":"bot"},{"name":"Bondei","code":"bou"},{"name":"Tuwuli","code":"bov"},{"name":"Rema","code":"bow"},{"name":"Buamu","code":"box"},{"name":"Bodo (Central African Republic)","code":"boy"},{"name":"Tiรฉyaxo Bozo","code":"boz"},{"name":"Daakaka","code":"bpa"},{"name":"Banda-Banda","code":"bpd"},{"name":"Bauni","code":"bpe"},{"name":"Bonggo","code":"bpg"},{"name":"Botlikh","code":"bph"},{"name":"Bagupi","code":"bpi"},{"name":"Binji","code":"bpj"},{"name":"'ร”rรดรช","code":"bpk"},{"name":"Orowe","code":"bpk"},{"name":"Broome Pearling Lugger Pidgin","code":"bpl"},{"name":"Biyom","code":"bpm"},{"name":"Dzao Min","code":"bpn"},{"name":"Anasi","code":"bpo"},{"name":"Kaure","code":"bpp"},{"name":"Banda Malay","code":"bpq"},{"name":"Koronadal Blaan","code":"bpr"},{"name":"Sarangani Blaan","code":"bps"},{"name":"Barrow Point","code":"bpt"},{"name":"Bongu","code":"bpu"},{"name":"Bian Marind","code":"bpv"},{"name":"Bo (Papua New Guinea)","code":"bpw"},{"name":"Palya Bareli","code":"bpx"},{"name":"Bishnupriya","code":"bpy"},{"name":"Bilba","code":"bpz"},{"name":"Tchumbuli","code":"bqa"},{"name":"Bagusa","code":"bqb"},{"name":"Boko (Benin)","code":"bqc"},{"name":"Boo","code":"bqc"},{"name":"Bung","code":"bqd"},{"name":"Baga Kaloum","code":"bqf"},{"name":"Bago-Kusuntu","code":"bqg"},{"name":"Baima","code":"bqh"},{"name":"Bakhtiari","code":"bqi"},{"name":"Bandial","code":"bqj"},{"name":"Banda-Mbrรจs","code":"bqk"},{"name":"Bilakura","code":"bql"},{"name":"Wumboko","code":"bqm"},{"name":"Bulgarian Sign Language","code":"bqn"},{"name":"Balo","code":"bqo"},{"name":"Busa","code":"bqp"},{"name":"Biritai","code":"bqq"},{"name":"Burusu","code":"bqr"},{"name":"Bosngun","code":"bqs"},{"name":"Bamukumbit","code":"bqt"},{"name":"Boguru","code":"bqu"},{"name":"Begbere-Ejar","code":"bqv"},{"name":"Koro Wachi","code":"bqv"},{"name":"Buru (Nigeria)","code":"bqw"},{"name":"Baangi","code":"bqx"},{"name":"Bengkala Sign Language","code":"bqy"},{"name":"Bakaka","code":"bqz"},{"name":"Braj","code":"bra"},{"name":"Lave","code":"brb"},{"name":"Berbice Creole Dutch","code":"brc"},{"name":"Baraamu","code":"brd"},{"name":"Breton","code":"bre"},{"name":"Bira","code":"brf"},{"name":"Baure","code":"brg"},{"name":"Brahui","code":"brh"},{"name":"Mokpwe","code":"bri"},{"name":"Bieria","code":"brj"},{"name":"Birked","code":"brk"},{"name":"Birwa","code":"brl"},{"name":"Barambu","code":"brm"},{"name":"Boruca","code":"brn"},{"name":"Brokkat","code":"bro"},{"name":"Barapasi","code":"brp"},{"name":"Breri","code":"brq"},{"name":"Birao","code":"brr"},{"name":"Baras","code":"brs"},{"name":"Bitare","code":"brt"},{"name":"Eastern Bru","code":"bru"},{"name":"Western Bru","code":"brv"},{"name":"Bellari","code":"brw"},{"name":"Bodo (India)","code":"brx"},{"name":"Burui","code":"bry"},{"name":"Bilbil","code":"brz"},{"name":"Abinomn","code":"bsa"},{"name":"Brunei Bisaya","code":"bsb"},{"name":"Bassari","code":"bsc"},{"name":"Oniyan","code":"bsc"},{"name":"Wushi","code":"bse"},{"name":"Bauchi","code":"bsf"},{"name":"Bashkardi","code":"bsg"},{"name":"Kati","code":"bsh"},{"name":"Bassossi","code":"bsi"},{"name":"Bangwinji","code":"bsj"},{"name":"Burushaski","code":"bsk"},{"name":"Basa-Gumna","code":"bsl"},{"name":"Busami","code":"bsm"},{"name":"Barasana-Eduria","code":"bsn"},{"name":"Buso","code":"bso"},{"name":"Baga Sitemu","code":"bsp"},{"name":"Bassa","code":"bsq"},{"name":"Bassa-Kontagora","code":"bsr"},{"name":"Akoose","code":"bss"},{"name":"Basketo","code":"bst"},{"name":"Bahonsuai","code":"bsu"},{"name":"Baga Sobanรฉ","code":"bsv"},{"name":"Baiso","code":"bsw"},{"name":"Yangkam","code":"bsx"},{"name":"Sabah Bisaya","code":"bsy"},{"name":"Bata","code":"bta"},{"name":"Bati (Cameroon)","code":"btc"},{"name":"Batak Dairi","code":"btd"},{"name":"Gamo-Ningi","code":"bte"},{"name":"Birgit","code":"btf"},{"name":"Gagnoa Bรฉtรฉ","code":"btg"},{"name":"Biatah Bidayuh","code":"bth"},{"name":"Burate","code":"bti"},{"name":"Bacanese Malay","code":"btj"},{"name":"Batak Mandailing","code":"btm"},{"name":"Ratagnon","code":"btn"},{"name":"Rinconada Bikol","code":"bto"},{"name":"Budibud","code":"btp"},{"name":"Batek","code":"btq"},{"name":"Baetora","code":"btr"},{"name":"Batak Simalungun","code":"bts"},{"name":"Bete-Bendi","code":"btt"},{"name":"Batu","code":"btu"},{"name":"Bateri","code":"btv"},{"name":"Butuanon","code":"btw"},{"name":"Batak Karo","code":"btx"},{"name":"Bobot","code":"bty"},{"name":"Batak Alas-Kluet","code":"btz"},{"name":"Buriat","code":"bua"},{"name":"Bua","code":"bub"},{"name":"Bushi","code":"buc"},{"name":"Ntcham","code":"bud"},{"name":"Beothuk","code":"bue"},{"name":"Bushoong","code":"buf"},{"name":"Buginese","code":"bug"},{"name":"Younuo Bunu","code":"buh"},{"name":"Bongili","code":"bui"},{"name":"Basa-Gurmana","code":"buj"},{"name":"Bugawac","code":"buk"},{"name":"Bulgarian","code":"bul"},{"name":"Bulu (Cameroon)","code":"bum"},{"name":"Sherbro","code":"bun"},{"name":"Terei","code":"buo"},{"name":"Busoa","code":"bup"},{"name":"Brem","code":"buq"},{"name":"Bokobaru","code":"bus"},{"name":"Bungain","code":"but"},{"name":"Budu","code":"buu"},{"name":"Bun","code":"buv"},{"name":"Bubi","code":"buw"},{"name":"Boghom","code":"bux"},{"name":"Bullom So","code":"buy"},{"name":"Bukwen","code":"buz"},{"name":"Barein","code":"bva"},{"name":"Bube","code":"bvb"},{"name":"Baelelea","code":"bvc"},{"name":"Baeggu","code":"bvd"},{"name":"Berau Malay","code":"bve"},{"name":"Boor","code":"bvf"},{"name":"Bonkeng","code":"bvg"},{"name":"Bure","code":"bvh"},{"name":"Belanda Viri","code":"bvi"},{"name":"Baan","code":"bvj"},{"name":"Bukat","code":"bvk"},{"name":"Bolivian Sign Language","code":"bvl"},{"name":"Bamunka","code":"bvm"},{"name":"Buna","code":"bvn"},{"name":"Bolgo","code":"bvo"},{"name":"Bumang","code":"bvp"},{"name":"Birri","code":"bvq"},{"name":"Burarra","code":"bvr"},{"name":"Bati (Indonesia)","code":"bvt"},{"name":"Bukit Malay","code":"bvu"},{"name":"Baniva","code":"bvv"},{"name":"Boga","code":"bvw"},{"name":"Dibole","code":"bvx"},{"name":"Baybayanon","code":"bvy"},{"name":"Bauzi","code":"bvz"},{"name":"Bwatoo","code":"bwa"},{"name":"Namosi-Naitasiri-Serua","code":"bwb"},{"name":"Bwile","code":"bwc"},{"name":"Bwaidoka","code":"bwd"},{"name":"Bwe Karen","code":"bwe"},{"name":"Boselewa","code":"bwf"},{"name":"Barwe","code":"bwg"},{"name":"Bishuo","code":"bwh"},{"name":"Baniwa","code":"bwi"},{"name":"Lรกรก Lรกรก Bwamu","code":"bwj"},{"name":"Bauwaki","code":"bwk"},{"name":"Bwela","code":"bwl"},{"name":"Biwat","code":"bwm"},{"name":"Wunai Bunu","code":"bwn"},{"name":"Borna (Ethiopia)","code":"bwo"},{"name":"Boro (Ethiopia)","code":"bwo"},{"name":"Mandobo Bawah","code":"bwp"},{"name":"Southern Bobo Madarรฉ","code":"bwq"},{"name":"Bura-Pabir","code":"bwr"},{"name":"Bomboma","code":"bws"},{"name":"Bafaw-Balong","code":"bwt"},{"name":"Buli (Ghana)","code":"bwu"},{"name":"Bwa","code":"bww"},{"name":"Bu-Nao Bunu","code":"bwx"},{"name":"Cwi Bwamu","code":"bwy"},{"name":"Bwisi","code":"bwz"},{"name":"Tairaha","code":"bxa"},{"name":"Belanda Bor","code":"bxb"},{"name":"Molengue","code":"bxc"},{"name":"Pela","code":"bxd"},{"name":"Birale","code":"bxe"},{"name":"Bilur","code":"bxf"},{"name":"Minigir","code":"bxf"},{"name":"Bangala","code":"bxg"},{"name":"Buhutu","code":"bxh"},{"name":"Pirlatapa","code":"bxi"},{"name":"Bayungu","code":"bxj"},{"name":"Bukusu","code":"bxk"},{"name":"Lubukusu","code":"bxk"},{"name":"Jalkunan","code":"bxl"},{"name":"Mongolia Buriat","code":"bxm"},{"name":"Burduna","code":"bxn"},{"name":"Barikanchi","code":"bxo"},{"name":"Bebil","code":"bxp"},{"name":"Beele","code":"bxq"},{"name":"Russia Buriat","code":"bxr"},{"name":"Busam","code":"bxs"},{"name":"China Buriat","code":"bxu"},{"name":"Berakou","code":"bxv"},{"name":"Bankagooma","code":"bxw"},{"name":"Binahari","code":"bxz"},{"name":"Batak","code":"bya"},{"name":"Bikya","code":"byb"},{"name":"Ubaghara","code":"byc"},{"name":"Benyadu'","code":"byd"},{"name":"Pouye","code":"bye"},{"name":"Bete","code":"byf"},{"name":"Baygo","code":"byg"},{"name":"Bhujel","code":"byh"},{"name":"Buyu","code":"byi"},{"name":"Bina (Nigeria)","code":"byj"},{"name":"Biao","code":"byk"},{"name":"Bayono","code":"byl"},{"name":"Bidjara","code":"bym"},{"name":"Bilin","code":"byn"},{"name":"Blin","code":"byn"},{"name":"Biyo","code":"byo"},{"name":"Bumaji","code":"byp"},{"name":"Basay","code":"byq"},{"name":"Baruya","code":"byr"},{"name":"Yipma","code":"byr"},{"name":"Burak","code":"bys"},{"name":"Berti","code":"byt"},{"name":"Medumba","code":"byv"},{"name":"Belhariya","code":"byw"},{"name":"Qaqet","code":"byx"},{"name":"Banaro","code":"byz"},{"name":"Bandi","code":"bza"},{"name":"Andio","code":"bzb"},{"name":"Southern Betsimisaraka Malagasy","code":"bzc"},{"name":"Bribri","code":"bzd"},{"name":"Jenaama Bozo","code":"bze"},{"name":"Boikin","code":"bzf"},{"name":"Babuza","code":"bzg"},{"name":"Mapos Buang","code":"bzh"},{"name":"Bisu","code":"bzi"},{"name":"Belize Kriol English","code":"bzj"},{"name":"Nicaragua Creole English","code":"bzk"},{"name":"Boano (Sulawesi)","code":"bzl"},{"name":"Bolondo","code":"bzm"},{"name":"Boano (Maluku)","code":"bzn"},{"name":"Bozaba","code":"bzo"},{"name":"Kemberano","code":"bzp"},{"name":"Buli (Indonesia)","code":"bzq"},{"name":"Biri","code":"bzr"},{"name":"Brazilian Sign Language","code":"bzs"},{"name":"Brithenig","code":"bzt"},{"name":"Burmeso","code":"bzu"},{"name":"Naami","code":"bzv"},{"name":"Basa (Nigeria)","code":"bzw"},{"name":"Kษ›lษ›ngaxo Bozo","code":"bzx"},{"name":"Obanliku","code":"bzy"},{"name":"Evant","code":"bzz"},{"name":"Chortรญ","code":"caa"},{"name":"Garifuna","code":"cab"},{"name":"Chuj","code":"cac"},{"name":"Caddo","code":"cad"},{"name":"Laalaa","code":"cae"},{"name":"Lehar","code":"cae"},{"name":"Southern Carrier","code":"caf"},{"name":"Nivaclรฉ","code":"cag"},{"name":"Cahuarano","code":"cah"},{"name":"Chanรฉ","code":"caj"},{"name":"Cakchiquel","code":"cak"},{"name":"Kaqchikel","code":"cak"},{"name":"Carolinian","code":"cal"},{"name":"Cemuhรฎ","code":"cam"},{"name":"Chambri","code":"can"},{"name":"Chรกcobo","code":"cao"},{"name":"Chipaya","code":"cap"},{"name":"Car Nicobarese","code":"caq"},{"name":"Galibi Carib","code":"car"},{"name":"Tsimanรฉ","code":"cas"},{"name":"Catalan","code":"cat"},{"name":"Valencian","code":"cat"},{"name":"Cavineรฑa","code":"cav"},{"name":"Callawalla","code":"caw"},{"name":"Chiquitano","code":"cax"},{"name":"Cayuga","code":"cay"},{"name":"Canichana","code":"caz"},{"name":"Cabiyarรญ","code":"cbb"},{"name":"Carapana","code":"cbc"},{"name":"Carijona","code":"cbd"},{"name":"Chimila","code":"cbg"},{"name":"Chachi","code":"cbi"},{"name":"Ede Cabe","code":"cbj"},{"name":"Chavacano","code":"cbk"},{"name":"Bualkhaw Chin","code":"cbl"},{"name":"Nyahkur","code":"cbn"},{"name":"Izora","code":"cbo"},{"name":"Cuba","code":"cbq"},{"name":"Tsucuba","code":"cbq"},{"name":"Cashibo-Cacataibo","code":"cbr"},{"name":"Cashinahua","code":"cbs"},{"name":"Chayahuita","code":"cbt"},{"name":"Candoshi-Shapra","code":"cbu"},{"name":"Cacua","code":"cbv"},{"name":"Kinabalian","code":"cbw"},{"name":"Carabayo","code":"cby"},{"name":"Chamicuro","code":"ccc"},{"name":"Cafundo Creole","code":"ccd"},{"name":"Chopi","code":"cce"},{"name":"Samba Daka","code":"ccg"},{"name":"Atsam","code":"cch"},{"name":"Kasanga","code":"ccj"},{"name":"Cutchi-Swahili","code":"ccl"},{"name":"Malaccan Creole Malay","code":"ccm"},{"name":"Comaltepec Chinantec","code":"cco"},{"name":"Chakma","code":"ccp"},{"name":"Cacaopera","code":"ccr"},{"name":"Choni","code":"cda"},{"name":"Chenchu","code":"cde"},{"name":"Chiru","code":"cdf"},{"name":"Chambeali","code":"cdh"},{"name":"Chodri","code":"cdi"},{"name":"Churahi","code":"cdj"},{"name":"Chepang","code":"cdm"},{"name":"Chaudangsi","code":"cdn"},{"name":"Min Dong Chinese","code":"cdo"},{"name":"Cinda-Regi-Tiyal","code":"cdr"},{"name":"Chadian Sign Language","code":"cds"},{"name":"Chadong","code":"cdy"},{"name":"Koda","code":"cdz"},{"name":"Lower Chehalis","code":"cea"},{"name":"Cebuano","code":"ceb"},{"name":"Chamacoco","code":"ceg"},{"name":"Eastern Khumi Chin","code":"cek"},{"name":"Cen","code":"cen"},{"name":"Czech","code":"ces"},{"name":"Centรบรบm","code":"cet"},{"name":"Ekai Chin","code":"cey"},{"name":"Dijim-Bwilim","code":"cfa"},{"name":"Cara","code":"cfd"},{"name":"Como Karim","code":"cfg"},{"name":"Falam Chin","code":"cfm"},{"name":"Changriwa","code":"cga"},{"name":"Kagayanen","code":"cgc"},{"name":"Chiga","code":"cgg"},{"name":"Chocangacakha","code":"cgk"},{"name":"Chamorro","code":"cha"},{"name":"Chibcha","code":"chb"},{"name":"Catawba","code":"chc"},{"name":"Highland Oaxaca Chontal","code":"chd"},{"name":"Chechen","code":"che"},{"name":"Tabasco Chontal","code":"chf"},{"name":"Chagatai","code":"chg"},{"name":"Chinook","code":"chh"},{"name":"Ojitlรกn Chinantec","code":"chj"},{"name":"Chuukese","code":"chk"},{"name":"Cahuilla","code":"chl"},{"name":"Mari (Russia)","code":"chm"},{"name":"Chinook jargon","code":"chn"},{"name":"Choctaw","code":"cho"},{"name":"Chipewyan","code":"chp"},{"name":"Dene Suline","code":"chp"},{"name":"Quiotepec Chinantec","code":"chq"},{"name":"Cherokee","code":"chr"},{"name":"Cholรณn","code":"cht"},{"name":"Church Slavic","code":"chu"},{"name":"Church Slavonic","code":"chu"},{"name":"Old Bulgarian","code":"chu"},{"name":"Old Church Slavonic","code":"chu"},{"name":"Old Slavonic","code":"chu"},{"name":"Chuvash","code":"chv"},{"name":"Chuwabu","code":"chw"},{"name":"Chantyal","code":"chx"},{"name":"Cheyenne","code":"chy"},{"name":"Ozumacรญn Chinantec","code":"chz"},{"name":"Cia-Cia","code":"cia"},{"name":"Ci Gbe","code":"cib"},{"name":"Chickasaw","code":"cic"},{"name":"Chimariko","code":"cid"},{"name":"Cineni","code":"cie"},{"name":"Chinali","code":"cih"},{"name":"Chitkuli Kinnauri","code":"cik"},{"name":"Cimbrian","code":"cim"},{"name":"Cinta Larga","code":"cin"},{"name":"Chiapanec","code":"cip"},{"name":"Hamรฉa","code":"cir"},{"name":"Mรฉa","code":"cir"},{"name":"Tiri","code":"cir"},{"name":"Chippewa","code":"ciw"},{"name":"Chaima","code":"ciy"},{"name":"Western Cham","code":"cja"},{"name":"Chru","code":"cje"},{"name":"Upper Chehalis","code":"cjh"},{"name":"Chamalal","code":"cji"},{"name":"Chokwe","code":"cjk"},{"name":"Eastern Cham","code":"cjm"},{"name":"Chenapian","code":"cjn"},{"name":"Ashรฉninka Pajonal","code":"cjo"},{"name":"Cabรฉcar","code":"cjp"},{"name":"Shor","code":"cjs"},{"name":"Chuave","code":"cjv"},{"name":"Jinyu Chinese","code":"cjy"},{"name":"Central Kurdish","code":"ckb"},{"name":"Chak","code":"ckh"},{"name":"Cibak","code":"ckl"},{"name":"Chakavian","code":"ckm"},{"name":"Kaang Chin","code":"ckn"},{"name":"Anufo","code":"cko"},{"name":"Kajakse","code":"ckq"},{"name":"Kairak","code":"ckr"},{"name":"Tayo","code":"cks"},{"name":"Chukot","code":"ckt"},{"name":"Koasati","code":"cku"},{"name":"Kavalan","code":"ckv"},{"name":"Caka","code":"ckx"},{"name":"Cakfem-Mushere","code":"cky"},{"name":"Cakchiquel-Quichรฉ Mixed Language","code":"ckz"},{"name":"Ron","code":"cla"},{"name":"Chilcotin","code":"clc"},{"name":"Chaldean Neo-Aramaic","code":"cld"},{"name":"Lealao Chinantec","code":"cle"},{"name":"Chilisso","code":"clh"},{"name":"Chakali","code":"cli"},{"name":"Laitu Chin","code":"clj"},{"name":"Idu-Mishmi","code":"clk"},{"name":"Chala","code":"cll"},{"name":"Clallam","code":"clm"},{"name":"Lowland Oaxaca Chontal","code":"clo"},{"name":"Lautu Chin","code":"clt"},{"name":"Caluyanun","code":"clu"},{"name":"Chulym","code":"clw"},{"name":"Eastern Highland Chatino","code":"cly"},{"name":"Maa","code":"cma"},{"name":"Cerma","code":"cme"},{"name":"Classical Mongolian","code":"cmg"},{"name":"Emberรก-Chamรญ","code":"cmi"},{"name":"Campalagian","code":"cml"},{"name":"Michigamea","code":"cmm"},{"name":"Mandarin Chinese","code":"cmn"},{"name":"Central Mnong","code":"cmo"},{"name":"Mro-Khimi Chin","code":"cmr"},{"name":"Messapic","code":"cms"},{"name":"Camtho","code":"cmt"},{"name":"Changthang","code":"cna"},{"name":"Chinbon Chin","code":"cnb"},{"name":"Cรดรดng","code":"cnc"},{"name":"Northern Qiang","code":"cng"},{"name":"Haka Chin","code":"cnh"},{"name":"Hakha Chin","code":"cnh"},{"name":"Ashรกninka","code":"cni"},{"name":"Khumi Chin","code":"cnk"},{"name":"Lalana Chinantec","code":"cnl"},{"name":"Con","code":"cno"},{"name":"Northern Ping Chinese","code":"cnp"},{"name":"Northern Pinghua","code":"cnp"},{"name":"Montenegrin","code":"cnr"},{"name":"Central Asmat","code":"cns"},{"name":"Tepetotutla Chinantec","code":"cnt"},{"name":"Chenoua","code":"cnu"},{"name":"Ngawn Chin","code":"cnw"},{"name":"Middle Cornish","code":"cnx"},{"name":"Cocos Islands Malay","code":"coa"},{"name":"Chicomuceltec","code":"cob"},{"name":"Cocopa","code":"coc"},{"name":"Cocama-Cocamilla","code":"cod"},{"name":"Koreguaje","code":"coe"},{"name":"Colorado","code":"cof"},{"name":"Chong","code":"cog"},{"name":"Chichonyi-Chidzihana-Chikauma","code":"coh"},{"name":"Chonyi-Dzihana-Kauma","code":"coh"},{"name":"Cochimi","code":"coj"},{"name":"Santa Teresa Cora","code":"cok"},{"name":"Columbia-Wenatchi","code":"col"},{"name":"Comanche","code":"com"},{"name":"Cofรกn","code":"con"},{"name":"Comox","code":"coo"},{"name":"Coptic","code":"cop"},{"name":"Coquille","code":"coq"},{"name":"Cornish","code":"cor"},{"name":"Corsican","code":"cos"},{"name":"Caquinte","code":"cot"},{"name":"Wamey","code":"cou"},{"name":"Cao Miao","code":"cov"},{"name":"Cowlitz","code":"cow"},{"name":"Nanti","code":"cox"},{"name":"Chochotec","code":"coz"},{"name":"Palantla Chinantec","code":"cpa"},{"name":"Ucayali-Yurรบa Ashรฉninka","code":"cpb"},{"name":"Ajyรญninka Apurucayali","code":"cpc"},{"name":"Cappadocian Greek","code":"cpg"},{"name":"Chinese Pidgin English","code":"cpi"},{"name":"Cherepon","code":"cpn"},{"name":"Kpeego","code":"cpo"},{"name":"Capiznon","code":"cps"},{"name":"Pichis Ashรฉninka","code":"cpu"},{"name":"Pu-Xian Chinese","code":"cpx"},{"name":"South Ucayali Ashรฉninka","code":"cpy"},{"name":"Chuanqiandian Cluster Miao","code":"cqd"},{"name":"Chara","code":"cra"},{"name":"Island Carib","code":"crb"},{"name":"Lonwolwol","code":"crc"},{"name":"Coeur d'Alene","code":"crd"},{"name":"Cree","code":"cre"},{"name":"Caramanta","code":"crf"},{"name":"Michif","code":"crg"},{"name":"Crimean Tatar","code":"crh"},{"name":"Crimean Turkish","code":"crh"},{"name":"Sรฃotomense","code":"cri"},{"name":"Southern East Cree","code":"crj"},{"name":"Plains Cree","code":"crk"},{"name":"Northern East Cree","code":"crl"},{"name":"Moose Cree","code":"crm"},{"name":"El Nayar Cora","code":"crn"},{"name":"Crow","code":"cro"},{"name":"Iyo'wujwa Chorote","code":"crq"},{"name":"Carolina Algonquian","code":"crr"},{"name":"Seselwa Creole French","code":"crs"},{"name":"Iyojwa'ja Chorote","code":"crt"},{"name":"Chaura","code":"crv"},{"name":"Chrau","code":"crw"},{"name":"Carrier","code":"crx"},{"name":"Cori","code":"cry"},{"name":"Cruzeรฑo","code":"crz"},{"name":"Chiltepec Chinantec","code":"csa"},{"name":"Kashubian","code":"csb"},{"name":"Catalan Sign Language","code":"csc"},{"name":"Lengua de seรฑas catalana","code":"csc"},{"name":"Llengua de Signes Catalana","code":"csc"},{"name":"Chiangmai Sign Language","code":"csd"},{"name":"Czech Sign Language","code":"cse"},{"name":"Cuba Sign Language","code":"csf"},{"name":"Chilean Sign Language","code":"csg"},{"name":"Asho Chin","code":"csh"},{"name":"Coast Miwok","code":"csi"},{"name":"Songlai Chin","code":"csj"},{"name":"Jola-Kasa","code":"csk"},{"name":"Chinese Sign Language","code":"csl"},{"name":"Central Sierra Miwok","code":"csm"},{"name":"Colombian Sign Language","code":"csn"},{"name":"Sochiapam Chinantec","code":"cso"},{"name":"Sochiapan Chinantec","code":"cso"},{"name":"Southern Ping Chinese","code":"csp"},{"name":"Southern Pinghua","code":"csp"},{"name":"Croatia Sign Language","code":"csq"},{"name":"Costa Rican Sign Language","code":"csr"},{"name":"Southern Ohlone","code":"css"},{"name":"Northern Ohlone","code":"cst"},{"name":"Sumtu Chin","code":"csv"},{"name":"Swampy Cree","code":"csw"},{"name":"Cambodian Sign Language","code":"csx"},{"name":"Siyin Chin","code":"csy"},{"name":"Coos","code":"csz"},{"name":"Tataltepec Chatino","code":"cta"},{"name":"Chetco","code":"ctc"},{"name":"Tedim Chin","code":"ctd"},{"name":"Tepinapa Chinantec","code":"cte"},{"name":"Chittagonian","code":"ctg"},{"name":"Thaiphum Chin","code":"cth"},{"name":"Tlacoatzintepec Chinantec","code":"ctl"},{"name":"Chitimacha","code":"ctm"},{"name":"Chhintange","code":"ctn"},{"name":"Emberรก-Catรญo","code":"cto"},{"name":"Western Highland Chatino","code":"ctp"},{"name":"Northern Catanduanes Bikol","code":"cts"},{"name":"Wayanad Chetti","code":"ctt"},{"name":"Chol","code":"ctu"},{"name":"Moundadan Chetty","code":"cty"},{"name":"Zacatepec Chatino","code":"ctz"},{"name":"Cua","code":"cua"},{"name":"Cubeo","code":"cub"},{"name":"Usila Chinantec","code":"cuc"},{"name":"Chungmboko","code":"cug"},{"name":"Cung","code":"cug"},{"name":"Chuka","code":"cuh"},{"name":"Gichuka","code":"cuh"},{"name":"Cuiba","code":"cui"},{"name":"Mashco Piro","code":"cuj"},{"name":"San Blas Kuna","code":"cuk"},{"name":"Culina","code":"cul"},{"name":"Kulina","code":"cul"},{"name":"Cumanagoto","code":"cuo"},{"name":"Cupeรฑo","code":"cup"},{"name":"Cun","code":"cuq"},{"name":"Chhulung","code":"cur"},{"name":"Teutila Cuicatec","code":"cut"},{"name":"Tai Ya","code":"cuu"},{"name":"Cuvok","code":"cuv"},{"name":"Chukwa","code":"cuw"},{"name":"Tepeuxila Cuicatec","code":"cux"},{"name":"Cuitlatec","code":"cuy"},{"name":"Chug","code":"cvg"},{"name":"Valle Nacional Chinantec","code":"cvn"},{"name":"Kabwa","code":"cwa"},{"name":"Maindo","code":"cwb"},{"name":"Woods Cree","code":"cwd"},{"name":"Kwere","code":"cwe"},{"name":"Cheq Wong","code":"cwg"},{"name":"Chewong","code":"cwg"},{"name":"Kuwaataay","code":"cwt"},{"name":"Nopala Chatino","code":"cya"},{"name":"Cayubaba","code":"cyb"},{"name":"Welsh","code":"cym"},{"name":"Cuyonon","code":"cyo"},{"name":"Huizhou Chinese","code":"czh"},{"name":"Knaanic","code":"czk"},{"name":"Zenzontepec Chatino","code":"czn"},{"name":"Min Zhong Chinese","code":"czo"},{"name":"Zotung Chin","code":"czt"},{"name":"Dangalรฉat","code":"daa"},{"name":"Dambi","code":"dac"},{"name":"Marik","code":"dad"},{"name":"Duupa","code":"dae"},{"name":"Dagbani","code":"dag"},{"name":"Gwahatike","code":"dah"},{"name":"Day","code":"dai"},{"name":"Dar Fur Daju","code":"daj"},{"name":"Dakota","code":"dak"},{"name":"Dahalo","code":"dal"},{"name":"Damakawa","code":"dam"},{"name":"Danish","code":"dan"},{"name":"Daai Chin","code":"dao"},{"name":"Dandami Maria","code":"daq"},{"name":"Dargwa","code":"dar"},{"name":"Daho-Doo","code":"das"},{"name":"Dar Sila Daju","code":"dau"},{"name":"Dawida","code":"dav"},{"name":"Taita","code":"dav"},{"name":"Davawenyo","code":"daw"},{"name":"Dayi","code":"dax"},{"name":"Dao","code":"daz"},{"name":"Bangime","code":"dba"},{"name":"Deno","code":"dbb"},{"name":"Dadiya","code":"dbd"},{"name":"Dabe","code":"dbe"},{"name":"Edopi","code":"dbf"},{"name":"Dogul Dom Dogon","code":"dbg"},{"name":"Doka","code":"dbi"},{"name":"Ida'an","code":"dbj"},{"name":"Dyirbal","code":"dbl"},{"name":"Duguri","code":"dbm"},{"name":"Duriankere","code":"dbn"},{"name":"Dulbu","code":"dbo"},{"name":"Duwai","code":"dbp"},{"name":"Daba","code":"dbq"},{"name":"Dabarre","code":"dbr"},{"name":"Ben Tey Dogon","code":"dbt"},{"name":"Bondum Dom Dogon","code":"dbu"},{"name":"Dungu","code":"dbv"},{"name":"Bankan Tey Dogon","code":"dbw"},{"name":"Dibiyaso","code":"dby"},{"name":"Deccan","code":"dcc"},{"name":"Negerhollands","code":"dcr"},{"name":"Dadi Dadi","code":"dda"},{"name":"Dongotono","code":"ddd"},{"name":"Doondo","code":"dde"},{"name":"Fataluku","code":"ddg"},{"name":"West Goodenough","code":"ddi"},{"name":"Jaru","code":"ddj"},{"name":"Dendi (Benin)","code":"ddn"},{"name":"Dido","code":"ddo"},{"name":"Dhudhuroa","code":"ddr"},{"name":"Donno So Dogon","code":"dds"},{"name":"Dawera-Daweloor","code":"ddw"},{"name":"Dagik","code":"dec"},{"name":"Dedua","code":"ded"},{"name":"Dewoin","code":"dee"},{"name":"Dezfuli","code":"def"},{"name":"Degema","code":"deg"},{"name":"Dehwari","code":"deh"},{"name":"Demisa","code":"dei"},{"name":"Dek","code":"dek"},{"name":"Delaware","code":"del"},{"name":"Dem","code":"dem"},{"name":"Slave (Athapascan)","code":"den"},{"name":"Pidgin Delaware","code":"dep"},{"name":"Dendi (Central African Republic)","code":"deq"},{"name":"Deori","code":"der"},{"name":"Desano","code":"des"},{"name":"German","code":"deu"},{"name":"Domung","code":"dev"},{"name":"Dengese","code":"dez"},{"name":"Southern Dagaare","code":"dga"},{"name":"Bunoge Dogon","code":"dgb"},{"name":"Casiguran Dumagat Agta","code":"dgc"},{"name":"Dagaari Dioula","code":"dgd"},{"name":"Degenan","code":"dge"},{"name":"Doga","code":"dgg"},{"name":"Dghwede","code":"dgh"},{"name":"Northern Dagara","code":"dgi"},{"name":"Dagba","code":"dgk"},{"name":"Andaandi","code":"dgl"},{"name":"Dongolawi","code":"dgl"},{"name":"Dagoman","code":"dgn"},{"name":"Dogri (individual language)","code":"dgo"},{"name":"Dogrib","code":"dgr"},{"name":"Tล‚ฤฑฬจchoฬจ","code":"dgr"},{"name":"Dogoso","code":"dgs"},{"name":"Ndra'ngith","code":"dgt"},{"name":"Daungwurrung","code":"dgw"},{"name":"Doghoro","code":"dgx"},{"name":"Daga","code":"dgz"},{"name":"Dhundari","code":"dhd"},{"name":"Dhangu","code":"dhg"},{"name":"Dhangu-Djangu","code":"dhg"},{"name":"Djangu","code":"dhg"},{"name":"Dhimal","code":"dhi"},{"name":"Dhalandji","code":"dhl"},{"name":"Zemba","code":"dhm"},{"name":"Dhanki","code":"dhn"},{"name":"Dhodia","code":"dho"},{"name":"Dhargari","code":"dhr"},{"name":"Dhaiso","code":"dhs"},{"name":"Dhurga","code":"dhu"},{"name":"Dehu","code":"dhv"},{"name":"Drehu","code":"dhv"},{"name":"Dhanwar (Nepal)","code":"dhw"},{"name":"Dhungaloo","code":"dhx"},{"name":"Dia","code":"dia"},{"name":"South Central Dinka","code":"dib"},{"name":"Lakota Dida","code":"dic"},{"name":"Didinga","code":"did"},{"name":"Dieri","code":"dif"},{"name":"Diyari","code":"dif"},{"name":"Chidigo","code":"dig"},{"name":"Digo","code":"dig"},{"name":"Kumiai","code":"dih"},{"name":"Dimbong","code":"dii"},{"name":"Dai","code":"dij"},{"name":"Southwestern Dinka","code":"dik"},{"name":"Dilling","code":"dil"},{"name":"Dime","code":"dim"},{"name":"Dinka","code":"din"},{"name":"Dibo","code":"dio"},{"name":"Northeastern Dinka","code":"dip"},{"name":"Dimli (individual language)","code":"diq"},{"name":"Dirim","code":"dir"},{"name":"Dimasa","code":"dis"},{"name":"Diriku","code":"diu"},{"name":"Dhivehi","code":"div"},{"name":"Divehi","code":"div"},{"name":"Maldivian","code":"div"},{"name":"Northwestern Dinka","code":"diw"},{"name":"Dixon Reef","code":"dix"},{"name":"Diuwe","code":"diy"},{"name":"Ding","code":"diz"},{"name":"Djadjawurrung","code":"dja"},{"name":"Djinba","code":"djb"},{"name":"Dar Daju Daju","code":"djc"},{"name":"Djamindjung","code":"djd"},{"name":"Ngaliwurru","code":"djd"},{"name":"Zarma","code":"dje"},{"name":"Djangun","code":"djf"},{"name":"Djinang","code":"dji"},{"name":"Djeebbana","code":"djj"},{"name":"Businenge Tongo","code":"djk"},{"name":"Eastern Maroon Creole","code":"djk"},{"name":"Nenge","code":"djk"},{"name":"Jamsay Dogon","code":"djm"},{"name":"Djauan","code":"djn"},{"name":"Jawoyn","code":"djn"},{"name":"Jangkang","code":"djo"},{"name":"Djambarrpuyngu","code":"djr"},{"name":"Kapriman","code":"dju"},{"name":"Djawi","code":"djw"},{"name":"Dakpakha","code":"dka"},{"name":"Kadung","code":"dkg"},{"name":"Dakka","code":"dkk"},{"name":"Kuijau","code":"dkr"},{"name":"Southeastern Dinka","code":"dks"},{"name":"Mazagway","code":"dkx"},{"name":"Dolgan","code":"dlg"},{"name":"Dahalik","code":"dlk"},{"name":"Dalmatian","code":"dlm"},{"name":"Darlong","code":"dln"},{"name":"Duma","code":"dma"},{"name":"Mombo Dogon","code":"dmb"},{"name":"Gavak","code":"dmc"},{"name":"Madhi Madhi","code":"dmd"},{"name":"Dugwor","code":"dme"},{"name":"Medefaidrin","code":"dmf"},{"name":"Upper Kinabatangan","code":"dmg"},{"name":"Domaaki","code":"dmk"},{"name":"Dameli","code":"dml"},{"name":"Dama","code":"dmm"},{"name":"Kemedzung","code":"dmo"},{"name":"East Damar","code":"dmr"},{"name":"Dampelas","code":"dms"},{"name":"Dubu","code":"dmu"},{"name":"Tebi","code":"dmu"},{"name":"Dumpas","code":"dmv"},{"name":"Mudburra","code":"dmw"},{"name":"Dema","code":"dmx"},{"name":"Demta","code":"dmy"},{"name":"Sowari","code":"dmy"},{"name":"Upper Grand Valley Dani","code":"dna"},{"name":"Daonda","code":"dnd"},{"name":"Ndendeule","code":"dne"},{"name":"Dungan","code":"dng"},{"name":"Lower Grand Valley Dani","code":"dni"},{"name":"Dan","code":"dnj"},{"name":"Dengka","code":"dnk"},{"name":"Dzรนรนngoo","code":"dnn"},{"name":"Ndrulo","code":"dno"},{"name":"Northern Lendu","code":"dno"},{"name":"Danaru","code":"dnr"},{"name":"Mid Grand Valley Dani","code":"dnt"},{"name":"Danau","code":"dnu"},{"name":"Danu","code":"dnv"},{"name":"Western Dani","code":"dnw"},{"name":"Denรญ","code":"dny"},{"name":"Dom","code":"doa"},{"name":"Dobu","code":"dob"},{"name":"Northern Dong","code":"doc"},{"name":"Doe","code":"doe"},{"name":"Domu","code":"dof"},{"name":"Dong","code":"doh"},{"name":"Dogri (macrolanguage)","code":"doi"},{"name":"Dondo","code":"dok"},{"name":"Doso","code":"dol"},{"name":"Toura (Papua New Guinea)","code":"don"},{"name":"Dongo","code":"doo"},{"name":"Lukpa","code":"dop"},{"name":"Dominican Sign Language","code":"doq"},{"name":"Dori'o","code":"dor"},{"name":"Dogosรฉ","code":"dos"},{"name":"Dass","code":"dot"},{"name":"Dombe","code":"dov"},{"name":"Doyayo","code":"dow"},{"name":"Bussa","code":"dox"},{"name":"Dompo","code":"doy"},{"name":"Dorze","code":"doz"},{"name":"Papar","code":"dpp"},{"name":"Dair","code":"drb"},{"name":"Minderico","code":"drc"},{"name":"Darmiya","code":"drd"},{"name":"Dolpo","code":"dre"},{"name":"Rungus","code":"drg"},{"name":"C'Lela","code":"dri"},{"name":"Paakantyi","code":"drl"},{"name":"West Damar","code":"drn"},{"name":"Daro-Matu Melanau","code":"dro"},{"name":"Dura","code":"drq"},{"name":"Gedeo","code":"drs"},{"name":"Drents","code":"drt"},{"name":"Rukai","code":"dru"},{"name":"Darai","code":"dry"},{"name":"Lower Sorbian","code":"dsb"},{"name":"Dutch Sign Language","code":"dse"},{"name":"Daasanach","code":"dsh"},{"name":"Disa","code":"dsi"},{"name":"Danish Sign Language","code":"dsl"},{"name":"Dusner","code":"dsn"},{"name":"Desiya","code":"dso"},{"name":"Tadaksahak","code":"dsq"},{"name":"Daur","code":"dta"},{"name":"Labuk-Kinabatangan Kadazan","code":"dtb"},{"name":"Ditidaht","code":"dtd"},{"name":"Adithinngithigh","code":"dth"},{"name":"Ana Tinga Dogon","code":"dti"},{"name":"Tene Kan Dogon","code":"dtk"},{"name":"Tomo Kan Dogon","code":"dtm"},{"name":"Daatsสผiฬin","code":"dtn"},{"name":"Tommo So Dogon","code":"dto"},{"name":"Central Dusun","code":"dtp"},{"name":"Kadazan Dusun","code":"dtp"},{"name":"Lotud","code":"dtr"},{"name":"Toro So Dogon","code":"dts"},{"name":"Toro Tegu Dogon","code":"dtt"},{"name":"Tebul Ure Dogon","code":"dtu"},{"name":"Dotyali","code":"dty"},{"name":"Duala","code":"dua"},{"name":"Dubli","code":"dub"},{"name":"Duna","code":"duc"},{"name":"Umiray Dumaget Agta","code":"due"},{"name":"Drubea","code":"duf"},{"name":"Dumbea","code":"duf"},{"name":"Chiduruma","code":"dug"},{"name":"Duruma","code":"dug"},{"name":"Dungra Bhil","code":"duh"},{"name":"Dumun","code":"dui"},{"name":"Uyajitaya","code":"duk"},{"name":"Alabat Island Agta","code":"dul"},{"name":"Middle Dutch (ca. 1050-1350)","code":"dum"},{"name":"Dusun Deyah","code":"dun"},{"name":"Dupaninan Agta","code":"duo"},{"name":"Duano","code":"dup"},{"name":"Dusun Malang","code":"duq"},{"name":"Dii","code":"dur"},{"name":"Dumi","code":"dus"},{"name":"Drung","code":"duu"},{"name":"Duvle","code":"duv"},{"name":"Dusun Witu","code":"duw"},{"name":"Duungooma","code":"dux"},{"name":"Dicamay Agta","code":"duy"},{"name":"Duli-Gey","code":"duz"},{"name":"Duau","code":"dva"},{"name":"Diri","code":"dwa"},{"name":"Dawik Kui","code":"dwk"},{"name":"Dawro","code":"dwr"},{"name":"Dutton World Speedwords","code":"dws"},{"name":"Dhuwal","code":"dwu"},{"name":"Dawawa","code":"dww"},{"name":"Dhuwaya","code":"dwy"},{"name":"Dewas Rai","code":"dwz"},{"name":"Dyan","code":"dya"},{"name":"Dyaberdyaber","code":"dyb"},{"name":"Dyugun","code":"dyd"},{"name":"Villa Viciosa Agta","code":"dyg"},{"name":"Djimini Senoufo","code":"dyi"},{"name":"Yanda Dom Dogon","code":"dym"},{"name":"Dhanggatti","code":"dyn"},{"name":"Dyangadi","code":"dyn"},{"name":"Jola-Fonyi","code":"dyo"},{"name":"Dyula","code":"dyu"},{"name":"Djabugay","code":"dyy"},{"name":"Dyaabugay","code":"dyy"},{"name":"Tunzu","code":"dza"},{"name":"Djiwarli","code":"dze"},{"name":"Dazaga","code":"dzg"},{"name":"Dzalakha","code":"dzl"},{"name":"Dzando","code":"dzn"},{"name":"Dzongkha","code":"dzo"},{"name":"Karenggapa","code":"eaa"},{"name":"Beginci","code":"ebc"},{"name":"Ebughu","code":"ebg"},{"name":"Eastern Bontok","code":"ebk"},{"name":"Teke-Ebo","code":"ebo"},{"name":"Ebriรฉ","code":"ebr"},{"name":"Embu","code":"ebu"},{"name":"Kiembu","code":"ebu"},{"name":"Eteocretan","code":"ecr"},{"name":"Ecuadorian Sign Language","code":"ecs"},{"name":"Eteocypriot","code":"ecy"},{"name":"E","code":"eee"},{"name":"Efai","code":"efa"},{"name":"Efe","code":"efe"},{"name":"Efik","code":"efi"},{"name":"Ega","code":"ega"},{"name":"Emilian","code":"egl"},{"name":"Eggon","code":"ego"},{"name":"Egyptian (Ancient)","code":"egy"},{"name":"Miyakubo Sign Language","code":"ehs"},{"name":"Ehueun","code":"ehu"},{"name":"Eipomek","code":"eip"},{"name":"Eitiep","code":"eit"},{"name":"Askopan","code":"eiv"},{"name":"Ejamat","code":"eja"},{"name":"Ekajuk","code":"eka"},{"name":"Ekit","code":"eke"},{"name":"Ekari","code":"ekg"},{"name":"Eki","code":"eki"},{"name":"Standard Estonian","code":"ekk"},{"name":"Kol","code":"ekl"},{"name":"Kol (Bangladesh)","code":"ekl"},{"name":"Elip","code":"ekm"},{"name":"Koti","code":"eko"},{"name":"Ekpeye","code":"ekp"},{"name":"Yace","code":"ekr"},{"name":"Eastern Kayah","code":"eky"},{"name":"Elepi","code":"ele"},{"name":"El Hugeirat","code":"elh"},{"name":"Nding","code":"eli"},{"name":"Elkei","code":"elk"},{"name":"Greek","code":"ell"},{"name":"Modern Greek (1453-)","code":"ell"},{"name":"Eleme","code":"elm"},{"name":"El Molo","code":"elo"},{"name":"Elu","code":"elu"},{"name":"Elamite","code":"elx"},{"name":"Emai-Iuleha-Ora","code":"ema"},{"name":"Embaloh","code":"emb"},{"name":"Emerillon","code":"eme"},{"name":"Eastern Meohang","code":"emg"},{"name":"Mussau-Emira","code":"emi"},{"name":"Eastern Maninkakan","code":"emk"},{"name":"Mamulique","code":"emm"},{"name":"Eman","code":"emn"},{"name":"Northern Emberรก","code":"emp"},{"name":"Eastern Minyag","code":"emq"},{"name":"Pacific Gulf Yupik","code":"ems"},{"name":"Eastern Muria","code":"emu"},{"name":"Emplawas","code":"emw"},{"name":"Erromintxela","code":"emx"},{"name":"Epigraphic Mayan","code":"emy"},{"name":"Mbessa","code":"emz"},{"name":"Apali","code":"ena"},{"name":"Markweeta","code":"enb"},{"name":"En","code":"enc"},{"name":"Ende","code":"end"},{"name":"Forest Enets","code":"enf"},{"name":"English","code":"eng"},{"name":"Tundra Enets","code":"enh"},{"name":"Enlhet","code":"enl"},{"name":"Middle English (1100-1500)","code":"enm"},{"name":"Engenni","code":"enn"},{"name":"Enggano","code":"eno"},{"name":"Enga","code":"enq"},{"name":"Emem","code":"enr"},{"name":"Emumu","code":"enr"},{"name":"Enu","code":"enu"},{"name":"Enwan (Edu State)","code":"env"},{"name":"Enwan (Akwa Ibom State)","code":"enw"},{"name":"Enxet","code":"enx"},{"name":"Beti (Cรดte d'Ivoire)","code":"eot"},{"name":"Epie","code":"epi"},{"name":"Esperanto","code":"epo"},{"name":"Eravallan","code":"era"},{"name":"Sie","code":"erg"},{"name":"Eruwa","code":"erh"},{"name":"Ogea","code":"eri"},{"name":"South Efate","code":"erk"},{"name":"Horpa","code":"ero"},{"name":"Erre","code":"err"},{"name":"Ersu","code":"ers"},{"name":"Eritai","code":"ert"},{"name":"Erokwanas","code":"erw"},{"name":"Ese Ejja","code":"ese"},{"name":"Aheri Gondi","code":"esg"},{"name":"Eshtehardi","code":"esh"},{"name":"North Alaskan Inupiatun","code":"esi"},{"name":"Northwest Alaska Inupiatun","code":"esk"},{"name":"Egypt Sign Language","code":"esl"},{"name":"Esuma","code":"esm"},{"name":"Salvadoran Sign Language","code":"esn"},{"name":"Estonian Sign Language","code":"eso"},{"name":"Esselen","code":"esq"},{"name":"Central Siberian Yupik","code":"ess"},{"name":"Estonian","code":"est"},{"name":"Central Yupik","code":"esu"},{"name":"Eskayan","code":"esy"},{"name":"Etebi","code":"etb"},{"name":"Etchemin","code":"etc"},{"name":"Ethiopian Sign Language","code":"eth"},{"name":"Eton (Vanuatu)","code":"etn"},{"name":"Eton (Cameroon)","code":"eto"},{"name":"Edolo","code":"etr"},{"name":"Yekhee","code":"ets"},{"name":"Etruscan","code":"ett"},{"name":"Ejagham","code":"etu"},{"name":"Eten","code":"etx"},{"name":"Semimi","code":"etz"},{"name":"Basque","code":"eus"},{"name":"Even","code":"eve"},{"name":"Uvbie","code":"evh"},{"name":"Evenki","code":"evn"},{"name":"Ewe","code":"ewe"},{"name":"Ewondo","code":"ewo"},{"name":"Extremaduran","code":"ext"},{"name":"Eyak","code":"eya"},{"name":"Keiyo","code":"eyo"},{"name":"Ezaa","code":"eza"},{"name":"Uzekwe","code":"eze"},{"name":"Fasu","code":"faa"},{"name":"Fa d'Ambu","code":"fab"},{"name":"Wagi","code":"fad"},{"name":"Fagani","code":"faf"},{"name":"Finongan","code":"fag"},{"name":"Baissa Fali","code":"fah"},{"name":"Faiwol","code":"fai"},{"name":"Faita","code":"faj"},{"name":"Fang (Cameroon)","code":"fak"},{"name":"South Fali","code":"fal"},{"name":"Fam","code":"fam"},{"name":"Fang (Equatorial Guinea)","code":"fan"},{"name":"Faroese","code":"fao"},{"name":"Paloor","code":"fap"},{"name":"Fataleka","code":"far"},{"name":"Persian","code":"fas"},{"name":"Fanti","code":"fat"},{"name":"Fayu","code":"fau"},{"name":"Fala","code":"fax"},{"name":"Southwestern Fars","code":"fay"},{"name":"Northwestern Fars","code":"faz"},{"name":"West Albay Bikol","code":"fbl"},{"name":"Quebec Sign Language","code":"fcs"},{"name":"Feroge","code":"fer"},{"name":"Foia Foia","code":"ffi"},{"name":"Maasina Fulfulde","code":"ffm"},{"name":"Fongoro","code":"fgr"},{"name":"Nobiin","code":"fia"},{"name":"Fyer","code":"fie"},{"name":"Faifi","code":"fif"},{"name":"Fijian","code":"fij"},{"name":"Filipino","code":"fil"},{"name":"Pilipino","code":"fil"},{"name":"Finnish","code":"fin"},{"name":"Fipa","code":"fip"},{"name":"Firan","code":"fir"},{"name":"Tornedalen Finnish","code":"fit"},{"name":"Fiwaga","code":"fiw"},{"name":"Kirya-Konzษ™l","code":"fkk"},{"name":"Kven Finnish","code":"fkv"},{"name":"Kalispel-Pend d'Oreille","code":"fla"},{"name":"Foau","code":"flh"},{"name":"Fali","code":"fli"},{"name":"North Fali","code":"fll"},{"name":"Flinders Island","code":"fln"},{"name":"Fuliiru","code":"flr"},{"name":"Flaaitaal","code":"fly"},{"name":"Tsotsitaal","code":"fly"},{"name":"Fe'fe'","code":"fmp"},{"name":"Far Western Muria","code":"fmu"},{"name":"Fanbak","code":"fnb"},{"name":"Fanagalo","code":"fng"},{"name":"Fania","code":"fni"},{"name":"Foodo","code":"fod"},{"name":"Foi","code":"foi"},{"name":"Foma","code":"fom"},{"name":"Fon","code":"fon"},{"name":"Fore","code":"for"},{"name":"Siraya","code":"fos"},{"name":"Fernando Po Creole English","code":"fpe"},{"name":"Fas","code":"fqs"},{"name":"French","code":"fra"},{"name":"Cajun French","code":"frc"},{"name":"Fordata","code":"frd"},{"name":"Frankish","code":"frk"},{"name":"Middle French (ca. 1400-1600)","code":"frm"},{"name":"Old French (842-ca. 1400)","code":"fro"},{"name":"Arpitan","code":"frp"},{"name":"Francoprovenรงal","code":"frp"},{"name":"Forak","code":"frq"},{"name":"Northern Frisian","code":"frr"},{"name":"Eastern Frisian","code":"frs"},{"name":"Fortsenal","code":"frt"},{"name":"Western Frisian","code":"fry"},{"name":"Finnish Sign Language","code":"fse"},{"name":"French Sign Language","code":"fsl"},{"name":"finlandssvenskt teckensprรฅk","code":"fss"},{"name":"Finland-Swedish Sign Language","code":"fss"},{"name":"suomenruotsalainen viittomakieli","code":"fss"},{"name":"Adamawa Fulfulde","code":"fub"},{"name":"Pulaar","code":"fuc"},{"name":"East Futuna","code":"fud"},{"name":"Borgu Fulfulde","code":"fue"},{"name":"Pular","code":"fuf"},{"name":"Western Niger Fulfulde","code":"fuh"},{"name":"Bagirmi Fulfulde","code":"fui"},{"name":"Ko","code":"fuj"},{"name":"Fulah","code":"ful"},{"name":"Fum","code":"fum"},{"name":"Fulniรด","code":"fun"},{"name":"Central-Eastern Niger Fulfulde","code":"fuq"},{"name":"Friulian","code":"fur"},{"name":"Futuna-Aniwa","code":"fut"},{"name":"Furu","code":"fuu"},{"name":"Nigerian Fulfulde","code":"fuv"},{"name":"Fuyug","code":"fuy"},{"name":"Fur","code":"fvr"},{"name":"Fwรขi","code":"fwa"},{"name":"Fwe","code":"fwe"},{"name":"Ga","code":"gaa"},{"name":"Gabri","code":"gab"},{"name":"Mixed Great Andamanese","code":"gac"},{"name":"Gaddang","code":"gad"},{"name":"Guarequena","code":"gae"},{"name":"Gende","code":"gaf"},{"name":"Gagauz","code":"gag"},{"name":"Alekano","code":"gah"},{"name":"Borei","code":"gai"},{"name":"Gadsup","code":"gaj"},{"name":"Gamkonora","code":"gak"},{"name":"Galolen","code":"gal"},{"name":"Kandawo","code":"gam"},{"name":"Gan Chinese","code":"gan"},{"name":"Gants","code":"gao"},{"name":"Gal","code":"gap"},{"name":"Gata'","code":"gaq"},{"name":"Galeya","code":"gar"},{"name":"Adiwasi Garasia","code":"gas"},{"name":"Kenati","code":"gat"},{"name":"Mudhili Gadaba","code":"gau"},{"name":"Nobonob","code":"gaw"},{"name":"Borana-Arsi-Guji Oromo","code":"gax"},{"name":"Gayo","code":"gay"},{"name":"West Central Oromo","code":"gaz"},{"name":"Gbaya (Central African Republic)","code":"gba"},{"name":"Kaytetye","code":"gbb"},{"name":"Karajarri","code":"gbd"},{"name":"Niksek","code":"gbe"},{"name":"Gaikundi","code":"gbf"},{"name":"Gbanziri","code":"gbg"},{"name":"Defi Gbe","code":"gbh"},{"name":"Galela","code":"gbi"},{"name":"Bodo Gadaba","code":"gbj"},{"name":"Gaddi","code":"gbk"},{"name":"Gamit","code":"gbl"},{"name":"Garhwali","code":"gbm"},{"name":"Mo'da","code":"gbn"},{"name":"Northern Grebo","code":"gbo"},{"name":"Gbaya-Bossangoa","code":"gbp"},{"name":"Gbaya-Bozoum","code":"gbq"},{"name":"Gbagyi","code":"gbr"},{"name":"Gbesi Gbe","code":"gbs"},{"name":"Gagadu","code":"gbu"},{"name":"Gbanu","code":"gbv"},{"name":"Gabi-Gabi","code":"gbw"},{"name":"Eastern Xwla Gbe","code":"gbx"},{"name":"Gbari","code":"gby"},{"name":"Zoroastrian Dari","code":"gbz"},{"name":"Mali","code":"gcc"},{"name":"Ganggalida","code":"gcd"},{"name":"Galice","code":"gce"},{"name":"Guadeloupean Creole French","code":"gcf"},{"name":"Grenadian Creole English","code":"gcl"},{"name":"Gaina","code":"gcn"},{"name":"Guianese Creole French","code":"gcr"},{"name":"Colonia Tovar German","code":"gct"},{"name":"Gade Lohar","code":"gda"},{"name":"Pottangi Ollar Gadaba","code":"gdb"},{"name":"Gugu Badhun","code":"gdc"},{"name":"Gedaged","code":"gdd"},{"name":"Gude","code":"gde"},{"name":"Guduf-Gava","code":"gdf"},{"name":"Ga'dang","code":"gdg"},{"name":"Gadjerawang","code":"gdh"},{"name":"Gajirrabeng","code":"gdh"},{"name":"Gundi","code":"gdi"},{"name":"Gurdjar","code":"gdj"},{"name":"Gadang","code":"gdk"},{"name":"Dirasha","code":"gdl"},{"name":"Laal","code":"gdm"},{"name":"Umanakaina","code":"gdn"},{"name":"Ghodoberi","code":"gdo"},{"name":"Mehri","code":"gdq"},{"name":"Wipi","code":"gdr"},{"name":"Ghandruk Sign Language","code":"gds"},{"name":"Kungardutyi","code":"gdt"},{"name":"Gudu","code":"gdu"},{"name":"Godwari","code":"gdx"},{"name":"Geruma","code":"gea"},{"name":"Kire","code":"geb"},{"name":"Gboloo Grebo","code":"gec"},{"name":"Gade","code":"ged"},{"name":"Gerai","code":"gef"},{"name":"Gengle","code":"geg"},{"name":"Hutterisch","code":"geh"},{"name":"Hutterite German","code":"geh"},{"name":"Gebe","code":"gei"},{"name":"Gen","code":"gej"},{"name":"Ywom","code":"gek"},{"name":"ut-Ma'in","code":"gel"},{"name":"Geme","code":"geq"},{"name":"Geser-Gorom","code":"ges"},{"name":"Eviya","code":"gev"},{"name":"Gera","code":"gew"},{"name":"Garre","code":"gex"},{"name":"Enya","code":"gey"},{"name":"Geez","code":"gez"},{"name":"Patpatar","code":"gfk"},{"name":"Gafat","code":"gft"},{"name":"Gao","code":"gga"},{"name":"Gbii","code":"ggb"},{"name":"Gugadj","code":"ggd"},{"name":"Gurr-goni","code":"gge"},{"name":"Gurgula","code":"ggg"},{"name":"Kungarakany","code":"ggk"},{"name":"Ganglau","code":"ggl"},{"name":"Gitua","code":"ggt"},{"name":"Gagu","code":"ggu"},{"name":"Gban","code":"ggu"},{"name":"Gogodala","code":"ggw"},{"name":"Ghadamรจs","code":"gha"},{"name":"Hiberno-Scottish Gaelic","code":"ghc"},{"name":"Southern Ghale","code":"ghe"},{"name":"Northern Ghale","code":"ghh"},{"name":"Geko Karen","code":"ghk"},{"name":"Ghulfan","code":"ghl"},{"name":"Ghanongga","code":"ghn"},{"name":"Ghomara","code":"gho"},{"name":"Ghera","code":"ghr"},{"name":"Guhu-Samane","code":"ghs"},{"name":"Kuke","code":"ght"},{"name":"Kutang Ghale","code":"ght"},{"name":"Kija","code":"gia"},{"name":"Gibanawa","code":"gib"},{"name":"Gail","code":"gic"},{"name":"Gidar","code":"gid"},{"name":"Gaษ“ogbo","code":"gie"},{"name":"Guรฉbie","code":"gie"},{"name":"Goaria","code":"gig"},{"name":"Githabul","code":"gih"},{"name":"Girirra","code":"gii"},{"name":"Gilbertese","code":"gil"},{"name":"Gimi (Eastern Highlands)","code":"gim"},{"name":"Hinukh","code":"gin"},{"name":"Gimi (West New Britain)","code":"gip"},{"name":"Green Gelao","code":"giq"},{"name":"Red Gelao","code":"gir"},{"name":"North Giziga","code":"gis"},{"name":"Gitxsan","code":"git"},{"name":"Mulao","code":"giu"},{"name":"White Gelao","code":"giw"},{"name":"Gilima","code":"gix"},{"name":"Giyug","code":"giy"},{"name":"South Giziga","code":"giz"},{"name":"Kachi Koli","code":"gjk"},{"name":"Gunditjmara","code":"gjm"},{"name":"Gonja","code":"gjn"},{"name":"Gurindji Kriol","code":"gjr"},{"name":"Gujari","code":"gju"},{"name":"Guya","code":"gka"},{"name":"Magษจ (Madang Province)","code":"gkd"},{"name":"Ndai","code":"gke"},{"name":"Gokana","code":"gkn"},{"name":"Kok-Nar","code":"gko"},{"name":"Guinea Kpelle","code":"gkp"},{"name":"ว‚Ungkue","code":"gku"},{"name":"Gaelic","code":"gla"},{"name":"Scottish Gaelic","code":"gla"},{"name":"Belning","code":"glb"},{"name":"Bon Gula","code":"glc"},{"name":"Nanai","code":"gld"},{"name":"Irish","code":"gle"},{"name":"Galician","code":"glg"},{"name":"Northwest Pashai","code":"glh"},{"name":"Northwest Pashayi","code":"glh"},{"name":"Gula Iro","code":"glj"},{"name":"Gilaki","code":"glk"},{"name":"Garlali","code":"gll"},{"name":"Galambu","code":"glo"},{"name":"Glaro-Twabo","code":"glr"},{"name":"Gula (Chad)","code":"glu"},{"name":"Manx","code":"glv"},{"name":"Glavda","code":"glw"},{"name":"Gule","code":"gly"},{"name":"Gambera","code":"gma"},{"name":"Gula'alaa","code":"gmb"},{"name":"Mรกghdรฌ","code":"gmd"},{"name":"Magษจyi","code":"gmg"},{"name":"Middle High German (ca. 1050-1500)","code":"gmh"},{"name":"Middle Low German","code":"gml"},{"name":"Gbaya-Mbodomo","code":"gmm"},{"name":"Gimnime","code":"gmn"},{"name":"Mirning","code":"gmr"},{"name":"Mirniny","code":"gmr"},{"name":"Gumalu","code":"gmu"},{"name":"Gamo","code":"gmv"},{"name":"Magoma","code":"gmx"},{"name":"Mycenaean Greek","code":"gmy"},{"name":"Mgbolizhia","code":"gmz"},{"name":"Kaansa","code":"gna"},{"name":"Gangte","code":"gnb"},{"name":"Guanche","code":"gnc"},{"name":"Zulgo-Gemzek","code":"gnd"},{"name":"Ganang","code":"gne"},{"name":"Ngangam","code":"gng"},{"name":"Lere","code":"gnh"},{"name":"Gooniyandi","code":"gni"},{"name":"Ngen","code":"gnj"},{"name":"วGana","code":"gnk"},{"name":"Gangulu","code":"gnl"},{"name":"Ginuman","code":"gnm"},{"name":"Gumatj","code":"gnn"},{"name":"Northern Gondi","code":"gno"},{"name":"Gana","code":"gnq"},{"name":"Gureng Gureng","code":"gnr"},{"name":"Guntai","code":"gnt"},{"name":"Gnau","code":"gnu"},{"name":"Western Bolivian Guaranรญ","code":"gnw"},{"name":"Ganzi","code":"gnz"},{"name":"Guro","code":"goa"},{"name":"Playero","code":"gob"},{"name":"Gorakor","code":"goc"},{"name":"Godiรฉ","code":"god"},{"name":"Gongduk","code":"goe"},{"name":"Gofa","code":"gof"},{"name":"Gogo","code":"gog"},{"name":"Old High German (ca. 750-1050)","code":"goh"},{"name":"Gobasi","code":"goi"},{"name":"Gowlan","code":"goj"},{"name":"Gowli","code":"gok"},{"name":"Gola","code":"gol"},{"name":"Goan Konkani","code":"gom"},{"name":"Gondi","code":"gon"},{"name":"Gone Dau","code":"goo"},{"name":"Yeretuar","code":"gop"},{"name":"Gorap","code":"goq"},{"name":"Gorontalo","code":"gor"},{"name":"Gronings","code":"gos"},{"name":"Gothic","code":"got"},{"name":"Gavar","code":"gou"},{"name":"Gorowa","code":"gow"},{"name":"Gobu","code":"gox"},{"name":"Goundo","code":"goy"},{"name":"Gozarkhani","code":"goz"},{"name":"Gupa-Abawa","code":"gpa"},{"name":"Ghanaian Pidgin English","code":"gpe"},{"name":"Taiap","code":"gpn"},{"name":"Ga'anda","code":"gqa"},{"name":"Guiqiong","code":"gqi"},{"name":"Guana (Brazil)","code":"gqn"},{"name":"Gor","code":"gqr"},{"name":"Qau","code":"gqu"},{"name":"Rajput Garasia","code":"gra"},{"name":"Grebo","code":"grb"},{"name":"Ancient Greek (to 1453)","code":"grc"},{"name":"Guruntum-Mbaaru","code":"grd"},{"name":"Madi","code":"grg"},{"name":"Gbiri-Niragu","code":"grh"},{"name":"Ghari","code":"gri"},{"name":"Southern Grebo","code":"grj"},{"name":"Kota Marudu Talantang","code":"grm"},{"name":"Guarani","code":"grn"},{"name":"Groma","code":"gro"},{"name":"Gorovu","code":"grq"},{"name":"Taznatit","code":"grr"},{"name":"Gresi","code":"grs"},{"name":"Garo","code":"grt"},{"name":"Kistane","code":"gru"},{"name":"Central Grebo","code":"grv"},{"name":"Gweda","code":"grw"},{"name":"Guriaso","code":"grx"},{"name":"Barclayville Grebo","code":"gry"},{"name":"Guramalum","code":"grz"},{"name":"Ghanaian Sign Language","code":"gse"},{"name":"German Sign Language","code":"gsg"},{"name":"Gusilay","code":"gsl"},{"name":"Guatemalan Sign Language","code":"gsm"},{"name":"Gusan","code":"gsn"},{"name":"Nema","code":"gsn"},{"name":"Southwest Gbaya","code":"gso"},{"name":"Wasembo","code":"gsp"},{"name":"Greek Sign Language","code":"gss"},{"name":"Alemannic","code":"gsw"},{"name":"Alsatian","code":"gsw"},{"name":"Swiss German","code":"gsw"},{"name":"Guatรณ","code":"gta"},{"name":"Aghu-Tharnggala","code":"gtu"},{"name":"Shiki","code":"gua"},{"name":"Guajajรกra","code":"gub"},{"name":"Wayuu","code":"guc"},{"name":"Yocobouรฉ Dida","code":"gud"},{"name":"Gurindji","code":"gue"},{"name":"Gupapuyngu","code":"guf"},{"name":"Paraguayan Guaranรญ","code":"gug"},{"name":"Guahibo","code":"guh"},{"name":"Eastern Bolivian Guaranรญ","code":"gui"},{"name":"Gujarati","code":"guj"},{"name":"Gumuz","code":"guk"},{"name":"Sea Island Creole English","code":"gul"},{"name":"Guambiano","code":"gum"},{"name":"Mbyรก Guaranรญ","code":"gun"},{"name":"Guayabero","code":"guo"},{"name":"Gunwinggu","code":"gup"},{"name":"Achรฉ","code":"guq"},{"name":"Farefare","code":"gur"},{"name":"Guinean Sign Language","code":"gus"},{"name":"Malรฉku Jaรญka","code":"gut"},{"name":"Yanomamรถ","code":"guu"},{"name":"Gun","code":"guw"},{"name":"Gourmanchรฉma","code":"gux"},{"name":"Ekegusii","code":"guz"},{"name":"Gusii","code":"guz"},{"name":"Guana (Paraguay)","code":"gva"},{"name":"Guanano","code":"gvc"},{"name":"Duwet","code":"gve"},{"name":"Golin","code":"gvf"},{"name":"Guajรก","code":"gvj"},{"name":"Gulay","code":"gvl"},{"name":"Gurmana","code":"gvm"},{"name":"Kuku-Yalanji","code":"gvn"},{"name":"Gaviรฃo Do Jiparanรก","code":"gvo"},{"name":"Parรก Gaviรฃo","code":"gvp"},{"name":"Gurung","code":"gvr"},{"name":"Gumawana","code":"gvs"},{"name":"Guyani","code":"gvy"},{"name":"Mbato","code":"gwa"},{"name":"Gwa","code":"gwb"},{"name":"Gawri","code":"gwc"},{"name":"Kalami","code":"gwc"},{"name":"Gawwada","code":"gwd"},{"name":"Gweno","code":"gwe"},{"name":"Gowro","code":"gwf"},{"name":"Moo","code":"gwg"},{"name":"Gwichสผin","code":"gwi"},{"name":"ว€Gwi","code":"gwj"},{"name":"Awngthim","code":"gwm"},{"name":"Gwandara","code":"gwn"},{"name":"Gwere","code":"gwr"},{"name":"Gawar-Bati","code":"gwt"},{"name":"Guwamu","code":"gwu"},{"name":"Kwini","code":"gww"},{"name":"Gua","code":"gwx"},{"name":"Wรจ Southern","code":"gxx"},{"name":"Northwest Gbaya","code":"gya"},{"name":"Garus","code":"gyb"},{"name":"Kayardild","code":"gyd"},{"name":"Gyem","code":"gye"},{"name":"Gungabula","code":"gyf"},{"name":"Gbayi","code":"gyg"},{"name":"Gyele","code":"gyi"},{"name":"Gayil","code":"gyl"},{"name":"Ngรคbere","code":"gym"},{"name":"Guyanese Creole English","code":"gyn"},{"name":"Gyalsumdo","code":"gyo"},{"name":"Guarayu","code":"gyr"},{"name":"Gunya","code":"gyy"},{"name":"Geji","code":"gyz"},{"name":"Gyaazi","code":"gyz"},{"name":"Ganza","code":"gza"},{"name":"Gazi","code":"gzi"},{"name":"Gane","code":"gzn"},{"name":"Han","code":"haa"},{"name":"Hanoi Sign Language","code":"hab"},{"name":"Gurani","code":"hac"},{"name":"Hatam","code":"had"},{"name":"Eastern Oromo","code":"hae"},{"name":"Haiphong Sign Language","code":"haf"},{"name":"Hanga","code":"hag"},{"name":"Hahon","code":"hah"},{"name":"Haida","code":"hai"},{"name":"Hajong","code":"haj"},{"name":"Hakka Chinese","code":"hak"},{"name":"Halang","code":"hal"},{"name":"Hewa","code":"ham"},{"name":"Hangaza","code":"han"},{"name":"Hakรถ","code":"hao"},{"name":"Hupla","code":"hap"},{"name":"Ha","code":"haq"},{"name":"Harari","code":"har"},{"name":"Haisla","code":"has"},{"name":"Haitian","code":"hat"},{"name":"Haitian Creole","code":"hat"},{"name":"Hausa","code":"hau"},{"name":"Havu","code":"hav"},{"name":"Hawaiian","code":"haw"},{"name":"Southern Haida","code":"hax"},{"name":"Haya","code":"hay"},{"name":"Hazaragi","code":"haz"},{"name":"Hamba","code":"hba"},{"name":"Huba","code":"hbb"},{"name":"Heiban","code":"hbn"},{"name":"Ancient Hebrew","code":"hbo"},{"name":"Serbo-Croatian","code":"hbs"},{"name":"Habu","code":"hbu"},{"name":"Andaman Creole Hindi","code":"hca"},{"name":"Huichol","code":"hch"},{"name":"Northern Haida","code":"hdn"},{"name":"Honduras Sign Language","code":"hds"},{"name":"Hadiyya","code":"hdy"},{"name":"Northern Qiandong Miao","code":"hea"},{"name":"Hebrew","code":"heb"},{"name":"Herdรฉ","code":"hed"},{"name":"Helong","code":"heg"},{"name":"Hehe","code":"heh"},{"name":"Heiltsuk","code":"hei"},{"name":"Hemba","code":"hem"},{"name":"Herero","code":"her"},{"name":"Haiวom","code":"hgm"},{"name":"Haigwai","code":"hgw"},{"name":"Hoia Hoia","code":"hhi"},{"name":"Kerak","code":"hhr"},{"name":"Hoyahoya","code":"hhy"},{"name":"Lamang","code":"hia"},{"name":"Hibito","code":"hib"},{"name":"Hidatsa","code":"hid"},{"name":"Fiji Hindi","code":"hif"},{"name":"Kamwe","code":"hig"},{"name":"Pamosu","code":"hih"},{"name":"Hinduri","code":"hii"},{"name":"Hijuk","code":"hij"},{"name":"Seit-Kaitetu","code":"hik"},{"name":"Hiligaynon","code":"hil"},{"name":"Hindi","code":"hin"},{"name":"Tsoa","code":"hio"},{"name":"Himarimรฃ","code":"hir"},{"name":"Hittite","code":"hit"},{"name":"Hiw","code":"hiw"},{"name":"Hixkaryรกna","code":"hix"},{"name":"Haji","code":"hji"},{"name":"Kahe","code":"hka"},{"name":"Hunde","code":"hke"},{"name":"Khah","code":"hkh"},{"name":"Poguli","code":"hkh"},{"name":"Hunjara-Kaina Ke","code":"hkk"},{"name":"Mel-Khaonh","code":"hkn"},{"name":"Heung Kong Sau Yue","code":"hks"},{"name":"Hong Kong Sign Language","code":"hks"},{"name":"Halia","code":"hla"},{"name":"Halbi","code":"hlb"},{"name":"Halang Doan","code":"hld"},{"name":"Hlersu","code":"hle"},{"name":"Matu Chin","code":"hlt"},{"name":"Hieroglyphic Luwian","code":"hlu"},{"name":"Southern Mashan Hmong","code":"hma"},{"name":"Southern Mashan Miao","code":"hma"},{"name":"Humburi Senni Songhay","code":"hmb"},{"name":"Central Huishui Hmong","code":"hmc"},{"name":"Central Huishui Miao","code":"hmc"},{"name":"A-hmaos","code":"hmd"},{"name":"Da-Hua Miao","code":"hmd"},{"name":"Large Flowery Miao","code":"hmd"},{"name":"Eastern Huishui Hmong","code":"hme"},{"name":"Eastern Huishui Miao","code":"hme"},{"name":"Hmong Don","code":"hmf"},{"name":"Southwestern Guiyang Hmong","code":"hmg"},{"name":"Southwestern Huishui Hmong","code":"hmh"},{"name":"Southwestern Huishui Miao","code":"hmh"},{"name":"Northern Huishui Hmong","code":"hmi"},{"name":"Northern Huishui Miao","code":"hmi"},{"name":"Ge","code":"hmj"},{"name":"Gejia","code":"hmj"},{"name":"Maek","code":"hmk"},{"name":"Luopohe Hmong","code":"hml"},{"name":"Luopohe Miao","code":"hml"},{"name":"Central Mashan Hmong","code":"hmm"},{"name":"Central Mashan Miao","code":"hmm"},{"name":"Hmong","code":"hmn"},{"name":"Mong","code":"hmn"},{"name":"Hiri Motu","code":"hmo"},{"name":"Northern Mashan Hmong","code":"hmp"},{"name":"Northern Mashan Miao","code":"hmp"},{"name":"Eastern Qiandong Miao","code":"hmq"},{"name":"Hmar","code":"hmr"},{"name":"Southern Qiandong Miao","code":"hms"},{"name":"Hamtai","code":"hmt"},{"name":"Hamap","code":"hmu"},{"name":"Hmong Dรด","code":"hmv"},{"name":"Western Mashan Hmong","code":"hmw"},{"name":"Western Mashan Miao","code":"hmw"},{"name":"Southern Guiyang Hmong","code":"hmy"},{"name":"Southern Guiyang Miao","code":"hmy"},{"name":"Hmong Shua","code":"hmz"},{"name":"Sinicized Miao","code":"hmz"},{"name":"Mina (Cameroon)","code":"hna"},{"name":"Southern Hindko","code":"hnd"},{"name":"Chhattisgarhi","code":"hne"},{"name":"Hungu","code":"hng"},{"name":"วAni","code":"hnh"},{"name":"Hani","code":"hni"},{"name":"Hmong Njua","code":"hnj"},{"name":"Mong Leng","code":"hnj"},{"name":"Mong Njua","code":"hnj"},{"name":"Hanunoo","code":"hnn"},{"name":"Northern Hindko","code":"hno"},{"name":"Caribbean Hindustani","code":"hns"},{"name":"Hung","code":"hnu"},{"name":"Hoava","code":"hoa"},{"name":"Mari (Madang Province)","code":"hob"},{"name":"Ho","code":"hoc"},{"name":"Holma","code":"hod"},{"name":"Horom","code":"hoe"},{"name":"Hobyรณt","code":"hoh"},{"name":"Holikachuk","code":"hoi"},{"name":"Hadothi","code":"hoj"},{"name":"Haroti","code":"hoj"},{"name":"Holu","code":"hol"},{"name":"Homa","code":"hom"},{"name":"Holoholo","code":"hoo"},{"name":"Hopi","code":"hop"},{"name":"Horo","code":"hor"},{"name":"Ho Chi Minh City Sign Language","code":"hos"},{"name":"Hote","code":"hot"},{"name":"Malรช","code":"hot"},{"name":"Hovongan","code":"hov"},{"name":"Honi","code":"how"},{"name":"Holiya","code":"hoy"},{"name":"Hozo","code":"hoz"},{"name":"Hpon","code":"hpo"},{"name":"Hawai'i Pidgin Sign Language","code":"hps"},{"name":"Hawai'i Sign Language (HSL)","code":"hps"},{"name":"Hrangkhol","code":"hra"},{"name":"Niwer Mil","code":"hrc"},{"name":"Hre","code":"hre"},{"name":"Haruku","code":"hrk"},{"name":"Horned Miao","code":"hrm"},{"name":"Haroi","code":"hro"},{"name":"Nhirrpi","code":"hrp"},{"name":"Hรฉrtevin","code":"hrt"},{"name":"Hruso","code":"hru"},{"name":"Croatian","code":"hrv"},{"name":"Warwar Feni","code":"hrw"},{"name":"Hunsrik","code":"hrx"},{"name":"Harzani","code":"hrz"},{"name":"Upper Sorbian","code":"hsb"},{"name":"Hungarian Sign Language","code":"hsh"},{"name":"Hausa Sign Language","code":"hsl"},{"name":"Xiang Chinese","code":"hsn"},{"name":"Harsusi","code":"hss"},{"name":"Hoti","code":"hti"},{"name":"Minica Huitoto","code":"hto"},{"name":"Hadza","code":"hts"},{"name":"Hitu","code":"htu"},{"name":"Middle Hittite","code":"htx"},{"name":"Huambisa","code":"hub"},{"name":"ว‚'Amkhoe","code":"huc"},{"name":"ว‚Hua","code":"huc"},{"name":"Huaulu","code":"hud"},{"name":"San Francisco Del Mar Huave","code":"hue"},{"name":"Humene","code":"huf"},{"name":"Huachipaeri","code":"hug"},{"name":"Huilliche","code":"huh"},{"name":"Huli","code":"hui"},{"name":"Northern Guiyang Hmong","code":"huj"},{"name":"Northern Guiyang Miao","code":"huj"},{"name":"Hulung","code":"huk"},{"name":"Hula","code":"hul"},{"name":"Hungana","code":"hum"},{"name":"Hungarian","code":"hun"},{"name":"Hu","code":"huo"},{"name":"Hupa","code":"hup"},{"name":"Tsat","code":"huq"},{"name":"Halkomelem","code":"hur"},{"name":"Huastec","code":"hus"},{"name":"Humla","code":"hut"},{"name":"Murui Huitoto","code":"huu"},{"name":"San Mateo Del Mar Huave","code":"huv"},{"name":"Hukumina","code":"huw"},{"name":"Nรผpode Huitoto","code":"hux"},{"name":"Hulaulรก","code":"huy"},{"name":"Hunzib","code":"huz"},{"name":"Haitian Vodoun Culture Language","code":"hvc"},{"name":"San Dionisio Del Mar Huave","code":"hve"},{"name":"Haveke","code":"hvk"},{"name":"Sabu","code":"hvn"},{"name":"Santa Marรญa Del Mar Huave","code":"hvv"},{"name":"Wanรฉ","code":"hwa"},{"name":"Hawai'i Creole English","code":"hwc"},{"name":"Hawai'i Pidgin","code":"hwc"},{"name":"Hwana","code":"hwo"},{"name":"Hya","code":"hya"},{"name":"Armenian","code":"hye"},{"name":"Western Armenian","code":"hyw"},{"name":"Iaai","code":"iai"},{"name":"Iatmul","code":"ian"},{"name":"Purari","code":"iar"},{"name":"Iban","code":"iba"},{"name":"Ibibio","code":"ibb"},{"name":"Iwaidja","code":"ibd"},{"name":"Akpes","code":"ibe"},{"name":"Ibanag","code":"ibg"},{"name":"Bih","code":"ibh"},{"name":"Ibaloi","code":"ibl"},{"name":"Agoi","code":"ibm"},{"name":"Ibino","code":"ibn"},{"name":"Igbo","code":"ibo"},{"name":"Ibuoro","code":"ibr"},{"name":"Ibu","code":"ibu"},{"name":"Ibani","code":"iby"},{"name":"Ede Ica","code":"ica"},{"name":"Etkywan","code":"ich"},{"name":"Icelandic Sign Language","code":"icl"},{"name":"Islander Creole English","code":"icr"},{"name":"Idakho-Isukha-Tiriki","code":"ida"},{"name":"Luidakho-Luisukha-Lutirichi","code":"ida"},{"name":"Indo-Portuguese","code":"idb"},{"name":"Ajiya","code":"idc"},{"name":"Idon","code":"idc"},{"name":"Ede Idaca","code":"idd"},{"name":"Idere","code":"ide"},{"name":"Idi","code":"idi"},{"name":"Ido","code":"ido"},{"name":"Indri","code":"idr"},{"name":"Idesa","code":"ids"},{"name":"Idatรฉ","code":"idt"},{"name":"Idoma","code":"idu"},{"name":"Amganad Ifugao","code":"ifa"},{"name":"Ayangan Ifugao","code":"ifb"},{"name":"Batad Ifugao","code":"ifb"},{"name":"Ifรจ","code":"ife"},{"name":"Ifo","code":"iff"},{"name":"Tuwali Ifugao","code":"ifk"},{"name":"Teke-Fuumu","code":"ifm"},{"name":"Mayoyao Ifugao","code":"ifu"},{"name":"Keley-I Kallahan","code":"ify"},{"name":"Ebira","code":"igb"},{"name":"Igede","code":"ige"},{"name":"Igana","code":"igg"},{"name":"Igala","code":"igl"},{"name":"Kanggape","code":"igm"},{"name":"Ignaciano","code":"ign"},{"name":"Isebe","code":"igo"},{"name":"Interglossa","code":"igs"},{"name":"Igwe","code":"igw"},{"name":"Iha Based Pidgin","code":"ihb"},{"name":"Ihievbe","code":"ihi"},{"name":"Iha","code":"ihp"},{"name":"Bidhawal","code":"ihw"},{"name":"Nuosu","code":"iii"},{"name":"Sichuan Yi","code":"iii"},{"name":"Thiin","code":"iin"},{"name":"Izon","code":"ijc"},{"name":"Biseni","code":"ije"},{"name":"Ede Ije","code":"ijj"},{"name":"Kalabari","code":"ijn"},{"name":"Southeast Ijo","code":"ijs"},{"name":"Eastern Canadian Inuktitut","code":"ike"},{"name":"Iko","code":"iki"},{"name":"Ika","code":"ikk"},{"name":"Ikulu","code":"ikl"},{"name":"Olulumo-Ikom","code":"iko"},{"name":"Ikpeshi","code":"ikp"},{"name":"Ikaranggal","code":"ikr"},{"name":"Inuit Sign Language","code":"iks"},{"name":"Inuinnaqtun","code":"ikt"},{"name":"Western Canadian Inuktitut","code":"ikt"},{"name":"Inuktitut","code":"iku"},{"name":"Iku-Gora-Ankwa","code":"ikv"},{"name":"Ikwere","code":"ikw"},{"name":"Ik","code":"ikx"},{"name":"Ikizu","code":"ikz"},{"name":"Ile Ape","code":"ila"},{"name":"Ila","code":"ilb"},{"name":"Interlingue","code":"ile"},{"name":"Occidental","code":"ile"},{"name":"Garig-Ilgar","code":"ilg"},{"name":"Ili Turki","code":"ili"},{"name":"Ilongot","code":"ilk"},{"name":"Iranun (Malaysia)","code":"ilm"},{"name":"Iloko","code":"ilo"},{"name":"Iranun (Philippines)","code":"ilp"},{"name":"International Sign","code":"ils"},{"name":"Ili'uun","code":"ilu"},{"name":"Ilue","code":"ilv"},{"name":"Mala Malasar","code":"ima"},{"name":"Anamgura","code":"imi"},{"name":"Miluk","code":"iml"},{"name":"Imonda","code":"imn"},{"name":"Imbongu","code":"imo"},{"name":"Imroing","code":"imr"},{"name":"Marsian","code":"ims"},{"name":"Milyan","code":"imy"},{"name":"Interlingua (International Auxiliary Language Association)","code":"ina"},{"name":"Inga","code":"inb"},{"name":"Indonesian","code":"ind"},{"name":"Degexit'an","code":"ing"},{"name":"Ingush","code":"inh"},{"name":"Jungle Inga","code":"inj"},{"name":"Indonesian Sign Language","code":"inl"},{"name":"Minaean","code":"inm"},{"name":"Isinai","code":"inn"},{"name":"Inoke-Yate","code":"ino"},{"name":"Iรฑapari","code":"inp"},{"name":"Indian Sign Language","code":"ins"},{"name":"Intha","code":"int"},{"name":"Ineseรฑo","code":"inz"},{"name":"Inor","code":"ior"},{"name":"Tuma-Irumu","code":"iou"},{"name":"Iowa-Oto","code":"iow"},{"name":"Ipili","code":"ipi"},{"name":"Inupiaq","code":"ipk"},{"name":"Ipiko","code":"ipo"},{"name":"Iquito","code":"iqu"},{"name":"Ikwo","code":"iqw"},{"name":"Iresim","code":"ire"},{"name":"Irarutu","code":"irh"},{"name":"Irigwe","code":"iri"},{"name":"Rigwe","code":"iri"},{"name":"Iraqw","code":"irk"},{"name":"Irรกntxe","code":"irn"},{"name":"Ir","code":"irr"},{"name":"Irula","code":"iru"},{"name":"Kamberau","code":"irx"},{"name":"Iraya","code":"iry"},{"name":"Isabi","code":"isa"},{"name":"Isconahua","code":"isc"},{"name":"Isnag","code":"isd"},{"name":"Italian Sign Language","code":"ise"},{"name":"Irish Sign Language","code":"isg"},{"name":"Esan","code":"ish"},{"name":"Nkem-Nkum","code":"isi"},{"name":"Ishkashimi","code":"isk"},{"name":"Icelandic","code":"isl"},{"name":"Masimasi","code":"ism"},{"name":"Isanzu","code":"isn"},{"name":"Isoko","code":"iso"},{"name":"Israeli Sign Language","code":"isr"},{"name":"Istriot","code":"ist"},{"name":"Isu (Menchum Division)","code":"isu"},{"name":"Italian","code":"ita"},{"name":"Binongan Itneg","code":"itb"},{"name":"Southern Tidung","code":"itd"},{"name":"Itene","code":"ite"},{"name":"Inlaod Itneg","code":"iti"},{"name":"Judeo-Italian","code":"itk"},{"name":"Itelmen","code":"itl"},{"name":"Itu Mbon Uzo","code":"itm"},{"name":"Itonama","code":"ito"},{"name":"Iteri","code":"itr"},{"name":"Isekiri","code":"its"},{"name":"Maeng Itneg","code":"itt"},{"name":"Itawit","code":"itv"},{"name":"Ito","code":"itw"},{"name":"Itik","code":"itx"},{"name":"Moyadan Itneg","code":"ity"},{"name":"Itzรก","code":"itz"},{"name":"Iu Mien","code":"ium"},{"name":"Ibatan","code":"ivb"},{"name":"Ivatan","code":"ivv"},{"name":"I-Wak","code":"iwk"},{"name":"Iwam","code":"iwm"},{"name":"Iwur","code":"iwo"},{"name":"Sepik Iwam","code":"iws"},{"name":"Ixcatec","code":"ixc"},{"name":"Ixil","code":"ixl"},{"name":"Iyayu","code":"iya"},{"name":"Mesaka","code":"iyo"},{"name":"Yaka (Congo)","code":"iyx"},{"name":"Ingrian","code":"izh"},{"name":"Izere","code":"izr"},{"name":"Izii","code":"izz"},{"name":"Jamamadรญ","code":"jaa"},{"name":"Hyam","code":"jab"},{"name":"Jakalteko","code":"jac"},{"name":"Popti'","code":"jac"},{"name":"Jahanka","code":"jad"},{"name":"Yabem","code":"jae"},{"name":"Jara","code":"jaf"},{"name":"Jah Hut","code":"jah"},{"name":"Zazao","code":"jaj"},{"name":"Jakun","code":"jak"},{"name":"Yalahatan","code":"jal"},{"name":"Jamaican Creole English","code":"jam"},{"name":"Jandai","code":"jan"},{"name":"Yanyuwa","code":"jao"},{"name":"Yaqay","code":"jaq"},{"name":"New Caledonian Javanese","code":"jas"},{"name":"Jakati","code":"jat"},{"name":"Yaur","code":"jau"},{"name":"Javanese","code":"jav"},{"name":"Jambi Malay","code":"jax"},{"name":"Nhangu","code":"jay"},{"name":"Yan-nhangu","code":"jay"},{"name":"Jawe","code":"jaz"},{"name":"Judeo-Berber","code":"jbe"},{"name":"Badjiri","code":"jbi"},{"name":"Arandai","code":"jbj"},{"name":"Barikewa","code":"jbk"},{"name":"Bijim","code":"jbm"},{"name":"Nafusi","code":"jbn"},{"name":"Lojban","code":"jbo"},{"name":"Jofotek-Bromnya","code":"jbr"},{"name":"Jabutรญ","code":"jbt"},{"name":"Jukun Takum","code":"jbu"},{"name":"Yawijibaya","code":"jbw"},{"name":"Jamaican Country Sign Language","code":"jcs"},{"name":"Krymchak","code":"jct"},{"name":"Jad","code":"jda"},{"name":"Jadgali","code":"jdg"},{"name":"Judeo-Tat","code":"jdt"},{"name":"Jebero","code":"jeb"},{"name":"Jerung","code":"jee"},{"name":"Jeh","code":"jeh"},{"name":"Yei","code":"jei"},{"name":"Jeri Kuo","code":"jek"},{"name":"Yelmek","code":"jel"},{"name":"Dza","code":"jen"},{"name":"Jere","code":"jer"},{"name":"Manem","code":"jet"},{"name":"Jonkor Bourmataguil","code":"jeu"},{"name":"Ngbee","code":"jgb"},{"name":"Judeo-Georgian","code":"jge"},{"name":"Gwak","code":"jgk"},{"name":"Ngomba","code":"jgo"},{"name":"Jehai","code":"jhi"},{"name":"Jhankot Sign Language","code":"jhs"},{"name":"Jina","code":"jia"},{"name":"Jibu","code":"jib"},{"name":"Tol","code":"jic"},{"name":"Bu (Kaduna State)","code":"jid"},{"name":"Jilbe","code":"jie"},{"name":"Djingili","code":"jig"},{"name":"Jingulu","code":"jig"},{"name":"Shangzhai","code":"jih"},{"name":"sTodsde","code":"jih"},{"name":"Jiiddu","code":"jii"},{"name":"Jilim","code":"jil"},{"name":"Jimi (Cameroon)","code":"jim"},{"name":"Jiamao","code":"jio"},{"name":"Guanyinqiao","code":"jiq"},{"name":"Lavrung","code":"jiq"},{"name":"Jita","code":"jit"},{"name":"Youle Jinuo","code":"jiu"},{"name":"Shuar","code":"jiv"},{"name":"Buyuan Jinuo","code":"jiy"},{"name":"Jejueo","code":"jje"},{"name":"Bankal","code":"jjr"},{"name":"Kaera","code":"jka"},{"name":"Mobwa Karen","code":"jkm"},{"name":"Kubo","code":"jko"},{"name":"Paku Karen","code":"jkp"},{"name":"Koro (India)","code":"jkr"},{"name":"Amami Koniya Sign Language","code":"jks"},{"name":"Labir","code":"jku"},{"name":"Ngile","code":"jle"},{"name":"Jamaican Sign Language","code":"jls"},{"name":"Dima","code":"jma"},{"name":"Zumbun","code":"jmb"},{"name":"Machame","code":"jmc"},{"name":"Yamdena","code":"jmd"},{"name":"Jimi (Nigeria)","code":"jmi"},{"name":"Jumli","code":"jml"},{"name":"Makuri Naga","code":"jmn"},{"name":"Kamara","code":"jmr"},{"name":"Mashi (Nigeria)","code":"jms"},{"name":"Mouwase","code":"jmw"},{"name":"Western Juxtlahuaca Mixtec","code":"jmx"},{"name":"Jangshung","code":"jna"},{"name":"Jandavra","code":"jnd"},{"name":"Yangman","code":"jng"},{"name":"Janji","code":"jni"},{"name":"Yemsa","code":"jnj"},{"name":"Rawat","code":"jnl"},{"name":"Jaunsari","code":"jns"},{"name":"Joba","code":"job"},{"name":"Wojenaka","code":"jod"},{"name":"Jogi","code":"jog"},{"name":"Jorรก","code":"jor"},{"name":"Jordanian Sign Language","code":"jos"},{"name":"Jowulu","code":"jow"},{"name":"Jewish Palestinian Aramaic","code":"jpa"},{"name":"Japanese","code":"jpn"},{"name":"Judeo-Persian","code":"jpr"},{"name":"Jaqaru","code":"jqr"},{"name":"Jarai","code":"jra"},{"name":"Judeo-Arabic","code":"jrb"},{"name":"Jiru","code":"jrr"},{"name":"Jakattoe","code":"jrt"},{"name":"Japrerรญa","code":"jru"},{"name":"Japanese Sign Language","code":"jsl"},{"name":"Jรบma","code":"jua"},{"name":"Wannu","code":"jub"},{"name":"Jurchen","code":"juc"},{"name":"Worodougou","code":"jud"},{"name":"Hรตne","code":"juh"},{"name":"Ngadjuri","code":"jui"},{"name":"Wapan","code":"juk"},{"name":"Jirel","code":"jul"},{"name":"Jumjum","code":"jum"},{"name":"Juang","code":"jun"},{"name":"Jiba","code":"juo"},{"name":"Hupdรซ","code":"jup"},{"name":"Jurรบna","code":"jur"},{"name":"Jumla Sign Language","code":"jus"},{"name":"Jutish","code":"jut"},{"name":"Ju","code":"juu"},{"name":"Wรฃpha","code":"juw"},{"name":"Juray","code":"juy"},{"name":"Javindo","code":"jvd"},{"name":"Caribbean Javanese","code":"jvn"},{"name":"Jwira-Pepesa","code":"jwi"},{"name":"Jiarong","code":"jya"},{"name":"Judeo-Yemeni Arabic","code":"jye"},{"name":"Jaya","code":"jyy"},{"name":"Karakalpak","code":"kaa"},{"name":"Kara-Kalpak","code":"kaa"},{"name":"Kabyle","code":"kab"},{"name":"Jingpho","code":"kac"},{"name":"Kachin","code":"kac"},{"name":"Adara","code":"kad"},{"name":"Ketangalan","code":"kae"},{"name":"Katso","code":"kaf"},{"name":"Kajaman","code":"kag"},{"name":"Kara (Central African Republic)","code":"kah"},{"name":"Karekare","code":"kai"},{"name":"Jju","code":"kaj"},{"name":"Kalanguya","code":"kak"},{"name":"Kayapa Kallahan","code":"kak"},{"name":"Greenlandic","code":"kal"},{"name":"Kalaallisut","code":"kal"},{"name":"Kamba (Kenya)","code":"kam"},{"name":"Kannada","code":"kan"},{"name":"Xaasongaxango","code":"kao"},{"name":"Bezhta","code":"kap"},{"name":"Capanahua","code":"kaq"},{"name":"Kashmiri","code":"kas"},{"name":"Georgian","code":"kat"},{"name":"Kanuri","code":"kau"},{"name":"Katukรญna","code":"kav"},{"name":"Kawi","code":"kaw"},{"name":"Kao","code":"kax"},{"name":"Kamayurรก","code":"kay"},{"name":"Kazakh","code":"kaz"},{"name":"Kalarko","code":"kba"},{"name":"Kaxuiรขna","code":"kbb"},{"name":"Kadiwรฉu","code":"kbc"},{"name":"Kabardian","code":"kbd"},{"name":"Kanju","code":"kbe"},{"name":"Khamba","code":"kbg"},{"name":"Camsรก","code":"kbh"},{"name":"Kaptiau","code":"kbi"},{"name":"Kari","code":"kbj"},{"name":"Grass Koiari","code":"kbk"},{"name":"Kanembu","code":"kbl"},{"name":"Iwal","code":"kbm"},{"name":"Kare (Central African Republic)","code":"kbn"},{"name":"Keliko","code":"kbo"},{"name":"Kabiyรจ","code":"kbp"},{"name":"Kamano","code":"kbq"},{"name":"Kafa","code":"kbr"},{"name":"Kande","code":"kbs"},{"name":"Abadi","code":"kbt"},{"name":"Kabutra","code":"kbu"},{"name":"Dera (Indonesia)","code":"kbv"},{"name":"Kaiep","code":"kbw"},{"name":"Ap Ma","code":"kbx"},{"name":"Manga Kanuri","code":"kby"},{"name":"Duhwa","code":"kbz"},{"name":"Khanty","code":"kca"},{"name":"Kawacha","code":"kcb"},{"name":"Lubila","code":"kcc"},{"name":"Ngkรขlmpw Kanum","code":"kcd"},{"name":"Kaivi","code":"kce"},{"name":"Ukaan","code":"kcf"},{"name":"Tyap","code":"kcg"},{"name":"Vono","code":"kch"},{"name":"Kamantan","code":"kci"},{"name":"Kobiana","code":"kcj"},{"name":"Kalanga","code":"kck"},{"name":"Kala","code":"kcl"},{"name":"Kela (Papua New Guinea)","code":"kcl"},{"name":"Gula (Central African Republic)","code":"kcm"},{"name":"Nubi","code":"kcn"},{"name":"Kinalakna","code":"kco"},{"name":"Kanga","code":"kcp"},{"name":"Kamo","code":"kcq"},{"name":"Katla","code":"kcr"},{"name":"Koenoem","code":"kcs"},{"name":"Kaian","code":"kct"},{"name":"Kami (Tanzania)","code":"kcu"},{"name":"Kete","code":"kcv"},{"name":"Kabwari","code":"kcw"},{"name":"Kachama-Ganjule","code":"kcx"},{"name":"Korandje","code":"kcy"},{"name":"Konongo","code":"kcz"},{"name":"Worimi","code":"kda"},{"name":"Kutu","code":"kdc"},{"name":"Yankunytjatjara","code":"kdd"},{"name":"Makonde","code":"kde"},{"name":"Mamusi","code":"kdf"},{"name":"Seba","code":"kdg"},{"name":"Tem","code":"kdh"},{"name":"Kumam","code":"kdi"},{"name":"Karamojong","code":"kdj"},{"name":"Kwรฉnyi","code":"kdk"},{"name":"Numรจรจ","code":"kdk"},{"name":"Tsikimba","code":"kdl"},{"name":"Kagoma","code":"kdm"},{"name":"Kunda","code":"kdn"},{"name":"Kaningdon-Nindem","code":"kdp"},{"name":"Koch","code":"kdq"},{"name":"Karaim","code":"kdr"},{"name":"Kuy","code":"kdt"},{"name":"Kadaru","code":"kdu"},{"name":"Koneraw","code":"kdw"},{"name":"Kam","code":"kdx"},{"name":"Keder","code":"kdy"},{"name":"Keijar","code":"kdy"},{"name":"Kwaja","code":"kdz"},{"name":"Kabuverdianu","code":"kea"},{"name":"Kรฉlรฉ","code":"keb"},{"name":"Keiga","code":"kec"},{"name":"Kerewe","code":"ked"},{"name":"Eastern Keres","code":"kee"},{"name":"Kpessi","code":"kef"},{"name":"Tese","code":"keg"},{"name":"Keak","code":"keh"},{"name":"Kei","code":"kei"},{"name":"Kadar","code":"kej"},{"name":"Kekchรญ","code":"kek"},{"name":"Kela (Democratic Republic of Congo)","code":"kel"},{"name":"Kemak","code":"kem"},{"name":"Kenyang","code":"ken"},{"name":"Kakwa","code":"keo"},{"name":"Kaikadi","code":"kep"},{"name":"Kamar","code":"keq"},{"name":"Kera","code":"ker"},{"name":"Kugbo","code":"kes"},{"name":"Ket","code":"ket"},{"name":"Akebu","code":"keu"},{"name":"Kanikkaran","code":"kev"},{"name":"West Kewa","code":"kew"},{"name":"Kukna","code":"kex"},{"name":"Kupia","code":"key"},{"name":"Kukele","code":"kez"},{"name":"Kodava","code":"kfa"},{"name":"Northwestern Kolami","code":"kfb"},{"name":"Konda-Dora","code":"kfc"},{"name":"Korra Koraga","code":"kfd"},{"name":"Kota (India)","code":"kfe"},{"name":"Koya","code":"kff"},{"name":"Kudiya","code":"kfg"},{"name":"Kurichiya","code":"kfh"},{"name":"Kannada Kurumba","code":"kfi"},{"name":"Kemiehua","code":"kfj"},{"name":"Kinnauri","code":"kfk"},{"name":"Kung","code":"kfl"},{"name":"Khunsari","code":"kfm"},{"name":"Kuk","code":"kfn"},{"name":"Koro (Cรดte d'Ivoire)","code":"kfo"},{"name":"Korwa","code":"kfp"},{"name":"Korku","code":"kfq"},{"name":"Kachhi","code":"kfr"},{"name":"Kutchi","code":"kfr"},{"name":"Bilaspuri","code":"kfs"},{"name":"Kanjari","code":"kft"},{"name":"Katkari","code":"kfu"},{"name":"Kurmukar","code":"kfv"},{"name":"Kharam Naga","code":"kfw"},{"name":"Kullu Pahari","code":"kfx"},{"name":"Kumaoni","code":"kfy"},{"name":"Koromfรฉ","code":"kfz"},{"name":"Koyaga","code":"kga"},{"name":"Kawe","code":"kgb"},{"name":"Komering","code":"kge"},{"name":"Kube","code":"kgf"},{"name":"Kusunda","code":"kgg"},{"name":"Selangor Sign Language","code":"kgi"},{"name":"Gamale Kham","code":"kgj"},{"name":"Kaiwรก","code":"kgk"},{"name":"Kunggari","code":"kgl"},{"name":"Karipรบna","code":"kgm"},{"name":"Karingani","code":"kgn"},{"name":"Krongo","code":"kgo"},{"name":"Kaingang","code":"kgp"},{"name":"Kamoro","code":"kgq"},{"name":"Abun","code":"kgr"},{"name":"Kumbainggar","code":"kgs"},{"name":"Somyev","code":"kgt"},{"name":"Kobol","code":"kgu"},{"name":"Karas","code":"kgv"},{"name":"Karon Dori","code":"kgw"},{"name":"Kamaru","code":"kgx"},{"name":"Kyerung","code":"kgy"},{"name":"Khasi","code":"kha"},{"name":"Lรผ","code":"khb"},{"name":"Tukang Besi North","code":"khc"},{"name":"Bรคdi Kanum","code":"khd"},{"name":"Korowai","code":"khe"},{"name":"Khuen","code":"khf"},{"name":"Khams Tibetan","code":"khg"},{"name":"Kehu","code":"khh"},{"name":"Kuturmi","code":"khj"},{"name":"Halh Mongolian","code":"khk"},{"name":"Lusi","code":"khl"},{"name":"Khmer","code":"khm"},{"name":"Central Khmer","code":"khm"},{"name":"Khandesi","code":"khn"},{"name":"Khotanese","code":"kho"},{"name":"Sakan","code":"kho"},{"name":"Kapauri","code":"khp"},{"name":"Kapori","code":"khp"},{"name":"Koyra Chiini Songhay","code":"khq"},{"name":"Kharia","code":"khr"},{"name":"Kasua","code":"khs"},{"name":"Khamti","code":"kht"},{"name":"Nkhumbi","code":"khu"},{"name":"Khvarshi","code":"khv"},{"name":"Khowar","code":"khw"},{"name":"Kanu","code":"khx"},{"name":"Kele (Democratic Republic of Congo)","code":"khy"},{"name":"Keapara","code":"khz"},{"name":"Kim","code":"kia"},{"name":"Koalib","code":"kib"},{"name":"Kickapoo","code":"kic"},{"name":"Koshin","code":"kid"},{"name":"Kibet","code":"kie"},{"name":"Eastern Parbate Kham","code":"kif"},{"name":"Kimaama","code":"kig"},{"name":"Kimaghima","code":"kig"},{"name":"Kilmeri","code":"kih"},{"name":"Kitsai","code":"kii"},{"name":"Kilivila","code":"kij"},{"name":"Gikuyu","code":"kik"},{"name":"Kikuyu","code":"kik"},{"name":"Kariya","code":"kil"},{"name":"Karagas","code":"kim"},{"name":"Kinyarwanda","code":"kin"},{"name":"Kiowa","code":"kio"},{"name":"Sheshi Kham","code":"kip"},{"name":"Kosadle","code":"kiq"},{"name":"Kosare","code":"kiq"},{"name":"Kirghiz","code":"kir"},{"name":"Kyrgyz","code":"kir"},{"name":"Kis","code":"kis"},{"name":"Agob","code":"kit"},{"name":"Kirmanjki (individual language)","code":"kiu"},{"name":"Kimbu","code":"kiv"},{"name":"Northeast Kiwai","code":"kiw"},{"name":"Khiamniungan Naga","code":"kix"},{"name":"Kirikiri","code":"kiy"},{"name":"Kisi","code":"kiz"},{"name":"Mlap","code":"kja"},{"name":"Kanjobal","code":"kjb"},{"name":"Q'anjob'al","code":"kjb"},{"name":"Coastal Konjo","code":"kjc"},{"name":"Southern Kiwai","code":"kjd"},{"name":"Kisar","code":"kje"},{"name":"Khmu","code":"kjg"},{"name":"Khakas","code":"kjh"},{"name":"Zabana","code":"kji"},{"name":"Khinalugh","code":"kjj"},{"name":"Highland Konjo","code":"kjk"},{"name":"Western Parbate Kham","code":"kjl"},{"name":"Khรกng","code":"kjm"},{"name":"Kunjen","code":"kjn"},{"name":"Harijan Kinnauri","code":"kjo"},{"name":"Pwo Eastern Karen","code":"kjp"},{"name":"Western Keres","code":"kjq"},{"name":"Kurudu","code":"kjr"},{"name":"East Kewa","code":"kjs"},{"name":"Phrae Pwo Karen","code":"kjt"},{"name":"Kashaya","code":"kju"},{"name":"Kaikavian Literary Language","code":"kjv"},{"name":"Ramopa","code":"kjx"},{"name":"Erave","code":"kjy"},{"name":"Bumthangkha","code":"kjz"},{"name":"Kakanda","code":"kka"},{"name":"Kwerisa","code":"kkb"},{"name":"Odoodee","code":"kkc"},{"name":"Kinuku","code":"kkd"},{"name":"Kakabe","code":"kke"},{"name":"Kalaktang Monpa","code":"kkf"},{"name":"Mabaka Valley Kalinga","code":"kkg"},{"name":"Khรผn","code":"kkh"},{"name":"Kagulu","code":"kki"},{"name":"Kako","code":"kkj"},{"name":"Kokota","code":"kkk"},{"name":"Kosarek Yale","code":"kkl"},{"name":"Kiong","code":"kkm"},{"name":"Kon Keu","code":"kkn"},{"name":"Karko","code":"kko"},{"name":"Gugubera","code":"kkp"},{"name":"Koko-Bera","code":"kkp"},{"name":"Kaeku","code":"kkq"},{"name":"Kir-Balar","code":"kkr"},{"name":"Giiwo","code":"kks"},{"name":"Koi","code":"kkt"},{"name":"Tumi","code":"kku"},{"name":"Kangean","code":"kkv"},{"name":"Teke-Kukuya","code":"kkw"},{"name":"Kohin","code":"kkx"},{"name":"Guguyimidjir","code":"kky"},{"name":"Guugu Yimidhirr","code":"kky"},{"name":"Kaska","code":"kkz"},{"name":"Klamath-Modoc","code":"kla"},{"name":"Kiliwa","code":"klb"},{"name":"Kolbila","code":"klc"},{"name":"Gamilaraay","code":"kld"},{"name":"Kulung (Nepal)","code":"kle"},{"name":"Kendeje","code":"klf"},{"name":"Tagakaulo","code":"klg"},{"name":"Weliki","code":"klh"},{"name":"Kalumpang","code":"kli"},{"name":"Khalaj","code":"klj"},{"name":"Kono (Nigeria)","code":"klk"},{"name":"Kagan Kalagan","code":"kll"},{"name":"Migum","code":"klm"},{"name":"Kalenjin","code":"kln"},{"name":"Kapya","code":"klo"},{"name":"Kamasa","code":"klp"},{"name":"Rumu","code":"klq"},{"name":"Khaling","code":"klr"},{"name":"Kalasha","code":"kls"},{"name":"Nukna","code":"klt"},{"name":"Klao","code":"klu"},{"name":"Maskelynes","code":"klv"},{"name":"Lindu","code":"klw"},{"name":"Tado","code":"klw"},{"name":"Koluwawa","code":"klx"},{"name":"Kalao","code":"kly"},{"name":"Kabola","code":"klz"},{"name":"Konni","code":"kma"},{"name":"Kimbundu","code":"kmb"},{"name":"Southern Dong","code":"kmc"},{"name":"Majukayang Kalinga","code":"kmd"},{"name":"Bakole","code":"kme"},{"name":"Kare (Papua New Guinea)","code":"kmf"},{"name":"Kรขte","code":"kmg"},{"name":"Kalam","code":"kmh"},{"name":"Kami (Nigeria)","code":"kmi"},{"name":"Kumarbhag Paharia","code":"kmj"},{"name":"Limos Kalinga","code":"kmk"},{"name":"Tanudan Kalinga","code":"kml"},{"name":"Kom (India)","code":"kmm"},{"name":"Awtuw","code":"kmn"},{"name":"Kwoma","code":"kmo"},{"name":"Gimme","code":"kmp"},{"name":"Kwama","code":"kmq"},{"name":"Northern Kurdish","code":"kmr"},{"name":"Kamasau","code":"kms"},{"name":"Kemtuik","code":"kmt"},{"name":"Kanite","code":"kmu"},{"name":"Karipรบna Creole French","code":"kmv"},{"name":"Komo (Democratic Republic of Congo)","code":"kmw"},{"name":"Waboda","code":"kmx"},{"name":"Koma","code":"kmy"},{"name":"Khorasani Turkish","code":"kmz"},{"name":"Dera (Nigeria)","code":"kna"},{"name":"Lubuagan Kalinga","code":"knb"},{"name":"Central Kanuri","code":"knc"},{"name":"Konda","code":"knd"},{"name":"Kankanaey","code":"kne"},{"name":"Mankanya","code":"knf"},{"name":"Koongo","code":"kng"},{"name":"Kanufi","code":"kni"},{"name":"Western Kanjobal","code":"knj"},{"name":"Kuranko","code":"knk"},{"name":"Keninjal","code":"knl"},{"name":"Kanamarรญ","code":"knm"},{"name":"Konkani (individual language)","code":"knn"},{"name":"Kono (Sierra Leone)","code":"kno"},{"name":"Kwanja","code":"knp"},{"name":"Kintaq","code":"knq"},{"name":"Kaningra","code":"knr"},{"name":"Kensiu","code":"kns"},{"name":"Panoan Katukรญna","code":"knt"},{"name":"Kono (Guinea)","code":"knu"},{"name":"Tabo","code":"knv"},{"name":"Kung-Ekoka","code":"knw"},{"name":"Kendayan","code":"knx"},{"name":"Salako","code":"knx"},{"name":"Kanyok","code":"kny"},{"name":"Kalamsรฉ","code":"knz"},{"name":"Konomala","code":"koa"},{"name":"Kpati","code":"koc"},{"name":"Kodi","code":"kod"},{"name":"Kacipo-Bale Suri","code":"koe"},{"name":"Kubi","code":"kof"},{"name":"Cogui","code":"kog"},{"name":"Kogi","code":"kog"},{"name":"Koyo","code":"koh"},{"name":"Komi-Permyak","code":"koi"},{"name":"Konkani (macrolanguage)","code":"kok"},{"name":"Kol (Papua New Guinea)","code":"kol"},{"name":"Komi","code":"kom"},{"name":"Kongo","code":"kon"},{"name":"Konzo","code":"koo"},{"name":"Waube","code":"kop"},{"name":"Kota (Gabon)","code":"koq"},{"name":"Korean","code":"kor"},{"name":"Kosraean","code":"kos"},{"name":"Lagwan","code":"kot"},{"name":"Koke","code":"kou"},{"name":"Kudu-Camo","code":"kov"},{"name":"Kugama","code":"kow"},{"name":"Koyukon","code":"koy"},{"name":"Korak","code":"koz"},{"name":"Kutto","code":"kpa"},{"name":"Mullu Kurumba","code":"kpb"},{"name":"Curripaco","code":"kpc"},{"name":"Koba","code":"kpd"},{"name":"Kpelle","code":"kpe"},{"name":"Komba","code":"kpf"},{"name":"Kapingamarangi","code":"kpg"},{"name":"Kplang","code":"kph"},{"name":"Kofei","code":"kpi"},{"name":"Karajรก","code":"kpj"},{"name":"Kpan","code":"kpk"},{"name":"Kpala","code":"kpl"},{"name":"Koho","code":"kpm"},{"name":"Kepkiriwรกt","code":"kpn"},{"name":"Ikposo","code":"kpo"},{"name":"Korupun-Sela","code":"kpq"},{"name":"Korafe-Yegha","code":"kpr"},{"name":"Tehit","code":"kps"},{"name":"Karata","code":"kpt"},{"name":"Kafoa","code":"kpu"},{"name":"Komi-Zyrian","code":"kpv"},{"name":"Kobon","code":"kpw"},{"name":"Mountain Koiali","code":"kpx"},{"name":"Koryak","code":"kpy"},{"name":"Kupsabiny","code":"kpz"},{"name":"Mum","code":"kqa"},{"name":"Kovai","code":"kqb"},{"name":"Doromu-Koki","code":"kqc"},{"name":"Koy Sanjaq Surat","code":"kqd"},{"name":"Kalagan","code":"kqe"},{"name":"Kakabai","code":"kqf"},{"name":"Khe","code":"kqg"},{"name":"Kisankasa","code":"kqh"},{"name":"Koitabu","code":"kqi"},{"name":"Koromira","code":"kqj"},{"name":"Kotafon Gbe","code":"kqk"},{"name":"Kyenele","code":"kql"},{"name":"Khisa","code":"kqm"},{"name":"Kaonde","code":"kqn"},{"name":"Eastern Krahn","code":"kqo"},{"name":"Kimrรฉ","code":"kqp"},{"name":"Krenak","code":"kqq"},{"name":"Kimaragang","code":"kqr"},{"name":"Northern Kissi","code":"kqs"},{"name":"Klias River Kadazan","code":"kqt"},{"name":"Seroa","code":"kqu"},{"name":"Okolod","code":"kqv"},{"name":"Kandas","code":"kqw"},{"name":"Mser","code":"kqx"},{"name":"Koorete","code":"kqy"},{"name":"Korana","code":"kqz"},{"name":"Kumhali","code":"kra"},{"name":"Karkin","code":"krb"},{"name":"Karachay-Balkar","code":"krc"},{"name":"Kairui-Midiki","code":"krd"},{"name":"Panarรก","code":"kre"},{"name":"Koro (Vanuatu)","code":"krf"},{"name":"Kurama","code":"krh"},{"name":"Krio","code":"kri"},{"name":"Kinaray-A","code":"krj"},{"name":"Kerek","code":"krk"},{"name":"Karelian","code":"krl"},{"name":"Sapo","code":"krn"},{"name":"Korop","code":"krp"},{"name":"Krung","code":"krr"},{"name":"Gbaya (Sudan)","code":"krs"},{"name":"Tumari Kanuri","code":"krt"},{"name":"Kurukh","code":"kru"},{"name":"Kavet","code":"krv"},{"name":"Western Krahn","code":"krw"},{"name":"Karon","code":"krx"},{"name":"Kryts","code":"kry"},{"name":"Sota Kanum","code":"krz"},{"name":"Shuwa-Zamani","code":"ksa"},{"name":"Shambala","code":"ksb"},{"name":"Southern Kalinga","code":"ksc"},{"name":"Kuanua","code":"ksd"},{"name":"Kuni","code":"kse"},{"name":"Bafia","code":"ksf"},{"name":"Kusaghe","code":"ksg"},{"name":"Kรถlsch","code":"ksh"},{"name":"I'saka","code":"ksi"},{"name":"Krisa","code":"ksi"},{"name":"Uare","code":"ksj"},{"name":"Kansa","code":"ksk"},{"name":"Kumalu","code":"ksl"},{"name":"Kumba","code":"ksm"},{"name":"Kasiguranin","code":"ksn"},{"name":"Kofa","code":"kso"},{"name":"Kaba","code":"ksp"},{"name":"Kwaami","code":"ksq"},{"name":"Borong","code":"ksr"},{"name":"Southern Kisi","code":"kss"},{"name":"Winyรฉ","code":"kst"},{"name":"Khamyang","code":"ksu"},{"name":"Kusu","code":"ksv"},{"name":"S'gaw Karen","code":"ksw"},{"name":"Kedang","code":"ksx"},{"name":"Kharia Thar","code":"ksy"},{"name":"Kodaku","code":"ksz"},{"name":"Katua","code":"kta"},{"name":"Kambaata","code":"ktb"},{"name":"Kholok","code":"ktc"},{"name":"Kokata","code":"ktd"},{"name":"Kukatha","code":"ktd"},{"name":"Nubri","code":"kte"},{"name":"Kwami","code":"ktf"},{"name":"Kalkutung","code":"ktg"},{"name":"Karanga","code":"kth"},{"name":"North Muyu","code":"kti"},{"name":"Plapo Krumen","code":"ktj"},{"name":"Kaniet","code":"ktk"},{"name":"Koroshi","code":"ktl"},{"name":"Kurti","code":"ktm"},{"name":"Karitiรขna","code":"ktn"},{"name":"Kuot","code":"kto"},{"name":"Kaduo","code":"ktp"},{"name":"Katabaga","code":"ktq"},{"name":"South Muyu","code":"kts"},{"name":"Ketum","code":"ktt"},{"name":"Kituba (Democratic Republic of Congo)","code":"ktu"},{"name":"Eastern Katu","code":"ktv"},{"name":"Kato","code":"ktw"},{"name":"Kaxararรญ","code":"ktx"},{"name":"Kango (Bas-Uรฉlรฉ District)","code":"kty"},{"name":"Juว€สผhoan","code":"ktz"},{"name":"Juว€สผhoansi","code":"ktz"},{"name":"Kuanyama","code":"kua"},{"name":"Kwanyama","code":"kua"},{"name":"Kutep","code":"kub"},{"name":"Kwinsu","code":"kuc"},{"name":"'Auhelawa","code":"kud"},{"name":"Kuman (Papua New Guinea)","code":"kue"},{"name":"Western Katu","code":"kuf"},{"name":"Kupa","code":"kug"},{"name":"Kushi","code":"kuh"},{"name":"Kalapalo","code":"kui"},{"name":"Kuikรบro-Kalapรกlo","code":"kui"},{"name":"Kuria","code":"kuj"},{"name":"Kepo'","code":"kuk"},{"name":"Kulere","code":"kul"},{"name":"Kumyk","code":"kum"},{"name":"Kunama","code":"kun"},{"name":"Kumukio","code":"kuo"},{"name":"Kunimaipa","code":"kup"},{"name":"Karipuna","code":"kuq"},{"name":"Kurdish","code":"kur"},{"name":"Kusaal","code":"kus"},{"name":"Kutenai","code":"kut"},{"name":"Upper Kuskokwim","code":"kuu"},{"name":"Kur","code":"kuv"},{"name":"Kpagua","code":"kuw"},{"name":"Kukatja","code":"kux"},{"name":"Kuuku-Ya'u","code":"kuy"},{"name":"Kunza","code":"kuz"},{"name":"Bagvalal","code":"kva"},{"name":"Kubu","code":"kvb"},{"name":"Kove","code":"kvc"},{"name":"Kui (Indonesia)","code":"kvd"},{"name":"Kalabakan","code":"kve"},{"name":"Kabalai","code":"kvf"},{"name":"Kuni-Boazi","code":"kvg"},{"name":"Komodo","code":"kvh"},{"name":"Kwang","code":"kvi"},{"name":"Psikye","code":"kvj"},{"name":"Korean Sign Language","code":"kvk"},{"name":"Kayaw","code":"kvl"},{"name":"Kendem","code":"kvm"},{"name":"Border Kuna","code":"kvn"},{"name":"Dobel","code":"kvo"},{"name":"Kompane","code":"kvp"},{"name":"Geba Karen","code":"kvq"},{"name":"Kerinci","code":"kvr"},{"name":"Lahta","code":"kvt"},{"name":"Lahta Karen","code":"kvt"},{"name":"Yinbaw Karen","code":"kvu"},{"name":"Kola","code":"kvv"},{"name":"Wersing","code":"kvw"},{"name":"Parkari Koli","code":"kvx"},{"name":"Yintale","code":"kvy"},{"name":"Yintale Karen","code":"kvy"},{"name":"Tsakwambo","code":"kvz"},{"name":"Tsaukambo","code":"kvz"},{"name":"Dรขw","code":"kwa"},{"name":"Kwa","code":"kwb"},{"name":"Likwala","code":"kwc"},{"name":"Kwaio","code":"kwd"},{"name":"Kwerba","code":"kwe"},{"name":"Kwara'ae","code":"kwf"},{"name":"Sara Kaba Deme","code":"kwg"},{"name":"Kowiai","code":"kwh"},{"name":"Awa-Cuaiquer","code":"kwi"},{"name":"Kwanga","code":"kwj"},{"name":"Kwakiutl","code":"kwk"},{"name":"Kofyar","code":"kwl"},{"name":"Kwambi","code":"kwm"},{"name":"Kwangali","code":"kwn"},{"name":"Kwomtari","code":"kwo"},{"name":"Kodia","code":"kwp"},{"name":"Kwer","code":"kwr"},{"name":"Kwese","code":"kws"},{"name":"Kwesten","code":"kwt"},{"name":"Kwakum","code":"kwu"},{"name":"Sara Kaba Nรกร ","code":"kwv"},{"name":"Kwinti","code":"kww"},{"name":"Khirwar","code":"kwx"},{"name":"San Salvador Kongo","code":"kwy"},{"name":"Kwadi","code":"kwz"},{"name":"Kairiru","code":"kxa"},{"name":"Krobu","code":"kxb"},{"name":"Khonso","code":"kxc"},{"name":"Konso","code":"kxc"},{"name":"Brunei","code":"kxd"},{"name":"Manumanaw","code":"kxf"},{"name":"Manumanaw Karen","code":"kxf"},{"name":"Karo (Ethiopia)","code":"kxh"},{"name":"Keningau Murut","code":"kxi"},{"name":"Kulfa","code":"kxj"},{"name":"Zayein Karen","code":"kxk"},{"name":"Northern Khmer","code":"kxm"},{"name":"Kanowit-Tanjong Melanau","code":"kxn"},{"name":"Kanoรฉ","code":"kxo"},{"name":"Wadiyara Koli","code":"kxp"},{"name":"Smรคrky Kanum","code":"kxq"},{"name":"Koro (Papua New Guinea)","code":"kxr"},{"name":"Kangjia","code":"kxs"},{"name":"Koiwat","code":"kxt"},{"name":"Kuvi","code":"kxv"},{"name":"Konai","code":"kxw"},{"name":"Likuba","code":"kxx"},{"name":"Kayong","code":"kxy"},{"name":"Kerewo","code":"kxz"},{"name":"Kwaya","code":"kya"},{"name":"Butbut Kalinga","code":"kyb"},{"name":"Kyaka","code":"kyc"},{"name":"Karey","code":"kyd"},{"name":"Krache","code":"kye"},{"name":"Kouya","code":"kyf"},{"name":"Keyagana","code":"kyg"},{"name":"Karok","code":"kyh"},{"name":"Kiput","code":"kyi"},{"name":"Karao","code":"kyj"},{"name":"Kamayo","code":"kyk"},{"name":"Kalapuya","code":"kyl"},{"name":"Kpatili","code":"kym"},{"name":"Northern Binukidnon","code":"kyn"},{"name":"Kelon","code":"kyo"},{"name":"Kang","code":"kyp"},{"name":"Kenga","code":"kyq"},{"name":"Kuruรกya","code":"kyr"},{"name":"Baram Kayan","code":"kys"},{"name":"Kayagar","code":"kyt"},{"name":"Western Kayah","code":"kyu"},{"name":"Kayort","code":"kyv"},{"name":"Kudmali","code":"kyw"},{"name":"Rapoisi","code":"kyx"},{"name":"Kambaira","code":"kyy"},{"name":"Kayabรญ","code":"kyz"},{"name":"Western Karaboro","code":"kza"},{"name":"Kaibobo","code":"kzb"},{"name":"Bondoukou Kulango","code":"kzc"},{"name":"Kadai","code":"kzd"},{"name":"Kosena","code":"kze"},{"name":"Da'a Kaili","code":"kzf"},{"name":"Kikai","code":"kzg"},{"name":"Kelabit","code":"kzi"},{"name":"Kazukuru","code":"kzk"},{"name":"Kayeli","code":"kzl"},{"name":"Kais","code":"kzm"},{"name":"Kokola","code":"kzn"},{"name":"Kaningi","code":"kzo"},{"name":"Kaidipang","code":"kzp"},{"name":"Kaike","code":"kzq"},{"name":"Karang","code":"kzr"},{"name":"Sugut Dusun","code":"kzs"},{"name":"Kayupulau","code":"kzu"},{"name":"Komyandaret","code":"kzv"},{"name":"Karirรญ-Xocรณ","code":"kzw"},{"name":"Kamarian","code":"kzx"},{"name":"Kango (Tshopo District)","code":"kzy"},{"name":"Kalabra","code":"kzz"},{"name":"Southern Subanen","code":"laa"},{"name":"Linear A","code":"lab"},{"name":"Lacandon","code":"lac"},{"name":"Ladino","code":"lad"},{"name":"Pattani","code":"lae"},{"name":"Lafofa","code":"laf"},{"name":"Langi","code":"lag"},{"name":"Lahnda","code":"lah"},{"name":"Lambya","code":"lai"},{"name":"Lango (Uganda)","code":"laj"},{"name":"Laka (Nigeria)","code":"lak"},{"name":"Lalia","code":"lal"},{"name":"Lamba","code":"lam"},{"name":"Laru","code":"lan"},{"name":"Lao","code":"lao"},{"name":"Laka (Chad)","code":"lap"},{"name":"Qabiao","code":"laq"},{"name":"Larteh","code":"lar"},{"name":"Lama (Togo)","code":"las"},{"name":"Latin","code":"lat"},{"name":"Laba","code":"lau"},{"name":"Latvian","code":"lav"},{"name":"Lauje","code":"law"},{"name":"Tiwa","code":"lax"},{"name":"Lama Bai","code":"lay"},{"name":"Aribwatsa","code":"laz"},{"name":"Label","code":"lbb"},{"name":"Lakkia","code":"lbc"},{"name":"Lak","code":"lbe"},{"name":"Tinani","code":"lbf"},{"name":"Laopang","code":"lbg"},{"name":"La'bi","code":"lbi"},{"name":"Ladakhi","code":"lbj"},{"name":"Central Bontok","code":"lbk"},{"name":"Libon Bikol","code":"lbl"},{"name":"Lodhi","code":"lbm"},{"name":"Rmeet","code":"lbn"},{"name":"Laven","code":"lbo"},{"name":"Wampar","code":"lbq"},{"name":"Lohorung","code":"lbr"},{"name":"Libyan Sign Language","code":"lbs"},{"name":"Lachi","code":"lbt"},{"name":"Labu","code":"lbu"},{"name":"Lavatbura-Lamusong","code":"lbv"},{"name":"Tolaki","code":"lbw"},{"name":"Lawangan","code":"lbx"},{"name":"Lamalama","code":"lby"},{"name":"Lamu-Lamu","code":"lby"},{"name":"Lardil","code":"lbz"},{"name":"Legenyem","code":"lcc"},{"name":"Lola","code":"lcd"},{"name":"Loncong","code":"lce"},{"name":"Sekak","code":"lce"},{"name":"Lubu","code":"lcf"},{"name":"Luchazi","code":"lch"},{"name":"Lisela","code":"lcl"},{"name":"Tungag","code":"lcm"},{"name":"Western Lawa","code":"lcp"},{"name":"Luhu","code":"lcq"},{"name":"Lisabata-Nuniali","code":"lcs"},{"name":"Kla-Dan","code":"lda"},{"name":"Duฬƒya","code":"ldb"},{"name":"Luri","code":"ldd"},{"name":"Lenyima","code":"ldg"},{"name":"Lamja-Dengsa-Tola","code":"ldh"},{"name":"Laari","code":"ldi"},{"name":"Lemoro","code":"ldj"},{"name":"Leelau","code":"ldk"},{"name":"Kaan","code":"ldl"},{"name":"Landoma","code":"ldm"},{"name":"Lรกadan","code":"ldn"},{"name":"Loo","code":"ldo"},{"name":"Tso","code":"ldp"},{"name":"Lufu","code":"ldq"},{"name":"Lega-Shabunda","code":"lea"},{"name":"Lala-Bisa","code":"leb"},{"name":"Leco","code":"lec"},{"name":"Lendu","code":"led"},{"name":"Lyรฉlรฉ","code":"lee"},{"name":"Lelemi","code":"lef"},{"name":"Lenje","code":"leh"},{"name":"Lemio","code":"lei"},{"name":"Lengola","code":"lej"},{"name":"Leipon","code":"lek"},{"name":"Lele (Democratic Republic of Congo)","code":"lel"},{"name":"Nomaande","code":"lem"},{"name":"Lenca","code":"len"},{"name":"Leti (Cameroon)","code":"leo"},{"name":"Lepcha","code":"lep"},{"name":"Lembena","code":"leq"},{"name":"Lenkau","code":"ler"},{"name":"Lese","code":"les"},{"name":"Amio-Gelimi","code":"let"},{"name":"Lesing-Gelimi","code":"let"},{"name":"Kara (Papua New Guinea)","code":"leu"},{"name":"Lamma","code":"lev"},{"name":"Ledo Kaili","code":"lew"},{"name":"Luang","code":"lex"},{"name":"Lemolang","code":"ley"},{"name":"Lezghian","code":"lez"},{"name":"Lefa","code":"lfa"},{"name":"Lingua Franca Nova","code":"lfn"},{"name":"Lungga","code":"lga"},{"name":"Laghu","code":"lgb"},{"name":"Lugbara","code":"lgg"},{"name":"Laghuu","code":"lgh"},{"name":"Lengilu","code":"lgi"},{"name":"Lingarak","code":"lgk"},{"name":"Neverver","code":"lgk"},{"name":"Wala","code":"lgl"},{"name":"Lega-Mwenga","code":"lgm"},{"name":"Opuuo","code":"lgn"},{"name":"T'apo","code":"lgn"},{"name":"Logba","code":"lgq"},{"name":"Lengo","code":"lgr"},{"name":"Pahi","code":"lgt"},{"name":"Longgu","code":"lgu"},{"name":"Ligenza","code":"lgz"},{"name":"Laha (Viet Nam)","code":"lha"},{"name":"Laha (Indonesia)","code":"lhh"},{"name":"Lahu Shi","code":"lhi"},{"name":"Lahul Lohar","code":"lhl"},{"name":"Lhomi","code":"lhm"},{"name":"Lahanan","code":"lhn"},{"name":"Lhokpu","code":"lhp"},{"name":"Mlahsรถ","code":"lhs"},{"name":"Lo-Toga","code":"lht"},{"name":"Lahu","code":"lhu"},{"name":"West-Central Limba","code":"lia"},{"name":"Likum","code":"lib"},{"name":"Hlai","code":"lic"},{"name":"Nyindrou","code":"lid"},{"name":"Likila","code":"lie"},{"name":"Limbu","code":"lif"},{"name":"Ligbi","code":"lig"},{"name":"Lihir","code":"lih"},{"name":"Ligurian","code":"lij"},{"name":"Lika","code":"lik"},{"name":"Lillooet","code":"lil"},{"name":"Limburgan","code":"lim"},{"name":"Limburger","code":"lim"},{"name":"Limburgish","code":"lim"},{"name":"Lingala","code":"lin"},{"name":"Liki","code":"lio"},{"name":"Sekpele","code":"lip"},{"name":"Libido","code":"liq"},{"name":"Liberian English","code":"lir"},{"name":"Lisu","code":"lis"},{"name":"Lithuanian","code":"lit"},{"name":"Logorik","code":"liu"},{"name":"Liv","code":"liv"},{"name":"Col","code":"liw"},{"name":"Liabuku","code":"lix"},{"name":"Banda-Bambari","code":"liy"},{"name":"Libinza","code":"liz"},{"name":"Golpa","code":"lja"},{"name":"Rampi","code":"lje"},{"name":"Laiyolo","code":"lji"},{"name":"Li'o","code":"ljl"},{"name":"Lampung Api","code":"ljp"},{"name":"Yirandali","code":"ljw"},{"name":"Yuru","code":"ljx"},{"name":"Lakalei","code":"lka"},{"name":"Kabras","code":"lkb"},{"name":"Lukabaras","code":"lkb"},{"name":"Kucong","code":"lkc"},{"name":"Lakondรช","code":"lkd"},{"name":"Kenyi","code":"lke"},{"name":"Lakha","code":"lkh"},{"name":"Laki","code":"lki"},{"name":"Remun","code":"lkj"},{"name":"Laeko-Libuat","code":"lkl"},{"name":"Kalaamaya","code":"lkm"},{"name":"Lakon","code":"lkn"},{"name":"Vure","code":"lkn"},{"name":"Khayo","code":"lko"},{"name":"Olukhayo","code":"lko"},{"name":"Pรคri","code":"lkr"},{"name":"Kisa","code":"lks"},{"name":"Olushisa","code":"lks"},{"name":"Lakota","code":"lkt"},{"name":"Kungkari","code":"lku"},{"name":"Lokoya","code":"lky"},{"name":"Lala-Roba","code":"lla"},{"name":"Lolo","code":"llb"},{"name":"Lele (Guinea)","code":"llc"},{"name":"Ladin","code":"lld"},{"name":"Lele (Papua New Guinea)","code":"lle"},{"name":"Hermit","code":"llf"},{"name":"Lole","code":"llg"},{"name":"Lamu","code":"llh"},{"name":"Teke-Laali","code":"lli"},{"name":"Ladji Ladji","code":"llj"},{"name":"Lelak","code":"llk"},{"name":"Lilau","code":"lll"},{"name":"Lasalimu","code":"llm"},{"name":"Lele (Chad)","code":"lln"},{"name":"North Efate","code":"llp"},{"name":"Lolak","code":"llq"},{"name":"Lithuanian Sign Language","code":"lls"},{"name":"Lau","code":"llu"},{"name":"Lauan","code":"llx"},{"name":"East Limba","code":"lma"},{"name":"Merei","code":"lmb"},{"name":"Limilngan","code":"lmc"},{"name":"Lumun","code":"lmd"},{"name":"Pรฉvรฉ","code":"lme"},{"name":"South Lembata","code":"lmf"},{"name":"Lamogai","code":"lmg"},{"name":"Lambichhong","code":"lmh"},{"name":"Lombi","code":"lmi"},{"name":"West Lembata","code":"lmj"},{"name":"Lamkang","code":"lmk"},{"name":"Hano","code":"lml"},{"name":"Lambadi","code":"lmn"},{"name":"Lombard","code":"lmo"},{"name":"Limbum","code":"lmp"},{"name":"Lamatuka","code":"lmq"},{"name":"Lamalera","code":"lmr"},{"name":"Lamenu","code":"lmu"},{"name":"Lomaiviti","code":"lmv"},{"name":"Lake Miwok","code":"lmw"},{"name":"Laimbue","code":"lmx"},{"name":"Lamboya","code":"lmy"},{"name":"Langbashe","code":"lna"},{"name":"Mbalanhu","code":"lnb"},{"name":"Lun Bawang","code":"lnd"},{"name":"Lundayeh","code":"lnd"},{"name":"Langobardic","code":"lng"},{"name":"Lanoh","code":"lnh"},{"name":"Daantanai'","code":"lni"},{"name":"Leningitij","code":"lnj"},{"name":"South Central Banda","code":"lnl"},{"name":"Langam","code":"lnm"},{"name":"Lorediakarkar","code":"lnn"},{"name":"Lango (South Sudan)","code":"lno"},{"name":"Lamnso'","code":"lns"},{"name":"Longuda","code":"lnu"},{"name":"Lanima","code":"lnw"},{"name":"Lonzo","code":"lnz"},{"name":"Loloda","code":"loa"},{"name":"Lobi","code":"lob"},{"name":"Inonhan","code":"loc"},{"name":"Saluan","code":"loe"},{"name":"Logol","code":"lof"},{"name":"Logo","code":"log"},{"name":"Narim","code":"loh"},{"name":"Loma (Cรดte d'Ivoire)","code":"loi"},{"name":"Lou","code":"loj"},{"name":"Loko","code":"lok"},{"name":"Mongo","code":"lol"},{"name":"Loma (Liberia)","code":"lom"},{"name":"Malawi Lomwe","code":"lon"},{"name":"Lombo","code":"loo"},{"name":"Lopa","code":"lop"},{"name":"Lobala","code":"loq"},{"name":"Tรฉรฉn","code":"lor"},{"name":"Loniu","code":"los"},{"name":"Otuho","code":"lot"},{"name":"Louisiana Creole","code":"lou"},{"name":"Lopi","code":"lov"},{"name":"Tampias Lobu","code":"low"},{"name":"Loun","code":"lox"},{"name":"Loke","code":"loy"},{"name":"Lozi","code":"loz"},{"name":"Lelepa","code":"lpa"},{"name":"Lepki","code":"lpe"},{"name":"Long Phuri Naga","code":"lpn"},{"name":"Lipo","code":"lpo"},{"name":"Lopit","code":"lpx"},{"name":"Rara Bakati'","code":"lra"},{"name":"Northern Luri","code":"lrc"},{"name":"Laurentian","code":"lre"},{"name":"Laragia","code":"lrg"},{"name":"Marachi","code":"lri"},{"name":"Olumarachi","code":"lri"},{"name":"Loarki","code":"lrk"},{"name":"Lari","code":"lrl"},{"name":"Marama","code":"lrm"},{"name":"Olumarama","code":"lrm"},{"name":"Lorang","code":"lrn"},{"name":"Laro","code":"lro"},{"name":"Southern Yamphu","code":"lrr"},{"name":"Larantuka Malay","code":"lrt"},{"name":"Larevat","code":"lrv"},{"name":"Lemerig","code":"lrz"},{"name":"Lasgerdi","code":"lsa"},{"name":"Burundian Sign Language","code":"lsb"},{"name":"Langue des Signes Burundaise","code":"lsb"},{"name":"Lishana Deni","code":"lsd"},{"name":"Lusengo","code":"lse"},{"name":"Lish","code":"lsh"},{"name":"Lashi","code":"lsi"},{"name":"Latvian Sign Language","code":"lsl"},{"name":"Olusamia","code":"lsm"},{"name":"Saamia","code":"lsm"},{"name":"Tibetan Sign Language","code":"lsn"},{"name":"Laos Sign Language","code":"lso"},{"name":"Lengua de Seรฑas Panameรฑas","code":"lsp"},{"name":"Panamanian Sign Language","code":"lsp"},{"name":"Aruop","code":"lsr"},{"name":"Lasi","code":"lss"},{"name":"Trinidad and Tobago Sign Language","code":"lst"},{"name":"Sivia Sign Language","code":"lsv"},{"name":"Mauritian Sign Language","code":"lsy"},{"name":"Late Middle Chinese","code":"ltc"},{"name":"Latgalian","code":"ltg"},{"name":"Thur","code":"lth"},{"name":"Leti (Indonesia)","code":"lti"},{"name":"Latundรช","code":"ltn"},{"name":"Olutsotso","code":"lto"},{"name":"Tsotso","code":"lto"},{"name":"Lutachoni","code":"lts"},{"name":"Tachoni","code":"lts"},{"name":"Latu","code":"ltu"},{"name":"Letzeburgesch","code":"ltz"},{"name":"Luxembourgish","code":"ltz"},{"name":"Luba-Lulua","code":"lua"},{"name":"Luba-Katanga","code":"lub"},{"name":"Aringa","code":"luc"},{"name":"Ludian","code":"lud"},{"name":"Luvale","code":"lue"},{"name":"Laua","code":"luf"},{"name":"Ganda","code":"lug"},{"name":"Luiseno","code":"lui"},{"name":"Luna","code":"luj"},{"name":"Lunanakha","code":"luk"},{"name":"Olu'bo","code":"lul"},{"name":"Luimbi","code":"lum"},{"name":"Lunda","code":"lun"},{"name":"Dholuo","code":"luo"},{"name":"Luo (Kenya and Tanzania)","code":"luo"},{"name":"Lumbu","code":"lup"},{"name":"Lucumi","code":"luq"},{"name":"Laura","code":"lur"},{"name":"Lushai","code":"lus"},{"name":"Lushootseed","code":"lut"},{"name":"Lumba-Yakkha","code":"luu"},{"name":"Luwati","code":"luv"},{"name":"Luo (Cameroon)","code":"luw"},{"name":"Luyia","code":"luy"},{"name":"Oluluyia","code":"luy"},{"name":"Southern Luri","code":"luz"},{"name":"Maku'a","code":"lva"},{"name":"Lavi","code":"lvi"},{"name":"Lavukaleve","code":"lvk"},{"name":"Standard Latvian","code":"lvs"},{"name":"Levuka","code":"lvu"},{"name":"Lwalu","code":"lwa"},{"name":"Lewo Eleng","code":"lwe"},{"name":"Oluwanga","code":"lwg"},{"name":"Wanga","code":"lwg"},{"name":"White Lachi","code":"lwh"},{"name":"Eastern Lawa","code":"lwl"},{"name":"Laomian","code":"lwm"},{"name":"Luwo","code":"lwo"},{"name":"Malawian Sign Language","code":"lws"},{"name":"Lewotobi","code":"lwt"},{"name":"Lawu","code":"lwu"},{"name":"Lewo","code":"lww"},{"name":"Lakurumau","code":"lxm"},{"name":"Layakha","code":"lya"},{"name":"Lyngngam","code":"lyg"},{"name":"Luyana","code":"lyn"},{"name":"Literary Chinese","code":"lzh"},{"name":"Litzlitz","code":"lzl"},{"name":"Leinong Naga","code":"lzn"},{"name":"Laz","code":"lzz"},{"name":"San Jerรณnimo Tecรณatl Mazatec","code":"maa"},{"name":"Yutanduchi Mixtec","code":"mab"},{"name":"Madurese","code":"mad"},{"name":"Bo-Rukul","code":"mae"},{"name":"Mafa","code":"maf"},{"name":"Magahi","code":"mag"},{"name":"Marshallese","code":"mah"},{"name":"Maithili","code":"mai"},{"name":"Jalapa De Dรญaz Mazatec","code":"maj"},{"name":"Makasar","code":"mak"},{"name":"Malayalam","code":"mal"},{"name":"Mam","code":"mam"},{"name":"Manding","code":"man"},{"name":"Mandingo","code":"man"},{"name":"Chiquihuitlรกn Mazatec","code":"maq"},{"name":"Marathi","code":"mar"},{"name":"Masai","code":"mas"},{"name":"San Francisco Matlatzinca","code":"mat"},{"name":"Huautla Mazatec","code":"mau"},{"name":"Saterรฉ-Mawรฉ","code":"mav"},{"name":"Mampruli","code":"maw"},{"name":"North Moluccan Malay","code":"max"},{"name":"Central Mazahua","code":"maz"},{"name":"Higaonon","code":"mba"},{"name":"Western Bukidnon Manobo","code":"mbb"},{"name":"Macushi","code":"mbc"},{"name":"Dibabawon Manobo","code":"mbd"},{"name":"Molale","code":"mbe"},{"name":"Baba Malay","code":"mbf"},{"name":"Mangseng","code":"mbh"},{"name":"Ilianen Manobo","code":"mbi"},{"name":"Nadรซb","code":"mbj"},{"name":"Malol","code":"mbk"},{"name":"Maxakalรญ","code":"mbl"},{"name":"Ombamba","code":"mbm"},{"name":"Macaguรกn","code":"mbn"},{"name":"Mbo (Cameroon)","code":"mbo"},{"name":"Malayo","code":"mbp"},{"name":"Maisin","code":"mbq"},{"name":"Nukak Makรบ","code":"mbr"},{"name":"Sarangani Manobo","code":"mbs"},{"name":"Matigsalug Manobo","code":"mbt"},{"name":"Mbula-Bwazza","code":"mbu"},{"name":"Mbulungish","code":"mbv"},{"name":"Maring","code":"mbw"},{"name":"Mari (East Sepik Province)","code":"mbx"},{"name":"Memoni","code":"mby"},{"name":"Amoltepec Mixtec","code":"mbz"},{"name":"Maca","code":"mca"},{"name":"Machiguenga","code":"mcb"},{"name":"Bitur","code":"mcc"},{"name":"Sharanahua","code":"mcd"},{"name":"Itundujia Mixtec","code":"mce"},{"name":"Matsรฉs","code":"mcf"},{"name":"Mapoyo","code":"mcg"},{"name":"Maquiritari","code":"mch"},{"name":"Mese","code":"mci"},{"name":"Mvanip","code":"mcj"},{"name":"Mbunda","code":"mck"},{"name":"Macaguaje","code":"mcl"},{"name":"Malaccan Creole Portuguese","code":"mcm"},{"name":"Masana","code":"mcn"},{"name":"Coatlรกn Mixe","code":"mco"},{"name":"Makaa","code":"mcp"},{"name":"Ese","code":"mcq"},{"name":"Menya","code":"mcr"},{"name":"Mambai","code":"mcs"},{"name":"Mengisa","code":"mct"},{"name":"Cameroon Mambila","code":"mcu"},{"name":"Minanibai","code":"mcv"},{"name":"Mawa (Chad)","code":"mcw"},{"name":"Mpiemo","code":"mcx"},{"name":"South Watut","code":"mcy"},{"name":"Mawan","code":"mcz"},{"name":"Mada (Nigeria)","code":"mda"},{"name":"Morigi","code":"mdb"},{"name":"Male (Papua New Guinea)","code":"mdc"},{"name":"Mbum","code":"mdd"},{"name":"Maba (Chad)","code":"mde"},{"name":"Moksha","code":"mdf"},{"name":"Massalat","code":"mdg"},{"name":"Maguindanaon","code":"mdh"},{"name":"Mamvu","code":"mdi"},{"name":"Mangbetu","code":"mdj"},{"name":"Mangbutu","code":"mdk"},{"name":"Maltese Sign Language","code":"mdl"},{"name":"Mayogo","code":"mdm"},{"name":"Mbati","code":"mdn"},{"name":"Mbala","code":"mdp"},{"name":"Mbole","code":"mdq"},{"name":"Mandar","code":"mdr"},{"name":"Maria (Papua New Guinea)","code":"mds"},{"name":"Mbere","code":"mdt"},{"name":"Mboko","code":"mdu"},{"name":"Santa Lucรญa Monteverde Mixtec","code":"mdv"},{"name":"Mbosi","code":"mdw"},{"name":"Dizin","code":"mdx"},{"name":"Male (Ethiopia)","code":"mdy"},{"name":"Suruรญ Do Parรก","code":"mdz"},{"name":"Menka","code":"mea"},{"name":"Ikobi","code":"meb"},{"name":"Marra","code":"mec"},{"name":"Melpa","code":"med"},{"name":"Mengen","code":"mee"},{"name":"Megam","code":"mef"},{"name":"Southwestern Tlaxiaco Mixtec","code":"meh"},{"name":"Midob","code":"mei"},{"name":"Meyah","code":"mej"},{"name":"Mekeo","code":"mek"},{"name":"Central Melanau","code":"mel"},{"name":"Mangala","code":"mem"},{"name":"Mende (Sierra Leone)","code":"men"},{"name":"Kedah Malay","code":"meo"},{"name":"Miriwoong","code":"mep"},{"name":"Merey","code":"meq"},{"name":"Meru","code":"mer"},{"name":"Masmaje","code":"mes"},{"name":"Mato","code":"met"},{"name":"Motu","code":"meu"},{"name":"Mano","code":"mev"},{"name":"Maaka","code":"mew"},{"name":"Hassaniyya","code":"mey"},{"name":"Menominee","code":"mez"},{"name":"Pattani Malay","code":"mfa"},{"name":"Bangka","code":"mfb"},{"name":"Mba","code":"mfc"},{"name":"Mendankwe-Nkwen","code":"mfd"},{"name":"Morisyen","code":"mfe"},{"name":"Naki","code":"mff"},{"name":"Mogofin","code":"mfg"},{"name":"Matal","code":"mfh"},{"name":"Wandala","code":"mfi"},{"name":"Mefele","code":"mfj"},{"name":"North Mofu","code":"mfk"},{"name":"Putai","code":"mfl"},{"name":"Marghi South","code":"mfm"},{"name":"Cross River Mbembe","code":"mfn"},{"name":"Mbe","code":"mfo"},{"name":"Makassar Malay","code":"mfp"},{"name":"Moba","code":"mfq"},{"name":"Marrithiyel","code":"mfr"},{"name":"Mexican Sign Language","code":"mfs"},{"name":"Mokerang","code":"mft"},{"name":"Mbwela","code":"mfu"},{"name":"Mandjak","code":"mfv"},{"name":"Mulaha","code":"mfw"},{"name":"Melo","code":"mfx"},{"name":"Mayo","code":"mfy"},{"name":"Mabaan","code":"mfz"},{"name":"Middle Irish (900-1200)","code":"mga"},{"name":"Mararit","code":"mgb"},{"name":"Morokodo","code":"mgc"},{"name":"Moru","code":"mgd"},{"name":"Mango","code":"mge"},{"name":"Maklew","code":"mgf"},{"name":"Mpumpong","code":"mgg"},{"name":"Makhuwa-Meetto","code":"mgh"},{"name":"Lijili","code":"mgi"},{"name":"Abureni","code":"mgj"},{"name":"Mawes","code":"mgk"},{"name":"Maleu-Kilenge","code":"mgl"},{"name":"Mambae","code":"mgm"},{"name":"Mbangi","code":"mgn"},{"name":"Meta'","code":"mgo"},{"name":"Eastern Magar","code":"mgp"},{"name":"Malila","code":"mgq"},{"name":"Mambwe-Lungu","code":"mgr"},{"name":"Manda (Tanzania)","code":"mgs"},{"name":"Mongol","code":"mgt"},{"name":"Mailu","code":"mgu"},{"name":"Matengo","code":"mgv"},{"name":"Matumbi","code":"mgw"},{"name":"Mbunga","code":"mgy"},{"name":"Mbugwe","code":"mgz"},{"name":"Manda (India)","code":"mha"},{"name":"Mahongwe","code":"mhb"},{"name":"Mocho","code":"mhc"},{"name":"Mbugu","code":"mhd"},{"name":"Besisi","code":"mhe"},{"name":"Mah Meri","code":"mhe"},{"name":"Mamaa","code":"mhf"},{"name":"Margu","code":"mhg"},{"name":"Ma'di","code":"mhi"},{"name":"Mogholi","code":"mhj"},{"name":"Mungaka","code":"mhk"},{"name":"Mauwake","code":"mhl"},{"name":"Makhuwa-Moniga","code":"mhm"},{"name":"Mรณcheno","code":"mhn"},{"name":"Mashi (Zambia)","code":"mho"},{"name":"Balinese Malay","code":"mhp"},{"name":"Mandan","code":"mhq"},{"name":"Eastern Mari","code":"mhr"},{"name":"Buru (Indonesia)","code":"mhs"},{"name":"Mandahuaca","code":"mht"},{"name":"Darang Deng","code":"mhu"},{"name":"Digaro-Mishmi","code":"mhu"},{"name":"Mbukushu","code":"mhw"},{"name":"Lhaovo","code":"mhx"},{"name":"Maru","code":"mhx"},{"name":"Ma'anyan","code":"mhy"},{"name":"Mor (Mor Islands)","code":"mhz"},{"name":"Miami","code":"mia"},{"name":"Atatlรกhuca Mixtec","code":"mib"},{"name":"Micmac","code":"mic"},{"name":"Mi'kmaq","code":"mic"},{"name":"Mandaic","code":"mid"},{"name":"Ocotepec Mixtec","code":"mie"},{"name":"Mofu-Gudur","code":"mif"},{"name":"San Miguel El Grande Mixtec","code":"mig"},{"name":"Chayuco Mixtec","code":"mih"},{"name":"Chigmecatitlรกn Mixtec","code":"mii"},{"name":"Abar","code":"mij"},{"name":"Mungbam","code":"mij"},{"name":"Mikasuki","code":"mik"},{"name":"Peรฑoles Mixtec","code":"mil"},{"name":"Alacatlatzala Mixtec","code":"mim"},{"name":"Minangkabau","code":"min"},{"name":"Pinotepa Nacional Mixtec","code":"mio"},{"name":"Apasco-Apoala Mixtec","code":"mip"},{"name":"Mรญskito","code":"miq"},{"name":"Isthmus Mixe","code":"mir"},{"name":"Uncoded languages","code":"mis"},{"name":"Southern Puebla Mixtec","code":"mit"},{"name":"Cacaloxtepec Mixtec","code":"miu"},{"name":"Akoye","code":"miw"},{"name":"Mixtepec Mixtec","code":"mix"},{"name":"Ayutla Mixtec","code":"miy"},{"name":"Coatzospan Mixtec","code":"miz"},{"name":"Makalero","code":"mjb"},{"name":"San Juan Colorado Mixtec","code":"mjc"},{"name":"Northwest Maidu","code":"mjd"},{"name":"Muskum","code":"mje"},{"name":"Tu","code":"mjg"},{"name":"Mwera (Nyasa)","code":"mjh"},{"name":"Kim Mun","code":"mji"},{"name":"Mawak","code":"mjj"},{"name":"Matukar","code":"mjk"},{"name":"Mandeali","code":"mjl"},{"name":"Medebur","code":"mjm"},{"name":"Ma (Papua New Guinea)","code":"mjn"},{"name":"Malankuravan","code":"mjo"},{"name":"Malapandaram","code":"mjp"},{"name":"Malaryan","code":"mjq"},{"name":"Malavedan","code":"mjr"},{"name":"Miship","code":"mjs"},{"name":"Sauria Paharia","code":"mjt"},{"name":"Manna-Dora","code":"mju"},{"name":"Mannan","code":"mjv"},{"name":"Karbi","code":"mjw"},{"name":"Mahali","code":"mjx"},{"name":"Mahican","code":"mjy"},{"name":"Majhi","code":"mjz"},{"name":"Mbre","code":"mka"},{"name":"Mal Paharia","code":"mkb"},{"name":"Siliput","code":"mkc"},{"name":"Macedonian","code":"mkd"},{"name":"Mawchi","code":"mke"},{"name":"Miya","code":"mkf"},{"name":"Mak (China)","code":"mkg"},{"name":"Dhatki","code":"mki"},{"name":"Mokilese","code":"mkj"},{"name":"Byep","code":"mkk"},{"name":"Mokole","code":"mkl"},{"name":"Moklen","code":"mkm"},{"name":"Kupang Malay","code":"mkn"},{"name":"Mingang Doso","code":"mko"},{"name":"Moikodi","code":"mkp"},{"name":"Bay Miwok","code":"mkq"},{"name":"Malas","code":"mkr"},{"name":"Silacayoapan Mixtec","code":"mks"},{"name":"Vamale","code":"mkt"},{"name":"Konyanka Maninka","code":"mku"},{"name":"Mafea","code":"mkv"},{"name":"Kituba (Congo)","code":"mkw"},{"name":"Kinamiging Manobo","code":"mkx"},{"name":"East Makian","code":"mky"},{"name":"Makasae","code":"mkz"},{"name":"Malo","code":"mla"},{"name":"Mbule","code":"mlb"},{"name":"Cao Lan","code":"mlc"},{"name":"Manambu","code":"mle"},{"name":"Mal","code":"mlf"},{"name":"Malagasy","code":"mlg"},{"name":"Mape","code":"mlh"},{"name":"Malimpung","code":"mli"},{"name":"Miltu","code":"mlj"},{"name":"Ilwana","code":"mlk"},{"name":"Kiwilwana","code":"mlk"},{"name":"Malua Bay","code":"mll"},{"name":"Mulam","code":"mlm"},{"name":"Malango","code":"mln"},{"name":"Mlomp","code":"mlo"},{"name":"Bargam","code":"mlp"},{"name":"Western Maninkakan","code":"mlq"},{"name":"Vame","code":"mlr"},{"name":"Masalit","code":"mls"},{"name":"Maltese","code":"mlt"},{"name":"To'abaita","code":"mlu"},{"name":"Motlav","code":"mlv"},{"name":"Mwotlap","code":"mlv"},{"name":"Moloko","code":"mlw"},{"name":"Malfaxal","code":"mlx"},{"name":"Naha'ai","code":"mlx"},{"name":"Malaynon","code":"mlz"},{"name":"Mama","code":"mma"},{"name":"Momina","code":"mmb"},{"name":"Michoacรกn Mazahua","code":"mmc"},{"name":"Maonan","code":"mmd"},{"name":"Mae","code":"mme"},{"name":"Mundat","code":"mmf"},{"name":"North Ambrym","code":"mmg"},{"name":"Mehinรกku","code":"mmh"},{"name":"Musar","code":"mmi"},{"name":"Majhwar","code":"mmj"},{"name":"Mukha-Dora","code":"mmk"},{"name":"Man Met","code":"mml"},{"name":"Maii","code":"mmm"},{"name":"Mamanwa","code":"mmn"},{"name":"Mangga Buang","code":"mmo"},{"name":"Siawi","code":"mmp"},{"name":"Musak","code":"mmq"},{"name":"Western Xiangxi Miao","code":"mmr"},{"name":"Malalamai","code":"mmt"},{"name":"Mmaala","code":"mmu"},{"name":"Miriti","code":"mmv"},{"name":"Emae","code":"mmw"},{"name":"Madak","code":"mmx"},{"name":"Migaama","code":"mmy"},{"name":"Mabaale","code":"mmz"},{"name":"Mbula","code":"mna"},{"name":"Muna","code":"mnb"},{"name":"Manchu","code":"mnc"},{"name":"Mondรฉ","code":"mnd"},{"name":"Naba","code":"mne"},{"name":"Mundani","code":"mnf"},{"name":"Eastern Mnong","code":"mng"},{"name":"Mono (Democratic Republic of Congo)","code":"mnh"},{"name":"Manipuri","code":"mni"},{"name":"Munji","code":"mnj"},{"name":"Mandinka","code":"mnk"},{"name":"Tiale","code":"mnl"},{"name":"Mapena","code":"mnm"},{"name":"Southern Mnong","code":"mnn"},{"name":"Min Bei Chinese","code":"mnp"},{"name":"Minriq","code":"mnq"},{"name":"Mono (USA)","code":"mnr"},{"name":"Mansi","code":"mns"},{"name":"Mer","code":"mnu"},{"name":"Rennell-Bellona","code":"mnv"},{"name":"Mon","code":"mnw"},{"name":"Manikion","code":"mnx"},{"name":"Manyawa","code":"mny"},{"name":"Moni","code":"mnz"},{"name":"Mwan","code":"moa"},{"name":"Mocovรญ","code":"moc"},{"name":"Mobilian","code":"mod"},{"name":"Innu","code":"moe"},{"name":"Montagnais","code":"moe"},{"name":"Mongondow","code":"mog"},{"name":"Mohawk","code":"moh"},{"name":"Mboi","code":"moi"},{"name":"Monzombo","code":"moj"},{"name":"Morori","code":"mok"},{"name":"Mangue","code":"mom"},{"name":"Mongolian","code":"mon"},{"name":"Monom","code":"moo"},{"name":"Mopรกn Maya","code":"mop"},{"name":"Mor (Bomberai Peninsula)","code":"moq"},{"name":"Moro","code":"mor"},{"name":"Mossi","code":"mos"},{"name":"Barรญ","code":"mot"},{"name":"Mogum","code":"mou"},{"name":"Mohave","code":"mov"},{"name":"Moi (Congo)","code":"mow"},{"name":"Molima","code":"mox"},{"name":"Shekkacho","code":"moy"},{"name":"Gergiko","code":"moz"},{"name":"Mukulu","code":"moz"},{"name":"Mpoto","code":"mpa"},{"name":"Malak Malak","code":"mpb"},{"name":"Mullukmulluk","code":"mpb"},{"name":"Mangarrayi","code":"mpc"},{"name":"Machinere","code":"mpd"},{"name":"Majang","code":"mpe"},{"name":"Marba","code":"mpg"},{"name":"Maung","code":"mph"},{"name":"Mpade","code":"mpi"},{"name":"Martu Wangka","code":"mpj"},{"name":"Wangkajunga","code":"mpj"},{"name":"Mbara (Chad)","code":"mpk"},{"name":"Middle Watut","code":"mpl"},{"name":"Yosondรบa Mixtec","code":"mpm"},{"name":"Mindiri","code":"mpn"},{"name":"Miu","code":"mpo"},{"name":"Migabac","code":"mpp"},{"name":"Matรญs","code":"mpq"},{"name":"Vangunu","code":"mpr"},{"name":"Dadibi","code":"mps"},{"name":"Mian","code":"mpt"},{"name":"Makurรกp","code":"mpu"},{"name":"Mungkip","code":"mpv"},{"name":"Mapidian","code":"mpw"},{"name":"Misima-Panaeati","code":"mpx"},{"name":"Mapia","code":"mpy"},{"name":"Mpi","code":"mpz"},{"name":"Maba (Indonesia)","code":"mqa"},{"name":"Mbuko","code":"mqb"},{"name":"Mangole","code":"mqc"},{"name":"Matepi","code":"mqe"},{"name":"Momuna","code":"mqf"},{"name":"Kota Bangun Kutai Malay","code":"mqg"},{"name":"Tlazoyaltepec Mixtec","code":"mqh"},{"name":"Mariri","code":"mqi"},{"name":"Mamasa","code":"mqj"},{"name":"Rajah Kabunsuwan Manobo","code":"mqk"},{"name":"Mbelime","code":"mql"},{"name":"South Marquesan","code":"mqm"},{"name":"Moronene","code":"mqn"},{"name":"Modole","code":"mqo"},{"name":"Manipa","code":"mqp"},{"name":"Minokok","code":"mqq"},{"name":"Mander","code":"mqr"},{"name":"West Makian","code":"mqs"},{"name":"Mok","code":"mqt"},{"name":"Mandari","code":"mqu"},{"name":"Mosimo","code":"mqv"},{"name":"Murupi","code":"mqw"},{"name":"Mamuju","code":"mqx"},{"name":"Manggarai","code":"mqy"},{"name":"Pano","code":"mqz"},{"name":"Mlabri","code":"mra"},{"name":"Marino","code":"mrb"},{"name":"Maricopa","code":"mrc"},{"name":"Western Magar","code":"mrd"},{"name":"Martha's Vineyard Sign Language","code":"mre"},{"name":"Elseng","code":"mrf"},{"name":"Mising","code":"mrg"},{"name":"Mara Chin","code":"mrh"},{"name":"Maori","code":"mri"},{"name":"Western Mari","code":"mrj"},{"name":"Hmwaveke","code":"mrk"},{"name":"Mortlockese","code":"mrl"},{"name":"Merlav","code":"mrm"},{"name":"Mwerlap","code":"mrm"},{"name":"Cheke Holo","code":"mrn"},{"name":"Mru","code":"mro"},{"name":"Morouas","code":"mrp"},{"name":"North Marquesan","code":"mrq"},{"name":"Maria (India)","code":"mrr"},{"name":"Maragus","code":"mrs"},{"name":"Marghi Central","code":"mrt"},{"name":"Mono (Cameroon)","code":"mru"},{"name":"Mangareva","code":"mrv"},{"name":"Maranao","code":"mrw"},{"name":"Dineor","code":"mrx"},{"name":"Maremgi","code":"mrx"},{"name":"Mandaya","code":"mry"},{"name":"Marind","code":"mrz"},{"name":"Malay","code":"msa"},{"name":"Malay (macrolanguage)","code":"msa"},{"name":"Masbatenyo","code":"msb"},{"name":"Sankaran Maninka","code":"msc"},{"name":"Yucatec Maya Sign Language","code":"msd"},{"name":"Musey","code":"mse"},{"name":"Mekwei","code":"msf"},{"name":"Moraid","code":"msg"},{"name":"Masikoro Malagasy","code":"msh"},{"name":"Sabah Malay","code":"msi"},{"name":"Ma (Democratic Republic of Congo)","code":"msj"},{"name":"Mansaka","code":"msk"},{"name":"Molof","code":"msl"},{"name":"Poule","code":"msl"},{"name":"Agusan Manobo","code":"msm"},{"name":"Vurรซs","code":"msn"},{"name":"Mombum","code":"mso"},{"name":"Maritsauรก","code":"msp"},{"name":"Caac","code":"msq"},{"name":"Mongolian Sign Language","code":"msr"},{"name":"West Masela","code":"mss"},{"name":"Musom","code":"msu"},{"name":"Maslam","code":"msv"},{"name":"Mansoanka","code":"msw"},{"name":"Moresada","code":"msx"},{"name":"Aruamu","code":"msy"},{"name":"Momare","code":"msz"},{"name":"Cotabato Manobo","code":"mta"},{"name":"Anyin Morofo","code":"mtb"},{"name":"Munit","code":"mtc"},{"name":"Mualang","code":"mtd"},{"name":"Mono (Solomon Islands)","code":"mte"},{"name":"Murik (Papua New Guinea)","code":"mtf"},{"name":"Una","code":"mtg"},{"name":"Munggui","code":"mth"},{"name":"Maiwa (Papua New Guinea)","code":"mti"},{"name":"Moskona","code":"mtj"},{"name":"Mbe'","code":"mtk"},{"name":"Montol","code":"mtl"},{"name":"Mator","code":"mtm"},{"name":"Matagalpa","code":"mtn"},{"name":"Totontepec Mixe","code":"mto"},{"name":"Wichรญ Lhamtรฉs Nocten","code":"mtp"},{"name":"Muong","code":"mtq"},{"name":"Mewari","code":"mtr"},{"name":"Yora","code":"mts"},{"name":"Mota","code":"mtt"},{"name":"Tututepec Mixtec","code":"mtu"},{"name":"Asaro'o","code":"mtv"},{"name":"Southern Binukidnon","code":"mtw"},{"name":"Tidaรก Mixtec","code":"mtx"},{"name":"Nabi","code":"mty"},{"name":"Mundang","code":"mua"},{"name":"Mubi","code":"mub"},{"name":"Ajumbu","code":"muc"},{"name":"Mednyj Aleut","code":"mud"},{"name":"Media Lengua","code":"mue"},{"name":"Musgu","code":"mug"},{"name":"Mรผndรผ","code":"muh"},{"name":"Musi","code":"mui"},{"name":"Mabire","code":"muj"},{"name":"Mugom","code":"muk"},{"name":"Multiple languages","code":"mul"},{"name":"Maiwala","code":"mum"},{"name":"Nyong","code":"muo"},{"name":"Malvi","code":"mup"},{"name":"Eastern Xiangxi Miao","code":"muq"},{"name":"Murle","code":"mur"},{"name":"Creek","code":"mus"},{"name":"Western Muria","code":"mut"},{"name":"Yaaku","code":"muu"},{"name":"Muthuvan","code":"muv"},{"name":"Bo-Ung","code":"mux"},{"name":"Muyang","code":"muy"},{"name":"Mursi","code":"muz"},{"name":"Manam","code":"mva"},{"name":"Mattole","code":"mvb"},{"name":"Mamboru","code":"mvd"},{"name":"Marwari (Pakistan)","code":"mve"},{"name":"Peripheral Mongolian","code":"mvf"},{"name":"Yucuaรฑe Mixtec","code":"mvg"},{"name":"Mulgi","code":"mvh"},{"name":"Miyako","code":"mvi"},{"name":"Mekmek","code":"mvk"},{"name":"Mbara (Australia)","code":"mvl"},{"name":"Minaveha","code":"mvn"},{"name":"Marovo","code":"mvo"},{"name":"Duri","code":"mvp"},{"name":"Moere","code":"mvq"},{"name":"Marau","code":"mvr"},{"name":"Massep","code":"mvs"},{"name":"Mpotovoro","code":"mvt"},{"name":"Marfa","code":"mvu"},{"name":"Tagal Murut","code":"mvv"},{"name":"Machinga","code":"mvw"},{"name":"Meoswar","code":"mvx"},{"name":"Indus Kohistani","code":"mvy"},{"name":"Mesqan","code":"mvz"},{"name":"Mwatebu","code":"mwa"},{"name":"Juwal","code":"mwb"},{"name":"Are","code":"mwc"},{"name":"Mwera (Chimwera)","code":"mwe"},{"name":"Murrinh-Patha","code":"mwf"},{"name":"Aiklep","code":"mwg"},{"name":"Mouk-Aria","code":"mwh"},{"name":"Labo","code":"mwi"},{"name":"Ninde","code":"mwi"},{"name":"Kita Maninkakan","code":"mwk"},{"name":"Mirandese","code":"mwl"},{"name":"Sar","code":"mwm"},{"name":"Nyamwanga","code":"mwn"},{"name":"Central Maewo","code":"mwo"},{"name":"Kala Lagaw Ya","code":"mwp"},{"name":"Mรผn Chin","code":"mwq"},{"name":"Marwari","code":"mwr"},{"name":"Mwimbi-Muthambi","code":"mws"},{"name":"Moken","code":"mwt"},{"name":"Mittu","code":"mwu"},{"name":"Mentawai","code":"mwv"},{"name":"Hmong Daw","code":"mww"},{"name":"Moingi","code":"mwz"},{"name":"Northwest Oaxaca Mixtec","code":"mxa"},{"name":"Tezoatlรกn Mixtec","code":"mxb"},{"name":"Manyika","code":"mxc"},{"name":"Modang","code":"mxd"},{"name":"Mele-Fila","code":"mxe"},{"name":"Malgbe","code":"mxf"},{"name":"Mbangala","code":"mxg"},{"name":"Mvuba","code":"mxh"},{"name":"Mozarabic","code":"mxi"},{"name":"Geman Deng","code":"mxj"},{"name":"Miju-Mishmi","code":"mxj"},{"name":"Monumbo","code":"mxk"},{"name":"Maxi Gbe","code":"mxl"},{"name":"Meramera","code":"mxm"},{"name":"Moi (Indonesia)","code":"mxn"},{"name":"Mbowe","code":"mxo"},{"name":"Tlahuitoltepec Mixe","code":"mxp"},{"name":"Juquila Mixe","code":"mxq"},{"name":"Murik (Malaysia)","code":"mxr"},{"name":"Huitepec Mixtec","code":"mxs"},{"name":"Jamiltepec Mixtec","code":"mxt"},{"name":"Mada (Cameroon)","code":"mxu"},{"name":"Metlatรณnoc Mixtec","code":"mxv"},{"name":"Namo","code":"mxw"},{"name":"Mahou","code":"mxx"},{"name":"Mawukakan","code":"mxx"},{"name":"Southeastern Nochixtlรกn Mixtec","code":"mxy"},{"name":"Central Masela","code":"mxz"},{"name":"Burmese","code":"mya"},{"name":"Mbay","code":"myb"},{"name":"Mayeka","code":"myc"},{"name":"Myene","code":"mye"},{"name":"Bambassi","code":"myf"},{"name":"Manta","code":"myg"},{"name":"Makah","code":"myh"},{"name":"Mangayat","code":"myj"},{"name":"Mamara Senoufo","code":"myk"},{"name":"Moma","code":"myl"},{"name":"Me'en","code":"mym"},{"name":"Anfillo","code":"myo"},{"name":"Pirahรฃ","code":"myp"},{"name":"Muniche","code":"myr"},{"name":"Mesmes","code":"mys"},{"name":"Mundurukรบ","code":"myu"},{"name":"Erzya","code":"myv"},{"name":"Muyuw","code":"myw"},{"name":"Masaaba","code":"myx"},{"name":"Macuna","code":"myy"},{"name":"Classical Mandaic","code":"myz"},{"name":"Santa Marรญa Zacatepec Mixtec","code":"mza"},{"name":"Tumzabt","code":"mzb"},{"name":"Madagascar Sign Language","code":"mzc"},{"name":"Malimba","code":"mzd"},{"name":"Morawa","code":"mze"},{"name":"Monastic Sign Language","code":"mzg"},{"name":"Wichรญ Lhamtรฉs Gรผisnay","code":"mzh"},{"name":"Ixcatlรกn Mazatec","code":"mzi"},{"name":"Manya","code":"mzj"},{"name":"Nigeria Mambila","code":"mzk"},{"name":"Mazatlรกn Mixe","code":"mzl"},{"name":"Mumuye","code":"mzm"},{"name":"Mazanderani","code":"mzn"},{"name":"Matipuhy","code":"mzo"},{"name":"Movima","code":"mzp"},{"name":"Mori Atas","code":"mzq"},{"name":"Marรบbo","code":"mzr"},{"name":"Macanese","code":"mzs"},{"name":"Mintil","code":"mzt"},{"name":"Inapang","code":"mzu"},{"name":"Manza","code":"mzv"},{"name":"Deg","code":"mzw"},{"name":"Mawayana","code":"mzx"},{"name":"Mozambican Sign Language","code":"mzy"},{"name":"Maiadomu","code":"mzz"},{"name":"Namla","code":"naa"},{"name":"Southern Nambikuรกra","code":"nab"},{"name":"Narak","code":"nac"},{"name":"Naka'ela","code":"nae"},{"name":"Nabak","code":"naf"},{"name":"Naga Pidgin","code":"nag"},{"name":"Nalu","code":"naj"},{"name":"Nakanai","code":"nak"},{"name":"Nalik","code":"nal"},{"name":"Ngan'gityemerri","code":"nam"},{"name":"Min Nan Chinese","code":"nan"},{"name":"Naaba","code":"nao"},{"name":"Neapolitan","code":"nap"},{"name":"Khoekhoe","code":"naq"},{"name":"Nama (Namibia)","code":"naq"},{"name":"Iguta","code":"nar"},{"name":"Naasioi","code":"nas"},{"name":"Caฬฑhungwaฬฑryaฬฑ","code":"nat"},{"name":"Hungworo","code":"nat"},{"name":"Nauru","code":"nau"},{"name":"Navaho","code":"nav"},{"name":"Navajo","code":"nav"},{"name":"Nawuri","code":"naw"},{"name":"Nakwi","code":"nax"},{"name":"Ngarrindjeri","code":"nay"},{"name":"Coatepec Nahuatl","code":"naz"},{"name":"Nyemba","code":"nba"},{"name":"Ndoe","code":"nbb"},{"name":"Chang Naga","code":"nbc"},{"name":"Ngbinda","code":"nbd"},{"name":"Konyak Naga","code":"nbe"},{"name":"Nagarchal","code":"nbg"},{"name":"Ngamo","code":"nbh"},{"name":"Mao Naga","code":"nbi"},{"name":"Ngarinyman","code":"nbj"},{"name":"Nake","code":"nbk"},{"name":"South Ndebele","code":"nbl"},{"name":"Ngbaka Ma'bo","code":"nbm"},{"name":"Kuri","code":"nbn"},{"name":"Nkukoli","code":"nbo"},{"name":"Nnam","code":"nbp"},{"name":"Nggem","code":"nbq"},{"name":"Numana","code":"nbr"},{"name":"Namibian Sign Language","code":"nbs"},{"name":"Na","code":"nbt"},{"name":"Rongmei Naga","code":"nbu"},{"name":"Ngamambo","code":"nbv"},{"name":"Southern Ngbandi","code":"nbw"},{"name":"Ningera","code":"nby"},{"name":"Iyo","code":"nca"},{"name":"Central Nicobarese","code":"ncb"},{"name":"Ponam","code":"ncc"},{"name":"Nachering","code":"ncd"},{"name":"Yale","code":"nce"},{"name":"Notsi","code":"ncf"},{"name":"Nisga'a","code":"ncg"},{"name":"Central Huasteca Nahuatl","code":"nch"},{"name":"Classical Nahuatl","code":"nci"},{"name":"Northern Puebla Nahuatl","code":"ncj"},{"name":"Na-kara","code":"nck"},{"name":"Michoacรกn Nahuatl","code":"ncl"},{"name":"Nambo","code":"ncm"},{"name":"Nauna","code":"ncn"},{"name":"Sibe","code":"nco"},{"name":"Northern Katang","code":"ncq"},{"name":"Ncane","code":"ncr"},{"name":"Nicaraguan Sign Language","code":"ncs"},{"name":"Chothe Naga","code":"nct"},{"name":"Chumburung","code":"ncu"},{"name":"Central Puebla Nahuatl","code":"ncx"},{"name":"Natchez","code":"ncz"},{"name":"Ndasa","code":"nda"},{"name":"Kenswei Nsei","code":"ndb"},{"name":"Ndau","code":"ndc"},{"name":"Nde-Nsele-Nta","code":"ndd"},{"name":"North Ndebele","code":"nde"},{"name":"Nadruvian","code":"ndf"},{"name":"Ndengereko","code":"ndg"},{"name":"Ndali","code":"ndh"},{"name":"Samba Leko","code":"ndi"},{"name":"Ndamba","code":"ndj"},{"name":"Ndaka","code":"ndk"},{"name":"Ndolo","code":"ndl"},{"name":"Ndam","code":"ndm"},{"name":"Ngundi","code":"ndn"},{"name":"Ndonga","code":"ndo"},{"name":"Ndo","code":"ndp"},{"name":"Ndombe","code":"ndq"},{"name":"Ndoola","code":"ndr"},{"name":"Low German","code":"nds"},{"name":"Low Saxon","code":"nds"},{"name":"Ndunga","code":"ndt"},{"name":"Dugun","code":"ndu"},{"name":"Ndut","code":"ndv"},{"name":"Ndobo","code":"ndw"},{"name":"Nduga","code":"ndx"},{"name":"Lutos","code":"ndy"},{"name":"Ndogo","code":"ndz"},{"name":"Eastern Ngad'a","code":"nea"},{"name":"Toura (Cรดte d'Ivoire)","code":"neb"},{"name":"Nedebang","code":"nec"},{"name":"Nde-Gbite","code":"ned"},{"name":"Nรชlรชmwa-Nixumwak","code":"nee"},{"name":"Nefamese","code":"nef"},{"name":"Negidal","code":"neg"},{"name":"Nyenkha","code":"neh"},{"name":"Neo-Hittite","code":"nei"},{"name":"Neko","code":"nej"},{"name":"Neku","code":"nek"},{"name":"Nemi","code":"nem"},{"name":"Nengone","code":"nen"},{"name":"Nรก-Meo","code":"neo"},{"name":"Nepali","code":"nep"},{"name":"Nepali (macrolanguage)","code":"nep"},{"name":"North Central Mixe","code":"neq"},{"name":"Yahadian","code":"ner"},{"name":"Bhoti Kinnauri","code":"nes"},{"name":"Nete","code":"net"},{"name":"Neo","code":"neu"},{"name":"Nyaheun","code":"nev"},{"name":"Nepal Bhasa","code":"new"},{"name":"Newari","code":"new"},{"name":"Neme","code":"nex"},{"name":"Neyo","code":"ney"},{"name":"Nez Perce","code":"nez"},{"name":"Dhao","code":"nfa"},{"name":"Ahwai","code":"nfd"},{"name":"ร„iwoo","code":"nfl"},{"name":"Ayiwo","code":"nfl"},{"name":"Nafaanra","code":"nfr"},{"name":"Mfumte","code":"nfu"},{"name":"Ngbaka","code":"nga"},{"name":"Northern Ngbandi","code":"ngb"},{"name":"Ngombe (Democratic Republic of Congo)","code":"ngc"},{"name":"Ngando (Central African Republic)","code":"ngd"},{"name":"Ngemba","code":"nge"},{"name":"Ngbaka Manza","code":"ngg"},{"name":"Nวng","code":"ngh"},{"name":"Ngizim","code":"ngi"},{"name":"Ngie","code":"ngj"},{"name":"Dalabon","code":"ngk"},{"name":"Lomwe","code":"ngl"},{"name":"Ngatik Men's Creole","code":"ngm"},{"name":"Ngwo","code":"ngn"},{"name":"Ngulu","code":"ngp"},{"name":"Ngoreme","code":"ngq"},{"name":"Ngurimi","code":"ngq"},{"name":"Engdewu","code":"ngr"},{"name":"Gvoko","code":"ngs"},{"name":"Kriang","code":"ngt"},{"name":"Ngeq","code":"ngt"},{"name":"Guerrero Nahuatl","code":"ngu"},{"name":"Nagumi","code":"ngv"},{"name":"Ngwaba","code":"ngw"},{"name":"Nggwahyi","code":"ngx"},{"name":"Tibea","code":"ngy"},{"name":"Ngungwel","code":"ngz"},{"name":"Nhanda","code":"nha"},{"name":"Beng","code":"nhb"},{"name":"Tabasco Nahuatl","code":"nhc"},{"name":"Ava Guaranรญ","code":"nhd"},{"name":"Chiripรก","code":"nhd"},{"name":"Eastern Huasteca Nahuatl","code":"nhe"},{"name":"Nhuwala","code":"nhf"},{"name":"Tetelcingo Nahuatl","code":"nhg"},{"name":"Nahari","code":"nhh"},{"name":"Zacatlรกn-Ahuacatlรกn-Tepetzintla Nahuatl","code":"nhi"},{"name":"Isthmus-Cosoleacaque Nahuatl","code":"nhk"},{"name":"Morelos Nahuatl","code":"nhm"},{"name":"Central Nahuatl","code":"nhn"},{"name":"Takuu","code":"nho"},{"name":"Isthmus-Pajapan Nahuatl","code":"nhp"},{"name":"Huaxcaleca Nahuatl","code":"nhq"},{"name":"Naro","code":"nhr"},{"name":"Ometepec Nahuatl","code":"nht"},{"name":"Noone","code":"nhu"},{"name":"Temascaltepec Nahuatl","code":"nhv"},{"name":"Western Huasteca Nahuatl","code":"nhw"},{"name":"Isthmus-Mecayapan Nahuatl","code":"nhx"},{"name":"Northern Oaxaca Nahuatl","code":"nhy"},{"name":"Santa Marรญa La Alta Nahuatl","code":"nhz"},{"name":"Nias","code":"nia"},{"name":"Nakame","code":"nib"},{"name":"Ngandi","code":"nid"},{"name":"Niellim","code":"nie"},{"name":"Nek","code":"nif"},{"name":"Ngalakgan","code":"nig"},{"name":"Nyiha (Tanzania)","code":"nih"},{"name":"Nii","code":"nii"},{"name":"Ngaju","code":"nij"},{"name":"Southern Nicobarese","code":"nik"},{"name":"Nila","code":"nil"},{"name":"Nilamba","code":"nim"},{"name":"Ninzo","code":"nin"},{"name":"Nganasan","code":"nio"},{"name":"Nandi","code":"niq"},{"name":"Nimboran","code":"nir"},{"name":"Nimi","code":"nis"},{"name":"Southeastern Kolami","code":"nit"},{"name":"Niuean","code":"niu"},{"name":"Gilyak","code":"niv"},{"name":"Nimo","code":"niw"},{"name":"Hema","code":"nix"},{"name":"Ngiti","code":"niy"},{"name":"Ningil","code":"niz"},{"name":"Nzanyi","code":"nja"},{"name":"Nocte Naga","code":"njb"},{"name":"Ndonde Hamba","code":"njd"},{"name":"Lotha Naga","code":"njh"},{"name":"Gudanji","code":"nji"},{"name":"Njen","code":"njj"},{"name":"Njalgulgule","code":"njl"},{"name":"Angami Naga","code":"njm"},{"name":"Liangmai Naga","code":"njn"},{"name":"Ao Naga","code":"njo"},{"name":"Njerep","code":"njr"},{"name":"Nisa","code":"njs"},{"name":"Ndyuka-Trio Pidgin","code":"njt"},{"name":"Ngadjunmaya","code":"nju"},{"name":"Kunyi","code":"njx"},{"name":"Njyem","code":"njy"},{"name":"Nyishi","code":"njz"},{"name":"Nkoya","code":"nka"},{"name":"Khoibu Naga","code":"nkb"},{"name":"Nkongho","code":"nkc"},{"name":"Koireng","code":"nkd"},{"name":"Duke","code":"nke"},{"name":"Inpui Naga","code":"nkf"},{"name":"Nekgini","code":"nkg"},{"name":"Khezha Naga","code":"nkh"},{"name":"Thangal Naga","code":"nki"},{"name":"Nakai","code":"nkj"},{"name":"Nokuku","code":"nkk"},{"name":"Namat","code":"nkm"},{"name":"Nkangala","code":"nkn"},{"name":"Nkonya","code":"nko"},{"name":"Niuatoputapu","code":"nkp"},{"name":"Nkami","code":"nkq"},{"name":"Nukuoro","code":"nkr"},{"name":"North Asmat","code":"nks"},{"name":"Nyika (Tanzania)","code":"nkt"},{"name":"Bouna Kulango","code":"nku"},{"name":"Nyika (Malawi and Zambia)","code":"nkv"},{"name":"Nkutu","code":"nkw"},{"name":"Nkoroo","code":"nkx"},{"name":"Nkari","code":"nkz"},{"name":"Ngombale","code":"nla"},{"name":"Nalca","code":"nlc"},{"name":"Dutch","code":"nld"},{"name":"Flemish","code":"nld"},{"name":"East Nyala","code":"nle"},{"name":"Gela","code":"nlg"},{"name":"Grangali","code":"nli"},{"name":"Nyali","code":"nlj"},{"name":"Ninia Yali","code":"nlk"},{"name":"Nihali","code":"nll"},{"name":"Mankiyali","code":"nlm"},{"name":"Ngul","code":"nlo"},{"name":"Lao Naga","code":"nlq"},{"name":"Nchumbulu","code":"nlu"},{"name":"Orizaba Nahuatl","code":"nlv"},{"name":"Walangama","code":"nlw"},{"name":"Nahali","code":"nlx"},{"name":"Nyamal","code":"nly"},{"name":"Nalรถgo","code":"nlz"},{"name":"Maram Naga","code":"nma"},{"name":"Big Nambas","code":"nmb"},{"name":"V'รซnen Taut","code":"nmb"},{"name":"Ngam","code":"nmc"},{"name":"Ndumu","code":"nmd"},{"name":"Mzieme Naga","code":"nme"},{"name":"Tangkhul Naga (India)","code":"nmf"},{"name":"Kwasio","code":"nmg"},{"name":"Monsang Naga","code":"nmh"},{"name":"Nyam","code":"nmi"},{"name":"Ngombe (Central African Republic)","code":"nmj"},{"name":"Namakura","code":"nmk"},{"name":"Ndemli","code":"nml"},{"name":"Manangba","code":"nmm"},{"name":"วƒXรณรต","code":"nmn"},{"name":"Moyon Naga","code":"nmo"},{"name":"Nimanbur","code":"nmp"},{"name":"Nambya","code":"nmq"},{"name":"Nimbari","code":"nmr"},{"name":"Letemboi","code":"nms"},{"name":"Namonuito","code":"nmt"},{"name":"Northeast Maidu","code":"nmu"},{"name":"Ngamini","code":"nmv"},{"name":"Nimoa","code":"nmw"},{"name":"Rifao","code":"nmw"},{"name":"Nama (Papua New Guinea)","code":"nmx"},{"name":"Namuyi","code":"nmy"},{"name":"Nawdm","code":"nmz"},{"name":"Nyangumarta","code":"nna"},{"name":"Nande","code":"nnb"},{"name":"Nancere","code":"nnc"},{"name":"West Ambae","code":"nnd"},{"name":"Ngandyera","code":"nne"},{"name":"Ngaing","code":"nnf"},{"name":"Maring Naga","code":"nng"},{"name":"Ngiemboon","code":"nnh"},{"name":"North Nuaulu","code":"nni"},{"name":"Nyangatom","code":"nnj"},{"name":"Nankina","code":"nnk"},{"name":"Northern Rengma Naga","code":"nnl"},{"name":"Namia","code":"nnm"},{"name":"Ngete","code":"nnn"},{"name":"Norwegian Nynorsk","code":"nno"},{"name":"Wancho Naga","code":"nnp"},{"name":"Ngindo","code":"nnq"},{"name":"Narungga","code":"nnr"},{"name":"Nanticoke","code":"nnt"},{"name":"Dwang","code":"nnu"},{"name":"Nugunu (Australia)","code":"nnv"},{"name":"Southern Nuni","code":"nnw"},{"name":"Nyangga","code":"nny"},{"name":"Nda'nda'","code":"nnz"},{"name":"Woun Meu","code":"noa"},{"name":"Norwegian Bokmรฅl","code":"nob"},{"name":"Nuk","code":"noc"},{"name":"Northern Thai","code":"nod"},{"name":"Nimadi","code":"noe"},{"name":"Nomane","code":"nof"},{"name":"Nogai","code":"nog"},{"name":"Nomu","code":"noh"},{"name":"Noiri","code":"noi"},{"name":"Nonuya","code":"noj"},{"name":"Nooksack","code":"nok"},{"name":"Nomlaki","code":"nol"},{"name":"Nocamรกn","code":"nom"},{"name":"Old Norse","code":"non"},{"name":"Numanggang","code":"nop"},{"name":"Ngongo","code":"noq"},{"name":"Norwegian","code":"nor"},{"name":"Eastern Nisu","code":"nos"},{"name":"Nomatsiguenga","code":"not"},{"name":"Ewage-Notu","code":"nou"},{"name":"Novial","code":"nov"},{"name":"Nyambo","code":"now"},{"name":"Noy","code":"noy"},{"name":"Nayi","code":"noz"},{"name":"Nar Phu","code":"npa"},{"name":"Nupbikha","code":"npb"},{"name":"Ponyo-Gongwang Naga","code":"npg"},{"name":"Phom Naga","code":"nph"},{"name":"Nepali (individual language)","code":"npi"},{"name":"Southeastern Puebla Nahuatl","code":"npl"},{"name":"Mondropolon","code":"npn"},{"name":"Pochuri Naga","code":"npo"},{"name":"Nipsan","code":"nps"},{"name":"Puimei Naga","code":"npu"},{"name":"Noipx","code":"npx"},{"name":"Napu","code":"npy"},{"name":"Southern Nago","code":"nqg"},{"name":"Kura Ede Nago","code":"nqk"},{"name":"Ngendelengo","code":"nql"},{"name":"Ndom","code":"nqm"},{"name":"Nen","code":"nqn"},{"name":"N'Ko","code":"nqo"},{"name":"Kyan-Karyaw Naga","code":"nqq"},{"name":"Nteng","code":"nqt"},{"name":"Akyaung Ari Naga","code":"nqy"},{"name":"Ngom","code":"nra"},{"name":"Nara","code":"nrb"},{"name":"Noric","code":"nrc"},{"name":"Southern Rengma Naga","code":"nre"},{"name":"Guernรฉsiais","code":"nrf"},{"name":"Jรจrriais","code":"nrf"},{"name":"Narango","code":"nrg"},{"name":"Chokri Naga","code":"nri"},{"name":"Ngarla","code":"nrk"},{"name":"Ngarluma","code":"nrl"},{"name":"Narom","code":"nrm"},{"name":"Norn","code":"nrn"},{"name":"North Picene","code":"nrp"},{"name":"Nora","code":"nrr"},{"name":"Norra","code":"nrr"},{"name":"Northern Kalapuya","code":"nrt"},{"name":"Narua","code":"nru"},{"name":"Ngurmbur","code":"nrx"},{"name":"Lala","code":"nrz"},{"name":"Sangtam Naga","code":"nsa"},{"name":"Lower Nossob","code":"nsb"},{"name":"Nshi","code":"nsc"},{"name":"Southern Nisu","code":"nsd"},{"name":"Nsenga","code":"nse"},{"name":"Northwestern Nisu","code":"nsf"},{"name":"Ngasa","code":"nsg"},{"name":"Ngoshie","code":"nsh"},{"name":"Nigerian Sign Language","code":"nsi"},{"name":"Naskapi","code":"nsk"},{"name":"Norwegian Sign Language","code":"nsl"},{"name":"Sumi Naga","code":"nsm"},{"name":"Nehan","code":"nsn"},{"name":"Northern Sotho","code":"nso"},{"name":"Pedi","code":"nso"},{"name":"Sepedi","code":"nso"},{"name":"Nepalese Sign Language","code":"nsp"},{"name":"Northern Sierra Miwok","code":"nsq"},{"name":"Maritime Sign Language","code":"nsr"},{"name":"Nali","code":"nss"},{"name":"Tase Naga","code":"nst"},{"name":"Sierra Negra Nahuatl","code":"nsu"},{"name":"Southwestern Nisu","code":"nsv"},{"name":"Navut","code":"nsw"},{"name":"Nsongo","code":"nsx"},{"name":"Nasal","code":"nsy"},{"name":"Nisenan","code":"nsz"},{"name":"Northern Tidung","code":"ntd"},{"name":"Nathembo","code":"nte"},{"name":"Ngantangarra","code":"ntg"},{"name":"Natioro","code":"nti"},{"name":"Ngaanyatjarra","code":"ntj"},{"name":"Ikoma-Nata-Isenye","code":"ntk"},{"name":"Nateni","code":"ntm"},{"name":"Ntomba","code":"nto"},{"name":"Northern Tepehuan","code":"ntp"},{"name":"Delo","code":"ntr"},{"name":"Natรผgu","code":"ntu"},{"name":"Nottoway","code":"ntw"},{"name":"Tangkhul Naga (Myanmar)","code":"ntx"},{"name":"Mantsi","code":"nty"},{"name":"Natanzi","code":"ntz"},{"name":"Yuanga","code":"nua"},{"name":"Nukuini","code":"nuc"},{"name":"Ngala","code":"nud"},{"name":"Ngundu","code":"nue"},{"name":"Nusu","code":"nuf"},{"name":"Nungali","code":"nug"},{"name":"Ndunda","code":"nuh"},{"name":"Ngumbi","code":"nui"},{"name":"Nyole","code":"nuj"},{"name":"Nuuchahnulth","code":"nuk"},{"name":"Nuu-chah-nulth","code":"nuk"},{"name":"Nusa Laut","code":"nul"},{"name":"Niuafo'ou","code":"num"},{"name":"Anong","code":"nun"},{"name":"Nguรดn","code":"nuo"},{"name":"Nupe-Nupe-Tako","code":"nup"},{"name":"Nukumanu","code":"nuq"},{"name":"Nukuria","code":"nur"},{"name":"Nuer","code":"nus"},{"name":"Nung (Viet Nam)","code":"nut"},{"name":"Ngbundu","code":"nuu"},{"name":"Northern Nuni","code":"nuv"},{"name":"Nguluwan","code":"nuw"},{"name":"Mehek","code":"nux"},{"name":"Nunggubuyu","code":"nuy"},{"name":"Tlamacazapa Nahuatl","code":"nuz"},{"name":"Nasarian","code":"nvh"},{"name":"Namiae","code":"nvm"},{"name":"Nyokon","code":"nvo"},{"name":"Nawathinehena","code":"nwa"},{"name":"Nyabwa","code":"nwb"},{"name":"Classical Nepal Bhasa","code":"nwc"},{"name":"Classical Newari","code":"nwc"},{"name":"Old Newari","code":"nwc"},{"name":"Ngwe","code":"nwe"},{"name":"Ngayawung","code":"nwg"},{"name":"Southwest Tanna","code":"nwi"},{"name":"Nyamusa-Molo","code":"nwm"},{"name":"Nauo","code":"nwo"},{"name":"Nawaru","code":"nwr"},{"name":"Middle Newar","code":"nwx"},{"name":"Nottoway-Meherrin","code":"nwy"},{"name":"Nauete","code":"nxa"},{"name":"Ngando (Democratic Republic of Congo)","code":"nxd"},{"name":"Nage","code":"nxe"},{"name":"Ngad'a","code":"nxg"},{"name":"Nindi","code":"nxi"},{"name":"Koki Naga","code":"nxk"},{"name":"South Nuaulu","code":"nxl"},{"name":"Numidian","code":"nxm"},{"name":"Ngawun","code":"nxn"},{"name":"Ndambomo","code":"nxo"},{"name":"Naxi","code":"nxq"},{"name":"Ninggerum","code":"nxr"},{"name":"Nafri","code":"nxx"},{"name":"Chewa","code":"nya"},{"name":"Chichewa","code":"nya"},{"name":"Nyanja","code":"nya"},{"name":"Nyangbo","code":"nyb"},{"name":"Nyanga-li","code":"nyc"},{"name":"Nyore","code":"nyd"},{"name":"Olunyole","code":"nyd"},{"name":"Nyengo","code":"nye"},{"name":"Giryama","code":"nyf"},{"name":"Kigiryama","code":"nyf"},{"name":"Nyindu","code":"nyg"},{"name":"Nyikina","code":"nyh"},{"name":"Ama (Sudan)","code":"nyi"},{"name":"Nyanga","code":"nyj"},{"name":"Nyaneka","code":"nyk"},{"name":"Nyeu","code":"nyl"},{"name":"Nyamwezi","code":"nym"},{"name":"Nyankole","code":"nyn"},{"name":"Nyoro","code":"nyo"},{"name":"Nyang'i","code":"nyp"},{"name":"Nayini","code":"nyq"},{"name":"Nyiha (Malawi)","code":"nyr"},{"name":"Nyungar","code":"nys"},{"name":"Nyawaygi","code":"nyt"},{"name":"Nyungwe","code":"nyu"},{"name":"Nyulnyul","code":"nyv"},{"name":"Nyaw","code":"nyw"},{"name":"Nganyaywana","code":"nyx"},{"name":"Nyakyusa-Ngonde","code":"nyy"},{"name":"Tigon Mbembe","code":"nza"},{"name":"Njebi","code":"nzb"},{"name":"Nzadi","code":"nzd"},{"name":"Nzima","code":"nzi"},{"name":"Nzakara","code":"nzk"},{"name":"Zeme Naga","code":"nzm"},{"name":"New Zealand Sign Language","code":"nzs"},{"name":"Teke-Nzikou","code":"nzu"},{"name":"Nzakambay","code":"nzy"},{"name":"Nanga Dama Dogon","code":"nzz"},{"name":"Orok","code":"oaa"},{"name":"Oroch","code":"oac"},{"name":"Ancient Aramaic (up to 700 BCE)","code":"oar"},{"name":"Old Aramaic (up to 700 BCE)","code":"oar"},{"name":"Old Avar","code":"oav"},{"name":"Obispeรฑo","code":"obi"},{"name":"Southern Bontok","code":"obk"},{"name":"Oblo","code":"obl"},{"name":"Moabite","code":"obm"},{"name":"Obo Manobo","code":"obo"},{"name":"Old Burmese","code":"obr"},{"name":"Old Breton","code":"obt"},{"name":"Obulom","code":"obu"},{"name":"Ocaina","code":"oca"},{"name":"Old Chinese","code":"och"},{"name":"Occitan (post 1500)","code":"oci"},{"name":"Old Cham","code":"ocm"},{"name":"Old Cornish","code":"oco"},{"name":"Atzingo Matlatzinca","code":"ocu"},{"name":"Odut","code":"oda"},{"name":"Od","code":"odk"},{"name":"Old Dutch","code":"odt"},{"name":"Odual","code":"odu"},{"name":"Ofo","code":"ofo"},{"name":"Old Frisian","code":"ofs"},{"name":"Efutop","code":"ofu"},{"name":"Ogbia","code":"ogb"},{"name":"Ogbah","code":"ogc"},{"name":"Old Georgian","code":"oge"},{"name":"Ogbogolo","code":"ogg"},{"name":"Khana","code":"ogo"},{"name":"Ogbronuagum","code":"ogu"},{"name":"Old Hittite","code":"oht"},{"name":"Old Hungarian","code":"ohu"},{"name":"Oirata","code":"oia"},{"name":"Inebu One","code":"oin"},{"name":"Northwestern Ojibwa","code":"ojb"},{"name":"Central Ojibwa","code":"ojc"},{"name":"Eastern Ojibwa","code":"ojg"},{"name":"Ojibwa","code":"oji"},{"name":"Old Japanese","code":"ojp"},{"name":"Severn Ojibwa","code":"ojs"},{"name":"Ontong Java","code":"ojv"},{"name":"Western Ojibwa","code":"ojw"},{"name":"Okanagan","code":"oka"},{"name":"Okobo","code":"okb"},{"name":"Kobo","code":"okc"},{"name":"Okodia","code":"okd"},{"name":"Okpe (Southwestern Edo)","code":"oke"},{"name":"Koko Babangk","code":"okg"},{"name":"Koresh-e Rostam","code":"okh"},{"name":"Okiek","code":"oki"},{"name":"Oko-Juwoi","code":"okj"},{"name":"Kwamtim One","code":"okk"},{"name":"Old Kentish Sign Language","code":"okl"},{"name":"Middle Korean (10th-16th cent.)","code":"okm"},{"name":"Oki-No-Erabu","code":"okn"},{"name":"Old Korean (3rd-9th cent.)","code":"oko"},{"name":"Kirike","code":"okr"},{"name":"Oko-Eni-Osayen","code":"oks"},{"name":"Oku","code":"oku"},{"name":"Orokaiva","code":"okv"},{"name":"Okpe (Northwestern Edo)","code":"okx"},{"name":"Old Khmer","code":"okz"},{"name":"Walungge","code":"ola"},{"name":"Mochi","code":"old"},{"name":"Olekha","code":"ole"},{"name":"Olkol","code":"olk"},{"name":"Oloma","code":"olm"},{"name":"Livvi","code":"olo"},{"name":"Olrat","code":"olr"},{"name":"Old Lithuanian","code":"olt"},{"name":"Kuvale","code":"olu"},{"name":"Omaha-Ponca","code":"oma"},{"name":"East Ambae","code":"omb"},{"name":"Mochica","code":"omc"},{"name":"Omagua","code":"omg"},{"name":"Omi","code":"omi"},{"name":"Omok","code":"omk"},{"name":"Ombo","code":"oml"},{"name":"Minoan","code":"omn"},{"name":"Utarmbung","code":"omo"},{"name":"Old Manipuri","code":"omp"},{"name":"Old Marathi","code":"omr"},{"name":"Omotik","code":"omt"},{"name":"Omurano","code":"omu"},{"name":"South Tairora","code":"omw"},{"name":"Old Mon","code":"omx"},{"name":"Old Malay","code":"omy"},{"name":"Ona","code":"ona"},{"name":"Lingao","code":"onb"},{"name":"Oneida","code":"one"},{"name":"Olo","code":"ong"},{"name":"Onin","code":"oni"},{"name":"Onjob","code":"onj"},{"name":"Kabore One","code":"onk"},{"name":"Onobasulu","code":"onn"},{"name":"Onondaga","code":"ono"},{"name":"Sartang","code":"onp"},{"name":"Northern One","code":"onr"},{"name":"Ono","code":"ons"},{"name":"Ontenu","code":"ont"},{"name":"Unua","code":"onu"},{"name":"Old Nubian","code":"onw"},{"name":"Onin Based Pidgin","code":"onx"},{"name":"Tohono O'odham","code":"ood"},{"name":"Ong","code":"oog"},{"name":"ร–nge","code":"oon"},{"name":"Oorlams","code":"oor"},{"name":"Old Ossetic","code":"oos"},{"name":"Okpamheri","code":"opa"},{"name":"Kopkaka","code":"opk"},{"name":"Oksapmin","code":"opm"},{"name":"Opao","code":"opo"},{"name":"Opata","code":"opt"},{"name":"Ofayรฉ","code":"opy"},{"name":"Oroha","code":"ora"},{"name":"Orma","code":"orc"},{"name":"Orejรณn","code":"ore"},{"name":"Oring","code":"org"},{"name":"Oroqen","code":"orh"},{"name":"Oriya (macrolanguage)","code":"ori"},{"name":"Oromo","code":"orm"},{"name":"Orang Kanaq","code":"orn"},{"name":"Orokolo","code":"oro"},{"name":"Oruma","code":"orr"},{"name":"Orang Seletar","code":"ors"},{"name":"Adivasi Oriya","code":"ort"},{"name":"Ormuri","code":"oru"},{"name":"Old Russian","code":"orv"},{"name":"Oro Win","code":"orw"},{"name":"Oro","code":"orx"},{"name":"Odia","code":"ory"},{"name":"Oriya (individual language)","code":"ory"},{"name":"Ormu","code":"orz"},{"name":"Osage","code":"osa"},{"name":"Oscan","code":"osc"},{"name":"Osing","code":"osi"},{"name":"Old Sundanese","code":"osn"},{"name":"Ososo","code":"oso"},{"name":"Old Spanish","code":"osp"},{"name":"Ossetian","code":"oss"},{"name":"Ossetic","code":"oss"},{"name":"Osatu","code":"ost"},{"name":"Southern One","code":"osu"},{"name":"Old Saxon","code":"osx"},{"name":"Ottoman Turkish (1500-1928)","code":"ota"},{"name":"Old Tibetan","code":"otb"},{"name":"Ot Danum","code":"otd"},{"name":"Mezquital Otomi","code":"ote"},{"name":"Oti","code":"oti"},{"name":"Old Turkish","code":"otk"},{"name":"Tilapa Otomi","code":"otl"},{"name":"Eastern Highland Otomi","code":"otm"},{"name":"Tenango Otomi","code":"otn"},{"name":"Querรฉtaro Otomi","code":"otq"},{"name":"Otoro","code":"otr"},{"name":"Estado de Mรฉxico Otomi","code":"ots"},{"name":"Temoaya Otomi","code":"ott"},{"name":"Otuke","code":"otu"},{"name":"Ottawa","code":"otw"},{"name":"Texcatepec Otomi","code":"otx"},{"name":"Old Tamil","code":"oty"},{"name":"Ixtenco Otomi","code":"otz"},{"name":"Tagargrent","code":"oua"},{"name":"Glio-Oubi","code":"oub"},{"name":"Oune","code":"oue"},{"name":"Old Uighur","code":"oui"},{"name":"Ouma","code":"oum"},{"name":"Elfdalian","code":"ovd"},{"name":"ร–vdalian","code":"ovd"},{"name":"Owiniga","code":"owi"},{"name":"Old Welsh","code":"owl"},{"name":"Oy","code":"oyb"},{"name":"Oyda","code":"oyd"},{"name":"Wayampi","code":"oym"},{"name":"Oya'oya","code":"oyy"},{"name":"Koonzime","code":"ozm"},{"name":"Parecรญs","code":"pab"},{"name":"Pacoh","code":"pac"},{"name":"Paumarรญ","code":"pad"},{"name":"Pagibete","code":"pae"},{"name":"Paranawรกt","code":"paf"},{"name":"Pangasinan","code":"pag"},{"name":"Tenharim","code":"pah"},{"name":"Pe","code":"pai"},{"name":"Parakanรฃ","code":"pak"},{"name":"Pahlavi","code":"pal"},{"name":"Kapampangan","code":"pam"},{"name":"Pampanga","code":"pam"},{"name":"Panjabi","code":"pan"},{"name":"Punjabi","code":"pan"},{"name":"Northern Paiute","code":"pao"},{"name":"Papiamento","code":"pap"},{"name":"Parya","code":"paq"},{"name":"Panamint","code":"par"},{"name":"Timbisha","code":"par"},{"name":"Papasena","code":"pas"},{"name":"Palauan","code":"pau"},{"name":"Pakaรกsnovos","code":"pav"},{"name":"Pawnee","code":"paw"},{"name":"Pankararรฉ","code":"pax"},{"name":"Pech","code":"pay"},{"name":"Pankararรบ","code":"paz"},{"name":"Pรกez","code":"pbb"},{"name":"Patamona","code":"pbc"},{"name":"Mezontla Popoloca","code":"pbe"},{"name":"Coyotepec Popoloca","code":"pbf"},{"name":"Paraujano","code":"pbg"},{"name":"E'รฑapa Woromaipu","code":"pbh"},{"name":"Parkwa","code":"pbi"},{"name":"Mak (Nigeria)","code":"pbl"},{"name":"Puebla Mazatec","code":"pbm"},{"name":"Kpasam","code":"pbn"},{"name":"Papel","code":"pbo"},{"name":"Badyara","code":"pbp"},{"name":"Pangwa","code":"pbr"},{"name":"Central Pame","code":"pbs"},{"name":"Southern Pashto","code":"pbt"},{"name":"Northern Pashto","code":"pbu"},{"name":"Pnar","code":"pbv"},{"name":"Pyu (Papua New Guinea)","code":"pby"},{"name":"Santa Inรฉs Ahuatempan Popoloca","code":"pca"},{"name":"Pear","code":"pcb"},{"name":"Bouyei","code":"pcc"},{"name":"Picard","code":"pcd"},{"name":"Ruching Palaung","code":"pce"},{"name":"Paliyan","code":"pcf"},{"name":"Paniya","code":"pcg"},{"name":"Pardhan","code":"pch"},{"name":"Duruwa","code":"pci"},{"name":"Parenga","code":"pcj"},{"name":"Paite Chin","code":"pck"},{"name":"Pardhi","code":"pcl"},{"name":"Nigerian Pidgin","code":"pcm"},{"name":"Piti","code":"pcn"},{"name":"Pacahuara","code":"pcp"},{"name":"Pyapun","code":"pcw"},{"name":"Anam","code":"pda"},{"name":"Pennsylvania German","code":"pdc"},{"name":"Pa Di","code":"pdi"},{"name":"Fedan","code":"pdn"},{"name":"Podena","code":"pdn"},{"name":"Padoe","code":"pdo"},{"name":"Plautdietsch","code":"pdt"},{"name":"Kayan","code":"pdu"},{"name":"Peranakan Indonesian","code":"pea"},{"name":"Eastern Pomo","code":"peb"},{"name":"Mala (Papua New Guinea)","code":"ped"},{"name":"Taje","code":"pee"},{"name":"Northeastern Pomo","code":"pef"},{"name":"Pengo","code":"peg"},{"name":"Bonan","code":"peh"},{"name":"Chichimeca-Jonaz","code":"pei"},{"name":"Northern Pomo","code":"pej"},{"name":"Penchal","code":"pek"},{"name":"Pekal","code":"pel"},{"name":"Phende","code":"pem"},{"name":"Old Persian (ca. 600-400 B.C.)","code":"peo"},{"name":"Kunja","code":"pep"},{"name":"Southern Pomo","code":"peq"},{"name":"Iranian Persian","code":"pes"},{"name":"Pรฉmono","code":"pev"},{"name":"Petats","code":"pex"},{"name":"Petjo","code":"pey"},{"name":"Eastern Penan","code":"pez"},{"name":"Pรกรกfang","code":"pfa"},{"name":"Pere","code":"pfe"},{"name":"Pfaelzisch","code":"pfl"},{"name":"Sudanese Creole Arabic","code":"pga"},{"name":"Gฤndhฤrฤซ","code":"pgd"},{"name":"Pangwali","code":"pgg"},{"name":"Pagi","code":"pgi"},{"name":"Rerep","code":"pgk"},{"name":"Primitive Irish","code":"pgl"},{"name":"Paelignian","code":"pgn"},{"name":"Pangseng","code":"pgs"},{"name":"Pagu","code":"pgu"},{"name":"Papua New Guinean Sign Language","code":"pgz"},{"name":"Pa-Hng","code":"pha"},{"name":"Phudagi","code":"phd"},{"name":"Phuong","code":"phg"},{"name":"Phukha","code":"phh"},{"name":"Phake","code":"phk"},{"name":"Palula","code":"phl"},{"name":"Phalura","code":"phl"},{"name":"Phimbi","code":"phm"},{"name":"Phoenician","code":"phn"},{"name":"Phunoi","code":"pho"},{"name":"Phana'","code":"phq"},{"name":"Pahari-Potwari","code":"phr"},{"name":"Phu Thai","code":"pht"},{"name":"Phuan","code":"phu"},{"name":"Pahlavani","code":"phv"},{"name":"Phangduwali","code":"phw"},{"name":"Pima Bajo","code":"pia"},{"name":"Yine","code":"pib"},{"name":"Pinji","code":"pic"},{"name":"Piaroa","code":"pid"},{"name":"Piro","code":"pie"},{"name":"Pingelapese","code":"pif"},{"name":"Pisabo","code":"pig"},{"name":"Pitcairn-Norfolk","code":"pih"},{"name":"Pini","code":"pii"},{"name":"Pijao","code":"pij"},{"name":"Yom","code":"pil"},{"name":"Powhatan","code":"pim"},{"name":"Piame","code":"pin"},{"name":"Piapoco","code":"pio"},{"name":"Pero","code":"pip"},{"name":"Piratapuyo","code":"pir"},{"name":"Pijin","code":"pis"},{"name":"Pitta Pitta","code":"pit"},{"name":"Pintupi-Luritja","code":"piu"},{"name":"Pileni","code":"piv"},{"name":"Vaeakau-Taumako","code":"piv"},{"name":"Pimbwe","code":"piw"},{"name":"Piu","code":"pix"},{"name":"Piya-Kwonci","code":"piy"},{"name":"Pije","code":"piz"},{"name":"Pitjantjatjara","code":"pjt"},{"name":"Ardhamฤgadhฤซ Prฤkrit","code":"pka"},{"name":"Kipfokomo","code":"pkb"},{"name":"Pokomo","code":"pkb"},{"name":"Paekche","code":"pkc"},{"name":"Pak-Tong","code":"pkg"},{"name":"Pankhu","code":"pkh"},{"name":"Pakanha","code":"pkn"},{"name":"Pรถkoot","code":"pko"},{"name":"Pukapuka","code":"pkp"},{"name":"Attapady Kurumba","code":"pkr"},{"name":"Pakistan Sign Language","code":"pks"},{"name":"Maleng","code":"pkt"},{"name":"Paku","code":"pku"},{"name":"Miani","code":"pla"},{"name":"Polonombauk","code":"plb"},{"name":"Central Palawano","code":"plc"},{"name":"Polari","code":"pld"},{"name":"Palu'e","code":"ple"},{"name":"Pilagรก","code":"plg"},{"name":"Paulohi","code":"plh"},{"name":"Pali","code":"pli"},{"name":"Polci","code":"plj"},{"name":"Kohistani Shina","code":"plk"},{"name":"Shwe Palaung","code":"pll"},{"name":"Palenquero","code":"pln"},{"name":"Oluta Popoluca","code":"plo"},{"name":"Palaic","code":"plq"},{"name":"Palaka Senoufo","code":"plr"},{"name":"San Marcos Tlacoyalco Popoloca","code":"pls"},{"name":"San Marcos Tlalcoyalco Popoloca","code":"pls"},{"name":"Plateau Malagasy","code":"plt"},{"name":"Palikรบr","code":"plu"},{"name":"Southwest Palawano","code":"plv"},{"name":"Brooke's Point Palawano","code":"plw"},{"name":"Bolyu","code":"ply"},{"name":"Paluan","code":"plz"},{"name":"Paama","code":"pma"},{"name":"Pambia","code":"pmb"},{"name":"Pallanganmiddang","code":"pmd"},{"name":"Pwaamei","code":"pme"},{"name":"Pamona","code":"pmf"},{"name":"Mฤhฤrฤแนฃแนญri Prฤkrit","code":"pmh"},{"name":"Northern Pumi","code":"pmi"},{"name":"Southern Pumi","code":"pmj"},{"name":"Pamlico","code":"pmk"},{"name":"Lingua Franca","code":"pml"},{"name":"Pomo","code":"pmm"},{"name":"Pam","code":"pmn"},{"name":"Pom","code":"pmo"},{"name":"Northern Pame","code":"pmq"},{"name":"Paynamar","code":"pmr"},{"name":"Piemontese","code":"pms"},{"name":"Tuamotuan","code":"pmt"},{"name":"Plains Miwok","code":"pmw"},{"name":"Poumei Naga","code":"pmx"},{"name":"Papuan Malay","code":"pmy"},{"name":"Southern Pame","code":"pmz"},{"name":"Punan Bah-Biau","code":"pna"},{"name":"Western Panjabi","code":"pnb"},{"name":"Pannei","code":"pnc"},{"name":"Mpinda","code":"pnd"},{"name":"Western Penan","code":"pne"},{"name":"Pangu","code":"png"},{"name":"Pongu","code":"png"},{"name":"Penrhyn","code":"pnh"},{"name":"Aoheng","code":"pni"},{"name":"Pinjarup","code":"pnj"},{"name":"Paunaka","code":"pnk"},{"name":"Paleni","code":"pnl"},{"name":"Punan Batu 1","code":"pnm"},{"name":"Pinai-Hagahai","code":"pnn"},{"name":"Panobo","code":"pno"},{"name":"Pancana","code":"pnp"},{"name":"Pana (Burkina Faso)","code":"pnq"},{"name":"Panim","code":"pnr"},{"name":"Ponosakan","code":"pns"},{"name":"Pontic","code":"pnt"},{"name":"Jiongnai Bunu","code":"pnu"},{"name":"Pinigura","code":"pnv"},{"name":"Banyjima","code":"pnw"},{"name":"Panytyima","code":"pnw"},{"name":"Phong-Kniang","code":"pnx"},{"name":"Pinyin","code":"pny"},{"name":"Pana (Central African Republic)","code":"pnz"},{"name":"Poqomam","code":"poc"},{"name":"San Juan Atzingo Popoloca","code":"poe"},{"name":"Poke","code":"pof"},{"name":"Potiguรกra","code":"pog"},{"name":"Poqomchi'","code":"poh"},{"name":"Highland Popoluca","code":"poi"},{"name":"Pokangรก","code":"pok"},{"name":"Polish","code":"pol"},{"name":"Southeastern Pomo","code":"pom"},{"name":"Pohnpeian","code":"pon"},{"name":"Central Pomo","code":"poo"},{"name":"Pwapwรข","code":"pop"},{"name":"Texistepec Popoluca","code":"poq"},{"name":"Portuguese","code":"por"},{"name":"Sayula Popoluca","code":"pos"},{"name":"Potawatomi","code":"pot"},{"name":"Upper Guinea Crioulo","code":"pov"},{"name":"San Felipe Otlaltepec Popoloca","code":"pow"},{"name":"Polabian","code":"pox"},{"name":"Pogolo","code":"poy"},{"name":"Papi","code":"ppe"},{"name":"Paipai","code":"ppi"},{"name":"Uma","code":"ppk"},{"name":"Nicarao","code":"ppl"},{"name":"Pipil","code":"ppl"},{"name":"Papuma","code":"ppm"},{"name":"Papapana","code":"ppn"},{"name":"Folopa","code":"ppo"},{"name":"Pelende","code":"ppp"},{"name":"Pei","code":"ppq"},{"name":"San Luรญs Temalacayuca Popoloca","code":"pps"},{"name":"Pare","code":"ppt"},{"name":"Papora","code":"ppu"},{"name":"Pa'a","code":"pqa"},{"name":"Malecite-Passamaquoddy","code":"pqm"},{"name":"Parachi","code":"prc"},{"name":"Parsi-Dari","code":"prd"},{"name":"Principense","code":"pre"},{"name":"Paranan","code":"prf"},{"name":"Prussian","code":"prg"},{"name":"Porohanon","code":"prh"},{"name":"Paicรฎ","code":"pri"},{"name":"Parauk","code":"prk"},{"name":"Peruvian Sign Language","code":"prl"},{"name":"Kibiri","code":"prm"},{"name":"Prasuni","code":"prn"},{"name":"Old Occitan (to 1500)","code":"pro"},{"name":"Old Provenรงal (to 1500)","code":"pro"},{"name":"Parsi","code":"prp"},{"name":"Ashรฉninka Perenรฉ","code":"prq"},{"name":"Puri","code":"prr"},{"name":"Afghan Persian","code":"prs"},{"name":"Dari","code":"prs"},{"name":"Phai","code":"prt"},{"name":"Puragi","code":"pru"},{"name":"Parawen","code":"prw"},{"name":"Purik","code":"prx"},{"name":"Providencia Sign Language","code":"prz"},{"name":"Asue Awyu","code":"psa"},{"name":"Persian Sign Language","code":"psc"},{"name":"Plains Indian Sign Language","code":"psd"},{"name":"Central Malay","code":"pse"},{"name":"Penang Sign Language","code":"psg"},{"name":"Southwest Pashai","code":"psh"},{"name":"Southwest Pashayi","code":"psh"},{"name":"Southeast Pashai","code":"psi"},{"name":"Southeast Pashayi","code":"psi"},{"name":"Puerto Rican Sign Language","code":"psl"},{"name":"Pauserna","code":"psm"},{"name":"Panasuan","code":"psn"},{"name":"Polish Sign Language","code":"pso"},{"name":"Philippine Sign Language","code":"psp"},{"name":"Pasi","code":"psq"},{"name":"Portuguese Sign Language","code":"psr"},{"name":"Kaulong","code":"pss"},{"name":"Central Pashto","code":"pst"},{"name":"Sauraseni Prฤkrit","code":"psu"},{"name":"Port Sandwich","code":"psw"},{"name":"Piscataway","code":"psy"},{"name":"Pai Tavytera","code":"pta"},{"name":"Pataxรณ Hรฃ-Ha-Hรฃe","code":"pth"},{"name":"Pindiini","code":"pti"},{"name":"Wangkatha","code":"pti"},{"name":"Patani","code":"ptn"},{"name":"Zo'รฉ","code":"pto"},{"name":"Patep","code":"ptp"},{"name":"Pattapu","code":"ptq"},{"name":"Piamatsina","code":"ptr"},{"name":"Enrekang","code":"ptt"},{"name":"Bambam","code":"ptu"},{"name":"Port Vato","code":"ptv"},{"name":"Pentlatch","code":"ptw"},{"name":"Pathiya","code":"pty"},{"name":"Western Highland Purepecha","code":"pua"},{"name":"Purum","code":"pub"},{"name":"Punan Merap","code":"puc"},{"name":"Punan Aput","code":"pud"},{"name":"Puelche","code":"pue"},{"name":"Punan Merah","code":"puf"},{"name":"Phuie","code":"pug"},{"name":"Puinave","code":"pui"},{"name":"Punan Tubu","code":"puj"},{"name":"Puma","code":"pum"},{"name":"Puoc","code":"puo"},{"name":"Pulabu","code":"pup"},{"name":"Puquina","code":"puq"},{"name":"Puruborรก","code":"pur"},{"name":"Pushto","code":"pus"},{"name":"Pashto","code":"pus"},{"name":"Putoh","code":"put"},{"name":"Punu","code":"puu"},{"name":"Puluwatese","code":"puw"},{"name":"Puare","code":"pux"},{"name":"Purisimeรฑo","code":"puy"},{"name":"Pawaia","code":"pwa"},{"name":"Panawa","code":"pwb"},{"name":"Gapapaiwa","code":"pwg"},{"name":"Patwin","code":"pwi"},{"name":"Molbog","code":"pwm"},{"name":"Paiwan","code":"pwn"},{"name":"Pwo Western Karen","code":"pwo"},{"name":"Powari","code":"pwr"},{"name":"Pwo Northern Karen","code":"pww"},{"name":"Quetzaltepec Mixe","code":"pxm"},{"name":"Pye Krumen","code":"pye"},{"name":"Fyam","code":"pym"},{"name":"Poyanรกwa","code":"pyn"},{"name":"Lengua de Seรฑas del Paraguay","code":"pys"},{"name":"Paraguayan Sign Language","code":"pys"},{"name":"Puyuma","code":"pyu"},{"name":"Pyu (Myanmar)","code":"pyx"},{"name":"Pyen","code":"pyy"},{"name":"Para Naga","code":"pzn"},{"name":"Quapaw","code":"qua"},{"name":"Huallaga Huรกnuco Quechua","code":"qub"},{"name":"K'iche'","code":"quc"},{"name":"Quichรฉ","code":"quc"},{"name":"Calderรณn Highland Quichua","code":"qud"},{"name":"Quechua","code":"que"},{"name":"Lambayeque Quechua","code":"quf"},{"name":"Chimborazo Highland Quichua","code":"qug"},{"name":"South Bolivian Quechua","code":"quh"},{"name":"Quileute","code":"qui"},{"name":"Chachapoyas Quechua","code":"quk"},{"name":"North Bolivian Quechua","code":"qul"},{"name":"Sipacapense","code":"qum"},{"name":"Quinault","code":"qun"},{"name":"Southern Pastaza Quechua","code":"qup"},{"name":"Quinqui","code":"quq"},{"name":"Yanahuanca Pasco Quechua","code":"qur"},{"name":"Santiago del Estero Quichua","code":"qus"},{"name":"Sacapulteco","code":"quv"},{"name":"Tena Lowland Quichua","code":"quw"},{"name":"Yauyos Quechua","code":"qux"},{"name":"Ayacucho Quechua","code":"quy"},{"name":"Cusco Quechua","code":"quz"},{"name":"Ambo-Pasco Quechua","code":"qva"},{"name":"Cajamarca Quechua","code":"qvc"},{"name":"Eastern Apurรญmac Quechua","code":"qve"},{"name":"Huamalรญes-Dos de Mayo Huรกnuco Quechua","code":"qvh"},{"name":"Imbabura Highland Quichua","code":"qvi"},{"name":"Loja Highland Quichua","code":"qvj"},{"name":"Cajatambo North Lima Quechua","code":"qvl"},{"name":"Margos-Yarowilca-Lauricocha Quechua","code":"qvm"},{"name":"North Junรญn Quechua","code":"qvn"},{"name":"Napo Lowland Quechua","code":"qvo"},{"name":"Pacaraos Quechua","code":"qvp"},{"name":"San Martรญn Quechua","code":"qvs"},{"name":"Huaylla Wanca Quechua","code":"qvw"},{"name":"Queyu","code":"qvy"},{"name":"Northern Pastaza Quichua","code":"qvz"},{"name":"Corongo Ancash Quechua","code":"qwa"},{"name":"Classical Quechua","code":"qwc"},{"name":"Huaylas Ancash Quechua","code":"qwh"},{"name":"Kuman (Russia)","code":"qwm"},{"name":"Sihuas Ancash Quechua","code":"qws"},{"name":"Kwalhioqua-Tlatskanai","code":"qwt"},{"name":"Chiquiรกn Ancash Quechua","code":"qxa"},{"name":"Chincha Quechua","code":"qxc"},{"name":"Panao Huรกnuco Quechua","code":"qxh"},{"name":"Salasaca Highland Quichua","code":"qxl"},{"name":"Northern Conchucos Ancash Quechua","code":"qxn"},{"name":"Southern Conchucos Ancash Quechua","code":"qxo"},{"name":"Puno Quechua","code":"qxp"},{"name":"Qashqa'i","code":"qxq"},{"name":"Caรฑar Highland Quichua","code":"qxr"},{"name":"Southern Qiang","code":"qxs"},{"name":"Santa Ana de Tusi Pasco Quechua","code":"qxt"},{"name":"Arequipa-La Uniรณn Quechua","code":"qxu"},{"name":"Jauja Wanca Quechua","code":"qxw"},{"name":"Quenya","code":"qya"},{"name":"Quiripi","code":"qyp"},{"name":"Dungmali","code":"raa"},{"name":"Camling","code":"rab"},{"name":"Rasawa","code":"rac"},{"name":"Rade","code":"rad"},{"name":"Western Meohang","code":"raf"},{"name":"Logooli","code":"rag"},{"name":"Lulogooli","code":"rag"},{"name":"Rabha","code":"rah"},{"name":"Ramoaaina","code":"rai"},{"name":"Rajasthani","code":"raj"},{"name":"Tulu-Bohuai","code":"rak"},{"name":"Ralte","code":"ral"},{"name":"Canela","code":"ram"},{"name":"Riantana","code":"ran"},{"name":"Rao","code":"rao"},{"name":"Rapanui","code":"rap"},{"name":"Saam","code":"raq"},{"name":"Cook Islands Maori","code":"rar"},{"name":"Rarotongan","code":"rar"},{"name":"Tegali","code":"ras"},{"name":"Razajerdi","code":"rat"},{"name":"Raute","code":"rau"},{"name":"Sampang","code":"rav"},{"name":"Rawang","code":"raw"},{"name":"Rang","code":"rax"},{"name":"Rapa","code":"ray"},{"name":"Rahambuu","code":"raz"},{"name":"Rumai Palaung","code":"rbb"},{"name":"Northern Bontok","code":"rbk"},{"name":"Miraya Bikol","code":"rbl"},{"name":"Barababaraba","code":"rbp"},{"name":"Rรฉunion Creole French","code":"rcf"},{"name":"Rudbari","code":"rdb"},{"name":"Rerau","code":"rea"},{"name":"Rembong","code":"reb"},{"name":"Rejang Kayan","code":"ree"},{"name":"Kara (Tanzania)","code":"reg"},{"name":"Reli","code":"rei"},{"name":"Rejang","code":"rej"},{"name":"Rendille","code":"rel"},{"name":"Remo","code":"rem"},{"name":"Rengao","code":"ren"},{"name":"Rer Bare","code":"rer"},{"name":"Reshe","code":"res"},{"name":"Retta","code":"ret"},{"name":"Reyesano","code":"rey"},{"name":"Roria","code":"rga"},{"name":"Romano-Greek","code":"rge"},{"name":"Rangkas","code":"rgk"},{"name":"Romagnol","code":"rgn"},{"name":"Resรญgaro","code":"rgr"},{"name":"Southern Roglai","code":"rgs"},{"name":"Ringgou","code":"rgu"},{"name":"Rohingya","code":"rhg"},{"name":"Yahang","code":"rhp"},{"name":"Riang (India)","code":"ria"},{"name":"Tarifit","code":"rif"},{"name":"Riang (Myanmar)","code":"ril"},{"name":"Riang Lang","code":"ril"},{"name":"Nyaturu","code":"rim"},{"name":"Nungu","code":"rin"},{"name":"Ribun","code":"rir"},{"name":"Ritharrngu","code":"rit"},{"name":"Riung","code":"riu"},{"name":"Rajong","code":"rjg"},{"name":"Raji","code":"rji"},{"name":"Rajbanshi","code":"rjs"},{"name":"Kraol","code":"rka"},{"name":"Rikbaktsa","code":"rkb"},{"name":"Rakahanga-Manihiki","code":"rkh"},{"name":"Rakhine","code":"rki"},{"name":"Marka","code":"rkm"},{"name":"Kamta","code":"rkt"},{"name":"Rangpuri","code":"rkt"},{"name":"Arakwal","code":"rkw"},{"name":"Rama","code":"rma"},{"name":"Rembarrnga","code":"rmb"},{"name":"Carpathian Romani","code":"rmc"},{"name":"Traveller Danish","code":"rmd"},{"name":"Angloromani","code":"rme"},{"name":"Kalo Finnish Romani","code":"rmf"},{"name":"Traveller Norwegian","code":"rmg"},{"name":"Murkim","code":"rmh"},{"name":"Lomavren","code":"rmi"},{"name":"Romkun","code":"rmk"},{"name":"Baltic Romani","code":"rml"},{"name":"Roma","code":"rmm"},{"name":"Balkan Romani","code":"rmn"},{"name":"Sinte Romani","code":"rmo"},{"name":"Rempi","code":"rmp"},{"name":"Calรณ","code":"rmq"},{"name":"Romanian Sign Language","code":"rms"},{"name":"Domari","code":"rmt"},{"name":"Tavringer Romani","code":"rmu"},{"name":"Romanova","code":"rmv"},{"name":"Welsh Romani","code":"rmw"},{"name":"Romam","code":"rmx"},{"name":"Vlax Romani","code":"rmy"},{"name":"Marma","code":"rmz"},{"name":"Ruund","code":"rnd"},{"name":"Ronga","code":"rng"},{"name":"Ranglong","code":"rnl"},{"name":"Roon","code":"rnn"},{"name":"Rongpo","code":"rnp"},{"name":"Nari Nari","code":"rnr"},{"name":"Rungwa","code":"rnw"},{"name":"Tae'","code":"rob"},{"name":"Cacgia Roglai","code":"roc"},{"name":"Rogo","code":"rod"},{"name":"Ronji","code":"roe"},{"name":"Rombo","code":"rof"},{"name":"Northern Roglai","code":"rog"},{"name":"Romansh","code":"roh"},{"name":"Romblomanon","code":"rol"},{"name":"Romany","code":"rom"},{"name":"Romanian","code":"ron"},{"name":"Moldavian","code":"ron"},{"name":"Moldovan","code":"ron"},{"name":"Rotokas","code":"roo"},{"name":"Kriol","code":"rop"},{"name":"Rongga","code":"ror"},{"name":"Runga","code":"rou"},{"name":"Dela-Oenale","code":"row"},{"name":"Repanbitip","code":"rpn"},{"name":"Rapting","code":"rpt"},{"name":"Ririo","code":"rri"},{"name":"Waima","code":"rro"},{"name":"Arritinngithigh","code":"rrt"},{"name":"Romano-Serbian","code":"rsb"},{"name":"Russian Sign Language","code":"rsl"},{"name":"Miriwoong Sign Language","code":"rsm"},{"name":"Rungtu Chin","code":"rtc"},{"name":"Ratahan","code":"rth"},{"name":"Rotuman","code":"rtm"},{"name":"Yurats","code":"rts"},{"name":"Rathawi","code":"rtw"},{"name":"Gungu","code":"rub"},{"name":"Ruuli","code":"ruc"},{"name":"Rusyn","code":"rue"},{"name":"Luguru","code":"ruf"},{"name":"Roviana","code":"rug"},{"name":"Ruga","code":"ruh"},{"name":"Rufiji","code":"rui"},{"name":"Che","code":"ruk"},{"name":"Rundi","code":"run"},{"name":"Istro Romanian","code":"ruo"},{"name":"Aromanian","code":"rup"},{"name":"Arumanian","code":"rup"},{"name":"Macedo-Romanian","code":"rup"},{"name":"Megleno Romanian","code":"ruq"},{"name":"Russian","code":"rus"},{"name":"Rutul","code":"rut"},{"name":"Lanas Lobu","code":"ruu"},{"name":"Mala (Nigeria)","code":"ruy"},{"name":"Ruma","code":"ruz"},{"name":"Rawo","code":"rwa"},{"name":"Rwa","code":"rwk"},{"name":"Ruwila","code":"rwl"},{"name":"Amba (Uganda)","code":"rwm"},{"name":"Rawa","code":"rwo"},{"name":"Marwari (India)","code":"rwr"},{"name":"Ngardi","code":"rxd"},{"name":"Garuwali","code":"rxw"},{"name":"Karuwali","code":"rxw"},{"name":"Northern Amami-Oshima","code":"ryn"},{"name":"Yaeyama","code":"rys"},{"name":"Central Okinawan","code":"ryu"},{"name":"Rฤziแธฅฤซ","code":"rzh"},{"name":"Saba","code":"saa"},{"name":"Buglere","code":"sab"},{"name":"Meskwaki","code":"sac"},{"name":"Sandawe","code":"sad"},{"name":"Sabanรช","code":"sae"},{"name":"Safaliba","code":"saf"},{"name":"Sango","code":"sag"},{"name":"Yakut","code":"sah"},{"name":"Sahu","code":"saj"},{"name":"Sake","code":"sak"},{"name":"Samaritan Aramaic","code":"sam"},{"name":"Sanskrit","code":"san"},{"name":"Sause","code":"sao"},{"name":"Samburu","code":"saq"},{"name":"Saraveca","code":"sar"},{"name":"Sasak","code":"sas"},{"name":"Santali","code":"sat"},{"name":"Saleman","code":"sau"},{"name":"Saafi-Saafi","code":"sav"},{"name":"Sawi","code":"saw"},{"name":"Sa","code":"sax"},{"name":"Saya","code":"say"},{"name":"Saurashtra","code":"saz"},{"name":"Ngambay","code":"sba"},{"name":"Simbo","code":"sbb"},{"name":"Kele (Papua New Guinea)","code":"sbc"},{"name":"Southern Samo","code":"sbd"},{"name":"Saliba","code":"sbe"},{"name":"Chabu","code":"sbf"},{"name":"Shabo","code":"sbf"},{"name":"Seget","code":"sbg"},{"name":"Sori-Harengan","code":"sbh"},{"name":"Seti","code":"sbi"},{"name":"Surbakhal","code":"sbj"},{"name":"Safwa","code":"sbk"},{"name":"Botolan Sambal","code":"sbl"},{"name":"Sagala","code":"sbm"},{"name":"Sindhi Bhil","code":"sbn"},{"name":"Sabรผm","code":"sbo"},{"name":"Sangu (Tanzania)","code":"sbp"},{"name":"Sileibi","code":"sbq"},{"name":"Sembakung Murut","code":"sbr"},{"name":"Subiya","code":"sbs"},{"name":"Kimki","code":"sbt"},{"name":"Stod Bhoti","code":"sbu"},{"name":"Sabine","code":"sbv"},{"name":"Simba","code":"sbw"},{"name":"Seberuang","code":"sbx"},{"name":"Soli","code":"sby"},{"name":"Sara Kaba","code":"sbz"},{"name":"Chut","code":"scb"},{"name":"Dongxiang","code":"sce"},{"name":"San Miguel Creole French","code":"scf"},{"name":"Sanggau","code":"scg"},{"name":"Sakachep","code":"sch"},{"name":"Sri Lankan Creole Malay","code":"sci"},{"name":"Sadri","code":"sck"},{"name":"Shina","code":"scl"},{"name":"Sicilian","code":"scn"},{"name":"Scots","code":"sco"},{"name":"Helambu Sherpa","code":"scp"},{"name":"Hyolmo","code":"scp"},{"name":"Sa'och","code":"scq"},{"name":"North Slavey","code":"scs"},{"name":"Southern Katang","code":"sct"},{"name":"Shumcho","code":"scu"},{"name":"Sheni","code":"scv"},{"name":"Sha","code":"scw"},{"name":"Sicel","code":"scx"},{"name":"Toraja-Sa'dan","code":"sda"},{"name":"Shabak","code":"sdb"},{"name":"Sassarese Sardinian","code":"sdc"},{"name":"Surubu","code":"sde"},{"name":"Sarli","code":"sdf"},{"name":"Savi","code":"sdg"},{"name":"Southern Kurdish","code":"sdh"},{"name":"Suundi","code":"sdj"},{"name":"Sos Kundi","code":"sdk"},{"name":"Saudi Arabian Sign Language","code":"sdl"},{"name":"Gallurese Sardinian","code":"sdn"},{"name":"Bukar-Sadung Bidayuh","code":"sdo"},{"name":"Sherdukpen","code":"sdp"},{"name":"Semandang","code":"sdq"},{"name":"Oraon Sadri","code":"sdr"},{"name":"Sened","code":"sds"},{"name":"Shuadit","code":"sdt"},{"name":"Sarudu","code":"sdu"},{"name":"Sibu Melanau","code":"sdx"},{"name":"Sallands","code":"sdz"},{"name":"Semai","code":"sea"},{"name":"Shempire Senoufo","code":"seb"},{"name":"Sechelt","code":"sec"},{"name":"Sedang","code":"sed"},{"name":"Seneca","code":"see"},{"name":"Cebaara Senoufo","code":"sef"},{"name":"Segeju","code":"seg"},{"name":"Sena","code":"seh"},{"name":"Seri","code":"sei"},{"name":"Sene","code":"sej"},{"name":"Sekani","code":"sek"},{"name":"Selkup","code":"sel"},{"name":"Nanerigรฉ Sรฉnoufo","code":"sen"},{"name":"Suarmin","code":"seo"},{"name":"Sรฌcรฌtรฉ Sรฉnoufo","code":"sep"},{"name":"Senara Sรฉnoufo","code":"seq"},{"name":"Serrano","code":"ser"},{"name":"Koyraboro Senni Songhai","code":"ses"},{"name":"Sentani","code":"set"},{"name":"Serui-Laut","code":"seu"},{"name":"Nyarafolo Senoufo","code":"sev"},{"name":"Sewa Bay","code":"sew"},{"name":"Secoya","code":"sey"},{"name":"Senthang Chin","code":"sez"},{"name":"French Belgian Sign Language","code":"sfb"},{"name":"Langue des signes de Belgique Francophone","code":"sfb"},{"name":"Eastern Subanen","code":"sfe"},{"name":"Small Flowery Miao","code":"sfm"},{"name":"South African Sign Language","code":"sfs"},{"name":"Sehwi","code":"sfw"},{"name":"Old Irish (to 900)","code":"sga"},{"name":"Mag-antsi Ayta","code":"sgb"},{"name":"Kipsigis","code":"sgc"},{"name":"Surigaonon","code":"sgd"},{"name":"Segai","code":"sge"},{"name":"Swiss-German Sign Language","code":"sgg"},{"name":"Shughni","code":"sgh"},{"name":"Suga","code":"sgi"},{"name":"Surgujia","code":"sgj"},{"name":"Sangkong","code":"sgk"},{"name":"Singa","code":"sgm"},{"name":"Singpho","code":"sgp"},{"name":"Sangisari","code":"sgr"},{"name":"Samogitian","code":"sgs"},{"name":"Brokpake","code":"sgt"},{"name":"Salas","code":"sgu"},{"name":"Sebat Bet Gurage","code":"sgw"},{"name":"Sierra Leone Sign Language","code":"sgx"},{"name":"Sanglechi","code":"sgy"},{"name":"Sursurunga","code":"sgz"},{"name":"Shall-Zwall","code":"sha"},{"name":"Ninam","code":"shb"},{"name":"Sonde","code":"shc"},{"name":"Kundal Shahi","code":"shd"},{"name":"Sheko","code":"she"},{"name":"Shua","code":"shg"},{"name":"Shoshoni","code":"shh"},{"name":"Tachelhit","code":"shi"},{"name":"Shatt","code":"shj"},{"name":"Shilluk","code":"shk"},{"name":"Shendu","code":"shl"},{"name":"Shahrudi","code":"shm"},{"name":"Shan","code":"shn"},{"name":"Shanga","code":"sho"},{"name":"Shipibo-Conibo","code":"shp"},{"name":"Sala","code":"shq"},{"name":"Shi","code":"shr"},{"name":"Shuswap","code":"shs"},{"name":"Shasta","code":"sht"},{"name":"Chadian Arabic","code":"shu"},{"name":"Shehri","code":"shv"},{"name":"Shwai","code":"shw"},{"name":"She","code":"shx"},{"name":"Tachawit","code":"shy"},{"name":"Syenara Senoufo","code":"shz"},{"name":"Akkala Sami","code":"sia"},{"name":"Sebop","code":"sib"},{"name":"Sidamo","code":"sid"},{"name":"Simaa","code":"sie"},{"name":"Siamou","code":"sif"},{"name":"Paasaal","code":"sig"},{"name":"Sรฎshรซรซ","code":"sih"},{"name":"Zire","code":"sih"},{"name":"Shom Peng","code":"sii"},{"name":"Numbami","code":"sij"},{"name":"Sikiana","code":"sik"},{"name":"Tumulung Sisaala","code":"sil"},{"name":"Mende (Papua New Guinea)","code":"sim"},{"name":"Sinhala","code":"sin"},{"name":"Sinhalese","code":"sin"},{"name":"Sikkimese","code":"sip"},{"name":"Sonia","code":"siq"},{"name":"Siri","code":"sir"},{"name":"Siuslaw","code":"sis"},{"name":"Sinagen","code":"siu"},{"name":"Sumariup","code":"siv"},{"name":"Siwai","code":"siw"},{"name":"Sumau","code":"six"},{"name":"Sivandi","code":"siy"},{"name":"Siwi","code":"siz"},{"name":"Epena","code":"sja"},{"name":"Sajau Basap","code":"sjb"},{"name":"Kildin Sami","code":"sjd"},{"name":"Pite Sami","code":"sje"},{"name":"Assangori","code":"sjg"},{"name":"Kemi Sami","code":"sjk"},{"name":"Miji","code":"sjl"},{"name":"Sajalong","code":"sjl"},{"name":"Mapun","code":"sjm"},{"name":"Sindarin","code":"sjn"},{"name":"Xibe","code":"sjo"},{"name":"Surjapuri","code":"sjp"},{"name":"Siar-Lak","code":"sjr"},{"name":"Senhaja De Srair","code":"sjs"},{"name":"Ter Sami","code":"sjt"},{"name":"Ume Sami","code":"sju"},{"name":"Shawnee","code":"sjw"},{"name":"Skagit","code":"ska"},{"name":"Saek","code":"skb"},{"name":"Ma Manda","code":"skc"},{"name":"Southern Sierra Miwok","code":"skd"},{"name":"Seke (Vanuatu)","code":"ske"},{"name":"Sakirabiรก","code":"skf"},{"name":"Sakalava Malagasy","code":"skg"},{"name":"Sikule","code":"skh"},{"name":"Sika","code":"ski"},{"name":"Seke (Nepal)","code":"skj"},{"name":"Kutong","code":"skm"},{"name":"Kolibugan Subanon","code":"skn"},{"name":"Seko Tengah","code":"sko"},{"name":"Sekapan","code":"skp"},{"name":"Sininkere","code":"skq"},{"name":"Saraiki","code":"skr"},{"name":"Seraiki","code":"skr"},{"name":"Maia","code":"sks"},{"name":"Sakata","code":"skt"},{"name":"Sakao","code":"sku"},{"name":"Skou","code":"skv"},{"name":"Skepi Creole Dutch","code":"skw"},{"name":"Seko Padang","code":"skx"},{"name":"Sikaiana","code":"sky"},{"name":"Sekar","code":"skz"},{"name":"Sรกliba","code":"slc"},{"name":"Sissala","code":"sld"},{"name":"Sholaga","code":"sle"},{"name":"Swiss-Italian Sign Language","code":"slf"},{"name":"Selungai Murut","code":"slg"},{"name":"Southern Puget Sound Salish","code":"slh"},{"name":"Lower Silesian","code":"sli"},{"name":"Salumรก","code":"slj"},{"name":"Slovak","code":"slk"},{"name":"Salt-Yui","code":"sll"},{"name":"Pangutaran Sama","code":"slm"},{"name":"Salinan","code":"sln"},{"name":"Lamaholot","code":"slp"},{"name":"Salchuq","code":"slq"},{"name":"Salar","code":"slr"},{"name":"Singapore Sign Language","code":"sls"},{"name":"Sila","code":"slt"},{"name":"Selaru","code":"slu"},{"name":"Slovenian","code":"slv"},{"name":"Sialum","code":"slw"},{"name":"Salampasu","code":"slx"},{"name":"Selayar","code":"sly"},{"name":"Ma'ya","code":"slz"},{"name":"Southern Sami","code":"sma"},{"name":"Simbari","code":"smb"},{"name":"Som","code":"smc"},{"name":"Sama","code":"smd"},{"name":"Northern Sami","code":"sme"},{"name":"Auwe","code":"smf"},{"name":"Simbali","code":"smg"},{"name":"Samei","code":"smh"},{"name":"Lule Sami","code":"smj"},{"name":"Bolinao","code":"smk"},{"name":"Central Sama","code":"sml"},{"name":"Musasa","code":"smm"},{"name":"Inari Sami","code":"smn"},{"name":"Samoan","code":"smo"},{"name":"Samaritan","code":"smp"},{"name":"Samo","code":"smq"},{"name":"Simeulue","code":"smr"},{"name":"Skolt Sami","code":"sms"},{"name":"Simte","code":"smt"},{"name":"Somray","code":"smu"},{"name":"Samvedi","code":"smv"},{"name":"Sumbawa","code":"smw"},{"name":"Samba","code":"smx"},{"name":"Semnani","code":"smy"},{"name":"Simeku","code":"smz"},{"name":"Shona","code":"sna"},{"name":"Sebuyau","code":"snb"},{"name":"Sinaugoro","code":"snc"},{"name":"Sindhi","code":"snd"},{"name":"Bau Bidayuh","code":"sne"},{"name":"Noon","code":"snf"},{"name":"Sanga (Democratic Republic of Congo)","code":"sng"},{"name":"Sensi","code":"sni"},{"name":"Riverain Sango","code":"snj"},{"name":"Soninke","code":"snk"},{"name":"Sangil","code":"snl"},{"name":"Southern Ma'di","code":"snm"},{"name":"Siona","code":"snn"},{"name":"Snohomish","code":"sno"},{"name":"Siane","code":"snp"},{"name":"Sangu (Gabon)","code":"snq"},{"name":"Sihan","code":"snr"},{"name":"Nahavaq","code":"sns"},{"name":"South West Bay","code":"sns"},{"name":"Senggi","code":"snu"},{"name":"Viid","code":"snu"},{"name":"Sa'ban","code":"snv"},{"name":"Selee","code":"snw"},{"name":"Sam","code":"snx"},{"name":"Saniyo-Hiyewe","code":"sny"},{"name":"Kou","code":"snz"},{"name":"Thai Song","code":"soa"},{"name":"Sobei","code":"sob"},{"name":"So (Democratic Republic of Congo)","code":"soc"},{"name":"Songoora","code":"sod"},{"name":"Songomeno","code":"soe"},{"name":"Sogdian","code":"sog"},{"name":"Aka","code":"soh"},{"name":"Sonha","code":"soi"},{"name":"Soi","code":"soj"},{"name":"Sokoro","code":"sok"},{"name":"Solos","code":"sol"},{"name":"Somali","code":"som"},{"name":"Songo","code":"soo"},{"name":"Songe","code":"sop"},{"name":"Kanasi","code":"soq"},{"name":"Somrai","code":"sor"},{"name":"Seeku","code":"sos"},{"name":"Southern Sotho","code":"sot"},{"name":"Southern Thai","code":"sou"},{"name":"Sonsorol","code":"sov"},{"name":"Sowanda","code":"sow"},{"name":"Swo","code":"sox"},{"name":"Miyobe","code":"soy"},{"name":"Temi","code":"soz"},{"name":"Spanish","code":"spa"},{"name":"Castilian","code":"spa"},{"name":"Sepa (Indonesia)","code":"spb"},{"name":"Sapรฉ","code":"spc"},{"name":"Saep","code":"spd"},{"name":"Sepa (Papua New Guinea)","code":"spe"},{"name":"Sian","code":"spg"},{"name":"Saponi","code":"spi"},{"name":"Sengo","code":"spk"},{"name":"Selepet","code":"spl"},{"name":"Akukem","code":"spm"},{"name":"Sanapanรก","code":"spn"},{"name":"Spokane","code":"spo"},{"name":"Supyire Senoufo","code":"spp"},{"name":"Loreto-Ucayali Spanish","code":"spq"},{"name":"Saparua","code":"spr"},{"name":"Saposa","code":"sps"},{"name":"Spiti Bhoti","code":"spt"},{"name":"Sapuan","code":"spu"},{"name":"Kosli","code":"spv"},{"name":"Sambalpuri","code":"spv"},{"name":"South Picene","code":"spx"},{"name":"Sabaot","code":"spy"},{"name":"Shama-Sambuga","code":"sqa"},{"name":"Shau","code":"sqh"},{"name":"Albanian","code":"sqi"},{"name":"Albanian Sign Language","code":"sqk"},{"name":"Suma","code":"sqm"},{"name":"Susquehannock","code":"sqn"},{"name":"Sorkhei","code":"sqo"},{"name":"Sou","code":"sqq"},{"name":"Siculo Arabic","code":"sqr"},{"name":"Sri Lankan Sign Language","code":"sqs"},{"name":"Soqotri","code":"sqt"},{"name":"Squamish","code":"squ"},{"name":"Kufr Qassem Sign Language (KQSL)","code":"sqx"},{"name":"Saruga","code":"sra"},{"name":"Sora","code":"srb"},{"name":"Logudorese Sardinian","code":"src"},{"name":"Sardinian","code":"srd"},{"name":"Sara","code":"sre"},{"name":"Nafi","code":"srf"},{"name":"Sulod","code":"srg"},{"name":"Sarikoli","code":"srh"},{"name":"Siriano","code":"sri"},{"name":"Serudung Murut","code":"srk"},{"name":"Isirawa","code":"srl"},{"name":"Saramaccan","code":"srm"},{"name":"Sranan Tongo","code":"srn"},{"name":"Campidanese Sardinian","code":"sro"},{"name":"Serbian","code":"srp"},{"name":"Sirionรณ","code":"srq"},{"name":"Serer","code":"srr"},{"name":"Sarsi","code":"srs"},{"name":"Sauri","code":"srt"},{"name":"Suruรญ","code":"sru"},{"name":"Southern Sorsoganon","code":"srv"},{"name":"Serua","code":"srw"},{"name":"Sirmauri","code":"srx"},{"name":"Sera","code":"sry"},{"name":"Shahmirzadi","code":"srz"},{"name":"Southern Sama","code":"ssb"},{"name":"Suba-Simbiti","code":"ssc"},{"name":"Siroi","code":"ssd"},{"name":"Balangingi","code":"sse"},{"name":"Bangingih Sama","code":"sse"},{"name":"Thao","code":"ssf"},{"name":"Seimat","code":"ssg"},{"name":"Shihhi Arabic","code":"ssh"},{"name":"Sansi","code":"ssi"},{"name":"Sausi","code":"ssj"},{"name":"Sunam","code":"ssk"},{"name":"Western Sisaala","code":"ssl"},{"name":"Semnam","code":"ssm"},{"name":"Waata","code":"ssn"},{"name":"Sissano","code":"sso"},{"name":"Spanish Sign Language","code":"ssp"},{"name":"So'a","code":"ssq"},{"name":"Swiss-French Sign Language","code":"ssr"},{"name":"Sรด","code":"sss"},{"name":"Sinasina","code":"sst"},{"name":"Susuami","code":"ssu"},{"name":"Shark Bay","code":"ssv"},{"name":"Swati","code":"ssw"},{"name":"Samberigi","code":"ssx"},{"name":"Saho","code":"ssy"},{"name":"Sengseng","code":"ssz"},{"name":"Settla","code":"sta"},{"name":"Northern Subanen","code":"stb"},{"name":"Sentinel","code":"std"},{"name":"Liana-Seti","code":"ste"},{"name":"Seta","code":"stf"},{"name":"Trieng","code":"stg"},{"name":"Shelta","code":"sth"},{"name":"Bulo Stieng","code":"sti"},{"name":"Matya Samo","code":"stj"},{"name":"Arammba","code":"stk"},{"name":"Stellingwerfs","code":"stl"},{"name":"Setaman","code":"stm"},{"name":"Owa","code":"stn"},{"name":"Stoney","code":"sto"},{"name":"Southeastern Tepehuan","code":"stp"},{"name":"Saterfriesisch","code":"stq"},{"name":"Straits Salish","code":"str"},{"name":"Shumashti","code":"sts"},{"name":"Budeh Stieng","code":"stt"},{"name":"Samtao","code":"stu"},{"name":"Silt'e","code":"stv"},{"name":"Satawalese","code":"stw"},{"name":"Siberian Tatar","code":"sty"},{"name":"Sulka","code":"sua"},{"name":"Suku","code":"sub"},{"name":"Western Subanon","code":"suc"},{"name":"Suena","code":"sue"},{"name":"Suganga","code":"sug"},{"name":"Suki","code":"sui"},{"name":"Shubi","code":"suj"},{"name":"Sukuma","code":"suk"},{"name":"Sundanese","code":"sun"},{"name":"Bouni","code":"suo"},{"name":"Suri","code":"suq"},{"name":"Tirmaga-Chai Suri","code":"suq"},{"name":"Mwaghavul","code":"sur"},{"name":"Susu","code":"sus"},{"name":"Subtiaba","code":"sut"},{"name":"Puroik","code":"suv"},{"name":"Sumbwa","code":"suw"},{"name":"Sumerian","code":"sux"},{"name":"Suyรก","code":"suy"},{"name":"Sunwar","code":"suz"},{"name":"Svan","code":"sva"},{"name":"Ulau-Suain","code":"svb"},{"name":"Vincentian Creole English","code":"svc"},{"name":"Serili","code":"sve"},{"name":"Slovakian Sign Language","code":"svk"},{"name":"Slavomolisano","code":"svm"},{"name":"Savosavo","code":"svs"},{"name":"Skalvian","code":"svx"},{"name":"Swahili","code":"swa"},{"name":"Swahili (macrolanguage)","code":"swa"},{"name":"Maore Comorian","code":"swb"},{"name":"Congo Swahili","code":"swc"},{"name":"Swedish","code":"swe"},{"name":"Sere","code":"swf"},{"name":"Swabian","code":"swg"},{"name":"Kiswahili","code":"swh"},{"name":"Swahili (individual language)","code":"swh"},{"name":"Sui","code":"swi"},{"name":"Sira","code":"swj"},{"name":"Malawi Sena","code":"swk"},{"name":"Swedish Sign Language","code":"swl"},{"name":"Samosa","code":"swm"},{"name":"Sawknah","code":"swn"},{"name":"Shanenawa","code":"swo"},{"name":"Suau","code":"swp"},{"name":"Sharwa","code":"swq"},{"name":"Saweru","code":"swr"},{"name":"Seluwasan","code":"sws"},{"name":"Sawila","code":"swt"},{"name":"Suwawa","code":"swu"},{"name":"Shekhawati","code":"swv"},{"name":"Sowa","code":"sww"},{"name":"Suruahรก","code":"swx"},{"name":"Sarua","code":"swy"},{"name":"Suba","code":"sxb"},{"name":"Sicanian","code":"sxc"},{"name":"Sighu","code":"sxe"},{"name":"Shixing","code":"sxg"},{"name":"Shuhi","code":"sxg"},{"name":"Southern Kalapuya","code":"sxk"},{"name":"Selian","code":"sxl"},{"name":"Samre","code":"sxm"},{"name":"Sangir","code":"sxn"},{"name":"Sorothaptic","code":"sxo"},{"name":"Saaroa","code":"sxr"},{"name":"Sasaru","code":"sxs"},{"name":"Upper Saxon","code":"sxu"},{"name":"Saxwe Gbe","code":"sxw"},{"name":"Siang","code":"sya"},{"name":"Central Subanen","code":"syb"},{"name":"Classical Syriac","code":"syc"},{"name":"Seki","code":"syi"},{"name":"Sukur","code":"syk"},{"name":"Sylheti","code":"syl"},{"name":"Maya Samo","code":"sym"},{"name":"Senaya","code":"syn"},{"name":"Suoy","code":"syo"},{"name":"Syriac","code":"syr"},{"name":"Sinyar","code":"sys"},{"name":"Kagate","code":"syw"},{"name":"Samay","code":"syx"},{"name":"Al-Sayyid Bedouin Sign Language","code":"syy"},{"name":"Semelai","code":"sza"},{"name":"Ngalum","code":"szb"},{"name":"Semaq Beri","code":"szc"},{"name":"Seru","code":"szd"},{"name":"Seze","code":"sze"},{"name":"Sengele","code":"szg"},{"name":"Silesian","code":"szl"},{"name":"Sula","code":"szn"},{"name":"Suabo","code":"szp"},{"name":"Solomon Islands Sign Language","code":"szs"},{"name":"Isu (Fako Division)","code":"szv"},{"name":"Sawai","code":"szw"},{"name":"Sakizaya","code":"szy"},{"name":"Lower Tanana","code":"taa"},{"name":"Tabassaran","code":"tab"},{"name":"Lowland Tarahumara","code":"tac"},{"name":"Tause","code":"tad"},{"name":"Tariana","code":"tae"},{"name":"Tapirapรฉ","code":"taf"},{"name":"Tagoi","code":"tag"},{"name":"Tahitian","code":"tah"},{"name":"Eastern Tamang","code":"taj"},{"name":"Tala","code":"tak"},{"name":"Tal","code":"tal"},{"name":"Tamil","code":"tam"},{"name":"Tangale","code":"tan"},{"name":"Yami","code":"tao"},{"name":"Taabwa","code":"tap"},{"name":"Tamasheq","code":"taq"},{"name":"Central Tarahumara","code":"tar"},{"name":"Tay Boi","code":"tas"},{"name":"Tatar","code":"tat"},{"name":"Upper Tanana","code":"tau"},{"name":"Tatuyo","code":"tav"},{"name":"Tai","code":"taw"},{"name":"Tamki","code":"tax"},{"name":"Atayal","code":"tay"},{"name":"Tocho","code":"taz"},{"name":"Aikanรฃ","code":"tba"},{"name":"Takia","code":"tbc"},{"name":"Kaki Ae","code":"tbd"},{"name":"Tanimbili","code":"tbe"},{"name":"Mandara","code":"tbf"},{"name":"North Tairora","code":"tbg"},{"name":"Dharawal","code":"tbh"},{"name":"Thurawal","code":"tbh"},{"name":"Gaam","code":"tbi"},{"name":"Tiang","code":"tbj"},{"name":"Calamian Tagbanwa","code":"tbk"},{"name":"Tboli","code":"tbl"},{"name":"Tagbu","code":"tbm"},{"name":"Barro Negro Tunebo","code":"tbn"},{"name":"Tawala","code":"tbo"},{"name":"Diebroud","code":"tbp"},{"name":"Taworta","code":"tbp"},{"name":"Tumtum","code":"tbr"},{"name":"Tanguat","code":"tbs"},{"name":"Tembo (Kitembo)","code":"tbt"},{"name":"Tubar","code":"tbu"},{"name":"Tobo","code":"tbv"},{"name":"Tagbanwa","code":"tbw"},{"name":"Kapin","code":"tbx"},{"name":"Tabaru","code":"tby"},{"name":"Ditammari","code":"tbz"},{"name":"Ticuna","code":"tca"},{"name":"Tanacross","code":"tcb"},{"name":"Datooga","code":"tcc"},{"name":"Tafi","code":"tcd"},{"name":"Southern Tutchone","code":"tce"},{"name":"Malinaltepec Me'phaa","code":"tcf"},{"name":"Malinaltepec Tlapanec","code":"tcf"},{"name":"Tamagario","code":"tcg"},{"name":"Turks And Caicos Creole English","code":"tch"},{"name":"Wรกra","code":"tci"},{"name":"Tchitchege","code":"tck"},{"name":"Taman (Myanmar)","code":"tcl"},{"name":"Tanahmerah","code":"tcm"},{"name":"Tichurong","code":"tcn"},{"name":"Taungyo","code":"tco"},{"name":"Tawr Chin","code":"tcp"},{"name":"Kaiy","code":"tcq"},{"name":"Torres Strait Creole","code":"tcs"},{"name":"Yumplatok","code":"tcs"},{"name":"T'en","code":"tct"},{"name":"Southeastern Tarahumara","code":"tcu"},{"name":"Tecpatlรกn Totonac","code":"tcw"},{"name":"Toda","code":"tcx"},{"name":"Tulu","code":"tcy"},{"name":"Thado Chin","code":"tcz"},{"name":"Tagdal","code":"tda"},{"name":"Panchpargania","code":"tdb"},{"name":"Emberรก-Tadรณ","code":"tdc"},{"name":"Tai Nรผa","code":"tdd"},{"name":"Tiranige Diga Dogon","code":"tde"},{"name":"Talieng","code":"tdf"},{"name":"Western Tamang","code":"tdg"},{"name":"Thulung","code":"tdh"},{"name":"Tomadino","code":"tdi"},{"name":"Tajio","code":"tdj"},{"name":"Tambas","code":"tdk"},{"name":"Sur","code":"tdl"},{"name":"Taruma","code":"tdm"},{"name":"Tondano","code":"tdn"},{"name":"Teme","code":"tdo"},{"name":"Tita","code":"tdq"},{"name":"Todrah","code":"tdr"},{"name":"Doutai","code":"tds"},{"name":"Tetun Dili","code":"tdt"},{"name":"Toro","code":"tdv"},{"name":"Tandroy-Mahafaly Malagasy","code":"tdx"},{"name":"Tadyawan","code":"tdy"},{"name":"Temiar","code":"tea"},{"name":"Tetete","code":"teb"},{"name":"Terik","code":"tec"},{"name":"Tepo Krumen","code":"ted"},{"name":"Huehuetla Tepehua","code":"tee"},{"name":"Teressa","code":"tef"},{"name":"Teke-Tege","code":"teg"},{"name":"Tehuelche","code":"teh"},{"name":"Torricelli","code":"tei"},{"name":"Ibali Teke","code":"tek"},{"name":"Telugu","code":"tel"},{"name":"Timne","code":"tem"},{"name":"Tama (Colombia)","code":"ten"},{"name":"Teso","code":"teo"},{"name":"Tepecano","code":"tep"},{"name":"Temein","code":"teq"},{"name":"Tereno","code":"ter"},{"name":"Tengger","code":"tes"},{"name":"Tetum","code":"tet"},{"name":"Soo","code":"teu"},{"name":"Teor","code":"tev"},{"name":"Tewa (USA)","code":"tew"},{"name":"Tennet","code":"tex"},{"name":"Tulishi","code":"tey"},{"name":"Tetserret","code":"tez"},{"name":"Tofin Gbe","code":"tfi"},{"name":"Tanaina","code":"tfn"},{"name":"Tefaro","code":"tfo"},{"name":"Teribe","code":"tfr"},{"name":"Ternate","code":"tft"},{"name":"Sagalla","code":"tga"},{"name":"Tobilung","code":"tgb"},{"name":"Tigak","code":"tgc"},{"name":"Ciwogai","code":"tgd"},{"name":"Eastern Gorkha Tamang","code":"tge"},{"name":"Chalikha","code":"tgf"},{"name":"Tobagonian Creole English","code":"tgh"},{"name":"Lawunuia","code":"tgi"},{"name":"Tagin","code":"tgj"},{"name":"Tajik","code":"tgk"},{"name":"Tagalog","code":"tgl"},{"name":"Tandaganon","code":"tgn"},{"name":"Sudest","code":"tgo"},{"name":"Tangoa","code":"tgp"},{"name":"Tring","code":"tgq"},{"name":"Tareng","code":"tgr"},{"name":"Nume","code":"tgs"},{"name":"Central Tagbanwa","code":"tgt"},{"name":"Tanggu","code":"tgu"},{"name":"Tingui-Boto","code":"tgv"},{"name":"Tagwana Senoufo","code":"tgw"},{"name":"Tagish","code":"tgx"},{"name":"Togoyo","code":"tgy"},{"name":"Tagalaka","code":"tgz"},{"name":"Thai","code":"tha"},{"name":"Kuuk Thaayorre","code":"thd"},{"name":"Thayore","code":"thd"},{"name":"Chitwania Tharu","code":"the"},{"name":"Thangmi","code":"thf"},{"name":"Northern Tarahumara","code":"thh"},{"name":"Tai Long","code":"thi"},{"name":"Kitharaka","code":"thk"},{"name":"Tharaka","code":"thk"},{"name":"Dangaura Tharu","code":"thl"},{"name":"Aheu","code":"thm"},{"name":"Thachanadan","code":"thn"},{"name":"Thompson","code":"thp"},{"name":"Kochila Tharu","code":"thq"},{"name":"Rana Tharu","code":"thr"},{"name":"Thakali","code":"ths"},{"name":"Tahltan","code":"tht"},{"name":"Thuri","code":"thu"},{"name":"Tahaggart Tamahaq","code":"thv"},{"name":"Tha","code":"thy"},{"name":"Tayart Tamajeq","code":"thz"},{"name":"Tidikelt Tamazight","code":"tia"},{"name":"Tira","code":"tic"},{"name":"Tifal","code":"tif"},{"name":"Tigre","code":"tig"},{"name":"Timugon Murut","code":"tih"},{"name":"Tiene","code":"tii"},{"name":"Tilung","code":"tij"},{"name":"Tikar","code":"tik"},{"name":"Tillamook","code":"til"},{"name":"Timbe","code":"tim"},{"name":"Tindi","code":"tin"},{"name":"Teop","code":"tio"},{"name":"Trimuris","code":"tip"},{"name":"Tiรฉfo","code":"tiq"},{"name":"Tigrinya","code":"tir"},{"name":"Masadiit Itneg","code":"tis"},{"name":"Tinigua","code":"tit"},{"name":"Adasen","code":"tiu"},{"name":"Tiv","code":"tiv"},{"name":"Tiwi","code":"tiw"},{"name":"Southern Tiwa","code":"tix"},{"name":"Tiruray","code":"tiy"},{"name":"Tai Hongjin","code":"tiz"},{"name":"Tajuasohn","code":"tja"},{"name":"Tunjung","code":"tjg"},{"name":"Northern Tujia","code":"tji"},{"name":"Tjungundji","code":"tjj"},{"name":"Tai Laing","code":"tjl"},{"name":"Timucua","code":"tjm"},{"name":"Tonjon","code":"tjn"},{"name":"Temacine Tamazight","code":"tjo"},{"name":"Tjupany","code":"tjp"},{"name":"Southern Tujia","code":"tjs"},{"name":"Tjurruru","code":"tju"},{"name":"Djabwurrung","code":"tjw"},{"name":"Trukรก","code":"tka"},{"name":"Buksa","code":"tkb"},{"name":"Tukudede","code":"tkd"},{"name":"Takwane","code":"tke"},{"name":"Tukumanfรฉd","code":"tkf"},{"name":"Tesaka Malagasy","code":"tkg"},{"name":"Tokelau","code":"tkl"},{"name":"Takelma","code":"tkm"},{"name":"Toku-No-Shima","code":"tkn"},{"name":"Tikopia","code":"tkp"},{"name":"Tee","code":"tkq"},{"name":"Tsakhur","code":"tkr"},{"name":"Takestani","code":"tks"},{"name":"Kathoriya Tharu","code":"tkt"},{"name":"Upper Necaxa Totonac","code":"tku"},{"name":"Mur Pano","code":"tkv"},{"name":"Teanu","code":"tkw"},{"name":"Tangko","code":"tkx"},{"name":"Takua","code":"tkz"},{"name":"Southwestern Tepehuan","code":"tla"},{"name":"Tobelo","code":"tlb"},{"name":"Yecuatla Totonac","code":"tlc"},{"name":"Talaud","code":"tld"},{"name":"Telefol","code":"tlf"},{"name":"Tofanma","code":"tlg"},{"name":"Klingon","code":"tlh"},{"name":"tlhIngan Hol","code":"tlh"},{"name":"Tlingit","code":"tli"},{"name":"Talinga-Bwisi","code":"tlj"},{"name":"Taloki","code":"tlk"},{"name":"Tetela","code":"tll"},{"name":"Tolomako","code":"tlm"},{"name":"Talondo'","code":"tln"},{"name":"Talodi","code":"tlo"},{"name":"Filomena Mata-Coahuitlรกn Totonac","code":"tlp"},{"name":"Tai Loi","code":"tlq"},{"name":"Talise","code":"tlr"},{"name":"Tambotalo","code":"tls"},{"name":"Sou Nama","code":"tlt"},{"name":"Teluti","code":"tlt"},{"name":"Tulehu","code":"tlu"},{"name":"Taliabu","code":"tlv"},{"name":"Khehek","code":"tlx"},{"name":"Talysh","code":"tly"},{"name":"Tama (Chad)","code":"tma"},{"name":"Avava","code":"tmb"},{"name":"Katbol","code":"tmb"},{"name":"Tumak","code":"tmc"},{"name":"Haruai","code":"tmd"},{"name":"Tremembรฉ","code":"tme"},{"name":"Toba-Maskoy","code":"tmf"},{"name":"Ternateรฑo","code":"tmg"},{"name":"Tamashek","code":"tmh"},{"name":"Tutuba","code":"tmi"},{"name":"Samarokena","code":"tmj"},{"name":"Northwestern Tamang","code":"tmk"},{"name":"Tamnim Citak","code":"tml"},{"name":"Tai Thanh","code":"tmm"},{"name":"Taman (Indonesia)","code":"tmn"},{"name":"Temoq","code":"tmo"},{"name":"Tumleo","code":"tmq"},{"name":"Jewish Babylonian Aramaic (ca. 200-1200 CE)","code":"tmr"},{"name":"Tima","code":"tms"},{"name":"Tasmate","code":"tmt"},{"name":"Iau","code":"tmu"},{"name":"Tembo (Motembo)","code":"tmv"},{"name":"Temuan","code":"tmw"},{"name":"Tami","code":"tmy"},{"name":"Tamanaku","code":"tmz"},{"name":"Tacana","code":"tna"},{"name":"Western Tunebo","code":"tnb"},{"name":"Tanimuca-Retuarรฃ","code":"tnc"},{"name":"Angosturas Tunebo","code":"tnd"},{"name":"Tobanga","code":"tng"},{"name":"Maiani","code":"tnh"},{"name":"Tandia","code":"tni"},{"name":"Kwamera","code":"tnk"},{"name":"Lenakel","code":"tnl"},{"name":"Tabla","code":"tnm"},{"name":"North Tanna","code":"tnn"},{"name":"Toromono","code":"tno"},{"name":"Whitesands","code":"tnp"},{"name":"Taino","code":"tnq"},{"name":"Mรฉnik","code":"tnr"},{"name":"Tenis","code":"tns"},{"name":"Tontemboan","code":"tnt"},{"name":"Tay Khang","code":"tnu"},{"name":"Tangchangya","code":"tnv"},{"name":"Tonsawang","code":"tnw"},{"name":"Tanema","code":"tnx"},{"name":"Tongwe","code":"tny"},{"name":"Ten'edn","code":"tnz"},{"name":"Toba","code":"tob"},{"name":"Coyutla Totonac","code":"toc"},{"name":"Toma","code":"tod"},{"name":"Gizrra","code":"tof"},{"name":"Tonga (Nyasa)","code":"tog"},{"name":"Gitonga","code":"toh"},{"name":"Tonga (Zambia)","code":"toi"},{"name":"Tojolabal","code":"toj"},{"name":"Tolowa","code":"tol"},{"name":"Tombulu","code":"tom"},{"name":"Tonga (Tonga Islands)","code":"ton"},{"name":"Xicotepec De Juรกrez Totonac","code":"too"},{"name":"Papantla Totonac","code":"top"},{"name":"Toposa","code":"toq"},{"name":"Togbo-Vara Banda","code":"tor"},{"name":"Highland Totonac","code":"tos"},{"name":"Tho","code":"tou"},{"name":"Upper Taromi","code":"tov"},{"name":"Jemez","code":"tow"},{"name":"Tobian","code":"tox"},{"name":"Topoiyo","code":"toy"},{"name":"To","code":"toz"},{"name":"Taupota","code":"tpa"},{"name":"Azoyรบ Me'phaa","code":"tpc"},{"name":"Azoyรบ Tlapanec","code":"tpc"},{"name":"Tippera","code":"tpe"},{"name":"Tarpia","code":"tpf"},{"name":"Kula","code":"tpg"},{"name":"Tok Pisin","code":"tpi"},{"name":"Tapietรฉ","code":"tpj"},{"name":"Tupinikin","code":"tpk"},{"name":"Tlacoapa Me'phaa","code":"tpl"},{"name":"Tlacoapa Tlapanec","code":"tpl"},{"name":"Tampulma","code":"tpm"},{"name":"Tupinambรก","code":"tpn"},{"name":"Tai Pao","code":"tpo"},{"name":"Pisaflores Tepehua","code":"tpp"},{"name":"Tukpa","code":"tpq"},{"name":"Tuparรญ","code":"tpr"},{"name":"Tlachichilco Tepehua","code":"tpt"},{"name":"Tampuan","code":"tpu"},{"name":"Tanapag","code":"tpv"},{"name":"Tupรญ","code":"tpw"},{"name":"Acatepec Me'phaa","code":"tpx"},{"name":"Acatepec Tlapanec","code":"tpx"},{"name":"Trumai","code":"tpy"},{"name":"Tinputz","code":"tpz"},{"name":"Tembรฉ","code":"tqb"},{"name":"Lehali","code":"tql"},{"name":"Turumsa","code":"tqm"},{"name":"Tenino","code":"tqn"},{"name":"Toaripi","code":"tqo"},{"name":"Tomoip","code":"tqp"},{"name":"Tunni","code":"tqq"},{"name":"Torona","code":"tqr"},{"name":"Western Totonac","code":"tqt"},{"name":"Touo","code":"tqu"},{"name":"Tonkawa","code":"tqw"},{"name":"Tirahi","code":"tra"},{"name":"Terebu","code":"trb"},{"name":"Copala Triqui","code":"trc"},{"name":"Turi","code":"trd"},{"name":"East Tarangan","code":"tre"},{"name":"Trinidadian Creole English","code":"trf"},{"name":"Lishรกn Didรกn","code":"trg"},{"name":"Turaka","code":"trh"},{"name":"Triรณ","code":"tri"},{"name":"Toram","code":"trj"},{"name":"Traveller Scottish","code":"trl"},{"name":"Tregami","code":"trm"},{"name":"Trinitario","code":"trn"},{"name":"Tarao Naga","code":"tro"},{"name":"Kok Borok","code":"trp"},{"name":"San Martรญn Itunyoso Triqui","code":"trq"},{"name":"Taushiro","code":"trr"},{"name":"Chicahuaxtla Triqui","code":"trs"},{"name":"Tunggare","code":"trt"},{"name":"Surayt","code":"tru"},{"name":"Turoyo","code":"tru"},{"name":"Taroko","code":"trv"},{"name":"Torwali","code":"trw"},{"name":"Tringgus-Sembaan Bidayuh","code":"trx"},{"name":"Turung","code":"try"},{"name":"Torรก","code":"trz"},{"name":"Tsaangi","code":"tsa"},{"name":"Tsamai","code":"tsb"},{"name":"Tswa","code":"tsc"},{"name":"Tsakonian","code":"tsd"},{"name":"Tunisian Sign Language","code":"tse"},{"name":"Tausug","code":"tsg"},{"name":"Tsuvan","code":"tsh"},{"name":"Tsimshian","code":"tsi"},{"name":"Tshangla","code":"tsj"},{"name":"Tseku","code":"tsk"},{"name":"Ts'รผn-Lao","code":"tsl"},{"name":"Tรผrk ฤฐลŸaret Dili","code":"tsm"},{"name":"Turkish Sign Language","code":"tsm"},{"name":"Tswana","code":"tsn"},{"name":"Tsonga","code":"tso"},{"name":"Northern Toussian","code":"tsp"},{"name":"Thai Sign Language","code":"tsq"},{"name":"Akei","code":"tsr"},{"name":"Taiwan Sign Language","code":"tss"},{"name":"Tondi Songway Kiini","code":"tst"},{"name":"Tsou","code":"tsu"},{"name":"Tsogo","code":"tsv"},{"name":"Tsishingini","code":"tsw"},{"name":"Mubami","code":"tsx"},{"name":"Tebul Sign Language","code":"tsy"},{"name":"Purepecha","code":"tsz"},{"name":"Tutelo","code":"tta"},{"name":"Gaa","code":"ttb"},{"name":"Tektiteko","code":"ttc"},{"name":"Tauade","code":"ttd"},{"name":"Bwanabwana","code":"tte"},{"name":"Tuotomb","code":"ttf"},{"name":"Tutong","code":"ttg"},{"name":"Upper Ta'oih","code":"tth"},{"name":"Tobati","code":"tti"},{"name":"Tooro","code":"ttj"},{"name":"Totoro","code":"ttk"},{"name":"Totela","code":"ttl"},{"name":"Northern Tutchone","code":"ttm"},{"name":"Towei","code":"ttn"},{"name":"Lower Ta'oih","code":"tto"},{"name":"Tombelala","code":"ttp"},{"name":"Tawallammat Tamajaq","code":"ttq"},{"name":"Tera","code":"ttr"},{"name":"Northeastern Thai","code":"tts"},{"name":"Muslim Tat","code":"ttt"},{"name":"Torau","code":"ttu"},{"name":"Titan","code":"ttv"},{"name":"Long Wat","code":"ttw"},{"name":"Sikaritai","code":"tty"},{"name":"Tsum","code":"ttz"},{"name":"Wiarumus","code":"tua"},{"name":"Tรผbatulabal","code":"tub"},{"name":"Mutu","code":"tuc"},{"name":"Tuxรก","code":"tud"},{"name":"Tuyuca","code":"tue"},{"name":"Central Tunebo","code":"tuf"},{"name":"Tunia","code":"tug"},{"name":"Taulil","code":"tuh"},{"name":"Tupuri","code":"tui"},{"name":"Tugutil","code":"tuj"},{"name":"Turkmen","code":"tuk"},{"name":"Tula","code":"tul"},{"name":"Tumbuka","code":"tum"},{"name":"Tunica","code":"tun"},{"name":"Tucano","code":"tuo"},{"name":"Tedaga","code":"tuq"},{"name":"Turkish","code":"tur"},{"name":"Tuscarora","code":"tus"},{"name":"Tututni","code":"tuu"},{"name":"Turkana","code":"tuv"},{"name":"Tuxinรกwa","code":"tux"},{"name":"Tugen","code":"tuy"},{"name":"Turka","code":"tuz"},{"name":"Vaghua","code":"tva"},{"name":"Tsuvadi","code":"tvd"},{"name":"Te'un","code":"tve"},{"name":"Southeast Ambrym","code":"tvk"},{"name":"Tuvalu","code":"tvl"},{"name":"Tela-Masbuar","code":"tvm"},{"name":"Tavoyan","code":"tvn"},{"name":"Tidore","code":"tvo"},{"name":"Taveta","code":"tvs"},{"name":"Tutsa Naga","code":"tvt"},{"name":"Tunen","code":"tvu"},{"name":"Sedoa","code":"tvw"},{"name":"Taivoan","code":"tvx"},{"name":"Timor Pidgin","code":"tvy"},{"name":"Twana","code":"twa"},{"name":"Western Tawbuid","code":"twb"},{"name":"Teshenawa","code":"twc"},{"name":"Twents","code":"twd"},{"name":"Tewa (Indonesia)","code":"twe"},{"name":"Northern Tiwa","code":"twf"},{"name":"Tereweng","code":"twg"},{"name":"Tai Dรณn","code":"twh"},{"name":"Twi","code":"twi"},{"name":"Tawara","code":"twl"},{"name":"Tawang Monpa","code":"twm"},{"name":"Twendi","code":"twn"},{"name":"Tswapong","code":"two"},{"name":"Ere","code":"twp"},{"name":"Tasawaq","code":"twq"},{"name":"Southwestern Tarahumara","code":"twr"},{"name":"Turiwรกra","code":"twt"},{"name":"Termanu","code":"twu"},{"name":"Tuwari","code":"tww"},{"name":"Tewe","code":"twx"},{"name":"Tawoyan","code":"twy"},{"name":"Tombonuo","code":"txa"},{"name":"Tokharian B","code":"txb"},{"name":"Tsetsaut","code":"txc"},{"name":"Totoli","code":"txe"},{"name":"Tangut","code":"txg"},{"name":"Thracian","code":"txh"},{"name":"Ikpeng","code":"txi"},{"name":"Tarjumo","code":"txj"},{"name":"Tomini","code":"txm"},{"name":"West Tarangan","code":"txn"},{"name":"Toto","code":"txo"},{"name":"Tii","code":"txq"},{"name":"Tartessian","code":"txr"},{"name":"Tonsea","code":"txs"},{"name":"Citak","code":"txt"},{"name":"Kayapรณ","code":"txu"},{"name":"Tatana","code":"txx"},{"name":"Tanosy Malagasy","code":"txy"},{"name":"Tauya","code":"tya"},{"name":"Kyanga","code":"tye"},{"name":"O'du","code":"tyh"},{"name":"Teke-Tsaayi","code":"tyi"},{"name":"Tai Do","code":"tyj"},{"name":"Tai Yo","code":"tyj"},{"name":"Thu Lao","code":"tyl"},{"name":"Kombai","code":"tyn"},{"name":"Thaypan","code":"typ"},{"name":"Tai Daeng","code":"tyr"},{"name":"Tร y Sa Pa","code":"tys"},{"name":"Tร y Tac","code":"tyt"},{"name":"Kua","code":"tyu"},{"name":"Tuvinian","code":"tyv"},{"name":"Teke-Tyee","code":"tyx"},{"name":"Tiyaa","code":"tyy"},{"name":"Tร y","code":"tyz"},{"name":"Tanzanian Sign Language","code":"tza"},{"name":"Tzeltal","code":"tzh"},{"name":"Tz'utujil","code":"tzj"},{"name":"Talossan","code":"tzl"},{"name":"Central Atlas Tamazight","code":"tzm"},{"name":"Tugun","code":"tzn"},{"name":"Tzotzil","code":"tzo"},{"name":"Tabriak","code":"tzx"},{"name":"Uamuรฉ","code":"uam"},{"name":"Kuan","code":"uan"},{"name":"Tairuma","code":"uar"},{"name":"Ubang","code":"uba"},{"name":"Ubi","code":"ubi"},{"name":"Buhi'non Bikol","code":"ubl"},{"name":"Ubir","code":"ubr"},{"name":"Umbu-Ungu","code":"ubu"},{"name":"Ubykh","code":"uby"},{"name":"Uda","code":"uda"},{"name":"Udihe","code":"ude"},{"name":"Muduga","code":"udg"},{"name":"Udi","code":"udi"},{"name":"Ujir","code":"udj"},{"name":"Wuzlam","code":"udl"},{"name":"Udmurt","code":"udm"},{"name":"Uduk","code":"udu"},{"name":"Kioko","code":"ues"},{"name":"Ufim","code":"ufi"},{"name":"Ugaritic","code":"uga"},{"name":"Kuku-Ugbanh","code":"ugb"},{"name":"Ughele","code":"uge"},{"name":"Ugandan Sign Language","code":"ugn"},{"name":"Ugong","code":"ugo"},{"name":"Uruguayan Sign Language","code":"ugy"},{"name":"Uhami","code":"uha"},{"name":"Damal","code":"uhn"},{"name":"Uighur","code":"uig"},{"name":"Uyghur","code":"uig"},{"name":"Uisai","code":"uis"},{"name":"Iyive","code":"uiv"},{"name":"Tanjijili","code":"uji"},{"name":"Kaburi","code":"uka"},{"name":"Ukuriguma","code":"ukg"},{"name":"Ukhwejo","code":"ukh"},{"name":"Kui (India)","code":"uki"},{"name":"Muak Sa-aak","code":"ukk"},{"name":"Ukrainian Sign Language","code":"ukl"},{"name":"Ukpe-Bayobiri","code":"ukp"},{"name":"Ukwa","code":"ukq"},{"name":"Ukrainian","code":"ukr"},{"name":"Kaapor Sign Language","code":"uks"},{"name":"Urubรบ-Kaapor Sign Language","code":"uks"},{"name":"Ukue","code":"uku"},{"name":"Kuku","code":"ukv"},{"name":"Ukwuani-Aboh-Ndoni","code":"ukw"},{"name":"Kuuk-Yak","code":"uky"},{"name":"Fungwa","code":"ula"},{"name":"Ulukwumi","code":"ulb"},{"name":"Ulch","code":"ulc"},{"name":"Lule","code":"ule"},{"name":"Afra","code":"ulf"},{"name":"Usku","code":"ulf"},{"name":"Ulithian","code":"uli"},{"name":"Meriam Mir","code":"ulk"},{"name":"Ullatan","code":"ull"},{"name":"Ulumanda'","code":"ulm"},{"name":"Unserdeutsch","code":"uln"},{"name":"Uma' Lung","code":"ulu"},{"name":"Ulwa","code":"ulw"},{"name":"Umatilla","code":"uma"},{"name":"Umbundu","code":"umb"},{"name":"Marrucinian","code":"umc"},{"name":"Umbindhamu","code":"umd"},{"name":"Morrobalama","code":"umg"},{"name":"Umbuygamu","code":"umg"},{"name":"Ukit","code":"umi"},{"name":"Umon","code":"umm"},{"name":"Makyan Naga","code":"umn"},{"name":"Umotรญna","code":"umo"},{"name":"Umpila","code":"ump"},{"name":"Umbugarla","code":"umr"},{"name":"Pendau","code":"ums"},{"name":"Munsee","code":"umu"},{"name":"North Watut","code":"una"},{"name":"Undetermined","code":"und"},{"name":"Uneme","code":"une"},{"name":"Ngarinyin","code":"ung"},{"name":"Uni","code":"uni"},{"name":"Enawenรฉ-Nawรฉ","code":"unk"},{"name":"Unami","code":"unm"},{"name":"Kurnai","code":"unn"},{"name":"Mundari","code":"unr"},{"name":"Unubahe","code":"unu"},{"name":"Munda","code":"unx"},{"name":"Unde Kaili","code":"unz"},{"name":"Umeda","code":"upi"},{"name":"Uripiv-Wala-Rano-Atchin","code":"upv"},{"name":"Urarina","code":"ura"},{"name":"Kaapor","code":"urb"},{"name":"Urubรบ-Kaapor","code":"urb"},{"name":"Urningangg","code":"urc"},{"name":"Urdu","code":"urd"},{"name":"Uru","code":"ure"},{"name":"Uradhi","code":"urf"},{"name":"Urigina","code":"urg"},{"name":"Urhobo","code":"urh"},{"name":"Urim","code":"uri"},{"name":"Urak Lawoi'","code":"urk"},{"name":"Urali","code":"url"},{"name":"Urapmin","code":"urm"},{"name":"Uruangnirin","code":"urn"},{"name":"Ura (Papua New Guinea)","code":"uro"},{"name":"Uru-Pa-In","code":"urp"},{"name":"Lehalurup","code":"urr"},{"name":"Lรถyรถp","code":"urr"},{"name":"Urat","code":"urt"},{"name":"Urumi","code":"uru"},{"name":"Uruava","code":"urv"},{"name":"Sop","code":"urw"},{"name":"Urimo","code":"urx"},{"name":"Orya","code":"ury"},{"name":"Uru-Eu-Wau-Wau","code":"urz"},{"name":"Usarufa","code":"usa"},{"name":"Ushojo","code":"ush"},{"name":"Usui","code":"usi"},{"name":"Usaghade","code":"usk"},{"name":"Uspanteco","code":"usp"},{"name":"us-Saare","code":"uss"},{"name":"Uya","code":"usu"},{"name":"Otank","code":"uta"},{"name":"Ute-Southern Paiute","code":"ute"},{"name":"ut-Hun","code":"uth"},{"name":"Amba (Solomon Islands)","code":"utp"},{"name":"Etulo","code":"utr"},{"name":"Utu","code":"utu"},{"name":"Urum","code":"uum"},{"name":"Kulon-Pazeh","code":"uun"},{"name":"Ura (Vanuatu)","code":"uur"},{"name":"U","code":"uuu"},{"name":"Fagauvea","code":"uve"},{"name":"West Uvean","code":"uve"},{"name":"Uri","code":"uvh"},{"name":"Lote","code":"uvl"},{"name":"Kuku-Uwanh","code":"uwa"},{"name":"Doko-Uyanga","code":"uya"},{"name":"Uzbek","code":"uzb"},{"name":"Northern Uzbek","code":"uzn"},{"name":"Southern Uzbek","code":"uzs"},{"name":"Vaagri Booli","code":"vaa"},{"name":"Vale","code":"vae"},{"name":"Vafsi","code":"vaf"},{"name":"Vagla","code":"vag"},{"name":"Varhadi-Nagpuri","code":"vah"},{"name":"Vai","code":"vai"},{"name":"Northwestern วƒKung","code":"vaj"},{"name":"Sekele","code":"vaj"},{"name":"Vasekele","code":"vaj"},{"name":"Vehes","code":"val"},{"name":"Vanimo","code":"vam"},{"name":"Valman","code":"van"},{"name":"Vao","code":"vao"},{"name":"Vaiphei","code":"vap"},{"name":"Huarijio","code":"var"},{"name":"Vasavi","code":"vas"},{"name":"Vanuma","code":"vau"},{"name":"Varli","code":"vav"},{"name":"Wayu","code":"vay"},{"name":"Southeast Babar","code":"vbb"},{"name":"Southwestern Bontok","code":"vbk"},{"name":"Venetian","code":"vec"},{"name":"Veddah","code":"ved"},{"name":"Veluws","code":"vel"},{"name":"Vemgo-Mabas","code":"vem"},{"name":"Venda","code":"ven"},{"name":"Ventureรฑo","code":"veo"},{"name":"Veps","code":"vep"},{"name":"Mom Jango","code":"ver"},{"name":"Vaghri","code":"vgr"},{"name":"Flemish Sign Language","code":"vgt"},{"name":"Vlaamse Gebarentaal","code":"vgt"},{"name":"Virgin Islands Creole English","code":"vic"},{"name":"Vidunda","code":"vid"},{"name":"Vietnamese","code":"vie"},{"name":"Vili","code":"vif"},{"name":"Viemo","code":"vig"},{"name":"Vilela","code":"vil"},{"name":"Vinza","code":"vin"},{"name":"Vishavan","code":"vis"},{"name":"Viti","code":"vit"},{"name":"Iduna","code":"viv"},{"name":"Kariyarra","code":"vka"},{"name":"Kujarge","code":"vkj"},{"name":"Kaur","code":"vkk"},{"name":"Kulisusu","code":"vkl"},{"name":"Kamakan","code":"vkm"},{"name":"Koro Nulu","code":"vkn"},{"name":"Kodeoha","code":"vko"},{"name":"Korlai Creole Portuguese","code":"vkp"},{"name":"Tenggarong Kutai Malay","code":"vkt"},{"name":"Kurrama","code":"vku"},{"name":"Koro Zuba","code":"vkz"},{"name":"Valpei","code":"vlp"},{"name":"Vlaams","code":"vls"},{"name":"Martuyhunira","code":"vma"},{"name":"Barbaram","code":"vmb"},{"name":"Juxtlahuaca Mixtec","code":"vmc"},{"name":"Mudu Koraga","code":"vmd"},{"name":"East Masela","code":"vme"},{"name":"Mainfrรคnkisch","code":"vmf"},{"name":"Lungalunga","code":"vmg"},{"name":"Maraghei","code":"vmh"},{"name":"Miwa","code":"vmi"},{"name":"Ixtayutla Mixtec","code":"vmj"},{"name":"Makhuwa-Shirima","code":"vmk"},{"name":"Malgana","code":"vml"},{"name":"Mitlatongo Mixtec","code":"vmm"},{"name":"Soyaltepec Mazatec","code":"vmp"},{"name":"Soyaltepec Mixtec","code":"vmq"},{"name":"Marenje","code":"vmr"},{"name":"Moksela","code":"vms"},{"name":"Muluridyi","code":"vmu"},{"name":"Valley Maidu","code":"vmv"},{"name":"Makhuwa","code":"vmw"},{"name":"Tamazola Mixtec","code":"vmx"},{"name":"Ayautla Mazatec","code":"vmy"},{"name":"Mazatlรกn Mazatec","code":"vmz"},{"name":"Lovono","code":"vnk"},{"name":"Vano","code":"vnk"},{"name":"Neve'ei","code":"vnm"},{"name":"Vinmavis","code":"vnm"},{"name":"Vunapu","code":"vnp"},{"name":"Volapรผk","code":"vol"},{"name":"Voro","code":"vor"},{"name":"Votic","code":"vot"},{"name":"Vera'a","code":"vra"},{"name":"Vรตro","code":"vro"},{"name":"Varisi","code":"vrs"},{"name":"Banam Bay","code":"vrt"},{"name":"Burmbar","code":"vrt"},{"name":"Moldova Sign Language","code":"vsi"},{"name":"Venezuelan Sign Language","code":"vsl"},{"name":"Llengua de signes valenciana","code":"vsv"},{"name":"Valencian Sign Language","code":"vsv"},{"name":"Vitou","code":"vto"},{"name":"Vumbu","code":"vum"},{"name":"Vunjo","code":"vun"},{"name":"Vute","code":"vut"},{"name":"Awa (China)","code":"vwa"},{"name":"Walla Walla","code":"waa"},{"name":"Wab","code":"wab"},{"name":"Wasco-Wishram","code":"wac"},{"name":"Wamesa","code":"wad"},{"name":"Wondama","code":"wad"},{"name":"Walser","code":"wae"},{"name":"Wakonรก","code":"waf"},{"name":"Wa'ema","code":"wag"},{"name":"Watubela","code":"wah"},{"name":"Wares","code":"wai"},{"name":"Waffa","code":"waj"},{"name":"Wolaitta","code":"wal"},{"name":"Wolaytta","code":"wal"},{"name":"Wampanoag","code":"wam"},{"name":"Wan","code":"wan"},{"name":"Wappo","code":"wao"},{"name":"Wapishana","code":"wap"},{"name":"Wagiman","code":"waq"},{"name":"Waray (Philippines)","code":"war"},{"name":"Washo","code":"was"},{"name":"Kaninuwa","code":"wat"},{"name":"Waurรก","code":"wau"},{"name":"Waka","code":"wav"},{"name":"Waiwai","code":"waw"},{"name":"Marangis","code":"wax"},{"name":"Watam","code":"wax"},{"name":"Wayana","code":"way"},{"name":"Wampur","code":"waz"},{"name":"Warao","code":"wba"},{"name":"Wabo","code":"wbb"},{"name":"Waritai","code":"wbe"},{"name":"Wara","code":"wbf"},{"name":"Wanda","code":"wbh"},{"name":"Vwanji","code":"wbi"},{"name":"Alagwa","code":"wbj"},{"name":"Waigali","code":"wbk"},{"name":"Wakhi","code":"wbl"},{"name":"Wa","code":"wbm"},{"name":"Warlpiri","code":"wbp"},{"name":"Waddar","code":"wbq"},{"name":"Wagdi","code":"wbr"},{"name":"West Bengal Sign Language","code":"wbs"},{"name":"Warnman","code":"wbt"},{"name":"Wajarri","code":"wbv"},{"name":"Woi","code":"wbw"},{"name":"Yanomรกmi","code":"wca"},{"name":"Waci Gbe","code":"wci"},{"name":"Wandji","code":"wdd"},{"name":"Wadaginam","code":"wdg"},{"name":"Wadjiginy","code":"wdj"},{"name":"Wadikali","code":"wdk"},{"name":"Wadjigu","code":"wdu"},{"name":"Wadjabangayi","code":"wdy"},{"name":"Wewaw","code":"wea"},{"name":"Wรจ Western","code":"wec"},{"name":"Wedau","code":"wed"},{"name":"Wergaia","code":"weg"},{"name":"Weh","code":"weh"},{"name":"Kiunum","code":"wei"},{"name":"Weme Gbe","code":"wem"},{"name":"Wemale","code":"weo"},{"name":"Westphalien","code":"wep"},{"name":"Weri","code":"wer"},{"name":"Cameroon Pidgin","code":"wes"},{"name":"Perai","code":"wet"},{"name":"Rawngtu Chin","code":"weu"},{"name":"Wejewa","code":"wew"},{"name":"Yafi","code":"wfg"},{"name":"Zorop","code":"wfg"},{"name":"Wagaya","code":"wga"},{"name":"Wagawaga","code":"wgb"},{"name":"Wangganguru","code":"wgg"},{"name":"Wangkangurru","code":"wgg"},{"name":"Wahgi","code":"wgi"},{"name":"Waigeo","code":"wgo"},{"name":"Wirangu","code":"wgu"},{"name":"Warrgamay","code":"wgy"},{"name":"Manusela","code":"wha"},{"name":"Sou Upaa","code":"wha"},{"name":"North Wahgi","code":"whg"},{"name":"Wahau Kenyah","code":"whk"},{"name":"Wahau Kayan","code":"whu"},{"name":"Southern Toussian","code":"wib"},{"name":"Wichita","code":"wic"},{"name":"Wik-Epa","code":"wie"},{"name":"Wik-Keyangan","code":"wif"},{"name":"Wik Ngathan","code":"wig"},{"name":"Wik-Me'anha","code":"wih"},{"name":"Minidien","code":"wii"},{"name":"Wik-Iiyanh","code":"wij"},{"name":"Wikalkan","code":"wik"},{"name":"Wilawila","code":"wil"},{"name":"Wik-Mungkan","code":"wim"},{"name":"Ho-Chunk","code":"win"},{"name":"Wirafรฉd","code":"wir"},{"name":"Wiru","code":"wiu"},{"name":"Vitu","code":"wiv"},{"name":"Wiyot","code":"wiy"},{"name":"Waja","code":"wja"},{"name":"Warji","code":"wji"},{"name":"Kw'adza","code":"wka"},{"name":"Kumbaran","code":"wkb"},{"name":"Mo","code":"wkd"},{"name":"Wakde","code":"wkd"},{"name":"Kalanadi","code":"wkl"},{"name":"Keerray-Woorroong","code":"wkr"},{"name":"Kunduvadi","code":"wku"},{"name":"Wakawaka","code":"wkw"},{"name":"Wangkayutyuru","code":"wky"},{"name":"Walio","code":"wla"},{"name":"Mwali Comorian","code":"wlc"},{"name":"Wolane","code":"wle"},{"name":"Kunbarlang","code":"wlg"},{"name":"Welaun","code":"wlh"},{"name":"Waioli","code":"wli"},{"name":"Wailaki","code":"wlk"},{"name":"Wali (Sudan)","code":"wll"},{"name":"Middle Welsh","code":"wlm"},{"name":"Walloon","code":"wln"},{"name":"Wolio","code":"wlo"},{"name":"Wailapa","code":"wlr"},{"name":"Wallisian","code":"wls"},{"name":"Wuliwuli","code":"wlu"},{"name":"Wichรญ Lhamtรฉs Vejoz","code":"wlv"},{"name":"Walak","code":"wlw"},{"name":"Wali (Ghana)","code":"wlx"},{"name":"Waling","code":"wly"},{"name":"Mawa (Nigeria)","code":"wma"},{"name":"Wambaya","code":"wmb"},{"name":"Wamas","code":"wmc"},{"name":"Mamaindรฉ","code":"wmd"},{"name":"Wambule","code":"wme"},{"name":"Western Minyag","code":"wmg"},{"name":"Waima'a","code":"wmh"},{"name":"Wamin","code":"wmi"},{"name":"Maiwa (Indonesia)","code":"wmm"},{"name":"Waamwang","code":"wmn"},{"name":"Wom (Papua New Guinea)","code":"wmo"},{"name":"Wambon","code":"wms"},{"name":"Walmajarri","code":"wmt"},{"name":"Mwani","code":"wmw"},{"name":"Womo","code":"wmx"},{"name":"Wanambre","code":"wnb"},{"name":"Wantoat","code":"wnc"},{"name":"Wandarang","code":"wnd"},{"name":"Waneci","code":"wne"},{"name":"Wanggom","code":"wng"},{"name":"Ndzwani Comorian","code":"wni"},{"name":"Wanukaka","code":"wnk"},{"name":"Wanggamala","code":"wnm"},{"name":"Wunumara","code":"wnn"},{"name":"Wano","code":"wno"},{"name":"Wanap","code":"wnp"},{"name":"Usan","code":"wnu"},{"name":"Wintu","code":"wnw"},{"name":"Waanyi","code":"wny"},{"name":"Wanyi","code":"wny"},{"name":"Kuwema","code":"woa"},{"name":"Tyaraity","code":"woa"},{"name":"Wรจ Northern","code":"wob"},{"name":"Wogeo","code":"woc"},{"name":"Wolani","code":"wod"},{"name":"Woleaian","code":"woe"},{"name":"Gambian Wolof","code":"wof"},{"name":"Wogamusin","code":"wog"},{"name":"Kamang","code":"woi"},{"name":"Longto","code":"wok"},{"name":"Wolof","code":"wol"},{"name":"Wom (Nigeria)","code":"wom"},{"name":"Wongo","code":"won"},{"name":"Manombai","code":"woo"},{"name":"Woria","code":"wor"},{"name":"Hanga Hundi","code":"wos"},{"name":"Wawonii","code":"wow"},{"name":"Weyto","code":"woy"},{"name":"Maco","code":"wpc"},{"name":"Waluwarra","code":"wrb"},{"name":"Warluwara","code":"wrb"},{"name":"Warduji","code":"wrd"},{"name":"Gudjal","code":"wrg"},{"name":"Warungu","code":"wrg"},{"name":"Wiradjuri","code":"wrh"},{"name":"Wariyangga","code":"wri"},{"name":"Garrwa","code":"wrk"},{"name":"Warlmanpa","code":"wrl"},{"name":"Warumungu","code":"wrm"},{"name":"Warnang","code":"wrn"},{"name":"Worrorra","code":"wro"},{"name":"Waropen","code":"wrp"},{"name":"Wardaman","code":"wrr"},{"name":"Waris","code":"wrs"},{"name":"Waru","code":"wru"},{"name":"Waruna","code":"wrv"},{"name":"Gugu Warra","code":"wrw"},{"name":"Wae Rana","code":"wrx"},{"name":"Merwari","code":"wry"},{"name":"Waray (Australia)","code":"wrz"},{"name":"Warembori","code":"wsa"},{"name":"Adilabad Gondi","code":"wsg"},{"name":"Wusi","code":"wsi"},{"name":"Waskia","code":"wsk"},{"name":"Owenia","code":"wsr"},{"name":"Wasa","code":"wss"},{"name":"Wasu","code":"wsu"},{"name":"Wotapuri-Katarqalai","code":"wsv"},{"name":"Watiwa","code":"wtf"},{"name":"Wathawurrung","code":"wth"},{"name":"Berta","code":"wti"},{"name":"Watakataui","code":"wtk"},{"name":"Mewati","code":"wtm"},{"name":"Wotu","code":"wtw"},{"name":"Wikngenchera","code":"wua"},{"name":"Wunambal","code":"wub"},{"name":"Wudu","code":"wud"},{"name":"Wutunhua","code":"wuh"},{"name":"Silimo","code":"wul"},{"name":"Wumbvu","code":"wum"},{"name":"Bungu","code":"wun"},{"name":"Wurrugu","code":"wur"},{"name":"Wutung","code":"wut"},{"name":"Wu Chinese","code":"wuu"},{"name":"Wuvulu-Aua","code":"wuv"},{"name":"Wulna","code":"wux"},{"name":"Wauyai","code":"wuy"},{"name":"Waama","code":"wwa"},{"name":"Wakabunga","code":"wwb"},{"name":"Dorig","code":"wwo"},{"name":"Wetamut","code":"wwo"},{"name":"Warrwa","code":"wwr"},{"name":"Wawa","code":"www"},{"name":"Waxianghua","code":"wxa"},{"name":"Wardandi","code":"wxw"},{"name":"Wyandot","code":"wya"},{"name":"Wangaaybuwan-Ngiyambaa","code":"wyb"},{"name":"Woiwurrung","code":"wyi"},{"name":"Wymysorys","code":"wym"},{"name":"Wayorรณ","code":"wyr"},{"name":"Western Fijian","code":"wyy"},{"name":"Andalusian Arabic","code":"xaa"},{"name":"Sambe","code":"xab"},{"name":"Kachari","code":"xac"},{"name":"Adai","code":"xad"},{"name":"Aequian","code":"xae"},{"name":"Aghwan","code":"xag"},{"name":"Kaimbรฉ","code":"xai"},{"name":"Ararandewรกra","code":"xaj"},{"name":"Mรกku","code":"xak"},{"name":"Kalmyk","code":"xal"},{"name":"Oirat","code":"xal"},{"name":"ว€Xam","code":"xam"},{"name":"Xamtanga","code":"xan"},{"name":"Khao","code":"xao"},{"name":"Apalachee","code":"xap"},{"name":"Aquitanian","code":"xaq"},{"name":"Karami","code":"xar"},{"name":"Kamas","code":"xas"},{"name":"Katawixi","code":"xat"},{"name":"Kauwera","code":"xau"},{"name":"Xavรกnte","code":"xav"},{"name":"Kawaiisu","code":"xaw"},{"name":"Kayan Mahakam","code":"xay"},{"name":"Lower Burdekin","code":"xbb"},{"name":"Bactrian","code":"xbc"},{"name":"Bindal","code":"xbd"},{"name":"Bigambal","code":"xbe"},{"name":"Bunganditj","code":"xbg"},{"name":"Kombio","code":"xbi"},{"name":"Birrpayi","code":"xbj"},{"name":"Middle Breton","code":"xbm"},{"name":"Kenaboi","code":"xbn"},{"name":"Bolgarian","code":"xbo"},{"name":"Bibbulman","code":"xbp"},{"name":"Kambera","code":"xbr"},{"name":"Kambiwรก","code":"xbw"},{"name":"Batjala","code":"xby"},{"name":"Batyala","code":"xby"},{"name":"Cumbric","code":"xcb"},{"name":"Camunic","code":"xcc"},{"name":"Celtiberian","code":"xce"},{"name":"Cisalpine Gaulish","code":"xcg"},{"name":"Chemakum","code":"xch"},{"name":"Chimakum","code":"xch"},{"name":"Classical Armenian","code":"xcl"},{"name":"Comecrudo","code":"xcm"},{"name":"Cotoname","code":"xcn"},{"name":"Chorasmian","code":"xco"},{"name":"Carian","code":"xcr"},{"name":"Classical Tibetan","code":"xct"},{"name":"Curonian","code":"xcu"},{"name":"Chuvantsy","code":"xcv"},{"name":"Coahuilteco","code":"xcw"},{"name":"Cayuse","code":"xcy"},{"name":"Darkinyung","code":"xda"},{"name":"Dacian","code":"xdc"},{"name":"Dharuk","code":"xdk"},{"name":"Edomite","code":"xdm"},{"name":"Kwandu","code":"xdo"},{"name":"Malayic Dayak","code":"xdy"},{"name":"Eblan","code":"xeb"},{"name":"Hdi","code":"xed"},{"name":"วXegwi","code":"xeg"},{"name":"Kelo","code":"xel"},{"name":"Kembayan","code":"xem"},{"name":"Epi-Olmec","code":"xep"},{"name":"Xerรฉnte","code":"xer"},{"name":"Kesawai","code":"xes"},{"name":"Xetรก","code":"xet"},{"name":"Keoru-Ahia","code":"xeu"},{"name":"Faliscan","code":"xfa"},{"name":"Galatian","code":"xga"},{"name":"Gbin","code":"xgb"},{"name":"Gudang","code":"xgd"},{"name":"Gabrielino-Fernandeรฑo","code":"xgf"},{"name":"Goreng","code":"xgg"},{"name":"Garingbal","code":"xgi"},{"name":"Galindan","code":"xgl"},{"name":"Dharumbal","code":"xgm"},{"name":"Guwinmal","code":"xgm"},{"name":"Garza","code":"xgr"},{"name":"Unggumi","code":"xgu"},{"name":"Guwa","code":"xgw"},{"name":"Harami","code":"xha"},{"name":"Hunnic","code":"xhc"},{"name":"Hadrami","code":"xhd"},{"name":"Khetrani","code":"xhe"},{"name":"Xhosa","code":"xho"},{"name":"Hernican","code":"xhr"},{"name":"Hattic","code":"xht"},{"name":"Hurrian","code":"xhu"},{"name":"Khua","code":"xhv"},{"name":"Iberian","code":"xib"},{"name":"Xiri","code":"xii"},{"name":"Illyrian","code":"xil"},{"name":"Xinca","code":"xin"},{"name":"Xiriรขna","code":"xir"},{"name":"Kisan","code":"xis"},{"name":"Indus Valley Language","code":"xiv"},{"name":"Xipaya","code":"xiy"},{"name":"Minjungbal","code":"xjb"},{"name":"Jaitmatang","code":"xjt"},{"name":"Kalkoti","code":"xka"},{"name":"Northern Nago","code":"xkb"},{"name":"Kho'ini","code":"xkc"},{"name":"Mendalam Kayan","code":"xkd"},{"name":"Kereho","code":"xke"},{"name":"Khengkha","code":"xkf"},{"name":"Kagoro","code":"xkg"},{"name":"Kenyan Sign Language","code":"xki"},{"name":"Kajali","code":"xkj"},{"name":"Kaco'","code":"xkk"},{"name":"Mainstream Kenyah","code":"xkl"},{"name":"Kayan River Kayan","code":"xkn"},{"name":"Kiorr","code":"xko"},{"name":"Kabatei","code":"xkp"},{"name":"Koroni","code":"xkq"},{"name":"Xakriabรก","code":"xkr"},{"name":"Kumbewaha","code":"xks"},{"name":"Kantosi","code":"xkt"},{"name":"Kaamba","code":"xku"},{"name":"Kgalagadi","code":"xkv"},{"name":"Kembra","code":"xkw"},{"name":"Karore","code":"xkx"},{"name":"Uma' Lasan","code":"xky"},{"name":"Kurtokha","code":"xkz"},{"name":"Kamula","code":"xla"},{"name":"Loup B","code":"xlb"},{"name":"Lycian","code":"xlc"},{"name":"Lydian","code":"xld"},{"name":"Lemnian","code":"xle"},{"name":"Ligurian (Ancient)","code":"xlg"},{"name":"Liburnian","code":"xli"},{"name":"Alanic","code":"xln"},{"name":"Loup A","code":"xlo"},{"name":"Lepontic","code":"xlp"},{"name":"Lusitanian","code":"xls"},{"name":"Cuneiform Luwian","code":"xlu"},{"name":"Elymian","code":"xly"},{"name":"Mushungulu","code":"xma"},{"name":"Mbonga","code":"xmb"},{"name":"Makhuwa-Marrevone","code":"xmc"},{"name":"Mbudum","code":"xmd"},{"name":"Median","code":"xme"},{"name":"Mingrelian","code":"xmf"},{"name":"Mengaka","code":"xmg"},{"name":"Kugu-Muminh","code":"xmh"},{"name":"Majera","code":"xmj"},{"name":"Ancient Macedonian","code":"xmk"},{"name":"Malaysian Sign Language","code":"xml"},{"name":"Manado Malay","code":"xmm"},{"name":"Manichaean Middle Persian","code":"xmn"},{"name":"Morerebi","code":"xmo"},{"name":"Kuku-Mu'inh","code":"xmp"},{"name":"Kuku-Mangk","code":"xmq"},{"name":"Meroitic","code":"xmr"},{"name":"Moroccan Sign Language","code":"xms"},{"name":"Matbat","code":"xmt"},{"name":"Kamu","code":"xmu"},{"name":"Antankarana Malagasy","code":"xmv"},{"name":"Tankarana Malagasy","code":"xmv"},{"name":"Tsimihety Malagasy","code":"xmw"},{"name":"Maden","code":"xmx"},{"name":"Mayaguduna","code":"xmy"},{"name":"Mori Bawah","code":"xmz"},{"name":"Ancient North Arabian","code":"xna"},{"name":"Kanakanabu","code":"xnb"},{"name":"Middle Mongolian","code":"xng"},{"name":"Kuanhua","code":"xnh"},{"name":"Ngarigu","code":"xni"},{"name":"Ngoni (Tanzania)","code":"xnj"},{"name":"Nganakarti","code":"xnk"},{"name":"Ngumbarl","code":"xnm"},{"name":"Northern Kankanay","code":"xnn"},{"name":"Anglo-Norman","code":"xno"},{"name":"Ngoni (Mozambique)","code":"xnq"},{"name":"Kangri","code":"xnr"},{"name":"Kanashi","code":"xns"},{"name":"Narragansett","code":"xnt"},{"name":"Nukunul","code":"xnu"},{"name":"Nyiyaparli","code":"xny"},{"name":"Kenzi","code":"xnz"},{"name":"Mattoki","code":"xnz"},{"name":"O'chi'chi'","code":"xoc"},{"name":"Kokoda","code":"xod"},{"name":"Soga","code":"xog"},{"name":"Kominimung","code":"xoi"},{"name":"Xokleng","code":"xok"},{"name":"Komo (Sudan)","code":"xom"},{"name":"Konkomba","code":"xon"},{"name":"Xukurรบ","code":"xoo"},{"name":"Kopar","code":"xop"},{"name":"Korubo","code":"xor"},{"name":"Kowaki","code":"xow"},{"name":"Pirriya","code":"xpa"},{"name":"Northeastern Tasmanian","code":"xpb"},{"name":"Pyemmairrener","code":"xpb"},{"name":"Pecheneg","code":"xpc"},{"name":"Oyster Bay Tasmanian","code":"xpd"},{"name":"Liberia Kpelle","code":"xpe"},{"name":"Nuenonne","code":"xpf"},{"name":"Southeast Tasmanian","code":"xpf"},{"name":"Phrygian","code":"xpg"},{"name":"North Midlands Tasmanian","code":"xph"},{"name":"Tyerrenoterpanner","code":"xph"},{"name":"Pictish","code":"xpi"},{"name":"Mpalitjanh","code":"xpj"},{"name":"Kulina Pano","code":"xpk"},{"name":"Port Sorell Tasmanian","code":"xpl"},{"name":"Pumpokol","code":"xpm"},{"name":"Kapinawรก","code":"xpn"},{"name":"Pochutec","code":"xpo"},{"name":"Puyo-Paekche","code":"xpp"},{"name":"Mohegan-Pequot","code":"xpq"},{"name":"Parthian","code":"xpr"},{"name":"Pisidian","code":"xps"},{"name":"Punthamara","code":"xpt"},{"name":"Punic","code":"xpu"},{"name":"Northern Tasmanian","code":"xpv"},{"name":"Tommeginne","code":"xpv"},{"name":"Northwestern Tasmanian","code":"xpw"},{"name":"Peerapper","code":"xpw"},{"name":"Southwestern Tasmanian","code":"xpx"},{"name":"Toogee","code":"xpx"},{"name":"Puyo","code":"xpy"},{"name":"Bruny Island Tasmanian","code":"xpz"},{"name":"Karakhanid","code":"xqa"},{"name":"Qatabanian","code":"xqt"},{"name":"Krahรด","code":"xra"},{"name":"Eastern Karaboro","code":"xrb"},{"name":"Gundungurra","code":"xrd"},{"name":"Kreye","code":"xre"},{"name":"Minang","code":"xrg"},{"name":"Krikati-Timbira","code":"xri"},{"name":"Armazic","code":"xrm"},{"name":"Arin","code":"xrn"},{"name":"Raetic","code":"xrr"},{"name":"Aranama-Tamique","code":"xrt"},{"name":"Marriammu","code":"xru"},{"name":"Karawa","code":"xrw"},{"name":"Sabaean","code":"xsa"},{"name":"Sambal","code":"xsb"},{"name":"Scythian","code":"xsc"},{"name":"Sidetic","code":"xsd"},{"name":"Sempan","code":"xse"},{"name":"Shamang","code":"xsh"},{"name":"Sio","code":"xsi"},{"name":"Subi","code":"xsj"},{"name":"South Slavey","code":"xsl"},{"name":"Kasem","code":"xsm"},{"name":"Sanga (Nigeria)","code":"xsn"},{"name":"Solano","code":"xso"},{"name":"Silopi","code":"xsp"},{"name":"Makhuwa-Saka","code":"xsq"},{"name":"Sherpa","code":"xsr"},{"name":"Assan","code":"xss"},{"name":"Sanumรก","code":"xsu"},{"name":"Sudovian","code":"xsv"},{"name":"Saisiyat","code":"xsy"},{"name":"Alcozauca Mixtec","code":"xta"},{"name":"Chazumba Mixtec","code":"xtb"},{"name":"Katcha-Kadugli-Miri","code":"xtc"},{"name":"Diuxi-Tilantongo Mixtec","code":"xtd"},{"name":"Ketengban","code":"xte"},{"name":"Transalpine Gaulish","code":"xtg"},{"name":"Yitha Yitha","code":"xth"},{"name":"Sinicahua Mixtec","code":"xti"},{"name":"San Juan Teita Mixtec","code":"xtj"},{"name":"Tijaltepec Mixtec","code":"xtl"},{"name":"Magdalena Peรฑasco Mixtec","code":"xtm"},{"name":"Northern Tlaxiaco Mixtec","code":"xtn"},{"name":"Tokharian A","code":"xto"},{"name":"San Miguel Piedras Mixtec","code":"xtp"},{"name":"Tumshuqese","code":"xtq"},{"name":"Early Tripuri","code":"xtr"},{"name":"Sindihui Mixtec","code":"xts"},{"name":"Tacahua Mixtec","code":"xtt"},{"name":"Cuyamecalco Mixtec","code":"xtu"},{"name":"Thawa","code":"xtv"},{"name":"Tawandรช","code":"xtw"},{"name":"Yoloxochitl Mixtec","code":"xty"},{"name":"Alu Kurumba","code":"xua"},{"name":"Betta Kurumba","code":"xub"},{"name":"Umiida","code":"xud"},{"name":"Kunigami","code":"xug"},{"name":"Jennu Kurumba","code":"xuj"},{"name":"Ngunawal","code":"xul"},{"name":"Nunukul","code":"xul"},{"name":"Umbrian","code":"xum"},{"name":"Unggaranggu","code":"xun"},{"name":"Kuo","code":"xuo"},{"name":"Upper Umpqua","code":"xup"},{"name":"Urartian","code":"xur"},{"name":"Kuthant","code":"xut"},{"name":"Khwedam","code":"xuu"},{"name":"Kxoe","code":"xuu"},{"name":"Venetic","code":"xve"},{"name":"Kamviri","code":"xvi"},{"name":"Vandalic","code":"xvn"},{"name":"Volscian","code":"xvo"},{"name":"Vestinian","code":"xvs"},{"name":"Kwaza","code":"xwa"},{"name":"Woccon","code":"xwc"},{"name":"Wadi Wadi","code":"xwd"},{"name":"Xwela Gbe","code":"xwe"},{"name":"Kwegu","code":"xwg"},{"name":"Wajuk","code":"xwj"},{"name":"Wangkumara","code":"xwk"},{"name":"Western Xwla Gbe","code":"xwl"},{"name":"Written Oirat","code":"xwo"},{"name":"Kwerba Mamberamo","code":"xwr"},{"name":"Wotjobaluk","code":"xwt"},{"name":"Wemba Wemba","code":"xww"},{"name":"Boro (Ghana)","code":"xxb"},{"name":"Ke'o","code":"xxk"},{"name":"Minkin","code":"xxm"},{"name":"Koropรณ","code":"xxr"},{"name":"Tambora","code":"xxt"},{"name":"Yaygir","code":"xya"},{"name":"Yandjibara","code":"xyb"},{"name":"Mayi-Yapi","code":"xyj"},{"name":"Mayi-Kulan","code":"xyk"},{"name":"Yalakalore","code":"xyl"},{"name":"Mayi-Thakurti","code":"xyt"},{"name":"Yorta Yorta","code":"xyy"},{"name":"Zhang-Zhung","code":"xzh"},{"name":"Zemgalian","code":"xzm"},{"name":"Ancient Zapotec","code":"xzp"},{"name":"Yaminahua","code":"yaa"},{"name":"Yuhup","code":"yab"},{"name":"Pass Valley Yali","code":"yac"},{"name":"Yagua","code":"yad"},{"name":"Pumรฉ","code":"yae"},{"name":"Yaka (Democratic Republic of Congo)","code":"yaf"},{"name":"Yรกmana","code":"yag"},{"name":"Yazgulyam","code":"yah"},{"name":"Yagnobi","code":"yai"},{"name":"Banda-Yangere","code":"yaj"},{"name":"Yakama","code":"yak"},{"name":"Yalunka","code":"yal"},{"name":"Yamba","code":"yam"},{"name":"Mayangna","code":"yan"},{"name":"Yao","code":"yao"},{"name":"Yapese","code":"yap"},{"name":"Yaqui","code":"yaq"},{"name":"Yabarana","code":"yar"},{"name":"Nugunu (Cameroon)","code":"yas"},{"name":"Yambeta","code":"yat"},{"name":"Yuwana","code":"yau"},{"name":"Yangben","code":"yav"},{"name":"Yawalapitรญ","code":"yaw"},{"name":"Yauma","code":"yax"},{"name":"Agwagwune","code":"yay"},{"name":"Lokaa","code":"yaz"},{"name":"Yala","code":"yba"},{"name":"Yemba","code":"ybb"},{"name":"West Yugur","code":"ybe"},{"name":"Yakha","code":"ybh"},{"name":"Yamphu","code":"ybi"},{"name":"Hasha","code":"ybj"},{"name":"Bokha","code":"ybk"},{"name":"Yukuben","code":"ybl"},{"name":"Yaben","code":"ybm"},{"name":"Yabaรขna","code":"ybn"},{"name":"Yabong","code":"ybo"},{"name":"Yawiyo","code":"ybx"},{"name":"Yaweyuha","code":"yby"},{"name":"Chesu","code":"ych"},{"name":"Lolopo","code":"ycl"},{"name":"Yucuna","code":"ycn"},{"name":"Chepya","code":"ycp"},{"name":"Yanda","code":"yda"},{"name":"Eastern Yiddish","code":"ydd"},{"name":"Yangum Dey","code":"yde"},{"name":"Yidgha","code":"ydg"},{"name":"Yoidik","code":"ydk"},{"name":"Ravula","code":"yea"},{"name":"Yeniche","code":"yec"},{"name":"Yimas","code":"yee"},{"name":"Yeni","code":"yei"},{"name":"Yevanic","code":"yej"},{"name":"Yela","code":"yel"},{"name":"Tarok","code":"yer"},{"name":"Nyankpa","code":"yes"},{"name":"Yetfa","code":"yet"},{"name":"Yerukula","code":"yeu"},{"name":"Yapunda","code":"yev"},{"name":"Yeyi","code":"yey"},{"name":"Malyangapa","code":"yga"},{"name":"Yiningayi","code":"ygi"},{"name":"Yangum Gel","code":"ygl"},{"name":"Yagomi","code":"ygm"},{"name":"Gepo","code":"ygp"},{"name":"Yagaria","code":"ygr"},{"name":"Yolล‹u Sign Language","code":"ygs"},{"name":"Yugul","code":"ygu"},{"name":"Yagwoia","code":"ygw"},{"name":"Baha Buyang","code":"yha"},{"name":"Judeo-Iraqi Arabic","code":"yhd"},{"name":"Hlepho Phowa","code":"yhl"},{"name":"Yan-nhaล‹u Sign Language","code":"yhs"},{"name":"Yinggarda","code":"yia"},{"name":"Yiddish","code":"yid"},{"name":"Ache","code":"yif"},{"name":"Wusa Nasu","code":"yig"},{"name":"Western Yiddish","code":"yih"},{"name":"Yidiny","code":"yii"},{"name":"Yindjibarndi","code":"yij"},{"name":"Dongshanba Lalo","code":"yik"},{"name":"Yindjilandji","code":"yil"},{"name":"Yimchungru Naga","code":"yim"},{"name":"Riang Lai","code":"yin"},{"name":"Yinchia","code":"yin"},{"name":"Pholo","code":"yip"},{"name":"Miqie","code":"yiq"},{"name":"North Awyu","code":"yir"},{"name":"Yis","code":"yis"},{"name":"Eastern Lalu","code":"yit"},{"name":"Awu","code":"yiu"},{"name":"Northern Nisu","code":"yiv"},{"name":"Axi Yi","code":"yix"},{"name":"Azhe","code":"yiz"},{"name":"Yakan","code":"yka"},{"name":"Northern Yukaghir","code":"ykg"},{"name":"Yoke","code":"yki"},{"name":"Yakaikeke","code":"ykk"},{"name":"Khlula","code":"ykl"},{"name":"Kap","code":"ykm"},{"name":"Kua-nsi","code":"ykn"},{"name":"Yasa","code":"yko"},{"name":"Yekora","code":"ykr"},{"name":"Kathu","code":"ykt"},{"name":"Kuamasi","code":"yku"},{"name":"Yakoma","code":"yky"},{"name":"Yaul","code":"yla"},{"name":"Yaleba","code":"ylb"},{"name":"Yele","code":"yle"},{"name":"Yelogu","code":"ylg"},{"name":"Angguruk Yali","code":"yli"},{"name":"Yil","code":"yll"},{"name":"Limi","code":"ylm"},{"name":"Langnian Buyang","code":"yln"},{"name":"Naluo Yi","code":"ylo"},{"name":"Yalarnnga","code":"ylr"},{"name":"Aribwaung","code":"ylu"},{"name":"Nyรขlayu","code":"yly"},{"name":"Nyelรขyu","code":"yly"},{"name":"Yambes","code":"ymb"},{"name":"Southern Muji","code":"ymc"},{"name":"Muda","code":"ymd"},{"name":"Yameo","code":"yme"},{"name":"Yamongeri","code":"ymg"},{"name":"Mili","code":"ymh"},{"name":"Moji","code":"ymi"},{"name":"Makwe","code":"ymk"},{"name":"Iamalele","code":"yml"},{"name":"Maay","code":"ymm"},{"name":"Sunum","code":"ymn"},{"name":"Yamna","code":"ymn"},{"name":"Yangum Mon","code":"ymo"},{"name":"Yamap","code":"ymp"},{"name":"Qila Muji","code":"ymq"},{"name":"Malasar","code":"ymr"},{"name":"Mysian","code":"yms"},{"name":"Northern Muji","code":"ymx"},{"name":"Muzi","code":"ymz"},{"name":"Aluo","code":"yna"},{"name":"Yandruwandha","code":"ynd"},{"name":"Lang'e","code":"yne"},{"name":"Yango","code":"yng"},{"name":"Naukan Yupik","code":"ynk"},{"name":"Yangulam","code":"ynl"},{"name":"Yana","code":"ynn"},{"name":"Yong","code":"yno"},{"name":"Yendang","code":"ynq"},{"name":"Yansi","code":"yns"},{"name":"Yahuna","code":"ynu"},{"name":"Yoba","code":"yob"},{"name":"Yogad","code":"yog"},{"name":"Yonaguni","code":"yoi"},{"name":"Yokuts","code":"yok"},{"name":"Yola","code":"yol"},{"name":"Yombe","code":"yom"},{"name":"Yongkom","code":"yon"},{"name":"Yoruba","code":"yor"},{"name":"Yotti","code":"yot"},{"name":"Yoron","code":"yox"},{"name":"Yoy","code":"yoy"},{"name":"Phala","code":"ypa"},{"name":"Labo Phowa","code":"ypb"},{"name":"Phola","code":"ypg"},{"name":"Phupha","code":"yph"},{"name":"Phuma","code":"ypm"},{"name":"Ani Phowa","code":"ypn"},{"name":"Alo Phola","code":"ypo"},{"name":"Phupa","code":"ypp"},{"name":"Phuza","code":"ypz"},{"name":"Yerakai","code":"yra"},{"name":"Yareba","code":"yrb"},{"name":"Yaourรฉ","code":"yre"},{"name":"Nenets","code":"yrk"},{"name":"Nhengatu","code":"yrl"},{"name":"Yirrk-Mel","code":"yrm"},{"name":"Yerong","code":"yrn"},{"name":"Yaroamรซ","code":"yro"},{"name":"Yarsun","code":"yrs"},{"name":"Yarawata","code":"yrw"},{"name":"Yarluyandi","code":"yry"},{"name":"Yassic","code":"ysc"},{"name":"Samatao","code":"ysd"},{"name":"Sonaga","code":"ysg"},{"name":"Yugoslavian Sign Language","code":"ysl"},{"name":"Myanmar Sign Language","code":"ysm"},{"name":"Sani","code":"ysn"},{"name":"Nisi (China)","code":"yso"},{"name":"Southern Lolopo","code":"ysp"},{"name":"Sirenik Yupik","code":"ysr"},{"name":"Yessan-Mayo","code":"yss"},{"name":"Sanie","code":"ysy"},{"name":"Talu","code":"yta"},{"name":"Tanglang","code":"ytl"},{"name":"Thopho","code":"ytp"},{"name":"Yout Wam","code":"ytw"},{"name":"Yatay","code":"yty"},{"name":"Yucatec Maya","code":"yua"},{"name":"Yucateco","code":"yua"},{"name":"Yugambal","code":"yub"},{"name":"Yuchi","code":"yuc"},{"name":"Judeo-Tripolitanian Arabic","code":"yud"},{"name":"Yue Chinese","code":"yue"},{"name":"Havasupai-Walapai-Yavapai","code":"yuf"},{"name":"Yug","code":"yug"},{"name":"Yurutรญ","code":"yui"},{"name":"Karkar-Yuri","code":"yuj"},{"name":"Yuki","code":"yuk"},{"name":"Yulu","code":"yul"},{"name":"Quechan","code":"yum"},{"name":"Bena (Nigeria)","code":"yun"},{"name":"Yukpa","code":"yup"},{"name":"Yuqui","code":"yuq"},{"name":"Yurok","code":"yur"},{"name":"Yopno","code":"yut"},{"name":"Yau (Morobe Province)","code":"yuw"},{"name":"Southern Yukaghir","code":"yux"},{"name":"East Yugur","code":"yuy"},{"name":"Yuracare","code":"yuz"},{"name":"Yawa","code":"yva"},{"name":"Yavitero","code":"yvt"},{"name":"Kalou","code":"ywa"},{"name":"Yinhawangka","code":"ywg"},{"name":"Western Lalu","code":"ywl"},{"name":"Yawanawa","code":"ywn"},{"name":"Wuding-Luquan Yi","code":"ywq"},{"name":"Yawuru","code":"ywr"},{"name":"Central Lalo","code":"ywt"},{"name":"Xishanba Lalo","code":"ywt"},{"name":"Wumeng Nasu","code":"ywu"},{"name":"Yawarawarga","code":"yww"},{"name":"Mayawali","code":"yxa"},{"name":"Yagara","code":"yxg"},{"name":"Yardliyawarra","code":"yxl"},{"name":"Yinwum","code":"yxm"},{"name":"Yuyu","code":"yxu"},{"name":"Yabula Yabula","code":"yxy"},{"name":"Yir Yoront","code":"yyr"},{"name":"Yau (Sandaun Province)","code":"yyu"},{"name":"Ayizi","code":"yyz"},{"name":"E'ma Buyang","code":"yzg"},{"name":"Zokhuo","code":"yzk"},{"name":"Sierra de Juรกrez Zapotec","code":"zaa"},{"name":"San Juan Guelavรญa Zapotec","code":"zab"},{"name":"Western Tlacolula Valley Zapotec","code":"zab"},{"name":"Ocotlรกn Zapotec","code":"zac"},{"name":"Cajonos Zapotec","code":"zad"},{"name":"Yareni Zapotec","code":"zae"},{"name":"Ayoquesco Zapotec","code":"zaf"},{"name":"Zaghawa","code":"zag"},{"name":"Zangwal","code":"zah"},{"name":"Isthmus Zapotec","code":"zai"},{"name":"Zaramo","code":"zaj"},{"name":"Zanaki","code":"zak"},{"name":"Zauzou","code":"zal"},{"name":"Miahuatlรกn Zapotec","code":"zam"},{"name":"Ozolotepec Zapotec","code":"zao"},{"name":"Zapotec","code":"zap"},{"name":"Aloรกpam Zapotec","code":"zaq"},{"name":"Rincรณn Zapotec","code":"zar"},{"name":"Santo Domingo Albarradas Zapotec","code":"zas"},{"name":"Tabaa Zapotec","code":"zat"},{"name":"Zangskari","code":"zau"},{"name":"Yatzachi Zapotec","code":"zav"},{"name":"Mitla Zapotec","code":"zaw"},{"name":"Xadani Zapotec","code":"zax"},{"name":"Zaysete","code":"zay"},{"name":"Zayse-Zergulla","code":"zay"},{"name":"Zari","code":"zaz"},{"name":"Balaibalan","code":"zba"},{"name":"Central Berawan","code":"zbc"},{"name":"East Berawan","code":"zbe"},{"name":"Bliss","code":"zbl"},{"name":"Blissymbolics","code":"zbl"},{"name":"Blissymbols","code":"zbl"},{"name":"Batui","code":"zbt"},{"name":"Bu (Bauchi State)","code":"zbu"},{"name":"West Berawan","code":"zbw"},{"name":"Coatecas Altas Zapotec","code":"zca"},{"name":"Central Hongshuihe Zhuang","code":"zch"},{"name":"Ngazidja Comorian","code":"zdj"},{"name":"Zeeuws","code":"zea"},{"name":"Zenag","code":"zeg"},{"name":"Eastern Hongshuihe Zhuang","code":"zeh"},{"name":"Zenaga","code":"zen"},{"name":"Kinga","code":"zga"},{"name":"Guibei Zhuang","code":"zgb"},{"name":"Standard Moroccan Tamazight","code":"zgh"},{"name":"Minz Zhuang","code":"zgm"},{"name":"Guibian Zhuang","code":"zgn"},{"name":"Magori","code":"zgr"},{"name":"Chuang","code":"zha"},{"name":"Zhuang","code":"zha"},{"name":"Zhaba","code":"zhb"},{"name":"Dai Zhuang","code":"zhd"},{"name":"Zhire","code":"zhi"},{"name":"Nong Zhuang","code":"zhn"},{"name":"Chinese","code":"zho"},{"name":"Zhoa","code":"zhw"},{"name":"Zia","code":"zia"},{"name":"Zimbabwe Sign Language","code":"zib"},{"name":"Zimakani","code":"zik"},{"name":"Zialo","code":"zil"},{"name":"Mesme","code":"zim"},{"name":"Zinza","code":"zin"},{"name":"Zigula","code":"ziw"},{"name":"Zizilivakan","code":"ziz"},{"name":"Kaimbulawa","code":"zka"},{"name":"Koibal","code":"zkb"},{"name":"Kadu","code":"zkd"},{"name":"Koguryo","code":"zkg"},{"name":"Khorezmian","code":"zkh"},{"name":"Karankawa","code":"zkk"},{"name":"Kanan","code":"zkn"},{"name":"Kott","code":"zko"},{"name":"Sรฃo Paulo Kaingรกng","code":"zkp"},{"name":"Zakhring","code":"zkr"},{"name":"Kitan","code":"zkt"},{"name":"Kaurna","code":"zku"},{"name":"Krevinian","code":"zkv"},{"name":"Khazar","code":"zkz"},{"name":"Zula","code":"zla"},{"name":"Liujiang Zhuang","code":"zlj"},{"name":"Malay (individual language)","code":"zlm"},{"name":"Lianshan Zhuang","code":"zln"},{"name":"Liuqian Zhuang","code":"zlq"},{"name":"Manda (Australia)","code":"zma"},{"name":"Zimba","code":"zmb"},{"name":"Margany","code":"zmc"},{"name":"Maridan","code":"zmd"},{"name":"Mangerr","code":"zme"},{"name":"Mfinu","code":"zmf"},{"name":"Marti Ke","code":"zmg"},{"name":"Makolkol","code":"zmh"},{"name":"Negeri Sembilan Malay","code":"zmi"},{"name":"Maridjabin","code":"zmj"},{"name":"Mandandanyi","code":"zmk"},{"name":"Matngala","code":"zml"},{"name":"Marimanindji","code":"zmm"},{"name":"Marramaninyshi","code":"zmm"},{"name":"Mbangwe","code":"zmn"},{"name":"Molo","code":"zmo"},{"name":"Mpuono","code":"zmp"},{"name":"Mituku","code":"zmq"},{"name":"Maranunggu","code":"zmr"},{"name":"Mbesa","code":"zms"},{"name":"Maringarr","code":"zmt"},{"name":"Muruwari","code":"zmu"},{"name":"Mbariman-Gudhinma","code":"zmv"},{"name":"Mbo (Democratic Republic of Congo)","code":"zmw"},{"name":"Bomitaba","code":"zmx"},{"name":"Mariyedi","code":"zmy"},{"name":"Mbandja","code":"zmz"},{"name":"Zan Gula","code":"zna"},{"name":"Zande (individual language)","code":"zne"},{"name":"Mang","code":"zng"},{"name":"Manangkari","code":"znk"},{"name":"Mangas","code":"zns"},{"name":"Copainalรก Zoque","code":"zoc"},{"name":"Chimalapa Zoque","code":"zoh"},{"name":"Zou","code":"zom"},{"name":"Asunciรณn Mixtepec Zapotec","code":"zoo"},{"name":"Tabasco Zoque","code":"zoq"},{"name":"Rayรณn Zoque","code":"zor"},{"name":"Francisco Leรณn Zoque","code":"zos"},{"name":"Lachiguiri Zapotec","code":"zpa"},{"name":"Yautepec Zapotec","code":"zpb"},{"name":"Choapan Zapotec","code":"zpc"},{"name":"Southeastern Ixtlรกn Zapotec","code":"zpd"},{"name":"Petapa Zapotec","code":"zpe"},{"name":"San Pedro Quiatoni Zapotec","code":"zpf"},{"name":"Guevea De Humboldt Zapotec","code":"zpg"},{"name":"Totomachapan Zapotec","code":"zph"},{"name":"Santa Marรญa Quiegolani Zapotec","code":"zpi"},{"name":"Quiavicuzas Zapotec","code":"zpj"},{"name":"Tlacolulita Zapotec","code":"zpk"},{"name":"Lachixรญo Zapotec","code":"zpl"},{"name":"Mixtepec Zapotec","code":"zpm"},{"name":"Santa Inรฉs Yatzechi Zapotec","code":"zpn"},{"name":"Amatlรกn Zapotec","code":"zpo"},{"name":"El Alto Zapotec","code":"zpp"},{"name":"Zoogocho Zapotec","code":"zpq"},{"name":"Santiago Xanica Zapotec","code":"zpr"},{"name":"Coatlรกn Zapotec","code":"zps"},{"name":"San Vicente Coatlรกn Zapotec","code":"zpt"},{"name":"Yalรกlag Zapotec","code":"zpu"},{"name":"Chichicapan Zapotec","code":"zpv"},{"name":"Zaniza Zapotec","code":"zpw"},{"name":"San Baltazar Loxicha Zapotec","code":"zpx"},{"name":"Mazaltepec Zapotec","code":"zpy"},{"name":"Texmelucan Zapotec","code":"zpz"},{"name":"Qiubei Zhuang","code":"zqe"},{"name":"Kara (Korea)","code":"zra"},{"name":"Mirgan","code":"zrg"},{"name":"Zerenkel","code":"zrn"},{"name":"Zรกparo","code":"zro"},{"name":"Zarphatic","code":"zrp"},{"name":"Mairasi","code":"zrs"},{"name":"Sarasira","code":"zsa"},{"name":"Kaskean","code":"zsk"},{"name":"Zambian Sign Language","code":"zsl"},{"name":"Standard Malay","code":"zsm"},{"name":"Southern Rincon Zapotec","code":"zsr"},{"name":"Sukurum","code":"zsu"},{"name":"Elotepec Zapotec","code":"zte"},{"name":"Xanaguรญa Zapotec","code":"ztg"},{"name":"Lapaguรญa-Guivini Zapotec","code":"ztl"},{"name":"San Agustรญn Mixtepec Zapotec","code":"ztm"},{"name":"Santa Catarina Albarradas Zapotec","code":"ztn"},{"name":"Loxicha Zapotec","code":"ztp"},{"name":"Quioquitani-Quierรญ Zapotec","code":"ztq"},{"name":"Tilquiapan Zapotec","code":"zts"},{"name":"Tejalapan Zapotec","code":"ztt"},{"name":"Gรผilรก Zapotec","code":"ztu"},{"name":"Zaachila Zapotec","code":"ztx"},{"name":"Yatee Zapotec","code":"zty"},{"name":"Zeem","code":"zua"},{"name":"Tokano","code":"zuh"},{"name":"Zulu","code":"zul"},{"name":"Kumzari","code":"zum"},{"name":"Zuni","code":"zun"},{"name":"Zumaya","code":"zuy"},{"name":"Zay","code":"zwa"},{"name":"No linguistic content","code":"zxx"},{"name":"Not applicable","code":"zxx"},{"name":"Yongbei Zhuang","code":"zyb"},{"name":"Yang Zhuang","code":"zyg"},{"name":"Youjiang Zhuang","code":"zyj"},{"name":"Yongnan Zhuang","code":"zyn"},{"name":"Zyphe Chin","code":"zyp"},{"name":"Dimili","code":"zza"},{"name":"Dimli (macrolanguage)","code":"zza"},{"name":"Kirdki","code":"zza"},{"name":"Kirmanjki (macrolanguage)","code":"zza"},{"name":"Zaza","code":"zza"},{"name":"Zazaki","code":"zza"},{"name":"Zuojiang Zhuang","code":"zzj"}] \ No newline at end of file +[{"code":"aaa","name":"Ghotuo"},{"code":"aab","name":"Alumu-Tesu"},{"code":"aac","name":"Ari"},{"code":"aad","name":"Amal"},{"code":"aae","name":"Arbรซreshรซ Albanian"},{"code":"aaf","name":"Aranadan"},{"code":"aag","name":"Ambrak"},{"code":"aah","name":"Abu' Arapesh"},{"code":"aai","name":"Arifama-Miniafia"},{"code":"aak","name":"Ankave"},{"code":"aal","name":"Afade"},{"code":"aan","name":"Anambรฉ"},{"code":"aao","name":"Algerian Saharan Arabic"},{"code":"aap","name":"Parรก Arรกra"},{"code":"aaq","name":"Eastern Abnaki"},{"code":"aar","name":"Afar"},{"code":"aas","name":"Aasรกx"},{"code":"aat","name":"Arvanitika Albanian"},{"code":"aau","name":"Abau"},{"code":"aaw","name":"Solong"},{"code":"aax","name":"Mandobo Atas"},{"code":"aaz","name":"Amarasi"},{"code":"aba","name":"Abรฉ"},{"code":"abb","name":"Bankon"},{"code":"abc","name":"Ambala Ayta"},{"code":"abd","name":"Manide"},{"code":"abe","name":"Western Abnaki"},{"code":"abf","name":"Abai Sungai"},{"code":"abg","name":"Abaga"},{"code":"abh","name":"Tajiki Arabic"},{"code":"abi","name":"Abidji"},{"code":"abj","name":"Aka-Bea"},{"code":"abk","name":"Abkhazian"},{"code":"abl","name":"Lampung Nyo"},{"code":"abm","name":"Abanyom"},{"code":"abn","name":"Abua"},{"code":"abo","name":"Abon"},{"code":"abp","name":"Abellen Ayta"},{"code":"abq","name":"Abaza"},{"code":"abr","name":"Abron"},{"code":"abs","name":"Ambonese Malay"},{"code":"abt","name":"Ambulas"},{"code":"abu","name":"Abure"},{"code":"abv","name":"Baharna Arabic"},{"code":"abw","name":"Pal"},{"code":"abx","name":"Inabaknon"},{"code":"aby","name":"Aneme Wake"},{"code":"abz","name":"Abui"},{"code":"aca","name":"Achagua"},{"code":"acb","name":"รncรก"},{"code":"acd","name":"Gikyode"},{"code":"ace","name":"Achinese"},{"code":"acf","name":"Saint Lucian Creole French"},{"code":"ach","name":"Acoli"},{"code":"aci","name":"Aka-Cari"},{"code":"ack","name":"Aka-Kora"},{"code":"acl","name":"Akar-Bale"},{"code":"acm","name":"Mesopotamian Arabic"},{"code":"acn","name":"Achang"},{"code":"acp","name":"Eastern Acipa"},{"code":"acq","name":"Ta'izzi-Adeni Arabic"},{"code":"acr","name":"Achi"},{"code":"acs","name":"Acroรก"},{"code":"act","name":"Achterhoeks"},{"code":"acu","name":"Achuar-Shiwiar"},{"code":"acv","name":"Achumawi"},{"code":"acw","name":"Hijazi Arabic"},{"code":"acx","name":"Omani Arabic"},{"code":"acy","name":"Cypriot Arabic"},{"code":"acz","name":"Acheron"},{"code":"ada","name":"Adangme"},{"code":"adb","name":"Atauran"},{"code":"add","name":"Dzodinka"},{"code":"ade","name":"Adele"},{"code":"adf","name":"Dhofari Arabic"},{"code":"adg","name":"Andegerebinha"},{"code":"adh","name":"Adhola"},{"code":"adi","name":"Adi"},{"code":"adj","name":"Adioukrou"},{"code":"adl","name":"Galo"},{"code":"adn","name":"Adang"},{"code":"ado","name":"Abu"},{"code":"adq","name":"Adangbe"},{"code":"adr","name":"Adonara"},{"code":"ads","name":"Adamorobe Sign Language"},{"code":"adt","name":"Adnyamathanha"},{"code":"adu","name":"Aduge"},{"code":"adw","name":"Amundava"},{"code":"adx","name":"Amdo Tibetan"},{"code":"ady","name":"Adygei"},{"code":"adz","name":"Adzera"},{"code":"aea","name":"Areba"},{"code":"aeb","name":"Tunisian Arabic"},{"code":"aec","name":"Saidi Arabic"},{"code":"aed","name":"Argentine Sign Language"},{"code":"aee","name":"Northeast Pashai"},{"code":"aek","name":"Haeke"},{"code":"ael","name":"Ambele"},{"code":"aem","name":"Arem"},{"code":"aen","name":"Armenian Sign Language"},{"code":"aeq","name":"Aer"},{"code":"aer","name":"Eastern Arrernte"},{"code":"aes","name":"Alsea"},{"code":"aeu","name":"Akeu"},{"code":"aew","name":"Ambakich"},{"code":"aey","name":"Amele"},{"code":"aez","name":"Aeka"},{"code":"afb","name":"Gulf Arabic"},{"code":"afd","name":"Andai"},{"code":"afe","name":"Putukwam"},{"code":"afg","name":"Afghan Sign Language"},{"code":"afh","name":"Afrihili"},{"code":"afi","name":"Akrukay"},{"code":"afk","name":"Nanubae"},{"code":"afn","name":"Defaka"},{"code":"afo","name":"Eloyi"},{"code":"afp","name":"Tapei"},{"code":"afr","name":"Afrikaans"},{"code":"afs","name":"Afro-Seminole Creole"},{"code":"aft","name":"Afitti"},{"code":"afu","name":"Awutu"},{"code":"afz","name":"Obokuitai"},{"code":"aga","name":"Aguano"},{"code":"agb","name":"Legbo"},{"code":"agc","name":"Agatu"},{"code":"agd","name":"Agarabi"},{"code":"age","name":"Angal"},{"code":"agf","name":"Arguni"},{"code":"agg","name":"Angor"},{"code":"agh","name":"Ngelima"},{"code":"agi","name":"Agariya"},{"code":"agj","name":"Argobba"},{"code":"agk","name":"Isarog Agta"},{"code":"agl","name":"Fembe"},{"code":"agm","name":"Angaataha"},{"code":"agn","name":"Agutaynen"},{"code":"ago","name":"Tainae"},{"code":"agq","name":"Aghem"},{"code":"agr","name":"Aguaruna"},{"code":"ags","name":"Esimbi"},{"code":"agt","name":"Central Cagayan Agta"},{"code":"agu","name":"Aguacateco"},{"code":"agv","name":"Remontado Dumagat"},{"code":"agw","name":"Kahua"},{"code":"agx","name":"Aghul"},{"code":"agy","name":"Southern Alta"},{"code":"agz","name":"Mt. Iriga Agta"},{"code":"aha","name":"Ahanta"},{"code":"ahb","name":"Axamb"},{"code":"ahg","name":"Qimant"},{"code":"ahh","name":"Aghu"},{"code":"ahi","name":"Tiagbamrin Aizi"},{"code":"ahk","name":"Akha"},{"code":"ahl","name":"Igo"},{"code":"ahm","name":"Mobumrin Aizi"},{"code":"ahn","name":"ร€hร n"},{"code":"aho","name":"Ahom"},{"code":"ahp","name":"Aproumu Aizi"},{"code":"ahr","name":"Ahirani"},{"code":"ahs","name":"Ashe"},{"code":"aht","name":"Ahtena"},{"code":"aia","name":"Arosi"},{"code":"aib","name":"Ainu (China)"},{"code":"aic","name":"Ainbai"},{"code":"aid","name":"Alngith"},{"code":"aie","name":"Amara"},{"code":"aif","name":"Agi"},{"code":"aig","name":"Antigua and Barbuda Creole English"},{"code":"aih","name":"Ai-Cham"},{"code":"aii","name":"Assyrian Neo-Aramaic"},{"code":"aij","name":"Lishanid Noshan"},{"code":"aik","name":"Ake"},{"code":"ail","name":"Aimele"},{"code":"aim","name":"Aimol"},{"code":"ain","name":"Ainu (Japan)"},{"code":"aio","name":"Aiton"},{"code":"aip","name":"Burumakok"},{"code":"aiq","name":"Aimaq"},{"code":"air","name":"Airoran"},{"code":"ait","name":"Arikem"},{"code":"aiw","name":"Aari"},{"code":"aix","name":"Aighon"},{"code":"aiy","name":"Ali"},{"code":"aja","name":"Aja (South Sudan)"},{"code":"ajg","name":"Aja (Benin)"},{"code":"aji","name":"Ajiรซ"},{"code":"ajn","name":"Andajin"},{"code":"ajp","name":"South Levantine Arabic"},{"code":"ajt","name":"Judeo-Tunisian Arabic"},{"code":"aju","name":"Judeo-Moroccan Arabic"},{"code":"ajw","name":"Ajawa"},{"code":"ajz","name":"Amri Karbi"},{"code":"aka","name":"Akan"},{"code":"akb","name":"Batak Angkola"},{"code":"akc","name":"Mpur"},{"code":"akd","name":"Ukpet-Ehom"},{"code":"ake","name":"Akawaio"},{"code":"akf","name":"Akpa"},{"code":"akg","name":"Anakalangu"},{"code":"akh","name":"Angal Heneng"},{"code":"aki","name":"Aiome"},{"code":"akj","name":"Aka-Jeru"},{"code":"akk","name":"Akkadian"},{"code":"akl","name":"Aklanon"},{"code":"akm","name":"Aka-Bo"},{"code":"ako","name":"Akurio"},{"code":"akp","name":"Siwu"},{"code":"akq","name":"Ak"},{"code":"akr","name":"Araki"},{"code":"aks","name":"Akaselem"},{"code":"akt","name":"Akolet"},{"code":"aku","name":"Akum"},{"code":"akv","name":"Akhvakh"},{"code":"akw","name":"Akwa"},{"code":"akx","name":"Aka-Kede"},{"code":"aky","name":"Aka-Kol"},{"code":"akz","name":"Alabama"},{"code":"ala","name":"Alago"},{"code":"alc","name":"Qawasqar"},{"code":"ald","name":"Alladian"},{"code":"ale","name":"Aleut"},{"code":"alf","name":"Alege"},{"code":"alh","name":"Alawa"},{"code":"ali","name":"Amaimon"},{"code":"alj","name":"Alangan"},{"code":"alk","name":"Alak"},{"code":"all","name":"Allar"},{"code":"alm","name":"Amblong"},{"code":"aln","name":"Gheg Albanian"},{"code":"alo","name":"Larike-Wakasihu"},{"code":"alp","name":"Alune"},{"code":"alq","name":"Algonquin"},{"code":"alr","name":"Alutor"},{"code":"als","name":"Tosk Albanian"},{"code":"alt","name":"Southern Altai"},{"code":"alu","name":"'Are'are"},{"code":"alw","name":"Alaba-Kโ€™abeena"},{"code":"alx","name":"Amol"},{"code":"aly","name":"Alyawarr"},{"code":"alz","name":"Alur"},{"code":"ama","name":"Amanayรฉ"},{"code":"amb","name":"Ambo"},{"code":"amc","name":"Amahuaca"},{"code":"ame","name":"Yanesha'"},{"code":"amf","name":"Hamer-Banna"},{"code":"amg","name":"Amurdak"},{"code":"amh","name":"Amharic"},{"code":"ami","name":"Amis"},{"code":"amj","name":"Amdang"},{"code":"amk","name":"Ambai"},{"code":"aml","name":"War-Jaintia"},{"code":"amm","name":"Ama (Papua New Guinea)"},{"code":"amn","name":"Amanab"},{"code":"amo","name":"Amo"},{"code":"amp","name":"Alamblak"},{"code":"amq","name":"Amahai"},{"code":"amr","name":"Amarakaeri"},{"code":"ams","name":"Southern Amami-Oshima"},{"code":"amt","name":"Amto"},{"code":"amu","name":"Guerrero Amuzgo"},{"code":"amv","name":"Ambelau"},{"code":"amw","name":"Western Neo-Aramaic"},{"code":"amx","name":"Anmatyerre"},{"code":"amy","name":"Ami"},{"code":"amz","name":"Atampaya"},{"code":"ana","name":"Andaqui"},{"code":"anb","name":"Andoa"},{"code":"anc","name":"Ngas"},{"code":"and","name":"Ansus"},{"code":"ane","name":"Xรขrรขcรนรน"},{"code":"anf","name":"Animere"},{"code":"ang","name":"Old English (ca. 450-1100)"},{"code":"anh","name":"Nend"},{"code":"ani","name":"Andi"},{"code":"anj","name":"Anor"},{"code":"ank","name":"Goemai"},{"code":"anl","name":"Anu-Hkongso Chin"},{"code":"anm","name":"Anal"},{"code":"ann","name":"Obolo"},{"code":"ano","name":"Andoque"},{"code":"anp","name":"Angika"},{"code":"anq","name":"Jarawa (India)"},{"code":"anr","name":"Andh"},{"code":"ans","name":"Anserma"},{"code":"ant","name":"Antakarinya"},{"code":"anu","name":"Anuak"},{"code":"anv","name":"Denya"},{"code":"anw","name":"Anaang"},{"code":"anx","name":"Andra-Hus"},{"code":"any","name":"Anyin"},{"code":"anz","name":"Anem"},{"code":"aoa","name":"Angolar"},{"code":"aob","name":"Abom"},{"code":"aoc","name":"Pemon"},{"code":"aod","name":"Andarum"},{"code":"aoe","name":"Angal Enen"},{"code":"aof","name":"Bragat"},{"code":"aog","name":"Angoram"},{"code":"aoi","name":"Anindilyakwa"},{"code":"aoj","name":"Mufian"},{"code":"aok","name":"Arhรถ"},{"code":"aol","name":"Alor"},{"code":"aom","name":"ร–mie"},{"code":"aon","name":"Bumbita Arapesh"},{"code":"aor","name":"Aore"},{"code":"aos","name":"Taikat"},{"code":"aot","name":"A'tong"},{"code":"aou","name":"A'ou"},{"code":"aox","name":"Atorada"},{"code":"aoz","name":"Uab Meto"},{"code":"apb","name":"Sa'a"},{"code":"apc","name":"North Levantine Arabic"},{"code":"apd","name":"Sudanese Arabic"},{"code":"ape","name":"Bukiyip"},{"code":"apf","name":"Pahanan Agta"},{"code":"apg","name":"Ampanang"},{"code":"aph","name":"Athpariya"},{"code":"api","name":"Apiakรก"},{"code":"apj","name":"Jicarilla Apache"},{"code":"apk","name":"Kiowa Apache"},{"code":"apl","name":"Lipan Apache"},{"code":"apm","name":"Mescalero-Chiricahua Apache"},{"code":"apn","name":"Apinayรฉ"},{"code":"apo","name":"Ambul"},{"code":"app","name":"Apma"},{"code":"apq","name":"A-Pucikwar"},{"code":"apr","name":"Arop-Lokep"},{"code":"aps","name":"Arop-Sissano"},{"code":"apt","name":"Apatani"},{"code":"apu","name":"Apurinรฃ"},{"code":"apv","name":"Alapmunte"},{"code":"apw","name":"Western Apache"},{"code":"apx","name":"Aputai"},{"code":"apy","name":"Apalaรญ"},{"code":"apz","name":"Safeyoka"},{"code":"aqc","name":"Archi"},{"code":"aqd","name":"Ampari Dogon"},{"code":"aqg","name":"Arigidi"},{"code":"aqk","name":"Aninka"},{"code":"aqm","name":"Atohwaim"},{"code":"aqn","name":"Northern Alta"},{"code":"aqp","name":"Atakapa"},{"code":"aqr","name":"Arhรข"},{"code":"aqt","name":"Angaitรฉ"},{"code":"aqz","name":"Akuntsu"},{"code":"ara","name":"Arabic"},{"code":"arb","name":"Standard Arabic"},{"code":"arc","name":"Imperial Aramaic (700-300 BCE)"},{"code":"ard","name":"Arabana"},{"code":"are","name":"Western Arrarnta"},{"code":"arg","name":"Aragonese"},{"code":"arh","name":"Arhuaco"},{"code":"ari","name":"Arikara"},{"code":"arj","name":"Arapaso"},{"code":"ark","name":"Arikapรบ"},{"code":"arl","name":"Arabela"},{"code":"arn","name":"Mapuche"},{"code":"aro","name":"Araona"},{"code":"arp","name":"Arapaho"},{"code":"arq","name":"Algerian Arabic"},{"code":"arr","name":"Karo (Brazil)"},{"code":"ars","name":"Najdi Arabic"},{"code":"aru","name":"Arawรก"},{"code":"arv","name":"Arbore"},{"code":"arw","name":"Arawak"},{"code":"arx","name":"Aruรก (Rodonia State)"},{"code":"ary","name":"Moroccan Arabic"},{"code":"arz","name":"Egyptian Arabic"},{"code":"asa","name":"Asu (Tanzania)"},{"code":"asb","name":"Assiniboine"},{"code":"asc","name":"Casuarina Coast Asmat"},{"code":"ase","name":"American Sign Language"},{"code":"asf","name":"Auslan"},{"code":"asg","name":"Cishingini"},{"code":"ash","name":"Abishira"},{"code":"asi","name":"Buruwai"},{"code":"asj","name":"Sari"},{"code":"ask","name":"Ashkun"},{"code":"asl","name":"Asilulu"},{"code":"asm","name":"Assamese"},{"code":"asn","name":"Xingรบ Asurinรญ"},{"code":"aso","name":"Dano"},{"code":"asp","name":"Algerian Sign Language"},{"code":"asq","name":"Austrian Sign Language"},{"code":"asr","name":"Asuri"},{"code":"ass","name":"Ipulo"},{"code":"ast","name":"Asturian"},{"code":"asu","name":"Tocantins Asurini"},{"code":"asv","name":"Asoa"},{"code":"asw","name":"Australian Aborigines Sign Language"},{"code":"asx","name":"Muratayak"},{"code":"asy","name":"Yaosakor Asmat"},{"code":"asz","name":"As"},{"code":"ata","name":"Pele-Ata"},{"code":"atb","name":"Zaiwa"},{"code":"atc","name":"Atsahuaca"},{"code":"atd","name":"Ata Manobo"},{"code":"ate","name":"Atemble"},{"code":"atg","name":"Ivbie North-Okpela-Arhe"},{"code":"ati","name":"Attiรฉ"},{"code":"atj","name":"Atikamekw"},{"code":"atk","name":"Ati"},{"code":"atl","name":"Mt. Iraya Agta"},{"code":"atm","name":"Ata"},{"code":"atn","name":"Ashtiani"},{"code":"ato","name":"Atong (Cameroon)"},{"code":"atp","name":"Pudtol Atta"},{"code":"atq","name":"Aralle-Tabulahan"},{"code":"atr","name":"Waimiri-Atroari"},{"code":"ats","name":"Gros Ventre"},{"code":"att","name":"Pamplona Atta"},{"code":"atu","name":"Reel"},{"code":"atv","name":"Northern Altai"},{"code":"atw","name":"Atsugewi"},{"code":"atx","name":"Arutani"},{"code":"aty","name":"Aneityum"},{"code":"atz","name":"Arta"},{"code":"aua","name":"Asumboa"},{"code":"aub","name":"Alugu"},{"code":"auc","name":"Waorani"},{"code":"aud","name":"Anuta"},{"code":"aug","name":"Aguna"},{"code":"auh","name":"Aushi"},{"code":"aui","name":"Anuki"},{"code":"auj","name":"Awjilah"},{"code":"auk","name":"Heyo"},{"code":"aul","name":"Aulua"},{"code":"aum","name":"Asu (Nigeria)"},{"code":"aun","name":"Molmo One"},{"code":"auo","name":"Auyokawa"},{"code":"aup","name":"Makayam"},{"code":"auq","name":"Anus"},{"code":"aur","name":"Aruek"},{"code":"aut","name":"Austral"},{"code":"auu","name":"Auye"},{"code":"auw","name":"Awyi"},{"code":"aux","name":"Aurรก"},{"code":"auy","name":"Awiyaana"},{"code":"auz","name":"Uzbeki Arabic"},{"code":"ava","name":"Avaric"},{"code":"avb","name":"Avau"},{"code":"avd","name":"Alviri-Vidari"},{"code":"ave","name":"Avestan"},{"code":"avi","name":"Avikam"},{"code":"avk","name":"Kotava"},{"code":"avl","name":"Eastern Egyptian Bedawi Arabic"},{"code":"avm","name":"Angkamuthi"},{"code":"avn","name":"Avatime"},{"code":"avo","name":"Agavotaguerra"},{"code":"avs","name":"Aushiri"},{"code":"avt","name":"Au"},{"code":"avu","name":"Avokaya"},{"code":"avv","name":"Avรก-Canoeiro"},{"code":"awa","name":"Awadhi"},{"code":"awb","name":"Awa (Papua New Guinea)"},{"code":"awc","name":"Cicipu"},{"code":"awe","name":"Awetรญ"},{"code":"awg","name":"Anguthimri"},{"code":"awh","name":"Awbono"},{"code":"awi","name":"Aekyom"},{"code":"awk","name":"Awabakal"},{"code":"awm","name":"Arawum"},{"code":"awn","name":"Awngi"},{"code":"awo","name":"Awak"},{"code":"awr","name":"Awera"},{"code":"aws","name":"South Awyu"},{"code":"awt","name":"Arawetรฉ"},{"code":"awu","name":"Central Awyu"},{"code":"awv","name":"Jair Awyu"},{"code":"aww","name":"Awun"},{"code":"awx","name":"Awara"},{"code":"awy","name":"Edera Awyu"},{"code":"axb","name":"Abipon"},{"code":"axe","name":"Ayerrerenge"},{"code":"axg","name":"Mato Grosso Arรกra"},{"code":"axk","name":"Yaka (Central African Republic)"},{"code":"axl","name":"Lower Southern Aranda"},{"code":"axm","name":"Middle Armenian"},{"code":"axx","name":"Xรขrรขgurรจ"},{"code":"aya","name":"Awar"},{"code":"ayb","name":"Ayizo Gbe"},{"code":"ayc","name":"Southern Aymara"},{"code":"ayd","name":"Ayabadhu"},{"code":"aye","name":"Ayere"},{"code":"ayg","name":"Ginyanga"},{"code":"ayh","name":"Hadrami Arabic"},{"code":"ayi","name":"Leyigha"},{"code":"ayk","name":"Akuku"},{"code":"ayl","name":"Libyan Arabic"},{"code":"aym","name":"Aymara"},{"code":"ayn","name":"Sanaani Arabic"},{"code":"ayo","name":"Ayoreo"},{"code":"ayp","name":"North Mesopotamian Arabic"},{"code":"ayq","name":"Ayi (Papua New Guinea)"},{"code":"ayr","name":"Central Aymara"},{"code":"ays","name":"Sorsogon Ayta"},{"code":"ayt","name":"Magbukun Ayta"},{"code":"ayu","name":"Ayu"},{"code":"ayz","name":"Mai Brat"},{"code":"aza","name":"Azha"},{"code":"azb","name":"South Azerbaijani"},{"code":"azd","name":"Eastern Durango Nahuatl"},{"code":"aze","name":"Azerbaijani"},{"code":"azg","name":"San Pedro Amuzgos Amuzgo"},{"code":"azj","name":"North Azerbaijani"},{"code":"azm","name":"Ipalapa Amuzgo"},{"code":"azn","name":"Western Durango Nahuatl"},{"code":"azo","name":"Awing"},{"code":"azt","name":"Faire Atta"},{"code":"azz","name":"Highland Puebla Nahuatl"},{"code":"baa","name":"Babatana"},{"code":"bab","name":"Bainouk-Gunyuรฑo"},{"code":"bac","name":"Badui"},{"code":"bae","name":"Barรฉ"},{"code":"baf","name":"Nubaca"},{"code":"bag","name":"Tuki"},{"code":"bah","name":"Bahamas Creole English"},{"code":"baj","name":"Barakai"},{"code":"bak","name":"Bashkir"},{"code":"bal","name":"Baluchi"},{"code":"bam","name":"Bambara"},{"code":"ban","name":"Balinese"},{"code":"bao","name":"Waimaha"},{"code":"bap","name":"Bantawa"},{"code":"bar","name":"Bavarian"},{"code":"bas","name":"Basa (Cameroon)"},{"code":"bau","name":"Bada (Nigeria)"},{"code":"bav","name":"Vengo"},{"code":"baw","name":"Bambili-Bambui"},{"code":"bax","name":"Bamun"},{"code":"bay","name":"Batuley"},{"code":"bba","name":"Baatonum"},{"code":"bbb","name":"Barai"},{"code":"bbc","name":"Batak Toba"},{"code":"bbd","name":"Bau"},{"code":"bbe","name":"Bangba"},{"code":"bbf","name":"Baibai"},{"code":"bbg","name":"Barama"},{"code":"bbh","name":"Bugan"},{"code":"bbi","name":"Barombi"},{"code":"bbj","name":"Ghomรกlรก'"},{"code":"bbk","name":"Babanki"},{"code":"bbl","name":"Bats"},{"code":"bbm","name":"Babango"},{"code":"bbn","name":"Uneapa"},{"code":"bbo","name":"Konabรฉrรฉ"},{"code":"bbp","name":"West Central Banda"},{"code":"bbq","name":"Bamali"},{"code":"bbr","name":"Girawa"},{"code":"bbs","name":"Bakpinka"},{"code":"bbt","name":"Mburku"},{"code":"bbu","name":"Kulung (Nigeria)"},{"code":"bbv","name":"Karnai"},{"code":"bbw","name":"Baba"},{"code":"bbx","name":"Bubia"},{"code":"bby","name":"Befang"},{"code":"bca","name":"Central Bai"},{"code":"bcb","name":"Bainouk-Samik"},{"code":"bcc","name":"Southern Balochi"},{"code":"bcd","name":"North Babar"},{"code":"bce","name":"Bamenyam"},{"code":"bcf","name":"Bamu"},{"code":"bcg","name":"Baga Pokur"},{"code":"bch","name":"Bariai"},{"code":"bci","name":"Baoulรฉ"},{"code":"bcj","name":"Bardi"},{"code":"bck","name":"Bunuba"},{"code":"bcl","name":"Central Bikol"},{"code":"bcm","name":"Bannoni"},{"code":"bcn","name":"Bali (Nigeria)"},{"code":"bco","name":"Kaluli"},{"code":"bcp","name":"Bali (Democratic Republic of Congo)"},{"code":"bcq","name":"Bench"},{"code":"bcr","name":"Babine"},{"code":"bcs","name":"Kohumono"},{"code":"bct","name":"Bendi"},{"code":"bcu","name":"Awad Bing"},{"code":"bcv","name":"Shoo-Minda-Nye"},{"code":"bcw","name":"Bana"},{"code":"bcy","name":"Bacama"},{"code":"bcz","name":"Bainouk-Gunyaamolo"},{"code":"bda","name":"Bayot"},{"code":"bdb","name":"Basap"},{"code":"bdc","name":"Emberรก-Baudรณ"},{"code":"bdd","name":"Bunama"},{"code":"bde","name":"Bade"},{"code":"bdf","name":"Biage"},{"code":"bdg","name":"Bonggi"},{"code":"bdh","name":"Baka (South Sudan)"},{"code":"bdi","name":"Burun"},{"code":"bdj","name":"Bai"},{"code":"bdk","name":"Budukh"},{"code":"bdl","name":"Indonesian Bajau"},{"code":"bdm","name":"Buduma"},{"code":"bdn","name":"Baldemu"},{"code":"bdo","name":"Morom"},{"code":"bdp","name":"Bende"},{"code":"bdq","name":"Bahnar"},{"code":"bdr","name":"West Coast Bajau"},{"code":"bds","name":"Burunge"},{"code":"bdt","name":"Bokoto"},{"code":"bdu","name":"Oroko"},{"code":"bdv","name":"Bodo Parja"},{"code":"bdw","name":"Baham"},{"code":"bdx","name":"Budong-Budong"},{"code":"bdy","name":"Bandjalang"},{"code":"bdz","name":"Badeshi"},{"code":"bea","name":"Beaver"},{"code":"beb","name":"Bebele"},{"code":"bec","name":"Iceve-Maci"},{"code":"bed","name":"Bedoanas"},{"code":"bee","name":"Byangsi"},{"code":"bef","name":"Benabena"},{"code":"beg","name":"Belait"},{"code":"beh","name":"Biali"},{"code":"bei","name":"Bekati'"},{"code":"bej","name":"Bedawiyet"},{"code":"bek","name":"Bebeli"},{"code":"bel","name":"Belarusian"},{"code":"bem","name":"Bemba (Zambia)"},{"code":"ben","name":"Bengali"},{"code":"beo","name":"Beami"},{"code":"bep","name":"Besoa"},{"code":"beq","name":"Beembe"},{"code":"bes","name":"Besme"},{"code":"bet","name":"Guiberoua Bรฉte"},{"code":"beu","name":"Blagar"},{"code":"bev","name":"Daloa Bรฉtรฉ"},{"code":"bew","name":"Betawi"},{"code":"bex","name":"Jur Modo"},{"code":"bey","name":"Beli (Papua New Guinea)"},{"code":"bez","name":"Bena (Tanzania)"},{"code":"bfa","name":"Bari"},{"code":"bfb","name":"Pauri Bareli"},{"code":"bfc","name":"Northern Bai"},{"code":"bfd","name":"Bafut"},{"code":"bfe","name":"Betaf"},{"code":"bff","name":"Bofi"},{"code":"bfg","name":"Busang Kayan"},{"code":"bfh","name":"Blafe"},{"code":"bfi","name":"British Sign Language"},{"code":"bfj","name":"Bafanji"},{"code":"bfk","name":"Ban Khor Sign Language"},{"code":"bfl","name":"Banda-Ndรฉlรฉ"},{"code":"bfm","name":"Mmen"},{"code":"bfn","name":"Bunak"},{"code":"bfo","name":"Malba Birifor"},{"code":"bfp","name":"Beba"},{"code":"bfq","name":"Badaga"},{"code":"bfr","name":"Bazigar"},{"code":"bfs","name":"Southern Bai"},{"code":"bft","name":"Balti"},{"code":"bfu","name":"Gahri"},{"code":"bfw","name":"Bondo"},{"code":"bfx","name":"Bantayanon"},{"code":"bfy","name":"Bagheli"},{"code":"bfz","name":"Mahasu Pahari"},{"code":"bga","name":"Gwamhi-Wuri"},{"code":"bgb","name":"Bobongko"},{"code":"bgc","name":"Haryanvi"},{"code":"bgd","name":"Rathwi Bareli"},{"code":"bge","name":"Bauria"},{"code":"bgf","name":"Bangandu"},{"code":"bgg","name":"Bugun"},{"code":"bgi","name":"Giangan"},{"code":"bgj","name":"Bangolan"},{"code":"bgk","name":"Bit"},{"code":"bgl","name":"Bo (Laos)"},{"code":"bgn","name":"Western Balochi"},{"code":"bgo","name":"Baga Koga"},{"code":"bgp","name":"Eastern Balochi"},{"code":"bgq","name":"Bagri"},{"code":"bgr","name":"Bawm Chin"},{"code":"bgs","name":"Tagabawa"},{"code":"bgt","name":"Bughotu"},{"code":"bgu","name":"Mbongno"},{"code":"bgv","name":"Warkay-Bipim"},{"code":"bgw","name":"Bhatri"},{"code":"bgx","name":"Balkan Gagauz Turkish"},{"code":"bgy","name":"Benggoi"},{"code":"bgz","name":"Banggai"},{"code":"bha","name":"Bharia"},{"code":"bhb","name":"Bhili"},{"code":"bhc","name":"Biga"},{"code":"bhd","name":"Bhadrawahi"},{"code":"bhe","name":"Bhaya"},{"code":"bhf","name":"Odiai"},{"code":"bhg","name":"Binandere"},{"code":"bhh","name":"Bukharic"},{"code":"bhi","name":"Bhilali"},{"code":"bhj","name":"Bahing"},{"code":"bhl","name":"Bimin"},{"code":"bhm","name":"Bathari"},{"code":"bhn","name":"Bohtan Neo-Aramaic"},{"code":"bho","name":"Bhojpuri"},{"code":"bhp","name":"Bima"},{"code":"bhq","name":"Tukang Besi South"},{"code":"bhr","name":"Bara Malagasy"},{"code":"bhs","name":"Buwal"},{"code":"bht","name":"Bhattiyali"},{"code":"bhu","name":"Bhunjia"},{"code":"bhv","name":"Bahau"},{"code":"bhw","name":"Biak"},{"code":"bhx","name":"Bhalay"},{"code":"bhy","name":"Bhele"},{"code":"bhz","name":"Bada (Indonesia)"},{"code":"bia","name":"Badimaya"},{"code":"bib","name":"Bisa"},{"code":"bid","name":"Bidiyo"},{"code":"bie","name":"Bepour"},{"code":"bif","name":"Biafada"},{"code":"big","name":"Biangai"},{"code":"bik","name":"Bikol"},{"code":"bil","name":"Bile"},{"code":"bim","name":"Bimoba"},{"code":"bin","name":"Bini"},{"code":"bio","name":"Nai"},{"code":"bip","name":"Bila"},{"code":"biq","name":"Bipi"},{"code":"bir","name":"Bisorio"},{"code":"bis","name":"Bislama"},{"code":"bit","name":"Berinomo"},{"code":"biu","name":"Biete"},{"code":"biv","name":"Southern Birifor"},{"code":"biw","name":"Kol (Cameroon)"},{"code":"bix","name":"Bijori"},{"code":"biy","name":"Birhor"},{"code":"biz","name":"Baloi"},{"code":"bja","name":"Budza"},{"code":"bjb","name":"Banggarla"},{"code":"bjc","name":"Bariji"},{"code":"bje","name":"Biao-Jiao Mien"},{"code":"bjf","name":"Barzani Jewish Neo-Aramaic"},{"code":"bjg","name":"Bidyogo"},{"code":"bjh","name":"Bahinemo"},{"code":"bji","name":"Burji"},{"code":"bjj","name":"Kanauji"},{"code":"bjk","name":"Barok"},{"code":"bjl","name":"Bulu (Papua New Guinea)"},{"code":"bjm","name":"Bajelani"},{"code":"bjn","name":"Banjar"},{"code":"bjo","name":"Mid-Southern Banda"},{"code":"bjp","name":"Fanamaket"},{"code":"bjr","name":"Binumarien"},{"code":"bjs","name":"Bajan"},{"code":"bjt","name":"Balanta-Ganja"},{"code":"bju","name":"Busuu"},{"code":"bjv","name":"Bedjond"},{"code":"bjw","name":"Bakwรฉ"},{"code":"bjx","name":"Banao Itneg"},{"code":"bjy","name":"Bayali"},{"code":"bjz","name":"Baruga"},{"code":"bka","name":"Kyak"},{"code":"bkc","name":"Baka (Cameroon)"},{"code":"bkd","name":"Binukid"},{"code":"bkf","name":"Beeke"},{"code":"bkg","name":"Buraka"},{"code":"bkh","name":"Bakoko"},{"code":"bki","name":"Baki"},{"code":"bkj","name":"Pande"},{"code":"bkk","name":"Brokskat"},{"code":"bkl","name":"Berik"},{"code":"bkm","name":"Kom (Cameroon)"},{"code":"bkn","name":"Bukitan"},{"code":"bko","name":"Kwa'"},{"code":"bkp","name":"Boko (Democratic Republic of Congo)"},{"code":"bkq","name":"Bakairรญ"},{"code":"bkr","name":"Bakumpai"},{"code":"bks","name":"Northern Sorsoganon"},{"code":"bkt","name":"Boloki"},{"code":"bku","name":"Buhid"},{"code":"bkv","name":"Bekwarra"},{"code":"bkw","name":"Bekwel"},{"code":"bkx","name":"Baikeno"},{"code":"bky","name":"Bokyi"},{"code":"bkz","name":"Bungku"},{"code":"bla","name":"Siksika"},{"code":"blb","name":"Bilua"},{"code":"blc","name":"Bella Coola"},{"code":"bld","name":"Bolango"},{"code":"ble","name":"Balanta-Kentohe"},{"code":"blf","name":"Buol"},{"code":"blh","name":"Kuwaa"},{"code":"bli","name":"Bolia"},{"code":"blj","name":"Bolongan"},{"code":"blk","name":"Pa'O"},{"code":"bll","name":"Biloxi"},{"code":"blm","name":"Beli (South Sudan)"},{"code":"bln","name":"Southern Catanduanes Bikol"},{"code":"blo","name":"Anii"},{"code":"blp","name":"Blablanga"},{"code":"blq","name":"Baluan-Pam"},{"code":"blr","name":"Blang"},{"code":"bls","name":"Balaesang"},{"code":"blt","name":"Tai Dam"},{"code":"blv","name":"Bolo"},{"code":"blw","name":"Balangao"},{"code":"blx","name":"Mag-Indi Ayta"},{"code":"bly","name":"Notre"},{"code":"blz","name":"Balantak"},{"code":"bma","name":"Lame"},{"code":"bmb","name":"Bembe"},{"code":"bmc","name":"Biem"},{"code":"bmd","name":"Baga Manduri"},{"code":"bme","name":"Limassa"},{"code":"bmf","name":"Bom-Kim"},{"code":"bmg","name":"Bamwe"},{"code":"bmh","name":"Kein"},{"code":"bmi","name":"Bagirmi"},{"code":"bmj","name":"Bote-Majhi"},{"code":"bmk","name":"Ghayavi"},{"code":"bml","name":"Bomboli"},{"code":"bmm","name":"Northern Betsimisaraka Malagasy"},{"code":"bmn","name":"Bina (Papua New Guinea)"},{"code":"bmo","name":"Bambalang"},{"code":"bmp","name":"Bulgebi"},{"code":"bmq","name":"Bomu"},{"code":"bmr","name":"Muinane"},{"code":"bms","name":"Bilma Kanuri"},{"code":"bmt","name":"Biao Mon"},{"code":"bmu","name":"Somba-Siawari"},{"code":"bmv","name":"Bum"},{"code":"bmw","name":"Bomwali"},{"code":"bmx","name":"Baimak"},{"code":"bmz","name":"Baramu"},{"code":"bna","name":"Bonerate"},{"code":"bnb","name":"Bookan"},{"code":"bnc","name":"Bontok"},{"code":"bnd","name":"Banda (Indonesia)"},{"code":"bne","name":"Bintauna"},{"code":"bnf","name":"Masiwang"},{"code":"bng","name":"Benga"},{"code":"bni","name":"Bangi"},{"code":"bnj","name":"Eastern Tawbuid"},{"code":"bnk","name":"Bierebo"},{"code":"bnl","name":"Boon"},{"code":"bnm","name":"Batanga"},{"code":"bnn","name":"Bunun"},{"code":"bno","name":"Bantoanon"},{"code":"bnp","name":"Bola"},{"code":"bnq","name":"Bantik"},{"code":"bnr","name":"Butmas-Tur"},{"code":"bns","name":"Bundeli"},{"code":"bnu","name":"Bentong"},{"code":"bnv","name":"Beneraf"},{"code":"bnw","name":"Bisis"},{"code":"bnx","name":"Bangubangu"},{"code":"bny","name":"Bintulu"},{"code":"bnz","name":"Beezen"},{"code":"boa","name":"Bora"},{"code":"bob","name":"Aweer"},{"code":"bod","name":"Tibetan"},{"code":"boe","name":"Mundabli"},{"code":"bof","name":"Bolon"},{"code":"bog","name":"Bamako Sign Language"},{"code":"boh","name":"Boma"},{"code":"boi","name":"Barbareรฑo"},{"code":"boj","name":"Anjam"},{"code":"bok","name":"Bonjo"},{"code":"bol","name":"Bole"},{"code":"bom","name":"Berom"},{"code":"bon","name":"Bine"},{"code":"boo","name":"Tiemacรจwรจ Bozo"},{"code":"bop","name":"Bonkiman"},{"code":"boq","name":"Bogaya"},{"code":"bor","name":"Borรดro"},{"code":"bos","name":"Bosnian"},{"code":"bot","name":"Bongo"},{"code":"bou","name":"Bondei"},{"code":"bov","name":"Tuwuli"},{"code":"bow","name":"Rema"},{"code":"box","name":"Buamu"},{"code":"boy","name":"Bodo (Central African Republic)"},{"code":"boz","name":"Tiรฉyaxo Bozo"},{"code":"bpa","name":"Daakaka"},{"code":"bpd","name":"Banda-Banda"},{"code":"bpe","name":"Bauni"},{"code":"bpg","name":"Bonggo"},{"code":"bph","name":"Botlikh"},{"code":"bpi","name":"Bagupi"},{"code":"bpj","name":"Binji"},{"code":"bpk","name":"'ร”rรดรช"},{"code":"bpl","name":"Broome Pearling Lugger Pidgin"},{"code":"bpm","name":"Biyom"},{"code":"bpn","name":"Dzao Min"},{"code":"bpo","name":"Anasi"},{"code":"bpp","name":"Kaure"},{"code":"bpq","name":"Banda Malay"},{"code":"bpr","name":"Koronadal Blaan"},{"code":"bps","name":"Sarangani Blaan"},{"code":"bpt","name":"Barrow Point"},{"code":"bpu","name":"Bongu"},{"code":"bpv","name":"Bian Marind"},{"code":"bpw","name":"Bo (Papua New Guinea)"},{"code":"bpx","name":"Palya Bareli"},{"code":"bpy","name":"Bishnupriya"},{"code":"bpz","name":"Bilba"},{"code":"bqa","name":"Tchumbuli"},{"code":"bqb","name":"Bagusa"},{"code":"bqc","name":"Boko (Benin)"},{"code":"bqd","name":"Bung"},{"code":"bqf","name":"Baga Kaloum"},{"code":"bqg","name":"Bago-Kusuntu"},{"code":"bqh","name":"Baima"},{"code":"bqi","name":"Bakhtiari"},{"code":"bqj","name":"Bandial"},{"code":"bqk","name":"Banda-Mbrรจs"},{"code":"bql","name":"Bilakura"},{"code":"bqm","name":"Wumboko"},{"code":"bqn","name":"Bulgarian Sign Language"},{"code":"bqo","name":"Balo"},{"code":"bqp","name":"Busa"},{"code":"bqq","name":"Biritai"},{"code":"bqr","name":"Burusu"},{"code":"bqs","name":"Bosngun"},{"code":"bqt","name":"Bamukumbit"},{"code":"bqu","name":"Boguru"},{"code":"bqv","name":"Begbere-Ejar"},{"code":"bqw","name":"Buru (Nigeria)"},{"code":"bqx","name":"Baangi"},{"code":"bqy","name":"Bengkala Sign Language"},{"code":"bqz","name":"Bakaka"},{"code":"bra","name":"Braj"},{"code":"brb","name":"Lave"},{"code":"brc","name":"Berbice Creole Dutch"},{"code":"brd","name":"Baraamu"},{"code":"bre","name":"Breton"},{"code":"brf","name":"Bira"},{"code":"brg","name":"Baure"},{"code":"brh","name":"Brahui"},{"code":"bri","name":"Mokpwe"},{"code":"brj","name":"Bieria"},{"code":"brk","name":"Birked"},{"code":"brl","name":"Birwa"},{"code":"brm","name":"Barambu"},{"code":"brn","name":"Boruca"},{"code":"bro","name":"Brokkat"},{"code":"brp","name":"Barapasi"},{"code":"brq","name":"Breri"},{"code":"brr","name":"Birao"},{"code":"brs","name":"Baras"},{"code":"brt","name":"Bitare"},{"code":"bru","name":"Eastern Bru"},{"code":"brv","name":"Western Bru"},{"code":"brw","name":"Bellari"},{"code":"brx","name":"Bodo (India)"},{"code":"bry","name":"Burui"},{"code":"brz","name":"Bilbil"},{"code":"bsa","name":"Abinomn"},{"code":"bsb","name":"Brunei Bisaya"},{"code":"bsc","name":"Bassari"},{"code":"bse","name":"Wushi"},{"code":"bsf","name":"Bauchi"},{"code":"bsg","name":"Bashkardi"},{"code":"bsh","name":"Kati"},{"code":"bsi","name":"Bassossi"},{"code":"bsj","name":"Bangwinji"},{"code":"bsk","name":"Burushaski"},{"code":"bsl","name":"Basa-Gumna"},{"code":"bsm","name":"Busami"},{"code":"bsn","name":"Barasana-Eduria"},{"code":"bso","name":"Buso"},{"code":"bsp","name":"Baga Sitemu"},{"code":"bsq","name":"Bassa"},{"code":"bsr","name":"Bassa-Kontagora"},{"code":"bss","name":"Akoose"},{"code":"bst","name":"Basketo"},{"code":"bsu","name":"Bahonsuai"},{"code":"bsv","name":"Baga Sobanรฉ"},{"code":"bsw","name":"Baiso"},{"code":"bsx","name":"Yangkam"},{"code":"bsy","name":"Sabah Bisaya"},{"code":"bta","name":"Bata"},{"code":"btc","name":"Bati (Cameroon)"},{"code":"btd","name":"Batak Dairi"},{"code":"bte","name":"Gamo-Ningi"},{"code":"btf","name":"Birgit"},{"code":"btg","name":"Gagnoa Bรฉtรฉ"},{"code":"bth","name":"Biatah Bidayuh"},{"code":"bti","name":"Burate"},{"code":"btj","name":"Bacanese Malay"},{"code":"btm","name":"Batak Mandailing"},{"code":"btn","name":"Ratagnon"},{"code":"bto","name":"Rinconada Bikol"},{"code":"btp","name":"Budibud"},{"code":"btq","name":"Batek"},{"code":"btr","name":"Baetora"},{"code":"bts","name":"Batak Simalungun"},{"code":"btt","name":"Bete-Bendi"},{"code":"btu","name":"Batu"},{"code":"btv","name":"Bateri"},{"code":"btw","name":"Butuanon"},{"code":"btx","name":"Batak Karo"},{"code":"bty","name":"Bobot"},{"code":"btz","name":"Batak Alas-Kluet"},{"code":"bua","name":"Buriat"},{"code":"bub","name":"Bua"},{"code":"buc","name":"Bushi"},{"code":"bud","name":"Ntcham"},{"code":"bue","name":"Beothuk"},{"code":"buf","name":"Bushoong"},{"code":"bug","name":"Buginese"},{"code":"buh","name":"Younuo Bunu"},{"code":"bui","name":"Bongili"},{"code":"buj","name":"Basa-Gurmana"},{"code":"buk","name":"Bugawac"},{"code":"bul","name":"Bulgarian"},{"code":"bum","name":"Bulu (Cameroon)"},{"code":"bun","name":"Sherbro"},{"code":"buo","name":"Terei"},{"code":"bup","name":"Busoa"},{"code":"buq","name":"Brem"},{"code":"bus","name":"Bokobaru"},{"code":"but","name":"Bungain"},{"code":"buu","name":"Budu"},{"code":"buv","name":"Bun"},{"code":"buw","name":"Bubi"},{"code":"bux","name":"Boghom"},{"code":"buy","name":"Bullom So"},{"code":"buz","name":"Bukwen"},{"code":"bva","name":"Barein"},{"code":"bvb","name":"Bube"},{"code":"bvc","name":"Baelelea"},{"code":"bvd","name":"Baeggu"},{"code":"bve","name":"Berau Malay"},{"code":"bvf","name":"Boor"},{"code":"bvg","name":"Bonkeng"},{"code":"bvh","name":"Bure"},{"code":"bvi","name":"Belanda Viri"},{"code":"bvj","name":"Baan"},{"code":"bvk","name":"Bukat"},{"code":"bvl","name":"Bolivian Sign Language"},{"code":"bvm","name":"Bamunka"},{"code":"bvn","name":"Buna"},{"code":"bvo","name":"Bolgo"},{"code":"bvp","name":"Bumang"},{"code":"bvq","name":"Birri"},{"code":"bvr","name":"Burarra"},{"code":"bvt","name":"Bati (Indonesia)"},{"code":"bvu","name":"Bukit Malay"},{"code":"bvv","name":"Baniva"},{"code":"bvw","name":"Boga"},{"code":"bvx","name":"Dibole"},{"code":"bvy","name":"Baybayanon"},{"code":"bvz","name":"Bauzi"},{"code":"bwa","name":"Bwatoo"},{"code":"bwb","name":"Namosi-Naitasiri-Serua"},{"code":"bwc","name":"Bwile"},{"code":"bwd","name":"Bwaidoka"},{"code":"bwe","name":"Bwe Karen"},{"code":"bwf","name":"Boselewa"},{"code":"bwg","name":"Barwe"},{"code":"bwh","name":"Bishuo"},{"code":"bwi","name":"Baniwa"},{"code":"bwj","name":"Lรกรก Lรกรก Bwamu"},{"code":"bwk","name":"Bauwaki"},{"code":"bwl","name":"Bwela"},{"code":"bwm","name":"Biwat"},{"code":"bwn","name":"Wunai Bunu"},{"code":"bwo","name":"Borna (Ethiopia)"},{"code":"bwp","name":"Mandobo Bawah"},{"code":"bwq","name":"Southern Bobo Madarรฉ"},{"code":"bwr","name":"Bura-Pabir"},{"code":"bws","name":"Bomboma"},{"code":"bwt","name":"Bafaw-Balong"},{"code":"bwu","name":"Buli (Ghana)"},{"code":"bww","name":"Bwa"},{"code":"bwx","name":"Bu-Nao Bunu"},{"code":"bwy","name":"Cwi Bwamu"},{"code":"bwz","name":"Bwisi"},{"code":"bxa","name":"Tairaha"},{"code":"bxb","name":"Belanda Bor"},{"code":"bxc","name":"Molengue"},{"code":"bxd","name":"Pela"},{"code":"bxe","name":"Birale"},{"code":"bxf","name":"Bilur"},{"code":"bxg","name":"Bangala"},{"code":"bxh","name":"Buhutu"},{"code":"bxi","name":"Pirlatapa"},{"code":"bxj","name":"Bayungu"},{"code":"bxk","name":"Bukusu"},{"code":"bxl","name":"Jalkunan"},{"code":"bxm","name":"Mongolia Buriat"},{"code":"bxn","name":"Burduna"},{"code":"bxo","name":"Barikanchi"},{"code":"bxp","name":"Bebil"},{"code":"bxq","name":"Beele"},{"code":"bxr","name":"Russia Buriat"},{"code":"bxs","name":"Busam"},{"code":"bxu","name":"China Buriat"},{"code":"bxv","name":"Berakou"},{"code":"bxw","name":"Bankagooma"},{"code":"bxz","name":"Binahari"},{"code":"bya","name":"Batak"},{"code":"byb","name":"Bikya"},{"code":"byc","name":"Ubaghara"},{"code":"byd","name":"Benyadu'"},{"code":"bye","name":"Pouye"},{"code":"byf","name":"Bete"},{"code":"byg","name":"Baygo"},{"code":"byh","name":"Bhujel"},{"code":"byi","name":"Buyu"},{"code":"byj","name":"Bina (Nigeria)"},{"code":"byk","name":"Biao"},{"code":"byl","name":"Bayono"},{"code":"bym","name":"Bidjara"},{"code":"byn","name":"Bilin"},{"code":"byo","name":"Biyo"},{"code":"byp","name":"Bumaji"},{"code":"byq","name":"Basay"},{"code":"byr","name":"Baruya"},{"code":"bys","name":"Burak"},{"code":"byt","name":"Berti"},{"code":"byv","name":"Medumba"},{"code":"byw","name":"Belhariya"},{"code":"byx","name":"Qaqet"},{"code":"byz","name":"Banaro"},{"code":"bza","name":"Bandi"},{"code":"bzb","name":"Andio"},{"code":"bzc","name":"Southern Betsimisaraka Malagasy"},{"code":"bzd","name":"Bribri"},{"code":"bze","name":"Jenaama Bozo"},{"code":"bzf","name":"Boikin"},{"code":"bzg","name":"Babuza"},{"code":"bzh","name":"Mapos Buang"},{"code":"bzi","name":"Bisu"},{"code":"bzj","name":"Belize Kriol English"},{"code":"bzk","name":"Nicaragua Creole English"},{"code":"bzl","name":"Boano (Sulawesi)"},{"code":"bzm","name":"Bolondo"},{"code":"bzn","name":"Boano (Maluku)"},{"code":"bzo","name":"Bozaba"},{"code":"bzp","name":"Kemberano"},{"code":"bzq","name":"Buli (Indonesia)"},{"code":"bzr","name":"Biri"},{"code":"bzs","name":"Brazilian Sign Language"},{"code":"bzt","name":"Brithenig"},{"code":"bzu","name":"Burmeso"},{"code":"bzv","name":"Naami"},{"code":"bzw","name":"Basa (Nigeria)"},{"code":"bzx","name":"Kษ›lษ›ngaxo Bozo"},{"code":"bzy","name":"Obanliku"},{"code":"bzz","name":"Evant"},{"code":"caa","name":"Chortรญ"},{"code":"cab","name":"Garifuna"},{"code":"cac","name":"Chuj"},{"code":"cad","name":"Caddo"},{"code":"cae","name":"Laalaa"},{"code":"caf","name":"Southern Carrier"},{"code":"cag","name":"Nivaclรฉ"},{"code":"cah","name":"Cahuarano"},{"code":"caj","name":"Chanรฉ"},{"code":"cak","name":"Cakchiquel"},{"code":"cal","name":"Carolinian"},{"code":"cam","name":"Cemuhรฎ"},{"code":"can","name":"Chambri"},{"code":"cao","name":"Chรกcobo"},{"code":"cap","name":"Chipaya"},{"code":"caq","name":"Car Nicobarese"},{"code":"car","name":"Galibi Carib"},{"code":"cas","name":"Tsimanรฉ"},{"code":"cat","name":"Catalan"},{"code":"cav","name":"Cavineรฑa"},{"code":"caw","name":"Callawalla"},{"code":"cax","name":"Chiquitano"},{"code":"cay","name":"Cayuga"},{"code":"caz","name":"Canichana"},{"code":"cbb","name":"Cabiyarรญ"},{"code":"cbc","name":"Carapana"},{"code":"cbd","name":"Carijona"},{"code":"cbg","name":"Chimila"},{"code":"cbi","name":"Chachi"},{"code":"cbj","name":"Ede Cabe"},{"code":"cbk","name":"Chavacano"},{"code":"cbl","name":"Bualkhaw Chin"},{"code":"cbn","name":"Nyahkur"},{"code":"cbo","name":"Izora"},{"code":"cbq","name":"Cuba"},{"code":"cbr","name":"Cashibo-Cacataibo"},{"code":"cbs","name":"Cashinahua"},{"code":"cbt","name":"Chayahuita"},{"code":"cbu","name":"Candoshi-Shapra"},{"code":"cbv","name":"Cacua"},{"code":"cbw","name":"Kinabalian"},{"code":"cby","name":"Carabayo"},{"code":"ccc","name":"Chamicuro"},{"code":"ccd","name":"Cafundo Creole"},{"code":"cce","name":"Chopi"},{"code":"ccg","name":"Samba Daka"},{"code":"cch","name":"Atsam"},{"code":"ccj","name":"Kasanga"},{"code":"ccl","name":"Cutchi-Swahili"},{"code":"ccm","name":"Malaccan Creole Malay"},{"code":"cco","name":"Comaltepec Chinantec"},{"code":"ccp","name":"Chakma"},{"code":"ccr","name":"Cacaopera"},{"code":"cda","name":"Choni"},{"code":"cde","name":"Chenchu"},{"code":"cdf","name":"Chiru"},{"code":"cdh","name":"Chambeali"},{"code":"cdi","name":"Chodri"},{"code":"cdj","name":"Churahi"},{"code":"cdm","name":"Chepang"},{"code":"cdn","name":"Chaudangsi"},{"code":"cdo","name":"Min Dong Chinese"},{"code":"cdr","name":"Cinda-Regi-Tiyal"},{"code":"cds","name":"Chadian Sign Language"},{"code":"cdy","name":"Chadong"},{"code":"cdz","name":"Koda"},{"code":"cea","name":"Lower Chehalis"},{"code":"ceb","name":"Cebuano"},{"code":"ceg","name":"Chamacoco"},{"code":"cek","name":"Eastern Khumi Chin"},{"code":"cen","name":"Cen"},{"code":"ces","name":"Czech"},{"code":"cet","name":"Centรบรบm"},{"code":"cey","name":"Ekai Chin"},{"code":"cfa","name":"Dijim-Bwilim"},{"code":"cfd","name":"Cara"},{"code":"cfg","name":"Como Karim"},{"code":"cfm","name":"Falam Chin"},{"code":"cga","name":"Changriwa"},{"code":"cgc","name":"Kagayanen"},{"code":"cgg","name":"Chiga"},{"code":"cgk","name":"Chocangacakha"},{"code":"cha","name":"Chamorro"},{"code":"chb","name":"Chibcha"},{"code":"chc","name":"Catawba"},{"code":"chd","name":"Highland Oaxaca Chontal"},{"code":"che","name":"Chechen"},{"code":"chf","name":"Tabasco Chontal"},{"code":"chg","name":"Chagatai"},{"code":"chh","name":"Chinook"},{"code":"chj","name":"Ojitlรกn Chinantec"},{"code":"chk","name":"Chuukese"},{"code":"chl","name":"Cahuilla"},{"code":"chm","name":"Mari (Russia)"},{"code":"chn","name":"Chinook jargon"},{"code":"cho","name":"Choctaw"},{"code":"chp","name":"Chipewyan"},{"code":"chq","name":"Quiotepec Chinantec"},{"code":"chr","name":"Cherokee"},{"code":"cht","name":"Cholรณn"},{"code":"chu","name":"Church Slavic"},{"code":"chv","name":"Chuvash"},{"code":"chw","name":"Chuwabu"},{"code":"chx","name":"Chantyal"},{"code":"chy","name":"Cheyenne"},{"code":"chz","name":"Ozumacรญn Chinantec"},{"code":"cia","name":"Cia-Cia"},{"code":"cib","name":"Ci Gbe"},{"code":"cic","name":"Chickasaw"},{"code":"cid","name":"Chimariko"},{"code":"cie","name":"Cineni"},{"code":"cih","name":"Chinali"},{"code":"cik","name":"Chitkuli Kinnauri"},{"code":"cim","name":"Cimbrian"},{"code":"cin","name":"Cinta Larga"},{"code":"cip","name":"Chiapanec"},{"code":"cir","name":"Hamรฉa"},{"code":"ciw","name":"Chippewa"},{"code":"ciy","name":"Chaima"},{"code":"cja","name":"Western Cham"},{"code":"cje","name":"Chru"},{"code":"cjh","name":"Upper Chehalis"},{"code":"cji","name":"Chamalal"},{"code":"cjk","name":"Chokwe"},{"code":"cjm","name":"Eastern Cham"},{"code":"cjn","name":"Chenapian"},{"code":"cjo","name":"Ashรฉninka Pajonal"},{"code":"cjp","name":"Cabรฉcar"},{"code":"cjs","name":"Shor"},{"code":"cjv","name":"Chuave"},{"code":"cjy","name":"Jinyu Chinese"},{"code":"ckb","name":"Central Kurdish"},{"code":"ckh","name":"Chak"},{"code":"ckl","name":"Cibak"},{"code":"ckm","name":"Chakavian"},{"code":"ckn","name":"Kaang Chin"},{"code":"cko","name":"Anufo"},{"code":"ckq","name":"Kajakse"},{"code":"ckr","name":"Kairak"},{"code":"cks","name":"Tayo"},{"code":"ckt","name":"Chukot"},{"code":"cku","name":"Koasati"},{"code":"ckv","name":"Kavalan"},{"code":"ckx","name":"Caka"},{"code":"cky","name":"Cakfem-Mushere"},{"code":"ckz","name":"Cakchiquel-Quichรฉ Mixed Language"},{"code":"cla","name":"Ron"},{"code":"clc","name":"Chilcotin"},{"code":"cld","name":"Chaldean Neo-Aramaic"},{"code":"cle","name":"Lealao Chinantec"},{"code":"clh","name":"Chilisso"},{"code":"cli","name":"Chakali"},{"code":"clj","name":"Laitu Chin"},{"code":"clk","name":"Idu-Mishmi"},{"code":"cll","name":"Chala"},{"code":"clm","name":"Clallam"},{"code":"clo","name":"Lowland Oaxaca Chontal"},{"code":"clt","name":"Lautu Chin"},{"code":"clu","name":"Caluyanun"},{"code":"clw","name":"Chulym"},{"code":"cly","name":"Eastern Highland Chatino"},{"code":"cma","name":"Maa"},{"code":"cme","name":"Cerma"},{"code":"cmg","name":"Classical Mongolian"},{"code":"cmi","name":"Emberรก-Chamรญ"},{"code":"cml","name":"Campalagian"},{"code":"cmm","name":"Michigamea"},{"code":"cmn","name":"Mandarin Chinese"},{"code":"cmo","name":"Central Mnong"},{"code":"cmr","name":"Mro-Khimi Chin"},{"code":"cms","name":"Messapic"},{"code":"cmt","name":"Camtho"},{"code":"cna","name":"Changthang"},{"code":"cnb","name":"Chinbon Chin"},{"code":"cnc","name":"Cรดรดng"},{"code":"cng","name":"Northern Qiang"},{"code":"cnh","name":"Haka Chin"},{"code":"cni","name":"Ashรกninka"},{"code":"cnk","name":"Khumi Chin"},{"code":"cnl","name":"Lalana Chinantec"},{"code":"cno","name":"Con"},{"code":"cnp","name":"Northern Ping Chinese"},{"code":"cnr","name":"Montenegrin"},{"code":"cns","name":"Central Asmat"},{"code":"cnt","name":"Tepetotutla Chinantec"},{"code":"cnu","name":"Chenoua"},{"code":"cnw","name":"Ngawn Chin"},{"code":"cnx","name":"Middle Cornish"},{"code":"coa","name":"Cocos Islands Malay"},{"code":"cob","name":"Chicomuceltec"},{"code":"coc","name":"Cocopa"},{"code":"cod","name":"Cocama-Cocamilla"},{"code":"coe","name":"Koreguaje"},{"code":"cof","name":"Colorado"},{"code":"cog","name":"Chong"},{"code":"coh","name":"Chichonyi-Chidzihana-Chikauma"},{"code":"coj","name":"Cochimi"},{"code":"cok","name":"Santa Teresa Cora"},{"code":"col","name":"Columbia-Wenatchi"},{"code":"com","name":"Comanche"},{"code":"con","name":"Cofรกn"},{"code":"coo","name":"Comox"},{"code":"cop","name":"Coptic"},{"code":"coq","name":"Coquille"},{"code":"cor","name":"Cornish"},{"code":"cos","name":"Corsican"},{"code":"cot","name":"Caquinte"},{"code":"cou","name":"Wamey"},{"code":"cov","name":"Cao Miao"},{"code":"cow","name":"Cowlitz"},{"code":"cox","name":"Nanti"},{"code":"coz","name":"Chochotec"},{"code":"cpa","name":"Palantla Chinantec"},{"code":"cpb","name":"Ucayali-Yurรบa Ashรฉninka"},{"code":"cpc","name":"Ajyรญninka Apurucayali"},{"code":"cpg","name":"Cappadocian Greek"},{"code":"cpi","name":"Chinese Pidgin English"},{"code":"cpn","name":"Cherepon"},{"code":"cpo","name":"Kpeego"},{"code":"cps","name":"Capiznon"},{"code":"cpu","name":"Pichis Ashรฉninka"},{"code":"cpx","name":"Pu-Xian Chinese"},{"code":"cpy","name":"South Ucayali Ashรฉninka"},{"code":"cqd","name":"Chuanqiandian Cluster Miao"},{"code":"cra","name":"Chara"},{"code":"crb","name":"Island Carib"},{"code":"crc","name":"Lonwolwol"},{"code":"crd","name":"Coeur d'Alene"},{"code":"cre","name":"Cree"},{"code":"crf","name":"Caramanta"},{"code":"crg","name":"Michif"},{"code":"crh","name":"Crimean Tatar"},{"code":"cri","name":"Sรฃotomense"},{"code":"crj","name":"Southern East Cree"},{"code":"crk","name":"Plains Cree"},{"code":"crl","name":"Northern East Cree"},{"code":"crm","name":"Moose Cree"},{"code":"crn","name":"El Nayar Cora"},{"code":"cro","name":"Crow"},{"code":"crq","name":"Iyo'wujwa Chorote"},{"code":"crr","name":"Carolina Algonquian"},{"code":"crs","name":"Seselwa Creole French"},{"code":"crt","name":"Iyojwa'ja Chorote"},{"code":"crv","name":"Chaura"},{"code":"crw","name":"Chrau"},{"code":"crx","name":"Carrier"},{"code":"cry","name":"Cori"},{"code":"crz","name":"Cruzeรฑo"},{"code":"csa","name":"Chiltepec Chinantec"},{"code":"csb","name":"Kashubian"},{"code":"csc","name":"Catalan Sign Language"},{"code":"csd","name":"Chiangmai Sign Language"},{"code":"cse","name":"Czech Sign Language"},{"code":"csf","name":"Cuba Sign Language"},{"code":"csg","name":"Chilean Sign Language"},{"code":"csh","name":"Asho Chin"},{"code":"csi","name":"Coast Miwok"},{"code":"csj","name":"Songlai Chin"},{"code":"csk","name":"Jola-Kasa"},{"code":"csl","name":"Chinese Sign Language"},{"code":"csm","name":"Central Sierra Miwok"},{"code":"csn","name":"Colombian Sign Language"},{"code":"cso","name":"Sochiapam Chinantec"},{"code":"csp","name":"Southern Ping Chinese"},{"code":"csq","name":"Croatia Sign Language"},{"code":"csr","name":"Costa Rican Sign Language"},{"code":"css","name":"Southern Ohlone"},{"code":"cst","name":"Northern Ohlone"},{"code":"csv","name":"Sumtu Chin"},{"code":"csw","name":"Swampy Cree"},{"code":"csx","name":"Cambodian Sign Language"},{"code":"csy","name":"Siyin Chin"},{"code":"csz","name":"Coos"},{"code":"cta","name":"Tataltepec Chatino"},{"code":"ctc","name":"Chetco"},{"code":"ctd","name":"Tedim Chin"},{"code":"cte","name":"Tepinapa Chinantec"},{"code":"ctg","name":"Chittagonian"},{"code":"cth","name":"Thaiphum Chin"},{"code":"ctl","name":"Tlacoatzintepec Chinantec"},{"code":"ctm","name":"Chitimacha"},{"code":"ctn","name":"Chhintange"},{"code":"cto","name":"Emberรก-Catรญo"},{"code":"ctp","name":"Western Highland Chatino"},{"code":"cts","name":"Northern Catanduanes Bikol"},{"code":"ctt","name":"Wayanad Chetti"},{"code":"ctu","name":"Chol"},{"code":"cty","name":"Moundadan Chetty"},{"code":"ctz","name":"Zacatepec Chatino"},{"code":"cua","name":"Cua"},{"code":"cub","name":"Cubeo"},{"code":"cuc","name":"Usila Chinantec"},{"code":"cug","name":"Chungmboko"},{"code":"cuh","name":"Chuka"},{"code":"cui","name":"Cuiba"},{"code":"cuj","name":"Mashco Piro"},{"code":"cuk","name":"San Blas Kuna"},{"code":"cul","name":"Culina"},{"code":"cuo","name":"Cumanagoto"},{"code":"cup","name":"Cupeรฑo"},{"code":"cuq","name":"Cun"},{"code":"cur","name":"Chhulung"},{"code":"cut","name":"Teutila Cuicatec"},{"code":"cuu","name":"Tai Ya"},{"code":"cuv","name":"Cuvok"},{"code":"cuw","name":"Chukwa"},{"code":"cux","name":"Tepeuxila Cuicatec"},{"code":"cuy","name":"Cuitlatec"},{"code":"cvg","name":"Chug"},{"code":"cvn","name":"Valle Nacional Chinantec"},{"code":"cwa","name":"Kabwa"},{"code":"cwb","name":"Maindo"},{"code":"cwd","name":"Woods Cree"},{"code":"cwe","name":"Kwere"},{"code":"cwg","name":"Cheq Wong"},{"code":"cwt","name":"Kuwaataay"},{"code":"cya","name":"Nopala Chatino"},{"code":"cyb","name":"Cayubaba"},{"code":"cym","name":"Welsh"},{"code":"cyo","name":"Cuyonon"},{"code":"czh","name":"Huizhou Chinese"},{"code":"czk","name":"Knaanic"},{"code":"czn","name":"Zenzontepec Chatino"},{"code":"czo","name":"Min Zhong Chinese"},{"code":"czt","name":"Zotung Chin"},{"code":"daa","name":"Dangalรฉat"},{"code":"dac","name":"Dambi"},{"code":"dad","name":"Marik"},{"code":"dae","name":"Duupa"},{"code":"dag","name":"Dagbani"},{"code":"dah","name":"Gwahatike"},{"code":"dai","name":"Day"},{"code":"daj","name":"Dar Fur Daju"},{"code":"dak","name":"Dakota"},{"code":"dal","name":"Dahalo"},{"code":"dam","name":"Damakawa"},{"code":"dan","name":"Danish"},{"code":"dao","name":"Daai Chin"},{"code":"daq","name":"Dandami Maria"},{"code":"dar","name":"Dargwa"},{"code":"das","name":"Daho-Doo"},{"code":"dau","name":"Dar Sila Daju"},{"code":"dav","name":"Dawida"},{"code":"daw","name":"Davawenyo"},{"code":"dax","name":"Dayi"},{"code":"daz","name":"Dao"},{"code":"dba","name":"Bangime"},{"code":"dbb","name":"Deno"},{"code":"dbd","name":"Dadiya"},{"code":"dbe","name":"Dabe"},{"code":"dbf","name":"Edopi"},{"code":"dbg","name":"Dogul Dom Dogon"},{"code":"dbi","name":"Doka"},{"code":"dbj","name":"Ida'an"},{"code":"dbl","name":"Dyirbal"},{"code":"dbm","name":"Duguri"},{"code":"dbn","name":"Duriankere"},{"code":"dbo","name":"Dulbu"},{"code":"dbp","name":"Duwai"},{"code":"dbq","name":"Daba"},{"code":"dbr","name":"Dabarre"},{"code":"dbt","name":"Ben Tey Dogon"},{"code":"dbu","name":"Bondum Dom Dogon"},{"code":"dbv","name":"Dungu"},{"code":"dbw","name":"Bankan Tey Dogon"},{"code":"dby","name":"Dibiyaso"},{"code":"dcc","name":"Deccan"},{"code":"dcr","name":"Negerhollands"},{"code":"dda","name":"Dadi Dadi"},{"code":"ddd","name":"Dongotono"},{"code":"dde","name":"Doondo"},{"code":"ddg","name":"Fataluku"},{"code":"ddi","name":"West Goodenough"},{"code":"ddj","name":"Jaru"},{"code":"ddn","name":"Dendi (Benin)"},{"code":"ddo","name":"Dido"},{"code":"ddr","name":"Dhudhuroa"},{"code":"dds","name":"Donno So Dogon"},{"code":"ddw","name":"Dawera-Daweloor"},{"code":"dec","name":"Dagik"},{"code":"ded","name":"Dedua"},{"code":"dee","name":"Dewoin"},{"code":"def","name":"Dezfuli"},{"code":"deg","name":"Degema"},{"code":"deh","name":"Dehwari"},{"code":"dei","name":"Demisa"},{"code":"dek","name":"Dek"},{"code":"del","name":"Delaware"},{"code":"dem","name":"Dem"},{"code":"den","name":"Slave (Athapascan)"},{"code":"dep","name":"Pidgin Delaware"},{"code":"deq","name":"Dendi (Central African Republic)"},{"code":"der","name":"Deori"},{"code":"des","name":"Desano"},{"code":"deu","name":"German"},{"code":"dev","name":"Domung"},{"code":"dez","name":"Dengese"},{"code":"dga","name":"Southern Dagaare"},{"code":"dgb","name":"Bunoge Dogon"},{"code":"dgc","name":"Casiguran Dumagat Agta"},{"code":"dgd","name":"Dagaari Dioula"},{"code":"dge","name":"Degenan"},{"code":"dgg","name":"Doga"},{"code":"dgh","name":"Dghwede"},{"code":"dgi","name":"Northern Dagara"},{"code":"dgk","name":"Dagba"},{"code":"dgl","name":"Andaandi"},{"code":"dgn","name":"Dagoman"},{"code":"dgo","name":"Dogri (individual language)"},{"code":"dgr","name":"Dogrib"},{"code":"dgs","name":"Dogoso"},{"code":"dgt","name":"Ndra'ngith"},{"code":"dgw","name":"Daungwurrung"},{"code":"dgx","name":"Doghoro"},{"code":"dgz","name":"Daga"},{"code":"dhd","name":"Dhundari"},{"code":"dhg","name":"Dhangu"},{"code":"dhi","name":"Dhimal"},{"code":"dhl","name":"Dhalandji"},{"code":"dhm","name":"Zemba"},{"code":"dhn","name":"Dhanki"},{"code":"dho","name":"Dhodia"},{"code":"dhr","name":"Dhargari"},{"code":"dhs","name":"Dhaiso"},{"code":"dhu","name":"Dhurga"},{"code":"dhv","name":"Dehu"},{"code":"dhw","name":"Dhanwar (Nepal)"},{"code":"dhx","name":"Dhungaloo"},{"code":"dia","name":"Dia"},{"code":"dib","name":"South Central Dinka"},{"code":"dic","name":"Lakota Dida"},{"code":"did","name":"Didinga"},{"code":"dif","name":"Dieri"},{"code":"dig","name":"Chidigo"},{"code":"dih","name":"Kumiai"},{"code":"dii","name":"Dimbong"},{"code":"dij","name":"Dai"},{"code":"dik","name":"Southwestern Dinka"},{"code":"dil","name":"Dilling"},{"code":"dim","name":"Dime"},{"code":"din","name":"Dinka"},{"code":"dio","name":"Dibo"},{"code":"dip","name":"Northeastern Dinka"},{"code":"diq","name":"Dimli (individual language)"},{"code":"dir","name":"Dirim"},{"code":"dis","name":"Dimasa"},{"code":"diu","name":"Diriku"},{"code":"div","name":"Dhivehi"},{"code":"diw","name":"Northwestern Dinka"},{"code":"dix","name":"Dixon Reef"},{"code":"diy","name":"Diuwe"},{"code":"diz","name":"Ding"},{"code":"dja","name":"Djadjawurrung"},{"code":"djb","name":"Djinba"},{"code":"djc","name":"Dar Daju Daju"},{"code":"djd","name":"Djamindjung"},{"code":"dje","name":"Zarma"},{"code":"djf","name":"Djangun"},{"code":"dji","name":"Djinang"},{"code":"djj","name":"Djeebbana"},{"code":"djk","name":"Businenge Tongo"},{"code":"djm","name":"Jamsay Dogon"},{"code":"djn","name":"Djauan"},{"code":"djo","name":"Jangkang"},{"code":"djr","name":"Djambarrpuyngu"},{"code":"dju","name":"Kapriman"},{"code":"djw","name":"Djawi"},{"code":"dka","name":"Dakpakha"},{"code":"dkg","name":"Kadung"},{"code":"dkk","name":"Dakka"},{"code":"dkr","name":"Kuijau"},{"code":"dks","name":"Southeastern Dinka"},{"code":"dkx","name":"Mazagway"},{"code":"dlg","name":"Dolgan"},{"code":"dlk","name":"Dahalik"},{"code":"dlm","name":"Dalmatian"},{"code":"dln","name":"Darlong"},{"code":"dma","name":"Duma"},{"code":"dmb","name":"Mombo Dogon"},{"code":"dmc","name":"Gavak"},{"code":"dmd","name":"Madhi Madhi"},{"code":"dme","name":"Dugwor"},{"code":"dmf","name":"Medefaidrin"},{"code":"dmg","name":"Upper Kinabatangan"},{"code":"dmk","name":"Domaaki"},{"code":"dml","name":"Dameli"},{"code":"dmm","name":"Dama"},{"code":"dmo","name":"Kemedzung"},{"code":"dmr","name":"East Damar"},{"code":"dms","name":"Dampelas"},{"code":"dmu","name":"Dubu"},{"code":"dmv","name":"Dumpas"},{"code":"dmw","name":"Mudburra"},{"code":"dmx","name":"Dema"},{"code":"dmy","name":"Demta"},{"code":"dna","name":"Upper Grand Valley Dani"},{"code":"dnd","name":"Daonda"},{"code":"dne","name":"Ndendeule"},{"code":"dng","name":"Dungan"},{"code":"dni","name":"Lower Grand Valley Dani"},{"code":"dnj","name":"Dan"},{"code":"dnk","name":"Dengka"},{"code":"dnn","name":"Dzรนรนngoo"},{"code":"dno","name":"Ndrulo"},{"code":"dnr","name":"Danaru"},{"code":"dnt","name":"Mid Grand Valley Dani"},{"code":"dnu","name":"Danau"},{"code":"dnv","name":"Danu"},{"code":"dnw","name":"Western Dani"},{"code":"dny","name":"Denรญ"},{"code":"doa","name":"Dom"},{"code":"dob","name":"Dobu"},{"code":"doc","name":"Northern Dong"},{"code":"doe","name":"Doe"},{"code":"dof","name":"Domu"},{"code":"doh","name":"Dong"},{"code":"doi","name":"Dogri (macrolanguage)"},{"code":"dok","name":"Dondo"},{"code":"dol","name":"Doso"},{"code":"don","name":"Toura (Papua New Guinea)"},{"code":"doo","name":"Dongo"},{"code":"dop","name":"Lukpa"},{"code":"doq","name":"Dominican Sign Language"},{"code":"dor","name":"Dori'o"},{"code":"dos","name":"Dogosรฉ"},{"code":"dot","name":"Dass"},{"code":"dov","name":"Dombe"},{"code":"dow","name":"Doyayo"},{"code":"dox","name":"Bussa"},{"code":"doy","name":"Dompo"},{"code":"doz","name":"Dorze"},{"code":"dpp","name":"Papar"},{"code":"drb","name":"Dair"},{"code":"drc","name":"Minderico"},{"code":"drd","name":"Darmiya"},{"code":"dre","name":"Dolpo"},{"code":"drg","name":"Rungus"},{"code":"dri","name":"C'Lela"},{"code":"drl","name":"Paakantyi"},{"code":"drn","name":"West Damar"},{"code":"dro","name":"Daro-Matu Melanau"},{"code":"drq","name":"Dura"},{"code":"drs","name":"Gedeo"},{"code":"drt","name":"Drents"},{"code":"dru","name":"Rukai"},{"code":"dry","name":"Darai"},{"code":"dsb","name":"Lower Sorbian"},{"code":"dse","name":"Dutch Sign Language"},{"code":"dsh","name":"Daasanach"},{"code":"dsi","name":"Disa"},{"code":"dsl","name":"Danish Sign Language"},{"code":"dsn","name":"Dusner"},{"code":"dso","name":"Desiya"},{"code":"dsq","name":"Tadaksahak"},{"code":"dta","name":"Daur"},{"code":"dtb","name":"Labuk-Kinabatangan Kadazan"},{"code":"dtd","name":"Ditidaht"},{"code":"dth","name":"Adithinngithigh"},{"code":"dti","name":"Ana Tinga Dogon"},{"code":"dtk","name":"Tene Kan Dogon"},{"code":"dtm","name":"Tomo Kan Dogon"},{"code":"dtn","name":"Daatsสผiฬin"},{"code":"dto","name":"Tommo So Dogon"},{"code":"dtp","name":"Central Dusun"},{"code":"dtr","name":"Lotud"},{"code":"dts","name":"Toro So Dogon"},{"code":"dtt","name":"Toro Tegu Dogon"},{"code":"dtu","name":"Tebul Ure Dogon"},{"code":"dty","name":"Dotyali"},{"code":"dua","name":"Duala"},{"code":"dub","name":"Dubli"},{"code":"duc","name":"Duna"},{"code":"due","name":"Umiray Dumaget Agta"},{"code":"duf","name":"Drubea"},{"code":"dug","name":"Chiduruma"},{"code":"duh","name":"Dungra Bhil"},{"code":"dui","name":"Dumun"},{"code":"duk","name":"Uyajitaya"},{"code":"dul","name":"Alabat Island Agta"},{"code":"dum","name":"Middle Dutch (ca. 1050-1350)"},{"code":"dun","name":"Dusun Deyah"},{"code":"duo","name":"Dupaninan Agta"},{"code":"dup","name":"Duano"},{"code":"duq","name":"Dusun Malang"},{"code":"dur","name":"Dii"},{"code":"dus","name":"Dumi"},{"code":"duu","name":"Drung"},{"code":"duv","name":"Duvle"},{"code":"duw","name":"Dusun Witu"},{"code":"dux","name":"Duungooma"},{"code":"duy","name":"Dicamay Agta"},{"code":"duz","name":"Duli-Gey"},{"code":"dva","name":"Duau"},{"code":"dwa","name":"Diri"},{"code":"dwk","name":"Dawik Kui"},{"code":"dwr","name":"Dawro"},{"code":"dws","name":"Dutton World Speedwords"},{"code":"dwu","name":"Dhuwal"},{"code":"dww","name":"Dawawa"},{"code":"dwy","name":"Dhuwaya"},{"code":"dwz","name":"Dewas Rai"},{"code":"dya","name":"Dyan"},{"code":"dyb","name":"Dyaberdyaber"},{"code":"dyd","name":"Dyugun"},{"code":"dyg","name":"Villa Viciosa Agta"},{"code":"dyi","name":"Djimini Senoufo"},{"code":"dym","name":"Yanda Dom Dogon"},{"code":"dyn","name":"Dhanggatti"},{"code":"dyo","name":"Jola-Fonyi"},{"code":"dyu","name":"Dyula"},{"code":"dyy","name":"Djabugay"},{"code":"dza","name":"Tunzu"},{"code":"dze","name":"Djiwarli"},{"code":"dzg","name":"Dazaga"},{"code":"dzl","name":"Dzalakha"},{"code":"dzn","name":"Dzando"},{"code":"dzo","name":"Dzongkha"},{"code":"eaa","name":"Karenggapa"},{"code":"ebc","name":"Beginci"},{"code":"ebg","name":"Ebughu"},{"code":"ebk","name":"Eastern Bontok"},{"code":"ebo","name":"Teke-Ebo"},{"code":"ebr","name":"Ebriรฉ"},{"code":"ebu","name":"Embu"},{"code":"ecr","name":"Eteocretan"},{"code":"ecs","name":"Ecuadorian Sign Language"},{"code":"ecy","name":"Eteocypriot"},{"code":"eee","name":"E"},{"code":"efa","name":"Efai"},{"code":"efe","name":"Efe"},{"code":"efi","name":"Efik"},{"code":"ega","name":"Ega"},{"code":"egl","name":"Emilian"},{"code":"ego","name":"Eggon"},{"code":"egy","name":"Egyptian (Ancient)"},{"code":"ehs","name":"Miyakubo Sign Language"},{"code":"ehu","name":"Ehueun"},{"code":"eip","name":"Eipomek"},{"code":"eit","name":"Eitiep"},{"code":"eiv","name":"Askopan"},{"code":"eja","name":"Ejamat"},{"code":"eka","name":"Ekajuk"},{"code":"eke","name":"Ekit"},{"code":"ekg","name":"Ekari"},{"code":"eki","name":"Eki"},{"code":"ekk","name":"Standard Estonian"},{"code":"ekl","name":"Kol"},{"code":"ekm","name":"Elip"},{"code":"eko","name":"Koti"},{"code":"ekp","name":"Ekpeye"},{"code":"ekr","name":"Yace"},{"code":"eky","name":"Eastern Kayah"},{"code":"ele","name":"Elepi"},{"code":"elh","name":"El Hugeirat"},{"code":"eli","name":"Nding"},{"code":"elk","name":"Elkei"},{"code":"ell","name":"Greek"},{"code":"elm","name":"Eleme"},{"code":"elo","name":"El Molo"},{"code":"elu","name":"Elu"},{"code":"elx","name":"Elamite"},{"code":"ema","name":"Emai-Iuleha-Ora"},{"code":"emb","name":"Embaloh"},{"code":"eme","name":"Emerillon"},{"code":"emg","name":"Eastern Meohang"},{"code":"emi","name":"Mussau-Emira"},{"code":"emk","name":"Eastern Maninkakan"},{"code":"emm","name":"Mamulique"},{"code":"emn","name":"Eman"},{"code":"emp","name":"Northern Emberรก"},{"code":"emq","name":"Eastern Minyag"},{"code":"ems","name":"Pacific Gulf Yupik"},{"code":"emu","name":"Eastern Muria"},{"code":"emw","name":"Emplawas"},{"code":"emx","name":"Erromintxela"},{"code":"emy","name":"Epigraphic Mayan"},{"code":"emz","name":"Mbessa"},{"code":"ena","name":"Apali"},{"code":"enb","name":"Markweeta"},{"code":"enc","name":"En"},{"code":"end","name":"Ende"},{"code":"enf","name":"Forest Enets"},{"code":"eng","name":"English"},{"code":"enh","name":"Tundra Enets"},{"code":"enl","name":"Enlhet"},{"code":"enm","name":"Middle English (1100-1500)"},{"code":"enn","name":"Engenni"},{"code":"eno","name":"Enggano"},{"code":"enq","name":"Enga"},{"code":"enr","name":"Emem"},{"code":"enu","name":"Enu"},{"code":"env","name":"Enwan (Edu State)"},{"code":"enw","name":"Enwan (Akwa Ibom State)"},{"code":"enx","name":"Enxet"},{"code":"eot","name":"Beti (Cรดte d'Ivoire)"},{"code":"epi","name":"Epie"},{"code":"epo","name":"Esperanto"},{"code":"era","name":"Eravallan"},{"code":"erg","name":"Sie"},{"code":"erh","name":"Eruwa"},{"code":"eri","name":"Ogea"},{"code":"erk","name":"South Efate"},{"code":"ero","name":"Horpa"},{"code":"err","name":"Erre"},{"code":"ers","name":"Ersu"},{"code":"ert","name":"Eritai"},{"code":"erw","name":"Erokwanas"},{"code":"ese","name":"Ese Ejja"},{"code":"esg","name":"Aheri Gondi"},{"code":"esh","name":"Eshtehardi"},{"code":"esi","name":"North Alaskan Inupiatun"},{"code":"esk","name":"Northwest Alaska Inupiatun"},{"code":"esl","name":"Egypt Sign Language"},{"code":"esm","name":"Esuma"},{"code":"esn","name":"Salvadoran Sign Language"},{"code":"eso","name":"Estonian Sign Language"},{"code":"esq","name":"Esselen"},{"code":"ess","name":"Central Siberian Yupik"},{"code":"est","name":"Estonian"},{"code":"esu","name":"Central Yupik"},{"code":"esy","name":"Eskayan"},{"code":"etb","name":"Etebi"},{"code":"etc","name":"Etchemin"},{"code":"eth","name":"Ethiopian Sign Language"},{"code":"etn","name":"Eton (Vanuatu)"},{"code":"eto","name":"Eton (Cameroon)"},{"code":"etr","name":"Edolo"},{"code":"ets","name":"Yekhee"},{"code":"ett","name":"Etruscan"},{"code":"etu","name":"Ejagham"},{"code":"etx","name":"Eten"},{"code":"etz","name":"Semimi"},{"code":"eus","name":"Basque"},{"code":"eve","name":"Even"},{"code":"evh","name":"Uvbie"},{"code":"evn","name":"Evenki"},{"code":"ewe","name":"Ewe"},{"code":"ewo","name":"Ewondo"},{"code":"ext","name":"Extremaduran"},{"code":"eya","name":"Eyak"},{"code":"eyo","name":"Keiyo"},{"code":"eza","name":"Ezaa"},{"code":"eze","name":"Uzekwe"},{"code":"faa","name":"Fasu"},{"code":"fab","name":"Fa d'Ambu"},{"code":"fad","name":"Wagi"},{"code":"faf","name":"Fagani"},{"code":"fag","name":"Finongan"},{"code":"fah","name":"Baissa Fali"},{"code":"fai","name":"Faiwol"},{"code":"faj","name":"Faita"},{"code":"fak","name":"Fang (Cameroon)"},{"code":"fal","name":"South Fali"},{"code":"fam","name":"Fam"},{"code":"fan","name":"Fang (Equatorial Guinea)"},{"code":"fao","name":"Faroese"},{"code":"fap","name":"Paloor"},{"code":"far","name":"Fataleka"},{"code":"fas","name":"Persian"},{"code":"fat","name":"Fanti"},{"code":"fau","name":"Fayu"},{"code":"fax","name":"Fala"},{"code":"fay","name":"Southwestern Fars"},{"code":"faz","name":"Northwestern Fars"},{"code":"fbl","name":"West Albay Bikol"},{"code":"fcs","name":"Quebec Sign Language"},{"code":"fer","name":"Feroge"},{"code":"ffi","name":"Foia Foia"},{"code":"ffm","name":"Maasina Fulfulde"},{"code":"fgr","name":"Fongoro"},{"code":"fia","name":"Nobiin"},{"code":"fie","name":"Fyer"},{"code":"fif","name":"Faifi"},{"code":"fij","name":"Fijian"},{"code":"fil","name":"Filipino"},{"code":"fin","name":"Finnish"},{"code":"fip","name":"Fipa"},{"code":"fir","name":"Firan"},{"code":"fit","name":"Tornedalen Finnish"},{"code":"fiw","name":"Fiwaga"},{"code":"fkk","name":"Kirya-Konzษ™l"},{"code":"fkv","name":"Kven Finnish"},{"code":"fla","name":"Kalispel-Pend d'Oreille"},{"code":"flh","name":"Foau"},{"code":"fli","name":"Fali"},{"code":"fll","name":"North Fali"},{"code":"fln","name":"Flinders Island"},{"code":"flr","name":"Fuliiru"},{"code":"fly","name":"Flaaitaal"},{"code":"fmp","name":"Fe'fe'"},{"code":"fmu","name":"Far Western Muria"},{"code":"fnb","name":"Fanbak"},{"code":"fng","name":"Fanagalo"},{"code":"fni","name":"Fania"},{"code":"fod","name":"Foodo"},{"code":"foi","name":"Foi"},{"code":"fom","name":"Foma"},{"code":"fon","name":"Fon"},{"code":"for","name":"Fore"},{"code":"fos","name":"Siraya"},{"code":"fpe","name":"Fernando Po Creole English"},{"code":"fqs","name":"Fas"},{"code":"fra","name":"French"},{"code":"frc","name":"Cajun French"},{"code":"frd","name":"Fordata"},{"code":"frk","name":"Frankish"},{"code":"frm","name":"Middle French (ca. 1400-1600)"},{"code":"fro","name":"Old French (842-ca. 1400)"},{"code":"frp","name":"Arpitan"},{"code":"frq","name":"Forak"},{"code":"frr","name":"Northern Frisian"},{"code":"frs","name":"Eastern Frisian"},{"code":"frt","name":"Fortsenal"},{"code":"fry","name":"Western Frisian"},{"code":"fse","name":"Finnish Sign Language"},{"code":"fsl","name":"French Sign Language"},{"code":"fss","name":"finlandssvenskt teckensprรฅk"},{"code":"fub","name":"Adamawa Fulfulde"},{"code":"fuc","name":"Pulaar"},{"code":"fud","name":"East Futuna"},{"code":"fue","name":"Borgu Fulfulde"},{"code":"fuf","name":"Pular"},{"code":"fuh","name":"Western Niger Fulfulde"},{"code":"fui","name":"Bagirmi Fulfulde"},{"code":"fuj","name":"Ko"},{"code":"ful","name":"Fulah"},{"code":"fum","name":"Fum"},{"code":"fun","name":"Fulniรด"},{"code":"fuq","name":"Central-Eastern Niger Fulfulde"},{"code":"fur","name":"Friulian"},{"code":"fut","name":"Futuna-Aniwa"},{"code":"fuu","name":"Furu"},{"code":"fuv","name":"Nigerian Fulfulde"},{"code":"fuy","name":"Fuyug"},{"code":"fvr","name":"Fur"},{"code":"fwa","name":"Fwรขi"},{"code":"fwe","name":"Fwe"},{"code":"gaa","name":"Ga"},{"code":"gab","name":"Gabri"},{"code":"gac","name":"Mixed Great Andamanese"},{"code":"gad","name":"Gaddang"},{"code":"gae","name":"Guarequena"},{"code":"gaf","name":"Gende"},{"code":"gag","name":"Gagauz"},{"code":"gah","name":"Alekano"},{"code":"gai","name":"Borei"},{"code":"gaj","name":"Gadsup"},{"code":"gak","name":"Gamkonora"},{"code":"gal","name":"Galolen"},{"code":"gam","name":"Kandawo"},{"code":"gan","name":"Gan Chinese"},{"code":"gao","name":"Gants"},{"code":"gap","name":"Gal"},{"code":"gaq","name":"Gata'"},{"code":"gar","name":"Galeya"},{"code":"gas","name":"Adiwasi Garasia"},{"code":"gat","name":"Kenati"},{"code":"gau","name":"Mudhili Gadaba"},{"code":"gaw","name":"Nobonob"},{"code":"gax","name":"Borana-Arsi-Guji Oromo"},{"code":"gay","name":"Gayo"},{"code":"gaz","name":"West Central Oromo"},{"code":"gba","name":"Gbaya (Central African Republic)"},{"code":"gbb","name":"Kaytetye"},{"code":"gbd","name":"Karajarri"},{"code":"gbe","name":"Niksek"},{"code":"gbf","name":"Gaikundi"},{"code":"gbg","name":"Gbanziri"},{"code":"gbh","name":"Defi Gbe"},{"code":"gbi","name":"Galela"},{"code":"gbj","name":"Bodo Gadaba"},{"code":"gbk","name":"Gaddi"},{"code":"gbl","name":"Gamit"},{"code":"gbm","name":"Garhwali"},{"code":"gbn","name":"Mo'da"},{"code":"gbo","name":"Northern Grebo"},{"code":"gbp","name":"Gbaya-Bossangoa"},{"code":"gbq","name":"Gbaya-Bozoum"},{"code":"gbr","name":"Gbagyi"},{"code":"gbs","name":"Gbesi Gbe"},{"code":"gbu","name":"Gagadu"},{"code":"gbv","name":"Gbanu"},{"code":"gbw","name":"Gabi-Gabi"},{"code":"gbx","name":"Eastern Xwla Gbe"},{"code":"gby","name":"Gbari"},{"code":"gbz","name":"Zoroastrian Dari"},{"code":"gcc","name":"Mali"},{"code":"gcd","name":"Ganggalida"},{"code":"gce","name":"Galice"},{"code":"gcf","name":"Guadeloupean Creole French"},{"code":"gcl","name":"Grenadian Creole English"},{"code":"gcn","name":"Gaina"},{"code":"gcr","name":"Guianese Creole French"},{"code":"gct","name":"Colonia Tovar German"},{"code":"gda","name":"Gade Lohar"},{"code":"gdb","name":"Pottangi Ollar Gadaba"},{"code":"gdc","name":"Gugu Badhun"},{"code":"gdd","name":"Gedaged"},{"code":"gde","name":"Gude"},{"code":"gdf","name":"Guduf-Gava"},{"code":"gdg","name":"Ga'dang"},{"code":"gdh","name":"Gadjerawang"},{"code":"gdi","name":"Gundi"},{"code":"gdj","name":"Gurdjar"},{"code":"gdk","name":"Gadang"},{"code":"gdl","name":"Dirasha"},{"code":"gdm","name":"Laal"},{"code":"gdn","name":"Umanakaina"},{"code":"gdo","name":"Ghodoberi"},{"code":"gdq","name":"Mehri"},{"code":"gdr","name":"Wipi"},{"code":"gds","name":"Ghandruk Sign Language"},{"code":"gdt","name":"Kungardutyi"},{"code":"gdu","name":"Gudu"},{"code":"gdx","name":"Godwari"},{"code":"gea","name":"Geruma"},{"code":"geb","name":"Kire"},{"code":"gec","name":"Gboloo Grebo"},{"code":"ged","name":"Gade"},{"code":"gef","name":"Gerai"},{"code":"geg","name":"Gengle"},{"code":"geh","name":"Hutterisch"},{"code":"gei","name":"Gebe"},{"code":"gej","name":"Gen"},{"code":"gek","name":"Ywom"},{"code":"gel","name":"ut-Ma'in"},{"code":"geq","name":"Geme"},{"code":"ges","name":"Geser-Gorom"},{"code":"gev","name":"Eviya"},{"code":"gew","name":"Gera"},{"code":"gex","name":"Garre"},{"code":"gey","name":"Enya"},{"code":"gez","name":"Geez"},{"code":"gfk","name":"Patpatar"},{"code":"gft","name":"Gafat"},{"code":"gga","name":"Gao"},{"code":"ggb","name":"Gbii"},{"code":"ggd","name":"Gugadj"},{"code":"gge","name":"Gurr-goni"},{"code":"ggg","name":"Gurgula"},{"code":"ggk","name":"Kungarakany"},{"code":"ggl","name":"Ganglau"},{"code":"ggt","name":"Gitua"},{"code":"ggu","name":"Gagu"},{"code":"ggw","name":"Gogodala"},{"code":"gha","name":"Ghadamรจs"},{"code":"ghc","name":"Hiberno-Scottish Gaelic"},{"code":"ghe","name":"Southern Ghale"},{"code":"ghh","name":"Northern Ghale"},{"code":"ghk","name":"Geko Karen"},{"code":"ghl","name":"Ghulfan"},{"code":"ghn","name":"Ghanongga"},{"code":"gho","name":"Ghomara"},{"code":"ghr","name":"Ghera"},{"code":"ghs","name":"Guhu-Samane"},{"code":"ght","name":"Kuke"},{"code":"gia","name":"Kija"},{"code":"gib","name":"Gibanawa"},{"code":"gic","name":"Gail"},{"code":"gid","name":"Gidar"},{"code":"gie","name":"Gaษ“ogbo"},{"code":"gig","name":"Goaria"},{"code":"gih","name":"Githabul"},{"code":"gii","name":"Girirra"},{"code":"gil","name":"Gilbertese"},{"code":"gim","name":"Gimi (Eastern Highlands)"},{"code":"gin","name":"Hinukh"},{"code":"gip","name":"Gimi (West New Britain)"},{"code":"giq","name":"Green Gelao"},{"code":"gir","name":"Red Gelao"},{"code":"gis","name":"North Giziga"},{"code":"git","name":"Gitxsan"},{"code":"giu","name":"Mulao"},{"code":"giw","name":"White Gelao"},{"code":"gix","name":"Gilima"},{"code":"giy","name":"Giyug"},{"code":"giz","name":"South Giziga"},{"code":"gjk","name":"Kachi Koli"},{"code":"gjm","name":"Gunditjmara"},{"code":"gjn","name":"Gonja"},{"code":"gjr","name":"Gurindji Kriol"},{"code":"gju","name":"Gujari"},{"code":"gka","name":"Guya"},{"code":"gkd","name":"Magษจ (Madang Province)"},{"code":"gke","name":"Ndai"},{"code":"gkn","name":"Gokana"},{"code":"gko","name":"Kok-Nar"},{"code":"gkp","name":"Guinea Kpelle"},{"code":"gku","name":"ว‚Ungkue"},{"code":"gla","name":"Gaelic"},{"code":"glb","name":"Belning"},{"code":"glc","name":"Bon Gula"},{"code":"gld","name":"Nanai"},{"code":"gle","name":"Irish"},{"code":"glg","name":"Galician"},{"code":"glh","name":"Northwest Pashai"},{"code":"glj","name":"Gula Iro"},{"code":"glk","name":"Gilaki"},{"code":"gll","name":"Garlali"},{"code":"glo","name":"Galambu"},{"code":"glr","name":"Glaro-Twabo"},{"code":"glu","name":"Gula (Chad)"},{"code":"glv","name":"Manx"},{"code":"glw","name":"Glavda"},{"code":"gly","name":"Gule"},{"code":"gma","name":"Gambera"},{"code":"gmb","name":"Gula'alaa"},{"code":"gmd","name":"Mรกghdรฌ"},{"code":"gmg","name":"Magษจyi"},{"code":"gmh","name":"Middle High German (ca. 1050-1500)"},{"code":"gml","name":"Middle Low German"},{"code":"gmm","name":"Gbaya-Mbodomo"},{"code":"gmn","name":"Gimnime"},{"code":"gmr","name":"Mirning"},{"code":"gmu","name":"Gumalu"},{"code":"gmv","name":"Gamo"},{"code":"gmx","name":"Magoma"},{"code":"gmy","name":"Mycenaean Greek"},{"code":"gmz","name":"Mgbolizhia"},{"code":"gna","name":"Kaansa"},{"code":"gnb","name":"Gangte"},{"code":"gnc","name":"Guanche"},{"code":"gnd","name":"Zulgo-Gemzek"},{"code":"gne","name":"Ganang"},{"code":"gng","name":"Ngangam"},{"code":"gnh","name":"Lere"},{"code":"gni","name":"Gooniyandi"},{"code":"gnj","name":"Ngen"},{"code":"gnk","name":"วGana"},{"code":"gnl","name":"Gangulu"},{"code":"gnm","name":"Ginuman"},{"code":"gnn","name":"Gumatj"},{"code":"gno","name":"Northern Gondi"},{"code":"gnq","name":"Gana"},{"code":"gnr","name":"Gureng Gureng"},{"code":"gnt","name":"Guntai"},{"code":"gnu","name":"Gnau"},{"code":"gnw","name":"Western Bolivian Guaranรญ"},{"code":"gnz","name":"Ganzi"},{"code":"goa","name":"Guro"},{"code":"gob","name":"Playero"},{"code":"goc","name":"Gorakor"},{"code":"god","name":"Godiรฉ"},{"code":"goe","name":"Gongduk"},{"code":"gof","name":"Gofa"},{"code":"gog","name":"Gogo"},{"code":"goh","name":"Old High German (ca. 750-1050)"},{"code":"goi","name":"Gobasi"},{"code":"goj","name":"Gowlan"},{"code":"gok","name":"Gowli"},{"code":"gol","name":"Gola"},{"code":"gom","name":"Goan Konkani"},{"code":"gon","name":"Gondi"},{"code":"goo","name":"Gone Dau"},{"code":"gop","name":"Yeretuar"},{"code":"goq","name":"Gorap"},{"code":"gor","name":"Gorontalo"},{"code":"gos","name":"Gronings"},{"code":"got","name":"Gothic"},{"code":"gou","name":"Gavar"},{"code":"gow","name":"Gorowa"},{"code":"gox","name":"Gobu"},{"code":"goy","name":"Goundo"},{"code":"goz","name":"Gozarkhani"},{"code":"gpa","name":"Gupa-Abawa"},{"code":"gpe","name":"Ghanaian Pidgin English"},{"code":"gpn","name":"Taiap"},{"code":"gqa","name":"Ga'anda"},{"code":"gqi","name":"Guiqiong"},{"code":"gqn","name":"Guana (Brazil)"},{"code":"gqr","name":"Gor"},{"code":"gqu","name":"Qau"},{"code":"gra","name":"Rajput Garasia"},{"code":"grb","name":"Grebo"},{"code":"grc","name":"Ancient Greek (to 1453)"},{"code":"grd","name":"Guruntum-Mbaaru"},{"code":"grg","name":"Madi"},{"code":"grh","name":"Gbiri-Niragu"},{"code":"gri","name":"Ghari"},{"code":"grj","name":"Southern Grebo"},{"code":"grm","name":"Kota Marudu Talantang"},{"code":"grn","name":"Guarani"},{"code":"gro","name":"Groma"},{"code":"grq","name":"Gorovu"},{"code":"grr","name":"Taznatit"},{"code":"grs","name":"Gresi"},{"code":"grt","name":"Garo"},{"code":"gru","name":"Kistane"},{"code":"grv","name":"Central Grebo"},{"code":"grw","name":"Gweda"},{"code":"grx","name":"Guriaso"},{"code":"gry","name":"Barclayville Grebo"},{"code":"grz","name":"Guramalum"},{"code":"gse","name":"Ghanaian Sign Language"},{"code":"gsg","name":"German Sign Language"},{"code":"gsl","name":"Gusilay"},{"code":"gsm","name":"Guatemalan Sign Language"},{"code":"gsn","name":"Gusan"},{"code":"gso","name":"Southwest Gbaya"},{"code":"gsp","name":"Wasembo"},{"code":"gss","name":"Greek Sign Language"},{"code":"gsw","name":"Alemannic"},{"code":"gta","name":"Guatรณ"},{"code":"gtu","name":"Aghu-Tharnggala"},{"code":"gua","name":"Shiki"},{"code":"gub","name":"Guajajรกra"},{"code":"guc","name":"Wayuu"},{"code":"gud","name":"Yocobouรฉ Dida"},{"code":"gue","name":"Gurindji"},{"code":"guf","name":"Gupapuyngu"},{"code":"gug","name":"Paraguayan Guaranรญ"},{"code":"guh","name":"Guahibo"},{"code":"gui","name":"Eastern Bolivian Guaranรญ"},{"code":"guj","name":"Gujarati"},{"code":"guk","name":"Gumuz"},{"code":"gul","name":"Sea Island Creole English"},{"code":"gum","name":"Guambiano"},{"code":"gun","name":"Mbyรก Guaranรญ"},{"code":"guo","name":"Guayabero"},{"code":"gup","name":"Gunwinggu"},{"code":"guq","name":"Achรฉ"},{"code":"gur","name":"Farefare"},{"code":"gus","name":"Guinean Sign Language"},{"code":"gut","name":"Malรฉku Jaรญka"},{"code":"guu","name":"Yanomamรถ"},{"code":"guw","name":"Gun"},{"code":"gux","name":"Gourmanchรฉma"},{"code":"guz","name":"Ekegusii"},{"code":"gva","name":"Guana (Paraguay)"},{"code":"gvc","name":"Guanano"},{"code":"gve","name":"Duwet"},{"code":"gvf","name":"Golin"},{"code":"gvj","name":"Guajรก"},{"code":"gvl","name":"Gulay"},{"code":"gvm","name":"Gurmana"},{"code":"gvn","name":"Kuku-Yalanji"},{"code":"gvo","name":"Gaviรฃo Do Jiparanรก"},{"code":"gvp","name":"Parรก Gaviรฃo"},{"code":"gvr","name":"Gurung"},{"code":"gvs","name":"Gumawana"},{"code":"gvy","name":"Guyani"},{"code":"gwa","name":"Mbato"},{"code":"gwb","name":"Gwa"},{"code":"gwc","name":"Gawri"},{"code":"gwd","name":"Gawwada"},{"code":"gwe","name":"Gweno"},{"code":"gwf","name":"Gowro"},{"code":"gwg","name":"Moo"},{"code":"gwi","name":"Gwichสผin"},{"code":"gwj","name":"ว€Gwi"},{"code":"gwm","name":"Awngthim"},{"code":"gwn","name":"Gwandara"},{"code":"gwr","name":"Gwere"},{"code":"gwt","name":"Gawar-Bati"},{"code":"gwu","name":"Guwamu"},{"code":"gww","name":"Kwini"},{"code":"gwx","name":"Gua"},{"code":"gxx","name":"Wรจ Southern"},{"code":"gya","name":"Northwest Gbaya"},{"code":"gyb","name":"Garus"},{"code":"gyd","name":"Kayardild"},{"code":"gye","name":"Gyem"},{"code":"gyf","name":"Gungabula"},{"code":"gyg","name":"Gbayi"},{"code":"gyi","name":"Gyele"},{"code":"gyl","name":"Gayil"},{"code":"gym","name":"Ngรคbere"},{"code":"gyn","name":"Guyanese Creole English"},{"code":"gyo","name":"Gyalsumdo"},{"code":"gyr","name":"Guarayu"},{"code":"gyy","name":"Gunya"},{"code":"gyz","name":"Geji"},{"code":"gza","name":"Ganza"},{"code":"gzi","name":"Gazi"},{"code":"gzn","name":"Gane"},{"code":"haa","name":"Han"},{"code":"hab","name":"Hanoi Sign Language"},{"code":"hac","name":"Gurani"},{"code":"had","name":"Hatam"},{"code":"hae","name":"Eastern Oromo"},{"code":"haf","name":"Haiphong Sign Language"},{"code":"hag","name":"Hanga"},{"code":"hah","name":"Hahon"},{"code":"hai","name":"Haida"},{"code":"haj","name":"Hajong"},{"code":"hak","name":"Hakka Chinese"},{"code":"hal","name":"Halang"},{"code":"ham","name":"Hewa"},{"code":"han","name":"Hangaza"},{"code":"hao","name":"Hakรถ"},{"code":"hap","name":"Hupla"},{"code":"haq","name":"Ha"},{"code":"har","name":"Harari"},{"code":"has","name":"Haisla"},{"code":"hat","name":"Haitian"},{"code":"hau","name":"Hausa"},{"code":"hav","name":"Havu"},{"code":"haw","name":"Hawaiian"},{"code":"hax","name":"Southern Haida"},{"code":"hay","name":"Haya"},{"code":"haz","name":"Hazaragi"},{"code":"hba","name":"Hamba"},{"code":"hbb","name":"Huba"},{"code":"hbn","name":"Heiban"},{"code":"hbo","name":"Ancient Hebrew"},{"code":"hbs","name":"Serbo-Croatian"},{"code":"hbu","name":"Habu"},{"code":"hca","name":"Andaman Creole Hindi"},{"code":"hch","name":"Huichol"},{"code":"hdn","name":"Northern Haida"},{"code":"hds","name":"Honduras Sign Language"},{"code":"hdy","name":"Hadiyya"},{"code":"hea","name":"Northern Qiandong Miao"},{"code":"heb","name":"Hebrew"},{"code":"hed","name":"Herdรฉ"},{"code":"heg","name":"Helong"},{"code":"heh","name":"Hehe"},{"code":"hei","name":"Heiltsuk"},{"code":"hem","name":"Hemba"},{"code":"her","name":"Herero"},{"code":"hgm","name":"Haiวom"},{"code":"hgw","name":"Haigwai"},{"code":"hhi","name":"Hoia Hoia"},{"code":"hhr","name":"Kerak"},{"code":"hhy","name":"Hoyahoya"},{"code":"hia","name":"Lamang"},{"code":"hib","name":"Hibito"},{"code":"hid","name":"Hidatsa"},{"code":"hif","name":"Fiji Hindi"},{"code":"hig","name":"Kamwe"},{"code":"hih","name":"Pamosu"},{"code":"hii","name":"Hinduri"},{"code":"hij","name":"Hijuk"},{"code":"hik","name":"Seit-Kaitetu"},{"code":"hil","name":"Hiligaynon"},{"code":"hin","name":"Hindi"},{"code":"hio","name":"Tsoa"},{"code":"hir","name":"Himarimรฃ"},{"code":"hit","name":"Hittite"},{"code":"hiw","name":"Hiw"},{"code":"hix","name":"Hixkaryรกna"},{"code":"hji","name":"Haji"},{"code":"hka","name":"Kahe"},{"code":"hke","name":"Hunde"},{"code":"hkh","name":"Khah"},{"code":"hkk","name":"Hunjara-Kaina Ke"},{"code":"hkn","name":"Mel-Khaonh"},{"code":"hks","name":"Heung Kong Sau Yue"},{"code":"hla","name":"Halia"},{"code":"hlb","name":"Halbi"},{"code":"hld","name":"Halang Doan"},{"code":"hle","name":"Hlersu"},{"code":"hlt","name":"Matu Chin"},{"code":"hlu","name":"Hieroglyphic Luwian"},{"code":"hma","name":"Southern Mashan Hmong"},{"code":"hmb","name":"Humburi Senni Songhay"},{"code":"hmc","name":"Central Huishui Hmong"},{"code":"hmd","name":"A-hmaos"},{"code":"hme","name":"Eastern Huishui Hmong"},{"code":"hmf","name":"Hmong Don"},{"code":"hmg","name":"Southwestern Guiyang Hmong"},{"code":"hmh","name":"Southwestern Huishui Hmong"},{"code":"hmi","name":"Northern Huishui Hmong"},{"code":"hmj","name":"Ge"},{"code":"hmk","name":"Maek"},{"code":"hml","name":"Luopohe Hmong"},{"code":"hmm","name":"Central Mashan Hmong"},{"code":"hmn","name":"Hmong"},{"code":"hmo","name":"Hiri Motu"},{"code":"hmp","name":"Northern Mashan Hmong"},{"code":"hmq","name":"Eastern Qiandong Miao"},{"code":"hmr","name":"Hmar"},{"code":"hms","name":"Southern Qiandong Miao"},{"code":"hmt","name":"Hamtai"},{"code":"hmu","name":"Hamap"},{"code":"hmv","name":"Hmong Dรด"},{"code":"hmw","name":"Western Mashan Hmong"},{"code":"hmy","name":"Southern Guiyang Hmong"},{"code":"hmz","name":"Hmong Shua"},{"code":"hna","name":"Mina (Cameroon)"},{"code":"hnd","name":"Southern Hindko"},{"code":"hne","name":"Chhattisgarhi"},{"code":"hng","name":"Hungu"},{"code":"hnh","name":"วAni"},{"code":"hni","name":"Hani"},{"code":"hnj","name":"Hmong Njua"},{"code":"hnn","name":"Hanunoo"},{"code":"hno","name":"Northern Hindko"},{"code":"hns","name":"Caribbean Hindustani"},{"code":"hnu","name":"Hung"},{"code":"hoa","name":"Hoava"},{"code":"hob","name":"Mari (Madang Province)"},{"code":"hoc","name":"Ho"},{"code":"hod","name":"Holma"},{"code":"hoe","name":"Horom"},{"code":"hoh","name":"Hobyรณt"},{"code":"hoi","name":"Holikachuk"},{"code":"hoj","name":"Hadothi"},{"code":"hol","name":"Holu"},{"code":"hom","name":"Homa"},{"code":"hoo","name":"Holoholo"},{"code":"hop","name":"Hopi"},{"code":"hor","name":"Horo"},{"code":"hos","name":"Ho Chi Minh City Sign Language"},{"code":"hot","name":"Hote"},{"code":"hov","name":"Hovongan"},{"code":"how","name":"Honi"},{"code":"hoy","name":"Holiya"},{"code":"hoz","name":"Hozo"},{"code":"hpo","name":"Hpon"},{"code":"hps","name":"Hawai'i Pidgin Sign Language"},{"code":"hra","name":"Hrangkhol"},{"code":"hrc","name":"Niwer Mil"},{"code":"hre","name":"Hre"},{"code":"hrk","name":"Haruku"},{"code":"hrm","name":"Horned Miao"},{"code":"hro","name":"Haroi"},{"code":"hrp","name":"Nhirrpi"},{"code":"hrt","name":"Hรฉrtevin"},{"code":"hru","name":"Hruso"},{"code":"hrv","name":"Croatian"},{"code":"hrw","name":"Warwar Feni"},{"code":"hrx","name":"Hunsrik"},{"code":"hrz","name":"Harzani"},{"code":"hsb","name":"Upper Sorbian"},{"code":"hsh","name":"Hungarian Sign Language"},{"code":"hsl","name":"Hausa Sign Language"},{"code":"hsn","name":"Xiang Chinese"},{"code":"hss","name":"Harsusi"},{"code":"hti","name":"Hoti"},{"code":"hto","name":"Minica Huitoto"},{"code":"hts","name":"Hadza"},{"code":"htu","name":"Hitu"},{"code":"htx","name":"Middle Hittite"},{"code":"hub","name":"Huambisa"},{"code":"huc","name":"ว‚'Amkhoe"},{"code":"hud","name":"Huaulu"},{"code":"hue","name":"San Francisco Del Mar Huave"},{"code":"huf","name":"Humene"},{"code":"hug","name":"Huachipaeri"},{"code":"huh","name":"Huilliche"},{"code":"hui","name":"Huli"},{"code":"huj","name":"Northern Guiyang Hmong"},{"code":"huk","name":"Hulung"},{"code":"hul","name":"Hula"},{"code":"hum","name":"Hungana"},{"code":"hun","name":"Hungarian"},{"code":"huo","name":"Hu"},{"code":"hup","name":"Hupa"},{"code":"huq","name":"Tsat"},{"code":"hur","name":"Halkomelem"},{"code":"hus","name":"Huastec"},{"code":"hut","name":"Humla"},{"code":"huu","name":"Murui Huitoto"},{"code":"huv","name":"San Mateo Del Mar Huave"},{"code":"huw","name":"Hukumina"},{"code":"hux","name":"Nรผpode Huitoto"},{"code":"huy","name":"Hulaulรก"},{"code":"huz","name":"Hunzib"},{"code":"hvc","name":"Haitian Vodoun Culture Language"},{"code":"hve","name":"San Dionisio Del Mar Huave"},{"code":"hvk","name":"Haveke"},{"code":"hvn","name":"Sabu"},{"code":"hvv","name":"Santa Marรญa Del Mar Huave"},{"code":"hwa","name":"Wanรฉ"},{"code":"hwc","name":"Hawai'i Creole English"},{"code":"hwo","name":"Hwana"},{"code":"hya","name":"Hya"},{"code":"hye","name":"Armenian"},{"code":"hyw","name":"Western Armenian"},{"code":"iai","name":"Iaai"},{"code":"ian","name":"Iatmul"},{"code":"iar","name":"Purari"},{"code":"iba","name":"Iban"},{"code":"ibb","name":"Ibibio"},{"code":"ibd","name":"Iwaidja"},{"code":"ibe","name":"Akpes"},{"code":"ibg","name":"Ibanag"},{"code":"ibh","name":"Bih"},{"code":"ibl","name":"Ibaloi"},{"code":"ibm","name":"Agoi"},{"code":"ibn","name":"Ibino"},{"code":"ibo","name":"Igbo"},{"code":"ibr","name":"Ibuoro"},{"code":"ibu","name":"Ibu"},{"code":"iby","name":"Ibani"},{"code":"ica","name":"Ede Ica"},{"code":"ich","name":"Etkywan"},{"code":"icl","name":"Icelandic Sign Language"},{"code":"icr","name":"Islander Creole English"},{"code":"ida","name":"Idakho-Isukha-Tiriki"},{"code":"idb","name":"Indo-Portuguese"},{"code":"idc","name":"Ajiya"},{"code":"idd","name":"Ede Idaca"},{"code":"ide","name":"Idere"},{"code":"idi","name":"Idi"},{"code":"ido","name":"Ido"},{"code":"idr","name":"Indri"},{"code":"ids","name":"Idesa"},{"code":"idt","name":"Idatรฉ"},{"code":"idu","name":"Idoma"},{"code":"ifa","name":"Amganad Ifugao"},{"code":"ifb","name":"Ayangan Ifugao"},{"code":"ife","name":"Ifรจ"},{"code":"iff","name":"Ifo"},{"code":"ifk","name":"Tuwali Ifugao"},{"code":"ifm","name":"Teke-Fuumu"},{"code":"ifu","name":"Mayoyao Ifugao"},{"code":"ify","name":"Keley-I Kallahan"},{"code":"igb","name":"Ebira"},{"code":"ige","name":"Igede"},{"code":"igg","name":"Igana"},{"code":"igl","name":"Igala"},{"code":"igm","name":"Kanggape"},{"code":"ign","name":"Ignaciano"},{"code":"igo","name":"Isebe"},{"code":"igs","name":"Interglossa"},{"code":"igw","name":"Igwe"},{"code":"ihb","name":"Iha Based Pidgin"},{"code":"ihi","name":"Ihievbe"},{"code":"ihp","name":"Iha"},{"code":"ihw","name":"Bidhawal"},{"code":"iii","name":"Nuosu"},{"code":"iin","name":"Thiin"},{"code":"ijc","name":"Izon"},{"code":"ije","name":"Biseni"},{"code":"ijj","name":"Ede Ije"},{"code":"ijn","name":"Kalabari"},{"code":"ijs","name":"Southeast Ijo"},{"code":"ike","name":"Eastern Canadian Inuktitut"},{"code":"iki","name":"Iko"},{"code":"ikk","name":"Ika"},{"code":"ikl","name":"Ikulu"},{"code":"iko","name":"Olulumo-Ikom"},{"code":"ikp","name":"Ikpeshi"},{"code":"ikr","name":"Ikaranggal"},{"code":"iks","name":"Inuit Sign Language"},{"code":"ikt","name":"Inuinnaqtun"},{"code":"iku","name":"Inuktitut"},{"code":"ikv","name":"Iku-Gora-Ankwa"},{"code":"ikw","name":"Ikwere"},{"code":"ikx","name":"Ik"},{"code":"ikz","name":"Ikizu"},{"code":"ila","name":"Ile Ape"},{"code":"ilb","name":"Ila"},{"code":"ile","name":"Interlingue"},{"code":"ilg","name":"Garig-Ilgar"},{"code":"ili","name":"Ili Turki"},{"code":"ilk","name":"Ilongot"},{"code":"ilm","name":"Iranun (Malaysia)"},{"code":"ilo","name":"Iloko"},{"code":"ilp","name":"Iranun (Philippines)"},{"code":"ils","name":"International Sign"},{"code":"ilu","name":"Ili'uun"},{"code":"ilv","name":"Ilue"},{"code":"ima","name":"Mala Malasar"},{"code":"imi","name":"Anamgura"},{"code":"iml","name":"Miluk"},{"code":"imn","name":"Imonda"},{"code":"imo","name":"Imbongu"},{"code":"imr","name":"Imroing"},{"code":"ims","name":"Marsian"},{"code":"imy","name":"Milyan"},{"code":"ina","name":"Interlingua (International Auxiliary Language Association)"},{"code":"inb","name":"Inga"},{"code":"ind","name":"Indonesian"},{"code":"ing","name":"Degexit'an"},{"code":"inh","name":"Ingush"},{"code":"inj","name":"Jungle Inga"},{"code":"inl","name":"Indonesian Sign Language"},{"code":"inm","name":"Minaean"},{"code":"inn","name":"Isinai"},{"code":"ino","name":"Inoke-Yate"},{"code":"inp","name":"Iรฑapari"},{"code":"ins","name":"Indian Sign Language"},{"code":"int","name":"Intha"},{"code":"inz","name":"Ineseรฑo"},{"code":"ior","name":"Inor"},{"code":"iou","name":"Tuma-Irumu"},{"code":"iow","name":"Iowa-Oto"},{"code":"ipi","name":"Ipili"},{"code":"ipk","name":"Inupiaq"},{"code":"ipo","name":"Ipiko"},{"code":"iqu","name":"Iquito"},{"code":"iqw","name":"Ikwo"},{"code":"ire","name":"Iresim"},{"code":"irh","name":"Irarutu"},{"code":"iri","name":"Irigwe"},{"code":"irk","name":"Iraqw"},{"code":"irn","name":"Irรกntxe"},{"code":"irr","name":"Ir"},{"code":"iru","name":"Irula"},{"code":"irx","name":"Kamberau"},{"code":"iry","name":"Iraya"},{"code":"isa","name":"Isabi"},{"code":"isc","name":"Isconahua"},{"code":"isd","name":"Isnag"},{"code":"ise","name":"Italian Sign Language"},{"code":"isg","name":"Irish Sign Language"},{"code":"ish","name":"Esan"},{"code":"isi","name":"Nkem-Nkum"},{"code":"isk","name":"Ishkashimi"},{"code":"isl","name":"Icelandic"},{"code":"ism","name":"Masimasi"},{"code":"isn","name":"Isanzu"},{"code":"iso","name":"Isoko"},{"code":"isr","name":"Israeli Sign Language"},{"code":"ist","name":"Istriot"},{"code":"isu","name":"Isu (Menchum Division)"},{"code":"ita","name":"Italian"},{"code":"itb","name":"Binongan Itneg"},{"code":"itd","name":"Southern Tidung"},{"code":"ite","name":"Itene"},{"code":"iti","name":"Inlaod Itneg"},{"code":"itk","name":"Judeo-Italian"},{"code":"itl","name":"Itelmen"},{"code":"itm","name":"Itu Mbon Uzo"},{"code":"ito","name":"Itonama"},{"code":"itr","name":"Iteri"},{"code":"its","name":"Isekiri"},{"code":"itt","name":"Maeng Itneg"},{"code":"itv","name":"Itawit"},{"code":"itw","name":"Ito"},{"code":"itx","name":"Itik"},{"code":"ity","name":"Moyadan Itneg"},{"code":"itz","name":"Itzรก"},{"code":"ium","name":"Iu Mien"},{"code":"ivb","name":"Ibatan"},{"code":"ivv","name":"Ivatan"},{"code":"iwk","name":"I-Wak"},{"code":"iwm","name":"Iwam"},{"code":"iwo","name":"Iwur"},{"code":"iws","name":"Sepik Iwam"},{"code":"ixc","name":"Ixcatec"},{"code":"ixl","name":"Ixil"},{"code":"iya","name":"Iyayu"},{"code":"iyo","name":"Mesaka"},{"code":"iyx","name":"Yaka (Congo)"},{"code":"izh","name":"Ingrian"},{"code":"izr","name":"Izere"},{"code":"izz","name":"Izii"},{"code":"jaa","name":"Jamamadรญ"},{"code":"jab","name":"Hyam"},{"code":"jac","name":"Jakalteko"},{"code":"jad","name":"Jahanka"},{"code":"jae","name":"Yabem"},{"code":"jaf","name":"Jara"},{"code":"jah","name":"Jah Hut"},{"code":"jaj","name":"Zazao"},{"code":"jak","name":"Jakun"},{"code":"jal","name":"Yalahatan"},{"code":"jam","name":"Jamaican Creole English"},{"code":"jan","name":"Jandai"},{"code":"jao","name":"Yanyuwa"},{"code":"jaq","name":"Yaqay"},{"code":"jas","name":"New Caledonian Javanese"},{"code":"jat","name":"Jakati"},{"code":"jau","name":"Yaur"},{"code":"jav","name":"Javanese"},{"code":"jax","name":"Jambi Malay"},{"code":"jay","name":"Nhangu"},{"code":"jaz","name":"Jawe"},{"code":"jbe","name":"Judeo-Berber"},{"code":"jbi","name":"Badjiri"},{"code":"jbj","name":"Arandai"},{"code":"jbk","name":"Barikewa"},{"code":"jbm","name":"Bijim"},{"code":"jbn","name":"Nafusi"},{"code":"jbo","name":"Lojban"},{"code":"jbr","name":"Jofotek-Bromnya"},{"code":"jbt","name":"Jabutรญ"},{"code":"jbu","name":"Jukun Takum"},{"code":"jbw","name":"Yawijibaya"},{"code":"jcs","name":"Jamaican Country Sign Language"},{"code":"jct","name":"Krymchak"},{"code":"jda","name":"Jad"},{"code":"jdg","name":"Jadgali"},{"code":"jdt","name":"Judeo-Tat"},{"code":"jeb","name":"Jebero"},{"code":"jee","name":"Jerung"},{"code":"jeh","name":"Jeh"},{"code":"jei","name":"Yei"},{"code":"jek","name":"Jeri Kuo"},{"code":"jel","name":"Yelmek"},{"code":"jen","name":"Dza"},{"code":"jer","name":"Jere"},{"code":"jet","name":"Manem"},{"code":"jeu","name":"Jonkor Bourmataguil"},{"code":"jgb","name":"Ngbee"},{"code":"jge","name":"Judeo-Georgian"},{"code":"jgk","name":"Gwak"},{"code":"jgo","name":"Ngomba"},{"code":"jhi","name":"Jehai"},{"code":"jhs","name":"Jhankot Sign Language"},{"code":"jia","name":"Jina"},{"code":"jib","name":"Jibu"},{"code":"jic","name":"Tol"},{"code":"jid","name":"Bu (Kaduna State)"},{"code":"jie","name":"Jilbe"},{"code":"jig","name":"Djingili"},{"code":"jih","name":"Shangzhai"},{"code":"jii","name":"Jiiddu"},{"code":"jil","name":"Jilim"},{"code":"jim","name":"Jimi (Cameroon)"},{"code":"jio","name":"Jiamao"},{"code":"jiq","name":"Guanyinqiao"},{"code":"jit","name":"Jita"},{"code":"jiu","name":"Youle Jinuo"},{"code":"jiv","name":"Shuar"},{"code":"jiy","name":"Buyuan Jinuo"},{"code":"jje","name":"Jejueo"},{"code":"jjr","name":"Bankal"},{"code":"jka","name":"Kaera"},{"code":"jkm","name":"Mobwa Karen"},{"code":"jko","name":"Kubo"},{"code":"jkp","name":"Paku Karen"},{"code":"jkr","name":"Koro (India)"},{"code":"jks","name":"Amami Koniya Sign Language"},{"code":"jku","name":"Labir"},{"code":"jle","name":"Ngile"},{"code":"jls","name":"Jamaican Sign Language"},{"code":"jma","name":"Dima"},{"code":"jmb","name":"Zumbun"},{"code":"jmc","name":"Machame"},{"code":"jmd","name":"Yamdena"},{"code":"jmi","name":"Jimi (Nigeria)"},{"code":"jml","name":"Jumli"},{"code":"jmn","name":"Makuri Naga"},{"code":"jmr","name":"Kamara"},{"code":"jms","name":"Mashi (Nigeria)"},{"code":"jmw","name":"Mouwase"},{"code":"jmx","name":"Western Juxtlahuaca Mixtec"},{"code":"jna","name":"Jangshung"},{"code":"jnd","name":"Jandavra"},{"code":"jng","name":"Yangman"},{"code":"jni","name":"Janji"},{"code":"jnj","name":"Yemsa"},{"code":"jnl","name":"Rawat"},{"code":"jns","name":"Jaunsari"},{"code":"job","name":"Joba"},{"code":"jod","name":"Wojenaka"},{"code":"jog","name":"Jogi"},{"code":"jor","name":"Jorรก"},{"code":"jos","name":"Jordanian Sign Language"},{"code":"jow","name":"Jowulu"},{"code":"jpa","name":"Jewish Palestinian Aramaic"},{"code":"jpn","name":"Japanese"},{"code":"jpr","name":"Judeo-Persian"},{"code":"jqr","name":"Jaqaru"},{"code":"jra","name":"Jarai"},{"code":"jrb","name":"Judeo-Arabic"},{"code":"jrr","name":"Jiru"},{"code":"jrt","name":"Jakattoe"},{"code":"jru","name":"Japrerรญa"},{"code":"jsl","name":"Japanese Sign Language"},{"code":"jua","name":"Jรบma"},{"code":"jub","name":"Wannu"},{"code":"juc","name":"Jurchen"},{"code":"jud","name":"Worodougou"},{"code":"juh","name":"Hรตne"},{"code":"jui","name":"Ngadjuri"},{"code":"juk","name":"Wapan"},{"code":"jul","name":"Jirel"},{"code":"jum","name":"Jumjum"},{"code":"jun","name":"Juang"},{"code":"juo","name":"Jiba"},{"code":"jup","name":"Hupdรซ"},{"code":"jur","name":"Jurรบna"},{"code":"jus","name":"Jumla Sign Language"},{"code":"jut","name":"Jutish"},{"code":"juu","name":"Ju"},{"code":"juw","name":"Wรฃpha"},{"code":"juy","name":"Juray"},{"code":"jvd","name":"Javindo"},{"code":"jvn","name":"Caribbean Javanese"},{"code":"jwi","name":"Jwira-Pepesa"},{"code":"jya","name":"Jiarong"},{"code":"jye","name":"Judeo-Yemeni Arabic"},{"code":"jyy","name":"Jaya"},{"code":"kaa","name":"Karakalpak"},{"code":"kab","name":"Kabyle"},{"code":"kac","name":"Jingpho"},{"code":"kad","name":"Adara"},{"code":"kae","name":"Ketangalan"},{"code":"kaf","name":"Katso"},{"code":"kag","name":"Kajaman"},{"code":"kah","name":"Kara (Central African Republic)"},{"code":"kai","name":"Karekare"},{"code":"kaj","name":"Jju"},{"code":"kak","name":"Kalanguya"},{"code":"kal","name":"Greenlandic"},{"code":"kam","name":"Kamba (Kenya)"},{"code":"kan","name":"Kannada"},{"code":"kao","name":"Xaasongaxango"},{"code":"kap","name":"Bezhta"},{"code":"kaq","name":"Capanahua"},{"code":"kas","name":"Kashmiri"},{"code":"kat","name":"Georgian"},{"code":"kau","name":"Kanuri"},{"code":"kav","name":"Katukรญna"},{"code":"kaw","name":"Kawi"},{"code":"kax","name":"Kao"},{"code":"kay","name":"Kamayurรก"},{"code":"kaz","name":"Kazakh"},{"code":"kba","name":"Kalarko"},{"code":"kbb","name":"Kaxuiรขna"},{"code":"kbc","name":"Kadiwรฉu"},{"code":"kbd","name":"Kabardian"},{"code":"kbe","name":"Kanju"},{"code":"kbg","name":"Khamba"},{"code":"kbh","name":"Camsรก"},{"code":"kbi","name":"Kaptiau"},{"code":"kbj","name":"Kari"},{"code":"kbk","name":"Grass Koiari"},{"code":"kbl","name":"Kanembu"},{"code":"kbm","name":"Iwal"},{"code":"kbn","name":"Kare (Central African Republic)"},{"code":"kbo","name":"Keliko"},{"code":"kbp","name":"Kabiyรจ"},{"code":"kbq","name":"Kamano"},{"code":"kbr","name":"Kafa"},{"code":"kbs","name":"Kande"},{"code":"kbt","name":"Abadi"},{"code":"kbu","name":"Kabutra"},{"code":"kbv","name":"Dera (Indonesia)"},{"code":"kbw","name":"Kaiep"},{"code":"kbx","name":"Ap Ma"},{"code":"kby","name":"Manga Kanuri"},{"code":"kbz","name":"Duhwa"},{"code":"kca","name":"Khanty"},{"code":"kcb","name":"Kawacha"},{"code":"kcc","name":"Lubila"},{"code":"kcd","name":"Ngkรขlmpw Kanum"},{"code":"kce","name":"Kaivi"},{"code":"kcf","name":"Ukaan"},{"code":"kcg","name":"Tyap"},{"code":"kch","name":"Vono"},{"code":"kci","name":"Kamantan"},{"code":"kcj","name":"Kobiana"},{"code":"kck","name":"Kalanga"},{"code":"kcl","name":"Kala"},{"code":"kcm","name":"Gula (Central African Republic)"},{"code":"kcn","name":"Nubi"},{"code":"kco","name":"Kinalakna"},{"code":"kcp","name":"Kanga"},{"code":"kcq","name":"Kamo"},{"code":"kcr","name":"Katla"},{"code":"kcs","name":"Koenoem"},{"code":"kct","name":"Kaian"},{"code":"kcu","name":"Kami (Tanzania)"},{"code":"kcv","name":"Kete"},{"code":"kcw","name":"Kabwari"},{"code":"kcx","name":"Kachama-Ganjule"},{"code":"kcy","name":"Korandje"},{"code":"kcz","name":"Konongo"},{"code":"kda","name":"Worimi"},{"code":"kdc","name":"Kutu"},{"code":"kdd","name":"Yankunytjatjara"},{"code":"kde","name":"Makonde"},{"code":"kdf","name":"Mamusi"},{"code":"kdg","name":"Seba"},{"code":"kdh","name":"Tem"},{"code":"kdi","name":"Kumam"},{"code":"kdj","name":"Karamojong"},{"code":"kdk","name":"Kwรฉnyi"},{"code":"kdl","name":"Tsikimba"},{"code":"kdm","name":"Kagoma"},{"code":"kdn","name":"Kunda"},{"code":"kdp","name":"Kaningdon-Nindem"},{"code":"kdq","name":"Koch"},{"code":"kdr","name":"Karaim"},{"code":"kdt","name":"Kuy"},{"code":"kdu","name":"Kadaru"},{"code":"kdw","name":"Koneraw"},{"code":"kdx","name":"Kam"},{"code":"kdy","name":"Keder"},{"code":"kdz","name":"Kwaja"},{"code":"kea","name":"Kabuverdianu"},{"code":"keb","name":"Kรฉlรฉ"},{"code":"kec","name":"Keiga"},{"code":"ked","name":"Kerewe"},{"code":"kee","name":"Eastern Keres"},{"code":"kef","name":"Kpessi"},{"code":"keg","name":"Tese"},{"code":"keh","name":"Keak"},{"code":"kei","name":"Kei"},{"code":"kej","name":"Kadar"},{"code":"kek","name":"Kekchรญ"},{"code":"kel","name":"Kela (Democratic Republic of Congo)"},{"code":"kem","name":"Kemak"},{"code":"ken","name":"Kenyang"},{"code":"keo","name":"Kakwa"},{"code":"kep","name":"Kaikadi"},{"code":"keq","name":"Kamar"},{"code":"ker","name":"Kera"},{"code":"kes","name":"Kugbo"},{"code":"ket","name":"Ket"},{"code":"keu","name":"Akebu"},{"code":"kev","name":"Kanikkaran"},{"code":"kew","name":"West Kewa"},{"code":"kex","name":"Kukna"},{"code":"key","name":"Kupia"},{"code":"kez","name":"Kukele"},{"code":"kfa","name":"Kodava"},{"code":"kfb","name":"Northwestern Kolami"},{"code":"kfc","name":"Konda-Dora"},{"code":"kfd","name":"Korra Koraga"},{"code":"kfe","name":"Kota (India)"},{"code":"kff","name":"Koya"},{"code":"kfg","name":"Kudiya"},{"code":"kfh","name":"Kurichiya"},{"code":"kfi","name":"Kannada Kurumba"},{"code":"kfj","name":"Kemiehua"},{"code":"kfk","name":"Kinnauri"},{"code":"kfl","name":"Kung"},{"code":"kfm","name":"Khunsari"},{"code":"kfn","name":"Kuk"},{"code":"kfo","name":"Koro (Cรดte d'Ivoire)"},{"code":"kfp","name":"Korwa"},{"code":"kfq","name":"Korku"},{"code":"kfr","name":"Kachhi"},{"code":"kfs","name":"Bilaspuri"},{"code":"kft","name":"Kanjari"},{"code":"kfu","name":"Katkari"},{"code":"kfv","name":"Kurmukar"},{"code":"kfw","name":"Kharam Naga"},{"code":"kfx","name":"Kullu Pahari"},{"code":"kfy","name":"Kumaoni"},{"code":"kfz","name":"Koromfรฉ"},{"code":"kga","name":"Koyaga"},{"code":"kgb","name":"Kawe"},{"code":"kge","name":"Komering"},{"code":"kgf","name":"Kube"},{"code":"kgg","name":"Kusunda"},{"code":"kgi","name":"Selangor Sign Language"},{"code":"kgj","name":"Gamale Kham"},{"code":"kgk","name":"Kaiwรก"},{"code":"kgl","name":"Kunggari"},{"code":"kgm","name":"Karipรบna"},{"code":"kgn","name":"Karingani"},{"code":"kgo","name":"Krongo"},{"code":"kgp","name":"Kaingang"},{"code":"kgq","name":"Kamoro"},{"code":"kgr","name":"Abun"},{"code":"kgs","name":"Kumbainggar"},{"code":"kgt","name":"Somyev"},{"code":"kgu","name":"Kobol"},{"code":"kgv","name":"Karas"},{"code":"kgw","name":"Karon Dori"},{"code":"kgx","name":"Kamaru"},{"code":"kgy","name":"Kyerung"},{"code":"kha","name":"Khasi"},{"code":"khb","name":"Lรผ"},{"code":"khc","name":"Tukang Besi North"},{"code":"khd","name":"Bรคdi Kanum"},{"code":"khe","name":"Korowai"},{"code":"khf","name":"Khuen"},{"code":"khg","name":"Khams Tibetan"},{"code":"khh","name":"Kehu"},{"code":"khj","name":"Kuturmi"},{"code":"khk","name":"Halh Mongolian"},{"code":"khl","name":"Lusi"},{"code":"khm","name":"Khmer"},{"code":"khn","name":"Khandesi"},{"code":"kho","name":"Khotanese"},{"code":"khp","name":"Kapauri"},{"code":"khq","name":"Koyra Chiini Songhay"},{"code":"khr","name":"Kharia"},{"code":"khs","name":"Kasua"},{"code":"kht","name":"Khamti"},{"code":"khu","name":"Nkhumbi"},{"code":"khv","name":"Khvarshi"},{"code":"khw","name":"Khowar"},{"code":"khx","name":"Kanu"},{"code":"khy","name":"Kele (Democratic Republic of Congo)"},{"code":"khz","name":"Keapara"},{"code":"kia","name":"Kim"},{"code":"kib","name":"Koalib"},{"code":"kic","name":"Kickapoo"},{"code":"kid","name":"Koshin"},{"code":"kie","name":"Kibet"},{"code":"kif","name":"Eastern Parbate Kham"},{"code":"kig","name":"Kimaama"},{"code":"kih","name":"Kilmeri"},{"code":"kii","name":"Kitsai"},{"code":"kij","name":"Kilivila"},{"code":"kik","name":"Gikuyu"},{"code":"kil","name":"Kariya"},{"code":"kim","name":"Karagas"},{"code":"kin","name":"Kinyarwanda"},{"code":"kio","name":"Kiowa"},{"code":"kip","name":"Sheshi Kham"},{"code":"kiq","name":"Kosadle"},{"code":"kir","name":"Kirghiz"},{"code":"kis","name":"Kis"},{"code":"kit","name":"Agob"},{"code":"kiu","name":"Kirmanjki (individual language)"},{"code":"kiv","name":"Kimbu"},{"code":"kiw","name":"Northeast Kiwai"},{"code":"kix","name":"Khiamniungan Naga"},{"code":"kiy","name":"Kirikiri"},{"code":"kiz","name":"Kisi"},{"code":"kja","name":"Mlap"},{"code":"kjb","name":"Kanjobal"},{"code":"kjc","name":"Coastal Konjo"},{"code":"kjd","name":"Southern Kiwai"},{"code":"kje","name":"Kisar"},{"code":"kjg","name":"Khmu"},{"code":"kjh","name":"Khakas"},{"code":"kji","name":"Zabana"},{"code":"kjj","name":"Khinalugh"},{"code":"kjk","name":"Highland Konjo"},{"code":"kjl","name":"Western Parbate Kham"},{"code":"kjm","name":"Khรกng"},{"code":"kjn","name":"Kunjen"},{"code":"kjo","name":"Harijan Kinnauri"},{"code":"kjp","name":"Pwo Eastern Karen"},{"code":"kjq","name":"Western Keres"},{"code":"kjr","name":"Kurudu"},{"code":"kjs","name":"East Kewa"},{"code":"kjt","name":"Phrae Pwo Karen"},{"code":"kju","name":"Kashaya"},{"code":"kjv","name":"Kaikavian Literary Language"},{"code":"kjx","name":"Ramopa"},{"code":"kjy","name":"Erave"},{"code":"kjz","name":"Bumthangkha"},{"code":"kka","name":"Kakanda"},{"code":"kkb","name":"Kwerisa"},{"code":"kkc","name":"Odoodee"},{"code":"kkd","name":"Kinuku"},{"code":"kke","name":"Kakabe"},{"code":"kkf","name":"Kalaktang Monpa"},{"code":"kkg","name":"Mabaka Valley Kalinga"},{"code":"kkh","name":"Khรผn"},{"code":"kki","name":"Kagulu"},{"code":"kkj","name":"Kako"},{"code":"kkk","name":"Kokota"},{"code":"kkl","name":"Kosarek Yale"},{"code":"kkm","name":"Kiong"},{"code":"kkn","name":"Kon Keu"},{"code":"kko","name":"Karko"},{"code":"kkp","name":"Gugubera"},{"code":"kkq","name":"Kaeku"},{"code":"kkr","name":"Kir-Balar"},{"code":"kks","name":"Giiwo"},{"code":"kkt","name":"Koi"},{"code":"kku","name":"Tumi"},{"code":"kkv","name":"Kangean"},{"code":"kkw","name":"Teke-Kukuya"},{"code":"kkx","name":"Kohin"},{"code":"kky","name":"Guguyimidjir"},{"code":"kkz","name":"Kaska"},{"code":"kla","name":"Klamath-Modoc"},{"code":"klb","name":"Kiliwa"},{"code":"klc","name":"Kolbila"},{"code":"kld","name":"Gamilaraay"},{"code":"kle","name":"Kulung (Nepal)"},{"code":"klf","name":"Kendeje"},{"code":"klg","name":"Tagakaulo"},{"code":"klh","name":"Weliki"},{"code":"kli","name":"Kalumpang"},{"code":"klj","name":"Khalaj"},{"code":"klk","name":"Kono (Nigeria)"},{"code":"kll","name":"Kagan Kalagan"},{"code":"klm","name":"Migum"},{"code":"kln","name":"Kalenjin"},{"code":"klo","name":"Kapya"},{"code":"klp","name":"Kamasa"},{"code":"klq","name":"Rumu"},{"code":"klr","name":"Khaling"},{"code":"kls","name":"Kalasha"},{"code":"klt","name":"Nukna"},{"code":"klu","name":"Klao"},{"code":"klv","name":"Maskelynes"},{"code":"klw","name":"Lindu"},{"code":"klx","name":"Koluwawa"},{"code":"kly","name":"Kalao"},{"code":"klz","name":"Kabola"},{"code":"kma","name":"Konni"},{"code":"kmb","name":"Kimbundu"},{"code":"kmc","name":"Southern Dong"},{"code":"kmd","name":"Majukayang Kalinga"},{"code":"kme","name":"Bakole"},{"code":"kmf","name":"Kare (Papua New Guinea)"},{"code":"kmg","name":"Kรขte"},{"code":"kmh","name":"Kalam"},{"code":"kmi","name":"Kami (Nigeria)"},{"code":"kmj","name":"Kumarbhag Paharia"},{"code":"kmk","name":"Limos Kalinga"},{"code":"kml","name":"Tanudan Kalinga"},{"code":"kmm","name":"Kom (India)"},{"code":"kmn","name":"Awtuw"},{"code":"kmo","name":"Kwoma"},{"code":"kmp","name":"Gimme"},{"code":"kmq","name":"Kwama"},{"code":"kmr","name":"Northern Kurdish"},{"code":"kms","name":"Kamasau"},{"code":"kmt","name":"Kemtuik"},{"code":"kmu","name":"Kanite"},{"code":"kmv","name":"Karipรบna Creole French"},{"code":"kmw","name":"Komo (Democratic Republic of Congo)"},{"code":"kmx","name":"Waboda"},{"code":"kmy","name":"Koma"},{"code":"kmz","name":"Khorasani Turkish"},{"code":"kna","name":"Dera (Nigeria)"},{"code":"knb","name":"Lubuagan Kalinga"},{"code":"knc","name":"Central Kanuri"},{"code":"knd","name":"Konda"},{"code":"kne","name":"Kankanaey"},{"code":"knf","name":"Mankanya"},{"code":"kng","name":"Koongo"},{"code":"kni","name":"Kanufi"},{"code":"knj","name":"Western Kanjobal"},{"code":"knk","name":"Kuranko"},{"code":"knl","name":"Keninjal"},{"code":"knm","name":"Kanamarรญ"},{"code":"knn","name":"Konkani (individual language)"},{"code":"kno","name":"Kono (Sierra Leone)"},{"code":"knp","name":"Kwanja"},{"code":"knq","name":"Kintaq"},{"code":"knr","name":"Kaningra"},{"code":"kns","name":"Kensiu"},{"code":"knt","name":"Panoan Katukรญna"},{"code":"knu","name":"Kono (Guinea)"},{"code":"knv","name":"Tabo"},{"code":"knw","name":"Kung-Ekoka"},{"code":"knx","name":"Kendayan"},{"code":"kny","name":"Kanyok"},{"code":"knz","name":"Kalamsรฉ"},{"code":"koa","name":"Konomala"},{"code":"koc","name":"Kpati"},{"code":"kod","name":"Kodi"},{"code":"koe","name":"Kacipo-Bale Suri"},{"code":"kof","name":"Kubi"},{"code":"kog","name":"Cogui"},{"code":"koh","name":"Koyo"},{"code":"koi","name":"Komi-Permyak"},{"code":"kok","name":"Konkani (macrolanguage)"},{"code":"kol","name":"Kol (Papua New Guinea)"},{"code":"kom","name":"Komi"},{"code":"kon","name":"Kongo"},{"code":"koo","name":"Konzo"},{"code":"kop","name":"Waube"},{"code":"koq","name":"Kota (Gabon)"},{"code":"kor","name":"Korean"},{"code":"kos","name":"Kosraean"},{"code":"kot","name":"Lagwan"},{"code":"kou","name":"Koke"},{"code":"kov","name":"Kudu-Camo"},{"code":"kow","name":"Kugama"},{"code":"koy","name":"Koyukon"},{"code":"koz","name":"Korak"},{"code":"kpa","name":"Kutto"},{"code":"kpb","name":"Mullu Kurumba"},{"code":"kpc","name":"Curripaco"},{"code":"kpd","name":"Koba"},{"code":"kpe","name":"Kpelle"},{"code":"kpf","name":"Komba"},{"code":"kpg","name":"Kapingamarangi"},{"code":"kph","name":"Kplang"},{"code":"kpi","name":"Kofei"},{"code":"kpj","name":"Karajรก"},{"code":"kpk","name":"Kpan"},{"code":"kpl","name":"Kpala"},{"code":"kpm","name":"Koho"},{"code":"kpn","name":"Kepkiriwรกt"},{"code":"kpo","name":"Ikposo"},{"code":"kpq","name":"Korupun-Sela"},{"code":"kpr","name":"Korafe-Yegha"},{"code":"kps","name":"Tehit"},{"code":"kpt","name":"Karata"},{"code":"kpu","name":"Kafoa"},{"code":"kpv","name":"Komi-Zyrian"},{"code":"kpw","name":"Kobon"},{"code":"kpx","name":"Mountain Koiali"},{"code":"kpy","name":"Koryak"},{"code":"kpz","name":"Kupsabiny"},{"code":"kqa","name":"Mum"},{"code":"kqb","name":"Kovai"},{"code":"kqc","name":"Doromu-Koki"},{"code":"kqd","name":"Koy Sanjaq Surat"},{"code":"kqe","name":"Kalagan"},{"code":"kqf","name":"Kakabai"},{"code":"kqg","name":"Khe"},{"code":"kqh","name":"Kisankasa"},{"code":"kqi","name":"Koitabu"},{"code":"kqj","name":"Koromira"},{"code":"kqk","name":"Kotafon Gbe"},{"code":"kql","name":"Kyenele"},{"code":"kqm","name":"Khisa"},{"code":"kqn","name":"Kaonde"},{"code":"kqo","name":"Eastern Krahn"},{"code":"kqp","name":"Kimrรฉ"},{"code":"kqq","name":"Krenak"},{"code":"kqr","name":"Kimaragang"},{"code":"kqs","name":"Northern Kissi"},{"code":"kqt","name":"Klias River Kadazan"},{"code":"kqu","name":"Seroa"},{"code":"kqv","name":"Okolod"},{"code":"kqw","name":"Kandas"},{"code":"kqx","name":"Mser"},{"code":"kqy","name":"Koorete"},{"code":"kqz","name":"Korana"},{"code":"kra","name":"Kumhali"},{"code":"krb","name":"Karkin"},{"code":"krc","name":"Karachay-Balkar"},{"code":"krd","name":"Kairui-Midiki"},{"code":"kre","name":"Panarรก"},{"code":"krf","name":"Koro (Vanuatu)"},{"code":"krh","name":"Kurama"},{"code":"kri","name":"Krio"},{"code":"krj","name":"Kinaray-A"},{"code":"krk","name":"Kerek"},{"code":"krl","name":"Karelian"},{"code":"krn","name":"Sapo"},{"code":"krp","name":"Korop"},{"code":"krr","name":"Krung"},{"code":"krs","name":"Gbaya (Sudan)"},{"code":"krt","name":"Tumari Kanuri"},{"code":"kru","name":"Kurukh"},{"code":"krv","name":"Kavet"},{"code":"krw","name":"Western Krahn"},{"code":"krx","name":"Karon"},{"code":"kry","name":"Kryts"},{"code":"krz","name":"Sota Kanum"},{"code":"ksa","name":"Shuwa-Zamani"},{"code":"ksb","name":"Shambala"},{"code":"ksc","name":"Southern Kalinga"},{"code":"ksd","name":"Kuanua"},{"code":"kse","name":"Kuni"},{"code":"ksf","name":"Bafia"},{"code":"ksg","name":"Kusaghe"},{"code":"ksh","name":"Kรถlsch"},{"code":"ksi","name":"I'saka"},{"code":"ksj","name":"Uare"},{"code":"ksk","name":"Kansa"},{"code":"ksl","name":"Kumalu"},{"code":"ksm","name":"Kumba"},{"code":"ksn","name":"Kasiguranin"},{"code":"kso","name":"Kofa"},{"code":"ksp","name":"Kaba"},{"code":"ksq","name":"Kwaami"},{"code":"ksr","name":"Borong"},{"code":"kss","name":"Southern Kisi"},{"code":"kst","name":"Winyรฉ"},{"code":"ksu","name":"Khamyang"},{"code":"ksv","name":"Kusu"},{"code":"ksw","name":"S'gaw Karen"},{"code":"ksx","name":"Kedang"},{"code":"ksy","name":"Kharia Thar"},{"code":"ksz","name":"Kodaku"},{"code":"kta","name":"Katua"},{"code":"ktb","name":"Kambaata"},{"code":"ktc","name":"Kholok"},{"code":"ktd","name":"Kokata"},{"code":"kte","name":"Nubri"},{"code":"ktf","name":"Kwami"},{"code":"ktg","name":"Kalkutung"},{"code":"kth","name":"Karanga"},{"code":"kti","name":"North Muyu"},{"code":"ktj","name":"Plapo Krumen"},{"code":"ktk","name":"Kaniet"},{"code":"ktl","name":"Koroshi"},{"code":"ktm","name":"Kurti"},{"code":"ktn","name":"Karitiรขna"},{"code":"kto","name":"Kuot"},{"code":"ktp","name":"Kaduo"},{"code":"ktq","name":"Katabaga"},{"code":"kts","name":"South Muyu"},{"code":"ktt","name":"Ketum"},{"code":"ktu","name":"Kituba (Democratic Republic of Congo)"},{"code":"ktv","name":"Eastern Katu"},{"code":"ktw","name":"Kato"},{"code":"ktx","name":"Kaxararรญ"},{"code":"kty","name":"Kango (Bas-Uรฉlรฉ District)"},{"code":"ktz","name":"Juว€สผhoan"},{"code":"kua","name":"Kuanyama"},{"code":"kub","name":"Kutep"},{"code":"kuc","name":"Kwinsu"},{"code":"kud","name":"'Auhelawa"},{"code":"kue","name":"Kuman (Papua New Guinea)"},{"code":"kuf","name":"Western Katu"},{"code":"kug","name":"Kupa"},{"code":"kuh","name":"Kushi"},{"code":"kui","name":"Kalapalo"},{"code":"kuj","name":"Kuria"},{"code":"kuk","name":"Kepo'"},{"code":"kul","name":"Kulere"},{"code":"kum","name":"Kumyk"},{"code":"kun","name":"Kunama"},{"code":"kuo","name":"Kumukio"},{"code":"kup","name":"Kunimaipa"},{"code":"kuq","name":"Karipuna"},{"code":"kur","name":"Kurdish"},{"code":"kus","name":"Kusaal"},{"code":"kut","name":"Kutenai"},{"code":"kuu","name":"Upper Kuskokwim"},{"code":"kuv","name":"Kur"},{"code":"kuw","name":"Kpagua"},{"code":"kux","name":"Kukatja"},{"code":"kuy","name":"Kuuku-Ya'u"},{"code":"kuz","name":"Kunza"},{"code":"kva","name":"Bagvalal"},{"code":"kvb","name":"Kubu"},{"code":"kvc","name":"Kove"},{"code":"kvd","name":"Kui (Indonesia)"},{"code":"kve","name":"Kalabakan"},{"code":"kvf","name":"Kabalai"},{"code":"kvg","name":"Kuni-Boazi"},{"code":"kvh","name":"Komodo"},{"code":"kvi","name":"Kwang"},{"code":"kvj","name":"Psikye"},{"code":"kvk","name":"Korean Sign Language"},{"code":"kvl","name":"Kayaw"},{"code":"kvm","name":"Kendem"},{"code":"kvn","name":"Border Kuna"},{"code":"kvo","name":"Dobel"},{"code":"kvp","name":"Kompane"},{"code":"kvq","name":"Geba Karen"},{"code":"kvr","name":"Kerinci"},{"code":"kvt","name":"Lahta"},{"code":"kvu","name":"Yinbaw Karen"},{"code":"kvv","name":"Kola"},{"code":"kvw","name":"Wersing"},{"code":"kvx","name":"Parkari Koli"},{"code":"kvy","name":"Yintale"},{"code":"kvz","name":"Tsakwambo"},{"code":"kwa","name":"Dรขw"},{"code":"kwb","name":"Kwa"},{"code":"kwc","name":"Likwala"},{"code":"kwd","name":"Kwaio"},{"code":"kwe","name":"Kwerba"},{"code":"kwf","name":"Kwara'ae"},{"code":"kwg","name":"Sara Kaba Deme"},{"code":"kwh","name":"Kowiai"},{"code":"kwi","name":"Awa-Cuaiquer"},{"code":"kwj","name":"Kwanga"},{"code":"kwk","name":"Kwakiutl"},{"code":"kwl","name":"Kofyar"},{"code":"kwm","name":"Kwambi"},{"code":"kwn","name":"Kwangali"},{"code":"kwo","name":"Kwomtari"},{"code":"kwp","name":"Kodia"},{"code":"kwr","name":"Kwer"},{"code":"kws","name":"Kwese"},{"code":"kwt","name":"Kwesten"},{"code":"kwu","name":"Kwakum"},{"code":"kwv","name":"Sara Kaba Nรกร "},{"code":"kww","name":"Kwinti"},{"code":"kwx","name":"Khirwar"},{"code":"kwy","name":"San Salvador Kongo"},{"code":"kwz","name":"Kwadi"},{"code":"kxa","name":"Kairiru"},{"code":"kxb","name":"Krobu"},{"code":"kxc","name":"Khonso"},{"code":"kxd","name":"Brunei"},{"code":"kxf","name":"Manumanaw"},{"code":"kxh","name":"Karo (Ethiopia)"},{"code":"kxi","name":"Keningau Murut"},{"code":"kxj","name":"Kulfa"},{"code":"kxk","name":"Zayein Karen"},{"code":"kxm","name":"Northern Khmer"},{"code":"kxn","name":"Kanowit-Tanjong Melanau"},{"code":"kxo","name":"Kanoรฉ"},{"code":"kxp","name":"Wadiyara Koli"},{"code":"kxq","name":"Smรคrky Kanum"},{"code":"kxr","name":"Koro (Papua New Guinea)"},{"code":"kxs","name":"Kangjia"},{"code":"kxt","name":"Koiwat"},{"code":"kxv","name":"Kuvi"},{"code":"kxw","name":"Konai"},{"code":"kxx","name":"Likuba"},{"code":"kxy","name":"Kayong"},{"code":"kxz","name":"Kerewo"},{"code":"kya","name":"Kwaya"},{"code":"kyb","name":"Butbut Kalinga"},{"code":"kyc","name":"Kyaka"},{"code":"kyd","name":"Karey"},{"code":"kye","name":"Krache"},{"code":"kyf","name":"Kouya"},{"code":"kyg","name":"Keyagana"},{"code":"kyh","name":"Karok"},{"code":"kyi","name":"Kiput"},{"code":"kyj","name":"Karao"},{"code":"kyk","name":"Kamayo"},{"code":"kyl","name":"Kalapuya"},{"code":"kym","name":"Kpatili"},{"code":"kyn","name":"Northern Binukidnon"},{"code":"kyo","name":"Kelon"},{"code":"kyp","name":"Kang"},{"code":"kyq","name":"Kenga"},{"code":"kyr","name":"Kuruรกya"},{"code":"kys","name":"Baram Kayan"},{"code":"kyt","name":"Kayagar"},{"code":"kyu","name":"Western Kayah"},{"code":"kyv","name":"Kayort"},{"code":"kyw","name":"Kudmali"},{"code":"kyx","name":"Rapoisi"},{"code":"kyy","name":"Kambaira"},{"code":"kyz","name":"Kayabรญ"},{"code":"kza","name":"Western Karaboro"},{"code":"kzb","name":"Kaibobo"},{"code":"kzc","name":"Bondoukou Kulango"},{"code":"kzd","name":"Kadai"},{"code":"kze","name":"Kosena"},{"code":"kzf","name":"Da'a Kaili"},{"code":"kzg","name":"Kikai"},{"code":"kzi","name":"Kelabit"},{"code":"kzk","name":"Kazukuru"},{"code":"kzl","name":"Kayeli"},{"code":"kzm","name":"Kais"},{"code":"kzn","name":"Kokola"},{"code":"kzo","name":"Kaningi"},{"code":"kzp","name":"Kaidipang"},{"code":"kzq","name":"Kaike"},{"code":"kzr","name":"Karang"},{"code":"kzs","name":"Sugut Dusun"},{"code":"kzu","name":"Kayupulau"},{"code":"kzv","name":"Komyandaret"},{"code":"kzw","name":"Karirรญ-Xocรณ"},{"code":"kzx","name":"Kamarian"},{"code":"kzy","name":"Kango (Tshopo District)"},{"code":"kzz","name":"Kalabra"},{"code":"laa","name":"Southern Subanen"},{"code":"lab","name":"Linear A"},{"code":"lac","name":"Lacandon"},{"code":"lad","name":"Ladino"},{"code":"lae","name":"Pattani"},{"code":"laf","name":"Lafofa"},{"code":"lag","name":"Langi"},{"code":"lah","name":"Lahnda"},{"code":"lai","name":"Lambya"},{"code":"laj","name":"Lango (Uganda)"},{"code":"lak","name":"Laka (Nigeria)"},{"code":"lal","name":"Lalia"},{"code":"lam","name":"Lamba"},{"code":"lan","name":"Laru"},{"code":"lao","name":"Lao"},{"code":"lap","name":"Laka (Chad)"},{"code":"laq","name":"Qabiao"},{"code":"lar","name":"Larteh"},{"code":"las","name":"Lama (Togo)"},{"code":"lat","name":"Latin"},{"code":"lau","name":"Laba"},{"code":"lav","name":"Latvian"},{"code":"law","name":"Lauje"},{"code":"lax","name":"Tiwa"},{"code":"lay","name":"Lama Bai"},{"code":"laz","name":"Aribwatsa"},{"code":"lbb","name":"Label"},{"code":"lbc","name":"Lakkia"},{"code":"lbe","name":"Lak"},{"code":"lbf","name":"Tinani"},{"code":"lbg","name":"Laopang"},{"code":"lbi","name":"La'bi"},{"code":"lbj","name":"Ladakhi"},{"code":"lbk","name":"Central Bontok"},{"code":"lbl","name":"Libon Bikol"},{"code":"lbm","name":"Lodhi"},{"code":"lbn","name":"Rmeet"},{"code":"lbo","name":"Laven"},{"code":"lbq","name":"Wampar"},{"code":"lbr","name":"Lohorung"},{"code":"lbs","name":"Libyan Sign Language"},{"code":"lbt","name":"Lachi"},{"code":"lbu","name":"Labu"},{"code":"lbv","name":"Lavatbura-Lamusong"},{"code":"lbw","name":"Tolaki"},{"code":"lbx","name":"Lawangan"},{"code":"lby","name":"Lamalama"},{"code":"lbz","name":"Lardil"},{"code":"lcc","name":"Legenyem"},{"code":"lcd","name":"Lola"},{"code":"lce","name":"Loncong"},{"code":"lcf","name":"Lubu"},{"code":"lch","name":"Luchazi"},{"code":"lcl","name":"Lisela"},{"code":"lcm","name":"Tungag"},{"code":"lcp","name":"Western Lawa"},{"code":"lcq","name":"Luhu"},{"code":"lcs","name":"Lisabata-Nuniali"},{"code":"lda","name":"Kla-Dan"},{"code":"ldb","name":"Duฬƒya"},{"code":"ldd","name":"Luri"},{"code":"ldg","name":"Lenyima"},{"code":"ldh","name":"Lamja-Dengsa-Tola"},{"code":"ldi","name":"Laari"},{"code":"ldj","name":"Lemoro"},{"code":"ldk","name":"Leelau"},{"code":"ldl","name":"Kaan"},{"code":"ldm","name":"Landoma"},{"code":"ldn","name":"Lรกadan"},{"code":"ldo","name":"Loo"},{"code":"ldp","name":"Tso"},{"code":"ldq","name":"Lufu"},{"code":"lea","name":"Lega-Shabunda"},{"code":"leb","name":"Lala-Bisa"},{"code":"lec","name":"Leco"},{"code":"led","name":"Lendu"},{"code":"lee","name":"Lyรฉlรฉ"},{"code":"lef","name":"Lelemi"},{"code":"leh","name":"Lenje"},{"code":"lei","name":"Lemio"},{"code":"lej","name":"Lengola"},{"code":"lek","name":"Leipon"},{"code":"lel","name":"Lele (Democratic Republic of Congo)"},{"code":"lem","name":"Nomaande"},{"code":"len","name":"Lenca"},{"code":"leo","name":"Leti (Cameroon)"},{"code":"lep","name":"Lepcha"},{"code":"leq","name":"Lembena"},{"code":"ler","name":"Lenkau"},{"code":"les","name":"Lese"},{"code":"let","name":"Amio-Gelimi"},{"code":"leu","name":"Kara (Papua New Guinea)"},{"code":"lev","name":"Lamma"},{"code":"lew","name":"Ledo Kaili"},{"code":"lex","name":"Luang"},{"code":"ley","name":"Lemolang"},{"code":"lez","name":"Lezghian"},{"code":"lfa","name":"Lefa"},{"code":"lfn","name":"Lingua Franca Nova"},{"code":"lga","name":"Lungga"},{"code":"lgb","name":"Laghu"},{"code":"lgg","name":"Lugbara"},{"code":"lgh","name":"Laghuu"},{"code":"lgi","name":"Lengilu"},{"code":"lgk","name":"Lingarak"},{"code":"lgl","name":"Wala"},{"code":"lgm","name":"Lega-Mwenga"},{"code":"lgn","name":"Opuuo"},{"code":"lgq","name":"Logba"},{"code":"lgr","name":"Lengo"},{"code":"lgt","name":"Pahi"},{"code":"lgu","name":"Longgu"},{"code":"lgz","name":"Ligenza"},{"code":"lha","name":"Laha (Viet Nam)"},{"code":"lhh","name":"Laha (Indonesia)"},{"code":"lhi","name":"Lahu Shi"},{"code":"lhl","name":"Lahul Lohar"},{"code":"lhm","name":"Lhomi"},{"code":"lhn","name":"Lahanan"},{"code":"lhp","name":"Lhokpu"},{"code":"lhs","name":"Mlahsรถ"},{"code":"lht","name":"Lo-Toga"},{"code":"lhu","name":"Lahu"},{"code":"lia","name":"West-Central Limba"},{"code":"lib","name":"Likum"},{"code":"lic","name":"Hlai"},{"code":"lid","name":"Nyindrou"},{"code":"lie","name":"Likila"},{"code":"lif","name":"Limbu"},{"code":"lig","name":"Ligbi"},{"code":"lih","name":"Lihir"},{"code":"lij","name":"Ligurian"},{"code":"lik","name":"Lika"},{"code":"lil","name":"Lillooet"},{"code":"lim","name":"Limburgan"},{"code":"lin","name":"Lingala"},{"code":"lio","name":"Liki"},{"code":"lip","name":"Sekpele"},{"code":"liq","name":"Libido"},{"code":"lir","name":"Liberian English"},{"code":"lis","name":"Lisu"},{"code":"lit","name":"Lithuanian"},{"code":"liu","name":"Logorik"},{"code":"liv","name":"Liv"},{"code":"liw","name":"Col"},{"code":"lix","name":"Liabuku"},{"code":"liy","name":"Banda-Bambari"},{"code":"liz","name":"Libinza"},{"code":"lja","name":"Golpa"},{"code":"lje","name":"Rampi"},{"code":"lji","name":"Laiyolo"},{"code":"ljl","name":"Li'o"},{"code":"ljp","name":"Lampung Api"},{"code":"ljw","name":"Yirandali"},{"code":"ljx","name":"Yuru"},{"code":"lka","name":"Lakalei"},{"code":"lkb","name":"Kabras"},{"code":"lkc","name":"Kucong"},{"code":"lkd","name":"Lakondรช"},{"code":"lke","name":"Kenyi"},{"code":"lkh","name":"Lakha"},{"code":"lki","name":"Laki"},{"code":"lkj","name":"Remun"},{"code":"lkl","name":"Laeko-Libuat"},{"code":"lkm","name":"Kalaamaya"},{"code":"lkn","name":"Lakon"},{"code":"lko","name":"Khayo"},{"code":"lkr","name":"Pรคri"},{"code":"lks","name":"Kisa"},{"code":"lkt","name":"Lakota"},{"code":"lku","name":"Kungkari"},{"code":"lky","name":"Lokoya"},{"code":"lla","name":"Lala-Roba"},{"code":"llb","name":"Lolo"},{"code":"llc","name":"Lele (Guinea)"},{"code":"lld","name":"Ladin"},{"code":"lle","name":"Lele (Papua New Guinea)"},{"code":"llf","name":"Hermit"},{"code":"llg","name":"Lole"},{"code":"llh","name":"Lamu"},{"code":"lli","name":"Teke-Laali"},{"code":"llj","name":"Ladji Ladji"},{"code":"llk","name":"Lelak"},{"code":"lll","name":"Lilau"},{"code":"llm","name":"Lasalimu"},{"code":"lln","name":"Lele (Chad)"},{"code":"llp","name":"North Efate"},{"code":"llq","name":"Lolak"},{"code":"lls","name":"Lithuanian Sign Language"},{"code":"llu","name":"Lau"},{"code":"llx","name":"Lauan"},{"code":"lma","name":"East Limba"},{"code":"lmb","name":"Merei"},{"code":"lmc","name":"Limilngan"},{"code":"lmd","name":"Lumun"},{"code":"lme","name":"Pรฉvรฉ"},{"code":"lmf","name":"South Lembata"},{"code":"lmg","name":"Lamogai"},{"code":"lmh","name":"Lambichhong"},{"code":"lmi","name":"Lombi"},{"code":"lmj","name":"West Lembata"},{"code":"lmk","name":"Lamkang"},{"code":"lml","name":"Hano"},{"code":"lmn","name":"Lambadi"},{"code":"lmo","name":"Lombard"},{"code":"lmp","name":"Limbum"},{"code":"lmq","name":"Lamatuka"},{"code":"lmr","name":"Lamalera"},{"code":"lmu","name":"Lamenu"},{"code":"lmv","name":"Lomaiviti"},{"code":"lmw","name":"Lake Miwok"},{"code":"lmx","name":"Laimbue"},{"code":"lmy","name":"Lamboya"},{"code":"lna","name":"Langbashe"},{"code":"lnb","name":"Mbalanhu"},{"code":"lnd","name":"Lun Bawang"},{"code":"lng","name":"Langobardic"},{"code":"lnh","name":"Lanoh"},{"code":"lni","name":"Daantanai'"},{"code":"lnj","name":"Leningitij"},{"code":"lnl","name":"South Central Banda"},{"code":"lnm","name":"Langam"},{"code":"lnn","name":"Lorediakarkar"},{"code":"lno","name":"Lango (South Sudan)"},{"code":"lns","name":"Lamnso'"},{"code":"lnu","name":"Longuda"},{"code":"lnw","name":"Lanima"},{"code":"lnz","name":"Lonzo"},{"code":"loa","name":"Loloda"},{"code":"lob","name":"Lobi"},{"code":"loc","name":"Inonhan"},{"code":"loe","name":"Saluan"},{"code":"lof","name":"Logol"},{"code":"log","name":"Logo"},{"code":"loh","name":"Narim"},{"code":"loi","name":"Loma (Cรดte d'Ivoire)"},{"code":"loj","name":"Lou"},{"code":"lok","name":"Loko"},{"code":"lol","name":"Mongo"},{"code":"lom","name":"Loma (Liberia)"},{"code":"lon","name":"Malawi Lomwe"},{"code":"loo","name":"Lombo"},{"code":"lop","name":"Lopa"},{"code":"loq","name":"Lobala"},{"code":"lor","name":"Tรฉรฉn"},{"code":"los","name":"Loniu"},{"code":"lot","name":"Otuho"},{"code":"lou","name":"Louisiana Creole"},{"code":"lov","name":"Lopi"},{"code":"low","name":"Tampias Lobu"},{"code":"lox","name":"Loun"},{"code":"loy","name":"Loke"},{"code":"loz","name":"Lozi"},{"code":"lpa","name":"Lelepa"},{"code":"lpe","name":"Lepki"},{"code":"lpn","name":"Long Phuri Naga"},{"code":"lpo","name":"Lipo"},{"code":"lpx","name":"Lopit"},{"code":"lra","name":"Rara Bakati'"},{"code":"lrc","name":"Northern Luri"},{"code":"lre","name":"Laurentian"},{"code":"lrg","name":"Laragia"},{"code":"lri","name":"Marachi"},{"code":"lrk","name":"Loarki"},{"code":"lrl","name":"Lari"},{"code":"lrm","name":"Marama"},{"code":"lrn","name":"Lorang"},{"code":"lro","name":"Laro"},{"code":"lrr","name":"Southern Yamphu"},{"code":"lrt","name":"Larantuka Malay"},{"code":"lrv","name":"Larevat"},{"code":"lrz","name":"Lemerig"},{"code":"lsa","name":"Lasgerdi"},{"code":"lsb","name":"Burundian Sign Language"},{"code":"lsd","name":"Lishana Deni"},{"code":"lse","name":"Lusengo"},{"code":"lsh","name":"Lish"},{"code":"lsi","name":"Lashi"},{"code":"lsl","name":"Latvian Sign Language"},{"code":"lsm","name":"Olusamia"},{"code":"lsn","name":"Tibetan Sign Language"},{"code":"lso","name":"Laos Sign Language"},{"code":"lsp","name":"Lengua de Seรฑas Panameรฑas"},{"code":"lsr","name":"Aruop"},{"code":"lss","name":"Lasi"},{"code":"lst","name":"Trinidad and Tobago Sign Language"},{"code":"lsv","name":"Sivia Sign Language"},{"code":"lsy","name":"Mauritian Sign Language"},{"code":"ltc","name":"Late Middle Chinese"},{"code":"ltg","name":"Latgalian"},{"code":"lth","name":"Thur"},{"code":"lti","name":"Leti (Indonesia)"},{"code":"ltn","name":"Latundรช"},{"code":"lto","name":"Olutsotso"},{"code":"lts","name":"Lutachoni"},{"code":"ltu","name":"Latu"},{"code":"ltz","name":"Letzeburgesch"},{"code":"lua","name":"Luba-Lulua"},{"code":"lub","name":"Luba-Katanga"},{"code":"luc","name":"Aringa"},{"code":"lud","name":"Ludian"},{"code":"lue","name":"Luvale"},{"code":"luf","name":"Laua"},{"code":"lug","name":"Ganda"},{"code":"lui","name":"Luiseno"},{"code":"luj","name":"Luna"},{"code":"luk","name":"Lunanakha"},{"code":"lul","name":"Olu'bo"},{"code":"lum","name":"Luimbi"},{"code":"lun","name":"Lunda"},{"code":"luo","name":"Dholuo"},{"code":"lup","name":"Lumbu"},{"code":"luq","name":"Lucumi"},{"code":"lur","name":"Laura"},{"code":"lus","name":"Lushai"},{"code":"lut","name":"Lushootseed"},{"code":"luu","name":"Lumba-Yakkha"},{"code":"luv","name":"Luwati"},{"code":"luw","name":"Luo (Cameroon)"},{"code":"luy","name":"Luyia"},{"code":"luz","name":"Southern Luri"},{"code":"lva","name":"Maku'a"},{"code":"lvi","name":"Lavi"},{"code":"lvk","name":"Lavukaleve"},{"code":"lvs","name":"Standard Latvian"},{"code":"lvu","name":"Levuka"},{"code":"lwa","name":"Lwalu"},{"code":"lwe","name":"Lewo Eleng"},{"code":"lwg","name":"Oluwanga"},{"code":"lwh","name":"White Lachi"},{"code":"lwl","name":"Eastern Lawa"},{"code":"lwm","name":"Laomian"},{"code":"lwo","name":"Luwo"},{"code":"lws","name":"Malawian Sign Language"},{"code":"lwt","name":"Lewotobi"},{"code":"lwu","name":"Lawu"},{"code":"lww","name":"Lewo"},{"code":"lxm","name":"Lakurumau"},{"code":"lya","name":"Layakha"},{"code":"lyg","name":"Lyngngam"},{"code":"lyn","name":"Luyana"},{"code":"lzh","name":"Literary Chinese"},{"code":"lzl","name":"Litzlitz"},{"code":"lzn","name":"Leinong Naga"},{"code":"lzz","name":"Laz"},{"code":"maa","name":"San Jerรณnimo Tecรณatl Mazatec"},{"code":"mab","name":"Yutanduchi Mixtec"},{"code":"mad","name":"Madurese"},{"code":"mae","name":"Bo-Rukul"},{"code":"maf","name":"Mafa"},{"code":"mag","name":"Magahi"},{"code":"mah","name":"Marshallese"},{"code":"mai","name":"Maithili"},{"code":"maj","name":"Jalapa De Dรญaz Mazatec"},{"code":"mak","name":"Makasar"},{"code":"mal","name":"Malayalam"},{"code":"mam","name":"Mam"},{"code":"man","name":"Manding"},{"code":"maq","name":"Chiquihuitlรกn Mazatec"},{"code":"mar","name":"Marathi"},{"code":"mas","name":"Masai"},{"code":"mat","name":"San Francisco Matlatzinca"},{"code":"mau","name":"Huautla Mazatec"},{"code":"mav","name":"Saterรฉ-Mawรฉ"},{"code":"maw","name":"Mampruli"},{"code":"max","name":"North Moluccan Malay"},{"code":"maz","name":"Central Mazahua"},{"code":"mba","name":"Higaonon"},{"code":"mbb","name":"Western Bukidnon Manobo"},{"code":"mbc","name":"Macushi"},{"code":"mbd","name":"Dibabawon Manobo"},{"code":"mbe","name":"Molale"},{"code":"mbf","name":"Baba Malay"},{"code":"mbh","name":"Mangseng"},{"code":"mbi","name":"Ilianen Manobo"},{"code":"mbj","name":"Nadรซb"},{"code":"mbk","name":"Malol"},{"code":"mbl","name":"Maxakalรญ"},{"code":"mbm","name":"Ombamba"},{"code":"mbn","name":"Macaguรกn"},{"code":"mbo","name":"Mbo (Cameroon)"},{"code":"mbp","name":"Malayo"},{"code":"mbq","name":"Maisin"},{"code":"mbr","name":"Nukak Makรบ"},{"code":"mbs","name":"Sarangani Manobo"},{"code":"mbt","name":"Matigsalug Manobo"},{"code":"mbu","name":"Mbula-Bwazza"},{"code":"mbv","name":"Mbulungish"},{"code":"mbw","name":"Maring"},{"code":"mbx","name":"Mari (East Sepik Province)"},{"code":"mby","name":"Memoni"},{"code":"mbz","name":"Amoltepec Mixtec"},{"code":"mca","name":"Maca"},{"code":"mcb","name":"Machiguenga"},{"code":"mcc","name":"Bitur"},{"code":"mcd","name":"Sharanahua"},{"code":"mce","name":"Itundujia Mixtec"},{"code":"mcf","name":"Matsรฉs"},{"code":"mcg","name":"Mapoyo"},{"code":"mch","name":"Maquiritari"},{"code":"mci","name":"Mese"},{"code":"mcj","name":"Mvanip"},{"code":"mck","name":"Mbunda"},{"code":"mcl","name":"Macaguaje"},{"code":"mcm","name":"Malaccan Creole Portuguese"},{"code":"mcn","name":"Masana"},{"code":"mco","name":"Coatlรกn Mixe"},{"code":"mcp","name":"Makaa"},{"code":"mcq","name":"Ese"},{"code":"mcr","name":"Menya"},{"code":"mcs","name":"Mambai"},{"code":"mct","name":"Mengisa"},{"code":"mcu","name":"Cameroon Mambila"},{"code":"mcv","name":"Minanibai"},{"code":"mcw","name":"Mawa (Chad)"},{"code":"mcx","name":"Mpiemo"},{"code":"mcy","name":"South Watut"},{"code":"mcz","name":"Mawan"},{"code":"mda","name":"Mada (Nigeria)"},{"code":"mdb","name":"Morigi"},{"code":"mdc","name":"Male (Papua New Guinea)"},{"code":"mdd","name":"Mbum"},{"code":"mde","name":"Maba (Chad)"},{"code":"mdf","name":"Moksha"},{"code":"mdg","name":"Massalat"},{"code":"mdh","name":"Maguindanaon"},{"code":"mdi","name":"Mamvu"},{"code":"mdj","name":"Mangbetu"},{"code":"mdk","name":"Mangbutu"},{"code":"mdl","name":"Maltese Sign Language"},{"code":"mdm","name":"Mayogo"},{"code":"mdn","name":"Mbati"},{"code":"mdp","name":"Mbala"},{"code":"mdq","name":"Mbole"},{"code":"mdr","name":"Mandar"},{"code":"mds","name":"Maria (Papua New Guinea)"},{"code":"mdt","name":"Mbere"},{"code":"mdu","name":"Mboko"},{"code":"mdv","name":"Santa Lucรญa Monteverde Mixtec"},{"code":"mdw","name":"Mbosi"},{"code":"mdx","name":"Dizin"},{"code":"mdy","name":"Male (Ethiopia)"},{"code":"mdz","name":"Suruรญ Do Parรก"},{"code":"mea","name":"Menka"},{"code":"meb","name":"Ikobi"},{"code":"mec","name":"Marra"},{"code":"med","name":"Melpa"},{"code":"mee","name":"Mengen"},{"code":"mef","name":"Megam"},{"code":"meh","name":"Southwestern Tlaxiaco Mixtec"},{"code":"mei","name":"Midob"},{"code":"mej","name":"Meyah"},{"code":"mek","name":"Mekeo"},{"code":"mel","name":"Central Melanau"},{"code":"mem","name":"Mangala"},{"code":"men","name":"Mende (Sierra Leone)"},{"code":"meo","name":"Kedah Malay"},{"code":"mep","name":"Miriwoong"},{"code":"meq","name":"Merey"},{"code":"mer","name":"Meru"},{"code":"mes","name":"Masmaje"},{"code":"met","name":"Mato"},{"code":"meu","name":"Motu"},{"code":"mev","name":"Mano"},{"code":"mew","name":"Maaka"},{"code":"mey","name":"Hassaniyya"},{"code":"mez","name":"Menominee"},{"code":"mfa","name":"Pattani Malay"},{"code":"mfb","name":"Bangka"},{"code":"mfc","name":"Mba"},{"code":"mfd","name":"Mendankwe-Nkwen"},{"code":"mfe","name":"Morisyen"},{"code":"mff","name":"Naki"},{"code":"mfg","name":"Mogofin"},{"code":"mfh","name":"Matal"},{"code":"mfi","name":"Wandala"},{"code":"mfj","name":"Mefele"},{"code":"mfk","name":"North Mofu"},{"code":"mfl","name":"Putai"},{"code":"mfm","name":"Marghi South"},{"code":"mfn","name":"Cross River Mbembe"},{"code":"mfo","name":"Mbe"},{"code":"mfp","name":"Makassar Malay"},{"code":"mfq","name":"Moba"},{"code":"mfr","name":"Marrithiyel"},{"code":"mfs","name":"Mexican Sign Language"},{"code":"mft","name":"Mokerang"},{"code":"mfu","name":"Mbwela"},{"code":"mfv","name":"Mandjak"},{"code":"mfw","name":"Mulaha"},{"code":"mfx","name":"Melo"},{"code":"mfy","name":"Mayo"},{"code":"mfz","name":"Mabaan"},{"code":"mga","name":"Middle Irish (900-1200)"},{"code":"mgb","name":"Mararit"},{"code":"mgc","name":"Morokodo"},{"code":"mgd","name":"Moru"},{"code":"mge","name":"Mango"},{"code":"mgf","name":"Maklew"},{"code":"mgg","name":"Mpumpong"},{"code":"mgh","name":"Makhuwa-Meetto"},{"code":"mgi","name":"Lijili"},{"code":"mgj","name":"Abureni"},{"code":"mgk","name":"Mawes"},{"code":"mgl","name":"Maleu-Kilenge"},{"code":"mgm","name":"Mambae"},{"code":"mgn","name":"Mbangi"},{"code":"mgo","name":"Meta'"},{"code":"mgp","name":"Eastern Magar"},{"code":"mgq","name":"Malila"},{"code":"mgr","name":"Mambwe-Lungu"},{"code":"mgs","name":"Manda (Tanzania)"},{"code":"mgt","name":"Mongol"},{"code":"mgu","name":"Mailu"},{"code":"mgv","name":"Matengo"},{"code":"mgw","name":"Matumbi"},{"code":"mgy","name":"Mbunga"},{"code":"mgz","name":"Mbugwe"},{"code":"mha","name":"Manda (India)"},{"code":"mhb","name":"Mahongwe"},{"code":"mhc","name":"Mocho"},{"code":"mhd","name":"Mbugu"},{"code":"mhe","name":"Besisi"},{"code":"mhf","name":"Mamaa"},{"code":"mhg","name":"Margu"},{"code":"mhi","name":"Ma'di"},{"code":"mhj","name":"Mogholi"},{"code":"mhk","name":"Mungaka"},{"code":"mhl","name":"Mauwake"},{"code":"mhm","name":"Makhuwa-Moniga"},{"code":"mhn","name":"Mรณcheno"},{"code":"mho","name":"Mashi (Zambia)"},{"code":"mhp","name":"Balinese Malay"},{"code":"mhq","name":"Mandan"},{"code":"mhr","name":"Eastern Mari"},{"code":"mhs","name":"Buru (Indonesia)"},{"code":"mht","name":"Mandahuaca"},{"code":"mhu","name":"Darang Deng"},{"code":"mhw","name":"Mbukushu"},{"code":"mhx","name":"Lhaovo"},{"code":"mhy","name":"Ma'anyan"},{"code":"mhz","name":"Mor (Mor Islands)"},{"code":"mia","name":"Miami"},{"code":"mib","name":"Atatlรกhuca Mixtec"},{"code":"mic","name":"Micmac"},{"code":"mid","name":"Mandaic"},{"code":"mie","name":"Ocotepec Mixtec"},{"code":"mif","name":"Mofu-Gudur"},{"code":"mig","name":"San Miguel El Grande Mixtec"},{"code":"mih","name":"Chayuco Mixtec"},{"code":"mii","name":"Chigmecatitlรกn Mixtec"},{"code":"mij","name":"Abar"},{"code":"mik","name":"Mikasuki"},{"code":"mil","name":"Peรฑoles Mixtec"},{"code":"mim","name":"Alacatlatzala Mixtec"},{"code":"min","name":"Minangkabau"},{"code":"mio","name":"Pinotepa Nacional Mixtec"},{"code":"mip","name":"Apasco-Apoala Mixtec"},{"code":"miq","name":"Mรญskito"},{"code":"mir","name":"Isthmus Mixe"},{"code":"mis","name":"Uncoded languages"},{"code":"mit","name":"Southern Puebla Mixtec"},{"code":"miu","name":"Cacaloxtepec Mixtec"},{"code":"miw","name":"Akoye"},{"code":"mix","name":"Mixtepec Mixtec"},{"code":"miy","name":"Ayutla Mixtec"},{"code":"miz","name":"Coatzospan Mixtec"},{"code":"mjb","name":"Makalero"},{"code":"mjc","name":"San Juan Colorado Mixtec"},{"code":"mjd","name":"Northwest Maidu"},{"code":"mje","name":"Muskum"},{"code":"mjg","name":"Tu"},{"code":"mjh","name":"Mwera (Nyasa)"},{"code":"mji","name":"Kim Mun"},{"code":"mjj","name":"Mawak"},{"code":"mjk","name":"Matukar"},{"code":"mjl","name":"Mandeali"},{"code":"mjm","name":"Medebur"},{"code":"mjn","name":"Ma (Papua New Guinea)"},{"code":"mjo","name":"Malankuravan"},{"code":"mjp","name":"Malapandaram"},{"code":"mjq","name":"Malaryan"},{"code":"mjr","name":"Malavedan"},{"code":"mjs","name":"Miship"},{"code":"mjt","name":"Sauria Paharia"},{"code":"mju","name":"Manna-Dora"},{"code":"mjv","name":"Mannan"},{"code":"mjw","name":"Karbi"},{"code":"mjx","name":"Mahali"},{"code":"mjy","name":"Mahican"},{"code":"mjz","name":"Majhi"},{"code":"mka","name":"Mbre"},{"code":"mkb","name":"Mal Paharia"},{"code":"mkc","name":"Siliput"},{"code":"mkd","name":"Macedonian"},{"code":"mke","name":"Mawchi"},{"code":"mkf","name":"Miya"},{"code":"mkg","name":"Mak (China)"},{"code":"mki","name":"Dhatki"},{"code":"mkj","name":"Mokilese"},{"code":"mkk","name":"Byep"},{"code":"mkl","name":"Mokole"},{"code":"mkm","name":"Moklen"},{"code":"mkn","name":"Kupang Malay"},{"code":"mko","name":"Mingang Doso"},{"code":"mkp","name":"Moikodi"},{"code":"mkq","name":"Bay Miwok"},{"code":"mkr","name":"Malas"},{"code":"mks","name":"Silacayoapan Mixtec"},{"code":"mkt","name":"Vamale"},{"code":"mku","name":"Konyanka Maninka"},{"code":"mkv","name":"Mafea"},{"code":"mkw","name":"Kituba (Congo)"},{"code":"mkx","name":"Kinamiging Manobo"},{"code":"mky","name":"East Makian"},{"code":"mkz","name":"Makasae"},{"code":"mla","name":"Malo"},{"code":"mlb","name":"Mbule"},{"code":"mlc","name":"Cao Lan"},{"code":"mle","name":"Manambu"},{"code":"mlf","name":"Mal"},{"code":"mlg","name":"Malagasy"},{"code":"mlh","name":"Mape"},{"code":"mli","name":"Malimpung"},{"code":"mlj","name":"Miltu"},{"code":"mlk","name":"Ilwana"},{"code":"mll","name":"Malua Bay"},{"code":"mlm","name":"Mulam"},{"code":"mln","name":"Malango"},{"code":"mlo","name":"Mlomp"},{"code":"mlp","name":"Bargam"},{"code":"mlq","name":"Western Maninkakan"},{"code":"mlr","name":"Vame"},{"code":"mls","name":"Masalit"},{"code":"mlt","name":"Maltese"},{"code":"mlu","name":"To'abaita"},{"code":"mlv","name":"Motlav"},{"code":"mlw","name":"Moloko"},{"code":"mlx","name":"Malfaxal"},{"code":"mlz","name":"Malaynon"},{"code":"mma","name":"Mama"},{"code":"mmb","name":"Momina"},{"code":"mmc","name":"Michoacรกn Mazahua"},{"code":"mmd","name":"Maonan"},{"code":"mme","name":"Mae"},{"code":"mmf","name":"Mundat"},{"code":"mmg","name":"North Ambrym"},{"code":"mmh","name":"Mehinรกku"},{"code":"mmi","name":"Musar"},{"code":"mmj","name":"Majhwar"},{"code":"mmk","name":"Mukha-Dora"},{"code":"mml","name":"Man Met"},{"code":"mmm","name":"Maii"},{"code":"mmn","name":"Mamanwa"},{"code":"mmo","name":"Mangga Buang"},{"code":"mmp","name":"Siawi"},{"code":"mmq","name":"Musak"},{"code":"mmr","name":"Western Xiangxi Miao"},{"code":"mmt","name":"Malalamai"},{"code":"mmu","name":"Mmaala"},{"code":"mmv","name":"Miriti"},{"code":"mmw","name":"Emae"},{"code":"mmx","name":"Madak"},{"code":"mmy","name":"Migaama"},{"code":"mmz","name":"Mabaale"},{"code":"mna","name":"Mbula"},{"code":"mnb","name":"Muna"},{"code":"mnc","name":"Manchu"},{"code":"mnd","name":"Mondรฉ"},{"code":"mne","name":"Naba"},{"code":"mnf","name":"Mundani"},{"code":"mng","name":"Eastern Mnong"},{"code":"mnh","name":"Mono (Democratic Republic of Congo)"},{"code":"mni","name":"Manipuri"},{"code":"mnj","name":"Munji"},{"code":"mnk","name":"Mandinka"},{"code":"mnl","name":"Tiale"},{"code":"mnm","name":"Mapena"},{"code":"mnn","name":"Southern Mnong"},{"code":"mnp","name":"Min Bei Chinese"},{"code":"mnq","name":"Minriq"},{"code":"mnr","name":"Mono (USA)"},{"code":"mns","name":"Mansi"},{"code":"mnu","name":"Mer"},{"code":"mnv","name":"Rennell-Bellona"},{"code":"mnw","name":"Mon"},{"code":"mnx","name":"Manikion"},{"code":"mny","name":"Manyawa"},{"code":"mnz","name":"Moni"},{"code":"moa","name":"Mwan"},{"code":"moc","name":"Mocovรญ"},{"code":"mod","name":"Mobilian"},{"code":"moe","name":"Innu"},{"code":"mog","name":"Mongondow"},{"code":"moh","name":"Mohawk"},{"code":"moi","name":"Mboi"},{"code":"moj","name":"Monzombo"},{"code":"mok","name":"Morori"},{"code":"mom","name":"Mangue"},{"code":"mon","name":"Mongolian"},{"code":"moo","name":"Monom"},{"code":"mop","name":"Mopรกn Maya"},{"code":"moq","name":"Mor (Bomberai Peninsula)"},{"code":"mor","name":"Moro"},{"code":"mos","name":"Mossi"},{"code":"mot","name":"Barรญ"},{"code":"mou","name":"Mogum"},{"code":"mov","name":"Mohave"},{"code":"mow","name":"Moi (Congo)"},{"code":"mox","name":"Molima"},{"code":"moy","name":"Shekkacho"},{"code":"moz","name":"Gergiko"},{"code":"mpa","name":"Mpoto"},{"code":"mpb","name":"Malak Malak"},{"code":"mpc","name":"Mangarrayi"},{"code":"mpd","name":"Machinere"},{"code":"mpe","name":"Majang"},{"code":"mpg","name":"Marba"},{"code":"mph","name":"Maung"},{"code":"mpi","name":"Mpade"},{"code":"mpj","name":"Martu Wangka"},{"code":"mpk","name":"Mbara (Chad)"},{"code":"mpl","name":"Middle Watut"},{"code":"mpm","name":"Yosondรบa Mixtec"},{"code":"mpn","name":"Mindiri"},{"code":"mpo","name":"Miu"},{"code":"mpp","name":"Migabac"},{"code":"mpq","name":"Matรญs"},{"code":"mpr","name":"Vangunu"},{"code":"mps","name":"Dadibi"},{"code":"mpt","name":"Mian"},{"code":"mpu","name":"Makurรกp"},{"code":"mpv","name":"Mungkip"},{"code":"mpw","name":"Mapidian"},{"code":"mpx","name":"Misima-Panaeati"},{"code":"mpy","name":"Mapia"},{"code":"mpz","name":"Mpi"},{"code":"mqa","name":"Maba (Indonesia)"},{"code":"mqb","name":"Mbuko"},{"code":"mqc","name":"Mangole"},{"code":"mqe","name":"Matepi"},{"code":"mqf","name":"Momuna"},{"code":"mqg","name":"Kota Bangun Kutai Malay"},{"code":"mqh","name":"Tlazoyaltepec Mixtec"},{"code":"mqi","name":"Mariri"},{"code":"mqj","name":"Mamasa"},{"code":"mqk","name":"Rajah Kabunsuwan Manobo"},{"code":"mql","name":"Mbelime"},{"code":"mqm","name":"South Marquesan"},{"code":"mqn","name":"Moronene"},{"code":"mqo","name":"Modole"},{"code":"mqp","name":"Manipa"},{"code":"mqq","name":"Minokok"},{"code":"mqr","name":"Mander"},{"code":"mqs","name":"West Makian"},{"code":"mqt","name":"Mok"},{"code":"mqu","name":"Mandari"},{"code":"mqv","name":"Mosimo"},{"code":"mqw","name":"Murupi"},{"code":"mqx","name":"Mamuju"},{"code":"mqy","name":"Manggarai"},{"code":"mqz","name":"Pano"},{"code":"mra","name":"Mlabri"},{"code":"mrb","name":"Marino"},{"code":"mrc","name":"Maricopa"},{"code":"mrd","name":"Western Magar"},{"code":"mre","name":"Martha's Vineyard Sign Language"},{"code":"mrf","name":"Elseng"},{"code":"mrg","name":"Mising"},{"code":"mrh","name":"Mara Chin"},{"code":"mri","name":"Maori"},{"code":"mrj","name":"Western Mari"},{"code":"mrk","name":"Hmwaveke"},{"code":"mrl","name":"Mortlockese"},{"code":"mrm","name":"Merlav"},{"code":"mrn","name":"Cheke Holo"},{"code":"mro","name":"Mru"},{"code":"mrp","name":"Morouas"},{"code":"mrq","name":"North Marquesan"},{"code":"mrr","name":"Maria (India)"},{"code":"mrs","name":"Maragus"},{"code":"mrt","name":"Marghi Central"},{"code":"mru","name":"Mono (Cameroon)"},{"code":"mrv","name":"Mangareva"},{"code":"mrw","name":"Maranao"},{"code":"mrx","name":"Dineor"},{"code":"mry","name":"Mandaya"},{"code":"mrz","name":"Marind"},{"code":"msa","name":"Malay"},{"code":"msb","name":"Masbatenyo"},{"code":"msc","name":"Sankaran Maninka"},{"code":"msd","name":"Yucatec Maya Sign Language"},{"code":"mse","name":"Musey"},{"code":"msf","name":"Mekwei"},{"code":"msg","name":"Moraid"},{"code":"msh","name":"Masikoro Malagasy"},{"code":"msi","name":"Sabah Malay"},{"code":"msj","name":"Ma (Democratic Republic of Congo)"},{"code":"msk","name":"Mansaka"},{"code":"msl","name":"Molof"},{"code":"msm","name":"Agusan Manobo"},{"code":"msn","name":"Vurรซs"},{"code":"mso","name":"Mombum"},{"code":"msp","name":"Maritsauรก"},{"code":"msq","name":"Caac"},{"code":"msr","name":"Mongolian Sign Language"},{"code":"mss","name":"West Masela"},{"code":"msu","name":"Musom"},{"code":"msv","name":"Maslam"},{"code":"msw","name":"Mansoanka"},{"code":"msx","name":"Moresada"},{"code":"msy","name":"Aruamu"},{"code":"msz","name":"Momare"},{"code":"mta","name":"Cotabato Manobo"},{"code":"mtb","name":"Anyin Morofo"},{"code":"mtc","name":"Munit"},{"code":"mtd","name":"Mualang"},{"code":"mte","name":"Mono (Solomon Islands)"},{"code":"mtf","name":"Murik (Papua New Guinea)"},{"code":"mtg","name":"Una"},{"code":"mth","name":"Munggui"},{"code":"mti","name":"Maiwa (Papua New Guinea)"},{"code":"mtj","name":"Moskona"},{"code":"mtk","name":"Mbe'"},{"code":"mtl","name":"Montol"},{"code":"mtm","name":"Mator"},{"code":"mtn","name":"Matagalpa"},{"code":"mto","name":"Totontepec Mixe"},{"code":"mtp","name":"Wichรญ Lhamtรฉs Nocten"},{"code":"mtq","name":"Muong"},{"code":"mtr","name":"Mewari"},{"code":"mts","name":"Yora"},{"code":"mtt","name":"Mota"},{"code":"mtu","name":"Tututepec Mixtec"},{"code":"mtv","name":"Asaro'o"},{"code":"mtw","name":"Southern Binukidnon"},{"code":"mtx","name":"Tidaรก Mixtec"},{"code":"mty","name":"Nabi"},{"code":"mua","name":"Mundang"},{"code":"mub","name":"Mubi"},{"code":"muc","name":"Ajumbu"},{"code":"mud","name":"Mednyj Aleut"},{"code":"mue","name":"Media Lengua"},{"code":"mug","name":"Musgu"},{"code":"muh","name":"Mรผndรผ"},{"code":"mui","name":"Musi"},{"code":"muj","name":"Mabire"},{"code":"muk","name":"Mugom"},{"code":"mul","name":"Multiple languages"},{"code":"mum","name":"Maiwala"},{"code":"muo","name":"Nyong"},{"code":"mup","name":"Malvi"},{"code":"muq","name":"Eastern Xiangxi Miao"},{"code":"mur","name":"Murle"},{"code":"mus","name":"Creek"},{"code":"mut","name":"Western Muria"},{"code":"muu","name":"Yaaku"},{"code":"muv","name":"Muthuvan"},{"code":"mux","name":"Bo-Ung"},{"code":"muy","name":"Muyang"},{"code":"muz","name":"Mursi"},{"code":"mva","name":"Manam"},{"code":"mvb","name":"Mattole"},{"code":"mvd","name":"Mamboru"},{"code":"mve","name":"Marwari (Pakistan)"},{"code":"mvf","name":"Peripheral Mongolian"},{"code":"mvg","name":"Yucuaรฑe Mixtec"},{"code":"mvh","name":"Mulgi"},{"code":"mvi","name":"Miyako"},{"code":"mvk","name":"Mekmek"},{"code":"mvl","name":"Mbara (Australia)"},{"code":"mvn","name":"Minaveha"},{"code":"mvo","name":"Marovo"},{"code":"mvp","name":"Duri"},{"code":"mvq","name":"Moere"},{"code":"mvr","name":"Marau"},{"code":"mvs","name":"Massep"},{"code":"mvt","name":"Mpotovoro"},{"code":"mvu","name":"Marfa"},{"code":"mvv","name":"Tagal Murut"},{"code":"mvw","name":"Machinga"},{"code":"mvx","name":"Meoswar"},{"code":"mvy","name":"Indus Kohistani"},{"code":"mvz","name":"Mesqan"},{"code":"mwa","name":"Mwatebu"},{"code":"mwb","name":"Juwal"},{"code":"mwc","name":"Are"},{"code":"mwe","name":"Mwera (Chimwera)"},{"code":"mwf","name":"Murrinh-Patha"},{"code":"mwg","name":"Aiklep"},{"code":"mwh","name":"Mouk-Aria"},{"code":"mwi","name":"Labo"},{"code":"mwk","name":"Kita Maninkakan"},{"code":"mwl","name":"Mirandese"},{"code":"mwm","name":"Sar"},{"code":"mwn","name":"Nyamwanga"},{"code":"mwo","name":"Central Maewo"},{"code":"mwp","name":"Kala Lagaw Ya"},{"code":"mwq","name":"Mรผn Chin"},{"code":"mwr","name":"Marwari"},{"code":"mws","name":"Mwimbi-Muthambi"},{"code":"mwt","name":"Moken"},{"code":"mwu","name":"Mittu"},{"code":"mwv","name":"Mentawai"},{"code":"mww","name":"Hmong Daw"},{"code":"mwz","name":"Moingi"},{"code":"mxa","name":"Northwest Oaxaca Mixtec"},{"code":"mxb","name":"Tezoatlรกn Mixtec"},{"code":"mxc","name":"Manyika"},{"code":"mxd","name":"Modang"},{"code":"mxe","name":"Mele-Fila"},{"code":"mxf","name":"Malgbe"},{"code":"mxg","name":"Mbangala"},{"code":"mxh","name":"Mvuba"},{"code":"mxi","name":"Mozarabic"},{"code":"mxj","name":"Geman Deng"},{"code":"mxk","name":"Monumbo"},{"code":"mxl","name":"Maxi Gbe"},{"code":"mxm","name":"Meramera"},{"code":"mxn","name":"Moi (Indonesia)"},{"code":"mxo","name":"Mbowe"},{"code":"mxp","name":"Tlahuitoltepec Mixe"},{"code":"mxq","name":"Juquila Mixe"},{"code":"mxr","name":"Murik (Malaysia)"},{"code":"mxs","name":"Huitepec Mixtec"},{"code":"mxt","name":"Jamiltepec Mixtec"},{"code":"mxu","name":"Mada (Cameroon)"},{"code":"mxv","name":"Metlatรณnoc Mixtec"},{"code":"mxw","name":"Namo"},{"code":"mxx","name":"Mahou"},{"code":"mxy","name":"Southeastern Nochixtlรกn Mixtec"},{"code":"mxz","name":"Central Masela"},{"code":"mya","name":"Burmese"},{"code":"myb","name":"Mbay"},{"code":"myc","name":"Mayeka"},{"code":"mye","name":"Myene"},{"code":"myf","name":"Bambassi"},{"code":"myg","name":"Manta"},{"code":"myh","name":"Makah"},{"code":"myj","name":"Mangayat"},{"code":"myk","name":"Mamara Senoufo"},{"code":"myl","name":"Moma"},{"code":"mym","name":"Me'en"},{"code":"myo","name":"Anfillo"},{"code":"myp","name":"Pirahรฃ"},{"code":"myr","name":"Muniche"},{"code":"mys","name":"Mesmes"},{"code":"myu","name":"Mundurukรบ"},{"code":"myv","name":"Erzya"},{"code":"myw","name":"Muyuw"},{"code":"myx","name":"Masaaba"},{"code":"myy","name":"Macuna"},{"code":"myz","name":"Classical Mandaic"},{"code":"mza","name":"Santa Marรญa Zacatepec Mixtec"},{"code":"mzb","name":"Tumzabt"},{"code":"mzc","name":"Madagascar Sign Language"},{"code":"mzd","name":"Malimba"},{"code":"mze","name":"Morawa"},{"code":"mzg","name":"Monastic Sign Language"},{"code":"mzh","name":"Wichรญ Lhamtรฉs Gรผisnay"},{"code":"mzi","name":"Ixcatlรกn Mazatec"},{"code":"mzj","name":"Manya"},{"code":"mzk","name":"Nigeria Mambila"},{"code":"mzl","name":"Mazatlรกn Mixe"},{"code":"mzm","name":"Mumuye"},{"code":"mzn","name":"Mazanderani"},{"code":"mzo","name":"Matipuhy"},{"code":"mzp","name":"Movima"},{"code":"mzq","name":"Mori Atas"},{"code":"mzr","name":"Marรบbo"},{"code":"mzs","name":"Macanese"},{"code":"mzt","name":"Mintil"},{"code":"mzu","name":"Inapang"},{"code":"mzv","name":"Manza"},{"code":"mzw","name":"Deg"},{"code":"mzx","name":"Mawayana"},{"code":"mzy","name":"Mozambican Sign Language"},{"code":"mzz","name":"Maiadomu"},{"code":"naa","name":"Namla"},{"code":"nab","name":"Southern Nambikuรกra"},{"code":"nac","name":"Narak"},{"code":"nae","name":"Naka'ela"},{"code":"naf","name":"Nabak"},{"code":"nag","name":"Naga Pidgin"},{"code":"naj","name":"Nalu"},{"code":"nak","name":"Nakanai"},{"code":"nal","name":"Nalik"},{"code":"nam","name":"Ngan'gityemerri"},{"code":"nan","name":"Min Nan Chinese"},{"code":"nao","name":"Naaba"},{"code":"nap","name":"Neapolitan"},{"code":"naq","name":"Khoekhoe"},{"code":"nar","name":"Iguta"},{"code":"nas","name":"Naasioi"},{"code":"nat","name":"Caฬฑhungwaฬฑryaฬฑ"},{"code":"nau","name":"Nauru"},{"code":"nav","name":"Navaho"},{"code":"naw","name":"Nawuri"},{"code":"nax","name":"Nakwi"},{"code":"nay","name":"Ngarrindjeri"},{"code":"naz","name":"Coatepec Nahuatl"},{"code":"nba","name":"Nyemba"},{"code":"nbb","name":"Ndoe"},{"code":"nbc","name":"Chang Naga"},{"code":"nbd","name":"Ngbinda"},{"code":"nbe","name":"Konyak Naga"},{"code":"nbg","name":"Nagarchal"},{"code":"nbh","name":"Ngamo"},{"code":"nbi","name":"Mao Naga"},{"code":"nbj","name":"Ngarinyman"},{"code":"nbk","name":"Nake"},{"code":"nbl","name":"South Ndebele"},{"code":"nbm","name":"Ngbaka Ma'bo"},{"code":"nbn","name":"Kuri"},{"code":"nbo","name":"Nkukoli"},{"code":"nbp","name":"Nnam"},{"code":"nbq","name":"Nggem"},{"code":"nbr","name":"Numana"},{"code":"nbs","name":"Namibian Sign Language"},{"code":"nbt","name":"Na"},{"code":"nbu","name":"Rongmei Naga"},{"code":"nbv","name":"Ngamambo"},{"code":"nbw","name":"Southern Ngbandi"},{"code":"nby","name":"Ningera"},{"code":"nca","name":"Iyo"},{"code":"ncb","name":"Central Nicobarese"},{"code":"ncc","name":"Ponam"},{"code":"ncd","name":"Nachering"},{"code":"nce","name":"Yale"},{"code":"ncf","name":"Notsi"},{"code":"ncg","name":"Nisga'a"},{"code":"nch","name":"Central Huasteca Nahuatl"},{"code":"nci","name":"Classical Nahuatl"},{"code":"ncj","name":"Northern Puebla Nahuatl"},{"code":"nck","name":"Na-kara"},{"code":"ncl","name":"Michoacรกn Nahuatl"},{"code":"ncm","name":"Nambo"},{"code":"ncn","name":"Nauna"},{"code":"nco","name":"Sibe"},{"code":"ncq","name":"Northern Katang"},{"code":"ncr","name":"Ncane"},{"code":"ncs","name":"Nicaraguan Sign Language"},{"code":"nct","name":"Chothe Naga"},{"code":"ncu","name":"Chumburung"},{"code":"ncx","name":"Central Puebla Nahuatl"},{"code":"ncz","name":"Natchez"},{"code":"nda","name":"Ndasa"},{"code":"ndb","name":"Kenswei Nsei"},{"code":"ndc","name":"Ndau"},{"code":"ndd","name":"Nde-Nsele-Nta"},{"code":"nde","name":"North Ndebele"},{"code":"ndf","name":"Nadruvian"},{"code":"ndg","name":"Ndengereko"},{"code":"ndh","name":"Ndali"},{"code":"ndi","name":"Samba Leko"},{"code":"ndj","name":"Ndamba"},{"code":"ndk","name":"Ndaka"},{"code":"ndl","name":"Ndolo"},{"code":"ndm","name":"Ndam"},{"code":"ndn","name":"Ngundi"},{"code":"ndo","name":"Ndonga"},{"code":"ndp","name":"Ndo"},{"code":"ndq","name":"Ndombe"},{"code":"ndr","name":"Ndoola"},{"code":"nds","name":"Low German"},{"code":"ndt","name":"Ndunga"},{"code":"ndu","name":"Dugun"},{"code":"ndv","name":"Ndut"},{"code":"ndw","name":"Ndobo"},{"code":"ndx","name":"Nduga"},{"code":"ndy","name":"Lutos"},{"code":"ndz","name":"Ndogo"},{"code":"nea","name":"Eastern Ngad'a"},{"code":"neb","name":"Toura (Cรดte d'Ivoire)"},{"code":"nec","name":"Nedebang"},{"code":"ned","name":"Nde-Gbite"},{"code":"nee","name":"Nรชlรชmwa-Nixumwak"},{"code":"nef","name":"Nefamese"},{"code":"neg","name":"Negidal"},{"code":"neh","name":"Nyenkha"},{"code":"nei","name":"Neo-Hittite"},{"code":"nej","name":"Neko"},{"code":"nek","name":"Neku"},{"code":"nem","name":"Nemi"},{"code":"nen","name":"Nengone"},{"code":"neo","name":"Nรก-Meo"},{"code":"nep","name":"Nepali"},{"code":"neq","name":"North Central Mixe"},{"code":"ner","name":"Yahadian"},{"code":"nes","name":"Bhoti Kinnauri"},{"code":"net","name":"Nete"},{"code":"neu","name":"Neo"},{"code":"nev","name":"Nyaheun"},{"code":"new","name":"Nepal Bhasa"},{"code":"nex","name":"Neme"},{"code":"ney","name":"Neyo"},{"code":"nez","name":"Nez Perce"},{"code":"nfa","name":"Dhao"},{"code":"nfd","name":"Ahwai"},{"code":"nfl","name":"ร„iwoo"},{"code":"nfr","name":"Nafaanra"},{"code":"nfu","name":"Mfumte"},{"code":"nga","name":"Ngbaka"},{"code":"ngb","name":"Northern Ngbandi"},{"code":"ngc","name":"Ngombe (Democratic Republic of Congo)"},{"code":"ngd","name":"Ngando (Central African Republic)"},{"code":"nge","name":"Ngemba"},{"code":"ngg","name":"Ngbaka Manza"},{"code":"ngh","name":"Nวng"},{"code":"ngi","name":"Ngizim"},{"code":"ngj","name":"Ngie"},{"code":"ngk","name":"Dalabon"},{"code":"ngl","name":"Lomwe"},{"code":"ngm","name":"Ngatik Men's Creole"},{"code":"ngn","name":"Ngwo"},{"code":"ngp","name":"Ngulu"},{"code":"ngq","name":"Ngoreme"},{"code":"ngr","name":"Engdewu"},{"code":"ngs","name":"Gvoko"},{"code":"ngt","name":"Kriang"},{"code":"ngu","name":"Guerrero Nahuatl"},{"code":"ngv","name":"Nagumi"},{"code":"ngw","name":"Ngwaba"},{"code":"ngx","name":"Nggwahyi"},{"code":"ngy","name":"Tibea"},{"code":"ngz","name":"Ngungwel"},{"code":"nha","name":"Nhanda"},{"code":"nhb","name":"Beng"},{"code":"nhc","name":"Tabasco Nahuatl"},{"code":"nhd","name":"Ava Guaranรญ"},{"code":"nhe","name":"Eastern Huasteca Nahuatl"},{"code":"nhf","name":"Nhuwala"},{"code":"nhg","name":"Tetelcingo Nahuatl"},{"code":"nhh","name":"Nahari"},{"code":"nhi","name":"Zacatlรกn-Ahuacatlรกn-Tepetzintla Nahuatl"},{"code":"nhk","name":"Isthmus-Cosoleacaque Nahuatl"},{"code":"nhm","name":"Morelos Nahuatl"},{"code":"nhn","name":"Central Nahuatl"},{"code":"nho","name":"Takuu"},{"code":"nhp","name":"Isthmus-Pajapan Nahuatl"},{"code":"nhq","name":"Huaxcaleca Nahuatl"},{"code":"nhr","name":"Naro"},{"code":"nht","name":"Ometepec Nahuatl"},{"code":"nhu","name":"Noone"},{"code":"nhv","name":"Temascaltepec Nahuatl"},{"code":"nhw","name":"Western Huasteca Nahuatl"},{"code":"nhx","name":"Isthmus-Mecayapan Nahuatl"},{"code":"nhy","name":"Northern Oaxaca Nahuatl"},{"code":"nhz","name":"Santa Marรญa La Alta Nahuatl"},{"code":"nia","name":"Nias"},{"code":"nib","name":"Nakame"},{"code":"nid","name":"Ngandi"},{"code":"nie","name":"Niellim"},{"code":"nif","name":"Nek"},{"code":"nig","name":"Ngalakgan"},{"code":"nih","name":"Nyiha (Tanzania)"},{"code":"nii","name":"Nii"},{"code":"nij","name":"Ngaju"},{"code":"nik","name":"Southern Nicobarese"},{"code":"nil","name":"Nila"},{"code":"nim","name":"Nilamba"},{"code":"nin","name":"Ninzo"},{"code":"nio","name":"Nganasan"},{"code":"niq","name":"Nandi"},{"code":"nir","name":"Nimboran"},{"code":"nis","name":"Nimi"},{"code":"nit","name":"Southeastern Kolami"},{"code":"niu","name":"Niuean"},{"code":"niv","name":"Gilyak"},{"code":"niw","name":"Nimo"},{"code":"nix","name":"Hema"},{"code":"niy","name":"Ngiti"},{"code":"niz","name":"Ningil"},{"code":"nja","name":"Nzanyi"},{"code":"njb","name":"Nocte Naga"},{"code":"njd","name":"Ndonde Hamba"},{"code":"njh","name":"Lotha Naga"},{"code":"nji","name":"Gudanji"},{"code":"njj","name":"Njen"},{"code":"njl","name":"Njalgulgule"},{"code":"njm","name":"Angami Naga"},{"code":"njn","name":"Liangmai Naga"},{"code":"njo","name":"Ao Naga"},{"code":"njr","name":"Njerep"},{"code":"njs","name":"Nisa"},{"code":"njt","name":"Ndyuka-Trio Pidgin"},{"code":"nju","name":"Ngadjunmaya"},{"code":"njx","name":"Kunyi"},{"code":"njy","name":"Njyem"},{"code":"njz","name":"Nyishi"},{"code":"nka","name":"Nkoya"},{"code":"nkb","name":"Khoibu Naga"},{"code":"nkc","name":"Nkongho"},{"code":"nkd","name":"Koireng"},{"code":"nke","name":"Duke"},{"code":"nkf","name":"Inpui Naga"},{"code":"nkg","name":"Nekgini"},{"code":"nkh","name":"Khezha Naga"},{"code":"nki","name":"Thangal Naga"},{"code":"nkj","name":"Nakai"},{"code":"nkk","name":"Nokuku"},{"code":"nkm","name":"Namat"},{"code":"nkn","name":"Nkangala"},{"code":"nko","name":"Nkonya"},{"code":"nkp","name":"Niuatoputapu"},{"code":"nkq","name":"Nkami"},{"code":"nkr","name":"Nukuoro"},{"code":"nks","name":"North Asmat"},{"code":"nkt","name":"Nyika (Tanzania)"},{"code":"nku","name":"Bouna Kulango"},{"code":"nkv","name":"Nyika (Malawi and Zambia)"},{"code":"nkw","name":"Nkutu"},{"code":"nkx","name":"Nkoroo"},{"code":"nkz","name":"Nkari"},{"code":"nla","name":"Ngombale"},{"code":"nlc","name":"Nalca"},{"code":"nld","name":"Dutch"},{"code":"nle","name":"East Nyala"},{"code":"nlg","name":"Gela"},{"code":"nli","name":"Grangali"},{"code":"nlj","name":"Nyali"},{"code":"nlk","name":"Ninia Yali"},{"code":"nll","name":"Nihali"},{"code":"nlm","name":"Mankiyali"},{"code":"nlo","name":"Ngul"},{"code":"nlq","name":"Lao Naga"},{"code":"nlu","name":"Nchumbulu"},{"code":"nlv","name":"Orizaba Nahuatl"},{"code":"nlw","name":"Walangama"},{"code":"nlx","name":"Nahali"},{"code":"nly","name":"Nyamal"},{"code":"nlz","name":"Nalรถgo"},{"code":"nma","name":"Maram Naga"},{"code":"nmb","name":"Big Nambas"},{"code":"nmc","name":"Ngam"},{"code":"nmd","name":"Ndumu"},{"code":"nme","name":"Mzieme Naga"},{"code":"nmf","name":"Tangkhul Naga (India)"},{"code":"nmg","name":"Kwasio"},{"code":"nmh","name":"Monsang Naga"},{"code":"nmi","name":"Nyam"},{"code":"nmj","name":"Ngombe (Central African Republic)"},{"code":"nmk","name":"Namakura"},{"code":"nml","name":"Ndemli"},{"code":"nmm","name":"Manangba"},{"code":"nmn","name":"วƒXรณรต"},{"code":"nmo","name":"Moyon Naga"},{"code":"nmp","name":"Nimanbur"},{"code":"nmq","name":"Nambya"},{"code":"nmr","name":"Nimbari"},{"code":"nms","name":"Letemboi"},{"code":"nmt","name":"Namonuito"},{"code":"nmu","name":"Northeast Maidu"},{"code":"nmv","name":"Ngamini"},{"code":"nmw","name":"Nimoa"},{"code":"nmx","name":"Nama (Papua New Guinea)"},{"code":"nmy","name":"Namuyi"},{"code":"nmz","name":"Nawdm"},{"code":"nna","name":"Nyangumarta"},{"code":"nnb","name":"Nande"},{"code":"nnc","name":"Nancere"},{"code":"nnd","name":"West Ambae"},{"code":"nne","name":"Ngandyera"},{"code":"nnf","name":"Ngaing"},{"code":"nng","name":"Maring Naga"},{"code":"nnh","name":"Ngiemboon"},{"code":"nni","name":"North Nuaulu"},{"code":"nnj","name":"Nyangatom"},{"code":"nnk","name":"Nankina"},{"code":"nnl","name":"Northern Rengma Naga"},{"code":"nnm","name":"Namia"},{"code":"nnn","name":"Ngete"},{"code":"nno","name":"Norwegian Nynorsk"},{"code":"nnp","name":"Wancho Naga"},{"code":"nnq","name":"Ngindo"},{"code":"nnr","name":"Narungga"},{"code":"nnt","name":"Nanticoke"},{"code":"nnu","name":"Dwang"},{"code":"nnv","name":"Nugunu (Australia)"},{"code":"nnw","name":"Southern Nuni"},{"code":"nny","name":"Nyangga"},{"code":"nnz","name":"Nda'nda'"},{"code":"noa","name":"Woun Meu"},{"code":"nob","name":"Norwegian Bokmรฅl"},{"code":"noc","name":"Nuk"},{"code":"nod","name":"Northern Thai"},{"code":"noe","name":"Nimadi"},{"code":"nof","name":"Nomane"},{"code":"nog","name":"Nogai"},{"code":"noh","name":"Nomu"},{"code":"noi","name":"Noiri"},{"code":"noj","name":"Nonuya"},{"code":"nok","name":"Nooksack"},{"code":"nol","name":"Nomlaki"},{"code":"nom","name":"Nocamรกn"},{"code":"non","name":"Old Norse"},{"code":"nop","name":"Numanggang"},{"code":"noq","name":"Ngongo"},{"code":"nor","name":"Norwegian"},{"code":"nos","name":"Eastern Nisu"},{"code":"not","name":"Nomatsiguenga"},{"code":"nou","name":"Ewage-Notu"},{"code":"nov","name":"Novial"},{"code":"now","name":"Nyambo"},{"code":"noy","name":"Noy"},{"code":"noz","name":"Nayi"},{"code":"npa","name":"Nar Phu"},{"code":"npb","name":"Nupbikha"},{"code":"npg","name":"Ponyo-Gongwang Naga"},{"code":"nph","name":"Phom Naga"},{"code":"npi","name":"Nepali (individual language)"},{"code":"npl","name":"Southeastern Puebla Nahuatl"},{"code":"npn","name":"Mondropolon"},{"code":"npo","name":"Pochuri Naga"},{"code":"nps","name":"Nipsan"},{"code":"npu","name":"Puimei Naga"},{"code":"npx","name":"Noipx"},{"code":"npy","name":"Napu"},{"code":"nqg","name":"Southern Nago"},{"code":"nqk","name":"Kura Ede Nago"},{"code":"nql","name":"Ngendelengo"},{"code":"nqm","name":"Ndom"},{"code":"nqn","name":"Nen"},{"code":"nqo","name":"N'Ko"},{"code":"nqq","name":"Kyan-Karyaw Naga"},{"code":"nqt","name":"Nteng"},{"code":"nqy","name":"Akyaung Ari Naga"},{"code":"nra","name":"Ngom"},{"code":"nrb","name":"Nara"},{"code":"nrc","name":"Noric"},{"code":"nre","name":"Southern Rengma Naga"},{"code":"nrf","name":"Guernรฉsiais"},{"code":"nrg","name":"Narango"},{"code":"nri","name":"Chokri Naga"},{"code":"nrk","name":"Ngarla"},{"code":"nrl","name":"Ngarluma"},{"code":"nrm","name":"Narom"},{"code":"nrn","name":"Norn"},{"code":"nrp","name":"North Picene"},{"code":"nrr","name":"Nora"},{"code":"nrt","name":"Northern Kalapuya"},{"code":"nru","name":"Narua"},{"code":"nrx","name":"Ngurmbur"},{"code":"nrz","name":"Lala"},{"code":"nsa","name":"Sangtam Naga"},{"code":"nsb","name":"Lower Nossob"},{"code":"nsc","name":"Nshi"},{"code":"nsd","name":"Southern Nisu"},{"code":"nse","name":"Nsenga"},{"code":"nsf","name":"Northwestern Nisu"},{"code":"nsg","name":"Ngasa"},{"code":"nsh","name":"Ngoshie"},{"code":"nsi","name":"Nigerian Sign Language"},{"code":"nsk","name":"Naskapi"},{"code":"nsl","name":"Norwegian Sign Language"},{"code":"nsm","name":"Sumi Naga"},{"code":"nsn","name":"Nehan"},{"code":"nso","name":"Northern Sotho"},{"code":"nsp","name":"Nepalese Sign Language"},{"code":"nsq","name":"Northern Sierra Miwok"},{"code":"nsr","name":"Maritime Sign Language"},{"code":"nss","name":"Nali"},{"code":"nst","name":"Tase Naga"},{"code":"nsu","name":"Sierra Negra Nahuatl"},{"code":"nsv","name":"Southwestern Nisu"},{"code":"nsw","name":"Navut"},{"code":"nsx","name":"Nsongo"},{"code":"nsy","name":"Nasal"},{"code":"nsz","name":"Nisenan"},{"code":"ntd","name":"Northern Tidung"},{"code":"nte","name":"Nathembo"},{"code":"ntg","name":"Ngantangarra"},{"code":"nti","name":"Natioro"},{"code":"ntj","name":"Ngaanyatjarra"},{"code":"ntk","name":"Ikoma-Nata-Isenye"},{"code":"ntm","name":"Nateni"},{"code":"nto","name":"Ntomba"},{"code":"ntp","name":"Northern Tepehuan"},{"code":"ntr","name":"Delo"},{"code":"ntu","name":"Natรผgu"},{"code":"ntw","name":"Nottoway"},{"code":"ntx","name":"Tangkhul Naga (Myanmar)"},{"code":"nty","name":"Mantsi"},{"code":"ntz","name":"Natanzi"},{"code":"nua","name":"Yuanga"},{"code":"nuc","name":"Nukuini"},{"code":"nud","name":"Ngala"},{"code":"nue","name":"Ngundu"},{"code":"nuf","name":"Nusu"},{"code":"nug","name":"Nungali"},{"code":"nuh","name":"Ndunda"},{"code":"nui","name":"Ngumbi"},{"code":"nuj","name":"Nyole"},{"code":"nuk","name":"Nuuchahnulth"},{"code":"nul","name":"Nusa Laut"},{"code":"num","name":"Niuafo'ou"},{"code":"nun","name":"Anong"},{"code":"nuo","name":"Nguรดn"},{"code":"nup","name":"Nupe-Nupe-Tako"},{"code":"nuq","name":"Nukumanu"},{"code":"nur","name":"Nukuria"},{"code":"nus","name":"Nuer"},{"code":"nut","name":"Nung (Viet Nam)"},{"code":"nuu","name":"Ngbundu"},{"code":"nuv","name":"Northern Nuni"},{"code":"nuw","name":"Nguluwan"},{"code":"nux","name":"Mehek"},{"code":"nuy","name":"Nunggubuyu"},{"code":"nuz","name":"Tlamacazapa Nahuatl"},{"code":"nvh","name":"Nasarian"},{"code":"nvm","name":"Namiae"},{"code":"nvo","name":"Nyokon"},{"code":"nwa","name":"Nawathinehena"},{"code":"nwb","name":"Nyabwa"},{"code":"nwc","name":"Classical Nepal Bhasa"},{"code":"nwe","name":"Ngwe"},{"code":"nwg","name":"Ngayawung"},{"code":"nwi","name":"Southwest Tanna"},{"code":"nwm","name":"Nyamusa-Molo"},{"code":"nwo","name":"Nauo"},{"code":"nwr","name":"Nawaru"},{"code":"nwx","name":"Middle Newar"},{"code":"nwy","name":"Nottoway-Meherrin"},{"code":"nxa","name":"Nauete"},{"code":"nxd","name":"Ngando (Democratic Republic of Congo)"},{"code":"nxe","name":"Nage"},{"code":"nxg","name":"Ngad'a"},{"code":"nxi","name":"Nindi"},{"code":"nxk","name":"Koki Naga"},{"code":"nxl","name":"South Nuaulu"},{"code":"nxm","name":"Numidian"},{"code":"nxn","name":"Ngawun"},{"code":"nxo","name":"Ndambomo"},{"code":"nxq","name":"Naxi"},{"code":"nxr","name":"Ninggerum"},{"code":"nxx","name":"Nafri"},{"code":"nya","name":"Chewa"},{"code":"nyb","name":"Nyangbo"},{"code":"nyc","name":"Nyanga-li"},{"code":"nyd","name":"Nyore"},{"code":"nye","name":"Nyengo"},{"code":"nyf","name":"Giryama"},{"code":"nyg","name":"Nyindu"},{"code":"nyh","name":"Nyikina"},{"code":"nyi","name":"Ama (Sudan)"},{"code":"nyj","name":"Nyanga"},{"code":"nyk","name":"Nyaneka"},{"code":"nyl","name":"Nyeu"},{"code":"nym","name":"Nyamwezi"},{"code":"nyn","name":"Nyankole"},{"code":"nyo","name":"Nyoro"},{"code":"nyp","name":"Nyang'i"},{"code":"nyq","name":"Nayini"},{"code":"nyr","name":"Nyiha (Malawi)"},{"code":"nys","name":"Nyungar"},{"code":"nyt","name":"Nyawaygi"},{"code":"nyu","name":"Nyungwe"},{"code":"nyv","name":"Nyulnyul"},{"code":"nyw","name":"Nyaw"},{"code":"nyx","name":"Nganyaywana"},{"code":"nyy","name":"Nyakyusa-Ngonde"},{"code":"nza","name":"Tigon Mbembe"},{"code":"nzb","name":"Njebi"},{"code":"nzd","name":"Nzadi"},{"code":"nzi","name":"Nzima"},{"code":"nzk","name":"Nzakara"},{"code":"nzm","name":"Zeme Naga"},{"code":"nzs","name":"New Zealand Sign Language"},{"code":"nzu","name":"Teke-Nzikou"},{"code":"nzy","name":"Nzakambay"},{"code":"nzz","name":"Nanga Dama Dogon"},{"code":"oaa","name":"Orok"},{"code":"oac","name":"Oroch"},{"code":"oar","name":"Ancient Aramaic (up to 700 BCE)"},{"code":"oav","name":"Old Avar"},{"code":"obi","name":"Obispeรฑo"},{"code":"obk","name":"Southern Bontok"},{"code":"obl","name":"Oblo"},{"code":"obm","name":"Moabite"},{"code":"obo","name":"Obo Manobo"},{"code":"obr","name":"Old Burmese"},{"code":"obt","name":"Old Breton"},{"code":"obu","name":"Obulom"},{"code":"oca","name":"Ocaina"},{"code":"och","name":"Old Chinese"},{"code":"oci","name":"Occitan (post 1500)"},{"code":"ocm","name":"Old Cham"},{"code":"oco","name":"Old Cornish"},{"code":"ocu","name":"Atzingo Matlatzinca"},{"code":"oda","name":"Odut"},{"code":"odk","name":"Od"},{"code":"odt","name":"Old Dutch"},{"code":"odu","name":"Odual"},{"code":"ofo","name":"Ofo"},{"code":"ofs","name":"Old Frisian"},{"code":"ofu","name":"Efutop"},{"code":"ogb","name":"Ogbia"},{"code":"ogc","name":"Ogbah"},{"code":"oge","name":"Old Georgian"},{"code":"ogg","name":"Ogbogolo"},{"code":"ogo","name":"Khana"},{"code":"ogu","name":"Ogbronuagum"},{"code":"oht","name":"Old Hittite"},{"code":"ohu","name":"Old Hungarian"},{"code":"oia","name":"Oirata"},{"code":"oin","name":"Inebu One"},{"code":"ojb","name":"Northwestern Ojibwa"},{"code":"ojc","name":"Central Ojibwa"},{"code":"ojg","name":"Eastern Ojibwa"},{"code":"oji","name":"Ojibwa"},{"code":"ojp","name":"Old Japanese"},{"code":"ojs","name":"Severn Ojibwa"},{"code":"ojv","name":"Ontong Java"},{"code":"ojw","name":"Western Ojibwa"},{"code":"oka","name":"Okanagan"},{"code":"okb","name":"Okobo"},{"code":"okc","name":"Kobo"},{"code":"okd","name":"Okodia"},{"code":"oke","name":"Okpe (Southwestern Edo)"},{"code":"okg","name":"Koko Babangk"},{"code":"okh","name":"Koresh-e Rostam"},{"code":"oki","name":"Okiek"},{"code":"okj","name":"Oko-Juwoi"},{"code":"okk","name":"Kwamtim One"},{"code":"okl","name":"Old Kentish Sign Language"},{"code":"okm","name":"Middle Korean (10th-16th cent.)"},{"code":"okn","name":"Oki-No-Erabu"},{"code":"oko","name":"Old Korean (3rd-9th cent.)"},{"code":"okr","name":"Kirike"},{"code":"oks","name":"Oko-Eni-Osayen"},{"code":"oku","name":"Oku"},{"code":"okv","name":"Orokaiva"},{"code":"okx","name":"Okpe (Northwestern Edo)"},{"code":"okz","name":"Old Khmer"},{"code":"ola","name":"Walungge"},{"code":"old","name":"Mochi"},{"code":"ole","name":"Olekha"},{"code":"olk","name":"Olkol"},{"code":"olm","name":"Oloma"},{"code":"olo","name":"Livvi"},{"code":"olr","name":"Olrat"},{"code":"olt","name":"Old Lithuanian"},{"code":"olu","name":"Kuvale"},{"code":"oma","name":"Omaha-Ponca"},{"code":"omb","name":"East Ambae"},{"code":"omc","name":"Mochica"},{"code":"omg","name":"Omagua"},{"code":"omi","name":"Omi"},{"code":"omk","name":"Omok"},{"code":"oml","name":"Ombo"},{"code":"omn","name":"Minoan"},{"code":"omo","name":"Utarmbung"},{"code":"omp","name":"Old Manipuri"},{"code":"omr","name":"Old Marathi"},{"code":"omt","name":"Omotik"},{"code":"omu","name":"Omurano"},{"code":"omw","name":"South Tairora"},{"code":"omx","name":"Old Mon"},{"code":"omy","name":"Old Malay"},{"code":"ona","name":"Ona"},{"code":"onb","name":"Lingao"},{"code":"one","name":"Oneida"},{"code":"ong","name":"Olo"},{"code":"oni","name":"Onin"},{"code":"onj","name":"Onjob"},{"code":"onk","name":"Kabore One"},{"code":"onn","name":"Onobasulu"},{"code":"ono","name":"Onondaga"},{"code":"onp","name":"Sartang"},{"code":"onr","name":"Northern One"},{"code":"ons","name":"Ono"},{"code":"ont","name":"Ontenu"},{"code":"onu","name":"Unua"},{"code":"onw","name":"Old Nubian"},{"code":"onx","name":"Onin Based Pidgin"},{"code":"ood","name":"Tohono O'odham"},{"code":"oog","name":"Ong"},{"code":"oon","name":"ร–nge"},{"code":"oor","name":"Oorlams"},{"code":"oos","name":"Old Ossetic"},{"code":"opa","name":"Okpamheri"},{"code":"opk","name":"Kopkaka"},{"code":"opm","name":"Oksapmin"},{"code":"opo","name":"Opao"},{"code":"opt","name":"Opata"},{"code":"opy","name":"Ofayรฉ"},{"code":"ora","name":"Oroha"},{"code":"orc","name":"Orma"},{"code":"ore","name":"Orejรณn"},{"code":"org","name":"Oring"},{"code":"orh","name":"Oroqen"},{"code":"ori","name":"Oriya (macrolanguage)"},{"code":"orm","name":"Oromo"},{"code":"orn","name":"Orang Kanaq"},{"code":"oro","name":"Orokolo"},{"code":"orr","name":"Oruma"},{"code":"ors","name":"Orang Seletar"},{"code":"ort","name":"Adivasi Oriya"},{"code":"oru","name":"Ormuri"},{"code":"orv","name":"Old Russian"},{"code":"orw","name":"Oro Win"},{"code":"orx","name":"Oro"},{"code":"ory","name":"Odia"},{"code":"orz","name":"Ormu"},{"code":"osa","name":"Osage"},{"code":"osc","name":"Oscan"},{"code":"osi","name":"Osing"},{"code":"osn","name":"Old Sundanese"},{"code":"oso","name":"Ososo"},{"code":"osp","name":"Old Spanish"},{"code":"oss","name":"Ossetian"},{"code":"ost","name":"Osatu"},{"code":"osu","name":"Southern One"},{"code":"osx","name":"Old Saxon"},{"code":"ota","name":"Ottoman Turkish (1500-1928)"},{"code":"otb","name":"Old Tibetan"},{"code":"otd","name":"Ot Danum"},{"code":"ote","name":"Mezquital Otomi"},{"code":"oti","name":"Oti"},{"code":"otk","name":"Old Turkish"},{"code":"otl","name":"Tilapa Otomi"},{"code":"otm","name":"Eastern Highland Otomi"},{"code":"otn","name":"Tenango Otomi"},{"code":"otq","name":"Querรฉtaro Otomi"},{"code":"otr","name":"Otoro"},{"code":"ots","name":"Estado de Mรฉxico Otomi"},{"code":"ott","name":"Temoaya Otomi"},{"code":"otu","name":"Otuke"},{"code":"otw","name":"Ottawa"},{"code":"otx","name":"Texcatepec Otomi"},{"code":"oty","name":"Old Tamil"},{"code":"otz","name":"Ixtenco Otomi"},{"code":"oua","name":"Tagargrent"},{"code":"oub","name":"Glio-Oubi"},{"code":"oue","name":"Oune"},{"code":"oui","name":"Old Uighur"},{"code":"oum","name":"Ouma"},{"code":"ovd","name":"Elfdalian"},{"code":"owi","name":"Owiniga"},{"code":"owl","name":"Old Welsh"},{"code":"oyb","name":"Oy"},{"code":"oyd","name":"Oyda"},{"code":"oym","name":"Wayampi"},{"code":"oyy","name":"Oya'oya"},{"code":"ozm","name":"Koonzime"},{"code":"pab","name":"Parecรญs"},{"code":"pac","name":"Pacoh"},{"code":"pad","name":"Paumarรญ"},{"code":"pae","name":"Pagibete"},{"code":"paf","name":"Paranawรกt"},{"code":"pag","name":"Pangasinan"},{"code":"pah","name":"Tenharim"},{"code":"pai","name":"Pe"},{"code":"pak","name":"Parakanรฃ"},{"code":"pal","name":"Pahlavi"},{"code":"pam","name":"Kapampangan"},{"code":"pan","name":"Panjabi"},{"code":"pao","name":"Northern Paiute"},{"code":"pap","name":"Papiamento"},{"code":"paq","name":"Parya"},{"code":"par","name":"Panamint"},{"code":"pas","name":"Papasena"},{"code":"pau","name":"Palauan"},{"code":"pav","name":"Pakaรกsnovos"},{"code":"paw","name":"Pawnee"},{"code":"pax","name":"Pankararรฉ"},{"code":"pay","name":"Pech"},{"code":"paz","name":"Pankararรบ"},{"code":"pbb","name":"Pรกez"},{"code":"pbc","name":"Patamona"},{"code":"pbe","name":"Mezontla Popoloca"},{"code":"pbf","name":"Coyotepec Popoloca"},{"code":"pbg","name":"Paraujano"},{"code":"pbh","name":"E'รฑapa Woromaipu"},{"code":"pbi","name":"Parkwa"},{"code":"pbl","name":"Mak (Nigeria)"},{"code":"pbm","name":"Puebla Mazatec"},{"code":"pbn","name":"Kpasam"},{"code":"pbo","name":"Papel"},{"code":"pbp","name":"Badyara"},{"code":"pbr","name":"Pangwa"},{"code":"pbs","name":"Central Pame"},{"code":"pbt","name":"Southern Pashto"},{"code":"pbu","name":"Northern Pashto"},{"code":"pbv","name":"Pnar"},{"code":"pby","name":"Pyu (Papua New Guinea)"},{"code":"pca","name":"Santa Inรฉs Ahuatempan Popoloca"},{"code":"pcb","name":"Pear"},{"code":"pcc","name":"Bouyei"},{"code":"pcd","name":"Picard"},{"code":"pce","name":"Ruching Palaung"},{"code":"pcf","name":"Paliyan"},{"code":"pcg","name":"Paniya"},{"code":"pch","name":"Pardhan"},{"code":"pci","name":"Duruwa"},{"code":"pcj","name":"Parenga"},{"code":"pck","name":"Paite Chin"},{"code":"pcl","name":"Pardhi"},{"code":"pcm","name":"Nigerian Pidgin"},{"code":"pcn","name":"Piti"},{"code":"pcp","name":"Pacahuara"},{"code":"pcw","name":"Pyapun"},{"code":"pda","name":"Anam"},{"code":"pdc","name":"Pennsylvania German"},{"code":"pdi","name":"Pa Di"},{"code":"pdn","name":"Fedan"},{"code":"pdo","name":"Padoe"},{"code":"pdt","name":"Plautdietsch"},{"code":"pdu","name":"Kayan"},{"code":"pea","name":"Peranakan Indonesian"},{"code":"peb","name":"Eastern Pomo"},{"code":"ped","name":"Mala (Papua New Guinea)"},{"code":"pee","name":"Taje"},{"code":"pef","name":"Northeastern Pomo"},{"code":"peg","name":"Pengo"},{"code":"peh","name":"Bonan"},{"code":"pei","name":"Chichimeca-Jonaz"},{"code":"pej","name":"Northern Pomo"},{"code":"pek","name":"Penchal"},{"code":"pel","name":"Pekal"},{"code":"pem","name":"Phende"},{"code":"peo","name":"Old Persian (ca. 600-400 B.C.)"},{"code":"pep","name":"Kunja"},{"code":"peq","name":"Southern Pomo"},{"code":"pes","name":"Iranian Persian"},{"code":"pev","name":"Pรฉmono"},{"code":"pex","name":"Petats"},{"code":"pey","name":"Petjo"},{"code":"pez","name":"Eastern Penan"},{"code":"pfa","name":"Pรกรกfang"},{"code":"pfe","name":"Pere"},{"code":"pfl","name":"Pfaelzisch"},{"code":"pga","name":"Sudanese Creole Arabic"},{"code":"pgd","name":"Gฤndhฤrฤซ"},{"code":"pgg","name":"Pangwali"},{"code":"pgi","name":"Pagi"},{"code":"pgk","name":"Rerep"},{"code":"pgl","name":"Primitive Irish"},{"code":"pgn","name":"Paelignian"},{"code":"pgs","name":"Pangseng"},{"code":"pgu","name":"Pagu"},{"code":"pgz","name":"Papua New Guinean Sign Language"},{"code":"pha","name":"Pa-Hng"},{"code":"phd","name":"Phudagi"},{"code":"phg","name":"Phuong"},{"code":"phh","name":"Phukha"},{"code":"phk","name":"Phake"},{"code":"phl","name":"Palula"},{"code":"phm","name":"Phimbi"},{"code":"phn","name":"Phoenician"},{"code":"pho","name":"Phunoi"},{"code":"phq","name":"Phana'"},{"code":"phr","name":"Pahari-Potwari"},{"code":"pht","name":"Phu Thai"},{"code":"phu","name":"Phuan"},{"code":"phv","name":"Pahlavani"},{"code":"phw","name":"Phangduwali"},{"code":"pia","name":"Pima Bajo"},{"code":"pib","name":"Yine"},{"code":"pic","name":"Pinji"},{"code":"pid","name":"Piaroa"},{"code":"pie","name":"Piro"},{"code":"pif","name":"Pingelapese"},{"code":"pig","name":"Pisabo"},{"code":"pih","name":"Pitcairn-Norfolk"},{"code":"pii","name":"Pini"},{"code":"pij","name":"Pijao"},{"code":"pil","name":"Yom"},{"code":"pim","name":"Powhatan"},{"code":"pin","name":"Piame"},{"code":"pio","name":"Piapoco"},{"code":"pip","name":"Pero"},{"code":"pir","name":"Piratapuyo"},{"code":"pis","name":"Pijin"},{"code":"pit","name":"Pitta Pitta"},{"code":"piu","name":"Pintupi-Luritja"},{"code":"piv","name":"Pileni"},{"code":"piw","name":"Pimbwe"},{"code":"pix","name":"Piu"},{"code":"piy","name":"Piya-Kwonci"},{"code":"piz","name":"Pije"},{"code":"pjt","name":"Pitjantjatjara"},{"code":"pka","name":"Ardhamฤgadhฤซ Prฤkrit"},{"code":"pkb","name":"Kipfokomo"},{"code":"pkc","name":"Paekche"},{"code":"pkg","name":"Pak-Tong"},{"code":"pkh","name":"Pankhu"},{"code":"pkn","name":"Pakanha"},{"code":"pko","name":"Pรถkoot"},{"code":"pkp","name":"Pukapuka"},{"code":"pkr","name":"Attapady Kurumba"},{"code":"pks","name":"Pakistan Sign Language"},{"code":"pkt","name":"Maleng"},{"code":"pku","name":"Paku"},{"code":"pla","name":"Miani"},{"code":"plb","name":"Polonombauk"},{"code":"plc","name":"Central Palawano"},{"code":"pld","name":"Polari"},{"code":"ple","name":"Palu'e"},{"code":"plg","name":"Pilagรก"},{"code":"plh","name":"Paulohi"},{"code":"pli","name":"Pali"},{"code":"plj","name":"Polci"},{"code":"plk","name":"Kohistani Shina"},{"code":"pll","name":"Shwe Palaung"},{"code":"pln","name":"Palenquero"},{"code":"plo","name":"Oluta Popoluca"},{"code":"plq","name":"Palaic"},{"code":"plr","name":"Palaka Senoufo"},{"code":"pls","name":"San Marcos Tlacoyalco Popoloca"},{"code":"plt","name":"Plateau Malagasy"},{"code":"plu","name":"Palikรบr"},{"code":"plv","name":"Southwest Palawano"},{"code":"plw","name":"Brooke's Point Palawano"},{"code":"ply","name":"Bolyu"},{"code":"plz","name":"Paluan"},{"code":"pma","name":"Paama"},{"code":"pmb","name":"Pambia"},{"code":"pmd","name":"Pallanganmiddang"},{"code":"pme","name":"Pwaamei"},{"code":"pmf","name":"Pamona"},{"code":"pmh","name":"Mฤhฤrฤแนฃแนญri Prฤkrit"},{"code":"pmi","name":"Northern Pumi"},{"code":"pmj","name":"Southern Pumi"},{"code":"pmk","name":"Pamlico"},{"code":"pml","name":"Lingua Franca"},{"code":"pmm","name":"Pomo"},{"code":"pmn","name":"Pam"},{"code":"pmo","name":"Pom"},{"code":"pmq","name":"Northern Pame"},{"code":"pmr","name":"Paynamar"},{"code":"pms","name":"Piemontese"},{"code":"pmt","name":"Tuamotuan"},{"code":"pmw","name":"Plains Miwok"},{"code":"pmx","name":"Poumei Naga"},{"code":"pmy","name":"Papuan Malay"},{"code":"pmz","name":"Southern Pame"},{"code":"pna","name":"Punan Bah-Biau"},{"code":"pnb","name":"Western Panjabi"},{"code":"pnc","name":"Pannei"},{"code":"pnd","name":"Mpinda"},{"code":"pne","name":"Western Penan"},{"code":"png","name":"Pangu"},{"code":"pnh","name":"Penrhyn"},{"code":"pni","name":"Aoheng"},{"code":"pnj","name":"Pinjarup"},{"code":"pnk","name":"Paunaka"},{"code":"pnl","name":"Paleni"},{"code":"pnm","name":"Punan Batu 1"},{"code":"pnn","name":"Pinai-Hagahai"},{"code":"pno","name":"Panobo"},{"code":"pnp","name":"Pancana"},{"code":"pnq","name":"Pana (Burkina Faso)"},{"code":"pnr","name":"Panim"},{"code":"pns","name":"Ponosakan"},{"code":"pnt","name":"Pontic"},{"code":"pnu","name":"Jiongnai Bunu"},{"code":"pnv","name":"Pinigura"},{"code":"pnw","name":"Banyjima"},{"code":"pnx","name":"Phong-Kniang"},{"code":"pny","name":"Pinyin"},{"code":"pnz","name":"Pana (Central African Republic)"},{"code":"poc","name":"Poqomam"},{"code":"poe","name":"San Juan Atzingo Popoloca"},{"code":"pof","name":"Poke"},{"code":"pog","name":"Potiguรกra"},{"code":"poh","name":"Poqomchi'"},{"code":"poi","name":"Highland Popoluca"},{"code":"pok","name":"Pokangรก"},{"code":"pol","name":"Polish"},{"code":"pom","name":"Southeastern Pomo"},{"code":"pon","name":"Pohnpeian"},{"code":"poo","name":"Central Pomo"},{"code":"pop","name":"Pwapwรข"},{"code":"poq","name":"Texistepec Popoluca"},{"code":"por","name":"Portuguese"},{"code":"pos","name":"Sayula Popoluca"},{"code":"pot","name":"Potawatomi"},{"code":"pov","name":"Upper Guinea Crioulo"},{"code":"pow","name":"San Felipe Otlaltepec Popoloca"},{"code":"pox","name":"Polabian"},{"code":"poy","name":"Pogolo"},{"code":"ppe","name":"Papi"},{"code":"ppi","name":"Paipai"},{"code":"ppk","name":"Uma"},{"code":"ppl","name":"Nicarao"},{"code":"ppm","name":"Papuma"},{"code":"ppn","name":"Papapana"},{"code":"ppo","name":"Folopa"},{"code":"ppp","name":"Pelende"},{"code":"ppq","name":"Pei"},{"code":"pps","name":"San Luรญs Temalacayuca Popoloca"},{"code":"ppt","name":"Pare"},{"code":"ppu","name":"Papora"},{"code":"pqa","name":"Pa'a"},{"code":"pqm","name":"Malecite-Passamaquoddy"},{"code":"prc","name":"Parachi"},{"code":"prd","name":"Parsi-Dari"},{"code":"pre","name":"Principense"},{"code":"prf","name":"Paranan"},{"code":"prg","name":"Prussian"},{"code":"prh","name":"Porohanon"},{"code":"pri","name":"Paicรฎ"},{"code":"prk","name":"Parauk"},{"code":"prl","name":"Peruvian Sign Language"},{"code":"prm","name":"Kibiri"},{"code":"prn","name":"Prasuni"},{"code":"pro","name":"Old Occitan (to 1500)"},{"code":"prp","name":"Parsi"},{"code":"prq","name":"Ashรฉninka Perenรฉ"},{"code":"prr","name":"Puri"},{"code":"prs","name":"Afghan Persian"},{"code":"prt","name":"Phai"},{"code":"pru","name":"Puragi"},{"code":"prw","name":"Parawen"},{"code":"prx","name":"Purik"},{"code":"prz","name":"Providencia Sign Language"},{"code":"psa","name":"Asue Awyu"},{"code":"psc","name":"Persian Sign Language"},{"code":"psd","name":"Plains Indian Sign Language"},{"code":"pse","name":"Central Malay"},{"code":"psg","name":"Penang Sign Language"},{"code":"psh","name":"Southwest Pashai"},{"code":"psi","name":"Southeast Pashai"},{"code":"psl","name":"Puerto Rican Sign Language"},{"code":"psm","name":"Pauserna"},{"code":"psn","name":"Panasuan"},{"code":"pso","name":"Polish Sign Language"},{"code":"psp","name":"Philippine Sign Language"},{"code":"psq","name":"Pasi"},{"code":"psr","name":"Portuguese Sign Language"},{"code":"pss","name":"Kaulong"},{"code":"pst","name":"Central Pashto"},{"code":"psu","name":"Sauraseni Prฤkrit"},{"code":"psw","name":"Port Sandwich"},{"code":"psy","name":"Piscataway"},{"code":"pta","name":"Pai Tavytera"},{"code":"pth","name":"Pataxรณ Hรฃ-Ha-Hรฃe"},{"code":"pti","name":"Pindiini"},{"code":"ptn","name":"Patani"},{"code":"pto","name":"Zo'รฉ"},{"code":"ptp","name":"Patep"},{"code":"ptq","name":"Pattapu"},{"code":"ptr","name":"Piamatsina"},{"code":"ptt","name":"Enrekang"},{"code":"ptu","name":"Bambam"},{"code":"ptv","name":"Port Vato"},{"code":"ptw","name":"Pentlatch"},{"code":"pty","name":"Pathiya"},{"code":"pua","name":"Western Highland Purepecha"},{"code":"pub","name":"Purum"},{"code":"puc","name":"Punan Merap"},{"code":"pud","name":"Punan Aput"},{"code":"pue","name":"Puelche"},{"code":"puf","name":"Punan Merah"},{"code":"pug","name":"Phuie"},{"code":"pui","name":"Puinave"},{"code":"puj","name":"Punan Tubu"},{"code":"pum","name":"Puma"},{"code":"puo","name":"Puoc"},{"code":"pup","name":"Pulabu"},{"code":"puq","name":"Puquina"},{"code":"pur","name":"Puruborรก"},{"code":"pus","name":"Pashto"},{"code":"put","name":"Putoh"},{"code":"puu","name":"Punu"},{"code":"puw","name":"Puluwatese"},{"code":"pux","name":"Puare"},{"code":"puy","name":"Purisimeรฑo"},{"code":"pwa","name":"Pawaia"},{"code":"pwb","name":"Panawa"},{"code":"pwg","name":"Gapapaiwa"},{"code":"pwi","name":"Patwin"},{"code":"pwm","name":"Molbog"},{"code":"pwn","name":"Paiwan"},{"code":"pwo","name":"Pwo Western Karen"},{"code":"pwr","name":"Powari"},{"code":"pww","name":"Pwo Northern Karen"},{"code":"pxm","name":"Quetzaltepec Mixe"},{"code":"pye","name":"Pye Krumen"},{"code":"pym","name":"Fyam"},{"code":"pyn","name":"Poyanรกwa"},{"code":"pys","name":"Lengua de Seรฑas del Paraguay"},{"code":"pyu","name":"Puyuma"},{"code":"pyx","name":"Pyu (Myanmar)"},{"code":"pyy","name":"Pyen"},{"code":"pzn","name":"Para Naga"},{"code":"qua","name":"Quapaw"},{"code":"qub","name":"Huallaga Huรกnuco Quechua"},{"code":"quc","name":"K'iche'"},{"code":"qud","name":"Calderรณn Highland Quichua"},{"code":"que","name":"Quechua"},{"code":"quf","name":"Lambayeque Quechua"},{"code":"qug","name":"Chimborazo Highland Quichua"},{"code":"quh","name":"South Bolivian Quechua"},{"code":"qui","name":"Quileute"},{"code":"quk","name":"Chachapoyas Quechua"},{"code":"qul","name":"North Bolivian Quechua"},{"code":"qum","name":"Sipacapense"},{"code":"qun","name":"Quinault"},{"code":"qup","name":"Southern Pastaza Quechua"},{"code":"quq","name":"Quinqui"},{"code":"qur","name":"Yanahuanca Pasco Quechua"},{"code":"qus","name":"Santiago del Estero Quichua"},{"code":"quv","name":"Sacapulteco"},{"code":"quw","name":"Tena Lowland Quichua"},{"code":"qux","name":"Yauyos Quechua"},{"code":"quy","name":"Ayacucho Quechua"},{"code":"quz","name":"Cusco Quechua"},{"code":"qva","name":"Ambo-Pasco Quechua"},{"code":"qvc","name":"Cajamarca Quechua"},{"code":"qve","name":"Eastern Apurรญmac Quechua"},{"code":"qvh","name":"Huamalรญes-Dos de Mayo Huรกnuco Quechua"},{"code":"qvi","name":"Imbabura Highland Quichua"},{"code":"qvj","name":"Loja Highland Quichua"},{"code":"qvl","name":"Cajatambo North Lima Quechua"},{"code":"qvm","name":"Margos-Yarowilca-Lauricocha Quechua"},{"code":"qvn","name":"North Junรญn Quechua"},{"code":"qvo","name":"Napo Lowland Quechua"},{"code":"qvp","name":"Pacaraos Quechua"},{"code":"qvs","name":"San Martรญn Quechua"},{"code":"qvw","name":"Huaylla Wanca Quechua"},{"code":"qvy","name":"Queyu"},{"code":"qvz","name":"Northern Pastaza Quichua"},{"code":"qwa","name":"Corongo Ancash Quechua"},{"code":"qwc","name":"Classical Quechua"},{"code":"qwh","name":"Huaylas Ancash Quechua"},{"code":"qwm","name":"Kuman (Russia)"},{"code":"qws","name":"Sihuas Ancash Quechua"},{"code":"qwt","name":"Kwalhioqua-Tlatskanai"},{"code":"qxa","name":"Chiquiรกn Ancash Quechua"},{"code":"qxc","name":"Chincha Quechua"},{"code":"qxh","name":"Panao Huรกnuco Quechua"},{"code":"qxl","name":"Salasaca Highland Quichua"},{"code":"qxn","name":"Northern Conchucos Ancash Quechua"},{"code":"qxo","name":"Southern Conchucos Ancash Quechua"},{"code":"qxp","name":"Puno Quechua"},{"code":"qxq","name":"Qashqa'i"},{"code":"qxr","name":"Caรฑar Highland Quichua"},{"code":"qxs","name":"Southern Qiang"},{"code":"qxt","name":"Santa Ana de Tusi Pasco Quechua"},{"code":"qxu","name":"Arequipa-La Uniรณn Quechua"},{"code":"qxw","name":"Jauja Wanca Quechua"},{"code":"qya","name":"Quenya"},{"code":"qyp","name":"Quiripi"},{"code":"raa","name":"Dungmali"},{"code":"rab","name":"Camling"},{"code":"rac","name":"Rasawa"},{"code":"rad","name":"Rade"},{"code":"raf","name":"Western Meohang"},{"code":"rag","name":"Logooli"},{"code":"rah","name":"Rabha"},{"code":"rai","name":"Ramoaaina"},{"code":"raj","name":"Rajasthani"},{"code":"rak","name":"Tulu-Bohuai"},{"code":"ral","name":"Ralte"},{"code":"ram","name":"Canela"},{"code":"ran","name":"Riantana"},{"code":"rao","name":"Rao"},{"code":"rap","name":"Rapanui"},{"code":"raq","name":"Saam"},{"code":"rar","name":"Cook Islands Maori"},{"code":"ras","name":"Tegali"},{"code":"rat","name":"Razajerdi"},{"code":"rau","name":"Raute"},{"code":"rav","name":"Sampang"},{"code":"raw","name":"Rawang"},{"code":"rax","name":"Rang"},{"code":"ray","name":"Rapa"},{"code":"raz","name":"Rahambuu"},{"code":"rbb","name":"Rumai Palaung"},{"code":"rbk","name":"Northern Bontok"},{"code":"rbl","name":"Miraya Bikol"},{"code":"rbp","name":"Barababaraba"},{"code":"rcf","name":"Rรฉunion Creole French"},{"code":"rdb","name":"Rudbari"},{"code":"rea","name":"Rerau"},{"code":"reb","name":"Rembong"},{"code":"ree","name":"Rejang Kayan"},{"code":"reg","name":"Kara (Tanzania)"},{"code":"rei","name":"Reli"},{"code":"rej","name":"Rejang"},{"code":"rel","name":"Rendille"},{"code":"rem","name":"Remo"},{"code":"ren","name":"Rengao"},{"code":"rer","name":"Rer Bare"},{"code":"res","name":"Reshe"},{"code":"ret","name":"Retta"},{"code":"rey","name":"Reyesano"},{"code":"rga","name":"Roria"},{"code":"rge","name":"Romano-Greek"},{"code":"rgk","name":"Rangkas"},{"code":"rgn","name":"Romagnol"},{"code":"rgr","name":"Resรญgaro"},{"code":"rgs","name":"Southern Roglai"},{"code":"rgu","name":"Ringgou"},{"code":"rhg","name":"Rohingya"},{"code":"rhp","name":"Yahang"},{"code":"ria","name":"Riang (India)"},{"code":"rif","name":"Tarifit"},{"code":"ril","name":"Riang (Myanmar)"},{"code":"rim","name":"Nyaturu"},{"code":"rin","name":"Nungu"},{"code":"rir","name":"Ribun"},{"code":"rit","name":"Ritharrngu"},{"code":"riu","name":"Riung"},{"code":"rjg","name":"Rajong"},{"code":"rji","name":"Raji"},{"code":"rjs","name":"Rajbanshi"},{"code":"rka","name":"Kraol"},{"code":"rkb","name":"Rikbaktsa"},{"code":"rkh","name":"Rakahanga-Manihiki"},{"code":"rki","name":"Rakhine"},{"code":"rkm","name":"Marka"},{"code":"rkt","name":"Kamta"},{"code":"rkw","name":"Arakwal"},{"code":"rma","name":"Rama"},{"code":"rmb","name":"Rembarrnga"},{"code":"rmc","name":"Carpathian Romani"},{"code":"rmd","name":"Traveller Danish"},{"code":"rme","name":"Angloromani"},{"code":"rmf","name":"Kalo Finnish Romani"},{"code":"rmg","name":"Traveller Norwegian"},{"code":"rmh","name":"Murkim"},{"code":"rmi","name":"Lomavren"},{"code":"rmk","name":"Romkun"},{"code":"rml","name":"Baltic Romani"},{"code":"rmm","name":"Roma"},{"code":"rmn","name":"Balkan Romani"},{"code":"rmo","name":"Sinte Romani"},{"code":"rmp","name":"Rempi"},{"code":"rmq","name":"Calรณ"},{"code":"rms","name":"Romanian Sign Language"},{"code":"rmt","name":"Domari"},{"code":"rmu","name":"Tavringer Romani"},{"code":"rmv","name":"Romanova"},{"code":"rmw","name":"Welsh Romani"},{"code":"rmx","name":"Romam"},{"code":"rmy","name":"Vlax Romani"},{"code":"rmz","name":"Marma"},{"code":"rnd","name":"Ruund"},{"code":"rng","name":"Ronga"},{"code":"rnl","name":"Ranglong"},{"code":"rnn","name":"Roon"},{"code":"rnp","name":"Rongpo"},{"code":"rnr","name":"Nari Nari"},{"code":"rnw","name":"Rungwa"},{"code":"rob","name":"Tae'"},{"code":"roc","name":"Cacgia Roglai"},{"code":"rod","name":"Rogo"},{"code":"roe","name":"Ronji"},{"code":"rof","name":"Rombo"},{"code":"rog","name":"Northern Roglai"},{"code":"roh","name":"Romansh"},{"code":"rol","name":"Romblomanon"},{"code":"rom","name":"Romany"},{"code":"ron","name":"Romanian"},{"code":"roo","name":"Rotokas"},{"code":"rop","name":"Kriol"},{"code":"ror","name":"Rongga"},{"code":"rou","name":"Runga"},{"code":"row","name":"Dela-Oenale"},{"code":"rpn","name":"Repanbitip"},{"code":"rpt","name":"Rapting"},{"code":"rri","name":"Ririo"},{"code":"rro","name":"Waima"},{"code":"rrt","name":"Arritinngithigh"},{"code":"rsb","name":"Romano-Serbian"},{"code":"rsl","name":"Russian Sign Language"},{"code":"rsm","name":"Miriwoong Sign Language"},{"code":"rtc","name":"Rungtu Chin"},{"code":"rth","name":"Ratahan"},{"code":"rtm","name":"Rotuman"},{"code":"rts","name":"Yurats"},{"code":"rtw","name":"Rathawi"},{"code":"rub","name":"Gungu"},{"code":"ruc","name":"Ruuli"},{"code":"rue","name":"Rusyn"},{"code":"ruf","name":"Luguru"},{"code":"rug","name":"Roviana"},{"code":"ruh","name":"Ruga"},{"code":"rui","name":"Rufiji"},{"code":"ruk","name":"Che"},{"code":"run","name":"Rundi"},{"code":"ruo","name":"Istro Romanian"},{"code":"rup","name":"Aromanian"},{"code":"ruq","name":"Megleno Romanian"},{"code":"rus","name":"Russian"},{"code":"rut","name":"Rutul"},{"code":"ruu","name":"Lanas Lobu"},{"code":"ruy","name":"Mala (Nigeria)"},{"code":"ruz","name":"Ruma"},{"code":"rwa","name":"Rawo"},{"code":"rwk","name":"Rwa"},{"code":"rwl","name":"Ruwila"},{"code":"rwm","name":"Amba (Uganda)"},{"code":"rwo","name":"Rawa"},{"code":"rwr","name":"Marwari (India)"},{"code":"rxd","name":"Ngardi"},{"code":"rxw","name":"Garuwali"},{"code":"ryn","name":"Northern Amami-Oshima"},{"code":"rys","name":"Yaeyama"},{"code":"ryu","name":"Central Okinawan"},{"code":"rzh","name":"Rฤziแธฅฤซ"},{"code":"saa","name":"Saba"},{"code":"sab","name":"Buglere"},{"code":"sac","name":"Meskwaki"},{"code":"sad","name":"Sandawe"},{"code":"sae","name":"Sabanรช"},{"code":"saf","name":"Safaliba"},{"code":"sag","name":"Sango"},{"code":"sah","name":"Yakut"},{"code":"saj","name":"Sahu"},{"code":"sak","name":"Sake"},{"code":"sam","name":"Samaritan Aramaic"},{"code":"san","name":"Sanskrit"},{"code":"sao","name":"Sause"},{"code":"saq","name":"Samburu"},{"code":"sar","name":"Saraveca"},{"code":"sas","name":"Sasak"},{"code":"sat","name":"Santali"},{"code":"sau","name":"Saleman"},{"code":"sav","name":"Saafi-Saafi"},{"code":"saw","name":"Sawi"},{"code":"sax","name":"Sa"},{"code":"say","name":"Saya"},{"code":"saz","name":"Saurashtra"},{"code":"sba","name":"Ngambay"},{"code":"sbb","name":"Simbo"},{"code":"sbc","name":"Kele (Papua New Guinea)"},{"code":"sbd","name":"Southern Samo"},{"code":"sbe","name":"Saliba"},{"code":"sbf","name":"Chabu"},{"code":"sbg","name":"Seget"},{"code":"sbh","name":"Sori-Harengan"},{"code":"sbi","name":"Seti"},{"code":"sbj","name":"Surbakhal"},{"code":"sbk","name":"Safwa"},{"code":"sbl","name":"Botolan Sambal"},{"code":"sbm","name":"Sagala"},{"code":"sbn","name":"Sindhi Bhil"},{"code":"sbo","name":"Sabรผm"},{"code":"sbp","name":"Sangu (Tanzania)"},{"code":"sbq","name":"Sileibi"},{"code":"sbr","name":"Sembakung Murut"},{"code":"sbs","name":"Subiya"},{"code":"sbt","name":"Kimki"},{"code":"sbu","name":"Stod Bhoti"},{"code":"sbv","name":"Sabine"},{"code":"sbw","name":"Simba"},{"code":"sbx","name":"Seberuang"},{"code":"sby","name":"Soli"},{"code":"sbz","name":"Sara Kaba"},{"code":"scb","name":"Chut"},{"code":"sce","name":"Dongxiang"},{"code":"scf","name":"San Miguel Creole French"},{"code":"scg","name":"Sanggau"},{"code":"sch","name":"Sakachep"},{"code":"sci","name":"Sri Lankan Creole Malay"},{"code":"sck","name":"Sadri"},{"code":"scl","name":"Shina"},{"code":"scn","name":"Sicilian"},{"code":"sco","name":"Scots"},{"code":"scp","name":"Helambu Sherpa"},{"code":"scq","name":"Sa'och"},{"code":"scs","name":"North Slavey"},{"code":"sct","name":"Southern Katang"},{"code":"scu","name":"Shumcho"},{"code":"scv","name":"Sheni"},{"code":"scw","name":"Sha"},{"code":"scx","name":"Sicel"},{"code":"sda","name":"Toraja-Sa'dan"},{"code":"sdb","name":"Shabak"},{"code":"sdc","name":"Sassarese Sardinian"},{"code":"sde","name":"Surubu"},{"code":"sdf","name":"Sarli"},{"code":"sdg","name":"Savi"},{"code":"sdh","name":"Southern Kurdish"},{"code":"sdj","name":"Suundi"},{"code":"sdk","name":"Sos Kundi"},{"code":"sdl","name":"Saudi Arabian Sign Language"},{"code":"sdn","name":"Gallurese Sardinian"},{"code":"sdo","name":"Bukar-Sadung Bidayuh"},{"code":"sdp","name":"Sherdukpen"},{"code":"sdq","name":"Semandang"},{"code":"sdr","name":"Oraon Sadri"},{"code":"sds","name":"Sened"},{"code":"sdt","name":"Shuadit"},{"code":"sdu","name":"Sarudu"},{"code":"sdx","name":"Sibu Melanau"},{"code":"sdz","name":"Sallands"},{"code":"sea","name":"Semai"},{"code":"seb","name":"Shempire Senoufo"},{"code":"sec","name":"Sechelt"},{"code":"sed","name":"Sedang"},{"code":"see","name":"Seneca"},{"code":"sef","name":"Cebaara Senoufo"},{"code":"seg","name":"Segeju"},{"code":"seh","name":"Sena"},{"code":"sei","name":"Seri"},{"code":"sej","name":"Sene"},{"code":"sek","name":"Sekani"},{"code":"sel","name":"Selkup"},{"code":"sen","name":"Nanerigรฉ Sรฉnoufo"},{"code":"seo","name":"Suarmin"},{"code":"sep","name":"Sรฌcรฌtรฉ Sรฉnoufo"},{"code":"seq","name":"Senara Sรฉnoufo"},{"code":"ser","name":"Serrano"},{"code":"ses","name":"Koyraboro Senni Songhai"},{"code":"set","name":"Sentani"},{"code":"seu","name":"Serui-Laut"},{"code":"sev","name":"Nyarafolo Senoufo"},{"code":"sew","name":"Sewa Bay"},{"code":"sey","name":"Secoya"},{"code":"sez","name":"Senthang Chin"},{"code":"sfb","name":"French Belgian Sign Language"},{"code":"sfe","name":"Eastern Subanen"},{"code":"sfm","name":"Small Flowery Miao"},{"code":"sfs","name":"South African Sign Language"},{"code":"sfw","name":"Sehwi"},{"code":"sga","name":"Old Irish (to 900)"},{"code":"sgb","name":"Mag-antsi Ayta"},{"code":"sgc","name":"Kipsigis"},{"code":"sgd","name":"Surigaonon"},{"code":"sge","name":"Segai"},{"code":"sgg","name":"Swiss-German Sign Language"},{"code":"sgh","name":"Shughni"},{"code":"sgi","name":"Suga"},{"code":"sgj","name":"Surgujia"},{"code":"sgk","name":"Sangkong"},{"code":"sgm","name":"Singa"},{"code":"sgp","name":"Singpho"},{"code":"sgr","name":"Sangisari"},{"code":"sgs","name":"Samogitian"},{"code":"sgt","name":"Brokpake"},{"code":"sgu","name":"Salas"},{"code":"sgw","name":"Sebat Bet Gurage"},{"code":"sgx","name":"Sierra Leone Sign Language"},{"code":"sgy","name":"Sanglechi"},{"code":"sgz","name":"Sursurunga"},{"code":"sha","name":"Shall-Zwall"},{"code":"shb","name":"Ninam"},{"code":"shc","name":"Sonde"},{"code":"shd","name":"Kundal Shahi"},{"code":"she","name":"Sheko"},{"code":"shg","name":"Shua"},{"code":"shh","name":"Shoshoni"},{"code":"shi","name":"Tachelhit"},{"code":"shj","name":"Shatt"},{"code":"shk","name":"Shilluk"},{"code":"shl","name":"Shendu"},{"code":"shm","name":"Shahrudi"},{"code":"shn","name":"Shan"},{"code":"sho","name":"Shanga"},{"code":"shp","name":"Shipibo-Conibo"},{"code":"shq","name":"Sala"},{"code":"shr","name":"Shi"},{"code":"shs","name":"Shuswap"},{"code":"sht","name":"Shasta"},{"code":"shu","name":"Chadian Arabic"},{"code":"shv","name":"Shehri"},{"code":"shw","name":"Shwai"},{"code":"shx","name":"She"},{"code":"shy","name":"Tachawit"},{"code":"shz","name":"Syenara Senoufo"},{"code":"sia","name":"Akkala Sami"},{"code":"sib","name":"Sebop"},{"code":"sid","name":"Sidamo"},{"code":"sie","name":"Simaa"},{"code":"sif","name":"Siamou"},{"code":"sig","name":"Paasaal"},{"code":"sih","name":"Sรฎshรซรซ"},{"code":"sii","name":"Shom Peng"},{"code":"sij","name":"Numbami"},{"code":"sik","name":"Sikiana"},{"code":"sil","name":"Tumulung Sisaala"},{"code":"sim","name":"Mende (Papua New Guinea)"},{"code":"sin","name":"Sinhala"},{"code":"sip","name":"Sikkimese"},{"code":"siq","name":"Sonia"},{"code":"sir","name":"Siri"},{"code":"sis","name":"Siuslaw"},{"code":"siu","name":"Sinagen"},{"code":"siv","name":"Sumariup"},{"code":"siw","name":"Siwai"},{"code":"six","name":"Sumau"},{"code":"siy","name":"Sivandi"},{"code":"siz","name":"Siwi"},{"code":"sja","name":"Epena"},{"code":"sjb","name":"Sajau Basap"},{"code":"sjd","name":"Kildin Sami"},{"code":"sje","name":"Pite Sami"},{"code":"sjg","name":"Assangori"},{"code":"sjk","name":"Kemi Sami"},{"code":"sjl","name":"Miji"},{"code":"sjm","name":"Mapun"},{"code":"sjn","name":"Sindarin"},{"code":"sjo","name":"Xibe"},{"code":"sjp","name":"Surjapuri"},{"code":"sjr","name":"Siar-Lak"},{"code":"sjs","name":"Senhaja De Srair"},{"code":"sjt","name":"Ter Sami"},{"code":"sju","name":"Ume Sami"},{"code":"sjw","name":"Shawnee"},{"code":"ska","name":"Skagit"},{"code":"skb","name":"Saek"},{"code":"skc","name":"Ma Manda"},{"code":"skd","name":"Southern Sierra Miwok"},{"code":"ske","name":"Seke (Vanuatu)"},{"code":"skf","name":"Sakirabiรก"},{"code":"skg","name":"Sakalava Malagasy"},{"code":"skh","name":"Sikule"},{"code":"ski","name":"Sika"},{"code":"skj","name":"Seke (Nepal)"},{"code":"skm","name":"Kutong"},{"code":"skn","name":"Kolibugan Subanon"},{"code":"sko","name":"Seko Tengah"},{"code":"skp","name":"Sekapan"},{"code":"skq","name":"Sininkere"},{"code":"skr","name":"Saraiki"},{"code":"sks","name":"Maia"},{"code":"skt","name":"Sakata"},{"code":"sku","name":"Sakao"},{"code":"skv","name":"Skou"},{"code":"skw","name":"Skepi Creole Dutch"},{"code":"skx","name":"Seko Padang"},{"code":"sky","name":"Sikaiana"},{"code":"skz","name":"Sekar"},{"code":"slc","name":"Sรกliba"},{"code":"sld","name":"Sissala"},{"code":"sle","name":"Sholaga"},{"code":"slf","name":"Swiss-Italian Sign Language"},{"code":"slg","name":"Selungai Murut"},{"code":"slh","name":"Southern Puget Sound Salish"},{"code":"sli","name":"Lower Silesian"},{"code":"slj","name":"Salumรก"},{"code":"slk","name":"Slovak"},{"code":"sll","name":"Salt-Yui"},{"code":"slm","name":"Pangutaran Sama"},{"code":"sln","name":"Salinan"},{"code":"slp","name":"Lamaholot"},{"code":"slq","name":"Salchuq"},{"code":"slr","name":"Salar"},{"code":"sls","name":"Singapore Sign Language"},{"code":"slt","name":"Sila"},{"code":"slu","name":"Selaru"},{"code":"slv","name":"Slovenian"},{"code":"slw","name":"Sialum"},{"code":"slx","name":"Salampasu"},{"code":"sly","name":"Selayar"},{"code":"slz","name":"Ma'ya"},{"code":"sma","name":"Southern Sami"},{"code":"smb","name":"Simbari"},{"code":"smc","name":"Som"},{"code":"smd","name":"Sama"},{"code":"sme","name":"Northern Sami"},{"code":"smf","name":"Auwe"},{"code":"smg","name":"Simbali"},{"code":"smh","name":"Samei"},{"code":"smj","name":"Lule Sami"},{"code":"smk","name":"Bolinao"},{"code":"sml","name":"Central Sama"},{"code":"smm","name":"Musasa"},{"code":"smn","name":"Inari Sami"},{"code":"smo","name":"Samoan"},{"code":"smp","name":"Samaritan"},{"code":"smq","name":"Samo"},{"code":"smr","name":"Simeulue"},{"code":"sms","name":"Skolt Sami"},{"code":"smt","name":"Simte"},{"code":"smu","name":"Somray"},{"code":"smv","name":"Samvedi"},{"code":"smw","name":"Sumbawa"},{"code":"smx","name":"Samba"},{"code":"smy","name":"Semnani"},{"code":"smz","name":"Simeku"},{"code":"sna","name":"Shona"},{"code":"snb","name":"Sebuyau"},{"code":"snc","name":"Sinaugoro"},{"code":"snd","name":"Sindhi"},{"code":"sne","name":"Bau Bidayuh"},{"code":"snf","name":"Noon"},{"code":"sng","name":"Sanga (Democratic Republic of Congo)"},{"code":"sni","name":"Sensi"},{"code":"snj","name":"Riverain Sango"},{"code":"snk","name":"Soninke"},{"code":"snl","name":"Sangil"},{"code":"snm","name":"Southern Ma'di"},{"code":"snn","name":"Siona"},{"code":"sno","name":"Snohomish"},{"code":"snp","name":"Siane"},{"code":"snq","name":"Sangu (Gabon)"},{"code":"snr","name":"Sihan"},{"code":"sns","name":"Nahavaq"},{"code":"snu","name":"Senggi"},{"code":"snv","name":"Sa'ban"},{"code":"snw","name":"Selee"},{"code":"snx","name":"Sam"},{"code":"sny","name":"Saniyo-Hiyewe"},{"code":"snz","name":"Kou"},{"code":"soa","name":"Thai Song"},{"code":"sob","name":"Sobei"},{"code":"soc","name":"So (Democratic Republic of Congo)"},{"code":"sod","name":"Songoora"},{"code":"soe","name":"Songomeno"},{"code":"sog","name":"Sogdian"},{"code":"soh","name":"Aka"},{"code":"soi","name":"Sonha"},{"code":"soj","name":"Soi"},{"code":"sok","name":"Sokoro"},{"code":"sol","name":"Solos"},{"code":"som","name":"Somali"},{"code":"soo","name":"Songo"},{"code":"sop","name":"Songe"},{"code":"soq","name":"Kanasi"},{"code":"sor","name":"Somrai"},{"code":"sos","name":"Seeku"},{"code":"sot","name":"Southern Sotho"},{"code":"sou","name":"Southern Thai"},{"code":"sov","name":"Sonsorol"},{"code":"sow","name":"Sowanda"},{"code":"sox","name":"Swo"},{"code":"soy","name":"Miyobe"},{"code":"soz","name":"Temi"},{"code":"spa","name":"Spanish"},{"code":"spb","name":"Sepa (Indonesia)"},{"code":"spc","name":"Sapรฉ"},{"code":"spd","name":"Saep"},{"code":"spe","name":"Sepa (Papua New Guinea)"},{"code":"spg","name":"Sian"},{"code":"spi","name":"Saponi"},{"code":"spk","name":"Sengo"},{"code":"spl","name":"Selepet"},{"code":"spm","name":"Akukem"},{"code":"spn","name":"Sanapanรก"},{"code":"spo","name":"Spokane"},{"code":"spp","name":"Supyire Senoufo"},{"code":"spq","name":"Loreto-Ucayali Spanish"},{"code":"spr","name":"Saparua"},{"code":"sps","name":"Saposa"},{"code":"spt","name":"Spiti Bhoti"},{"code":"spu","name":"Sapuan"},{"code":"spv","name":"Kosli"},{"code":"spx","name":"South Picene"},{"code":"spy","name":"Sabaot"},{"code":"sqa","name":"Shama-Sambuga"},{"code":"sqh","name":"Shau"},{"code":"sqi","name":"Albanian"},{"code":"sqk","name":"Albanian Sign Language"},{"code":"sqm","name":"Suma"},{"code":"sqn","name":"Susquehannock"},{"code":"sqo","name":"Sorkhei"},{"code":"sqq","name":"Sou"},{"code":"sqr","name":"Siculo Arabic"},{"code":"sqs","name":"Sri Lankan Sign Language"},{"code":"sqt","name":"Soqotri"},{"code":"squ","name":"Squamish"},{"code":"sqx","name":"Kufr Qassem Sign Language (KQSL)"},{"code":"sra","name":"Saruga"},{"code":"srb","name":"Sora"},{"code":"src","name":"Logudorese Sardinian"},{"code":"srd","name":"Sardinian"},{"code":"sre","name":"Sara"},{"code":"srf","name":"Nafi"},{"code":"srg","name":"Sulod"},{"code":"srh","name":"Sarikoli"},{"code":"sri","name":"Siriano"},{"code":"srk","name":"Serudung Murut"},{"code":"srl","name":"Isirawa"},{"code":"srm","name":"Saramaccan"},{"code":"srn","name":"Sranan Tongo"},{"code":"sro","name":"Campidanese Sardinian"},{"code":"srp","name":"Serbian"},{"code":"srq","name":"Sirionรณ"},{"code":"srr","name":"Serer"},{"code":"srs","name":"Sarsi"},{"code":"srt","name":"Sauri"},{"code":"sru","name":"Suruรญ"},{"code":"srv","name":"Southern Sorsoganon"},{"code":"srw","name":"Serua"},{"code":"srx","name":"Sirmauri"},{"code":"sry","name":"Sera"},{"code":"srz","name":"Shahmirzadi"},{"code":"ssb","name":"Southern Sama"},{"code":"ssc","name":"Suba-Simbiti"},{"code":"ssd","name":"Siroi"},{"code":"sse","name":"Balangingi"},{"code":"ssf","name":"Thao"},{"code":"ssg","name":"Seimat"},{"code":"ssh","name":"Shihhi Arabic"},{"code":"ssi","name":"Sansi"},{"code":"ssj","name":"Sausi"},{"code":"ssk","name":"Sunam"},{"code":"ssl","name":"Western Sisaala"},{"code":"ssm","name":"Semnam"},{"code":"ssn","name":"Waata"},{"code":"sso","name":"Sissano"},{"code":"ssp","name":"Spanish Sign Language"},{"code":"ssq","name":"So'a"},{"code":"ssr","name":"Swiss-French Sign Language"},{"code":"sss","name":"Sรด"},{"code":"sst","name":"Sinasina"},{"code":"ssu","name":"Susuami"},{"code":"ssv","name":"Shark Bay"},{"code":"ssw","name":"Swati"},{"code":"ssx","name":"Samberigi"},{"code":"ssy","name":"Saho"},{"code":"ssz","name":"Sengseng"},{"code":"sta","name":"Settla"},{"code":"stb","name":"Northern Subanen"},{"code":"std","name":"Sentinel"},{"code":"ste","name":"Liana-Seti"},{"code":"stf","name":"Seta"},{"code":"stg","name":"Trieng"},{"code":"sth","name":"Shelta"},{"code":"sti","name":"Bulo Stieng"},{"code":"stj","name":"Matya Samo"},{"code":"stk","name":"Arammba"},{"code":"stl","name":"Stellingwerfs"},{"code":"stm","name":"Setaman"},{"code":"stn","name":"Owa"},{"code":"sto","name":"Stoney"},{"code":"stp","name":"Southeastern Tepehuan"},{"code":"stq","name":"Saterfriesisch"},{"code":"str","name":"Straits Salish"},{"code":"sts","name":"Shumashti"},{"code":"stt","name":"Budeh Stieng"},{"code":"stu","name":"Samtao"},{"code":"stv","name":"Silt'e"},{"code":"stw","name":"Satawalese"},{"code":"sty","name":"Siberian Tatar"},{"code":"sua","name":"Sulka"},{"code":"sub","name":"Suku"},{"code":"suc","name":"Western Subanon"},{"code":"sue","name":"Suena"},{"code":"sug","name":"Suganga"},{"code":"sui","name":"Suki"},{"code":"suj","name":"Shubi"},{"code":"suk","name":"Sukuma"},{"code":"sun","name":"Sundanese"},{"code":"suo","name":"Bouni"},{"code":"suq","name":"Suri"},{"code":"sur","name":"Mwaghavul"},{"code":"sus","name":"Susu"},{"code":"sut","name":"Subtiaba"},{"code":"suv","name":"Puroik"},{"code":"suw","name":"Sumbwa"},{"code":"sux","name":"Sumerian"},{"code":"suy","name":"Suyรก"},{"code":"suz","name":"Sunwar"},{"code":"sva","name":"Svan"},{"code":"svb","name":"Ulau-Suain"},{"code":"svc","name":"Vincentian Creole English"},{"code":"sve","name":"Serili"},{"code":"svk","name":"Slovakian Sign Language"},{"code":"svm","name":"Slavomolisano"},{"code":"svs","name":"Savosavo"},{"code":"svx","name":"Skalvian"},{"code":"swa","name":"Swahili"},{"code":"swb","name":"Maore Comorian"},{"code":"swc","name":"Congo Swahili"},{"code":"swe","name":"Swedish"},{"code":"swf","name":"Sere"},{"code":"swg","name":"Swabian"},{"code":"swh","name":"Kiswahili"},{"code":"swi","name":"Sui"},{"code":"swj","name":"Sira"},{"code":"swk","name":"Malawi Sena"},{"code":"swl","name":"Swedish Sign Language"},{"code":"swm","name":"Samosa"},{"code":"swn","name":"Sawknah"},{"code":"swo","name":"Shanenawa"},{"code":"swp","name":"Suau"},{"code":"swq","name":"Sharwa"},{"code":"swr","name":"Saweru"},{"code":"sws","name":"Seluwasan"},{"code":"swt","name":"Sawila"},{"code":"swu","name":"Suwawa"},{"code":"swv","name":"Shekhawati"},{"code":"sww","name":"Sowa"},{"code":"swx","name":"Suruahรก"},{"code":"swy","name":"Sarua"},{"code":"sxb","name":"Suba"},{"code":"sxc","name":"Sicanian"},{"code":"sxe","name":"Sighu"},{"code":"sxg","name":"Shixing"},{"code":"sxk","name":"Southern Kalapuya"},{"code":"sxl","name":"Selian"},{"code":"sxm","name":"Samre"},{"code":"sxn","name":"Sangir"},{"code":"sxo","name":"Sorothaptic"},{"code":"sxr","name":"Saaroa"},{"code":"sxs","name":"Sasaru"},{"code":"sxu","name":"Upper Saxon"},{"code":"sxw","name":"Saxwe Gbe"},{"code":"sya","name":"Siang"},{"code":"syb","name":"Central Subanen"},{"code":"syc","name":"Classical Syriac"},{"code":"syi","name":"Seki"},{"code":"syk","name":"Sukur"},{"code":"syl","name":"Sylheti"},{"code":"sym","name":"Maya Samo"},{"code":"syn","name":"Senaya"},{"code":"syo","name":"Suoy"},{"code":"syr","name":"Syriac"},{"code":"sys","name":"Sinyar"},{"code":"syw","name":"Kagate"},{"code":"syx","name":"Samay"},{"code":"syy","name":"Al-Sayyid Bedouin Sign Language"},{"code":"sza","name":"Semelai"},{"code":"szb","name":"Ngalum"},{"code":"szc","name":"Semaq Beri"},{"code":"szd","name":"Seru"},{"code":"sze","name":"Seze"},{"code":"szg","name":"Sengele"},{"code":"szl","name":"Silesian"},{"code":"szn","name":"Sula"},{"code":"szp","name":"Suabo"},{"code":"szs","name":"Solomon Islands Sign Language"},{"code":"szv","name":"Isu (Fako Division)"},{"code":"szw","name":"Sawai"},{"code":"szy","name":"Sakizaya"},{"code":"taa","name":"Lower Tanana"},{"code":"tab","name":"Tabassaran"},{"code":"tac","name":"Lowland Tarahumara"},{"code":"tad","name":"Tause"},{"code":"tae","name":"Tariana"},{"code":"taf","name":"Tapirapรฉ"},{"code":"tag","name":"Tagoi"},{"code":"tah","name":"Tahitian"},{"code":"taj","name":"Eastern Tamang"},{"code":"tak","name":"Tala"},{"code":"tal","name":"Tal"},{"code":"tam","name":"Tamil"},{"code":"tan","name":"Tangale"},{"code":"tao","name":"Yami"},{"code":"tap","name":"Taabwa"},{"code":"taq","name":"Tamasheq"},{"code":"tar","name":"Central Tarahumara"},{"code":"tas","name":"Tay Boi"},{"code":"tat","name":"Tatar"},{"code":"tau","name":"Upper Tanana"},{"code":"tav","name":"Tatuyo"},{"code":"taw","name":"Tai"},{"code":"tax","name":"Tamki"},{"code":"tay","name":"Atayal"},{"code":"taz","name":"Tocho"},{"code":"tba","name":"Aikanรฃ"},{"code":"tbc","name":"Takia"},{"code":"tbd","name":"Kaki Ae"},{"code":"tbe","name":"Tanimbili"},{"code":"tbf","name":"Mandara"},{"code":"tbg","name":"North Tairora"},{"code":"tbh","name":"Dharawal"},{"code":"tbi","name":"Gaam"},{"code":"tbj","name":"Tiang"},{"code":"tbk","name":"Calamian Tagbanwa"},{"code":"tbl","name":"Tboli"},{"code":"tbm","name":"Tagbu"},{"code":"tbn","name":"Barro Negro Tunebo"},{"code":"tbo","name":"Tawala"},{"code":"tbp","name":"Diebroud"},{"code":"tbr","name":"Tumtum"},{"code":"tbs","name":"Tanguat"},{"code":"tbt","name":"Tembo (Kitembo)"},{"code":"tbu","name":"Tubar"},{"code":"tbv","name":"Tobo"},{"code":"tbw","name":"Tagbanwa"},{"code":"tbx","name":"Kapin"},{"code":"tby","name":"Tabaru"},{"code":"tbz","name":"Ditammari"},{"code":"tca","name":"Ticuna"},{"code":"tcb","name":"Tanacross"},{"code":"tcc","name":"Datooga"},{"code":"tcd","name":"Tafi"},{"code":"tce","name":"Southern Tutchone"},{"code":"tcf","name":"Malinaltepec Me'phaa"},{"code":"tcg","name":"Tamagario"},{"code":"tch","name":"Turks And Caicos Creole English"},{"code":"tci","name":"Wรกra"},{"code":"tck","name":"Tchitchege"},{"code":"tcl","name":"Taman (Myanmar)"},{"code":"tcm","name":"Tanahmerah"},{"code":"tcn","name":"Tichurong"},{"code":"tco","name":"Taungyo"},{"code":"tcp","name":"Tawr Chin"},{"code":"tcq","name":"Kaiy"},{"code":"tcs","name":"Torres Strait Creole"},{"code":"tct","name":"T'en"},{"code":"tcu","name":"Southeastern Tarahumara"},{"code":"tcw","name":"Tecpatlรกn Totonac"},{"code":"tcx","name":"Toda"},{"code":"tcy","name":"Tulu"},{"code":"tcz","name":"Thado Chin"},{"code":"tda","name":"Tagdal"},{"code":"tdb","name":"Panchpargania"},{"code":"tdc","name":"Emberรก-Tadรณ"},{"code":"tdd","name":"Tai Nรผa"},{"code":"tde","name":"Tiranige Diga Dogon"},{"code":"tdf","name":"Talieng"},{"code":"tdg","name":"Western Tamang"},{"code":"tdh","name":"Thulung"},{"code":"tdi","name":"Tomadino"},{"code":"tdj","name":"Tajio"},{"code":"tdk","name":"Tambas"},{"code":"tdl","name":"Sur"},{"code":"tdm","name":"Taruma"},{"code":"tdn","name":"Tondano"},{"code":"tdo","name":"Teme"},{"code":"tdq","name":"Tita"},{"code":"tdr","name":"Todrah"},{"code":"tds","name":"Doutai"},{"code":"tdt","name":"Tetun Dili"},{"code":"tdv","name":"Toro"},{"code":"tdx","name":"Tandroy-Mahafaly Malagasy"},{"code":"tdy","name":"Tadyawan"},{"code":"tea","name":"Temiar"},{"code":"teb","name":"Tetete"},{"code":"tec","name":"Terik"},{"code":"ted","name":"Tepo Krumen"},{"code":"tee","name":"Huehuetla Tepehua"},{"code":"tef","name":"Teressa"},{"code":"teg","name":"Teke-Tege"},{"code":"teh","name":"Tehuelche"},{"code":"tei","name":"Torricelli"},{"code":"tek","name":"Ibali Teke"},{"code":"tel","name":"Telugu"},{"code":"tem","name":"Timne"},{"code":"ten","name":"Tama (Colombia)"},{"code":"teo","name":"Teso"},{"code":"tep","name":"Tepecano"},{"code":"teq","name":"Temein"},{"code":"ter","name":"Tereno"},{"code":"tes","name":"Tengger"},{"code":"tet","name":"Tetum"},{"code":"teu","name":"Soo"},{"code":"tev","name":"Teor"},{"code":"tew","name":"Tewa (USA)"},{"code":"tex","name":"Tennet"},{"code":"tey","name":"Tulishi"},{"code":"tez","name":"Tetserret"},{"code":"tfi","name":"Tofin Gbe"},{"code":"tfn","name":"Tanaina"},{"code":"tfo","name":"Tefaro"},{"code":"tfr","name":"Teribe"},{"code":"tft","name":"Ternate"},{"code":"tga","name":"Sagalla"},{"code":"tgb","name":"Tobilung"},{"code":"tgc","name":"Tigak"},{"code":"tgd","name":"Ciwogai"},{"code":"tge","name":"Eastern Gorkha Tamang"},{"code":"tgf","name":"Chalikha"},{"code":"tgh","name":"Tobagonian Creole English"},{"code":"tgi","name":"Lawunuia"},{"code":"tgj","name":"Tagin"},{"code":"tgk","name":"Tajik"},{"code":"tgl","name":"Tagalog"},{"code":"tgn","name":"Tandaganon"},{"code":"tgo","name":"Sudest"},{"code":"tgp","name":"Tangoa"},{"code":"tgq","name":"Tring"},{"code":"tgr","name":"Tareng"},{"code":"tgs","name":"Nume"},{"code":"tgt","name":"Central Tagbanwa"},{"code":"tgu","name":"Tanggu"},{"code":"tgv","name":"Tingui-Boto"},{"code":"tgw","name":"Tagwana Senoufo"},{"code":"tgx","name":"Tagish"},{"code":"tgy","name":"Togoyo"},{"code":"tgz","name":"Tagalaka"},{"code":"tha","name":"Thai"},{"code":"thd","name":"Kuuk Thaayorre"},{"code":"the","name":"Chitwania Tharu"},{"code":"thf","name":"Thangmi"},{"code":"thh","name":"Northern Tarahumara"},{"code":"thi","name":"Tai Long"},{"code":"thk","name":"Kitharaka"},{"code":"thl","name":"Dangaura Tharu"},{"code":"thm","name":"Aheu"},{"code":"thn","name":"Thachanadan"},{"code":"thp","name":"Thompson"},{"code":"thq","name":"Kochila Tharu"},{"code":"thr","name":"Rana Tharu"},{"code":"ths","name":"Thakali"},{"code":"tht","name":"Tahltan"},{"code":"thu","name":"Thuri"},{"code":"thv","name":"Tahaggart Tamahaq"},{"code":"thy","name":"Tha"},{"code":"thz","name":"Tayart Tamajeq"},{"code":"tia","name":"Tidikelt Tamazight"},{"code":"tic","name":"Tira"},{"code":"tif","name":"Tifal"},{"code":"tig","name":"Tigre"},{"code":"tih","name":"Timugon Murut"},{"code":"tii","name":"Tiene"},{"code":"tij","name":"Tilung"},{"code":"tik","name":"Tikar"},{"code":"til","name":"Tillamook"},{"code":"tim","name":"Timbe"},{"code":"tin","name":"Tindi"},{"code":"tio","name":"Teop"},{"code":"tip","name":"Trimuris"},{"code":"tiq","name":"Tiรฉfo"},{"code":"tir","name":"Tigrinya"},{"code":"tis","name":"Masadiit Itneg"},{"code":"tit","name":"Tinigua"},{"code":"tiu","name":"Adasen"},{"code":"tiv","name":"Tiv"},{"code":"tiw","name":"Tiwi"},{"code":"tix","name":"Southern Tiwa"},{"code":"tiy","name":"Tiruray"},{"code":"tiz","name":"Tai Hongjin"},{"code":"tja","name":"Tajuasohn"},{"code":"tjg","name":"Tunjung"},{"code":"tji","name":"Northern Tujia"},{"code":"tjj","name":"Tjungundji"},{"code":"tjl","name":"Tai Laing"},{"code":"tjm","name":"Timucua"},{"code":"tjn","name":"Tonjon"},{"code":"tjo","name":"Temacine Tamazight"},{"code":"tjp","name":"Tjupany"},{"code":"tjs","name":"Southern Tujia"},{"code":"tju","name":"Tjurruru"},{"code":"tjw","name":"Djabwurrung"},{"code":"tka","name":"Trukรก"},{"code":"tkb","name":"Buksa"},{"code":"tkd","name":"Tukudede"},{"code":"tke","name":"Takwane"},{"code":"tkf","name":"Tukumanfรฉd"},{"code":"tkg","name":"Tesaka Malagasy"},{"code":"tkl","name":"Tokelau"},{"code":"tkm","name":"Takelma"},{"code":"tkn","name":"Toku-No-Shima"},{"code":"tkp","name":"Tikopia"},{"code":"tkq","name":"Tee"},{"code":"tkr","name":"Tsakhur"},{"code":"tks","name":"Takestani"},{"code":"tkt","name":"Kathoriya Tharu"},{"code":"tku","name":"Upper Necaxa Totonac"},{"code":"tkv","name":"Mur Pano"},{"code":"tkw","name":"Teanu"},{"code":"tkx","name":"Tangko"},{"code":"tkz","name":"Takua"},{"code":"tla","name":"Southwestern Tepehuan"},{"code":"tlb","name":"Tobelo"},{"code":"tlc","name":"Yecuatla Totonac"},{"code":"tld","name":"Talaud"},{"code":"tlf","name":"Telefol"},{"code":"tlg","name":"Tofanma"},{"code":"tlh","name":"Klingon"},{"code":"tli","name":"Tlingit"},{"code":"tlj","name":"Talinga-Bwisi"},{"code":"tlk","name":"Taloki"},{"code":"tll","name":"Tetela"},{"code":"tlm","name":"Tolomako"},{"code":"tln","name":"Talondo'"},{"code":"tlo","name":"Talodi"},{"code":"tlp","name":"Filomena Mata-Coahuitlรกn Totonac"},{"code":"tlq","name":"Tai Loi"},{"code":"tlr","name":"Talise"},{"code":"tls","name":"Tambotalo"},{"code":"tlt","name":"Sou Nama"},{"code":"tlu","name":"Tulehu"},{"code":"tlv","name":"Taliabu"},{"code":"tlx","name":"Khehek"},{"code":"tly","name":"Talysh"},{"code":"tma","name":"Tama (Chad)"},{"code":"tmb","name":"Avava"},{"code":"tmc","name":"Tumak"},{"code":"tmd","name":"Haruai"},{"code":"tme","name":"Tremembรฉ"},{"code":"tmf","name":"Toba-Maskoy"},{"code":"tmg","name":"Ternateรฑo"},{"code":"tmh","name":"Tamashek"},{"code":"tmi","name":"Tutuba"},{"code":"tmj","name":"Samarokena"},{"code":"tmk","name":"Northwestern Tamang"},{"code":"tml","name":"Tamnim Citak"},{"code":"tmm","name":"Tai Thanh"},{"code":"tmn","name":"Taman (Indonesia)"},{"code":"tmo","name":"Temoq"},{"code":"tmq","name":"Tumleo"},{"code":"tmr","name":"Jewish Babylonian Aramaic (ca. 200-1200 CE)"},{"code":"tms","name":"Tima"},{"code":"tmt","name":"Tasmate"},{"code":"tmu","name":"Iau"},{"code":"tmv","name":"Tembo (Motembo)"},{"code":"tmw","name":"Temuan"},{"code":"tmy","name":"Tami"},{"code":"tmz","name":"Tamanaku"},{"code":"tna","name":"Tacana"},{"code":"tnb","name":"Western Tunebo"},{"code":"tnc","name":"Tanimuca-Retuarรฃ"},{"code":"tnd","name":"Angosturas Tunebo"},{"code":"tng","name":"Tobanga"},{"code":"tnh","name":"Maiani"},{"code":"tni","name":"Tandia"},{"code":"tnk","name":"Kwamera"},{"code":"tnl","name":"Lenakel"},{"code":"tnm","name":"Tabla"},{"code":"tnn","name":"North Tanna"},{"code":"tno","name":"Toromono"},{"code":"tnp","name":"Whitesands"},{"code":"tnq","name":"Taino"},{"code":"tnr","name":"Mรฉnik"},{"code":"tns","name":"Tenis"},{"code":"tnt","name":"Tontemboan"},{"code":"tnu","name":"Tay Khang"},{"code":"tnv","name":"Tangchangya"},{"code":"tnw","name":"Tonsawang"},{"code":"tnx","name":"Tanema"},{"code":"tny","name":"Tongwe"},{"code":"tnz","name":"Ten'edn"},{"code":"tob","name":"Toba"},{"code":"toc","name":"Coyutla Totonac"},{"code":"tod","name":"Toma"},{"code":"tof","name":"Gizrra"},{"code":"tog","name":"Tonga (Nyasa)"},{"code":"toh","name":"Gitonga"},{"code":"toi","name":"Tonga (Zambia)"},{"code":"toj","name":"Tojolabal"},{"code":"tol","name":"Tolowa"},{"code":"tom","name":"Tombulu"},{"code":"ton","name":"Tonga (Tonga Islands)"},{"code":"too","name":"Xicotepec De Juรกrez Totonac"},{"code":"top","name":"Papantla Totonac"},{"code":"toq","name":"Toposa"},{"code":"tor","name":"Togbo-Vara Banda"},{"code":"tos","name":"Highland Totonac"},{"code":"tou","name":"Tho"},{"code":"tov","name":"Upper Taromi"},{"code":"tow","name":"Jemez"},{"code":"tox","name":"Tobian"},{"code":"toy","name":"Topoiyo"},{"code":"toz","name":"To"},{"code":"tpa","name":"Taupota"},{"code":"tpc","name":"Azoyรบ Me'phaa"},{"code":"tpe","name":"Tippera"},{"code":"tpf","name":"Tarpia"},{"code":"tpg","name":"Kula"},{"code":"tpi","name":"Tok Pisin"},{"code":"tpj","name":"Tapietรฉ"},{"code":"tpk","name":"Tupinikin"},{"code":"tpl","name":"Tlacoapa Me'phaa"},{"code":"tpm","name":"Tampulma"},{"code":"tpn","name":"Tupinambรก"},{"code":"tpo","name":"Tai Pao"},{"code":"tpp","name":"Pisaflores Tepehua"},{"code":"tpq","name":"Tukpa"},{"code":"tpr","name":"Tuparรญ"},{"code":"tpt","name":"Tlachichilco Tepehua"},{"code":"tpu","name":"Tampuan"},{"code":"tpv","name":"Tanapag"},{"code":"tpw","name":"Tupรญ"},{"code":"tpx","name":"Acatepec Me'phaa"},{"code":"tpy","name":"Trumai"},{"code":"tpz","name":"Tinputz"},{"code":"tqb","name":"Tembรฉ"},{"code":"tql","name":"Lehali"},{"code":"tqm","name":"Turumsa"},{"code":"tqn","name":"Tenino"},{"code":"tqo","name":"Toaripi"},{"code":"tqp","name":"Tomoip"},{"code":"tqq","name":"Tunni"},{"code":"tqr","name":"Torona"},{"code":"tqt","name":"Western Totonac"},{"code":"tqu","name":"Touo"},{"code":"tqw","name":"Tonkawa"},{"code":"tra","name":"Tirahi"},{"code":"trb","name":"Terebu"},{"code":"trc","name":"Copala Triqui"},{"code":"trd","name":"Turi"},{"code":"tre","name":"East Tarangan"},{"code":"trf","name":"Trinidadian Creole English"},{"code":"trg","name":"Lishรกn Didรกn"},{"code":"trh","name":"Turaka"},{"code":"tri","name":"Triรณ"},{"code":"trj","name":"Toram"},{"code":"trl","name":"Traveller Scottish"},{"code":"trm","name":"Tregami"},{"code":"trn","name":"Trinitario"},{"code":"tro","name":"Tarao Naga"},{"code":"trp","name":"Kok Borok"},{"code":"trq","name":"San Martรญn Itunyoso Triqui"},{"code":"trr","name":"Taushiro"},{"code":"trs","name":"Chicahuaxtla Triqui"},{"code":"trt","name":"Tunggare"},{"code":"tru","name":"Surayt"},{"code":"trv","name":"Taroko"},{"code":"trw","name":"Torwali"},{"code":"trx","name":"Tringgus-Sembaan Bidayuh"},{"code":"try","name":"Turung"},{"code":"trz","name":"Torรก"},{"code":"tsa","name":"Tsaangi"},{"code":"tsb","name":"Tsamai"},{"code":"tsc","name":"Tswa"},{"code":"tsd","name":"Tsakonian"},{"code":"tse","name":"Tunisian Sign Language"},{"code":"tsg","name":"Tausug"},{"code":"tsh","name":"Tsuvan"},{"code":"tsi","name":"Tsimshian"},{"code":"tsj","name":"Tshangla"},{"code":"tsk","name":"Tseku"},{"code":"tsl","name":"Ts'รผn-Lao"},{"code":"tsm","name":"Tรผrk ฤฐลŸaret Dili"},{"code":"tsn","name":"Tswana"},{"code":"tso","name":"Tsonga"},{"code":"tsp","name":"Northern Toussian"},{"code":"tsq","name":"Thai Sign Language"},{"code":"tsr","name":"Akei"},{"code":"tss","name":"Taiwan Sign Language"},{"code":"tst","name":"Tondi Songway Kiini"},{"code":"tsu","name":"Tsou"},{"code":"tsv","name":"Tsogo"},{"code":"tsw","name":"Tsishingini"},{"code":"tsx","name":"Mubami"},{"code":"tsy","name":"Tebul Sign Language"},{"code":"tsz","name":"Purepecha"},{"code":"tta","name":"Tutelo"},{"code":"ttb","name":"Gaa"},{"code":"ttc","name":"Tektiteko"},{"code":"ttd","name":"Tauade"},{"code":"tte","name":"Bwanabwana"},{"code":"ttf","name":"Tuotomb"},{"code":"ttg","name":"Tutong"},{"code":"tth","name":"Upper Ta'oih"},{"code":"tti","name":"Tobati"},{"code":"ttj","name":"Tooro"},{"code":"ttk","name":"Totoro"},{"code":"ttl","name":"Totela"},{"code":"ttm","name":"Northern Tutchone"},{"code":"ttn","name":"Towei"},{"code":"tto","name":"Lower Ta'oih"},{"code":"ttp","name":"Tombelala"},{"code":"ttq","name":"Tawallammat Tamajaq"},{"code":"ttr","name":"Tera"},{"code":"tts","name":"Northeastern Thai"},{"code":"ttt","name":"Muslim Tat"},{"code":"ttu","name":"Torau"},{"code":"ttv","name":"Titan"},{"code":"ttw","name":"Long Wat"},{"code":"tty","name":"Sikaritai"},{"code":"ttz","name":"Tsum"},{"code":"tua","name":"Wiarumus"},{"code":"tub","name":"Tรผbatulabal"},{"code":"tuc","name":"Mutu"},{"code":"tud","name":"Tuxรก"},{"code":"tue","name":"Tuyuca"},{"code":"tuf","name":"Central Tunebo"},{"code":"tug","name":"Tunia"},{"code":"tuh","name":"Taulil"},{"code":"tui","name":"Tupuri"},{"code":"tuj","name":"Tugutil"},{"code":"tuk","name":"Turkmen"},{"code":"tul","name":"Tula"},{"code":"tum","name":"Tumbuka"},{"code":"tun","name":"Tunica"},{"code":"tuo","name":"Tucano"},{"code":"tuq","name":"Tedaga"},{"code":"tur","name":"Turkish"},{"code":"tus","name":"Tuscarora"},{"code":"tuu","name":"Tututni"},{"code":"tuv","name":"Turkana"},{"code":"tux","name":"Tuxinรกwa"},{"code":"tuy","name":"Tugen"},{"code":"tuz","name":"Turka"},{"code":"tva","name":"Vaghua"},{"code":"tvd","name":"Tsuvadi"},{"code":"tve","name":"Te'un"},{"code":"tvk","name":"Southeast Ambrym"},{"code":"tvl","name":"Tuvalu"},{"code":"tvm","name":"Tela-Masbuar"},{"code":"tvn","name":"Tavoyan"},{"code":"tvo","name":"Tidore"},{"code":"tvs","name":"Taveta"},{"code":"tvt","name":"Tutsa Naga"},{"code":"tvu","name":"Tunen"},{"code":"tvw","name":"Sedoa"},{"code":"tvx","name":"Taivoan"},{"code":"tvy","name":"Timor Pidgin"},{"code":"twa","name":"Twana"},{"code":"twb","name":"Western Tawbuid"},{"code":"twc","name":"Teshenawa"},{"code":"twd","name":"Twents"},{"code":"twe","name":"Tewa (Indonesia)"},{"code":"twf","name":"Northern Tiwa"},{"code":"twg","name":"Tereweng"},{"code":"twh","name":"Tai Dรณn"},{"code":"twi","name":"Twi"},{"code":"twl","name":"Tawara"},{"code":"twm","name":"Tawang Monpa"},{"code":"twn","name":"Twendi"},{"code":"two","name":"Tswapong"},{"code":"twp","name":"Ere"},{"code":"twq","name":"Tasawaq"},{"code":"twr","name":"Southwestern Tarahumara"},{"code":"twt","name":"Turiwรกra"},{"code":"twu","name":"Termanu"},{"code":"tww","name":"Tuwari"},{"code":"twx","name":"Tewe"},{"code":"twy","name":"Tawoyan"},{"code":"txa","name":"Tombonuo"},{"code":"txb","name":"Tokharian B"},{"code":"txc","name":"Tsetsaut"},{"code":"txe","name":"Totoli"},{"code":"txg","name":"Tangut"},{"code":"txh","name":"Thracian"},{"code":"txi","name":"Ikpeng"},{"code":"txj","name":"Tarjumo"},{"code":"txm","name":"Tomini"},{"code":"txn","name":"West Tarangan"},{"code":"txo","name":"Toto"},{"code":"txq","name":"Tii"},{"code":"txr","name":"Tartessian"},{"code":"txs","name":"Tonsea"},{"code":"txt","name":"Citak"},{"code":"txu","name":"Kayapรณ"},{"code":"txx","name":"Tatana"},{"code":"txy","name":"Tanosy Malagasy"},{"code":"tya","name":"Tauya"},{"code":"tye","name":"Kyanga"},{"code":"tyh","name":"O'du"},{"code":"tyi","name":"Teke-Tsaayi"},{"code":"tyj","name":"Tai Do"},{"code":"tyl","name":"Thu Lao"},{"code":"tyn","name":"Kombai"},{"code":"typ","name":"Thaypan"},{"code":"tyr","name":"Tai Daeng"},{"code":"tys","name":"Tร y Sa Pa"},{"code":"tyt","name":"Tร y Tac"},{"code":"tyu","name":"Kua"},{"code":"tyv","name":"Tuvinian"},{"code":"tyx","name":"Teke-Tyee"},{"code":"tyy","name":"Tiyaa"},{"code":"tyz","name":"Tร y"},{"code":"tza","name":"Tanzanian Sign Language"},{"code":"tzh","name":"Tzeltal"},{"code":"tzj","name":"Tz'utujil"},{"code":"tzl","name":"Talossan"},{"code":"tzm","name":"Central Atlas Tamazight"},{"code":"tzn","name":"Tugun"},{"code":"tzo","name":"Tzotzil"},{"code":"tzx","name":"Tabriak"},{"code":"uam","name":"Uamuรฉ"},{"code":"uan","name":"Kuan"},{"code":"uar","name":"Tairuma"},{"code":"uba","name":"Ubang"},{"code":"ubi","name":"Ubi"},{"code":"ubl","name":"Buhi'non Bikol"},{"code":"ubr","name":"Ubir"},{"code":"ubu","name":"Umbu-Ungu"},{"code":"uby","name":"Ubykh"},{"code":"uda","name":"Uda"},{"code":"ude","name":"Udihe"},{"code":"udg","name":"Muduga"},{"code":"udi","name":"Udi"},{"code":"udj","name":"Ujir"},{"code":"udl","name":"Wuzlam"},{"code":"udm","name":"Udmurt"},{"code":"udu","name":"Uduk"},{"code":"ues","name":"Kioko"},{"code":"ufi","name":"Ufim"},{"code":"uga","name":"Ugaritic"},{"code":"ugb","name":"Kuku-Ugbanh"},{"code":"uge","name":"Ughele"},{"code":"ugn","name":"Ugandan Sign Language"},{"code":"ugo","name":"Ugong"},{"code":"ugy","name":"Uruguayan Sign Language"},{"code":"uha","name":"Uhami"},{"code":"uhn","name":"Damal"},{"code":"uig","name":"Uighur"},{"code":"uis","name":"Uisai"},{"code":"uiv","name":"Iyive"},{"code":"uji","name":"Tanjijili"},{"code":"uka","name":"Kaburi"},{"code":"ukg","name":"Ukuriguma"},{"code":"ukh","name":"Ukhwejo"},{"code":"uki","name":"Kui (India)"},{"code":"ukk","name":"Muak Sa-aak"},{"code":"ukl","name":"Ukrainian Sign Language"},{"code":"ukp","name":"Ukpe-Bayobiri"},{"code":"ukq","name":"Ukwa"},{"code":"ukr","name":"Ukrainian"},{"code":"uks","name":"Kaapor Sign Language"},{"code":"uku","name":"Ukue"},{"code":"ukv","name":"Kuku"},{"code":"ukw","name":"Ukwuani-Aboh-Ndoni"},{"code":"uky","name":"Kuuk-Yak"},{"code":"ula","name":"Fungwa"},{"code":"ulb","name":"Ulukwumi"},{"code":"ulc","name":"Ulch"},{"code":"ule","name":"Lule"},{"code":"ulf","name":"Afra"},{"code":"uli","name":"Ulithian"},{"code":"ulk","name":"Meriam Mir"},{"code":"ull","name":"Ullatan"},{"code":"ulm","name":"Ulumanda'"},{"code":"uln","name":"Unserdeutsch"},{"code":"ulu","name":"Uma' Lung"},{"code":"ulw","name":"Ulwa"},{"code":"uma","name":"Umatilla"},{"code":"umb","name":"Umbundu"},{"code":"umc","name":"Marrucinian"},{"code":"umd","name":"Umbindhamu"},{"code":"umg","name":"Morrobalama"},{"code":"umi","name":"Ukit"},{"code":"umm","name":"Umon"},{"code":"umn","name":"Makyan Naga"},{"code":"umo","name":"Umotรญna"},{"code":"ump","name":"Umpila"},{"code":"umr","name":"Umbugarla"},{"code":"ums","name":"Pendau"},{"code":"umu","name":"Munsee"},{"code":"una","name":"North Watut"},{"code":"und","name":"Undetermined"},{"code":"une","name":"Uneme"},{"code":"ung","name":"Ngarinyin"},{"code":"uni","name":"Uni"},{"code":"unk","name":"Enawenรฉ-Nawรฉ"},{"code":"unm","name":"Unami"},{"code":"unn","name":"Kurnai"},{"code":"unr","name":"Mundari"},{"code":"unu","name":"Unubahe"},{"code":"unx","name":"Munda"},{"code":"unz","name":"Unde Kaili"},{"code":"upi","name":"Umeda"},{"code":"upv","name":"Uripiv-Wala-Rano-Atchin"},{"code":"ura","name":"Urarina"},{"code":"urb","name":"Kaapor"},{"code":"urc","name":"Urningangg"},{"code":"urd","name":"Urdu"},{"code":"ure","name":"Uru"},{"code":"urf","name":"Uradhi"},{"code":"urg","name":"Urigina"},{"code":"urh","name":"Urhobo"},{"code":"uri","name":"Urim"},{"code":"urk","name":"Urak Lawoi'"},{"code":"url","name":"Urali"},{"code":"urm","name":"Urapmin"},{"code":"urn","name":"Uruangnirin"},{"code":"uro","name":"Ura (Papua New Guinea)"},{"code":"urp","name":"Uru-Pa-In"},{"code":"urr","name":"Lehalurup"},{"code":"urt","name":"Urat"},{"code":"uru","name":"Urumi"},{"code":"urv","name":"Uruava"},{"code":"urw","name":"Sop"},{"code":"urx","name":"Urimo"},{"code":"ury","name":"Orya"},{"code":"urz","name":"Uru-Eu-Wau-Wau"},{"code":"usa","name":"Usarufa"},{"code":"ush","name":"Ushojo"},{"code":"usi","name":"Usui"},{"code":"usk","name":"Usaghade"},{"code":"usp","name":"Uspanteco"},{"code":"uss","name":"us-Saare"},{"code":"usu","name":"Uya"},{"code":"uta","name":"Otank"},{"code":"ute","name":"Ute-Southern Paiute"},{"code":"uth","name":"ut-Hun"},{"code":"utp","name":"Amba (Solomon Islands)"},{"code":"utr","name":"Etulo"},{"code":"utu","name":"Utu"},{"code":"uum","name":"Urum"},{"code":"uun","name":"Kulon-Pazeh"},{"code":"uur","name":"Ura (Vanuatu)"},{"code":"uuu","name":"U"},{"code":"uve","name":"Fagauvea"},{"code":"uvh","name":"Uri"},{"code":"uvl","name":"Lote"},{"code":"uwa","name":"Kuku-Uwanh"},{"code":"uya","name":"Doko-Uyanga"},{"code":"uzb","name":"Uzbek"},{"code":"uzn","name":"Northern Uzbek"},{"code":"uzs","name":"Southern Uzbek"},{"code":"vaa","name":"Vaagri Booli"},{"code":"vae","name":"Vale"},{"code":"vaf","name":"Vafsi"},{"code":"vag","name":"Vagla"},{"code":"vah","name":"Varhadi-Nagpuri"},{"code":"vai","name":"Vai"},{"code":"vaj","name":"Northwestern วƒKung"},{"code":"val","name":"Vehes"},{"code":"vam","name":"Vanimo"},{"code":"van","name":"Valman"},{"code":"vao","name":"Vao"},{"code":"vap","name":"Vaiphei"},{"code":"var","name":"Huarijio"},{"code":"vas","name":"Vasavi"},{"code":"vau","name":"Vanuma"},{"code":"vav","name":"Varli"},{"code":"vay","name":"Wayu"},{"code":"vbb","name":"Southeast Babar"},{"code":"vbk","name":"Southwestern Bontok"},{"code":"vec","name":"Venetian"},{"code":"ved","name":"Veddah"},{"code":"vel","name":"Veluws"},{"code":"vem","name":"Vemgo-Mabas"},{"code":"ven","name":"Venda"},{"code":"veo","name":"Ventureรฑo"},{"code":"vep","name":"Veps"},{"code":"ver","name":"Mom Jango"},{"code":"vgr","name":"Vaghri"},{"code":"vgt","name":"Flemish Sign Language"},{"code":"vic","name":"Virgin Islands Creole English"},{"code":"vid","name":"Vidunda"},{"code":"vie","name":"Vietnamese"},{"code":"vif","name":"Vili"},{"code":"vig","name":"Viemo"},{"code":"vil","name":"Vilela"},{"code":"vin","name":"Vinza"},{"code":"vis","name":"Vishavan"},{"code":"vit","name":"Viti"},{"code":"viv","name":"Iduna"},{"code":"vka","name":"Kariyarra"},{"code":"vkj","name":"Kujarge"},{"code":"vkk","name":"Kaur"},{"code":"vkl","name":"Kulisusu"},{"code":"vkm","name":"Kamakan"},{"code":"vkn","name":"Koro Nulu"},{"code":"vko","name":"Kodeoha"},{"code":"vkp","name":"Korlai Creole Portuguese"},{"code":"vkt","name":"Tenggarong Kutai Malay"},{"code":"vku","name":"Kurrama"},{"code":"vkz","name":"Koro Zuba"},{"code":"vlp","name":"Valpei"},{"code":"vls","name":"Vlaams"},{"code":"vma","name":"Martuyhunira"},{"code":"vmb","name":"Barbaram"},{"code":"vmc","name":"Juxtlahuaca Mixtec"},{"code":"vmd","name":"Mudu Koraga"},{"code":"vme","name":"East Masela"},{"code":"vmf","name":"Mainfrรคnkisch"},{"code":"vmg","name":"Lungalunga"},{"code":"vmh","name":"Maraghei"},{"code":"vmi","name":"Miwa"},{"code":"vmj","name":"Ixtayutla Mixtec"},{"code":"vmk","name":"Makhuwa-Shirima"},{"code":"vml","name":"Malgana"},{"code":"vmm","name":"Mitlatongo Mixtec"},{"code":"vmp","name":"Soyaltepec Mazatec"},{"code":"vmq","name":"Soyaltepec Mixtec"},{"code":"vmr","name":"Marenje"},{"code":"vms","name":"Moksela"},{"code":"vmu","name":"Muluridyi"},{"code":"vmv","name":"Valley Maidu"},{"code":"vmw","name":"Makhuwa"},{"code":"vmx","name":"Tamazola Mixtec"},{"code":"vmy","name":"Ayautla Mazatec"},{"code":"vmz","name":"Mazatlรกn Mazatec"},{"code":"vnk","name":"Lovono"},{"code":"vnm","name":"Neve'ei"},{"code":"vnp","name":"Vunapu"},{"code":"vol","name":"Volapรผk"},{"code":"vor","name":"Voro"},{"code":"vot","name":"Votic"},{"code":"vra","name":"Vera'a"},{"code":"vro","name":"Vรตro"},{"code":"vrs","name":"Varisi"},{"code":"vrt","name":"Banam Bay"},{"code":"vsi","name":"Moldova Sign Language"},{"code":"vsl","name":"Venezuelan Sign Language"},{"code":"vsv","name":"Llengua de signes valenciana"},{"code":"vto","name":"Vitou"},{"code":"vum","name":"Vumbu"},{"code":"vun","name":"Vunjo"},{"code":"vut","name":"Vute"},{"code":"vwa","name":"Awa (China)"},{"code":"waa","name":"Walla Walla"},{"code":"wab","name":"Wab"},{"code":"wac","name":"Wasco-Wishram"},{"code":"wad","name":"Wamesa"},{"code":"wae","name":"Walser"},{"code":"waf","name":"Wakonรก"},{"code":"wag","name":"Wa'ema"},{"code":"wah","name":"Watubela"},{"code":"wai","name":"Wares"},{"code":"waj","name":"Waffa"},{"code":"wal","name":"Wolaitta"},{"code":"wam","name":"Wampanoag"},{"code":"wan","name":"Wan"},{"code":"wao","name":"Wappo"},{"code":"wap","name":"Wapishana"},{"code":"waq","name":"Wagiman"},{"code":"war","name":"Waray (Philippines)"},{"code":"was","name":"Washo"},{"code":"wat","name":"Kaninuwa"},{"code":"wau","name":"Waurรก"},{"code":"wav","name":"Waka"},{"code":"waw","name":"Waiwai"},{"code":"wax","name":"Marangis"},{"code":"way","name":"Wayana"},{"code":"waz","name":"Wampur"},{"code":"wba","name":"Warao"},{"code":"wbb","name":"Wabo"},{"code":"wbe","name":"Waritai"},{"code":"wbf","name":"Wara"},{"code":"wbh","name":"Wanda"},{"code":"wbi","name":"Vwanji"},{"code":"wbj","name":"Alagwa"},{"code":"wbk","name":"Waigali"},{"code":"wbl","name":"Wakhi"},{"code":"wbm","name":"Wa"},{"code":"wbp","name":"Warlpiri"},{"code":"wbq","name":"Waddar"},{"code":"wbr","name":"Wagdi"},{"code":"wbs","name":"West Bengal Sign Language"},{"code":"wbt","name":"Warnman"},{"code":"wbv","name":"Wajarri"},{"code":"wbw","name":"Woi"},{"code":"wca","name":"Yanomรกmi"},{"code":"wci","name":"Waci Gbe"},{"code":"wdd","name":"Wandji"},{"code":"wdg","name":"Wadaginam"},{"code":"wdj","name":"Wadjiginy"},{"code":"wdk","name":"Wadikali"},{"code":"wdu","name":"Wadjigu"},{"code":"wdy","name":"Wadjabangayi"},{"code":"wea","name":"Wewaw"},{"code":"wec","name":"Wรจ Western"},{"code":"wed","name":"Wedau"},{"code":"weg","name":"Wergaia"},{"code":"weh","name":"Weh"},{"code":"wei","name":"Kiunum"},{"code":"wem","name":"Weme Gbe"},{"code":"weo","name":"Wemale"},{"code":"wep","name":"Westphalien"},{"code":"wer","name":"Weri"},{"code":"wes","name":"Cameroon Pidgin"},{"code":"wet","name":"Perai"},{"code":"weu","name":"Rawngtu Chin"},{"code":"wew","name":"Wejewa"},{"code":"wfg","name":"Yafi"},{"code":"wga","name":"Wagaya"},{"code":"wgb","name":"Wagawaga"},{"code":"wgg","name":"Wangganguru"},{"code":"wgi","name":"Wahgi"},{"code":"wgo","name":"Waigeo"},{"code":"wgu","name":"Wirangu"},{"code":"wgy","name":"Warrgamay"},{"code":"wha","name":"Manusela"},{"code":"whg","name":"North Wahgi"},{"code":"whk","name":"Wahau Kenyah"},{"code":"whu","name":"Wahau Kayan"},{"code":"wib","name":"Southern Toussian"},{"code":"wic","name":"Wichita"},{"code":"wie","name":"Wik-Epa"},{"code":"wif","name":"Wik-Keyangan"},{"code":"wig","name":"Wik Ngathan"},{"code":"wih","name":"Wik-Me'anha"},{"code":"wii","name":"Minidien"},{"code":"wij","name":"Wik-Iiyanh"},{"code":"wik","name":"Wikalkan"},{"code":"wil","name":"Wilawila"},{"code":"wim","name":"Wik-Mungkan"},{"code":"win","name":"Ho-Chunk"},{"code":"wir","name":"Wirafรฉd"},{"code":"wiu","name":"Wiru"},{"code":"wiv","name":"Vitu"},{"code":"wiy","name":"Wiyot"},{"code":"wja","name":"Waja"},{"code":"wji","name":"Warji"},{"code":"wka","name":"Kw'adza"},{"code":"wkb","name":"Kumbaran"},{"code":"wkd","name":"Mo"},{"code":"wkl","name":"Kalanadi"},{"code":"wkr","name":"Keerray-Woorroong"},{"code":"wku","name":"Kunduvadi"},{"code":"wkw","name":"Wakawaka"},{"code":"wky","name":"Wangkayutyuru"},{"code":"wla","name":"Walio"},{"code":"wlc","name":"Mwali Comorian"},{"code":"wle","name":"Wolane"},{"code":"wlg","name":"Kunbarlang"},{"code":"wlh","name":"Welaun"},{"code":"wli","name":"Waioli"},{"code":"wlk","name":"Wailaki"},{"code":"wll","name":"Wali (Sudan)"},{"code":"wlm","name":"Middle Welsh"},{"code":"wln","name":"Walloon"},{"code":"wlo","name":"Wolio"},{"code":"wlr","name":"Wailapa"},{"code":"wls","name":"Wallisian"},{"code":"wlu","name":"Wuliwuli"},{"code":"wlv","name":"Wichรญ Lhamtรฉs Vejoz"},{"code":"wlw","name":"Walak"},{"code":"wlx","name":"Wali (Ghana)"},{"code":"wly","name":"Waling"},{"code":"wma","name":"Mawa (Nigeria)"},{"code":"wmb","name":"Wambaya"},{"code":"wmc","name":"Wamas"},{"code":"wmd","name":"Mamaindรฉ"},{"code":"wme","name":"Wambule"},{"code":"wmg","name":"Western Minyag"},{"code":"wmh","name":"Waima'a"},{"code":"wmi","name":"Wamin"},{"code":"wmm","name":"Maiwa (Indonesia)"},{"code":"wmn","name":"Waamwang"},{"code":"wmo","name":"Wom (Papua New Guinea)"},{"code":"wms","name":"Wambon"},{"code":"wmt","name":"Walmajarri"},{"code":"wmw","name":"Mwani"},{"code":"wmx","name":"Womo"},{"code":"wnb","name":"Wanambre"},{"code":"wnc","name":"Wantoat"},{"code":"wnd","name":"Wandarang"},{"code":"wne","name":"Waneci"},{"code":"wng","name":"Wanggom"},{"code":"wni","name":"Ndzwani Comorian"},{"code":"wnk","name":"Wanukaka"},{"code":"wnm","name":"Wanggamala"},{"code":"wnn","name":"Wunumara"},{"code":"wno","name":"Wano"},{"code":"wnp","name":"Wanap"},{"code":"wnu","name":"Usan"},{"code":"wnw","name":"Wintu"},{"code":"wny","name":"Waanyi"},{"code":"woa","name":"Kuwema"},{"code":"wob","name":"Wรจ Northern"},{"code":"woc","name":"Wogeo"},{"code":"wod","name":"Wolani"},{"code":"woe","name":"Woleaian"},{"code":"wof","name":"Gambian Wolof"},{"code":"wog","name":"Wogamusin"},{"code":"woi","name":"Kamang"},{"code":"wok","name":"Longto"},{"code":"wol","name":"Wolof"},{"code":"wom","name":"Wom (Nigeria)"},{"code":"won","name":"Wongo"},{"code":"woo","name":"Manombai"},{"code":"wor","name":"Woria"},{"code":"wos","name":"Hanga Hundi"},{"code":"wow","name":"Wawonii"},{"code":"woy","name":"Weyto"},{"code":"wpc","name":"Maco"},{"code":"wrb","name":"Waluwarra"},{"code":"wrd","name":"Warduji"},{"code":"wrg","name":"Gudjal"},{"code":"wrh","name":"Wiradjuri"},{"code":"wri","name":"Wariyangga"},{"code":"wrk","name":"Garrwa"},{"code":"wrl","name":"Warlmanpa"},{"code":"wrm","name":"Warumungu"},{"code":"wrn","name":"Warnang"},{"code":"wro","name":"Worrorra"},{"code":"wrp","name":"Waropen"},{"code":"wrr","name":"Wardaman"},{"code":"wrs","name":"Waris"},{"code":"wru","name":"Waru"},{"code":"wrv","name":"Waruna"},{"code":"wrw","name":"Gugu Warra"},{"code":"wrx","name":"Wae Rana"},{"code":"wry","name":"Merwari"},{"code":"wrz","name":"Waray (Australia)"},{"code":"wsa","name":"Warembori"},{"code":"wsg","name":"Adilabad Gondi"},{"code":"wsi","name":"Wusi"},{"code":"wsk","name":"Waskia"},{"code":"wsr","name":"Owenia"},{"code":"wss","name":"Wasa"},{"code":"wsu","name":"Wasu"},{"code":"wsv","name":"Wotapuri-Katarqalai"},{"code":"wtf","name":"Watiwa"},{"code":"wth","name":"Wathawurrung"},{"code":"wti","name":"Berta"},{"code":"wtk","name":"Watakataui"},{"code":"wtm","name":"Mewati"},{"code":"wtw","name":"Wotu"},{"code":"wua","name":"Wikngenchera"},{"code":"wub","name":"Wunambal"},{"code":"wud","name":"Wudu"},{"code":"wuh","name":"Wutunhua"},{"code":"wul","name":"Silimo"},{"code":"wum","name":"Wumbvu"},{"code":"wun","name":"Bungu"},{"code":"wur","name":"Wurrugu"},{"code":"wut","name":"Wutung"},{"code":"wuu","name":"Wu Chinese"},{"code":"wuv","name":"Wuvulu-Aua"},{"code":"wux","name":"Wulna"},{"code":"wuy","name":"Wauyai"},{"code":"wwa","name":"Waama"},{"code":"wwb","name":"Wakabunga"},{"code":"wwo","name":"Dorig"},{"code":"wwr","name":"Warrwa"},{"code":"www","name":"Wawa"},{"code":"wxa","name":"Waxianghua"},{"code":"wxw","name":"Wardandi"},{"code":"wya","name":"Wyandot"},{"code":"wyb","name":"Wangaaybuwan-Ngiyambaa"},{"code":"wyi","name":"Woiwurrung"},{"code":"wym","name":"Wymysorys"},{"code":"wyr","name":"Wayorรณ"},{"code":"wyy","name":"Western Fijian"},{"code":"xaa","name":"Andalusian Arabic"},{"code":"xab","name":"Sambe"},{"code":"xac","name":"Kachari"},{"code":"xad","name":"Adai"},{"code":"xae","name":"Aequian"},{"code":"xag","name":"Aghwan"},{"code":"xai","name":"Kaimbรฉ"},{"code":"xaj","name":"Ararandewรกra"},{"code":"xak","name":"Mรกku"},{"code":"xal","name":"Kalmyk"},{"code":"xam","name":"ว€Xam"},{"code":"xan","name":"Xamtanga"},{"code":"xao","name":"Khao"},{"code":"xap","name":"Apalachee"},{"code":"xaq","name":"Aquitanian"},{"code":"xar","name":"Karami"},{"code":"xas","name":"Kamas"},{"code":"xat","name":"Katawixi"},{"code":"xau","name":"Kauwera"},{"code":"xav","name":"Xavรกnte"},{"code":"xaw","name":"Kawaiisu"},{"code":"xay","name":"Kayan Mahakam"},{"code":"xbb","name":"Lower Burdekin"},{"code":"xbc","name":"Bactrian"},{"code":"xbd","name":"Bindal"},{"code":"xbe","name":"Bigambal"},{"code":"xbg","name":"Bunganditj"},{"code":"xbi","name":"Kombio"},{"code":"xbj","name":"Birrpayi"},{"code":"xbm","name":"Middle Breton"},{"code":"xbn","name":"Kenaboi"},{"code":"xbo","name":"Bolgarian"},{"code":"xbp","name":"Bibbulman"},{"code":"xbr","name":"Kambera"},{"code":"xbw","name":"Kambiwรก"},{"code":"xby","name":"Batjala"},{"code":"xcb","name":"Cumbric"},{"code":"xcc","name":"Camunic"},{"code":"xce","name":"Celtiberian"},{"code":"xcg","name":"Cisalpine Gaulish"},{"code":"xch","name":"Chemakum"},{"code":"xcl","name":"Classical Armenian"},{"code":"xcm","name":"Comecrudo"},{"code":"xcn","name":"Cotoname"},{"code":"xco","name":"Chorasmian"},{"code":"xcr","name":"Carian"},{"code":"xct","name":"Classical Tibetan"},{"code":"xcu","name":"Curonian"},{"code":"xcv","name":"Chuvantsy"},{"code":"xcw","name":"Coahuilteco"},{"code":"xcy","name":"Cayuse"},{"code":"xda","name":"Darkinyung"},{"code":"xdc","name":"Dacian"},{"code":"xdk","name":"Dharuk"},{"code":"xdm","name":"Edomite"},{"code":"xdo","name":"Kwandu"},{"code":"xdy","name":"Malayic Dayak"},{"code":"xeb","name":"Eblan"},{"code":"xed","name":"Hdi"},{"code":"xeg","name":"วXegwi"},{"code":"xel","name":"Kelo"},{"code":"xem","name":"Kembayan"},{"code":"xep","name":"Epi-Olmec"},{"code":"xer","name":"Xerรฉnte"},{"code":"xes","name":"Kesawai"},{"code":"xet","name":"Xetรก"},{"code":"xeu","name":"Keoru-Ahia"},{"code":"xfa","name":"Faliscan"},{"code":"xga","name":"Galatian"},{"code":"xgb","name":"Gbin"},{"code":"xgd","name":"Gudang"},{"code":"xgf","name":"Gabrielino-Fernandeรฑo"},{"code":"xgg","name":"Goreng"},{"code":"xgi","name":"Garingbal"},{"code":"xgl","name":"Galindan"},{"code":"xgm","name":"Dharumbal"},{"code":"xgr","name":"Garza"},{"code":"xgu","name":"Unggumi"},{"code":"xgw","name":"Guwa"},{"code":"xha","name":"Harami"},{"code":"xhc","name":"Hunnic"},{"code":"xhd","name":"Hadrami"},{"code":"xhe","name":"Khetrani"},{"code":"xho","name":"Xhosa"},{"code":"xhr","name":"Hernican"},{"code":"xht","name":"Hattic"},{"code":"xhu","name":"Hurrian"},{"code":"xhv","name":"Khua"},{"code":"xib","name":"Iberian"},{"code":"xii","name":"Xiri"},{"code":"xil","name":"Illyrian"},{"code":"xin","name":"Xinca"},{"code":"xir","name":"Xiriรขna"},{"code":"xis","name":"Kisan"},{"code":"xiv","name":"Indus Valley Language"},{"code":"xiy","name":"Xipaya"},{"code":"xjb","name":"Minjungbal"},{"code":"xjt","name":"Jaitmatang"},{"code":"xka","name":"Kalkoti"},{"code":"xkb","name":"Northern Nago"},{"code":"xkc","name":"Kho'ini"},{"code":"xkd","name":"Mendalam Kayan"},{"code":"xke","name":"Kereho"},{"code":"xkf","name":"Khengkha"},{"code":"xkg","name":"Kagoro"},{"code":"xki","name":"Kenyan Sign Language"},{"code":"xkj","name":"Kajali"},{"code":"xkk","name":"Kaco'"},{"code":"xkl","name":"Mainstream Kenyah"},{"code":"xkn","name":"Kayan River Kayan"},{"code":"xko","name":"Kiorr"},{"code":"xkp","name":"Kabatei"},{"code":"xkq","name":"Koroni"},{"code":"xkr","name":"Xakriabรก"},{"code":"xks","name":"Kumbewaha"},{"code":"xkt","name":"Kantosi"},{"code":"xku","name":"Kaamba"},{"code":"xkv","name":"Kgalagadi"},{"code":"xkw","name":"Kembra"},{"code":"xkx","name":"Karore"},{"code":"xky","name":"Uma' Lasan"},{"code":"xkz","name":"Kurtokha"},{"code":"xla","name":"Kamula"},{"code":"xlb","name":"Loup B"},{"code":"xlc","name":"Lycian"},{"code":"xld","name":"Lydian"},{"code":"xle","name":"Lemnian"},{"code":"xlg","name":"Ligurian (Ancient)"},{"code":"xli","name":"Liburnian"},{"code":"xln","name":"Alanic"},{"code":"xlo","name":"Loup A"},{"code":"xlp","name":"Lepontic"},{"code":"xls","name":"Lusitanian"},{"code":"xlu","name":"Cuneiform Luwian"},{"code":"xly","name":"Elymian"},{"code":"xma","name":"Mushungulu"},{"code":"xmb","name":"Mbonga"},{"code":"xmc","name":"Makhuwa-Marrevone"},{"code":"xmd","name":"Mbudum"},{"code":"xme","name":"Median"},{"code":"xmf","name":"Mingrelian"},{"code":"xmg","name":"Mengaka"},{"code":"xmh","name":"Kugu-Muminh"},{"code":"xmj","name":"Majera"},{"code":"xmk","name":"Ancient Macedonian"},{"code":"xml","name":"Malaysian Sign Language"},{"code":"xmm","name":"Manado Malay"},{"code":"xmn","name":"Manichaean Middle Persian"},{"code":"xmo","name":"Morerebi"},{"code":"xmp","name":"Kuku-Mu'inh"},{"code":"xmq","name":"Kuku-Mangk"},{"code":"xmr","name":"Meroitic"},{"code":"xms","name":"Moroccan Sign Language"},{"code":"xmt","name":"Matbat"},{"code":"xmu","name":"Kamu"},{"code":"xmv","name":"Antankarana Malagasy"},{"code":"xmw","name":"Tsimihety Malagasy"},{"code":"xmx","name":"Maden"},{"code":"xmy","name":"Mayaguduna"},{"code":"xmz","name":"Mori Bawah"},{"code":"xna","name":"Ancient North Arabian"},{"code":"xnb","name":"Kanakanabu"},{"code":"xng","name":"Middle Mongolian"},{"code":"xnh","name":"Kuanhua"},{"code":"xni","name":"Ngarigu"},{"code":"xnj","name":"Ngoni (Tanzania)"},{"code":"xnk","name":"Nganakarti"},{"code":"xnm","name":"Ngumbarl"},{"code":"xnn","name":"Northern Kankanay"},{"code":"xno","name":"Anglo-Norman"},{"code":"xnq","name":"Ngoni (Mozambique)"},{"code":"xnr","name":"Kangri"},{"code":"xns","name":"Kanashi"},{"code":"xnt","name":"Narragansett"},{"code":"xnu","name":"Nukunul"},{"code":"xny","name":"Nyiyaparli"},{"code":"xnz","name":"Kenzi"},{"code":"xoc","name":"O'chi'chi'"},{"code":"xod","name":"Kokoda"},{"code":"xog","name":"Soga"},{"code":"xoi","name":"Kominimung"},{"code":"xok","name":"Xokleng"},{"code":"xom","name":"Komo (Sudan)"},{"code":"xon","name":"Konkomba"},{"code":"xoo","name":"Xukurรบ"},{"code":"xop","name":"Kopar"},{"code":"xor","name":"Korubo"},{"code":"xow","name":"Kowaki"},{"code":"xpa","name":"Pirriya"},{"code":"xpb","name":"Northeastern Tasmanian"},{"code":"xpc","name":"Pecheneg"},{"code":"xpd","name":"Oyster Bay Tasmanian"},{"code":"xpe","name":"Liberia Kpelle"},{"code":"xpf","name":"Nuenonne"},{"code":"xpg","name":"Phrygian"},{"code":"xph","name":"North Midlands Tasmanian"},{"code":"xpi","name":"Pictish"},{"code":"xpj","name":"Mpalitjanh"},{"code":"xpk","name":"Kulina Pano"},{"code":"xpl","name":"Port Sorell Tasmanian"},{"code":"xpm","name":"Pumpokol"},{"code":"xpn","name":"Kapinawรก"},{"code":"xpo","name":"Pochutec"},{"code":"xpp","name":"Puyo-Paekche"},{"code":"xpq","name":"Mohegan-Pequot"},{"code":"xpr","name":"Parthian"},{"code":"xps","name":"Pisidian"},{"code":"xpt","name":"Punthamara"},{"code":"xpu","name":"Punic"},{"code":"xpv","name":"Northern Tasmanian"},{"code":"xpw","name":"Northwestern Tasmanian"},{"code":"xpx","name":"Southwestern Tasmanian"},{"code":"xpy","name":"Puyo"},{"code":"xpz","name":"Bruny Island Tasmanian"},{"code":"xqa","name":"Karakhanid"},{"code":"xqt","name":"Qatabanian"},{"code":"xra","name":"Krahรด"},{"code":"xrb","name":"Eastern Karaboro"},{"code":"xrd","name":"Gundungurra"},{"code":"xre","name":"Kreye"},{"code":"xrg","name":"Minang"},{"code":"xri","name":"Krikati-Timbira"},{"code":"xrm","name":"Armazic"},{"code":"xrn","name":"Arin"},{"code":"xrr","name":"Raetic"},{"code":"xrt","name":"Aranama-Tamique"},{"code":"xru","name":"Marriammu"},{"code":"xrw","name":"Karawa"},{"code":"xsa","name":"Sabaean"},{"code":"xsb","name":"Sambal"},{"code":"xsc","name":"Scythian"},{"code":"xsd","name":"Sidetic"},{"code":"xse","name":"Sempan"},{"code":"xsh","name":"Shamang"},{"code":"xsi","name":"Sio"},{"code":"xsj","name":"Subi"},{"code":"xsl","name":"South Slavey"},{"code":"xsm","name":"Kasem"},{"code":"xsn","name":"Sanga (Nigeria)"},{"code":"xso","name":"Solano"},{"code":"xsp","name":"Silopi"},{"code":"xsq","name":"Makhuwa-Saka"},{"code":"xsr","name":"Sherpa"},{"code":"xss","name":"Assan"},{"code":"xsu","name":"Sanumรก"},{"code":"xsv","name":"Sudovian"},{"code":"xsy","name":"Saisiyat"},{"code":"xta","name":"Alcozauca Mixtec"},{"code":"xtb","name":"Chazumba Mixtec"},{"code":"xtc","name":"Katcha-Kadugli-Miri"},{"code":"xtd","name":"Diuxi-Tilantongo Mixtec"},{"code":"xte","name":"Ketengban"},{"code":"xtg","name":"Transalpine Gaulish"},{"code":"xth","name":"Yitha Yitha"},{"code":"xti","name":"Sinicahua Mixtec"},{"code":"xtj","name":"San Juan Teita Mixtec"},{"code":"xtl","name":"Tijaltepec Mixtec"},{"code":"xtm","name":"Magdalena Peรฑasco Mixtec"},{"code":"xtn","name":"Northern Tlaxiaco Mixtec"},{"code":"xto","name":"Tokharian A"},{"code":"xtp","name":"San Miguel Piedras Mixtec"},{"code":"xtq","name":"Tumshuqese"},{"code":"xtr","name":"Early Tripuri"},{"code":"xts","name":"Sindihui Mixtec"},{"code":"xtt","name":"Tacahua Mixtec"},{"code":"xtu","name":"Cuyamecalco Mixtec"},{"code":"xtv","name":"Thawa"},{"code":"xtw","name":"Tawandรช"},{"code":"xty","name":"Yoloxochitl Mixtec"},{"code":"xua","name":"Alu Kurumba"},{"code":"xub","name":"Betta Kurumba"},{"code":"xud","name":"Umiida"},{"code":"xug","name":"Kunigami"},{"code":"xuj","name":"Jennu Kurumba"},{"code":"xul","name":"Ngunawal"},{"code":"xum","name":"Umbrian"},{"code":"xun","name":"Unggaranggu"},{"code":"xuo","name":"Kuo"},{"code":"xup","name":"Upper Umpqua"},{"code":"xur","name":"Urartian"},{"code":"xut","name":"Kuthant"},{"code":"xuu","name":"Khwedam"},{"code":"xve","name":"Venetic"},{"code":"xvi","name":"Kamviri"},{"code":"xvn","name":"Vandalic"},{"code":"xvo","name":"Volscian"},{"code":"xvs","name":"Vestinian"},{"code":"xwa","name":"Kwaza"},{"code":"xwc","name":"Woccon"},{"code":"xwd","name":"Wadi Wadi"},{"code":"xwe","name":"Xwela Gbe"},{"code":"xwg","name":"Kwegu"},{"code":"xwj","name":"Wajuk"},{"code":"xwk","name":"Wangkumara"},{"code":"xwl","name":"Western Xwla Gbe"},{"code":"xwo","name":"Written Oirat"},{"code":"xwr","name":"Kwerba Mamberamo"},{"code":"xwt","name":"Wotjobaluk"},{"code":"xww","name":"Wemba Wemba"},{"code":"xxb","name":"Boro (Ghana)"},{"code":"xxk","name":"Ke'o"},{"code":"xxm","name":"Minkin"},{"code":"xxr","name":"Koropรณ"},{"code":"xxt","name":"Tambora"},{"code":"xya","name":"Yaygir"},{"code":"xyb","name":"Yandjibara"},{"code":"xyj","name":"Mayi-Yapi"},{"code":"xyk","name":"Mayi-Kulan"},{"code":"xyl","name":"Yalakalore"},{"code":"xyt","name":"Mayi-Thakurti"},{"code":"xyy","name":"Yorta Yorta"},{"code":"xzh","name":"Zhang-Zhung"},{"code":"xzm","name":"Zemgalian"},{"code":"xzp","name":"Ancient Zapotec"},{"code":"yaa","name":"Yaminahua"},{"code":"yab","name":"Yuhup"},{"code":"yac","name":"Pass Valley Yali"},{"code":"yad","name":"Yagua"},{"code":"yae","name":"Pumรฉ"},{"code":"yaf","name":"Yaka (Democratic Republic of Congo)"},{"code":"yag","name":"Yรกmana"},{"code":"yah","name":"Yazgulyam"},{"code":"yai","name":"Yagnobi"},{"code":"yaj","name":"Banda-Yangere"},{"code":"yak","name":"Yakama"},{"code":"yal","name":"Yalunka"},{"code":"yam","name":"Yamba"},{"code":"yan","name":"Mayangna"},{"code":"yao","name":"Yao"},{"code":"yap","name":"Yapese"},{"code":"yaq","name":"Yaqui"},{"code":"yar","name":"Yabarana"},{"code":"yas","name":"Nugunu (Cameroon)"},{"code":"yat","name":"Yambeta"},{"code":"yau","name":"Yuwana"},{"code":"yav","name":"Yangben"},{"code":"yaw","name":"Yawalapitรญ"},{"code":"yax","name":"Yauma"},{"code":"yay","name":"Agwagwune"},{"code":"yaz","name":"Lokaa"},{"code":"yba","name":"Yala"},{"code":"ybb","name":"Yemba"},{"code":"ybe","name":"West Yugur"},{"code":"ybh","name":"Yakha"},{"code":"ybi","name":"Yamphu"},{"code":"ybj","name":"Hasha"},{"code":"ybk","name":"Bokha"},{"code":"ybl","name":"Yukuben"},{"code":"ybm","name":"Yaben"},{"code":"ybn","name":"Yabaรขna"},{"code":"ybo","name":"Yabong"},{"code":"ybx","name":"Yawiyo"},{"code":"yby","name":"Yaweyuha"},{"code":"ych","name":"Chesu"},{"code":"ycl","name":"Lolopo"},{"code":"ycn","name":"Yucuna"},{"code":"ycp","name":"Chepya"},{"code":"yda","name":"Yanda"},{"code":"ydd","name":"Eastern Yiddish"},{"code":"yde","name":"Yangum Dey"},{"code":"ydg","name":"Yidgha"},{"code":"ydk","name":"Yoidik"},{"code":"yea","name":"Ravula"},{"code":"yec","name":"Yeniche"},{"code":"yee","name":"Yimas"},{"code":"yei","name":"Yeni"},{"code":"yej","name":"Yevanic"},{"code":"yel","name":"Yela"},{"code":"yer","name":"Tarok"},{"code":"yes","name":"Nyankpa"},{"code":"yet","name":"Yetfa"},{"code":"yeu","name":"Yerukula"},{"code":"yev","name":"Yapunda"},{"code":"yey","name":"Yeyi"},{"code":"yga","name":"Malyangapa"},{"code":"ygi","name":"Yiningayi"},{"code":"ygl","name":"Yangum Gel"},{"code":"ygm","name":"Yagomi"},{"code":"ygp","name":"Gepo"},{"code":"ygr","name":"Yagaria"},{"code":"ygs","name":"Yolล‹u Sign Language"},{"code":"ygu","name":"Yugul"},{"code":"ygw","name":"Yagwoia"},{"code":"yha","name":"Baha Buyang"},{"code":"yhd","name":"Judeo-Iraqi Arabic"},{"code":"yhl","name":"Hlepho Phowa"},{"code":"yhs","name":"Yan-nhaล‹u Sign Language"},{"code":"yia","name":"Yinggarda"},{"code":"yid","name":"Yiddish"},{"code":"yif","name":"Ache"},{"code":"yig","name":"Wusa Nasu"},{"code":"yih","name":"Western Yiddish"},{"code":"yii","name":"Yidiny"},{"code":"yij","name":"Yindjibarndi"},{"code":"yik","name":"Dongshanba Lalo"},{"code":"yil","name":"Yindjilandji"},{"code":"yim","name":"Yimchungru Naga"},{"code":"yin","name":"Riang Lai"},{"code":"yip","name":"Pholo"},{"code":"yiq","name":"Miqie"},{"code":"yir","name":"North Awyu"},{"code":"yis","name":"Yis"},{"code":"yit","name":"Eastern Lalu"},{"code":"yiu","name":"Awu"},{"code":"yiv","name":"Northern Nisu"},{"code":"yix","name":"Axi Yi"},{"code":"yiz","name":"Azhe"},{"code":"yka","name":"Yakan"},{"code":"ykg","name":"Northern Yukaghir"},{"code":"yki","name":"Yoke"},{"code":"ykk","name":"Yakaikeke"},{"code":"ykl","name":"Khlula"},{"code":"ykm","name":"Kap"},{"code":"ykn","name":"Kua-nsi"},{"code":"yko","name":"Yasa"},{"code":"ykr","name":"Yekora"},{"code":"ykt","name":"Kathu"},{"code":"yku","name":"Kuamasi"},{"code":"yky","name":"Yakoma"},{"code":"yla","name":"Yaul"},{"code":"ylb","name":"Yaleba"},{"code":"yle","name":"Yele"},{"code":"ylg","name":"Yelogu"},{"code":"yli","name":"Angguruk Yali"},{"code":"yll","name":"Yil"},{"code":"ylm","name":"Limi"},{"code":"yln","name":"Langnian Buyang"},{"code":"ylo","name":"Naluo Yi"},{"code":"ylr","name":"Yalarnnga"},{"code":"ylu","name":"Aribwaung"},{"code":"yly","name":"Nyรขlayu"},{"code":"ymb","name":"Yambes"},{"code":"ymc","name":"Southern Muji"},{"code":"ymd","name":"Muda"},{"code":"yme","name":"Yameo"},{"code":"ymg","name":"Yamongeri"},{"code":"ymh","name":"Mili"},{"code":"ymi","name":"Moji"},{"code":"ymk","name":"Makwe"},{"code":"yml","name":"Iamalele"},{"code":"ymm","name":"Maay"},{"code":"ymn","name":"Sunum"},{"code":"ymo","name":"Yangum Mon"},{"code":"ymp","name":"Yamap"},{"code":"ymq","name":"Qila Muji"},{"code":"ymr","name":"Malasar"},{"code":"yms","name":"Mysian"},{"code":"ymx","name":"Northern Muji"},{"code":"ymz","name":"Muzi"},{"code":"yna","name":"Aluo"},{"code":"ynd","name":"Yandruwandha"},{"code":"yne","name":"Lang'e"},{"code":"yng","name":"Yango"},{"code":"ynk","name":"Naukan Yupik"},{"code":"ynl","name":"Yangulam"},{"code":"ynn","name":"Yana"},{"code":"yno","name":"Yong"},{"code":"ynq","name":"Yendang"},{"code":"yns","name":"Yansi"},{"code":"ynu","name":"Yahuna"},{"code":"yob","name":"Yoba"},{"code":"yog","name":"Yogad"},{"code":"yoi","name":"Yonaguni"},{"code":"yok","name":"Yokuts"},{"code":"yol","name":"Yola"},{"code":"yom","name":"Yombe"},{"code":"yon","name":"Yongkom"},{"code":"yor","name":"Yoruba"},{"code":"yot","name":"Yotti"},{"code":"yox","name":"Yoron"},{"code":"yoy","name":"Yoy"},{"code":"ypa","name":"Phala"},{"code":"ypb","name":"Labo Phowa"},{"code":"ypg","name":"Phola"},{"code":"yph","name":"Phupha"},{"code":"ypm","name":"Phuma"},{"code":"ypn","name":"Ani Phowa"},{"code":"ypo","name":"Alo Phola"},{"code":"ypp","name":"Phupa"},{"code":"ypz","name":"Phuza"},{"code":"yra","name":"Yerakai"},{"code":"yrb","name":"Yareba"},{"code":"yre","name":"Yaourรฉ"},{"code":"yrk","name":"Nenets"},{"code":"yrl","name":"Nhengatu"},{"code":"yrm","name":"Yirrk-Mel"},{"code":"yrn","name":"Yerong"},{"code":"yro","name":"Yaroamรซ"},{"code":"yrs","name":"Yarsun"},{"code":"yrw","name":"Yarawata"},{"code":"yry","name":"Yarluyandi"},{"code":"ysc","name":"Yassic"},{"code":"ysd","name":"Samatao"},{"code":"ysg","name":"Sonaga"},{"code":"ysl","name":"Yugoslavian Sign Language"},{"code":"ysm","name":"Myanmar Sign Language"},{"code":"ysn","name":"Sani"},{"code":"yso","name":"Nisi (China)"},{"code":"ysp","name":"Southern Lolopo"},{"code":"ysr","name":"Sirenik Yupik"},{"code":"yss","name":"Yessan-Mayo"},{"code":"ysy","name":"Sanie"},{"code":"yta","name":"Talu"},{"code":"ytl","name":"Tanglang"},{"code":"ytp","name":"Thopho"},{"code":"ytw","name":"Yout Wam"},{"code":"yty","name":"Yatay"},{"code":"yua","name":"Yucatec Maya"},{"code":"yub","name":"Yugambal"},{"code":"yuc","name":"Yuchi"},{"code":"yud","name":"Judeo-Tripolitanian Arabic"},{"code":"yue","name":"Yue Chinese"},{"code":"yuf","name":"Havasupai-Walapai-Yavapai"},{"code":"yug","name":"Yug"},{"code":"yui","name":"Yurutรญ"},{"code":"yuj","name":"Karkar-Yuri"},{"code":"yuk","name":"Yuki"},{"code":"yul","name":"Yulu"},{"code":"yum","name":"Quechan"},{"code":"yun","name":"Bena (Nigeria)"},{"code":"yup","name":"Yukpa"},{"code":"yuq","name":"Yuqui"},{"code":"yur","name":"Yurok"},{"code":"yut","name":"Yopno"},{"code":"yuw","name":"Yau (Morobe Province)"},{"code":"yux","name":"Southern Yukaghir"},{"code":"yuy","name":"East Yugur"},{"code":"yuz","name":"Yuracare"},{"code":"yva","name":"Yawa"},{"code":"yvt","name":"Yavitero"},{"code":"ywa","name":"Kalou"},{"code":"ywg","name":"Yinhawangka"},{"code":"ywl","name":"Western Lalu"},{"code":"ywn","name":"Yawanawa"},{"code":"ywq","name":"Wuding-Luquan Yi"},{"code":"ywr","name":"Yawuru"},{"code":"ywt","name":"Central Lalo"},{"code":"ywu","name":"Wumeng Nasu"},{"code":"yww","name":"Yawarawarga"},{"code":"yxa","name":"Mayawali"},{"code":"yxg","name":"Yagara"},{"code":"yxl","name":"Yardliyawarra"},{"code":"yxm","name":"Yinwum"},{"code":"yxu","name":"Yuyu"},{"code":"yxy","name":"Yabula Yabula"},{"code":"yyr","name":"Yir Yoront"},{"code":"yyu","name":"Yau (Sandaun Province)"},{"code":"yyz","name":"Ayizi"},{"code":"yzg","name":"E'ma Buyang"},{"code":"yzk","name":"Zokhuo"},{"code":"zaa","name":"Sierra de Juรกrez Zapotec"},{"code":"zab","name":"San Juan Guelavรญa Zapotec"},{"code":"zac","name":"Ocotlรกn Zapotec"},{"code":"zad","name":"Cajonos Zapotec"},{"code":"zae","name":"Yareni Zapotec"},{"code":"zaf","name":"Ayoquesco Zapotec"},{"code":"zag","name":"Zaghawa"},{"code":"zah","name":"Zangwal"},{"code":"zai","name":"Isthmus Zapotec"},{"code":"zaj","name":"Zaramo"},{"code":"zak","name":"Zanaki"},{"code":"zal","name":"Zauzou"},{"code":"zam","name":"Miahuatlรกn Zapotec"},{"code":"zao","name":"Ozolotepec Zapotec"},{"code":"zap","name":"Zapotec"},{"code":"zaq","name":"Aloรกpam Zapotec"},{"code":"zar","name":"Rincรณn Zapotec"},{"code":"zas","name":"Santo Domingo Albarradas Zapotec"},{"code":"zat","name":"Tabaa Zapotec"},{"code":"zau","name":"Zangskari"},{"code":"zav","name":"Yatzachi Zapotec"},{"code":"zaw","name":"Mitla Zapotec"},{"code":"zax","name":"Xadani Zapotec"},{"code":"zay","name":"Zaysete"},{"code":"zaz","name":"Zari"},{"code":"zba","name":"Balaibalan"},{"code":"zbc","name":"Central Berawan"},{"code":"zbe","name":"East Berawan"},{"code":"zbl","name":"Bliss"},{"code":"zbt","name":"Batui"},{"code":"zbu","name":"Bu (Bauchi State)"},{"code":"zbw","name":"West Berawan"},{"code":"zca","name":"Coatecas Altas Zapotec"},{"code":"zch","name":"Central Hongshuihe Zhuang"},{"code":"zdj","name":"Ngazidja Comorian"},{"code":"zea","name":"Zeeuws"},{"code":"zeg","name":"Zenag"},{"code":"zeh","name":"Eastern Hongshuihe Zhuang"},{"code":"zen","name":"Zenaga"},{"code":"zga","name":"Kinga"},{"code":"zgb","name":"Guibei Zhuang"},{"code":"zgh","name":"Standard Moroccan Tamazight"},{"code":"zgm","name":"Minz Zhuang"},{"code":"zgn","name":"Guibian Zhuang"},{"code":"zgr","name":"Magori"},{"code":"zha","name":"Chuang"},{"code":"zhb","name":"Zhaba"},{"code":"zhd","name":"Dai Zhuang"},{"code":"zhi","name":"Zhire"},{"code":"zhn","name":"Nong Zhuang"},{"code":"zho","name":"Chinese"},{"code":"zhw","name":"Zhoa"},{"code":"zia","name":"Zia"},{"code":"zib","name":"Zimbabwe Sign Language"},{"code":"zik","name":"Zimakani"},{"code":"zil","name":"Zialo"},{"code":"zim","name":"Mesme"},{"code":"zin","name":"Zinza"},{"code":"ziw","name":"Zigula"},{"code":"ziz","name":"Zizilivakan"},{"code":"zka","name":"Kaimbulawa"},{"code":"zkb","name":"Koibal"},{"code":"zkd","name":"Kadu"},{"code":"zkg","name":"Koguryo"},{"code":"zkh","name":"Khorezmian"},{"code":"zkk","name":"Karankawa"},{"code":"zkn","name":"Kanan"},{"code":"zko","name":"Kott"},{"code":"zkp","name":"Sรฃo Paulo Kaingรกng"},{"code":"zkr","name":"Zakhring"},{"code":"zkt","name":"Kitan"},{"code":"zku","name":"Kaurna"},{"code":"zkv","name":"Krevinian"},{"code":"zkz","name":"Khazar"},{"code":"zla","name":"Zula"},{"code":"zlj","name":"Liujiang Zhuang"},{"code":"zlm","name":"Malay (individual language)"},{"code":"zln","name":"Lianshan Zhuang"},{"code":"zlq","name":"Liuqian Zhuang"},{"code":"zma","name":"Manda (Australia)"},{"code":"zmb","name":"Zimba"},{"code":"zmc","name":"Margany"},{"code":"zmd","name":"Maridan"},{"code":"zme","name":"Mangerr"},{"code":"zmf","name":"Mfinu"},{"code":"zmg","name":"Marti Ke"},{"code":"zmh","name":"Makolkol"},{"code":"zmi","name":"Negeri Sembilan Malay"},{"code":"zmj","name":"Maridjabin"},{"code":"zmk","name":"Mandandanyi"},{"code":"zml","name":"Matngala"},{"code":"zmm","name":"Marimanindji"},{"code":"zmn","name":"Mbangwe"},{"code":"zmo","name":"Molo"},{"code":"zmp","name":"Mpuono"},{"code":"zmq","name":"Mituku"},{"code":"zmr","name":"Maranunggu"},{"code":"zms","name":"Mbesa"},{"code":"zmt","name":"Maringarr"},{"code":"zmu","name":"Muruwari"},{"code":"zmv","name":"Mbariman-Gudhinma"},{"code":"zmw","name":"Mbo (Democratic Republic of Congo)"},{"code":"zmx","name":"Bomitaba"},{"code":"zmy","name":"Mariyedi"},{"code":"zmz","name":"Mbandja"},{"code":"zna","name":"Zan Gula"},{"code":"zne","name":"Zande (individual language)"},{"code":"zng","name":"Mang"},{"code":"znk","name":"Manangkari"},{"code":"zns","name":"Mangas"},{"code":"zoc","name":"Copainalรก Zoque"},{"code":"zoh","name":"Chimalapa Zoque"},{"code":"zom","name":"Zou"},{"code":"zoo","name":"Asunciรณn Mixtepec Zapotec"},{"code":"zoq","name":"Tabasco Zoque"},{"code":"zor","name":"Rayรณn Zoque"},{"code":"zos","name":"Francisco Leรณn Zoque"},{"code":"zpa","name":"Lachiguiri Zapotec"},{"code":"zpb","name":"Yautepec Zapotec"},{"code":"zpc","name":"Choapan Zapotec"},{"code":"zpd","name":"Southeastern Ixtlรกn Zapotec"},{"code":"zpe","name":"Petapa Zapotec"},{"code":"zpf","name":"San Pedro Quiatoni Zapotec"},{"code":"zpg","name":"Guevea De Humboldt Zapotec"},{"code":"zph","name":"Totomachapan Zapotec"},{"code":"zpi","name":"Santa Marรญa Quiegolani Zapotec"},{"code":"zpj","name":"Quiavicuzas Zapotec"},{"code":"zpk","name":"Tlacolulita Zapotec"},{"code":"zpl","name":"Lachixรญo Zapotec"},{"code":"zpm","name":"Mixtepec Zapotec"},{"code":"zpn","name":"Santa Inรฉs Yatzechi Zapotec"},{"code":"zpo","name":"Amatlรกn Zapotec"},{"code":"zpp","name":"El Alto Zapotec"},{"code":"zpq","name":"Zoogocho Zapotec"},{"code":"zpr","name":"Santiago Xanica Zapotec"},{"code":"zps","name":"Coatlรกn Zapotec"},{"code":"zpt","name":"San Vicente Coatlรกn Zapotec"},{"code":"zpu","name":"Yalรกlag Zapotec"},{"code":"zpv","name":"Chichicapan Zapotec"},{"code":"zpw","name":"Zaniza Zapotec"},{"code":"zpx","name":"San Baltazar Loxicha Zapotec"},{"code":"zpy","name":"Mazaltepec Zapotec"},{"code":"zpz","name":"Texmelucan Zapotec"},{"code":"zqe","name":"Qiubei Zhuang"},{"code":"zra","name":"Kara (Korea)"},{"code":"zrg","name":"Mirgan"},{"code":"zrn","name":"Zerenkel"},{"code":"zro","name":"Zรกparo"},{"code":"zrp","name":"Zarphatic"},{"code":"zrs","name":"Mairasi"},{"code":"zsa","name":"Sarasira"},{"code":"zsk","name":"Kaskean"},{"code":"zsl","name":"Zambian Sign Language"},{"code":"zsm","name":"Standard Malay"},{"code":"zsr","name":"Southern Rincon Zapotec"},{"code":"zsu","name":"Sukurum"},{"code":"zte","name":"Elotepec Zapotec"},{"code":"ztg","name":"Xanaguรญa Zapotec"},{"code":"ztl","name":"Lapaguรญa-Guivini Zapotec"},{"code":"ztm","name":"San Agustรญn Mixtepec Zapotec"},{"code":"ztn","name":"Santa Catarina Albarradas Zapotec"},{"code":"ztp","name":"Loxicha Zapotec"},{"code":"ztq","name":"Quioquitani-Quierรญ Zapotec"},{"code":"zts","name":"Tilquiapan Zapotec"},{"code":"ztt","name":"Tejalapan Zapotec"},{"code":"ztu","name":"Gรผilรก Zapotec"},{"code":"ztx","name":"Zaachila Zapotec"},{"code":"zty","name":"Yatee Zapotec"},{"code":"zua","name":"Zeem"},{"code":"zuh","name":"Tokano"},{"code":"zul","name":"Zulu"},{"code":"zum","name":"Kumzari"},{"code":"zun","name":"Zuni"},{"code":"zuy","name":"Zumaya"},{"code":"zwa","name":"Zay"},{"code":"zxx","name":"No linguistic content"},{"code":"zyb","name":"Yongbei Zhuang"},{"code":"zyg","name":"Yang Zhuang"},{"code":"zyj","name":"Youjiang Zhuang"},{"code":"zyn","name":"Yongnan Zhuang"},{"code":"zyp","name":"Zyphe Chin"},{"code":"zza","name":"Dimili"},{"code":"zzj","name":"Zuojiang Zhuang"}] \ No newline at end of file diff --git a/tests/__data__/input/data/timezones.json b/tests/__data__/input/data/timezones.json new file mode 100644 index 000000000..0206e7e5c --- /dev/null +++ b/tests/__data__/input/data/timezones.json @@ -0,0 +1 @@ +[{"id":"Africa/Abidjan","utc_offset":"+00:00","countries":["CI","BF","GH","GM","GN","IS","ML","MR","SH","SL","SN","TG"]},{"id":"Africa/Accra","utc_offset":"+00:00","countries":["GH"]},{"id":"Africa/Addis_Ababa","utc_offset":"+03:00","countries":["ET"]},{"id":"Africa/Algiers","utc_offset":"+01:00","countries":["DZ"]},{"id":"Africa/Asmara","utc_offset":"+03:00","countries":["ER"]},{"id":"Africa/Bamako","utc_offset":"+00:00","countries":["ML"]},{"id":"Africa/Bangui","utc_offset":"+01:00","countries":["CF"]},{"id":"Africa/Banjul","utc_offset":"+00:00","countries":["GM"]},{"id":"Africa/Bissau","utc_offset":"+00:00","countries":["GW"]},{"id":"Africa/Blantyre","utc_offset":"+02:00","countries":["MW"]},{"id":"Africa/Brazzaville","utc_offset":"+01:00","countries":["CG"]},{"id":"Africa/Bujumbura","utc_offset":"+02:00","countries":["BI"]},{"id":"Africa/Cairo","utc_offset":"+02:00","countries":["EG"]},{"id":"Africa/Casablanca","utc_offset":"+00:00","countries":["MA"]},{"id":"Africa/Ceuta","utc_offset":"+01:00","countries":["ES"]},{"id":"Africa/Conakry","utc_offset":"+00:00","countries":["GN"]},{"id":"Africa/Dakar","utc_offset":"+00:00","countries":["SN"]},{"id":"Africa/Dar_es_Salaam","utc_offset":"+03:00","countries":["TZ"]},{"id":"Africa/Djibouti","utc_offset":"+03:00","countries":["DJ"]},{"id":"Africa/Douala","utc_offset":"+01:00","countries":["CM"]},{"id":"Africa/El_Aaiun","utc_offset":"+00:00","countries":["EH"]},{"id":"Africa/Freetown","utc_offset":"+00:00","countries":["SL"]},{"id":"Africa/Gaborone","utc_offset":"+02:00","countries":["BW"]},{"id":"Africa/Harare","utc_offset":"+02:00","countries":["ZW"]},{"id":"Africa/Johannesburg","utc_offset":"+02:00","countries":["ZA","LS","SZ"]},{"id":"Africa/Juba","utc_offset":"+02:00","countries":["SS"]},{"id":"Africa/Kampala","utc_offset":"+03:00","countries":["UG"]},{"id":"Africa/Khartoum","utc_offset":"+02:00","countries":["SD"]},{"id":"Africa/Kigali","utc_offset":"+02:00","countries":["RW"]},{"id":"Africa/Kinshasa","utc_offset":"+01:00","countries":["CD"]},{"id":"Africa/Lagos","utc_offset":"+01:00","countries":["NG","AO","BJ","CD","CF","CG","CM","GA","GQ","NE"]},{"id":"Africa/Libreville","utc_offset":"+01:00","countries":["GA"]},{"id":"Africa/Lome","utc_offset":"+00:00","countries":["TG"]},{"id":"Africa/Luanda","utc_offset":"+01:00","countries":["AO"]},{"id":"Africa/Lubumbashi","utc_offset":"+02:00","countries":["CD"]},{"id":"Africa/Lusaka","utc_offset":"+02:00","countries":["ZM"]},{"id":"Africa/Malabo","utc_offset":"+01:00","countries":["GQ"]},{"id":"Africa/Maputo","utc_offset":"+02:00","countries":["MZ","BI","BW","CD","MW","RW","ZM","ZW"]},{"id":"Africa/Maseru","utc_offset":"+02:00","countries":["LS"]},{"id":"Africa/Mbabane","utc_offset":"+02:00","countries":["SZ"]},{"id":"Africa/Mogadishu","utc_offset":"+03:00","countries":["SO"]},{"id":"Africa/Monrovia","utc_offset":"+00:00","countries":["LR"]},{"id":"Africa/Nairobi","utc_offset":"+03:00","countries":["KE","DJ","ER","ET","KM","MG","SO","TZ","UG","YT"]},{"id":"Africa/Ndjamena","utc_offset":"+01:00","countries":["TD"]},{"id":"Africa/Niamey","utc_offset":"+01:00","countries":["NE"]},{"id":"Africa/Nouakchott","utc_offset":"+00:00","countries":["MR"]},{"id":"Africa/Ouagadougou","utc_offset":"+00:00","countries":["BF"]},{"id":"Africa/Porto-Novo","utc_offset":"+01:00","countries":["BJ"]},{"id":"Africa/Sao_Tome","utc_offset":"+00:00","countries":["ST"]},{"id":"Africa/Tripoli","utc_offset":"+02:00","countries":["LY"]},{"id":"Africa/Tunis","utc_offset":"+01:00","countries":["TN"]},{"id":"Africa/Windhoek","utc_offset":"+01:00","countries":["NA"]},{"id":"America/Adak","utc_offset":"-10:00","countries":["US"]},{"id":"America/Anchorage","utc_offset":"-09:00","countries":["US"]},{"id":"America/Anguilla","utc_offset":"-04:00","countries":["AI"]},{"id":"America/Antigua","utc_offset":"-04:00","countries":["AG"]},{"id":"America/Araguaina","utc_offset":"-03:00","countries":["BR"]},{"id":"America/Argentina/Buenos_Aires","utc_offset":"-03:00","countries":["AR"]},{"id":"America/Argentina/Catamarca","utc_offset":"-03:00","countries":["AR"]},{"id":"America/Argentina/Cordoba","utc_offset":"-03:00","countries":["AR"]},{"id":"America/Argentina/Jujuy","utc_offset":"-03:00","countries":["AR"]},{"id":"America/Argentina/La_Rioja","utc_offset":"-03:00","countries":["AR"]},{"id":"America/Argentina/Mendoza","utc_offset":"-03:00","countries":["AR"]},{"id":"America/Argentina/Rio_Gallegos","utc_offset":"-03:00","countries":["AR"]},{"id":"America/Argentina/Salta","utc_offset":"-03:00","countries":["AR"]},{"id":"America/Argentina/San_Juan","utc_offset":"-03:00","countries":["AR"]},{"id":"America/Argentina/San_Luis","utc_offset":"-03:00","countries":["AR"]},{"id":"America/Argentina/Tucuman","utc_offset":"-03:00","countries":["AR"]},{"id":"America/Argentina/Ushuaia","utc_offset":"-03:00","countries":["AR"]},{"id":"America/Aruba","utc_offset":"-04:00","countries":["AW"]},{"id":"America/Asuncion","utc_offset":"-04:00","countries":["PY"]},{"id":"America/Atikokan","utc_offset":"-05:00","countries":["CA"]},{"id":"America/Bahia","utc_offset":"-03:00","countries":["BR"]},{"id":"America/Bahia_Banderas","utc_offset":"-06:00","countries":["MX"]},{"id":"America/Barbados","utc_offset":"-04:00","countries":["BB"]},{"id":"America/Belem","utc_offset":"-03:00","countries":["BR"]},{"id":"America/Belize","utc_offset":"-06:00","countries":["BZ"]},{"id":"America/Blanc-Sablon","utc_offset":"-04:00","countries":["CA"]},{"id":"America/Boa_Vista","utc_offset":"-04:00","countries":["BR"]},{"id":"America/Bogota","utc_offset":"-05:00","countries":["CO"]},{"id":"America/Boise","utc_offset":"-07:00","countries":["US"]},{"id":"America/Cambridge_Bay","utc_offset":"-07:00","countries":["CA"]},{"id":"America/Campo_Grande","utc_offset":"-04:00","countries":["BR"]},{"id":"America/Cancun","utc_offset":"-05:00","countries":["MX"]},{"id":"America/Caracas","utc_offset":"-04:00","countries":["VE"]},{"id":"America/Cayenne","utc_offset":"-03:00","countries":["GF"]},{"id":"America/Cayman","utc_offset":"-05:00","countries":["KY"]},{"id":"America/Chicago","utc_offset":"-06:00","countries":["US"]},{"id":"America/Chihuahua","utc_offset":"-07:00","countries":["MX"]},{"id":"America/Costa_Rica","utc_offset":"-06:00","countries":["CR"]},{"id":"America/Creston","utc_offset":"-07:00","countries":["CA"]},{"id":"America/Cuiaba","utc_offset":"-04:00","countries":["BR"]},{"id":"America/Curacao","utc_offset":"-04:00","countries":["CW"]},{"id":"America/Danmarkshavn","utc_offset":"+00:00","countries":["GL"]},{"id":"America/Dawson","utc_offset":"-07:00","countries":["CA"]},{"id":"America/Dawson_Creek","utc_offset":"-07:00","countries":["CA"]},{"id":"America/Denver","utc_offset":"-07:00","countries":["US"]},{"id":"America/Detroit","utc_offset":"-05:00","countries":["US"]},{"id":"America/Dominica","utc_offset":"-04:00","countries":["DM"]},{"id":"America/Edmonton","utc_offset":"-07:00","countries":["CA"]},{"id":"America/Eirunepe","utc_offset":"-05:00","countries":["BR"]},{"id":"America/El_Salvador","utc_offset":"-06:00","countries":["SV"]},{"id":"America/Fort_Nelson","utc_offset":"-07:00","countries":["CA"]},{"id":"America/Fortaleza","utc_offset":"-03:00","countries":["BR"]},{"id":"America/Glace_Bay","utc_offset":"-04:00","countries":["CA"]},{"id":"America/Goose_Bay","utc_offset":"-04:00","countries":["CA"]},{"id":"America/Grand_Turk","utc_offset":"-05:00","countries":["TC"]},{"id":"America/Grenada","utc_offset":"-04:00","countries":["GD"]},{"id":"America/Guadeloupe","utc_offset":"-04:00","countries":["GP"]},{"id":"America/Guatemala","utc_offset":"-06:00","countries":["GT"]},{"id":"America/Guayaquil","utc_offset":"-05:00","countries":["EC"]},{"id":"America/Guyana","utc_offset":"-04:00","countries":["GY"]},{"id":"America/Halifax","utc_offset":"-04:00","countries":["CA"]},{"id":"America/Havana","utc_offset":"-05:00","countries":["CU"]},{"id":"America/Hermosillo","utc_offset":"-07:00","countries":["MX"]},{"id":"America/Indiana/Indianapolis","utc_offset":"-05:00","countries":["US"]},{"id":"America/Indiana/Knox","utc_offset":"-06:00","countries":["US"]},{"id":"America/Indiana/Marengo","utc_offset":"-05:00","countries":["US"]},{"id":"America/Indiana/Petersburg","utc_offset":"-05:00","countries":["US"]},{"id":"America/Indiana/Tell_City","utc_offset":"-06:00","countries":["US"]},{"id":"America/Indiana/Vevay","utc_offset":"-05:00","countries":["US"]},{"id":"America/Indiana/Vincennes","utc_offset":"-05:00","countries":["US"]},{"id":"America/Indiana/Winamac","utc_offset":"-05:00","countries":["US"]},{"id":"America/Inuvik","utc_offset":"-07:00","countries":["CA"]},{"id":"America/Iqaluit","utc_offset":"-05:00","countries":["CA"]},{"id":"America/Jamaica","utc_offset":"-05:00","countries":["JM"]},{"id":"America/Juneau","utc_offset":"-09:00","countries":["US"]},{"id":"America/Kentucky/Louisville","utc_offset":"-05:00","countries":["US"]},{"id":"America/Kentucky/Monticello","utc_offset":"-05:00","countries":["US"]},{"id":"America/Kralendijk","utc_offset":"-04:00","countries":["BQ"]},{"id":"America/La_Paz","utc_offset":"-04:00","countries":["BO"]},{"id":"America/Lima","utc_offset":"-05:00","countries":["PE"]},{"id":"America/Los_Angeles","utc_offset":"-08:00","countries":["US"]},{"id":"America/Lower_Princes","utc_offset":"-04:00","countries":["SX"]},{"id":"America/Maceio","utc_offset":"-03:00","countries":["BR"]},{"id":"America/Managua","utc_offset":"-06:00","countries":["NI"]},{"id":"America/Manaus","utc_offset":"-04:00","countries":["BR"]},{"id":"America/Marigot","utc_offset":"-04:00","countries":["MF"]},{"id":"America/Martinique","utc_offset":"-04:00","countries":["MQ"]},{"id":"America/Matamoros","utc_offset":"-06:00","countries":["MX"]},{"id":"America/Mazatlan","utc_offset":"-07:00","countries":["MX"]},{"id":"America/Menominee","utc_offset":"-06:00","countries":["US"]},{"id":"America/Merida","utc_offset":"-06:00","countries":["MX"]},{"id":"America/Metlakatla","utc_offset":"-09:00","countries":["US"]},{"id":"America/Mexico_City","utc_offset":"-06:00","countries":["MX"]},{"id":"America/Miquelon","utc_offset":"-03:00","countries":["PM"]},{"id":"America/Moncton","utc_offset":"-04:00","countries":["CA"]},{"id":"America/Monterrey","utc_offset":"-06:00","countries":["MX"]},{"id":"America/Montevideo","utc_offset":"-03:00","countries":["UY"]},{"id":"America/Montserrat","utc_offset":"-04:00","countries":["MS"]},{"id":"America/Nassau","utc_offset":"-05:00","countries":["BS"]},{"id":"America/New_York","utc_offset":"-05:00","countries":["US"]},{"id":"America/Nipigon","utc_offset":"-05:00","countries":["CA"]},{"id":"America/Nome","utc_offset":"-09:00","countries":["US"]},{"id":"America/Noronha","utc_offset":"-02:00","countries":["BR"]},{"id":"America/North_Dakota/Beulah","utc_offset":"-06:00","countries":["US"]},{"id":"America/North_Dakota/Center","utc_offset":"-06:00","countries":["US"]},{"id":"America/North_Dakota/New_Salem","utc_offset":"-06:00","countries":["US"]},{"id":"America/Nuuk","utc_offset":"-02:00","countries":["GL"]},{"id":"America/Ojinaga","utc_offset":"-07:00","countries":["MX"]},{"id":"America/Panama","utc_offset":"-05:00","countries":["PA","CA","KY"]},{"id":"America/Paramaribo","utc_offset":"-03:00","countries":["SR"]},{"id":"America/Phoenix","utc_offset":"-07:00","countries":["US","CA"]},{"id":"America/Port-au-Prince","utc_offset":"-05:00","countries":["HT"]},{"id":"America/Port_of_Spain","utc_offset":"-04:00","countries":["TT"]},{"id":"America/Porto_Velho","utc_offset":"-04:00","countries":["BR"]},{"id":"America/Puerto_Rico","utc_offset":"-04:00","countries":["PR","AG","CA","AI","AW","BL","BQ","CW","DM","GD","GP","KN","LC","MF","MS","SX","TT","VC","VG","VI"]},{"id":"America/Punta_Arenas","utc_offset":"-03:00","countries":["CL"]},{"id":"America/Rankin_Inlet","utc_offset":"-06:00","countries":["CA"]},{"id":"America/Recife","utc_offset":"-03:00","countries":["BR"]},{"id":"America/Regina","utc_offset":"-06:00","countries":["CA"]},{"id":"America/Resolute","utc_offset":"-06:00","countries":["CA"]},{"id":"America/Rio_Branco","utc_offset":"-05:00","countries":["BR"]},{"id":"America/Santarem","utc_offset":"-03:00","countries":["BR"]},{"id":"America/Santiago","utc_offset":"-04:00","countries":["CL"]},{"id":"America/Santo_Domingo","utc_offset":"-04:00","countries":["DO"]},{"id":"America/Sao_Paulo","utc_offset":"-03:00","countries":["BR"]},{"id":"America/Scoresbysund","utc_offset":"-01:00","countries":["GL"]},{"id":"America/Sitka","utc_offset":"-09:00","countries":["US"]},{"id":"America/St_Barthelemy","utc_offset":"-04:00","countries":["BL"]},{"id":"America/St_Johns","utc_offset":"-03:30","countries":["CA"]},{"id":"America/St_Kitts","utc_offset":"-04:00","countries":["KN"]},{"id":"America/St_Lucia","utc_offset":"-04:00","countries":["LC"]},{"id":"America/St_Thomas","utc_offset":"-04:00","countries":["VI"]},{"id":"America/St_Vincent","utc_offset":"-04:00","countries":["VC"]},{"id":"America/Swift_Current","utc_offset":"-06:00","countries":["CA"]},{"id":"America/Tegucigalpa","utc_offset":"-06:00","countries":["HN"]},{"id":"America/Thule","utc_offset":"-04:00","countries":["GL"]},{"id":"America/Thunder_Bay","utc_offset":"-05:00","countries":["CA"]},{"id":"America/Tijuana","utc_offset":"-08:00","countries":["MX"]},{"id":"America/Toronto","utc_offset":"-05:00","countries":["CA","BS"]},{"id":"America/Tortola","utc_offset":"-04:00","countries":["VG"]},{"id":"America/Vancouver","utc_offset":"-08:00","countries":["CA"]},{"id":"America/Whitehorse","utc_offset":"-07:00","countries":["CA"]},{"id":"America/Winnipeg","utc_offset":"-06:00","countries":["CA"]},{"id":"America/Yakutat","utc_offset":"-09:00","countries":["US"]},{"id":"Antarctica/Casey","utc_offset":"+08:00","countries":["AQ"]},{"id":"Antarctica/Davis","utc_offset":"+07:00","countries":["AQ"]},{"id":"Antarctica/DumontDUrville","utc_offset":"+10:00","countries":["AQ"]},{"id":"Antarctica/Macquarie","utc_offset":"+10:00","countries":["AU"]},{"id":"Antarctica/Mawson","utc_offset":"+05:00","countries":["AQ"]},{"id":"Antarctica/McMurdo","utc_offset":"+12:00","countries":["AQ"]},{"id":"Antarctica/Palmer","utc_offset":"-03:00","countries":["AQ"]},{"id":"Antarctica/Rothera","utc_offset":"-03:00","countries":["AQ"]},{"id":"Antarctica/Syowa","utc_offset":"+03:00","countries":["AQ"]},{"id":"Antarctica/Troll","utc_offset":"+00:00","countries":["AQ"]},{"id":"Antarctica/Vostok","utc_offset":"+06:00","countries":["AQ"]},{"id":"Arctic/Longyearbyen","utc_offset":"+01:00","countries":["SJ"]},{"id":"Asia/Aden","utc_offset":"+03:00","countries":["YE"]},{"id":"Asia/Almaty","utc_offset":"+05:00","countries":["KZ"]},{"id":"Asia/Amman","utc_offset":"+02:00","countries":["JO"]},{"id":"Asia/Anadyr","utc_offset":"+12:00","countries":["RU"]},{"id":"Asia/Aqtau","utc_offset":"+05:00","countries":["KZ"]},{"id":"Asia/Aqtobe","utc_offset":"+05:00","countries":["KZ"]},{"id":"Asia/Ashgabat","utc_offset":"+05:00","countries":["TM"]},{"id":"Asia/Atyrau","utc_offset":"+05:00","countries":["KZ"]},{"id":"Asia/Baghdad","utc_offset":"+03:00","countries":["IQ"]},{"id":"Asia/Bahrain","utc_offset":"+03:00","countries":["BH"]},{"id":"Asia/Baku","utc_offset":"+04:00","countries":["AZ"]},{"id":"Asia/Bangkok","utc_offset":"+07:00","countries":["TH","CX","KH","LA","VN"]},{"id":"Asia/Barnaul","utc_offset":"+07:00","countries":["RU"]},{"id":"Asia/Beirut","utc_offset":"+02:00","countries":["LB"]},{"id":"Asia/Bishkek","utc_offset":"+06:00","countries":["KG"]},{"id":"Asia/Brunei","utc_offset":"+08:00","countries":["BN"]},{"id":"Asia/Chita","utc_offset":"+09:00","countries":["RU"]},{"id":"Asia/Colombo","utc_offset":"+05:30","countries":["LK"]},{"id":"Asia/Damascus","utc_offset":"+02:00","countries":["SY"]},{"id":"Asia/Dhaka","utc_offset":"+06:00","countries":["BD"]},{"id":"Asia/Dili","utc_offset":"+09:00","countries":["TL"]},{"id":"Asia/Dubai","utc_offset":"+04:00","countries":["AE","OM","RE","SC","TF"]},{"id":"Asia/Dushanbe","utc_offset":"+05:00","countries":["TJ"]},{"id":"Asia/Famagusta","utc_offset":"+02:00","countries":["CY"]},{"id":"Asia/Gaza","utc_offset":"+02:00","countries":["PS"]},{"id":"Asia/Hebron","utc_offset":"+02:00","countries":["PS"]},{"id":"Asia/Ho_Chi_Minh","utc_offset":"+07:00","countries":["VN"]},{"id":"Asia/Hong_Kong","utc_offset":"+08:00","countries":["HK"]},{"id":"Asia/Hovd","utc_offset":"+07:00","countries":["MN"]},{"id":"Asia/Irkutsk","utc_offset":"+08:00","countries":["RU"]},{"id":"Asia/Jakarta","utc_offset":"+07:00","countries":["ID"]},{"id":"Asia/Jayapura","utc_offset":"+09:00","countries":["ID"]},{"id":"Asia/Jerusalem","utc_offset":"+02:00","countries":["IL"]},{"id":"Asia/Kabul","utc_offset":"+04:30","countries":["AF"]},{"id":"Asia/Kamchatka","utc_offset":"+12:00","countries":["RU"]},{"id":"Asia/Karachi","utc_offset":"+05:00","countries":["PK"]},{"id":"Asia/Kathmandu","utc_offset":"+05:45","countries":["NP"]},{"id":"Asia/Khandyga","utc_offset":"+09:00","countries":["RU"]},{"id":"Asia/Kolkata","utc_offset":"+05:30","countries":["IN"]},{"id":"Asia/Krasnoyarsk","utc_offset":"+07:00","countries":["RU"]},{"id":"Asia/Kuala_Lumpur","utc_offset":"+08:00","countries":["MY"]},{"id":"Asia/Kuching","utc_offset":"+08:00","countries":["MY","BN"]},{"id":"Asia/Kuwait","utc_offset":"+03:00","countries":["KW"]},{"id":"Asia/Macau","utc_offset":"+08:00","countries":["MO"]},{"id":"Asia/Magadan","utc_offset":"+11:00","countries":["RU"]},{"id":"Asia/Makassar","utc_offset":"+08:00","countries":["ID"]},{"id":"Asia/Manila","utc_offset":"+08:00","countries":["PH"]},{"id":"Asia/Muscat","utc_offset":"+04:00","countries":["OM"]},{"id":"Asia/Nicosia","utc_offset":"+02:00","countries":["CY"]},{"id":"Asia/Novokuznetsk","utc_offset":"+07:00","countries":["RU"]},{"id":"Asia/Novosibirsk","utc_offset":"+07:00","countries":["RU"]},{"id":"Asia/Omsk","utc_offset":"+06:00","countries":["RU"]},{"id":"Asia/Oral","utc_offset":"+05:00","countries":["KZ"]},{"id":"Asia/Phnom_Penh","utc_offset":"+07:00","countries":["KH"]},{"id":"Asia/Pontianak","utc_offset":"+07:00","countries":["ID"]},{"id":"Asia/Pyongyang","utc_offset":"+09:00","countries":["KP"]},{"id":"Asia/Qatar","utc_offset":"+03:00","countries":["QA","BH"]},{"id":"Asia/Qostanay","utc_offset":"+06:00","countries":["KZ"]},{"id":"Asia/Qyzylorda","utc_offset":"+05:00","countries":["KZ"]},{"id":"Asia/Riyadh","utc_offset":"+03:00","countries":["SA","AQ","KW","YE"]},{"id":"Asia/Sakhalin","utc_offset":"+11:00","countries":["RU"]},{"id":"Asia/Samarkand","utc_offset":"+05:00","countries":["UZ"]},{"id":"Asia/Seoul","utc_offset":"+09:00","countries":["KR"]},{"id":"Asia/Shanghai","utc_offset":"+08:00","countries":["CN"]},{"id":"Asia/Singapore","utc_offset":"+08:00","countries":["SG","MY"]},{"id":"Asia/Srednekolymsk","utc_offset":"+11:00","countries":["RU"]},{"id":"Asia/Taipei","utc_offset":"+08:00","countries":["TW"]},{"id":"Asia/Tashkent","utc_offset":"+05:00","countries":["UZ"]},{"id":"Asia/Tbilisi","utc_offset":"+04:00","countries":["GE"]},{"id":"Asia/Tehran","utc_offset":"+03:30","countries":["IR"]},{"id":"Asia/Thimphu","utc_offset":"+06:00","countries":["BT"]},{"id":"Asia/Tokyo","utc_offset":"+09:00","countries":["JP"]},{"id":"Asia/Tomsk","utc_offset":"+07:00","countries":["RU"]},{"id":"Asia/Ulaanbaatar","utc_offset":"+08:00","countries":["MN"]},{"id":"Asia/Urumqi","utc_offset":"+06:00","countries":["CN"]},{"id":"Asia/Ust-Nera","utc_offset":"+10:00","countries":["RU"]},{"id":"Asia/Vientiane","utc_offset":"+07:00","countries":["LA"]},{"id":"Asia/Vladivostok","utc_offset":"+10:00","countries":["RU"]},{"id":"Asia/Yakutsk","utc_offset":"+09:00","countries":["RU"]},{"id":"Asia/Yangon","utc_offset":"+06:30","countries":["MM","CC"]},{"id":"Asia/Yekaterinburg","utc_offset":"+05:00","countries":["RU"]},{"id":"Asia/Yerevan","utc_offset":"+04:00","countries":["AM"]},{"id":"Atlantic/Azores","utc_offset":"-01:00","countries":["PT"]},{"id":"Atlantic/Bermuda","utc_offset":"-04:00","countries":["BM"]},{"id":"Atlantic/Canary","utc_offset":"+00:00","countries":["ES"]},{"id":"Atlantic/Cape_Verde","utc_offset":"-01:00","countries":["CV"]},{"id":"Atlantic/Faroe","utc_offset":"+00:00","countries":["FO"]},{"id":"Atlantic/Madeira","utc_offset":"+00:00","countries":["PT"]},{"id":"Atlantic/Reykjavik","utc_offset":"+00:00","countries":["IS"]},{"id":"Atlantic/South_Georgia","utc_offset":"-02:00","countries":["GS"]},{"id":"Atlantic/St_Helena","utc_offset":"+00:00","countries":["SH"]},{"id":"Atlantic/Stanley","utc_offset":"-03:00","countries":["FK"]},{"id":"Australia/Adelaide","utc_offset":"+09:30","countries":["AU"]},{"id":"Australia/Brisbane","utc_offset":"+10:00","countries":["AU"]},{"id":"Australia/Broken_Hill","utc_offset":"+09:30","countries":["AU"]},{"id":"Australia/Darwin","utc_offset":"+09:30","countries":["AU"]},{"id":"Australia/Eucla","utc_offset":"+08:45","countries":["AU"]},{"id":"Australia/Hobart","utc_offset":"+10:00","countries":["AU"]},{"id":"Australia/Lindeman","utc_offset":"+10:00","countries":["AU"]},{"id":"Australia/Lord_Howe","utc_offset":"+10:30","countries":["AU"]},{"id":"Australia/Melbourne","utc_offset":"+10:00","countries":["AU"]},{"id":"Australia/Perth","utc_offset":"+08:00","countries":["AU"]},{"id":"Australia/Sydney","utc_offset":"+10:00","countries":["AU"]},{"id":"Europe/Amsterdam","utc_offset":"+01:00","countries":["NL"]},{"id":"Europe/Andorra","utc_offset":"+01:00","countries":["AD"]},{"id":"Europe/Astrakhan","utc_offset":"+04:00","countries":["RU"]},{"id":"Europe/Athens","utc_offset":"+02:00","countries":["GR"]},{"id":"Europe/Belgrade","utc_offset":"+01:00","countries":["RS","BA","HR","ME","MK","SI"]},{"id":"Europe/Berlin","utc_offset":"+01:00","countries":["DE","DK","NO","SE","SJ"]},{"id":"Europe/Bratislava","utc_offset":"+01:00","countries":["SK"]},{"id":"Europe/Brussels","utc_offset":"+01:00","countries":["BE","LU","NL"]},{"id":"Europe/Bucharest","utc_offset":"+02:00","countries":["RO"]},{"id":"Europe/Budapest","utc_offset":"+01:00","countries":["HU"]},{"id":"Europe/Chisinau","utc_offset":"+02:00","countries":["MD"]},{"id":"Europe/Copenhagen","utc_offset":"+01:00","countries":["DK"]},{"id":"Europe/Dublin","utc_offset":"+00:00","countries":["IE"]},{"id":"Europe/Gibraltar","utc_offset":"+01:00","countries":["GI"]},{"id":"Europe/Guernsey","utc_offset":"+00:00","countries":["GG"]},{"id":"Europe/Helsinki","utc_offset":"+02:00","countries":["FI","AX"]},{"id":"Europe/Isle_of_Man","utc_offset":"+00:00","countries":["IM"]},{"id":"Europe/Istanbul","utc_offset":"+03:00","countries":["TR"]},{"id":"Europe/Jersey","utc_offset":"+00:00","countries":["JE"]},{"id":"Europe/Kaliningrad","utc_offset":"+02:00","countries":["RU"]},{"id":"Europe/Kirov","utc_offset":"+03:00","countries":["RU"]},{"id":"Europe/Kyiv","utc_offset":"+02:00","countries":["UA"]},{"id":"Europe/Lisbon","utc_offset":"+00:00","countries":["PT"]},{"id":"Europe/Ljubljana","utc_offset":"+01:00","countries":["SI"]},{"id":"Europe/London","utc_offset":"+00:00","countries":["UK","GG","IM","JE"]},{"id":"Europe/Luxembourg","utc_offset":"+01:00","countries":["LU"]},{"id":"Europe/Madrid","utc_offset":"+01:00","countries":["ES"]},{"id":"Europe/Malta","utc_offset":"+01:00","countries":["MT"]},{"id":"Europe/Mariehamn","utc_offset":"+02:00","countries":["AX"]},{"id":"Europe/Minsk","utc_offset":"+03:00","countries":["BY"]},{"id":"Europe/Monaco","utc_offset":"+01:00","countries":["MC"]},{"id":"Europe/Moscow","utc_offset":"+03:00","countries":["RU"]},{"id":"Europe/Oslo","utc_offset":"+01:00","countries":["NO"]},{"id":"Europe/Paris","utc_offset":"+01:00","countries":["FR","MC"]},{"id":"Europe/Podgorica","utc_offset":"+01:00","countries":["ME"]},{"id":"Europe/Prague","utc_offset":"+01:00","countries":["CZ","SK"]},{"id":"Europe/Riga","utc_offset":"+02:00","countries":["LV"]},{"id":"Europe/Rome","utc_offset":"+01:00","countries":["IT","SM","VA"]},{"id":"Europe/Samara","utc_offset":"+04:00","countries":["RU"]},{"id":"Europe/San_Marino","utc_offset":"+01:00","countries":["SM"]},{"id":"Europe/Sarajevo","utc_offset":"+01:00","countries":["BA"]},{"id":"Europe/Saratov","utc_offset":"+04:00","countries":["RU"]},{"id":"Europe/Simferopol","utc_offset":"+03:00","countries":["RU","UA"]},{"id":"Europe/Skopje","utc_offset":"+01:00","countries":["MK"]},{"id":"Europe/Sofia","utc_offset":"+02:00","countries":["BG"]},{"id":"Europe/Stockholm","utc_offset":"+01:00","countries":["SE"]},{"id":"Europe/Tallinn","utc_offset":"+02:00","countries":["EE"]},{"id":"Europe/Tirane","utc_offset":"+01:00","countries":["AL"]},{"id":"Europe/Ulyanovsk","utc_offset":"+04:00","countries":["RU"]},{"id":"Europe/Vaduz","utc_offset":"+01:00","countries":["LI"]},{"id":"Europe/Vatican","utc_offset":"+01:00","countries":["VA"]},{"id":"Europe/Vienna","utc_offset":"+01:00","countries":["AT"]},{"id":"Europe/Vilnius","utc_offset":"+02:00","countries":["LT"]},{"id":"Europe/Volgograd","utc_offset":"+03:00","countries":["RU"]},{"id":"Europe/Warsaw","utc_offset":"+01:00","countries":["PL"]},{"id":"Europe/Zagreb","utc_offset":"+01:00","countries":["HR"]},{"id":"Europe/Zurich","utc_offset":"+01:00","countries":["CH","DE","LI"]},{"id":"Indian/Antananarivo","utc_offset":"+03:00","countries":["MG"]},{"id":"Indian/Chagos","utc_offset":"+06:00","countries":["IO"]},{"id":"Indian/Christmas","utc_offset":"+07:00","countries":["CX"]},{"id":"Indian/Cocos","utc_offset":"+06:30","countries":["CC"]},{"id":"Indian/Comoro","utc_offset":"+03:00","countries":["KM"]},{"id":"Indian/Kerguelen","utc_offset":"+05:00","countries":["TF"]},{"id":"Indian/Mahe","utc_offset":"+04:00","countries":["SC"]},{"id":"Indian/Maldives","utc_offset":"+05:00","countries":["MV","TF"]},{"id":"Indian/Mauritius","utc_offset":"+04:00","countries":["MU"]},{"id":"Indian/Mayotte","utc_offset":"+03:00","countries":["YT"]},{"id":"Indian/Reunion","utc_offset":"+04:00","countries":["RE"]},{"id":"Pacific/Apia","utc_offset":"+13:00","countries":["WS"]},{"id":"Pacific/Auckland","utc_offset":"+12:00","countries":["NZ","AQ"]},{"id":"Pacific/Bougainville","utc_offset":"+11:00","countries":["PG"]},{"id":"Pacific/Chatham","utc_offset":"+12:45","countries":["NZ"]},{"id":"Pacific/Chuuk","utc_offset":"+10:00","countries":["FM"]},{"id":"Pacific/Easter","utc_offset":"-06:00","countries":["CL"]},{"id":"Pacific/Efate","utc_offset":"+11:00","countries":["VU"]},{"id":"Pacific/Fakaofo","utc_offset":"+13:00","countries":["TK"]},{"id":"Pacific/Fiji","utc_offset":"+12:00","countries":["FJ"]},{"id":"Pacific/Funafuti","utc_offset":"+12:00","countries":["TV"]},{"id":"Pacific/Galapagos","utc_offset":"-06:00","countries":["EC"]},{"id":"Pacific/Gambier","utc_offset":"-09:00","countries":["PF"]},{"id":"Pacific/Guadalcanal","utc_offset":"+11:00","countries":["SB","FM"]},{"id":"Pacific/Guam","utc_offset":"+10:00","countries":["GU","MP"]},{"id":"Pacific/Honolulu","utc_offset":"-10:00","countries":["US"]},{"id":"Pacific/Kiritimati","utc_offset":"+14:00","countries":["KI"]},{"id":"Pacific/Kosrae","utc_offset":"+11:00","countries":["FM"]},{"id":"Pacific/Kwajalein","utc_offset":"+12:00","countries":["MH"]},{"id":"Pacific/Majuro","utc_offset":"+12:00","countries":["MH"]},{"id":"Pacific/Marquesas","utc_offset":"-09:30","countries":["PF"]},{"id":"Pacific/Midway","utc_offset":"-11:00","countries":["UM"]},{"id":"Pacific/Nauru","utc_offset":"+12:00","countries":["NR"]},{"id":"Pacific/Niue","utc_offset":"-11:00","countries":["NU"]},{"id":"Pacific/Norfolk","utc_offset":"+11:00","countries":["NF"]},{"id":"Pacific/Noumea","utc_offset":"+11:00","countries":["NC"]},{"id":"Pacific/Pago_Pago","utc_offset":"-11:00","countries":["AS","UM"]},{"id":"Pacific/Palau","utc_offset":"+09:00","countries":["PW"]},{"id":"Pacific/Pitcairn","utc_offset":"-08:00","countries":["PN"]},{"id":"Pacific/Pohnpei","utc_offset":"+11:00","countries":["FM"]},{"id":"Pacific/Port_Moresby","utc_offset":"+10:00","countries":["PG","AQ","FM"]},{"id":"Pacific/Rarotonga","utc_offset":"-10:00","countries":["CK"]},{"id":"Pacific/Saipan","utc_offset":"+10:00","countries":["MP"]},{"id":"Pacific/Tahiti","utc_offset":"-10:00","countries":["PF"]},{"id":"Pacific/Tarawa","utc_offset":"+12:00","countries":["KI","MH","TV","UM","WF"]},{"id":"Pacific/Tongatapu","utc_offset":"+13:00","countries":["TO"]},{"id":"Pacific/Wake","utc_offset":"+12:00","countries":["UM"]},{"id":"Pacific/Wallis","utc_offset":"+12:00","countries":["WF"]}] \ No newline at end of file diff --git a/tests/__data__/input/logs/generators.log b/tests/__data__/input/logs/generators.log deleted file mode 100644 index 4c599f099..000000000 --- a/tests/__data__/input/logs/generators.log +++ /dev/null @@ -1,73 +0,0 @@ -{"filepath":"categories/auto.m3u","count":0} -{"filepath":"categories/animation.m3u","count":0} -{"filepath":"categories/business.m3u","count":0} -{"filepath":"categories/classic.m3u","count":0} -{"filepath":"categories/comedy.m3u","count":0} -{"filepath":"categories/cooking.m3u","count":0} -{"filepath":"categories/culture.m3u","count":0} -{"filepath":"categories/documentary.m3u","count":0} -{"filepath":"categories/education.m3u","count":0} -{"filepath":"categories/entertainment.m3u","count":0} -{"filepath":"categories/family.m3u","count":0} -{"filepath":"categories/general.m3u","count":2} -{"filepath":"categories/kids.m3u","count":0} -{"filepath":"categories/legislative.m3u","count":0} -{"filepath":"categories/lifestyle.m3u","count":0} -{"filepath":"categories/movies.m3u","count":0} -{"filepath":"categories/music.m3u","count":0} -{"filepath":"categories/news.m3u","count":1} -{"filepath":"categories/outdoor.m3u","count":0} -{"filepath":"categories/relax.m3u","count":0} -{"filepath":"categories/religious.m3u","count":0} -{"filepath":"categories/series.m3u","count":0} -{"filepath":"categories/science.m3u","count":0} -{"filepath":"categories/shop.m3u","count":0} -{"filepath":"categories/sports.m3u","count":0} -{"filepath":"categories/travel.m3u","count":0} -{"filepath":"categories/weather.m3u","count":1} -{"filepath":"categories/xxx.m3u","count":1} -{"filepath":"categories/undefined.m3u","count":3} -{"filepath":"countries/cm.m3u","count":1} -{"filepath":"countries/ca.m3u","count":2} -{"filepath":"subdivisions/ca-on.m3u","count":1} -{"filepath":"countries/cv.m3u","count":1} -{"filepath":"countries/cg.m3u","count":1} -{"filepath":"countries/ro.m3u","count":1} -{"filepath":"countries/ru.m3u","count":2} -{"filepath":"countries/rw.m3u","count":1} -{"filepath":"countries/re.m3u","count":1} -{"filepath":"countries/bl.m3u","count":1} -{"filepath":"countries/sh.m3u","count":1} -{"filepath":"countries/kn.m3u","count":1} -{"filepath":"countries/int.m3u","count":1} -{"filepath":"languages/cat.m3u","count":1} -{"filepath":"languages/eng.m3u","count":1} -{"filepath":"languages/fra.m3u","count":1} -{"filepath":"languages/rus.m3u","count":1} -{"filepath":"languages/undefined.m3u","count":2} -{"filepath":"regions/afr.m3u","count":0} -{"filepath":"regions/amer.m3u","count":1} -{"filepath":"regions/apac.m3u","count":1} -{"filepath":"regions/arab.m3u","count":0} -{"filepath":"regions/asean.m3u","count":0} -{"filepath":"regions/asia.m3u","count":2} -{"filepath":"regions/carib.m3u","count":0} -{"filepath":"regions/cas.m3u","count":0} -{"filepath":"regions/cenamer.m3u","count":0} -{"filepath":"regions/cis.m3u","count":1} -{"filepath":"regions/emea.m3u","count":3} -{"filepath":"regions/eur.m3u","count":3} -{"filepath":"regions/hispam.m3u","count":0} -{"filepath":"regions/lac.m3u","count":0} -{"filepath":"regions/latam.m3u","count":0} -{"filepath":"regions/maghreb.m3u","count":0} -{"filepath":"regions/mena.m3u","count":0} -{"filepath":"regions/mideast.m3u","count":0} -{"filepath":"regions/nam.m3u","count":1} -{"filepath":"regions/noram.m3u","count":1} -{"filepath":"regions/nord.m3u","count":0} -{"filepath":"regions/oce.m3u","count":0} -{"filepath":"regions/sas.m3u","count":1} -{"filepath":"regions/southam.m3u","count":0} -{"filepath":"regions/ssa.m3u","count":0} -{"filepath":"regions/wafr.m3u","count":0} \ No newline at end of file diff --git a/tests/__data__/input/streams_format/in.m3u b/tests/__data__/input/playlist_format/in.m3u similarity index 100% rename from tests/__data__/input/streams_format/in.m3u rename to tests/__data__/input/playlist_format/in.m3u diff --git a/tests/__data__/input/streams_format/nl.m3u b/tests/__data__/input/playlist_format/nl.m3u similarity index 76% rename from tests/__data__/input/streams_format/nl.m3u rename to tests/__data__/input/playlist_format/nl.m3u index ddf912cf0..5fdeaea52 100644 --- a/tests/__data__/input/streams_format/nl.m3u +++ b/tests/__data__/input/playlist_format/nl.m3u @@ -3,9 +3,11 @@ #EXTVLCOPT:http-referrer=http://imn.iq #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://stream.tvtap.net:8081/live/nl-npo2.stream/playlist.m3u8? +#EXTINF:-1 tvg-id="NPO2.nl",NPO 2 [Geo-blocked] +http://resolver.streaming.api.nos.nl/livestream?url=/live/npo/tvlive/npo2/npo22.isml/.m3u8 #EXTINF:-1 tvg-id="NPO2.nl",NPO 2 (342p) http://resolver.streaming.api.nos.nl/livestream?url=/live/npo/tvlive/npo2/npo2.isml/.m3u8 -#EXTINF:-1 tvg-id="NPO1.nl",NPO 1 (342p) [Geo-blocked] +#EXTINF:-1 tvg-id="NPO1.nl@SD",NPO 1 (342p) [Geo-blocked] http://resolver.streaming.api.nos.nl/livestream?url=/live/npo/tvlive/npo1/npo1.isml/.m3u8 #EXTINF:-1 tvg-id="",NPO 2 (Duplicate) http://resolver.streaming.api.nos.nl/livestream?url=/live/npo/tvlive/npo2/npo2.isml/.m3u8 diff --git a/tests/__data__/input/playlist_generate/ad.m3u b/tests/__data__/input/playlist_generate/ad.m3u new file mode 100644 index 000000000..9a1c9e175 --- /dev/null +++ b/tests/__data__/input/playlist_generate/ad.m3u @@ -0,0 +1,9 @@ +#EXTM3U +#EXTINF:-1 tvg-id="Zoo.ad@HD",Zoo (720p) +https://iptv-all.lanesh4d0w.repl.co/andorra/zoo +#EXTINF:-1 tvg-id="AndorraTV.ad@SD",ATV +https://iptv-all.lanesh4d0w.repl.co/andorra/atv +#EXTINF:-1 tvg-id="AndorraTV.ad@HD",ATV HD +https://iptv-all.lanesh4d0w.repl.co/andorra/atv_hd +#EXTINF:-1 tvg-id="AndorraTV.ad",ATV +https://iptv-all.lanesh4d0w.repl.co/andorra/atv2 diff --git a/tests/__data__/input/playlist_generate/ca.m3u b/tests/__data__/input/playlist_generate/ca.m3u new file mode 100644 index 000000000..9c198b682 --- /dev/null +++ b/tests/__data__/input/playlist_generate/ca.m3u @@ -0,0 +1,3 @@ +#EXTM3U +#EXTINF:-1 tvg-id="MeteoMedia.ca",Meteomedia +http://encodercdn1.frontline.ca/encoder181/output/Meteo_Media_720p/playlist.m3u8 diff --git a/tests/__data__/input/playlist_generate/in.m3u b/tests/__data__/input/playlist_generate/in.m3u new file mode 100644 index 000000000..62594eb4b --- /dev/null +++ b/tests/__data__/input/playlist_generate/in.m3u @@ -0,0 +1,3 @@ +#EXTM3U +#EXTINF:-1 tvg-id="",Daawah TV +http://51.15.246.58:8081/daawahtv/daawahtv2/playlist.m3u8 diff --git a/tests/__data__/input/playlist_generate/kg.m3u b/tests/__data__/input/playlist_generate/kg.m3u new file mode 100644 index 000000000..9c1d5a575 --- /dev/null +++ b/tests/__data__/input/playlist_generate/kg.m3u @@ -0,0 +1,3 @@ +#EXTM3U +#EXTINF:-1 tvg-id="ElTR.kg",ะญะปะขะ  (480p) [Not 24/7] +http://gohoski.fvds.ru:3000/mediabay/162/index.m3u8 diff --git a/tests/__data__/input/playlist_generate/uk.m3u b/tests/__data__/input/playlist_generate/uk.m3u new file mode 100644 index 000000000..5e8c7318e --- /dev/null +++ b/tests/__data__/input/playlist_generate/uk.m3u @@ -0,0 +1,3 @@ +#EXTM3U +#EXTINF:-1 tvg-id="BBCNews.uk",BBC News HD +http://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index.m3u8 diff --git a/tests/__data__/input/playlist_generate/unsorted.m3u b/tests/__data__/input/playlist_generate/unsorted.m3u new file mode 100644 index 000000000..b2b798b15 --- /dev/null +++ b/tests/__data__/input/playlist_generate/unsorted.m3u @@ -0,0 +1,11 @@ +#EXTM3U +#EXTINF:-1 tvg-id="LDPRTV.ru",ะ›ะ”ะŸะ  ะขะ’ (1080p) +http://46.46.143.222:1935/live/mp4:ldpr.stream/blocked.m3u8 +#EXTINF:-1 tvg-id="VisitXTV.nl",Visit-X TV +https://stream.visit-x.tv/vxtv/ngrp:live_all/30fps.m3u8 +#EXTINF:-1 tvg-id="" user-agent="Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148",Andorra TV (720p) [Not 24/7] +#EXTVLCOPT:http-referrer=http://imn.iq +#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://1111296894.rsc.cdn77.org/LS-ATL-54548-6/index2.m3u8 +#EXTINF:-1 tvg-id="DunaWorld.hu",Duna World (576i) +http://146.59.85.40:89/dunaworld/index.m3u8 diff --git a/tests/__data__/input/streams_test/ag.m3u b/tests/__data__/input/playlist_test/ag.m3u similarity index 86% rename from tests/__data__/input/streams_test/ag.m3u rename to tests/__data__/input/playlist_test/ag.m3u index c2342183a..66b32b21d 100644 --- a/tests/__data__/input/streams_test/ag.m3u +++ b/tests/__data__/input/playlist_test/ag.m3u @@ -1,5 +1,5 @@ #EXTM3U #EXTINF:-1 tvg-id="ABSTV.ag",ABS TV https://tego-cdn2a.sibercdn.com/Live_TV-ABSTV-10/tracks-v3a1/rewind-7200.m3u8?token=e5f61e7be8363eb781b4bdfe591bf917dd529c1a-SjY3NzRTbDZQNnFQVkZaNkZja2RxV3JKc1VBa05zQkdMNStJakRGV0VTTzNrOEVGVUlIQmxta1NLV0o3bzdVdQ-1736094545-1736008145 -#EXTINF:-1 tvg-id="ABSTV.ag",ABS TV (1080p) [Not 24/7] +#EXTINF:-1 tvg-id="ABSTV.ag@HD",ABS TV (1080p) [Not 24/7] https://query-streamlink.herokuapp.com/iptv-query?streaming-ip=https://www.twitch.tv/absliveantigua3 \ No newline at end of file diff --git a/tests/__data__/input/test_results/all.js b/tests/__data__/input/playlist_test/results.js similarity index 100% rename from tests/__data__/input/test_results/all.js rename to tests/__data__/input/playlist_test/results.js diff --git a/tests/__data__/input/streams_report/br.m3u b/tests/__data__/input/playlist_update/br.m3u similarity index 100% rename from tests/__data__/input/streams_report/br.m3u rename to tests/__data__/input/playlist_update/br.m3u diff --git a/tests/__data__/input/streams_update/cy.m3u b/tests/__data__/input/playlist_update/cy.m3u similarity index 62% rename from tests/__data__/input/streams_update/cy.m3u rename to tests/__data__/input/playlist_update/cy.m3u index 581d0961b..439794ad7 100644 --- a/tests/__data__/input/streams_update/cy.m3u +++ b/tests/__data__/input/playlist_update/cy.m3u @@ -3,3 +3,5 @@ http://l6.cloudskep.com/rikcy/rikhd/playlist.m3u8 #EXTINF:-1 tvg-id="",RIK 2 http://l6.cloudskep.com/rikcy/rik2/playlist.m3u8 +#EXTINF:-1 tvg-id="AdaTV.cy",AdaTV +https://ythls.onrender.com/channel/UC40TUSUx490U5uR1lZt3Ajg.m3u8 diff --git a/tests/__data__/input/issues/all.js b/tests/__data__/input/playlist_update/issues.js similarity index 87% rename from tests/__data__/input/issues/all.js rename to tests/__data__/input/playlist_update/issues.js index ff62b063f..d12eeb7d8 100644 --- a/tests/__data__/input/issues/all.js +++ b/tests/__data__/input/playlist_update/issues.js @@ -292,7 +292,7 @@ module.exports = [ closed_at: null, author_association: 'COLLABORATOR', active_lock_reason: null, - body: '### Channel ID\n\nManoramaNews.in\n\n### Stream URL\n\nhttps://ythls.onrender.com/channel/UCP0uG-mcMImgKnJz-VjJZmQ.m3u8\n\n### Label\n\nNot 24/7\n\n### Notes (optional)\n\nSource: https://github.com/iptv-org/iptv/issues/14007#issuecomment-1686942043\n\n### Contributing Guide\n\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md)', + body: '### Stream ID\n\nManoramaNews.in\n\n### Stream URL\n\nhttps://ythls.onrender.com/channel/UCP0uG-mcMImgKnJz-VjJZmQ.m3u8\n\n### Label\n\nNot 24/7\n\n### Notes (optional)\n\nSource: https://github.com/iptv-org/iptv/issues/14007#issuecomment-1686942043\n\n### Contributing Guide\n\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md)', reactions: { url: 'https://api.github.com/repos/iptv-org/iptv/issues/14179/reactions', total_count: 0, @@ -371,7 +371,7 @@ module.exports = [ closed_at: null, author_association: 'COLLABORATOR', active_lock_reason: null, - body: '### Channel ID\n\nTV3.my\n\n### Stream URL\n\nhttps://live-streams-ssai-01.tonton.com.my/live/2dd2b7cd-1b34-4871-b669-57b5c9beca23/live.isml/.m3u8\n\n### Label\n\nNone\n\n### Notes (optional)\n\nSource: https://github.com/iptv-org/iptv/issues/14063#issuecomment-1695783106\n\n### Contributing Guide\n\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md)', + body: '### Stream ID\n\nTV3.my\n\n### Stream URL\n\nhttps://live-streams-ssai-01.tonton.com.my/live/2dd2b7cd-1b34-4871-b669-57b5c9beca23/live.isml/.m3u8\n\n### Label\n\nNone\n\n### Notes (optional)\n\nSource: https://github.com/iptv-org/iptv/issues/14063#issuecomment-1695783106\n\n### Contributing Guide\n\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md)', reactions: { url: 'https://api.github.com/repos/iptv-org/iptv/issues/14178/reactions', total_count: 0, @@ -450,7 +450,7 @@ module.exports = [ closed_at: null, author_association: 'COLLABORATOR', active_lock_reason: null, - body: '### Channel ID\n\nTUTV.us\n\n### Stream URL\n\nhttps://livestream.telvue.com/templeuni1/f7b44cfafd5c52223d5498196c8a2e7b.sdp/playlist.m3u8\n\n### Label\n\nNone\n\n### Notes (optional)\n\nSource: https://github.com/iptv-org/iptv/issues/14096#issue-1874505679\n\n### Contributing Guide\n\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md)', + body: '### Stream ID\n\nTUTV.us\n\n### Stream URL\n\nhttps://livestream.telvue.com/templeuni1/f7b44cfafd5c52223d5498196c8a2e7b.sdp/playlist.m3u8\n\n### Label\n\nNone\n\n### Notes (optional)\n\nSource: https://github.com/iptv-org/iptv/issues/14096#issue-1874505679\n\n### Contributing Guide\n\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md)', reactions: { url: 'https://api.github.com/repos/iptv-org/iptv/issues/14177/reactions', total_count: 0, @@ -538,7 +538,7 @@ module.exports = [ closed_at: null, author_association: 'COLLABORATOR', active_lock_reason: null, - body: '### Channel ID\n\nTFX.fr\n\n### Stream URL\n\nhttp://livetv.ktv.zone/13/play.m3u8\n\n### Label\n\nNone\n\n### HTTP User Agent\n\nMozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1\n\n### HTTP Referrer\n\nhttps://pkpakiplay.xyz/\n\n### Notes (optional)\n\nSource: https://github.com/iptv-org/iptv-org.github.io/issues/1381\n\n### Contributing Guide\n\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md)', + body: '### Stream ID\n\nTFX.fr\n\n### Stream URL\n\nhttps://stitcher-ipv4.pluto.tv/v1/stitch/embed/hls/channel/64c109a4798def0008a6e03e/master.m3u8?advertisingId={PSID}&appVersion=unknown&deviceDNT={TARGETOPT}&deviceId={PSID}&deviceLat=0&deviceLon=0&deviceMake=samsung&deviceModel=samsung&deviceType=samsung-tvplus&deviceVersion=unknown&embedPartner=samsung-tvplus&profileFloor=&profileLimit=&samsung_app_domain={APP_DOMAIN}&samsung_app_name={APP_NAME}&us_privacy=1YNY\n\n### Label\n\nNone\n\n### HTTP User Agent\n\nMozilla/5.0 (iPhone; CPU iPhone OS 17_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.0 Mobile/15E148 Safari/604.1\n\n### HTTP Referrer\n\nhttps://pkpakiplay.xyz/\n\n### Notes (optional)\n\nSource: https://github.com/iptv-org/iptv-org.github.io/issues/1381\n\n### Contributing Guide\n\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md)', reactions: { url: 'https://api.github.com/repos/iptv-org/iptv/issues/14175/reactions', total_count: 0, @@ -626,7 +626,7 @@ module.exports = [ closed_at: null, author_association: 'COLLABORATOR', active_lock_reason: null, - body: '### Channel ID\n\nManoramaNews.in\n\n### Stream URL\n\n(https://mitelefe.com/Api/Videos/GetSourceUrl/694564/0/HLS / https://ssl.cloud.telefe.com/Api/Videos/GetSourceUrl/694564/0/HLS)\n\n### Label\n\nNot 24/7\n\n### Notes (optional)\n\nSource: https://github.com/iptv-org/iptv/issues/14007#issuecomment-1686942043\n\n### Contributing Guide\n\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md)', + body: '### Stream ID\n\nManoramaNews.in\n\n### Stream URL\n\n(https://mitelefe.com/Api/Videos/GetSourceUrl/694564/0/HLS / https://ssl.cloud.telefe.com/Api/Videos/GetSourceUrl/694564/0/HLS)\n\n### Label\n\nNot 24/7\n\n### Notes (optional)\n\nSource: https://github.com/iptv-org/iptv/issues/14007#issuecomment-1686942043\n\n### Contributing Guide\n\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md)', reactions: { url: 'https://api.github.com/repos/iptv-org/iptv/issues/14179/reactions', total_count: 0, @@ -643,94 +643,6 @@ module.exports = [ performed_via_github_app: null, state_reason: null }, - { - url: 'https://api.github.com/repos/iptv-org/iptv/issues/14175', - repository_url: 'https://api.github.com/repos/iptv-org/iptv', - labels_url: 'https://api.github.com/repos/iptv-org/iptv/issues/14175/labels{/name}', - comments_url: 'https://api.github.com/repos/iptv-org/iptv/issues/14175/comments', - events_url: 'https://api.github.com/repos/iptv-org/iptv/issues/14175/events', - html_url: 'https://github.com/iptv-org/iptv/issues/14175', - id: 1884859778, - node_id: 'I_kwDOCWUK8M5wWK2C', - number: 14175, - title: 'Add: TFX', - user: { - login: 'freearhey', - id: 7253922, - node_id: 'MDQ6VXNlcjcyNTM5MjI=', - avatar_url: 'https://avatars.githubusercontent.com/u/7253922?v=4', - gravatar_id: '', - url: 'https://api.github.com/users/freearhey', - html_url: 'https://github.com/freearhey', - followers_url: 'https://api.github.com/users/freearhey/followers', - following_url: 'https://api.github.com/users/freearhey/following{/other_user}', - gists_url: 'https://api.github.com/users/freearhey/gists{/gist_id}', - starred_url: 'https://api.github.com/users/freearhey/starred{/owner}{/repo}', - subscriptions_url: 'https://api.github.com/users/freearhey/subscriptions', - organizations_url: 'https://api.github.com/users/freearhey/orgs', - repos_url: 'https://api.github.com/users/freearhey/repos', - events_url: 'https://api.github.com/users/freearhey/events{/privacy}', - received_events_url: 'https://api.github.com/users/freearhey/received_events', - type: 'User', - site_admin: false - }, - labels: [ - { - id: 1694117286, - node_id: 'MDU6TGFiZWwxNjk0MTE3Mjg2', - url: 'https://api.github.com/repos/iptv-org/iptv/labels/FR', - name: 'FR', - color: 'f7ec1b', - default: false, - description: 'France' - }, - { - id: 5923498886, - node_id: 'LA_kwDOCWUK8M8AAAABYRFrhg', - url: 'https://api.github.com/repos/iptv-org/iptv/labels/approved', - name: 'approved', - color: '85ddde', - default: false, - description: '' - }, - { - id: 5923508587, - node_id: 'LA_kwDOCWUK8M8AAAABYRGRaw', - url: 'https://api.github.com/repos/iptv-org/iptv/labels/streams:add', - name: 'streams:add', - color: '017ff9', - default: false, - description: 'Request to add a new link to a playlist' - } - ], - state: 'open', - locked: false, - assignee: null, - assignees: [], - milestone: null, - comments: 1, - created_at: '2023-09-06T22:54:25Z', - updated_at: '2023-09-07T00:57:11Z', - closed_at: null, - author_association: 'COLLABORATOR', - active_lock_reason: null, - body: '### Channel ID\n\nTFX.fr\n\n### Stream URL\n\nhttp://livetv.ktv.zone/13/play.m3u8\n\n### Label\n\nNone\n\n### Notes (optional)\n\nSource: https://github.com/iptv-org/iptv-org.github.io/issues/1381\n\n### Contributing Guide\n\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md)', - reactions: { - url: 'https://api.github.com/repos/iptv-org/iptv/issues/14175/reactions', - total_count: 0, - '+1': 0, - '-1': 0, - laugh: 0, - hooray: 0, - confused: 0, - heart: 0, - rocket: 0, - eyes: 0 - }, - timeline_url: 'https://api.github.com/repos/iptv-org/iptv/issues/14175/timeline', - performed_via_github_app: null, - state_reason: null - }, { url: 'https://api.github.com/repos/iptv-org/iptv/issues/14135', repository_url: 'https://api.github.com/repos/iptv-org/iptv', @@ -802,7 +714,7 @@ module.exports = [ closed_at: null, author_association: 'NONE', active_lock_reason: null, - body: '### Channel ID\n\nBBCWorldNewsSouthAsia.uk\n\n### Stream URL (optional)\n\nhttp://103.199.161.254/Content/bbcworld/Live/Channel%28BBCworld%29/Stream%2801%29/index.m3u8\n\n### Notes (optional)\n\n2 links for BBCWorldNewsSouthAsia.uk\r\nhttp://103.199.161.254/Content/bbcworld/Live/Channel%28BBCworld%29/Stream%2801%29/index.m3u8\r\nhttp://103.199.161.254/Content/bbcworld/Live/Channel%28BBCworld%29/Stream%2802%29/index.m3u8\n\n### Please confirm the following\n\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md#request-a-channel)', + body: '### Stream ID\n\nBBCWorldNews.uk@SouthAsia\n\n### Stream URL (optional)\n\nhttp://103.199.161.254/Content/bbcworld/Live/Channel%28BBCworld%29/Stream%2801%29/index.m3u8\n\n### Notes (optional)\n\n2 links for BBCWorldNewsSouthAsia.uk\r\nhttp://103.199.161.254/Content/bbcworld/Live/Channel%28BBCworld%29/Stream%2801%29/index.m3u8\r\nhttp://103.199.161.254/Content/bbcworld/Live/Channel%28BBCworld%29/Stream%2802%29/index.m3u8\n\n### Please confirm the following\n\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md#request-a-channel)', reactions: { url: 'https://api.github.com/repos/iptv-org/iptv/issues/14135/reactions', total_count: 0, @@ -890,7 +802,7 @@ module.exports = [ closed_at: null, author_association: 'CONTRIBUTOR', active_lock_reason: null, - body: '### Channel ID\n\nAmarinTV.th\n\n### Stream URL (optional)\n\nhttps://cdn6.goprimetime.info/feed/202306140918/chamarin/index.m3u8\n\n### Notes (optional)\n\n_No response_\n\n### Please confirm the following\n\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md#request-a-channel)', + body: '### Stream ID\n\nAmarinTV.th\n\n### Stream URL (optional)\n\nhttps://cdn6.goprimetime.info/feed/202306140918/chamarin/index.m3u8\n\n### Notes (optional)\n\n_No response_\n\n### Please confirm the following\n\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md#request-a-channel)', reactions: { url: 'https://api.github.com/repos/iptv-org/iptv/issues/14105/reactions', total_count: 0, @@ -978,7 +890,7 @@ module.exports = [ closed_at: null, author_association: 'CONTRIBUTOR', active_lock_reason: null, - body: '### Channel ID\n\nMCOTHD.th\n\n### Stream URL (optional)\n\nhttps://cdn6.goprimetime.info/feed/202306140918/chmcothd/index.m3u8\n\n### Notes (optional)\n\n_No response_\n\n### Please confirm the following\n\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md#request-a-channel)', + body: '### Stream ID\n\nMCOTHD.th\n\n### Stream URL (optional)\n\nhttps://cdn6.goprimetime.info/feed/202306140918/chmcothd/index.m3u8\n\n### Notes (optional)\n\n_No response_\n\n### Please confirm the following\n\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md#request-a-channel)', reactions: { url: 'https://api.github.com/repos/iptv-org/iptv/issues/14104/reactions', total_count: 0, @@ -1066,7 +978,7 @@ module.exports = [ closed_at: null, author_association: 'NONE', active_lock_reason: null, - body: '### Channel ID\r\n\r\nFastTV.us\r\n\r\n### Stream URL (optional)\r\n\r\nhttps://3fa797d5.wurl.com/manifest/f36d25e7e52f1ba8d7e56eb859c636563214f541/T05PX01vdG9yVHJlbmRGYXN0VFZfSExT/b5e5e0e2-12b3-4312-93c9-c0a7c50b41ca/4.m3u8\r\n\r\n### Notes (optional)\r\n\r\nA free stream from MotorTrend TV\r\n\r\n### Please confirm the following\r\n\r\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md#request-a-channel)', + body: '### Stream ID\r\n\r\nFastTV.us\r\n\r\n### Stream URL (optional)\r\n\r\nhttps://3fa797d5.wurl.com/manifest/f36d25e7e52f1ba8d7e56eb859c636563214f541/T05PX01vdG9yVHJlbmRGYXN0VFZfSExT/b5e5e0e2-12b3-4312-93c9-c0a7c50b41ca/4.m3u8\r\n\r\n### Notes (optional)\r\n\r\nA free stream from MotorTrend TV\r\n\r\n### Please confirm the following\r\n\r\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md#request-a-channel)', reactions: { url: 'https://api.github.com/repos/iptv-org/iptv/issues/14057/reactions', total_count: 0, @@ -1154,7 +1066,7 @@ module.exports = [ closed_at: null, author_association: 'NONE', active_lock_reason: null, - body: '### Channel ID\n\nMatch4.hu\n\n### Stream URL (optional)\n\nhttp://194.76.186.33:8000/play/a04d/index.m3u8\n\n### Notes (optional)\n\n_No response_\n\n### Please confirm the following\n\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md#request-a-channel)', + body: '### Stream ID\n\nMatch4.hu\n\n### Stream URL (optional)\n\nhttp://194.76.186.33:8000/play/a04d/index.m3u8\n\n### Notes (optional)\n\n_No response_\n\n### Please confirm the following\n\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md#request-a-channel)', reactions: { url: 'https://api.github.com/repos/iptv-org/iptv/issues/14034/reactions', total_count: 0, @@ -1251,7 +1163,7 @@ module.exports = [ closed_at: null, author_association: 'COLLABORATOR', active_lock_reason: null, - body: '### Channel ID\n\nMethTV.lk\n\n### Stream URL (optional)\n\nhttps://ythls.onrender.com/channel/UC7kBHRaynsJMB6JcooGLTmA.m3u8\n\n### Notes (optional)\n\n720p / Not 24/7\n\n### Please confirm the following\n\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md#request-a-channel)', + body: '### Stream ID\n\nMethTV.lk\n\n### Stream URL (optional)\n\nhttps://ythls.onrender.com/channel/UC7kBHRaynsJMB6JcooGLTmA.m3u8\n\n### Notes (optional)\n\n720p / Not 24/7\n\n### Please confirm the following\n\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md#request-a-channel)', reactions: { url: 'https://api.github.com/repos/iptv-org/iptv/issues/13964/reactions', total_count: 0, @@ -1339,7 +1251,7 @@ module.exports = [ closed_at: null, author_association: 'NONE', active_lock_reason: null, - body: "### Channel ID\n\nWeathernews.jp\n\n### Stream URL (optional)\n\nhttps://ythls.onrender.com/channel/UCNsidkYpIAQ4QaufptQBPHQ.m3u8\n\n### Notes (optional)\n\nLet's try them ๐Ÿ˜ผ\r\n\r\nI've just learned that they change streams for their TV broadcasts on YouTube every 3 hours, so even with additional streams they occasionally activate (such as now during Typhoon Lan), the YT API should manage to pick the correct feed in most cases ๐Ÿ˜œ\r\n\r\nOtherwise, an advantage over the two streams that already are in the database is that the YT broadcasts are in 1080p (vs 720p).\n\n### Please confirm the following\n\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md#request-a-channel)", + body: "### Stream ID\n\nWeathernews.jp\n\n### Stream URL (optional)\n\nhttps://ythls.onrender.com/channel/UCNsidkYpIAQ4QaufptQBPHQ.m3u8\n\n### Notes (optional)\n\nLet's try them ๐Ÿ˜ผ\r\n\r\nI've just learned that they change streams for their TV broadcasts on YouTube every 3 hours, so even with additional streams they occasionally activate (such as now during Typhoon Lan), the YT API should manage to pick the correct feed in most cases ๐Ÿ˜œ\r\n\r\nOtherwise, an advantage over the two streams that already are in the database is that the YT broadcasts are in 1080p (vs 720p).\n\n### Please confirm the following\n\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md#request-a-channel)", reactions: { url: 'https://api.github.com/repos/iptv-org/iptv/issues/13893/reactions', total_count: 0, @@ -1427,7 +1339,7 @@ module.exports = [ closed_at: null, author_association: 'NONE', active_lock_reason: null, - body: '### Channel ID\n\nAajTak.in\n\n### Stream URL (optional)\n\nhttps://feeds.intoday.in/aajtak/api/aajtakhd/master.m3u8\n\n### Notes (optional)\n\n_No response_\n\n### Please confirm the following\n\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md#request-a-channel)', + body: '### Stream ID\n\nAajTak.in\n\n### Stream URL (optional)\n\nhttps://feeds.intoday.in/aajtak/api/aajtakhd/master.m3u8\n\n### Notes (optional)\n\n_No response_\n\n### Please confirm the following\n\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md#request-a-channel)', reactions: { url: 'https://api.github.com/repos/iptv-org/iptv/issues/13881/reactions', total_count: 0, @@ -1515,7 +1427,7 @@ module.exports = [ closed_at: null, author_association: 'NONE', active_lock_reason: null, - body: '### Channel ID\r\n\r\nATX.jp\r\n\r\n### Stream URL (optional)\r\n\r\nhttp://194.233.72.249:8080/AT-X/index.m3u8\r\n\r\n### Notes (optional)\r\n\r\n![AT-X_20230705_202525 551](https://github.com/iptv-org/iptv/assets/21299971/794c1cd4-fbe4-4b35-8a16-45127953ff65)\r\nThis is test AT-X channel JP without subs\r\n720 Quality\r\n\r\n### Please confirm the following\r\n\r\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md#request-a-channel)', + body: '### Stream ID\r\n\r\nATX.jp\r\n\r\n### Stream URL (optional)\r\n\r\nhttp://194.233.72.249:8080/AT-X/index.m3u8\r\n\r\n### Notes (optional)\r\n\r\n![AT-X_20230705_202525 551](https://github.com/iptv-org/iptv/assets/21299971/794c1cd4-fbe4-4b35-8a16-45127953ff65)\r\nThis is test AT-X channel JP without subs\r\n720 Quality\r\n\r\n### Please confirm the following\r\n\r\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md#request-a-channel)', reactions: { url: 'https://api.github.com/repos/iptv-org/iptv/issues/13793/reactions', total_count: 0, @@ -1603,7 +1515,7 @@ module.exports = [ closed_at: null, author_association: 'NONE', active_lock_reason: null, - body: '### Channel ID\r\n\r\nBeanoTV.uk\r\n\r\n### Stream URL (optional)\r\n\r\nhttps://a5b4bacecd47433dad06d3189fc7422e.mediatailor.us-east-1.amazonaws.com/v1/manifest/04fd913bb278d8775298c26fdca9d9841f37601f/RakutenTV-eu_BeanoTV/b1f233d5-847c-437d-aa4f-f73e67a85323/2.m3u8\r\n\r\n### Notes (optional)\r\n\r\n_No response_\r\n\r\n### Please confirm the following\r\n\r\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md#request-a-channel)', + body: '### Stream ID\r\n\r\nBeanoTV.uk\r\n\r\n### Stream URL (optional)\r\n\r\nhttps://a5b4bacecd47433dad06d3189fc7422e.mediatailor.us-east-1.amazonaws.com/v1/manifest/04fd913bb278d8775298c26fdca9d9841f37601f/RakutenTV-eu_BeanoTV/b1f233d5-847c-437d-aa4f-f73e67a85323/2.m3u8\r\n\r\n### Notes (optional)\r\n\r\n_No response_\r\n\r\n### Please confirm the following\r\n\r\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md#request-a-channel)', reactions: { url: 'https://api.github.com/repos/iptv-org/iptv/issues/13751/reactions', total_count: 0, @@ -1691,7 +1603,7 @@ module.exports = [ closed_at: null, author_association: 'NONE', active_lock_reason: null, - body: '### Channel ID\n\nATVPlus.pe\n\n### Stream URL (optional)\n\nhttps://linear-258.frequency.stream/dist/vix/258/hls/master/playlist.m3u8\n\n### Notes (optional)\n\n(Linear Version & Streaming on VIX.com a spanish televisa-univision site) Might be geo-blocked or geo-locked because by removing /dist/vix/ the m3u8 link stops working #13703 \n\n### Please confirm the following\n\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md#request-a-channel)', + body: '### Stream ID\n\nATVPlus.pe\n\n### Stream URL (optional)\n\nhttps://linear-258.frequency.stream/dist/vix/258/hls/master/playlist.m3u8\n\n### Notes (optional)\n\n(Linear Version & Streaming on VIX.com a spanish televisa-univision site) Might be geo-blocked or geo-locked because by removing /dist/vix/ the m3u8 link stops working #13703 \n\n### Please confirm the following\n\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md#request-a-channel)', reactions: { url: 'https://api.github.com/repos/iptv-org/iptv/issues/13715/reactions', total_count: 0, @@ -1770,7 +1682,7 @@ module.exports = [ closed_at: null, author_association: 'COLLABORATOR', active_lock_reason: null, - body: '### Stream URL\n\nhttps://livestream.telvue.com/templeuni1/f7b44cfafd5c52223d5498196c8a2e7b.sdp/playlist.m3u8\n\n### Channel ID\n\nboo.us\n\n### Channel Name\n\nBBC America\n\n### Quality\n\n720p\n\n### Label\n\nGeo-blocked\n\n### HTTP User-Agent\n\nMozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36 Edge/12.246\n\n### HTTP Referrer\n\n_No response_\n\n### Notes\n\n_No response_\n\n### Contributing Guide\n\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md)', + body: '### Stream URL\n\nhttps://livestream.telvue.com/templeuni1/f7b44cfafd5c52223d5498196c8a2e7b.sdp/playlist.m3u8\n\n### Stream ID\n\nboo.us\n\n### Channel Name\n\nBBC America\n\n### Quality\n\n720p\n\n### Label\n\nGeo-blocked\n\n### HTTP User-Agent\n\nMozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36 Edge/12.246\n\n### HTTP Referrer\n\n_No response_\n\n### Notes\n\n_No response_\n\n### Contributing Guide\n\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md)', reactions: { url: 'https://api.github.com/repos/iptv-org/iptv/issues/14120/reactions', total_count: 0, @@ -1849,7 +1761,7 @@ module.exports = [ closed_at: null, author_association: 'COLLABORATOR', active_lock_reason: null, - body: '### Stream URL\n\nhttps://servilive.com:3126/live/tele2000live.m3u8\n\n### Channel ID\n\nBBCAmericaEast.us\n\n### Channel Name\n\nBBC America\n\n### Quality\n\n720p\n\n### Label\n\n~\n\n### Timeshift\n\n-4\n\n### HTTP User-Agent\n\nMozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36 Edge/12.246\n\n### HTTP Referrer\n\n~\n\n### Notes\n\n_No response_\n\n### Contributing Guide\n\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md)', + body: '### Stream URL\n\nhttps://servilive.com:3126/live/tele2000live.m3u8\n\n### Stream ID (required)\n\nBBCAmerica.us@East\n\n### Quality\n\n720p\n\n### Label\n\n~\n\n### HTTP User-Agent\n\nMozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36 Edge/12.246\n\n### HTTP Referrer\n\n~\n\n### Notes\n\n_No response_\n\n### Contributing Guide\n\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md)', reactions: { url: 'https://api.github.com/repos/iptv-org/iptv/issues/14110/reactions', total_count: 0, @@ -1928,7 +1840,7 @@ module.exports = [ closed_at: null, author_association: 'COLLABORATOR', active_lock_reason: null, - body: '### Stream URL\n\nhttps://ythls.onrender.com/channel/UC40TUSUx490U5uR1lZt3Ajg.m3u8\n\n### Channel ID\n\n_No response_\n\n### Quality\n\nNone\n\n### Label\n\nNone\n\n### HTTP User-Agent\n\n_No response_\n\n### HTTP Referrer\n\n_No response_\n\n### Notes\n\n_No response_\n\n### Contributing Guide\n\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md)', + body: '### Stream URL\n\nhttps://ythls.onrender.com/channel/UC40TUSUx490U5uR1lZt3Ajg.m3u8\n\n### Stream ID\n\n_No response_\n\n### Quality\n\nNone\n\n### Label\n\nNone\n\n### HTTP User-Agent\n\n_No response_\n\n### HTTP Referrer\n\n_No response_\n\n### Notes\n\n_No response_\n\n### Contributing Guide\n\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md)', reactions: { url: 'https://api.github.com/repos/iptv-org/iptv/issues/14120/reactions', total_count: 0, @@ -2034,15 +1946,15 @@ module.exports = [ state_reason: null }, { - url: 'https://api.github.com/repos/iptv-org/iptv/issues/14140', + url: 'https://api.github.com/repos/iptv-org/iptv/issues/14150', repository_url: 'https://api.github.com/repos/iptv-org/iptv', - labels_url: 'https://api.github.com/repos/iptv-org/iptv/issues/14140/labels{/name}', - comments_url: 'https://api.github.com/repos/iptv-org/iptv/issues/14140/comments', - events_url: 'https://api.github.com/repos/iptv-org/iptv/issues/14140/events', + labels_url: 'https://api.github.com/repos/iptv-org/iptv/issues/14150/labels{/name}', + comments_url: 'https://api.github.com/repos/iptv-org/iptv/issues/14150/comments', + events_url: 'https://api.github.com/repos/iptv-org/iptv/issues/14150/events', html_url: 'https://github.com/iptv-org/iptv/issues/14140', - id: 1881649602, + id: 1881649613, node_id: 'I_kwDOCWUK8M5wJ7HC', - number: 14140, + number: 14150, title: 'Broken: Cyprus Channels', user: { login: 'ROBGagn', @@ -2100,15 +2012,6 @@ module.exports = [ color: '5373a2', default: false, description: '' - }, - { - id: 5932506810, - node_id: 'LA_kwDOCWUK8M8AAAABYZreug', - url: 'https://api.github.com/repos/iptv-org/iptv/labels/streams:remove', - name: 'streams:add', - color: '5373a2', - default: false, - description: '' } ], state: 'open', @@ -2124,7 +2027,7 @@ module.exports = [ active_lock_reason: null, body: '### Broken Links\n\nhttp://l6.cloudskep.com/rikcy/rikhd/playlist.m3u8\r\n\r\nhttp://l6.cloudskep.com/rikcy/rik2/playlist.m3u8\n\n### What happened to the stream?\n\nNot loading\n\n### Possible Replacement (optional)\n\nhttp://l6.cloudskep.com/rikcy/rikhd/playlist2.m3u8\n\n### Notes (optional)\n\nToken needed...\r\nSame issue with RIK 1 and 2. May happen in the future with ANT1 Cyprus, Sigma and Omega.\n\n### Contributing Guide\n\n- [X] I have read [Contributing Guide](https://github.com/iptv-org/iptv/blob/master/CONTRIBUTING.md)', reactions: { - url: 'https://api.github.com/repos/iptv-org/iptv/issues/14140/reactions', + url: 'https://api.github.com/repos/iptv-org/iptv/issues/14150/reactions', total_count: 0, '+1': 0, '-1': 0, @@ -2135,7 +2038,7 @@ module.exports = [ rocket: 0, eyes: 0 }, - timeline_url: 'https://api.github.com/repos/iptv-org/iptv/issues/14140/timeline', + timeline_url: 'https://api.github.com/repos/iptv-org/iptv/issues/14150/timeline', performed_via_github_app: null, state_reason: null }, diff --git a/tests/__data__/input/streams_report/uk.m3u b/tests/__data__/input/playlist_update/uk.m3u similarity index 100% rename from tests/__data__/input/streams_report/uk.m3u rename to tests/__data__/input/playlist_update/uk.m3u diff --git a/tests/__data__/input/streams_validate/us_blocked.m3u b/tests/__data__/input/playlist_validate/us_blocked.m3u similarity index 75% rename from tests/__data__/input/streams_validate/us_blocked.m3u rename to tests/__data__/input/playlist_validate/us_blocked.m3u index 98413b103..2ffa2273b 100644 --- a/tests/__data__/input/streams_validate/us_blocked.m3u +++ b/tests/__data__/input/playlist_validate/us_blocked.m3u @@ -1,5 +1,5 @@ #EXTM3U -#EXTINF:-1 tvg-id="FoxSports2Asia.us",Fox Sports 2 Asia (Thai) (720p) +#EXTINF:-1 tvg-id="FoxSports2.us@Asia",Fox Sports 2 Asia (Thai) (720p) https://example.com/playlist.m3u8 #EXTINF:-1 tvg-id="TVN.pl",TVN https://example.com/playlist2.m3u8 diff --git a/tests/__data__/input/streams_validate/wrong_id.m3u b/tests/__data__/input/playlist_validate/wrong_id.m3u similarity index 100% rename from tests/__data__/input/streams_validate/wrong_id.m3u rename to tests/__data__/input/playlist_validate/wrong_id.m3u diff --git a/tests/__data__/input/.readme/config.json b/tests/__data__/input/readme_update/.readme/config.json similarity index 100% rename from tests/__data__/input/.readme/config.json rename to tests/__data__/input/readme_update/.readme/config.json diff --git a/tests/__data__/input/.readme/template.md b/tests/__data__/input/readme_update/.readme/template.md similarity index 100% rename from tests/__data__/input/.readme/template.md rename to tests/__data__/input/readme_update/.readme/template.md diff --git a/tests/__data__/input/readme_update/generators.log b/tests/__data__/input/readme_update/generators.log new file mode 100644 index 000000000..63cfea058 --- /dev/null +++ b/tests/__data__/input/readme_update/generators.log @@ -0,0 +1,75 @@ +{"type":"category","filepath":"categories/auto.m3u","count":0} +{"type":"category","filepath":"categories/animation.m3u","count":0} +{"type":"category","filepath":"categories/business.m3u","count":0} +{"type":"category","filepath":"categories/classic.m3u","count":0} +{"type":"category","filepath":"categories/comedy.m3u","count":0} +{"type":"category","filepath":"categories/cooking.m3u","count":0} +{"type":"category","filepath":"categories/culture.m3u","count":0} +{"type":"category","filepath":"categories/documentary.m3u","count":0} +{"type":"category","filepath":"categories/education.m3u","count":0} +{"type":"category","filepath":"categories/entertainment.m3u","count":0} +{"type":"category","filepath":"categories/family.m3u","count":0} +{"type":"category","filepath":"categories/general.m3u","count":2} +{"type":"category","filepath":"categories/kids.m3u","count":0} +{"type":"category","filepath":"categories/legislative.m3u","count":0} +{"type":"category","filepath":"categories/lifestyle.m3u","count":0} +{"type":"category","filepath":"categories/movies.m3u","count":0} +{"type":"category","filepath":"categories/music.m3u","count":0} +{"type":"category","filepath":"categories/news.m3u","count":1} +{"type":"category","filepath":"categories/outdoor.m3u","count":0} +{"type":"category","filepath":"categories/relax.m3u","count":0} +{"type":"category","filepath":"categories/religious.m3u","count":0} +{"type":"category","filepath":"categories/series.m3u","count":0} +{"type":"category","filepath":"categories/science.m3u","count":0} +{"type":"category","filepath":"categories/shop.m3u","count":0} +{"type":"category","filepath":"categories/sports.m3u","count":0} +{"type":"category","filepath":"categories/travel.m3u","count":0} +{"type":"category","filepath":"categories/weather.m3u","count":1} +{"type":"category","filepath":"categories/xxx.m3u","count":1} +{"type":"category","filepath":"categories/undefined.m3u","count":3} +{"type":"country","filepath":"countries/cm.m3u","count":1} +{"type":"country","filepath":"countries/ca.m3u","count":2} +{"type":"country","filepath":"countries/cv.m3u","count":1} +{"type":"country","filepath":"countries/cg.m3u","count":1} +{"type":"country","filepath":"countries/ro.m3u","count":1} +{"type":"subdivision","filepath":"subdivisions/ca-on.m3u","count":1} +{"type":"country","filepath":"countries/ru.m3u","count":2} +{"type":"country","filepath":"countries/rw.m3u","count":1} +{"type":"country","filepath":"countries/re.m3u","count":1} +{"type":"country","filepath":"countries/undefined.m3u","count":2} +{"type":"country","filepath":"countries/bl.m3u","count":1} +{"type":"country","filepath":"countries/sh.m3u","count":1} +{"type":"country","filepath":"countries/kn.m3u","count":1} +{"type":"language","filepath":"languages/cat.m3u","count":1} +{"type":"language","filepath":"languages/eng.m3u","count":1} +{"type":"language","filepath":"languages/fra.m3u","count":1} +{"type":"language","filepath":"languages/rus.m3u","count":1} +{"type":"language","filepath":"languages/undefined.m3u","count":2} +{"type":"region","filepath":"regions/afr.m3u","count":0} +{"type":"region","filepath":"regions/amer.m3u","count":1} +{"type":"region","filepath":"regions/apac.m3u","count":1} +{"type":"region","filepath":"regions/arab.m3u","count":0} +{"type":"region","filepath":"regions/asean.m3u","count":0} +{"type":"region","filepath":"regions/asia.m3u","count":2} +{"type":"region","filepath":"regions/carib.m3u","count":0} +{"type":"region","filepath":"regions/cas.m3u","count":0} +{"type":"region","filepath":"regions/cenamer.m3u","count":0} +{"type":"region","filepath":"regions/cis.m3u","count":1} +{"type":"region","filepath":"regions/emea.m3u","count":3} +{"type":"region","filepath":"regions/eur.m3u","count":3} +{"type":"region","filepath":"regions/hispam.m3u","count":0} +{"type":"region","filepath":"regions/lac.m3u","count":0} +{"type":"region","filepath":"regions/latam.m3u","count":0} +{"type":"region","filepath":"regions/maghreb.m3u","count":0} +{"type":"region","filepath":"regions/mena.m3u","count":0} +{"type":"region","filepath":"regions/mideast.m3u","count":0} +{"type":"region","filepath":"regions/nam.m3u","count":1} +{"type":"region","filepath":"regions/noram.m3u","count":1} +{"type":"region","filepath":"regions/nord.m3u","count":0} +{"type":"region","filepath":"regions/oce.m3u","count":0} +{"type":"region","filepath":"regions/undefined.m3u","count":2} +{"type":"region","filepath":"regions/sas.m3u","count":1} +{"type":"region","filepath":"regions/int.m3u","count":1} +{"type":"region","filepath":"regions/southam.m3u","count":0} +{"type":"region","filepath":"regions/ssa.m3u","count":0} +{"type":"region","filepath":"regions/wafr.m3u","count":0} \ No newline at end of file diff --git a/tests/__data__/input/streams_update/br.m3u b/tests/__data__/input/report_create/br.m3u similarity index 100% rename from tests/__data__/input/streams_update/br.m3u rename to tests/__data__/input/report_create/br.m3u diff --git a/tests/__data__/input/streams_report/cy.m3u b/tests/__data__/input/report_create/cy.m3u similarity index 100% rename from tests/__data__/input/streams_report/cy.m3u rename to tests/__data__/input/report_create/cy.m3u diff --git a/tests/__data__/input/streams_update/uk.m3u b/tests/__data__/input/report_create/uk.m3u similarity index 100% rename from tests/__data__/input/streams_update/uk.m3u rename to tests/__data__/input/report_create/uk.m3u diff --git a/tests/__data__/input/streams_report/us.m3u b/tests/__data__/input/report_create/us.m3u similarity index 100% rename from tests/__data__/input/streams_report/us.m3u rename to tests/__data__/input/report_create/us.m3u diff --git a/tests/commands/api/generate.test.ts b/tests/commands/api/generate.test.ts index 86e34ce08..7f8f68aa9 100644 --- a/tests/commands/api/generate.test.ts +++ b/tests/commands/api/generate.test.ts @@ -3,15 +3,17 @@ import fs from 'fs-extra' beforeEach(() => { fs.emptyDirSync('tests/__data__/output') - - execSync( - 'STREAMS_DIR=tests/__data__/input/streams_generate API_DIR=tests/__data__/output/.api npm run api:generate', - { encoding: 'utf8' } - ) }) it('can create streams.json', () => { - expect(content('output/.api/streams.json')).toMatchObject(content('expected/.api/streams.json')) + execSync( + 'DATA_DIR=tests/__data__/input/data STREAMS_DIR=tests/__data__/input/api_generate API_DIR=tests/__data__/output/.api npm run api:generate', + { encoding: 'utf8' } + ) + + expect(content('output/.api/streams.json')).toMatchObject( + content('expected/api_generate/.api/streams.json') + ) }) function content(filepath: string) { diff --git a/tests/commands/playlist/format.test.ts b/tests/commands/playlist/format.test.ts index 6a9fbafc5..d513c8b38 100644 --- a/tests/commands/playlist/format.test.ts +++ b/tests/commands/playlist/format.test.ts @@ -4,7 +4,7 @@ import { glob } from 'glob' beforeEach(() => { fs.emptyDirSync('tests/__data__/output') - fs.copySync('tests/__data__/input/streams_format', 'tests/__data__/output/streams') + fs.copySync('tests/__data__/input/playlist_format', 'tests/__data__/output/streams') }) it('can format playlists', () => { @@ -13,12 +13,12 @@ it('can format playlists', () => { }) const files = glob - .sync('tests/__data__/expected/streams_format/*.m3u') - .map(f => f.replace('tests/__data__/expected/streams_format/', '')) + .sync('tests/__data__/expected/playlist_format/*.m3u') + .map(f => f.replace('tests/__data__/expected/playlist_format/', '')) files.forEach(filepath => { expect(content(`output/streams/${filepath}`), filepath).toBe( - content(`expected/streams_format/${filepath}`) + content(`expected/playlist_format/${filepath}`) ) }) }) diff --git a/tests/commands/playlist/generate.test.ts b/tests/commands/playlist/generate.test.ts index 8cdbfeee8..54c4e61e0 100644 --- a/tests/commands/playlist/generate.test.ts +++ b/tests/commands/playlist/generate.test.ts @@ -4,24 +4,26 @@ import * as glob from 'glob' beforeEach(() => { fs.emptyDirSync('tests/__data__/output') - - execSync( - 'STREAMS_DIR=tests/__data__/input/streams_generate DATA_DIR=tests/__data__/input/data PUBLIC_DIR=tests/__data__/output/.gh-pages LOGS_DIR=tests/__data__/output/logs npm run playlist:generate', - { encoding: 'utf8' } - ) }) it('can generate playlists and logs', () => { + execSync( + 'STREAMS_DIR=tests/__data__/input/playlist_generate DATA_DIR=tests/__data__/input/data PUBLIC_DIR=tests/__data__/output/.gh-pages LOGS_DIR=tests/__data__/output/logs npm run playlist:generate', + { encoding: 'utf8' } + ) + const playlists = glob - .sync('tests/__data__/expected/.gh-pages/**/*.m3u') - .map((file: string) => file.replace('tests/__data__/expected/', '')) + .sync('tests/__data__/expected/playlist_generate/.gh-pages/**/*.m3u') + .map((file: string) => file.replace('tests/__data__/expected/playlist_generate/', '')) playlists.forEach((filepath: string) => { - expect(content(`output/${filepath}`), filepath).toBe(content(`expected/${filepath}`)) + expect(content(`output/${filepath}`), filepath).toBe( + content(`expected/playlist_generate/${filepath}`) + ) }) expect(content('output/logs/generators.log').split('\n').sort()).toStrictEqual( - content('expected/logs/generators.log').split('\n').sort() + content('expected/playlist_generate/logs/generators.log').split('\n').sort() ) }) diff --git a/tests/commands/playlist/test.test.ts b/tests/commands/playlist/test.test.ts index feb10640e..0842f0f10 100644 --- a/tests/commands/playlist/test.test.ts +++ b/tests/commands/playlist/test.test.ts @@ -7,13 +7,13 @@ type ExecError = { it('shows an error if the playlist contains a broken link', () => { try { - execSync('ROOT_DIR=tests/__data__/input npm run playlist:test streams_test/ag.m3u', { + execSync('ROOT_DIR=tests/__data__/input npm run playlist:test playlist_test/ag.m3u', { encoding: 'utf8' }) process.exit(1) } catch (error) { expect((error as ExecError).status).toBe(1) - expect((error as ExecError).stdout).toContain('streams_test/ag.m3u') + expect((error as ExecError).stdout).toContain('playlist_test/ag.m3u') expect((error as ExecError).stdout).toContain('2 problems (1 errors, 1 warnings)') } }) diff --git a/tests/commands/playlist/update.test.ts b/tests/commands/playlist/update.test.ts index 79be4f44d..cc104d8cc 100644 --- a/tests/commands/playlist/update.test.ts +++ b/tests/commands/playlist/update.test.ts @@ -4,10 +4,10 @@ import { glob } from 'glob' beforeEach(() => { fs.emptyDirSync('tests/__data__/output') - fs.copySync('tests/__data__/input/streams_update', 'tests/__data__/output/streams') + fs.copySync('tests/__data__/input/playlist_update', 'tests/__data__/output/streams') }) -it('can format playlists', () => { +it('can update playlists', () => { const stdout = execSync( 'DATA_DIR=tests/__data__/input/data STREAMS_DIR=tests/__data__/output/streams npm run playlist:update --silent', { @@ -16,17 +16,17 @@ it('can format playlists', () => { ) const files = glob - .sync('tests/__data__/expected/streams_update/*.m3u') - .map(f => f.replace('tests/__data__/expected/streams_update/', '')) + .sync('tests/__data__/expected/playlist_update/*.m3u') + .map(f => f.replace('tests/__data__/expected/playlist_update/', '')) files.forEach(filepath => { expect(content(`output/streams/${filepath}`), filepath).toBe( - content(`expected/streams_update/${filepath}`) + content(`expected/playlist_update/${filepath}`) ) }) expect(stdout).toBe( - 'OUTPUT=closes #14151, closes #14140, closes #14110, closes #14120, closes #14175, closes #14105, closes #14104, closes #14057, closes #14034, closes #13964, closes #13893, closes #13881, closes #13793, closes #13751, closes #13715\n' + 'OUTPUT=closes #14151, closes #14150, closes #14110, closes #14120, closes #14175, closes #14105, closes #14104, closes #14057, closes #14034, closes #13964, closes #13893, closes #13881, closes #13793, closes #13751, closes #13715\n' ) }) diff --git a/tests/commands/playlist/validate.test.ts b/tests/commands/playlist/validate.test.ts index af1119f4d..38dd104ee 100644 --- a/tests/commands/playlist/validate.test.ts +++ b/tests/commands/playlist/validate.test.ts @@ -8,7 +8,7 @@ type ExecError = { it('show an error if channel id in the blocklist', () => { try { execSync( - 'DATA_DIR=tests/__data__/input/data STREAMS_DIR=tests/__data__/input/streams_validate npm run playlist:validate -- us_blocked.m3u', + 'DATA_DIR=tests/__data__/input/data STREAMS_DIR=tests/__data__/input/playlist_validate npm run playlist:validate -- us_blocked.m3u', { encoding: 'utf8' } @@ -17,7 +17,7 @@ it('show an error if channel id in the blocklist', () => { } catch (error) { expect((error as ExecError).status).toBe(1) expect((error as ExecError).stdout).toContain(`us_blocked.m3u - 2 error "FoxSports2Asia.us" is on the blocklist due to claims of copyright holders (https://github.com/iptv-org/iptv/issues/0002) + 2 error "FoxSports2.us" is on the blocklist due to claims of copyright holders (https://github.com/iptv-org/iptv/issues/0002) 4 error "TVN.pl" is on the blocklist due to NSFW content (https://github.com/iptv-org/iptv/issues/0003) 2 problems (2 errors, 0 warnings)`) @@ -26,7 +26,7 @@ it('show an error if channel id in the blocklist', () => { it('show a warning if channel has wrong id', () => { const stdout = execSync( - 'DATA_DIR=tests/__data__/input/data STREAMS_DIR=tests/__data__/input/streams_validate npm run playlist:validate -- wrong_id.m3u', + 'DATA_DIR=tests/__data__/input/data STREAMS_DIR=tests/__data__/input/playlist_validate npm run playlist:validate -- wrong_id.m3u', { encoding: 'utf8' } diff --git a/tests/commands/readme/update.test.ts b/tests/commands/readme/update.test.ts index 0ee6addf3..f15e71f48 100644 --- a/tests/commands/readme/update.test.ts +++ b/tests/commands/readme/update.test.ts @@ -6,23 +6,23 @@ beforeEach(() => { fs.emptyDirSync('tests/__data__/output') fs.mkdirSync('tests/__data__/output/.readme') fs.copyFileSync( - 'tests/__data__/input/.readme/config.json', + 'tests/__data__/input/readme_update/.readme/config.json', 'tests/__data__/output/.readme/config.json' ) fs.copyFileSync( - 'tests/__data__/input/.readme/template.md', + 'tests/__data__/input/readme_update/.readme/template.md', 'tests/__data__/output/.readme/template.md' ) execSync( - 'DATA_DIR=tests/__data__/input/data LOGS_DIR=tests/__data__/input/logs README_DIR=tests/__data__/output/.readme npm run readme:update', + 'DATA_DIR=tests/__data__/input/data LOGS_DIR=tests/__data__/input/readme_update README_DIR=tests/__data__/output/.readme npm run readme:update', { encoding: 'utf8' } ) }) it('can update readme.md', () => { expect(content('tests/__data__/output/readme.md')).toEqual( - content('tests/__data__/expected/_readme.md') + content('tests/__data__/expected/readme_update/_readme.md') ) }) diff --git a/tests/commands/report/create.test.ts b/tests/commands/report/create.test.ts index 219387cbb..de449347a 100644 --- a/tests/commands/report/create.test.ts +++ b/tests/commands/report/create.test.ts @@ -2,7 +2,7 @@ import { execSync } from 'child_process' it('can create report', () => { const stdout = execSync( - 'DATA_DIR=tests/__data__/input/data STREAMS_DIR=tests/__data__/input/streams_report npm run report:create', + 'DATA_DIR=tests/__data__/input/data STREAMS_DIR=tests/__data__/input/report_create npm run report:create', { encoding: 'utf8' } @@ -10,18 +10,15 @@ it('can create report', () => { expect( stdout.includes(` -โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” -โ”‚ (index) โ”‚ issueNumber โ”‚ type โ”‚ channelId โ”‚ streamUrl โ”‚ status โ”‚ -โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค -โ”‚ 0 โ”‚ 14120 โ”‚ 'streams:edit' โ”‚ 'boo.us' โ”‚ 'https://livestream.telvue.com/templeuni1/f7b44cfafd5c52223d5498196c8a2e7b.sdp/playlist.m3u8' โ”‚ 'invalid_id' โ”‚ -โ”‚ 1 โ”‚ 14135 โ”‚ 'streams:add' โ”‚ 'BBCWorldNewsSouthAsia.uk' โ”‚ 'http://103.199.161.254/Content/bbcworld/Live/Channel%28BBCworld%29/Stream%2801%29/index.m3u8' โ”‚ 'wrong_id' โ”‚ -โ”‚ 2 โ”‚ 14140 โ”‚ 'streams:add' โ”‚ undefined โ”‚ undefined โ”‚ 'missing_id' โ”‚ -โ”‚ 3 โ”‚ 14175 โ”‚ 'streams:add' โ”‚ 'TFX.fr' โ”‚ 'http://livetv.ktv.zone/13/play.m3u8' โ”‚ 'duplicate' โ”‚ -โ”‚ 4 โ”‚ 14177 โ”‚ 'streams:add' โ”‚ 'TUTV.us' โ”‚ 'https://livestream.telvue.com/templeuni1/f7b44cfafd5c52223d5498196c8a2e7b.sdp/playlist.m3u8' โ”‚ 'on_playlist' โ”‚ -โ”‚ 5 โ”‚ 14178 โ”‚ 'streams:add' โ”‚ 'TV3.my' โ”‚ 'https://live-streams-ssai-01.tonton.com.my/live/2dd2b7cd-1b34-4871-b669-57b5c9beca23/live.isml/.m3u8' โ”‚ 'blocked' โ”‚ -โ”‚ 6 โ”‚ 16120 โ”‚ 'broken stream' โ”‚ undefined โ”‚ 'http://190.61.102.67:2000/play/a038/index.m3u8' โ”‚ 'wrong_link' โ”‚ -โ”‚ 7 โ”‚ 19956 โ”‚ 'channel search' โ”‚ 'CNBCe.tr' โ”‚ undefined โ”‚ 'invalid_id' โ”‚ -โ”‚ 8 โ”‚ 19957 โ”‚ 'channel search' โ”‚ '13thStreet.au' โ”‚ undefined โ”‚ 'closed' โ”‚ -โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜`) +โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” +โ”‚ (index) โ”‚ issueNumber โ”‚ type โ”‚ streamId โ”‚ streamUrl โ”‚ status โ”‚ +โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค +โ”‚ 0 โ”‚ 14120 โ”‚ 'streams:edit' โ”‚ 'boo.us' โ”‚ 'https://livestream.telvue.com/templeuni1/f7b44cfafd5c52223d5498196c8a2e7b.sdp/playlist.m3u8' โ”‚ 'invalid_id' โ”‚ +โ”‚ 1 โ”‚ 14135 โ”‚ 'streams:add' โ”‚ 'BBCWorldNews.uk@SouthAsia' โ”‚ 'http://103.199.161.254/Content/bbcworld/Live/Channel%28BBCworld%29/Stream%2801%29/index.m3u8' โ”‚ 'wrong_id' โ”‚ +โ”‚ 2 โ”‚ 14177 โ”‚ 'streams:add' โ”‚ 'TUTV.us' โ”‚ 'https://livestream.telvue.com/templeuni1/f7b44cfafd5c52223d5498196c8a2e7b.sdp/playlist.m3u8' โ”‚ 'on_playlist' โ”‚ +โ”‚ 3 โ”‚ 14178 โ”‚ 'streams:add' โ”‚ 'TV3.my' โ”‚ 'https://live-streams-ssai-01.tonton.com.my/live/2dd2b7cd-1b34-4871-b669-57b5c9beca23/live.isml/.m3u8...' โ”‚ 'blocked' โ”‚ +โ”‚ 4 โ”‚ 16120 โ”‚ 'broken stream' โ”‚ undefined โ”‚ 'http://190.61.102.67:2000/play/a038/index.m3u8' โ”‚ 'wrong_link' โ”‚ +โ”‚ 5 โ”‚ 19956 โ”‚ 'channel search' โ”‚ 'CNBCe.tr' โ”‚ undefined โ”‚ 'invalid_id' โ”‚ +โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜`) ).toBe(true) }) diff --git a/yarn.lock b/yarn.lock index 06a905285..82088c20d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -366,10 +366,10 @@ "@eslint/core" "^0.12.0" levn "^0.4.1" -"@freearhey/core@^0.2.1": - version "0.2.1" - resolved "https://registry.npmjs.org/@freearhey/core/-/core-0.2.1.tgz" - integrity sha512-kEdIxZClykKhGpgyCSlkwuVuSCCAWr3J5YvOUMJQDPgVAYvT5VbD8MYKPm+OwNi9T4HFmF6qqY90qwKJPoOXCA== +"@freearhey/core@^0.7.0": + version "0.7.0" + resolved "https://registry.npmjs.org/@freearhey/core/-/core-0.7.0.tgz" + integrity sha512-HXkKPYGY7ife7JAc1q/Qxzy0WUdSnyt3rHThCShZHgnH3rz0tpkjHFW7LNegB3he0IKn/Zc95/YSOQ97Fq8ctA== dependencies: "@types/fs-extra" "^11.0.2" "@types/lodash" "^4.14.198" @@ -382,6 +382,7 @@ node-gzip "^1.1.2" normalize-url "^6.1.0" object-treeify "^2.1.1" + run-script-os "^1.1.6" signale "^1.4.0" "@humanfs/core@^0.19.1": @@ -3435,6 +3436,11 @@ run-parallel@^1.1.9: dependencies: queue-microtask "^1.2.2" +run-script-os@^1.1.6: + version "1.1.6" + resolved "https://registry.npmjs.org/run-script-os/-/run-script-os-1.1.6.tgz" + integrity sha512-ql6P2LzhBTTDfzKts+Qo4H94VUKpxKDFz6QxxwaUZN0mwvi7L3lpOI7BqPCq7lgDh3XLl0dpeXwfcVIitlrYrw== + semver@^6.3.0: version "6.3.1" resolved "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz"