{
  "metadata": {
    "id": "stremio.perfect.setup",
    "name": "🍿 Streaming Perfect Setup",
    "description": "This template is best combined with [this](https://numb3rs.stream) guide. It's built around a full and ready-to-go clean setup with multiple reliable scrapers for redundancy and sensible sorting and filtering, using best practice recommendations by the Stremio community. It can be configured for the following stream types: \n* **⚡ DEBRID** - Paid, but fast, safest and most reliable. Activated by selecting a service on the next step. \n* **🧲 P2P** - Free, but slower and risky depending on the laws of your country. Activated automatically if you don't select a Debrid service. \n* **🌐 HTTP** - Free, safe, but slower and less reliable than Debrid. Activated if you enable the *HTTP Addons* option two steps later. \n**Tamtaro's** template was used as inspiration.",
    "source": "external",
    "sourceUrl": "https://numb3rs.stream/templates/AIOStreams.json",
    "changelogUrl": "https://numb3rs.stream/templates/AIOStreams-Changelog.md",
    "author": "Lucky Numb3rs",
    "version": "2.0.9",
    "category": "Full",
    "serviceRequired": false,
    "inputs": [
      {
        "__if": "!services",
        "id": "header.p2p",
        "name": "",
        "description": "No services selected, only **🧲 P2P / 🌐 HTTP** setup.",
        "type": "alert",
        "intent": "warning"
      },
      {
        "id": "header.streamTypes",
        "name": "",
        "description": "The following stream types are available: \n* **⚡ DEBRID** - Paid, but fast, safest and most reliable. Activated by selecting a service on the previous step. \n* **🧲 P2P** - Free, but slower and risky depending on the laws of your country. Activated automatically if you didn't select a Debrid service previously. \n* **🌐 HTTP** - Free, safe, but slower and less reliable than Debrid. Activated if you enable the *HTTP Addons* option below.",
        "type": "alert",
        "intent": "info-basic"
      },
      {
        "id": "header.formatter",
        "name": "🎨 Formatter Options",
        "description": "",
        "type": "alert",
        "intent": "info"
      },
      {
        "id": "formatterChoice",
        "name": "🖋️ Formatter Style",
        "description": "Choose the formatting of the stream information view (more details [here](https://numb3rs.stream/guide/7-Additional-Stuff/#understanding-stream-information-view)): \n* ▶︎ **Flat Monochrome Icons** has a cleaner look based on minimalistic white icons. \n* 🎬 **Colorful Icons** contains a colored version with more graphical icons.",
        "type": "select",
        "required": false,
        "default": "color",
        "options": [
          {
            "value": "flat",
            "label": "▶︎ Flat Monochrome Icons"
          },
          {
            "value": "color",
            "label": "🎬 Colorful Icons"
          }
        ]
      },
      {
        "id": "formatterFilename",
        "name": "📝 Show Filename",
        "description": "If enabled, the filenames will also be displayed on the stream information view.",
        "type": "boolean",
        "required": false,
        "default": false
      },
      {
        "id": "header.languages",
        "name": "🗣️ Language Options",
        "description": "",
        "type": "alert",
        "intent": "info"
      },
      {
        "id": "languages",
        "name": "🔊 Preferred Languages",
        "description": "Select your preferred stream languages that you want to be sorted first when the streaming options are shown. *Original, Dual Audio, Multi, Dubbed, and Unknown* are automatically appended after your selections. Fine-tune the full order in **Filters → Language** after import if you want.",
        "type": "multi-select",
        "required": false,
        "default": [
          "English"
        ],
        "options": [
          { "value": "Arabic", "label": "🇸🇦 Arabic" },
          { "value": "Bengali", "label": "🇧🇩 Bengali" },
          { "value": "Bulgarian", "label": "🇧🇬 Bulgarian" },
          { "value": "Chinese", "label": "🇨🇳 Chinese" },
          { "value": "Croatian", "label": "🇭🇷 Croatian" },
          { "value": "Czech", "label": "🇨🇿 Czech" },
          { "value": "Danish", "label": "🇩🇰 Danish" },
          { "value": "Dutch", "label": "🇳🇱 Dutch" },
          { "value": "English", "label": "🇬🇧 English" },
          { "value": "Estonian", "label": "🇪🇪 Estonian" },
          { "value": "Finnish", "label": "🇫🇮 Finnish" },
          { "value": "French", "label": "🇫🇷 French" },
          { "value": "German", "label": "🇩🇪 German" },
          { "value": "Greek", "label": "🇬🇷 Greek" },
          { "value": "Gujarati", "label": "🇮🇳 Gujarati" },
          { "value": "Hebrew", "label": "🇮🇱 Hebrew" },
          { "value": "Hindi", "label": "🇮🇳 Hindi" },
          { "value": "Hungarian", "label": "🇭🇺 Hungarian" },
          { "value": "Indonesian", "label": "🇮🇩 Indonesian" },
          { "value": "Italian", "label": "🇮🇹 Italian" },
          { "value": "Japanese", "label": "🇯🇵 Japanese" },
          { "value": "Kannada", "label": "🇮🇳 Kannada" },
          { "value": "Korean", "label": "🇰🇷 Korean" },
          { "value": "Latino", "label": "🇲🇽 Latino" },
          { "value": "Latvian", "label": "🇱🇻 Latvian" },
          { "value": "Lithuanian", "label": "🇱🇹 Lithuanian" },
          { "value": "Malayalam", "label": "🇮🇳 Malayalam" },
          { "value": "Malay", "label": "🇲🇾 Malay" },
          { "value": "Marathi", "label": "🇮🇳 Marathi" },
          { "value": "Norwegian", "label": "🇳🇴 Norwegian" },
          { "value": "Persian", "label": "🇮🇷 Persian" },
          { "value": "Polish", "label": "🇵🇱 Polish" },
          { "value": "Portuguese", "label": "🇵🇹 Portuguese" },
          { "value": "Punjabi", "label": "🇮🇳 Punjabi" },
          { "value": "Romanian", "label": "🇷🇴 Romanian" },
          { "value": "Russian", "label": "🇷🇺 Russian" },
          { "value": "Serbian", "label": "🇷🇸 Serbian" },
          { "value": "Slovak", "label": "🇸🇰 Slovak" },
          { "value": "Slovenian", "label": "🇸🇮 Slovenian" },
          { "value": "Spanish", "label": "🇪🇸 Spanish" },
          { "value": "Swedish", "label": "🇸🇪 Swedish" },
          { "value": "Tamil", "label": "🇮🇳 Tamil" },
          { "value": "Telugu", "label": "🇮🇳 Telugu" },
          { "value": "Thai", "label": "🇹🇭 Thai" },
          { "value": "Turkish", "label": "🇹🇷 Turkish" },
          { "value": "Ukrainian", "label": "🇺🇦 Ukrainian" },
          { "value": "Vietnamese", "label": "🇻🇳 Vietnamese" }
        ]
      },
      {
        "id": "languagesRequired",
        "name": "🔒 Show Only Preferred Languages",
        "description": "If enabled (recommended), only streams in the selected languages above will be shown (including *Original, Dual Audio, Multi, Dubbed, and Unknown*). This can help reduce clutter by filtering out streams in languages you don't prefer.",
        "type": "boolean",
        "required": false,
        "default": true
      },
      {
        "id": "subtitles",
        "name": "💬 Preferred Subtitles",
        "description": "Select the subtitles that should be loaded when opening a stream. Change them in **Addons → OpenSubtitles V3 Pro** after import if you want.",
        "type": "multi-select",
        "required": false,
        "default": [
          "en"
        ],
        "options": [
          { "value": "ab", "label": "🇬🇪 Abkhazian" },
          { "value": "af", "label": "🇿🇦 Afrikaans" },
          { "value": "sq", "label": "🇦🇱 Albanian" },
          { "value": "ar", "label": "🇸🇦 Arabic" },
          { "value": "an", "label": "🇪🇸 Aragonese" },
          { "value": "hy", "label": "🇦🇲 Armenian" },
          { "value": "as", "label": "🇮🇳 Assamese" },
          { "value": "at", "label": "🇪🇸 Asturian" },
          { "value": "az", "label": "🇦🇿 Azerbaijani" },
          { "value": "eu", "label": "🇪🇸 Basque" },
          { "value": "be", "label": "🇧🇾 Belarusian" },
          { "value": "bn", "label": "🇧🇩 Bengali" },
          { "value": "bs", "label": "🇧🇦 Bosnian" },
          { "value": "br", "label": "🇫🇷 Breton" },
          { "value": "bg", "label": "🇧🇬 Bulgarian" },
          { "value": "my", "label": "🇲🇲 Burmese" },
          { "value": "ca", "label": "🇪🇸 Catalan" },
          { "value": "ze", "label": "🇨🇳 Chinese (Bilingual)" },
          { "value": "zh-cn", "label": "🇨🇳 Chinese (Simplified)" },
          { "value": "zh-tw", "label": "🇹🇼 Chinese (Traditional)" },
          { "value": "hr", "label": "🇭🇷 Croatian" },
          { "value": "cs", "label": "🇨🇿 Czech" },
          { "value": "da", "label": "🇩🇰 Danish" },
          { "value": "pr", "label": "🇦🇫 Dari" },
          { "value": "nl", "label": "🇳🇱 Dutch" },
          { "value": "en", "label": "🇬🇧 English" },
          { "value": "eo", "label": "🇪🇺 Esperanto" },
          { "value": "et", "label": "🇪🇪 Estonian" },
          { "value": "ex", "label": "🇪🇸 Extremaduran" },
          { "value": "fa", "label": "🇮🇷 Persian" },
          { "value": "fi", "label": "🇫🇮 Finnish" },
          { "value": "fr", "label": "🇫🇷 French" },
          { "value": "gd", "label": "🇬🇧 Gaelic" },
          { "value": "gl", "label": "🇪🇸 Galician" },
          { "value": "ka", "label": "🇬🇪 Georgian" },
          { "value": "de", "label": "🇩🇪 German" },
          { "value": "el", "label": "🇬🇷 Greek" },
          { "value": "he", "label": "🇮🇱 Hebrew" },
          { "value": "hi", "label": "🇮🇳 Hindi" },
          { "value": "hu", "label": "🇭🇺 Hungarian" },
          { "value": "is", "label": "🇮🇸 Icelandic" },
          { "value": "ig", "label": "🇳🇬 Igbo" },
          { "value": "id", "label": "🇮🇩 Indonesian" },
          { "value": "ia", "label": "🇪🇺 Interlingua" },
          { "value": "ga", "label": "🇮🇪 Irish" },
          { "value": "it", "label": "🇮🇹 Italian" },
          { "value": "ja", "label": "🇯🇵 Japanese" },
          { "value": "kk", "label": "🇰🇿 Kazakh" },
          { "value": "km", "label": "🇰🇭 Khmer" },
          { "value": "kn", "label": "🇮🇳 Kannada" },
          { "value": "ko", "label": "🇰🇷 Korean" },
          { "value": "ku", "label": "🇮🇶 Kurdish" },
          { "value": "lv", "label": "🇱🇻 Latvian" },
          { "value": "lt", "label": "🇱🇹 Lithuanian" },
          { "value": "lb", "label": "🇱🇺 Luxembourgish" },
          { "value": "mk", "label": "🇲🇰 Macedonian" },
          { "value": "ms", "label": "🇲🇾 Malay" },
          { "value": "ml", "label": "🇮🇳 Malayalam" },
          { "value": "ma", "label": "🇮🇳 Manipuri" },
          { "value": "mr", "label": "🇮🇳 Marathi" },
          { "value": "me", "label": "🇲🇪 Montenegrin" },
          { "value": "mn", "label": "🇲🇳 Mongolian" },
          { "value": "nv", "label": "🇺🇸 Navajo" },
          { "value": "ne", "label": "🇳🇵 Nepali" },
          { "value": "se", "label": "🇳🇴 Northern Sami" },
          { "value": "no", "label": "🇳🇴 Norwegian" },
          { "value": "oc", "label": "🇫🇷 Occitan" },
          { "value": "or", "label": "🇮🇳 Odia" },
          { "value": "pl", "label": "🇵🇱 Polish" },
          { "value": "pt-pt", "label": "🇵🇹 Portuguese" },
          { "value": "pt-br", "label": "🇧🇷 Portuguese (BR)" },
          { "value": "pm", "label": "🇲🇿 Portuguese (MZ)" },
          { "value": "ps", "label": "🇦🇫 Pushto" },
          { "value": "ro", "label": "🇷🇴 Romanian" },
          { "value": "ru", "label": "🇷🇺 Russian" },
          { "value": "sx", "label": "🇮🇳 Santali" },
          { "value": "sr", "label": "🇷🇸 Serbian" },
          { "value": "sd", "label": "🇵🇰 Sindhi" },
          { "value": "si", "label": "🇱🇰 Sinhalese" },
          { "value": "sk", "label": "🇸🇰 Slovak" },
          { "value": "sl", "label": "🇸🇮 Slovenian" },
          { "value": "so", "label": "🇸🇴 Somali" },
          { "value": "es", "label": "🇪🇸 Spanish" },
          { "value": "sp", "label": "🇪🇸 Spanish (EU)" },
          { "value": "ea", "label": "🇲🇽 Spanish (Latin)" },
          { "value": "sw", "label": "🇹🇿 Swahili" },
          { "value": "sv", "label": "🇸🇪 Swedish" },
          { "value": "sy", "label": "🇸🇾 Syriac" },
          { "value": "tl", "label": "🇵🇭 Tagalog" },
          { "value": "ta", "label": "🇮🇳 Tamil" },
          { "value": "tt", "label": "🇷🇺 Tatar" },
          { "value": "te", "label": "🇮🇳 Telugu" },
          { "value": "th", "label": "🇹🇭 Thai" },
          { "value": "tp", "label": "🇨🇦 Toki Pona" },
          { "value": "tr", "label": "🇹🇷 Turkish" },
          { "value": "tk", "label": "🇹🇲 Turkmen" },
          { "value": "uk", "label": "🇺🇦 Ukrainian" },
          { "value": "ur", "label": "🇵🇰 Urdu" },
          { "value": "uz", "label": "🇺🇿 Uzbek" },
          { "value": "vi", "label": "🇻🇳 Vietnamese" },
          { "value": "cy", "label": "🇬🇧 Welsh" }
        ]
      },
      {
        "id": "header.addons",
        "name": "🧩 Addon Options",
        "description": "",
        "type": "alert",
        "intent": "info"
      },
      {
        "__if": "services",
        "id": "anime",
        "name": "🗡️ Anime Addons",
        "description": "If enabled, additional anime-specific addons (**SeaDex, AnimeTosho**) will be installed.",
        "type": "boolean",
        "required": false,
        "default": false
      },
      {
        "__if": "services",
        "id": "debridio",
        "name": "🧊 Debridio",
        "description": "If enabled, [Debridio Scraper](https://debridio.com) will be added. You will need your *Debridio API key* from your account settings. Leave it disabled if you don't know what this is.",
        "type": "boolean",
        "required": false,
        "default": false
      },
      {
        "__if": "inputs.debridio",
        "id": "debridioApiKey",
        "name": "Debridio API Key",
        "description": "Paste your Debridio API key, found in your Debridio [account settings](https://debridio.com/account). The same key is used for both the Debridio Scraper and the Watchtower addon.",
        "type": "password",
        "required": true
      },
      {
        "id": "httpAddons",
        "name": "🌐 HTTP Addons",
        "description": "Select if you want addons for **HTTP** streams to be installed. These addons rely on free online hosters and generally have less reliable sources and speeds, but can be good backup options if you don't or can't use Debrid and/or P2P. You can select: \n* **None** to not include any HTTP addons at all. \n* **Install Additional HTTP Addons** to install them in addition to the Debrid/P2P addons. \n* **Install Only HTTP Addons** to not include any Debrid/P2P addons and only use HTTP addons. CHOOSE THIS IF P2P IS AN ISSUE IN YOUR COUNTRY AND YOU'RE NOT USING DEBRID (*Do not select this option if you ARE using a Debrid*).",
        "type": "select",
        "required": false,
        "default": "none",
        "options": [
          {
            "value": "none",
            "label": "🚫 No HTTP Addons"
          },
          {
            "value": "install",
            "label": "➕ Install Additional HTTP Addons"
          },
          {
            "value": "only",
            "label": "🔒 Install Only HTTP Addons (Don't select with Debrid)"
          }
        ]
      },
      {
        "id": "timeout",
        "name": "⏱️ Global Timeout",
        "description": "Enter the time in ms that you're willing to wait for results before your scraper addons timeout. You can set it a bit higher if you have issues getting enough results or you want to make sure to get as many results as possible.",
        "type": "number",
        "required": false,
        "default": 5000
      },
      {
        "id": "header.sorting",
        "name": "↕️ Sorting Options",
        "description": "",
        "type": "alert",
        "intent": "info"
      },
      {
        "id": "sortingInfo",
        "name": "",
        "description": "Here you can modify the sort order if necessary. \n The default sort order is: \n *Cached/Uncached → SeaDex (for Anime) → Resolution → Quality → Stream Expressions → Stream Expression Score → Seeders (if Uncached/P2P) → Language → Bitrate*",
        "type": "alert",
        "intent": "info-basic"
      },
      {
        "id": "language",
        "name": "🚩️ Language Priority",
        "description": "This option can give priority to streams in your preferred languages by moving it up the sorting order. If you struggle to see your preferred languages in the results, even after adding it to the **Preferred Languages** list, try increasing the priority here. May rank lower-quality streams higher if your preferred languages are uncommon among the results, so use with caution.",
        "type": "select",
        "required": false,
        "default": "default",
        "options": [
          {
            "value": "default",
            "label": "Default Sort Order"
          },
          {
            "value": "medium",
            "label": "Move Up After Resolution & Quality"
          },
          {
            "value": "high",
            "label": "Move Up First in Sort Order"
          }
        ]
      },
      {
        "__if": "!services",
        "id": "seeders",
        "name": "🌱 Seeders Priority",
        "description": "Change this if you want highest seeders to be prioritized more on the sorting order, even if they have lower Resolution/Quality/SEL Scores. In most cases, low seeders will have already been filtered out by the internal filtering (SEL).",
        "type": "select",
        "required": false,
        "default": "default",
        "options": [
          {
            "value": "default",
            "label": "Default Sort Order"
          },
          {
            "value": "medium",
            "label": "Move Up After Resolution & Quality"
          },
          {
            "value": "high",
            "label": "Move Up First in Sort Order"
          }
        ]
      },
      {
        "id": "credits",
        "name": "Credits",
        "description": "",
        "type": "socials",
        "socials": [
          {
            "id": "website",
            "url": "https://numb3rs.stream"
          },
          {
            "id": "github",
            "url": "https://github.com/luckynumb3rs/stremio-perfect-setup"
          },
          {
            "id": "ko-fi",
            "url": "https://ko-fi.com/luckynumb3rs"
          }
        ]
      }
	  ]
  },
  "config": {
    "addonName": "AIOStreams",
    "addonLogo": "https://numb3rs.stream/assets/images/aiostreams.svg",
    "services": [
      {
        "id": "torbox",
        "enabled": false,
        "credentials": {}
      }
    ],
    "addonCategoryColors": {
      "Anime": "orange",
      "HTTP": "emerald"
    },
    "presets": [
      {
        "__if": "services and inputs.anime",
        "category": "Anime",
        "type": "seadex",
        "instanceId": "sdx",
        "enabled": true,
        "options": {
          "name": "SeaDex",
          "timeout": "{{inputs.timeout}}",
          "mediaTypes": [
            "anime"
          ]
        }
      },
      {
        "__if": "services and inputs.httpAddons != only",
        "type": "library",
        "instanceId": "lib",
        "enabled": true,
        "options": {
          "name": "Library",
          "timeout": "{{inputs.timeout}}",
          "resources": [
            "stream"
          ],
          "mediaTypes": [],
          "showRefreshActions": [
            "catalog"
          ],
          "skipProcessing": false,
          "hideStreams": false,
          "useMultipleInstances": false
        }
      },
      {
        "__if": "services.torbox and inputs.httpAddons != only",
        "type": "torbox-search",
        "instanceId": "tbs",
        "enabled": true,
        "options": {
          "name": "TB Search",
          "timeout": "{{inputs.timeout}}",
          "sources": [
            "torrent"
          ],
          "mediaTypes": [],
          "userSearchEngines": true,
          "onlyShowUserSearchResults": false,
          "useMultipleInstances": false
        }
      },
      {
        "__if": "services and inputs.debridio and inputs.httpAddons != only",
        "type": "debridio",
        "instanceId": "deb",
        "enabled": true,
        "options": {
          "name": "Debridio",
          "timeout": "{{inputs.timeout}}",
          "debridioApiKey": "{{inputs.debridioApiKey}}"
        }
      },
      {
        "__if": "inputs.httpAddons != only",
        "type": "torrentio",
        "instanceId": "tio",
        "enabled": true,
        "options": {
          "name": "Torrentio",
          "timeout": "{{inputs.timeout}}",
          "resources": [
            "stream"
          ],
          "providers": [],
          "useMultipleInstances": false
        }
      },
      {
        "__if": "inputs.httpAddons != only",
        "type": "meteor",
        "instanceId": "met",
        "enabled": true,
        "options": {
          "name": "Meteor",
          "timeout": "{{inputs.timeout}}",
          "resources": [
            "stream"
          ],
          "includeP2P": {
            "__switch": "services",
            "cases": {
              "": true
            },
            "default": false
          },
          "removeTrash": false,
          "useMultipleInstances": false,
          "mediaTypes": []
        }
      },
      {
        "__if": "inputs.httpAddons != only",
        "type": "comet",
        "instanceId": "com",
        "enabled": true,
        "options": {
          "name": "Comet",
          "timeout": "{{inputs.timeout}}",
          "resources": [
            "stream"
          ],
          "includeP2P": {
            "__switch": "services",
            "cases": {
              "": true
            },
            "default": false
          },
          "removeTrash": false,
          "mediaTypes": []
        }
      },
      {
        "__if": "inputs.httpAddons != only",
        "type": "stremthruTorz",
        "instanceId": "stz",
        "enabled": true,
        "options": {
          "name": "StremThru Torz",
          "timeout": "{{inputs.timeout}}",
          "resources": [
            "stream"
          ],
          "includeP2P": {
            "__switch": "services",
            "cases": {
              "": true
            },
            "default": false
          },
          "useMultipleInstances": false,
          "mediaTypes": []
        }
      },
      {
        "__if": "inputs.httpAddons != only",
        "type": "mediafusion",
        "instanceId": "mdf",
        "enabled": true,
        "options": {
          "name": "MediaFusion",
          "timeout": "{{inputs.timeout}}",
          "resources": [
            "stream"
          ],
          "useCachedResultsOnly": true,
          "enableWatchlistCatalogs": false,
          "downloadViaBrowser": false,
          "contributorStreams": false,
          "certificationLevelsFilter": [],
          "nudityFilter": [],
          "mediaTypes": []
        }
      },
      {
        "__if": "services and inputs.httpAddons != only",
        "type": "knaben",
        "instanceId": "kna",
        "enabled": true,
        "options": {
          "name": "Knaben",
          "timeout": "{{inputs.timeout}}",
          "mediaTypes": [],
          "useMultipleInstances": false
        }
      },
      {
        "__if": "inputs.httpAddons != only",
        "type": "peerflix",
        "instanceId": "pfl",
        "enabled": true,
        "options": {
          "name": "Peerflix",
          "timeout": "{{inputs.timeout}}",
          "resources": [
            "stream"
          ],
          "mediaTypes": [],
          "useMultipleInstances": false,
          "showTorrentLinks": {
            "__switch": "services",
            "cases": {
              "": true
            },
            "default": false
          }
        }
      },
      {
        "__if": "services and inputs.anime and inputs.httpAddons != only",
        "category": "Anime",
        "type": "animetosho",
        "instanceId": "ato",
        "enabled": true,
        "options": {
          "name": "AnimeTosho",
          "timeout": "{{inputs.timeout}}",
          "mediaTypes": [
            "anime"
          ],
          "useMultipleInstances": false
        }
      },
      {
        "__if": "inputs.httpAddons != none",
        "category": "HTTP",
        "type": "sootio",
        "instanceId": "soo",
        "enabled": true,
        "options": {
          "name": "Sootio",
          "timeout": "{{inputs.timeout}}",
          "resources": [
            "stream"
          ],
          "httpProviders": [
            "http4khdhub",
            "httpHDHub4u",
            "httpUHDMovies",
            "httpMoviesDrive",
            "httpMKVCinemas",
            "httpMkvDrama",
            "httpMalluMv",
            "httpCineDoze",
            "httpNetflixMirror",
            "httpVixSrc"
          ],
          "mediaTypes": [],
          "useMultipleInstances": false
        }
      },
      {
        "__if": "inputs.httpAddons != none and inputs.debridio",
        "category": "HTTP",
        "type": "debridio-watchtower",
        "instanceId": "dew",
        "enabled": true,
        "options": {
          "name": "Watchtower",
          "timeout": "{{inputs.timeout}}",
          "resources": [
            "stream"
          ],
          "debridioApiKey": "{{inputs.debridioApiKey}}",
          "mediaTypes": []
        }
      },
      {
        "__if": "inputs.httpAddons != none",
        "category": "HTTP",
        "type": "hdhub",
        "instanceId": "hdh",
        "enabled": true,
        "options": {
          "name": "HD Hub",
          "timeout": "{{inputs.timeout}}",
          "resources": [
            "stream"
          ],
          "mediaTypes": [],
          "tb_only": false
        }
      },
      {
        "__if": "inputs.httpAddons != none",
        "category": "HTTP",
        "type": "webstreamr",
        "instanceId": "wst",
        "enabled": true,
        "options": {
          "name": "WebStreamr",
          "timeout": "{{inputs.timeout}}",
          "resources": [
            "stream"
          ],
          "url": "https://87d6a6ef6b58-webstreamrmbg.baby-beamup.club",
          "mediaTypes": [],
          "providers": [
            "multi",
            "en",
            "de",
            "es",
            "fr",
            "hi",
            "it",
            "mx"
          ],
          "includeExternalUrls": false,
          "showErrors": false
        }
      },
      {
        "type": "opensubtitles-v3-plus",
        "instanceId": "osb",
        "enabled": true,
        "options": {
          "name": "OpenSubtitles V3 Pro",
          "timeout": 15000,
          "resources": [
            "subtitles"
          ],
          "language": [
            "{{inputs.subtitles}}"
          ],
          "sources": "all",
          "includeAiTranslated": true,
          "movieHashPlusAutoAdjustment": true
        }
      }
    ],
    "formatter": {
      "__switch": "inputs.formatterChoice",
      "cases": {
        "flat": {
          "id": "custom",
          "definition": {
            "name": "{service.cached::istrue[\"⚡ \"||\"\"]}{service.cached::isfalse[\"⏳ \"||\"\"]}{stream.type::=p2p[\"🧲 \"||\"\"]}{stream.type::=http[\"🌐 \"||\"\"]}{stream.type::=live[\"📺 \"||\"\"]}{stream.type::=youtube[\"▶️ \"||\"\"]}{stream.type::=archive[\"🗄️ \"||\"\"]}{stream.type::=external[\"↗️ \"||\"\"]}{stream.type::=statistic[\"📊 \"||\"\"]}{stream.type::=info[\"ℹ️ \"||\"\"]}{stream.type::=error[\"⛔ \"||\"\"]}{stream.resolution::exists[\"{stream.resolution::replace('2160p','UHD ⁴ᴷ')::replace('1440p','QHD ²ᴷ')::replace('1080p','FHD    ')::replace('p','P')}   \"||\"\"]}\n{stream.quality::exists[\"⌜{stream.quality::title::replace('Bluray Remux','Remux')::smallcaps}⌟    \"||\"\"]}\n{stream.nSeScore::>=10[\"{stream.nSeScore::pstar::replace('★','◆')::replace('⯪','⬖')::replace('☆','◇')} \"||\"\"]}",
            "description": {
              "__switch": "inputs.formatterFilename",
              "cases": {
                "true": "{stream.editions::exists[\"▶︎  {stream.editions::join(' · ')} \"||\"\"]}\n{stream.encode::exists[\"▣  {stream.encode}  \"||\"\"]}{stream.visualTags::exists[\"✦  {stream.visualTags::join(' · ')}  \"||\"\"]}\n{stream.audioTags::exists[\"♬  {stream.audioTags::join(' · ')}  \"||\"\"]}{stream.audioChannels::exists[\"☊  {stream.audioChannels::join(' · ')} \"||\"\"]}\n{stream.size::>0::and::stream.seasonPack::istrue[\"⧉  \"||\"\"]}{stream.size::>0::and::stream.seasonPack::isfalse[\"◧  \"||\"\"]}{stream.size::>0[\"{stream.size::sbytes}\"||\"\"]}{stream.bitrate::exists[\" · {stream.bitrate::sbitrate::replace('Mbps','ᴹᵇᵖˢ')::replace('Kbps','ᴷᵇᵖˢ')}  \"||\"\"]}{stream.message::~Download[\"{tools.removeLine}\"||\"\"]}{stream.age::exists[\"⟳ {stream.age}\"||\"\"]}\n{stream.proxied::istrue[\"⛊ \"||\"⛉ \"]}{service.shortName::exists[\"[{service.shortName}] \"||\"\"]}{addon.name}{stream.type::replace('debrid',' ')::exists[\" · {stream.type::replace('debrid',' ')::replace('stremio-usenet','nntp')::smallcaps}\"||\"\"]}{service.cached::isfalse::or::stream.type::=p2p::and::stream.seeders::>0[\"  ⇋ {stream.seeders}𖧧  \"||\"\"]}\n{stream.languages::exists[\"⚐  {stream.smallLanguageCodes::join(' · ')::replace('ᴅᴜᴀʟ ᴀᴜᴅɪᴏ','ᴅᴜᴀʟ')::replace('ᴅᴜʙʙᴇᴅ','ᴅᴜʙ')}  \"||\"\"]}{stream.uSubtitles::exists[\"[☰  {stream.uSmallSubtitleCodes::join(' · ')}]  \"||\"\"]}{stream.seadex[\"»  \"||\"\"]}{stream.seadexBest::istrue[\"[ʙᴇsᴛ] \"||\"\"]}{stream.seadex::istrue::and::stream.seadexBest::isfalse[\"[ᴀʟᴛ] \"||\"\"]}\n{stream.filename::exists[\"✎ {stream.filename}  \"||\"\"]}\n{stream.message::exists[\"ⓘ {stream.message::smallcaps}  \"||\"\"]}{stream.message::~ðŸ§[\"{tools.removeLine}\"||\"\"]}"
              },
              "default": "{stream.editions::exists[\"▶︎  {stream.editions::join(' · ')} \"||\"\"]}\n{stream.encode::exists[\"▣  {stream.encode}  \"||\"\"]}{stream.visualTags::exists[\"✦  {stream.visualTags::join(' · ')}  \"||\"\"]}\n{stream.audioTags::exists[\"♬  {stream.audioTags::join(' · ')}  \"||\"\"]}{stream.audioChannels::exists[\"☊  {stream.audioChannels::join(' · ')} \"||\"\"]}\n{stream.size::>0::and::stream.seasonPack::istrue[\"⧉  \"||\"\"]}{stream.size::>0::and::stream.seasonPack::isfalse[\"◧  \"||\"\"]}{stream.size::>0[\"{stream.size::sbytes}\"||\"\"]}{stream.bitrate::exists[\" · {stream.bitrate::sbitrate::replace('Mbps','ᴹᵇᵖˢ')::replace('Kbps','ᴷᵇᵖˢ')}  \"||\"\"]}{stream.message::~Download[\"{tools.removeLine}\"||\"\"]}{stream.age::exists[\"⟳ {stream.age}\"||\"\"]}\n{stream.proxied::istrue[\"⛊ \"||\"⛉ \"]}{service.shortName::exists[\"[{service.shortName}] \"||\"\"]}{addon.name}{stream.type::replace('debrid',' ')::exists[\" · {stream.type::replace('debrid',' ')::replace('stremio-usenet','nntp')::smallcaps}\"||\"\"]}{service.cached::isfalse::or::stream.type::=p2p::and::stream.seeders::>0[\"  ⇋ {stream.seeders}𖧧  \"||\"\"]}\n{stream.languages::exists[\"⚐  {stream.smallLanguageCodes::join(' · ')::replace('ᴅᴜᴀʟ ᴀᴜᴅɪᴏ','ᴅᴜᴀʟ')::replace('ᴅᴜʙʙᴇᴅ','ᴅᴜʙ')}  \"||\"\"]}{stream.uSubtitles::exists[\"[☰  {stream.uSmallSubtitleCodes::join(' · ')}]  \"||\"\"]}{stream.seadex[\"»  \"||\"\"]}{stream.seadexBest::istrue[\"[ʙᴇsᴛ] \"||\"\"]}{stream.seadex::istrue::and::stream.seadexBest::isfalse[\"[ᴀʟᴛ] \"||\"\"]}\n{stream.message::exists[\"ⓘ {stream.message::smallcaps}  \"||\"\"]}{stream.message::~ðŸ§[\"{tools.removeLine}\"||\"\"]}"
            }
          }
        },
        "color": {
          "id": "custom",
          "definition": {
            "name": "{service.cached::istrue[\"⚡ \"||\"\"]}{service.cached::isfalse[\"⏳ \"||\"\"]}{stream.type::=p2p[\"🧲 \"||\"\"]}{stream.type::=http[\"🌐 \"||\"\"]}{stream.type::=live[\"📺 \"||\"\"]}{stream.type::=youtube[\"▶️ \"||\"\"]}{stream.type::=archive[\"🗄️ \"||\"\"]}{stream.type::=external[\"↗️ \"||\"\"]}{stream.type::=statistic[\"📊 \"||\"\"]}{stream.type::=info[\"ℹ️ \"||\"\"]}{stream.type::=error[\"⛔ \"||\"\"]}{stream.resolution::exists[\"{stream.resolution::replace('2160p','UHD ⁴ᴷ')::replace('1440p','QHD ²ᴷ')::replace('1080p','FHD    ')::replace('p','P')}   \"||\"\"]}\n{stream.quality::exists[\"⌜{stream.quality::title::replace('Bluray Remux','Remux')::smallcaps}⌟    \"||\"\"]}\n{stream.nSeScore::>=10[\"{stream.nSeScore::pstar::replace('★','◆')::replace('⯪','⬖')::replace('☆','◇')} \"||\"\"]}",
            "description": {
              "__switch": "inputs.formatterFilename",
              "cases": {
                "true": "{stream.editions::exists[\"🎬  {stream.editions::join(' · ')} \"||\"\"]}\n{stream.encode::exists[\"📼  {stream.encode}  \"||\"\"]}{stream.visualTags::exists[\"🎥  {stream.visualTags::join(' · ')}  \"||\"\"]}\n{stream.audioTags::exists[\"🎵  {stream.audioTags::join(' · ')}  \"||\"\"]}{stream.audioChannels::exists[\"🎧  {stream.audioChannels::join(' · ')} \"||\"\"]}\n{stream.size::>0::and::stream.seasonPack::istrue[\"📚  \"||\"\"]}{stream.size::>0::and::stream.seasonPack::isfalse[\"💾  \"||\"\"]}{stream.size::>0[\"{stream.size::sbytes}\"||\"\"]}{stream.bitrate::exists[\" · {stream.bitrate::sbitrate::replace('Mbps','ᴹᵇᵖˢ')::replace('Kbps','ᴷᵇᵖˢ')}  \"||\"\"]}{stream.message::~Download[\"{tools.removeLine}\"||\"\"]}{stream.age::exists[\"🕒 {stream.age}\"||\"\"]}\n{stream.proxied::istrue[\"🔐 \"||\"🔧 \"]}{service.shortName::exists[\"[{service.shortName}] \"||\"\"]}{addon.name}{stream.type::replace('debrid',' ')::exists[\" · {stream.type::replace('debrid',' ')::replace('stremio-usenet','nntp')::smallcaps}\"||\"\"]}{service.cached::isfalse::or::stream.type::=p2p::and::stream.seeders::>0[\"  ⇋ {stream.seeders}🌱  \"||\"\"]}\n{stream.languages::exists[\"🔊  {stream.languageEmojis::join(' · ')::replace('ᴅᴜᴀʟ ᴀᴜᴅɪᴏ','ᴅᴜᴀʟ')::replace('ᴅᴜʙʙᴇᴅ','ᴅᴜʙ')}  \"||\"\"]}{stream.uSubtitles::exists[\"[💬  {stream.uSubtitleEmojis::join(' · ')}]  \"||\"\"]}{stream.seadex[\"»  \"||\"\"]}{stream.seadexBest::istrue[\"[ʙᴇsᴛ] \"||\"\"]}{stream.seadex::istrue::and::stream.seadexBest::isfalse[\"[ᴀʟᴛ] \"||\"\"]}\n{stream.filename::exists[\"✏️ {stream.filename}  \"||\"\"]}\n{stream.message::exists[\"ℹ️ {stream.message::smallcaps}  \"||\"\"]}{stream.message::~ðŸ§[\"{tools.removeLine}\"||\"\"]}"
              },
              "default": "{stream.editions::exists[\"🎬  {stream.editions::join(' · ')} \"||\"\"]}\n{stream.encode::exists[\"📼  {stream.encode}  \"||\"\"]}{stream.visualTags::exists[\"🎥  {stream.visualTags::join(' · ')}  \"||\"\"]}\n{stream.audioTags::exists[\"🎵  {stream.audioTags::join(' · ')}  \"||\"\"]}{stream.audioChannels::exists[\"🎧  {stream.audioChannels::join(' · ')} \"||\"\"]}\n{stream.size::>0::and::stream.seasonPack::istrue[\"📚  \"||\"\"]}{stream.size::>0::and::stream.seasonPack::isfalse[\"💾  \"||\"\"]}{stream.size::>0[\"{stream.size::sbytes}\"||\"\"]}{stream.bitrate::exists[\" · {stream.bitrate::sbitrate::replace('Mbps','ᴹᵇᵖˢ')::replace('Kbps','ᴷᵇᵖˢ')}  \"||\"\"]}{stream.message::~Download[\"{tools.removeLine}\"||\"\"]}{stream.age::exists[\"🕒 {stream.age}\"||\"\"]}\n{stream.proxied::istrue[\"🔐 \"||\"🔧 \"]}{service.shortName::exists[\"[{service.shortName}] \"||\"\"]}{addon.name}{stream.type::replace('debrid',' ')::exists[\" · {stream.type::replace('debrid',' ')::replace('stremio-usenet','nntp')::smallcaps}\"||\"\"]}{service.cached::isfalse::or::stream.type::=p2p::and::stream.seeders::>0[\"  ⇋ {stream.seeders}🌱  \"||\"\"]}\n{stream.languages::exists[\"🔊  {stream.languageEmojis::join(' · ')::replace('ᴅᴜᴀʟ ᴀᴜᴅɪᴏ','ᴅᴜᴀʟ')::replace('ᴅᴜʙʙᴇᴅ','ᴅᴜʙ')}  \"||\"\"]}{stream.uSubtitles::exists[\"[💬  {stream.uSubtitleEmojis::join(' · ')}]  \"||\"\"]}{stream.seadex[\"»  \"||\"\"]}{stream.seadexBest::istrue[\"[ʙᴇsᴛ] \"||\"\"]}{stream.seadex::istrue::and::stream.seadexBest::isfalse[\"[ᴀʟᴛ] \"||\"\"]}\n{stream.message::exists[\"ℹ️ {stream.message::smallcaps}  \"||\"\"]}{stream.message::~ðŸ§[\"{tools.removeLine}\"||\"\"]}"
            }
          }
        }
      }
    },
    "preferredQualities": [
      "BluRay",
      "BluRay REMUX",
      "WEB-DL",
      "WEBRip",
      "HDRip",
      "HC HD-Rip",
      "DVDRip",
      "HDTV",
      "Unknown"
    ],
    "preferredResolutions": [
      "2160p",
      "1440p",
      "1080p",
      "720p",
      "576p",
      "480p",
      "360p",
      "240p",
      "144p",
      "Unknown"
    ],
    "excludedQualities": [
      "CAM",
      "SCR",
      "TS",
      "TC"
    ],
    "excludedVisualTags": [
      "3D"
    ],
    "sortCriteria": {
      "global": [
        {
          "key": "cached",
          "direction": "desc"
        }
      ],
      "cached": [
        {
          "key": "seadex",
          "direction": "desc"
        },
        {
          "__if": "inputs.language == high",
          "key": "language",
          "direction": "desc"
        },
        {
          "key": "resolution",
          "direction": "desc"
        },
        {
          "key": "quality",
          "direction": "desc"
        },
        {
          "__if": "inputs.language == medium",
          "key": "language",
          "direction": "desc"
        },
        {
          "key": "streamExpressionMatched",
          "direction": "desc"
        },
        {
          "key": "streamExpressionScore",
          "direction": "desc"
        },
        {
          "__if": "inputs.language == default",
          "key": "language",
          "direction": "desc"
        },
        {
          "key": "bitrate",
          "direction": "desc"
        }
      ],
      "uncached": [
        {
          "key": "seadex",
          "direction": "desc"
        },
        {
          "__if": "inputs.seeders == high",
          "key": "seeders",
          "direction": "desc"
        },
        {
          "__if": "inputs.language == high",
          "key": "language",
          "direction": "desc"
        },
        {
          "key": "resolution",
          "direction": "desc"
        },
        {
          "key": "quality",
          "direction": "desc"
        },
        {
          "__if": "inputs.seeders == medium",
          "key": "seeders",
          "direction": "desc"
        },
        {
          "__if": "inputs.language == medium",
          "key": "language",
          "direction": "desc"
        },
        {
          "key": "streamExpressionMatched",
          "direction": "desc"
        },
        {
          "key": "streamExpressionScore",
          "direction": "desc"
        },
        {
          "__if": "inputs.seeders == default",
          "key": "seeders",
          "direction": "desc"
        },
        {
          "__if": "inputs.language == default",
          "key": "language",
          "direction": "desc"
        },
        {
          "key": "bitrate",
          "direction": "desc"
        }
      ]
    },
    "deduplicator": {
      "enabled": true,
      "excludeAddons": [],
      "keys": [
        "filename",
        "infoHash",
        "smartDetect"
      ],
      "cached": "single_result",
      "uncached": "per_service",
      "p2p": "single_result"
    },
    "proxy": {
      "id": "mediaflow",
      "proxiedAddons": [],
      "proxiedServices": []
    },
    "trusted": false,
    "excludedResolutions": [],
    "includedResolutions": [],
    "requiredResolutions": [],
    "includedQualities": [],
    "requiredQualities": [],
    "excludedLanguages": [],
    "includedLanguages": [],
    "requiredLanguages": {
      "__if": "inputs.languagesRequired",
      "__value": [
        "{{inputs.languages}}",
        "Original",
        "Dual Audio",
        "Multi",
        "Dubbed",
        "Unknown"
      ]
    },
    "preferredLanguages": [
      "{{inputs.languages}}",
      "Original",
      "Dual Audio",
      "Multi",
      "Dubbed",
      "Unknown"
    ],
    "preferredVisualTags": [
      "HDR+DV",
      "HDR10+",
      "HDR10",
      "DV",
      "HDR",
      "10bit",
      "IMAX"
    ],
    "preferredAudioTags": [
      "Atmos",
      "DD+",
      "DD"
    ],
    "preferredStreamTypes": [],
    "excludedEncodes": [],
    "includedEncodes": [],
    "requiredEncodes": [],
    "preferredEncodes": [
      "AV1",
      "HEVC",
      "AVC",
      "Unknown"
    ],
    "excludeCachedFromAddons": [],
    "excludeCachedFromServices": [],
    "excludeCachedFromStreamTypes": [],
    "excludeUncachedFromAddons": [],
    "excludeUncachedFromServices": [],
    "excludeUncachedFromStreamTypes": [],
    "rpdbApiKey": "t0-free-rpdb",
    "hideErrorsForResources": [],
    "tmdbAccessToken": "<template_placeholder>",
    "precacheNextEpisode": true,
    "catalogModifications": [],
    "tmdbApiKey": "<template_placeholder>",
    "tvdbApiKey": "<template_placeholder>",
    "requiredAudioTags": [],
    "excludedAudioTags": [],
    "includedAudioTags": [],
    "seederRangeTypes": [],
    "autoPlay": {
      "method": "matchingFile",
      "attributes": [
        "resolution",
        "quality"
      ]
    },
    "cacheAndPlay": {
      "enabled": true,
      "streamTypes": [
        "usenet"
      ]
    },
    "nzbFailover": {
      "enabled": true
    },
    "statistics": {
      "enabled": false,
      "position": "bottom",
      "statsToShow": [
        "addon",
        "filter",
        "timing"
      ]
    },
    "usePosterServiceForMeta": true,
    "posterService": "rpdb",
    "usePosterRedirectApi": true,
    "requiredVisualTags": [],
    "includedVisualTags": [],
    "ageRangeTypes": [
      "usenet"
    ],
    "digitalReleaseFilter": {
      "enabled": true,
      "requestTypes": [
        "movie",
        "series"
      ],
      "tolerance": 10,
      "addons": []
    },
    "mergedCatalogs": [],
    "titleMatching": {
      "enabled": true,
      "mode": "exact",
      "similarityThreshold": 1,
      "requestTypes": [
        "movie",
        "series",
        "anime"
      ],
      "addons": []
    },
    "yearMatching": {
      "enabled": true,
      "strict": true,
      "requestTypes": [
        "movie",
        "series",
        "anime"
      ],
      "addons": []
    },
    "seasonEpisodeMatching": {
      "enabled": true,
      "strict": true,
      "requestTypes": [
        "series"
      ],
      "addons": []
    },
    "preferredRegexPatterns": [],
    "syncedPreferredRegexUrls": [],
    "rankedStreamExpressions": [],
    "excludedStreamExpressions": [],
    "preferredStreamExpressions": [],
    "includedStreamExpressions": [],
    "hideErrors": true,
    "requiredStreamTypes": [],
    "excludedStreamTypes": {
      "__if": "services or inputs.httpAddons == only",
      "__value": [
        "p2p"
      ]
    },
    "includedStreamTypes": [],
    "requiredAudioChannels": [],
    "excludedAudioChannels": [],
    "includedAudioChannels": [],
    "preferredAudioChannels": [],
    "excludedKeywords": [
      "r00",
      "iso"
    ],
    "dynamicAddonFetching": {
      "enabled": false,
      "condition": "((count(regexMatched(resolution(language(quality(cached(totalStreams),'Bluray REMUX','Bluray','WEB-DL'),'{{inputs.languages}}'),'2160p')))>=3 or count(regexMatched(resolution(language(quality(cached(totalStreams),'Bluray REMUX','Bluray','WEB-DL'),'Original','Dual Audio','Multi','Dubbed','Unknown'),'2160p')))>=5) and (count(regexMatched(resolution(cached(totalStreams),'2160p')))>=5 or count(regexMatched(resolution(cached(totalStreams),'1080p')))>=5)) or (count(cached(totalStreams))>=5 and totalTimeTaken>{{inputs.timeout}}) or (totalTimeTaken>{{inputs.timeout}}+3000)"
    },
    "groups": {
      "enabled": false,
      "behaviour": "parallel",
      "addons": []
    },
    "preloadStreams": {
      "enabled": true
    },
    "syncedExcludedStreamExpressionUrls": [
      "https://raw.githubusercontent.com/Tam-Taro/SEL-Filtering-and-Sorting/refs/heads/main/AIOStreams-SyncedURLs/Tamtaro-synced-ESEs-extended.json"
    ],
    "syncedIncludedStreamExpressionUrls": [
      "https://raw.githubusercontent.com/Tam-Taro/SEL-Filtering-and-Sorting/refs/heads/main/AIOStreams-SyncedURLs/Tamtaro-synced-ISEs.json"
    ],
    "syncedPreferredStreamExpressionUrls": [
      "https://raw.githubusercontent.com/Tam-Taro/SEL-Filtering-and-Sorting/refs/heads/main/AIOStreams-SyncedURLs/Tamtaro-synced-PSEs.json"
    ],
    "syncedExcludedRegexUrls": [
      "https://raw.githubusercontent.com/Tam-Taro/SEL-Filtering-and-Sorting/refs/heads/main/AIOStreams-SyncedURLs/Tamtaro-synced-excluded-regex.json"
    ],
    "syncedRankedRegexUrls": [
      "https://raw.githubusercontent.com/Vidhin05/Releases-Regex/main/English/regexes.json"
    ],
    "syncedRankedStreamExpressionUrls": [
      "https://raw.githubusercontent.com/Vidhin05/Releases-Regex/main/English/expressions.json"
    ],
    "enableSeadex": true,
    "regexOverrides": [],
    "showChanges": true
  }
}
