Twitter/X Media Batch Downloader Pro

Batch download all images & videos from any X/Twitter account — including withheld — in original quality, one click, no login.

在您安装前,Greasy Fork 希望您知道此脚本声明其包含了一些负面功能。这些功能也许会使脚本作者获利,而不能给您带来任何直接的金钱收益。

您只有在付费后才能使用脚本的全部功能。Greasy Fork 未参与到支付的流程,因此无法验证您是否获得了有价值的东西,亦无法帮助您申请退款。 脚本作者的说明: Using this script requires an active monthly subscription.

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。

您需要先安装用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name            Twitter/X Media Batch Downloader Pro
// @name:zh         Twitter 媒体批量下载器 Pro
// @name:ja         Twitter メディア一括ダウンローダー Pro
// @description     Batch download all images & videos from any X/Twitter account — including withheld — in original quality, one click, no login.
// @description:zh  批量下载任何 X/Twitter 账号的所有图片和视频(包括受限账号),原始质量,一键操作,无需登录。
// @description:ja  X/Twitter アカウントからすべての画像と動画(制限付きアカウントを含む)を元の品質で一括ダウンロード、ワンクリック、ログイン不要。
// @antifeature     payment Using this script requires an active monthly subscription.
// @icon            data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAYAAAD0eNT6AAA0jWNhQlgAADSNanVtYgAAAB5qdW1kYzJwYQARABCAAACqADibcQNjMnBhAAAANGdqdW1iAAAATWp1bWRjMm1hABEAEIAAAKoAOJtxA2Fkb2JlOnVybjp1dWlkOjAxMDUxZTgxLTdjODYtNGM2Zi05ZWI3LWQ2ODMyYjE2MDcyYQAAAAG0anVtYgAAAClqdW1kYzJhcwARABCAAACqADibcQNjMnBhLmFzc2VydGlvbnMAAAAA2Gp1bWIAAAAmanVtZGNib3IAEQAQgAAAqgA4m3EDYzJwYS5hY3Rpb25zAAAAAKpjYm9yoWdhY3Rpb25zgaNmYWN0aW9ua2MycGEuZWRpdGVkbXNvZnR3YXJlQWdlbnRtQWRvYmUgRmlyZWZseXFkaWdpdGFsU291cmNlVHlwZXhUaHR0cHM6Ly9jdi5pcHRjLm9yZy9uZXdzY29kZXMvZGlnaXRhbHNvdXJjZXR5cGUvY29tcG9zaXRlV2l0aFRyYWluZWRBbGdvcml0aG1pY01lZGlhAAAAq2p1bWIAAAAoanVtZGNib3IAEQAQgAAAqgA4m3EDYzJwYS5oYXNoLmRhdGEAAAAAe2Nib3KlamV4Y2x1c2lvbnOBomVzdGFydBghZmxlbmd0aBk0mWRuYW1lbmp1bWJmIG1hbmlmZXN0Y2FsZ2ZzaGEyNTZkaGFzaFggMD4YYfuuyS4zr1xZ43vCYDS39xrKTXMUA6ouyX7s5bZjcGFkSAAAAAAAAAAAAAACTmp1bWIAAAAkanVtZGMyY2wAEQAQgAAAqgA4m3EDYzJwYS5jbGFpbQAAAAIiY2JvcqhoZGM6dGl0bGVvR2VuZXJhdGVkIEltYWdlaWRjOmZvcm1hdGlpbWFnZS9wbmdqaW5zdGFuY2VJRHgseG1wOmlpZDoxYmQwODcyNy03YTc1LTQyNDgtODM4MS03ZjAzZTg3OTIyNjFvY2xhaW1fZ2VuZXJhdG9yeFlBZG9iZV9QaG90b3Nob3AvMjUuMC4wIChidWlsZCAyMDIzMDkwNi5yLjM3IGIxNGUzMTc7IHdpbikgYWRvYmVfYzJwYS8wLjcuNiBjMnBhLXJzLzAuMjUuMnRjbGFpbV9nZW5lcmF0b3JfaW5mb4G/ZG5hbWVvQWRvYmVfUGhv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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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
// @namespace       https://exyezed.cc
// @supportURL      https://www.patreon.com/exyezed
// @homepageURL     https://www.patreon.com/exyezed
// @version         1.1.0
// @author          exyezed
// @license         MIT
// @match           *://twitter.com/*
// @match           *://x.com/*
// @require         https://cdn.jsdelivr.net/npm/[email protected]/dayjs.min.js
// @require         https://cdn.jsdelivr.net/npm/[email protected]/dist/dexie.min.js
// @require         https://cdn.jsdelivr.net/npm/[email protected]/dist/FileSaver.min.js
// @require         https://cdn.jsdelivr.net/npm/[email protected]/dist/gifshot.min.js
// @require         https://cdn.jsdelivr.net/npm/[email protected]/i18next.min.js
// @require         https://cdn.jsdelivr.net/npm/[email protected]/dist/preact.min.js
// @require         https://cdn.jsdelivr.net/npm/[email protected]/hooks/dist/hooks.umd.js
// @require         https://cdn.jsdelivr.net/npm/@preact/[email protected]/dist/signals-core.min.js
// @require         https://cdn.jsdelivr.net/npm/@preact/[email protected]/dist/signals.min.js
// @require         https://cdn.jsdelivr.net/npm/[email protected]/umd/index.min.js
// @connect         oregon.exyezed.cc
// @connect         frankfurt.exyezed.cc
// @connect         singapore.exyezed.cc
// @grant           GM_addStyle
// @grant           GM_xmlhttpRequest
// @grant           unsafeWindow
// @run-at          document-start
// ==/UserScript==

(function (preact, signals, hooks, i18next, dayjs, Dexie, fileSaverEs, gifshot, fflate) {
  'use strict';

  var f = 0;
  function u(e, t, n, o, i, u2) {
    t || (t = {});
    var a, c, p = t;
    if ("ref" in p) for (c in p = {}, t) "ref" == c ? a = t[c] : p[c] = t[c];
    var l = { type: e, props: p, key: n, ref: a, __k: null, __: null, __b: 0, __e: null, __c: null, constructor: void 0, __v: --f, __i: -1, __u: 0, __source: i, __self: u2 };
    if ("function" == typeof e && (a = e.defaultProps)) for (c in a) void 0 === p[c] && (p[c] = a[c]);
    return preact.options.vnode && preact.options.vnode(l), l;
  }
  var defaultAttributes = {
    outline: {
      xmlns: "http://www.w3.org/2000/svg",
      width: 24,
      height: 24,
      viewBox: "0 0 24 24",
      fill: "none",
      stroke: "currentColor",
      "stroke-width": 2,
      "stroke-linecap": "round",
      "stroke-linejoin": "round"
    },
    filled: {
      xmlns: "http://www.w3.org/2000/svg",
      width: 24,
      height: 24,
      viewBox: "0 0 24 24",
      fill: "currentColor",
      stroke: "none"
    }
  };
  const createPreactComponent = (type, iconName, iconNamePascal, iconNode) => {
    const Component2 = ({
      color = "currentColor",
      size = 24,
      stroke = 2,
      title,
      children,
      className = "",
      class: classes = "",
      style,
      ...rest
    }) => preact.h(
      "svg",
      {
        ...defaultAttributes[type],
        width: String(size),
        height: String(size),
        class: [`tabler-icon`, `tabler-icon-${iconName}`, classes, className].join(" "),
        ...type === "filled" ? {
          fill: color
        } : {
          "stroke-width": stroke,
          stroke: color
        },
        style,
        ...rest
      },
      [
        title && preact.h("title", {}, title),
        ...iconNode.map(([tag, attrs]) => preact.h(tag, attrs)),
        ...preact.toChildArray(children)
      ]
    );
    Component2.displayName = `${iconNamePascal}`;
    return Component2;
  };
  var IconAlertTriangle = createPreactComponent("outline", "alert-triangle", "AlertTriangle", [["path", { "d": "M12 9v4", "key": "svg-0" }], ["path", { "d": "M10.363 3.591l-8.106 13.534a1.914 1.914 0 0 0 1.636 2.871h16.214a1.914 1.914 0 0 0 1.636 -2.87l-8.106 -13.536a1.914 1.914 0 0 0 -3.274 0z", "key": "svg-1" }], ["path", { "d": "M12 16h.01", "key": "svg-2" }]]);
  var IconBook = createPreactComponent("outline", "book", "Book", [["path", { "d": "M3 19a9 9 0 0 1 9 0a9 9 0 0 1 9 0", "key": "svg-0" }], ["path", { "d": "M3 6a9 9 0 0 1 9 0a9 9 0 0 1 9 0", "key": "svg-1" }], ["path", { "d": "M3 6l0 13", "key": "svg-2" }], ["path", { "d": "M12 6l0 13", "key": "svg-3" }], ["path", { "d": "M21 6l0 13", "key": "svg-4" }]]);
  var IconBrandChrome = createPreactComponent("outline", "brand-chrome", "BrandChrome", [["path", { "d": "M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0", "key": "svg-0" }], ["path", { "d": "M12 12m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0", "key": "svg-1" }], ["path", { "d": "M12 9h8.4", "key": "svg-2" }], ["path", { "d": "M14.598 13.5l-4.2 7.275", "key": "svg-3" }], ["path", { "d": "M9.402 13.5l-4.2 -7.275", "key": "svg-4" }]]);
  var IconBrandPatreon = createPreactComponent("outline", "brand-patreon", "BrandPatreon", [["path", { "d": "M20 8.408c-.003 -2.299 -1.746 -4.182 -3.79 -4.862c-2.54 -.844 -5.888 -.722 -8.312 .453c-2.939 1.425 -3.862 4.545 -3.896 7.656c-.028 2.559 .22 9.297 3.92 9.345c2.75 .036 3.159 -3.603 4.43 -5.356c.906 -1.247 2.071 -1.599 3.506 -1.963c2.465 -.627 4.146 -2.626 4.142 -5.273z", "key": "svg-0" }]]);
  var IconBrandTwitter = createPreactComponent("outline", "brand-twitter", "BrandTwitter", [["path", { "d": "M22 4.01c-1 .49 -1.98 .689 -3 .99c-1.121 -1.265 -2.783 -1.335 -4.38 -.737s-2.643 2.06 -2.62 3.737v1c-3.245 .083 -6.135 -1.395 -8 -4c0 0 -4.182 7.433 4 11c-1.872 1.247 -3.739 2.088 -6 2c3.308 1.803 6.913 2.423 10.034 1.517c3.58 -1.04 6.522 -3.723 7.651 -7.742a13.84 13.84 0 0 0 .497 -3.753c0 -.249 1.51 -2.772 1.818 -4.013z", "key": "svg-0" }]]);
  var IconCalendarWeek = createPreactComponent("outline", "calendar-week", "CalendarWeek", [["path", { "d": "M4 7a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2v-12z", "key": "svg-0" }], ["path", { "d": "M16 3v4", "key": "svg-1" }], ["path", { "d": "M8 3v4", "key": "svg-2" }], ["path", { "d": "M4 11h16", "key": "svg-3" }], ["path", { "d": "M7 14h.013", "key": "svg-4" }], ["path", { "d": "M10.01 14h.005", "key": "svg-5" }], ["path", { "d": "M13.01 14h.005", "key": "svg-6" }], ["path", { "d": "M16.015 14h.005", "key": "svg-7" }], ["path", { "d": "M13.015 17h.005", "key": "svg-8" }], ["path", { "d": "M7.01 17h.005", "key": "svg-9" }], ["path", { "d": "M10.01 17h.005", "key": "svg-10" }]]);
  var IconChevronLeft = createPreactComponent("outline", "chevron-left", "ChevronLeft", [["path", { "d": "M15 6l-6 6l6 6", "key": "svg-0" }]]);
  var IconChevronRight = createPreactComponent("outline", "chevron-right", "ChevronRight", [["path", { "d": "M9 6l6 6l-6 6", "key": "svg-0" }]]);
  var IconCircleCheck = createPreactComponent("outline", "circle-check", "CircleCheck", [["path", { "d": "M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0", "key": "svg-0" }], ["path", { "d": "M9 12l2 2l4 -4", "key": "svg-1" }]]);
  var IconCircleX = createPreactComponent("outline", "circle-x", "CircleX", [["path", { "d": "M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0", "key": "svg-0" }], ["path", { "d": "M10 10l4 4m0 -4l-4 4", "key": "svg-1" }]]);
  var IconCloudDown = createPreactComponent("outline", "cloud-down", "CloudDown", [["path", { "d": "M12 18.004h-5.343c-2.572 -.004 -4.657 -2.011 -4.657 -4.487c0 -2.475 2.085 -4.482 4.657 -4.482c.393 -1.762 1.794 -3.2 3.675 -3.773c1.88 -.572 3.956 -.193 5.444 1c1.488 1.19 2.162 3.007 1.77 4.769h.99c1.38 0 2.573 .813 3.13 1.99", "key": "svg-0" }], ["path", { "d": "M19 16v6", "key": "svg-1" }], ["path", { "d": "M22 19l-3 3l-3 -3", "key": "svg-2" }]]);
  var IconCloudUp = createPreactComponent("outline", "cloud-up", "CloudUp", [["path", { "d": "M12 18.004h-5.343c-2.572 -.004 -4.657 -2.011 -4.657 -4.487c0 -2.475 2.085 -4.482 4.657 -4.482c.393 -1.762 1.794 -3.2 3.675 -3.773c1.88 -.572 3.956 -.193 5.444 1c1.488 1.19 2.162 3.007 1.77 4.769h.99c1.38 0 2.57 .811 3.128 1.986", "key": "svg-0" }], ["path", { "d": "M19 22v-6", "key": "svg-1" }], ["path", { "d": "M22 19l-3 -3l-3 3", "key": "svg-2" }]]);
  var IconDatabaseExport = createPreactComponent("outline", "database-export", "DatabaseExport", [["path", { "d": "M4 6c0 1.657 3.582 3 8 3s8 -1.343 8 -3s-3.582 -3 -8 -3s-8 1.343 -8 3", "key": "svg-0" }], ["path", { "d": "M4 6v6c0 1.657 3.582 3 8 3c1.118 0 2.183 -.086 3.15 -.241", "key": "svg-1" }], ["path", { "d": "M20 12v-6", "key": "svg-2" }], ["path", { "d": "M4 12v6c0 1.657 3.582 3 8 3c.157 0 .312 -.002 .466 -.005", "key": "svg-3" }], ["path", { "d": "M16 19h6", "key": "svg-4" }], ["path", { "d": "M19 16l3 3l-3 3", "key": "svg-5" }]]);
  var IconDatabaseImport = createPreactComponent("outline", "database-import", "DatabaseImport", [["path", { "d": "M4 6c0 1.657 3.582 3 8 3s8 -1.343 8 -3s-3.582 -3 -8 -3s-8 1.343 -8 3", "key": "svg-0" }], ["path", { "d": "M4 6v6c0 1.657 3.582 3 8 3c.856 0 1.68 -.05 2.454 -.144m5.546 -2.856v-6", "key": "svg-1" }], ["path", { "d": "M4 12v6c0 1.657 3.582 3 8 3c.171 0 .341 -.002 .51 -.006", "key": "svg-2" }], ["path", { "d": "M19 22v-6", "key": "svg-3" }], ["path", { "d": "M22 19l-3 -3l-3 3", "key": "svg-4" }]]);
  var IconDatabaseSearch = createPreactComponent("outline", "database-search", "DatabaseSearch", [["path", { "d": "M4 6c0 1.657 3.582 3 8 3s8 -1.343 8 -3s-3.582 -3 -8 -3s-8 1.343 -8 3", "key": "svg-0" }], ["path", { "d": "M4 6v6c0 1.657 3.582 3 8 3m8 -3.5v-5.5", "key": "svg-1" }], ["path", { "d": "M4 12v6c0 1.657 3.582 3 8 3", "key": "svg-2" }], ["path", { "d": "M18 18m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0", "key": "svg-3" }], ["path", { "d": "M20.2 20.2l1.8 1.8", "key": "svg-4" }]]);
  var IconDatabaseX = createPreactComponent("outline", "database-x", "DatabaseX", [["path", { "d": "M4 6c0 1.657 3.582 3 8 3s8 -1.343 8 -3s-3.582 -3 -8 -3s-8 1.343 -8 3", "key": "svg-0" }], ["path", { "d": "M4 6v6c0 1.657 3.582 3 8 3c.537 0 1.062 -.02 1.57 -.058", "key": "svg-1" }], ["path", { "d": "M20 13.5v-7.5", "key": "svg-2" }], ["path", { "d": "M4 12v6c0 1.657 3.582 3 8 3c.384 0 .762 -.01 1.132 -.03", "key": "svg-3" }], ["path", { "d": "M22 22l-5 -5", "key": "svg-4" }], ["path", { "d": "M17 22l5 -5", "key": "svg-5" }]]);
  var IconDatabase = createPreactComponent("outline", "database", "Database", [["path", { "d": "M12 6m-8 0a8 3 0 1 0 16 0a8 3 0 1 0 -16 0", "key": "svg-0" }], ["path", { "d": "M4 6v6a8 3 0 0 0 16 0v-6", "key": "svg-1" }], ["path", { "d": "M4 12v6a8 3 0 0 0 16 0v-6", "key": "svg-2" }]]);
  var IconDownload = createPreactComponent("outline", "download", "Download", [["path", { "d": "M4 17v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2 -2v-2", "key": "svg-0" }], ["path", { "d": "M7 11l5 5l5 -5", "key": "svg-1" }], ["path", { "d": "M12 4l0 12", "key": "svg-2" }]]);
  var IconExclamationCircle = createPreactComponent("outline", "exclamation-circle", "ExclamationCircle", [["path", { "d": "M12 12m-9 0a9 9 0 1 0 18 0a9 9 0 1 0 -18 0", "key": "svg-0" }], ["path", { "d": "M12 9v4", "key": "svg-1" }], ["path", { "d": "M12 16v.01", "key": "svg-2" }]]);
  var IconExternalLink = createPreactComponent("outline", "external-link", "ExternalLink", [["path", { "d": "M12 6h-6a2 2 0 0 0 -2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2 -2v-6", "key": "svg-0" }], ["path", { "d": "M11 13l9 -9", "key": "svg-1" }], ["path", { "d": "M15 4h5v5", "key": "svg-2" }]]);
  var IconEyeOff = createPreactComponent("outline", "eye-off", "EyeOff", [["path", { "d": "M10.585 10.587a2 2 0 0 0 2.829 2.828", "key": "svg-0" }], ["path", { "d": "M16.681 16.673a8.717 8.717 0 0 1 -4.681 1.327c-3.6 0 -6.6 -2 -9 -6c1.272 -2.12 2.712 -3.678 4.32 -4.674m2.86 -1.146a9.055 9.055 0 0 1 1.82 -.18c3.6 0 6.6 2 9 6c-.666 1.11 -1.379 2.067 -2.138 2.87", "key": "svg-1" }], ["path", { "d": "M3 3l18 18", "key": "svg-2" }]]);
  var IconEye = createPreactComponent("outline", "eye", "Eye", [["path", { "d": "M10 12a2 2 0 1 0 4 0a2 2 0 0 0 -4 0", "key": "svg-0" }], ["path", { "d": "M21 12c-2.4 4 -5.4 6 -9 6c-3.6 0 -6.6 -2 -9 -6c2.4 -4 5.4 -6 9 -6c3.6 0 6.6 2 9 6", "key": "svg-1" }]]);
  var IconFileDownload = createPreactComponent("outline", "file-download", "FileDownload", [["path", { "d": "M14 3v4a1 1 0 0 0 1 1h4", "key": "svg-0" }], ["path", { "d": "M17 21h-10a2 2 0 0 1 -2 -2v-14a2 2 0 0 1 2 -2h7l5 5v11a2 2 0 0 1 -2 2z", "key": "svg-1" }], ["path", { "d": "M12 17v-6", "key": "svg-2" }], ["path", { "d": "M9.5 14.5l2.5 2.5l2.5 -2.5", "key": "svg-3" }]]);
  var IconFileTypeJs = createPreactComponent("outline", "file-type-js", "FileTypeJs", [["path", { "d": "M14 3v4a1 1 0 0 0 1 1h4", "key": "svg-0" }], ["path", { "d": "M3 15h3v4.5a1.5 1.5 0 0 1 -3 0", "key": "svg-1" }], ["path", { "d": "M9 20.25c0 .414 .336 .75 .75 .75h1.25a1 1 0 0 0 1 -1v-1a1 1 0 0 0 -1 -1h-1a1 1 0 0 1 -1 -1v-1a1 1 0 0 1 1 -1h1.25a.75 .75 0 0 1 .75 .75", "key": "svg-2" }], ["path", { "d": "M5 12v-7a2 2 0 0 1 2 -2h7l5 5v11a2 2 0 0 1 -2 2h-1", "key": "svg-3" }]]);
  var IconGif = createPreactComponent("outline", "gif", "Gif", [["path", { "d": "M8 8h-2a2 2 0 0 0 -2 2v4a2 2 0 0 0 2 2h2v-4h-1", "key": "svg-0" }], ["path", { "d": "M12 8v8", "key": "svg-1" }], ["path", { "d": "M16 12h3", "key": "svg-2" }], ["path", { "d": "M20 8h-4v8", "key": "svg-3" }]]);
  var IconHome = createPreactComponent("outline", "home", "Home", [["path", { "d": "M5 12l-2 0l9 -9l9 9l-2 0", "key": "svg-0" }], ["path", { "d": "M5 12v7a2 2 0 0 0 2 2h10a2 2 0 0 0 2 -2v-7", "key": "svg-1" }], ["path", { "d": "M9 21v-6a2 2 0 0 1 2 -2h2a2 2 0 0 1 2 2v6", "key": "svg-2" }]]);
  var IconInfoCircle = createPreactComponent("outline", "info-circle", "InfoCircle", [["path", { "d": "M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0", "key": "svg-0" }], ["path", { "d": "M12 9h.01", "key": "svg-1" }], ["path", { "d": "M11 12h1v4h1", "key": "svg-2" }]]);
  var IconLibraryPhoto = createPreactComponent("outline", "library-photo", "LibraryPhoto", [["path", { "d": "M7 3m0 2.667a2.667 2.667 0 0 1 2.667 -2.667h8.666a2.667 2.667 0 0 1 2.667 2.667v8.666a2.667 2.667 0 0 1 -2.667 2.667h-8.666a2.667 2.667 0 0 1 -2.667 -2.667z", "key": "svg-0" }], ["path", { "d": "M4.012 7.26a2.005 2.005 0 0 0 -1.012 1.737v10c0 1.1 .9 2 2 2h10c.75 0 1.158 -.385 1.5 -1", "key": "svg-1" }], ["path", { "d": "M17 7h.01", "key": "svg-2" }], ["path", { "d": "M7 13l3.644 -3.644a1.21 1.21 0 0 1 1.712 0l3.644 3.644", "key": "svg-3" }], ["path", { "d": "M15 12l1.644 -1.644a1.21 1.21 0 0 1 1.712 0l2.644 2.644", "key": "svg-4" }]]);
  var IconPhotoEdit = createPreactComponent("outline", "photo-edit", "PhotoEdit", [["path", { "d": "M15 8h.01", "key": "svg-0" }], ["path", { "d": "M11 20h-4a3 3 0 0 1 -3 -3v-10a3 3 0 0 1 3 -3h10a3 3 0 0 1 3 3v4", "key": "svg-1" }], ["path", { "d": "M4 15l4 -4c.928 -.893 2.072 -.893 3 0l3 3", "key": "svg-2" }], ["path", { "d": "M14 14l1 -1c.31 -.298 .644 -.497 .987 -.596", "key": "svg-3" }], ["path", { "d": "M18.42 15.61a2.1 2.1 0 0 1 2.97 2.97l-3.39 3.42h-3v-3l3.42 -3.39z", "key": "svg-4" }]]);
  var IconPhoto = createPreactComponent("outline", "photo", "Photo", [["path", { "d": "M15 8h.01", "key": "svg-0" }], ["path", { "d": "M3 6a3 3 0 0 1 3 -3h12a3 3 0 0 1 3 3v12a3 3 0 0 1 -3 3h-12a3 3 0 0 1 -3 -3v-12z", "key": "svg-1" }], ["path", { "d": "M3 16l5 -5c.928 -.893 2.072 -.893 3 0l5 5", "key": "svg-2" }], ["path", { "d": "M14 14l1 -1c.928 -.893 2.072 -.893 3 0l3 3", "key": "svg-3" }]]);
  var IconPlayerPlay = createPreactComponent("outline", "player-play", "PlayerPlay", [["path", { "d": "M7 4v16l13 -8z", "key": "svg-0" }]]);
  var IconPlayerStop = createPreactComponent("outline", "player-stop", "PlayerStop", [["path", { "d": "M5 5m0 2a2 2 0 0 1 2 -2h10a2 2 0 0 1 2 2v10a2 2 0 0 1 -2 2h-10a2 2 0 0 1 -2 -2z", "key": "svg-0" }]]);
  var IconRestore = createPreactComponent("outline", "restore", "Restore", [["path", { "d": "M3.06 13a9 9 0 1 0 .49 -4.087", "key": "svg-0" }], ["path", { "d": "M3 4.001v5h5", "key": "svg-1" }], ["path", { "d": "M12 12m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0", "key": "svg-2" }]]);
  var IconServer = createPreactComponent("outline", "server", "Server", [["path", { "d": "M3 4m0 3a3 3 0 0 1 3 -3h12a3 3 0 0 1 3 3v2a3 3 0 0 1 -3 3h-12a3 3 0 0 1 -3 -3z", "key": "svg-0" }], ["path", { "d": "M3 12m0 3a3 3 0 0 1 3 -3h12a3 3 0 0 1 3 3v2a3 3 0 0 1 -3 3h-12a3 3 0 0 1 -3 -3z", "key": "svg-1" }], ["path", { "d": "M7 8l0 .01", "key": "svg-2" }], ["path", { "d": "M7 16l0 .01", "key": "svg-3" }]]);
  var IconSettings = createPreactComponent("outline", "settings", "Settings", [["path", { "d": "M10.325 4.317c.426 -1.756 2.924 -1.756 3.35 0a1.724 1.724 0 0 0 2.573 1.066c1.543 -.94 3.31 .826 2.37 2.37a1.724 1.724 0 0 0 1.065 2.572c1.756 .426 1.756 2.924 0 3.35a1.724 1.724 0 0 0 -1.066 2.573c.94 1.543 -.826 3.31 -2.37 2.37a1.724 1.724 0 0 0 -2.572 1.065c-.426 1.756 -2.924 1.756 -3.35 0a1.724 1.724 0 0 0 -2.573 -1.066c-1.543 .94 -3.31 -.826 -2.37 -2.37a1.724 1.724 0 0 0 -1.065 -2.572c-1.756 -.426 -1.756 -2.924 0 -3.35a1.724 1.724 0 0 0 1.066 -2.573c-.94 -1.543 .826 -3.31 2.37 -2.37c1 .608 2.296 .07 2.572 -1.065z", "key": "svg-0" }], ["path", { "d": "M9 12a3 3 0 1 0 6 0a3 3 0 0 0 -6 0", "key": "svg-1" }]]);
  var IconStack2 = createPreactComponent("outline", "stack-2", "Stack2", [["path", { "d": "M12 4l-8 4l8 4l8 -4l-8 -4", "key": "svg-0" }], ["path", { "d": "M4 12l8 4l8 -4", "key": "svg-1" }], ["path", { "d": "M4 16l8 4l8 -4", "key": "svg-2" }]]);
  var IconStack = createPreactComponent("outline", "stack", "Stack", [["path", { "d": "M12 6l-8 4l8 4l8 -4l-8 -4", "key": "svg-0" }], ["path", { "d": "M4 14l8 4l8 -4", "key": "svg-1" }]]);
  var IconTrash = createPreactComponent("outline", "trash", "Trash", [["path", { "d": "M4 7l16 0", "key": "svg-0" }], ["path", { "d": "M10 11l0 6", "key": "svg-1" }], ["path", { "d": "M14 11l0 6", "key": "svg-2" }], ["path", { "d": "M5 7l1 12a2 2 0 0 0 2 2h8a2 2 0 0 0 2 -2l1 -12", "key": "svg-3" }], ["path", { "d": "M9 7v-3a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v3", "key": "svg-4" }]]);
  var IconVideo = createPreactComponent("outline", "video", "Video", [["path", { "d": "M15 10l4.553 -2.276a1 1 0 0 1 1.447 .894v6.764a1 1 0 0 1 -1.447 .894l-4.553 -2.276v-4z", "key": "svg-0" }], ["path", { "d": "M3 6m0 2a2 2 0 0 1 2 -2h8a2 2 0 0 1 2 2v8a2 2 0 0 1 -2 2h-8a2 2 0 0 1 -2 -2z", "key": "svg-1" }]]);
  var IconWriting = createPreactComponent("outline", "writing", "Writing", [["path", { "d": "M20 17v-12c0 -1.121 -.879 -2 -2 -2s-2 .879 -2 2v12l2 2l2 -2z", "key": "svg-0" }], ["path", { "d": "M16 7h4", "key": "svg-1" }], ["path", { "d": "M18 19h-13a2 2 0 1 1 0 -4h4a2 2 0 1 0 0 -4h-3", "key": "svg-2" }]]);
  var IconX = createPreactComponent("outline", "x", "X", [["path", { "d": "M18 6l-12 12", "key": "svg-0" }], ["path", { "d": "M6 6l12 12", "key": "svg-1" }]]);
  var IconUserFilled = createPreactComponent("filled", "user-filled", "UserFilled", [["path", { "d": "M12 2a5 5 0 1 1 -5 5l.005 -.217a5 5 0 0 1 4.995 -4.783z", "key": "svg-0" }], ["path", { "d": "M14 14a5 5 0 0 1 5 5v1a2 2 0 0 1 -2 2h-10a2 2 0 0 1 -2 -2v-1a5 5 0 0 1 5 -5h4z", "key": "svg-1" }]]);
  const ar = { "common": { "Settings": "الإعدادات", "Server": "الخادم", "Choose the server closest to your location for best performance": "اختر الخادم الأقرب إلى موقعك للحصول على أفضل أداء", "Theme": "السمة", "Change Theme": "تغيير السمة", "Language": "اللغة", "Change Language": "تغيير اللغة", "Font Family": "نوع الخط", "System Default": "افتراضي النظام", "Date Time Format": "تنسيق التاريخ والوقت", "Sound Effects": "المؤثرات الصوتية", "Debug": "تشخيص الأخطاء", "Global Settings": "الإعدادات العامة", "Version": "الإصدار", "Common Formats:": "التنسيقات الشائعة:", "Date Formats:": "تنسيقات التاريخ:", "Time Formats:": "تنسيقات الوقت:", "Combined Examples:": "أمثلة مجمعة:", "Localized": "محلي", "Reset Settings": "إعادة تعيين الإعدادات", "Are you sure you want to reset settings to defaults?": "هل أنت متأكد من إعادة تعيين الإعدادات إلى القيم الافتراضية؟", "Reset": "إعادة تعيين", "Cancel": "إلغاء", "Chrome": "Chrome", "Userscript": "سكريبت المستخدم", "Status": "الحالة", "Home": "الصفحة الرئيسية", "Patreon": "Patreon", "Dashboard": "لوحة المراقبة", "Database": "قاعدة البيانات", "Auth": "المصادقة", "Convert Animated GIFs": "تحويل GIF", "Convert GIFs (External)": "تحويل GIF (خارجي)", "Concurrent Downloads": "التنزيلات المتزامنة", "Use 10+ only with fast internet": "استخدم 10+ فقط مع إنترنت سريع", "Smaller size, same quality": "حجم أصغر، نفس الجودة", "Larger size, same quality": "حجم أكبر، نفس الجودة", "Back": "العودة", "Please visit a profile page for auto-detection": "يرجى زيارة صفحة ملف شخصي للاكتشاف التلقائي", "Please configure authentication in the Auth tab first": "يرجى تكوين المصادقة في علامة تبويب المصادقة أولاً", "Invalid username format": "تنسيق اسم المستخدم غير صحيح", "Invalid auth token. Please check your settings.": "رمز المصادقة غير صحيح. يرجى التحقق من إعداداتك.", "Invalid Patreon auth. Please check your settings.": "مصادقة Patreon غير صحيحة. يرجى التحقق من إعداداتك.", "Failed to fetch data": "فشل في جلب البيانات", "Failed to fetch data from all APIs": "فشل جلب البيانات من جميع واجهات برمجة التطبيقات", "Failed to verify auth from all APIs": "فشل التحقق من المصادقة من جميع واجهات برمجة التطبيقات", "Failed to generate token from all APIs": "فشل إنشاء الرمز من جميع واجهات برمجة التطبيقات", "Generating token...": "جارٍ إنشاء الرمز...", "Abort": "إحباط", "Network error occurred": "حدث خطأ في الشبكة", "Request timeout - please try again": "انتهت مهلة الطلب - يرجى المحاولة مرة أخرى", "Failed to parse API response": "فشل تحليل استجابة واجهة برمجة التطبيقات", "Invalid API response structure": "بنية استجابة واجهة برمجة التطبيقات غير صالحة", "Unknown error occurred": "حدث خطأ غير معروف", "HTTP error! status: {{status}}": "خطأ HTTP! الحالة: {{status}}", "Download already in progress": "عملية التنزيل قيد التنفيذ بالفعل", "No media files found": "لم يتم العثور على ملفات وسائط", "Toggle visibility": "إظهار/إخفاء", "Close": "إغلاق", "Converting GIFs...": "...تحويل صور GIF", "Downloading...": "تحميل...", "Download": "تحميل", "Fetching...": "...جارٍ الجلب", "Fetch All": "جلب الكل", "Fetch Video": "جلب الفيديو", "Fetch Image": "جلب الصورة", "Fetch GIF": "جلب GIF", "Posts: {{posts}}": "المنشورات: {{posts}}", "Media: {{media}}": "الوسائط: {{media}}", "Current Media: {{current}} • Total Media: {{total}}": "الوسائط الحالية: {{current}} • إجمالي الوسائط: {{total}}", "Failed to download media": "فشل في تحميل الوسائط", "Demo mode is only available for @xbatchdemo": "وضع العرض التجريبي متاح فقط لـ @xbatchdemo", "Auth Token": "رمز المصادقة", "Enter your auth token": "أدخل رمز المصادقة الخاص بك", "Your authentication token for API access": "رمز المصادقة الخاص بك للوصول إلى API", "Patreon Auth": "مصادقة Patreon", "Enter your Patreon auth": "أدخل مصادقة Patreon الخاصة بك", "Your Patreon authentication key": "مفتاح مصادقة Patreon الخاص بك", "Please enter Patreon auth first": "يرجى إدخال مصادقة Patreon أولاً", "Please verify Patreon auth first": "يرجى التحقق من مصادقة Patreon أولاً", "Patreon auth verified successfully": "تم التحقق من مصادقة Patreon بنجاح", "Invalid Patreon auth": "مصادقة Patreon غير صحيحة", "Verification failed. Please try again": "فشل التحقق. يرجى المحاولة مرة أخرى", "Generating": "إنشاء", "Generate": "إنشاء", "Verify": "التحقق", "Token generated successfully": "تم إنشاء الرمز بنجاح ({{current}}/{{total}})", "Failed to generate token": "فشل في إنشاء الرمز", "Token generation failed. Please try again": "فشل إنشاء الرمز. يرجى المحاولة مرة أخرى", "Verifying": "التحقق", "Verified": "تم التحقق", "Use code": "استخدم الرمز", "for Patreon Auth, click Verify to unlock demo. Test at": 'لمصادقة Patreon، انقر "التحقق" لفتح العرض التجريبي. جرّب في', "Need help with Auth Token? See": "بحاجة إلى مساعدة بخصوص رمز المصادقة؟ راجع", "the guide": "الدليل", "Subscribe": "اشترك", "to get your Patreon Auth code and start downloading with ease!": "للحصول على رمز مصادقة Patreon والبدء في التنزيل بسهولة!", "Report bugs or request features:": "أبلغ عن الأخطاء أو اطلب الميزات:", "Import": "استيراد", "Importing...": "...استيراد", "Supports JSON and ZIP formats": "يدعم تنسيقات JSON و ZIP", "Export": "تصدير", "Export All Data": "تصدير كل البيانات", "Exporting...": "...تصدير", "Clear": "مسح", "Filter by Batch": "تصفية حسب الدفعات", "Are you sure to clear all data in the database?": "هل أنت متأكد من مسح جميع البيانات في قاعدة البيانات؟", "Delete Account Data": "حذف بيانات الحساب", "Are you sure you want to delete account data? This action cannot be undone": "هل أنت متأكد من حذف بيانات {{username}}؟ لا يمكن التراجع عن هذا الإجراء.", "Delete": "حذف", "Deleting...": "...حذف", "Overwrite": "استبدال", "Overwrite Existing Data?": "استبدال البيانات الحالية؟", "Account data for @{{username}} already exists in the database. Do you want to overwrite it?": "بيانات الحساب @{{username}} موجودة بالفعل في قاعدة البيانات. هل تريد استبدالها؟", "No accounts yet": "لا توجد حسابات بعد", "Use Dashboard to fetch data.": "استخدم لوحة المراقبة لجلب البيانات.", "Something went wrong.": "حدث خطأ ما.", "Error:": "خطأ:", "Fetch": "جلب", "Single": "مفرد", "Batch": "دفعات", "Auto Batch": "دفعات تلقائية", "Timeline": "الخط الزمني", "Media": "الوسائط", "Batch Size": "حجم الدُفعة", "Starting Batch": "الدُفعة الابتدائية", "Posts": "المنشورات", "Tweets": "التغريدات", "Replies": "الردود", "All": "الكل", "Image": "صورة", "Video": "فيديو", "GIF": "GIF", "Batch: {{page}}": "الدُفعة: {{page}}", "Start": "بدء", "Stop": "إيقاف", "Prev": "السابق", "Next": "التالي", "Download Current": "تنزيل الحالي", "Download All": "تنزيل الكل", "Use Batch/Auto Batch if single fetch fails": "استخدم الدفعات/الدفعات التلقائية إذا فشل الجلب المفرد", "Load from database": "تحميل من قاعدة البيانات", "Load database": "تحميل قاعدة البيانات", "First Page": "الصفحة الأولى", "Last Page": "الصفحة الأخيرة", "Failed to load data": "فشل في تحميل البيانات", "Update": "تحديث", "Updating...": "...جارٍ التحديث", "Update will fetch the latest data and overwrite the database. Continue?": "سيقوم التحديث بجلب أحدث البيانات والكتابة فوق قاعدة البيانات. هل تريد المتابعة؟", "Followers": "المتابعون", "Following": "المتابَعون", "Joined": "تاريخ الانضمام", "Open": "فتح", "Preview": "معاينة", "View Database": "عرض قاعدة البيانات", "Converting...": "جارٍ التحويل...", "Convert & Download": "تحويل وتحميل", "Date Since": "تاريخ البدء", "Date Until": "تاريخ الانتهاء", "Empty dates will fetch all available media": "التواريخ الفارغة ستجلب جميع الوسائط المتاحة", "Filter by Date Range": "التصفية حسب نطاق التاريخ", "Include Retweets": "تضمين إعادة التغريد", "Not supported with Media timeline": "غير مدعوم مع الجدول الزمني للوسائط", "No media found for date range {{since}} to {{until}}": "لم يتم العثور على وسائط للفترة من {{since}} إلى {{until}}", "No tweets found for this account": "لم يتم العثور على تغريدات لهذا الحساب", "No media found in {{count}} tweets": "لم يتم العثور على وسائط في {{count}} تغريدة" } };
  const de = { "common": { "Settings": "Einstellungen", "Server": "Server", "Choose the server closest to your location for best performance": "Wählen Sie den Server, der Ihrem Standort am nächsten ist, für die beste Leistung", "Theme": "Design", "Change Theme": "Design ändern", "Language": "Sprache", "Change Language": "Sprache ändern", "Font Family": "Schriftart", "System Default": "Systemstandard", "Date Time Format": "Datum-Uhrzeit-Format", "Sound Effects": "Soundeffekte", "Debug": "Debug", "Global Settings": "Globale Einstellungen", "Version": "Version", "Common Formats:": "Häufige Formate:", "Date Formats:": "Datumsformate:", "Time Formats:": "Zeitformate:", "Combined Examples:": "Kombinierte Beispiele:", "Localized": "Lokalisiert", "Reset Settings": "Einstellungen zurücksetzen", "Are you sure you want to reset settings to defaults?": "Sind Sie sicher, dass Sie die Einstellungen auf Standardwerte zurücksetzen möchten?", "Reset": "Zurücksetzen", "Cancel": "Abbrechen", "Chrome": "Chrome", "Userscript": "Benutzerskript", "Status": "Status", "Home": "Startseite", "Patreon": "Patreon", "Dashboard": "Dashboard", "Database": "Datenbank", "Auth": "Authentifizierung", "Convert Animated GIFs": "GIFs konvertieren", "Convert GIFs (External)": "GIFs konvertieren (Extern)", "Concurrent Downloads": "Gleichzeitige Downloads", "Use 10+ only with fast internet": "10+ nur bei schneller Internetverbindung verwenden", "Smaller size, same quality": "Kleinere Größe, gleiche Qualität", "Larger size, same quality": "Größere Größe, gleiche Qualität", "Back": "Zurück", "Please visit a profile page for auto-detection": "Bitte besuchen Sie eine Profilseite für die automatische Erkennung", "Please configure authentication in the Auth tab first": "Bitte konfigurieren Sie zuerst die Authentifizierung im Auth-Tab", "Invalid username format": "Ungültiges Benutzernamen-Format", "Invalid auth token. Please check your settings.": "Ungültiger Auth-Token. Bitte überprüfen Sie Ihre Einstellungen.", "Invalid Patreon auth. Please check your settings.": "Ungültige Patreon-Authentifizierung. Bitte überprüfen Sie Ihre Einstellungen.", "Failed to fetch data": "Daten konnten nicht abgerufen werden", "Failed to fetch data from all APIs": "Fehler beim Abrufen der Daten von allen APIs", "Failed to verify auth from all APIs": "Fehler bei der Überprüfung der Authentifizierung über alle APIs", "Failed to generate token from all APIs": "Fehler beim Generieren des Tokens über alle APIs", "Generating token...": "Token wird generiert...", "Abort": "Abbrechen", "Network error occurred": "Es ist ein Netzwerkfehler aufgetreten", "Request timeout - please try again": "Zeitüberschreitung der Anforderung – bitte erneut versuchen", "Failed to parse API response": "API-Antwort konnte nicht analysiert werden", "Invalid API response structure": "Ungültige API-Antwortstruktur", "Unknown error occurred": "Unbekannter Fehler ist aufgetreten", "HTTP error! status: {{status}}": "HTTP-Fehler! Status: {{status}}", "Download already in progress": "Download läuft bereits", "No media files found": "Keine Mediendateien gefunden", "Toggle visibility": "Ein-/Ausblenden", "Close": "Schließen", "Converting GIFs...": "GIFs werden konvertiert...", "Downloading...": "Herunterladen...", "Download": "Herunterladen", "Fetching...": "Abrufen...", "Fetch All": "Alle abrufen", "Fetch Video": "Video abrufen", "Fetch Image": "Bild abrufen", "Fetch GIF": "GIF abrufen", "Posts: {{posts}}": "Beiträge: {{posts}}", "Media: {{media}}": "Medien: {{media}}", "Current Media: {{current}} • Total Media: {{total}}": "Aktuelle Medien: {{current}} • Medien gesamt: {{total}}", "Failed to download media": "Medien konnten nicht heruntergeladen werden", "Demo mode is only available for @xbatchdemo": "Der Demo-Modus ist nur für @xbatchdemo verfügbar", "Auth Token": "Auth-Token", "Enter your auth token": "Geben Sie Ihren Auth-Token ein", "Your authentication token for API access": "Ihr Authentifizierungs-Token für API-Zugriff", "Patreon Auth": "Patreon-Authentifizierung", "Enter your Patreon auth": "Geben Sie Ihre Patreon-Authentifizierung ein", "Your Patreon authentication key": "Ihr Patreon-Authentifizierungsschlüssel", "Please enter Patreon auth first": "Bitte geben Sie zuerst die Patreon-Authentifizierung ein", "Please verify Patreon auth first": "Bitte überprüfen Sie zuerst die Patreon-Authentifizierung", "Patreon auth verified successfully": "Patreon-Authentifizierung erfolgreich überprüft", "Invalid Patreon auth": "Ungültige Patreon-Authentifizierung", "Verification failed. Please try again": "Überprüfung fehlgeschlagen. Bitte versuchen Sie es erneut", "Generating": "Generieren", "Generate": "Generieren", "Verify": "Überprüfen", "Token generated successfully": "Token erfolgreich generiert ({{current}}/{{total}})", "Failed to generate token": "Token-Generierung fehlgeschlagen", "Token generation failed. Please try again": "Token-Generierung fehlgeschlagen. Bitte versuchen Sie es erneut", "Verifying": "Überprüfen", "Verified": "Überprüft", "Use code": "Verwenden Sie den Code", "for Patreon Auth, click Verify to unlock demo. Test at": "für die Patreon-Authentifizierung, klicken Sie auf „Überprüfen“, um die Demo freizuschalten. Testen bei", "Need help with Auth Token? See": "Benötigen Sie Hilfe mit dem Auth-Token? Siehe", "the guide": "die Anleitung", "Subscribe": "Abonnieren", "to get your Patreon Auth code and start downloading with ease!": "um Ihren Patreon-Authentifizierungscode zu erhalten und mühelos mit dem Herunterladen zu beginnen!", "Report bugs or request features:": "Fehler melden oder Funktionen anfordern:", "Import": "Importieren", "Importing...": "Importieren...", "Supports JSON and ZIP formats": "Unterstützt JSON- und ZIP-Formate", "Export": "Exportieren", "Export All Data": "Alle Daten exportieren", "Exporting...": "Exportieren...", "Clear": "Löschen", "Filter by Batch": "Nach Stapel filtern", "Are you sure to clear all data in the database?": "Sind Sie sicher, dass Sie alle Daten in der Datenbank löschen möchten?", "Delete Account Data": "Kontodaten löschen", "Are you sure you want to delete account data? This action cannot be undone": "Sind Sie sicher, dass Sie die Daten von {{username}} löschen möchten? Diese Aktion kann nicht rückgängig gemacht werden.", "Delete": "Löschen", "Deleting...": "Löschen...", "Overwrite": "Überschreiben", "Overwrite Existing Data?": "Vorhandene Daten überschreiben?", "Account data for @{{username}} already exists in the database. Do you want to overwrite it?": "Kontodaten für @{{username}} existieren bereits in der Datenbank. Möchten Sie sie überschreiben?", "No accounts yet": "Noch keine Konten", "Use Dashboard to fetch data.": "Verwenden Sie das Dashboard zum Abrufen von Daten.", "Something went wrong.": "Etwas ist schief gelaufen.", "Error:": "Fehler:", "Fetch": "Abrufen", "Single": "Einzel", "Batch": "Stapel", "Auto Batch": "Auto-Stapel", "Timeline": "Timeline", "Media": "Medien", "Batch Size": "Stapelgröße", "Starting Batch": "Startstapel", "Posts": "Beiträge", "Tweets": "Tweets", "Replies": "Antworten", "All": "Alle", "Image": "Bild", "Video": "Video", "GIF": "GIF", "Batch: {{page}}": "Stapel: {{page}}", "Start": "Start", "Stop": "Stopp", "Prev": "Zurück", "Next": "Weiter", "Download Current": "Aktuelles herunterladen", "Download All": "Alles herunterladen", "Use Batch/Auto Batch if single fetch fails": "Verwende Stapel/Auto-Stapel, wenn Einzelabruf fehlschlägt", "Load from database": "Aus Datenbank laden", "Load database": "Datenbank laden", "First Page": "Erste Seite", "Last Page": "Letzte Seite", "Failed to load data": "Daten konnten nicht geladen werden", "Update": "Aktualisieren", "Updating...": "Aktualisierung läuft...", "Update will fetch the latest data and overwrite the database. Continue?": "Das Update holt die neuesten Daten und überschreibt die Datenbank. Fortfahren?", "Followers": "Follower", "Following": "Folge ich", "Joined": "Beigetreten", "Open": "Öffnen", "Preview": "Vorschau", "View Database": "Datenbank anzeigen", "Converting...": "Konvertieren...", "Convert & Download": "Konvertieren & Herunterladen", "Date Since": "Datum Von", "Date Until": "Datum Bis", "Empty dates will fetch all available media": "Leere Daten holen alle verfügbaren Medien", "Filter by Date Range": "Nach Datumsbereich filtern", "Include Retweets": "Retweets einbeziehen", "Not supported with Media timeline": "Nicht unterstützt mit Medien-Timeline", "No media found for date range {{since}} to {{until}}": "Keine Medien für den Zeitraum {{since}} bis {{until}} gefunden", "No tweets found for this account": "Keine Tweets für dieses Konto gefunden", "No media found in {{count}} tweets": "Keine Medien in {{count}} Tweets gefunden" } };
  const en$1 = { "common": { "Settings": "Settings", "Server": "Server", "Choose the server closest to your location for best performance": "Choose the server closest to your location for best performance", "Theme": "Theme", "Change Theme": "Change Theme", "Language": "Language", "Change Language": "Change Language", "Font Family": "Font Family", "System Default": "System Default", "Date Time Format": "Date Time Format", "Sound Effects": "Sound Effects", "Debug": "Debug", "Global Settings": "Global Settings", "Version": "Version", "Common Formats:": "Common Formats:", "Date Formats:": "Date Formats:", "Time Formats:": "Time Formats:", "Combined Examples:": "Combined Examples:", "Localized": "Localized", "Reset Settings": "Reset Settings", "Are you sure you want to reset settings to defaults?": "Are you sure you want to reset settings to defaults?", "Reset": "Reset", "Cancel": "Cancel", "Chrome": "Chrome", "Userscript": "Userscript", "Status": "Status", "Home": "Home", "Patreon": "Patreon", "Dashboard": "Dashboard", "Database": "Database", "Auth": "Auth", "Convert Animated GIFs": "Convert GIFs", "Convert GIFs (External)": "Convert GIFs (External)", "Concurrent Downloads": "Concurrent Downloads", "Use 10+ only with fast internet": "Use 10+ only with fast internet", "Smaller size, same quality": "Smaller size, same quality", "Larger size, same quality": "Larger size, same quality", "Back": "Back", "Please visit a profile page for auto-detection": "Please visit a profile page for auto-detection", "Please configure authentication in the Auth tab first": "Please configure authentication in the Auth tab first", "Invalid username format": "Invalid username format", "Invalid auth token. Please check your settings.": "Invalid auth token. Please check your settings.", "Invalid Patreon auth. Please check your settings.": "Invalid Patreon auth. Please check your settings.", "Failed to fetch data": "Failed to fetch data", "Failed to fetch data from all APIs": "Failed to fetch data from all APIs", "Failed to verify auth from all APIs": "Failed to verify auth from all APIs", "Failed to generate token from all APIs": "Failed to generate token from all APIs", "Generating token...": "Generating token...", "Abort": "Abort", "Network error occurred": "Network error occurred", "Request timeout - please try again": "Request timeout - please try again", "Failed to parse API response": "Failed to parse API response", "Invalid API response structure": "Invalid API response structure", "Unknown error occurred": "Unknown error occurred", "HTTP error! status: {{status}}": "HTTP error! status: {{status}}", "Download already in progress": "Download already in progress", "No media files found": "No media files found", "Toggle visibility": "Toggle visibility", "Close": "Close", "Converting GIFs...": "Converting GIFs...", "Downloading...": "Downloading...", "Download": "Download", "Fetching...": "Fetching...", "Fetch All": "Fetch All", "Fetch Video": "Fetch Video", "Fetch Image": "Fetch Image", "Fetch GIF": "Fetch GIF", "Posts: {{posts}}": "Posts: {{posts}}", "Media: {{media}}": "Media: {{media}}", "Current Media: {{current}} • Total Media: {{total}}": "Current Media: {{current}} • Total Media: {{total}}", "Failed to download media": "Failed to download media", "Demo mode is only available for @xbatchdemo": "Demo mode is only available for @xbatchdemo", "Auth Token": "Auth Token", "Enter your auth token": "Enter your auth token", "Your authentication token for API access": "Your authentication token for API access", "Patreon Auth": "Patreon Auth", "Enter your Patreon auth": "Enter your Patreon auth", "Your Patreon authentication key": "Your Patreon authentication key", "Please enter Patreon auth first": "Please enter Patreon auth first", "Please verify Patreon auth first": "Please verify Patreon auth first", "Patreon auth verified successfully": "Patreon auth verified successfully", "Invalid Patreon auth": "Invalid Patreon auth", "Verification failed. Please try again": "Verification failed. Please try again", "Generating": "Generating", "Generate": "Generate", "Verify": "Verify", "Token generated successfully": "Token generated successfully ({{current}}/{{total}})", "Failed to generate token": "Failed to generate token", "Token generation failed. Please try again": "Token generation failed. Please try again", "Verifying": "Verifying", "Verified": "Verified", "Use code": "Use code", "for Patreon Auth, click Verify to unlock demo. Test at": "for Patreon Auth, click Verify to unlock demo. Test at", "Need help with Auth Token? See": "Need help with Auth Token? See", "the guide": "the guide", "Subscribe": "Subscribe", "to get your Patreon Auth code and start downloading with ease!": "to get your Patreon Auth code and start downloading with ease!", "Report bugs or request features:": "Report bugs or request features:", "Import": "Import", "Importing...": "Importing...", "Supports JSON and ZIP formats": "Supports JSON and ZIP formats", "Export": "Export", "Export All Data": "Export All Data", "Exporting...": "Exporting...", "Clear": "Clear", "Filter by Batch": "Filter by Batch", "Are you sure to clear all data in the database?": "Are you sure to clear all data in the database?", "Delete Account Data": "Delete Account Data", "Are you sure you want to delete account data? This action cannot be undone": "Are you sure you want to delete {{username}}'s data? This action cannot be undone.", "Delete": "Delete", "Deleting...": "Deleting...", "Overwrite": "Overwrite", "Overwrite Existing Data?": "Overwrite Existing Data?", "Account data for @{{username}} already exists in the database. Do you want to overwrite it?": "Account data for @{{username}} already exists in the database. Do you want to overwrite it?", "No accounts yet": "No accounts yet", "Use Dashboard to fetch data.": "Use Dashboard to fetch data.", "Something went wrong.": "Something went wrong.", "Error:": "Error:", "Fetch": "Fetch", "Single": "Single", "Batch": "Batch", "Auto Batch": "Auto Batch", "Timeline": "Timeline", "Media": "Media", "Batch Size": "Batch Size", "Starting Batch": "Starting Batch", "Posts": "Posts", "Tweets": "Tweets", "Replies": "Replies", "All": "All", "Image": "Image", "Video": "Video", "GIF": "GIF", "Batch: {{page}}": "Batch: {{page}}", "Start": "Start", "Stop": "Stop", "Prev": "Prev", "Next": "Next", "Download Current": "Download Current", "Download All": "Download All", "Use Batch/Auto Batch if single fetch fails": "Use Batch/Auto Batch if single fetch fails", "Load from database": "Load from database", "Load database": "Load database", "First Page": "First Page", "Last Page": "Last Page", "Failed to load data": "Failed to load data", "Update": "Update", "Updating...": "Updating...", "Update will fetch the latest data and overwrite the database. Continue?": "Update will fetch the latest data and overwrite the database. Continue?", "Followers": "Followers", "Following": "Following", "Joined": "Joined", "Open": "Open", "Preview": "Preview", "View Database": "View Database", "Converting...": "Converting...", "Convert & Download": "Convert & Download", "Date Since": "Date Since", "Date Until": "Date Until", "Empty dates will fetch all available media": "Empty dates will fetch all available media", "Filter by Date Range": "Filter by Date Range", "Include Retweets": "Include Retweets", "Not supported with Media timeline": "Not supported with Media timeline", "No media found for date range {{since}} to {{until}}": "No media found for date range {{since}} to {{until}}", "No tweets found for this account": "No tweets found for this account", "No media found in {{count}} tweets": "No media found in {{count}} tweets" } };
  const es = { "common": { "Settings": "Configuración", "Server": "Servidor", "Choose the server closest to your location for best performance": "Elija el servidor más cercano a su ubicación para un mejor rendimiento", "Theme": "Tema", "Change Theme": "Cambiar Tema", "Language": "Idioma", "Change Language": "Cambiar idioma", "Font Family": "Familia de Fuente", "System Default": "Predeterminado del Sistema", "Date Time Format": "Formato de Fecha y Hora", "Sound Effects": "Efectos de Sonido", "Debug": "Depurar", "Global Settings": "Configuración Global", "Version": "Versión", "Common Formats:": "Formatos Comunes:", "Date Formats:": "Formatos de Fecha:", "Time Formats:": "Formatos de Hora:", "Combined Examples:": "Ejemplos Combinados:", "Localized": "Localizado", "Reset Settings": "Restablecer ajustes", "Are you sure you want to reset settings to defaults?": "¿Seguro que quieres restablecer los ajustes a los valores predeterminados?", "Reset": "Restablecer", "Cancel": "Cancelar", "Chrome": "Chrome", "Userscript": "Script de usuario", "Status": "Estado", "Home": "Inicio", "Patreon": "Patreon", "Dashboard": "Panel de Control", "Database": "Base de Datos", "Auth": "Autenticación", "Convert Animated GIFs": "Convertir GIFs", "Convert GIFs (External)": "Convertir GIFs (Externo)", "Concurrent Downloads": "Descargas simultáneas", "Use 10+ only with fast internet": "Usa 10+ solo con internet rápido", "Smaller size, same quality": "Tamaño más pequeño, misma calidad", "Larger size, same quality": "Tamaño más grande, misma calidad", "Back": "Atrás", "Please visit a profile page for auto-detection": "Visita una página de perfil para detección automática", "Please configure authentication in the Auth tab first": "Configura la autenticación en la pestaña Auth primero", "Invalid username format": "Formato de nombre de usuario no válido", "Invalid auth token. Please check your settings.": "Token de autenticación no válido. Por favor, revisa tu configuración.", "Invalid Patreon auth. Please check your settings.": "Autenticación de Patreon no válida. Por favor, revisa tu configuración.", "Failed to fetch data": "Error al obtener los datos", "Failed to fetch data from all APIs": "Error al obtener los datos de todas las APIs", "Failed to verify auth from all APIs": "Error al verificar la autenticación en todas las APIs", "Failed to generate token from all APIs": "Error al generar el token en todas las APIs", "Generating token...": "Generando token...", "Abort": "Abortar", "Network error occurred": "Se produjo un error de red", "Request timeout - please try again": "Tiempo de espera agotado: inténtalo de nuevo", "Failed to parse API response": "Error al analizar la respuesta de la API", "Invalid API response structure": "Estructura de respuesta de la API no válida", "Unknown error occurred": "Ocurrió un error desconocido", "HTTP error! status: {{status}}": "¡Error HTTP! estado: {{status}}", "Download already in progress": "Ya hay una descarga en curso", "No media files found": "No se encontraron archivos multimedia", "Toggle visibility": "Mostrar/ocultar", "Close": "Cerrar", "Converting GIFs...": "Convirtiendo GIF...", "Downloading...": "Descargando...", "Download": "Descargar", "Fetching...": "Obteniendo...", "Fetch All": "Obtener todo", "Fetch Video": "Obtener video", "Fetch Image": "Obtener imagen", "Fetch GIF": "Obtener GIF", "Posts: {{posts}}": "Publicaciones: {{posts}}", "Media: {{media}}": "Medios: {{media}}", "Current Media: {{current}} • Total Media: {{total}}": "Medios actuales: {{current}} • Medios totales: {{total}}", "Failed to download media": "Error al descargar los medios", "Demo mode is only available for @xbatchdemo": "El modo demo solo está disponible para @xbatchdemo", "Auth Token": "Token de autenticación", "Enter your auth token": "Introduce tu token de autenticación", "Your authentication token for API access": "Tu token de autenticación para acceso a la API", "Patreon Auth": "Autenticación de Patreon", "Enter your Patreon auth": "Introduce tu autenticación de Patreon", "Your Patreon authentication key": "Tu clave de autenticación de Patreon", "Please enter Patreon auth first": "Introduce primero la autenticación de Patreon", "Please verify Patreon auth first": "Verifica primero la autenticación de Patreon", "Patreon auth verified successfully": "Autenticación de Patreon verificada correctamente", "Invalid Patreon auth": "Autenticación de Patreon no válida", "Verification failed. Please try again": "La verificación falló. Inténtalo de nuevo", "Generating": "Generando", "Generate": "Generar", "Verify": "Verificar", "Token generated successfully": "Token generado correctamente ({{current}}/{{total}})", "Failed to generate token": "Error al generar el token", "Token generation failed. Please try again": "La generación del token falló. Inténtalo de nuevo", "Verifying": "Verificando", "Verified": "Verificado", "Use code": "Usa el código", "for Patreon Auth, click Verify to unlock demo. Test at": 'para la Autenticación de Patreon, haz clic en "Verificar" para desbloquear la demo. Prueba en', "Need help with Auth Token? See": "¿Necesitas ayuda con el token de autenticación? Consulta", "the guide": "la guía", "Subscribe": "Suscríbete", "to get your Patreon Auth code and start downloading with ease!": "para obtener tu código de autenticación de Patreon y empezar a descargar fácilmente.", "Report bugs or request features:": "Informa errores o solicita funciones:", "Import": "Importar", "Importing...": "Importando...", "Supports JSON and ZIP formats": "Admite formatos JSON y ZIP", "Export": "Exportar", "Export All Data": "Exportar todos los datos", "Exporting...": "Exportando...", "Clear": "Limpiar", "Filter by Batch": "Filtrar por lote", "Are you sure to clear all data in the database?": "¿Estás seguro de que quieres borrar todos los datos de la base de datos?", "Delete Account Data": "Eliminar datos de la cuenta", "Are you sure you want to delete account data? This action cannot be undone": "¿Seguro que quieres eliminar los datos de {{username}}? Esta acción no se puede deshacer.", "Delete": "Eliminar", "Deleting...": "Eliminando...", "Overwrite": "Sobrescribir", "Overwrite Existing Data?": "¿Sobrescribir datos existentes?", "Account data for @{{username}} already exists in the database. Do you want to overwrite it?": "Los datos de la cuenta @{{username}} ya existen en la base de datos. ¿Deseas sobrescribirlos?", "No accounts yet": "Todavía no hay cuentas", "Use Dashboard to fetch data.": "Usa el Panel de Control para obtener datos.", "Something went wrong.": "Algo salió mal.", "Error:": "Error:", "Fetch": "Obtener", "Single": "Único", "Batch": "Lote", "Auto Batch": "Lote automático", "Timeline": "Cronología", "Media": "Medios", "Batch Size": "Tamaño del lote", "Starting Batch": "Lote inicial", "Posts": "Publicaciones", "Tweets": "Tweets", "Replies": "Respuestas", "All": "Todo", "Image": "Imagen", "Video": "Video", "GIF": "GIF", "Batch: {{page}}": "Lote: {{page}}", "Start": "Iniciar", "Stop": "Detener", "Prev": "Anterior", "Next": "Siguiente", "Download Current": "Descargar actual", "Download All": "Descargar todo", "Use Batch/Auto Batch if single fetch fails": "Usa Lote/Lote automático si falla la obtención única", "Load from database": "Cargar desde base de datos", "Load database": "Cargar base de datos", "First Page": "Primera Página", "Last Page": "Última Página", "Failed to load data": "Error al cargar los datos", "Update": "Actualizar", "Updating...": "Actualizando...", "Update will fetch the latest data and overwrite the database. Continue?": "La actualización obtendrá los datos más recientes y sobrescribirá la base de datos. ¿Continuar?", "Followers": "Seguidores", "Following": "Siguiendo", "Joined": "Se unió", "Open": "Abrir", "Preview": "Vista previa", "View Database": "Ver base de datos", "Converting...": "Convirtiendo...", "Convert & Download": "Convertir y descargar", "Date Since": "Fecha Desde", "Date Until": "Fecha Hasta", "Empty dates will fetch all available media": "Fechas vacías obtendrán todos los medios disponibles", "Filter by Date Range": "Filtrar por rango de fechas", "Include Retweets": "Incluir Retweets", "Not supported with Media timeline": "No compatible con línea de tiempo de medios", "No media found for date range {{since}} to {{until}}": "No se encontraron medios para el rango de fechas {{since}} a {{until}}", "No tweets found for this account": "No se encontraron tweets para esta cuenta", "No media found in {{count}} tweets": "No se encontraron medios en {{count}} tweets" } };
  const fil = { "common": { "Settings": "Mga Setting", "Server": "Server", "Choose the server closest to your location for best performance": "Piliin ang server na pinakamalapit sa iyong lokasyon para sa pinakamahusay na pagganap", "Theme": "Tema", "Change Theme": "Baguhin ang Tema", "Language": "Wika", "Change Language": "Baguhin ang Wika", "Font Family": "Uri ng Font", "System Default": "Default ng Sistema", "Date Time Format": "Format ng Petsa at Oras", "Sound Effects": "Mga Epekto ng Tunog", "Debug": "Debug", "Global Settings": "Pandaigdigang Mga Setting", "Version": "Bersyon", "Common Formats:": "Karaniwang Mga Format:", "Date Formats:": "Mga Format ng Petsa:", "Time Formats:": "Mga Format ng Oras:", "Combined Examples:": "Pinagsama-samang Mga Halimbawa:", "Localized": "Naka-localize", "Reset Settings": "I-reset ang mga Setting", "Are you sure you want to reset settings to defaults?": "Sigurado ka bang gusto mong i-reset ang mga setting sa default?", "Reset": "I-reset", "Cancel": "Kanselahin", "Chrome": "Chrome", "Userscript": "Userscript", "Status": "Katayuan", "Home": "Home", "Patreon": "Patreon", "Dashboard": "Dashboard", "Database": "Database", "Auth": "Awtorisasyon", "Convert Animated GIFs": "I-convert ang GIF", "Convert GIFs (External)": "I-convert ang GIF (External)", "Concurrent Downloads": "Sabay-sabay na Pag-download", "Use 10+ only with fast internet": "Gumamit ng 10+ lamang sa mabilis na internet", "Smaller size, same quality": "Mas maliit na laki, parehong kalidad", "Larger size, same quality": "Mas malaking laki, parehong kalidad", "Back": "Bumalik", "Please visit a profile page for auto-detection": "Mangyaring bumisita sa isang profile page para sa auto-detection", "Please configure authentication in the Auth tab first": "Mangyaring i-configure muna ang authentication sa Auth tab", "Invalid username format": "Di-wastong format ng username", "Invalid auth token. Please check your settings.": "Di-wastong auth token. Mangyaring suriin ang iyong mga setting.", "Invalid Patreon auth. Please check your settings.": "Di-wastong Patreon auth. Mangyaring suriin ang iyong mga setting.", "Failed to fetch data": "Nabigong kunin ang data", "Failed to fetch data from all APIs": "Nabigong kunin ang data mula sa lahat ng APIs", "Failed to verify auth from all APIs": "Nabigong i-verify ang auth mula sa lahat ng APIs", "Failed to generate token from all APIs": "Nabigong gumawa ng token mula sa lahat ng APIs", "Generating token...": "Gumagawa ng token...", "Abort": "Itigil", "Network error occurred": "May naganap na network error", "Request timeout - please try again": "Nag-timeout ang request - mangyaring subukan muli", "Failed to parse API response": "Nabigong i-parse ang API response", "Invalid API response structure": "Di-wastong istruktura ng API response", "Unknown error occurred": "May naganap na hindi kilalang error", "HTTP error! status: {{status}}": "HTTP error! status: {{status}}", "Download already in progress": "Nagda-download na", "No media files found": "Walang nahanap na media files", "Toggle visibility": "I-toggle ang visibility", "Close": "Isara", "Converting GIFs...": "Kino-convert ang mga GIF...", "Downloading...": "Nagda-download...", "Download": "I-download", "Fetching...": "Kumukuha...", "Fetch All": "Kunin Lahat", "Fetch Video": "Kunin ang Video", "Fetch Image": "Kunin ang Larawan", "Fetch GIF": "Kunin ang GIF", "Posts: {{posts}}": "Mga Post: {{posts}}", "Media: {{media}}": "Media: {{media}}", "Current Media: {{current}} • Total Media: {{total}}": "Kasalukuyang Media: {{current}} • Kabuuang Media: {{total}}", "Failed to download media": "Nabigong i-download ang media", "Demo mode is only available for @xbatchdemo": "Ang demo mode ay available lang para sa @xbatchdemo", "Auth Token": "Auth Token", "Enter your auth token": "Ilagay ang iyong auth token", "Your authentication token for API access": "Ang iyong authentication token para sa API access", "Patreon Auth": "Patreon Auth", "Enter your Patreon auth": "Ilagay ang iyong Patreon auth", "Your Patreon authentication key": "Ang iyong Patreon authentication key", "Please enter Patreon auth first": "Mangyaring ilagay muna ang Patreon auth", "Please verify Patreon auth first": "Mangyaring i-verify muna ang Patreon auth", "Patreon auth verified successfully": "Matagumpay na na-verify ang Patreon auth", "Invalid Patreon auth": "Di-wastong Patreon auth", "Verification failed. Please try again": "Nabigo ang verification. Mangyaring subukan muli", "Generating": "Gumagawa", "Generate": "Gumawa", "Verify": "I-verify", "Token generated successfully": "Matagumpay na nagawa ang token ({{current}}/{{total}})", "Failed to generate token": "Nabigong gumawa ng token", "Token generation failed. Please try again": "Nabigo ang paggawa ng token. Mangyaring subukan muli", "Verifying": "Vine-verify", "Verified": "Na-verify na", "Use code": "Gamitin ang code", "for Patreon Auth, click Verify to unlock demo. Test at": "para sa Patreon Auth, i-click ang Verify para i-unlock ang demo. Subukan sa", "Need help with Auth Token? See": "Kailangan ng tulong sa Auth Token? Tingnan ang", "the guide": "gabay", "Subscribe": "Mag-subscribe", "to get your Patreon Auth code and start downloading with ease!": "para makuha ang iyong Patreon Auth code at magsimulang mag-download nang madali!", "Report bugs or request features:": "Mag-ulat ng mga bug o humingi ng mga feature:", "Import": "Mag-import", "Importing...": "Nag-iimport...", "Supports JSON and ZIP formats": "Sumusuporta sa JSON at ZIP formats", "Export": "Mag-export", "Export All Data": "I-export ang Lahat ng Data", "Exporting...": "Nag-eexport...", "Clear": "Burahin", "Filter by Batch": "I-filter ayon sa Batch", "Are you sure to clear all data in the database?": "Sigurado ka bang buburahin ang lahat ng data sa database?", "Delete Account Data": "Burahin ang Account Data", "Are you sure you want to delete account data? This action cannot be undone": "Sigurado ka bang buburahin ang data ni {{username}}? Hindi na ito maaaring ibalik.", "Delete": "Burahin", "Deleting...": "Binubura...", "Overwrite": "I-overwrite", "Overwrite Existing Data?": "I-overwrite ang Existing Data?", "Account data for @{{username}} already exists in the database. Do you want to overwrite it?": "Ang account data para kay @{{username}} ay umiiral na sa database. Gusto mo bang i-overwrite ito?", "No accounts yet": "Wala pang mga account", "Use Dashboard to fetch data.": "Gamitin ang Dashboard para kunin ang data.", "Something went wrong.": "May nangyaring mali.", "Error:": "Error:", "Fetch": "Kunin", "Single": "Iisa", "Batch": "Batch", "Auto Batch": "Auto Batch", "Timeline": "Timeline", "Media": "Media", "Batch Size": "Laki ng Batch", "Starting Batch": "Nagsisimulang Batch", "Posts": "Mga Post", "Tweets": "Mga Tweet", "Replies": "Mga Tugon", "All": "Lahat", "Image": "Larawan", "Video": "Video", "GIF": "GIF", "Batch: {{page}}": "Batch: {{page}}", "Start": "Simulan", "Stop": "Itigil", "Prev": "Nakaraan", "Next": "Susunod", "Download Current": "I-download ang Kasalukuyan", "Download All": "I-download Lahat", "Use Batch/Auto Batch if single fetch fails": "Gumamit ng Batch/Auto Batch kung nabigo ang single fetch", "Load from database": "Mag-load mula sa database", "Load database": "Mag-load ng database", "First Page": "Unang Pahina", "Last Page": "Huling Pahina", "Failed to load data": "Nabigong mag-load ng data", "Update": "I-update", "Updating...": "Nag-uupdate...", "Update will fetch the latest data and overwrite the database. Continue?": "Ang update ay kukuha ng pinakabagong data at i-overwrite ang database. Magpatuloy?", "Followers": "Mga Tagasunod", "Following": "Sinusundan", "Joined": "Sumali", "Open": "Buksan", "Preview": "Preview", "View Database": "Tingnan ang Database", "Converting...": "Kino-convert...", "Convert & Download": "I-convert at I-download", "Date Since": "Petsa Mula", "Date Until": "Petsa Hanggang", "Empty dates will fetch all available media": "Walang petsa ay kukuha ng lahat ng available na media", "Filter by Date Range": "I-filter ayon sa Hanay ng Petsa", "Include Retweets": "Isama ang mga Retweet", "Not supported with Media timeline": "Hindi suportado sa Media timeline", "No media found for date range {{since}} to {{until}}": "Walang nahanap na media para sa petsa {{since}} hanggang {{until}}", "No tweets found for this account": "Walang nahanap na tweets para sa account na ito", "No media found in {{count}} tweets": "Walang nahanap na media sa {{count}} tweets" } };
  const fr = { "common": { "Settings": "Paramètres", "Server": "Serveur", "Choose the server closest to your location for best performance": "Choisissez le serveur le plus proche de votre emplacement pour de meilleures performances", "Theme": "Thème", "Change Theme": "Changer le thème", "Language": "Langue", "Change Language": "Changer la langue", "Font Family": "Famille de Police", "System Default": "Par Défaut du Système", "Date Time Format": "Format date et heure", "Sound Effects": "Effets Sonores", "Debug": "Débogage", "Global Settings": "Paramètres globaux", "Version": "Version", "Common Formats:": "Formats courants :", "Date Formats:": "Formats de date :", "Time Formats:": "Formats d'heure :", "Combined Examples:": "Exemples combinés :", "Localized": "Localisé", "Reset Settings": "Réinitialiser les paramètres", "Are you sure you want to reset settings to defaults?": "Êtes-vous sûr de vouloir réinitialiser les paramètres par défaut ?", "Reset": "Réinitialiser", "Cancel": "Annuler", "Chrome": "Chrome", "Userscript": "Script utilisateur", "Status": "Statut", "Home": "Accueil", "Patreon": "Patreon", "Dashboard": "Tableau de bord", "Database": "Base de données", "Auth": "Authentification", "Convert Animated GIFs": "Convertir des GIFs", "Convert GIFs (External)": "Convertir des GIFs (Externe)", "Concurrent Downloads": "Téléchargements simultanés", "Use 10+ only with fast internet": "Utilisez 10+ uniquement avec une connexion rapide", "Smaller size, same quality": "Taille plus petite, même qualité", "Larger size, same quality": "Taille plus grande, même qualité", "Back": "Retour", "Please visit a profile page for auto-detection": "Veuillez visiter une page de profil pour la détection automatique", "Please configure authentication in the Auth tab first": "Veuillez d'abord configurer l'authentification dans l'onglet Auth", "Invalid username format": "Format de nom d'utilisateur invalide", "Invalid auth token. Please check your settings.": "Token d'authentification invalide. Veuillez vérifier vos paramètres.", "Invalid Patreon auth. Please check your settings.": "Authentification Patreon invalide. Veuillez vérifier vos paramètres.", "Failed to fetch data": "Échec de récupération des données", "Failed to fetch data from all APIs": "Échec de récupération des données depuis toutes les API", "Failed to verify auth from all APIs": "Échec de vérification de l'authentification depuis toutes les API", "Failed to generate token from all APIs": "Échec de génération du jeton depuis toutes les API", "Generating token...": "Génération du jeton...", "Abort": "Abandonner", "Network error occurred": "Une erreur réseau s'est produite", "Request timeout - please try again": "Délai d’attente dépassé - veuillez réessayer", "Failed to parse API response": "Échec de l’analyse de la réponse de l’API", "Invalid API response structure": "Structure de réponse de l’API invalide", "Unknown error occurred": "Une erreur inconnue s'est produite", "HTTP error! status: {{status}}": "Erreur HTTP ! statut : {{status}}", "Download already in progress": "Téléchargement déjà en cours", "No media files found": "Aucun fichier multimédia trouvé", "Toggle visibility": "Afficher/masquer", "Close": "Fermer", "Converting GIFs...": "Conversion des GIFs...", "Downloading...": "Téléchargement...", "Download": "Télécharger", "Fetching...": "Récupération...", "Fetch All": "Tout récupérer", "Fetch Video": "Récupérer la vidéo", "Fetch Image": "Récupérer l'image", "Fetch GIF": "Récupérer le GIF", "Posts: {{posts}}": "Publications : {{posts}}", "Media: {{media}}": "Médias : {{media}}", "Current Media: {{current}} • Total Media: {{total}}": "Médias actuels : {{current}} • Médias totaux : {{total}}", "Failed to download media": "Échec de téléchargement des médias", "Demo mode is only available for @xbatchdemo": "Le mode démo est uniquement disponible pour @xbatchdemo", "Auth Token": "Token d'authentification", "Enter your auth token": "Entrez votre token d'authentification", "Your authentication token for API access": "Votre token d'authentification pour l'accès API", "Patreon Auth": "Authentification Patreon", "Enter your Patreon auth": "Entrez votre authentification Patreon", "Your Patreon authentication key": "Votre clé d'authentification Patreon", "Please enter Patreon auth first": "Veuillez d'abord saisir l'authentification Patreon", "Please verify Patreon auth first": "Veuillez d'abord vérifier l'authentification Patreon", "Patreon auth verified successfully": "Authentification Patreon vérifiée avec succès", "Invalid Patreon auth": "Authentification Patreon invalide", "Verification failed. Please try again": "Échec de vérification. Veuillez réessayer", "Generating": "Génération", "Generate": "Générer", "Verify": "Vérifier", "Token generated successfully": "Token généré avec succès ({{current}}/{{total}})", "Failed to generate token": "Échec de génération du token", "Token generation failed. Please try again": "Échec de génération du token. Veuillez réessayer", "Verifying": "Vérification", "Verified": "Vérifié", "Use code": "Utilisez le code", "for Patreon Auth, click Verify to unlock demo. Test at": "pour l’authentification Patreon, cliquez sur « Vérifier » pour déverrouiller la démo. Testez sur", "Need help with Auth Token? See": "Besoin d’aide avec le jeton d’authentification ? Voir", "the guide": "le guide", "Subscribe": "S’abonner", "to get your Patreon Auth code and start downloading with ease!": "pour obtenir votre code d’authentification Patreon et commencer à télécharger facilement !", "Report bugs or request features:": "Signalez des bugs ou demandez des fonctionnalités :", "Import": "Importer", "Importing...": "Importation...", "Supports JSON and ZIP formats": "Prend en charge les formats JSON et ZIP", "Export": "Exporter", "Export All Data": "Exporter toutes les données", "Exporting...": "Exportation...", "Clear": "Effacer", "Filter by Batch": "Filtrer par lot", "Are you sure to clear all data in the database?": "Êtes-vous sûr de vouloir effacer toutes les données de la base ?", "Delete Account Data": "Supprimer les données du compte", "Are you sure you want to delete account data? This action cannot be undone": "Êtes-vous sûr de vouloir supprimer les données de {{username}} ? Cette action ne peut pas être annulée.", "Delete": "Supprimer", "Deleting...": "Suppression...", "Overwrite": "Écraser", "Overwrite Existing Data?": "Écraser les données existantes ?", "Account data for @{{username}} already exists in the database. Do you want to overwrite it?": "Les données du compte @{{username}} existent déjà dans la base de données. Voulez-vous les écraser ?", "No accounts yet": "Aucun compte pour le moment", "Use Dashboard to fetch data.": "Utilisez le Tableau de bord pour récupérer les données.", "Something went wrong.": "Quelque chose s'est mal passé.", "Error:": "Erreur :", "Fetch": "Récupérer", "Single": "Unique", "Batch": "Lot", "Auto Batch": "Lot automatique", "Timeline": "Chronologie", "Media": "Médias", "Batch Size": "Taille du lot", "Starting Batch": "Lot de départ", "Posts": "Publications", "Tweets": "Tweets", "Replies": "Réponses", "All": "Tout", "Image": "Image", "Video": "Vidéo", "GIF": "GIF", "Batch: {{page}}": "Lot : {{page}}", "Start": "Démarrer", "Stop": "Arrêter", "Prev": "Précédent", "Next": "Suivant", "Download Current": "Télécharger l'actuel", "Download All": "Tout télécharger", "Use Batch/Auto Batch if single fetch fails": "Utilisez Lot/Lot automatique si la récupération unique échoue", "Load from database": "Charger depuis la base de données", "Load database": "Charger la base de données", "First Page": "Première Page", "Last Page": "Dernière Page", "Failed to load data": "Échec du chargement des données", "Update": "Mettre à jour", "Updating...": "Mise à jour en cours...", "Update will fetch the latest data and overwrite the database. Continue?": "La mise à jour récupérera les dernières données et écrasera la base de données. Continuer ?", "Followers": "Abonnés", "Following": "Abonnements", "Joined": "Inscrit", "Open": "Ouvrir", "Preview": "Aperçu", "View Database": "Voir la base de données", "Converting...": "Conversion...", "Convert & Download": "Convertir et télécharger", "Date Since": "Date Depuis", "Date Until": "Date Jusqu'à", "Empty dates will fetch all available media": "Dates vides récupéreront tous les médias disponibles", "Filter by Date Range": "Filtrer par plage de dates", "Include Retweets": "Inclure les retweets", "Not supported with Media timeline": "Non pris en charge avec la chronologie des médias", "No media found for date range {{since}} to {{until}}": "Aucun média trouvé pour la période du {{since}} au {{until}}", "No tweets found for this account": "Aucun tweet trouvé pour ce compte", "No media found in {{count}} tweets": "Aucun média trouvé dans {{count}} tweets" } };
  const hi = { "common": { "Settings": "सेटिंग्स", "Server": "सर्वर", "Choose the server closest to your location for best performance": "सर्वोत्तम प्रदर्शन के लिए अपने स्थान के निकटतम सर्वर चुनें", "Theme": "थीम", "Change Theme": "थीम बदलें", "Language": "भाषा", "Change Language": "भाषा बदलें", "Font Family": "फ़ॉन्ट परिवार", "System Default": "सिस्टम डिफ़ॉल्ट", "Date Time Format": "दिनांक समय प्रारूप", "Sound Effects": "ध्वनि प्रभाव", "Debug": "डिबग", "Global Settings": "वैश्विक सेटिंग्स", "Version": "संस्करण", "Common Formats:": "सामान्य प्रारूप:", "Date Formats:": "दिनांक प्रारूप:", "Time Formats:": "समय प्रारूप:", "Combined Examples:": "संयुक्त उदाहरण:", "Localized": "स्थानीयकृत", "Reset Settings": "सेटिंग्स रीसेट करें", "Are you sure you want to reset settings to defaults?": "क्या आप वाकई सेटिंग्स को डिफ़ॉल्ट पर रीसेट करना चाहते हैं?", "Reset": "रीसेट करें", "Cancel": "रद्द करें", "Chrome": "Chrome", "Userscript": "यूज़रस्क्रिप्ट", "Status": "स्थिति", "Home": "होम", "Patreon": "Patreon", "Dashboard": "डैशबोर्ड", "Database": "डेटाबेस", "Auth": "प्रमाणीकरण", "Convert Animated GIFs": "GIFs कन्वर्ट करें", "Convert GIFs (External)": "GIFs कन्वर्ट करें (बाहरी)", "Concurrent Downloads": "समकालिक डाउनलोड", "Use 10+ only with fast internet": "10+ का उपयोग केवल तेज़ इंटरनेट पर करें", "Smaller size, same quality": "आकार छोटा, गुणवत्ता समान", "Larger size, same quality": "आकार बड़ा, गुणवत्ता समान", "Back": "वापस", "Please visit a profile page for auto-detection": "कृपया ऑटो-डिटेक्शन के लिए प्रोफ़ाइल पेज पर जाएं", "Please configure authentication in the Auth tab first": "कृपया पहले ऑथ टैब में प्रमाणीकरण कॉन्फ़िगर करें", "Invalid username format": "अमान्य उपयोगकर्ता नाम प्रारूप", "Invalid auth token. Please check your settings.": "अमान्य ऑथ टोकन। कृपया सेटिंग्स जाँचें।", "Invalid Patreon auth. Please check your settings.": "अमान्य Patreon ऑथ। कृपया अपनी सेटिंग्स जाँचें।", "Failed to fetch data": "डेटा लाना विफल", "Failed to fetch data from all APIs": "सभी API से डेटा प्राप्त करने में विफल", "Failed to verify auth from all APIs": "सभी API से ऑथ सत्यापित करने में विफल", "Failed to generate token from all APIs": "सभी API से टोकन जनरेट करने में विफल", "Generating token...": "टोकन जेनरेट किया जा रहा है...", "Abort": "रद्द करें", "Network error occurred": "नेटवर्क त्रुटि हुई", "Request timeout - please try again": "अनुरोध का समय समाप्त — कृपया पुनः प्रयास करें", "Failed to parse API response": "API प्रतिक्रिया पार्स करने में विफल", "Invalid API response structure": "API प्रतिक्रिया संरचना अमान्य है", "Unknown error occurred": "अज्ञात त्रुटि हुई", "HTTP error! status: {{status}}": "HTTP त्रुटि! स्थिति: {{status}}", "Download already in progress": "डाउनलोड पहले से चल रहा है", "No media files found": "कोई मीडिया फ़ाइलें नहीं मिलीं", "Toggle visibility": "दिखाएँ/छुपाएँ", "Close": "बंद करें", "Converting GIFs...": "GIFs कन्वर्ट हो रहे हैं...", "Downloading...": "डाउनलोड हो रहा है...", "Download": "डाउनलोड करें", "Fetching...": "प्राप्त किया जा रहा है...", "Fetch All": "सब कुछ प्राप्त करें", "Fetch Video": "वीडियो प्राप्त करें", "Fetch Image": "छवि प्राप्त करें", "Fetch GIF": "GIF प्राप्त करें", "Posts: {{posts}}": "पोस्ट: {{posts}}", "Media: {{media}}": "मीडिया: {{media}}", "Current Media: {{current}} • Total Media: {{total}}": "वर्तमान मीडिया: {{current}} • कुल मीडिया: {{total}}", "Failed to download media": "मीडिया डाउनलोड विफल", "Demo mode is only available for @xbatchdemo": "डेमो मोड केवल @xbatchdemo के लिए उपलब्ध है", "Auth Token": "ऑथ टोकन", "Enter your auth token": "अपना ऑथ टोकन दर्ज करें", "Your authentication token for API access": "API एक्सेस के लिए आपका ऑथेंटिकेशन टोकन", "Patreon Auth": "Patreon ऑथ", "Enter your Patreon auth": "अपना Patreon ऑथ दर्ज करें", "Your Patreon authentication key": "आपकी Patreon प्रमाणीकरण कुंजी", "Please enter Patreon auth first": "कृपया पहले Patreon ऑथ दर्ज करें", "Please verify Patreon auth first": "कृपया पहले Patreon ऑथ सत्यापित करें", "Patreon auth verified successfully": "Patreon ऑथ सफलतापूर्वक सत्यापित", "Invalid Patreon auth": "अमान्य Patreon ऑथ", "Verification failed. Please try again": "सत्यापन विफल। कृपया पुनः प्रयास करें", "Generating": "उत्पन्न किया जा रहा है", "Generate": "उत्पन्न करें", "Verify": "सत्यापित करें", "Token generated successfully": "टोकन सफलतापूर्वक जनरेट हुआ ({{current}}/{{total}})", "Failed to generate token": "टोकन जनरेट करना विफल", "Token generation failed. Please try again": "टोकन जनरेशन विफल। कृपया पुनः प्रयास करें", "Verifying": "सत्यापित किया जा रहा है", "Verified": "सत्यापित", "Use code": "कोड उपयोग करें", "for Patreon Auth, click Verify to unlock demo. Test at": 'Patreon प्रमाणीकरण के लिए, डेमो अनलॉक करने हेतु "सत्यापित करें" पर क्लिक करें। परीक्षण करें:', "Need help with Auth Token? See": "ऑथ टोकन में मदद चाहिए? देखें", "the guide": "मार्गदर्शिका", "Subscribe": "सदस्यता लें", "to get your Patreon Auth code and start downloading with ease!": "अपना Patreon ऑथ कोड प्राप्त करें और आसानी से डाउनलोड शुरू करें!", "Report bugs or request features:": "बग रिपोर्ट करें या फीचर का अनुरोध करें:", "Import": "आयात करें", "Importing...": "आयात हो रहा है...", "Supports JSON and ZIP formats": "JSON और ZIP प्रारूप समर्थित हैं", "Export": "निर्यात करें", "Export All Data": "सभी डेटा निर्यात करें", "Exporting...": "निर्यात हो रहा है...", "Clear": "साफ़ करें", "Filter by Batch": "बैच द्वारा फ़िल्टर करें", "Are you sure to clear all data in the database?": "क्या आप वाकई डेटाबेस का सारा डेटा साफ़ करना चाहते हैं?", "Delete Account Data": "खाता डेटा हटाएँ", "Are you sure you want to delete account data? This action cannot be undone": "क्या आप वाकई {{username}} का डेटा हटाना चाहते हैं? यह क्रिया वापस नहीं की जा सकती।", "Delete": "हटाएं", "Deleting...": "हटा रहे हैं...", "Overwrite": "ओवरराइट करें", "Overwrite Existing Data?": "मौजूदा डेटा ओवरराइट करें?", "Account data for @{{username}} already exists in the database. Do you want to overwrite it?": "@{{username}} के लिए खाता डेटा पहले से ही डेटाबेस में मौजूद है। क्या आप इसे ओवरराइट करना चाहते हैं?", "No accounts yet": "अभी तक कोई खाता नहीं", "Use Dashboard to fetch data.": "डेटा प्राप्त करने के लिए डैशबोर्ड का उपयोग करें।", "Something went wrong.": "कुछ गलत हो गया।", "Error:": "त्रुटि:", "Fetch": "प्राप्त करें", "Single": "एकल", "Batch": "बैच", "Auto Batch": "ऑटो बैच", "Timeline": "टाइमलाइन", "Media": "मीडिया", "Batch Size": "बैच आकार", "Starting Batch": "प्रारंभिक बैच", "Posts": "पोस्ट", "Tweets": "ट्वीट्स", "Replies": "जवाब", "All": "सभी", "Image": "छवि", "Video": "वीडियो", "GIF": "GIF", "Batch: {{page}}": "बैच: {{page}}", "Start": "प्रारंभ", "Stop": "रोकें", "Prev": "पिछला", "Next": "अगला", "Download Current": "वर्तमान डाउनलोड करें", "Download All": "सभी डाउनलोड करें", "Use Batch/Auto Batch if single fetch fails": "यदि एकल प्राप्ति विफल हो, तो बैच/ऑटो बैच का उपयोग करें", "Load from database": "डेटाबेस से लोड करें", "Load database": "डेटाबेस लोड करें", "First Page": "पहला पृष्ठ", "Last Page": "अंतिम पृष्ठ", "Failed to load data": "डेटा लोड करना विफल", "Update": "अपडेट करें", "Updating...": "अपडेट हो रहा है...", "Update will fetch the latest data and overwrite the database. Continue?": "अपडेट नवीनतम डेटा प्राप्त करेगा और डेटाबेस को ओवरराइट करेगा। जारी रखें?", "Followers": "फॉलोवर्स", "Following": "फॉलो कर रहे हैं", "Joined": "जुड़े", "Open": "खोलें", "Preview": "पूर्वावलोकन", "View Database": "डेटाबेस देखें", "Converting...": "कन्वर्ट हो रहा है...", "Convert & Download": "कन्वर्ट करें और डाउनलोड करें", "Date Since": "तारीख से", "Date Until": "तारीख तक", "Empty dates will fetch all available media": "खाली तिथियां सभी उपलब्ध मीडिया प्राप्त करेंगी", "Filter by Date Range": "दिनांक सीमा के अनुसार फ़िल्टर करें", "Include Retweets": "रीट्वीट शामिल करें", "Not supported with Media timeline": "मीडिया टाइमलाइन के साथ समर्थित नहीं", "No media found for date range {{since}} to {{until}}": "{{since}} से {{until}} की तारीख सीमा के लिए कोई मीडिया नहीं मिला", "No tweets found for this account": "इस खाते के लिए कोई ट्वीट नहीं मिला", "No media found in {{count}} tweets": "{{count}} ट्वीट में कोई मीडिया नहीं मिला" } };
  const id = { "common": { "Settings": "Pengaturan", "Server": "Server", "Choose the server closest to your location for best performance": "Pilih server yang paling dekat dengan lokasi Anda untuk performa terbaik", "Theme": "Tema", "Change Theme": "Ubah Tema", "Language": "Bahasa", "Change Language": "Ubah Bahasa", "Font Family": "Jenis Font", "System Default": "Bawaan Sistem", "Date Time Format": "Format Tanggal Waktu", "Sound Effects": "Efek Suara", "Debug": "Debug", "Global Settings": "Pengaturan Global", "Version": "Versi", "Common Formats:": "Format Umum:", "Date Formats:": "Format Tanggal:", "Time Formats:": "Format Waktu:", "Combined Examples:": "Contoh Gabungan:", "Localized": "Terlokalisasi", "Reset Settings": "Reset Pengaturan", "Are you sure you want to reset settings to defaults?": "Apakah Anda yakin ingin mereset pengaturan ke default?", "Reset": "Reset", "Cancel": "Batal", "Chrome": "Chrome", "Userscript": "Userscript", "Status": "Status", "Home": "Beranda", "Patreon": "Patreon", "Dashboard": "Dasbor", "Database": "Database", "Auth": "Autentikasi", "Convert Animated GIFs": "Konversi GIF", "Convert GIFs (External)": "Konversi GIF (Eksternal)", "Concurrent Downloads": "Unduhan Bersamaan", "Use 10+ only with fast internet": "Gunakan 10+ hanya dengan internet cepat", "Smaller size, same quality": "Ukuran lebih kecil, kualitas sama", "Larger size, same quality": "Ukuran lebih besar, kualitas sama", "Back": "Kembali", "Please visit a profile page for auto-detection": "Silakan kunjungi halaman profil untuk deteksi otomatis", "Please configure authentication in the Auth tab first": "Silakan konfigurasi autentikasi di tab Auth terlebih dahulu", "Invalid username format": "Format username tidak valid", "Invalid auth token. Please check your settings.": "Token autentikasi tidak valid. Silakan periksa pengaturan Anda.", "Invalid Patreon auth. Please check your settings.": "Autentikasi Patreon tidak valid. Silakan periksa pengaturan Anda.", "Failed to fetch data": "Gagal mengambil data", "Failed to fetch data from all APIs": "Gagal mengambil data dari semua API", "Failed to verify auth from all APIs": "Gagal memverifikasi autentikasi dari semua API", "Failed to generate token from all APIs": "Gagal menghasilkan token dari semua API", "Generating token...": "Menghasilkan token...", "Abort": "Batalkan", "Network error occurred": "Terjadi kesalahan jaringan", "Request timeout - please try again": "Permintaan timeout - silakan coba lagi", "Failed to parse API response": "Gagal mem-parsing respons API", "Invalid API response structure": "Struktur respons API tidak valid", "Unknown error occurred": "Terjadi kesalahan yang tidak diketahui", "HTTP error! status: {{status}}": "Kesalahan HTTP! status: {{status}}", "Download already in progress": "Unduhan sudah berlangsung", "No media files found": "Tidak ada file media ditemukan", "Toggle visibility": "Alihkan visibilitas", "Close": "Tutup", "Converting GIFs...": "Mengonversi GIF...", "Downloading...": "Mengunduh...", "Download": "Unduh", "Fetching...": "Mengambil...", "Fetch All": "Ambil Semua", "Fetch Video": "Ambil Video", "Fetch Image": "Ambil Gambar", "Fetch GIF": "Ambil GIF", "Posts: {{posts}}": "Postingan: {{posts}}", "Media: {{media}}": "Media: {{media}}", "Current Media: {{current}} • Total Media: {{total}}": "Media Saat Ini: {{current}} • Total Media: {{total}}", "Failed to download media": "Gagal mengunduh media", "Demo mode is only available for @xbatchdemo": "Mode demo hanya tersedia untuk @xbatchdemo", "Auth Token": "Token Autentikasi", "Enter your auth token": "Masukkan token autentikasi Anda", "Your authentication token for API access": "Token autentikasi Anda untuk akses API", "Patreon Auth": "Autentikasi Patreon", "Enter your Patreon auth": "Masukkan autentikasi Patreon Anda", "Your Patreon authentication key": "Kunci autentikasi Patreon Anda", "Please enter Patreon auth first": "Silakan masukkan autentikasi Patreon terlebih dahulu", "Please verify Patreon auth first": "Silakan verifikasi autentikasi Patreon terlebih dahulu", "Patreon auth verified successfully": "Autentikasi Patreon berhasil diverifikasi", "Invalid Patreon auth": "Autentikasi Patreon tidak valid", "Verification failed. Please try again": "Verifikasi gagal. Silakan coba lagi", "Generating": "Menghasilkan", "Generate": "Hasilkan", "Verify": "Verifikasi", "Token generated successfully": "Token berhasil dihasilkan ({{current}}/{{total}})", "Failed to generate token": "Gagal menghasilkan token", "Token generation failed. Please try again": "Pembuatan token gagal. Silakan coba lagi", "Verifying": "Memverifikasi", "Verified": "Terverifikasi", "Use code": "Gunakan kode", "for Patreon Auth, click Verify to unlock demo. Test at": "untuk Autentikasi Patreon, klik Verifikasi untuk membuka demo. Tes di", "Need help with Auth Token? See": "Butuh bantuan dengan Token Autentikasi? Lihat", "the guide": "panduannya", "Subscribe": "Berlangganan", "to get your Patreon Auth code and start downloading with ease!": "untuk mendapatkan kode Autentikasi Patreon dan mulai mengunduh dengan mudah!", "Report bugs or request features:": "Laporkan bug atau minta fitur:", "Import": "Impor", "Importing...": "Mengimpor...", "Supports JSON and ZIP formats": "Mendukung format JSON dan ZIP", "Export": "Ekspor", "Export All Data": "Ekspor Semua Data", "Exporting...": "Mengekspor...", "Clear": "Hapus", "Filter by Batch": "Filter berdasarkan Batch", "Are you sure to clear all data in the database?": "Apakah Anda yakin ingin menghapus semua data di database?", "Delete Account Data": "Hapus Data Akun", "Are you sure you want to delete account data? This action cannot be undone": "Apakah Anda yakin ingin menghapus data {{username}}? Tindakan ini tidak dapat dibatalkan.", "Delete": "Hapus", "Deleting...": "Menghapus...", "Overwrite": "Timpa", "Overwrite Existing Data?": "Timpa Data yang Ada?", "Account data for @{{username}} already exists in the database. Do you want to overwrite it?": "Data akun untuk @{{username}} sudah ada di database. Apakah Anda ingin menimpanya?", "No accounts yet": "Belum ada akun", "Use Dashboard to fetch data.": "Gunakan Dasbor untuk mengambil data.", "Something went wrong.": "Terjadi kesalahan.", "Error:": "Kesalahan:", "Fetch": "Ambil", "Single": "Tunggal", "Batch": "Batch", "Auto Batch": "Batch Otomatis", "Timeline": "Timeline", "Media": "Media", "Batch Size": "Ukuran Batch", "Starting Batch": "Batch Awal", "Posts": "Postingan", "Tweets": "Tweet", "Replies": "Balasan", "All": "Semua", "Image": "Gambar", "Video": "Video", "GIF": "GIF", "Batch: {{page}}": "Batch: {{page}}", "Start": "Mulai", "Stop": "Berhenti", "Prev": "Sebelumnya", "Next": "Selanjutnya", "Download Current": "Unduh Saat Ini", "Download All": "Unduh Semua", "Use Batch/Auto Batch if single fetch fails": "Gunakan Batch/Batch Otomatis jika pengambilan tunggal gagal", "Load from database": "Muat dari database", "Load database": "Muat database", "First Page": "Halaman Pertama", "Last Page": "Halaman Terakhir", "Failed to load data": "Gagal memuat data", "Update": "Perbarui", "Updating...": "Memperbarui...", "Update will fetch the latest data and overwrite the database. Continue?": "Pembaruan akan mengambil data terbaru dan menimpa database. Lanjutkan?", "Followers": "Pengikut", "Following": "Mengikuti", "Joined": "Bergabung", "Open": "Buka", "Preview": "Pratinjau", "View Database": "Lihat Database", "Converting...": "Mengonversi...", "Convert & Download": "Konversi & Unduh", "Date Since": "Tanggal Mulai", "Date Until": "Tanggal Sampai", "Empty dates will fetch all available media": "Tanggal kosong akan mengambil semua media yang tersedia", "Filter by Date Range": "Filter berdasarkan Rentang Tanggal", "Include Retweets": "Sertakan Retweet", "Not supported with Media timeline": "Tidak didukung dengan timeline Media", "No media found for date range {{since}} to {{until}}": "Tidak ada media ditemukan untuk rentang tanggal {{since}} sampai {{until}}", "No tweets found for this account": "Tidak ada tweet ditemukan untuk akun ini", "No media found in {{count}} tweets": "Tidak ada media ditemukan di {{count}} tweet" } };
  const it = { "common": { "Settings": "Impostazioni", "Server": "Server", "Choose the server closest to your location for best performance": "Scegli il server più vicino alla tua posizione per le migliori prestazioni", "Theme": "Tema", "Change Theme": "Cambia Tema", "Language": "Lingua", "Change Language": "Cambia Lingua", "Font Family": "Famiglia di Font", "System Default": "Predefinito di Sistema", "Date Time Format": "Formato Data Ora", "Sound Effects": "Effetti Sonori", "Debug": "Debug", "Global Settings": "Impostazioni Globali", "Version": "Versione", "Common Formats:": "Formati Comuni:", "Date Formats:": "Formati Data:", "Time Formats:": "Formati Ora:", "Combined Examples:": "Esempi Combinati:", "Localized": "Localizzato", "Reset Settings": "Ripristina Impostazioni", "Are you sure you want to reset settings to defaults?": "Sei sicuro di voler ripristinare le impostazioni predefinite?", "Reset": "Ripristina", "Cancel": "Annulla", "Chrome": "Chrome", "Userscript": "Userscript", "Status": "Stato", "Home": "Home", "Patreon": "Patreon", "Dashboard": "Dashboard", "Database": "Database", "Auth": "Autenticazione", "Convert Animated GIFs": "Converti GIF", "Convert GIFs (External)": "Converti GIF (Esterno)", "Concurrent Downloads": "Download Simultanei", "Use 10+ only with fast internet": "Usa 10+ solo con internet veloce", "Smaller size, same quality": "Dimensione ridotta, stessa qualità", "Larger size, same quality": "Dimensione maggiore, stessa qualità", "Back": "Indietro", "Please visit a profile page for auto-detection": "Visita una pagina profilo per il rilevamento automatico", "Please configure authentication in the Auth tab first": "Configura prima l'autenticazione nella scheda Auth", "Invalid username format": "Formato nome utente non valido", "Invalid auth token. Please check your settings.": "Token di autenticazione non valido. Controlla le impostazioni.", "Invalid Patreon auth. Please check your settings.": "Autenticazione Patreon non valida. Controlla le impostazioni.", "Failed to fetch data": "Impossibile recuperare i dati", "Failed to fetch data from all APIs": "Impossibile recuperare i dati da tutte le API", "Failed to verify auth from all APIs": "Impossibile verificare l'autenticazione da tutte le API", "Failed to generate token from all APIs": "Impossibile generare il token da tutte le API", "Generating token...": "Generazione token...", "Abort": "Interrompi", "Network error occurred": "Si è verificato un errore di rete", "Request timeout - please try again": "Timeout della richiesta - riprova", "Failed to parse API response": "Impossibile analizzare la risposta API", "Invalid API response structure": "Struttura risposta API non valida", "Unknown error occurred": "Si è verificato un errore sconosciuto", "HTTP error! status: {{status}}": "Errore HTTP! stato: {{status}}", "Download already in progress": "Download già in corso", "No media files found": "Nessun file multimediale trovato", "Toggle visibility": "Attiva/disattiva visibilità", "Close": "Chiudi", "Converting GIFs...": "Conversione GIF...", "Downloading...": "Download in corso...", "Download": "Scarica", "Fetching...": "Recupero...", "Fetch All": "Recupera Tutto", "Fetch Video": "Recupera Video", "Fetch Image": "Recupera Immagine", "Fetch GIF": "Recupera GIF", "Posts: {{posts}}": "Post: {{posts}}", "Media: {{media}}": "Media: {{media}}", "Current Media: {{current}} • Total Media: {{total}}": "Media Corrente: {{current}} • Media Totale: {{total}}", "Failed to download media": "Impossibile scaricare i media", "Demo mode is only available for @xbatchdemo": "La modalità demo è disponibile solo per @xbatchdemo", "Auth Token": "Token di Autenticazione", "Enter your auth token": "Inserisci il tuo token di autenticazione", "Your authentication token for API access": "Il tuo token di autenticazione per l'accesso API", "Patreon Auth": "Autenticazione Patreon", "Enter your Patreon auth": "Inserisci la tua autenticazione Patreon", "Your Patreon authentication key": "La tua chiave di autenticazione Patreon", "Please enter Patreon auth first": "Inserisci prima l'autenticazione Patreon", "Please verify Patreon auth first": "Verifica prima l'autenticazione Patreon", "Patreon auth verified successfully": "Autenticazione Patreon verificata con successo", "Invalid Patreon auth": "Autenticazione Patreon non valida", "Verification failed. Please try again": "Verifica fallita. Riprova", "Generating": "Generazione", "Generate": "Genera", "Verify": "Verifica", "Token generated successfully": "Token generato con successo ({{current}}/{{total}})", "Failed to generate token": "Impossibile generare il token", "Token generation failed. Please try again": "Generazione token fallita. Riprova", "Verifying": "Verifica in corso", "Verified": "Verificato", "Use code": "Usa il codice", "for Patreon Auth, click Verify to unlock demo. Test at": "per l'autenticazione Patreon, clicca Verifica per sbloccare la demo. Testa su", "Need help with Auth Token? See": "Hai bisogno di aiuto con il Token di Autenticazione? Vedi", "the guide": "la guida", "Subscribe": "Abbonati", "to get your Patreon Auth code and start downloading with ease!": "per ottenere il tuo codice di autenticazione Patreon e iniziare a scaricare facilmente!", "Report bugs or request features:": "Segnala bug o richiedi funzionalità:", "Import": "Importa", "Importing...": "Importazione...", "Supports JSON and ZIP formats": "Supporta formati JSON e ZIP", "Export": "Esporta", "Export All Data": "Esporta Tutti i Dati", "Exporting...": "Esportazione...", "Clear": "Cancella", "Filter by Batch": "Filtra per Batch", "Are you sure to clear all data in the database?": "Sei sicuro di voler cancellare tutti i dati nel database?", "Delete Account Data": "Elimina Dati Account", "Are you sure you want to delete account data? This action cannot be undone": "Sei sicuro di voler eliminare i dati di {{username}}? Questa azione non può essere annullata.", "Delete": "Elimina", "Deleting...": "Eliminazione...", "Overwrite": "Sovrascrivi", "Overwrite Existing Data?": "Sovrascrivere i Dati Esistenti?", "Account data for @{{username}} already exists in the database. Do you want to overwrite it?": "I dati dell'account per @{{username}} esistono già nel database. Vuoi sovrascriverli?", "No accounts yet": "Nessun account ancora", "Use Dashboard to fetch data.": "Usa la Dashboard per recuperare i dati.", "Something went wrong.": "Qualcosa è andato storto.", "Error:": "Errore:", "Fetch": "Recupera", "Single": "Singolo", "Batch": "Batch", "Auto Batch": "Batch Automatico", "Timeline": "Timeline", "Media": "Media", "Batch Size": "Dimensione Batch", "Starting Batch": "Batch Iniziale", "Posts": "Post", "Tweets": "Tweet", "Replies": "Risposte", "All": "Tutto", "Image": "Immagine", "Video": "Video", "GIF": "GIF", "Batch: {{page}}": "Batch: {{page}}", "Start": "Avvia", "Stop": "Ferma", "Prev": "Prec", "Next": "Succ", "Download Current": "Scarica Corrente", "Download All": "Scarica Tutto", "Use Batch/Auto Batch if single fetch fails": "Usa Batch/Batch Automatico se il recupero singolo fallisce", "Load from database": "Carica dal database", "Load database": "Carica database", "First Page": "Prima Pagina", "Last Page": "Ultima Pagina", "Failed to load data": "Impossibile caricare i dati", "Update": "Aggiorna", "Updating...": "Aggiornamento...", "Update will fetch the latest data and overwrite the database. Continue?": "L'aggiornamento recupererà i dati più recenti e sovrascriverà il database. Continuare?", "Followers": "Follower", "Following": "Seguiti", "Joined": "Iscritto", "Open": "Apri", "Preview": "Anteprima", "View Database": "Visualizza Database", "Converting...": "Conversione...", "Convert & Download": "Converti e Scarica", "Date Since": "Data Da", "Date Until": "Data Fino", "Empty dates will fetch all available media": "Date vuote recupereranno tutti i media disponibili", "Filter by Date Range": "Filtra per intervallo di date", "Include Retweets": "Includi Retweet", "Not supported with Media timeline": "Non supportato con timeline Media", "No media found for date range {{since}} to {{until}}": "Nessun media trovato per il periodo dal {{since}} al {{until}}", "No tweets found for this account": "Nessun tweet trovato per questo account", "No media found in {{count}} tweets": "Nessun media trovato in {{count}} tweet" } };
  const ja = { "common": { "Settings": "設定", "Server": "サーバー", "Choose the server closest to your location for best performance": "最高のパフォーマンスを得るために、お住まいの地域に最も近いサーバーを選択してください", "Theme": "テーマ", "Change Theme": "テーマを変更", "Language": "言語", "Change Language": "言語を変更", "Font Family": "フォントファミリー", "System Default": "システムデフォルト", "Date Time Format": "日時フォーマット", "Sound Effects": "サウンドエフェクト", "Debug": "デバッグ", "Global Settings": "グローバル設定", "Version": "バージョン", "Common Formats:": "一般的な形式:", "Date Formats:": "日付形式:", "Time Formats:": "時刻形式:", "Combined Examples:": "組み合わせ例:", "Localized": "ローカライズ済み", "Reset Settings": "設定のリセット", "Are you sure you want to reset settings to defaults?": "設定をデフォルトにリセットしてもよろしいですか?", "Reset": "リセット", "Cancel": "キャンセル", "Chrome": "Chrome", "Userscript": "ユーザースクリプト", "Status": "ステータス", "Home": "ホーム", "Patreon": "Patreon", "Dashboard": "ダッシュボード", "Database": "データベース", "Auth": "認証", "Convert Animated GIFs": "GIFを変換", "Convert GIFs (External)": "GIFを変換(外部)", "Concurrent Downloads": "同時ダウンロード数", "Use 10+ only with fast internet": "10以上は高速なインターネット環境でのみ使用してください", "Smaller size, same quality": "サイズは小さく、品質は同じです", "Larger size, same quality": "サイズは大きく、品質は同じです", "Back": "戻る", "Please visit a profile page for auto-detection": "プロフィールページを訪問して自動検出してください", "Please configure authentication in the Auth tab first": "最初に認証タブで認証を設定してください", "Invalid username format": "無効なユーザー名形式", "Invalid auth token. Please check your settings.": "無効な認証トークンです。設定を確認してください。", "Invalid Patreon auth. Please check your settings.": "無効なPatreon認証です。設定を確認してください。", "Failed to fetch data": "データ取得に失敗しました", "Failed to fetch data from all APIs": "すべてのAPIからデータ取得に失敗しました", "Failed to verify auth from all APIs": "すべてのAPIで認証の検証に失敗しました", "Failed to generate token from all APIs": "すべてのAPIでトークン生成に失敗しました", "Generating token...": "トークン生成中...", "Abort": "中止", "Network error occurred": "ネットワークエラーが発生しました", "Request timeout - please try again": "リクエストがタイムアウトしました。もう一度お試しください", "Failed to parse API response": "API 応答の解析に失敗しました", "Invalid API response structure": "無効な API 応答構造です", "Unknown error occurred": "不明なエラーが発生しました", "HTTP error! status: {{status}}": "HTTP エラー! ステータス: {{status}}", "Download already in progress": "ダウンロードはすでに進行中です", "No media files found": "メディアファイルが見つかりません", "Toggle visibility": "表示/非表示を切り替え", "Close": "閉じる", "Converting GIFs...": "GIF変換中...", "Downloading...": "ダウンロード中...", "Download": "ダウンロード", "Fetching...": "取得中...", "Fetch All": "すべて取得", "Fetch Video": "ビデオを取得", "Fetch Image": "画像を取得", "Fetch GIF": "GIFを取得", "Posts: {{posts}}": "投稿: {{posts}}", "Media: {{media}}": "メディア: {{media}}", "Current Media: {{current}} • Total Media: {{total}}": "現在のメディア: {{current}} • 合計メディア: {{total}}", "Failed to download media": "メディアダウンロードに失敗しました", "Demo mode is only available for @xbatchdemo": "デモモードは @xbatchdemo のみ利用できます", "Auth Token": "認証トークン", "Enter your auth token": "認証トークンを入力", "Your authentication token for API access": "APIアクセス用の認証トークン", "Patreon Auth": "Patreon認証", "Enter your Patreon auth": "Patreon認証を入力", "Your Patreon authentication key": "Patreon認証キー", "Please enter Patreon auth first": "最初にPatreon認証を入力してください", "Please verify Patreon auth first": "最初にPatreon認証を確認してください", "Patreon auth verified successfully": "Patreon認証が正常に確認されました", "Invalid Patreon auth": "無効なPatreon認証", "Verification failed. Please try again": "検証に失敗しました。再試行してください", "Generating": "生成中", "Generate": "生成", "Verify": "確認", "Token generated successfully": "トークンが正常に生成されました ({{current}}/{{total}})", "Failed to generate token": "トークン生成に失敗しました", "Token generation failed. Please try again": "トークン生成に失敗しました。再試行してください", "Verifying": "確認中", "Verified": "確認済み", "Use code": "コードを使用", "for Patreon Auth, click Verify to unlock demo. Test at": "Patreon 認証用。デモを有効にするには「確認」をクリック。テスト先:", "Need help with Auth Token? See": "認証トークンでお困りですか?こちらをご覧ください:", "the guide": "ガイド", "Subscribe": "購読する", "to get your Patreon Auth code and start downloading with ease!": "Patreon 認証コードを入手して、簡単にダウンロードを開始しましょう!", "Report bugs or request features:": "バグ報告や機能リクエストはこちら:", "Import": "インポート", "Importing...": "インポート中...", "Supports JSON and ZIP formats": "JSON および ZIP 形式をサポート", "Export": "エクスポート", "Export All Data": "すべてのデータをエクスポート", "Exporting...": "エクスポート中...", "Clear": "クリア", "Filter by Batch": "バッチでフィルター", "Are you sure to clear all data in the database?": "データベースのすべてのデータをクリアしてもよろしいですか?", "Delete Account Data": "アカウントデータの削除", "Are you sure you want to delete account data? This action cannot be undone": "{{username}}のデータを削除してもよろしいですか?この操作は元に戻せません。", "Delete": "削除", "Deleting...": "削除中...", "Overwrite": "上書き", "Overwrite Existing Data?": "既存のデータを上書きしますか?", "Account data for @{{username}} already exists in the database. Do you want to overwrite it?": "@{{username}} のアカウントデータは既にデータベースに存在します。上書きしますか?", "No accounts yet": "まだアカウントがありません", "Use Dashboard to fetch data.": "ダッシュボードを使用してデータを取得してください。", "Something went wrong.": "何かが間違っています。", "Error:": "エラー:", "Fetch": "取得", "Single": "シングル", "Batch": "バッチ", "Auto Batch": "自動バッチ", "Timeline": "タイムライン", "Media": "メディア", "Batch Size": "バッチサイズ", "Starting Batch": "開始バッチ", "Posts": "投稿", "Tweets": "ツイート", "Replies": "返信", "All": "すべて", "Image": "画像", "Video": "ビデオ", "GIF": "GIF", "Batch: {{page}}": "バッチ: {{page}}", "Start": "開始", "Stop": "停止", "Prev": "前へ", "Next": "次へ", "Download Current": "現在をダウンロード", "Download All": "すべてダウンロード", "Use Batch/Auto Batch if single fetch fails": "単一取得が失敗した場合はバッチ/自動バッチを使用してください", "Load from database": "データベースから読み込む", "Load database": "データベースを読み込む", "First Page": "最初のページ", "Last Page": "最後のページ", "Failed to load data": "データの読み込みに失敗しました", "Update": "更新", "Updating...": "更新中...", "Update will fetch the latest data and overwrite the database. Continue?": "更新により最新データを取得し、データベースを上書きします。続行しますか?", "Followers": "フォロワー", "Following": "フォロー中", "Joined": "参加日", "Open": "開く", "Preview": "プレビュー", "View Database": "データベースを表示", "Converting...": "変換中...", "Convert & Download": "変換してダウンロード", "Date Since": "開始日", "Date Until": "終了日", "Empty dates will fetch all available media": "日付が空の場合、利用可能なすべてのメディアを取得します", "Filter by Date Range": "日付範囲でフィルター", "Include Retweets": "リツイートを含む", "Not supported with Media timeline": "メディアタイムラインではサポートされていません", "No media found for date range {{since}} to {{until}}": "{{since}}から{{until}}の期間にメディアが見つかりませんでした", "No tweets found for this account": "このアカウントのツイートが見つかりませんでした", "No media found in {{count}} tweets": "{{count}}件のツイートにメディアが見つかりませんでした" } };
  const ko = { "common": { "Settings": "설정", "Server": "서버", "Choose the server closest to your location for best performance": "최상의 성능을 위해 가장 가까운 서버를 선택하세요", "Theme": "테마", "Change Theme": "테마 변경", "Language": "언어", "Change Language": "언어 변경", "Font Family": "글꼴 모음", "System Default": "시스템 기본값", "Date Time Format": "날짜 시간 형식", "Sound Effects": "사운드 효과", "Debug": "디버그", "Global Settings": "전역 설정", "Version": "버전", "Common Formats:": "일반 형식:", "Date Formats:": "날짜 형식:", "Time Formats:": "시간 형식:", "Combined Examples:": "결합 예시:", "Localized": "현지화됨", "Reset Settings": "설정 재설정", "Are you sure you want to reset settings to defaults?": "설정을 기본값으로 재설정하시겠습니까?", "Reset": "재설정", "Cancel": "취소", "Chrome": "Chrome", "Userscript": "유저스크립트", "Status": "상태", "Home": "홈", "Patreon": "Patreon", "Dashboard": "대시보드", "Database": "데이터베이스", "Auth": "인증", "Convert Animated GIFs": "GIF 변환", "Convert GIFs (External)": "GIF 변환 (외부)", "Concurrent Downloads": "동시 다운로드", "Use 10+ only with fast internet": "빠른 인터넷에서만 10+를 사용하세요", "Smaller size, same quality": "더 작은 용량, 동일한 품질", "Larger size, same quality": "더 큰 용량, 동일한 품질", "Back": "뒤로", "Please visit a profile page for auto-detection": "자동 감지를 위해 프로필 페이지를 방문해주세요", "Please configure authentication in the Auth tab first": "먼저 Auth 탭에서 인증을 구성해주세요", "Invalid username format": "잘못된 사용자명 형식", "Invalid auth token. Please check your settings.": "잘못된 인증 토큰입니다. 설정을 확인해주세요.", "Invalid Patreon auth. Please check your settings.": "잘못된 Patreon 인증입니다. 설정을 확인해주세요.", "Failed to fetch data": "데이터 가져오기 실패", "Failed to fetch data from all APIs": "모든 API에서 데이터를 가져오지 못했습니다", "Failed to verify auth from all APIs": "모든 API에서 인증 확인에 실패했습니다", "Failed to generate token from all APIs": "모든 API에서 토큰 생성에 실패했습니다", "Generating token...": "토큰 생성 중...", "Abort": "중단", "Network error occurred": "네트워크 오류가 발생했습니다", "Request timeout - please try again": "요청 시간 초과 - 다시 시도해 주세요", "Failed to parse API response": "API 응답을 파싱하지 못했습니다", "Invalid API response structure": "잘못된 API 응답 구조입니다", "Unknown error occurred": "알 수 없는 오류가 발생했습니다", "HTTP error! status: {{status}}": "HTTP 오류! 상태: {{status}}", "Download already in progress": "다운로드가 이미 진행 중입니다", "No media files found": "미디어 파일을 찾을 수 없습니다", "Toggle visibility": "표시/숨기기", "Close": "닫기", "Converting GIFs...": "GIF 변환 중...", "Downloading...": "다운로드 중...", "Download": "다운로드", "Fetching...": "가져오는 중...", "Fetch All": "전체 가져오기", "Fetch Video": "비디오 가져오기", "Fetch Image": "이미지 가져오기", "Fetch GIF": "GIF 가져오기", "Posts: {{posts}}": "게시물: {{posts}}", "Media: {{media}}": "미디어: {{media}}", "Current Media: {{current}} • Total Media: {{total}}": "현재 미디어: {{current}} • 전체 미디어: {{total}}", "Failed to download media": "미디어 다운로드 실패", "Demo mode is only available for @xbatchdemo": "데모 모드는 @xbatchdemo에게만 제공됩니다", "Auth Token": "인증 토큰", "Enter your auth token": "인증 토큰을 입력하세요", "Your authentication token for API access": "API 접근을 위한 인증 토큰", "Patreon Auth": "Patreon 인증", "Enter your Patreon auth": "Patreon 인증을 입력하세요", "Your Patreon authentication key": "Patreon 인증 키", "Please enter Patreon auth first": "먼저 Patreon 인증을 입력해주세요", "Please verify Patreon auth first": "먼저 Patreon 인증을 확인해주세요", "Patreon auth verified successfully": "Patreon 인증이 성공적으로 확인되었습니다", "Invalid Patreon auth": "잘못된 Patreon 인증", "Verification failed. Please try again": "확인 실패. 다시 시도해주세요", "Generating": "생성 중", "Generate": "생성", "Verify": "확인", "Token generated successfully": "토큰이 성공적으로 생성되었습니다 ({{current}}/{{total}})", "Failed to generate token": "토큰 생성 실패", "Token generation failed. Please try again": "토큰 생성 실패. 다시 시도해주세요", "Verifying": "확인 중", "Verified": "확인됨", "Use code": "코드를 사용", "for Patreon Auth, click Verify to unlock demo. Test at": "Patreon 인증용입니다. 데모를 해제하려면 ‘확인’을 클릭하세요. 테스트:", "Need help with Auth Token? See": "인증 토큰이 필요하신가요? 다음을 참조하세요:", "the guide": "가이드", "Subscribe": "구독하기", "to get your Patreon Auth code and start downloading with ease!": "Patreon 인증 코드를 받아 손쉽게 다운로드를 시작하세요!", "Report bugs or request features:": "버그 신고 또는 기능 요청:", "Import": "가져오기", "Importing...": "가져오는 중...", "Supports JSON and ZIP formats": "JSON 및 ZIP 형식 지원", "Export": "내보내기", "Export All Data": "모든 데이터 내보내기", "Exporting...": "내보내는 중...", "Clear": "삭제", "Filter by Batch": "배치별 필터", "Are you sure to clear all data in the database?": "데이터베이스의 모든 데이터를 삭제하시겠습니까?", "Delete Account Data": "계정 데이터 삭제", "Are you sure you want to delete account data? This action cannot be undone": "{{username}}의 데이터를 삭제하시겠습니까? 이 작업은 되돌릴 수 없습니다.", "Delete": "삭제", "Deleting...": "삭제 중...", "Overwrite": "덮어쓰기", "Overwrite Existing Data?": "기존 데이터를 덮어쓰시겠습니까?", "Account data for @{{username}} already exists in the database. Do you want to overwrite it?": "@{{username}}의 계정 데이터가 이미 데이터베이스에 존재합니다. 덮어쓰시겠습니까?", "No accounts yet": "아직 계정이 없습니다", "Use Dashboard to fetch data.": "대시보드를 사용하여 데이터를 가져와주세요.", "Something went wrong.": "문제가 발생했습니다.", "Error:": "오류:", "Fetch": "가져오기", "Single": "단일", "Batch": "배치", "Auto Batch": "자동 배치", "Timeline": "타임라인", "Media": "미디어", "Batch Size": "배치 크기", "Starting Batch": "시작 배치", "Posts": "게시물", "Tweets": "트윗", "Replies": "답글", "All": "전체", "Image": "이미지", "Video": "비디오", "GIF": "GIF", "Batch: {{page}}": "배치: {{page}}", "Start": "시작", "Stop": "중지", "Prev": "이전", "Next": "다음", "Download Current": "현재 다운로드", "Download All": "모두 다운로드", "Use Batch/Auto Batch if single fetch fails": "단일 가져오기가 실패하면 배치/자동 배치를 사용하세요", "Load from database": "데이터베이스에서 불러오기", "Load database": "데이터베이스 불러오기", "First Page": "첫 페이지", "Last Page": "마지막 페이지", "Failed to load data": "데이터 불러오기 실패", "Update": "업데이트", "Updating...": "업데이트 중...", "Update will fetch the latest data and overwrite the database. Continue?": "업데이트는 최신 데이터를 가져와 데이터베이스를 덮어씁니다. 계속하시겠습니까?", "Followers": "팔로워", "Following": "팔로잉", "Joined": "가입일", "Open": "열기", "Preview": "미리보기", "View Database": "데이터베이스 보기", "Converting...": "변환 중...", "Convert & Download": "변환 및 다운로드", "Date Since": "시작 날짜", "Date Until": "종료 날짜", "Empty dates will fetch all available media": "날짜가 비어있으면 사용 가능한 모든 미디어를 가져옵니다", "Filter by Date Range": "날짜 범위로 필터링", "Include Retweets": "리트윗 포함", "Not supported with Media timeline": "미디어 타임라인에서는 지원되지 않음", "No media found for date range {{since}} to {{until}}": "{{since}}부터 {{until}}까지의 기간에 미디어를 찾을 수 없습니다", "No tweets found for this account": "이 계정의 트윗을 찾을 수 없습니다", "No media found in {{count}} tweets": "{{count}}개의 트윗에서 미디어를 찾을 수 없습니다" } };
  const nl = { "common": { "Settings": "Instellingen", "Server": "Server", "Choose the server closest to your location for best performance": "Kies de server die het dichtst bij uw locatie ligt voor de beste prestaties", "Theme": "Thema", "Change Theme": "Verander Thema", "Language": "Taal", "Change Language": "Verander Taal", "Font Family": "Lettertypefamilie", "System Default": "Systeemstandaard", "Date Time Format": "Datum Tijd Formaat", "Sound Effects": "Geluidseffecten", "Debug": "Debug", "Global Settings": "Algemene Instellingen", "Version": "Versie", "Common Formats:": "Veelgebruikte Formaten:", "Date Formats:": "Datumformaten:", "Time Formats:": "Tijdformaten:", "Combined Examples:": "Gecombineerde Voorbeelden:", "Localized": "Gelokaliseerd", "Reset Settings": "Reset Instellingen", "Are you sure you want to reset settings to defaults?": "Weet je zeker dat je de instellingen wilt resetten naar standaard?", "Reset": "Reset", "Cancel": "Annuleren", "Chrome": "Chrome", "Userscript": "Userscript", "Status": "Status", "Home": "Home", "Patreon": "Patreon", "Dashboard": "Dashboard", "Database": "Database", "Auth": "Authenticatie", "Convert Animated GIFs": "Converteer GIF's", "Convert GIFs (External)": "Converteer GIF's (Extern)", "Concurrent Downloads": "Gelijktijdige Downloads", "Use 10+ only with fast internet": "Gebruik 10+ alleen met snel internet", "Smaller size, same quality": "Kleinere grootte, zelfde kwaliteit", "Larger size, same quality": "Grotere grootte, zelfde kwaliteit", "Back": "Terug", "Please visit a profile page for auto-detection": "Bezoek een profielpagina voor automatische detectie", "Please configure authentication in the Auth tab first": "Configureer eerst de authenticatie in het Auth-tabblad", "Invalid username format": "Ongeldige gebruikersnaam", "Invalid auth token. Please check your settings.": "Ongeldig authenticatietoken. Controleer je instellingen.", "Invalid Patreon auth. Please check your settings.": "Ongeldige Patreon-authenticatie. Controleer je instellingen.", "Failed to fetch data": "Kan gegevens niet ophalen", "Failed to fetch data from all APIs": "Kan gegevens niet ophalen van alle API's", "Failed to verify auth from all APIs": "Kan authenticatie niet verifiëren van alle API's", "Failed to generate token from all APIs": "Kan token niet genereren van alle API's", "Generating token...": "Token genereren...", "Abort": "Afbreken", "Network error occurred": "Netwerkfout opgetreden", "Request timeout - please try again": "Time-out verzoek - probeer opnieuw", "Failed to parse API response": "Kan API-reactie niet parseren", "Invalid API response structure": "Ongeldige API-reactiestructuur", "Unknown error occurred": "Onbekende fout opgetreden", "HTTP error! status: {{status}}": "HTTP-fout! status: {{status}}", "Download already in progress": "Download al bezig", "No media files found": "Geen mediabestanden gevonden", "Toggle visibility": "Schakel zichtbaarheid", "Close": "Sluiten", "Converting GIFs...": "GIF's converteren...", "Downloading...": "Downloaden...", "Download": "Downloaden", "Fetching...": "Ophalen...", "Fetch All": "Alles Ophalen", "Fetch Video": "Video Ophalen", "Fetch Image": "Afbeelding Ophalen", "Fetch GIF": "GIF Ophalen", "Posts: {{posts}}": "Berichten: {{posts}}", "Media: {{media}}": "Media: {{media}}", "Current Media: {{current}} • Total Media: {{total}}": "Huidige Media: {{current}} • Totale Media: {{total}}", "Failed to download media": "Kan media niet downloaden", "Demo mode is only available for @xbatchdemo": "Demomodus is alleen beschikbaar voor @xbatchdemo", "Auth Token": "Authenticatietoken", "Enter your auth token": "Voer je authenticatietoken in", "Your authentication token for API access": "Je authenticatietoken voor API-toegang", "Patreon Auth": "Patreon Authenticatie", "Enter your Patreon auth": "Voer je Patreon-authenticatie in", "Your Patreon authentication key": "Je Patreon-authenticatiesleutel", "Please enter Patreon auth first": "Voer eerst Patreon-authenticatie in", "Please verify Patreon auth first": "Verifieer eerst Patreon-authenticatie", "Patreon auth verified successfully": "Patreon-authenticatie succesvol geverifieerd", "Invalid Patreon auth": "Ongeldige Patreon-authenticatie", "Verification failed. Please try again": "Verificatie mislukt. Probeer opnieuw", "Generating": "Genereren", "Generate": "Genereren", "Verify": "Verifiëren", "Token generated successfully": "Token succesvol gegenereerd ({{current}}/{{total}})", "Failed to generate token": "Kan token niet genereren", "Token generation failed. Please try again": "Tokengeneratie mislukt. Probeer opnieuw", "Verifying": "Verifiëren", "Verified": "Geverifieerd", "Use code": "Gebruik code", "for Patreon Auth, click Verify to unlock demo. Test at": "voor Patreon Auth, klik op Verifiëren om demo te ontgrendelen. Test op", "Need help with Auth Token? See": "Hulp nodig met Authenticatietoken? Zie", "the guide": "de handleiding", "Subscribe": "Abonneren", "to get your Patreon Auth code and start downloading with ease!": "om je Patreon Auth-code te krijgen en gemakkelijk te beginnen met downloaden!", "Report bugs or request features:": "Rapporteer bugs of vraag functies aan:", "Import": "Importeren", "Importing...": "Importeren...", "Supports JSON and ZIP formats": "Ondersteunt JSON en ZIP formaten", "Export": "Exporteren", "Export All Data": "Alle Gegevens Exporteren", "Exporting...": "Exporteren...", "Clear": "Wissen", "Filter by Batch": "Filter op Batch", "Are you sure to clear all data in the database?": "Weet je zeker dat je alle gegevens in de database wilt wissen?", "Delete Account Data": "Accountgegevens Verwijderen", "Are you sure you want to delete account data? This action cannot be undone": "Weet je zeker dat je de gegevens van {{username}} wilt verwijderen? Deze actie kan niet ongedaan worden gemaakt.", "Delete": "Verwijderen", "Deleting...": "Verwijderen...", "Overwrite": "Overschrijven", "Overwrite Existing Data?": "Bestaande Gegevens Overschrijven?", "Account data for @{{username}} already exists in the database. Do you want to overwrite it?": "Accountgegevens voor @{{username}} bestaan al in de database. Wil je deze overschrijven?", "No accounts yet": "Nog geen accounts", "Use Dashboard to fetch data.": "Gebruik Dashboard om gegevens op te halen.", "Something went wrong.": "Er is iets misgegaan.", "Error:": "Fout:", "Fetch": "Ophalen", "Single": "Enkel", "Batch": "Batch", "Auto Batch": "Auto Batch", "Timeline": "Tijdlijn", "Media": "Media", "Batch Size": "Batch Grootte", "Starting Batch": "Start Batch", "Posts": "Berichten", "Tweets": "Tweets", "Replies": "Antwoorden", "All": "Alles", "Image": "Afbeelding", "Video": "Video", "GIF": "GIF", "Batch: {{page}}": "Batch: {{page}}", "Start": "Start", "Stop": "Stop", "Prev": "Vorige", "Next": "Volgende", "Download Current": "Huidige Downloaden", "Download All": "Alles Downloaden", "Use Batch/Auto Batch if single fetch fails": "Gebruik Batch/Auto Batch als enkele ophaal mislukt", "Load from database": "Laden vanuit database", "Load database": "Database laden", "First Page": "Eerste Pagina", "Last Page": "Laatste Pagina", "Failed to load data": "Kan gegevens niet laden", "Update": "Bijwerken", "Updating...": "Bijwerken...", "Update will fetch the latest data and overwrite the database. Continue?": "Bijwerken haalt de laatste gegevens op en overschrijft de database. Doorgaan?", "Followers": "Volgers", "Following": "Volgend", "Joined": "Lid sinds", "Open": "Openen", "Preview": "Voorbeeld", "View Database": "Database Bekijken", "Converting...": "Converteren...", "Convert & Download": "Converteren & Downloaden", "Date Since": "Datum Vanaf", "Date Until": "Datum Tot", "Empty dates will fetch all available media": "Lege datums halen alle beschikbare media op", "Filter by Date Range": "Filteren op datumbereik", "Include Retweets": "Retweets opnemen", "Not supported with Media timeline": "Niet ondersteund met mediatijdlijn", "No media found for date range {{since}} to {{until}}": "Geen media gevonden voor de periode {{since}} tot {{until}}", "No tweets found for this account": "Geen tweets gevonden voor dit account", "No media found in {{count}} tweets": "Geen media gevonden in {{count}} tweets" } };
  const pt = { "common": { "Settings": "Configurações", "Server": "Servidor", "Choose the server closest to your location for best performance": "Escolha o servidor mais próximo da sua localização para melhor desempenho", "Theme": "Tema", "Change Theme": "Alterar Tema", "Language": "Idioma", "Change Language": "Alterar Idioma", "Font Family": "Família de Fonte", "System Default": "Padrão do Sistema", "Date Time Format": "Formato de Data e Hora", "Sound Effects": "Efeitos Sonoros", "Debug": "Depurar", "Global Settings": "Configurações Globais", "Version": "Versão", "Common Formats:": "Formatos Comuns:", "Date Formats:": "Formatos de Data:", "Time Formats:": "Formatos de Hora:", "Combined Examples:": "Exemplos Combinados:", "Localized": "Localizado", "Reset Settings": "Redefinir configurações", "Are you sure you want to reset settings to defaults?": "Tem certeza de que deseja redefinir as configurações para o padrão?", "Reset": "Redefinir", "Cancel": "Cancelar", "Chrome": "Chrome", "Userscript": "Script de usuário", "Status": "Status", "Home": "Início", "Patreon": "Patreon", "Dashboard": "Painel", "Database": "Banco de Dados", "Auth": "Autenticação", "Convert Animated GIFs": "Converter GIFs", "Convert GIFs (External)": "Converter GIFs (Externo)", "Concurrent Downloads": "Downloads simultâneos", "Use 10+ only with fast internet": "Use 10+ apenas com internet rápida", "Smaller size, same quality": "Tamanho menor, mesma qualidade", "Larger size, same quality": "Tamanho maior, mesma qualidade", "Back": "Voltar", "Please visit a profile page for auto-detection": "Visite uma página de perfil para detecção automática", "Please configure authentication in the Auth tab first": "Configure a autenticação na aba Auth primeiro", "Invalid username format": "Formato de nome de usuário inválido", "Invalid auth token. Please check your settings.": "Token de autenticação inválido. Verifique suas configurações.", "Invalid Patreon auth. Please check your settings.": "Autenticação do Patreon inválida. Verifique suas configurações.", "Failed to fetch data": "Falha ao buscar os dados", "Failed to fetch data from all APIs": "Falha ao buscar os dados em todas as APIs", "Failed to verify auth from all APIs": "Falha ao verificar a autenticação em todas as APIs", "Failed to generate token from all APIs": "Falha ao gerar o token em todas as APIs", "Generating token...": "Gerando token...", "Abort": "Abortar", "Network error occurred": "Ocorreu um erro de rede", "Request timeout - please try again": "Tempo de requisição esgotado - tente novamente", "Failed to parse API response": "Falha ao analisar a resposta da API", "Invalid API response structure": "Estrutura de resposta da API inválida", "Unknown error occurred": "Ocorreu um erro desconhecido", "HTTP error! status: {{status}}": "Erro HTTP! status: {{status}}", "Download already in progress": "Download já em andamento", "No media files found": "Nenhum arquivo de mídia encontrado", "Toggle visibility": "Mostrar/ocultar", "Close": "Fechar", "Converting GIFs...": "Convertendo GIFs...", "Downloading...": "Baixando...", "Download": "Baixar", "Fetching...": "Obtendo...", "Fetch All": "Obter tudo", "Fetch Video": "Obter vídeo", "Fetch Image": "Obter imagem", "Fetch GIF": "Obter GIF", "Posts: {{posts}}": "Publicações: {{posts}}", "Media: {{media}}": "Mídia: {{media}}", "Current Media: {{current}} • Total Media: {{total}}": "Mídia atual: {{current}} • Mídia total: {{total}}", "Failed to download media": "Falha ao baixar a mídia", "Demo mode is only available for @xbatchdemo": "O modo demonstração está disponível apenas para @xbatchdemo", "Auth Token": "Token de autenticação", "Enter your auth token": "Insira seu token de autenticação", "Your authentication token for API access": "Seu token de autenticação para acesso à API", "Patreon Auth": "Autenticação do Patreon", "Enter your Patreon auth": "Insira sua autenticação do Patreon", "Your Patreon authentication key": "Sua chave de autenticação do Patreon", "Please enter Patreon auth first": "Insira primeiro a autenticação do Patreon", "Please verify Patreon auth first": "Verifique primeiro a autenticação do Patreon", "Patreon auth verified successfully": "Autenticação do Patreon verificada com sucesso", "Invalid Patreon auth": "Autenticação do Patreon inválida", "Verification failed. Please try again": "Falha na verificação. Tente novamente", "Generating": "Gerando", "Generate": "Gerar", "Verify": "Verificar", "Token generated successfully": "Token gerado com sucesso ({{current}}/{{total}})", "Failed to generate token": "Falha ao gerar o token", "Token generation failed. Please try again": "Falha na geração do token. Tente novamente", "Verifying": "Verificando", "Verified": "Verificado", "Use code": "Use o código", "for Patreon Auth, click Verify to unlock demo. Test at": 'para Autenticação do Patreon, clique em "Verificar" para desbloquear a demonstração. Teste em', "Need help with Auth Token? See": "Precisa de ajuda com o token de autenticação? Veja", "the guide": "o guia", "Subscribe": "Assine", "to get your Patreon Auth code and start downloading with ease!": "para obter seu código de autenticação do Patreon e começar a baixar com facilidade!", "Report bugs or request features:": "Relate bugs ou solicite recursos:", "Import": "Importar", "Importing...": "Importando...", "Supports JSON and ZIP formats": "Suporta formatos JSON e ZIP", "Export": "Exportar", "Export All Data": "Exportar todos os dados", "Exporting...": "Exportando...", "Clear": "Limpar", "Filter by Batch": "Filtrar por lote", "Are you sure to clear all data in the database?": "Tem certeza de que deseja limpar todos os dados do banco de dados?", "Delete Account Data": "Excluir dados da conta", "Are you sure you want to delete account data? This action cannot be undone": "Tem certeza de que deseja excluir os dados de {{username}}? Esta ação não pode ser desfeita.", "Delete": "Excluir", "Deleting...": "Excluindo...", "Overwrite": "Substituir", "Overwrite Existing Data?": "Substituir dados existentes?", "Account data for @{{username}} already exists in the database. Do you want to overwrite it?": "Os dados da conta @{{username}} já existem no banco de dados. Deseja substituí-los?", "No accounts yet": "Ainda não há contas", "Use Dashboard to fetch data.": "Use o Painel para buscar os dados.", "Something went wrong.": "Algo deu errado.", "Error:": "Erro:", "Fetch": "Buscar", "Single": "Único", "Batch": "Lote", "Auto Batch": "Lote automático", "Timeline": "Linha do tempo", "Media": "Mídia", "Batch Size": "Tamanho do lote", "Starting Batch": "Lote inicial", "Posts": "Publicações", "Tweets": "Tweets", "Replies": "Respostas", "All": "Tudo", "Image": "Imagem", "Video": "Vídeo", "GIF": "GIF", "Batch: {{page}}": "Lote: {{page}}", "Start": "Iniciar", "Stop": "Parar", "Prev": "Anterior", "Next": "Próximo", "Download Current": "Baixar atual", "Download All": "Baixar tudo", "Use Batch/Auto Batch if single fetch fails": "Use Lote/Lote automático se a busca única falhar", "Load from database": "Carregar do banco de dados", "Load database": "Carregar banco de dados", "First Page": "Primeira Página", "Last Page": "Última Página", "Failed to load data": "Falha ao carregar os dados", "Update": "Atualizar", "Updating...": "Atualizando...", "Update will fetch the latest data and overwrite the database. Continue?": "A atualização buscará os dados mais recentes e sobrescreverá o banco de dados. Continuar?", "Followers": "Seguidores", "Following": "Seguindo", "Joined": "Entrou em", "Open": "Abrir", "Preview": "Visualizar", "View Database": "Ver banco de dados", "Converting...": "Convertendo...", "Convert & Download": "Converter e baixar", "Date Since": "Data Desde", "Date Until": "Data Até", "Empty dates will fetch all available media": "Datas vazias buscarão todas as mídias disponíveis", "Filter by Date Range": "Filtrar por intervalo de datas", "Include Retweets": "Incluir Retweets", "Not supported with Media timeline": "Não suportado com linha do tempo de mídia", "No media found for date range {{since}} to {{until}}": "Nenhuma mídia encontrada para o período de {{since}} a {{until}}", "No tweets found for this account": "Nenhum tweet encontrado para esta conta", "No media found in {{count}} tweets": "Nenhuma mídia encontrada em {{count}} tweets" } };
  const ru = { "common": { "Settings": "Настройки", "Server": "Сервер", "Choose the server closest to your location for best performance": "Выберите ближайший к вам сервер для лучшей производительности", "Theme": "Тема", "Change Theme": "Изменить тему", "Language": "Язык", "Change Language": "Изменить язык", "Font Family": "Семейство шрифтов", "System Default": "Системный по умолчанию", "Date Time Format": "Формат даты и времени", "Sound Effects": "Звуковые Эффекты", "Debug": "Отладка", "Global Settings": "Глобальные настройки", "Version": "Версия", "Common Formats:": "Общие форматы:", "Date Formats:": "Форматы дат:", "Time Formats:": "Форматы времени:", "Combined Examples:": "Комбинированные примеры:", "Localized": "Локализованный", "Reset Settings": "Сбросить настройки", "Are you sure you want to reset settings to defaults?": "Вы уверены, что хотите сбросить настройки к значениям по умолчанию?", "Reset": "Сброс", "Cancel": "Отмена", "Chrome": "Chrome", "Userscript": "Пользовательский скрипт", "Status": "Статус", "Home": "Главная", "Patreon": "Patreon", "Dashboard": "Панель управления", "Database": "База данных", "Auth": "Аутентификация", "Convert Animated GIFs": "Конвертировать GIF", "Convert GIFs (External)": "Конвертировать GIF (внешний)", "Concurrent Downloads": "Одновременные загрузки", "Use 10+ only with fast internet": "Используйте 10+ только при быстром интернете", "Smaller size, same quality": "Меньший размер, то же качество", "Larger size, same quality": "Больший размер, то же качество", "Back": "Назад", "Please visit a profile page for auto-detection": "Посетите страницу профиля для автоопределения", "Please configure authentication in the Auth tab first": "Сначала настройте аутентификацию на вкладке Auth", "Invalid username format": "Недопустимый формат имени пользователя", "Invalid auth token. Please check your settings.": "Недействительный токен аутентификации. Проверьте настройки.", "Invalid Patreon auth. Please check your settings.": "Недействительная авторизация Patreon. Проверьте настройки.", "Failed to fetch data": "Не удалось получить данные", "Failed to fetch data from all APIs": "Не удалось получить данные со всех API", "Failed to verify auth from all APIs": "Не удалось проверить авторизацию через все API", "Failed to generate token from all APIs": "Не удалось сгенерировать токен через все API", "Generating token...": "Генерация токена...", "Abort": "Отменить", "Network error occurred": "Произошла сетевая ошибка", "Request timeout - please try again": "Время ожидания запроса истекло — попробуйте снова", "Failed to parse API response": "Не удалось разобрать ответ API", "Invalid API response structure": "Недопустимая структура ответа API", "Unknown error occurred": "Произошла неизвестная ошибка", "HTTP error! status: {{status}}": "Ошибка HTTP! статус: {{status}}", "Download already in progress": "Загрузка уже выполняется", "No media files found": "Медиафайлы не найдены", "Toggle visibility": "Показать/скрыть", "Close": "Закрыть", "Converting GIFs...": "Конвертация GIF...", "Downloading...": "Загрузка...", "Download": "Скачать", "Fetching...": "Получение...", "Fetch All": "Получить всё", "Fetch Video": "Получить видео", "Fetch Image": "Получить изображение", "Fetch GIF": "Получить GIF", "Posts: {{posts}}": "Публикации: {{posts}}", "Media: {{media}}": "Медиа: {{media}}", "Current Media: {{current}} • Total Media: {{total}}": "Текущая медиа: {{current}} • Всего медиа: {{total}}", "Failed to download media": "Не удалось скачать медиа", "Demo mode is only available for @xbatchdemo": "Демо-режим доступен только для @xbatchdemo", "Auth Token": "Токен аутентификации", "Enter your auth token": "Введите токен аутентификации", "Your authentication token for API access": "Ваш токен аутентификации для доступа к API", "Patreon Auth": "Авторизация Patreon", "Enter your Patreon auth": "Введите авторизацию Patreon", "Your Patreon authentication key": "Ваш ключ аутентификации Patreon", "Please enter Patreon auth first": "Сначала введите авторизацию Patreon", "Please verify Patreon auth first": "Сначала подтвердите авторизацию Patreon", "Patreon auth verified successfully": "Авторизация Patreon успешно проверена", "Invalid Patreon auth": "Недействительная авторизация Patreon", "Verification failed. Please try again": "Не удалось выполнить проверку. Попробуйте ещё раз", "Generating": "Генерация...", "Generate": "Создать", "Verify": "Проверить", "Token generated successfully": "Токен успешно сгенерирован ({{current}}/{{total}})", "Failed to generate token": "Не удалось сгенерировать токен", "Token generation failed. Please try again": "Не удалось сгенерировать токен. Попробуйте ещё раз", "Verifying": "Проверка...", "Verified": "Проверено", "Use code": "Используйте код", "for Patreon Auth, click Verify to unlock demo. Test at": "для аутентификации Patreon, нажмите «Проверить», чтобы разблокировать демо. Тест:", "Need help with Auth Token? See": "Нужна помощь с токеном аутентификации? См.", "the guide": "руководство", "Subscribe": "Подписаться", "to get your Patreon Auth code and start downloading with ease!": "чтобы получить код аутентификации Patreon и с лёгкостью начать скачивание!", "Report bugs or request features:": "Сообщить об ошибках или запросить функции:", "Import": "Импорт", "Importing...": "Импорт...", "Supports JSON and ZIP formats": "Поддерживает форматы JSON и ZIP", "Export": "Экспорт", "Export All Data": "Экспортировать все данные", "Exporting...": "Экспорт...", "Clear": "Очистить", "Filter by Batch": "Фильтр по пакетам", "Are you sure to clear all data in the database?": "Вы уверены, что хотите очистить все данные в базе данных?", "Delete Account Data": "Удалить данные аккаунта", "Are you sure you want to delete account data? This action cannot be undone": "Вы уверены, что хотите удалить данные {{username}}? Это действие нельзя отменить.", "Delete": "Удалить", "Deleting...": "Удаление...", "Overwrite": "Перезаписать", "Overwrite Existing Data?": "Перезаписать существующие данные?", "Account data for @{{username}} already exists in the database. Do you want to overwrite it?": "Данные аккаунта @{{username}} уже существуют в базе данных. Перезаписать их?", "No accounts yet": "Пока нет аккаунтов", "Use Dashboard to fetch data.": "Используйте панель, чтобы получить данные.", "Something went wrong.": "Что-то пошло не так.", "Error:": "Ошибка:", "Fetch": "Получить", "Single": "Одиночный", "Batch": "Пакет", "Auto Batch": "Автопакет", "Timeline": "Лента", "Media": "Медиа", "Batch Size": "Размер пакета", "Starting Batch": "Начальный пакет", "Posts": "Публикации", "Tweets": "Твиты", "Replies": "Ответы", "All": "Все", "Image": "Изображение", "Video": "Видео", "GIF": "GIF", "Batch: {{page}}": "Пакет: {{page}}", "Start": "Старт", "Stop": "Стоп", "Prev": "Назад", "Next": "Далее", "Download Current": "Скачать текущее", "Download All": "Скачать всё", "Use Batch/Auto Batch if single fetch fails": "Используйте пакет/автопакет, если одиночное получение не удалось", "Load from database": "Загрузить из базы данных", "Load database": "Загрузить базу данных", "First Page": "Первая Страница", "Last Page": "Последняя Страница", "Failed to load data": "Не удалось загрузить данные", "Update": "Обновить", "Updating...": "Обновление...", "Update will fetch the latest data and overwrite the database. Continue?": "Обновление получит последние данные и перезапишет базу данных. Продолжить?", "Followers": "Подписчики", "Following": "Подписки", "Joined": "Дата регистрации", "Open": "Открыть", "Preview": "Предпросмотр", "View Database": "Просмотреть базу данных", "Converting...": "Конвертация...", "Convert & Download": "Конвертировать и скачать", "Date Since": "Дата С", "Date Until": "Дата По", "Empty dates will fetch all available media": "Пустые даты загрузят все доступные медиа", "Filter by Date Range": "Фильтр по диапазону дат", "Include Retweets": "Включить ретвиты", "Not supported with Media timeline": "Не поддерживается с медиа-лентой", "No media found for date range {{since}} to {{until}}": "Медиа не найдено за период с {{since}} по {{until}}", "No tweets found for this account": "Твиты для этого аккаунта не найдены", "No media found in {{count}} tweets": "Медиа не найдено в {{count}} твитах" } };
  const th = { "common": { "Settings": "การตั้งค่า", "Server": "เซิร์ฟเวอร์", "Choose the server closest to your location for best performance": "เลือกเซิร์ฟเวอร์ที่ใกล้ที่สุดกับตำแหน่งของคุณเพื่อประสิทธิภาพที่ดีที่สุด", "Theme": "ธีม", "Change Theme": "เปลี่ยนธีม", "Language": "ภาษา", "Change Language": "เปลี่ยนภาษา", "Font Family": "ตระกูลฟอนต์", "System Default": "ค่าเริ่มต้นของระบบ", "Date Time Format": "รูปแบบวันที่และเวลา", "Sound Effects": "เอฟเฟกต์เสียง", "Debug": "ดีบัก", "Global Settings": "การตั้งค่าทั่วไป", "Version": "เวอร์ชัน", "Common Formats:": "รูปแบบทั่วไป:", "Date Formats:": "รูปแบบวันที่:", "Time Formats:": "รูปแบบเวลา:", "Combined Examples:": "ตัวอย่างรวม:", "Localized": "แปลเป็นภาษาท้องถิ่น", "Reset Settings": "รีเซ็ตการตั้งค่า", "Are you sure you want to reset settings to defaults?": "คุณแน่ใจหรือไม่ว่าต้องการรีเซ็ตการตั้งค่าเป็นค่าเริ่มต้น?", "Reset": "รีเซ็ต", "Cancel": "ยกเลิก", "Chrome": "Chrome", "Userscript": "Userscript", "Status": "สถานะ", "Home": "หน้าแรก", "Patreon": "Patreon", "Dashboard": "แดชบอร์ด", "Database": "ฐานข้อมูล", "Auth": "การยืนยันตัวตน", "Convert Animated GIFs": "แปลง GIF", "Convert GIFs (External)": "แปลง GIF (ภายนอก)", "Concurrent Downloads": "ดาวน์โหลดพร้อมกัน", "Use 10+ only with fast internet": "ใช้ 10+ เฉพาะกับอินเทอร์เน็ตเร็วเท่านั้น", "Smaller size, same quality": "ขนาดเล็กลง คุณภาพเท่าเดิม", "Larger size, same quality": "ขนาดใหญ่ขึ้น คุณภาพเท่าเดิม", "Back": "กลับ", "Please visit a profile page for auto-detection": "โปรดไปที่หน้าโปรไฟล์สำหรับการตรวจจับอัตโนมัติ", "Please configure authentication in the Auth tab first": "โปรดกำหนดค่าการยืนยันตัวตนในแท็บ Auth ก่อน", "Invalid username format": "รูปแบบชื่อผู้ใช้ไม่ถูกต้อง", "Invalid auth token. Please check your settings.": "โทเค็นการยืนยันตัวตนไม่ถูกต้อง โปรดตรวจสอบการตั้งค่าของคุณ", "Invalid Patreon auth. Please check your settings.": "การยืนยันตัวตน Patreon ไม่ถูกต้อง โปรดตรวจสอบการตั้งค่าของคุณ", "Failed to fetch data": "ไม่สามารถดึงข้อมูล", "Failed to fetch data from all APIs": "ไม่สามารถดึงข้อมูลจาก API ทั้งหมด", "Failed to verify auth from all APIs": "ไม่สามารถยืนยันตัวตนจาก API ทั้งหมด", "Failed to generate token from all APIs": "ไม่สามารถสร้างโทเค็นจาก API ทั้งหมด", "Generating token...": "กำลังสร้างโทเค็น...", "Abort": "ยกเลิก", "Network error occurred": "เกิดข้อผิดพลาดเครือข่าย", "Request timeout - please try again": "คำขอหมดเวลา - โปรดลองอีกครั้ง", "Failed to parse API response": "ไม่สามารถแยกวิเคราะห์การตอบกลับของ API", "Invalid API response structure": "โครงสร้างการตอบกลับของ API ไม่ถูกต้อง", "Unknown error occurred": "เกิดข้อผิดพลาดที่ไม่ทราบสาเหตุ", "HTTP error! status: {{status}}": "ข้อผิดพลาด HTTP! สถานะ: {{status}}", "Download already in progress": "กำลังดาวน์โหลดอยู่แล้ว", "No media files found": "ไม่พบไฟล์สื่อ", "Toggle visibility": "สลับการมองเห็น", "Close": "ปิด", "Converting GIFs...": "กำลังแปลง GIF...", "Downloading...": "กำลังดาวน์โหลด...", "Download": "ดาวน์โหลด", "Fetching...": "กำลังดึงข้อมูล...", "Fetch All": "ดึงทั้งหมด", "Fetch Video": "ดึงวิดีโอ", "Fetch Image": "ดึงรูปภาพ", "Fetch GIF": "ดึง GIF", "Posts: {{posts}}": "โพสต์: {{posts}}", "Media: {{media}}": "สื่อ: {{media}}", "Current Media: {{current}} • Total Media: {{total}}": "สื่อปัจจุบัน: {{current}} • สื่อทั้งหมด: {{total}}", "Failed to download media": "ไม่สามารถดาวน์โหลดสื่อ", "Demo mode is only available for @xbatchdemo": "โหมดสาธิตใช้ได้เฉพาะสำหรับ @xbatchdemo เท่านั้น", "Auth Token": "โทเค็นการยืนยันตัวตน", "Enter your auth token": "ป้อนโทเค็นการยืนยันตัวตนของคุณ", "Your authentication token for API access": "โทเค็นการยืนยันตัวตนของคุณสำหรับการเข้าถึง API", "Patreon Auth": "การยืนยันตัวตน Patreon", "Enter your Patreon auth": "ป้อนการยืนยันตัวตน Patreon ของคุณ", "Your Patreon authentication key": "คีย์การยืนยันตัวตน Patreon ของคุณ", "Please enter Patreon auth first": "โปรดป้อนการยืนยันตัวตน Patreon ก่อน", "Please verify Patreon auth first": "โปรดยืนยันการยืนยันตัวตน Patreon ก่อน", "Patreon auth verified successfully": "ยืนยันการยืนยันตัวตน Patreon สำเร็จ", "Invalid Patreon auth": "การยืนยันตัวตน Patreon ไม่ถูกต้อง", "Verification failed. Please try again": "การยืนยันล้มเหลว โปรดลองอีกครั้ง", "Generating": "กำลังสร้าง", "Generate": "สร้าง", "Verify": "ยืนยัน", "Token generated successfully": "สร้างโทเค็นสำเร็จ ({{current}}/{{total}})", "Failed to generate token": "ไม่สามารถสร้างโทเค็น", "Token generation failed. Please try again": "การสร้างโทเค็นล้มเหลว โปรดลองอีกครั้ง", "Verifying": "กำลังยืนยัน", "Verified": "ยืนยันแล้ว", "Use code": "ใช้รหัส", "for Patreon Auth, click Verify to unlock demo. Test at": "สำหรับการยืนยันตัวตน Patreon คลิกยืนยันเพื่อปลดล็อกสาธิต ทดสอบที่", "Need help with Auth Token? See": "ต้องการความช่วยเหลือเกี่ยวกับโทเค็นการยืนยันตัวตนหรือไม่? ดู", "the guide": "คู่มือ", "Subscribe": "สมัครสมาชิก", "to get your Patreon Auth code and start downloading with ease!": "เพื่อรับรหัสการยืนยันตัวตน Patreon และเริ่มดาวน์โหลดได้อย่างง่ายดาย!", "Report bugs or request features:": "รายงานบั๊กหรือขอฟีเจอร์:", "Import": "นำเข้า", "Importing...": "กำลังนำเข้า...", "Supports JSON and ZIP formats": "รองรับรูปแบบ JSON และ ZIP", "Export": "ส่งออก", "Export All Data": "ส่งออกข้อมูลทั้งหมด", "Exporting...": "กำลังส่งออก...", "Clear": "ล้าง", "Filter by Batch": "กรองตามแบทช์", "Are you sure to clear all data in the database?": "คุณแน่ใจหรือไม่ที่จะล้างข้อมูลทั้งหมดในฐานข้อมูล?", "Delete Account Data": "ลบข้อมูลบัญชี", "Are you sure you want to delete account data? This action cannot be undone": "คุณแน่ใจหรือไม่ที่จะลบข้อมูล {{username}}? การกระทำนี้ไม่สามารถยกเลิกได้", "Delete": "ลบ", "Deleting...": "กำลังลบ...", "Overwrite": "เขียนทับ", "Overwrite Existing Data?": "เขียนทับข้อมูลที่มีอยู่?", "Account data for @{{username}} already exists in the database. Do you want to overwrite it?": "ข้อมูลบัญชีสำหรับ @{{username}} มีอยู่แล้วในฐานข้อมูล คุณต้องการเขียนทับหรือไม่?", "No accounts yet": "ยังไม่มีบัญชี", "Use Dashboard to fetch data.": "ใช้แดชบอร์ดเพื่อดึงข้อมูล", "Something went wrong.": "เกิดข้อผิดพลาดบางอย่าง", "Error:": "ข้อผิดพลาด:", "Fetch": "ดึง", "Single": "เดี่ยว", "Batch": "แบทช์", "Auto Batch": "แบทช์อัตโนมัติ", "Timeline": "ไทม์ไลน์", "Media": "สื่อ", "Batch Size": "ขนาดแบทช์", "Starting Batch": "แบทช์เริ่มต้น", "Posts": "โพสต์", "Tweets": "ทวีต", "Replies": "ตอบกลับ", "All": "ทั้งหมด", "Image": "รูปภาพ", "Video": "วิดีโอ", "GIF": "GIF", "Batch: {{page}}": "แบทช์: {{page}}", "Start": "เริ่ม", "Stop": "หยุด", "Prev": "ก่อนหน้า", "Next": "ถัดไป", "Download Current": "ดาวน์โหลดปัจจุบัน", "Download All": "ดาวน์โหลดทั้งหมด", "Use Batch/Auto Batch if single fetch fails": "ใช้แบทช์/แบทช์อัตโนมัติหากการดึงเดี่ยวล้มเหลว", "Load from database": "โหลดจากฐานข้อมูล", "Load database": "โหลดฐานข้อมูล", "First Page": "หน้าแรก", "Last Page": "หน้าสุดท้าย", "Failed to load data": "ไม่สามารถโหลดข้อมูล", "Update": "อัปเดต", "Updating...": "กำลังอัปเดต...", "Update will fetch the latest data and overwrite the database. Continue?": "การอัปเดตจะดึงข้อมูลล่าสุดและเขียนทับฐานข้อมูล ดำเนินการต่อหรือไม่?", "Followers": "ผู้ติดตาม", "Following": "กำลังติดตาม", "Joined": "เข้าร่วม", "Open": "เปิด", "Preview": "ดูตัวอย่าง", "View Database": "ดูฐานข้อมูล", "Converting...": "กำลังแปลง...", "Convert & Download": "แปลงและดาวน์โหลด", "Date Since": "วันที่เริ่มต้น", "Date Until": "วันที่สิ้นสุด", "Empty dates will fetch all available media": "วันที่ว่างจะดึงสื่อทั้งหมดที่มี", "Filter by Date Range": "กรองตามช่วงวันที่", "Include Retweets": "รวมรีทวีต", "Not supported with Media timeline": "ไม่รองรับกับไทม์ไลน์สื่อ", "No media found for date range {{since}} to {{until}}": "ไม่พบสื่อสำหรับช่วงวันที่ {{since}} ถึง {{until}}", "No tweets found for this account": "ไม่พบทวีตสำหรับบัญชีนี้", "No media found in {{count}} tweets": "ไม่พบสื่อใน {{count}} ทวีต" } };
  const tr = { "common": { "Settings": "Ayarlar", "Server": "Sunucu", "Choose the server closest to your location for best performance": "En iyi performans için konumunuza en yakın sunucuyu seçin", "Theme": "Tema", "Change Theme": "Tema Değiştir", "Language": "Dil", "Change Language": "Dil Değiştir", "Font Family": "Yazı Tipi Ailesi", "System Default": "Sistem Varsayılanı", "Date Time Format": "Tarih Saat Formatı", "Sound Effects": "Ses Efektleri", "Debug": "Hata Ayıklama", "Global Settings": "Genel Ayarlar", "Version": "Sürüm", "Common Formats:": "Yaygın Formatlar:", "Date Formats:": "Tarih Formatları:", "Time Formats:": "Saat Formatları:", "Combined Examples:": "Birleşik Örnekler:", "Localized": "Yerelleştirilmiş", "Reset Settings": "Ayarları Sıfırla", "Are you sure you want to reset settings to defaults?": "Ayarları varsayılanlara sıfırlamak istediğinizden emin misiniz?", "Reset": "Sıfırla", "Cancel": "İptal", "Chrome": "Chrome", "Userscript": "Kullanıcı Betiği", "Status": "Durum", "Home": "Ana Sayfa", "Patreon": "Patreon", "Dashboard": "Kontrol Paneli", "Database": "Veritabanı", "Auth": "Kimlik Doğrulama", "Convert Animated GIFs": "GIF Dönüştür", "Convert GIFs (External)": "GIF Dönüştür (Harici)", "Concurrent Downloads": "Eşzamanlı İndirmeler", "Use 10+ only with fast internet": "10+'ı yalnızca hızlı internetle kullanın", "Smaller size, same quality": "Daha küçük boyut, aynı kalite", "Larger size, same quality": "Daha büyük boyut, aynı kalite", "Back": "Geri", "Please visit a profile page for auto-detection": "Otomatik algılama için lütfen bir profil sayfasını ziyaret edin", "Please configure authentication in the Auth tab first": "Lütfen önce Kimlik Doğrulama sekmesinde kimlik doğrulamayı yapılandırın", "Invalid username format": "Geçersiz kullanıcı adı formatı", "Invalid auth token. Please check your settings.": "Geçersiz kimlik doğrulama jetonu. Lütfen ayarlarınızı kontrol edin.", "Invalid Patreon auth. Please check your settings.": "Geçersiz Patreon kimlik doğrulaması. Lütfen ayarlarınızı kontrol edin.", "Failed to fetch data": "Veri alınamadı", "Failed to fetch data from all APIs": "Tüm API'lerden veri alınamadı", "Failed to verify auth from all APIs": "Tüm API'lerden kimlik doğrulama doğrulanamadı", "Failed to generate token from all APIs": "Tüm API'lerden jeton oluşturulamadı", "Generating token...": "Jeton oluşturuluyor...", "Abort": "İptal Et", "Network error occurred": "Ağ hatası oluştu", "Request timeout - please try again": "İstek zaman aşımına uğradı - lütfen tekrar deneyin", "Failed to parse API response": "API yanıtı ayrıştırılamadı", "Invalid API response structure": "Geçersiz API yanıt yapısı", "Unknown error occurred": "Bilinmeyen bir hata oluştu", "HTTP error! status: {{status}}": "HTTP hatası! durum: {{status}}", "Download already in progress": "İndirme zaten devam ediyor", "No media files found": "Medya dosyası bulunamadı", "Toggle visibility": "Görünürlüğü değiştir", "Close": "Kapat", "Converting GIFs...": "GIF'ler dönüştürülüyor...", "Downloading...": "İndiriliyor...", "Download": "İndir", "Fetching...": "Alınıyor...", "Fetch All": "Tümünü Al", "Fetch Video": "Video Al", "Fetch Image": "Resim Al", "Fetch GIF": "GIF Al", "Posts: {{posts}}": "Gönderiler: {{posts}}", "Media: {{media}}": "Medya: {{media}}", "Current Media: {{current}} • Total Media: {{total}}": "Mevcut Medya: {{current}} • Toplam Medya: {{total}}", "Failed to download media": "Medya indirilemedi", "Demo mode is only available for @xbatchdemo": "Demo modu yalnızca @xbatchdemo için kullanılabilir", "Auth Token": "Kimlik Doğrulama Jetonu", "Enter your auth token": "Kimlik doğrulama jetonunuzu girin", "Your authentication token for API access": "API erişimi için kimlik doğrulama jetonunuz", "Patreon Auth": "Patreon Kimlik Doğrulaması", "Enter your Patreon auth": "Patreon kimlik doğrulamanızı girin", "Your Patreon authentication key": "Patreon kimlik doğrulama anahtarınız", "Please enter Patreon auth first": "Lütfen önce Patreon kimlik doğrulamasını girin", "Please verify Patreon auth first": "Lütfen önce Patreon kimlik doğrulamasını doğrulayın", "Patreon auth verified successfully": "Patreon kimlik doğrulaması başarıyla doğrulandı", "Invalid Patreon auth": "Geçersiz Patreon kimlik doğrulaması", "Verification failed. Please try again": "Doğrulama başarısız. Lütfen tekrar deneyin", "Generating": "Oluşturuluyor", "Generate": "Oluştur", "Verify": "Doğrula", "Token generated successfully": "Jeton başarıyla oluşturuldu ({{current}}/{{total}})", "Failed to generate token": "Jeton oluşturulamadı", "Token generation failed. Please try again": "Jeton oluşturma başarısız. Lütfen tekrar deneyin", "Verifying": "Doğrulanıyor", "Verified": "Doğrulandı", "Use code": "Kodu kullan", "for Patreon Auth, click Verify to unlock demo. Test at": "Patreon Kimlik Doğrulaması için, demoyu açmak için Doğrula'ya tıklayın. Test edin:", "Need help with Auth Token? See": "Kimlik Doğrulama Jetonu için yardıma mı ihtiyacınız var? Bakın:", "the guide": "kılavuz", "Subscribe": "Abone Ol", "to get your Patreon Auth code and start downloading with ease!": "Patreon Kimlik Doğrulama kodunuzu almak ve kolayca indirmeye başlamak için!", "Report bugs or request features:": "Hata bildirin veya özellik isteyin:", "Import": "İçe Aktar", "Importing...": "İçe aktarılıyor...", "Supports JSON and ZIP formats": "JSON ve ZIP formatlarını destekler", "Export": "Dışa Aktar", "Export All Data": "Tüm Verileri Dışa Aktar", "Exporting...": "Dışa aktarılıyor...", "Clear": "Temizle", "Filter by Batch": "Toplu İşleme Göre Filtrele", "Are you sure to clear all data in the database?": "Veritabanındaki tüm verileri temizlemek istediğinizden emin misiniz?", "Delete Account Data": "Hesap Verilerini Sil", "Are you sure you want to delete account data? This action cannot be undone": "{{username}} verilerini silmek istediğinizden emin misiniz? Bu işlem geri alınamaz.", "Delete": "Sil", "Deleting...": "Siliniyor...", "Overwrite": "Üzerine Yaz", "Overwrite Existing Data?": "Mevcut Verilerin Üzerine Yazılsın mı?", "Account data for @{{username}} already exists in the database. Do you want to overwrite it?": "@{{username}} için hesap verileri veritabanında zaten mevcut. Üzerine yazmak istiyor musunuz?", "No accounts yet": "Henüz hesap yok", "Use Dashboard to fetch data.": "Veri almak için Kontrol Panelini kullanın.", "Something went wrong.": "Bir şeyler ters gitti.", "Error:": "Hata:", "Fetch": "Al", "Single": "Tekil", "Batch": "Toplu İşlem", "Auto Batch": "Otomatik Toplu İşlem", "Timeline": "Zaman Çizelgesi", "Media": "Medya", "Batch Size": "Toplu İşlem Boyutu", "Starting Batch": "Başlangıç Toplu İşlemi", "Posts": "Gönderiler", "Tweets": "Tweet'ler", "Replies": "Yanıtlar", "All": "Tümü", "Image": "Resim", "Video": "Video", "GIF": "GIF", "Batch: {{page}}": "Toplu İşlem: {{page}}", "Start": "Başlat", "Stop": "Durdur", "Prev": "Önceki", "Next": "Sonraki", "Download Current": "Mevcut'u İndir", "Download All": "Tümünü İndir", "Use Batch/Auto Batch if single fetch fails": "Tekil alma başarısız olursa Toplu İşlem/Otomatik Toplu İşlem kullanın", "Load from database": "Veritabanından yükle", "Load database": "Veritabanını yükle", "First Page": "İlk Sayfa", "Last Page": "Son Sayfa", "Failed to load data": "Veri yüklenemedi", "Update": "Güncelle", "Updating...": "Güncelleniyor...", "Update will fetch the latest data and overwrite the database. Continue?": "Güncelleme en son verileri alacak ve veritabanının üzerine yazacak. Devam edilsin mi?", "Followers": "Takipçiler", "Following": "Takip Edilenler", "Joined": "Katıldı", "Open": "Aç", "Preview": "Önizleme", "View Database": "Veritabanını Görüntüle", "Converting...": "Dönüştürülüyor...", "Convert & Download": "Dönüştür ve İndir", "Date Since": "Başlangıç Tarihi", "Date Until": "Bitiş Tarihi", "Empty dates will fetch all available media": "Boş tarihler mevcut tüm medyayı getirecek", "Filter by Date Range": "Tarih aralığına göre filtrele", "Include Retweets": "Retweetleri Dahil Et", "Not supported with Media timeline": "Medya zaman çizelgesi ile desteklenmez", "No media found for date range {{since}} to {{until}}": "{{since}} ile {{until}} tarihleri arasında medya bulunamadı", "No tweets found for this account": "Bu hesap için tweet bulunamadı", "No media found in {{count}} tweets": "{{count}} tweet içinde medya bulunamadı" } };
  const vi = { "common": { "Settings": "Cài đặt", "Server": "Máy chủ", "Choose the server closest to your location for best performance": "Chọn máy chủ gần vị trí của bạn nhất để có hiệu suất tốt nhất", "Theme": "Giao diện", "Change Theme": "Đổi giao diện", "Language": "Ngôn ngữ", "Change Language": "Đổi ngôn ngữ", "Font Family": "Họ Phông Chữ", "System Default": "Mặc Định Hệ Thống", "Date Time Format": "Định dạng ngày giờ", "Sound Effects": "Hiệu Ứng Âm Thanh", "Debug": "Gỡ lỗi", "Global Settings": "Cài đặt chung", "Version": "Phiên bản", "Common Formats:": "Định dạng phổ biến:", "Date Formats:": "Định dạng ngày:", "Time Formats:": "Định dạng giờ:", "Combined Examples:": "Ví dụ kết hợp:", "Localized": "Đã bản địa hóa", "Reset Settings": "Đặt lại cài đặt", "Are you sure you want to reset settings to defaults?": "Bạn có chắc muốn đặt lại cài đặt về mặc định không?", "Reset": "Đặt lại", "Cancel": "Hủy", "Chrome": "Chrome", "Userscript": "Userscript", "Status": "Trạng thái", "Home": "Trang chủ", "Patreon": "Patreon", "Dashboard": "Bảng điều khiển", "Database": "Cơ sở dữ liệu", "Auth": "Xác thực", "Convert Animated GIFs": "Chuyển đổi GIF", "Convert GIFs (External)": "Chuyển đổi GIF (Bên ngoài)", "Concurrent Downloads": "Tải xuống đồng thời", "Use 10+ only with fast internet": "Chỉ sử dụng 10+ với internet nhanh", "Smaller size, same quality": "Kích thước nhỏ hơn, chất lượng tương tự", "Larger size, same quality": "Kích thước lớn hơn, chất lượng tương tự", "Back": "Quay lại", "Please visit a profile page for auto-detection": "Vui lòng truy cập trang hồ sơ để tự động phát hiện", "Please configure authentication in the Auth tab first": "Vui lòng cấu hình xác thực trong tab Xác thực trước", "Invalid username format": "Định dạng tên người dùng không hợp lệ", "Invalid auth token. Please check your settings.": "Token xác thực không hợp lệ. Vui lòng kiểm tra cài đặt của bạn.", "Invalid Patreon auth. Please check your settings.": "Xác thực Patreon không hợp lệ. Vui lòng kiểm tra cài đặt của bạn.", "Failed to fetch data": "Không thể lấy dữ liệu", "Failed to fetch data from all APIs": "Không thể lấy dữ liệu từ tất cả các API", "Failed to verify auth from all APIs": "Không thể xác minh xác thực từ tất cả các API", "Failed to generate token from all APIs": "Không thể tạo token từ tất cả các API", "Generating token...": "Đang tạo token...", "Abort": "Hủy bỏ", "Network error occurred": "Đã xảy ra lỗi mạng", "Request timeout - please try again": "Yêu cầu hết thời gian - vui lòng thử lại", "Failed to parse API response": "Không thể phân tích phản hồi API", "Invalid API response structure": "Cấu trúc phản hồi API không hợp lệ", "Unknown error occurred": "Đã xảy ra lỗi không xác định", "HTTP error! status: {{status}}": "Lỗi HTTP! trạng thái: {{status}}", "Download already in progress": "Đang tải xuống", "No media files found": "Không tìm thấy tệp phương tiện", "Toggle visibility": "Chuyển đổi hiển thị", "Close": "Đóng", "Converting GIFs...": "Đang chuyển đổi GIF...", "Downloading...": "Đang tải xuống...", "Download": "Tải xuống", "Fetching...": "Đang lấy...", "Fetch All": "Lấy tất cả", "Fetch Video": "Lấy video", "Fetch Image": "Lấy hình ảnh", "Fetch GIF": "Lấy GIF", "Posts: {{posts}}": "Bài viết: {{posts}}", "Media: {{media}}": "Phương tiện: {{media}}", "Current Media: {{current}} • Total Media: {{total}}": "Phương tiện hiện tại: {{current}} • Tổng phương tiện: {{total}}", "Failed to download media": "Không thể tải xuống phương tiện", "Demo mode is only available for @xbatchdemo": "Chế độ demo chỉ khả dụng cho @xbatchdemo", "Auth Token": "Token xác thực", "Enter your auth token": "Nhập token xác thực của bạn", "Your authentication token for API access": "Token xác thực của bạn để truy cập API", "Patreon Auth": "Xác thực Patreon", "Enter your Patreon auth": "Nhập xác thực Patreon của bạn", "Your Patreon authentication key": "Khóa xác thực Patreon của bạn", "Please enter Patreon auth first": "Vui lòng nhập xác thực Patreon trước", "Please verify Patreon auth first": "Vui lòng xác minh xác thực Patreon trước", "Patreon auth verified successfully": "Xác thực Patreon thành công", "Invalid Patreon auth": "Xác thực Patreon không hợp lệ", "Verification failed. Please try again": "Xác minh thất bại. Vui lòng thử lại", "Generating": "Đang tạo", "Generate": "Tạo", "Verify": "Xác minh", "Token generated successfully": "Tạo token thành công ({{current}}/{{total}})", "Failed to generate token": "Không thể tạo token", "Token generation failed. Please try again": "Tạo token thất bại. Vui lòng thử lại", "Verifying": "Đang xác minh", "Verified": "Đã xác minh", "Use code": "Sử dụng mã", "for Patreon Auth, click Verify to unlock demo. Test at": "cho Xác thực Patreon, nhấp Xác minh để mở khóa demo. Thử nghiệm tại", "Need help with Auth Token? See": "Cần trợ giúp với Token xác thực? Xem", "the guide": "hướng dẫn", "Subscribe": "Đăng ký", "to get your Patreon Auth code and start downloading with ease!": "để nhận mã Xác thực Patreon và bắt đầu tải xuống dễ dàng!", "Report bugs or request features:": "Báo cáo lỗi hoặc yêu cầu tính năng:", "Import": "Nhập", "Importing...": "Đang nhập...", "Supports JSON and ZIP formats": "Hỗ trợ định dạng JSON và ZIP", "Export": "Xuất", "Export All Data": "Xuất tất cả dữ liệu", "Exporting...": "Đang xuất...", "Clear": "Xóa", "Filter by Batch": "Lọc theo đợt", "Are you sure to clear all data in the database?": "Bạn có chắc muốn xóa tất cả dữ liệu trong cơ sở dữ liệu không?", "Delete Account Data": "Xóa dữ liệu tài khoản", "Are you sure you want to delete account data? This action cannot be undone": "Bạn có chắc muốn xóa dữ liệu của {{username}} không? Hành động này không thể hoàn tác.", "Delete": "Xóa", "Deleting...": "Đang xóa...", "Overwrite": "Ghi đè", "Overwrite Existing Data?": "Ghi đè dữ liệu hiện có?", "Account data for @{{username}} already exists in the database. Do you want to overwrite it?": "Dữ liệu tài khoản cho @{{username}} đã tồn tại trong cơ sở dữ liệu. Bạn có muốn ghi đè không?", "No accounts yet": "Chưa có tài khoản", "Use Dashboard to fetch data.": "Sử dụng Bảng điều khiển để lấy dữ liệu.", "Something went wrong.": "Đã xảy ra lỗi.", "Error:": "Lỗi:", "Fetch": "Lấy", "Single": "Đơn lẻ", "Batch": "Đợt", "Auto Batch": "Đợt tự động", "Timeline": "Dòng thời gian", "Media": "Phương tiện", "Batch Size": "Kích thước đợt", "Starting Batch": "Đợt bắt đầu", "Posts": "Bài viết", "Tweets": "Tweet", "Replies": "Phản hồi", "All": "Tất cả", "Image": "Hình ảnh", "Video": "Video", "GIF": "GIF", "Batch: {{page}}": "Đợt: {{page}}", "Start": "Bắt đầu", "Stop": "Dừng", "Prev": "Trước", "Next": "Tiếp", "Download Current": "Tải xuống hiện tại", "Download All": "Tải xuống tất cả", "Use Batch/Auto Batch if single fetch fails": "Sử dụng Đợt/Đợt tự động nếu lấy đơn lẻ thất bại", "Load from database": "Tải từ cơ sở dữ liệu", "Load database": "Tải cơ sở dữ liệu", "First Page": "Trang Đầu", "Last Page": "Trang Cuối", "Failed to load data": "Không thể tải dữ liệu", "Update": "Cập nhật", "Updating...": "Đang cập nhật...", "Update will fetch the latest data and overwrite the database. Continue?": "Cập nhật sẽ lấy dữ liệu mới nhất và ghi đè cơ sở dữ liệu. Tiếp tục?", "Followers": "Người theo dõi", "Following": "Đang theo dõi", "Joined": "Đã tham gia", "Open": "Mở", "Preview": "Xem trước", "View Database": "Xem cơ sở dữ liệu", "Converting...": "Đang chuyển đổi...", "Convert & Download": "Chuyển đổi và Tải xuống", "Date Since": "Ngày Từ", "Date Until": "Ngày Đến", "Empty dates will fetch all available media": "Ngày trống sẽ tải tất cả phương tiện có sẵn", "Filter by Date Range": "Lọc theo khoảng ngày", "Include Retweets": "Bao gồm Retweet", "Not supported with Media timeline": "Không được hỗ trợ với dòng thời gian phương tiện", "No media found for date range {{since}} to {{until}}": "Không tìm thấy phương tiện cho khoảng thời gian từ {{since}} đến {{until}}", "No tweets found for this account": "Không tìm thấy tweet cho tài khoản này", "No media found in {{count}} tweets": "Không tìm thấy phương tiện trong {{count}} tweet" } };
  const zh_Hans = { "common": { "Settings": "设置", "Server": "服务器", "Choose the server closest to your location for best performance": "选择离您最近的服务器以获得最佳性能", "Theme": "主题", "Change Theme": "更改主题", "Language": "语言", "Change Language": "更改语言", "Font Family": "字体系列", "System Default": "系统默认", "Date Time Format": "日期时间格式", "Sound Effects": "音效", "Debug": "调试开关", "Global Settings": "全局设置", "Version": "版本", "Common Formats:": "常用格式:", "Date Formats:": "日期格式:", "Time Formats:": "时间格式:", "Combined Examples:": "组合示例:", "Localized": "本地化", "Reset Settings": "重置设置", "Are you sure you want to reset settings to defaults?": "确定要将设置重置为默认值吗?", "Reset": "重置", "Cancel": "取消", "Chrome": "Chrome", "Userscript": "用户脚本", "Status": "状态", "Home": "主页", "Patreon": "Patreon", "Dashboard": "仪表板", "Database": "数据库", "Auth": "认证", "Convert Animated GIFs": "转换 GIF", "Convert GIFs (External)": "转换 GIF(外部)", "Concurrent Downloads": "并发下载", "Use 10+ only with fast internet": "仅在网络快速时使用 10+", "Smaller size, same quality": "体积更小,质量相同", "Larger size, same quality": "体积更大,质量相同", "Back": "返回", "Please visit a profile page for auto-detection": "请访问个人资料页面进行自动检测", "Please configure authentication in the Auth tab first": "请先在认证选项卡中配置身份验证", "Invalid username format": "无效的用户名格式", "Invalid auth token. Please check your settings.": "无效的认证令牌,请检查您的设置。", "Invalid Patreon auth. Please check your settings.": "无效的 Patreon 认证,请检查您的设置。", "Failed to fetch data": "获取数据失败", "Failed to fetch data from all APIs": "所有 API 均无法获取数据", "Failed to verify auth from all APIs": "所有 API 均无法验证认证", "Failed to generate token from all APIs": "所有 API 均无法生成令牌", "Generating token...": "正在生成令牌...", "Abort": "中止", "Network error occurred": "发生网络错误", "Request timeout - please try again": "请求超时 - 请重试", "Failed to parse API response": "解析 API 响应失败", "Invalid API response structure": "无效的 API 响应结构", "Unknown error occurred": "发生未知错误", "HTTP error! status: {{status}}": "HTTP 错误!状态:{{status}}", "Download already in progress": "下载已在进行中", "No media files found": "未找到媒体文件", "Toggle visibility": "显示/隐藏", "Close": "关闭", "Converting GIFs...": "正在转换 GIF...", "Downloading...": "正在下载...", "Download": "下载", "Fetching...": "正在获取...", "Fetch All": "获取全部", "Fetch Video": "获取视频", "Fetch Image": "获取图片", "Fetch GIF": "获取 GIF", "Posts: {{posts}}": "帖子:{{posts}}", "Media: {{media}}": "媒体:{{media}}", "Current Media: {{current}} • Total Media: {{total}}": "当前媒体:{{current}} • 总媒体:{{total}}", "Failed to download media": "下载媒体失败", "Demo mode is only available for @xbatchdemo": "演示模式仅适用于 @xbatchdemo", "Auth Token": "认证令牌", "Enter your auth token": "输入您的认证令牌", "Your authentication token for API access": "用于 API 访问的身份验证令牌", "Patreon Auth": "Patreon 认证", "Enter your Patreon auth": "输入您的 Patreon 认证", "Your Patreon authentication key": "您的 Patreon 身份验证密钥", "Please enter Patreon auth first": "请先输入 Patreon 认证", "Please verify Patreon auth first": "请先验证 Patreon 认证", "Patreon auth verified successfully": "Patreon 认证验证成功", "Invalid Patreon auth": "无效的 Patreon 认证", "Verification failed. Please try again": "验证失败,请重试", "Generating": "正在生成", "Generate": "生成", "Verify": "验证", "Token generated successfully": "令牌生成成功 ({{current}}/{{total}})", "Failed to generate token": "生成令牌失败", "Token generation failed. Please try again": "令牌生成失败,请重试", "Verifying": "正在验证", "Verified": "已验证", "Use code": "使用代码", "for Patreon Auth, click Verify to unlock demo. Test at": "用于 Patreon 认证,点击“验证”以解锁演示。测试地址:", "Need help with Auth Token? See": "需要获取认证令牌的帮助?请查看", "the guide": "指南", "Subscribe": "订阅", "to get your Patreon Auth code and start downloading with ease!": "即可获取您的 Patreon 认证码,轻松开始下载!", "Report bugs or request features:": "报告问题或请求功能:", "Import": "导入", "Importing...": "正在导入...", "Supports JSON and ZIP formats": "支持 JSON 和 ZIP 格式", "Export": "导出", "Export All Data": "导出全部数据", "Exporting...": "正在导出...", "Clear": "清空", "Filter by Batch": "按批次过滤", "Are you sure to clear all data in the database?": "确定要清空数据库中的所有数据吗?", "Delete Account Data": "删除账户数据", "Are you sure you want to delete account data? This action cannot be undone": "您确定要删除 {{username}} 的数据吗?此操作无法撤销。", "Delete": "删除", "Deleting...": "正在删除...", "Overwrite": "覆盖", "Overwrite Existing Data?": "覆盖现有数据?", "Account data for @{{username}} already exists in the database. Do you want to overwrite it?": "账户 @{{username}} 的数据已存在于数据库中。您要覆盖吗?", "No accounts yet": "尚未有账户", "Use Dashboard to fetch data.": "使用仪表板获取数据。", "Something went wrong.": "出错了。", "Error:": "错误:", "Fetch": "获取", "Single": "单次", "Batch": "批量", "Auto Batch": "自动批量", "Timeline": "时间线", "Media": "媒体", "Batch Size": "批量大小", "Starting Batch": "起始批次", "Posts": "帖子", "Tweets": "推文", "Replies": "回复", "All": "全部", "Image": "图片", "Video": "视频", "GIF": "GIF", "Batch: {{page}}": "批次:{{page}}", "Start": "开始", "Stop": "停止", "Prev": "上一页", "Next": "下一页", "Download Current": "下载当前", "Download All": "下载全部", "Use Batch/Auto Batch if single fetch fails": "若单次获取失败,请使用批量/自动批量", "Load from database": "从数据库加载", "Load database": "加载数据库", "First Page": "第一页", "Last Page": "最后一页", "Failed to load data": "加载数据失败", "Update": "更新", "Updating...": "更新中...", "Update will fetch the latest data and overwrite the database. Continue?": "更新将获取最新数据并覆盖数据库。继续吗?", "Followers": "粉丝", "Following": "正在关注", "Joined": "加入时间", "Open": "打开", "Preview": "预览", "View Database": "查看数据库", "Converting...": "转换中...", "Convert & Download": "转换并下载", "Date Since": "开始日期", "Date Until": "结束日期", "Empty dates will fetch all available media": "空日期将获取所有可用媒体", "Filter by Date Range": "按日期范围过滤", "Include Retweets": "包含转推", "Not supported with Media timeline": "媒体时间线不支持", "No media found for date range {{since}} to {{until}}": "未找到日期范围 {{since}} 至 {{until}} 的媒体", "No tweets found for this account": "未找到此账户的推文", "No media found in {{count}} tweets": "在 {{count}} 条推文中未找到媒体" } };
  const resources = {
    "ar": ar,
    "de": de,
    "en": en$1,
    "es": es,
    "fil": fil,
    "fr": fr,
    "hi": hi,
    "id": id,
    "it": it,
    "ja": ja,
    "ko": ko,
    "nl": nl,
    "pt": pt,
    "ru": ru,
    "th": th,
    "tr": tr,
    "vi": vi,
    "zh-Hans": zh_Hans
  };
  const logLinesSignal = signals.signal([]);
  const APP_NAME = "twitter-x-media-batch-downloader-pro";
  class Logger {
    index = 0;
    buffer = [];
    bufferTimer = null;
    isDebugEnabled() {
      try {
        const { options: options2 } = require("@/core/options");
        return options2.get("debug") ?? false;
      } catch {
        return false;
      }
    }
    info(line, ...args) {
      if (this.isDebugEnabled()) {
        console.info(`[${APP_NAME}]`, line, ...args);
        this.writeBuffer({ type: "info", line, index: this.index++ });
      }
    }
    warn(line, ...args) {
      if (this.isDebugEnabled()) {
        console.warn(`[${APP_NAME}]`, line, ...args);
        this.writeBuffer({ type: "warn", line, index: this.index++ });
      }
    }
    error(line, ...args) {
      console.error(`[${APP_NAME}]`, line, ...args);
      this.writeBuffer({ type: "error", line, index: this.index++ });
    }
    errorWithBanner(msg, err, ...args) {
      this.error(
        `${msg} (Message: ${err?.message ?? "none"})
  Report bugs: [email protected]`,
        ...args
      );
    }
    debug(...args) {
      if (this.isDebugEnabled()) {
        console.debug(`[${APP_NAME}]`, ...args);
      }
    }
    writeBuffer(log) {
      this.buffer.push(log);
      if (this.bufferTimer) {
        clearTimeout(this.bufferTimer);
      }
      this.bufferTimer = window.setTimeout(() => {
        this.bufferTimer = null;
        this.flushBuffer();
      }, 0);
    }
    flushBuffer() {
      logLinesSignal.value = [...logLinesSignal.value, ...this.buffer];
      this.buffer = [];
    }
  }
  const logger = new Logger();
  function safeJSONParse(text) {
    try {
      return JSON.parse(text);
    } catch (e) {
      logger.error(e.message);
      return null;
    }
  }
  function cx(...classNames) {
    return classNames.filter(Boolean).join(" ");
  }
  function isEqual(obj1, obj2) {
    return JSON.stringify(obj1) === JSON.stringify(obj2);
  }
  function formatDateTime(date, format) {
    if (typeof date === "number" || typeof date === "string") {
      date = dayjs(date);
    }
    return date.format(format);
  }
  function sanitizeFilename(name) {
    return name.replace(/[\\/:*?"<>|]/g, "-").replace(/\s+/g, "_").replace(/_+/g, "_").replace(/^_+|_+$/g, "");
  }
  const version = "1.1.0";
  const pkg = {
    version
  };
  const DEFAULT_APP_OPTIONS = {
    theme: "light",
    debug: false,
    soundEffects: true,
    showControlPanel: true,
    disabledExtensions: [
      "HomeTimelineModule",
      "ListTimelineModule",
      "ListSubscribersModule",
      "ListMembersModule"
    ],
    dateTimeFormat: "YYYY-MM-DD HH:mm:ss Z",
    filenamePattern: "{screen_name}_{id}_{type}_{num}_{date}.{ext}",
    language: "",
    fontFamily: "system",
    version: pkg.version,
    convertAnimatedGifs: true,
    convertGifsExternal: false,
    downloadConcurrency: 1,
    fetchMode: "single",
    timelineType: "timeline",
    mediaType: "all",
    batchSize: 100,
    startingBatch: 0,
    includeRetweets: false,
    apiServer: "oregon"
  };
  const THEMES = [
    "abyss",
    "acid",
    "aqua",
    "autumn",
    "black",
    "bumblebee",
    "business",
    "caramellatte",
    "cmyk",
    "coffee",
    "corporate",
    "cupcake",
    "cyberpunk",
    "dark",
    "dim",
    "dracula",
    "emerald",
    "fantasy",
    "forest",
    "garden",
    "halloween",
    "lemonade",
    "light",
    "lofi",
    "luxury",
    "night",
    "nord",
    "pastel",
    "retro",
    "silk",
    "sunset",
    "synthwave",
    "valentine",
    "winter",
    "wireframe"
  ];
  const LOCAL_STORAGE_KEY = "twitter-x-media-batch-downloader-pro";
  class AppOptionsManager {
    appOptions = { ...DEFAULT_APP_OPTIONS };
    previous = { ...DEFAULT_APP_OPTIONS };
    signal = new signals.Signal(0);
    constructor() {
      this.loadAppOptions();
    }
    get(key, defaultValue) {
      return this.appOptions[key] ?? defaultValue;
    }
    set(key, value) {
      this.appOptions[key] = value;
      this.saveAppOptions();
    }
    loadAppOptions() {
      this.appOptions = {
        ...this.appOptions,
        ...safeJSONParse(localStorage.getItem(LOCAL_STORAGE_KEY) || "{}")
      };
      let migrated = false;
      const tt = String(this.appOptions.timelineType ?? "");
      if (tt === "posts") {
        this.appOptions.timelineType = "timeline";
        migrated = true;
      } else if (tt === "replies") {
        this.appOptions.timelineType = "with_replies";
        migrated = true;
      }
      if (migrated) {
        logger.info("App options migrated: timelineType updated to new slugs");
        setTimeout(() => this.saveAppOptions(), 0);
      }
      const oldVersion = this.appOptions.version ?? "";
      const newVersion = DEFAULT_APP_OPTIONS.version;
      if (newVersion.startsWith("1.1") && oldVersion.startsWith("1.0")) {
        this.appOptions.disabledExtensions = [
          ...this.appOptions.disabledExtensions ?? [],
          "HomeTimelineModule",
          "ListTimelineModule"
        ];
        logger.info(`App options migrated from v${oldVersion} to v${newVersion}`);
        setTimeout(() => this.saveAppOptions(), 0);
      }
      this.previous = { ...this.appOptions };
      logger.info("App options loaded", this.appOptions);
      this.signal.value++;
    }
    saveAppOptions() {
      const oldValue = this.previous;
      const newValue = {
        ...this.appOptions,
        version: pkg.version
      };
      if (isEqual(oldValue, newValue)) {
        return;
      }
      this.appOptions = newValue;
      localStorage.setItem(LOCAL_STORAGE_KEY, JSON.stringify(this.appOptions));
      this.previous = { ...this.appOptions };
      logger.debug("App options saved", this.appOptions);
      this.signal.value++;
    }
  }
  const appOptionsManager = new AppOptionsManager();
  const LANGUAGES_CONFIG = {
    ar: {
      name: "العربية",
      nameEn: "Arabic (العربية)",
      test: (code) => /^ar/.test(code)
    },
    "zh-Hans": {
      name: "中文",
      nameEn: "Chinese (中文)",
      test: (code) => /^zh/.test(code)
    },
    nl: {
      name: "Nederlands",
      nameEn: "Dutch (Nederlands)",
      test: (code) => /^nl/.test(code)
    },
    en: {
      name: "English",
      nameEn: "English",
      test: (code) => /^en/.test(code)
    },
    fil: {
      name: "Filipino",
      nameEn: "Filipino",
      test: (code) => /^fil/.test(code)
    },
    fr: {
      name: "Français",
      nameEn: "French (Français)",
      test: (code) => /^fr/.test(code)
    },
    de: {
      name: "Deutsch",
      nameEn: "German (Deutsch)",
      test: (code) => /^de/.test(code)
    },
    hi: {
      name: "हिन्दी",
      nameEn: "Hindi (हिन्दी)",
      test: (code) => /^hi/.test(code)
    },
    id: {
      name: "Bahasa Indonesia",
      nameEn: "Indonesian (Bahasa Indonesia)",
      test: (code) => /^id/.test(code)
    },
    it: {
      name: "Italiano",
      nameEn: "Italian (Italiano)",
      test: (code) => /^it/.test(code)
    },
    ja: {
      name: "日本語",
      nameEn: "Japanese (日本語)",
      test: (code) => /^ja/.test(code)
    },
    ko: {
      name: "한국어",
      nameEn: "Korean (한국어)",
      test: (code) => /^ko/.test(code)
    },
    pt: {
      name: "Português",
      nameEn: "Portuguese (Português)",
      test: (code) => /^pt/.test(code)
    },
    ru: {
      name: "Русский",
      nameEn: "Russian (Русский)",
      test: (code) => /^ru/.test(code)
    },
    es: {
      name: "Español",
      nameEn: "Spanish (Español)",
      test: (code) => /^es/.test(code)
    },
    th: {
      name: "ไทย",
      nameEn: "Thai (ไทย)",
      test: (code) => /^th/.test(code)
    },
    tr: {
      name: "Türkçe",
      nameEn: "Turkish (Türkçe)",
      test: (code) => /^tr/.test(code)
    },
    vi: {
      name: "Tiếng Việt",
      nameEn: "Vietnamese (Tiếng Việt)",
      test: (code) => /^vi/.test(code)
    }
  };
  function detectBrowserLanguage() {
    const language = window.navigator.language || "en";
    for (const [langTag, langConf] of Object.entries(LANGUAGES_CONFIG)) {
      if (langConf.test(language)) {
        return langTag;
      }
    }
    return language;
  }
  const languageDetector = {
    type: "languageDetector",
    detect: function() {
      return appOptionsManager.get("language") || detectBrowserLanguage();
    }
  };
  function initI18n() {
    if (i18next.isInitialized) {
      return i18next;
    }
    i18next.on("languageChanged", (lng) => {
      if (!appOptionsManager.get("language")) {
        appOptionsManager.set("language", lng);
      }
    });
    i18next.use(languageDetector).init({
      initImmediate: true,
      defaultNS: "common",
      fallbackLng: "en",
      nsSeparator: "::",
      debug: false,
      resources
    });
    return i18next;
  }
  function useTranslation(ns) {
    const i18n = initI18n();
    const [t, setT] = hooks.useState(() => i18n.getFixedT(null, ns ?? null));
    const isMountedRef = hooks.useRef(true);
    const previousNamespaceRef = hooks.useRef(ns);
    hooks.useEffect(() => {
      isMountedRef.current = true;
      if (previousNamespaceRef.current !== ns) {
        previousNamespaceRef.current = ns;
        setT(() => i18n.getFixedT(null, ns ?? null));
      }
      function boundReset() {
        if (isMountedRef.current) {
          setT(() => i18n.getFixedT(null, ns ?? null));
        }
      }
      i18n.on("languageChanged", boundReset);
      return () => {
        isMountedRef.current = false;
        i18n.off("languageChanged", boundReset);
      };
    }, [ns]);
    return { t, i18n };
  }
  function Trans({ i18nKey, ns = "common" }) {
    const { t } = useTranslation(ns);
    return u("span", { children: t(i18nKey) });
  }
  class ErrorBoundary extends preact.Component {
    state = { error: null };
    static getDerivedStateFromError(err) {
      return { error: err.message };
    }
    componentDidCatch(err) {
      logger.error(err.message, err);
      this.setState({ error: err.message });
    }
    render() {
      const i18n = initI18n();
      const isArabic = (i18n.language || "").startsWith("ar");
      if (this.state.error) {
        return u("div", { class: "alert alert-error alert-soft p-2", children: [
u(IconExclamationCircle, {}),
u("div", { dir: isArabic ? "rtl" : void 0, children: [
u("h3", { class: "font-bold leading-normal", children: u(Trans, { ns: "common", i18nKey: "Something went wrong." }) }),
u("p", { class: "text-xs", children: [
u(Trans, { ns: "common", i18nKey: "Error:" }),
              " ",
              this.state.error
            ] })
          ] })
        ] });
      }
      return this.props.children;
    }
  }
  const API_SERVERS = {
    oregon: "https://oregon.exyezed.cc",
    frankfurt: "https://frankfurt.exyezed.cc",
    singapore: "https://singapore.exyezed.cc"
  };
  const API_CONFIG = {
    timeout: 6e4
  };
  function getSelectedServer() {
    const server = appOptionsManager.get("apiServer") ?? "oregon";
    return API_SERVERS[server] || API_SERVERS.oregon;
  }
  const mediaDownloaderAPI = {
    async fetchMediaData(username, authToken, patreonAuth, params) {
      const timelineType = params?.timelineType ?? "media";
      const batchSize = params?.batchSize ?? 100;
      const startingBatch = params?.startingBatch ?? 0;
      const mediaType = params?.mediaType ?? "all";
      const fetchMode = params?.fetchMode;
      const dateSince = params?.dateSince;
      const dateUntil = params?.dateUntil;
      const includeRetweets = params?.includeRetweets ?? false;
      const supportsRetweets = timelineType !== "media";
      const retweetParam = supportsRetweets && includeRetweets ? "1" : "0";
      const shouldAppendRetweet = supportsRetweets && includeRetweets;
      let endpoint;
      if (appOptionsManager.get("debug")) {
        console.group("[API Request Debug]");
        console.log("Parameters:", {
          fetchMode,
          dateSince,
          dateUntil,
          batchSize,
          startingBatch,
          mediaType,
          timelineType,
          username,
          includeRetweets
        });
        console.log("Conditions:", {
          "Is Demo Mode": patreonAuth === "xbatchdemo",
          "Is Single Mode": fetchMode === "single",
          "Has Date Range": !!(dateSince || dateUntil),
          "Is Batch Mode": fetchMode === "batch" || fetchMode === "auto",
          "Will Include Batch Params": fetchMode !== "single" && !(dateSince || dateUntil)
        });
      }
      if (patreonAuth === "xbatchdemo") {
        if (fetchMode === "single") {
          if (dateSince || dateUntil) {
            const since = dateSince || "none";
            const until = dateUntil || "none";
            endpoint = `/demo/${encodeURIComponent(timelineType)}/${encodeURIComponent(mediaType)}/xbatchdemo/${authToken}/xbatchdemo/${since}/${until}`;
            if (shouldAppendRetweet) {
              endpoint += `/${retweetParam}`;
            }
          } else {
            endpoint = `/demo/${encodeURIComponent(timelineType)}/${encodeURIComponent(mediaType)}/xbatchdemo/${authToken}/xbatchdemo`;
            if (shouldAppendRetweet) {
              endpoint += `/${retweetParam}`;
            }
          }
        } else if (fetchMode === "date_range" || dateSince || dateUntil) {
          const since = dateSince || "none";
          const until = dateUntil || "none";
          if (batchSize > 0 && startingBatch >= 0) {
            endpoint = `/demo/${encodeURIComponent(timelineType)}/${encodeURIComponent(String(batchSize))}/${encodeURIComponent(String(startingBatch))}/${encodeURIComponent(mediaType)}/xbatchdemo/${authToken}/xbatchdemo/${since}/${until}`;
            if (shouldAppendRetweet) {
              endpoint += `/${retweetParam}`;
            }
          } else {
            endpoint = `/demo/${encodeURIComponent(timelineType)}/${encodeURIComponent(mediaType)}/xbatchdemo/${authToken}/xbatchdemo/${since}/${until}`;
            if (shouldAppendRetweet) {
              endpoint += `/${retweetParam}`;
            }
          }
        } else {
          endpoint = `/demo/${encodeURIComponent(timelineType)}/${encodeURIComponent(String(batchSize))}/${encodeURIComponent(String(startingBatch))}/${encodeURIComponent(mediaType)}/xbatchdemo/${authToken}/xbatchdemo`;
          if (shouldAppendRetweet) {
            endpoint += `/${retweetParam}`;
          }
        }
      } else if (fetchMode === "single") {
        if (dateSince || dateUntil) {
          const since = dateSince || "none";
          const until = dateUntil || "none";
          endpoint = `/metadata/${encodeURIComponent(timelineType)}/${encodeURIComponent(mediaType)}/${encodeURIComponent(username)}/${encodeURIComponent(authToken)}/${encodeURIComponent(patreonAuth)}/${since}/${until}`;
          if (shouldAppendRetweet) {
            endpoint += `/${retweetParam}`;
          }
        } else {
          endpoint = `/metadata/${encodeURIComponent(timelineType)}/${encodeURIComponent(mediaType)}/${encodeURIComponent(username)}/${encodeURIComponent(authToken)}/${encodeURIComponent(patreonAuth)}`;
          if (shouldAppendRetweet) {
            endpoint += `/${retweetParam}`;
          }
        }
      } else if (fetchMode === "date_range" || dateSince || dateUntil) {
        const since = dateSince || "none";
        const until = dateUntil || "none";
        if (batchSize > 0 && startingBatch >= 0) {
          endpoint = `/metadata/${encodeURIComponent(timelineType)}/${encodeURIComponent(String(batchSize))}/${encodeURIComponent(String(startingBatch))}/${encodeURIComponent(mediaType)}/${encodeURIComponent(username)}/${encodeURIComponent(authToken)}/${encodeURIComponent(patreonAuth)}/${since}/${until}`;
          if (shouldAppendRetweet) {
            endpoint += `/${retweetParam}`;
          }
        } else {
          endpoint = `/metadata/${encodeURIComponent(timelineType)}/${encodeURIComponent(mediaType)}/${encodeURIComponent(username)}/${encodeURIComponent(authToken)}/${encodeURIComponent(patreonAuth)}/${since}/${until}`;
          if (shouldAppendRetweet) {
            endpoint += `/${retweetParam}`;
          }
        }
      } else {
        endpoint = `/metadata/${encodeURIComponent(timelineType)}/${encodeURIComponent(String(batchSize))}/${encodeURIComponent(String(startingBatch))}/${encodeURIComponent(mediaType)}/${encodeURIComponent(username)}/${encodeURIComponent(authToken)}/${encodeURIComponent(patreonAuth)}`;
        if (shouldAppendRetweet) {
          endpoint += `/${retweetParam}`;
        }
      }
      const selectedServer = getSelectedServer();
      if (appOptionsManager.get("debug")) {
        console.log("URL Construction:", {
          "Selected Server": selectedServer,
          "Full URL": selectedServer + endpoint,
          "Endpoint": endpoint,
          "Has Batch Params (100/0)": endpoint.includes("/100/0/") || /\/\d+\/\d+\//.test(endpoint),
          "Has Date Range": endpoint.includes(dateSince || "") || endpoint.includes(dateUntil || ""),
          "Pattern": endpoint.split("/").slice(0, 6).join("/")
        });
        console.groupEnd();
      }
      try {
        const response = await this.makeRequest(selectedServer + endpoint);
        this.validateNonEmptyResult(response);
        return response;
      } catch (error) {
        throw error;
      }
    },
    createAPIError(message, status) {
      let type = "unknown";
      let isRetryable = false;
      if (status === 400) {
        type = "validation";
        isRetryable = false;
      } else if (status === 401) {
        type = "authentication";
        isRetryable = false;
      } else if (status === 500) {
        type = "server";
        if (message.includes("Could not authenticate you") || message.includes("401") || message.includes("Unauthorized")) {
          isRetryable = true;
        } else {
          isRetryable = true;
        }
      } else if (message.includes("Network error") || message.includes("timeout")) {
        type = "network";
        isRetryable = true;
      }
      return { message, status, type, isRetryable };
    },
    async makeRequest(url) {
      return new Promise((resolve, reject) => {
        if (typeof GM_xmlhttpRequest !== "undefined") {
          GM_xmlhttpRequest({
            method: "GET",
            url,
            timeout: API_CONFIG.timeout,
            headers: {
              "Accept": "application/json",
              "Content-Type": "application/json"
            },
            onload: (response) => {
              try {
                if (response.status === 400) {
                  const errorData = JSON.parse(response.responseText);
                  const errorMsg = errorData.error || `HTTP error! status: ${response.status}`;
                  const apiError = this.createAPIError(errorMsg, 400);
                  const error = new Error(apiError.message);
                  error.apiError = apiError;
                  reject(error);
                  return;
                }
                if (response.status === 401) {
                  const errorData = JSON.parse(response.responseText);
                  const errorMsg = errorData.error || `HTTP error! status: ${response.status}`;
                  const apiError = this.createAPIError(errorMsg, 401);
                  const error = new Error(apiError.message);
                  error.apiError = apiError;
                  reject(error);
                  return;
                }
                if (response.status === 500) {
                  const errorData = JSON.parse(response.responseText);
                  const errorMsg = errorData.error || `HTTP error! status: ${response.status}`;
                  const apiError = this.createAPIError(errorMsg, 500);
                  const error = new Error(apiError.message);
                  error.apiError = apiError;
                  reject(error);
                  return;
                }
                if (response.status !== 200) {
                  const apiError = this.createAPIError(`HTTP error! status: ${response.status}`, response.status);
                  const error = new Error(apiError.message);
                  error.apiError = apiError;
                  reject(error);
                  return;
                }
                const data = JSON.parse(response.responseText);
                if (!this.validateResponse(data)) {
                  const apiError = this.createAPIError("Invalid API response structure");
                  const error = new Error(apiError.message);
                  error.apiError = apiError;
                  reject(error);
                  return;
                }
                resolve(data);
              } catch (parseError) {
                if (parseError instanceof Error && parseError.message.startsWith("Invalid")) {
                  reject(parseError);
                } else {
                  const apiError = this.createAPIError("Failed to parse API response");
                  const error = new Error(apiError.message);
                  error.apiError = apiError;
                  reject(error);
                }
              }
            },
            onerror: () => {
              const apiError = this.createAPIError("Network error occurred");
              const error = new Error(apiError.message);
              error.apiError = apiError;
              reject(error);
            },
            ontimeout: () => {
              const apiError = this.createAPIError("Request timeout - please try again");
              const error = new Error(apiError.message);
              error.apiError = apiError;
              reject(error);
            }
          });
        } else {
          this.makeRequestWithFetch(url).then(resolve).catch(reject);
        }
      });
    },
    async makeRequestWithFetch(url) {
      const controller = new AbortController();
      const timeoutId = setTimeout(() => controller.abort(), API_CONFIG.timeout);
      try {
        const response = await fetch(url, {
          method: "GET",
          signal: controller.signal,
          headers: {
            "Accept": "application/json",
            "Content-Type": "application/json"
          }
        });
        clearTimeout(timeoutId);
        if (response.status === 400) {
          const errorData = await response.json();
          const errorMsg = errorData.error || `HTTP error! status: ${response.status}`;
          const apiError = this.createAPIError(errorMsg, 400);
          const error = new Error(apiError.message);
          error.apiError = apiError;
          throw error;
        }
        if (response.status === 401) {
          const errorData = await response.json();
          const errorMsg = errorData.error || `HTTP error! status: ${response.status}`;
          const apiError = this.createAPIError(errorMsg, 401);
          const error = new Error(apiError.message);
          error.apiError = apiError;
          throw error;
        }
        if (response.status === 500) {
          const errorData = await response.json();
          const errorMsg = errorData.error || `HTTP error! status: ${response.status}`;
          const apiError = this.createAPIError(errorMsg, 500);
          const error = new Error(apiError.message);
          error.apiError = apiError;
          throw error;
        }
        if (!response.ok) {
          const apiError = this.createAPIError(`HTTP error! status: ${response.status}`, response.status);
          const error = new Error(apiError.message);
          error.apiError = apiError;
          throw error;
        }
        const data = await response.json();
        if (!this.validateResponse(data)) {
          const apiError = this.createAPIError("Invalid API response structure");
          const error = new Error(apiError.message);
          error.apiError = apiError;
          throw error;
        }
        return data;
      } catch (error) {
        clearTimeout(timeoutId);
        if (error instanceof Error) {
          if (error.name === "AbortError") {
            const apiError2 = this.createAPIError("Request timeout - please try again");
            const err2 = new Error(apiError2.message);
            err2.apiError = apiError2;
            throw err2;
          }
          throw error;
        }
        const apiError = this.createAPIError("Unknown error occurred");
        const err = new Error(apiError.message);
        err.apiError = apiError;
        throw err;
      }
    },
    validateResponse(data) {
      return data && typeof data === "object" && data.account_info && typeof data.account_info === "object" && data.metadata && typeof data.metadata === "object" && Array.isArray(data.timeline);
    },
    formatUsername(username) {
      return username.replace(/^@/, "").trim().toLowerCase();
    },
    validateUsername(username) {
      const cleanUsername = this.formatUsername(username);
      return /^[a-zA-Z0-9_]{1,15}$/.test(cleanUsername);
    },
validateNonEmptyResult(data) {
      const isEmpty = data.timeline.length === 0 && (data.metadata.items_processed === 0 || data.metadata.new_entries === 0);
      if (isEmpty) {
        const isDateRangeSearch = !!data.metadata.date_range;
        let errorMsg = "";
        let errorData = void 0;
        if (isDateRangeSearch) {
          const { since, until } = data.metadata.date_range;
          errorMsg = "No media found for date range {{since}} to {{until}}";
          errorData = { since, until };
        } else if (data.metadata.items_processed === 0) {
          errorMsg = "No tweets found for this account";
        } else {
          errorMsg = "No media found in {{count}} tweets";
          errorData = { count: data.metadata.items_processed };
        }
        const apiError = this.createAPIError(errorMsg, 404);
        apiError.type = "validation";
        apiError.isRetryable = false;
        const error = new Error(errorMsg);
        error.apiError = apiError;
        error.errorData = errorData;
        throw error;
      }
    },
    validateAuthToken(token) {
      return token.trim().length > 10;
    },
    validatePatreonAuth(auth) {
      return auth.trim().length > 0;
    },
    async verifyPatreonAuth(patreonAuth) {
      if (patreonAuth === "xbatchdemo") {
        return { valid: true };
      }
      const endpoint = `/verify/${patreonAuth}`;
      const selectedServer = getSelectedServer();
      try {
        const response = await this.makeAuthRequest(selectedServer + endpoint);
        return response;
      } catch (error) {
        throw new Error("Failed to verify auth");
      }
    },
    async generateAuthToken(patreonAuth) {
      const endpoint = `/token/${patreonAuth}`;
      const selectedServer = getSelectedServer();
      try {
        const response = await this.makeAuthRequest(selectedServer + endpoint);
        return response;
      } catch (error) {
        throw new Error("Failed to generate token");
      }
    },
    async makeAuthRequest(url) {
      return new Promise((resolve, reject) => {
        if (typeof GM_xmlhttpRequest !== "undefined") {
          GM_xmlhttpRequest({
            method: "GET",
            url,
            timeout: API_CONFIG.timeout,
            headers: {
              "Accept": "application/json",
              "Content-Type": "application/json"
            },
            onload: (response) => {
              try {
                if (response.status !== 200) {
                  reject(new Error(`HTTP error! status: ${response.status}`));
                  return;
                }
                const data = JSON.parse(response.responseText);
                resolve(data);
              } catch (parseError) {
                reject(new Error("Failed to parse API response"));
              }
            },
            onerror: () => {
              reject(new Error("Network error occurred"));
            },
            ontimeout: () => {
              reject(new Error("Request timeout - please try again"));
            }
          });
        } else {
          this.makeAuthRequestWithFetch(url).then(resolve).catch(reject);
        }
      });
    },
    async makeAuthRequestWithFetch(url) {
      const controller = new AbortController();
      const timeoutId = setTimeout(() => controller.abort(), API_CONFIG.timeout);
      try {
        const response = await fetch(url, {
          method: "GET",
          signal: controller.signal,
          headers: {
            "Accept": "application/json",
            "Content-Type": "application/json"
          }
        });
        clearTimeout(timeoutId);
        if (!response.ok) {
          throw new Error(`HTTP error! status: ${response.status}`);
        }
        const data = await response.json();
        return data;
      } catch (error) {
        clearTimeout(timeoutId);
        if (error instanceof Error) {
          if (error.name === "AbortError") {
            throw new Error("Request timeout - please try again");
          }
          throw error;
        }
        throw new Error("Unknown error occurred");
      }
    }
  };
  class MediaDownloaderDB extends Dexie {
    accounts;
    auth_settings;
    constructor() {
      super("TwitterXMediaBatchDownloaderPro");
      this.version(1).stores({
        accounts: "++id, username, cached_at",
        auth_settings: "++id"
      });
      this.version(2).stores({
        accounts: "++id, username, cached_at, batch_identifier",
        auth_settings: "++id"
      });
      this.version(3).stores({
        accounts: "++id, username, cached_at, batch_identifier, batch_mode",
        auth_settings: "++id"
      });
    }
  }
  const mediaDB = new MediaDownloaderDB();
  const dbState = {
    totalAccounts: signals.signal(0),
    dbChangeSignal: signals.signal(0)
  };
  async function updateTotalCount() {
    try {
      dbState.totalAccounts.value = await mediaDB.accounts.count();
    } catch {
    }
  }
  const mediaDownloaderDB = {
    async saveAccount(data) {
      const account = {
        ...data,
        cached_at: Date.now()
      };
      let existing;
      if (account.batch_mode === "batch_date_range") {
        const batchDateRangeAccounts = await mediaDB.accounts.where("username").equals(data.username).filter(
          (acc) => acc.batch_mode === "batch_date_range" && acc.date_since === data.date_since && acc.date_until === data.date_until
        ).toArray();
        if (batchDateRangeAccounts.length > 0) {
          batchDateRangeAccounts.sort((a, b) => b.cached_at - a.cached_at);
          existing = batchDateRangeAccounts[0];
        }
      } else if (account.batch_mode === "date_range") {
        const dateRangeAccounts = await mediaDB.accounts.where("username").equals(data.username).filter(
          (acc) => acc.batch_mode === "date_range" && acc.date_since === data.date_since && acc.date_until === data.date_until
        ).toArray();
        if (dateRangeAccounts.length > 0) {
          dateRangeAccounts.sort((a, b) => b.cached_at - a.cached_at);
          existing = dateRangeAccounts[0];
        }
      } else if (account.batch_mode && account.batch_mode !== "single") {
        const batchAccounts = await mediaDB.accounts.where("username").equals(data.username).filter((acc) => !!(acc.batch_mode && acc.batch_mode !== "single" && acc.batch_mode !== "date_range" && acc.batch_mode !== "batch_date_range")).toArray();
        if (batchAccounts.length > 0) {
          batchAccounts.sort((a, b) => b.cached_at - a.cached_at);
          existing = batchAccounts[0];
        }
      } else {
        existing = await mediaDB.accounts.where("username").equals(data.username).filter((acc) => !acc.batch_mode || acc.batch_mode === "single").first();
      }
      let id2;
      if (existing) {
        await mediaDB.accounts.update(existing.id, account);
        id2 = existing.id;
      } else {
        id2 = await mediaDB.accounts.add(account);
      }
      await updateTotalCount();
      dbState.dbChangeSignal.value++;
      return id2;
    },
    async insertAccount(data) {
      const id2 = await mediaDB.accounts.add(data);
      await updateTotalCount();
      dbState.dbChangeSignal.value++;
      return id2;
    },
    async getAccounts(page = 1, limit = 3, filterByBatch = false, filterByDateRange = false, filterByBatchDateRange = false) {
      const offset = (page - 1) * limit;
      let collection = mediaDB.accounts.orderBy("cached_at").reverse();
      if (filterByBatchDateRange) {
        collection = collection.filter((acc) => acc.batch_mode === "batch_date_range");
      } else if (filterByDateRange) {
        collection = collection.filter((acc) => acc.batch_mode === "date_range");
      } else if (filterByBatch) {
        collection = collection.filter((acc) => !!(acc.batch_mode && acc.batch_mode !== "single" && acc.batch_mode !== "date_range" && acc.batch_mode !== "batch_date_range"));
      }
      return await collection.offset(offset).limit(limit).toArray();
    },
    async getAccountsCount(filterByBatch = false, filterByDateRange = false, filterByBatchDateRange = false) {
      if (filterByBatchDateRange) {
        return await mediaDB.accounts.filter((acc) => acc.batch_mode === "batch_date_range").count();
      } else if (filterByDateRange) {
        return await mediaDB.accounts.filter((acc) => acc.batch_mode === "date_range").count();
      } else if (filterByBatch) {
        return await mediaDB.accounts.filter((acc) => !!(acc.batch_mode && acc.batch_mode !== "single" && acc.batch_mode !== "date_range" && acc.batch_mode !== "batch_date_range")).count();
      }
      return await mediaDB.accounts.count();
    },
    async getAccountByUsername(username) {
      return await mediaDB.accounts.where("username").equals(username).first();
    },
    async getAccountsByUsername(username) {
      return await mediaDB.accounts.where("username").equals(username).reverse().sortBy("cached_at");
    },
    async getAccountsByUsernameAndMode(username, mode, dateSince, dateUntil) {
      if (mode === "single") {
        const account = await mediaDB.accounts.where("username").equals(username).filter((acc) => !acc.batch_mode || acc.batch_mode === "single").first();
        return account ? [account] : [];
      } else if (mode === "batch_date_range") {
        return await mediaDB.accounts.where("username").equals(username).filter(
          (acc) => acc.batch_mode === "batch_date_range" && acc.date_since === dateSince && acc.date_until === dateUntil
        ).toArray();
      } else if (mode === "date_range") {
        return await mediaDB.accounts.where("username").equals(username).filter(
          (acc) => acc.batch_mode === "date_range" && acc.date_since === dateSince && acc.date_until === dateUntil
        ).toArray();
      } else {
        return await mediaDB.accounts.where("username").equals(username).filter((acc) => !!(acc.batch_mode && acc.batch_mode !== "single" && acc.batch_mode !== "date_range" && acc.batch_mode !== "batch_date_range")).toArray();
      }
    },
    async updateAccount(id2, data) {
      await mediaDB.accounts.update(id2, data);
      dbState.dbChangeSignal.value++;
    },
    async deleteAccount(id2) {
      await mediaDB.accounts.delete(id2);
      await updateTotalCount();
      dbState.dbChangeSignal.value++;
    },
    async saveAuthSettings(authToken, patreonAuth) {
      const existing = await mediaDB.auth_settings.toCollection().first();
      const base = existing ? { ...existing } : {};
      const settings = {
        ...base,
        auth_token: authToken,
        patreon_auth: patreonAuth,
        updated_at: Date.now(),
        patreon_verified: base.patreon_verified && base.patreon_verified_auth === patreonAuth ? base.patreon_verified : false,
        patreon_verified_auth: base.patreon_verified && base.patreon_verified_auth === patreonAuth ? base.patreon_verified_auth : patreonAuth
      };
      if (existing) {
        await mediaDB.auth_settings.update(existing.id, settings);
        return existing.id;
      } else {
        return await mediaDB.auth_settings.add(settings);
      }
    },
    async setPatreonVerified(verified) {
      const existing = await mediaDB.auth_settings.toCollection().first();
      if (existing) {
        await mediaDB.auth_settings.update(existing.id, {
          patreon_verified: verified,
          patreon_verified_auth: existing.patreon_auth,
          updated_at: Date.now()
        });
      } else {
        await mediaDB.auth_settings.add({
          auth_token: "",
          patreon_auth: "",
          patreon_verified: verified,
          patreon_verified_auth: "",
          updated_at: Date.now()
        });
      }
    },
    async getAuthSettings() {
      return await mediaDB.auth_settings.toCollection().first();
    },
    async getAllAccounts() {
      return await mediaDB.accounts.orderBy("cached_at").reverse().toArray();
    },
    async clearAll() {
      await mediaDB.accounts.clear();
      dbState.totalAccounts.value = 0;
      dbState.dbChangeSignal.value++;
    }
  };
  class Crc32 {
    constructor() {
      this.crc = -1;
    }
    append(data) {
      var crc = this.crc | 0;
      var table = this.table;
      for (var offset = 0, len = data.length | 0; offset < len; offset++) {
        crc = crc >>> 8 ^ table[(crc ^ data[offset]) & 255];
      }
      this.crc = crc;
    }
    get() {
      return ~this.crc;
    }
  }
  Crc32.prototype.table = (() => {
    var i;
    var j2;
    var t;
    var table = [];
    for (i = 0; i < 256; i++) {
      t = i;
      for (j2 = 0; j2 < 8; j2++) {
        t = t & 1 ? t >>> 1 ^ 3988292384 : t >>> 1;
      }
      table[i] = t;
    }
    return table;
  })();
  const getDataHelper = (byteLength) => {
    var uint8 = new Uint8Array(byteLength);
    return {
      array: uint8,
      view: new DataView(uint8.buffer)
    };
  };
  const pump = (zipObj) => zipObj.reader.read().then((chunk) => {
    if (chunk.done) return zipObj.writeFooter();
    const outputData = chunk.value;
    zipObj.crc.append(outputData);
    zipObj.uncompressedLength += outputData.length;
    zipObj.compressedLength += outputData.length;
    zipObj.ctrl.enqueue(outputData);
  });
  function createWriter(underlyingSource) {
    const files = Object.create(null);
    const filenames = [];
    const encoder = new TextEncoder();
    let offset = 0;
    let activeZipIndex = 0;
    let ctrl;
    let activeZipObject, closed;
    function next() {
      activeZipIndex++;
      activeZipObject = files[filenames[activeZipIndex]];
      if (activeZipObject) processNextChunk();
      else if (closed) closeZip();
    }
    var zipWriter = {
      enqueue(fileLike) {
        if (closed)
          throw new TypeError(
            "Cannot enqueue a chunk into a readable stream that is closed or has been requested to be closed"
          );
        let name = fileLike.name.trim();
        const date = new Date(
          typeof fileLike.lastModified === "undefined" ? Date.now() : fileLike.lastModified
        );
        if (fileLike.directory && !name.endsWith("/")) name += "/";
        if (files[name]) throw new Error("File already exists.");
        const nameBuf = encoder.encode(name);
        filenames.push(name);
        const zipObject = files[name] = {
          level: 0,
          ctrl,
          directory: !!fileLike.directory,
          nameBuf,
          comment: encoder.encode(fileLike.comment || ""),
          compressedLength: 0,
          uncompressedLength: 0,
          writeHeader() {
            var header = getDataHelper(26);
            var data = getDataHelper(30 + nameBuf.length);
            zipObject.offset = offset;
            zipObject.header = header;
            if (zipObject.level !== 0 && !zipObject.directory) {
              header.view.setUint16(4, 2048);
            }
            header.view.setUint32(0, 335546376);
            header.view.setUint16(
              6,
              (date.getHours() << 6 | date.getMinutes()) << 5 | date.getSeconds() / 2,
              true
            );
            header.view.setUint16(
              8,
              (date.getFullYear() - 1980 << 4 | date.getMonth() + 1) << 5 | date.getDate(),
              true
            );
            header.view.setUint16(22, nameBuf.length, true);
            data.view.setUint32(0, 1347093252);
            data.array.set(header.array, 4);
            data.array.set(nameBuf, 30);
            offset += data.array.length;
            ctrl.enqueue(data.array);
          },
          writeFooter() {
            var footer = getDataHelper(16);
            footer.view.setUint32(0, 1347094280);
            if (zipObject.crc) {
              zipObject.header.view.setUint32(10, zipObject.crc.get(), true);
              zipObject.header.view.setUint32(14, zipObject.compressedLength, true);
              zipObject.header.view.setUint32(18, zipObject.uncompressedLength, true);
              footer.view.setUint32(4, zipObject.crc.get(), true);
              footer.view.setUint32(8, zipObject.compressedLength, true);
              footer.view.setUint32(12, zipObject.uncompressedLength, true);
            }
            ctrl.enqueue(footer.array);
            offset += zipObject.compressedLength + 16;
            next();
          },
          fileLike
        };
        if (!activeZipObject) {
          activeZipObject = zipObject;
          processNextChunk();
        }
      },
      close() {
        if (closed)
          throw new TypeError(
            "Cannot close a readable stream that has already been requested to be closed"
          );
        if (!activeZipObject) closeZip();
        closed = true;
      }
    };
    function closeZip() {
      var length = 0;
      var index = 0;
      var indexFilename, file;
      for (indexFilename = 0; indexFilename < filenames.length; indexFilename++) {
        file = files[filenames[indexFilename]];
        length += 46 + file.nameBuf.length + file.comment.length;
      }
      const data = getDataHelper(length + 22);
      for (indexFilename = 0; indexFilename < filenames.length; indexFilename++) {
        file = files[filenames[indexFilename]];
        data.view.setUint32(index, 1347092738);
        data.view.setUint16(index + 4, 5120);
        data.array.set(file.header.array, index + 6);
        data.view.setUint16(index + 32, file.comment.length, true);
        if (file.directory) {
          data.view.setUint8(index + 38, 16);
        }
        data.view.setUint32(index + 42, file.offset, true);
        data.array.set(file.nameBuf, index + 46);
        data.array.set(file.comment, index + 46 + file.nameBuf.length);
        index += 46 + file.nameBuf.length + file.comment.length;
      }
      data.view.setUint32(index, 1347093766);
      data.view.setUint16(index + 8, filenames.length, true);
      data.view.setUint16(index + 10, filenames.length, true);
      data.view.setUint32(index + 12, length, true);
      data.view.setUint32(index + 16, offset, true);
      ctrl.enqueue(data.array);
      ctrl.close();
    }
    function processNextChunk() {
      if (!activeZipObject) return;
      if (activeZipObject.directory)
        return activeZipObject.writeFooter(activeZipObject.writeHeader());
      if (activeZipObject.reader) return pump(activeZipObject);
      if (activeZipObject.fileLike.stream) {
        activeZipObject.crc = new Crc32();
        activeZipObject.reader = activeZipObject.fileLike.stream().getReader();
        activeZipObject.writeHeader();
      } else next();
    }
    return new ReadableStream({
      start: (c) => {
        ctrl = c;
        if (underlyingSource.start) Promise.resolve(underlyingSource.start(zipWriter));
      },
      pull() {
        return processNextChunk() || underlyingSource.pull && Promise.resolve(underlyingSource.pull(zipWriter));
      }
    });
  }
  function isFSASupported() {
    return "showSaveFilePicker" in window;
  }
  async function getDownloadStream(filename, useNativePicker = true) {
    if (isFSASupported() && useNativePicker) {
      try {
        logger.info(`Using File System Access API for ${filename}`);
        const fileHandle = await window.showSaveFilePicker({
          suggestedName: filename,
          types: [
            {
              description: "ZIP Archive",
              accept: { "application/zip": [".zip"] }
            }
          ]
        });
        const writable = await fileHandle.createWritable();
        logger.info("FSA writable stream created successfully");
        return writable;
      } catch (error) {
        if (error.name === "AbortError") {
          logger.info("User cancelled file picker");
          throw new Error("Download cancelled");
        }
        logger.warn(`FSA failed, falling back to StreamSaver: ${error.message}`);
      }
    }
    logger.warn("FSA not available, will use blob fallback");
    throw new Error("FSA_NOT_AVAILABLE");
  }
  async function streamToFile(readableStream, filename, useNativePicker = true, onProgress) {
    try {
      const writableStream = await getDownloadStream(filename, useNativePicker);
      if (onProgress) ;
      else {
        await readableStream.pipeTo(writableStream);
      }
      logger.info(`Streaming download completed via FSA: ${filename}`);
    } catch (error) {
      if (error.message === "FSA_NOT_AVAILABLE" || error.name === "AbortError") {
        if (error.name === "AbortError") {
          throw error;
        }
        logger.info(`Fallback to blob download for: ${filename}`);
        await streamToBlobDownload(readableStream, filename, onProgress);
      } else {
        throw error;
      }
    }
  }
  async function streamToBlobDownload(readableStream, filename, onProgress) {
    const chunks = [];
    let bytesWritten = 0;
    const reader = readableStream.getReader();
    try {
      while (true) {
        const { done, value } = await reader.read();
        if (done) break;
        chunks.push(value);
        bytesWritten += value.byteLength || value.length || 0;
        if (onProgress) ;
      }
    } finally {
      reader.releaseLock();
    }
    const blob = new Blob(chunks);
    fileSaverEs.saveAs(blob, filename);
    logger.info(`Blob download completed: ${filename} (${bytesWritten} bytes)`);
  }
  async function zipStreamDownload(zipFilename, files, onProgress, rateLimit = 1e3, concurrency = 1, abortSignal) {
    let current = 0;
    const total = files.length;
    if (concurrency <= 1) {
      const fileIterator = files.values();
      const readableZipStream2 = createWriter({
        async pull(ctrl) {
          if (abortSignal?.aborted) {
            logger.info(`Download aborted. Zipping ${current} files that were downloaded.`);
            ctrl.close();
            return;
          }
          const fileInfo = fileIterator.next();
          if (fileInfo.done) {
            ctrl.close();
          } else {
            const { filename, url } = fileInfo.value;
            const start = Date.now();
            logger.debug(`Start downloading ${filename} from ${url}`);
            try {
              const res = await fetch(url);
              if (abortSignal?.aborted) {
                logger.info(`Download aborted. Zipping ${current} files that were downloaded.`);
                ctrl.close();
                return;
              }
              ctrl.enqueue({
                name: filename,
                stream: () => res.body
              });
              onProgress?.(++current, total, fileInfo.value);
              logger.debug(`Finished downloading ${filename} in ${Date.now() - start}ms`);
              await new Promise((resolve) => setTimeout(resolve, rateLimit));
            } catch (error) {
              if (abortSignal?.aborted) {
                logger.info(`Download aborted. Zipping ${current} files that were downloaded.`);
                ctrl.close();
                return;
              }
              throw error;
            }
          }
        }
      });
      logger.info(`Exporting to ZIP file: ${zipFilename}`);
      logger.info(`Using ${isFSASupported() ? "File System Access API" : "StreamSaver.js"} for streaming`);
      await streamToFile(readableZipStream2, zipFilename);
      return;
    }
    let completed = 0;
    let fileIndex = 0;
    const queue = [];
    let resolveNext = null;
    let isZipClosed = false;
    const downloadWorker = async () => {
      while (fileIndex < files.length) {
        if (abortSignal?.aborted) {
          logger.info("Download aborted, stopping worker");
          fileIndex = files.length;
          break;
        }
        const currentFileIndex = fileIndex++;
        const file = files[currentFileIndex];
        if (!file) continue;
        const start = Date.now();
        logger.debug(`Start downloading ${file.filename} from ${file.url}`);
        try {
          const fetchPromise = fetch(file.url);
          const abortCheckInterval = 100;
          const res = await Promise.race([
            fetchPromise,
            new Promise((_, reject) => {
              const checkInterval = setInterval(() => {
                if (abortSignal?.aborted) {
                  clearInterval(checkInterval);
                  reject(new Error("Download aborted"));
                }
              }, abortCheckInterval);
              fetchPromise.finally(() => clearInterval(checkInterval));
            })
          ]);
          if (abortSignal?.aborted) {
            logger.info("Download aborted after fetching file, stopping");
            fileIndex = files.length;
            break;
          }
          const body = res.body;
          if (!body) {
            logger.error(`No response body for ${file.filename}`);
            continue;
          }
          queue.push({
            name: file.filename,
            stream: () => body,
            original: file
          });
          logger.debug(`Finished downloading ${file.filename} in ${Date.now() - start}ms`);
          if (resolveNext) {
            const resolve = resolveNext;
            resolveNext = null;
            resolve();
          }
        } catch (error) {
          if (abortSignal?.aborted) {
            logger.info("Download aborted during fetch, stopping");
            fileIndex = files.length;
            break;
          }
          logger.error(`Failed to download ${file.filename}:`, error);
        }
      }
      if (resolveNext && !isZipClosed) {
        const resolve = resolveNext;
        resolveNext = null;
        resolve();
      }
    };
    const workers = Array.from({ length: Math.min(concurrency, files.length) }, () => downloadWorker());
    const readableZipStream = createWriter({
      async pull(ctrl) {
        if (abortSignal?.aborted && queue.length === 0) {
          isZipClosed = true;
          logger.info(`Download aborted. Zipping ${completed} files that were downloaded.`);
          ctrl.close();
          return;
        }
        while (queue.length === 0 && fileIndex < files.length && !abortSignal?.aborted) {
          await new Promise((resolve) => {
            resolveNext = resolve;
          });
          if (abortSignal?.aborted) {
            break;
          }
        }
        if (queue.length > 0) {
          const fileData = queue.shift();
          if (fileData) {
            ctrl.enqueue({
              name: fileData.name,
              stream: fileData.stream
            });
            onProgress?.(++completed, total, fileData.original);
          }
        } else if (fileIndex >= files.length || abortSignal?.aborted) {
          isZipClosed = true;
          if (abortSignal?.aborted) {
            logger.info(`Download aborted. Zipping ${completed} files that were downloaded.`);
          }
          ctrl.close();
        }
      }
    });
    logger.info(`Exporting to ZIP file: ${zipFilename}`);
    logger.info(`Using ${isFSASupported() ? "File System Access API" : "StreamSaver.js"} for streaming`);
    logger.info(`Download concurrency: ${concurrency}`);
    await Promise.all([
      streamToFile(readableZipStream, zipFilename),
      ...workers
    ]);
  }
  function getGifShotOptions() {
    return {
      sampleInterval: 10,
      numWorkers: 2,
      numFrames: 30,
      interval: 0.1,
      frameDuration: 0.1,
      crossOrigin: "anonymous"
    };
  }
  class MediaDownloader {
    isDownloading = false;
    createdBlobUrls = [];
    abortController = null;
    async downloadAccountMedia(account, onProgress, batchInfo) {
      if (this.isDownloading) {
        throw new Error("Download already in progress");
      }
      this.isDownloading = true;
      this.abortController = new AbortController();
      try {
        const timeline = account.timeline;
        const username = account.username;
        const downloadDate = formatDateTime(Date.now(), "YYYYMMDD_HHmmss");
        let zipFilename;
        const dateRangeSuffix = account.date_since || account.date_until ? `_${(account.date_since || "none").replace(/-/g, "")}-${(account.date_until || "none").replace(/-/g, "")}` : "";
        if (batchInfo?.mode === "batch_date_range") {
          if (batchInfo.page !== void 0) {
            zipFilename = `${username}_${downloadDate}_Batch${batchInfo.page}${dateRangeSuffix}.zip`;
          } else {
            zipFilename = `${username}_${downloadDate}_Batch${dateRangeSuffix}.zip`;
          }
        } else if (batchInfo && (batchInfo.mode === "batch" || batchInfo.mode === "auto")) {
          if (batchInfo.page !== void 0) {
            zipFilename = `${username}_${downloadDate}_Batch${batchInfo.page}${dateRangeSuffix}.zip`;
          } else {
            zipFilename = `${username}_${downloadDate}_Batch${dateRangeSuffix}.zip`;
          }
        } else if (batchInfo?.mode === "date_range" || dateRangeSuffix) {
          zipFilename = `${username}_${downloadDate}${dateRangeSuffix}.zip`;
        } else {
          zipFilename = `${username}_${downloadDate}.zip`;
        }
        const files = this.createFileList(timeline, username);
        if (files.length === 0) {
          throw new Error("No media files found");
        }
        const shouldConvertGifs = appOptionsManager.get("convertAnimatedGifs") ?? true;
        if (shouldConvertGifs) {
          await this.downloadWithGifConversion(zipFilename, files, onProgress);
        } else {
          const progressCallback = (current, total, file) => {
            const percentage = Math.round(current / total * 100);
            onProgress?.({
              current,
              total,
              percentage,
              currentFile: file?.filename,
              converting: false
            });
          };
          await zipStreamDownload(
            zipFilename,
            files,
            progressCallback,
            500,
            appOptionsManager.get("downloadConcurrency") ?? 1,
            this.abortController?.signal
          );
        }
      } catch (error) {
        if (error?.message !== "Download aborted") {
          throw error;
        }
        logger.info("Download was aborted by user. Files already downloaded will be zipped.");
      } finally {
        this.isDownloading = false;
        this.abortController = null;
        this.createdBlobUrls.forEach((url) => {
          URL.revokeObjectURL(url);
        });
        this.createdBlobUrls = [];
      }
    }
    createFileList(timeline, username) {
      const files = [];
      const usedFilenames = new Set();
      const mediaGroups = {
        photo: timeline.filter((item) => item.type === "photo"),
        video: timeline.filter((item) => item.type === "video"),
        animated_gif: timeline.filter((item) => item.type === "animated_gif")
      };
      Object.entries(mediaGroups).forEach(([type, items]) => {
        if (items.length === 0) return;
        const folderName = type === "photo" ? "image" : type === "animated_gif" ? "gif" : type;
        items.forEach((item) => {
          const extension = this.getFileExtension(item);
          const baseFilename = `${username}_${this.formatDateForFilename(item.date)}_${item.tweet_id}`;
          const filename = this.getUniqueFilename(baseFilename, extension, usedFilenames);
          const fullPath = `${folderName}/${filename}`;
          files.push({
            filename: fullPath,
            url: item.url
          });
          usedFilenames.add(filename);
        });
      });
      return files;
    }
    getFileExtension(item) {
      switch (item.type) {
        case "photo":
          const photoMatch = item.url.match(/format=(\w+)/);
          return photoMatch?.[1] || "jpg";
        case "video":
          return "mp4";
        case "animated_gif":
          const shouldConvertGifs = appOptionsManager.get("convertAnimatedGifs") ?? true;
          return shouldConvertGifs ? "gif" : "mp4";
        default:
          return "unknown";
      }
    }
    formatDateForFilename(dateStr) {
      const m = dateStr.match(/(\d{4})-(\d{2})-(\d{2}).*?(\d{2}):(\d{2}):(\d{2})/);
      if (m) {
        const [, y, mo, d, h2, mi, s] = m;
        return `${y}${mo}${d}_${h2}${mi}${s}`;
      }
      const d2 = new Date(dateStr);
      if (!isNaN(d2.getTime())) {
        const pad = (n) => String(n).padStart(2, "0");
        return `${d2.getFullYear()}${pad(d2.getMonth() + 1)}${pad(d2.getDate())}_${pad(d2.getHours())}${pad(d2.getMinutes())}${pad(d2.getSeconds())}`;
      }
      return dateStr.replace(/\D/g, "");
    }
    getUniqueFilename(baseFilename, extension, usedFilenames) {
      let filename = `${baseFilename}.${extension}`;
      let counter = 1;
      while (usedFilenames.has(filename)) {
        filename = `${baseFilename}_${counter}.${extension}`;
        counter++;
      }
      return filename;
    }
    isDownloadInProgress() {
      return this.isDownloading;
    }
    abortDownload() {
      if (this.abortController) {
        this.abortController.abort();
      }
    }
    async downloadWithGifConversion(zipFilename, files, onProgress) {
      const gifFiles = files.filter((f2) => f2.filename.startsWith("gif/"));
      for (let i = 0; i < gifFiles.length; i++) {
        const gifFile = gifFiles[i];
        if (!gifFile) continue;
        const conversionProgress = Math.round((i + 1) / gifFiles.length * 50);
        onProgress?.({
          current: i,
          total: gifFiles.length,
          percentage: conversionProgress,
          currentFile: gifFile.filename,
          converting: true
        });
        try {
          const gifData = await this.convertVideoToGif(gifFile.url);
          if (gifData) {
            gifFile.url = gifData;
          }
        } catch (error) {
        }
      }
      const downloadProgressCallback = (current, total, file) => {
        const downloadProgress = 50 + Math.round(current / total * 50);
        onProgress?.({
          current,
          total,
          percentage: downloadProgress,
          currentFile: file?.filename,
          converting: false
        });
      };
      await zipStreamDownload(
        zipFilename,
        files,
        downloadProgressCallback,
        500,
        appOptionsManager.get("downloadConcurrency") ?? 1,
        this.abortController?.signal
      );
    }
    convertVideoToGif(videoUrl) {
      return new Promise((resolve) => {
        if (!gifshot.isExistingVideoGIFSupported()) {
          resolve(null);
          return;
        }
        const gifOptions = getGifShotOptions();
        {
          this.getVideoDimensions(videoUrl).then(({ width, height }) => {
            gifshot.createGIF({
              video: videoUrl,
              gifWidth: width,
              gifHeight: height,
              ...gifOptions
            }, (obj) => {
              this.handleGifConversionResult(obj, resolve);
            });
          }).catch((error) => {
            gifshot.createGIF({
              video: videoUrl,
              ...gifOptions
            }, (obj) => {
              this.handleGifConversionResult(obj, resolve);
            });
          });
        }
      });
    }
    handleGifConversionResult(obj, resolve) {
      if (obj.error) {
        resolve(null);
      } else if (obj.image) {
        try {
          const dataUrl = obj.image;
          const base64Data = dataUrl.split(",")[1];
          if (!base64Data) {
            resolve(null);
            return;
          }
          const byteCharacters = atob(base64Data);
          const byteNumbers = new Array(byteCharacters.length);
          for (let i = 0; i < byteCharacters.length; i++) {
            byteNumbers[i] = byteCharacters.charCodeAt(i);
          }
          const byteArray = new Uint8Array(byteNumbers);
          const blob = new Blob([byteArray], { type: "image/gif" });
          const blobUrl = URL.createObjectURL(blob);
          this.createdBlobUrls.push(blobUrl);
          resolve(blobUrl);
        } catch (error) {
          resolve(null);
        }
      } else {
        resolve(null);
      }
    }
    getVideoDimensions(videoUrl) {
      return new Promise((resolve, reject) => {
        const video = document.createElement("video");
        video.crossOrigin = "anonymous";
        video.onloadedmetadata = () => {
          const width = video.videoWidth;
          const height = video.videoHeight;
          video.remove();
          if (width && height) {
            resolve({ width, height });
          } else {
            reject(new Error("Could not determine video dimensions"));
          }
        };
        video.onerror = () => {
          video.remove();
          reject(new Error("Failed to load video for dimension detection"));
        };
        setTimeout(() => {
          video.remove();
          reject(new Error("Timeout while detecting video dimensions"));
        }, 1e4);
        video.src = videoUrl;
      });
    }
  }
  const mediaDownloader = new MediaDownloader();
  const urlParser = {
    getCurrentUsername() {
      try {
        const pathname = window.location.pathname;
        const pathParts = pathname.replace(/^\/+/, "").split("/");
        const username = pathParts[0];
        if (!username) return null;
        const skipPaths = [
          "i",
          "home",
          "explore",
          "notifications",
          "messages",
          "settings",
          "compose",
          "search",
          "hashtag",
          "lists",
          "moments",
          "bookmarks",
          "profile",
          "login",
          "logout",
          "signup",
          "welcome",
          "help",
          "tos",
          "privacy",
          "about",
          "download",
          "jobs",
          "ads",
          "analytics",
          "connect",
          "intent",
          "oauth",
          "account",
          "share"
        ];
        if (skipPaths.includes(username.toLowerCase())) {
          return null;
        }
        if (this.isValidUsername(username)) {
          return username;
        }
        return null;
      } catch (error) {
        return null;
      }
    },
    isValidUsername(username) {
      if (!username || typeof username !== "string") return false;
      const cleanUsername = username.replace(/^@/, "");
      return /^[a-zA-Z0-9_]{1,15}$/.test(cleanUsername);
    },
    isUserProfilePage() {
      const username = this.getCurrentUsername();
      if (!username) return false;
      const pathname = window.location.pathname;
      const pathParts = pathname.replace(/^\/+/, "").split("/");
      if (pathParts.length === 1) ;
      if (pathParts.length === 2 && pathParts[1] === "") ;
      const profileTabs = ["with_replies", "media", "likes", "followers", "following"];
      if (pathParts.length === 2 && pathParts[1] && profileTabs.includes(pathParts[1])) {
        return true;
      }
      return false;
    },
    onUrlChange(callback) {
      let currentUrl = window.location.href;
      const checkUrlChange = () => {
        const newUrl = window.location.href;
        if (newUrl !== currentUrl) {
          currentUrl = newUrl;
          const username = this.getCurrentUsername();
          callback(username);
        }
      };
      const interval = setInterval(checkUrlChange, 1e3);
      const handlePopState = () => {
        setTimeout(() => {
          const username = this.getCurrentUsername();
          callback(username);
        }, 100);
      };
      window.addEventListener("popstate", handlePopState);
      return () => {
        clearInterval(interval);
        window.removeEventListener("popstate", handlePopState);
      };
    },
    getProfileInfo() {
      return {
        username: this.getCurrentUsername(),
        isProfilePage: this.isUserProfilePage()
      };
    }
  };
  const dashboardState = {
    username: signals.signal(""),
    accountData: signals.signal(null),
    showAccountInfo: signals.signal(false),
    currentAccountUsername: signals.signal(null),
    isLoading: signals.signal(false),
    errorMessage: signals.signal(""),
    isDownloading: signals.signal(false),
    downloadProgress: signals.signal(0),
    downloadError: signals.signal(""),
    isConverting: signals.signal(false),
    currentFile: signals.signal(""),
    downloadingType: signals.signal(null),
    downloadCurrent: signals.signal(0),
    downloadTotal: signals.signal(0),
    detectedUsername: signals.signal(null),
    isProfilePage: signals.signal(false),
    currentPage: signals.signal(0),
    hasMore: signals.signal(false),
    isAutoBatching: signals.signal(false),
    isPaused: signals.signal(false),
    aggregatedTimeline: signals.signal([]),
    currentBatchTimeline: signals.signal([]),
    aggregatedCount: signals.signal(0),
    fetchedPages: signals.signal([]),
    pageMediaCounts: signals.signal({}),
    loadingDirection: signals.signal(null),
    resetForNewAccount(newUsername) {
      const currentUsername = this.currentAccountUsername.value;
      if (currentUsername && newUsername && currentUsername !== newUsername) {
        this.username.value = "";
        this.accountData.value = null;
        this.showAccountInfo.value = false;
        this.isLoading.value = false;
        this.errorMessage.value = "";
        this.downloadProgress.value = 0;
        this.downloadError.value = "";
        this.isDownloading.value = false;
        this.isConverting.value = false;
        this.currentFile.value = "";
        this.downloadingType.value = null;
        this.downloadCurrent.value = 0;
        this.downloadTotal.value = 0;
        this.currentPage.value = 0;
        this.hasMore.value = false;
        this.isAutoBatching.value = false;
        this.isPaused.value = false;
        this.aggregatedTimeline.value = [];
        this.currentBatchTimeline.value = [];
        this.aggregatedCount.value = 0;
        this.fetchedPages.value = [];
        this.pageMediaCounts.value = {};
        this.loadingDirection.value = null;
      }
      this.currentAccountUsername.value = newUsername;
    },
    resetInteractionStates() {
      this.isLoading.value = false;
      this.errorMessage.value = "";
      this.downloadProgress.value = 0;
      this.downloadError.value = "";
      this.isDownloading.value = false;
      this.isConverting.value = false;
      this.currentFile.value = "";
      this.downloadingType.value = null;
      this.downloadCurrent.value = 0;
      this.downloadTotal.value = 0;
    }
  };
  const authState = {
    patreonVerified: signals.signal(false),
    patreonAuth: signals.signal(""),
    authToken: signals.signal("")
  };
  function g(n, t) {
    for (var e in t) n[e] = t[e];
    return n;
  }
  function E(n, t) {
    for (var e in n) if ("__source" !== e && !(e in t)) return true;
    for (var r in t) if ("__source" !== r && n[r] !== t[r]) return true;
    return false;
  }
  function N(n, t) {
    this.props = n, this.context = t;
  }
  (N.prototype = new preact.Component()).isPureReactComponent = true, N.prototype.shouldComponentUpdate = function(n, t) {
    return E(this.props, n) || E(this.state, t);
  };
  var T = preact.options.__b;
  preact.options.__b = function(n) {
    n.type && n.type.__f && n.ref && (n.props.ref = n.ref, n.ref = null), T && T(n);
  };
  var F = preact.options.__e;
  preact.options.__e = function(n, t, e, r) {
    if (n.then) {
      for (var u2, o = t; o = o.__; ) if ((u2 = o.__c) && u2.__c) return null == t.__e && (t.__e = e.__e, t.__k = e.__k), u2.__c(n, t);
    }
    F(n, t, e, r);
  };
  var U = preact.options.unmount;
  function V(n, t, e) {
    return n && (n.__c && n.__c.__H && (n.__c.__H.__.forEach(function(n2) {
      "function" == typeof n2.__c && n2.__c();
    }), n.__c.__H = null), null != (n = g({}, n)).__c && (n.__c.__P === e && (n.__c.__P = t), n.__c.__e = true, n.__c = null), n.__k = n.__k && n.__k.map(function(n2) {
      return V(n2, t, e);
    })), n;
  }
  function W(n, t, e) {
    return n && e && (n.__v = null, n.__k = n.__k && n.__k.map(function(n2) {
      return W(n2, t, e);
    }), n.__c && n.__c.__P === t && (n.__e && e.appendChild(n.__e), n.__c.__e = true, n.__c.__P = e)), n;
  }
  function P() {
    this.__u = 0, this.o = null, this.__b = null;
  }
  function j(n) {
    var t = n.__.__c;
    return t && t.__a && t.__a(n);
  }
  function B() {
    this.i = null, this.l = null;
  }
  preact.options.unmount = function(n) {
    var t = n.__c;
    t && t.__R && t.__R(), t && 32 & n.__u && (n.type = null), U && U(n);
  }, (P.prototype = new preact.Component()).__c = function(n, t) {
    var e = t.__c, r = this;
    null == r.o && (r.o = []), r.o.push(e);
    var u2 = j(r.__v), o = false, i = function() {
      o || (o = true, e.__R = null, u2 ? u2(l) : l());
    };
    e.__R = i;
    var l = function() {
      if (!--r.__u) {
        if (r.state.__a) {
          var n2 = r.state.__a;
          r.__v.__k[0] = W(n2, n2.__c.__P, n2.__c.__O);
        }
        var t2;
        for (r.setState({ __a: r.__b = null }); t2 = r.o.pop(); ) t2.forceUpdate();
      }
    };
    r.__u++ || 32 & t.__u || r.setState({ __a: r.__b = r.__v.__k[0] }), n.then(i, i);
  }, P.prototype.componentWillUnmount = function() {
    this.o = [];
  }, P.prototype.render = function(n, e) {
    if (this.__b) {
      if (this.__v.__k) {
        var r = document.createElement("div"), o = this.__v.__k[0].__c;
        this.__v.__k[0] = V(this.__b, r, o.__O = o.__P);
      }
      this.__b = null;
    }
    var i = e.__a && preact.createElement(preact.Fragment, null, n.fallback);
    return i && (i.__u &= -33), [preact.createElement(preact.Fragment, null, e.__a ? null : n.children), i];
  };
  var H = function(n, t, e) {
    if (++e[1] === e[0] && n.l.delete(t), n.props.revealOrder && ("t" !== n.props.revealOrder[0] || !n.l.size)) for (e = n.i; e; ) {
      for (; e.length > 3; ) e.pop()();
      if (e[1] < e[0]) break;
      n.i = e = e[2];
    }
  };
  function Z(n) {
    return this.getChildContext = function() {
      return n.context;
    }, n.children;
  }
  function Y(n) {
    var e = this, r = n.h;
    if (e.componentWillUnmount = function() {
      preact.render(null, e.v), e.v = null, e.h = null;
    }, e.h && e.h !== r && e.componentWillUnmount(), !e.v) {
      for (var u2 = e.__v; null !== u2 && !u2.__m && null !== u2.__; ) u2 = u2.__;
      e.h = r, e.v = { nodeType: 1, parentNode: r, childNodes: [], __k: { __m: u2.__m }, contains: function() {
        return true;
      }, insertBefore: function(n2, t) {
        this.childNodes.push(n2), e.h.insertBefore(n2, t);
      }, removeChild: function(n2) {
        this.childNodes.splice(this.childNodes.indexOf(n2) >>> 1, 1), e.h.removeChild(n2);
      } };
    }
    preact.render(preact.createElement(Z, { context: e.context }, n.__v), e.v);
  }
  function $(n, e) {
    var r = preact.createElement(Y, { __v: n, h: e });
    return r.containerInfo = e, r;
  }
  (B.prototype = new preact.Component()).__a = function(n) {
    var t = this, e = j(t.__v), r = t.l.get(n);
    return r[0]++, function(u2) {
      var o = function() {
        t.props.revealOrder ? (r.push(u2), H(t, n, r)) : u2();
      };
      e ? e(o) : o();
    };
  }, B.prototype.render = function(n) {
    this.i = null, this.l = new Map();
    var t = preact.toChildArray(n.children);
    n.revealOrder && "b" === n.revealOrder[0] && t.reverse();
    for (var e = t.length; e--; ) this.l.set(t[e], this.i = [1, 0, this.i]);
    return n.children;
  }, B.prototype.componentDidUpdate = B.prototype.componentDidMount = function() {
    var n = this;
    this.l.forEach(function(t, e) {
      H(n, e, t);
    });
  };
  var q = "undefined" != typeof Symbol && Symbol.for && Symbol.for("react.element") || 60103, G = /^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image(!S)|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/, J = /^on(Ani|Tra|Tou|BeforeInp|Compo)/, K = /[A-Z0-9]/g, Q = "undefined" != typeof document, X = function(n) {
    return ("undefined" != typeof Symbol && "symbol" == typeof Symbol() ? /fil|che|rad/ : /fil|che|ra/).test(n);
  };
  preact.Component.prototype.isReactComponent = {}, ["componentWillMount", "componentWillReceiveProps", "componentWillUpdate"].forEach(function(t) {
    Object.defineProperty(preact.Component.prototype, t, { configurable: true, get: function() {
      return this["UNSAFE_" + t];
    }, set: function(n) {
      Object.defineProperty(this, t, { configurable: true, writable: true, value: n });
    } });
  });
  var en = preact.options.event;
  function rn() {
  }
  function un() {
    return this.cancelBubble;
  }
  function on() {
    return this.defaultPrevented;
  }
  preact.options.event = function(n) {
    return en && (n = en(n)), n.persist = rn, n.isPropagationStopped = un, n.isDefaultPrevented = on, n.nativeEvent = n;
  };
  var cn = { enumerable: false, configurable: true, get: function() {
    return this.class;
  } }, fn = preact.options.vnode;
  preact.options.vnode = function(n) {
    "string" == typeof n.type && (function(n2) {
      var t = n2.props, e = n2.type, u2 = {}, o = -1 === e.indexOf("-");
      for (var i in t) {
        var l = t[i];
        if (!("value" === i && "defaultValue" in t && null == l || Q && "children" === i && "noscript" === e || "class" === i || "className" === i)) {
          var c = i.toLowerCase();
          "defaultValue" === i && "value" in t && null == t.value ? i = "value" : "download" === i && true === l ? l = "" : "translate" === c && "no" === l ? l = false : "o" === c[0] && "n" === c[1] ? "ondoubleclick" === c ? i = "ondblclick" : "onchange" !== c || "input" !== e && "textarea" !== e || X(t.type) ? "onfocus" === c ? i = "onfocusin" : "onblur" === c ? i = "onfocusout" : J.test(i) && (i = c) : c = i = "oninput" : o && G.test(i) ? i = i.replace(K, "-$&").toLowerCase() : null === l && (l = void 0), "oninput" === c && u2[i = c] && (i = "oninputCapture"), u2[i] = l;
        }
      }
      "select" == e && u2.multiple && Array.isArray(u2.value) && (u2.value = preact.toChildArray(t.children).forEach(function(n3) {
        n3.props.selected = -1 != u2.value.indexOf(n3.props.value);
      })), "select" == e && null != u2.defaultValue && (u2.value = preact.toChildArray(t.children).forEach(function(n3) {
        n3.props.selected = u2.multiple ? -1 != u2.defaultValue.indexOf(n3.props.value) : u2.defaultValue == n3.props.value;
      })), t.class && !t.className ? (u2.class = t.class, Object.defineProperty(u2, "className", cn)) : (t.className && !t.class || t.class && t.className) && (u2.class = u2.className = t.className), n2.props = u2;
    })(n), n.$$typeof = q, fn && fn(n);
  };
  var an = preact.options.__r;
  preact.options.__r = function(n) {
    an && an(n), n.__c;
  };
  var sn = preact.options.diffed;
  preact.options.diffed = function(n) {
    sn && sn(n);
    var t = n.props, e = n.__e;
    null != e && "textarea" === n.type && "value" in t && t.value !== e.value && (e.value = null == t.value ? "" : t.value);
  };
  function Title() {
    return u("h2", { class: "text-lg font-bold", children: [
      "Twitter/X Media Batch Downloader ",
u("span", { class: "text-warning", children: "Pro" })
    ] });
  }
  function Modal({ show, onClose, title, children, class: className, actions }) {
    if (!show) {
      return null;
    }
    const modalContent = u("dialog", { class: "modal", open: true, onClose: () => onClose?.(), children: [
u("div", { class: cx("modal-box transition-all duration-300 ease-in-out", className), children: [
u("div", { class: "flex items-center justify-between mb-4", children: [
          title ? u("h2", { class: "text-lg font-bold", children: title }) : u("span", {}),
u("div", { class: "flex items-center gap-2", children: [
            actions,
u("form", { method: "dialog", children: u(
              "button",
              {
                class: "btn btn-sm btn-circle btn-ghost",
                "aria-label": "Close",
                children: u(IconX, { size: 18 })
              }
            ) })
          ] })
        ] }),
u(ErrorBoundary, { children })
      ] }),
u("form", { method: "dialog", class: "modal-backdrop", children: u("button", { "aria-label": "Close", children: "close" }) })
    ] });
    const portalTarget = document.getElementById("tmd-root")?.shadowRoot?.getElementById("tmd-portal-root") || document.getElementById("tmd-root")?.shadowRoot || document.body;
    return $(modalContent, portalTarget);
  }
  const lastPlayTime = {};
  const DEBOUNCE_MS = 150;
  function canPlaySound(soundName) {
    const now = Date.now();
    const lastTime = lastPlayTime[soundName] || 0;
    if (now - lastTime < DEBOUNCE_MS) {
      return false;
    }
    lastPlayTime[soundName] = now;
    return true;
  }
  function playSuccessSound() {
    if (!canPlaySound("success")) return;
    if (!appOptionsManager.get("soundEffects", true)) return;
    try {
      const audioContext = new (window.AudioContext || window.webkitAudioContext)();
      const oscillator = audioContext.createOscillator();
      const gainNode = audioContext.createGain();
      oscillator.connect(gainNode);
      gainNode.connect(audioContext.destination);
      oscillator.frequency.value = 800;
      oscillator.type = "sine";
      gainNode.gain.setValueAtTime(0.3, audioContext.currentTime);
      gainNode.gain.exponentialRampToValueAtTime(0.01, audioContext.currentTime + 0.3);
      oscillator.start(audioContext.currentTime);
      oscillator.stop(audioContext.currentTime + 0.3);
      setTimeout(() => {
        const oscillator2 = audioContext.createOscillator();
        const gainNode2 = audioContext.createGain();
        oscillator2.connect(gainNode2);
        gainNode2.connect(audioContext.destination);
        oscillator2.frequency.value = 1e3;
        oscillator2.type = "sine";
        gainNode2.gain.setValueAtTime(0.3, audioContext.currentTime);
        gainNode2.gain.exponentialRampToValueAtTime(0.01, audioContext.currentTime + 0.3);
        oscillator2.start(audioContext.currentTime);
        oscillator2.stop(audioContext.currentTime + 0.3);
      }, 100);
    } catch (error) {
    }
  }
  function playErrorSound() {
    if (!canPlaySound("error")) return;
    if (!appOptionsManager.get("soundEffects", true)) return;
    try {
      const audioContext = new (window.AudioContext || window.webkitAudioContext)();
      const oscillator = audioContext.createOscillator();
      const gainNode = audioContext.createGain();
      oscillator.connect(gainNode);
      gainNode.connect(audioContext.destination);
      oscillator.frequency.value = 200;
      oscillator.type = "sawtooth";
      gainNode.gain.setValueAtTime(0.3, audioContext.currentTime);
      gainNode.gain.exponentialRampToValueAtTime(0.01, audioContext.currentTime + 0.4);
      oscillator.start(audioContext.currentTime);
      oscillator.stop(audioContext.currentTime + 0.4);
    } catch (error) {
    }
  }
  function playToggleOnSound() {
    if (!canPlaySound("toggleOn")) return;
    if (!appOptionsManager.get("soundEffects", true)) return;
    try {
      const audioContext = new (window.AudioContext || window.webkitAudioContext)();
      const oscillator = audioContext.createOscillator();
      const gainNode = audioContext.createGain();
      oscillator.connect(gainNode);
      gainNode.connect(audioContext.destination);
      oscillator.frequency.value = 600;
      oscillator.type = "sine";
      gainNode.gain.setValueAtTime(0.2, audioContext.currentTime);
      gainNode.gain.exponentialRampToValueAtTime(0.01, audioContext.currentTime + 0.15);
      oscillator.start(audioContext.currentTime);
      oscillator.stop(audioContext.currentTime + 0.15);
    } catch (error) {
    }
  }
  function playToggleOffSound() {
    if (!canPlaySound("toggleOff")) return;
    if (!appOptionsManager.get("soundEffects", true)) return;
    try {
      const audioContext = new (window.AudioContext || window.webkitAudioContext)();
      const oscillator = audioContext.createOscillator();
      const gainNode = audioContext.createGain();
      oscillator.connect(gainNode);
      gainNode.connect(audioContext.destination);
      oscillator.frequency.value = 400;
      oscillator.type = "sine";
      gainNode.gain.setValueAtTime(0.2, audioContext.currentTime);
      gainNode.gain.exponentialRampToValueAtTime(0.01, audioContext.currentTime + 0.15);
      oscillator.start(audioContext.currentTime);
      oscillator.stop(audioContext.currentTime + 0.15);
    } catch (error) {
    }
  }
  function playTabClickSound() {
    if (!canPlaySound("tabClick")) return;
    if (!appOptionsManager.get("soundEffects", true)) return;
    try {
      const audioContext = new (window.AudioContext || window.webkitAudioContext)();
      const oscillator = audioContext.createOscillator();
      const gainNode = audioContext.createGain();
      oscillator.connect(gainNode);
      gainNode.connect(audioContext.destination);
      oscillator.frequency.value = 700;
      oscillator.type = "sine";
      gainNode.gain.setValueAtTime(0.15, audioContext.currentTime);
      gainNode.gain.exponentialRampToValueAtTime(0.01, audioContext.currentTime + 0.1);
      oscillator.start(audioContext.currentTime);
      oscillator.stop(audioContext.currentTime + 0.1);
    } catch (error) {
    }
  }
  function playRadioClickSound() {
    if (!canPlaySound("radioClick")) return;
    if (!appOptionsManager.get("soundEffects", true)) return;
    try {
      const audioContext = new (window.AudioContext || window.webkitAudioContext)();
      const oscillator = audioContext.createOscillator();
      const gainNode = audioContext.createGain();
      oscillator.connect(gainNode);
      gainNode.connect(audioContext.destination);
      oscillator.frequency.value = 550;
      oscillator.type = "sine";
      gainNode.gain.setValueAtTime(0.12, audioContext.currentTime);
      gainNode.gain.exponentialRampToValueAtTime(0.01, audioContext.currentTime + 0.08);
      oscillator.start(audioContext.currentTime);
      oscillator.stop(audioContext.currentTime + 0.08);
    } catch (error) {
    }
  }
  function playClickSound() {
    if (!canPlaySound("click")) return;
    if (!appOptionsManager.get("soundEffects", true)) return;
    try {
      const audioContext = new (window.AudioContext || window.webkitAudioContext)();
      const oscillator = audioContext.createOscillator();
      const gainNode = audioContext.createGain();
      oscillator.connect(gainNode);
      gainNode.connect(audioContext.destination);
      oscillator.frequency.value = 650;
      oscillator.type = "sine";
      gainNode.gain.setValueAtTime(0.1, audioContext.currentTime);
      gainNode.gain.exponentialRampToValueAtTime(0.01, audioContext.currentTime + 0.06);
      oscillator.start(audioContext.currentTime);
      oscillator.stop(audioContext.currentTime + 0.06);
    } catch (error) {
    }
  }
  function Dashboard({ loadFromDatabaseAccount } = {}) {
    const { t, i18n } = useTranslation();
    const isArabic = (i18n.language || "").startsWith("ar");
    const {
      accountData,
      showAccountInfo,
      detectedUsername,
      isProfilePage,
      isLoading,
      errorMessage,
      isDownloading,
      downloadProgress,
      downloadError,
      isConverting,
      currentFile,
      downloadCurrent,
      downloadTotal
    } = dashboardState;
    const showOverwriteModal = signals.useSignal(false);
    const pendingFetchUsername = signals.useSignal("");
    const pendingFetchParams = signals.useSignal(null);
    const convertGifsExternal = signals.useSignal(appOptionsManager.get("convertGifsExternal") ?? false);
    const mediaType = signals.useSignal(appOptionsManager.get("mediaType") ?? "all");
    const fetchMode = signals.useSignal(appOptionsManager.get("fetchMode") ?? "single");
    const isLoadingFromDB = signals.useSignal(false);
    const hasDBData = signals.useSignal(false);
    const isLoadedFromDB = signals.useSignal(false);
    const isUpdating = signals.useSignal(false);
    const showUpdateConfirmModal = signals.useSignal(false);
    const isRetrying = signals.useSignal(false);
    const retryAbortController = signals.useSignal(null);
    const retryTokenCurrent = signals.useSignal(0);
    const retryTokenTotal = signals.useSignal(0);
    const dateSince = signals.useSignal("");
    const dateUntil = signals.useSignal("");
    hooks.useEffect(() => {
      if (detectedUsername.value) {
        checkDBData(detectedUsername.value);
      }
    }, [dateSince.value, dateUntil.value]);
    hooks.useEffect(() => {
      const updateUsernameFromUrl = () => {
        const profileInfo = urlParser.getProfileInfo();
        const newDetectedUsername = profileInfo.username;
        dashboardState.resetForNewAccount(newDetectedUsername);
        detectedUsername.value = newDetectedUsername;
        isProfilePage.value = profileInfo.isProfilePage;
        if (newDetectedUsername) {
          checkDBData(newDetectedUsername);
        } else {
          hasDBData.value = false;
        }
      };
      updateUsernameFromUrl();
      (async () => {
        try {
          const settings = await mediaDownloaderDB.getAuthSettings();
          authState.patreonVerified.value = Boolean(settings?.patreon_verified);
          authState.patreonAuth.value = settings?.patreon_auth || "";
        } catch {
        }
      })();
      const cleanup = urlParser.onUrlChange(() => {
        updateUsernameFromUrl();
      });
      return cleanup;
    }, []);
    hooks.useEffect(() => {
      appOptionsManager.signal.subscribe(() => {
        convertGifsExternal.value = appOptionsManager.get("convertGifsExternal") ?? false;
        mediaType.value = appOptionsManager.get("mediaType") ?? "all";
        fetchMode.value = appOptionsManager.get("fetchMode") ?? "single";
      });
    }, []);
    const checkDBData = async (username) => {
      try {
        const cleanUsername = mediaDownloaderAPI.formatUsername(username);
        const fetchMode2 = appOptionsManager.get("fetchMode") ?? "single";
        let count = 0;
        if (dateSince.value || dateUntil.value) {
          if (fetchMode2 !== "single") {
            const batchDateRangeAccounts = await mediaDB.accounts.where("username").equals(cleanUsername).filter(
              (acc) => acc.batch_mode === "batch_date_range" && acc.date_since === dateSince.value && acc.date_until === dateUntil.value
            ).count();
            count = batchDateRangeAccounts;
          } else {
            const dateRangeAccounts = await mediaDB.accounts.where("username").equals(cleanUsername).filter(
              (acc) => acc.batch_mode === "date_range" && acc.date_since === dateSince.value && acc.date_until === dateUntil.value
            ).count();
            count = dateRangeAccounts;
          }
        } else if (fetchMode2 === "single") {
          const singleAccount = await mediaDB.accounts.where("username").equals(cleanUsername).filter((acc) => !acc.batch_mode || acc.batch_mode === "single").count();
          count = singleAccount;
        } else {
          const batchCount = await mediaDB.accounts.where("username").equals(cleanUsername).filter((acc) => !!(acc.batch_mode && acc.batch_mode !== "single" && acc.batch_mode !== "date_range" && acc.batch_mode !== "batch_date_range")).count();
          count = batchCount;
        }
        hasDBData.value = count > 0;
      } catch {
        hasDBData.value = false;
      }
    };
    hooks.useEffect(() => {
      const unsubscribe = appOptionsManager.signal.subscribe(() => {
        if (detectedUsername.value) {
          checkDBData(detectedUsername.value);
        }
      });
      return unsubscribe;
    }, []);
    hooks.useEffect(() => {
      if (detectedUsername.value) {
        checkDBData(detectedUsername.value);
      }
    }, [dbState.dbChangeSignal.value]);
    hooks.useEffect(() => {
      if (!loadFromDatabaseAccount?.value) return;
      const accountInfo = loadFromDatabaseAccount.value;
      if (accountInfo.username) {
        detectedUsername.value = accountInfo.username;
        if (accountInfo.date_since || accountInfo.date_until) {
          dateSince.value = accountInfo.date_since || "";
          dateUntil.value = accountInfo.date_until || "";
        } else {
          dateSince.value = "";
          dateUntil.value = "";
        }
        if (accountInfo.batch_mode) {
          const targetMode = accountInfo.batch_mode === "date_range" ? "single" : accountInfo.batch_mode === "batch_date_range" ? "batch" : accountInfo.batch_mode;
          appOptionsManager.set("fetchMode", targetMode);
        }
        handleLoadFromDatabase();
        loadFromDatabaseAccount.value = null;
      }
    }, [loadFromDatabaseAccount?.value]);
    const stopRetry = () => {
      isRetrying.value = false;
      isLoading.value = false;
      if (retryAbortController.value) {
        retryAbortController.value.abort();
        retryAbortController.value = null;
      }
      errorMessage.value = "";
    };
    const retryWithTokenGeneration = async (cleanUsername, authSettings) => {
      const controller = new AbortController();
      retryAbortController.value = controller;
      isRetrying.value = true;
      while (isRetrying.value && !controller.signal.aborted) {
        if (!isRetrying.value || controller.signal.aborted) {
          break;
        }
        try {
          const tokenResult = await mediaDownloaderAPI.generateAuthToken(authSettings.patreon_auth);
          retryTokenCurrent.value = tokenResult.current_index || 0;
          retryTokenTotal.value = tokenResult.total_tokens || 0;
          if (!isRetrying.value || controller.signal.aborted) {
            break;
          }
          authSettings.auth_token = tokenResult.auth_token;
          authState.authToken.value = tokenResult.auth_token;
          await mediaDownloaderDB.saveAuthSettings(
            tokenResult.auth_token,
            authSettings.patreon_auth
          );
          if (!isRetrying.value || controller.signal.aborted) {
            break;
          }
          await mediaDownloaderDB.setPatreonVerified(true);
          if (!isRetrying.value || controller.signal.aborted) {
            break;
          }
          isRetrying.value = false;
          await handleFetchMedia(true);
          retryAbortController.value = null;
          return;
        } catch (error) {
          if (!isRetrying.value || controller.signal.aborted) {
            break;
          }
          const waitCompleted = await new Promise((resolve) => {
            const timeoutId = setTimeout(() => {
              cleanup();
              resolve(true);
            }, 2e3);
            const checkInterval = setInterval(() => {
              if (!isRetrying.value || controller.signal.aborted) {
                cleanup();
                resolve(false);
              }
            }, 100);
            const cleanup = () => {
              clearTimeout(timeoutId);
              clearInterval(checkInterval);
            };
          });
          if (!waitCompleted) {
            break;
          }
        }
      }
      isRetrying.value = false;
      retryAbortController.value = null;
    };
    const handleFetchMedia = async (skipOverwriteCheck = false) => {
      playClickSound();
      const rawUsername = detectedUsername.value || "";
      if (!rawUsername) {
        errorMessage.value = t("Please visit a profile page for auto-detection");
        playErrorSound();
        setTimeout(() => errorMessage.value = "", 2e3);
        return;
      }
      const authSettings = await mediaDownloaderDB.getAuthSettings();
      if (!authSettings) {
        errorMessage.value = t("Please configure authentication in the Auth tab first");
        playErrorSound();
        setTimeout(() => errorMessage.value = "", 2e3);
        return;
      }
      const cleanUsername = mediaDownloaderAPI.formatUsername(rawUsername);
      if ((authSettings.patreon_auth || "").trim() === "xbatchdemo" && cleanUsername !== "xbatchdemo") {
        errorMessage.value = t("Demo mode is only available for @xbatchdemo");
        playErrorSound();
        setTimeout(() => errorMessage.value = "", 2e3);
        return;
      }
      if (!mediaDownloaderAPI.validateUsername(cleanUsername)) {
        errorMessage.value = t("Invalid username format");
        playErrorSound();
        setTimeout(() => errorMessage.value = "", 2e3);
        return;
      }
      if (!mediaDownloaderAPI.validateAuthToken(authSettings.auth_token)) {
        errorMessage.value = t("Invalid auth token. Please check your settings.");
        playErrorSound();
        setTimeout(() => errorMessage.value = "", 2e3);
        return;
      }
      if (!mediaDownloaderAPI.validatePatreonAuth(authSettings.patreon_auth)) {
        errorMessage.value = t("Invalid Patreon auth. Please check your settings.");
        playErrorSound();
        setTimeout(() => errorMessage.value = "", 2e3);
        return;
      }
      const fetchMode2 = appOptionsManager.get("fetchMode") ?? "single";
      if (!skipOverwriteCheck) {
        const actualFetchMode = dateSince.value || dateUntil.value ? fetchMode2 !== "single" ? "batch_date_range" : "date_range" : fetchMode2;
        const existingAccounts = await mediaDownloaderDB.getAccountsByUsernameAndMode(
          cleanUsername,
          actualFetchMode,
          dateSince.value || void 0,
          dateUntil.value || void 0
        );
        if (existingAccounts.length > 0) {
          pendingFetchUsername.value = cleanUsername;
          pendingFetchParams.value = { authSettings };
          showOverwriteModal.value = true;
          return;
        }
      }
      const timelineType = appOptionsManager.get("timelineType") ?? "media";
      const mediaType2 = appOptionsManager.get("mediaType") ?? "all";
      const batchSize = appOptionsManager.get("batchSize") ?? 100;
      const startingBatch = appOptionsManager.get("startingBatch") ?? 0;
      const resetBatchState = () => {
        dashboardState.currentPage.value = startingBatch;
        dashboardState.hasMore.value = false;
        dashboardState.isAutoBatching.value = false;
        dashboardState.isPaused.value = false;
        dashboardState.aggregatedTimeline.value = [];
        dashboardState.currentBatchTimeline.value = [];
        dashboardState.aggregatedCount.value = 0;
        dashboardState.fetchedPages.value = [];
        dashboardState.pageMediaCounts.value = {};
      };
      const fetchPage = async (page, reveal = false) => {
        isLoading.value = true;
        errorMessage.value = "";
        try {
          const data = await mediaDownloaderAPI.fetchMediaData(
            cleanUsername,
            authSettings.auth_token,
            authSettings.patreon_auth,
            {
              timelineType,
              batchSize,
              startingBatch: page,
              mediaType: mediaType2,
              fetchMode: fetchMode2,
              dateSince: dateSince.value || void 0,
              dateUntil: dateUntil.value || void 0,
              includeRetweets: appOptionsManager.get("includeRetweets") ?? false
            }
          );
          accountData.value = data;
          dashboardState.currentBatchTimeline.value = data.timeline;
          dashboardState.hasMore.value = Boolean(data?.metadata?.has_more);
          dashboardState.currentPage.value = data?.metadata?.page ?? page;
          const seen = new Set(dashboardState.aggregatedTimeline.value.map((i) => `${i.tweet_id}|${i.url}`));
          const merged = [...dashboardState.aggregatedTimeline.value];
          if (!dashboardState.fetchedPages.value.includes(page)) {
            dashboardState.fetchedPages.value = [...dashboardState.fetchedPages.value, page];
            let newMediaCount = 0;
            for (const item of data.timeline) {
              const key = `${item.tweet_id}|${item.url}`;
              if (!seen.has(key)) {
                seen.add(key);
                merged.push(item);
                newMediaCount++;
              }
            }
            dashboardState.pageMediaCounts.value = {
              ...dashboardState.pageMediaCounts.value,
              [page]: newMediaCount
            };
            dashboardState.aggregatedTimeline.value = merged;
            dashboardState.aggregatedCount.value = merged.length;
          }
          if (reveal) {
            showAccountInfo.value = true;
          }
        } catch (error) {
          const apiError = error?.apiError;
          const errorData = error?.errorData;
          const raw = error instanceof Error ? error.message : "";
          let msg = "";
          if (apiError) {
            if (errorData) {
              const translated = i18n.t(raw, errorData);
              msg = translated !== raw ? translated : raw;
            } else {
              msg = raw ? t(raw) || raw : t("Failed to fetch data");
            }
          } else {
            const httpMatch = raw.match(/^HTTP error! status: (\d+)/);
            msg = httpMatch ? t("HTTP error! status: {{status}}", { status: httpMatch[1] }) : (raw ? t(raw) : "") || t("Failed to fetch data");
          }
          errorMessage.value = msg;
          playErrorSound();
          setTimeout(() => errorMessage.value = "", 2e3);
          throw error;
        } finally {
          isLoading.value = false;
        }
      };
      try {
        resetBatchState();
        isLoadedFromDB.value = false;
        if (fetchMode2 === "single") {
          await fetchPage(startingBatch, true);
        } else if (fetchMode2 === "batch") {
          await fetchPage(startingBatch, true);
        } else {
          dashboardState.isAutoBatching.value = true;
          await fetchPage(startingBatch, true);
          await runAutoLoop();
        }
        if (accountData.value) {
          try {
            const actualFetchMode = dateSince.value || dateUntil.value ? fetchMode2 !== "single" ? "batch_date_range" : "date_range" : fetchMode2;
            const batchIdentifier = actualFetchMode !== "single" ? `${cleanUsername}_${actualFetchMode}_${Date.now()}` : void 0;
            const timelineToSave = actualFetchMode !== "single" && dashboardState.aggregatedTimeline.value.length > 0 ? dashboardState.aggregatedTimeline.value : accountData.value.timeline;
            const metadataToSave = actualFetchMode !== "single" && dashboardState.aggregatedTimeline.value.length > 0 ? { ...accountData.value.metadata, new_entries: dashboardState.aggregatedCount.value } : accountData.value.metadata;
            await mediaDownloaderDB.saveAccount({
              username: cleanUsername,
              account_info: accountData.value.account_info,
              metadata: metadataToSave,
              timeline: timelineToSave,
              batch_mode: actualFetchMode,
              batch_identifier: batchIdentifier,
              timeline_type: timelineType,
              media_type: mediaType2,
              date_since: dateSince.value || void 0,
              date_until: dateUntil.value || void 0
            });
            await checkDBData(cleanUsername);
          } catch (error) {
          }
        }
      } catch (error) {
        const apiError = error?.apiError;
        const errorData = error?.errorData;
        const raw = error instanceof Error ? error.message : "";
        const isDemoMode = (authSettings.patreon_auth || "").trim() === "xbatchdemo";
        const isGalleryDLAuthError = raw.includes("Could not authenticate you") || raw.includes("Failed to fetch data") && raw.includes("401");
        const shouldRetry = apiError?.isRetryable === true || isGalleryDLAuthError;
        if (shouldRetry && !isRetrying.value && !isDemoMode) {
          errorMessage.value = "";
          retryWithTokenGeneration(cleanUsername, authSettings);
        } else {
          let msg = "";
          if (apiError) {
            if (errorData) {
              const translated = i18n.t(raw, errorData);
              msg = translated !== raw ? translated : raw;
            } else {
              msg = raw ? t(raw) || raw : t("Failed to fetch data");
            }
          } else {
            const httpMatch = raw.match(/^HTTP error! status: (\d+)/);
            msg = httpMatch ? t("HTTP error! status: {{status}}", { status: httpMatch[1] }) : (raw ? t(raw) : "") || t("Failed to fetch data");
          }
          errorMessage.value = msg;
          playErrorSound();
          setTimeout(() => errorMessage.value = "", 2e3);
        }
      }
    };
    const confirmOverwrite = async () => {
      showOverwriteModal.value = false;
      pendingFetchUsername.value = "";
      pendingFetchParams.value = null;
      await handleFetchMedia(true);
    };
    const cancelOverwrite = () => {
      showOverwriteModal.value = false;
      pendingFetchUsername.value = "";
      pendingFetchParams.value = null;
    };
    const handleLoadFromDatabase = async () => {
      const rawUsername = detectedUsername.value || "";
      if (!rawUsername) {
        errorMessage.value = t("Please visit a profile page for auto-detection");
        playErrorSound();
        setTimeout(() => errorMessage.value = "", 2e3);
        return;
      }
      const cleanUsername = mediaDownloaderAPI.formatUsername(rawUsername);
      isLoadingFromDB.value = true;
      try {
        const fetchMode2 = appOptionsManager.get("fetchMode") ?? "single";
        let accounts;
        if (dateSince.value || dateUntil.value) {
          if (fetchMode2 !== "single") {
            const batchDateRangeAccounts = await mediaDB.accounts.where("username").equals(cleanUsername).filter(
              (acc) => acc.batch_mode === "batch_date_range" && acc.date_since === dateSince.value && acc.date_until === dateUntil.value
            ).reverse().sortBy("cached_at");
            accounts = batchDateRangeAccounts;
          } else {
            const dateRangeAccounts = await mediaDB.accounts.where("username").equals(cleanUsername).filter(
              (acc) => acc.batch_mode === "date_range" && acc.date_since === dateSince.value && acc.date_until === dateUntil.value
            ).reverse().sortBy("cached_at");
            accounts = dateRangeAccounts;
          }
        } else if (fetchMode2 === "single") {
          const singleAccount = await mediaDB.accounts.where("username").equals(cleanUsername).filter((acc) => !acc.batch_mode || acc.batch_mode === "single").reverse().sortBy("cached_at");
          accounts = singleAccount;
        } else {
          const batchAccounts = await mediaDB.accounts.where("username").equals(cleanUsername).filter((acc) => !!(acc.batch_mode && acc.batch_mode !== "single" && acc.batch_mode !== "date_range" && acc.batch_mode !== "batch_date_range")).reverse().sortBy("cached_at");
          accounts = batchAccounts;
        }
        if (accounts.length === 0) {
          return;
        }
        const latestAccount = accounts[0];
        if (latestAccount.date_since || latestAccount.date_until) {
          dateSince.value = latestAccount.date_since || "";
          dateUntil.value = latestAccount.date_until || "";
        }
        accountData.value = {
          account_info: latestAccount.account_info,
          metadata: latestAccount.metadata,
          timeline: latestAccount.timeline
        };
        dashboardState.currentBatchTimeline.value = latestAccount.timeline;
        dashboardState.aggregatedTimeline.value = latestAccount.timeline;
        dashboardState.aggregatedCount.value = latestAccount.timeline.length;
        showAccountInfo.value = true;
        isLoadedFromDB.value = true;
        if (detectedUsername.value) {
          await checkDBData(detectedUsername.value);
        }
      } catch (error) {
        errorMessage.value = t("Failed to load data");
        playErrorSound();
        setTimeout(() => errorMessage.value = "", 2e3);
      } finally {
        isLoadingFromDB.value = false;
      }
    };
    const runAutoLoop = async () => {
      try {
        while (dashboardState.isAutoBatching.value && dashboardState.hasMore.value) {
          try {
            isLoading.value = true;
            const rawUsername = dashboardState.detectedUsername.value || "";
            const authSettings = await mediaDownloaderDB.getAuthSettings();
            if (!rawUsername || !authSettings) break;
            const cleanUsername = mediaDownloaderAPI.formatUsername(rawUsername);
            const timelineType = appOptionsManager.get("timelineType") ?? "media";
            const mediaType2 = appOptionsManager.get("mediaType") ?? "all";
            const batchSize = appOptionsManager.get("batchSize") ?? 100;
            const page = dashboardState.currentPage.value + 1;
            const data = await mediaDownloaderAPI.fetchMediaData(
              cleanUsername,
              authSettings.auth_token,
              authSettings.patreon_auth,
              {
                timelineType,
                batchSize,
                startingBatch: page,
                mediaType: mediaType2,
                dateSince: dateSince.value || void 0,
                dateUntil: dateUntil.value || void 0,
                includeRetweets: appOptionsManager.get("includeRetweets") ?? false
              }
            );
            accountData.value = data;
            dashboardState.currentBatchTimeline.value = data.timeline;
            dashboardState.hasMore.value = Boolean(data?.metadata?.has_more);
            dashboardState.currentPage.value = data?.metadata?.page ?? page;
            const seen = new Set(dashboardState.aggregatedTimeline.value.map((i) => `${i.tweet_id}|${i.url}`));
            const merged = [...dashboardState.aggregatedTimeline.value];
            if (!dashboardState.fetchedPages.value.includes(page)) {
              dashboardState.fetchedPages.value = [...dashboardState.fetchedPages.value, page];
              let newMediaCount = 0;
              for (const item of data.timeline) {
                const key = `${item.tweet_id}|${item.url}`;
                if (!seen.has(key)) {
                  seen.add(key);
                  merged.push(item);
                  newMediaCount++;
                }
              }
              dashboardState.pageMediaCounts.value = {
                ...dashboardState.pageMediaCounts.value,
                [page]: newMediaCount
              };
              dashboardState.aggregatedTimeline.value = merged;
              dashboardState.aggregatedCount.value = merged.length;
              await saveAggregatedData();
            }
          } catch (error) {
            break;
          } finally {
            isLoading.value = false;
          }
        }
      } finally {
        dashboardState.isAutoBatching.value = false;
      }
    };
    const saveAggregatedData = async () => {
      if (!accountData.value) return;
      const fetchMode2 = appOptionsManager.get("fetchMode") ?? "single";
      const rawUsername = detectedUsername.value || "";
      if (fetchMode2 !== "single" && rawUsername && dashboardState.aggregatedTimeline.value.length > 0) {
        try {
          const cleanUsername = mediaDownloaderAPI.formatUsername(rawUsername);
          const timelineType = appOptionsManager.get("timelineType") ?? "media";
          const mediaType2 = appOptionsManager.get("mediaType") ?? "all";
          const actualFetchMode = dateSince.value || dateUntil.value ? "batch_date_range" : fetchMode2;
          const batchIdentifier = `${cleanUsername}_${actualFetchMode}_${Date.now()}`;
          await mediaDownloaderDB.saveAccount({
            username: cleanUsername,
            account_info: accountData.value.account_info,
            metadata: { ...accountData.value.metadata, new_entries: dashboardState.aggregatedCount.value },
            timeline: dashboardState.aggregatedTimeline.value,
            batch_mode: actualFetchMode,
            batch_identifier: batchIdentifier,
            timeline_type: timelineType,
            media_type: mediaType2,
            date_since: dateSince.value || void 0,
            date_until: dateUntil.value || void 0
          });
          await checkDBData(cleanUsername);
        } catch (error) {
        }
      }
    };
    const handleBack = async () => {
      if (accountData.value && !isLoadedFromDB.value) {
        await saveAggregatedData();
      }
      showAccountInfo.value = false;
      accountData.value = null;
      isLoadedFromDB.value = false;
      dashboardState.resetInteractionStates();
    };
    const handleUpdateDataClick = () => {
      showUpdateConfirmModal.value = true;
    };
    const cancelUpdate = () => {
      showUpdateConfirmModal.value = false;
    };
    const confirmUpdate = async () => {
      showUpdateConfirmModal.value = false;
      await handleUpdateData();
    };
    const handleUpdateData = async () => {
      isUpdating.value = true;
      const rawUsername = detectedUsername.value || "";
      if (!rawUsername) {
        errorMessage.value = t("Please visit a profile page for auto-detection");
        playErrorSound();
        setTimeout(() => errorMessage.value = "", 2e3);
        return;
      }
      const authSettings = await mediaDownloaderDB.getAuthSettings();
      if (!authSettings) {
        errorMessage.value = t("Please configure authentication in the Auth tab first");
        playErrorSound();
        setTimeout(() => errorMessage.value = "", 2e3);
        return;
      }
      const cleanUsername = mediaDownloaderAPI.formatUsername(rawUsername);
      const fetchMode2 = appOptionsManager.get("fetchMode") ?? "single";
      const timelineType = appOptionsManager.get("timelineType") ?? "media";
      const mediaType2 = appOptionsManager.get("mediaType") ?? "all";
      const batchSize = appOptionsManager.get("batchSize") ?? 100;
      const startingBatch = appOptionsManager.get("startingBatch") ?? 0;
      const resetBatchState = () => {
        dashboardState.currentPage.value = startingBatch;
        dashboardState.hasMore.value = false;
        dashboardState.isAutoBatching.value = false;
        dashboardState.isPaused.value = false;
        dashboardState.aggregatedTimeline.value = [];
        dashboardState.currentBatchTimeline.value = [];
        dashboardState.aggregatedCount.value = 0;
        dashboardState.fetchedPages.value = [];
        dashboardState.pageMediaCounts.value = {};
      };
      const fetchPage = async (page, reveal = false) => {
        isLoading.value = true;
        errorMessage.value = "";
        try {
          const data = await mediaDownloaderAPI.fetchMediaData(
            cleanUsername,
            authSettings.auth_token,
            authSettings.patreon_auth,
            {
              timelineType,
              batchSize,
              startingBatch: page,
              mediaType: mediaType2,
              fetchMode: fetchMode2,
              dateSince: dateSince.value || void 0,
              dateUntil: dateUntil.value || void 0,
              includeRetweets: appOptionsManager.get("includeRetweets") ?? false
            }
          );
          accountData.value = data;
          dashboardState.currentBatchTimeline.value = data.timeline;
          dashboardState.hasMore.value = Boolean(data?.metadata?.has_more);
          dashboardState.currentPage.value = data?.metadata?.page ?? page;
          const seen = new Set(dashboardState.aggregatedTimeline.value.map((i) => `${i.tweet_id}|${i.url}`));
          const merged = [...dashboardState.aggregatedTimeline.value];
          if (!dashboardState.fetchedPages.value.includes(page)) {
            dashboardState.fetchedPages.value = [...dashboardState.fetchedPages.value, page];
            let newMediaCount = 0;
            for (const item of data.timeline) {
              const key = `${item.tweet_id}|${item.url}`;
              if (!seen.has(key)) {
                seen.add(key);
                merged.push(item);
                newMediaCount++;
              }
            }
            dashboardState.pageMediaCounts.value = {
              ...dashboardState.pageMediaCounts.value,
              [page]: newMediaCount
            };
            dashboardState.aggregatedTimeline.value = merged;
            dashboardState.aggregatedCount.value = merged.length;
          }
          if (reveal) {
            showAccountInfo.value = true;
          }
          try {
            const actualFetchMode = dateSince.value || dateUntil.value ? fetchMode2 !== "single" ? "batch_date_range" : "date_range" : fetchMode2;
            const batchIdentifier = actualFetchMode !== "single" ? `${cleanUsername}_${actualFetchMode}_${Date.now()}` : void 0;
            await mediaDownloaderDB.saveAccount({
              username: cleanUsername,
              account_info: data.account_info,
              metadata: data.metadata,
              timeline: data.timeline,
              batch_mode: actualFetchMode,
              batch_identifier: batchIdentifier,
              timeline_type: timelineType,
              media_type: mediaType2,
              date_since: dateSince.value || void 0,
              date_until: dateUntil.value || void 0
            });
            await checkDBData(cleanUsername);
          } catch {
          }
        } catch (error) {
          const raw = error instanceof Error ? error.message : "";
          const httpMatch = raw.match(/^HTTP error! status: (\d+)/);
          const msg = httpMatch ? t("HTTP error! status: {{status}}", { status: httpMatch[1] }) : (raw ? t(raw) : "") || t("Failed to fetch data");
          errorMessage.value = msg;
          playErrorSound();
          setTimeout(() => errorMessage.value = "", 2e3);
          throw error;
        } finally {
          isLoading.value = false;
        }
      };
      try {
        resetBatchState();
        isLoadedFromDB.value = false;
        if (fetchMode2 === "single") {
          await fetchPage(startingBatch, true);
        } else if (fetchMode2 === "batch") {
          await fetchPage(startingBatch, true);
        } else {
          dashboardState.isAutoBatching.value = true;
          await fetchPage(startingBatch, true);
          await runAutoLoop();
        }
      } catch {
      } finally {
        isUpdating.value = false;
      }
    };
    const handleDownloadMedia = async () => {
      if (!accountData.value) return;
      playClickSound();
      try {
        dashboardState.downloadingType.value = "all";
        isDownloading.value = true;
        downloadError.value = "";
        downloadProgress.value = 0;
        const aggregatedTimeline = dashboardState.aggregatedTimeline.value.length > 0 ? dashboardState.aggregatedTimeline.value : accountData.value.timeline;
        const account = {
          username: accountData.value.account_info.name,
          account_info: accountData.value.account_info,
          metadata: accountData.value.metadata,
          timeline: aggregatedTimeline,
          cached_at: Date.now(),
          date_since: dateSince.value || void 0,
          date_until: dateUntil.value || void 0
        };
        const fetchMode2 = appOptionsManager.get("fetchMode") ?? "single";
        const actualMode = dateSince.value || dateUntil.value ? "date_range" : fetchMode2;
        const batchInfo = actualMode !== "single" ? { mode: actualMode } : void 0;
        await mediaDownloader.downloadAccountMedia(account, (progress) => {
          downloadProgress.value = progress.percentage;
          isConverting.value = progress.converting || false;
          currentFile.value = progress.currentFile || "";
          dashboardState.downloadCurrent.value = progress.current;
          dashboardState.downloadTotal.value = progress.total;
        }, batchInfo);
        playSuccessSound();
      } catch (error) {
        const raw = error instanceof Error ? error.message : "";
        const httpMatch = raw.match(/^HTTP error! status: (\d+)/);
        const msg = httpMatch ? t("HTTP error! status: {{status}}", { status: httpMatch[1] }) : (raw ? t(raw) : "") || t("Failed to download media");
        downloadError.value = msg;
        playErrorSound();
        setTimeout(() => downloadError.value = "", 2e3);
      } finally {
        dashboardState.downloadingType.value = null;
        isDownloading.value = false;
        downloadProgress.value = 0;
        isConverting.value = false;
        currentFile.value = "";
        dashboardState.downloadCurrent.value = 0;
        dashboardState.downloadTotal.value = 0;
      }
    };
    const handleDownloadCurrent = async () => {
      if (!accountData.value) return;
      playClickSound();
      try {
        dashboardState.downloadingType.value = "current";
        isDownloading.value = true;
        downloadError.value = "";
        downloadProgress.value = 0;
        const currentTimeline = dashboardState.currentBatchTimeline.value.length > 0 ? dashboardState.currentBatchTimeline.value : accountData.value.timeline;
        const account = {
          username: accountData.value.account_info.name,
          account_info: accountData.value.account_info,
          metadata: accountData.value.metadata,
          timeline: currentTimeline,
          cached_at: Date.now(),
          date_since: dateSince.value || void 0,
          date_until: dateUntil.value || void 0
        };
        const fetchMode2 = appOptionsManager.get("fetchMode") ?? "single";
        const currentPage = dashboardState.currentPage.value;
        const actualMode = dateSince.value || dateUntil.value ? "date_range" : fetchMode2;
        const batchInfo = actualMode !== "single" ? { mode: actualMode, page: currentPage } : void 0;
        await mediaDownloader.downloadAccountMedia(account, (progress) => {
          downloadProgress.value = progress.percentage;
          isConverting.value = progress.converting || false;
          currentFile.value = progress.currentFile || "";
          dashboardState.downloadCurrent.value = progress.current;
          dashboardState.downloadTotal.value = progress.total;
        }, batchInfo);
        playSuccessSound();
      } catch (error) {
        const raw = error instanceof Error ? error.message : "";
        const httpMatch = raw.match(/^HTTP error! status: (\d+)/);
        const msg = httpMatch ? t("HTTP error! status: {{status}}", { status: httpMatch[1] }) : (raw ? t(raw) : "") || t("Failed to download media");
        downloadError.value = msg;
        playErrorSound();
        setTimeout(() => downloadError.value = "", 2e3);
      } finally {
        dashboardState.downloadingType.value = null;
        isDownloading.value = false;
        downloadProgress.value = 0;
        isConverting.value = false;
        currentFile.value = "";
        dashboardState.downloadCurrent.value = 0;
        dashboardState.downloadTotal.value = 0;
      }
    };
    const handlePrevBatch = async () => {
      const page = dashboardState.currentPage.value;
      if (page <= 0) return;
      const p = page - 1;
      await handleNavigateBatch(p);
    };
    const handleNextBatch = async () => {
      const p = dashboardState.currentPage.value + 1;
      await handleNavigateBatch(p);
    };
    const handleNavigateBatch = async (page) => {
      const rawUsername = dashboardState.detectedUsername.value || "";
      const authSettings = await mediaDownloaderDB.getAuthSettings();
      if (!rawUsername || !authSettings) return;
      const cleanUsername = mediaDownloaderAPI.formatUsername(rawUsername);
      const timelineType = appOptionsManager.get("timelineType") ?? "media";
      const mediaType2 = appOptionsManager.get("mediaType") ?? "all";
      const batchSize = appOptionsManager.get("batchSize") ?? 100;
      try {
        isLoading.value = true;
        const data = await mediaDownloaderAPI.fetchMediaData(
          cleanUsername,
          authSettings.auth_token,
          authSettings.patreon_auth,
          {
            timelineType,
            batchSize,
            startingBatch: page,
            mediaType: mediaType2,
            dateSince: dateSince.value || void 0,
            dateUntil: dateUntil.value || void 0
          }
        );
        accountData.value = data;
        dashboardState.currentBatchTimeline.value = data.timeline;
        dashboardState.hasMore.value = Boolean(data?.metadata?.has_more);
        dashboardState.currentPage.value = data?.metadata?.page ?? page;
        const seen = new Set(dashboardState.aggregatedTimeline.value.map((i) => `${i.tweet_id}|${i.url}`));
        const merged = [...dashboardState.aggregatedTimeline.value];
        if (!dashboardState.fetchedPages.value.includes(page)) {
          dashboardState.fetchedPages.value = [...dashboardState.fetchedPages.value, page];
          let newMediaCount = 0;
          for (const item of data.timeline) {
            const key = `${item.tweet_id}|${item.url}`;
            if (!seen.has(key)) {
              seen.add(key);
              merged.push(item);
              newMediaCount++;
            }
          }
          dashboardState.pageMediaCounts.value = {
            ...dashboardState.pageMediaCounts.value,
            [page]: newMediaCount
          };
          dashboardState.aggregatedTimeline.value = merged;
          dashboardState.aggregatedCount.value = merged.length;
          await saveAggregatedData();
        }
      } catch (error) {
      } finally {
        isLoading.value = false;
        dashboardState.loadingDirection.value = null;
      }
    };
    const handleStartStop = async () => {
      playClickSound();
      const running = dashboardState.isAutoBatching.value;
      if (running) {
        dashboardState.isAutoBatching.value = false;
      } else {
        dashboardState.isAutoBatching.value = true;
        await runAutoLoop();
      }
    };
    if (showAccountInfo.value && accountData.value) {
      const account = accountData.value.account_info;
      const metadata = accountData.value.metadata;
      return u(preact.Fragment, { children: [
u("div", { class: "space-y-6", children: [
u("div", { class: "flex items-center gap-4 mb-6", children: [
u("div", { class: "flex items-center gap-2", children: [
u("button", { class: "btn btn-sm", onClick: handleBack, children: [
u(IconChevronLeft, { size: 16 }),
                t("Back")
              ] }),
              (isLoadedFromDB.value || isUpdating.value) && u("button", { class: "btn btn-accent btn-sm", onClick: handleUpdateDataClick, disabled: isLoading.value, children: isLoading.value && isUpdating.value ? u(preact.Fragment, { children: [
u("span", { class: "loading loading-spinner loading-xs" }),
                t("Updating...")
              ] }) : u(preact.Fragment, { children: [
u(IconCloudUp, { size: 16 }),
                t("Update")
              ] }) })
            ] }),
u("div", { class: "ml-auto flex items-center gap-2", children: (() => {
              if (isLoadedFromDB.value) {
                return null;
              }
              const page = dashboardState.currentPage.value;
              const isPrevLoading = isLoading.value && dashboardState.loadingDirection.value === "prev";
              const isNextLoading = isLoading.value && dashboardState.loadingDirection.value === "next";
              if (fetchMode.value === "batch") {
                return u(preact.Fragment, { children: [
u("button", { class: "btn btn-primary btn-sm", onClick: () => {
                    dashboardState.loadingDirection.value = "prev";
                    handlePrevBatch();
                  }, disabled: isLoading.value || page <= 0, children: [
                    isPrevLoading ? u("span", { class: "loading loading-spinner loading-xs" }) : u(IconChevronLeft, { size: 16 }),
                    t("Prev")
                  ] }),
u("button", { class: "btn btn-primary btn-sm", onClick: () => {
                    dashboardState.loadingDirection.value = "next";
                    handleNextBatch();
                  }, disabled: isLoading.value || !dashboardState.hasMore.value, children: [
                    isNextLoading ? u("span", { class: "loading loading-spinner loading-xs" }) : u(IconChevronRight, { size: 16 }),
                    t("Next")
                  ] })
                ] });
              }
              if (fetchMode.value === "auto") {
                const running = dashboardState.isAutoBatching.value;
                return u(preact.Fragment, { children: u("button", { class: "btn btn-secondary btn-sm", onClick: handleStartStop, children: [
                  isLoading.value ? u("span", { class: "loading loading-spinner loading-xs" }) : running ? u(IconPlayerStop, { size: 16 }) : u(IconPlayerPlay, { size: 16 }),
                  running ? t("Stop") : t("Start")
                ] }) });
              }
              return null;
            })() })
          ] }),
u("div", { class: "card bg-base-200 card-border", children: u("div", { class: "card-body p-4", children: u("div", { class: "flex items-center gap-4", children: [
u("div", { class: "avatar", children: u("div", { class: "w-16 rounded-box", children: u(
              "img",
              {
                src: account.profile_image,
                alt: account.nick,
                onError: (e) => {
                  const target = e.target;
                  target.src = 'data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="gray"%3E%3Ccircle cx="12" cy="12" r="10"/%3E%3C/svg%3E';
                }
              }
            ) }) }),
u("div", { class: "grow", children: [
u("div", { class: "flex items-center gap-2 flex-wrap", children: [
u("h3", { class: "font-semibold text-base", children: account.nick }),
                (() => {
                  if (isLoadedFromDB.value) {
                    return null;
                  }
                  const hasDateRange = metadata?.date_range || dateSince.value || dateUntil.value;
                  if (!hasDateRange) {
                    const page = dashboardState.currentPage.value;
                    if (fetchMode.value === "batch") {
                      return u("div", { class: "badge badge-soft badge-primary badge-sm", children: isLoading.value ? t("Fetching...") : t("Batch: {{page}}", { page }) });
                    }
                    if (fetchMode.value === "auto") {
                      return u("div", { class: "badge badge-soft badge-secondary badge-sm", children: isLoading.value ? t("Fetching...") : t("Batch: {{page}}", { page }) });
                    }
                  }
                  return null;
                })(),
                metadata?.date_range && u("div", { class: "badge badge-soft badge-info badge-sm", children: [
                  metadata.date_range.since.replace(/-/g, ""),
                  " - ",
                  metadata.date_range.until.replace(/-/g, "")
                ] }),
                (dateSince.value || dateUntil.value) && !metadata?.date_range && u("div", { class: "badge badge-soft badge-info badge-sm", children: [
                  (dateSince.value || "none").replace(/-/g, ""),
                  " - ",
                  (dateUntil.value || "none").replace(/-/g, "")
                ] })
              ] }),
u("p", { class: "text-sm opacity-70", children: [
                "@",
                account.name
              ] }),
u("p", { class: "text-sm opacity-50 mt-1", children: [
                t("Posts: {{posts}}", { posts: account.statuses_count.toLocaleString() }),
                " • ",
                (() => {
                  if (isLoadedFromDB.value) {
                    return t("Media: {{media}}", { media: metadata.new_entries.toLocaleString() });
                  }
                  if (fetchMode.value !== "single") {
                    const currentCount = dashboardState.currentBatchTimeline.value?.length || 0;
                    const currentPage = dashboardState.currentPage.value;
                    const pageMediaCounts = dashboardState.pageMediaCounts.value;
                    const fetchedPages = dashboardState.fetchedPages.value;
                    const relevantPages = fetchedPages.filter((p) => p <= currentPage);
                    const totalCount = relevantPages.reduce((sum, page) => {
                      return sum + (pageMediaCounts[page] || 0);
                    }, 0);
                    return t("Current Media: {{current}} • Total Media: {{total}}", {
                      current: currentCount.toLocaleString(),
                      total: totalCount.toLocaleString()
                    });
                  }
                  return t("Media: {{media}}", { media: metadata.new_entries.toLocaleString() });
                })()
              ] })
            ] })
          ] }) }) }),
u("div", { class: "space-y-4", children: [
            isDownloading.value && u("div", { class: "space-y-2", children: [
u("div", { class: "flex justify-between text-sm", children: [
u("span", { children: [
                  isConverting.value ? t("Converting GIFs...") : t("Downloading..."),
                  downloadTotal.value > 0 && ` (${downloadCurrent.value.toLocaleString()}/${downloadTotal.value.toLocaleString()})`
                ] }),
u("span", { children: [
                  downloadProgress.value,
                  "%"
                ] })
              ] }),
u("progress", { class: "progress progress-primary w-full", value: downloadProgress.value, max: "100" }),
              currentFile.value && u("div", { class: "text-xs opacity-70 truncate", children: currentFile.value })
            ] }),
u("div", { class: "flex justify-center gap-2", children: isDownloading.value ? u(
              "button",
              {
                class: "btn btn-error btn-sm",
                onClick: () => mediaDownloader.abortDownload(),
                children: [
u(IconPlayerStop, { size: 16 }),
                  t("Stop")
                ]
              }
            ) : u(preact.Fragment, { children: [
              (() => {
                if (isLoadedFromDB.value) {
                  return null;
                }
                if (fetchMode.value !== "single") {
                  const currentCount = dashboardState.currentBatchTimeline.value?.length || 0;
                  return u(
                    "button",
                    {
                      class: "btn btn-sm",
                      onClick: handleDownloadCurrent,
                      disabled: currentCount === 0,
                      children: [
u(IconDownload, { size: 16 }),
                        t("Download Current")
                      ]
                    }
                  );
                }
                return null;
              })(),
              (() => {
                const labelKey = fetchMode.value === "single" ? "Download" : "Download All";
                return u(
                  "button",
                  {
                    class: "btn btn-neutral btn-sm",
                    onClick: handleDownloadMedia,
                    disabled: (dashboardState.aggregatedCount.value || metadata.new_entries) === 0,
                    children: [
u(IconDownload, { size: 16 }),
                      t(labelKey)
                    ]
                  }
                );
              })()
            ] }) }),
            downloadError.value && u("div", { role: "alert", class: "alert alert-error alert-soft", children: [
u(IconCircleX, { size: 20 }),
u("span", { dir: isArabic ? "rtl" : void 0, children: downloadError.value })
            ] })
          ] })
        ] }),
u(Modal, { show: showUpdateConfirmModal.value, onClose: cancelUpdate, title: t("Update"), class: "max-w-sm", children: u("div", { class: "space-y-2", children: [
u("p", { class: `text-sm${isArabic ? " text-right" : ""}`, dir: isArabic ? "rtl" : void 0, children: t("Update will fetch the latest data and overwrite the database. Continue?") }),
u("div", { class: "modal-action", children: [
u(
              "button",
              {
                class: "btn btn-sm btn-ghost",
                onClick: cancelUpdate,
                children: t("Cancel")
              }
            ),
u(
              "button",
              {
                class: "btn btn-sm btn-warning",
                onClick: confirmUpdate,
                children: [
u(IconCloudUp, { size: 16 }),
                  t("Update")
                ]
              }
            )
          ] })
        ] }) })
      ] });
    }
    const handleExternalConvert = async () => {
      const rawUsername = detectedUsername.value || "";
      if (!rawUsername) {
        errorMessage.value = t("Please visit a profile page for auto-detection");
        setTimeout(() => errorMessage.value = "", 2e3);
        return;
      }
      const authSettings = await mediaDownloaderDB.getAuthSettings();
      if (!authSettings) {
        errorMessage.value = t("Please configure authentication in the Auth tab first");
        setTimeout(() => errorMessage.value = "", 2e3);
        return;
      }
      const cleanUsername = mediaDownloaderAPI.formatUsername(rawUsername);
      if (!mediaDownloaderAPI.validateUsername(cleanUsername)) {
        errorMessage.value = t("Invalid username format");
        setTimeout(() => errorMessage.value = "", 2e3);
        return;
      }
      const patreonAuth = authSettings.patreon_auth || "";
      const authToken = authSettings.auth_token || "";
      if (!patreonAuth || !authToken) {
        errorMessage.value = t("Please configure authentication in the Auth tab first");
        setTimeout(() => errorMessage.value = "", 2e3);
        return;
      }
      let url;
      if (patreonAuth.trim() === "xbatchdemo") {
        url = `https://convert.exyezed.cc/demo/xbatchdemo/${encodeURIComponent(authToken)}/xbatchdemo`;
      } else {
        url = `https://convert.exyezed.cc/${encodeURIComponent(patreonAuth)}/${encodeURIComponent(authToken)}/${encodeURIComponent(cleanUsername)}`;
      }
      window.open(url, "_blank", "noopener,noreferrer");
    };
    return u("div", { class: "space-y-4", children: [
u("div", { class: "space-y-4", children: [
        isRetrying.value && u("div", { role: "alert", class: "alert alert-info alert-soft", children: [
u("span", { class: "loading loading-spinner loading-sm" }),
u("span", { dir: isArabic ? "rtl" : void 0, children: [
            t("Generating token..."),
            " ",
            retryTokenTotal.value > 0 && `(${retryTokenCurrent.value}/${retryTokenTotal.value})`
          ] })
        ] }),
u("div", { role: "alert", class: `alert alert-soft ${!authState.patreonVerified.value ? "alert-warning" : "alert-info"}`, children: [
          !authState.patreonVerified.value ? u(IconAlertTriangle, { size: 20 }) : u(IconUserFilled, { size: 20 }),
u("div", { class: "flex-1", dir: isArabic ? "rtl" : void 0, children: !authState.patreonVerified.value ? u("div", { children: t("Please verify Patreon auth first") }) : detectedUsername.value ? u("div", { children: u("span", { dir: "ltr", children: [
            "@",
            detectedUsername.value
          ] }) }) : u("div", { class: "font-semibold", children: t("Please visit a profile page for auto-detection") }) }),
          detectedUsername.value && hasDBData.value && authState.patreonVerified.value && u("div", { class: "tooltip tooltip-left", "data-tip": t("Load from database"), children: u(
            "button",
            {
              class: "btn btn-sm btn-square btn-soft btn-info",
              onClick: handleLoadFromDatabase,
              disabled: isLoadingFromDB.value || !detectedUsername.value,
              "aria-label": t("Load from database"),
              children: isLoadingFromDB.value ? u("span", { class: "loading loading-spinner loading-xs" }) : u(IconDatabaseImport, { size: 16 })
            }
          ) })
        ] }),
u("div", { class: "relative", children: [
          (dateSince.value || dateUntil.value) && u(
            "button",
            {
              class: "btn btn-circle btn-xs btn-error absolute -top-2 -right-2 z-10",
              onClick: () => {
                dateSince.value = "";
                dateUntil.value = "";
              },
              "aria-label": "Clear dates",
              children: u(IconX, { size: 12 })
            }
          ),
u("div", { class: "card bg-base-200 card-border", children: u("div", { class: "card-body p-4", children: [
u("div", { class: "grid grid-cols-2 gap-3", children: [
u("div", { class: "form-control", children: [
u("label", { class: "label py-1", children: u("span", { class: "label-text text-xs", children: t("Date Since") }) }),
u(
                  "input",
                  {
                    type: "date",
                    class: "input input-sm input-bordered w-full",
                    value: dateSince.value,
                    onInput: (e) => {
                      dateSince.value = e.target.value;
                    },
                    placeholder: "YYYY-MM-DD"
                  }
                )
              ] }),
u("div", { class: "form-control", children: [
u("label", { class: "label py-1", children: u("span", { class: "label-text text-xs", children: t("Date Until") }) }),
u(
                  "input",
                  {
                    type: "date",
                    class: "input input-sm input-bordered w-full",
                    value: dateUntil.value,
                    onInput: (e) => {
                      dateUntil.value = e.target.value;
                    },
                    placeholder: "YYYY-MM-DD"
                  }
                )
              ] })
            ] }),
            (dateSince.value || dateUntil.value) && u("div", { class: "flex items-center gap-1 text-xs opacity-60 mt-1", children: [
u(IconInfoCircle, { size: 14 }),
u("span", { children: t("Empty dates will fetch all available media") })
            ] })
          ] }) })
        ] }),
u("div", { class: "flex justify-center", children: u("div", { class: "join", children: [
u(
            "button",
            {
              class: `btn btn-sm join-item ${isRetrying.value ? "btn-error" : "btn-neutral"}`,
              onClick: () => isRetrying.value ? stopRetry() : handleFetchMedia(),
              disabled: isLoading.value && !isRetrying.value || !detectedUsername.value || !authState.patreonVerified.value,
              children: (() => {
                if (isRetrying.value) {
                  return u(preact.Fragment, { children: [
u(IconPlayerStop, { size: 16 }),
                    t("Abort")
                  ] });
                }
                const fetchKey = mediaType.value === "all" ? "Fetch All" : mediaType.value === "video" ? "Fetch Video" : mediaType.value === "image" ? "Fetch Image" : mediaType.value === "gif" ? "Fetch GIF" : "Fetch";
                if (isLoading.value) {
                  return u(preact.Fragment, { children: [
u("span", { class: "loading loading-spinner loading-xs" }),
                    t("Fetching...")
                  ] });
                }
                return u(preact.Fragment, { children: [
u(IconCloudDown, { size: 16 }),
                  t(fetchKey)
                ] });
              })()
            }
          ),
          convertGifsExternal.value ? u(
            "button",
            {
              class: "btn btn-accent btn-sm join-item",
              onClick: handleExternalConvert,
              disabled: !detectedUsername.value || !authState.patreonVerified.value,
              children: [
u(IconPhotoEdit, { size: 16 }),
                t("Convert Animated GIFs")
              ]
            }
          ) : null
        ] }) }),
        errorMessage.value && u("div", { role: "alert", class: "alert alert-error alert-soft", children: [
u(IconCircleX, { size: 20 }),
u("span", { dir: isArabic ? "rtl" : void 0, children: errorMessage.value })
        ] })
      ] }),
u(Modal, { show: showOverwriteModal.value, onClose: cancelOverwrite, title: t("Overwrite Existing Data?"), class: "max-w-sm", children: u("div", { class: "space-y-2", children: [
u("p", { class: `text-sm${isArabic ? " text-right" : ""}`, dir: isArabic ? "rtl" : void 0, children: t("Account data for @{{username}} already exists in the database. Do you want to overwrite it?", { username: pendingFetchUsername.value }) }),
u("div", { class: "modal-action", children: [
u(
            "button",
            {
              class: "btn btn-sm btn-ghost",
              onClick: cancelOverwrite,
              children: t("Cancel")
            }
          ),
u(
            "button",
            {
              class: "btn btn-sm btn-warning",
              onClick: confirmOverwrite,
              children: [
u(IconWriting, { size: 16 }),
                t("Overwrite")
              ]
            }
          )
        ] })
      ] }) })
    ] });
  }
  function ViewDatabaseModal({ isOpen, onClose, account, onDeleteEntry, onLoadDatabase }) {
    const { t } = useTranslation();
    const typeFilter = signals.useSignal("all");
    const currentPage = signals.useSignal(1);
    const deletingEntry = signals.useSignal("");
    const previewUrl = signals.useSignal("");
    const previewType = signals.useSignal("");
    const previewIndex = signals.useSignal(-1);
    const touchStartX = hooks.useRef(0);
    const touchEndX = hooks.useRef(0);
    const previousAccountId = hooks.useRef(void 0);
    const downloadingFiles = signals.useSignal( new Set());
    const convertingFiles = signals.useSignal( new Set());
    hooks.useEffect(() => {
      if (account?.id !== previousAccountId.current) {
        typeFilter.value = "all";
        currentPage.value = 1;
        previousAccountId.current = account?.id;
      }
    }, [account?.id]);
    if (!account) return null;
    const ITEMS_PER_PAGE = 5;
    const filteredTimeline = typeFilter.value === "all" ? account.timeline : account.timeline.filter((item) => item.type === typeFilter.value);
    const totalPages = Math.ceil(filteredTimeline.length / ITEMS_PER_PAGE);
    const startIndex = (currentPage.value - 1) * ITEMS_PER_PAGE;
    const endIndex = startIndex + ITEMS_PER_PAGE;
    const currentItems = filteredTimeline.slice(startIndex, endIndex);
    const handleTypeFilter = (type) => {
      typeFilter.value = type;
      currentPage.value = 1;
    };
    const handleOpenFile = (url) => {
      window.open(url, "_blank", "noopener,noreferrer");
    };
    const handleDownloadFile = async (url, date, type, tweetId) => {
      const fileKey = `${tweetId}_${url}`;
      if (downloadingFiles.value.has(fileKey)) {
        return;
      }
      try {
        downloadingFiles.value = new Set([...downloadingFiles.value, fileKey]);
        const shouldConvertGif = type === "animated_gif" && (appOptionsManager.get("convertAnimatedGifs") ?? true);
        let finalBlob;
        let ext = "jpg";
        if (shouldConvertGif) {
          convertingFiles.value = new Set([...convertingFiles.value, fileKey]);
          try {
            const gifBlob = await convertVideoToGif(url);
            if (gifBlob) {
              finalBlob = gifBlob;
              ext = "gif";
            } else {
              const response = await fetch(url);
              finalBlob = await response.blob();
              ext = "mp4";
            }
          } catch (error) {
            const response = await fetch(url);
            finalBlob = await response.blob();
            ext = "mp4";
          } finally {
            convertingFiles.value = new Set([...convertingFiles.value].filter((k) => k !== fileKey));
          }
        } else {
          const response = await fetch(url);
          finalBlob = await response.blob();
          if (type === "photo") {
            const photoMatch = url.match(/format=(\w+)/);
            ext = photoMatch?.[1] || "jpg";
          } else if (type === "video") {
            ext = "mp4";
          } else if (type === "animated_gif") {
            ext = "mp4";
          }
        }
        const formatDateForFilename = (dateStr2) => {
          const m = dateStr2.match(/(\d{4})-(\d{2})-(\d{2}).*?(\d{2}):(\d{2}):(\d{2})/);
          if (m) {
            const [, y, mo, d, h2, mi, s] = m;
            return `${y}${mo}${d}_${h2}${mi}${s}`;
          }
          const d2 = new Date(dateStr2);
          if (!isNaN(d2.getTime())) {
            const pad = (n) => String(n).padStart(2, "0");
            return `${d2.getFullYear()}${pad(d2.getMonth() + 1)}${pad(d2.getDate())}_${pad(d2.getHours())}${pad(d2.getMinutes())}${pad(d2.getSeconds())}`;
          }
          return dateStr2.replace(/\D/g, "");
        };
        const dateStr = formatDateForFilename(date);
        const filename = `${account.username}_${dateStr}_${tweetId}.${ext}`;
        const link = document.createElement("a");
        link.href = URL.createObjectURL(finalBlob);
        link.download = filename;
        document.body.appendChild(link);
        link.click();
        document.body.removeChild(link);
        URL.revokeObjectURL(link.href);
      } catch (error) {
      } finally {
        downloadingFiles.value = new Set([...downloadingFiles.value].filter((k) => k !== fileKey));
      }
    };
    const convertVideoToGif = (videoUrl) => {
      return new Promise((resolve) => {
        if (!gifshot.isExistingVideoGIFSupported()) {
          resolve(null);
          return;
        }
        const gifOptions = getGifShotOptions();
        {
          getVideoDimensions(videoUrl).then(({ width, height }) => {
            gifshot.createGIF({
              video: videoUrl,
              gifWidth: width,
              gifHeight: height,
              ...gifOptions
            }, (obj) => {
              handleGifConversionResult(obj, resolve);
            });
          }).catch((error) => {
            gifshot.createGIF({
              video: videoUrl,
              ...gifOptions
            }, (obj) => {
              handleGifConversionResult(obj, resolve);
            });
          });
        }
      });
    };
    const handleGifConversionResult = (obj, resolve) => {
      if (obj.error) {
        resolve(null);
      } else if (obj.image) {
        try {
          const dataUrl = obj.image;
          const base64Data = dataUrl.split(",")[1];
          if (!base64Data) {
            resolve(null);
            return;
          }
          const byteCharacters = atob(base64Data);
          const byteNumbers = new Array(byteCharacters.length);
          for (let i = 0; i < byteCharacters.length; i++) {
            byteNumbers[i] = byteCharacters.charCodeAt(i);
          }
          const byteArray = new Uint8Array(byteNumbers);
          const blob = new Blob([byteArray], { type: "image/gif" });
          resolve(blob);
        } catch (error) {
          resolve(null);
        }
      } else {
        resolve(null);
      }
    };
    const getVideoDimensions = (videoUrl) => {
      return new Promise((resolve, reject) => {
        const video = document.createElement("video");
        video.crossOrigin = "anonymous";
        video.onloadedmetadata = () => {
          const width = video.videoWidth;
          const height = video.videoHeight;
          video.remove();
          if (width && height) {
            resolve({ width, height });
          } else {
            reject(new Error("Could not determine video dimensions"));
          }
        };
        video.onerror = () => {
          video.remove();
          reject(new Error("Failed to load video for dimension detection"));
        };
        video.src = videoUrl;
      });
    };
    const handleDeleteEntry = async (tweetId, url) => {
      const key = `${tweetId}|${url}`;
      deletingEntry.value = key;
      try {
        await onDeleteEntry(tweetId, url);
      } finally {
        deletingEntry.value = "";
      }
    };
    const getTypeIcon = (type) => {
      switch (type) {
        case "photo":
          return u(IconPhoto, { size: 16 });
        case "video":
          return u(IconVideo, { size: 16 });
        case "animated_gif":
          return u(IconGif, { size: 16 });
        default:
          return null;
      }
    };
    const formatDate = (timestamp) => {
      const fmt = appOptionsManager.get("dateTimeFormat") || "YYYY-MM-DD HH:mm:ss";
      return dayjs(timestamp).format(fmt);
    };
    const formatTimeAgo = (timestamp) => {
      const now = dayjs();
      const then = dayjs(timestamp);
      const diff = now.diff(then, "second");
      const years = Math.floor(diff / (365 * 24 * 60 * 60));
      const days = Math.floor(diff % (365 * 24 * 60 * 60) / (24 * 60 * 60));
      const hours = Math.floor(diff % (24 * 60 * 60) / (60 * 60));
      const minutes = Math.floor(diff % (60 * 60) / 60);
      const seconds = diff % 60;
      const parts = [];
      if (years > 0) parts.push(`${years}y`);
      if (days > 0) parts.push(`${days}d`);
      if (hours > 0) parts.push(`${hours}h`);
      if (minutes > 0) parts.push(`${minutes}m`);
      if (seconds > 0 && parts.length === 0) parts.push(`${seconds}s`);
      return parts.slice(0, 2).join(" ") + " ago";
    };
    const handleSwipeLeft = () => {
      if (previewIndex.value < filteredTimeline.length - 1) {
        const nextItem = filteredTimeline[previewIndex.value + 1];
        if (nextItem) {
          previewIndex.value = previewIndex.value + 1;
          previewUrl.value = nextItem.url;
          previewType.value = nextItem.type;
        }
      }
    };
    const handleSwipeRight = () => {
      if (previewIndex.value > 0) {
        const prevItem = filteredTimeline[previewIndex.value - 1];
        if (prevItem) {
          previewIndex.value = previewIndex.value - 1;
          previewUrl.value = prevItem.url;
          previewType.value = prevItem.type;
        }
      }
    };
    const handleTouchStart = (e) => {
      if (e.touches[0]) {
        touchStartX.current = e.touches[0].clientX;
        touchEndX.current = e.touches[0].clientX;
      }
    };
    const handleTouchMove = (e) => {
      if (e.touches[0]) {
        touchEndX.current = e.touches[0].clientX;
      }
    };
    const handleTouchEnd = () => {
      if (touchStartX.current === 0 || touchEndX.current === 0) {
        touchStartX.current = 0;
        touchEndX.current = 0;
        return;
      }
      const swipeThreshold = 50;
      const diff = touchStartX.current - touchEndX.current;
      if (Math.abs(diff) > swipeThreshold) {
        if (diff > 0) {
          handleSwipeLeft();
        } else {
          handleSwipeRight();
        }
      }
      touchStartX.current = 0;
      touchEndX.current = 0;
    };
    hooks.useEffect(() => {
      if (!previewUrl.value) return;
      const handleKeyDown = (e) => {
        if (e.key === "ArrowLeft" && previewIndex.value > 0) {
          const prevItem = filteredTimeline[previewIndex.value - 1];
          if (prevItem) {
            previewIndex.value = previewIndex.value - 1;
            previewUrl.value = prevItem.url;
            previewType.value = prevItem.type;
          }
        } else if (e.key === "ArrowRight" && previewIndex.value < filteredTimeline.length - 1) {
          const nextItem = filteredTimeline[previewIndex.value + 1];
          if (nextItem) {
            previewIndex.value = previewIndex.value + 1;
            previewUrl.value = nextItem.url;
            previewType.value = nextItem.type;
          }
        } else if (e.key === "Escape") {
          previewUrl.value = "";
          previewType.value = "";
          previewIndex.value = -1;
        }
      };
      window.addEventListener("keydown", handleKeyDown);
      return () => window.removeEventListener("keydown", handleKeyDown);
    }, [previewUrl.value, previewIndex.value, filteredTimeline]);
    return u(preact.Fragment, { children: [
u(Modal, { show: isOpen, onClose, title: t("Database"), children: u("div", { class: "space-y-4", children: [
u("div", { class: "card bg-base-200 border border-base-300", children: u("div", { class: "card-body p-4", children: u("div", { class: "flex items-center gap-4", children: [
u("div", { class: "avatar", children: u("div", { class: "w-16 rounded-box", children: u(
            "img",
            {
              src: account.account_info.profile_image,
              alt: account.account_info.nick,
              onError: (e) => {
                const target = e.target;
                target.src = 'data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="gray"%3E%3Ccircle cx="12" cy="12" r="10"/%3E%3C/svg%3E';
              }
            }
          ) }) }),
u("div", { class: "grow", children: [
u("h3", { class: "font-semibold text-base", children: [
              account.account_info.nick,
              " ",
u("span", { class: "font-normal opacity-70", children: [
                "(@",
                account.username,
                ")"
              ] })
            ] }),
u("p", { class: "text-xs opacity-60 mb-1", children: [
u("span", { class: "font-bold", children: t("Joined") }),
              " ",
              formatDateTime(account.account_info.date, appOptionsManager.get("dateTimeFormat") || "YYYY-MM-DD HH:mm:ss")
            ] }),
u("div", { class: "flex gap-3 text-xs opacity-60", children: [
u("span", { children: [
u("span", { class: "font-bold", children: account.account_info.statuses_count.toLocaleString() }),
                " ",
                t("Posts")
              ] }),
u("span", { children: [
u("span", { class: "font-bold", children: account.account_info.followers_count.toLocaleString() }),
                " ",
                t("Followers")
              ] }),
u("span", { children: [
u("span", { class: "font-bold", children: account.account_info.friends_count.toLocaleString() }),
                " ",
                t("Following")
              ] })
            ] })
          ] }),
          onLoadDatabase && u("div", { class: "tooltip tooltip-left", "data-tip": t("Load database"), children: u(
            "button",
            {
              class: "btn btn-sm btn-square btn-soft btn-info",
              onClick: onLoadDatabase,
              "aria-label": t("Load database"),
              children: u(IconDatabaseImport, { size: 16 })
            }
          ) })
        ] }) }) }),
u("div", { class: "flex items-center gap-2 justify-between", children: [
u("div", { class: "flex items-center gap-2", children: [
u("div", { class: "tooltip", "data-tip": `${t("All")} (${account.timeline.length.toLocaleString()})`, children: u(
              "button",
              {
                class: `btn btn-sm btn-square ${typeFilter.value === "all" ? "btn-neutral" : "btn-ghost"}`,
                onClick: () => handleTypeFilter("all"),
                "aria-label": t("All"),
                children: u(IconLibraryPhoto, { size: 18 })
              }
            ) }),
u("div", { class: "tooltip", "data-tip": `${t("Image")} (${account.timeline.filter((i) => i.type === "photo").length.toLocaleString()})`, children: u(
              "button",
              {
                class: `btn btn-sm btn-square ${typeFilter.value === "photo" ? "btn-primary" : "btn-ghost"}`,
                onClick: () => handleTypeFilter("photo"),
                "aria-label": t("Image"),
                children: u(IconPhoto, { size: 18 })
              }
            ) }),
u("div", { class: "tooltip", "data-tip": `${t("Video")} (${account.timeline.filter((i) => i.type === "video").length.toLocaleString()})`, children: u(
              "button",
              {
                class: `btn btn-sm btn-square ${typeFilter.value === "video" ? "btn-secondary" : "btn-ghost"}`,
                onClick: () => handleTypeFilter("video"),
                "aria-label": t("Video"),
                children: u(IconVideo, { size: 18 })
              }
            ) }),
u("div", { class: "tooltip", "data-tip": `${t("GIF")} (${account.timeline.filter((i) => i.type === "animated_gif").length.toLocaleString()})`, children: u(
              "button",
              {
                class: `btn btn-sm btn-square ${typeFilter.value === "animated_gif" ? "btn-accent" : "btn-ghost"}`,
                onClick: () => handleTypeFilter("animated_gif"),
                "aria-label": t("GIF"),
                children: u(IconGif, { size: 18 })
              }
            ) })
          ] }),
          totalPages > 1 && u("div", { class: "join", children: [
u("div", { class: "tooltip tooltip-left", "data-tip": t("First Page"), children: u(
              "button",
              {
                class: "join-item btn btn-sm",
                onClick: () => currentPage.value = 1,
                disabled: currentPage.value === 1,
                "aria-label": t("First Page"),
                children: "«"
              }
            ) }),
u("div", { class: "tooltip tooltip-left", "data-tip": t("Last Page"), children: u(
              "button",
              {
                class: "join-item btn btn-sm",
                onClick: () => currentPage.value = totalPages,
                disabled: currentPage.value === totalPages,
                "aria-label": t("Last Page"),
                children: "»"
              }
            ) })
          ] })
        ] }),
u("div", { class: "space-y-4", children: currentItems.map((item) => {
          const key = `${item.tweet_id}|${item.url}`;
          const fileKey = `${item.tweet_id}_${item.url}`;
          const isDeleting = deletingEntry.value === key;
          const isDownloading = downloadingFiles.value.has(fileKey);
          const isConverting = convertingFiles.value.has(fileKey);
          return u("div", { class: "relative w-full", children: [
u(
              "button",
              {
                class: "btn btn-circle btn-xs btn-error absolute -top-2 -right-2 z-10",
                onClick: () => handleDeleteEntry(item.tweet_id, item.url),
                disabled: isDeleting || isDownloading,
                children: isDeleting ? u("span", { class: "loading loading-spinner loading-xs" }) : u(IconTrash, { size: 12 })
              }
            ),
u("div", { class: "card bg-base-200 border border-base-300", children: u("div", { class: "card-body p-3", children: u("div", { class: "flex items-center gap-3", children: [
u("div", { class: "shrink-0", children: u("div", { class: `btn btn-xs btn-square btn-soft no-animation pointer-events-none ${item.type === "photo" ? "btn-primary" : item.type === "video" ? "btn-secondary" : "btn-accent"}`, children: getTypeIcon(item.type) }) }),
u("div", { class: "grow min-w-0", children: [
u(
                  "a",
                  {
                    class: "link link-hover text-sm font-mono",
                    href: `https://x.com/${account.username}/status/${item.tweet_id}`,
                    target: "_blank",
                    rel: "noopener noreferrer",
                    children: item.tweet_id
                  }
                ),
u("p", { class: "text-xs opacity-60", children: [
                  formatDate(item.date),
                  " (",
                  formatTimeAgo(item.date),
                  ")"
                ] })
              ] }),
u("div", { class: "shrink-0 flex items-center gap-1", children: [
u("div", { class: "tooltip tooltip-left", "data-tip": t("Preview"), children: u(
                  "button",
                  {
                    class: "btn btn-xs btn-square",
                    onClick: () => {
                      const itemIndex = filteredTimeline.findIndex((i) => `${i.tweet_id}|${i.url}` === key);
                      previewIndex.value = itemIndex;
                      previewUrl.value = item.url;
                      previewType.value = item.type;
                    },
                    "aria-label": t("Preview"),
                    disabled: isDeleting,
                    children: u(IconEye, { size: 14 })
                  }
                ) }),
u("div", { class: "tooltip tooltip-left", "data-tip": t("Open"), children: u(
                  "button",
                  {
                    class: "btn btn-xs btn-square",
                    onClick: () => handleOpenFile(item.url),
                    "aria-label": t("Open"),
                    disabled: isDeleting,
                    children: u(IconExternalLink, { size: 14 })
                  }
                ) }),
u("div", { class: "tooltip tooltip-left", "data-tip": isConverting ? t("Converting...") : item.type === "animated_gif" && (appOptionsManager.get("convertAnimatedGifs") ?? true) ? t("Convert & Download") : t("Download"), children: u(
                  "button",
                  {
                    class: `btn btn-xs btn-square ${isConverting ? "btn-warning" : "btn-success"}`,
                    onClick: () => handleDownloadFile(item.url, item.date, item.type, item.tweet_id),
                    "aria-label": isConverting ? t("Converting...") : item.type === "animated_gif" && (appOptionsManager.get("convertAnimatedGifs") ?? true) ? t("Convert & Download") : t("Download"),
                    disabled: isDeleting || isDownloading,
                    children: isDownloading ? u("span", { class: "loading loading-spinner loading-xs" }) : u(IconFileDownload, { size: 14 })
                  }
                ) })
              ] })
            ] }) }) })
          ] }, key);
        }) }),
        totalPages > 1 && u("div", { class: "flex justify-center", children: u("div", { class: "join", children: [
u(
            "button",
            {
              class: "join-item btn btn-sm",
              onClick: () => currentPage.value = Math.max(1, currentPage.value - 1),
              disabled: currentPage.value === 1,
              children: "«"
            }
          ),
u("button", { class: "join-item btn btn-sm", children: [
            currentPage.value,
            "/",
            totalPages
          ] }),
u(
            "button",
            {
              class: "join-item btn btn-sm",
              onClick: () => currentPage.value = Math.min(totalPages, currentPage.value + 1),
              disabled: currentPage.value === totalPages,
              children: "»"
            }
          )
        ] }) }),
        filteredTimeline.length === 0 && u("div", { class: "text-center py-8 opacity-50", children: u("p", { children: t("No media files found") }) })
      ] }) }),
      previewUrl.value && $(
u(
          "div",
          {
            class: "fixed inset-0 bg-black/90 backdrop-blur-sm flex items-center justify-center z-1000",
            onTouchStart: handleTouchStart,
            onTouchMove: handleTouchMove,
            onTouchEnd: handleTouchEnd,
            children: [
u(
                "button",
                {
                  class: "btn btn-square btn-error absolute top-4 right-4 z-10",
                  onClick: () => {
                    previewUrl.value = "";
                    previewType.value = "";
                    previewIndex.value = -1;
                  },
                  "aria-label": t("Close"),
                  children: u(IconX, { size: 24 })
                }
              ),
u("div", { class: "absolute bottom-4 left-1/2 transform -translate-x-1/2 flex flex-col items-center gap-2", children: [
u("div", { class: "btn btn-neutral btn-sm", children: u("span", { class: "text-sm", children: [
                  (previewIndex.value + 1).toLocaleString(),
                  " / ",
                  filteredTimeline.length.toLocaleString()
                ] }) }),
                (() => {
                  const currentItem = filteredTimeline[previewIndex.value];
                  if (currentItem) {
                    return u("div", { class: "btn btn-neutral btn-sm", children: u("span", { class: "text-xs", children: [
                      formatDate(currentItem.date),
                      " (",
                      formatTimeAgo(currentItem.date),
                      ")"
                    ] }) });
                  }
                  return null;
                })()
              ] }),
              previewIndex.value > 0 && u(
                "button",
                {
                  class: "btn btn-circle btn-lg btn-neutral absolute left-4 hidden md:flex",
                  onClick: () => {
                    const prevItem = filteredTimeline[previewIndex.value - 1];
                    if (prevItem) {
                      previewIndex.value = previewIndex.value - 1;
                      previewUrl.value = prevItem.url;
                      previewType.value = prevItem.type;
                    }
                  },
                  "aria-label": t("Prev"),
                  children: u(IconChevronLeft, { size: 32 })
                }
              ),
              previewIndex.value < filteredTimeline.length - 1 && u(
                "button",
                {
                  class: "btn btn-circle btn-lg btn-neutral absolute right-4 hidden md:flex",
                  onClick: () => {
                    const nextItem = filteredTimeline[previewIndex.value + 1];
                    if (nextItem) {
                      previewIndex.value = previewIndex.value + 1;
                      previewUrl.value = nextItem.url;
                      previewType.value = nextItem.type;
                    }
                  },
                  "aria-label": t("Next"),
                  children: u(IconChevronRight, { size: 32 })
                }
              ),
              previewType.value === "photo" ? u(
                "img",
                {
                  src: previewUrl.value,
                  alt: "Preview",
                  class: "max-w-full max-h-full object-contain"
                }
              ) : u(
                "video",
                {
                  src: previewUrl.value,
                  controls: true,
                  autoplay: true,
                  class: "max-w-full max-h-full"
                }
              )
            ]
          }
        ),
        document.getElementById("tmd-root")?.shadowRoot?.getElementById("tmd-portal-root") || document.getElementById("tmd-root")?.shadowRoot || document.body
      )
    ] });
  }
  function Database({ isVisible, onCountChange, onLoadToDashboard } = {}) {
    const { t, i18n } = useTranslation();
    const isArabic = (i18n.language || "").startsWith("ar");
    const accounts = signals.useSignal([]);
    const currentPage = signals.useSignal(1);
    const totalPages = signals.useSignal(1);
    const isLoading = signals.useSignal(true);
    const exportingId = signals.useSignal(null);
    const deletingId = signals.useSignal(null);
    const accountToDelete = signals.useSignal(null);
    const showDeleteModal = signals.useSignal(false);
    const isImporting = signals.useSignal(false);
    const isExportingAll = signals.useSignal(false);
    const totalCount = signals.useSignal(0);
    const showClearModal = signals.useSignal(false);
    const isClearingAll = signals.useSignal(false);
    const fileInputRef = hooks.useRef(null);
    const filterByBatch = signals.useSignal(false);
    const filterByDateRange = signals.useSignal(false);
    const hasInitialLoad = signals.useSignal(false);
    const showViewModal = signals.useSignal(false);
    const viewingAccount = signals.useSignal(null);
    const batchCount = signals.useSignal(0);
    const dateRangeCount = signals.useSignal(0);
    const batchDateRangeCount = signals.useSignal(0);
    const filterByBatchDateRange = signals.useSignal(false);
    const handleImportClick = () => {
      fileInputRef.current?.click();
    };
    const processJsonFile = async (text, fileName) => {
      try {
        const data = JSON.parse(text);
        const account = {
          username: data.username,
          account_info: data.account_info,
          metadata: data.metadata,
          timeline: data.timeline,
          cached_at: data.cached_at || Date.now(),
          batch_mode: data.batch_mode,
          batch_identifier: data.batch_identifier,
          timeline_type: data.timeline_type,
          media_type: data.media_type,
          date_since: data.date_since,
          date_until: data.date_until
        };
        if (!account.username || !account.account_info || !account.metadata || !Array.isArray(account.timeline)) {
          return;
        }
        await mediaDownloaderDB.insertAccount(account);
        playSuccessSound();
      } catch (err) {
        playErrorSound();
      }
    };
    const importAccounts = async (files) => {
      isImporting.value = true;
      try {
        for (const file of Array.from(files)) {
          try {
            if (file.name.toLowerCase().endsWith(".zip")) {
              const arrayBuffer = await file.arrayBuffer();
              const uint8Array = new Uint8Array(arrayBuffer);
              fflate.unzip(uint8Array, async (err, unzipped) => {
                if (err) {
                  return;
                }
                for (const [fileName, fileData] of Object.entries(unzipped)) {
                  if (fileName.toLowerCase().endsWith(".json")) {
                    const text = new TextDecoder().decode(fileData);
                    await processJsonFile(text, fileName);
                  }
                }
                await loadAccounts();
                currentPage.value = 1;
              });
            } else if (file.name.toLowerCase().endsWith(".json")) {
              const text = await file.text();
              await processJsonFile(text, file.name);
            } else {
            }
          } catch (err) {
          }
        }
        await loadAccounts();
        currentPage.value = 1;
      } finally {
        isImporting.value = false;
      }
    };
    const onFilesSelected = async (e) => {
      const input = e.currentTarget;
      const files = input.files;
      if (files && files.length) {
        await importAccounts(files);
      }
      input.value = "";
    };
    const ITEMS_PER_PAGE = 3;
    const dateFormat = signals.useSignal(appOptionsManager.get("dateTimeFormat"));
    hooks.useEffect(() => {
      appOptionsManager.signal.subscribe(() => {
        dateFormat.value = appOptionsManager.get("dateTimeFormat");
      });
    }, []);
    hooks.useEffect(() => {
      loadAccounts();
    }, [currentPage.value]);
    hooks.useEffect(() => {
      currentPage.value = 1;
      loadAccounts();
    }, [filterByBatch.value, filterByDateRange.value, filterByBatchDateRange.value]);
    hooks.useEffect(() => {
      if (isVisible && !hasInitialLoad.value) {
        loadAccounts();
      }
    }, [isVisible]);
    hooks.useEffect(() => {
      if (hasInitialLoad.value) {
        loadAccounts();
      }
    }, [dbState.dbChangeSignal.value]);
    const loadAccounts = async () => {
      try {
        isLoading.value = true;
        const [accountsData, totalCountValue, batchCountValue, dateRangeCountValue, batchDateRangeCountValue] = await Promise.all([
          mediaDownloaderDB.getAccounts(currentPage.value, ITEMS_PER_PAGE, filterByBatch.value, filterByDateRange.value, filterByBatchDateRange.value),
          mediaDownloaderDB.getAccountsCount(filterByBatch.value, filterByDateRange.value, filterByBatchDateRange.value),
          mediaDownloaderDB.getAccountsCount(true, false, false),
          mediaDownloaderDB.getAccountsCount(false, true, false),
          mediaDownloaderDB.getAccountsCount(false, false, true)
        ]);
        accounts.value = accountsData;
        totalCount.value = totalCountValue;
        batchCount.value = batchCountValue;
        dateRangeCount.value = dateRangeCountValue;
        batchDateRangeCount.value = batchDateRangeCountValue;
        totalPages.value = Math.ceil(totalCountValue / ITEMS_PER_PAGE);
        onCountChange?.(totalCountValue);
        hasInitialLoad.value = true;
      } catch (error) {
      } finally {
        isLoading.value = false;
      }
    };
    const exportAccount = async (account) => {
      if (!account.id) return;
      try {
        exportingId.value = account.id;
        const fmt = dateFormat.value || appOptionsManager.get("dateTimeFormat") || "YYYY-MM-DD HH:mm:ss";
        const now = dayjs();
        const exportData = {
          username: account.username,
          account_info: account.account_info,
          metadata: account.metadata,
          timeline: account.timeline,
          cached_at: account.cached_at,
          batch_mode: account.batch_mode,
          batch_identifier: account.batch_identifier,
          timeline_type: account.timeline_type,
          media_type: account.media_type,
          date_since: account.date_since,
          date_until: account.date_until,
          cached_at_formatted: dayjs(account.cached_at).format(fmt),
          exported_at: now.valueOf(),
          exported_at_formatted: now.format(fmt),
          date_time_format: fmt
        };
        const filenameTs = now.format("YYYYMMDD_HHmmss");
        const batchSuffix = account.batch_mode && account.batch_mode !== "single" ? "_Batch" : "";
        const filename = `${sanitizeFilename(account.username)}_${filenameTs}${batchSuffix}.json`;
        const blob = new Blob([JSON.stringify(exportData, null, 2)], {
          type: "application/json"
        });
        fileSaverEs.saveAs(blob, filename);
        playSuccessSound();
      } catch (error) {
        playErrorSound();
      } finally {
        exportingId.value = null;
      }
    };
    const openDeleteDialog = (account) => {
      accountToDelete.value = account;
      showDeleteModal.value = true;
    };
    const confirmDelete = async () => {
      const account = accountToDelete.value;
      if (!account?.id) return;
      try {
        deletingId.value = account.id;
        await mediaDownloaderDB.deleteAccount(account.id);
        await loadAccounts();
        showDeleteModal.value = false;
        playSuccessSound();
      } catch (error) {
        playErrorSound();
      } finally {
        deletingId.value = null;
        accountToDelete.value = null;
      }
    };
    const closeDeleteDialog = () => {
      showDeleteModal.value = false;
      accountToDelete.value = null;
    };
    const openClearDialog = () => {
      showClearModal.value = true;
    };
    const closeClearDialog = () => {
      showClearModal.value = false;
    };
    const handleDeleteEntry = async (tweetId, url) => {
      if (!viewingAccount.value?.id) return;
      try {
        const account = viewingAccount.value;
        const updatedTimeline = account.timeline.filter(
          (item) => !(item.tweet_id === tweetId && item.url === url)
        );
        await mediaDownloaderDB.updateAccount(account.id, {
          ...account,
          timeline: updatedTimeline,
          metadata: {
            ...account.metadata,
            new_entries: updatedTimeline.length
          }
        });
        viewingAccount.value = {
          ...account,
          timeline: updatedTimeline,
          metadata: {
            ...account.metadata,
            new_entries: updatedTimeline.length
          }
        };
        await loadAccounts();
        playSuccessSound();
      } catch (error) {
        playErrorSound();
      }
    };
    const handleLoadDatabase = () => {
      if (!viewingAccount.value?.username || !onLoadToDashboard) return;
      const account = viewingAccount.value;
      showViewModal.value = false;
      requestAnimationFrame(() => {
        onLoadToDashboard({
          username: account.username,
          batch_mode: account.batch_mode,
          date_since: account.date_since,
          date_until: account.date_until
        });
        viewingAccount.value = null;
      });
    };
    const confirmClearAll = async () => {
      try {
        isClearingAll.value = true;
        await mediaDownloaderDB.clearAll();
        currentPage.value = 1;
        await loadAccounts();
        showClearModal.value = false;
        playSuccessSound();
      } catch (error) {
        playErrorSound();
      } finally {
        isClearingAll.value = false;
      }
    };
    const formatDate = (timestamp) => {
      const fmt = dateFormat.value || appOptionsManager.get("dateTimeFormat") || "YYYY-MM-DD HH:mm:ss";
      return dayjs(timestamp).format(fmt);
    };
    const formatTimeAgo = (timestamp) => {
      const now = dayjs();
      const then = dayjs(timestamp);
      const diff = now.diff(then, "second");
      const years = Math.floor(diff / (365 * 24 * 60 * 60));
      const days = Math.floor(diff % (365 * 24 * 60 * 60) / (24 * 60 * 60));
      const hours = Math.floor(diff % (24 * 60 * 60) / (60 * 60));
      const minutes = Math.floor(diff % (60 * 60) / 60);
      const seconds = diff % 60;
      const parts = [];
      if (years > 0) parts.push(`${years}y`);
      if (days > 0) parts.push(`${days}d`);
      if (hours > 0) parts.push(`${hours}h`);
      if (minutes > 0) parts.push(`${minutes}m`);
      if (seconds > 0 && parts.length === 0) parts.push(`${seconds}s`);
      return parts.slice(0, 2).join(" ") + " ago";
    };
    const goToPage = (page) => {
      if (page >= 1 && page <= totalPages.value) {
        currentPage.value = page;
      }
    };
    const exportAllAccounts = async () => {
      try {
        isExportingAll.value = true;
        const allAccounts = await mediaDownloaderDB.getAllAccounts();
        if (!allAccounts.length) return;
        const fmt = dateFormat.value || appOptionsManager.get("dateTimeFormat") || "YYYY-MM-DD HH:mm:ss";
        const now = dayjs();
        const exportTs = now.format("YYYYMMDD_HHmmss");
        const files = allAccounts.map((account, index2) => {
          const exportData = {
            username: account.username,
            account_info: account.account_info,
            metadata: account.metadata,
            timeline: account.timeline,
            cached_at: account.cached_at,
            batch_mode: account.batch_mode,
            batch_identifier: account.batch_identifier,
            timeline_type: account.timeline_type,
            media_type: account.media_type,
            date_since: account.date_since,
            date_until: account.date_until,
            cached_at_formatted: dayjs(account.cached_at).format(fmt),
            exported_at: now.valueOf(),
            exported_at_formatted: now.format(fmt),
            date_time_format: fmt
          };
          const batchSuffix = account.batch_mode && account.batch_mode !== "single" ? "_Batch" : "";
          const timelineTypeSuffix = account.timeline_type ? `_${account.timeline_type}` : "";
          const mediaTypeSuffix = account.media_type && account.media_type !== "all" ? `_${account.media_type}` : "";
          const uniqueSuffix = allAccounts.filter((a) => a.username === account.username).length > 1 ? `_${index2 + 1}` : "";
          const fileName = `${sanitizeFilename(account.username)}_${exportTs}${batchSuffix}${timelineTypeSuffix}${mediaTypeSuffix}${uniqueSuffix}.json`;
          const content = JSON.stringify(exportData, null, 2);
          const blob = new Blob([content], { type: "application/json" });
          return { name: fileName, blob };
        });
        let index = 0;
        const readableZipStream = createWriter({
          pull(ctrl) {
            if (index >= files.length) {
              ctrl.close();
              return;
            }
            const file = files[index];
            if (!file) {
              ctrl.close();
              return;
            }
            index += 1;
            ctrl.enqueue({
              name: file.name,
              stream: () => file.blob.stream()
            });
          }
        });
        const chunks = [];
        const writableOutputStream = new WritableStream({
          write(chunk) {
            chunks.push(chunk);
          }
        });
        await readableZipStream.pipeTo(writableOutputStream);
        const arrayBuffer = await new Blob(chunks).arrayBuffer();
        const zipBlob = new Blob([arrayBuffer]);
        const zipFilename = `twitter-x-media-batch-downloader-pro_${exportTs}.zip`;
        fileSaverEs.saveAs(zipBlob, zipFilename);
        playSuccessSound();
      } catch (error) {
        playErrorSound();
      } finally {
        isExportingAll.value = false;
      }
    };
    if (isLoading.value) {
      return u("div", { class: "space-y-6", children: [
u("div", { class: "flex items-center justify-between", children: [
u("div", { class: "flex items-center gap-2", children: [
u("div", { class: "skeleton h-8 w-24" }),
u("div", { class: "skeleton h-8 w-24" })
          ] }),
u("div", { class: "flex items-center gap-2", children: [
u("div", { class: "skeleton h-8 w-8" }),
u("div", { class: "skeleton h-8 w-8" })
          ] })
        ] }),
        [1, 2, 3].map((i) => u("div", { class: "card bg-base-200 border border-base-300 w-full", children: u("div", { class: "card-body p-4", children: u("div", { class: "flex items-center gap-4", children: [
u("div", { class: "skeleton w-16 h-16 rounded-xl shrink-0" }),
u("div", { class: "grow space-y-2", children: [
u("div", { class: "skeleton h-4 w-32" }),
u("div", { class: "skeleton h-3 w-24" }),
u("div", { class: "flex gap-2", children: [
u("div", { class: "skeleton h-5 w-16" }),
u("div", { class: "skeleton h-5 w-16" }),
u("div", { class: "skeleton h-5 w-12" })
            ] }),
u("div", { class: "skeleton h-3 w-40" })
          ] }),
u("div", { class: "skeleton w-8 h-8 rounded-lg shrink-0" })
        ] }) }) }, i))
      ] });
    }
    return u(preact.Fragment, { children: [
u("div", { class: "space-y-6", children: [
u("div", { class: "flex items-center justify-between", children: [
u("div", { class: "flex items-center gap-2", children: [
u(
              "input",
              {
                type: "file",
                class: "hidden",
                ref: fileInputRef,
                accept: ".json,.zip,application/json,application/zip",
                multiple: true,
                onChange: onFilesSelected
              }
            ),
u("div", { class: "tooltip tooltip-right", "data-tip": t("Supports JSON and ZIP formats"), children: u(
              "button",
              {
                class: "btn btn-primary btn-sm",
                onClick: handleImportClick,
                disabled: isImporting.value,
                children: isImporting.value ? u(preact.Fragment, { children: [
u("span", { class: "loading loading-spinner loading-xs" }),
                  t("Importing...")
                ] }) : u(preact.Fragment, { children: [
u(IconDatabaseImport, { size: 16 }),
                  t("Import")
                ] })
              }
            ) }),
u("div", { class: "tooltip tooltip-right", "data-tip": t("Export All Data"), children: u(
              "button",
              {
                class: "btn btn-secondary btn-sm",
                onClick: async () => {
                  await exportAllAccounts();
                },
                "aria-label": t("Export All Data"),
                disabled: isExportingAll.value || isImporting.value || totalCount.value === 0,
                children: isExportingAll.value ? u(preact.Fragment, { children: [
u("span", { class: "loading loading-spinner loading-xs" }),
                  t("Exporting...")
                ] }) : u(preact.Fragment, { children: [
u(IconDatabaseExport, { size: 16 }),
                  t("Export")
                ] })
              }
            ) })
          ] }),
u("div", { class: "flex items-center gap-2", children: [
u("div", { class: "join", children: [
u("div", { class: "tooltip tooltip-left", "data-tip": t("Filter by Batch"), children: u(
                "button",
                {
                  class: `btn btn-sm btn-square join-item ${filterByBatch.value ? "btn-active btn-primary" : ""}`,
                  "aria-label": t("Filter by Batch"),
                  onClick: () => {
                    if (!filterByBatch.value) {
                      filterByDateRange.value = false;
                      filterByBatchDateRange.value = false;
                    }
                    filterByBatch.value = !filterByBatch.value;
                  },
                  disabled: isImporting.value || isExportingAll.value || isClearingAll.value || batchCount.value === 0,
                  children: u(IconStack, { size: 16 })
                }
              ) }),
u("div", { class: "tooltip tooltip-left", "data-tip": t("Filter by Date Range"), children: u(
                "button",
                {
                  class: `btn btn-sm btn-square join-item ${filterByDateRange.value ? "btn-active btn-primary" : ""}`,
                  "aria-label": t("Filter by Date Range"),
                  onClick: () => {
                    if (!filterByDateRange.value) {
                      filterByBatch.value = false;
                      filterByBatchDateRange.value = false;
                    }
                    filterByDateRange.value = !filterByDateRange.value;
                  },
                  disabled: isImporting.value || isExportingAll.value || isClearingAll.value || dateRangeCount.value === 0,
                  children: u(IconCalendarWeek, { size: 16 })
                }
              ) }),
u("div", { class: "tooltip tooltip-left", "data-tip": `${t("Filter by Batch")} + ${t("Filter by Date Range")}`, children: u(
                "button",
                {
                  class: `btn btn-sm btn-square join-item ${filterByBatchDateRange.value ? "btn-active btn-primary" : ""}`,
                  "aria-label": `${t("Filter by Batch")} + ${t("Filter by Date Range")}`,
                  onClick: () => {
                    if (!filterByBatchDateRange.value) {
                      filterByBatch.value = false;
                      filterByDateRange.value = false;
                    }
                    filterByBatchDateRange.value = !filterByBatchDateRange.value;
                  },
                  disabled: isImporting.value || isExportingAll.value || isClearingAll.value || batchDateRangeCount.value === 0,
                  children: u(IconStack2, { size: 16 })
                }
              ) })
            ] }),
u("div", { class: "tooltip tooltip-left", "data-tip": t("Clear"), children: u(
              "button",
              {
                class: "btn btn-warning btn-sm btn-square",
                "aria-label": t("Clear"),
                onClick: openClearDialog,
                disabled: isImporting.value || isExportingAll.value || isClearingAll.value || totalCount.value === 0,
                children: u(IconDatabaseX, { size: 16 })
              }
            ) })
          ] })
        ] }),
        accounts.value.map((account) => u("div", { class: "relative w-full", children: [
u(
            "button",
            {
              class: "btn btn-circle btn-xs btn-error absolute -top-2 -right-2 z-10",
              onClick: () => openDeleteDialog(account),
              children: deletingId.value === account.id ? u("span", { class: "loading loading-spinner loading-xs" }) : u(IconTrash, { size: 12 })
            }
          ),
u("div", { class: "card bg-base-200 border border-base-300 w-full", children: u("div", { class: "card-body p-4", children: u("div", { class: "flex items-center gap-4", children: [
u("div", { class: "flex flex-col items-center gap-1", children: [
u("div", { class: "avatar", children: u("div", { class: "w-16 rounded-xl", children: u(
                "img",
                {
                  src: account.account_info.profile_image,
                  alt: account.account_info.nick,
                  onError: (e) => {
                    const target = e.target;
                    target.src = 'data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="gray"%3E%3Ccircle cx="12" cy="12" r="10"/%3E%3C/svg%3E';
                  }
                }
              ) }) }),
              (account.batch_mode === "batch" || account.batch_mode === "auto" || account.batch_mode === "batch_date_range") && u("div", { class: "badge badge-soft badge-info badge-sm uppercase", children: t("Batch") })
            ] }),
u("div", { class: "grow", children: [
u("div", { class: "flex items-center gap-2 flex-wrap", children: [
u("h3", { class: "font-semibold text-base", children: account.account_info.nick }),
                (account.batch_mode === "batch_date_range" || account.batch_mode === "date_range") && account.date_since && account.date_until && u("div", { class: "badge badge-soft badge-info badge-sm", children: [
                  account.date_since,
                  " → ",
                  account.date_until
                ] })
              ] }),
u("p", { class: "text-sm opacity-70", children: u(
                "a",
                {
                  class: "link link-hover",
                  href: `https://x.com/${account.username}`,
                  target: "_blank",
                  rel: "noopener noreferrer",
                  children: [
                    "@",
                    account.username
                  ]
                }
              ) }),
u("div", { class: "flex gap-2 mt-1", children: [
                account.timeline_type && u("div", { class: "badge badge-soft badge-primary badge-sm", children: t(account.timeline_type === "media" ? "Media" : account.timeline_type === "timeline" ? "Timeline" : account.timeline_type === "tweets" ? "Tweets" : "Replies") }),
                account.media_type && u("div", { class: "badge badge-soft badge-secondary badge-sm", children: t(account.media_type === "all" ? "All" : account.media_type === "image" ? "Image" : account.media_type === "video" ? "Video" : "GIF") }),
u("div", { class: "badge badge-soft badge-accent badge-sm", children: account.metadata.new_entries.toLocaleString() })
              ] }),
u("p", { class: "text-xs opacity-50 mt-1", children: [
                formatDate(account.cached_at),
                " (",
                formatTimeAgo(account.cached_at),
                ")"
              ] })
            ] }),
u("div", { class: "flex items-center gap-1", children: [
u("div", { class: "tooltip tooltip-left", "data-tip": t("View Database"), children: u(
                "button",
                {
                  class: "btn btn-sm btn-square",
                  "aria-label": t("View Database"),
                  onClick: () => {
                    viewingAccount.value = account;
                    showViewModal.value = true;
                  },
                  disabled: deletingId.value === account.id,
                  children: u(IconDatabaseSearch, { size: 16 })
                }
              ) }),
u("div", { class: "tooltip tooltip-left", "data-tip": t("Export"), children: u(
                "button",
                {
                  class: "btn btn-accent btn-sm btn-square",
                  "aria-label": t("Export"),
                  onClick: () => exportAccount(account),
                  disabled: exportingId.value === account.id || deletingId.value === account.id,
                  children: exportingId.value === account.id ? u("span", { class: "loading loading-spinner loading-xs" }) : u(IconDatabaseExport, { size: 16 })
                }
              ) })
            ] })
          ] }) }) })
        ] }, account.id)),
        accounts.value.length === 0 && u("div", { class: "text-center", children: [
u("div", { class: "opacity-50 mb-2", children: u(IconDatabase, { size: 36, class: "mx-auto" }) }),
u("p", { class: "text-sm font-medium mb-1", children: t("No accounts yet") }),
u("p", { class: "text-xs opacity-70", children: t("Use Dashboard to fetch data.") })
        ] }),
        totalPages.value > 1 && u("div", { class: "flex justify-center", children: u("div", { class: "join", children: [
u(
            "button",
            {
              class: "join-item btn btn-sm",
              onClick: () => goToPage(currentPage.value - 1),
              disabled: currentPage.value === 1,
              children: "«"
            }
          ),
u("button", { class: "join-item btn btn-sm", children: [
            currentPage.value,
            "/",
            totalPages.value
          ] }),
u(
            "button",
            {
              class: "join-item btn btn-sm",
              onClick: () => goToPage(currentPage.value + 1),
              disabled: currentPage.value === totalPages.value,
              children: "»"
            }
          )
        ] }) })
      ] }),
u(Modal, { show: showDeleteModal.value, onClose: closeDeleteDialog, title: t("Delete Account Data"), class: "max-w-sm", children: u("div", { class: "space-y-2", children: [
u("p", { class: `text-sm${isArabic ? " text-right" : ""}`, dir: isArabic ? "rtl" : void 0, children: t("Are you sure you want to delete account data? This action cannot be undone", { username: accountToDelete.value?.username || "" }) }),
u("div", { class: "modal-action", children: [
u(
            "button",
            {
              class: "btn btn-sm btn-ghost",
              onClick: closeDeleteDialog,
              children: t("Cancel")
            }
          ),
u(
            "button",
            {
              class: "btn btn-sm btn-error",
              onClick: confirmDelete,
              disabled: deletingId.value === accountToDelete.value?.id,
              children: deletingId.value === accountToDelete.value?.id ? u(preact.Fragment, { children: [
u("span", { class: "loading loading-spinner loading-xs" }),
                t("Deleting...")
              ] }) : u(preact.Fragment, { children: [
u(IconTrash, { size: 16 }),
                t("Delete")
              ] })
            }
          )
        ] })
      ] }) }),
u(Modal, { show: showClearModal.value, onClose: closeClearDialog, title: t("Clear"), class: "max-w-sm", children: u("div", { class: "space-y-2", children: [
u("p", { class: `text-sm${isArabic ? " text-right" : ""}`, dir: isArabic ? "rtl" : void 0, children: t("Are you sure to clear all data in the database?") }),
u("div", { class: "modal-action", children: [
u(
            "button",
            {
              class: "btn btn-sm btn-ghost",
              onClick: closeClearDialog,
              children: t("Cancel")
            }
          ),
u(
            "button",
            {
              class: "btn btn-sm btn-warning",
              onClick: confirmClearAll,
              disabled: isClearingAll.value,
              children: isClearingAll.value ? u(preact.Fragment, { children: [
u("span", { class: "loading loading-spinner loading-xs" }),
                t("Deleting...")
              ] }) : u(preact.Fragment, { children: [
u(IconDatabaseX, { size: 16 }),
                t("Clear")
              ] })
            }
          )
        ] })
      ] }) }),
u(
        ViewDatabaseModal,
        {
          isOpen: showViewModal.value,
          onClose: () => {
            showViewModal.value = false;
            viewingAccount.value = null;
          },
          account: viewingAccount.value,
          onDeleteEntry: handleDeleteEntry,
          onLoadDatabase: handleLoadDatabase
        }
      )
    ] });
  }
  function Auth() {
    const { t, i18n } = useTranslation();
    const isArabic = (i18n.language || "").startsWith("ar");
    const authToken = signals.useSignal("");
    const patreonAuth = signals.useSignal("");
    const showAuthToken = signals.useSignal(false);
    const showPatreonAuth = signals.useSignal(false);
    const isPatreonValid = signals.useSignal(false);
    const isVerifying = signals.useSignal(false);
    const isGenerating = signals.useSignal(false);
    const verificationMessage = signals.useSignal("");
    const verificationSuccess = signals.useSignal(false);
    const generationMessage = signals.useSignal("");
    const generationSuccess = signals.useSignal(false);
    hooks.useEffect(() => {
      loadAuthSettings();
    }, []);
    hooks.useEffect(() => {
      const updateLocalToken = () => {
        if (authState.authToken.value && authState.authToken.value !== authToken.value) {
          authToken.value = authState.authToken.value;
        }
      };
      updateLocalToken();
      const unsubscribe = authState.authToken.subscribe(updateLocalToken);
      return unsubscribe;
    }, []);
    const loadAuthSettings = async () => {
      try {
        const settings = await mediaDownloaderDB.getAuthSettings();
        if (settings) {
          authToken.value = settings.auth_token;
          patreonAuth.value = settings.patreon_auth;
          isPatreonValid.value = Boolean(settings.patreon_verified) && settings.patreon_verified_auth === settings.patreon_auth;
          authState.authToken.value = settings.auth_token;
          authState.patreonAuth.value = settings.patreon_auth;
          authState.patreonVerified.value = isPatreonValid.value;
        }
      } catch (error) {
      }
    };
    const autoSaveAuthToken = async (value) => {
      try {
        await mediaDownloaderDB.saveAuthSettings(value, patreonAuth.value);
        authState.authToken.value = value;
      } catch (error) {
      }
    };
    const autoSavePatreonAuth = async (value) => {
      try {
        await mediaDownloaderDB.saveAuthSettings(authToken.value, value);
        await mediaDownloaderDB.setPatreonVerified(false);
        authState.patreonAuth.value = value;
        authState.patreonVerified.value = false;
      } catch (error) {
      }
      isPatreonValid.value = false;
      verificationMessage.value = "";
    };
    const verifyPatreonAuth = async () => {
      if (!patreonAuth.value.trim()) {
        verificationMessage.value = t("Please enter Patreon auth first");
        setTimeout(() => verificationMessage.value = "", 2e3);
        return;
      }
      try {
        isVerifying.value = true;
        verificationMessage.value = "";
        const data = await mediaDownloaderAPI.verifyPatreonAuth(patreonAuth.value);
        isPatreonValid.value = data.valid;
        await mediaDownloaderDB.setPatreonVerified(data.valid);
        authState.patreonVerified.value = data.valid;
        verificationSuccess.value = data.valid;
        verificationMessage.value = data.valid ? t("Patreon auth verified successfully") : t("Invalid Patreon auth");
        if (data.valid) {
          playSuccessSound();
        } else {
          playErrorSound();
        }
        setTimeout(() => verificationMessage.value = "", 2e3);
      } catch (error) {
        const raw = error instanceof Error ? error.message : "";
        const httpMatch = raw.match(/^HTTP error! status: (\d+)/);
        const msg = httpMatch ? t("HTTP error! status: {{status}}", { status: httpMatch[1] }) : (raw ? t(raw) : "") || t("Verification failed. Please try again");
        verificationSuccess.value = false;
        verificationMessage.value = msg;
        playErrorSound();
        setTimeout(() => verificationMessage.value = "", 2e3);
      } finally {
        isVerifying.value = false;
      }
    };
    const generateAuthToken = async () => {
      if (!isPatreonValid.value) {
        generationMessage.value = t("Please verify Patreon auth first");
        setTimeout(() => generationMessage.value = "", 2e3);
        return;
      }
      try {
        isGenerating.value = true;
        generationMessage.value = "";
        const data = await mediaDownloaderAPI.generateAuthToken(patreonAuth.value);
        if (data.auth_token) {
          authToken.value = data.auth_token;
          await autoSaveAuthToken(data.auth_token);
          authState.authToken.value = data.auth_token;
          generationSuccess.value = true;
          generationMessage.value = t("Token generated successfully", { current: data.current_index, total: data.total_tokens });
          playSuccessSound();
        } else {
          generationSuccess.value = false;
          generationMessage.value = t("Failed to generate token");
          playErrorSound();
        }
        setTimeout(() => generationMessage.value = "", 2e3);
      } catch (error) {
        const raw = error instanceof Error ? error.message : "";
        const httpMatch = raw.match(/^HTTP error! status: (\d+)/);
        const msg = httpMatch ? t("HTTP error! status: {{status}}", { status: httpMatch[1] }) : (raw ? t(raw) : "") || t("Token generation failed. Please try again");
        generationSuccess.value = false;
        generationMessage.value = msg;
        playErrorSound();
        setTimeout(() => generationMessage.value = "", 2e3);
      } finally {
        isGenerating.value = false;
      }
    };
    return u("div", { class: "space-y-6", children: u("div", { class: "space-y-4", children: [
u("div", { children: [
u("label", { class: "label mb-1", children: u("span", { class: "text-sm", children: t("Patreon Auth") }) }),
u("div", { class: "join w-full", children: [
u("div", { class: "flex-1", children: u("label", { class: "input input-bordered input-sm join-item flex items-center gap-2 w-full", children: [
u("svg", { class: "h-4 w-4 opacity-50", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: u(
              "g",
              {
                strokeLinejoin: "round",
                strokeLinecap: "round",
                strokeWidth: "2.5",
                fill: "none",
                stroke: "currentColor",
                children: [
u("path", { d: "M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10" }),
u("path", { d: "m9 12 2 2 4-4" })
                ]
              }
            ) }),
u(
              "input",
              {
                type: showPatreonAuth.value ? "text" : "password",
                class: "grow font-mono",
                placeholder: t("Enter your Patreon auth"),
                value: patreonAuth.value,
                onInput: (e) => {
                  const value = e.target.value;
                  patreonAuth.value = value;
                  autoSavePatreonAuth(value);
                }
              }
            ),
u(
              "span",
              {
                class: "cursor-pointer opacity-70 hover:opacity-100",
                onClick: () => showPatreonAuth.value = !showPatreonAuth.value,
                "aria-label": t("Toggle visibility"),
                children: showPatreonAuth.value ? u(IconEyeOff, { size: 14 }) : u(IconEye, { size: 14 })
              }
            )
          ] }) }),
u(
            "button",
            {
              class: `btn btn-sm join-item w-28 ${isPatreonValid.value ? "btn-success" : "btn-neutral"}`,
              onClick: verifyPatreonAuth,
              disabled: isVerifying.value || !patreonAuth.value.trim(),
              children: isVerifying.value ? u(preact.Fragment, { children: [
u("span", { class: "loading loading-spinner loading-xs" }),
                t("Verifying"),
                "..."
              ] }) : isPatreonValid.value ? u(preact.Fragment, { children: [
u(IconCircleCheck, { size: 16 }),
                t("Verified")
              ] }) : t("Verify")
            }
          )
        ] }),
        verificationMessage.value && u("div", { role: "alert", class: `alert alert-soft mt-2 ${verificationSuccess.value ? "alert-success" : "alert-error"}`, children: [
          verificationSuccess.value ? u(IconCircleCheck, { size: 20 }) : u(IconCircleX, { size: 20 }),
u("span", { dir: isArabic ? "rtl" : void 0, children: verificationMessage.value })
        ] })
      ] }),
u("div", { children: [
u("label", { class: "label mb-1", children: u("span", { class: "text-sm", children: t("Auth Token") }) }),
u("div", { class: "join w-full", children: [
u("div", { class: "flex-1", children: u("label", { class: "input input-bordered input-sm join-item flex items-center gap-2 w-full", children: [
u("svg", { class: "h-4 w-4 opacity-50", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: u(
              "g",
              {
                strokeLinejoin: "round",
                strokeLinecap: "round",
                strokeWidth: "2.5",
                fill: "none",
                stroke: "currentColor",
                children: [
u("rect", { width: "18", height: "11", x: "3", y: "11", rx: "2", ry: "2" }),
u("circle", { cx: "12", cy: "12", r: "2" }),
u("path", { d: "M7 11V7a5 5 0 0 1 10 0v4" })
                ]
              }
            ) }),
u(
              "input",
              {
                type: showAuthToken.value ? "text" : "password",
                class: "grow font-mono",
                placeholder: t("Enter your auth token"),
                value: authToken.value,
                onInput: (e) => {
                  const value = e.target.value;
                  authToken.value = value;
                  autoSaveAuthToken(value);
                }
              }
            ),
u(
              "span",
              {
                class: "cursor-pointer opacity-70 hover:opacity-100",
                onClick: () => showAuthToken.value = !showAuthToken.value,
                "aria-label": t("Toggle visibility"),
                children: showAuthToken.value ? u(IconEyeOff, { size: 14 }) : u(IconEye, { size: 14 })
              }
            )
          ] }) }),
u(
            "button",
            {
              class: "btn btn-neutral btn-sm join-item w-28",
              onClick: generateAuthToken,
              disabled: isGenerating.value || !isPatreonValid.value || patreonAuth.value.trim() === "xbatchdemo",
              children: isGenerating.value ? u(preact.Fragment, { children: [
u("span", { class: "loading loading-spinner loading-xs" }),
                t("Generating"),
                "..."
              ] }) : t("Generate")
            }
          )
        ] }),
        generationMessage.value && u("div", { role: "alert", class: `alert alert-soft mt-2 ${generationSuccess.value ? "alert-success" : "alert-error"}`, children: [
          generationSuccess.value ? u(IconCircleCheck, { size: 20 }) : u(IconCircleX, { size: 20 }),
u("span", { dir: isArabic ? "rtl" : void 0, children: generationMessage.value })
        ] })
      ] }),
u("div", { class: `mt-3 rounded-box bg-base-200 p-2 text-xs space-y-1 ${isArabic ? "text-right" : ""}`, dir: isArabic ? "rtl" : void 0, children: [
u("div", { children: [
          "• ",
          t("Use code"),
          " ",
u(
            "button",
            {
              type: "button",
              class: "text-primary opacity-80 hover:opacity-100 cursor-pointer",
              onClick: () => {
                patreonAuth.value = "xbatchdemo";
                autoSavePatreonAuth("xbatchdemo");
              },
              children: "xbatchdemo"
            }
          ),
          " ",
          t("for Patreon Auth, click Verify to unlock demo. Test at"),
          " ",
u("a", { class: "text-primary opacity-80 hover:opacity-100", href: "https://x.com/xbatchdemo", target: "_blank", rel: "noopener noreferrer", dir: "ltr", children: " @xbatchdemo" })
        ] }),
u("div", { children: [
          "• ",
          t("Need help with Auth Token? See"),
          " ",
u("a", { class: "text-primary opacity-80 hover:opacity-100", href: "https://www.patreon.com/posts/how-to-obtain-127206894", target: "_blank", rel: "noopener noreferrer", children: t("the guide") })
        ] }),
u("div", { children: [
          "• ",
u("a", { class: "text-primary opacity-80 hover:opacity-100", href: "https://www.patreon.com/exyezed/membership", target: "_blank", rel: "noopener noreferrer", children: t("Subscribe") }),
          " ",
          t("to get your Patreon Auth code and start downloading with ease!")
        ] }),
u("div", { children: [
          "• ",
          t("Report bugs or request features:"),
          " ",
u("a", { class: "text-primary opacity-80 hover:opacity-100", href: "mailto:[email protected]", children: "[email protected]" })
        ] })
      ] })
    ] }) });
  }
  const flagUS = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20id='flag-icons-us'%20viewBox='0%200%20640%20480'%3e%3cpath%20fill='%23bd3d44'%20d='M0%200h640v480H0'/%3e%3cpath%20stroke='%23fff'%20stroke-width='37'%20d='M0%2055.3h640M0%20129h640M0%20203h640M0%20277h640M0%20351h640M0%20425h640'/%3e%3cpath%20fill='%23192f5d'%20d='M0%200h364.8v258.5H0'/%3e%3cmarker%20id='us-a'%20markerHeight='30'%20markerWidth='30'%3e%3cpath%20fill='%23fff'%20d='m14%200%209%2027L0%2010h28L5%2027z'/%3e%3c/marker%3e%3cpath%20fill='none'%20marker-mid='url(%23us-a)'%20d='m0%200%2016%2011h61%2061%2061%2061%2060L47%2037h61%2061%2060%2061L16%2063h61%2061%2061%2061%2060L47%2089h61%2061%2060%2061L16%20115h61%2061%2061%2061%2060L47%20141h61%2061%2060%2061L16%20166h61%2061%2061%2061%2060L47%20192h61%2061%2060%2061L16%20218h61%2061%2061%2061%2060z'/%3e%3c/svg%3e";
  const flagDE = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20id='flag-icons-de'%20viewBox='0%200%20640%20480'%3e%3cpath%20fill='%23fc0'%20d='M0%20320h640v160H0z'/%3e%3cpath%20fill='%23000001'%20d='M0%200h640v160H0z'/%3e%3cpath%20fill='red'%20d='M0%20160h640v160H0z'/%3e%3c/svg%3e";
  const flagSG = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20id='flag-icons-sg'%20viewBox='0%200%20640%20480'%3e%3cdefs%3e%3cclipPath%20id='sg-a'%3e%3cpath%20fill-opacity='.7'%20d='M0%200h640v480H0z'/%3e%3c/clipPath%3e%3c/defs%3e%3cg%20fill-rule='evenodd'%20clip-path='url(%23sg-a)'%3e%3cpath%20fill='%23fff'%20d='M-20%200h720v480H-20z'/%3e%3cpath%20fill='%23df0000'%20d='M-20%200h720v240H-20z'/%3e%3cpath%20fill='%23fff'%20d='M146%2040.2a84.4%2084.4%200%200%200%20.8%20165.2%2086%2086%200%200%201-106.6-59%2086%2086%200%200%201%2059-106c16-4.6%2030.8-4.7%2046.9-.2z'/%3e%3cpath%20fill='%23fff'%20d='m133%20110%204.9%2015-13-9.2-12.8%209.4%204.7-15.2-12.8-9.3%2015.9-.2%205-15%205%2015h15.8zm17.5%2052%205%2015.1-13-9.2-12.9%209.3%204.8-15.1-12.8-9.4%2015.9-.1%204.9-15.1%205%2015h16zm58.5-.4%204.9%2015.2-13-9.3-12.8%209.3%204.7-15.1-12.8-9.3%2015.9-.2%205-15%205%2015h15.8zm17.4-51.6%204.9%2015.1-13-9.2-12.8%209.3%204.8-15.1-12.9-9.4%2016-.1%204.8-15.1%205%2015h16zm-46.3-34.3%205%2015.2-13-9.3-12.9%209.4%204.8-15.2-12.8-9.4%2015.8-.1%205-15.1%205%2015h16z'/%3e%3c/g%3e%3c/svg%3e";
  const SERVER_CONFIG = {
    oregon: { name: "Oregon", region: "US West", flag: flagUS },
    frankfurt: { name: "Frankfurt", region: "EU Central", flag: flagDE },
    singapore: { name: "Singapore", region: "Southeast Asia", flag: flagSG }
  };
  function Settings() {
    const { t } = useTranslation();
    const [, force] = hooks.useState(0);
    const fetchMode = appOptionsManager.get("fetchMode") ?? "single";
    const isBatching = fetchMode !== "single";
    return u("div", { class: "space-y-4", children: [
u("div", { class: "flex items-center justify-between", children: [
u("span", { class: "text-sm flex items-center gap-1", children: [
          t("Server"),
u("div", { class: "tooltip tooltip-right", "data-tip": t("Choose the server closest to your location for best performance"), children: u(IconInfoCircle, { size: 14, class: "opacity-70" }) })
        ] }),
u("div", { class: "dropdown dropdown-end", children: [
u(
            "div",
            {
              tabIndex: 0,
              role: "button",
              class: "btn btn-sm gap-1.5 px-1.5 justify-start",
              "aria-label": t("Server"),
              children: [
u("div", { class: "w-5 flex items-center justify-center", children: u(
                  "img",
                  {
                    src: SERVER_CONFIG[appOptionsManager.get("apiServer") ?? "oregon"].flag,
                    alt: "",
                    class: "h-3 w-4 rounded-sm object-cover border border-base-content/10 bg-base-100"
                  }
                ) }),
u("div", { class: "w-24 truncate text-xs text-left", children: SERVER_CONFIG[appOptionsManager.get("apiServer") ?? "oregon"].name }),
u(
                  "svg",
                  {
                    width: "12px",
                    height: "12px",
                    class: "mt-px hidden size-2 fill-current opacity-60 sm:inline-block ml-auto",
                    xmlns: "http://www.w3.org/2000/svg",
                    viewBox: "0 0 2048 2048",
                    children: u("path", { d: "M1799 349l242 241-1017 1017L7 590l242-241 775 775 775-775z" })
                  }
                )
              ]
            }
          ),
u(
            "div",
            {
              tabIndex: 0,
              class: "dropdown-content bg-base-200 text-base-content rounded-box mt-2 border-(length:--border) border-white/5 shadow-2xl outline-(length:--border) outline-black/5",
              children: u("ul", { class: "menu w-48", children: [
u("li", { class: "menu-title text-xs", children: t("Server") }),
                Object.entries(SERVER_CONFIG).map(([key, config]) => u("li", { children: u(
                  "button",
                  {
                    class: cx("gap-3 px-2", (appOptionsManager.get("apiServer") ?? "oregon") === key && "[&_svg]:visible"),
                    onClick: () => {
                      playRadioClickSound();
                      appOptionsManager.set("apiServer", key);
                      force((x) => x + 1);
                    },
                    children: [
u(
                        "img",
                        {
                          src: config.flag,
                          alt: "",
                          class: "h-3 w-4 rounded-sm object-cover border border-base-content/10 bg-base-100"
                        }
                      ),
u("div", { class: "flex-1 min-w-0", children: [
u("div", { class: "truncate", children: config.name }),
u("div", { class: "text-[10px] opacity-60 truncate", children: config.region })
                      ] }),
u(
                        "svg",
                        {
                          xmlns: "http://www.w3.org/2000/svg",
                          width: "16",
                          height: "16",
                          viewBox: "0 0 24 24",
                          fill: "currentColor",
                          class: "invisible h-3 w-3 shrink-0",
                          children: u("path", { d: "M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z" })
                        }
                      )
                    ]
                  }
                ) }, key))
              ] })
            }
          )
        ] })
      ] }),
u("div", { class: "divider my-2" }),
u("div", { class: "flex items-center justify-between", children: [
u("span", { class: "text-sm flex items-center gap-1", children: [
          t("Fetch"),
u("div", { class: "tooltip tooltip-right", "data-tip": t("Use Batch/Auto Batch if single fetch fails"), children: u(IconInfoCircle, { size: 14, class: "opacity-70" }) })
        ] }),
u("div", { class: "flex flex-wrap items-center gap-3 justify-start", children: ["single", "batch", "auto"].map((mode) => u("label", { class: "label cursor-pointer gap-2", children: [
u(
            "input",
            {
              type: "radio",
              name: "fetch-mode",
              class: "radio radio-sm radio-primary",
              checked: (appOptionsManager.get("fetchMode") ?? "single") === mode,
              onChange: () => {
                playRadioClickSound();
                appOptionsManager.set("fetchMode", mode);
                force((x) => x + 1);
              }
            }
          ),
u("span", { class: "label-text capitalize text-xs", children: mode === "auto" ? t("Auto Batch") : mode === "batch" ? t("Batch") : t("Single") })
        ] }, mode)) })
      ] }),
u("div", { class: "flex items-center justify-between", children: [
u("span", { class: "text-sm", children: t("Batch Size") }),
u(
          "input",
          {
            type: "number",
            min: "1",
            class: `input input-bordered input-sm w-16 text-right ${!isBatching ? "opacity-50" : ""}`,
            value: appOptionsManager.get("batchSize") ?? 100,
            onChange: (e) => {
              const v = parseInt(e.target.value, 10);
              const safe = Number.isFinite(v) && v >= 1 ? v : 100;
              appOptionsManager.set("batchSize", safe);
              force((x) => x + 1);
            },
            disabled: !isBatching
          }
        )
      ] }),
u("div", { class: "flex items-center justify-between", children: [
u("span", { class: "text-sm", children: t("Starting Batch") }),
u(
          "input",
          {
            type: "number",
            min: "0",
            class: `input input-bordered input-sm w-16 text-right ${!isBatching ? "opacity-50" : ""}`,
            value: appOptionsManager.get("startingBatch") ?? 0,
            onChange: (e) => {
              const v = parseInt(e.target.value, 10);
              const safe = Number.isFinite(v) && v >= 0 ? v : 0;
              appOptionsManager.set("startingBatch", safe);
              force((x) => x + 1);
            },
            disabled: !isBatching
          }
        )
      ] }),
u("div", { class: "divider my-2" }),
u("div", { class: "flex justify-between items-center", children: [
u("span", { class: "text-sm flex items-center gap-1", children: [
          t("Include Retweets"),
u("div", { class: "tooltip tooltip-right", "data-tip": t("Not supported with Media timeline"), children: u(IconInfoCircle, { size: 14, class: "opacity-70" }) })
        ] }),
u(
          "input",
          {
            type: "checkbox",
            class: "toggle toggle-primary",
            checked: appOptionsManager.get("includeRetweets") ?? false,
            onChange: (e) => {
              const checked = e.target.checked;
              checked ? playToggleOnSound() : playToggleOffSound();
              appOptionsManager.set("includeRetweets", checked);
              if (checked && appOptionsManager.get("timelineType") === "media") {
                appOptionsManager.set("timelineType", "timeline");
              }
              force((x) => x + 1);
            }
          }
        )
      ] }),
u("div", { class: "flex items-center justify-between", children: [
u("span", { class: "text-sm", children: t("Timeline") }),
u("div", { class: "flex flex-wrap items-center gap-3 justify-start", children: [
          { value: "media", label: "Media" },
          { value: "timeline", label: "Posts" },
          { value: "tweets", label: "Tweets" },
          { value: "with_replies", label: "Replies" }
        ].filter((opt) => {
          const includeRetweets = appOptionsManager.get("includeRetweets") ?? false;
          return !(includeRetweets && opt.value === "media");
        }).map((opt) => u("label", { class: "label cursor-pointer gap-2", children: [
u(
            "input",
            {
              type: "radio",
              name: "timeline-type",
              class: "radio radio-sm radio-primary",
              checked: (appOptionsManager.get("timelineType") ?? "media") === opt.value,
              onChange: () => {
                playRadioClickSound();
                appOptionsManager.set("timelineType", opt.value);
                force((x) => x + 1);
              }
            }
          ),
u("span", { class: "label-text capitalize text-xs", children: t(opt.label) })
        ] }, opt.value)) })
      ] }),
u("div", { class: "flex items-center justify-between", children: [
u("span", { class: "text-sm", children: t("Media") }),
u("div", { class: "flex flex-wrap items-center gap-3 justify-start", children: [
          { value: "all", label: "All" },
          { value: "image", label: "Image" },
          { value: "video", label: "Video" },
          { value: "gif", label: "GIF" }
        ].map((opt) => u("label", { class: "label cursor-pointer gap-2", children: [
u(
            "input",
            {
              type: "radio",
              name: "media-type",
              class: "radio radio-sm radio-primary",
              checked: (appOptionsManager.get("mediaType") ?? "all") === opt.value,
              onChange: () => {
                playRadioClickSound();
                appOptionsManager.set("mediaType", opt.value);
                force((x) => x + 1);
              }
            }
          ),
u("span", { class: "label-text capitalize text-xs", children: t(opt.label) })
        ] }, opt.value)) })
      ] }),
u("div", { class: "divider my-2" }),
u("div", { class: "flex justify-between items-center", children: [
u("span", { class: "text-sm flex items-center gap-1", children: [
          t("Convert Animated GIFs"),
u("div", { class: "tooltip tooltip-right", "data-tip": t("Larger size, same quality"), children: u(IconInfoCircle, { size: 14, class: "opacity-70" }) })
        ] }),
u(
          "input",
          {
            type: "checkbox",
            class: "toggle toggle-primary",
            checked: appOptionsManager.get("convertAnimatedGifs") ?? true,
            onChange: (e) => {
              const checked = e.target.checked;
              checked ? playToggleOnSound() : playToggleOffSound();
              appOptionsManager.set("convertAnimatedGifs", checked);
              if (checked) {
                appOptionsManager.set("convertGifsExternal", false);
              }
              force((x) => x + 1);
            }
          }
        )
      ] }),
u("div", { class: "flex justify-between items-center", children: [
u("span", { class: "text-sm flex items-center gap-1", children: [
          t("Convert GIFs (External)"),
u("div", { class: "tooltip tooltip-right", "data-tip": t("Smaller size, same quality"), children: u(IconInfoCircle, { size: 14, class: "opacity-70" }) })
        ] }),
u(
          "input",
          {
            type: "checkbox",
            class: "toggle toggle-primary",
            checked: appOptionsManager.get("convertGifsExternal") ?? false,
            onChange: (e) => {
              const checked = e.target.checked;
              checked ? playToggleOnSound() : playToggleOffSound();
              appOptionsManager.set("convertGifsExternal", checked);
              if (checked) {
                appOptionsManager.set("convertAnimatedGifs", false);
              }
              force((x) => x + 1);
            }
          }
        )
      ] }),
u("div", { class: "flex items-center justify-between", children: [
u("span", { class: "text-sm flex items-center gap-1", children: [
          t("Concurrent Downloads"),
u("div", { class: "tooltip tooltip-right", "data-tip": t("Use 10+ only with fast internet"), children: u(IconInfoCircle, { size: 14, class: "opacity-70" }) })
        ] }),
u(
          "input",
          {
            type: "number",
            min: "1",
            max: "50",
            class: "input input-bordered input-sm w-16 text-right",
            value: appOptionsManager.get("downloadConcurrency") ?? 10,
            onChange: (e) => {
              const v = parseInt(e.target.value, 10);
              const safe = Number.isFinite(v) && v >= 1 && v <= 50 ? v : 10;
              appOptionsManager.set("downloadConcurrency", safe);
              force((x) => x + 1);
            },
            "aria-label": t("Concurrent Downloads")
          }
        )
      ] })
    ] });
  }
  function ThemeSelector({
    dropdownClasses = "",
    btnClasses = "btn-ghost",
    contentClasses = "mt-16"
  }) {
    const { t } = useTranslation();
    const currentTheme = signals.useSignal(appOptionsManager.get("theme"));
    hooks.useEffect(() => {
      const unsub = appOptionsManager.signal.subscribe(() => {
        currentTheme.value = appOptionsManager.get("theme");
      });
      return () => {
        try {
          unsub?.();
        } catch {
        }
      };
    }, []);
    hooks.useEffect(() => {
      document.documentElement.setAttribute("data-theme", currentTheme.value || "light");
    }, [currentTheme.value]);
    const handleThemeChange = (theme) => {
      playClickSound();
      currentTheme.value = theme;
      appOptionsManager.set("theme", theme);
      document.documentElement.setAttribute("data-theme", theme);
    };
    return u("div", { class: cx("dropdown dropdown-end block", dropdownClasses), children: [
u(
        "div",
        {
          tabIndex: 0,
          role: "button",
          class: cx("btn group btn-sm gap-1.5 px-1.5 justify-start", btnClasses),
          "aria-label": t("Change Theme"),
          children: [
u("div", { class: "bg-base-100 group-hover:border-base-content/20 border-base-content/10 grid shrink-0 grid-cols-2 gap-0.5 rounded-md border p-1 transition-colors", children: [
u("div", { class: "bg-base-content size-1 rounded-full" }),
u("div", { class: "bg-primary size-1 rounded-full" }),
u("div", { class: "bg-secondary size-1 rounded-full" }),
u("div", { class: "bg-accent size-1 rounded-full" })
            ] }),
u("div", { class: "w-24 truncate text-xs capitalize text-left", children: currentTheme.value || "light" }),
u(
              "svg",
              {
                width: "12px",
                height: "12px",
                class: "mt-px hidden size-2 fill-current opacity-60 sm:inline-block ml-auto",
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 2048 2048",
                children: u("path", { d: "M1799 349l242 241-1017 1017L7 590l242-241 775 775 775-775z" })
              }
            )
          ]
        }
      ),
u(
        "div",
        {
          tabIndex: 0,
          class: cx(
            "dropdown-content bg-base-200 text-base-content rounded-box mt-2 max-h-60 overflow-y-auto border-(length:--border) border-white/5 shadow-2xl outline-(length:--border) outline-black/5",
            contentClasses
          ),
          children: u("ul", { class: "menu w-56", children: [
u("li", { class: "menu-title text-xs", children: t("Change Theme") }),
            THEMES.map((theme) => u("li", { children: u(
              "button",
              {
                class: cx(
                  "gap-3 px-2",
                  currentTheme.value === theme && "[&_svg]:visible"
                ),
                onClick: () => handleThemeChange(theme),
                children: [
u(
                    "div",
                    {
                      "data-theme": theme,
                      class: "bg-base-100 grid shrink-0 grid-cols-2 gap-0.5 rounded-md p-1 shadow-sm",
                      children: [
u("div", { class: "bg-base-content size-1 rounded-full" }),
u("div", { class: "bg-primary size-1 rounded-full" }),
u("div", { class: "bg-secondary size-1 rounded-full" }),
u("div", { class: "bg-accent size-1 rounded-full" })
                      ]
                    }
                  ),
u("div", { class: "w-32 truncate capitalize", children: theme }),
u(
                    "svg",
                    {
                      xmlns: "http://www.w3.org/2000/svg",
                      width: "16",
                      height: "16",
                      viewBox: "0 0 24 24",
                      fill: "currentColor",
                      class: "invisible h-3 w-3 shrink-0",
                      children: u("path", { d: "M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z" })
                    }
                  )
                ]
              }
            ) }, theme))
          ] })
        }
      )
    ] });
  }
  const flagCN = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20id='flag-icons-cn'%20viewBox='0%200%20640%20480'%3e%3cdefs%3e%3cpath%20id='cn-a'%20fill='%23ff0'%20d='M-.6.8%200-1%20.6.8-1-.3h2z'/%3e%3c/defs%3e%3cpath%20fill='%23ee1c25'%20d='M0%200h640v480H0z'/%3e%3cuse%20xlink:href='%23cn-a'%20width='30'%20height='20'%20transform='matrix(71.9991%200%200%2072%20120%20120)'/%3e%3cuse%20xlink:href='%23cn-a'%20width='30'%20height='20'%20transform='matrix(-12.33562%20-20.5871%2020.58684%20-12.33577%20240.3%2048)'/%3e%3cuse%20xlink:href='%23cn-a'%20width='30'%20height='20'%20transform='matrix(-3.38573%20-23.75998%2023.75968%20-3.38578%20288%2095.8)'/%3e%3cuse%20xlink:href='%23cn-a'%20width='30'%20height='20'%20transform='matrix(6.5991%20-23.0749%2023.0746%206.59919%20288%20168)'/%3e%3cuse%20xlink:href='%23cn-a'%20width='30'%20height='20'%20transform='matrix(14.9991%20-18.73557%2018.73533%2014.99929%20240%20216)'/%3e%3c/svg%3e";
  const flagSA = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20id='flag-icons-sa'%20viewBox='0%200%20640%20480'%3e%3cdefs%3e%3cclipPath%20id='sa-a'%3e%3cpath%20fill-opacity='.7'%20d='M-85.3%200h682.6v512H-85.3z'/%3e%3c/clipPath%3e%3c/defs%3e%3cg%20fill-rule='evenodd'%20clip-path='url(%23sa-a)'%20transform='translate(80)scale(.9375)'%3e%3cpath%20fill='%23165d31'%20d='M-128%200h768v512h-768z'/%3e%3cpath%20fill='%23fff'%20d='M65.5%20145.1c-.8%2012-2%2033%208.3%2035.2%2012.3%201.2%205.5-20.8%2010-24.8.8-2%202.3-2%202.4.5v18.7c0%206%204%207.8%207%209%203.2-.2%205.4%200%206.6%203l1.6%2032.3s7.4%202.2%207.8-18.1c.3-12-2.4-21.9-.8-24.2%200-2.3%203-2.4%205-1.3%203.2%202.2%204.6%205%209.6%204%207.6-2.2%2012.2-5.9%2012.3-11.7a47%2047%200%200%200-3.5-16.6c.4-1-1.4-3.7-1-4.7%201.3%202.2%203.4%202%203.8%200-1.3-4.2-3.3-8.3-6.5-10-2.7-2.4-6.7-2-8%203-.8%205.7%202%2012.4%206.1%2018%20.9%202.1%202.1%205.7%201.6%208.9q-3.4%201.8-6.3-1.2s-6-4.5-6-5.6c1.6-10.2.3-11.4-.6-14.3-.6-3.9-2.5-5.2-4-7.8-1.5-1.6-3.5-1.6-4.5%200-2.7%204.6-1.4%2014.5.5%2019%201.4%204.1%203.5%206.7%202.5%206.7-.8%202.3-2.5%201.7-3.8-1a67%2067%200%200%201-2.1-17.4c-.5-4.6-1.1-14.4-4.2-17-1.8-2.4-4.5-1.2-5.5%201a82%2082%200%200%200%20.3%2013.4c2%207.4%202.7%2014%203.7%2021.5.3%2010.1-5.8%204.4-5.5-.7a45%2045%200%200%200-.3-19.4c-1-2.6-2.1-3.2-4.6-2.8-1.9%200-6.8%205.3-8.2%2014.3%200%200-1.2%204.6-1.7%208.7-.7%204.6-3.7%208-5.9-.6-1.8-6.3-3-21.6-6-18z'/%3e%3cpath%20fill='%23fff'%20d='m99%20194.2-32%2015.4c.3-7.3%2015.1-20.4%2025.3-20.5%206.5.1%204.9%202.5%206.6%205.1z'/%3e%3cpath%20fill='%23fff'%20d='M93.3%20204.2c-16.8%2043.5%2039.5%2049.6%2045.8%201.8.6-2%203-3.9%203.4-.7-1.3%2043.3-43.6%2046.2-50.8%2032.6a42%2042%200%200%201-2.5-14.6c-1-8.5-5.5-5.2-6.2%203.2-.7%204.7-.5%206-.5%2010.5%202.2%2034.2%2056.7%2019.5%2065.6-8.7%204.7-15.6-.8-27.1%201.7-27.1%205.4%205.8%2013%20.8%2014.7-1.2.7-1%202.5-1.7%203.7-.4%204.2%203%2011.6%201.6%2013.2-3.7q1.4-8%201.8-16.2c-3.5%201-6%201.7-6.3%203.2l-.7%204.6c-.3%201.5-3.2%201.5-3.4-.4-1.3-6-6.7-6.7-10%202.5-2.1%201.8-6.1%202.2-6.5-.5.5-6.2-2-7-7-4.1l-4.8-36.2c2%200%204%201.5%205.9-.9-2-6.5-6.5-19.7-9-20.7-1.1-1.4-2.1-.5-3.7-.1-2.6.8-5%203-4.2%207.4%203%2018.8%205%2033.1%208.1%2052%20.5%202.1-1.3%205-3.7%204.7-4-2.7-5-8.2-12-8-5%200-10.6%205.5-11.3%2010.7-.9%204.2-1.2%208.7%200%2012.3%203.5%204.2%207.7%203.8%2011.4%202.9%203-1.3%205.5-4.3%206.6-3.6.7.9.1%2010.9-14.3%2018.5-8.7%204-15.7%204.8-19.4-2.3-2.3-4.5.2-21.4-5.6-17.5'/%3e%3cpath%20fill='%23fff'%20d='M165%20160c3.3-1.2%2019.3-19.6%2019.3-19.6l-2.4-2q-1.3-1.1%200-2.2c4-2.4%202.7-7.4.7-9.8a10%2010%200%200%200-8.7.1c-2.8%202.7-3.4%207-1.2%209.6%202.1%201%204.2%203.2%202.8%204.4-6.6%207-24.5%2019.1-22.4%2019.5.4.6%2011.5.6%2011.8%200zm-97%2065c-6%209.6-6.5%2023.9-3.2%2028.2%201.8%202%204.7%202.9%206.8%202.2%203.8-1.6%205.5-9.3%204.6-12q-1.8-3-3.6-.7c-2.6%205.4-3.7%201.7-4-1.3a70%2070%200%200%201%20.8-15.2c.7-4.2%200-3-1.4-1.2m257.1-15.3c-5.8-12.6-13.9-25-16.4-29.7a558%20558%200%200%200-24.8-36c-6.2-7.4%2010.2%203.1-2-11.7l-8.9-7.5c-2-1.4-6.8-4-7.6.2-.4%203.8-.2%205.8.4%208.9.5%202%203.5%205.5%205%207.5a565%20565%200%200%201%2053.8%2086.5c2.6-1.3%202-16.1.5-18.2'/%3e%3cpath%20fill='%23fff'%20d='M299.6%20251.5c-1.2%201.3%202.8%206.8%208%206.8%208.6-1%2016.2-5.8%2023.2-18.6a33%2033%200%200%200%205.3-14.2%20317%20317%200%200%200-5.8-72.4c-.3-2%200-4.4.2-5%20.6-.7%202.5%200%203.5-1.7%201.5-1.5-4-14-7-18.7-1-2.2-1.5-3.6-3.3.2a27%2027%200%200%200-3%2013.6c4.1%2028.5%205.4%2053.4%208%2081.9.3%202.8-.1%206.8-2%208.4a80%2080%200%200%201-27.1%2019.7m116.5-.1c-6.2%203.6-6.2%207.7-1.2%207.8%208.6-1%2018.8-1.7%2025.8-12.3a41%2041%200%200%200%204.2-16%20303%20303%200%200%200-4.7-71.4c-.2-2-1.1-6.7-.8-7.3.6-1.4%203.4.1%204.4-1.5%201.4-1.5-7.3-12.7-10.4-17.5-1-2.2-1.4-3.6-3.3.2a22%2022%200%200%200-1.8%2013.6c4.6%2031%208%2054.2%208.7%2081.6-.4%202.6-.5%204-1.7%207.3-2.7%203.4-5.7%207.8-8.5%209.9-2.8%202-8.8%204-10.7%205.6'/%3e%3cpath%20fill='%23fff'%20d='M420.7%20223.7q.1-10.9-.1-19a34%2034%200%200%200-3-13.5c-1.8-4.1-.7-7.4-1.6-11.8-.8-4.4-.6-11-1.8-16.1-.4-2-1.4-8.5-1.1-9.2.5-1.4%202.4%200%203.4-1.6%201.4-1.5-5-18-8.2-22.7-1.1-2.1-3.3-1.4-5.8%202-2.5%202.3-1.6%207.4-.6%2012.3%206.1%2032.3%2010.8%2061.6%209.8%2092.3-.4%202.6%209-7.8%209-12.7m-45.7-40c-3.9-.2-12-7.7-14.4-12a8%208%200%200%201%20.4-6.5c1.5-1%203.7-2%205.4-1%200%200%201.7%202.4%201.4%202.7%202%201%203%20.5%203.2-.4.1-1.5-.6-2.4-.6-4%20.9-4.6%206-5.3%208-2.4%201.4%201.8%202%205.5%202.1%208%200%201.3-2-.2-3.3%200-1.1.4-1.4%201.8-1.5%203-.2%203.3-.6%208.6-.7%2012.5zm-71.8%2048c1-9.8-.4-27.3-.5-33.1A477%20477%200%200%200%20299%20154c-1.2-8.4%203.4.9%202.8-4-1.5-8.3-6.1-14-11.6-21.5-1.7-2.5-1.7-3-4.4.6-3%206.7-.4%2011.4.4%2016.7%203.9%2017.2%206.2%2033%207.3%2048.7a393%20393%200%200%201%20.4%2049c3%20.1%207.6-4.7%209.3-11.8'/%3e%3cpath%20fill='%23fff'%20d='M434%20216c-6.9-11.6-17.2-24-20-28.7a658%20658%200%200%200-29.2-37.8c-8.5-9%204-1.5-1.6-8.5-4.7-5.1-6-6.8-10.1-9.9-2-1.3-3.2-3.8-4%20.5a83%2083%200%200%200-.2%2011.2c0%201.7%201.8%205%203.4%207%2020.7%2025.5%2043.4%2051.5%2061.6%2084.2%202.6-1.3%201.7-16%200-18z'/%3e%3cpath%20fill='%23165d31'%20d='M122.6%20194.7c-.5.9-1.6%202-1.2%203.1q1%201.4%202.6%201.3c1.1%200%202.7.3%203-.3q1-1.2.6-3.3c-1.2-3-4.4-1.8-5-.8'/%3e%3cpath%20fill='%23fff'%20d='M354.2%20362.5c9.2.4%2015.2.5%2023.3%201.4l9.6-1c10.6-1%2011%2015.1%2011%2015.1%200%209.5-3.7%2010-8.4%2011-2.7.4-4-1.6-5.5-3.6a14%2014%200%200%201-7%20.4l-11.5-.5c-4-.3-6.2.5-10.3.1-.8%201.3-2%203.1-4.4%202.6-2-.3-4.5-6-3.8-10.5%201.5-3.2%201-2.1%201-3.5-37.6-1-75.5-2.7-112.3-2.2-28.8.1-57.2%201.3-85.7%202.5-15.2-.2-26.8-2.6-34.8-14.3.8%200%2038.8%202.1%2049.9%201.4%2020.5-.2%2039.3-1.9%2060.2-2.5%2041.2.7%2082.1.7%20123.3%203.6-4-2.7-4-9%202-10.6.5-.4.8%203.1%201.7%203%204.9-.3%202.7%206.3%201.7%207.6M188.6%20135.3c-6.2%2017.8%203.6%2037.4%2010.4%2035.5%205%202%208-7.4%2010-17.6%201.5-2.9%202.5-3.2%203.2-1.7-.2%2013.6%201%2016.7%204.5%2020.8%207.8%206%2014.3.8%2014.8.3l6-6.1q2.2-2.2%205.1-.3c1.9%201.7%201.6%204.6%205.6%206.6%203.4%201.4%2010.5.4%2012.2-2.5%202.2-3.9%202.8-5.2%203.8-6.6%201.6-2.1%204.3-1.2%204.3-.5-.3%201.2-1.9%202.3-.8%204.5%202%201.4%202.4.5%203.5.2%204-2%207-10.6%207-10.6.1-3.2-1.7-3-2.9-2.2l-3.1%202.1c-2%20.3-5.7%201.6-7.6-1.3-1.9-3.4-1.9-8.3-3.3-11.8%200-.2-2.6-5.5-.2-5.8%201.2.2%203.7.9%204.1-1.2%201.2-2.1-2.6-8-5.3-11-2.3-2.5-5.5-2.8-8.6-.2-2.2%202-1.9%204.2-2.3%206.3a10%2010%200%200%200%202%208.7c2.2%204.2%206.1%209.7%204.8%2017.5%200%200-2.3%203.6-6.3%203.1-1.7-.3-4.4-1-5.8-11.8-1.1-8%20.2-19.4-3.2-24.7-1.3-3.3-2.2-6.4-5.2-.9-.8%202.2-4.3%205.5-1.8%2012.2a36%2036%200%200%201%202%2019c-1.5%202.2-1.8%202.9-3.7%205-2.6%203-5.5%202.2-7.7%201.1-2-1.3-3.6-2-4.6-6.5.2-7%20.6-18.5-.7-20.9-1.9-3.8-5-2.4-6.3-1.2a48%2048%200%200%200-11.5%2023.5c-1.8%205.8-3.7%204.1-5%201.8-3.2-3-3.5-26.7-7.4-22.8'/%3e%3cpath%20fill='%23fff'%20d='M207.4%20174.1c2.9-2%201.6-3.4%205.8.8a72%2072%200%200%201%209.2%2031.3c-.2%202.6%201.6%204.2%202.5%203.6.4-6%2015.1-14.4%2028.6-15.6%202-.5%201-4.4%201.3-6.4-.8-7.5%204.2-14.3%2011.2-14.8%209.6%201.4%2012.8%206.5%2013%2014.2-1.1%2015-16.7%2017.5-25.4%2018.7-1.3.5-1.9%201.1%200%201.8l36.6.2%201.9%201c.2%201-.6.2-2%202.6a30%2030%200%200%200-3.7%2011.5c-10.9%203.6-22.2%205-33.6%206.5-4%202-6%204.7-5.2%207.7%201.4%203.3%2010.2%206.7%2010.2%206.8%201.7%201%203.6%203.5-.5%208.6-17.8-.8-31.7-8.4-36.5-19.1-1.4-1.1-3%200-4%201.4-7%209-13.8%2017-25.7%2021.4-7%201.8-14.3-1.1-17.7-5.7-2.3-2.7-2.2-5.6-3-6.2-3.9%201.7-36.9%2015.7-32.7%209.1%208-8.5%2022-14.9%2034.2-23.3.9-2.9%202.5-12.5%207.3-15.6.3%200-.7%205.6-.6%208%200%202-.2%202.7.2%202.2.9-.5%2015.7-12.2%2017-15.8%201.4-2%20.3-7.2.3-7.4-2.8-7.2-6.7-7.8-8.1-11.4-1.3-4.7-.7-10.1%202-11.7q3.7-3.1%207.9.5c3%202.7%205.6%208%206.4%2011.9-.5%201.5-4-1-5-.3a16%2016%200%200%201%203.7%207.8c2%208.2%201.4%2011.4-.6%2016.7-6.6%2013.9-15%2018-22.4%2023.2-.2%200-.3%203.5%202.4%205.4%201%201%204.9%201.5%209.4%200a55%2055%200%200%200%2022.3-23.3%2051%2051%200%200%200-2.4-22.2c-2.9-6.7-6.3-16.2-6.3-16.4-.1-4.2.2-5.6%202-7.7m-95.8-38.6c4.2%202%2012.2%201.1%2011.8-5.7l-.2-3.1c-.8-2-3.2-1.5-3.7.5-.2.7.3%201.8-.3%202.1-.4.4-1.7.2-1.7-1.7q-.1-1-.7-1.6-.2-.2-.9-.2c-.6%200-.6.1-.9.6l-.3%201.6q-.1.9-.8%201c-.6%200-.5%200-1-.2q-.4-.3-.5-1l-.3-1.6q-.3-.4-1-.6c-2.3%200-2.5%202.7-2.3%203.7-.2.2-.3%204.9%202.8%206.2'/%3e%3cpath%20fill='%23fff'%20d='M235.1%20187.7c4.2%202%2014.3.9%2011.8-5.6l-.2-3.2c-.9-2-3.2-1.5-3.7.6-.2.6.3%201.7-.4%202-.3.4-1.7.2-1.6-1.6q-.1-1-.7-1.7-.3-.2-1-.2c-.5%200-.5.2-.8.7q-.3.7-.3%201.6-.2.8-.9%201c-.5%200-.4%200-.8-.3q-.5-.3-.6-.9l-.3-1.6q-.3-.5-1-.6c-2.3%200-2.5%202.6-2.4%203.6-.1.2-.2%205%203%206.2zm72-21.6c4.2%202%2012.1%201.1%2011.8-5.6l-.2-3.2c-.9-2-3.2-1.5-3.7.5-.2.7.3%201.8-.4%202.2-.3.3-1.7.1-1.6-1.8q-.1-1-.7-1.6-.3-.2-1-.2t-.8.7l-.3%201.5q-.1%201-.9%201c-.8%200-.4%200-.8-.2q-.5-.3-.6-.9%200-1-.3-1.7-.4-.4-1-.5c-2.3%200-2.5%202.6-2.4%203.6-.1.2-.2%204.9%203%206.2zm37.3%2054.3c-7.3%208.3-4.1%2022-2.4%2025%202.4%204.8%204.3%207.9%209%2010.3%204.3%203.1%207.7%201.2%209.5-1%204.3-4.5%204.4-16%206.4-18.2%201.4-4.2%205-3.5%206.7-1.6a17%2017%200%200%200%206.2%205.3c4%203.5%208.8%204.2%2013.6%201%203.2-1.9%205.3-4.2%207.2-8.9%202-5.6%201-31.6.5-47l-4.2-21.5c0-.2-.5-10.2-1-12.5%200-1-.3-1.3.7-1.2%201.1%201%201.2%201%202%201.3%201%20.2%202-1.7%201.3-3.3l-10-18.6c-.8-.8-1.9-1.6-3.2.2a7%207%200%200%200-2.4%205.5l1.3%2013.3%204%2022.6c1.3%2016%201.6%2029.2%202.9%2045.3-.2%206.8-2.3%2012.7-4.3%2013.6%200%200-3%201.7-5-.2-1.5-.6-7.4-9.9-7.4-9.9-3-2.7-5-2-7.1%200-6%205.8-8.6%2016.4-12.7%2023.8-1%201.7-4%203-7.2-.1-8.2-11.3-3.4-27.3-4.4-23.2M309%20126.7c3.8%201.5%206.4%209.2%205.6%2013-.8%204.5-2.8%209.5-4.2%208.9-1.6-.6%201-4.6-.5-8.8-.8-2.8-6-7.8-5.4-9.2-1-3.1%202.2-4.5%204.5-4z'/%3e%3cpath%20fill='%23fff'%20d='M356.6%20225c.7-9.2-.6-14.8-.8-20.2s-6.1-46.6-7.3-50.6c-1.5-7.8%205.7-1%204.9-5.6-2.5-5.6-8.6-13.9-10.5-18.8-1.2-2-.7-4-3.3-.5a42%2042%200%200%200-2.3%2019.2c6.2%2032.3%2012.5%2059.1%2011.5%2089.8%203%200%206.3-6.7%207.8-13.3m64.4-85.3c3.5%201.7%205.5%2011.3%205.1%2014-.7%205-2.5%2010.4-3.8%209.7-1.5-.6.3-7.4-.4-9.5-.8-3-5.5-8.4-5-10-1-3.4%202-4.8%204.1-4.2m-255.7%2067.9c3.3%201.3%205.3%208.3%205%2010.3-.8%203.7-2.5%207.7-3.8%207.1-1.3-.4.3-5.4-.3-7-.3-3.7-4.9-5.7-4.8-7.3-.8-3%202-3.5%204-3.1z'/%3e%3cpath%20fill='%23165d31'%20d='M244.9%20218.2c4.2.2%206.3%203.6%202.4%205-4%201.3-7.7%202.4-7.8%208%201.5%208-2%205.2-4%204.2-2.4-1.8-9.2-6-10.2-15-.1-2.1%201.6-4%204.3-4%204%201.1%2010%201.2%2015.3%201.8'/%3e%3cpath%20fill='%23fff'%20d='M77.4%20124.4c4.8%201.4%205.1%208.6%204.8%2010.7-.7%203.8-2.4%207.9-3.6%207.4-1.4-.5%200-5.7-.7-7.3-.7-2.2-4.8-6.4-4.4-7.6-.9-2.5%202-3.7%203.9-3.2m95.9%2033.6c-3.8%202-5.2%208-2.9%2011.6%202.2%203%205.6%201.9%206%201.9%203.7.4%205.9-6.9%205.9-6.9s.1-2-4.2%201.9c-1.9.3-2-.4-2.5-1.4a9%209%200%200%201%20.5-5.7c.7-1.8-.7-2.6-2.8-1.4m28-36.4c-2%201.3-5.7%205.2-5.8%209.6-.1%202.5-.6%202.5%201%204%201.3%201.8%202.4%201.7%204.8.4a5%205%200%200%200%202.3-3.4c.6-2.8-3%201.4-3.4-1.8-.8-3%201.5-4.2%203.7-7%200-2%200-3.3-2.7-1.8zm22.4%204a60%2060%200%200%200-1.6%2011.1c-.6%202.8%203%204%204.5.4%202.4-6.5%202.4-9.3%202.6-12-.7-4.3-3.6-4.2-5.5.5m142%2072.3c.4-.5%2020-14.4%2020-14.4%202-.7%201.5%207.2.6%207.1a78%2078%200%200%201-20.7%2014.3c-1%20.7-1.9-5.3%200-7zm17.7-.2c3.5%201.7%204.9%2011.8%204.5%2014.5%200%205.4-3.3%209.6-4.7%209-1.4-.7.2-6.7-.5-8.8-.8-3-3.7-8.5-3.2-10.1-1-3.4%201.8-5.2%204-4.6zm-116%2043.4a26%2026%200%200%201%205.6-4.9c2-1%203.8.8%203.7.7.3%202-1.2%203.7-.7%206.3.4%201%20.7%202.2%202.6%201.8%203.1-2.5%206-2.7%209-2.8%202.5.1%202.6%204.2%201%204.2-5.7%201.2-8.2%202.8-12.3%204.3-2%201.2-3.6-.3-3.6-.4s-1.1-1.1-.4-3.7q.3-3.2-2.4-3c-1.2.8-2.4%201.2-3-.3q-.6-1.4.5-2.2m136.6%205.4c.8%201%201.4%202-.1%203.8l-3.7%203.2c-.6%201-1%202.8%201%203.3%203.6%201%2012-4.5%2012-4.6%201.4-1%201-3%20.8-3-.8-.9-2.6-.3-3.8-.5-.6%200-2.5-.2-1.6-2a11%2011%200%200%200%201.6-2.9q.9-1.7-2-2.7c-2.1-.4-3-.2-5.3%200q-1.6.2-1.9%202.3c.1%202.3%201.5%202.2%203%203z'/%3e%3cpath%20fill='%23165d31'%20d='M268.1%20189.7c-.5%201-2.3%201-4%200s-2.7-2.6-2.1-3.5%202.3-.9%204%200%202.6%202.6%202.1%203.5m-89-53.6c-1%20.3-2.4-.6-3-2s-.3-2.6.7-2.9%202.3.7%203%202%20.3%202.7-.8%203zM355.2%20375c9.4.4%2018.2%200%2027.5.5%201.7%201.5.5%205-.6%204.8l-7.8-.3c-.1-3-7.7-2.5-7.5.1-4.1.5-7.8-.1-12-.3-1.2-1.5-1-4.2.4-4.8'/%3e%3c/g%3e%3c/svg%3e";
  const flagJP = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20id='flag-icons-jp'%20viewBox='0%200%20640%20480'%3e%3cdefs%3e%3cclipPath%20id='jp-a'%3e%3cpath%20fill-opacity='.7'%20d='M-88%2032h640v480H-88z'/%3e%3c/clipPath%3e%3c/defs%3e%3cg%20fill-rule='evenodd'%20stroke-width='1pt'%20clip-path='url(%23jp-a)'%20transform='translate(88%20-32)'%3e%3cpath%20fill='%23fff'%20d='M-128%2032h720v480h-720z'/%3e%3ccircle%20cx='523.1'%20cy='344.1'%20r='194.9'%20fill='%23bc002d'%20transform='translate(-168.4%208.6)scale(.76554)'/%3e%3c/g%3e%3c/svg%3e";
  const flagKR = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20id='flag-icons-kr'%20viewBox='0%200%20640%20480'%3e%3cdefs%3e%3cclipPath%20id='kr-a'%3e%3cpath%20fill-opacity='.7'%20d='M-95.8-.4h682.7v512H-95.8z'/%3e%3c/clipPath%3e%3c/defs%3e%3cg%20fill-rule='evenodd'%20clip-path='url(%23kr-a)'%20transform='translate(89.8%20.4)scale(.9375)'%3e%3cpath%20fill='%23fff'%20d='M-95.8-.4H587v512H-95.8Z'/%3e%3cg%20transform='rotate(-56.3%20361.6%20-101.3)scale(10.66667)'%3e%3cg%20id='kr-c'%3e%3cpath%20id='kr-b'%20fill='%23000001'%20d='M-6-26H6v2H-6Zm0%203H6v2H-6Zm0%203H6v2H-6Z'/%3e%3cuse%20xlink:href='%23kr-b'%20width='100%25'%20height='100%25'%20y='44'/%3e%3c/g%3e%3cpath%20stroke='%23fff'%20d='M0%2017v10'/%3e%3cpath%20fill='%23cd2e3a'%20d='M0-12a12%2012%200%200%201%200%2024Z'/%3e%3cpath%20fill='%230047a0'%20d='M0-12a12%2012%200%200%200%200%2024A6%206%200%200%200%200%200Z'/%3e%3ccircle%20cy='-6'%20r='6'%20fill='%23cd2e3a'/%3e%3c/g%3e%3cg%20transform='rotate(-123.7%20191.2%2062.2)scale(10.66667)'%3e%3cuse%20xlink:href='%23kr-c'%20width='100%25'%20height='100%25'/%3e%3cpath%20stroke='%23fff'%20d='M0-23.5v3M0%2017v3.5m0%203v3'/%3e%3c/g%3e%3c/g%3e%3c/svg%3e";
  const flagFR = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20id='flag-icons-fr'%20viewBox='0%200%20640%20480'%3e%3cpath%20fill='%23fff'%20d='M0%200h640v480H0z'/%3e%3cpath%20fill='%23000091'%20d='M0%200h213.3v480H0z'/%3e%3cpath%20fill='%23e1000f'%20d='M426.7%200H640v480H426.7z'/%3e%3c/svg%3e";
  const flagIN = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20id='flag-icons-in'%20viewBox='0%200%20640%20480'%3e%3cpath%20fill='%23f93'%20d='M0%200h640v160H0z'/%3e%3cpath%20fill='%23fff'%20d='M0%20160h640v160H0z'/%3e%3cpath%20fill='%23128807'%20d='M0%20320h640v160H0z'/%3e%3cg%20transform='matrix(3.2%200%200%203.2%20320%20240)'%3e%3ccircle%20r='20'%20fill='%23008'/%3e%3ccircle%20r='17.5'%20fill='%23fff'/%3e%3ccircle%20r='3.5'%20fill='%23008'/%3e%3cg%20id='in-d'%3e%3cg%20id='in-c'%3e%3cg%20id='in-b'%3e%3cg%20id='in-a'%20fill='%23008'%3e%3ccircle%20r='.9'%20transform='rotate(7.5%20-8.8%20133.5)'/%3e%3cpath%20d='M0%2017.5.6%207%200%202l-.6%205z'/%3e%3c/g%3e%3cuse%20xlink:href='%23in-a'%20width='100%25'%20height='100%25'%20transform='rotate(15)'/%3e%3c/g%3e%3cuse%20xlink:href='%23in-b'%20width='100%25'%20height='100%25'%20transform='rotate(30)'/%3e%3c/g%3e%3cuse%20xlink:href='%23in-c'%20width='100%25'%20height='100%25'%20transform='rotate(60)'/%3e%3c/g%3e%3cuse%20xlink:href='%23in-d'%20width='100%25'%20height='100%25'%20transform='rotate(120)'/%3e%3cuse%20xlink:href='%23in-d'%20width='100%25'%20height='100%25'%20transform='rotate(-120)'/%3e%3c/g%3e%3c/svg%3e";
  const flagPT = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20id='flag-icons-pt'%20viewBox='0%200%20640%20480'%3e%3cpath%20fill='red'%20d='M256%200h384v480H256z'/%3e%3cpath%20fill='%23060'%20d='M0%200h256v480H0z'/%3e%3cg%20fill='%23ff0'%20fill-rule='evenodd'%20stroke='%23000'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='.6'%3e%3cpath%20d='M339.5%20306.2c-32.3-1-180-93.2-181-108l8.1-13.5c14.7%2021.3%20165.7%20111%20180.6%20107.8z'/%3e%3cpath%20d='M164.9%20182.8c-2.9%207.8%2038.6%2033.4%2088.4%2063.8s92.9%2049%2096%2046.4l1.5-2.8q-.9%201.6-4.3.6c-13.5-3.9-48.6-20-92.1-46.4-43.6-26.4-81.4-50.7-87.3-61a6%206%200%200%201-.6-3.1h-.2l-1.2%202.2zm175.3%20123.8q-.7%201.3-3.5.8c-12-1.3-48.6-19.1-91.9-45-50.4-30.2-92-57.6-87.4-64.8l1.2-2.2.2.1c-4%2012.2%2082.1%2061.4%2087.2%2064.6%2049.8%2030.8%2091.8%2048.9%2095.5%2044.2z'/%3e%3cpath%20d='M256.2%20207.2c32.2-.3%2072-4.4%2095-13.6l-5-8c-13.5%207.5-53.5%2012.5-90.3%2013.2-43.4-.4-74.1-4.5-89.5-14.8l-4.6%208.6c28.2%2012%2057.2%2014.5%2094.4%2014.6'/%3e%3cpath%20d='M352.5%20193.8c-.8%201.3-15.8%206.4-37.8%2010.2a381%20381%200%200%201-58.6%204.3%20416%20416%200%200%201-56.2-3.6c-23.1-3.6-35-8.6-39.5-10.4l1.1-2.2c12.7%205%2024.7%208%2038.7%2010.2A412%20412%200%200%200%20256%20206a392%20392%200%200%200%2058.3-4.3c22.5-3.7%2034.8-8.4%2036.6-10.5zm-4.4-8.1c-2.4%202-14.6%206.3-36%209.7a388%20388%200%200%201-55.8%204c-22%200-40.1-1.6-53.8-3.6-21.8-2.8-33.4-8-37.6-9.4l1.3-2.2c3.3%201.7%2014.4%206.2%2036.5%209.3a385%20385%200%200%200%2053.6%203.4%20384%20384%200%200%200%2055.4-4c21.5-3%2033.1-8.4%2034.9-9.8zM150.3%20246c19.8%2010.7%2063.9%2016%20105.6%2016.4%2038%20.1%2087.4-5.8%20105.9-15.6l-.5-10.7c-5.8%209-58.8%2017.7-105.8%2017.4s-90.7-7.6-105.3-17v9.5'/%3e%3cpath%20d='M362.8%20244.5v2.5c-2.8%203.4-20.2%208.4-42%2012a434%20434%200%200%201-65.4%204.4%20400%20400%200%200%201-62-4.3%20155%20155%200%200%201-44.4-12v-2.9c9.7%206.4%2035.9%2011.2%2044.7%2012.6%2015.8%202.4%2036.1%204.2%2061.7%204.2%2026.9%200%2048.4-1.9%2065-4.4%2015.7-2.3%2038-8.2%2042.4-12.1m0-9v2.5c-2.8%203.3-20.2%208.3-42%2011.9a434%20434%200%200%201-65.4%204.5%20414%20414%200%200%201-62-4.3%20155%20155%200%200%201-44.4-12v-3c9.7%206.5%2036%2011.2%2044.7%2012.6a408%20408%200%200%200%2061.7%204.3c26.9%200%2048.5-2%2065-4.5%2015.7-2.2%2038-8.1%2042.4-12m-107%2068.8c-45.6-.2-84.7-12.4-93-14.4l6%209.4a250%20250%200%200%200%2087.4%2014.3c34.7-1%2065-3.7%2086.3-14.1l6.2-9.8c-14.5%206.9-64%2014.6-93%2014.6'/%3e%3cpath%20d='m344.9%20297.3-2.8%204c-10%203.6-26%207.4-32.6%208.4a296%20296%200%200%201-53.7%205c-40.4-.6-73.5-8.5-89-15.3l-1.3-2.1.2-.4%202.1.9a287%20287%200%200%200%2088.2%2014.5c18.8%200%2037.5-2.1%2052.6-4.8%2023.2-4.7%2032.6-8.2%2035.5-9.8l.7-.4zm5.3-8.8-2%203.5c-5.4%202-20%206.2-41.3%209.2-14%201.9-22.7%203.8-50.6%204.3a347%20347%200%200%201-94.2-14L161%20289a390%20390%200%200%200%2095.4%2014c25.5-.5%2036.4-2.4%2050.3-4.3%2024.8-3.8%2037.3-8%2041-9.1v-.2l2.6-1z'/%3e%3cpath%20d='M350.8%20237.6c.1%2030-15.3%2057-27.6%2068.8a99%2099%200%200%201-67.8%2028.2c-30.3.5-58.8-19.2-66.5-27.9a101%20101%200%200%201-27.5-67.4c1.8-32.8%2014.7-55.6%2033.3-71.3a100%20100%200%200%201%2064.2-22.7%2098%2098%200%200%201%2071%2035.6c12.5%2015.2%2018%2031.7%2020.9%2056.7M255.6%20135a106%20106%200%200%201%20106%20105.2%20105.6%20105.6%200%201%201-211.4%200c-.1-58%2047.3-105.2%20105.4-105.2'/%3e%3cpath%20d='M255.9%20134.5c58.2%200%20105.6%2047.4%20105.6%20105.6S314.1%20345.7%20256%20345.7s-105.6-47.4-105.6-105.6S197.8%20134.5%20256%20134.5zM152.6%20240c0%2056.8%2046.7%20103.3%20103.3%20103.3S359.2%20296.8%20359.2%20240s-46.7-103.3-103.3-103.3S152.6%20183.2%20152.6%20240'/%3e%3cpath%20d='M256%20143.3a97%2097%200%200%201%2096.7%2096.7%2097%2097%200%200%201-96.7%2096.8c-53%200-96.7-43.6-96.7-96.8a97%2097%200%200%201%2096.7-96.7M161.6%20240c0%2052%2042.6%2094.4%2094.4%2094.4s94.4-42.5%2094.4-94.4-42.6-94.4-94.4-94.4a95%2095%200%200%200-94.4%2094.4'/%3e%3cpath%20d='M260.3%20134h-9.1v212.3h9z'/%3e%3cpath%20d='M259.3%20132.8h2.3v214.7h-2.2V132.8zm-9%200h2.4v214.7h-2.3z'/%3e%3cpath%20d='M361.6%20244.2v-7.8l-6.4-6-36.3-9.6-52.2-5.3-63%203.2-44.8%2010.6-9%206.7v7.9l22.9-10.3%2054.4-8.5h52.3l38.4%204.2%2026.6%206.4z'/%3e%3cpath%20d='M256%20223.8c24.9%200%2049%202.3%2068.3%206%2019.8%204%2033.7%209%2038.5%2014.5v2.8c-5.8-7-24.5-12-39-15-19-3.6-43-6-67.9-6-26.1%200-50.5%202.6-69.3%206.2-15%203-35.1%209-37.6%2014.8v-2.9c1.3-4%2016.3-10%2037.3-14.3%2018.9-3.7%2043.3-6.1%2069.6-6.1zm0-9.1a383%20383%200%200%201%2068.3%206c19.8%204%2033.7%209%2038.5%2014.6v2.7c-5.8-6.9-24.5-12-39-14.9-19-3.7-43-6-67.9-6a376%20376%200%200%200-69.2%206.2c-14.5%202.7-35.4%208.9-37.7%2014.7v-2.8c1.4-4%2016.6-10.3%2037.3-14.3%2019-3.7%2043.3-6.2%2069.7-6.2m-.6-46.2c39.3-.2%2073.6%205.5%2089.3%2013.5l5.7%2010c-13.6-7.4-50.6-15-94.9-14-36.1.3-74.7%204-94%2014.4l6.8-11.4c15.9-8.3%2053.3-12.5%2087.1-12.5'/%3e%3cpath%20d='M256%20176.7a354%20354%200%200%201%2061.3%204.3c16%203%2031.3%207.4%2033.5%209.8l1.7%203c-5.3-3.4-18.6-7.3-35.6-10.5s-38.7-4.3-61-4.2c-25.3-.1-45%201.2-61.8%204.2a109%20109%200%200%200-33.3%2010.3l1.7-3.1c6-3%2015.3-6.7%2031.1-9.6%2017.5-3.2%2037.4-4.1%2062.4-4.2m0-9c21.4-.2%2042.6%201%2059.1%204a96%2096%200%200%201%2030.6%2010l2.5%204c-4.2-4.7-20-9.2-34.1-11.6-16.4-2.9-36.7-4-58.1-4.2a361%20361%200%200%200-59.5%204.4%2097%2097%200%200%200-29.6%209.1l2.2-3.3c5.8-3%2015.2-5.8%2027-8.1a357%20357%200%200%201%2059.9-4.4zM308.4%20284a276%20276%200%200%200-52.5-4c-65.5.8-86.6%2013.5-89.2%2017.3l-5-8c16.8-12%2052.4-18.8%2094.6-18.2q32.9.5%2056.6%205l-4.5%208'/%3e%3cpath%20d='M255.6%20278.9c18.2.3%2036%201%2053.3%204.2l-1.2%202.2c-16-3-33.2-4-52-4-24.3-.2-48.7%202.1-70%208.2-6.7%201.9-17.8%206.2-19%209.8l-1.2-2c.4-2.2%207-6.6%2019.6-10%2024.4-7%2047.2-8.3%2070.5-8.4m.8-9.2a327%20327%200%200%201%2057.3%205l-1.3%202.3a299%20299%200%200%200-56-4.9c-24.2%200-49.9%201.8-73.3%208.6-7.5%202.2-20.6%207-21%2010.7l-1.2-2.2c.2-3.4%2011.5-7.9%2021.7-10.8%2023.5-6.9%2049.3-8.6%2073.8-8.7'/%3e%3cpath%20d='m349.4%20290.5-7.8%2012.3-22.7-20.1-58.6-39.5-66.2-36.3-34.3-11.7%207.3-13.6%202.5-1.3%2021.3%205.3%2070.4%2036.3%2040.6%2025.6L336%20272l13.9%2016z'/%3e%3cpath%20d='M158.6%20195.5c6-4%2050.2%2015.6%2096.6%2043.6%2046.1%2028%2090.3%2059.6%2086.3%2065.5l-1.3%202.1-.6.5c.1-.1.8-1%200-3.1-2-6.5-33.4-31.5-85.3-62.9-50.7-30.1-92.9-48.3-97-43.1zM351%20290.4c3.8-7.6-37.2-38.5-88.1-68.6-52-29.5-89.6-46.9-96.5-41.7L165%20183l.4-.5c1.2-1%203.3-1%204.2-1%2011.8.2%2045.5%2015.7%2092.8%2042.8%2020.8%2012%2087.6%2055%2087.3%2067%200%201%20.1%201.2-.3%201.8l1.7-2.6z'/%3e%3c/g%3e%3cg%20transform='translate(0%2026.7)scale(1.06667)'%3e%3cpath%20fill='%23fff'%20stroke='%23000'%20stroke-width='.7'%20d='M180.6%20211a59%2059%200%200%200%2017.5%2041.7%2059%2059%200%200%200%2041.8%2017.6%2059%2059%200%200%200%2042-17.4%2059%2059%200%200%200%2017.4-41.8v-79.2l-118.7-.2z'/%3e%3cpath%20fill='red'%20stroke='%23000'%20stroke-width='.5'%20d='M183%20211.1a56%2056%200%200%200%2016.8%2040%2057%2057%200%200%200%2040.2%2016.8%2057%2057%200%200%200%2040.2-16.6%2056%2056%200%200%200%2016.7-40v-77H183v76.8m91-53.7v48.9l-.1%205.1a33%2033%200%200%201-10%2024%2034%2034%200%200%201-24%2010c-9.4%200-17.7-4-23.9-10.2a34%2034%200%200%201-10-24v-54z'/%3e%3cg%20id='pt-e'%3e%3cg%20id='pt-d'%20fill='%23ff0'%20stroke='%23000'%20stroke-width='.5'%3e%3cpath%20stroke='none'%20d='M190.2%20154.4c.1-5.5%204-6.8%204-6.8.1%200%204.3%201.4%204.3%206.9z'/%3e%3cpath%20d='m186.8%20147.7-.7%206.3h4.2c0-5.2%204-6%204-6%20.1%200%204%201.1%204.1%206h4.2l-.8-6.4zm-1%206.4h17q.5%200%20.6.7%200%20.8-.6.8h-17q-.5%200-.6-.8%200-.7.7-.7z'/%3e%3cpath%20d='M192%20154c0-3.3%202.3-4.2%202.3-4.2s2.3%201%202.3%204.2H192m-5.8-9h16.3q.5.1.6.8%200%20.5-.6.6h-16.3q-.5%200-.6-.7%200-.5.6-.6zm.4%201.5H202q.5%200%20.6.7t-.6.7h-15.5q-.6%200-.6-.7t.6-.7zm5-10.6h1.2v.8h.9v-.8h1.3v.9h.9v-1h1.2v2q0%20.6-.5.6h-4.4q-.5%200-.6-.5zm4.6%202.7.3%206.4h-4.3l.3-6.5h3.7'/%3e%3cpath%20id='pt-a'%20d='M191%20141.6v3.4h-4v-3.4z'/%3e%3cuse%20xlink:href='%23pt-a'%20width='100%25'%20height='100%25'%20x='10.6'/%3e%3cpath%20id='pt-b'%20d='M186.3%20139h1.2v1h.9v-1h1.2v1h.9v-1h1.2v2q0%20.6-.5.6h-4.3l-.6-.6z'/%3e%3cuse%20xlink:href='%23pt-b'%20width='100%25'%20height='100%25'%20x='10.6'/%3e%3cpath%20fill='%23000001'%20stroke='none'%20d='M193.9%20140.6c0-.6.9-.6.9%200v1.6h-.9z'/%3e%3cpath%20id='pt-c'%20fill='%23000001'%20stroke='none'%20d='M188.6%20142.8c0-.6.8-.6.8%200v1.2h-.8z'/%3e%3cuse%20xlink:href='%23pt-c'%20width='100%25'%20height='100%25'%20x='10.6'/%3e%3c/g%3e%3cuse%20xlink:href='%23pt-d'%20width='100%25'%20height='100%25'%20y='46.3'/%3e%3cuse%20xlink:href='%23pt-d'%20width='100%25'%20height='100%25'%20transform='rotate(-45.2%20312.8%20180)'/%3e%3c/g%3e%3cuse%20xlink:href='%23pt-d'%20width='100%25'%20height='100%25'%20x='45.7'/%3e%3cuse%20xlink:href='%23pt-e'%20width='100%25'%20height='100%25'%20transform='matrix(-1%200%200%201%20479.8%200)'/%3e%3cg%20id='pt-f'%20fill='%23fff'%3e%3cpath%20fill='%23039'%20d='M232.6%20202.4a8%208%200%200%200%202.2%205.7%207%207%200%200%200%205.3%202.4q3.2-.2%205.3-2.4a8%208%200%200%200%202.2-5.7v-10.8h-15z'/%3e%3ccircle%20cx='236.1'%20cy='195.7'%20r='1.5'/%3e%3ccircle%20cx='244.4'%20cy='195.7'%20r='1.5'/%3e%3ccircle%20cx='240.2'%20cy='199.7'%20r='1.5'/%3e%3ccircle%20cx='236.1'%20cy='203.9'%20r='1.5'/%3e%3ccircle%20cx='244.4'%20cy='203.9'%20r='1.5'/%3e%3c/g%3e%3cuse%20xlink:href='%23pt-f'%20width='100%25'%20height='100%25'%20y='-26'/%3e%3cuse%20xlink:href='%23pt-f'%20width='100%25'%20height='100%25'%20x='-20.8'/%3e%3cuse%20xlink:href='%23pt-f'%20width='100%25'%20height='100%25'%20x='20.8'/%3e%3cuse%20xlink:href='%23pt-f'%20width='100%25'%20height='100%25'%20y='25.8'/%3e%3c/g%3e%3c/svg%3e";
  const flagRU = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20id='flag-icons-ru'%20viewBox='0%200%20640%20480'%3e%3cpath%20fill='%23fff'%20d='M0%200h640v160H0z'/%3e%3cpath%20fill='%230039a6'%20d='M0%20160h640v160H0z'/%3e%3cpath%20fill='%23d52b1e'%20d='M0%20320h640v160H0z'/%3e%3c/svg%3e";
  const flagES = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20id='flag-icons-es'%20viewBox='0%200%20640%20480'%3e%3cpath%20fill='%23AA151B'%20d='M0%200h640v480H0z'/%3e%3cpath%20fill='%23F1BF00'%20d='M0%20120h640v240H0z'/%3e%3cpath%20fill='%23ad1519'%20d='m127.3%20213.3-.8-.1-1-1-.7-.4-.6-.8s-.7-1.1-.4-2q.5-1.2%201.4-1.5l1.5-.5%201-.4%201.3-.3.5-.3%201-.2%201-.2%201.6.1h4.8c.4%200%201.2.3%201.4.4l2%20.7c.5.1%201.6.3%202.2.6q.8.5%201.1%201l.5%201v1.1l-.5.8-.6%201-.8.6s-.5.5-1%20.4-4.8-.8-7.6-.8-7.3.9-7.3.9'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-linejoin='round'%20stroke-width='.3'%20d='m127.3%20213.3-.8-.1-1-1-.7-.4-.6-.8s-.7-1.1-.4-2q.5-1.2%201.4-1.5l1.5-.5%201-.4%201.3-.3.5-.3%201-.2%201-.2%201.6.1h4.8c.4%200%201.2.3%201.4.4l2%20.7c.5.1%201.6.3%202.2.6q.8.5%201.1%201l.5%201v1.1l-.5.8-.6%201-.8.6s-.5.5-1%20.4-4.8-.8-7.6-.8-7.3.9-7.3.9z'/%3e%3cpath%20fill='%23c8b100'%20d='M133.3%20207q.1-2.1%201.3-2.3%201.3.1%201.4%202.4c0%201.3-.6%202.4-1.4%202.4s-1.3-1.1-1.3-2.5'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='M133.3%20207q.1-2.1%201.3-2.3%201.3.1%201.4%202.4c0%201.3-.6%202.4-1.4%202.4s-1.3-1.1-1.3-2.5z'/%3e%3cpath%20fill='%23c8b100'%20d='M134%20207q0-2%20.7-2.1c.3%200%20.6%201%20.6%202.1q0%202-.6%202.2c-.4%200-.6-1-.6-2.2'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='M134%20207q0-2%20.7-2.1c.3%200%20.6%201%20.6%202.1q0%202-.6%202.2c-.4%200-.6-1-.6-2.2z'/%3e%3cpath%20fill='%23c8b100'%20d='M133.8%20204.5q.1-.7.8-.8%201%200%201%20.8-.1.8-1%20.9c-.9.1-.8-.4-.8-.9'/%3e%3cpath%20fill='%23c8b100'%20d='M135.3%20204.2v.6h-1.4v-.6h.5V203h-.7v-.6h.7v-.5h.5v.5h.6v.6h-.6v1.2z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='M135.3%20204.2v.6h-1.4v-.6h.5V203h-.7v-.6h.7v-.5h.5v.5h.6v.6h-.6v1.2h.4'/%3e%3cpath%20fill='%23c8b100'%20d='M135.9%20204.2v.6h-2.5v-.6h1V203h-.7v-.6h.7v-.5h.5v.5h.6v.6h-.6v1.2z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='M135.9%20204.2v.6h-2.5v-.6h1V203h-.7v-.6h.7v-.5h.5v.5h.6v.6h-.6v1.2h1'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='M134.9%20203.7q.6.2.6.8-.1.8-.8.9-1%200-1-.9%200-.6.7-.8'/%3e%3cpath%20fill='%23c8b100'%20d='M134.7%20213.2H130v-1.1l-.3-1.2-.2-1.5c-1.3-1.7-2.5-2.8-2.9-2.5q.1-.5.5-.7c1.1-.7%203.5%201%205.2%203.6l.5.7h3.8l.4-.7c1.8-2.7%204.1-4.3%205.2-3.6q.4.2.5.7c-.4-.3-1.6.8-2.9%202.5l-.2%201.5-.2%201.2-.1%201.1z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='M134.7%20213.2H130v-1.1l-.3-1.2-.2-1.5c-1.3-1.7-2.5-2.8-2.9-2.5q.1-.5.5-.7c1.1-.7%203.5%201%205.2%203.6l.5.7h3.8l.4-.7c1.8-2.7%204.1-4.3%205.2-3.6q.4.2.5.7c-.4-.3-1.6.8-2.9%202.5l-.2%201.5-.2%201.2-.1%201.1z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='M126.8%20206.8c1-.5%203%201.1%204.6%203.6m11-3.6c-.8-.5-2.8%201.1-4.5%203.6'/%3e%3cpath%20fill='%23c8b100'%20d='m127.8%20215.3-.5-1a27%2027%200%200%201%2014.7%200l-.5.8-.3.8a23%2023%200%200%200-6.6-.8c-2.6%200-5.2.3-6.5.8z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='m127.8%20215.3-.5-1a27%2027%200%200%201%2014.7%200l-.5.8-.3.8a23%2023%200%200%200-6.6-.8c-2.6%200-5.2.3-6.5.8l-.3-.6'/%3e%3cpath%20fill='%23c8b100'%20d='M134.6%20217.7c2.4%200%205-.4%205.9-.6q1-.3%201-.8%200-.3-.4-.4c-1.4-.5-4-.8-6.5-.8s-5%20.3-6.4.8q-.3%200-.4.3%200%20.6%201%20.9c1%20.2%203.5.6%205.8.6'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='M134.6%20217.7c2.4%200%205-.4%205.9-.6q1-.3%201-.8%200-.3-.4-.4c-1.4-.5-4-.8-6.5-.8s-5%20.3-6.4.8q-.3%200-.4.3%200%20.6%201%20.9c1%20.2%203.5.6%205.8.6z'/%3e%3cpath%20fill='%23c8b100'%20d='m142.1%20213.2-.5-.5s-.6.3-1.3.2c-.6%200-.9-1-.9-1s-.7.7-1.3.7-1-.6-1-.6-.7.5-1.3.4-1.2-.8-1.2-.8-.6.8-1.2.8c-.6.1-1-.5-1-.5s-.4.6-1.1.7-1.4-.6-1.4-.6-.5.7-1%201c-.5%200-1.2-.4-1.2-.4l-.2.5-.3.1.2.5a27%2027%200%200%201%207.2-.9q4.5%200%207.4%201z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='m142.1%20213.2-.5-.5s-.6.3-1.3.2c-.6%200-.9-1-.9-1s-.7.7-1.3.7-1-.6-1-.6-.7.5-1.3.4-1.2-.8-1.2-.8-.6.8-1.2.8c-.6.1-1-.5-1-.5s-.4.6-1.1.7-1.4-.6-1.4-.6-.5.7-1%201c-.5%200-1.2-.4-1.2-.4l-.2.5-.3.1.2.5a27%2027%200%200%201%207.2-.9q4.5%200%207.4%201z'/%3e%3cpath%20fill='%23c8b100'%20d='M134.7%20210.7h.2v.4q0%201%201%201a1%201%200%200%200%201-.7l.2-.3v.4q.3.8%201.1.8%201%200%201-1v-.1l.4-.4.2.5-.1.4a1%201%200%200%200%201%201q.6%200%20.9-.5l.2-.2v.3q0%20.5.4.7l1-.4.7-.7v.4s-.5.8-1%201q-.3.4-.8.3-.5%200-.7-.6-.3.3-.7.2-1%200-1.4-.8-.5.5-1.1.5a2%202%200%200%201-1.2-.6l-1%20.4a2%202%200%200%201-1.3-.6%201.6%201.6%200%200%201-2.4.2%202%202%200%200%201-1.2.6l-1.1-.5q-.4.8-1.4.8l-.7-.2q-.2.5-.7.6t-.9-.2l-1-1%20.1-.5.8.7q.8.5.9.4.4-.1.4-.7v-.3l.2.2q.3.5.9.5a1%201%200%200%200%201-1v-.9l.4.4v.1q.1%201%201%201t1.1-.9v-.3l.2.3q.3.6%201%20.7%201%200%201.1-1v-.3h.3'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='M134.7%20210.7h.2v.4q0%201%201%201a1%201%200%200%200%201-.7l.2-.3v.4q.3.8%201.1.8%201%200%201-1v-.1l.4-.4.2.5-.1.4a1%201%200%200%200%201%201q.6%200%20.9-.5l.2-.2v.3q0%20.5.4.7l1-.4.7-.7v.4s-.5.8-1%201q-.3.4-.8.3-.5%200-.7-.6-.3.3-.7.2-1%200-1.4-.8-.5.5-1.1.5a2%202%200%200%201-1.2-.6l-1%20.4a2%202%200%200%201-1.3-.6%201.6%201.6%200%200%201-2.4.2%202%202%200%200%201-1.2.6l-1.1-.5q-.4.8-1.4.8l-.7-.2q-.2.5-.7.6t-.9-.2l-1-1%20.1-.5.8.7q.8.5.9.4.4-.1.4-.7v-.3l.2.2q.3.5.9.5a1%201%200%200%200%201-1v-.9l.4.4v.1q.1%201%201%201t1.1-.9v-.3l.2.3q.3.6%201%20.7%201%200%201.1-1v-.3h.3z'/%3e%3cpath%20fill='%23c8b100'%20d='M134.6%20213.3q-4.5%200-7.3%201l-.3-.2.1-.3a27%2027%200%200%201%207.5-1q4.6%200%207.6%201l.1.3-.3.2a27%2027%200%200%200-7.4-1'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-linejoin='round'%20stroke-width='.3'%20d='M134.6%20213.3q-4.5%200-7.3%201l-.3-.2.1-.3a27%2027%200%200%201%207.5-1q4.6%200%207.6%201l.1.3-.3.2a27%2027%200%200%200-7.4-1z'/%3e%3cpath%20fill='%23fff'%20d='M131.8%20214.4q0-.4.5-.4a.4.4%200%200%201%20.4.4q0%20.3-.4.4a.4.4%200%200%201-.5-.4'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='M131.8%20214.4q0-.4.5-.4a.4.4%200%200%201%20.4.4q0%20.3-.4.4a.4.4%200%200%201-.5-.4z'/%3e%3cpath%20fill='%23ad1519'%20d='M134.7%20214.5h-1q-.2%200-.3-.3l.3-.3h2l.2.3-.3.3h-1'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='M134.7%20214.5h-1q-.2%200-.3-.3l.3-.3h2l.2.3-.3.3h-1'/%3e%3cpath%20fill='%23058e6e'%20d='M130%20214.9h-.7q-.2%200-.3-.2l.2-.3.7-.1.7-.1q.3%200%20.4.2a.3.3%200%200%201-.3.4z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='M130%20214.9h-.7q-.2%200-.3-.2l.2-.3.7-.1.7-.1q.3%200%20.4.2a.3.3%200%200%201-.3.4h-.7'/%3e%3cpath%20fill='%23ad1519'%20d='m127.3%20215.3.3-.4h.7l-.4.6z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='m127.3%20215.3.3-.4h.7l-.4.6-.6-.2'/%3e%3cpath%20fill='%23fff'%20d='M136.6%20214.4q0-.4.4-.4a.4.4%200%200%201%20.5.4.4.4%200%200%201-.5.4.4.4%200%200%201-.4-.4'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='M136.6%20214.4q0-.4.4-.4a.4.4%200%200%201%20.5.4.4.4%200%200%201-.5.4.4.4%200%200%201-.4-.4z'/%3e%3cpath%20fill='%23058e6e'%20d='M139.3%20214.9h.6a.3.3%200%200%200%20.4-.2l-.3-.3-.6-.1-.7-.1q-.3%200-.4.2%200%20.3.3.4z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='M139.3%20214.9h.6a.3.3%200%200%200%20.4-.2l-.3-.3-.6-.1-.7-.1q-.3%200-.4.2%200%20.3.3.4h.7'/%3e%3cpath%20fill='%23ad1519'%20d='m142%20215.4-.3-.5h-.7l.3.6z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='m142%20215.4-.3-.5h-.7l.3.6.6-.1'/%3e%3cpath%20fill='%23ad1519'%20d='M134.6%20217.1a25%2025%200%200%201-6-.6%2026%2026%200%200%201%2012.1%200q-2.5.6-6%20.6'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-linejoin='round'%20stroke-width='.3'%20d='M134.6%20217.1a25%2025%200%200%201-6-.6%2026%2026%200%200%201%2012.1%200q-2.5.6-6%20.6z'/%3e%3cpath%20fill='%23c8b100'%20d='m142%20212-.1-.3q-.3%200-.4.2%200%20.4.2.4z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='m142%20212-.1-.3q-.3%200-.4.2%200%20.4.2.4z'/%3e%3cpath%20fill='%23c8b100'%20d='M137.3%20211.2q0-.3-.2-.4l-.2.3q0%20.3.2.4l.3-.3'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='M137.3%20211.2q0-.3-.2-.4l-.2.3q0%20.3.2.4l.3-.3z'/%3e%3cpath%20fill='%23c8b100'%20d='m132%20211.2.1-.4q.3%200%20.3.3t-.2.4z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='m132%20211.2.1-.4q.3%200%20.3.3t-.2.4z'/%3e%3cpath%20fill='%23c8b100'%20d='m127.3%20212%20.1-.3q.3%200%20.4.2%200%20.4-.2.4z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='m127.3%20212%20.1-.3q.3%200%20.4.2%200%20.4-.2.4z'/%3e%3cpath%20fill='%23c8b100'%20d='m134.6%20208.5-.8.5.6%201.3.2.1.2-.1.7-1.3z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='m134.6%20208.5-.8.5.6%201.3.2.1.2-.1.7-1.3-.9-.5'/%3e%3cpath%20fill='%23c8b100'%20d='m132.8%20210.5.4.5%201.3-.4.1-.2-.1-.2-1.3-.3z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='m132.8%20210.5.4.5%201.3-.4.1-.2-.1-.2-1.3-.3-.4.6'/%3e%3cpath%20fill='%23c8b100'%20d='m136.4%20210.5-.3.5-1.3-.4-.2-.2.2-.2%201.3-.3z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='m136.4%20210.5-.3.5-1.3-.4-.2-.2.2-.2%201.3-.3.3.6'/%3e%3cpath%20fill='%23c8b100'%20d='m129.3%20209-.7.7.9%201%20.2.1.1-.1.3-1.3z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='m129.3%20209-.7.7.9%201%20.2.1.1-.1.3-1.3-.8-.3'/%3e%3cpath%20fill='%23c8b100'%20d='m128%20211.2.4.5%201.2-.6v-.2l-.1-.2-1.3-.1-.3.6'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='m128%20211.2.4.5%201.2-.6v-.2l-.1-.2-1.3-.1-.3.6'/%3e%3cpath%20fill='%23c8b100'%20d='m131.5%20210.5-.3.6H130l-.2-.2.1-.3%201.2-.6z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='m131.5%20210.5-.3.6H130l-.2-.2.1-.3%201.2-.6.5.5'/%3e%3cpath%20fill='%23c8b100'%20d='M126.6%20211.4v.6l-1.4.2-.2-.1v-.2l1-.9z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='M126.6%20211.4v.6l-1.4.2-.2-.1v-.2l1-.9.6.4'/%3e%3cpath%20fill='%23c8b100'%20d='M129.2%20210.9q0-.5.5-.5t.5.5l-.5.4z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='M129.2%20210.9q0-.5.5-.5t.5.5l-.5.4z'/%3e%3cpath%20fill='%23c8b100'%20d='m140%20209%20.7.7-.9%201-.2.1-.1-.1-.3-1.3z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='m140%20209%20.7.7-.9%201-.2.1-.1-.1-.3-1.3.8-.3'/%3e%3cpath%20fill='%23c8b100'%20d='m141.4%20211.2-.5.5-1.2-.6v-.2l.1-.2%201.3-.1z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='m141.4%20211.2-.5.5-1.2-.6v-.2l.1-.2%201.3-.1.3.6'/%3e%3cpath%20fill='%23c8b100'%20d='m137.8%20210.5.3.6h1.3l.2-.2-.1-.3-1.2-.6z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='m137.8%20210.5.3.6h1.3l.2-.2-.1-.3-1.2-.6-.5.5'/%3e%3cpath%20fill='%23c8b100'%20d='m142.5%20211.4.1.6%201.3.2.2-.1v-.2l-1-.9z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='m142.5%20211.4.1.6%201.3.2.2-.1v-.2l-1-.9-.6.4'/%3e%3cpath%20fill='%23c8b100'%20d='m134.2%20210.4.4-.4q.5%200%20.5.4l-.5.5z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='m134.2%20210.4.4-.4q.5%200%20.5.4l-.5.5z'/%3e%3cpath%20fill='%23c8b100'%20d='M139.1%20210.9q.1-.5.5-.5l.5.5-.5.4z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='M139.1%20210.9q.1-.5.5-.5l.5.5-.5.4z'/%3e%3cpath%20fill='%23c8b100'%20d='m124.8%20212.2-.6-.7c-.2-.2-.7-.3-.7-.3q0-.2.6-.3l.4.2v-.2s.3%200%20.4.3v1'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='m124.8%20212.2-.6-.7c-.2-.2-.7-.3-.7-.3q0-.2.6-.3l.4.2v-.2s.3%200%20.4.3v1z'/%3e%3cpath%20fill='%23c8b100'%20d='M124.8%20212q.3-.3.5%200t.2.5l-.5-.1q-.3-.2-.2-.5'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='M124.8%20212q.3-.3.5%200t.2.5l-.5-.1q-.3-.2-.2-.5z'/%3e%3cpath%20fill='%23c8b100'%20d='m144.3%20212.2.6-.7.7-.3q0-.2-.6-.3l-.4.2v-.2s-.3%200-.4.3v.7z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='m144.3%20212.2.6-.7.7-.3q0-.2-.6-.3l-.4.2v-.2s-.3%200-.4.3v.7z'/%3e%3cpath%20fill='%23c8b100'%20d='M144.3%20212q-.1-.3-.5%200-.3.2-.1.5l.5-.1q.3-.2.1-.5'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='M144.3%20212q-.1-.3-.5%200-.3.2-.1.5l.5-.1q.3-.2.1-.5z'/%3e%3cpath%20fill='%23c8b100'%20d='M124%20223h21.4v-5.5H124z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M124%20223h21.4v-5.5H124z'/%3e%3cpath%20fill='%23c8b100'%20d='M126.2%20226.8h16.9a1.4%201.4%200%200%201-1-1.2q.1-1%201-1.3h-16.9q1%20.3%201%201.3a1.3%201.3%200%200%201-1%201.2'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-linejoin='round'%20stroke-width='.4'%20d='M126.2%20226.8h16.9a1.4%201.4%200%200%201-1-1.2q.1-1%201-1.3h-16.9q1%20.3%201%201.3a1.3%201.3%200%200%201-1%201.2z'/%3e%3cpath%20fill='%23c8b100'%20d='M126.6%20226.8h16q1%200%201%20.7t-1%20.8h-16q-.9-.1-1-.8%200-1%201-.8'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M126.6%20226.8h16q1%200%201%20.7t-1%20.8h-16q-.9-.1-1-.8%200-1%201-.8z'/%3e%3cpath%20fill='%23c8b100'%20d='M126.6%20223h16q1%20.1%201%20.7t-1%20.6h-16q-.9%200-1-.6.1-.5%201-.6'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M126.6%20223h16q1%20.1%201%20.7t-1%20.6h-16q-.9%200-1-.6.1-.5%201-.6z'/%3e%3cpath%20fill='%23005bbf'%20d='M149.6%20317.4q-2.2%200-3.7-.8a8%208%200%200%200-3.8-.8q-2.1%200-3.7.8a8%208%200%200%201-3.8.8q-2.3%200-3.7-.8a8%208%200%200%200-3.7-.8%208%208%200%200%200-3.7.8%208%208%200%200%201-3.8.8v2.4q2.3%200%203.8-.9a8%208%200%200%201%203.7-.8q2.2%200%203.7.8c1.5.8%202.2.9%203.7.9a8%208%200%200%200%203.8-.9q1.6-.8%203.7-.8%202.3%200%203.8.8c1.5.8%202.2.9%203.7.9z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M149.6%20317.4q-2.2%200-3.7-.8a8%208%200%200%200-3.8-.8q-2.1%200-3.7.8a8%208%200%200%201-3.8.8q-2.3%200-3.7-.8a8%208%200%200%200-3.7-.8%208%208%200%200%200-3.7.8%208%208%200%200%201-3.8.8v2.4q2.3%200%203.8-.9a8%208%200%200%201%203.7-.8q2.2%200%203.7.8c1.5.8%202.2.9%203.7.9a8%208%200%200%200%203.8-.9q1.6-.8%203.7-.8%202.3%200%203.8.8c1.5.8%202.2.9%203.7.9z'/%3e%3cpath%20fill='%23ccc'%20d='M149.6%20319.8a8%208%200%200%201-3.7-.9%208%208%200%200%200-3.8-.8q-2.1%200-3.7.8c-1.6.8-2.3.9-3.8.9s-2.8-.4-3.7-.9a8%208%200%200%200-3.7-.8%208%208%200%200%200-3.7.8q-1.5.8-3.8.9v2.3q2.3%200%203.8-.9a8%208%200%200%201%203.7-.7q2.2%200%203.7.7a8%208%200%200%200%207.5%200%209%209%200%200%201%207.5.1%208%208%200%200%200%203.7.8z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M149.6%20319.8a8%208%200%200%201-3.7-.9%208%208%200%200%200-3.8-.8q-2.1%200-3.7.8c-1.6.8-2.3.9-3.8.9s-2.8-.4-3.7-.9a8%208%200%200%200-3.7-.8%208%208%200%200%200-3.7.8q-1.5.8-3.8.9v2.3q2.3%200%203.8-.9a8%208%200%200%201%203.7-.7q2.2%200%203.7.7a8%208%200%200%200%207.5%200%209%209%200%200%201%207.5.1%208%208%200%200%200%203.7.8v-2.3'/%3e%3cpath%20fill='%23005bbf'%20d='M149.6%20322a7%207%200%200%201-3.7-.8%208%208%200%200%200-3.8-.7q-2.1%200-3.7.7-1.5.9-3.8.9c-2.3%200-2.8-.4-3.7-.9a8%208%200%200%200-3.7-.8%208%208%200%200%200-3.7.8q-1.5.8-3.8.9v2.3q2.3%200%203.8-.9a10%2010%200%200%201%207.4%200%207%207%200%200%200%203.7.9%208%208%200%200%200%203.8-.8q1.6-.8%203.7-.8%202.3%200%203.8.8c1.5.8%202.2.8%203.7.8z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M149.6%20322a7%207%200%200%201-3.7-.8%208%208%200%200%200-3.8-.7q-2.1%200-3.7.7-1.5.9-3.8.9c-2.3%200-2.8-.4-3.7-.9a8%208%200%200%200-3.7-.8%208%208%200%200%200-3.7.8q-1.5.8-3.8.9v2.3q2.3%200%203.8-.9a10%2010%200%200%201%207.4%200%207%207%200%200%200%203.7.9%208%208%200%200%200%203.8-.8q1.6-.8%203.7-.8%202.3%200%203.8.8c1.5.8%202.2.8%203.7.8V322'/%3e%3cpath%20fill='%23ccc'%20d='M149.6%20326.7a8%208%200%200%201-3.7-.8q-1.6-.8-3.7-.8a8%208%200%200%200-3.8.8q-1.5.8-3.8.8a7%207%200%200%201-3.7-.9%208%208%200%200%200-3.7-.7q-2.2%200-3.7.8c-1.5.8-2.3.8-3.8.8v-2.3a8%208%200%200%200%203.8-.9%2010%2010%200%200%201%207.4%200%208%208%200%200%200%203.7.9%208%208%200%200%200%203.8-.8q1.5-.8%203.8-.8t3.7.8c1.5.8%202.3.8%203.7.8z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M149.6%20326.7a8%208%200%200%201-3.7-.8q-1.6-.8-3.7-.8a8%208%200%200%200-3.8.8q-1.5.8-3.8.8a7%207%200%200%201-3.7-.9%208%208%200%200%200-3.7-.7q-2.2%200-3.7.8c-1.5.8-2.3.8-3.8.8v-2.3a8%208%200%200%200%203.8-.9%2010%2010%200%200%201%207.4%200%208%208%200%200%200%203.7.9%208%208%200%200%200%203.8-.8q1.5-.8%203.8-.8t3.7.8c1.5.8%202.3.8%203.7.8v2.3'/%3e%3cpath%20fill='%23005bbf'%20d='M149.6%20329a8%208%200%200%201-3.7-.8q-1.6-.8-3.7-.8a8%208%200%200%200-3.8.8q-1.5.8-3.8.8a7%207%200%200%201-3.7-.9%208%208%200%200%200-3.7-.7q-2.2%200-3.7.8c-1.5.8-2.3.8-3.8.8v-2.3a8%208%200%200%200%203.8-.8q1.5-.8%203.7-.8t3.7.7a8%208%200%200%200%207.5%200q1.5-.6%203.8-.7t3.7.8c1.5.8%202.2.8%203.7.8z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M149.6%20329a8%208%200%200%201-3.7-.8q-1.6-.8-3.7-.8a8%208%200%200%200-3.8.8q-1.5.8-3.8.8a7%207%200%200%201-3.7-.9%208%208%200%200%200-3.7-.7q-2.2%200-3.7.8c-1.5.8-2.3.8-3.8.8v-2.3a8%208%200%200%200%203.8-.8q1.5-.8%203.7-.8t3.7.7a8%208%200%200%200%207.5%200q1.5-.6%203.8-.7t3.7.8c1.5.8%202.2.8%203.7.8z'/%3e%3cpath%20fill='%23c8b100'%20d='m126.2%20308%20.2.5c0%201.5-1.3%202.6-2.7%202.6h22a3%203%200%200%201-2.7-2.6v-.5z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-linejoin='round'%20stroke-width='.4'%20d='m126.2%20308%20.2.5c0%201.5-1.3%202.6-2.7%202.6h22a3%203%200%200%201-2.7-2.6v-.5z'/%3e%3cpath%20fill='%23c8b100'%20d='M126.6%20306.5h16q1%200%201%20.8%200%20.6-1%20.7h-16q-.9%200-1-.8.1-.6%201-.7'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M126.6%20306.5h16q1%200%201%20.8%200%20.6-1%20.7h-16q-.9%200-1-.8.1-.6%201-.7z'/%3e%3cpath%20fill='%23c8b100'%20d='M123.7%20316.7h22V311h-22z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M123.7%20316.7h22V311h-22z'/%3e%3cpath%20fill='%23ad1519'%20d='M122%20286.7c-2.2%201.2-3.7%202.5-3.4%203.2q.2.8%201.8%201.6c1.5%201.1%202.5%203%201.7%204a5.5%205.5%200%200%200-.1-8.8'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M122%20286.7c-2.2%201.2-3.7%202.5-3.4%203.2q.2.8%201.8%201.6c1.5%201.1%202.5%203%201.7%204a5.5%205.5%200%200%200-.1-8.8z'/%3e%3cpath%20fill='%23ccc'%20d='M126.8%20305.6h15.6V229h-15.6v76.5z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M138%20229.2v76.3m1.7-76.3v76.3m-12.9%200h15.6v-76.4h-15.6v76.5z'/%3e%3cpath%20fill='%23ad1519'%20d='M158.4%20257.7a50%2050%200%200%200-23.3-2c-9.4%201.6-16.5%205.3-15.9%208.4v.2l-3.5-8.2c-.6-3.3%207.2-7.5%2017.6-9.2a43%2043%200%200%201%209.2-.7c6.6%200%2012.4.8%2015.8%202.1v9.4'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-linejoin='round'%20stroke-width='.4'%20d='M158.4%20257.7a50%2050%200%200%200-23.3-2c-9.4%201.6-16.5%205.3-15.9%208.4v.2l-3.5-8.2c-.6-3.3%207.2-7.5%2017.6-9.2a43%2043%200%200%201%209.2-.7c6.6%200%2012.4.8%2015.8%202.1v9.4'/%3e%3cpath%20fill='%23ad1519'%20d='M126.8%20267.3c-4.3-.3-7.3-1.4-7.6-3.2q-.3-2.2%203.8-4.5l3.8.3z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M126.8%20267.3c-4.3-.3-7.3-1.4-7.6-3.2q-.3-2.2%203.8-4.5l3.8.3v7.4'/%3e%3cpath%20fill='%23ad1519'%20d='M142.5%20261.5q4.1.6%205.7%201.9l.1.2c.5%201-1.9%203-5.9%205.4v-7.5'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M142.5%20261.5q4.1.6%205.7%201.9l.1.2c.5%201-1.9%203-5.9%205.4v-7.5'/%3e%3cpath%20fill='%23ad1519'%20d='M117.1%20282c-.4-1.2%203.8-3.6%209.8-5.8l7.8-3.2c8.3-3.7%2014.4-7.9%2013.6-9.4v-.2c.4.4%201%208%201%208%20.8%201.3-4.8%205.5-12.4%209.1-2.5%201.2-7.6%203-10%204-4.4%201.4-8.7%204.3-8.3%205.3l-1.5-7.7'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-linejoin='round'%20stroke-width='.4'%20d='M117.1%20282c-.4-1.2%203.8-3.6%209.8-5.8l7.8-3.2c8.3-3.7%2014.4-7.9%2013.6-9.4v-.2c.4.4%201%208%201%208%20.8%201.3-4.8%205.5-12.4%209.1-2.5%201.2-7.6%203-10%204-4.4%201.4-8.7%204.3-8.3%205.3l-1.5-7.7z'/%3e%3cpath%20fill='%23c8b100'%20d='M125.8%20254c1.9-.6%203.1-1.5%202.5-3q-.6-1.3-2.8-.6l-2.6%201%202.3%205.8.8-.3.8-.3zm-1.2-2.7.7-.3q1-.3%201.4.8.4.8-.5%201.5l-.6.3zm7.3-2.5-.9.3h-.8l1.3%206.1%204.3-.8-.2-.4v-.4l-2.5.6zm8.4%205.2q1.2-3.3%202.7-6.4h-1l-1.8%204.6-2.4-4.3-1%20.1h-1l3.5%206zm8.8-4.7.4-.9a3%203%200%200%200-1.7-.6q-2.6%200-2.8%201.7c-.2%202.1%203.2%202%203%203.4q-.2%201-1.4.8-1.3%200-1.4-1.2h-.3l-.4%201.1a4%204%200%200%200%201.8.6q2.7.2%203.2-1.7c.2-2-3.3-2.1-3.1-3.4q0-.8%201.3-.7%201%200%201.2.9z'/%3e%3cpath%20fill='%23ad1519'%20d='M277.9%20211.6s-.7.8-1.3.9c-.5%200-1.1-.5-1.1-.5s-.5.5-1%20.6-1.4-.6-1.4-.6l-1%201-1.1-.3c-.1-.1-.3.4-.7.6h-.4l-.6-.4-.7-.7-.5-.3-.4-1v-.5q0-1%202.2-1.7a4%204%200%200%201%202%200q.9-.8%203-.8c2.1%200%202.4.3%203%20.7a6%206%200%200%201%202.9-.7q2.1%200%203%20.8.8-.3%202%200%202.2.6%202.2%201.7v.5l-.4%201-.6.3-.6.7-.6.3s-.3.2-.4%200q-.6-.3-.7-.5c-.1-.2-.6.4-1%20.2s-1-1-1-1-.9.8-1.4.7c-.6-.1-1-.6-1-.6s-.7.6-1.2.5-1.2-.9-1.2-.9'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='M277.9%20211.6s-.7.8-1.3.9c-.5%200-1.1-.5-1.1-.5s-.5.5-1%20.6-1.4-.6-1.4-.6l-1%201-1.1-.3c-.1-.1-.3.4-.7.6h-.4l-.6-.4-.7-.7-.5-.3-.4-1v-.5q0-1%202.2-1.7a4%204%200%200%201%202%200q.9-.8%203-.8c2.1%200%202.4.3%203%20.7a6%206%200%200%201%202.9-.7q2.1%200%203%20.8.8-.3%202%200%202.2.6%202.2%201.7v.5l-.4%201-.6.3-.6.7-.6.3s-.3.2-.4%200q-.6-.3-.7-.5c-.1-.2-.6.4-1%20.2s-1-1-1-1-.9.8-1.4.7c-.6-.1-1-.6-1-.6s-.7.6-1.2.5-1.2-.9-1.2-.9z'/%3e%3cpath%20fill='%23c8b100'%20d='M276.5%20207.6c0-1%20.6-2%201.3-2s1.3%201%201.3%202-.5%201.8-1.3%201.8q-1.2-.1-1.3-1.9'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='M276.5%20207.6c0-1%20.6-2%201.3-2s1.3%201%201.3%202-.5%201.8-1.3%201.8q-1.2-.1-1.3-1.9z'/%3e%3cpath%20fill='%23c8b100'%20d='M277.3%20207.6q0-1.7.5-1.8.6.2.7%201.8c.1%201.6-.3%201.7-.6%201.7q-.6-.2-.6-1.8'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='M277.3%20207.6q0-1.7.5-1.8.6.2.7%201.8c.1%201.6-.3%201.7-.6%201.7q-.6-.2-.6-1.8z'/%3e%3cpath%20fill='%23c8b100'%20d='m271%20215.3-.5-1a27%2027%200%200%201%2014.8%200l-.6.8-.3.8a23%2023%200%200%200-6.6-.8c-2.6%200-5.2.3-6.6.8z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='m271%20215.3-.5-1a27%2027%200%200%201%2014.8%200l-.6.8-.3.8a23%2023%200%200%200-6.6-.8c-2.6%200-5.2.3-6.6.8l-.2-.6'/%3e%3cpath%20fill='%23c8b100'%20d='M277.8%20217.7c2.4%200%205-.4%205.9-.6q1-.3%201-.8%200-.3-.4-.4a24%2024%200%200%200-6.5-.8c-2.5%200-5%20.3-6.4.8q-.3%200-.4.3%200%20.6%201%20.9c1%20.2%203.5.6%205.8.6'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='M277.8%20217.7c2.4%200%205-.4%205.9-.6q1-.3%201-.8%200-.3-.4-.4a24%2024%200%200%200-6.5-.8c-2.5%200-5%20.3-6.4.8q-.3%200-.4.3%200%20.6%201%20.9c1%20.2%203.5.6%205.8.6z'/%3e%3cpath%20fill='%23fff'%20d='M283.5%20208.4q0-.3.4-.4.5%200%20.5.4t-.5.4a.4.4%200%200%201-.4-.4'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.2'%20d='M283.5%20208.4q0-.3.4-.4.5%200%20.5.4t-.5.4a.4.4%200%200%201-.4-.4zm-.2-1.4a.4.4%200%200%201%20.4-.4q.4%200%20.4.4t-.4.4a.4.4%200%200%201-.4-.4zm-1.1-1q0-.3.4-.3t.4.4-.4.4a.4.4%200%200%201-.4-.5zm-1.4-.4q0-.3.4-.4.5%200%20.5.4t-.4.4q-.5-.1-.5-.4zm-1.4%200q0-.3.5-.3t.4.4q0%20.3-.4.4a.4.4%200%200%201-.5-.4z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-linecap='round'%20stroke-width='.3'%20d='m287.8%20211.2.2-1a2.7%202.7%200%200%200-2.7-2.8q-.8%200-1.3.3'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='m283%20209.2.2-.8q-.2-1.8-2.5-2-1%200-1.6.4'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.2'%20d='M288.2%20210q0-.5.4-.5t.4.4-.4.4q-.5%200-.4-.4zm-.2-1.6q0-.3.4-.4a.4.4%200%200%201%20.5.4q0%20.3-.4.4-.5%200-.5-.4zm-1-1.1a.4.4%200%200%201%20.5-.4q.3%200%20.4.4a.4.4%200%200%201-.4.4.4.4%200%200%201-.5-.4zm-1.3-.7q0-.4.5-.4t.4.4q0%20.5-.4.5a.4.4%200%200%201-.5-.5zm-1.4.1q0-.3.5-.4.6%200%20.4.4t-.4.4q-.4-.1-.5-.4z'/%3e%3cpath%20fill='%23c8b100'%20d='m285.3%20213.2-.5-.5s-.6.3-1.3.2c-.6%200-.9-1-.9-1s-.7.7-1.3.7-1-.6-1-.6-.7.5-1.3.4-1.2-.8-1.2-.8-.6.8-1.2.8c-.6.1-1-.5-1-.5s-.3.6-1.1.7-1.4-.6-1.4-.6-.4.7-1%201c-.5%200-1.2-.4-1.2-.4l-.1.5-.3.1.1.5a27%2027%200%200%201%207.3-.9q4.3%200%207.3%201l.2-.6'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='m285.3%20213.2-.5-.5s-.6.3-1.3.2c-.6%200-.9-1-.9-1s-.7.7-1.3.7-1-.6-1-.6-.7.5-1.3.4-1.2-.8-1.2-.8-.6.8-1.2.8c-.6.1-1-.5-1-.5s-.3.6-1.1.7-1.4-.6-1.4-.6-.4.7-1%201c-.5%200-1.2-.4-1.2-.4l-.1.5-.3.1.1.5a27%2027%200%200%201%207.3-.9q4.3%200%207.3%201l.2-.6z'/%3e%3cpath%20fill='%23fff'%20d='M271.3%20208.4q0-.3.4-.4.5%200%20.4.4a.4.4%200%200%201-.4.4.4.4%200%200%201-.4-.4'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.2'%20d='M271.3%20208.4q0-.3.4-.4.5%200%20.4.4a.4.4%200%200%201-.4.4.4.4%200%200%201-.4-.4zm.2-1.4q0-.4.4-.4t.5.4q0%20.5-.5.4a.4.4%200%200%201-.4-.4zm1-1q.1-.3.5-.3t.5.4q0%20.3-.5.4a.4.4%200%200%201-.4-.5zm1.4-.4q0-.3.5-.4.6%200%20.4.4t-.4.4q-.4-.1-.5-.4zm1.4%200q0-.3.5-.3.3%200%20.4.4%200%20.3-.4.4a.4.4%200%200%201-.5-.4z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-linecap='round'%20stroke-width='.3'%20d='m267.8%20211.2-.2-1a2.7%202.7%200%200%201%202.7-2.8q.8%200%201.4.3'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='m272.7%20209.2-.3-.8c0-1%201.2-2%202.6-2a3%203%200%200%201%201.5.4'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.2'%20d='M266.6%20210q0-.5.4-.5t.4.4a.4.4%200%200%201-.4.4q-.3%200-.4-.4zm.1-1.6q.1-.3.5-.4.5%200%20.4.4t-.4.4q-.4-.1-.4-.4zm1-1.1q0-.4.5-.4a.4.4%200%200%201%20.4.4.4.4%200%200%201-.4.4.4.4%200%200%201-.5-.4zm1.3-.7q0-.4.5-.4.3%200%20.4.4%200%20.5-.4.5a.4.4%200%200%201-.5-.5zm1.4.1q0-.3.5-.4a.4.4%200%200%201%20.4.4.4.4%200%200%201-.4.4q-.5%200-.5-.4z'/%3e%3cpath%20fill='%23c8b100'%20d='M277.9%20210.7h.2v.4q.1%201%201%201a1%201%200%200%200%201-.7l.2-.3v.4q.3.8%201.1.8%201%200%201-1v-.1l.4-.4.2.5-.1.4a1%201%200%200%200%201%201q.6%200%20.9-.5l.2-.2v.3q0%20.5.4.7l1-.4c1-.5.7-.7.7-.7v.4s-.5.8-1%201q-.3.4-.8.3-.5%200-.7-.6l-.7.2q-1%200-1.4-.8l-1.1.5q-.8%200-1.2-.6l-1%20.4q-.9%200-1.4-.6-.4.6-1.2.6-.6%200-1-.4a2%202%200%200%201-1.3.6q-.6%200-1.1-.5-.4.8-1.4.8-.4%200-.7-.2-.2.5-.7.6t-.9-.2l-1-1%20.1-.5.8.7q.8.5.9.4.4-.1.4-.7v-.3l.2.2q.3.5.9.5a1%201%200%200%200%201-1v-.9l.4.4v.1q.1%201%201%201t1.1-.9v-.3l.2.3q.4.6%201%20.7%201%200%201.1-1v-.3h.2'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='M277.9%20210.7h.2v.4q.1%201%201%201a1%201%200%200%200%201-.7l.2-.3v.4q.3.8%201.1.8%201%200%201-1v-.1l.4-.4.2.5-.1.4a1%201%200%200%200%201%201q.6%200%20.9-.5l.2-.2v.3q0%20.5.4.7l1-.4c1-.5.7-.7.7-.7v.4s-.5.8-1%201q-.3.4-.8.3-.5%200-.7-.6l-.7.2q-1%200-1.4-.8l-1.1.5q-.8%200-1.2-.6l-1%20.4q-.9%200-1.4-.6-.4.6-1.2.6-.6%200-1-.4a2%202%200%200%201-1.3.6q-.6%200-1.1-.5-.4.8-1.4.8-.4%200-.7-.2-.2.5-.7.6t-.9-.2l-1-1%20.1-.5.8.7q.8.5.9.4.4-.1.4-.7v-.3l.2.2q.3.5.9.5a1%201%200%200%200%201-1v-.9l.4.4v.1q.1%201%201%201t1.1-.9v-.3l.2.3q.4.6%201%20.7%201%200%201.1-1v-.3h.2z'/%3e%3cpath%20fill='%23c8b100'%20d='M277.8%20213.3q-4.5%200-7.3%201l-.3-.2.1-.3q3-1%207.5-1t7.6%201l.1.3-.3.2a27%2027%200%200%200-7.4-1'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='M277.8%20213.3q-4.5%200-7.3%201l-.3-.2.1-.3q3-1%207.5-1t7.6%201l.1.3-.3.2a27%2027%200%200%200-7.4-1z'/%3e%3cpath%20fill='%23fff'%20d='M275%20214.4q0-.4.5-.4a.4.4%200%200%201%20.4.4.4.4%200%200%201-.4.4q-.5%200-.5-.4'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='M275%20214.4q0-.4.5-.4a.4.4%200%200%201%20.4.4.4.4%200%200%201-.4.4q-.5%200-.5-.4z'/%3e%3cpath%20fill='%23ad1519'%20d='M277.9%20214.5h-1q-.2%200-.3-.3l.3-.3h2l.2.3-.3.3h-1'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='M277.9%20214.5h-1q-.2%200-.3-.3l.3-.3h2l.2.3-.3.3h-1'/%3e%3cpath%20fill='%23058e6e'%20d='M273.2%20214.9h-.6a.3.3%200%200%201-.4-.2l.3-.3.6-.1.7-.1q.3%200%20.4.2a.3.3%200%200%201-.3.4z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='M273.2%20214.9h-.6a.3.3%200%200%201-.4-.2l.3-.3.6-.1.7-.1q.3%200%20.4.2a.3.3%200%200%201-.3.4h-.7'/%3e%3cpath%20fill='%23ad1519'%20d='m270.5%20215.3.3-.4h.7l-.4.6z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='m270.5%20215.3.3-.4h.7l-.4.6-.6-.2'/%3e%3cpath%20fill='%23fff'%20d='M279.8%20214.4q0-.4.4-.4t.5.4q0%20.3-.5.4a.4.4%200%200%201-.4-.4'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='M279.8%20214.4q0-.4.4-.4t.5.4q0%20.3-.5.4a.4.4%200%200%201-.4-.4z'/%3e%3cpath%20fill='%23058e6e'%20d='M282.5%20214.9h.7l.3-.2-.2-.3-.7-.1-.7-.1q-.3%200-.4.2%200%20.3.3.4z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='M282.5%20214.9h.7l.3-.2-.2-.3-.7-.1-.7-.1q-.3%200-.4.2%200%20.3.3.4h.7'/%3e%3cpath%20fill='%23ad1519'%20d='m285.1%20215.4-.2-.5h-.7l.3.6z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='m285.1%20215.4-.2-.5h-.7l.3.6.6-.1'/%3e%3cpath%20fill='%23ad1519'%20d='M277.8%20217.1a25%2025%200%200%201-6-.6%2025%2025%200%200%201%206-.7q3.6%200%206.1.7-2.5.6-6%20.6'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-linejoin='round'%20stroke-width='.3'%20d='M277.8%20217.1a25%2025%200%200%201-6-.6%2025%2025%200%200%201%206-.7q3.6%200%206.1.7-2.5.6-6%20.6z'/%3e%3cpath%20fill='%23c8b100'%20d='m285.2%20212-.1-.3q-.3%200-.4.2l.1.4q.3%200%20.4-.3'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='m285.2%20212-.1-.3q-.3%200-.4.2l.1.4q.3%200%20.4-.3z'/%3e%3cpath%20fill='%23c8b100'%20d='M280.6%20211.2q0-.3-.3-.4l-.2.3q0%20.3.2.4z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='M280.6%20211.2q0-.3-.3-.4l-.2.3q0%20.3.2.4z'/%3e%3cpath%20fill='%23c8b100'%20d='M275.2%20211.2q0-.3.2-.4l.3.3-.2.4q-.3%200-.3-.3'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='M275.2%20211.2q0-.3.2-.4l.3.3-.2.4q-.3%200-.3-.3z'/%3e%3cpath%20fill='%23c8b100'%20d='m270.5%20212%20.1-.3q.3%200%20.4.2l-.1.4q-.3%200-.4-.3'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='m270.5%20212%20.1-.3q.3%200%20.4.2l-.1.4q-.3%200-.4-.3z'/%3e%3cpath%20fill='%23c8b100'%20d='m277.8%20208.5-.8.5.6%201.3.2.1.3-.1.6-1.3z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='m277.8%20208.5-.8.5.6%201.3.2.1.3-.1.6-1.3-.9-.5'/%3e%3cpath%20fill='%23c8b100'%20d='m276%20210.5.4.5%201.3-.4.1-.2-.1-.2-1.3-.3z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='m276%20210.5.4.5%201.3-.4.1-.2-.1-.2-1.3-.3-.4.6'/%3e%3cpath%20fill='%23c8b100'%20d='m279.6%20210.5-.3.5-1.3-.4-.1-.2v-.2l1.4-.3z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='m279.6%20210.5-.3.5-1.3-.4-.1-.2v-.2l1.4-.3.4.6'/%3e%3cpath%20fill='%23c8b100'%20d='m272.5%20209-.7.7.9%201%20.2.1.2-.1.2-1.3z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='m272.5%20209-.7.7.9%201%20.2.1.2-.1.2-1.3-.8-.3'/%3e%3cpath%20fill='%23c8b100'%20d='m271.1%20211.2.5.5%201.2-.6v-.2l-.1-.2-1.3-.1z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='m271.1%20211.2.5.5%201.2-.6v-.2l-.1-.2-1.3-.1-.3.6'/%3e%3cpath%20fill='%23c8b100'%20d='m274.7%20210.5-.3.6h-1.3l-.2-.2.1-.3%201.2-.6z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='m274.7%20210.5-.3.6h-1.3l-.2-.2.1-.3%201.2-.6.5.5'/%3e%3cpath%20fill='%23c8b100'%20d='M269.8%20211.4v.6l-1.4.2-.2-.1v-.2l1-.9z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='M269.8%20211.4v.6l-1.4.2-.2-.1v-.2l1-.9.6.4'/%3e%3cpath%20fill='%23c8b100'%20d='M272.4%20210.9q0-.5.5-.5l.5.5-.5.4z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='M272.4%20210.9q0-.5.5-.5l.5.5-.5.4z'/%3e%3cpath%20fill='%23c8b100'%20d='m283.2%20209%20.7.7-.9%201-.2.1-.1-.1-.3-1.3z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='m283.2%20209%20.7.7-.9%201-.2.1-.1-.1-.3-1.3.8-.3'/%3e%3cpath%20fill='%23c8b100'%20d='m284.6%20211.2-.5.5-1.2-.6v-.2l.1-.2%201.3-.1z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='m284.6%20211.2-.5.5-1.2-.6v-.2l.1-.2%201.3-.1.3.6'/%3e%3cpath%20fill='%23c8b100'%20d='m281%20210.5.3.6h1.3l.2-.2-.1-.3-1.2-.6z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='m281%20210.5.3.6h1.3l.2-.2-.1-.3-1.2-.6-.5.5'/%3e%3cpath%20fill='%23c8b100'%20d='M285.7%20211.4v.6l1.4.2.2-.1v-.2l-1-.9z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='M285.7%20211.4v.6l1.4.2.2-.1v-.2l-1-.9-.6.4'/%3e%3cpath%20fill='%23c8b100'%20d='M277.4%20210.4q0-.3.5-.4.4%200%20.4.4t-.4.5z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='M277.4%20210.4q0-.3.5-.4.4%200%20.4.4t-.4.5z'/%3e%3cpath%20fill='%23c8b100'%20d='M282.3%20210.9q.1-.5.5-.5t.5.5q0%20.6-.5.4z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='M282.3%20210.9q.1-.5.5-.5t.5.5q0%20.6-.5.4z'/%3e%3cpath%20fill='%23c8b100'%20d='M277%20205.4q.1-.8.8-.8%201%200%201%20.8c0%20.8-.5.8-1%20.8a1%201%200%200%201-.8-.8'/%3e%3cpath%20fill='%23c8b100'%20d='M278.5%20205.1v.6H277v-.6h.4v-1.3h-.5v-.5h.5v-.6h.6v.6h.6v.6h-.6v1.2h.4'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='M278.5%20205.1v.6H277v-.6h.4v-1.3h-.5v-.5h.5v-.6h.6v.6h.6v.6h-.6v1.2h.4z'/%3e%3cpath%20fill='%23c8b100'%20d='M279%20205.1v.6h-2.4v-.6h1v-1.3h-.7v-.5h.6v-.6h.6v.6h.6v.6h-.6v1.2h1'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='M278.1%20204.6q.6.1.6.8t-.9.8a1%201%200%200%201-.8-.8q0-.6.6-.8'/%3e%3cpath%20fill='%23c8b100'%20d='m268%20212.2-.6-.7-.7-.3q0-.2.6-.3.3%200%20.4.2v-.2s.3%200%20.4.3z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='m268%20212.2-.6-.7-.7-.3q0-.2.6-.3.3%200%20.4.2v-.2s.3%200%20.4.3z'/%3e%3cpath%20fill='%23c8b100'%20d='M268%20212q.3-.3.5%200%20.4.2.1.5l-.5-.1q-.2-.2%200-.5'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='M268%20212q.3-.3.5%200%20.4.2.1.5l-.5-.1q-.2-.2%200-.5z'/%3e%3cpath%20fill='%23c8b100'%20d='m287.5%20212.2.6-.7c.2-.2.7-.3.7-.3q0-.2-.6-.3l-.4.2v-.2s-.3%200-.4.3v.7z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='m287.5%20212.2.6-.7c.2-.2.7-.3.7-.3q0-.2-.6-.3l-.4.2v-.2s-.3%200-.4.3v.7z'/%3e%3cpath%20fill='%23c8b100'%20d='M287.5%20212q-.2-.3-.5%200t-.1.5l.5-.1q.3-.2.1-.5'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='M287.5%20212q-.2-.3-.5%200t-.1.5l.5-.1q.3-.2.1-.5z'/%3e%3cpath%20fill='%23c8b100'%20d='M267.2%20223h21.4v-5.5h-21.4z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M267.2%20223h21.4v-5.5h-21.4z'/%3e%3cpath%20fill='%23c8b100'%20d='M286.3%20226.8h-16.9q1-.4%201-1.2%200-1-1-1.3h17-.1q-1%20.3-1%201.3%200%20.8%201%201.2'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-linejoin='round'%20stroke-width='.4'%20d='M286.3%20226.8h-16.9q1-.4%201-1.2%200-1-1-1.3h17-.1q-1%20.3-1%201.3%200%20.8%201%201.2z'/%3e%3cpath%20fill='%23c8b100'%20d='M269.9%20226.8h16q1%200%201%20.7t-1%20.8h-16q-1-.1-1-.8.1-1%201-.8'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M269.9%20226.8h16q1%200%201%20.7t-1%20.8h-16q-1-.1-1-.8.1-1%201-.8z'/%3e%3cpath%20fill='%23c8b100'%20d='M269.9%20223h16q1%20.1%201%20.7t-1%20.6h-16q-1%200-1-.6t1-.6'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M269.9%20223h16q1%20.1%201%20.7t-1%20.6h-16q-1%200-1-.6t1-.6z'/%3e%3cpath%20fill='%23005bbf'%20d='M263%20317.4q2.1%200%203.7-.8a8%208%200%200%201%203.7-.8q2.2%200%203.8.8c1.6.8%202.3.8%203.7.8q2.3%200%203.8-.8a8%208%200%200%201%203.6-.8%208%208%200%200%201%203.7.8q1.6.8%203.8.8v2.4a8%208%200%200%201-3.8-.9%208%208%200%200%200-3.7-.8q-2.2%200-3.6.8-1.5.8-3.8.9a8%208%200%200%201-3.7-.9%208%208%200%200%200-3.8-.8%208%208%200%200%200-3.7.8q-1.5.8-3.8.9v-2.4'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M263%20317.4q2.1%200%203.7-.8a8%208%200%200%201%203.7-.8q2.2%200%203.8.8c1.6.8%202.3.8%203.7.8q2.3%200%203.8-.8a8%208%200%200%201%203.6-.8%208%208%200%200%201%203.7.8q1.6.8%203.8.8v2.4a8%208%200%200%201-3.8-.9%208%208%200%200%200-3.7-.8q-2.2%200-3.6.8-1.5.8-3.8.9a8%208%200%200%201-3.7-.9%208%208%200%200%200-3.8-.8%208%208%200%200%200-3.7.8q-1.5.8-3.8.9v-2.4z'/%3e%3cpath%20fill='%23ccc'%20d='M263%20319.8q2.1%200%203.7-.9c1.6-.9%202.3-.8%203.7-.8q2.2%200%203.8.8c1.6.8%202.3.9%203.7.9a8%208%200%200%200%203.8-.9%208%208%200%200%201%203.6-.8q2.3%200%203.7.8%201.6.8%203.8.9v2.3a8%208%200%200%201-3.8-.9%208%208%200%200%200-3.7-.7q-2.2%200-3.6.7-1.5.8-3.8.9a7%207%200%200%201-3.7-.9q-1.5-.6-3.8-.7a8%208%200%200%200-3.7.7%208%208%200%200%201-3.8.9v-2.3'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M263%20319.8q2.1%200%203.7-.9c1.6-.9%202.3-.8%203.7-.8q2.2%200%203.8.8c1.6.8%202.3.9%203.7.9a8%208%200%200%200%203.8-.9%208%208%200%200%201%203.6-.8q2.3%200%203.7.8%201.6.8%203.8.9v2.3a8%208%200%200%201-3.8-.9%208%208%200%200%200-3.7-.7q-2.2%200-3.6.7-1.5.8-3.8.9a7%207%200%200%201-3.7-.9q-1.5-.6-3.8-.7a8%208%200%200%200-3.7.7%208%208%200%200%201-3.8.9v-2.3'/%3e%3cpath%20fill='%23005bbf'%20d='M263%20322q2.1%200%203.7-.8%201.6-.6%203.7-.7%202.2%200%203.8.7c1.6.7%202.3.9%203.7.9a8%208%200%200%200%203.8-.9%208%208%200%200%201%203.6-.8%208%208%200%200%201%203.7.8q1.6.8%203.8.9v2.3a8%208%200%200%201-3.8-.9%208%208%200%200%200-3.7-.7q-2.2%200-3.6.7-1.5.9-3.8.9t-3.7-.8a8%208%200%200%200-3.8-.8%208%208%200%200%200-3.7.8q-1.5.8-3.8.8V322'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M263%20322q2.1%200%203.7-.8%201.6-.6%203.7-.7%202.2%200%203.8.7c1.6.7%202.3.9%203.7.9a8%208%200%200%200%203.8-.9%208%208%200%200%201%203.6-.8%208%208%200%200%201%203.7.8q1.6.8%203.8.9v2.3a8%208%200%200%201-3.8-.9%208%208%200%200%200-3.7-.7q-2.2%200-3.6.7-1.5.9-3.8.9t-3.7-.8a8%208%200%200%200-3.8-.8%208%208%200%200%200-3.7.8q-1.5.8-3.8.8V322'/%3e%3cpath%20fill='%23ccc'%20d='M263%20326.7a8%208%200%200%200%203.7-.8q1.6-.8%203.7-.8%202.2%200%203.8.8c1.6.8%202.3.8%203.7.8q2.3%200%203.8-.9a8%208%200%200%201%203.6-.7q2.3%200%203.7.8a8%208%200%200%200%203.8.8v-2.3a8%208%200%200%201-3.8-.9%208%208%200%200%200-3.7-.7q-2.2%200-3.6.7-1.5.8-3.8.9t-3.7-.8a8%208%200%200%200-3.8-.8%208%208%200%200%200-3.7.8q-1.5.8-3.8.8v2.3'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M263%20326.7a8%208%200%200%200%203.7-.8q1.6-.8%203.7-.8%202.2%200%203.8.8c1.6.8%202.3.8%203.7.8q2.3%200%203.8-.9a8%208%200%200%201%203.6-.7q2.3%200%203.7.8a8%208%200%200%200%203.8.8v-2.3a8%208%200%200%201-3.8-.9%208%208%200%200%200-3.7-.7q-2.2%200-3.6.7-1.5.8-3.8.9t-3.7-.8a8%208%200%200%200-3.8-.8%208%208%200%200%200-3.7.8q-1.5.8-3.8.8v2.3'/%3e%3cpath%20fill='%23005bbf'%20d='M263%20329a8%208%200%200%200%203.7-.8q1.6-.8%203.7-.8%202.2%200%203.8.8c1.6.8%202.3.8%203.7.8a8%208%200%200%200%203.8-.9%208%208%200%200%201%203.6-.7q2.3%200%203.7.8%201.6.8%203.8.8v-2.3a8%208%200%200%201-3.8-.8%208%208%200%200%200-3.7-.8%208%208%200%200%200-3.6.7%208%208%200%200%201-3.8.9q-2.2%200-3.7-.8t-3.8-.8q-2.1%200-3.7.8c-1.6.8-2.3.8-3.8.8v2.3'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M263%20329a8%208%200%200%200%203.7-.8q1.6-.8%203.7-.8%202.2%200%203.8.8c1.6.8%202.3.8%203.7.8a8%208%200%200%200%203.8-.9%208%208%200%200%201%203.6-.7q2.3%200%203.7.8%201.6.8%203.8.8v-2.3a8%208%200%200%201-3.8-.8%208%208%200%200%200-3.7-.8%208%208%200%200%200-3.6.7%208%208%200%200%201-3.8.9q-2.2%200-3.7-.8t-3.8-.8q-2.1%200-3.7.8c-1.6.8-2.3.8-3.8.8v2.3z'/%3e%3cpath%20fill='%23c8b100'%20d='m286.3%20308-.1.5c0%201.5%201.2%202.6%202.7%202.6h-22c1.5%200%202.7-1.2%202.7-2.6l-.1-.5z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-linejoin='round'%20stroke-width='.4'%20d='m286.3%20308-.1.5c0%201.5%201.2%202.6%202.7%202.6h-22c1.5%200%202.7-1.2%202.7-2.6l-.1-.5z'/%3e%3cpath%20fill='%23c8b100'%20d='M269.9%20306.5h16q1%200%201%20.8%200%20.6-1%20.7h-16q-1%200-1-.8.1-.6%201-.7'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M269.9%20306.5h16q1%200%201%20.8%200%20.6-1%20.7h-16q-1%200-1-.8.1-.6%201-.7z'/%3e%3cpath%20fill='%23c8b100'%20d='M266.9%20316.7h22V311h-22z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M266.9%20316.7h22V311h-22z'/%3e%3cpath%20fill='%23ad1519'%20d='M290.6%20286.7c2.1%201.2%203.6%202.5%203.4%203.2q-.2.8-1.8%201.6c-1.6%201.1-2.5%203-1.8%204a5.5%205.5%200%200%201%20.2-8.8'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M290.6%20286.7c2.1%201.2%203.6%202.5%203.4%203.2q-.2.8-1.8%201.6c-1.6%201.1-2.5%203-1.8%204a5.5%205.5%200%200%201%20.2-8.8z'/%3e%3cpath%20fill='%23ccc'%20d='M270.1%20305.6h15.6V229h-15.6v76.5z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M281.4%20229.1v76.3m1.8-76.3v76.3m-13%20.2h15.5V229h-15.6v76.5z'/%3e%3cpath%20fill='%23ad1519'%20d='M254.2%20257.7a50%2050%200%200%201%2023.3-2c9.3%201.6%2016.4%205.3%2015.9%208.4v.2l3.5-8.2c.6-3.3-7.3-7.5-17.6-9.2a54%2054%200%200%200-9.2-.7c-6.7%200-12.4.8-15.9%202.1z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-linejoin='round'%20stroke-width='.4'%20d='M254.2%20257.7a50%2050%200%200%201%2023.3-2c9.3%201.6%2016.4%205.3%2015.9%208.4v.2l3.5-8.2c.6-3.3-7.3-7.5-17.6-9.2a54%2054%200%200%200-9.2-.7c-6.7%200-12.4.8-15.9%202.1v9.4'/%3e%3cpath%20fill='%23ad1519'%20d='M285.7%20267.3c4.4-.3%207.3-1.4%207.7-3.2q.2-2.2-3.8-4.5l-3.9.3z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M285.7%20267.3c4.4-.3%207.3-1.4%207.7-3.2q.2-2.2-3.8-4.5l-3.9.3v7.4'/%3e%3cpath%20fill='%23ad1519'%20d='M270%20261.5a13%2013%200%200%200-5.7%201.9v.2c-.5%201%201.8%203%205.8%205.4v-7.5'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M270%20261.5a13%2013%200%200%200-5.7%201.9v.2c-.5%201%201.8%203%205.8%205.4v-7.5'/%3e%3cpath%20fill='%23ad1519'%20d='M295.4%20282c.4-1.2-3.8-3.6-9.7-5.8-2.8-1-5-2-7.8-3.2-8.3-3.7-14.4-7.9-13.6-9.4v-.2c-.4.4-1%208-1%208-.8%201.3%204.8%205.5%2012.4%209.1%202.4%201.2%207.6%203%2010%204%204.3%201.4%208.7%204.3%208.3%205.3l1.4-7.7'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-linejoin='round'%20stroke-width='.4'%20d='M295.4%20282c.4-1.2-3.8-3.6-9.7-5.8-2.8-1-5-2-7.8-3.2-8.3-3.7-14.4-7.9-13.6-9.4v-.2c-.4.4-1%208-1%208-.8%201.3%204.8%205.5%2012.4%209.1%202.4%201.2%207.6%203%2010%204%204.3%201.4%208.7%204.3%208.3%205.3l1.4-7.7z'/%3e%3cpath%20fill='%23c8b100'%20d='m263.9%20254.4%202.1-6.6h-.5l-.5.1-1.4%204.8q-1.6-2-2.7-4.1l-1%20.2h-1l4%205.7h.5zm6-6.6h-1.8v6.2h4.2v-.7h-2.6zm6.8%201%202%20.3v-.7l-5.8-.5v.8h2l-.4%205.6h1.6l.5-5.4m2.4%206%20.8.2.8.2.7-2.9.6%201.2.8%202.1%201%20.2q.6%200%201%20.3l-.3-.7-1.3-2.9q1.6%200%202.1-1.2.3-.8-.7-1.5-.8-.4-1.7-.5l-2.4-.5zm3-5.2c.7.2%201.5.3%201.5%201v.5q-.5%201.3-2%20.9zm8%207-.2%202%20.8.5.9.5.5-7-.7-.3-6.1%203.8.5.3.4.2%201.7-1.2%202.3%201.3zm-1.7-1.5%202-1.4-.2%202.3z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.1'%20d='M182.2%20192.4c0-1%201-2%202-2s2.2%201%202.2%202c0%201.1-1%202-2.1%202a2%202%200%200%201-2.1-2z'/%3e%3cpath%20fill='%23ad1519'%20stroke='%23000'%20stroke-width='.3'%20d='M205.7%20175.4c6.3%200%2012%201%2015.7%202.4a32%2032%200%200%200%2014.6%202.3c2.7%200%206.5.8%2010.3%202.4a27%2027%200%200%201%207.4%204.7l-1.5%201.4-.4%203.8-4.1%204.7-2%201.8-5%203.9-2.5.2-.7%202.1-31.6-3.7-31.7%203.7-.8-2.1-2.5-.2-4.9-4-2-1.7-4.1-4.7-.5-3.8-1.5-1.4a28%2028%200%200%201%207.5-4.7%2026%2026%200%200%201%2010.2-2.4q3%20.3%206.6-.2a30%2030%200%200%200%208-2q5.6-2.4%2015.5-2.5z'/%3e%3cpath%20fill='%23c8b100'%20stroke='%23000'%20stroke-width='.4'%20d='M206.2%20217.1c-11.8%200-22.4-1.4-29.9-3.6a1%201%200%200%201-.8-1.2q0-.8.8-1.2a109%20109%200%200%201%2029.9-3.6c11.7%200%2022.3%201.4%2029.8%203.6a1.3%201.3%200%200%201%200%202.4c-7.5%202.2-18%203.6-29.8%203.6'/%3e%3cpath%20fill='%23ad1519'%20d='M206.1%20215.6c-10.6%200-20.2-1.2-27.5-3.1%207.3-2%2016.9-3%2027.5-3.1a115%20115%200%200%201%2027.6%203c-7.3%202-17%203.2-27.6%203.2'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.1'%20d='M206.9%20215.7v-6.3m-1.7%206.3v-6.3'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.2'%20d='M203.6%20215.7v-6.3m-1.6%206.3v-6.3'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='M200.6%20215.7v-6.3m-2.8%205.9v-5.7m1.3%205.8v-6m-3.8%205.6v-5.2m1.3%205.4v-5.6'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M192%20214.8V210m1%204.7V210m1.2%205v-5m-3.4%204.7v-4.5'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.5'%20d='M189.7%20214.5v-4.2m-1.2%204.1v-4'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.6'%20d='M186%20214v-3m1.3%203.2v-3.5m-2.5%203.1V211'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.7'%20d='M183.7%20213.6v-2.3m-1.3%202v-1.8m-1.2%201.6v-1.3'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.9'%20d='M179.8%20212.8v-.7'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.1'%20d='M213.7%20215.3v-5.8m-2.9%206v-6.1m-2.1%206.2v-6.3'/%3e%3cpath%20fill='%23c8b100'%20stroke='%23000'%20stroke-width='.4'%20d='M206%20207.4a108%20108%200%200%200-30%203.9c.6-.3.5-1-.3-3-1-2.5-2.4-2.4-2.4-2.4%208.3-2.5%2020-4%2032.8-4a123%20123%200%200%201%2033%204s-1.5-.1-2.5%202.3q-1.2%202.8-.2%203c-7.5-2.2-18.4-3.7-30.3-3.7'/%3e%3cpath%20fill='%23c8b100'%20stroke='%23000'%20stroke-width='.4'%20d='M206.1%20201.9c-12.9%200-24.5%201.5-32.8%204a1%201%200%200%201-1.3-.6%201%201%200%200%201%20.7-1.3%20121%20121%200%200%201%2033.4-4.2c13.2%200%2025.2%201.7%2033.5%204.2q1%20.4.7%201.3t-1.3.6c-8.4-2.5-20-4-32.9-4'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-linejoin='round'%20stroke-width='.4'%20d='M206.1%20215.6c-10.6%200-20.2-1.2-27.5-3.1%207.3-2%2016.9-3%2027.5-3.1a115%20115%200%200%201%2027.6%203c-7.3%202-17%203.2-27.6%203.2z'/%3e%3cpath%20fill='%23fff'%20stroke='%23000'%20stroke-width='.4'%20d='M197%20204.8q0-.9%201-1%20.9.1%201%201%200%201.2-1%201a1%201%200%200%201-1-1'/%3e%3cpath%20fill='%23ad1519'%20stroke='%23000'%20stroke-width='.4'%20d='M206.1%20205.6H203a1%201%200%200%201%200-2h6.4q.9.1%201%201%200%201.2-1%201h-3.2'/%3e%3cpath%20fill='%23058e6e'%20stroke='%23000'%20stroke-width='.4'%20d='m190.3%20206.5-2.3.2q-.9%200-1.2-.8a1%201%200%200%201%201-1.1l2.2-.3%202.4-.3q.9%200%201.1.9%200%20.9-.9%201l-2.3.4'/%3e%3cpath%20fill='%23fff'%20stroke='%23000'%20stroke-width='.4'%20d='M181%20206.7q.1-1%201.1-1t1%201-1%201a1%201%200%200%201-1-1'/%3e%3cpath%20fill='%23ad1519'%20stroke='%23000'%20stroke-width='.4'%20d='m174%20208.5%201.2-1.6%203.3.4-2.6%202-1.8-.8'/%3e%3cpath%20fill='%23058e6e'%20stroke='%23000'%20stroke-width='.4'%20d='m222%20206.5%202.3.2q.9%200%201.1-.8a1%201%200%200%200-.9-1.1l-2.2-.3-2.4-.3a1%201%200%200%200-1.1.9q0%20.9.9%201l2.3.4'/%3e%3cpath%20fill='%23fff'%20stroke='%23000'%20stroke-width='.4'%20d='M213.3%20204.8q0-.9%201-1c1-.1%201%20.5%201%201s-.4%201-1%201a1%201%200%200%201-1-1m15.8%201.9q.1-1%201-1t1.1%201q0%20.9-1%201a1%201%200%200%201-1-1'/%3e%3cpath%20fill='%23ad1519'%20stroke='%23000'%20stroke-width='.4'%20d='m238.2%20208.5-1.1-1.6-3.3.4%202.6%202%201.8-.8'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M177.3%20212.8c7.4-2.1%2017.6-3.4%2028.8-3.4%2011.3%200%2021.4%201.3%2028.9%203.4'/%3e%3cpath%20fill='%23c8b100'%20d='m182.3%20183.8%201.4%201%202-3.2a7%207%200%200%201-3.6-7.2c.2-4.1%205.2-7.6%2011.7-7.6q5%20.1%208.5%202.4l.2-1.8a17%2017%200%200%200-8.7-2.1c-7.4%200-13.2%204.1-13.5%209.1a9%209%200%200%200%203%207.6z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='m182.3%20183.8%201.4%201%202-3.2a7%207%200%200%201-3.6-7.2c.2-4.1%205.2-7.6%2011.7-7.6q5%20.1%208.5%202.4l.2-1.8a17%2017%200%200%200-8.7-2.1c-7.4%200-13.2%204.1-13.5%209.1a9%209%200%200%200%203%207.6l-1%201.8'/%3e%3cpath%20fill='%23c8b100'%20d='M182.4%20183.8a9%209%200%200%201-4-7.3q.2-5%205.3-8a9%209%200%200%200-3.4%206.8%209%209%200%200%200%203%206.7z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M182.4%20183.8a9%209%200%200%201-4-7.3q.2-5%205.3-8a9%209%200%200%200-3.4%206.8%209%209%200%200%200%203%206.7l-.9%201.8'/%3e%3cpath%20fill='%23c8b100'%20d='M160.1%20187.1a9%209%200%200%201-2.3-5.9q0-2%201-3.8c2-4.2%208.4-7.2%2016-7.2q3%200%205.9.6l-1%201.4a26%2026%200%200%200-4.9-.4c-7%200-12.8%202.7-14.5%206.3a7%207%200%200%200-.7%203.1%207%207%200%200%200%202.7%205.6l-2.6%204.1-1.3-1z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M160.1%20187.1a9%209%200%200%201-2.3-5.9q0-2%201-3.8c2-4.2%208.4-7.2%2016-7.2q3%200%205.9.6l-1%201.4a26%2026%200%200%200-4.9-.4c-7%200-12.8%202.7-14.5%206.3a7%207%200%200%200-.7%203.1%207%207%200%200%200%202.7%205.6l-2.6%204.1-1.3-1z'/%3e%3cpath%20fill='%23c8b100'%20d='M162.7%20173.3a11%2011%200%200%200-4%204.1%209%209%200%200%200-.9%203.8q.1%203.5%202.3%205.9l-1.5%202.5a10%2010%200%200%201-2.3-6.5c0-4%202.5-7.5%206.4-9.8'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M162.7%20173.3a11%2011%200%200%200-4%204.1%209%209%200%200%200-.9%203.8q.1%203.5%202.3%205.9l-1.5%202.5a10%2010%200%200%201-2.3-6.5c0-4%202.5-7.5%206.4-9.8z'/%3e%3cpath%20fill='%23c8b100'%20d='M206%20164.4c1.7%200%203.2%201.1%203.5%202.6q.4%202.1.4%204.5v1.1c.1%203.3.6%206.3%201.3%208.1l-5.2%205-5.2-5c.7-1.8%201.2-4.8%201.3-8.1v-1.1q0-2.4.4-4.5c.3-1.5%201.8-2.6%203.5-2.6'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M206%20164.4c1.7%200%203.2%201.1%203.5%202.6q.4%202.1.4%204.5v1.1c.1%203.3.6%206.3%201.3%208.1l-5.2%205-5.2-5c.7-1.8%201.2-4.8%201.3-8.1v-1.1q0-2.4.4-4.5c.3-1.5%201.8-2.6%203.5-2.6z'/%3e%3cpath%20fill='%23c8b100'%20d='M206%20166q1.6.1%201.8%201.4.3%201.8.4%204.2v1q.2%205%201.2%207.7l-3.4%203.2-3.4-3.2q1-2.7%201.2-7.7v-1l.4-4.2a2%202%200%200%201%201.8-1.4'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M206%20166q1.6.1%201.8%201.4.3%201.8.4%204.2v1q.2%205%201.2%207.7l-3.4%203.2-3.4-3.2q1-2.7%201.2-7.7v-1l.4-4.2a2%202%200%200%201%201.8-1.4z'/%3e%3cpath%20fill='%23c8b100'%20d='m229.7%20183.8-1.3%201-2-3.2a7%207%200%200%200%203.6-6.3v-.9c-.2-4.1-5.3-7.6-11.7-7.6a15%2015%200%200%200-8.5%202.4l-.2-1.8a17%2017%200%200%201%208.7-2.1c7.4%200%2013.2%204.1%2013.4%209.1a9%209%200%200%201-3%207.6z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='m229.7%20183.8-1.3%201-2-3.2a7%207%200%200%200%203.6-6.3v-.9c-.2-4.1-5.3-7.6-11.7-7.6a15%2015%200%200%200-8.5%202.4l-.2-1.8a17%2017%200%200%201%208.7-2.1c7.4%200%2013.2%204.1%2013.4%209.1a9%209%200%200%201-3%207.6l1%201.8'/%3e%3cpath%20fill='%23c8b100'%20d='M229.6%20183.8a9%209%200%200%200%204.1-7.3c0-3.2-2.1-6.1-5.3-8a9%209%200%200%201%203.4%206.8%209%209%200%200%201-3.2%206.7z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M229.6%20183.8a9%209%200%200%200%204.1-7.3c0-3.2-2.1-6.1-5.3-8a9%209%200%200%201%203.4%206.8%209%209%200%200%201-3.2%206.7l1%201.8'/%3e%3cpath%20fill='%23c8b100'%20d='M252%20187.1a9%209%200%200%200%202.2-5.9%209%209%200%200%200-.9-3.8c-2-4.2-8.4-7.2-16-7.2a29%2029%200%200%200-6%20.6l1%201.4a25%2025%200%200%201%205-.4c7%200%2012.8%202.7%2014.4%206.3q.7%201.5.7%203.1a7%207%200%200%201-2.6%205.6l2.5%204.1%201.3-1z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M252%20187.1a9%209%200%200%200%202.2-5.9%209%209%200%200%200-.9-3.8c-2-4.2-8.4-7.2-16-7.2a29%2029%200%200%200-6%20.6l1%201.4a25%2025%200%200%201%205-.4c7%200%2012.8%202.7%2014.4%206.3q.7%201.5.7%203.1a7%207%200%200%201-2.6%205.6l2.5%204.1%201.3-1z'/%3e%3cpath%20fill='%23c8b100'%20d='M249.3%20173.3a11%2011%200%200%201%204%204.1%209%209%200%200%201%20.9%203.8%209%209%200%200%201-2.3%205.9l1.6%202.5a10%2010%200%200%200%202.3-6.5c0-4-2.6-7.5-6.5-9.8'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M249.3%20173.3a11%2011%200%200%201%204%204.1%209%209%200%200%201%20.9%203.8%209%209%200%200%201-2.3%205.9l1.6%202.5a10%2010%200%200%200%202.3-6.5c0-4-2.6-7.5-6.5-9.8z'/%3e%3cpath%20fill='%23fff'%20d='M204.2%20181.4q.1-1.7%201.8-1.8c1.7-.1%201.9.8%201.9%201.8s-.9%201.7-1.9%201.7a2%202%200%200%201-1.8-1.7'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M204.2%20181.4q.1-1.7%201.8-1.8c1.7-.1%201.9.8%201.9%201.8s-.9%201.7-1.9%201.7a2%202%200%200%201-1.8-1.7z'/%3e%3cpath%20fill='%23fff'%20stroke='%23000'%20stroke-width='.4'%20d='M204.2%20178q.1-1.7%201.8-1.8c1.7-.1%201.9.8%201.9%201.8s-.9%201.7-1.9%201.7a2%202%200%200%201-1.8-1.7m.4-3.7q.1-1.2%201.4-1.3%201.4.1%201.5%201.3-.1%201.3-1.5%201.4c-1.4.1-1.4-.6-1.4-1.4m.4-3.3q0-.9%201-1c1-.1%201%20.5%201%201s-.4%201-1%201a1%201%200%200%201-1-1m.2-2.8q.1-.8.8-.8t.9.8q0%20.7-.9.8a1%201%200%200%201-.8-.8'/%3e%3cpath%20fill='%23c8b100'%20stroke='%23000'%20stroke-width='.4'%20d='m206.2%20191.8%201.2.2a4.6%204.6%200%200%200%204.5%206%205%205%200%200%200%204.4-3c.1%200%20.5-1.7.7-1.7s.1%201.8.2%201.7c.3%202.3%202.4%203.8%204.7%203.8a4.6%204.6%200%200%200%204.7-5l1.5-1.5.7%202a4%204%200%200%200-.4%201.9%204.4%204.4%200%200%200%204.5%204.2q2.5%200%203.8-1.9l.9-1.2v1.5c0%201.5.6%202.8%202%203%200%200%201.7.1%204-1.6%202.1-1.7%203.3-3.1%203.3-3.1l.2%201.7s-1.8%202.8-3.8%204c-1%20.6-2.7%201.3-4%201q-2.1-.5-3-2.6a7%207%200%200%201-3.3%201%207%207%200%200%201-6.1-3.7%207%207%200%200%201-10.4-.3%207%207%200%200%201-4.6%201.8%207%207%200%200%201-5.7-3%207%207%200%200%201-5.7%203%207%207%200%200%201-4.7-1.8%207%207%200%200%201-10.4.3%207%207%200%200%201-6%203.7%207%207%200%200%201-3.4-1q-.8%202.1-3%202.7c-1.2.2-2.9-.5-4-1.1-2-1.2-3.8-4-3.8-4l.2-1.7s1.2%201.4%203.4%203.1%203.9%201.6%203.9%201.6c1.4-.2%202-1.5%202-3v-1.5l1%201.2a5%205%200%200%200%203.7%202c2.5%200%204.5-2%204.5-4.3a4%204%200%200%200-.4-2l.8-1.9%201.5%201.5v.6c0%202.4%202%204.4%204.6%204.4%202.4%200%204.4-1.5%204.7-3.8%200%200%200-1.6.2-1.7s.6%201.7.7%201.6a5%205%200%200%200%204.5%203.1%204.6%204.6%200%200%200%204.5-6l1.2-.2'/%3e%3cpath%20fill='%23fff'%20stroke='%23000'%20stroke-width='.4'%20d='M238.6%20197.7q.4-1.4-.6-1.8-.9-.2-1.5%201.1-.4%201.4.6%201.8.9.2%201.5-1.1m-20.5-4c0-.8-.3-1.6-1-1.6q-.8%200-1.2%201.4%200%201.3.9%201.6%201-.1%201.3-1.4m-23.9%200c0-.8.4-1.6%201-1.6q1%200%201.2%201.4%200%201.3-.9%201.6-1-.1-1.2-1.4m-20.6%204q-.3-1.4.6-1.8%201-.2%201.5%201.1t-.5%201.8q-1%20.2-1.6-1.1'/%3e%3cpath%20fill='%23c8b100'%20stroke='%23000'%20stroke-width='.4'%20d='M182.7%20184a5%205%200%200%201%202.2%202.9s0-.3.6-.6%201-.3%201-.3l-.1%201.3-.3%202.2-.7%201.6a2%202%200%200%200-1.5-.4%202%202%200%200%200-1.2.9s-.7-.6-1.2-1.3l-1.1-2-.7-1.1s.5-.2%201.1%200q.9.1.8.2a5%205%200%200%201%201-3.4m.4%209.8-.6-1q0-.7.3-1.2s-.9-.5-1.8-.7c-.7-.2-2-.2-2.3-.2h-1l.2.5.5.7a5%205%200%200%200-3%202%205%205%200%200%200%203.5%201l-.2.8v.6l1-.4c.3-.1%201.5-.5%202-1%20.8-.4%201.5-1.1%201.5-1.1m2.7-.5.2-1.1-.6-1%201.4-1.3%202-.9%201.1-.4v.6l-.2.8a5%205%200%200%201%203.4%201%205%205%200%200%201-2.9%202l.7%201.2h-1c-.4%200-1.6%200-2.3-.2l-1.8-.7'/%3e%3cpath%20fill='%23ad1519'%20stroke='%23000'%20stroke-width='.4'%20d='M182.2%20192.4c0-1%201-2%202-2s2.2%201%202.2%202c0%201.1-1%202-2.1%202a2%202%200%200%201-2.1-2'/%3e%3cpath%20fill='%23c8b100'%20stroke='%23000'%20stroke-width='.4'%20d='M206.1%20180.8a6%206%200%200%201%201.9%203.7s.2-.3.9-.5q1.1-.3%201.2-.2l-.5%201.4-.8%202.4-1%201.7a2%202%200%200%200-1.7-.7q-1%200-1.6.7-.2-.1-1-1.7l-.8-2.4-.5-1.4%201.2.2q1%20.4.9.5.2-2.2%201.8-3.7'/%3e%3cpath%20fill='%23c8b100'%20stroke='%23000'%20stroke-width='.4'%20d='M204.6%20191.8a2%202%200%200%201-.5-1.2q0-.8.4-1.3s-.8-.7-1.8-1c-.7-.4-2-.7-2.5-.7l-1.2-.2.2.6.4.9a6%206%200%200%200-3.7%201.7q1.6%201.5%203.7%201.6l-.4%201-.2.6%201.2-.2c.4-.1%201.8-.4%202.5-.7%201-.4%201.9-1%201.9-1m3%200a2%202%200%200%200%20.1-2.6s.9-.7%201.8-1a8%208%200%200%201%202.5-.7l1.2-.3-.1.7-.4.9q2.2.2%203.6%201.7a6%206%200%200%201-3.6%201.6l.5%201.6-1.2-.2-2.5-.7c-1-.4-1.8-1-1.8-1m22-8a5%205%200%200%200-2.2%203l-.7-.6-1-.3.2%201.3c0%20.3%200%201.3.3%202.2q.4%201.6.6%201.6a2%202%200%200%201%201.5-.4q.9.2%201.3.9l1.1-1.3q1-1.4%201.1-2l.7-1.1s-.4-.2-1%200l-1%20.2a5%205%200%200%200-1-3.4m-.3%209.8q.5-.4.6-1l-.2-1.2s.8-.5%201.7-.7c.7-.2%202-.2%202.3-.2h1.1l-.3.5-.4.7a5%205%200%200%201%202.9%202%205%205%200%200%201-3.5%201l.2.8v.6l-1-.4c-.3-.1-1.4-.5-2-1-.8-.4-1.4-1.1-1.4-1.1m-2.8-.5-.2-1.1q0-.7.6-1s-.6-.8-1.4-1.3c-.6-.4-1.7-.8-2-.9l-1-.4v.6l.2.8a5%205%200%200%200-3.5%201q1%201.4%203%202l-.5.7-.3.5h1c.4%200%201.7%200%202.3-.2l1.8-.7'/%3e%3cpath%20fill='%23ad1519'%20stroke='%23000'%20stroke-width='.4'%20d='M226%20192.4c0-1%201-2%202-2s2.1%201%202.1%202a2%202%200%200%201-2%202%202%202%200%200%201-2.1-2m23.2%204.4c-.4-.5-1.4-.4-2.2.2q-1.2%201.2-.5%202.2%201%20.8%202.3-.3c.7-.6%201-1.6.5-2'/%3e%3cpath%20fill='%23c8b100'%20stroke='%23000'%20stroke-width='.4'%20d='m246.3%20198%20.7-1c.7-.6%201.8-.7%202.3-.2l.1.2s1-2%202.3-2.6%203.4-.5%203.4-.5a3%203%200%200%200-2.9-2.8%203%203%200%200%200-2.4%201l-.2-1s-1.3.3-1.9%201.8%200%203.6%200%203.6-.3-.9-.7-1.5a8%208%200%200%200-2.4-1.6l-1.3-.7-.1.5v.8a8%208%200%200%200-3.7.5%205%205%200%200%200%202.5%202.2l-.8.7-.4.5%201.3.2%202.5.2%201.7-.2m-80.3%200q0-.6-.7-1c-.7-.7-1.7-.8-2.2-.3l-.2.3s-1-2-2.3-2.7-3.3-.5-3.3-.5a3%203%200%200%201%202.8-2.8q1.6%200%202.4%201l.2-1s1.3.3%202%201.8c.5%201.5-.1%203.6-.1%203.6s.3-.9.8-1.5a8%208%200%200%201%202.4-1.6l1.3-.7v1.3a8%208%200%200%201%203.7.5%205%205%200%200%201-2.5%202.2l.8.7.4.5-1.2.2-2.6.2-1.7-.2'/%3e%3cpath%20fill='%23ad1519'%20stroke='%23000'%20stroke-width='.4'%20d='M163%20196.8q1-.7%202.4.3%201.2%201%20.4%202c-.5.6-1.5.5-2.2-.2s-1-1.6-.5-2m41-6.3q.2-1.8%202-2c1.8-.2%202.1.9%202.1%202%200%201-1%202-2%202a2%202%200%200%201-2.1-2'/%3e%3cpath%20fill='%23005bbf'%20stroke='%23000'%20stroke-width='.3'%20d='M201.8%20160.6c0-2.2%201.9-4%204.3-4s4.2%201.8%204.2%204-1.9%204-4.3%204a4%204%200%200%201-4.2-4'/%3e%3cpath%20fill='%23c8b100'%20stroke='%23000'%20stroke-width='.3'%20d='M205%20149.3v2.2h-2.4v2.2h2.3v6.3H202l-.2.6q0%20.9.3%201.6h7.9q.3-.7.3-1.6l-.2-.6h-2.8v-6.3h2.3v-2.2h-2.3v-2.2z'/%3e%3cpath%20fill='%23ccc'%20d='M206.5%20330.6a82%2082%200%200%201-35.5-8.2%2023%2023%200%200%201-12.8-20.4v-32h96.4v32a23%2023%200%200%201-12.8%2020.4%2081%2081%200%200%201-35.3%208.2'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.5'%20d='M206.5%20330.6a82%2082%200%200%201-35.5-8.2%2023%2023%200%200%201-12.8-20.4v-32h96.4v32a23%2023%200%200%201-12.8%2020.4%2081%2081%200%200%201-35.3%208.2z'/%3e%3cpath%20fill='%23ccc'%20d='M206.3%20270h48.3v-53.5h-48.3z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.5'%20d='M206.3%20270h48.3v-53.5h-48.3z'/%3e%3cpath%20fill='%23ad1519'%20d='M206.3%20302c0%2012.6-10.7%2022.9-24%2022.9s-24.2-10.3-24.2-23v-32h48.2v32'/%3e%3cpath%20fill='%23c8b100'%20stroke='%23000'%20stroke-width='.5'%20d='M168.6%20320.9c1.5.8%203.6%202%205.8%202.6l-.1-54.7h-5.7z'/%3e%3cpath%20fill='%23c8b100'%20stroke='%23000'%20stroke-linejoin='round'%20stroke-width='.5'%20d='M158%20301.6a24%2024%200%200%200%205.5%2015v-47.5h-5.4z'/%3e%3cpath%20fill='%23c7b500'%20stroke='%23000'%20stroke-width='.5'%20d='M179.4%20324.7a27%2027%200%200%200%205.6%200v-55.9h-5.6v56z'/%3e%3cpath%20fill='%23c8b100'%20stroke='%23000'%20stroke-width='.5'%20d='M190%20323.5a19%2019%200%200%200%205.8-2.5v-52.2H190z'/%3e%3cpath%20fill='%23ad1519'%20d='M158.1%20270h48.2v-53.5H158z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.5'%20d='M158.1%20270h48.2v-53.5H158z'/%3e%3cpath%20fill='%23c8b100'%20stroke='%23000'%20stroke-width='.5'%20d='M201%20316c2.4-2%204.6-6.8%205.4-12.2l.1-35H201l.1%2047.3z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.5'%20d='M206.3%20302c0%2012.6-10.7%2022.9-24%2022.9s-24.2-10.3-24.2-23v-32h48.2v32'/%3e%3cpath%20fill='%23ad1519'%20d='M254.6%20270v32c0%2012.6-10.8%2022.9-24.1%2022.9s-24.2-10.3-24.2-23v-32h48.3'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.5'%20d='M254.6%20270v32c0%2012.6-10.8%2022.9-24.1%2022.9s-24.2-10.3-24.2-23v-32h48.3'/%3e%3cpath%20fill='%23c8b100'%20d='m215.1%20294.1.1.5q-.1%201-1.1%201a1%201%200%200%201-1.1-1v-.5h-1.5a2.5%202.5%200%200%200%201.8%202.9v3.9h1.6V297a3%203%200%200%200%201.7-1.6h4.4v-1.2zm21.8%200v1.2h-4l-.3.6%204.6%205.2-1.2%201-4.6-5.3-.2.1v8.7h-1.6V297h-.2l-4.8%205.2-1.2-1%204.7-5.3-.2-.4h-4V294h13zm2.6%200v1.2h4.4q.5%201.2%201.7%201.6v3.9h1.6V297a3%203%200%200%200%201.8-2.4v-.5h-1.6l.1.5q-.1%201-1%201-1.1%200-1.2-1l.1-.5zm-6.7%2022.1a16%2016%200%200%200%203.7-1l.8%201.4a18%2018%200%200%201-4.3%201.2%203%203%200%200%201-2.6%202%203%203%200%200%201-2.5-2%2018%2018%200%200%201-4.6-1.2l.8-1.4q2%20.8%204%201a3%203%200%200%201%201.5-1.3v-6.7h1.6v6.7q1.1.3%201.6%201.4zm-11-2.2-.8%201.4a17%2017%200%200%201-3.6-3.1q-1.4.3-2.5-.5a2.4%202.4%200%200%201-.3-3.5l.1-.1a15%2015%200%200%201-1.3-4.8h1.7a13%2013%200%200%200%201%204q.8%200%201.4.2l4.1-4.5%201.3%201-4.1%204.5q.8%201.5-.1%202.8a15%2015%200%200%200%203.1%202.6m-6-4.8q.6-.7%201.5%200c.9.7.5%201%20.1%201.4a1%201%200%200%201-1.6.1%201%201%200%200%201%200-1.5m-2.2-4.5-1.6-.3-.3-4.3%201.7-.6v2.5q0%201.4.2%202.7m1.4-5.3%201.7.4v2.2c0-.8.3%202.1.3%202.1l-1.7.6-.3-2.7zm5.6%2013.7a16%2016%200%200%200%204.8%202.6l.4-1.6a14%2014%200%200%201-4-2zm-.8%201.4a17%2017%200%200%200%204.8%202.6l-1.2%201.1a19%2019%200%200%201-4-2zm2.2-9.4%201.6.7%203-3.3-1-1.4zm-1.3-1-1-1.4%203-3.3%201.6.7zm18.1%209.9.8%201.4a17%2017%200%200%200%203.6-3.1q1.4.3%202.5-.5a2.4%202.4%200%200%200%20.3-3.5l-.1-.1a15%2015%200%200%200%201.3-4.8h-1.7a13%2013%200%200%201-1%204l-1.4.2-4.1-4.5-1.3%201%204.1%204.5a2.4%202.4%200%200%200%20.1%202.8%2015%2015%200%200%201-3.1%202.6m6-4.8a1%201%200%200%200-1.5%200%201%201%200%200%200-.1%201.4%201%201%200%200%200%201.6.1%201%201%200%200%200%200-1.5m2.2-4.5%201.6-.3.3-4.3-1.7-.6v2.5q0%201.5-.2%202.8zm-1.4-5.3-1.7.4v2.2c0-.8-.3%202.1-.3%202.1l1.7.6.3-2.7zm-5.6%2013.7a16%2016%200%200%201-4.8%202.6l-.4-1.6a14%2014%200%200%200%204-2zm.8%201.4a17%2017%200%200%201-4.8%202.6l1.2%201.1a19%2019%200%200%200%204-2zm-2.2-9.4-1.6.7-2.9-3.3%201-1.4zm1.3-1%201-1.4-3-3.3-1.6.7zm-20.1-8.7.5%201.6h4.5l.5-1.6zm21.1%200-.5%201.6h-4.5l-.5-1.6zm-11.6%2021.9q.1-1%201.1-1a1%201%200%200%201%201.1%201q-.1%201-1%201a1%201%200%200%201-1.2-1m1.9-7.8%201.7-.4v-4.3l-1.7-.5zm-1.6%200-1.7-.4v-4.3l1.7-.5z'/%3e%3cpath%20fill='%23c8b100'%20d='M211.5%20294.2q.4-1.5%201.8-2V287h1.6v5.3q1.3.5%201.7%201.6h4.4v.3h-6a1%201%200%200%200-1-.6q-.6%200-1%20.6zm12.2%200v-.3h4.1l.2-.3-5-5.7%201.2-1%205%205.6.2-.1V285h1.6v7.3h.3l4.9-5.5%201.2%201-4.9%205.5.3.6h4v.3zm21.6%200a1%201%200%200%201%201-.6q.7%200%201%20.6h1.6q-.4-1.5-1.8-2V287h-1.6v5.3q-1.2.4-1.7%201.6h-4.4v.3zm-30.2-15%206%206.8%201.3-1-6.1-6.7.3-.6h4.4V276h-4.4a3%203%200%200%200-2.5-1.7%202.6%202.6%200%200%200-2.7%202.5%203%203%200%200%200%201.8%202.4v5.2h1.6v-5.2zm32%200v5.3h-1.7v-5.2l-.4-.2-6%206.8-1.3-1%206.2-6.9-.1-.3h-4.5V276h4.5a3%203%200%200%201%202.4-1.7%202.6%202.6%200%200%201%202.7%202.5%202.5%202.5%200%200%201-1.9%202.4zm-16.1%200v3.3h-1.7v-3.2a3%203%200%200%201-1.7-1.6h-4V276h4a3%203%200%200%201%202.5-1.7q2%20.1%202.5%201.7h4v1.6h-4a3%203%200%200%201-1.6%201.6m-17.8%204-1.7.4v4.3l1.7.5zm1.6%200%201.7.4v4.3l-1.7.5zm30.6%200-1.7.4v4.3l1.7.5zm1.6%200%201.7.4v4.3l-1.7.5zm-25.5.8%201.6-.7%202.9%203.3-1%201.4zm-1.3%201-1%201.4%203%203.3%201.6-.7zm18.5-1.1-1.6-.7-3%203.3%201%201.4zm1.2%201%201%201.4-3%203.3-1.5-.7zm-20.3%209%20.5-1.6h4.5l.5%201.6zm-6.7-17q0-1%201.2-1a1%201%200%200%201%201%201q0%201-1%201a1%201%200%200%201-1.2-1m12.1.8-.5%201.6H220l-.5-1.6zm0-1.6-.5-1.6H220l-.5%201.6zm15.7%2017.8-.5-1.6h-4.5l-.5%201.6zm4.4-17q.1-1%201.1-1a1%201%200%200%201%201.1%201q-.1%201-1%201a1%201%200%200%201-1.2-1m-16.1%200q.1-1%201.1-1a1%201%200%200%201%201.1%201q-.1%201-1.1%201a1%201%200%200%201-1.1-1m6.2.8.5%201.6h4.6l.5-1.6zm0-1.6.5-1.6h4.6l.5%201.6zm-5.9%205-1.7.5v4.3l1.7.5V281m1.7%200%201.6.5v4.3l-1.6.5z'/%3e%3cpath%20fill='none'%20stroke='%23c8b100'%20stroke-width='.3'%20d='M232.7%20316.3a16%2016%200%200%200%203.7-1.1l.8%201.4a18%2018%200%200%201-4.3%201.2%203%203%200%200%201-2.6%202%203%203%200%200%201-2.5-2%2018%2018%200%200%201-4.6-1.2l.8-1.4q2%20.8%204%201a3%203%200%200%201%201.5-1.3v-6.7h1.6v6.7q1.1.3%201.6%201.4zm-4.7-20.4-.2-.5h-4V294h4l.2-.4-5-5.6%201.2-1%205%205.5h.2V285h1.7v7.3h.2l4.9-5.5%201.2%201-4.9%205.5.3.6h4v1.5h-4q0%20.3-.3.5l4.7%205.3-1.3%201-4.6-5.3-.2.1v8.7h-1.6V297l-.2-.1-4.8%205.3-1.2-1%204.7-5.3m-12.8-16.7%206%206.8%201.3-1-6.1-6.7.3-.6h4.4V276h-4.4a3%203%200%200%200-2.5-1.7%202.6%202.6%200%200%200-2.6%202.5%203%203%200%200%200%201.7%202.4v5.2h1.6v-5.2zm6.5%2034.8-.8%201.4a17%2017%200%200%201-3.6-3.1q-1.4.3-2.5-.5a2.4%202.4%200%200%201-.3-3.5l.1-.1a15%2015%200%200%201-1.2-4.8h1.6a13%2013%200%200%200%201%204q.8%200%201.4.2l4.1-4.5%201.3%201-4.1%204.5q.8%201.5-.1%202.8a15%2015%200%200%200%203.1%202.6zm-8.4-13.1V297a3%203%200%200%201-1.8-2.4q.2-1.6%201.8-2.4V287h1.6v5.3q1.3.4%201.7%201.6h4.4v1.5h-4.4a3%203%200%200%201-1.6%201.6v3.9h-1.7m2.3%208.3q.7-.7%201.6%200c.9.7.5%201%20.1%201.4a1%201%200%200%201-1.6.1%201%201%200%200%201%200-1.5zm-2-4.5-1.7-.3-.3-4.3%201.7-.6v2.5q0%201.4.3%202.7zm1.4-5.3%201.6.4v2.2c0-.8.3%202.1.3%202.1l-1.7.6-.3-2.7v-2.6zm5.5%2013.7a16%2016%200%200%200%204.8%202.6l.4-1.6a14%2014%200%200%201-4-2l-1.2%201m-.8%201.4a17%2017%200%200%200%204.8%202.6l-1.2%201.1a19%2019%200%200%201-4-2l.4-1.7'/%3e%3cpath%20fill='none'%20stroke='%23c8b100'%20stroke-width='.3'%20d='m221.9%20305.1%201.6.7%203-3.3-1-1.4-3.6%204m-1.3-1-1-1.4%203-3.3%201.6.7-3.6%204m-7.6-9.5q.1-1%201-1%201.1.1%201.2%201-.1%201-1.1%201.1a1%201%200%200%201-1.1-1zm25.7%2019.4.8%201.4a17%2017%200%200%200%203.6-3.1q1.4.3%202.6-.5a2.4%202.4%200%200%200%20.2-3.5l-.1-.1a15%2015%200%200%200%201.3-4.8h-1.7a13%2013%200%200%201-1%204l-1.4.2-4.1-4.5-1.3%201%204.1%204.5a2.4%202.4%200%200%200%20.1%202.8%2015%2015%200%200%201-3%202.6zm8.4-13.1V297a3%203%200%200%200%201.8-2.4q0-1.6-1.8-2.4V287h-1.6v5.3q-1.2.4-1.7%201.6h-4.4v1.5h4.4q.5%201.2%201.7%201.6v3.9zm-2.3%208.3a1%201%200%200%200-1.6%200%201%201%200%200%200-.1%201.4%201%201%200%200%200%201.6.1%201%201%200%200%200%200-1.5zm2-4.5%201.7-.3.3-4.3-1.7-.6v2.5q0%201.4-.2%202.7zm-1.3-5.3-1.7.4v2.2c0-.8-.3%202.1-.3%202.1l1.7.6.3-2.7v-2.6m1.6-20.1v5.2h-1.6v-5.2l-.4-.2-6%206.8-1.2-1%206-7v-.2h-4.5V276h4.4a3%203%200%200%201%202.5-1.7%202.6%202.6%200%200%201%202.6%202.5%203%203%200%200%201-1.8%202.4zm-16%200v3.2h-1.7v-3.2a3%203%200%200%201-1.7-1.6h-4V276h4q.7-1.6%202.5-1.7c1.8-.1%202.2.7%202.5%201.7h4v1.6h-4a3%203%200%200%201-1.6%201.6zm8.8%2033.8a16%2016%200%200%201-4.8%202.6l-.4-1.6a14%2014%200%200%200%204-2l1.2%201m.8%201.4a17%2017%200%200%201-4.8%202.6l1.2%201.1a19%2019%200%200%200%204-2l-.4-1.7m-27.4-31.4-1.7.5v4.3l1.7.5v-5.2m1.7%200%201.6.4v4.3l-1.6.5V283m30.5%200-1.7.5v4.3l1.7.5V283'/%3e%3cpath%20fill='none'%20stroke='%23c8b100'%20stroke-width='.3'%20d='m247.1%20283.1%201.7.5v4.3l-1.7.5V283m-8.6%2022-1.6.7-2.9-3.3%201-1.4%203.5%204m1.3-1%201-1.4-3-3.3-1.6.7%203.6%204m-18.2-20%201.6-.7%203%203.3-1%201.4-3.6-4m-1.3%201-1%201.4%203%203.3%201.6-.7-3.6-4m18.5-1.1-1.6-.7-3%203.3%201%201.4%203.6-4m1.2%201%201%201.4-3%203.2-1.5-.6%203.5-4m-20.3%209%20.5-1.6h4.5l.5%201.6h-5.5m0%201.5.5%201.6h4.5l.5-1.6h-5.5M213%20277q0-1%201.2-1%201%200%201%201c0%201-.4%201-1%201a1%201%200%200%201-1.2-1zm12.1.8-.5%201.6h-4.5l-.5-1.6h5.5m0-1.6-.5-1.6h-4.5l-.5%201.6h5.5m20.1%2018.5q.1-.9%201.1-1%201%20.1%201.1%201-.1%201-1%201.1a1%201%200%200%201-1.2-1zm-4.4-.7-.5-1.6h-4.5l-.5%201.6h5.5m0%201.5-.5%201.6h-4.5l-.5-1.6h5.5m-11.6%2021.9q.1-1%201.1-1t1.1%201c.1%201-.5%201-1%201a1%201%200%200%201-1.2-1zm1.9-7.8%201.7-.4v-4.3l-1.7-.5v5.2m-1.6%200-1.7-.4v-4.3l1.7-.5v5.2m15.7-32.6q.1-1%201.1-1a1%201%200%200%201%201.1%201q-.1%201-1%201a1%201%200%200%201-1.2-1zm-16.1%200q.1-1%201.1-1a1%201%200%200%201%201.1%201q-.1%201-1%201a1%201%200%200%201-1.2-1zm6.2.8.5%201.6h4.6l.5-1.6h-5.5m0-1.6.4-1.6h4.6l.5%201.6h-5.5m-6%205-1.6.5v4.3l1.6.5V281m1.7%200%201.6.5v4.3l-1.6.5V281'/%3e%3cpath%20fill='%23058e6e'%20d='M227.7%20294.7a2.6%202.6%200%200%201%202.6-2.5%202.6%202.6%200%200%201%202.6%202.5%202.6%202.6%200%200%201-2.6%202.4c-1.4%200-2.6-1-2.6-2.4'/%3e%3cpath%20fill='%23db4446'%20d='M230.9%20229.7v-.6l.1-.3-2.3-.1a6%206%200%200%201-2.3-1.2q-1-1-1.6-1.2c-1.3-.2-2.3.4-2.3.4s1%20.4%201.7%201.3%201.5%201.3%201.8%201.4c.6.2%202.6%200%203.1.1z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M230.9%20229.7v-.6l.1-.3-2.3-.1a6%206%200%200%201-2.3-1.2q-1-1-1.6-1.2c-1.3-.2-2.3.4-2.3.4s1%20.4%201.7%201.3%201.5%201.3%201.8%201.4c.6.2%202.6%200%203.1.1z'/%3e%3cpath%20fill='%23ed72aa'%20stroke='%23000'%20stroke-width='.4'%20d='M238.1%20227.5v1.4c.2.6-.1%201.2%200%201.5q0%20.5.3.9l.2.9-.7-.5-.6-.4v1l.6%201.1%201%201.3c.2.5.1%201.4.1%201.4s-.4-.7-.8-.8l-1.2-.7s.7.8.7%201.5l-.3%201.6c-.1.2-.3-.7-.8-1.1l-1-.9s.4%201.2.4%202v2.3l-.9-1-1-.7c0-.2.5.6.6%201.1s.3%202.3%201.8%204.5c1%201.3%202.3%203.6%205.3%202.9s1.9-4.8%201.3-6.7a17%2017%200%200%201-1-4.6c0-.8.6-2.9.5-3.3a8%208%200%200%201%20.2-3.1l.9-2.3.4-1.3.1-1.3.7%201.3.1%201.5s.1-1%201-1.6%201.8-1.1%202-1.4l.3-.5c-.1%200%200%201.8-.6%202.6l-1.7%202s.7-.3%201.2-.3h.9s-.6.4-1.4%201.6c-.8%201-.5%201.2-1%202.1s-1%201-1.7%201.5c-1%20.8-.5%204.2-.4%204.7.2.5%202%204.5%202%205.5s.2%203.2-1.5%204.6c-1.1%201-3%201-3.4%201.2-.4.3-1.2%201.1-1.2%202.8s.6%202%201%202.4c.6.5%201.2.2%201.3.6l.5.7q.3.3.2.8c0%20.3-.8%201.1-1.1%201.7l-.8%202.4c0%20.2-.1%201%20.1%201.3%200%200%20.9%201%20.3%201.2-.4.2-.8-.2-1-.2l-.9.5q-.3-.1-.4-.8l-.1-.7q-.3%200-.4.5c0%20.2%200%20.8-.3.8l-.8-.5c-.2%200-.8-.2-.8-.4q.1-.6.7-1%20.8-.1.5-.5t-.7%200c-.3.4-.8%200-.7-.2v-.8c0-.2-.4-.5.1-.8s.8.2%201.4.1q.8%200%201-.6.3-.6-.2-1.4l-.9-.8-.3-.9v2.2l-.7-.8c-.3-.3-.6-1.3-.6-1.3v1.3l.2.8c-.1.1-.8-.7-1-.8l-1-1-.4-1.4v-1.5l.4-1h-1.4c-.7%200-1.2-.3-1.5.2q-.4.8.2%202.8.5%201.8.4%202.1l-.7.8h-.9l-1.2-.3h-1.3l-1.1-.3c-.3.1-.8.3-.6.7q.1.8-.5.7l-.9-.2q-.8%200-.8-.4t.4-.7q.3-.5%200-.5h-.6q-.3.4-.8.4-.3-.1-.4-1c-.1-.9-.7-1.2%200-1.1.5%200%201.3.4%201.4%200q.2-.4-.2-.7c-.4-.3-.8-.4-.3-.7l.7-.5c.1-.2.4-.8.7-.6.6.2%200%20.7.6%201.3s1%201%202%20.8q1.4%200%201.3-.5l-.1-1v-1s-.4.3-.5.6l-.4.8v-2l-.2-.8-.3.9-.1%201s-.7-.5-.5-1.5l.1-2c.2-.3.7-1.5%202-1.6h2.6l2-.3s-2.8-1.4-3.5-1.9a10%2010%200%200%201-2-2l-.6-1.6s-.5%200-1%20.3l-1.2%201-.7%201%20.1-1.2v-.8s-.4%201.2-1%201.7l-1.4%201v-.8l.2-1s-.4.8-1.1%201c-.7%200-1.8%200-1.9.4q.2.8%200%201.4c0%20.3-.4.5-.4.5l-.8-.4-.7.2c-.1.1-.3-.4-.2-.7s.7-.6.5-.8l-.8.2c-.3.1-.8.3-.8-.2q.2-.6%200-1%200-.4.2-.6l1.2-.1q0-.4-.8-.6-1-.2-.5-.8.3-.2.5-.6c.1-.2.2-.7.7-.5.5.3.4.8%201%201a4%204%200%200%200%202-.2l1.5-1%201.5-1-1-.8q-.5-.7-1-1l-1.8-.6-1.7-.5.8-.3q.4-.5.8-.6h.3-1.4c-.3-.1-1-.6-1.3-.6l-.8.1s.8-.4%201.4-.5l1-.1s-.9-.3-1.1-.6l-.6-1q-.2-.3-.6-.5l-1%20.3q-.6%200-.6-.6l-.1-.5c-.2-.3-.6-.8-.2-1h1.4q-.2-.4-.8-.8c-.4-.2-1-.5-.7-.8l.8-.5c.2-.3.3-1%20.7-.7.4.2.8%201.2%201.1%201.1s.3-.8.3-1c0-.4%200-1%20.2-.9l1%20.5q.8-.1%201%20.2%200%20.5-.6%201-.4.6-.3%201.4.4%201%201.2%201.4t1.7.9c.5.3%201.7%201.2%202.1%201.3l.8.4s.5-.2%201.1-.2%202.1%200%202.6-.2%201.3-.6%201-1c-.1-.6-1.3-1-1.2-1.4q0-.5%201.2-.4c.8%200%201.8.1%202-1q.5-1.4-.8-1.8c-1-.2-1.8-.2-2-1q-.4-1-.2-1.1.3-.3%201.4-.4%201.3%200%201.9-.2l.6-.9c.3-.2%201.4-.4%201.4-.4s1.4.7%202.7%201.7l2.2%202.1'/%3e%3cpath%20d='m228.1%20226.8-.2-.6v-.3s.8%200%20.7.3q0%20.2-.3.3z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='m228.1%20226.8-.2-.6v-.3s.8%200%20.7.3q0%20.2-.3.3z'/%3e%3cpath%20d='M232%20225.4v-.4s.7%200%201%20.3c.5.4.9%201%20.9%201l-.8-.4h-.5l-.3-.1v-.3z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.1'%20d='M232%20225.4v-.4s.7%200%201%20.3c.5.4.9%201%20.9%201l-.8-.4h-.5l-.3-.1v-.3z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='m237.3%20231.3-.4-.7-.3-.4'/%3e%3cpath%20fill='%23db4446'%20d='M217.4%20226.6s.5.4.8.4h.8s.2-.5.1-.8c-.2-1.2-1.2-1.4-1.2-1.4s.3.7.1%201z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M217.4%20226.6s.5.4.8.4h.8s.2-.5.1-.8c-.2-1.2-1.2-1.4-1.2-1.4s.3.7.1%201z'/%3e%3cpath%20fill='%23db4446'%20d='M215.2%20227.6s-.4-.7-1.3-.6-1.4.8-1.4.8h1.2c.3.3.4%201%20.4%201l.7-.6z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M215.2%20227.6s-.4-.7-1.3-.6-1.4.8-1.4.8h1.2c.3.3.4%201%20.4%201l.7-.6z'/%3e%3cpath%20fill='%23db4446'%20d='M214.2%20230.6s-.8.1-1.2.6-.3%201.3-.3%201.3.4-.5.9-.5l1%20.2-.1-.8z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M214.2%20230.6s-.8.1-1.2.6-.3%201.3-.3%201.3.4-.5.9-.5l1%20.2-.1-.8z'/%3e%3cpath%20d='m228.2%20230.5.3-.5.3.5z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='m228.2%20230.5.3-.5.3.5h-.7'/%3e%3cpath%20d='m229%20230.5.3-.5.4.5z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='m229%20230.5.3-.5.4.5h-.8'/%3e%3cpath%20d='m228.6%20227.3.8.3-.7.4-.1-.6'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='m228.6%20227.3.8.3-.7.4-.1-.6'/%3e%3cpath%20d='m229.5%20227.6.7.2-.5.4z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='m229.5%20227.6.7.2-.5.4-.2-.6'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M224.2%20233.7s-.7.2-1%20.6q-.4.9-.3%201c.1.1.6-.5%201.5-.3l1.2.3%201.3-.3s-.7.8-.7%201.3l.2%201.1c0%20.7-.6%201.6-.6%201.6l1-.3%201.7-.8.9-1s-.2%201%200%201.4l.2%201.6.8-.6q.5-.2.9-.7l.3-1s0%20.8.4%201.3l.6%201.6s.3-.8.6-1.1l.7-1-.1-.9.4.8m-11%20.6s.5-.8%201-1l1.1-.8.9-.4m1%205%201.3-.8%201-1'/%3e%3cpath%20fill='%23db4446'%20d='M216.6%20240.4s-.4-.5-1.1-.3c-.7%200-1.2.9-1.2.9s.6-.2%201-.1.6.4.6.4l.4-.4z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M216.6%20240.4s-.4-.5-1.1-.3c-.7%200-1.2.9-1.2.9s.6-.2%201-.1.6.4.6.4l.4-.4z'/%3e%3cpath%20fill='%23db4446'%20d='M215.8%20243.2s-.6%200-1.1.3c-.5.4-.5%201.2-.5%201.2s.4-.4.8-.3l.9.2v-.6c.2-.4-.1-.8-.1-.8'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M215.8%20243.2s-.6%200-1.1.3c-.5.4-.5%201.2-.5%201.2s.4-.4.8-.3l.9.2v-.6c.2-.4-.1-.8-.1-.8z'/%3e%3cpath%20fill='%23db4446'%20d='M217.2%20245.8s0%20.8.3%201.3c.4.5%201.1.5%201.1.5l-.3-.7.3-.8q.1-.1-.7-.3z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M217.2%20245.8s0%20.8.3%201.3c.4.5%201.1.5%201.1.5l-.3-.7.3-.8q.1-.1-.7-.3zm16%201.3s2%201.2%201.9%202.2c0%201-1%202.3-1%202.3'/%3e%3cpath%20fill='%23db4446'%20d='M224.2%20252.6s-.4-.6-1.1-.6-1.4.7-1.4.7.8-.1%201%20.2l.5.6.5-.3z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M224.2%20252.6s-.4-.6-1.1-.6-1.4.7-1.4.7.8-.1%201%20.2l.5.6.5-.3z'/%3e%3cpath%20fill='%23db4446'%20d='M222.2%20255.3s-1-.1-1.4.3-.4%201.3-.4%201.3.6-.6%201-.5q.9.1%201%20.3v-.7l-.3-.7'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M222.2%20255.3s-1-.1-1.4.3-.4%201.3-.4%201.3.6-.6%201-.5q.9.1%201%20.3v-.7l-.3-.7z'/%3e%3cpath%20fill='%23db4446'%20d='M224%20258.1s-.3.7%200%201.1%201%20.8%201%20.8-.3-.4-.2-.8c.1-.3.7-.8.7-.8l-1.4-.2'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M224%20258.1s-.3.7%200%201.1%201%20.8%201%20.8-.3-.4-.2-.8c.1-.3.7-.8.7-.8l-1.4-.2z'/%3e%3cpath%20fill='%23db4446'%20d='M236%20259.3s-.8-.2-1.2%200c-.5.3-.8%201.4-.8%201.4s.7-.6%201.2-.5q.9.1%201%20.3v-.8z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M236%20259.3s-.8-.2-1.2%200c-.5.3-.8%201.4-.8%201.4s.7-.6%201.2-.5q.9.1%201%20.3v-.8z'/%3e%3cpath%20fill='%23db4446'%20d='M236.4%20262.2s-.6.6-.4%201.1l.6%201s0-.7.2-1l1-.3-.7-.5z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M236.4%20262.2s-.6.6-.4%201.1l.6%201s0-.7.2-1l1-.3-.7-.5z'/%3e%3cpath%20fill='%23db4446'%20d='M239.4%20263s-.3.8.2%201.3l1%20.5q-.2-.3-.2-1.1.3-.7.5-.7l-.8-.2-.7.3'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M239.4%20263s-.3.8.2%201.3l1%20.5q-.2-.3-.2-1.1.3-.7.5-.7l-.8-.2-.7.3z'/%3e%3cpath%20fill='%23ffd691'%20stroke='%23000'%20stroke-width='.5'%20d='M208.8%20316.4q3%201%203%203.8c0%202.3-2.2%204-5%204-3%200-5.3-1.7-5.3-4%200-1.7%201-3.6%203-3.8l-.2-.4-.7-.7h1.2l.8.5.5-.7.6-.5.6.6.3.5.7-.4.8-.3s0%20.4-.2.7l-.1.7'/%3e%3cpath%20fill='%23058e6e'%20stroke='%23000'%20stroke-width='.5'%20d='M206.3%20326.7s-3.8-2.6-5.5-3c-2-.4-4.5%200-5.5%200%200%200%201.2.8%201.8%201.4.5.5%202.3%201.5%203.3%201.8%203%20.8%206-.2%206-.2m1%20.2s2.4-2.5%205-2.9c3-.4%205%20.3%206.2.6l-1.5.8c-.5.3-2%201.5-4%201.6-2%200-4.4-.3-4.8-.2l-.9.1'/%3e%3cpath%20fill='%23ad1519'%20stroke='%23000'%20stroke-width='.5'%20d='M206.7%20323.8a5%205%200%200%201%200-7.1%205%205%200%200%201%201.5%203.5%205%205%200%200%201-1.5%203.6'/%3e%3cpath%20fill='%23058e6e'%20stroke='%23000'%20stroke-width='.5'%20d='M205.7%20329s.6-1.5.6-2.7l-.1-2.1h.8s.3%201.1.3%202l-.1%202.4-.7.1-.8.3'/%3e%3cpath%20fill='%23fff'%20d='M254%20190.7q.1-.9%201-1%201%20.1%201.1%201-.1%201-1%201a1%201%200%200%201-1-1'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M254%20190.7q.1-.9%201-1%201%20.1%201.1%201-.1%201-1%201a1%201%200%200%201-1-1z'/%3e%3cpath%20fill='%23fff'%20d='M255.4%20188.2q.1-1%201.1-1t1%201c0%201-.4%201-1%201a1%201%200%200%201-1-1'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M255.4%20188.2q.1-1%201.1-1t1%201c0%201-.4%201-1%201a1%201%200%200%201-1-1z'/%3e%3cpath%20fill='%23fff'%20d='M256.4%20185.2q.1-.9%201-1%201%20.1%201.1%201c.1.9-.5%201-1%201a1%201%200%200%201-1.1-1'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M256.4%20185.2q.1-.9%201-1%201%20.1%201.1%201c.1.9-.5%201-1%201a1%201%200%200%201-1.1-1z'/%3e%3cpath%20fill='%23fff'%20d='M256.5%20182q.1-.9%201-1%201%20.1%201.1%201-.1%201-1%201a1%201%200%200%201-1-1'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M256.5%20182q.1-.9%201-1%201%20.1%201.1%201-.1%201-1%201a1%201%200%200%201-1-1z'/%3e%3cpath%20fill='%23fff'%20d='M255.7%20179q.1-1%201-1%201.1%200%201.2%201c.1%201-.5%201-1.1%201a1%201%200%200%201-1-1'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M255.7%20179q.1-1%201-1%201.1%200%201.2%201c.1%201-.5%201-1.1%201a1%201%200%200%201-1-1z'/%3e%3cpath%20fill='%23fff'%20d='M254.1%20176.1q.1-.9%201-1%201%20.1%201.1%201%200%201.2-1%201a1%201%200%200%201-1-1'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M254.1%20176.1q.1-.9%201-1%201%20.1%201.1%201%200%201.2-1%201a1%201%200%200%201-1-1z'/%3e%3cpath%20fill='%23fff'%20d='M252%20173.8q0-1%201-1c1%200%201%20.4%201%201s-.4%201-1%201a1%201%200%200%201-1-1'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M252%20173.8q0-1%201-1c1%200%201%20.4%201%201s-.4%201-1%201a1%201%200%200%201-1-1z'/%3e%3cpath%20fill='%23fff'%20d='M249.4%20171.8q.1-.9%201.1-1a1%201%200%200%201%200%202q-1%200-1-1'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M249.4%20171.8q.1-.9%201.1-1a1%201%200%200%201%200%202q-1%200-1-1z'/%3e%3cpath%20fill='%23fff'%20d='M246.5%20170.3q0-1%201-1c1%200%201%20.4%201%201s-.4%201-1%201a1%201%200%200%201-1-1'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M246.5%20170.3q0-1%201-1c1%200%201%20.4%201%201s-.4%201-1%201a1%201%200%200%201-1-1z'/%3e%3cpath%20fill='%23fff'%20d='M243.3%20169.1q.1-.9%201.1-1a1%201%200%200%201%200%202%201%201%200%200%201-1-1'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M243.3%20169.1q.1-.9%201.1-1a1%201%200%200%201%200%202%201%201%200%200%201-1-1z'/%3e%3cpath%20fill='%23fff'%20d='M239.9%20168.5q0-.9%201-1c1-.1%201%20.5%201%201s-.4%201-1%201a1%201%200%200%201-1-1'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M239.9%20168.5q0-.9%201-1c1-.1%201%20.5%201%201s-.4%201-1%201a1%201%200%200%201-1-1z'/%3e%3cpath%20fill='%23fff'%20d='M236.6%20168.3q0-.9%201-1c1-.1%201%20.5%201%201s-.4%201-1%201a1%201%200%200%201-1-1'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M236.6%20168.3q0-.9%201-1c1-.1%201%20.5%201%201s-.4%201-1%201a1%201%200%200%201-1-1z'/%3e%3cpath%20fill='%23fff'%20d='M233.3%20168.5q.1-1%201-1t1.1%201c.1%201-.4%201-1%201a1%201%200%200%201-1-1'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M233.3%20168.5q.1-1%201-1t1.1%201c.1%201-.4%201-1%201a1%201%200%200%201-1-1z'/%3e%3cpath%20fill='%23fff'%20d='M230.1%20168.5q.1-1%201-1t1.1%201c.1%201-.5%201-1%201a1%201%200%200%201-1.1-1'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M230.1%20168.5q.1-1%201-1t1.1%201c.1%201-.5%201-1%201a1%201%200%200%201-1.1-1z'/%3e%3cpath%20fill='%23fff'%20stroke='%23000'%20stroke-width='.4'%20d='M231.7%20171.2q.1-.9%201-1%201%20.1%201.1%201%200%201.2-1%201a1%201%200%200%201-1-1m.6%203.1q0-1%201-1c1%200%201%20.4%201%201q0%20.9-1%201a1%201%200%200%201-1-1m0%203q.2-.9%201.1-1a1%201%200%200%201%200%202%201%201%200%200%201-1-1m-1%202.8q.1-.9%201-1%201%20.1%201.1%201%200%201-1%201a1%201%200%200%201-1-1m-1.9%202.6q.1-.9%201-1%201.1.1%201.2%201%200%201.2-1.1%201-1%200-1-1'/%3e%3cpath%20fill='%23fff'%20d='M227.6%20166.5q.1-.9%201.1-1a1%201%200%200%201%200%202%201%201%200%200%201-1-1'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M227.6%20166.5q.1-.9%201.1-1a1%201%200%200%201%200%202%201%201%200%200%201-1-1z'/%3e%3cpath%20fill='%23fff'%20d='M224.8%20165q0-1%201-1c1%200%201%20.4%201%201s-.4%201-1%201a1%201%200%200%201-1-1'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M224.8%20165q0-1%201-1c1%200%201%20.4%201%201s-.4%201-1%201a1%201%200%200%201-1-1z'/%3e%3cpath%20fill='%23fff'%20d='M221.6%20164q.1-1%201-1t1.1%201q-.1.9-1%201-1-.1-1.1-1'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M221.6%20164q.1-1%201-1t1.1%201q-.1.9-1%201-1-.1-1.1-1z'/%3e%3cpath%20fill='%23fff'%20d='M218.3%20163.4q.1-.9%201-1%201%20.1%201.1%201%200%201.2-1%201a1%201%200%200%201-1.1-1'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M218.3%20163.4q.1-.9%201-1%201%20.1%201.1%201%200%201.2-1%201a1%201%200%200%201-1.1-1z'/%3e%3cpath%20fill='%23fff'%20d='M215%20163.5q.1-1%201.1-1t1%201-1%201a1%201%200%200%201-1-1'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M215%20163.5q.1-1%201.1-1t1%201-1%201a1%201%200%200%201-1-1z'/%3e%3cpath%20fill='%23fff'%20d='M211.7%20164q.1-.9%201-1%201%20.1%201.1%201%200%201.2-1%201a1%201%200%200%201-1-1'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M211.7%20164q.1-.9%201-1%201%20.1%201.1%201%200%201.2-1%201a1%201%200%200%201-1-1z'/%3e%3cpath%20fill='%23fff'%20d='M208.6%20165.1q.1-.9%201-1%201%20.1%201.1%201c.1.9-.5%201-1%201a1%201%200%200%201-1.1-1'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M208.6%20165.1q.1-.9%201-1%201%20.1%201.1%201c.1.9-.5%201-1%201a1%201%200%200%201-1.1-1z'/%3e%3cpath%20fill='%23fff'%20d='M156%20190.7q0-.9%201-1c1-.1%201%20.5%201%201q0%201-1%201a1%201%200%200%201-1-1'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M156%20190.7q0-.9%201-1c1-.1%201%20.5%201%201q0%201-1%201a1%201%200%200%201-1-1z'/%3e%3cpath%20fill='%23fff'%20d='M154.5%20188.2q.1-1%201-1t1%201c0%201-.4%201-1%201a1%201%200%200%201-1-1'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M154.5%20188.2q.1-1%201-1t1%201c0%201-.4%201-1%201a1%201%200%200%201-1-1z'/%3e%3cpath%20fill='%23fff'%20d='M153.5%20185.2q.1-.9%201-1%201%20.1%201.1%201%200%201.2-1%201a1%201%200%200%201-1-1'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M153.5%20185.2q.1-.9%201-1%201%20.1%201.1%201%200%201.2-1%201a1%201%200%200%201-1-1z'/%3e%3cpath%20fill='%23fff'%20d='M153.4%20182q.1-.9%201-1%201%20.1%201.1%201-.1%201-1%201a1%201%200%200%201-1-1'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M153.4%20182q.1-.9%201-1%201%20.1%201.1%201-.1%201-1%201a1%201%200%200%201-1-1z'/%3e%3cpath%20fill='%23fff'%20d='M154.2%20179q.1-1%201-1t1%201c0%201-.4%201-1%201a1%201%200%200%201-1-1'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M154.2%20179q.1-1%201-1t1%201c0%201-.4%201-1%201a1%201%200%200%201-1-1z'/%3e%3cpath%20fill='%23fff'%20d='M155.8%20176.1q.1-.9%201-1%201%20.1%201.1%201%200%201.2-1%201a1%201%200%200%201-1-1'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M155.8%20176.1q.1-.9%201-1%201%20.1%201.1%201%200%201.2-1%201a1%201%200%200%201-1-1z'/%3e%3cpath%20fill='%23fff'%20d='M158%20173.8q0-1%201-1c1%200%201%20.4%201%201s-.4%201-1%201a1%201%200%200%201-1-1'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M158%20173.8q0-1%201-1c1%200%201%20.4%201%201s-.4%201-1%201a1%201%200%200%201-1-1z'/%3e%3cpath%20fill='%23fff'%20d='M160.5%20171.8q0-.9%201-1c1-.1%201%20.5%201%201s-.4%201-1%201a1%201%200%200%201-1-1'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M160.5%20171.8q0-.9%201-1c1-.1%201%20.5%201%201s-.4%201-1%201a1%201%200%200%201-1-1z'/%3e%3cpath%20fill='%23fff'%20d='M163.5%20170.3q0-1%201-1c1%200%201%20.4%201%201s-.4%201-1%201a1%201%200%200%201-1-1'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M163.5%20170.3q0-1%201-1c1%200%201%20.4%201%201s-.4%201-1%201a1%201%200%200%201-1-1z'/%3e%3cpath%20fill='%23fff'%20d='M166.6%20169.1q.1-.9%201-1a1%201%200%200%201%200%202%201%201%200%200%201-1-1'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M166.6%20169.1q.1-.9%201-1a1%201%200%200%201%200%202%201%201%200%200%201-1-1z'/%3e%3cpath%20fill='%23fff'%20d='M170%20168.5q.1-.9%201.1-1a1%201%200%200%201%200%202q-1%200-1-1'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M170%20168.5q.1-.9%201.1-1a1%201%200%200%201%200%202q-1%200-1-1z'/%3e%3cpath%20fill='%23fff'%20d='M173.4%20168.3q0-.9%201-1c1-.1%201%20.5%201%201s-.4%201-1%201a1%201%200%200%201-1-1'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M173.4%20168.3q0-.9%201-1c1-.1%201%20.5%201%201s-.4%201-1%201a1%201%200%200%201-1-1z'/%3e%3cpath%20fill='%23fff'%20d='M176.6%20168.5q.1-1%201-1t1.1%201c.1%201-.5%201-1%201a1%201%200%200%201-1.1-1'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M176.6%20168.5q.1-1%201-1t1.1%201c.1%201-.5%201-1%201a1%201%200%200%201-1.1-1z'/%3e%3cpath%20fill='%23fff'%20d='M179.8%20168.5q.1-1%201-1%201.1%200%201.2%201c.1%201-.5%201-1.1%201a1%201%200%200%201-1-1'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M179.8%20168.5q.1-1%201-1%201.1%200%201.2%201c.1%201-.5%201-1.1%201a1%201%200%200%201-1-1z'/%3e%3cpath%20fill='%23fff'%20stroke='%23000'%20stroke-width='.4'%20d='M178.2%20171.2q.1-.9%201-1%201%20.1%201.1%201%200%201.2-1%201a1%201%200%200%201-1-1m-.7%203.1q0-1%201-1c1%200%201%20.4%201%201q0%20.9-1%201a1%201%200%200%201-1-1m-.2%203q.1-.9%201-1%201%20.1%201.1%201%200%201.2-1%201a1%201%200%200%201-1-1m.9%202.8q.1-.9%201-1%201%20.1%201.1%201-.1%201-1%201a1%201%200%200%201-1.1-1m1.8%202.6q.1-.9%201-1a1%201%200%200%201%200%202%201%201%200%200%201-1-1'/%3e%3cpath%20fill='%23fff'%20d='M182.3%20166.5q.1-.9%201-1a1%201%200%200%201%200%202%201%201%200%200%201-1-1'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M182.3%20166.5q.1-.9%201-1a1%201%200%200%201%200%202%201%201%200%200%201-1-1z'/%3e%3cpath%20fill='%23fff'%20d='M185.2%20165q0-1%201-1c1%200%201%20.4%201%201s-.4%201-1%201a1%201%200%200%201-1-1'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M185.2%20165q0-1%201-1c1%200%201%20.4%201%201s-.4%201-1%201a1%201%200%200%201-1-1z'/%3e%3cpath%20fill='%23fff'%20d='M188.3%20164q.1-1%201-1t1.1%201q0%20.9-1%201c-1%20.1-1-.5-1-1'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M188.3%20164q.1-1%201-1t1.1%201q0%20.9-1%201c-1%20.1-1-.5-1-1z'/%3e%3cpath%20fill='%23fff'%20d='M191.6%20163.4q.1-.9%201-1%201%20.1%201.1%201%200%201.2-1%201a1%201%200%200%201-1-1'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M191.6%20163.4q.1-.9%201-1%201%20.1%201.1%201%200%201.2-1%201a1%201%200%200%201-1-1z'/%3e%3cpath%20fill='%23fff'%20d='M194.9%20163.5q0-1%201-1c1%200%201%20.4%201%201q0%20.9-1%201a1%201%200%200%201-1-1'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M194.9%20163.5q0-1%201-1c1%200%201%20.4%201%201q0%20.9-1%201a1%201%200%200%201-1-1z'/%3e%3cpath%20fill='%23fff'%20d='M198.2%20164q.1-.9%201-1%201%20.1%201.1%201%200%201.2-1%201a1%201%200%200%201-1-1'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M198.2%20164q.1-.9%201-1%201%20.1%201.1%201%200%201.2-1%201a1%201%200%200%201-1-1z'/%3e%3cpath%20fill='%23fff'%20d='M201.3%20165.1q.1-.9%201-1%201%20.1%201.1%201%200%201.2-1%201a1%201%200%200%201-1-1'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.4'%20d='M201.3%20165.1q.1-.9%201-1%201%20.1%201.1%201%200%201.2-1%201a1%201%200%200%201-1-1z'/%3e%3cpath%20fill='%23c8b100'%20stroke='%23000'%20stroke-width='.4'%20d='M174.7%20228.9h-1v-1h-1.5v3.6h1.6v2.5h-3.4v7h1.8v14.3h-3.5v7.3h27.2v-7.3h-3.5V241h1.8v-7h-3.4v-2.5h1.6V228h-1.6v.9h-.8v-1h-1.6v1h-1.1v-1h-1.6v3.6h1.6v2.5H184v-7.8h1.7v-3.5H184v.9h-1v-1h-1.5v1h-.9v-1H179v3.6h1.7v7.8h-3.3v-2.5h1.6V228h-1.6v.9h-.9v-1h-1.8zm-6%2033.7H196m-27.3-1.8H196m-27.3-1.8H196m-27.3-1.7H196m-27.3-2H196m-23.8-1.6h20.2m-20.2-1.8h20.2m-20.2-2h20.2m-20.2-1.7h20.2m-20.2-1.8h20.2m-20.2-1.8h20.2m-20.2-1.7h20.2m-22-1.8h23.8m-23.8-1.8h23.8m-23.8-1.8h23.8m-23.8-1.8h23.8m-20.4-1.7h17m-10.2-1.8h3.4m-3.4-1.8h3.4m-3.4-1.8h3.4m-3.4-1.7h3.4m-5.1-2.2h6.8m-12%207.5h3.6m-5-2.2h6.6m-6.7%2032.6v-1.8m0-1.8v-1.7m-1.8%201.7v1.8m3.4%200V259m1.7%203.6v-1.8m0-1.8v-1.7m0-2v-1.6m0-1.8v-2m-1.7%207.4v-2m-3.4%202v-2m7%200v2m1.5-2v-1.6m-5.1-1.8v1.8m3.5-1.8v1.8m3.3-1.8v1.8M179%20252v-2m1.7-1.7v1.7m0-5.3v1.8m-1.7-3.6v1.8m1.7-3.5v1.7m-3.3-1.7v1.7m-3.5-1.7v1.7m-1.6-3.5v1.8m3.3-1.8v1.8m3.4-1.8v1.8m1.7-3.6v1.8m-3.3-1.8v1.8m-3.5-1.8v1.8m-1.6-3.6v1.8m6.7-1.8v1.8m-3.4-5.3v1.8m15.3-1.8h-3.5m5-2.2h-6.6m6.7%2032.6v-1.8m0-1.8v-1.7m1.8%201.7v1.8m-3.4%200V259m-1.7%203.6v-1.8m0-1.8v-1.7m0-2v-1.6m0-1.8v-2m1.7%207.4v-2m3.4%202v-2m-7%200v2m-1.5-2v-1.6m5.1-1.8v1.8m-3.5-1.8v1.8m-3.3-1.8v1.8m1.7-1.8v-2m-1.7-1.7v1.7m0-5.3v1.8m1.7-3.6v1.8m-1.7-3.5v1.7m3.3-1.7v1.7m3.5-1.7v1.7m1.6-3.5v1.8m-3.3-1.8v1.8m-3.4-1.8v1.8m-1.7-3.6v1.8m3.3-1.8v1.8m3.5-1.8v1.8m1.6-3.6v1.8m-6.7-1.8v1.8m3.4-5.3v1.8m-7%2018v-2m0-5.4v-1.8m0%205.4v-1.8m0-5.3v-1.8m0-1.8v-1.7m0-3.6v-1.8m0-1.7v-1.8m-8.3%204.6h3.5m3.3-5.3h3.4m3.3%205.3h3.5'/%3e%3cpath%20fill='%23c8b100'%20stroke='%23000'%20stroke-width='.4'%20d='M186.8%20262.6v-4.7c0-.8-.4-3.5-4.6-3.5-4%200-4.4%202.7-4.4%203.5v4.7z'/%3e%3cpath%20fill='%23c8b100'%20stroke='%23000'%20stroke-width='.4'%20d='m179.3%20258.2-2.2-.3c0-.9.2-2.2.9-2.6l2%201.5c-.3.2-.7%201-.7%201.4zm6%200%202.2-.3c0-.9-.2-2.2-.9-2.6l-2%201.5c.3.2.7%201%20.7%201.4zm-2.2-2.3%201-2-2-.4-1.7.4%201.1%202zm-4.2-5.5v-4.9c0-1.3-1-2.4-2.5-2.4s-2.4%201-2.4%202.4v4.9zm6.8%200v-4.9c0-1.3%201-2.4%202.5-2.4s2.4%201%202.4%202.4v4.9zm-1.7-12%20.4-4.4h-4.2l.2%204.4zm3.3%200-.4-4.4h4.4l-.5%204.4zm-10%200%20.2-4.4h-4.2l.5%204.4z'/%3e%3cpath%20fill='%230039f0'%20d='M185.3%20262.6v-4c0-.7-.5-2.7-3.1-2.7-2.4%200-2.9%202-2.9%202.7v4zm-6.9-12.7v-4.2c0-1-.6-2.2-2-2.2s-2%201.1-2%202.2v4.3h4zm7.8%200v-4.2c0-1%20.7-2.2%202-2.2s2%201.1%202%202.2v4.3h-4z'/%3e%3cpath%20fill='%23ad1519'%20d='M190.8%20269.8c0-9.7%207-17.6%2015.6-17.6s15.6%207.9%2015.6%2017.6-7%2017.5-15.6%2017.5-15.6-7.8-15.6-17.5'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.6'%20d='M190.8%20269.8c0-9.7%207-17.6%2015.6-17.6s15.6%207.9%2015.6%2017.6-7%2017.5-15.6%2017.5-15.6-7.8-15.6-17.5z'/%3e%3cpath%20fill='%23005bbf'%20d='M195.4%20269.7c0-7%205-12.8%2011-12.8s11%205.7%2011%2012.8-5%2013-11%2013-11-5.8-11-13'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.6'%20d='M195.4%20269.7c0-7%205-12.8%2011-12.8s11%205.7%2011%2012.8-5%2013-11%2013-11-5.8-11-13z'/%3e%3cpath%20fill='%23c8b100'%20d='M201.2%20260.9s-1.3%201.4-1.3%202.7a6%206%200%200%200%20.6%202.4q-.4-.8-1.4-.8-1.3.1-1.4%201.3l.2.8.5.9q.2-.5%201-.5%201.1%200%201%201v.2h-1.2v1h1l-.8%201.5%201-.4.8.9.8-.9%201%20.4-.7-1.5h1v-1h-1.1v-.3a1%201%200%200%201%201-1q.6%200%201%20.6l.4-1%20.2-.7a1.4%201.4%200%200%200-1.4-1.3q-1%200-1.4.9s.6-1.2.6-2.5-1.4-2.7-1.4-2.7'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-linejoin='round'%20stroke-width='.3'%20d='M201.2%20260.9s-1.3%201.4-1.3%202.7a6%206%200%200%200%20.6%202.4q-.4-.8-1.4-.8-1.3.1-1.4%201.3l.2.8.5.9q.2-.5%201-.5%201.1%200%201%201v.2h-1.2v1h1l-.8%201.5%201-.4.8.9.8-.9%201%20.4-.7-1.5h1v-1h-1.1v-.3a1%201%200%200%201%201-1q.6%200%201%20.6l.4-1%20.2-.7a1.4%201.4%200%200%200-1.4-1.3q-1%200-1.4.9s.6-1.2.6-2.5-1.4-2.7-1.4-2.7z'/%3e%3cpath%20fill='%23c8b100'%20d='M199.2%20269.9h4.1v-1h-4.1z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='M199.2%20269.9h4.1v-1h-4.1z'/%3e%3cpath%20fill='%23c8b100'%20d='M211.4%20260.9s-1.3%201.4-1.3%202.7.6%202.4.6%202.4q-.3-.8-1.4-.8-1.3.1-1.4%201.3l.2.8.5.9q.3-.5%201-.5a1%201%200%200%201%201%201v.2h-1.2v1h1l-.8%201.5%201-.4.8.9.8-.9%201%20.4-.7-1.5h1v-1h-1.1v-.3a1%201%200%200%201%201-1q.7%200%201%20.6l.4-1%20.2-.7a1.4%201.4%200%200%200-1.4-1.3q-1%200-1.4.9s.6-1.2.6-2.5-1.4-2.7-1.4-2.7'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-linejoin='round'%20stroke-width='.3'%20d='M211.4%20260.9s-1.3%201.4-1.3%202.7.6%202.4.6%202.4q-.3-.8-1.4-.8-1.3.1-1.4%201.3l.2.8.5.9q.3-.5%201-.5a1%201%200%200%201%201%201v.2h-1.2v1h1l-.8%201.5%201-.4.8.9.8-.9%201%20.4-.7-1.5h1v-1h-1.1v-.3a1%201%200%200%201%201-1q.7%200%201%20.6l.4-1%20.2-.7a1.4%201.4%200%200%200-1.4-1.3q-1%200-1.4.9s.6-1.2.6-2.5-1.4-2.7-1.4-2.7z'/%3e%3cpath%20fill='%23c8b100'%20d='M209.4%20269.9h4.1v-1h-4.1z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='M209.4%20269.9h4.1v-1h-4.1z'/%3e%3cpath%20fill='%23c8b100'%20d='M206.3%20269.6s-1.3%201.5-1.3%202.8.6%202.4.6%202.4q-.3-.8-1.4-.9-1.3.1-1.4%201.4l.2.7.5%201q.2-.6%201-.6a1%201%200%200%201%201%201v.3h-1.2v1h1l-.8%201.5%201-.4.8.9.8-1%201%20.5-.7-1.5h1v-1h-1.1v-.3a1%201%200%200%201%201-1q.6%200%20.9.6l.5-1%20.2-.7a1.4%201.4%200%200%200-1.4-1.4q-1%200-1.4%201s.6-1.2.6-2.5-1.4-2.7-1.4-2.7'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-linejoin='round'%20stroke-width='.3'%20d='M206.3%20269.6s-1.3%201.5-1.3%202.8.6%202.4.6%202.4q-.3-.8-1.4-.9-1.3.1-1.4%201.4l.2.7.5%201q.2-.6%201-.6a1%201%200%200%201%201%201v.3h-1.2v1h1l-.8%201.5%201-.4.8.9.8-1%201%20.5-.7-1.5h1v-1h-1.1v-.3a1%201%200%200%201%201-1q.6%200%20.9.6l.5-1%20.2-.7a1.4%201.4%200%200%200-1.4-1.4q-1%200-1.4%201s.6-1.2.6-2.5-1.4-2.7-1.4-2.7z'/%3e%3cpath%20fill='%23c8b100'%20d='M204.3%20278.6h4.1v-1h-4.1z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='M204.3%20278.6h4.1v-1h-4.1z'/%3e%3cpath%20fill='%23c8b100'%20d='M237.6%20223.4h-.3l-.3.4q-.4.3-.8%200l-.1-.4h-.5q-.4-.3-.1-.7v-.5h-.3l-.1.2q-.3.4-.7.2v-.2h-.3c-.5.2-.7-1-.7-1.2l-.2.2s.2.7.1%201.2l-.3%201.2a9%209%200%200%201%202.9%201.6%209%209%200%200%201%202.2%202.3l1.2-.5c.6-.2%201.3-.2%201.3-.2l.2-.2c-.3%200-1.5.1-1.5-.4v-.2h-.2q-.3-.3%200-.7l.2-.1v-.3h-.3l-.2.1q-.4.5-.8%200l-.1-.4h-.5q-.4-.3%200-.8l.2-.3z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='M237.6%20223.4h-.3l-.3.4q-.4.3-.8%200l-.1-.4h-.5q-.4-.3-.1-.7v-.5h-.3l-.1.2q-.3.4-.7.2v-.2h-.3c-.5.2-.7-1-.7-1.2l-.2.2s.2.7.1%201.2l-.3%201.2a9%209%200%200%201%202.9%201.6%209%209%200%200%201%202.2%202.3l1.2-.5c.6-.2%201.3-.2%201.3-.2l.2-.2c-.3%200-1.5.1-1.5-.4v-.2h-.2q-.3-.3%200-.7l.2-.1v-.3h-.3l-.2.1q-.4.5-.8%200l-.1-.4h-.5q-.4-.3%200-.8l.2-.3z'/%3e%3cpath%20d='M235.4%20224h.2v.3h-.1q-.1-.1%200-.2'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.1'%20d='M235.4%20224h.2v.3h-.1q-.1-.1%200-.2z'/%3e%3cpath%20d='m236.3%20224.8-.3-.2v-.2h.1l.4.3.3.2v.2h-.2z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.1'%20d='m236.3%20224.8-.3-.2v-.2h.1l.4.3.3.2v.2h-.2l-.3-.3'/%3e%3cpath%20d='m234.6%20223.7-.2-.2s-.1%200%200-.1l.3.1.3.1v.2h-.1z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.1'%20d='m234.6%20223.7-.2-.2s-.1%200%200-.1l.3.1.3.1v.2h-.1l-.3-.1'/%3e%3cpath%20d='M233.7%20223h.2v.2h-.2s-.1-.1%200-.2'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.1'%20d='M233.7%20223h.2v.2h-.2s-.1-.1%200-.2z'/%3e%3cpath%20d='M237.3%20225.5v-.2h-.3l.1.2z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.1'%20d='M237.3%20225.5v-.2h-.3l.1.2z'/%3e%3cpath%20d='m237.9%20226.2.2.2h.1v-.2l-.2-.2-.2-.2h-.1v.2z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.1'%20d='m237.9%20226.2.2.2h.1v-.2l-.2-.2-.2-.2h-.1v.2l.2.2'/%3e%3cpath%20d='M238.8%20227v-.3h-.3v.2h.3'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.1'%20d='M238.8%20227v-.3h-.3v.2h.3z'/%3e%3cpath%20fill='%23c8b100'%20d='M236.2%20221.1h-.6l-.1.9v.1h.2l.7-.5-.3-.5'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='M236.2%20221.1h-.6l-.1.9v.1h.2l.7-.5-.3-.5'/%3e%3cpath%20fill='%23c8b100'%20d='M234.6%20221.6v.5l.9.1h.1v-.2l-.5-.7z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='M234.6%20221.6v.5l.9.1h.1v-.2l-.5-.7-.5.3'/%3e%3cpath%20fill='%23c8b100'%20d='m236.4%20222.6-.4.3-.6-.7v-.1h1.1z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='m236.4%20222.6-.4.3-.6-.7v-.1h1.1v.5'/%3e%3cpath%20fill='%23c8b100'%20d='M235.3%20222h.4v.3h-.3z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='M235.3%20222h.4v.3h-.3z'/%3e%3cpath%20fill='%23c8b100'%20d='m233.2%20221.1-.2-.7-.4-.4s.4-.2.8.1%200%20.9%200%20.9z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='m233.2%20221.1-.2-.7-.4-.4s.4-.2.8.1%200%20.9%200%20.9z'/%3e%3cpath%20fill='%23c8b100'%20d='m234.2%20221.4-.4.4-.6-.6v-.2h1z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='m234.2%20221.4-.4.4-.6-.6v-.2h1v.4'/%3e%3cpath%20fill='%23c8b100'%20d='m233.1%20221%20.3-.1v.3q0%20.3-.2.2z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='m233.1%20221%20.3-.1v.3q0%20.3-.2.2z'/%3e%3cpath%20fill='%23c8b100'%20d='M238.3%20222.5h-.5l-.3.7v.2h.2l.8-.4z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='M238.3%20222.5h-.5l-.3.7v.2h.2l.8-.4-.2-.5'/%3e%3cpath%20fill='%23c8b100'%20d='M236.7%20222.8v.5l.8.2h.1v-.2l-.4-.7z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='M236.7%20222.8v.5l.8.2h.1v-.2l-.4-.7-.5.2'/%3e%3cpath%20fill='%23c8b100'%20d='m238.4%20224-.5.2-.4-.7v-.2h.1l.9.2z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='m238.4%20224-.5.2-.4-.7v-.2h.1l.9.2-.1.5'/%3e%3cpath%20fill='%23c8b100'%20d='M237.3%20223.2h.4v.4h-.3z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='M237.3%20223.2h.4v.4h-.3z'/%3e%3cpath%20fill='%23c8b100'%20d='m240.2%20224.3.1.5-.8.3h-.2v-.2l.4-.8z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='m240.2%20224.3.1.5-.8.3h-.2v-.2l.4-.8.5.2'/%3e%3cpath%20fill='%23c8b100'%20d='m240%20225.8-.5.1-.3-.8v-.1h.2l.8.3z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='m240%20225.8-.5.1-.3-.8v-.1h.2l.8.3-.1.5'/%3e%3cpath%20fill='%23c8b100'%20d='m238.6%20224.3-.2.5.9.3h.1v-.1l-.3-.8z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='m238.6%20224.3-.2.5.9.3h.1v-.1l-.3-.8-.5.1'/%3e%3cpath%20fill='%23c8b100'%20d='M239.5%20225.2v-.3h-.4v.3z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='M239.5%20225.2v-.3h-.4v.3z'/%3e%3cpath%20fill='%23c8b100'%20d='M240.8%20227h.8l.5.3s.1-.4-.3-.7c-.3-.3-.8.2-.8.2z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='M240.8%20227h.8l.5.3s.1-.4-.3-.7c-.3-.3-.8.2-.8.2z'/%3e%3cpath%20fill='%23c8b100'%20d='m240.3%20226.1-.3.5.8.5v-.1h.2l-.1-1z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='m240.3%20226.1-.3.5.8.5v-.1h.2l-.1-1-.6.1'/%3e%3cpath%20fill='%23c8b100'%20d='M241%20227s.1-.1%200-.2h-.3q-.3%200-.1.2z'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.3'%20d='M241%20227s.1-.1%200-.2h-.3q-.3%200-.1.2zm38-21.9v.6h-2.4v-.6h1v-1.3h-.7v-.5h.6v-.6h.6v.6h.6v.6h-.6v1.2h1'/%3e%3cpath%20fill='none'%20d='M134.4%20217.1v-1.2m-.4%201.2v-1.2m-.2%201.2v-1.2m-.3%201.2v-1.2'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.1'%20d='M133.2%20217.1v-1.2m-.5%201.1v-1m.2%201v-1m-.7%201v-1m.2%201v-1m-.9%201v-1m.2%201v-1m.3%201v-1m-.7%201v-1m-.3.9v-.8m-.1.8v-.8m-.5.7v-.6m.2.6v-.6m-.4.5v-.5m-.2.5v-.4m-.3.3v-.3m-.3.3v-.2'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.2'%20d='M129.2%20216.6v-.2'/%3e%3cpath%20fill='none'%20d='M135.7%20217v-1m-.5%201v-1m-.4%201.2V216m143%201.1V216m-.4%201.1V216m-.3%201.1V216m-.3%201.2V216'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.1'%20d='M276.6%20217.1V216m-.6%201v-1m.3%201v-1m-.8%201v-1m.3%201v-1m-.9%201v-1m.2%201v-1m.2%201v-1m-.6%201v-1m-.3.9v-.8m-.2.8v-.8m-.4.7v-.6m.2.6v-.6m-.5.6v-.6m-.2.5v-.4m-.3.4v-.4m-.2.3v-.2'/%3e%3cpath%20fill='none'%20stroke='%23000'%20stroke-width='.2'%20d='M272.6%20216.6v-.2'/%3e%3cpath%20fill='none'%20d='M279.1%20217v-1m-.6%201v-1m-.4%201.1V216'/%3e%3c/svg%3e";
  const flagPH = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20id='flag-icons-ph'%20viewBox='0%200%20640%20480'%3e%3cpath%20fill='%230038a8'%20d='M0%200h640v240H0z'/%3e%3cpath%20fill='%23ce1126'%20d='M0%20240h640v240H0z'/%3e%3cpath%20fill='%23fff'%20d='M415.7%20240%200%20480V0'/%3e%3cpath%20fill='%23fcd116'%20d='M26.7%2042.4%2041%2055l16.6-9.2-7.4%2017.5%2014%2013-19-1.6-8.1%2017.2-4.3-18.5L14%2071l16.3-10zm323.8%20172.3.4%2019%2018%206.3-18%206.2-.4%2019-11.5-15.1-18.2%205.5%2010.8-15.6-10.8-15.6%2018.2%205.5zM37.2%20388.1l8%2017.2%2019-1.6-13.9%2013%207.4%2017.5-16.6-9.1-14.4%2012.4%203.6-18.7L14%20409l18.9-2.4zm114.2-249-6.2%206.2%203.1%2047-3%20.3-5.7-42.9-5.1%205%207.6%2038.4a48%2048%200%200%200-17.2%207.1l-21.7-32.4H96l26.4%2034.3-2.4%202-31.1-35.5h-8.8v8.8l35.4%2031-2%202.5-34.3-26.3v7.1l32.5%2021.7q-5.2%207.8-7.1%2017.2L66.3%20223l-5.1%205%2042.9%205.7q-.3%201.6-.3%203.1l-47-3-6.2%206.2%206.2%206.2%2047-3.1.3%203.1-42.9%205.7%205%205%2038.4-7.6a48%2048%200%200%200%207.1%2017.2l-32.5%2021.7v7.2l34.3-26.3%202%202.4-35.4%2031v8.8H89l31-35.4%202.5%202L96%20312.2h7.2l21.7-32.5q7.8%205.2%2017.2%207.1l-7.6%2038.4%205%205%205.7-42.9q1.5.3%203.1.3l-3%2047%206.1%206.2%206.3-6.2-3.1-47%203-.3%205.7%2043%205.1-5.1-7.6-38.4a48%2048%200%200%200%2017.2-7.1l21.7%2032.5h7.2l-26.4-34.3%202.4-2%2031.1%2035.4h8.8v-8.8l-35.4-31%202-2.4%2034.3%2026.3v-7.2l-32.5-21.7q5.2-7.8%207.1-17.2l38.3%207.6%205.1-5-42.9-5.7q.3-1.5.3-3.1l47%203%206.2-6.1-6.2-6.2-47%203-.3-3%2042.9-5.7-5-5-38.4%207.5a48%2048%200%200%200-7.1-17.2l32.5-21.7v-7.1l-34.3%2026.3-2-2.4%2035.4-31v-8.9H214l-31%2035.5-2.5-2%2026.4-34.3h-7.2L178%20200.2q-7.8-5.2-17.2-7.1l7.6-38.3-5-5-5.7%2042.8-3.1-.3%203-47z'/%3e%3c/svg%3e";
  const flagID = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20id='flag-icons-id'%20viewBox='0%200%20640%20480'%3e%3cpath%20fill='%23e70011'%20d='M0%200h640v240H0Z'/%3e%3cpath%20fill='%23fff'%20d='M0%20240h640v240H0Z'/%3e%3c/svg%3e";
  const flagIT = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20id='flag-icons-it'%20viewBox='0%200%20640%20480'%3e%3cg%20fill-rule='evenodd'%20stroke-width='1pt'%3e%3cpath%20fill='%23fff'%20d='M0%200h640v480H0z'/%3e%3cpath%20fill='%23009246'%20d='M0%200h213.3v480H0z'/%3e%3cpath%20fill='%23ce2b37'%20d='M426.7%200H640v480H426.7z'/%3e%3c/g%3e%3c/svg%3e";
  const flagNL = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20id='flag-icons-nl'%20viewBox='0%200%20640%20480'%3e%3cpath%20fill='%23ae1c28'%20d='M0%200h640v160H0z'/%3e%3cpath%20fill='%23fff'%20d='M0%20160h640v160H0z'/%3e%3cpath%20fill='%2321468b'%20d='M0%20320h640v160H0z'/%3e%3c/svg%3e";
  const flagTH = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20id='flag-icons-th'%20viewBox='0%200%20640%20480'%3e%3cg%20fill-rule='evenodd'%3e%3cpath%20fill='%23f4f5f8'%20d='M0%200h640v480H0z'/%3e%3cpath%20fill='%232d2a4a'%20d='M0%20162.5h640v160H0z'/%3e%3cpath%20fill='%23a51931'%20d='M0%200h640v82.5H0zm0%20400h640v80H0z'/%3e%3c/g%3e%3c/svg%3e";
  const flagTR = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20id='flag-icons-tr'%20viewBox='0%200%20640%20480'%3e%3cg%20fill-rule='evenodd'%3e%3cpath%20fill='%23e30a17'%20d='M0%200h640v480H0z'/%3e%3cpath%20fill='%23fff'%20d='M407%20247.5c0%2066.2-54.6%20119.9-122%20119.9s-122-53.7-122-120%2054.6-119.8%20122-119.8%20122%2053.7%20122%20119.9'/%3e%3cpath%20fill='%23e30a17'%20d='M413%20247.5c0%2053-43.6%2095.9-97.5%2095.9s-97.6-43-97.6-96%2043.7-95.8%2097.6-95.8%2097.6%2042.9%2097.6%2095.9z'/%3e%3cpath%20fill='%23fff'%20d='m430.7%20191.5-1%2044.3-41.3%2011.2%2040.8%2014.5-1%2040.7%2026.5-31.8%2040.2%2014-23.2-34.1%2028.3-33.9-43.5%2012-25.8-37z'/%3e%3c/g%3e%3c/svg%3e";
  const flagVN = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20id='flag-icons-vn'%20viewBox='0%200%20640%20480'%3e%3cdefs%3e%3cclipPath%20id='vn-a'%3e%3cpath%20fill-opacity='.7'%20d='M-85.3%200h682.6v512H-85.3z'/%3e%3c/clipPath%3e%3c/defs%3e%3cg%20fill-rule='evenodd'%20clip-path='url(%23vn-a)'%20transform='translate(80)scale(.9375)'%3e%3cpath%20fill='%23da251d'%20d='M-128%200h768v512h-768z'/%3e%3cpath%20fill='%23ff0'%20d='M349.6%20381%20260%20314.3l-89%2067.3L204%20272l-89-67.7%20110.1-1%2034.2-109.4L294%20203l110.1.1-88.5%2068.4%2033.9%20109.6z'/%3e%3c/g%3e%3c/svg%3e";
  const FLAG_MAP = {
    en: flagUS,
    "zh-Hans": flagCN,
    ar: flagSA,
    ja: flagJP,
    ko: flagKR,
    fr: flagFR,
    de: flagDE,
    hi: flagIN,
    pt: flagPT,
    ru: flagRU,
    es: flagES,
    fil: flagPH,
    id: flagID,
    it: flagIT,
    nl: flagNL,
    th: flagTH,
    tr: flagTR,
    vi: flagVN
  };
  function LanguageSelector({
    dropdownClasses = "",
    btnClasses = "btn-ghost",
    contentClasses = "mt-16"
  }) {
    const { t, i18n } = useTranslation();
    const currentLang = signals.useSignal(appOptionsManager.get("language") || i18n.language || "en");
    hooks.useEffect(() => {
      const onLng = (lng) => {
        currentLang.value = lng || appOptionsManager.get("language") || "en";
      };
      i18n.on("languageChanged", onLng);
      const unsub = appOptionsManager.signal.subscribe(() => {
        const optLng = appOptionsManager.get("language");
        if (optLng && optLng !== currentLang.value) currentLang.value = optLng;
      });
      return () => {
        try {
          i18n.off("languageChanged", onLng);
        } catch {
        }
        try {
          unsub?.();
        } catch {
        }
      };
    }, []);
    const setLanguage = (code) => {
      playClickSound();
      currentLang.value = code;
      appOptionsManager.set("language", code);
      i18n.changeLanguage(code);
    };
    const currentLabel = LANGUAGES_CONFIG[currentLang.value]?.nameEn || currentLang.value;
    const currentFlag = FLAG_MAP[currentLang.value] || flagUS;
    return u("div", { class: cx("dropdown dropdown-end block", dropdownClasses), children: [
u(
        "div",
        {
          tabIndex: 0,
          role: "button",
          class: cx("btn group btn-sm gap-1.5 px-1.5 justify-start", btnClasses),
          "aria-label": t("Change Language"),
          children: [
u("div", { class: "w-5 flex items-center justify-center", children: u("img", { src: currentFlag, alt: "", class: "h-3 w-4 rounded-sm object-cover border border-base-content/10 bg-base-100" }) }),
u("div", { class: "w-24 truncate text-xs text-left", children: currentLabel }),
u(
              "svg",
              {
                width: "12px",
                height: "12px",
                class: "mt-px hidden size-2 fill-current opacity-60 sm:inline-block ml-auto",
                xmlns: "http://www.w3.org/2000/svg",
                viewBox: "0 0 2048 2048",
                children: u("path", { d: "M1799 349l242 241-1017 1017L7 590l242-241 775 775 775-775z" })
              }
            )
          ]
        }
      ),
u(
        "div",
        {
          tabIndex: 0,
          class: cx(
            "dropdown-content bg-base-200 text-base-content rounded-box mt-2 max-h-60 overflow-y-auto border-(length:--border) border-white/5 shadow-2xl outline-(length:--border) outline-black/5",
            contentClasses
          ),
          children: u("ul", { class: "menu w-64", children: [
u("li", { class: "menu-title text-xs", children: t("Change Language") }),
            Object.entries(LANGUAGES_CONFIG).map(([langTag, langConf]) => u("li", { children: u(
              "button",
              {
                class: cx("gap-3 px-2", currentLang.value === langTag && "[&_svg]:visible"),
                onClick: () => setLanguage(langTag),
                children: [
u("img", { src: FLAG_MAP[langTag] || flagUS, alt: "", class: "h-3 w-4 rounded-sm object-cover border border-base-content/10 bg-base-100" }),
u("div", { class: "flex-1 min-w-0 truncate", children: langConf.nameEn }),
u(
                    "svg",
                    {
                      xmlns: "http://www.w3.org/2000/svg",
                      width: "16",
                      height: "16",
                      viewBox: "0 0 24 24",
                      fill: "currentColor",
                      class: "invisible h-3 w-3 shrink-0",
                      children: u("path", { d: "M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z" })
                    }
                  )
                ]
              }
            ) }, langTag))
          ] })
        }
      )
    ] });
  }
  function getDefaultExportFromCjs(x) {
    return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
  }
  var localizedFormat$2 = { exports: {} };
  var localizedFormat$1 = localizedFormat$2.exports;
  var hasRequiredLocalizedFormat;
  function requireLocalizedFormat() {
    if (hasRequiredLocalizedFormat) return localizedFormat$2.exports;
    hasRequiredLocalizedFormat = 1;
    (function(module, exports$1) {
      !(function(e, t) {
        module.exports = t();
      })(localizedFormat$1, (function() {
        var e = { LTS: "h:mm:ss A", LT: "h:mm A", L: "MM/DD/YYYY", LL: "MMMM D, YYYY", LLL: "MMMM D, YYYY h:mm A", LLLL: "dddd, MMMM D, YYYY h:mm A" };
        return function(t, o, n) {
          var r = o.prototype, i = r.format;
          n.en.formats = e, r.format = function(t2) {
            void 0 === t2 && (t2 = "YYYY-MM-DDTHH:mm:ssZ");
            var o2 = this.$locale().formats, n2 = (function(t3, o3) {
              return t3.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g, (function(t4, n3, r2) {
                var i2 = r2 && r2.toUpperCase();
                return n3 || o3[r2] || e[r2] || o3[i2].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g, (function(e2, t5, o4) {
                  return t5 || o4.slice(1);
                }));
              }));
            })(t2, void 0 === o2 ? {} : o2);
            return i.call(this, n2);
          };
        };
      }));
    })(localizedFormat$2);
    return localizedFormat$2.exports;
  }
  var localizedFormatExports = requireLocalizedFormat();
  const localizedFormat = getDefaultExportFromCjs(localizedFormatExports);
  dayjs.extend(localizedFormat);
  function GlobalSettingsModal({ isOpen, onClose }) {
    const { t, i18n } = useTranslation();
    const isArabic = (i18n.language || "").startsWith("ar");
    const showResetConfirm = signals.useSignal(false);
    const now = dayjs();
    const dateExamples = [
      { token: "YYYY-MM-DD", value: now.format("YYYY-MM-DD"), localized: false },
      { token: "DD/MM/YYYY", value: now.format("DD/MM/YYYY"), localized: false },
      { token: "MMM DD, YYYY", value: now.format("MMM DD, YYYY"), localized: false },
      { token: "L", value: now.format("L"), localized: true },
      { token: "LL", value: now.format("LL"), localized: true }
    ];
    const timeExamples = [
      { token: "HH:mm:ss", value: now.format("HH:mm:ss"), localized: false },
      { token: "hh:mm A", value: now.format("hh:mm A"), localized: false },
      { token: "LT", value: now.format("LT"), localized: true },
      { token: "LTS", value: now.format("LTS"), localized: true }
    ];
    const combinedExamples = [
      { token: "YYYY-MM-DD HH:mm:ss Z", value: now.format("YYYY-MM-DD HH:mm:ss Z"), localized: false },
      { token: "MMM DD, YYYY [at] hh:mm A", value: now.format("MMM DD, YYYY [at] hh:mm A"), localized: false },
      { token: "LLL", value: now.format("LLL"), localized: true }
    ];
    return u(
      Modal,
      {
        show: isOpen,
        onClose,
        title: t("Global Settings"),
        actions: u(
          "button",
          {
            class: "btn btn-sm btn-circle btn-ghost",
            onClick: () => showResetConfirm.value = true,
            children: u(IconRestore, { size: 16 })
          }
        ),
        children: [
u("div", { class: "space-y-4", children: [
u("div", { class: "flex justify-between items-center", children: [
u("span", { class: "text-sm", children: t("Theme") }),
u(
                ThemeSelector,
                {
                  dropdownClasses: "",
                  btnClasses: "btn-sm",
                  contentClasses: "mt-2"
                }
              )
            ] }),
u("div", { class: "flex justify-between items-center", children: [
u("span", { class: "text-sm", children: t("Language") }),
u(
                LanguageSelector,
                {
                  dropdownClasses: "",
                  btnClasses: "btn-sm",
                  contentClasses: "mt-2"
                }
              )
            ] }),
u("div", { class: "flex justify-between items-center", children: [
u("span", { class: "text-sm", children: t("Font Family") }),
u(
                "select",
                {
                  class: "select select-bordered select-sm w-40",
                  value: String(appOptionsManager.get("fontFamily") ?? "system"),
                  onChange: (e) => {
                    playClickSound();
                    const font = e.target.value;
                    appOptionsManager.set("fontFamily", font);
                    const shadowRoot = document.getElementById("tmd-root")?.shadowRoot;
                    if (shadowRoot?.host) {
                      if (font === "system") {
                        shadowRoot.host.removeAttribute("data-font");
                      } else {
                        shadowRoot.host.setAttribute("data-font", font);
                      }
                    }
                  },
                  children: [
u("option", { value: "system", children: t("System Default") }),
u("option", { value: "Lato", children: "Lato" }),
u("option", { value: "Montserrat", children: "Montserrat" }),
u("option", { value: "Noto Sans", children: "Noto Sans" }),
u("option", { value: "Open Sans", children: "Open Sans" }),
u("option", { value: "Raleway", children: "Raleway" })
                  ]
                }
              )
            ] }),
u("div", { class: "flex justify-between items-center", children: [
u("div", { class: "flex items-center", children: u("span", { class: "text-sm", children: t("Date Time Format") }) }),
u(
                "input",
                {
                  type: "text",
                  class: "input input-bordered input-sm w-52",
                  value: appOptionsManager.get("dateTimeFormat"),
                  onChange: (e) => {
                    appOptionsManager.set("dateTimeFormat", e.target?.value);
                  }
                }
              )
            ] }),
u("div", { class: "flex justify-between items-center", children: [
u("span", { class: "text-sm", children: t("Sound Effects") }),
u(
                "input",
                {
                  type: "checkbox",
                  class: "toggle toggle-primary",
                  checked: appOptionsManager.get("soundEffects", true),
                  onChange: (e) => {
                    const checked = e.target?.checked;
                    appOptionsManager.set("soundEffects", checked);
                    if (checked) {
                      playToggleOnSound();
                    }
                  }
                }
              )
            ] }),
u("div", { class: "flex justify-between items-center", children: [
u("span", { class: "text-sm", children: t("Debug") }),
u(
                "input",
                {
                  type: "checkbox",
                  class: "toggle toggle-primary",
                  checked: appOptionsManager.get("debug"),
                  onChange: (e) => {
                    const checked = e.target?.checked;
                    checked ? playToggleOnSound() : playToggleOffSound();
                    appOptionsManager.set("debug", checked);
                  }
                }
              )
            ] }),
u("div", { class: `mt-1 rounded-box bg-base-200 p-2 text-xs relative ${isArabic ? "text-right" : ""}`, dir: isArabic ? "rtl" : void 0, children: [
u("div", { class: "font-semibold mb-2", children: t("Common Formats:") }),
u(
                "a",
                {
                  href: "https://day.js.org/docs/en/display/format",
                  target: "_blank",
                  rel: "noopener noreferrer",
                  class: `absolute ${isArabic ? "left-2" : "right-2"} top-2 cursor-pointer opacity-70 hover:opacity-100`,
                  children: u(IconBook, { size: 14 })
                }
              ),
u("div", { class: "grid gap-3 sm:grid-cols-2", children: [
u("div", { children: [
u("div", { class: "font-medium mb-1", children: t("Date Formats:") }),
u("ul", { class: "space-y-1.5", children: dateExamples.map((ex) => u("li", { class: "flex items-center gap-2.5", children: [
u("span", { class: "font-mono px-2 py-0.5 rounded border border-base-300 bg-base-200/70 text-base-content/90", dir: "ltr", children: ex.token }),
u("span", { class: "opacity-60", children: isArabic ? "←" : "→" }),
u("span", { dir: "ltr", children: ex.value }),
                    ex.localized ? u("span", { class: "opacity-60", children: [
                      " (",
                      t("Localized"),
                      ")"
                    ] }) : null
                  ] }, ex.token)) })
                ] }),
u("div", { children: [
u("div", { class: "font-medium mb-1", children: t("Time Formats:") }),
u("ul", { class: "space-y-1.5", children: timeExamples.map((ex) => u("li", { class: "flex items-center gap-2.5", children: [
u("span", { class: "font-mono px-2 py-0.5 rounded border border-base-300 bg-base-200/70 text-base-content/90", dir: "ltr", children: ex.token }),
u("span", { class: "opacity-60", children: isArabic ? "←" : "→" }),
u("span", { dir: "ltr", children: ex.value }),
                    ex.localized ? u("span", { class: "opacity-60", children: [
                      " (",
                      t("Localized"),
                      ")"
                    ] }) : null
                  ] }, ex.token)) })
                ] })
              ] }),
u("div", { class: "divider my-2" }),
u("div", { children: [
u("div", { class: "font-medium mb-1", children: t("Combined Examples:") }),
u("ul", { class: "space-y-1.5", children: combinedExamples.map((ex) => u("li", { class: "flex items-center gap-2.5", children: [
u("span", { class: "font-mono px-2 py-0.5 rounded border border-base-300 bg-base-200/70 text-base-content/90", dir: "ltr", children: ex.token }),
u("span", { class: "opacity-60", children: isArabic ? "←" : "→" }),
u("span", { class: "break-all", dir: "ltr", children: ex.value }),
                  ex.localized ? u("span", { class: "opacity-60", children: [
                    " (",
                    t("Localized"),
                    ")"
                  ] }) : null
                ] }, ex.token)) })
              ] })
            ] })
          ] }),
u("div", { class: `rounded-box bg-base-200 p-2 text-xs mt-3 flex items-center justify-between ${isArabic ? "flex-row-reverse" : ""}`, children: [
u("div", { children: [
u("span", { class: "font-semibold", children: [
                t("Version"),
                ":"
              ] }),
              " ",
u("span", { class: "opacity-80", children: pkg.version })
            ] }),
u("div", { class: `flex items-center gap-4 ${isArabic ? "flex-row-reverse" : ""}`, children: [
              typeof GM_info !== "undefined" && GM_info?.scriptHandler ? u(
                "a",
                {
                  class: "flex items-center gap-1 opacity-80 hover:opacity-100",
                  href: "https://chromewebstore.google.com/detail/aboccmnimgpjehlplnanplbhlccohhhn",
                  target: "_blank",
                  rel: "noopener noreferrer",
                  children: [
u(IconBrandChrome, { size: 14 }),
                    " ",
                    t("Chrome")
                  ]
                }
              ) : u(
                "a",
                {
                  class: "flex items-center gap-1 opacity-80 hover:opacity-100",
                  href: "https://greasyfork.org/en/scripts/551198",
                  target: "_blank",
                  rel: "noopener noreferrer",
                  children: [
u(IconFileTypeJs, { size: 14 }),
                    " ",
                    t("Userscript")
                  ]
                }
              ),
u(
                "a",
                {
                  class: "flex items-center gap-1 opacity-80 hover:opacity-100",
                  href: "https://status.exyezed.cc",
                  target: "_blank",
                  rel: "noopener noreferrer",
                  children: [
u(IconServer, { size: 14 }),
                    " ",
                    t("Status")
                  ]
                }
              ),
u(
                "a",
                {
                  class: "flex items-center gap-1 opacity-80 hover:opacity-100",
                  href: "https://exyezed.cc",
                  target: "_blank",
                  rel: "noopener noreferrer",
                  children: [
u(IconHome, { size: 14 }),
                    " ",
                    t("Home")
                  ]
                }
              ),
u(
                "a",
                {
                  class: "flex items-center gap-1 opacity-80 hover:opacity-100",
                  href: "https://patreon.com/exyezed",
                  target: "_blank",
                  rel: "noopener noreferrer",
                  children: [
u(IconBrandPatreon, { size: 14 }),
                    " ",
                    t("Patreon")
                  ]
                }
              )
            ] })
          ] }),
u(Modal, { show: showResetConfirm.value, onClose: () => showResetConfirm.value = false, title: t("Reset Settings"), class: "max-w-sm", children: u("div", { class: "space-y-2", children: [
u("p", { class: `text-sm${isArabic ? " text-right" : ""}`, dir: isArabic ? "rtl" : void 0, children: t("Are you sure you want to reset settings to defaults?") }),
u("div", { class: "modal-action", children: [
u("button", { class: "btn btn-sm btn-ghost", onClick: () => showResetConfirm.value = false, children: t("Cancel") }),
u(
                "button",
                {
                  class: "btn btn-sm btn-warning",
                  onClick: () => {
                    appOptionsManager.set("theme", "light");
                    appOptionsManager.set("language", "en");
                    appOptionsManager.set("soundEffects", true);
                    appOptionsManager.set("debug", false);
                    appOptionsManager.set("dateTimeFormat", "YYYY-MM-DD HH:mm:ss Z");
                    appOptionsManager.set("fontFamily", "system");
                    appOptionsManager.set("apiServer", "oregon");
                    appOptionsManager.set("fetchMode", "single");
                    appOptionsManager.set("batchSize", 100);
                    appOptionsManager.set("startingBatch", 0);
                    appOptionsManager.set("timelineType", "timeline");
                    appOptionsManager.set("mediaType", "all");
                    appOptionsManager.set("convertAnimatedGifs", false);
                    appOptionsManager.set("convertGifsExternal", false);
                    appOptionsManager.set("downloadConcurrency", 1);
                    const shadowRoot = document.getElementById("tmd-root")?.shadowRoot;
                    if (shadowRoot?.host) {
                      shadowRoot.host.removeAttribute("data-font");
                    }
                    i18n.changeLanguage("en");
                    showResetConfirm.value = false;
                  },
                  children: u("span", { class: "flex items-center gap-2", children: [
u(IconRestore, { size: 16 }),
                    t("Reset")
                  ] })
                }
              )
            ] })
          ] }) })
        ]
      }
    );
  }
  function MediaDownloaderModal({ isOpen, onClose }) {
    const { t } = useTranslation();
    const activeTab = signals.useSignal("dashboard");
    const showGlobalSettings = signals.useSignal(false);
    const loadFromDatabaseAccount = signals.useSignal(null);
    hooks.useEffect(() => {
      (async () => {
        try {
          const n = await mediaDownloaderDB.getAccountsCount();
          dbState.totalAccounts.value = n;
        } catch {
        }
      })();
    }, []);
    if (!isOpen) return null;
    const tabs = [
      { id: "dashboard", label: t("Dashboard") },
      { id: "auth", label: t("Auth") },
      { id: "settings", label: t("Settings") },
      { id: "database", label: t("Database") }
    ];
    return u("div", { class: "modal modal-open", children: [
u("div", { class: "modal-box transition-all duration-300 ease-in-out", children: [
u("div", { class: "flex items-center justify-between mb-4", children: [
u(Title, {}),
u("div", { class: "flex items-center gap-2", children: [
u(
              "button",
              {
                class: "btn btn-sm btn-circle btn-ghost",
                onClick: () => showGlobalSettings.value = true,
                children: u(IconSettings, { size: 18 })
              }
            ),
u(
              "button",
              {
                class: "btn btn-sm btn-circle btn-ghost",
                onClick: onClose,
                children: u(IconX, { size: 18 })
              }
            )
          ] })
        ] }),
u("div", { role: "tablist", class: "tabs tabs-lift mb-4", children: tabs.map((tab) => {
          const isActive = activeTab.value === tab.id;
          const isDatabase = tab.id === "database";
          const cls = `tab ${isActive ? "tab-active" : ""} ${isDatabase ? "relative" : ""}`;
          return u(
            "a",
            {
              role: "tab",
              class: cls,
              onClick: () => {
                if (activeTab.value !== tab.id) {
                  playTabClickSound();
                  activeTab.value = tab.id;
                }
              },
              children: [
                tab.label,
                isDatabase && dbState.totalAccounts.value > 0 && u("span", { class: "badge badge-accent badge-sm absolute -top-2 -right-2", children: dbState.totalAccounts.value })
              ]
            },
            tab.id
          );
        }) }),
u("div", { class: "flex-1 transition-[height,max-height] duration-300 ease-in-out", children: [
u("div", { class: activeTab.value === "dashboard" ? "block" : "hidden", children: u(
            Dashboard,
            {
              loadFromDatabaseAccount
            }
          ) }),
u("div", { class: activeTab.value === "database" ? "block" : "hidden", children: u(
            Database,
            {
              isVisible: activeTab.value === "database",
              onLoadToDashboard: (accountInfo) => {
                loadFromDatabaseAccount.value = accountInfo;
                playTabClickSound();
                activeTab.value = "dashboard";
              }
            }
          ) }),
u("div", { class: activeTab.value === "auth" ? "block" : "hidden", children: u(Auth, {}) }),
u("div", { class: activeTab.value === "settings" ? "block" : "hidden", children: u(Settings, {}) })
        ] })
      ] }),
u("div", { class: "modal-backdrop", onClick: onClose }),
u(
        GlobalSettingsModal,
        {
          isOpen: showGlobalSettings.value,
          onClose: () => showGlobalSettings.value = false
        }
      )
    ] });
  }
  function MediaDownloaderApp() {
    useTranslation();
    const currentTheme = signals.useSignal(appOptionsManager.get("theme"));
    const showMediaDownloader = signals.useSignal(false);
    const toggleMediaDownloader = () => {
      showMediaDownloader.value = !showMediaDownloader.value;
    };
    hooks.useEffect(() => {
      const font = String(appOptionsManager.get("fontFamily") ?? "system");
      const shadowRoot = document.getElementById("tmd-root")?.shadowRoot;
      if (shadowRoot?.host) {
        if (font !== "system") {
          shadowRoot.host.setAttribute("data-font", font);
        } else {
          shadowRoot.host.removeAttribute("data-font");
        }
      }
    }, []);
    appOptionsManager.signal.subscribe(() => {
      currentTheme.value = appOptionsManager.get("theme");
    });
    return u(preact.Fragment, { children: [
u("style", { children: `
          @keyframes sparkle {
            0%, 100% { filter: drop-shadow(0 0 8px rgba(29, 155, 240, 0.8)) drop-shadow(0 0 16px rgba(29, 155, 240, 0.6)); }
            50% { filter: drop-shadow(0 0 12px rgba(29, 155, 240, 1)) drop-shadow(0 0 20px rgba(29, 155, 240, 0.8)) drop-shadow(0 0 28px rgba(29, 155, 240, 0.6)); }
          }
          .sparkle-icon {
            animation: sparkle 2s ease-in-out infinite;
          }
        ` }),
u(
        "div",
        {
          onClick: toggleMediaDownloader,
          class: `sparkle-icon fixed top-[50%] left-[-15px] cursor-pointer transition-all duration-300 z-50 ${showMediaDownloader.value ? "translate-x-[15px] rotate-15" : ""} hover:translate-x-[15px] hover:rotate-15`,
          children: [
u(IconBrandTwitter, { size: 48, "stroke-width": 1.25, class: "text-white" }),
            dashboardState.isDownloading.value && !showMediaDownloader.value && u("div", { class: "absolute -bottom-1 -right-1 flex items-center justify-center", children: u(
              "div",
              {
                class: "radial-progress text-info bg-base-100",
                style: `--value:${dashboardState.downloadProgress.value}; --size:2rem; --thickness:4px;`,
                role: "progressbar",
                "aria-valuenow": Math.round(dashboardState.downloadProgress.value),
                children: u("span", { class: "text-[10px] font-bold", children: Math.round(dashboardState.downloadProgress.value) })
              }
            ) })
          ]
        }
      ),
u("div", { "data-theme": currentTheme.value, children: [
u(ErrorBoundary, { children: u(
          MediaDownloaderModal,
          {
            isOpen: showMediaDownloader.value,
            onClose: () => showMediaDownloader.value = false
          }
        ) }),
u("div", { id: "tmd-portal-root" })
      ] })
    ] });
  }
  const styles = `@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--leading-normal:1.5;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:where(:root),:root:has(input.theme-controller[value=light]:checked),[data-theme=light]{color-scheme:light;--color-base-100:oklch(100% 0 0);--color-base-200:oklch(98% 0 0);--color-base-300:oklch(95% 0 0);--color-base-content:oklch(21% .006 285.885);--color-primary:oklch(45% .24 277.023);--color-primary-content:oklch(93% .034 272.788);--color-secondary:oklch(65% .241 354.308);--color-secondary-content:oklch(94% .028 342.258);--color-accent:oklch(77% .152 181.912);--color-accent-content:oklch(38% .063 188.416);--color-neutral:oklch(14% .005 285.823);--color-neutral-content:oklch(92% .004 286.32);--color-info:oklch(74% .16 232.661);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(76% .177 163.223);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(82% .189 84.429);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(71% .194 13.428);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.25rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}@media(prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark;--color-base-100:oklch(25.33% .016 252.42);--color-base-200:oklch(23.26% .014 253.1);--color-base-300:oklch(21.15% .012 254.09);--color-base-content:oklch(97.807% .029 256.847);--color-primary:oklch(58% .233 277.117);--color-primary-content:oklch(96% .018 272.314);--color-secondary:oklch(65% .241 354.308);--color-secondary-content:oklch(94% .028 342.258);--color-accent:oklch(77% .152 181.912);--color-accent-content:oklch(38% .063 188.416);--color-neutral:oklch(14% .005 285.823);--color-neutral-content:oklch(92% .004 286.32);--color-info:oklch(74% .16 232.661);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(76% .177 163.223);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(82% .189 84.429);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(71% .194 13.428);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.25rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}}:root:has(input.theme-controller[value=light]:checked),[data-theme=light]{color-scheme:light;--color-base-100:oklch(100% 0 0);--color-base-200:oklch(98% 0 0);--color-base-300:oklch(95% 0 0);--color-base-content:oklch(21% .006 285.885);--color-primary:oklch(45% .24 277.023);--color-primary-content:oklch(93% .034 272.788);--color-secondary:oklch(65% .241 354.308);--color-secondary-content:oklch(94% .028 342.258);--color-accent:oklch(77% .152 181.912);--color-accent-content:oklch(38% .063 188.416);--color-neutral:oklch(14% .005 285.823);--color-neutral-content:oklch(92% .004 286.32);--color-info:oklch(74% .16 232.661);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(76% .177 163.223);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(82% .189 84.429);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(71% .194 13.428);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.25rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}:root:has(input.theme-controller[value=dark]:checked),[data-theme=dark]{color-scheme:dark;--color-base-100:oklch(25.33% .016 252.42);--color-base-200:oklch(23.26% .014 253.1);--color-base-300:oklch(21.15% .012 254.09);--color-base-content:oklch(97.807% .029 256.847);--color-primary:oklch(58% .233 277.117);--color-primary-content:oklch(96% .018 272.314);--color-secondary:oklch(65% .241 354.308);--color-secondary-content:oklch(94% .028 342.258);--color-accent:oklch(77% .152 181.912);--color-accent-content:oklch(38% .063 188.416);--color-neutral:oklch(14% .005 285.823);--color-neutral-content:oklch(92% .004 286.32);--color-info:oklch(74% .16 232.661);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(76% .177 163.223);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(82% .189 84.429);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(71% .194 13.428);--color-error-content:oklch(27% .105 12.094);--radius-selector:.5rem;--radius-field:.25rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}:root:has(input.theme-controller[value=cupcake]:checked),[data-theme=cupcake]{color-scheme:light;--color-base-100:oklch(97.788% .004 56.375);--color-base-200:oklch(93.982% .007 61.449);--color-base-300:oklch(91.586% .006 53.44);--color-base-content:oklch(23.574% .066 313.189);--color-primary:oklch(85% .138 181.071);--color-primary-content:oklch(43% .078 188.216);--color-secondary:oklch(89% .061 343.231);--color-secondary-content:oklch(45% .187 3.815);--color-accent:oklch(90% .076 70.697);--color-accent-content:oklch(47% .157 37.304);--color-neutral:oklch(27% .006 286.033);--color-neutral-content:oklch(92% .004 286.32);--color-info:oklch(68% .169 237.323);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(69% .17 162.48);--color-success-content:oklch(26% .051 172.552);--color-warning:oklch(79% .184 86.047);--color-warning-content:oklch(28% .066 53.813);--color-error:oklch(64% .246 16.439);--color-error-content:oklch(27% .105 12.094);--radius-selector:1rem;--radius-field:2rem;--radius-box:1rem;--size-selector:.25rem;--size-field:.25rem;--border:2px;--depth:1;--noise:0}:root:has(input.theme-controller[value=bumblebee]:checked),[data-theme=bumblebee]{color-scheme:light;--color-base-100:oklch(100% 0 0);--color-base-200:oklch(97% 0 0);--color-base-300:oklch(92% 0 0);--color-base-content:oklch(20% 0 0);--color-primary:oklch(85% .199 91.936);--color-primary-content:oklch(42% .095 57.708);--color-secondary:oklch(75% .183 55.934);--color-secondary-content:oklch(40% .123 38.172);--color-accent:oklch(0% 0 0);--color-accent-content:oklch(100% 0 0);--color-neutral:oklch(37% .01 67.558);--color-neutral-content:oklch(92% .003 48.717);--color-info:oklch(74% .16 232.661);--color-info-content:oklch(39% .09 240.876);--color-success:oklch(76% .177 163.223);--color-success-content:oklch(37% .077 168.94);--color-warning:oklch(82% .189 84.429);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(70% .191 22.216);--color-error-content:oklch(39% .141 25.723);--radius-selector:1rem;--radius-field:.5rem;--radius-box:1rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}:root:has(input.theme-controller[value=emerald]:checked),[data-theme=emerald]{color-scheme:light;--color-base-100:oklch(100% 0 0);--color-base-200:oklch(93% 0 0);--color-base-300:oklch(86% 0 0);--color-base-content:oklch(35.519% .032 262.988);--color-primary:oklch(76.662% .135 153.45);--color-primary-content:oklch(33.387% .04 162.24);--color-secondary:oklch(61.302% .202 261.294);--color-secondary-content:oklch(100% 0 0);--color-accent:oklch(72.772% .149 33.2);--color-accent-content:oklch(0% 0 0);--color-neutral:oklch(35.519% .032 262.988);--color-neutral-content:oklch(98.462% .001 247.838);--color-info:oklch(72.06% .191 231.6);--color-info-content:oklch(0% 0 0);--color-success:oklch(64.8% .15 160);--color-success-content:oklch(0% 0 0);--color-warning:oklch(84.71% .199 83.87);--color-warning-content:oklch(0% 0 0);--color-error:oklch(71.76% .221 22.18);--color-error-content:oklch(0% 0 0);--radius-selector:1rem;--radius-field:.5rem;--radius-box:1rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:0;--noise:0}:root:has(input.theme-controller[value=corporate]:checked),[data-theme=corporate]{color-scheme:light;--color-base-100:oklch(100% 0 0);--color-base-200:oklch(93% 0 0);--color-base-300:oklch(86% 0 0);--color-base-content:oklch(22.389% .031 278.072);--color-primary:oklch(58% .158 241.966);--color-primary-content:oklch(100% 0 0);--color-secondary:oklch(55% .046 257.417);--color-secondary-content:oklch(100% 0 0);--color-accent:oklch(60% .118 184.704);--color-accent-content:oklch(100% 0 0);--color-neutral:oklch(0% 0 0);--color-neutral-content:oklch(100% 0 0);--color-info:oklch(60% .126 221.723);--color-info-content:oklch(100% 0 0);--color-success:oklch(62% .194 149.214);--color-success-content:oklch(100% 0 0);--color-warning:oklch(85% .199 91.936);--color-warning-content:oklch(0% 0 0);--color-error:oklch(70% .191 22.216);--color-error-content:oklch(0% 0 0);--radius-selector:.25rem;--radius-field:.25rem;--radius-box:.25rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:0;--noise:0}:root:has(input.theme-controller[value=synthwave]:checked),[data-theme=synthwave]{color-scheme:dark;--color-base-100:oklch(15% .09 281.288);--color-base-200:oklch(20% .09 281.288);--color-base-300:oklch(25% .09 281.288);--color-base-content:oklch(78% .115 274.713);--color-primary:oklch(71% .202 349.761);--color-primary-content:oklch(28% .109 3.907);--color-secondary:oklch(82% .111 230.318);--color-secondary-content:oklch(29% .066 243.157);--color-accent:oklch(75% .183 55.934);--color-accent-content:oklch(26% .079 36.259);--color-neutral:oklch(45% .24 277.023);--color-neutral-content:oklch(87% .065 274.039);--color-info:oklch(74% .16 232.661);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(77% .152 181.912);--color-success-content:oklch(27% .046 192.524);--color-warning:oklch(90% .182 98.111);--color-warning-content:oklch(42% .095 57.708);--color-error:oklch(73.7% .121 32.639);--color-error-content:oklch(23.501% .096 290.329);--radius-selector:1rem;--radius-field:.5rem;--radius-box:1rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:0;--noise:0}:root:has(input.theme-controller[value=retro]:checked),[data-theme=retro]{color-scheme:light;--color-base-100:oklch(91.637% .034 90.515);--color-base-200:oklch(88.272% .049 91.774);--color-base-300:oklch(84.133% .065 90.856);--color-base-content:oklch(41% .112 45.904);--color-primary:oklch(80% .114 19.571);--color-primary-content:oklch(39% .141 25.723);--color-secondary:oklch(92% .084 155.995);--color-secondary-content:oklch(44% .119 151.328);--color-accent:oklch(68% .162 75.834);--color-accent-content:oklch(41% .112 45.904);--color-neutral:oklch(44% .011 73.639);--color-neutral-content:oklch(86% .005 56.366);--color-info:oklch(58% .158 241.966);--color-info-content:oklch(96% .059 95.617);--color-success:oklch(51% .096 186.391);--color-success-content:oklch(96% .059 95.617);--color-warning:oklch(64% .222 41.116);--color-warning-content:oklch(96% .059 95.617);--color-error:oklch(70% .191 22.216);--color-error-content:oklch(40% .123 38.172);--radius-selector:.25rem;--radius-field:.25rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:0;--noise:0}:root:has(input.theme-controller[value=cyberpunk]:checked),[data-theme=cyberpunk]{color-scheme:light;--color-base-100:oklch(94.51% .179 104.32);--color-base-200:oklch(91.51% .179 104.32);--color-base-300:oklch(85.51% .179 104.32);--color-base-content:oklch(0% 0 0);--color-primary:oklch(74.22% .209 6.35);--color-primary-content:oklch(14.844% .041 6.35);--color-secondary:oklch(83.33% .184 204.72);--color-secondary-content:oklch(16.666% .036 204.72);--color-accent:oklch(71.86% .217 310.43);--color-accent-content:oklch(14.372% .043 310.43);--color-neutral:oklch(23.04% .065 269.31);--color-neutral-content:oklch(94.51% .179 104.32);--color-info:oklch(72.06% .191 231.6);--color-info-content:oklch(0% 0 0);--color-success:oklch(64.8% .15 160);--color-success-content:oklch(0% 0 0);--color-warning:oklch(84.71% .199 83.87);--color-warning-content:oklch(0% 0 0);--color-error:oklch(71.76% .221 22.18);--color-error-content:oklch(0% 0 0);--radius-selector:0rem;--radius-field:0rem;--radius-box:0rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:0;--noise:0}:root:has(input.theme-controller[value=valentine]:checked),[data-theme=valentine]{color-scheme:light;--color-base-100:oklch(97% .014 343.198);--color-base-200:oklch(94% .028 342.258);--color-base-300:oklch(89% .061 343.231);--color-base-content:oklch(52% .223 3.958);--color-primary:oklch(65% .241 354.308);--color-primary-content:oklch(100% 0 0);--color-secondary:oklch(62% .265 303.9);--color-secondary-content:oklch(97% .014 308.299);--color-accent:oklch(82% .111 230.318);--color-accent-content:oklch(39% .09 240.876);--color-neutral:oklch(40% .153 2.432);--color-neutral-content:oklch(89% .061 343.231);--color-info:oklch(86% .127 207.078);--color-info-content:oklch(44% .11 240.79);--color-success:oklch(84% .143 164.978);--color-success-content:oklch(43% .095 166.913);--color-warning:oklch(75% .183 55.934);--color-warning-content:oklch(26% .079 36.259);--color-error:oklch(63% .237 25.331);--color-error-content:oklch(97% .013 17.38);--radius-selector:1rem;--radius-field:2rem;--radius-box:1rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:0;--noise:0}:root:has(input.theme-controller[value=halloween]:checked),[data-theme=halloween]{color-scheme:dark;--color-base-100:oklch(21% .006 56.043);--color-base-200:oklch(14% .004 49.25);--color-base-300:oklch(0% 0 0);--color-base-content:oklch(84.955% 0 0);--color-primary:oklch(77.48% .204 60.62);--color-primary-content:oklch(19.693% .004 196.779);--color-secondary:oklch(45.98% .248 305.03);--color-secondary-content:oklch(89.196% .049 305.03);--color-accent:oklch(64.8% .223 136.073);--color-accent-content:oklch(0% 0 0);--color-neutral:oklch(24.371% .046 65.681);--color-neutral-content:oklch(84.874% .009 65.681);--color-info:oklch(54.615% .215 262.88);--color-info-content:oklch(90.923% .043 262.88);--color-success:oklch(62.705% .169 149.213);--color-success-content:oklch(12.541% .033 149.213);--color-warning:oklch(66.584% .157 58.318);--color-warning-content:oklch(13.316% .031 58.318);--color-error:oklch(65.72% .199 27.33);--color-error-content:oklch(13.144% .039 27.33);--radius-selector:1rem;--radius-field:.5rem;--radius-box:1rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}:root:has(input.theme-controller[value=garden]:checked),[data-theme=garden]{color-scheme:light;--color-base-100:oklch(92.951% .002 17.197);--color-base-200:oklch(86.445% .002 17.197);--color-base-300:oklch(79.938% .001 17.197);--color-base-content:oklch(16.961% .001 17.32);--color-primary:oklch(62.45% .278 3.836);--color-primary-content:oklch(100% 0 0);--color-secondary:oklch(48.495% .11 355.095);--color-secondary-content:oklch(89.699% .022 355.095);--color-accent:oklch(56.273% .054 154.39);--color-accent-content:oklch(100% 0 0);--color-neutral:oklch(24.155% .049 89.07);--color-neutral-content:oklch(92.951% .002 17.197);--color-info:oklch(72.06% .191 231.6);--color-info-content:oklch(0% 0 0);--color-success:oklch(64.8% .15 160);--color-success-content:oklch(0% 0 0);--color-warning:oklch(84.71% .199 83.87);--color-warning-content:oklch(0% 0 0);--color-error:oklch(71.76% .221 22.18);--color-error-content:oklch(0% 0 0);--radius-selector:1rem;--radius-field:.5rem;--radius-box:1rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:0;--noise:0}:root:has(input.theme-controller[value=forest]:checked),[data-theme=forest]{color-scheme:dark;--color-base-100:oklch(20.84% .008 17.911);--color-base-200:oklch(18.522% .007 17.911);--color-base-300:oklch(16.203% .007 17.911);--color-base-content:oklch(83.768% .001 17.911);--color-primary:oklch(68.628% .185 148.958);--color-primary-content:oklch(0% 0 0);--color-secondary:oklch(69.776% .135 168.327);--color-secondary-content:oklch(13.955% .027 168.327);--color-accent:oklch(70.628% .119 185.713);--color-accent-content:oklch(14.125% .023 185.713);--color-neutral:oklch(30.698% .039 171.364);--color-neutral-content:oklch(86.139% .007 171.364);--color-info:oklch(72.06% .191 231.6);--color-info-content:oklch(0% 0 0);--color-success:oklch(64.8% .15 160);--color-success-content:oklch(0% 0 0);--color-warning:oklch(84.71% .199 83.87);--color-warning-content:oklch(0% 0 0);--color-error:oklch(71.76% .221 22.18);--color-error-content:oklch(0% 0 0);--radius-selector:1rem;--radius-field:2rem;--radius-box:1rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:0;--noise:0}:root:has(input.theme-controller[value=aqua]:checked),[data-theme=aqua]{color-scheme:dark;--color-base-100:oklch(37% .146 265.522);--color-base-200:oklch(28% .091 267.935);--color-base-300:oklch(22% .091 267.935);--color-base-content:oklch(90% .058 230.902);--color-primary:oklch(85.661% .144 198.645);--color-primary-content:oklch(40.124% .068 197.603);--color-secondary:oklch(60.682% .108 309.782);--color-secondary-content:oklch(96% .016 293.756);--color-accent:oklch(93.426% .102 94.555);--color-accent-content:oklch(18.685% .02 94.555);--color-neutral:oklch(27% .146 265.522);--color-neutral-content:oklch(80% .146 265.522);--color-info:oklch(54.615% .215 262.88);--color-info-content:oklch(90.923% .043 262.88);--color-success:oklch(62.705% .169 149.213);--color-success-content:oklch(12.541% .033 149.213);--color-warning:oklch(66.584% .157 58.318);--color-warning-content:oklch(27% .077 45.635);--color-error:oklch(73.95% .19 27.33);--color-error-content:oklch(14.79% .038 27.33);--radius-selector:1rem;--radius-field:.5rem;--radius-box:1rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}:root:has(input.theme-controller[value=lofi]:checked),[data-theme=lofi]{color-scheme:light;--color-base-100:oklch(100% 0 0);--color-base-200:oklch(97% 0 0);--color-base-300:oklch(94% 0 0);--color-base-content:oklch(0% 0 0);--color-primary:oklch(15.906% 0 0);--color-primary-content:oklch(100% 0 0);--color-secondary:oklch(21.455% .001 17.278);--color-secondary-content:oklch(100% 0 0);--color-accent:oklch(26.861% 0 0);--color-accent-content:oklch(100% 0 0);--color-neutral:oklch(0% 0 0);--color-neutral-content:oklch(100% 0 0);--color-info:oklch(79.54% .103 205.9);--color-info-content:oklch(15.908% .02 205.9);--color-success:oklch(90.13% .153 164.14);--color-success-content:oklch(18.026% .03 164.14);--color-warning:oklch(88.37% .135 79.94);--color-warning-content:oklch(17.674% .027 79.94);--color-error:oklch(78.66% .15 28.47);--color-error-content:oklch(15.732% .03 28.47);--radius-selector:2rem;--radius-field:.25rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:0;--noise:0}:root:has(input.theme-controller[value=pastel]:checked),[data-theme=pastel]{color-scheme:light;--color-base-100:oklch(100% 0 0);--color-base-200:oklch(98.462% .001 247.838);--color-base-300:oklch(92.462% .001 247.838);--color-base-content:oklch(20% 0 0);--color-primary:oklch(90% .063 306.703);--color-primary-content:oklch(49% .265 301.924);--color-secondary:oklch(89% .058 10.001);--color-secondary-content:oklch(51% .222 16.935);--color-accent:oklch(90% .093 164.15);--color-accent-content:oklch(50% .118 165.612);--color-neutral:oklch(55% .046 257.417);--color-neutral-content:oklch(92% .013 255.508);--color-info:oklch(86% .127 207.078);--color-info-content:oklch(52% .105 223.128);--color-success:oklch(87% .15 154.449);--color-success-content:oklch(52% .154 150.069);--color-warning:oklch(83% .128 66.29);--color-warning-content:oklch(55% .195 38.402);--color-error:oklch(80% .114 19.571);--color-error-content:oklch(50% .213 27.518);--radius-selector:1rem;--radius-field:2rem;--radius-box:1rem;--size-selector:.25rem;--size-field:.25rem;--border:2px;--depth:0;--noise:0}:root:has(input.theme-controller[value=fantasy]:checked),[data-theme=fantasy]{color-scheme:light;--color-base-100:oklch(100% 0 0);--color-base-200:oklch(93% 0 0);--color-base-300:oklch(86% 0 0);--color-base-content:oklch(27.807% .029 256.847);--color-primary:oklch(37.45% .189 325.02);--color-primary-content:oklch(87.49% .037 325.02);--color-secondary:oklch(53.92% .162 241.36);--color-secondary-content:oklch(90.784% .032 241.36);--color-accent:oklch(75.98% .204 56.72);--color-accent-content:oklch(15.196% .04 56.72);--color-neutral:oklch(27.807% .029 256.847);--color-neutral-content:oklch(85.561% .005 256.847);--color-info:oklch(72.06% .191 231.6);--color-info-content:oklch(0% 0 0);--color-success:oklch(64.8% .15 160);--color-success-content:oklch(0% 0 0);--color-warning:oklch(84.71% .199 83.87);--color-warning-content:oklch(0% 0 0);--color-error:oklch(71.76% .221 22.18);--color-error-content:oklch(0% 0 0);--radius-selector:1rem;--radius-field:.5rem;--radius-box:1rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}:root:has(input.theme-controller[value=wireframe]:checked),[data-theme=wireframe]{color-scheme:light;--color-base-100:oklch(100% 0 0);--color-base-200:oklch(97% 0 0);--color-base-300:oklch(94% 0 0);--color-base-content:oklch(20% 0 0);--color-primary:oklch(87% 0 0);--color-primary-content:oklch(26% 0 0);--color-secondary:oklch(87% 0 0);--color-secondary-content:oklch(26% 0 0);--color-accent:oklch(87% 0 0);--color-accent-content:oklch(26% 0 0);--color-neutral:oklch(87% 0 0);--color-neutral-content:oklch(26% 0 0);--color-info:oklch(44% .11 240.79);--color-info-content:oklch(90% .058 230.902);--color-success:oklch(43% .095 166.913);--color-success-content:oklch(90% .093 164.15);--color-warning:oklch(47% .137 46.201);--color-warning-content:oklch(92% .12 95.746);--color-error:oklch(44% .177 26.899);--color-error-content:oklch(88% .062 18.334);--radius-selector:0rem;--radius-field:.25rem;--radius-box:.25rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:0;--noise:0}:root:has(input.theme-controller[value=black]:checked),[data-theme=black]{color-scheme:dark;--color-base-100:oklch(0% 0 0);--color-base-200:oklch(19% 0 0);--color-base-300:oklch(22% 0 0);--color-base-content:oklch(87.609% 0 0);--color-primary:oklch(35% 0 0);--color-primary-content:oklch(100% 0 0);--color-secondary:oklch(35% 0 0);--color-secondary-content:oklch(100% 0 0);--color-accent:oklch(35% 0 0);--color-accent-content:oklch(100% 0 0);--color-neutral:oklch(35% 0 0);--color-neutral-content:oklch(100% 0 0);--color-info:oklch(45.201% .313 264.052);--color-info-content:oklch(89.04% .062 264.052);--color-success:oklch(51.975% .176 142.495);--color-success-content:oklch(90.395% .035 142.495);--color-warning:oklch(96.798% .211 109.769);--color-warning-content:oklch(19.359% .042 109.769);--color-error:oklch(62.795% .257 29.233);--color-error-content:oklch(12.559% .051 29.233);--radius-selector:0rem;--radius-field:0rem;--radius-box:0rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:0;--noise:0}:root:has(input.theme-controller[value=luxury]:checked),[data-theme=luxury]{color-scheme:dark;--color-base-100:oklch(14.076% .004 285.822);--color-base-200:oklch(20.219% .004 308.229);--color-base-300:oklch(23.219% .004 308.229);--color-base-content:oklch(75.687% .123 76.89);--color-primary:oklch(100% 0 0);--color-primary-content:oklch(20% 0 0);--color-secondary:oklch(27.581% .064 261.069);--color-secondary-content:oklch(85.516% .012 261.069);--color-accent:oklch(36.674% .051 338.825);--color-accent-content:oklch(87.334% .01 338.825);--color-neutral:oklch(24.27% .057 59.825);--color-neutral-content:oklch(93.203% .089 90.861);--color-info:oklch(79.061% .121 237.133);--color-info-content:oklch(15.812% .024 237.133);--color-success:oklch(78.119% .192 132.154);--color-success-content:oklch(15.623% .038 132.154);--color-warning:oklch(86.127% .136 102.891);--color-warning-content:oklch(17.225% .027 102.891);--color-error:oklch(71.753% .176 22.568);--color-error-content:oklch(14.35% .035 22.568);--radius-selector:1rem;--radius-field:.5rem;--radius-box:1rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}:root:has(input.theme-controller[value=dracula]:checked),[data-theme=dracula]{color-scheme:dark;--color-base-100:oklch(28.822% .022 277.508);--color-base-200:oklch(26.805% .02 277.508);--color-base-300:oklch(24.787% .019 277.508);--color-base-content:oklch(97.747% .007 106.545);--color-primary:oklch(75.461% .183 346.812);--color-primary-content:oklch(15.092% .036 346.812);--color-secondary:oklch(74.202% .148 301.883);--color-secondary-content:oklch(14.84% .029 301.883);--color-accent:oklch(83.392% .124 66.558);--color-accent-content:oklch(16.678% .024 66.558);--color-neutral:oklch(39.445% .032 275.524);--color-neutral-content:oklch(87.889% .006 275.524);--color-info:oklch(88.263% .093 212.846);--color-info-content:oklch(17.652% .018 212.846);--color-success:oklch(87.099% .219 148.024);--color-success-content:oklch(17.419% .043 148.024);--color-warning:oklch(95.533% .134 112.757);--color-warning-content:oklch(19.106% .026 112.757);--color-error:oklch(68.22% .206 24.43);--color-error-content:oklch(13.644% .041 24.43);--radius-selector:1rem;--radius-field:.5rem;--radius-box:1rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:0;--noise:0}:root:has(input.theme-controller[value=cmyk]:checked),[data-theme=cmyk]{color-scheme:light;--color-base-100:oklch(100% 0 0);--color-base-200:oklch(95% 0 0);--color-base-300:oklch(90% 0 0);--color-base-content:oklch(20% 0 0);--color-primary:oklch(71.772% .133 239.443);--color-primary-content:oklch(14.354% .026 239.443);--color-secondary:oklch(64.476% .202 359.339);--color-secondary-content:oklch(12.895% .04 359.339);--color-accent:oklch(94.228% .189 105.306);--color-accent-content:oklch(18.845% .037 105.306);--color-neutral:oklch(21.778% 0 0);--color-neutral-content:oklch(84.355% 0 0);--color-info:oklch(68.475% .094 217.284);--color-info-content:oklch(13.695% .018 217.284);--color-success:oklch(46.949% .162 321.406);--color-success-content:oklch(89.389% .032 321.406);--color-warning:oklch(71.236% .159 52.023);--color-warning-content:oklch(14.247% .031 52.023);--color-error:oklch(62.013% .208 28.717);--color-error-content:oklch(12.402% .041 28.717);--radius-selector:1rem;--radius-field:.5rem;--radius-box:1rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:0;--noise:0}:root:has(input.theme-controller[value=autumn]:checked),[data-theme=autumn]{color-scheme:light;--color-base-100:oklch(95.814% 0 0);--color-base-200:oklch(89.107% 0 0);--color-base-300:oklch(82.4% 0 0);--color-base-content:oklch(19.162% 0 0);--color-primary:oklch(40.723% .161 17.53);--color-primary-content:oklch(88.144% .032 17.53);--color-secondary:oklch(61.676% .169 23.865);--color-secondary-content:oklch(12.335% .033 23.865);--color-accent:oklch(73.425% .094 60.729);--color-accent-content:oklch(14.685% .018 60.729);--color-neutral:oklch(54.367% .037 51.902);--color-neutral-content:oklch(90.873% .007 51.902);--color-info:oklch(69.224% .097 207.284);--color-info-content:oklch(13.844% .019 207.284);--color-success:oklch(60.995% .08 174.616);--color-success-content:oklch(12.199% .016 174.616);--color-warning:oklch(70.081% .164 56.844);--color-warning-content:oklch(14.016% .032 56.844);--color-error:oklch(53.07% .241 24.16);--color-error-content:oklch(90.614% .048 24.16);--radius-selector:1rem;--radius-field:.5rem;--radius-box:1rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}:root:has(input.theme-controller[value=business]:checked),[data-theme=business]{color-scheme:dark;--color-base-100:oklch(24.353% 0 0);--color-base-200:oklch(22.648% 0 0);--color-base-300:oklch(20.944% 0 0);--color-base-content:oklch(84.87% 0 0);--color-primary:oklch(41.703% .099 251.473);--color-primary-content:oklch(88.34% .019 251.473);--color-secondary:oklch(64.092% .027 229.389);--color-secondary-content:oklch(12.818% .005 229.389);--color-accent:oklch(67.271% .167 35.791);--color-accent-content:oklch(13.454% .033 35.791);--color-neutral:oklch(27.441% .013 253.041);--color-neutral-content:oklch(85.488% .002 253.041);--color-info:oklch(62.616% .143 240.033);--color-info-content:oklch(12.523% .028 240.033);--color-success:oklch(70.226% .094 156.596);--color-success-content:oklch(14.045% .018 156.596);--color-warning:oklch(77.482% .115 81.519);--color-warning-content:oklch(15.496% .023 81.519);--color-error:oklch(51.61% .146 29.674);--color-error-content:oklch(90.322% .029 29.674);--radius-selector:0rem;--radius-field:.25rem;--radius-box:.25rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:0;--noise:0}:root:has(input.theme-controller[value=acid]:checked),[data-theme=acid]{color-scheme:light;--color-base-100:oklch(98% 0 0);--color-base-200:oklch(95% 0 0);--color-base-300:oklch(91% 0 0);--color-base-content:oklch(0% 0 0);--color-primary:oklch(71.9% .357 330.759);--color-primary-content:oklch(14.38% .071 330.759);--color-secondary:oklch(73.37% .224 48.25);--color-secondary-content:oklch(14.674% .044 48.25);--color-accent:oklch(92.78% .264 122.962);--color-accent-content:oklch(18.556% .052 122.962);--color-neutral:oklch(21.31% .128 278.68);--color-neutral-content:oklch(84.262% .025 278.68);--color-info:oklch(60.72% .227 252.05);--color-info-content:oklch(12.144% .045 252.05);--color-success:oklch(85.72% .266 158.53);--color-success-content:oklch(17.144% .053 158.53);--color-warning:oklch(91.01% .212 100.5);--color-warning-content:oklch(18.202% .042 100.5);--color-error:oklch(64.84% .293 29.349);--color-error-content:oklch(12.968% .058 29.349);--radius-selector:1rem;--radius-field:1rem;--radius-box:1rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}:root:has(input.theme-controller[value=lemonade]:checked),[data-theme=lemonade]{color-scheme:light;--color-base-100:oklch(98.71% .02 123.72);--color-base-200:oklch(91.8% .018 123.72);--color-base-300:oklch(84.89% .017 123.72);--color-base-content:oklch(19.742% .004 123.72);--color-primary:oklch(58.92% .199 134.6);--color-primary-content:oklch(11.784% .039 134.6);--color-secondary:oklch(77.75% .196 111.09);--color-secondary-content:oklch(15.55% .039 111.09);--color-accent:oklch(85.39% .201 100.73);--color-accent-content:oklch(17.078% .04 100.73);--color-neutral:oklch(30.98% .075 108.6);--color-neutral-content:oklch(86.196% .015 108.6);--color-info:oklch(86.19% .047 224.14);--color-info-content:oklch(17.238% .009 224.14);--color-success:oklch(86.19% .047 157.85);--color-success-content:oklch(17.238% .009 157.85);--color-warning:oklch(86.19% .047 102.15);--color-warning-content:oklch(17.238% .009 102.15);--color-error:oklch(86.19% .047 25.85);--color-error-content:oklch(17.238% .009 25.85);--radius-selector:1rem;--radius-field:.5rem;--radius-box:1rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:0;--noise:0}:root:has(input.theme-controller[value=night]:checked),[data-theme=night]{color-scheme:dark;--color-base-100:oklch(20.768% .039 265.754);--color-base-200:oklch(19.314% .037 265.754);--color-base-300:oklch(17.86% .034 265.754);--color-base-content:oklch(84.153% .007 265.754);--color-primary:oklch(75.351% .138 232.661);--color-primary-content:oklch(15.07% .027 232.661);--color-secondary:oklch(68.011% .158 276.934);--color-secondary-content:oklch(13.602% .031 276.934);--color-accent:oklch(72.36% .176 350.048);--color-accent-content:oklch(14.472% .035 350.048);--color-neutral:oklch(27.949% .036 260.03);--color-neutral-content:oklch(85.589% .007 260.03);--color-info:oklch(68.455% .148 237.251);--color-info-content:oklch(0% 0 0);--color-success:oklch(78.452% .132 181.911);--color-success-content:oklch(15.69% .026 181.911);--color-warning:oklch(83.242% .139 82.95);--color-warning-content:oklch(16.648% .027 82.95);--color-error:oklch(71.785% .17 13.118);--color-error-content:oklch(14.357% .034 13.118);--radius-selector:1rem;--radius-field:.5rem;--radius-box:1rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:0;--noise:0}:root:has(input.theme-controller[value=coffee]:checked),[data-theme=coffee]{color-scheme:dark;--color-base-100:oklch(24% .023 329.708);--color-base-200:oklch(21% .021 329.708);--color-base-300:oklch(16% .019 329.708);--color-base-content:oklch(72.354% .092 79.129);--color-primary:oklch(71.996% .123 62.756);--color-primary-content:oklch(14.399% .024 62.756);--color-secondary:oklch(34.465% .029 199.194);--color-secondary-content:oklch(86.893% .005 199.194);--color-accent:oklch(42.621% .074 224.389);--color-accent-content:oklch(88.524% .014 224.389);--color-neutral:oklch(16.51% .015 326.261);--color-neutral-content:oklch(83.302% .003 326.261);--color-info:oklch(79.49% .063 184.558);--color-info-content:oklch(15.898% .012 184.558);--color-success:oklch(74.722% .072 131.116);--color-success-content:oklch(14.944% .014 131.116);--color-warning:oklch(88.15% .14 87.722);--color-warning-content:oklch(17.63% .028 87.722);--color-error:oklch(77.318% .128 31.871);--color-error-content:oklch(15.463% .025 31.871);--radius-selector:1rem;--radius-field:.5rem;--radius-box:1rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:0;--noise:0}:root:has(input.theme-controller[value=winter]:checked),[data-theme=winter]{color-scheme:light;--color-base-100:oklch(100% 0 0);--color-base-200:oklch(97.466% .011 259.822);--color-base-300:oklch(93.268% .016 262.751);--color-base-content:oklch(41.886% .053 255.824);--color-primary:oklch(56.86% .255 257.57);--color-primary-content:oklch(91.372% .051 257.57);--color-secondary:oklch(42.551% .161 282.339);--color-secondary-content:oklch(88.51% .032 282.339);--color-accent:oklch(59.939% .191 335.171);--color-accent-content:oklch(11.988% .038 335.171);--color-neutral:oklch(19.616% .063 257.651);--color-neutral-content:oklch(83.923% .012 257.651);--color-info:oklch(88.127% .085 214.515);--color-info-content:oklch(17.625% .017 214.515);--color-success:oklch(80.494% .077 197.823);--color-success-content:oklch(16.098% .015 197.823);--color-warning:oklch(89.172% .045 71.47);--color-warning-content:oklch(17.834% .009 71.47);--color-error:oklch(73.092% .11 20.076);--color-error-content:oklch(14.618% .022 20.076);--radius-selector:1rem;--radius-field:.5rem;--radius-box:1rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:0;--noise:0}:root:has(input.theme-controller[value=dim]:checked),[data-theme=dim]{color-scheme:dark;--color-base-100:oklch(30.857% .023 264.149);--color-base-200:oklch(28.036% .019 264.182);--color-base-300:oklch(26.346% .018 262.177);--color-base-content:oklch(82.901% .031 222.959);--color-primary:oklch(86.133% .141 139.549);--color-primary-content:oklch(17.226% .028 139.549);--color-secondary:oklch(73.375% .165 35.353);--color-secondary-content:oklch(14.675% .033 35.353);--color-accent:oklch(74.229% .133 311.379);--color-accent-content:oklch(14.845% .026 311.379);--color-neutral:oklch(24.731% .02 264.094);--color-neutral-content:oklch(82.901% .031 222.959);--color-info:oklch(86.078% .142 206.182);--color-info-content:oklch(17.215% .028 206.182);--color-success:oklch(86.171% .142 166.534);--color-success-content:oklch(17.234% .028 166.534);--color-warning:oklch(86.163% .142 94.818);--color-warning-content:oklch(17.232% .028 94.818);--color-error:oklch(82.418% .099 33.756);--color-error-content:oklch(16.483% .019 33.756);--radius-selector:1rem;--radius-field:.5rem;--radius-box:1rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:0;--noise:0}:root:has(input.theme-controller[value=nord]:checked),[data-theme=nord]{color-scheme:light;--color-base-100:oklch(95.127% .007 260.731);--color-base-200:oklch(93.299% .01 261.788);--color-base-300:oklch(89.925% .016 262.749);--color-base-content:oklch(32.437% .022 264.182);--color-primary:oklch(59.435% .077 254.027);--color-primary-content:oklch(11.887% .015 254.027);--color-secondary:oklch(69.651% .059 248.687);--color-secondary-content:oklch(13.93% .011 248.687);--color-accent:oklch(77.464% .062 217.469);--color-accent-content:oklch(15.492% .012 217.469);--color-neutral:oklch(45.229% .035 264.131);--color-neutral-content:oklch(89.925% .016 262.749);--color-info:oklch(69.207% .062 332.664);--color-info-content:oklch(13.841% .012 332.664);--color-success:oklch(76.827% .074 131.063);--color-success-content:oklch(15.365% .014 131.063);--color-warning:oklch(85.486% .089 84.093);--color-warning-content:oklch(17.097% .017 84.093);--color-error:oklch(60.61% .12 15.341);--color-error-content:oklch(12.122% .024 15.341);--radius-selector:1rem;--radius-field:.25rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:0;--noise:0}:root:has(input.theme-controller[value=sunset]:checked),[data-theme=sunset]{color-scheme:dark;--color-base-100:oklch(22% .019 237.69);--color-base-200:oklch(20% .019 237.69);--color-base-300:oklch(18% .019 237.69);--color-base-content:oklch(77.383% .043 245.096);--color-primary:oklch(74.703% .158 39.947);--color-primary-content:oklch(14.94% .031 39.947);--color-secondary:oklch(72.537% .177 2.72);--color-secondary-content:oklch(14.507% .035 2.72);--color-accent:oklch(71.294% .166 299.844);--color-accent-content:oklch(14.258% .033 299.844);--color-neutral:oklch(26% .019 237.69);--color-neutral-content:oklch(70% .019 237.69);--color-info:oklch(85.559% .085 206.015);--color-info-content:oklch(17.111% .017 206.015);--color-success:oklch(85.56% .085 144.778);--color-success-content:oklch(17.112% .017 144.778);--color-warning:oklch(85.569% .084 74.427);--color-warning-content:oklch(17.113% .016 74.427);--color-error:oklch(85.511% .078 16.886);--color-error-content:oklch(17.102% .015 16.886);--radius-selector:1rem;--radius-field:.5rem;--radius-box:1rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:0;--noise:0}:root:has(input.theme-controller[value=caramellatte]:checked),[data-theme=caramellatte]{color-scheme:light;--color-base-100:oklch(98% .016 73.684);--color-base-200:oklch(95% .038 75.164);--color-base-300:oklch(90% .076 70.697);--color-base-content:oklch(40% .123 38.172);--color-primary:oklch(0% 0 0);--color-primary-content:oklch(100% 0 0);--color-secondary:oklch(22.45% .075 37.85);--color-secondary-content:oklch(90% .076 70.697);--color-accent:oklch(46.44% .111 37.85);--color-accent-content:oklch(90% .076 70.697);--color-neutral:oklch(55% .195 38.402);--color-neutral-content:oklch(98% .016 73.684);--color-info:oklch(42% .199 265.638);--color-info-content:oklch(90% .076 70.697);--color-success:oklch(43% .095 166.913);--color-success-content:oklch(90% .076 70.697);--color-warning:oklch(82% .189 84.429);--color-warning-content:oklch(41% .112 45.904);--color-error:oklch(70% .191 22.216);--color-error-content:oklch(39% .141 25.723);--radius-selector:2rem;--radius-field:.5rem;--radius-box:1rem;--size-selector:.25rem;--size-field:.25rem;--border:2px;--depth:1;--noise:1}:root:has(input.theme-controller[value=abyss]:checked),[data-theme=abyss]{color-scheme:dark;--color-base-100:oklch(20% .08 209);--color-base-200:oklch(15% .08 209);--color-base-300:oklch(10% .08 209);--color-base-content:oklch(90% .076 70.697);--color-primary:oklch(92% .2653 125);--color-primary-content:oklch(50% .2653 125);--color-secondary:oklch(83.27% .0764 298.3);--color-secondary-content:oklch(43.27% .0764 298.3);--color-accent:oklch(43% 0 0);--color-accent-content:oklch(98% 0 0);--color-neutral:oklch(30% .08 209);--color-neutral-content:oklch(90% .076 70.697);--color-info:oklch(74% .16 232.661);--color-info-content:oklch(29% .066 243.157);--color-success:oklch(79% .209 151.711);--color-success-content:oklch(26% .065 152.934);--color-warning:oklch(84.8% .1962 84.62);--color-warning-content:oklch(44.8% .1962 84.62);--color-error:oklch(65% .1985 24.22);--color-error-content:oklch(27% .1985 24.22);--radius-selector:2rem;--radius-field:.25rem;--radius-box:.5rem;--size-selector:.25rem;--size-field:.25rem;--border:1px;--depth:1;--noise:0}:root:has(input.theme-controller[value=silk]:checked),[data-theme=silk]{color-scheme:light;--color-base-100:oklch(97% .0035 67.78);--color-base-200:oklch(95% .0081 61.42);--color-base-300:oklch(90% .0081 61.42);--color-base-content:oklch(40% .0081 61.42);--color-primary:oklch(23.27% .0249 284.3);--color-primary-content:oklch(94.22% .2505 117.44);--color-secondary:oklch(23.27% .0249 284.3);--color-secondary-content:oklch(73.92% .2135 50.94);--color-accent:oklch(23.27% .0249 284.3);--color-accent-content:oklch(88.92% .2061 189.9);--color-neutral:oklch(20% 0 0);--color-neutral-content:oklch(80% .0081 61.42);--color-info:oklch(80.39% .1148 241.68);--color-info-content:oklch(30.39% .1148 241.68);--color-success:oklch(83.92% .0901 136.87);--color-success-content:oklch(23.92% .0901 136.87);--color-warning:oklch(83.92% .1085 80);--color-warning-content:oklch(43.92% .1085 80);--color-error:oklch(75.1% .1814 22.37);--color-error-content:oklch(35.1% .1814 22.37);--radius-selector:2rem;--radius-field:.5rem;--radius-box:1rem;--size-selector:.25rem;--size-field:.25rem;--border:2px;--depth:1;--noise:0}:root{--fx-noise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.34' numOctaves='4' stitchTiles='stitch'%3E%3C/feTurbulence%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23a)' opacity='0.2'%3E%3C/rect%3E%3C/svg%3E");scrollbar-color:currentColor #0000}@supports (color:color-mix(in lab,red,red)){:root{scrollbar-color:color-mix(in oklch,currentColor 35%,#0000)#0000}}@property --radialprogress{syntax: "<percentage>"; inherits: true; initial-value: 0%;}:root:not(span){overflow:var(--page-overflow)}:root{--page-scroll-bg-on:linear-gradient(var(--root-bg),var(--root-bg))var(--root-bg)}@supports (color:color-mix(in lab,red,red)){:root{--page-scroll-bg-on:linear-gradient(var(--root-bg),var(--root-bg))color-mix(in srgb,var(--root-bg),oklch(0% 0 0) calc(var(--page-has-backdrop,0)*40%))}}:root{--page-scroll-transition-on:background-color .3s ease-out;transition:var(--page-scroll-transition);scrollbar-gutter:var(--page-scroll-gutter,unset);scrollbar-gutter:if(style(--page-has-scroll: 1): var(--page-scroll-gutter,unset); else: unset)}:root:root{background:var(--page-scroll-bg,var(--root-bg,var(--color-base-100)))}@keyframes set-page-has-scroll{0%,to{--page-has-scroll:1}}:root,[data-theme]{background-color:var(--root-bg,var(--color-base-100));color:var(--color-base-content)}:where(:root,[data-theme]){--root-bg:var(--color-base-100)}}@layer components;@layer utilities{@layer daisyui.l1.l2.l3{.diff{webkit-user-select:none;-webkit-user-select:none;user-select:none;direction:ltr;grid-template-rows:1fr 1.8rem 1fr;grid-template-columns:auto 1fr;width:100%;display:grid;position:relative;overflow:hidden;container-type:inline-size}.diff:focus-visible,.diff:has(.diff-item-1:focus-visible){outline-style:var(--tw-outline-style);outline-offset:1px;outline-width:2px;outline-color:var(--color-base-content)}.diff:focus-visible .diff-resizer{min-width:95cqi;max-width:95cqi}.diff:has(.diff-item-1:focus-visible){outline-style:var(--tw-outline-style);outline-offset:1px;outline-width:2px}.diff:has(.diff-item-1:focus-visible) .diff-resizer{min-width:5cqi;max-width:5cqi}@supports (-webkit-overflow-scrolling:touch) and (overflow:-webkit-paged-x){.diff:focus .diff-resizer{min-width:5cqi;max-width:5cqi}.diff:has(.diff-item-1:focus) .diff-resizer{min-width:95cqi;max-width:95cqi}}.modal{pointer-events:none;visibility:hidden;width:100%;max-width:none;height:100%;max-height:none;color:inherit;transition:visibility .3s allow-discrete,background-color .3s ease-out,opacity .1s ease-out;overscroll-behavior:contain;z-index:999;scrollbar-gutter:auto;background-color:#0000;place-items:center;margin:0;padding:0;display:grid;position:fixed;inset:0;overflow:clip}.modal::backdrop{display:none}.tooltip{--tt-bg:var(--color-neutral);--tt-off: calc(100% + .5rem) ;--tt-tail: calc(100% + 1px + .25rem) ;display:inline-block;position:relative}.tooltip>.tooltip-content,.tooltip[data-tip]:before{border-radius:var(--radius-field);text-align:center;white-space:normal;max-width:20rem;color:var(--color-neutral-content);opacity:0;background-color:var(--tt-bg);pointer-events:none;z-index:2;--tw-content:attr(data-tip);content:var(--tw-content);width:max-content;padding-block:.25rem;padding-inline:.5rem;font-size:.875rem;line-height:1.25;position:absolute}.tooltip:after{opacity:0;background-color:var(--tt-bg);content:"";pointer-events:none;--mask-tooltip:url("data:image/svg+xml,%3Csvg width='10' height='4' viewBox='0 0 8 4' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.500009 1C3.5 1 3.00001 4 5.00001 4C7 4 6.5 1 9.5 1C10 1 10 0.499897 10 0H0C-1.99338e-08 0.5 0 1 0.500009 1Z' fill='black'/%3E%3C/svg%3E%0A");width:.625rem;height:.25rem;-webkit-mask-position:-1px 0;mask-position:-1px 0;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-image:var(--mask-tooltip);mask-image:var(--mask-tooltip);display:block;position:absolute}@media(prefers-reduced-motion:no-preference){.tooltip>.tooltip-content,.tooltip[data-tip]:before,.tooltip:after{transition:opacity .2s cubic-bezier(.4,0,.2,1) 75ms,transform .2s cubic-bezier(.4,0,.2,1) 75ms}}:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible))>.tooltip-content,:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible))[data-tip]:before,:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible)):after{opacity:1;--tt-pos:0rem}@media(prefers-reduced-motion:no-preference){:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible))>.tooltip-content,:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible))[data-tip]:before,:is(.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))).tooltip-open,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):hover,.tooltip:is([data-tip]:not([data-tip=""]),:has(.tooltip-content:not(:empty))):has(:focus-visible)):after{transition:opacity .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1)}}.tab{cursor:pointer;appearance:none;text-align:center;webkit-user-select:none;-webkit-user-select:none;user-select:none;flex-wrap:wrap;justify-content:center;align-items:center;display:inline-flex;position:relative}@media(hover:hover){.tab:hover{color:var(--color-base-content)}}.tab{--tab-p:.75rem;--tab-bg:var(--color-base-100);--tab-border-color:var(--color-base-300);--tab-radius-ss:0;--tab-radius-se:0;--tab-radius-es:0;--tab-radius-ee:0;--tab-order:0;--tab-radius-min:calc(.75rem - var(--border));--tab-radius-limit:min(var(--radius-field),var(--tab-radius-min));--tab-radius-grad:#0000 calc(69% - var(--border)),var(--tab-border-color)calc(calc(69% - var(--border)) + .25px),var(--tab-border-color)calc(calc(69% - var(--border)) + var(--border)),var(--tab-bg)calc(calc(69% - var(--border)) + var(--border) + .25px);order:var(--tab-order);height:var(--tab-height);border-color:#0000;padding-inline-start:var(--tab-p);padding-inline-end:var(--tab-p);font-size:.875rem}.tab:is(input[type=radio]){min-width:fit-content}.tab:is(input[type=radio]):after{--tw-content:attr(aria-label);content:var(--tw-content)}.tab:is(label){position:relative}.tab:is(label) input{cursor:pointer;appearance:none;opacity:0;position:absolute;inset:0}:is(.tab:checked,.tab:is(label:has(:checked)),.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]))+.tab-content{display:block}.tab:not(:checked,label:has(:checked),:hover,.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]){color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.tab:not(:checked,label:has(:checked),:hover,.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]){color:color-mix(in oklab,var(--color-base-content)50%,transparent)}}.tab:not(input):empty{cursor:default;flex-grow:1}.tab:focus{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.tab:focus{outline-offset:2px;outline:2px solid #0000}}.tab:focus-visible,.tab:is(label:has(:checked:focus-visible)){outline-offset:-5px;outline:2px solid}.tab[disabled]{pointer-events:none;opacity:.4}.menu{--menu-active-fg:var(--color-neutral-content);--menu-active-bg:var(--color-neutral);flex-flow:column wrap;width:fit-content;padding:.5rem;font-size:.875rem;display:flex}.menu :where(li ul){white-space:nowrap;margin-inline-start:1rem;padding-inline-start:.5rem;position:relative}.menu :where(li ul):before{background-color:var(--color-base-content);opacity:.1;width:var(--border);content:"";inset-inline-start:0;position:absolute;top:.75rem;bottom:.75rem}.menu :where(li>.menu-dropdown:not(.menu-dropdown-show)){display:none}.menu :where(li:not(.menu-title)>:not(ul,details,.menu-title,.btn)),.menu :where(li:not(.menu-title)>details>summary:not(.menu-title)){border-radius:var(--radius-field);text-align:start;text-wrap:balance;-webkit-user-select:none;user-select:none;grid-auto-columns:minmax(auto,max-content) auto max-content;grid-auto-flow:column;align-content:flex-start;align-items:center;gap:.5rem;padding-block:.375rem;padding-inline:.75rem;transition-property:color,background-color,box-shadow;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1);display:grid}.menu :where(li>details>summary){--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.menu :where(li>details>summary){outline-offset:2px;outline:2px solid #0000}}.menu :where(li>details>summary)::-webkit-details-marker{display:none}:is(.menu :where(li>details>summary),.menu :where(li>.menu-dropdown-toggle)):after{content:"";transform-origin:50%;pointer-events:none;justify-self:flex-end;width:.375rem;height:.375rem;transition-property:rotate,translate;transition-duration:.2s;display:block;translate:0 -1px;rotate:-135deg;box-shadow:inset 2px 2px}.menu details{interpolate-size:allow-keywords;overflow:hidden}.menu details::details-content{block-size:0}@media(prefers-reduced-motion:no-preference){.menu details::details-content{transition-behavior:allow-discrete;transition-property:block-size,content-visibility;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1)}}.menu details[open]::details-content{block-size:auto}.menu :where(li>details[open]>summary):after,.menu :where(li>.menu-dropdown-toggle.menu-dropdown-show):after{translate:0 1px;rotate:45deg}.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn).menu-focus,.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn):focus-visible{cursor:pointer;background-color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn).menu-focus,.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn):focus-visible{background-color:color-mix(in oklab,var(--color-base-content)10%,transparent)}}.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn).menu-focus,.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn):focus-visible{color:var(--color-base-content);--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn).menu-focus,.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title),li:not(.menu-title,.disabled)>details>summary:not(.menu-title)):not(.menu-active,:active,.btn):focus-visible{outline-offset:2px;outline:2px solid #0000}}.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){cursor:pointer;background-color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){background-color:color-mix(in oklab,var(--color-base-content)10%,transparent)}}.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){outline-offset:2px;outline:2px solid #0000}}.menu :where(li:not(.menu-title,.disabled)>:not(ul,details,.menu-title):not(.menu-active,:active,.btn):hover,li:not(.menu-title,.disabled)>details>summary:not(.menu-title):not(.menu-active,:active,.btn):hover){box-shadow:inset 0 1px #00000003,inset 0 -1px #ffffff03}.menu :where(li:empty){background-color:var(--color-base-content);opacity:.1;height:1px;margin:.5rem 1rem}.menu :where(li){flex-flow:column wrap;flex-shrink:0;align-items:stretch;display:flex;position:relative}.menu :where(li) .badge{justify-self:flex-end}.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active{outline-offset:2px;outline:2px solid #0000}}.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active{color:var(--menu-active-fg);background-color:var(--menu-active-bg);background-size:auto,calc(var(--noise)*100%);background-image:none,var(--fx-noise)}:is(.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active):not(:is(.menu :where(li)>:not(ul,.menu-title,details,.btn):active,.menu :where(li)>:not(ul,.menu-title,details,.btn).menu-active,.menu :where(li)>details>summary:active):active){box-shadow:0 2px calc(var(--depth)*3px) -2px var(--menu-active-bg)}.menu :where(li).menu-disabled{pointer-events:none;color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.menu :where(li).menu-disabled{color:color-mix(in oklab,var(--color-base-content)20%,transparent)}}.menu .dropdown:focus-within .menu-dropdown-toggle:after{translate:0 1px;rotate:45deg}.menu .dropdown-content{margin-top:.5rem;padding:.5rem}.menu .dropdown-content:before{display:none}.dropdown{position-area:var(--anchor-v,bottom)var(--anchor-h,span-right);display:inline-block;position:relative}.dropdown>:not(:has(~[class*=dropdown-content])):focus{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.dropdown>:not(:has(~[class*=dropdown-content])):focus{outline-offset:2px;outline:2px solid #0000}}.dropdown .dropdown-content{position:absolute}.dropdown.dropdown-close .dropdown-content,.dropdown:not(details,.dropdown-open,.dropdown-hover:hover,:focus-within) .dropdown-content,.dropdown.dropdown-hover:not(:hover) [tabindex]:first-child:focus:not(:focus-visible)~.dropdown-content{transform-origin:top;opacity:0;display:none;scale:95%}.dropdown[popover],.dropdown .dropdown-content{z-index:999}@media(prefers-reduced-motion:no-preference){.dropdown[popover],.dropdown .dropdown-content{transition-behavior:allow-discrete;transition-property:opacity,scale,display;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);animation:.2s dropdown}}@starting-style{.dropdown[popover],.dropdown .dropdown-content{opacity:0;scale:95%}}:is(.dropdown:not(.dropdown-close).dropdown-open,.dropdown:not(.dropdown-close):not(.dropdown-hover):focus,.dropdown:not(.dropdown-close):focus-within)>[tabindex]:first-child{pointer-events:none}:is(.dropdown:not(.dropdown-close).dropdown-open,.dropdown:not(.dropdown-close):not(.dropdown-hover):focus,.dropdown:not(.dropdown-close):focus-within) .dropdown-content,.dropdown:not(.dropdown-close).dropdown-hover:hover .dropdown-content{opacity:1;scale:100%}.dropdown:is(details) summary::-webkit-details-marker{display:none}.dropdown:where([popover]){background:0 0}.dropdown[popover]{color:inherit;position:fixed}@supports not (position-area:bottom){.dropdown[popover]{margin:auto}.dropdown[popover].dropdown-close{transform-origin:top;opacity:0;display:none;scale:95%}.dropdown[popover].dropdown-open:not(:popover-open){transform-origin:top;opacity:0;display:none;scale:95%}.dropdown[popover]::backdrop{background-color:oklab(0% none none/.3)}}:is(.dropdown[popover].dropdown-close,.dropdown[popover]:not(.dropdown-open,:popover-open)){transform-origin:top;opacity:0;display:none;scale:95%}:where(.btn){width:unset}.btn{cursor:pointer;text-align:center;vertical-align:middle;outline-offset:2px;webkit-user-select:none;-webkit-user-select:none;user-select:none;padding-inline:var(--btn-p);color:var(--btn-fg);--tw-prose-links:var(--btn-fg);height:var(--size);font-size:var(--fontsize,.875rem);outline-color:var(--btn-color,var(--color-base-content));background-color:var(--btn-bg);background-size:auto,calc(var(--noise)*100%);background-image:none,var(--btn-noise);border-width:var(--border);border-style:solid;border-color:var(--btn-border);text-shadow:0 .5px oklch(100% 0 0/calc(var(--depth)*.15));touch-action:manipulation;box-shadow:0 .5px 0 .5px oklch(100% 0 0/calc(var(--depth)*6%)) inset,var(--btn-shadow);--size:calc(var(--size-field,.25rem)*10);--btn-bg:var(--btn-color,var(--color-base-200));--btn-fg:var(--color-base-content);--btn-p:1rem;--btn-border:var(--btn-bg);border-start-start-radius:var(--join-ss,var(--radius-field));border-start-end-radius:var(--join-se,var(--radius-field));border-end-end-radius:var(--join-ee,var(--radius-field));border-end-start-radius:var(--join-es,var(--radius-field));flex-wrap:nowrap;flex-shrink:0;justify-content:center;align-items:center;gap:.375rem;font-weight:600;transition-property:color,background-color,border-color,box-shadow;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1);display:inline-flex}@supports (color:color-mix(in lab,red,red)){.btn{--btn-border:color-mix(in oklab,var(--btn-bg),#000 calc(var(--depth)*5%))}}.btn{--btn-shadow:0 3px 2px -2px var(--btn-bg),0 4px 3px -2px var(--btn-bg)}@supports (color:color-mix(in lab,red,red)){.btn{--btn-shadow:0 3px 2px -2px color-mix(in oklab,var(--btn-bg)calc(var(--depth)*30%),#0000),0 4px 3px -2px color-mix(in oklab,var(--btn-bg)calc(var(--depth)*30%),#0000)}}.btn{--btn-noise:var(--fx-noise)}@media(hover:hover){.btn:hover{--btn-bg:var(--btn-color,var(--color-base-200))}@supports (color:color-mix(in lab,red,red)){.btn:hover{--btn-bg:color-mix(in oklab,var(--btn-color,var(--color-base-200)),#000 7%)}}}.btn:focus-visible,.btn:has(:focus-visible){isolation:isolate;outline-width:2px;outline-style:solid}.btn:active:not(.btn-active){--btn-bg:var(--btn-color,var(--color-base-200));translate:0 .5px}@supports (color:color-mix(in lab,red,red)){.btn:active:not(.btn-active){--btn-bg:color-mix(in oklab,var(--btn-color,var(--color-base-200)),#000 5%)}}.btn:active:not(.btn-active){--btn-border:var(--btn-color,var(--color-base-200))}@supports (color:color-mix(in lab,red,red)){.btn:active:not(.btn-active){--btn-border:color-mix(in oklab,var(--btn-color,var(--color-base-200)),#000 7%)}}.btn:active:not(.btn-active){--btn-shadow:0 0 0 0 oklch(0% 0 0/0),0 0 0 0 oklch(0% 0 0/0)}.btn:is(input[type=checkbox],input[type=radio]){appearance:none}.btn:is(input[type=checkbox],input[type=radio]):after{--tw-content:attr(aria-label);content:var(--tw-content)}.btn:where(input:checked:not(.filter .btn)){--btn-color:var(--color-primary);--btn-fg:var(--color-primary-content);isolation:isolate}.loading{pointer-events:none;aspect-ratio:1;vertical-align:middle;width:calc(var(--size-selector,.25rem)*6);background-color:currentColor;display:inline-block;-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E");-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:100%;mask-size:100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.radial-progress{height:var(--size);width:var(--size);vertical-align:middle;box-sizing:content-box;--value:0;--size:5rem;--thickness:calc(var(--size)/10);--radialprogress:calc(var(--value)*1%);background-color:#0000;border-radius:3.40282e38px;place-content:center;transition:--radialprogress .3s linear;display:inline-grid;position:relative}.radial-progress:before{content:"";background:radial-gradient(farthest-side,currentColor 98%,#0000)top/var(--thickness)var(--thickness)no-repeat,conic-gradient(currentColor var(--radialprogress),#0000 0);webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - var(--thickness)),#000 calc(100% + .5px - var(--thickness)));-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - var(--thickness)),#000 calc(100% + .5px - var(--thickness)));mask:radial-gradient(farthest-side,#0000 calc(100% - var(--thickness)),#000 calc(100% + .5px - var(--thickness)));border-radius:3.40282e38px;position:absolute;inset:0}.radial-progress:after{content:"";inset:calc(50% - var(--thickness)/2);transform:rotate(calc(var(--value)*3.6deg - 90deg))translate(calc(var(--size)/2 - 50%));background-color:currentColor;border-radius:3.40282e38px;transition:transform .3s linear;position:absolute}.list{flex-direction:column;font-size:.875rem;display:flex}.list .list-row{--list-grid-cols:minmax(0,auto)1fr;border-radius:var(--radius-box);word-break:break-word;grid-auto-flow:column;grid-template-columns:var(--list-grid-cols);gap:1rem;padding:1rem;display:grid;position:relative}:is(.list>:not(:last-child).list-row,.list>:not(:last-child) .list-row):after{content:"";border-bottom:var(--border)solid;inset-inline:var(--radius-box);border-color:var(--color-base-content);position:absolute;bottom:0}@supports (color:color-mix(in lab,red,red)){:is(.list>:not(:last-child).list-row,.list>:not(:last-child) .list-row):after{border-color:color-mix(in oklab,var(--color-base-content)5%,transparent)}}.toast{translate:var(--toast-x,0)var(--toast-y,0);inset-inline:auto 1rem;background-color:#0000;flex-direction:column;gap:.5rem;width:max-content;max-width:calc(100vw - 2rem);display:flex;position:fixed;top:auto;bottom:1rem}@media(prefers-reduced-motion:no-preference){.toast>*{animation:.25s ease-out toast}}.toggle{border:var(--border)solid currentColor;color:var(--input-color);cursor:pointer;appearance:none;vertical-align:middle;webkit-user-select:none;-webkit-user-select:none;user-select:none;--radius-selector-max:calc(var(--radius-selector) + var(--radius-selector) + var(--radius-selector));border-radius:calc(var(--radius-selector) + min(var(--toggle-p),var(--radius-selector-max)) + min(var(--border),var(--radius-selector-max)));padding:var(--toggle-p);flex-shrink:0;grid-template-columns:0fr 1fr 1fr;place-content:center;display:inline-grid;position:relative;box-shadow:inset 0 1px}@supports (color:color-mix(in lab,red,red)){.toggle{box-shadow:0 1px color-mix(in oklab,currentColor calc(var(--depth)*10%),#0000) inset}}.toggle{--input-color:var(--color-base-content);transition:color .3s,grid-template-columns .2s}@supports (color:color-mix(in lab,red,red)){.toggle{--input-color:color-mix(in oklab,var(--color-base-content)50%,#0000)}}.toggle{--toggle-p:calc(var(--size)*.125);--size:calc(var(--size-selector,.25rem)*6);width:calc((var(--size)*2) - (var(--border) + var(--toggle-p))*2);height:var(--size)}.toggle>*{z-index:1;cursor:pointer;appearance:none;background-color:#0000;border:none;grid-column:2/span 1;grid-row-start:1;height:100%;padding:.125rem;transition:opacity .2s,rotate .4s}.toggle>:focus{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.toggle>:focus{outline-offset:2px;outline:2px solid #0000}}.toggle>:nth-child(2){color:var(--color-base-100);rotate:none}.toggle>:nth-child(3){color:var(--color-base-100);opacity:0;rotate:-15deg}.toggle:has(:checked)>:nth-child(2){opacity:0;rotate:15deg}.toggle:has(:checked)>:nth-child(3){opacity:1;rotate:none}.toggle:before{aspect-ratio:1;border-radius:var(--radius-selector);--tw-content:"";content:var(--tw-content);height:100%;box-shadow:0 -1px oklch(0% 0 0/calc(var(--depth)*.1)) inset,0 8px 0 -4px oklch(100% 0 0/calc(var(--depth)*.1)) inset,0 1px currentColor;background-color:currentColor;grid-row-start:1;grid-column-start:2;transition:background-color .1s,translate .2s,inset-inline-start .2s;position:relative;inset-inline-start:0;translate:0}@supports (color:color-mix(in lab,red,red)){.toggle:before{box-shadow:0 -1px oklch(0% 0 0/calc(var(--depth)*.1)) inset,0 8px 0 -4px oklch(100% 0 0/calc(var(--depth)*.1)) inset,0 1px color-mix(in oklab,currentColor calc(var(--depth)*10%),#0000)}}.toggle:before{background-size:auto,calc(var(--noise)*100%);background-image:none,var(--fx-noise)}@media(forced-colors:active){.toggle:before{outline-style:var(--tw-outline-style);outline-offset:-1px;outline-width:1px}}@media print{.toggle:before{outline-offset:-1rem;outline:.25rem solid}}.toggle:focus-visible,.toggle:has(:focus-visible){outline-offset:2px;outline:2px solid}.toggle:checked,.toggle[aria-checked=true],.toggle:has(>input:checked){background-color:var(--color-base-100);--input-color:var(--color-base-content);grid-template-columns:1fr 1fr 0fr}:is(.toggle:checked,.toggle[aria-checked=true],.toggle:has(>input:checked)):before{background-color:currentColor}@starting-style{:is(.toggle:checked,.toggle[aria-checked=true],.toggle:has(>input:checked)):before{opacity:0}}.toggle:indeterminate{grid-template-columns:.5fr 1fr .5fr}.toggle:disabled{cursor:not-allowed;opacity:.3}.toggle:disabled:before{border:var(--border)solid currentColor;background-color:#0000}.input{cursor:text;border:var(--border)solid #0000;appearance:none;background-color:var(--color-base-100);vertical-align:middle;white-space:nowrap;width:clamp(3rem,20rem,100%);height:var(--size);font-size:max(var(--font-size,.875rem),.875rem);touch-action:manipulation;border-color:var(--input-color);box-shadow:0 1px var(--input-color) inset,0 -1px oklch(100% 0 0/calc(var(--depth)*.1)) inset;border-start-start-radius:var(--join-ss,var(--radius-field));border-start-end-radius:var(--join-se,var(--radius-field));border-end-end-radius:var(--join-ee,var(--radius-field));border-end-start-radius:var(--join-es,var(--radius-field));flex-shrink:1;align-items:center;gap:.5rem;padding-inline:.75rem;display:inline-flex;position:relative}@supports (color:color-mix(in lab,red,red)){.input{box-shadow:0 1px color-mix(in oklab,var(--input-color)calc(var(--depth)*10%),#0000) inset,0 -1px oklch(100% 0 0/calc(var(--depth)*.1)) inset}}.input{--size:calc(var(--size-field,.25rem)*10);--input-color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.input{--input-color:color-mix(in oklab,var(--color-base-content)20%,#0000)}}.input:where(input){display:inline-flex}.input :where(input){appearance:none;background-color:#0000;border:none;width:100%;height:100%;display:inline-flex}.input :where(input):focus,.input :where(input):focus-within{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.input :where(input):focus,.input :where(input):focus-within{outline-offset:2px;outline:2px solid #0000}}.input :where(input[type=url]),.input :where(input[type=email]){direction:ltr}.input :where(input[type=date]){display:inline-flex}.input:focus,.input:focus-within{--input-color:var(--color-base-content);box-shadow:0 1px var(--input-color)}@supports (color:color-mix(in lab,red,red)){.input:focus,.input:focus-within{box-shadow:0 1px color-mix(in oklab,var(--input-color)calc(var(--depth)*10%),#0000)}}.input:focus,.input:focus-within{outline:2px solid var(--input-color);outline-offset:2px;isolation:isolate;z-index:1}@media(pointer:coarse){@supports (-webkit-touch-callout:none){.input:focus,.input:focus-within{--font-size:1rem}}}.input:has(>input[disabled]),.input:is(:disabled,[disabled]),fieldset:disabled .input{cursor:not-allowed;border-color:var(--color-base-200);background-color:var(--color-base-200);color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.input:has(>input[disabled]),.input:is(:disabled,[disabled]),fieldset:disabled .input{color:color-mix(in oklab,var(--color-base-content)40%,transparent)}}:is(.input:has(>input[disabled]),.input:is(:disabled,[disabled]),fieldset:disabled .input)::placeholder{color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){:is(.input:has(>input[disabled]),.input:is(:disabled,[disabled]),fieldset:disabled .input)::placeholder{color:color-mix(in oklab,var(--color-base-content)20%,transparent)}}.input:has(>input[disabled]),.input:is(:disabled,[disabled]),fieldset:disabled .input{box-shadow:none}.input:has(>input[disabled])>input[disabled]{cursor:not-allowed}.input::-webkit-date-and-time-value{text-align:inherit}.input[type=number]::-webkit-inner-spin-button{margin-block:-.75rem;margin-inline-end:-.75rem}.input::-webkit-calendar-picker-indicator{position:absolute;inset-inline-end:.75em}.input:has(>input[type=date]) :where(input[type=date]){webkit-appearance:none;appearance:none;display:inline-flex}.input:has(>input[type=date]) input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;width:1em;height:1em;position:absolute;inset-inline-end:.75em}.table{border-collapse:separate;--tw-border-spacing-x: 0rem ;--tw-border-spacing-y: 0rem ;width:100%;border-spacing:var(--tw-border-spacing-x)var(--tw-border-spacing-y);border-radius:var(--radius-box);text-align:left;font-size:.875rem;position:relative}.table:where(:dir(rtl),[dir=rtl],[dir=rtl] *){text-align:right}@media(hover:hover){:is(.table tr.row-hover,.table tr.row-hover:nth-child(2n)):hover{background-color:var(--color-base-200)}}.table :where(th,td){vertical-align:middle;padding-block:.75rem;padding-inline:1rem}.table :where(thead,tfoot){white-space:nowrap;color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.table :where(thead,tfoot){color:color-mix(in oklab,var(--color-base-content)60%,transparent)}}.table :where(thead,tfoot){font-size:.875rem;font-weight:600}.table :where(tfoot tr:first-child :is(td,th)){border-top:var(--border)solid var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.table :where(tfoot tr:first-child :is(td,th)){border-top:var(--border)solid color-mix(in oklch,var(--color-base-content)5%,#0000)}}.table :where(.table-pin-rows thead tr){z-index:1;background-color:var(--color-base-100);position:sticky;top:0}.table :where(.table-pin-rows tfoot tr){z-index:1;background-color:var(--color-base-100);position:sticky;bottom:0}.table :where(.table-pin-cols tr th){background-color:var(--color-base-100);position:sticky;left:0;right:0}.table :where(thead tr :is(td,th),tbody tr:not(:last-child) :is(td,th)){border-bottom:var(--border)solid var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.table :where(thead tr :is(td,th),tbody tr:not(:last-child) :is(td,th)){border-bottom:var(--border)solid color-mix(in oklch,var(--color-base-content)5%,#0000)}}.range{appearance:none;webkit-appearance:none;--range-thumb:var(--color-base-100);--range-thumb-size:calc(var(--size-selector,.25rem)*6);--range-progress:currentColor;--range-fill:1;--range-p:.25rem;--range-bg:currentColor}@supports (color:color-mix(in lab,red,red)){.range{--range-bg:color-mix(in oklab,currentColor 10%,#0000)}}.range{cursor:pointer;vertical-align:middle;--radius-selector-max:calc(var(--radius-selector) + var(--radius-selector) + var(--radius-selector));border-radius:calc(var(--radius-selector) + min(var(--range-p),var(--radius-selector-max)));width:clamp(3rem,20rem,100%);height:var(--range-thumb-size);background-color:#0000;border:none;overflow:hidden}[dir=rtl] .range{--range-dir:-1}.range:focus{outline:none}.range:focus-visible{outline-offset:2px;outline:2px solid}.range::-webkit-slider-runnable-track{background-color:var(--range-bg);border-radius:var(--radius-selector);width:100%;height:calc(var(--range-thumb-size)*.5)}@media(forced-colors:active){.range::-webkit-slider-runnable-track{border:1px solid}.range::-moz-range-track{border:1px solid}}.range::-webkit-slider-thumb{box-sizing:border-box;border-radius:calc(var(--radius-selector) + min(var(--range-p),var(--radius-selector-max)));background-color:var(--range-thumb);height:var(--range-thumb-size);width:var(--range-thumb-size);border:var(--range-p)solid;appearance:none;webkit-appearance:none;color:var(--range-progress);box-shadow:0 -1px oklch(0% 0 0/calc(var(--depth)*.1)) inset,0 8px 0 -4px oklch(100% 0 0/calc(var(--depth)*.1)) inset,0 1px currentColor,0 0 0 2rem var(--range-thumb) inset,calc((var(--range-dir,1)*-100rem) - (var(--range-dir,1)*var(--range-thumb-size)/2)) 0 0 calc(100rem*var(--range-fill));position:relative;top:50%;transform:translateY(-50%)}@supports (color:color-mix(in lab,red,red)){.range::-webkit-slider-thumb{box-shadow:0 -1px oklch(0% 0 0/calc(var(--depth)*.1)) inset,0 8px 0 -4px oklch(100% 0 0/calc(var(--depth)*.1)) inset,0 1px color-mix(in oklab,currentColor calc(var(--depth)*10%),#0000),0 0 0 2rem var(--range-thumb) inset,calc((var(--range-dir,1)*-100rem) - (var(--range-dir,1)*var(--range-thumb-size)/2)) 0 0 calc(100rem*var(--range-fill))}}.range::-moz-range-track{background-color:var(--range-bg);border-radius:var(--radius-selector);width:100%;height:calc(var(--range-thumb-size)*.5)}.range::-moz-range-thumb{box-sizing:border-box;border-radius:calc(var(--radius-selector) + min(var(--range-p),var(--radius-selector-max)));height:var(--range-thumb-size);width:var(--range-thumb-size);border:var(--range-p)solid;color:var(--range-progress);box-shadow:0 -1px oklch(0% 0 0/calc(var(--depth)*.1)) inset,0 8px 0 -4px oklch(100% 0 0/calc(var(--depth)*.1)) inset,0 1px currentColor,0 0 0 2rem var(--range-thumb) inset,calc((var(--range-dir,1)*-100rem) - (var(--range-dir,1)*var(--range-thumb-size)/2)) 0 0 calc(100rem*var(--range-fill));background-color:currentColor;position:relative;top:50%}@supports (color:color-mix(in lab,red,red)){.range::-moz-range-thumb{box-shadow:0 -1px oklch(0% 0 0/calc(var(--depth)*.1)) inset,0 8px 0 -4px oklch(100% 0 0/calc(var(--depth)*.1)) inset,0 1px color-mix(in oklab,currentColor calc(var(--depth)*10%),#0000),0 0 0 2rem var(--range-thumb) inset,calc((var(--range-dir,1)*-100rem) - (var(--range-dir,1)*var(--range-thumb-size)/2)) 0 0 calc(100rem*var(--range-fill))}}.range:disabled{cursor:not-allowed;opacity:.3}.diff-resizer{isolation:isolate;z-index:2;resize:horizontal;opacity:0;cursor:ew-resize;transform-origin:100% 100%;clip-path:inset(calc(100% - .75rem) 0 0 calc(100% - .75rem));grid-row-start:2;grid-column-start:1;width:50cqi;min-width:1rem;max-width:calc(100cqi - 1rem);height:.75rem;transition:min-width .3s ease-out,max-width .3s ease-out;position:relative;overflow:hidden;transform:scaleY(5)translate(.32rem,50%)}.select{border:var(--border)solid #0000;appearance:none;background-color:var(--color-base-100);vertical-align:middle;width:clamp(3rem,20rem,100%);height:var(--size);touch-action:manipulation;white-space:nowrap;text-overflow:ellipsis;box-shadow:0 1px var(--input-color) inset,0 -1px oklch(100% 0 0/calc(var(--depth)*.1)) inset;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - 20px) calc(1px + 50%),calc(100% - 16.1px) calc(1px + 50%);background-repeat:no-repeat;background-size:4px 4px,4px 4px;border-start-start-radius:var(--join-ss,var(--radius-field));border-start-end-radius:var(--join-se,var(--radius-field));border-end-end-radius:var(--join-ee,var(--radius-field));border-end-start-radius:var(--join-es,var(--radius-field));flex-shrink:1;align-items:center;gap:.375rem;padding-inline:.75rem 1.75rem;font-size:.875rem;display:inline-flex;position:relative;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.select{box-shadow:0 1px color-mix(in oklab,var(--input-color)calc(var(--depth)*10%),#0000) inset,0 -1px oklch(100% 0 0/calc(var(--depth)*.1)) inset}}.select{border-color:var(--input-color);--input-color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.select{--input-color:color-mix(in oklab,var(--color-base-content)20%,#0000)}}.select{--size:calc(var(--size-field,.25rem)*10)}[dir=rtl] .select{background-position:12px calc(1px + 50%),16px calc(1px + 50%)}[dir=rtl] .select::picker(select){translate:.5rem}[dir=rtl] .select select::picker(select){translate:.5rem}.select[multiple]{background-image:none;height:auto;padding-block:.75rem;padding-inline-end:.75rem;overflow:auto}.select select{appearance:none;width:calc(100% + 2.75rem);height:calc(100% - calc(var(--border)*2));background:inherit;border-radius:inherit;border-style:none;align-items:center;margin-inline:-.75rem -1.75rem;padding-inline:.75rem 1.75rem}.select select:focus,.select select:focus-within{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.select select:focus,.select select:focus-within{outline-offset:2px;outline:2px solid #0000}}.select select:not(:last-child){background-image:none;margin-inline-end:-1.375rem}.select:focus,.select:focus-within{--input-color:var(--color-base-content);box-shadow:0 1px var(--input-color)}@supports (color:color-mix(in lab,red,red)){.select:focus,.select:focus-within{box-shadow:0 1px color-mix(in oklab,var(--input-color)calc(var(--depth)*10%),#0000)}}.select:focus,.select:focus-within{outline:2px solid var(--input-color);outline-offset:2px;isolation:isolate;z-index:1}.select:has(>select[disabled]),.select:is(:disabled,[disabled]),fieldset:disabled .select{cursor:not-allowed;border-color:var(--color-base-200);background-color:var(--color-base-200);color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.select:has(>select[disabled]),.select:is(:disabled,[disabled]),fieldset:disabled .select{color:color-mix(in oklab,var(--color-base-content)40%,transparent)}}:is(.select:has(>select[disabled]),.select:is(:disabled,[disabled]),fieldset:disabled .select)::placeholder{color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){:is(.select:has(>select[disabled]),.select:is(:disabled,[disabled]),fieldset:disabled .select)::placeholder{color:color-mix(in oklab,var(--color-base-content)20%,transparent)}}.select:has(>select[disabled])>select[disabled]{cursor:not-allowed}@supports (appearance:base-select){.select,.select select{appearance:base-select}:is(.select,.select select)::picker(select){appearance:base-select}}:is(.select,.select select)::picker(select){color:inherit;border:var(--border)solid var(--color-base-200);border-radius:var(--radius-box);background-color:inherit;max-height:min(24rem,70dvh);box-shadow:0 2px calc(var(--depth)*3px) -2px #0003;box-shadow:0 20px 25px -5px rgb(0 0 0/calc(var(--depth)*.1)),0 8px 10px -6px rgb(0 0 0/calc(var(--depth)*.1));margin-block:.5rem;margin-inline:.5rem;padding:.5rem;translate:-.5rem}:is(.select,.select select)::picker-icon{display:none}:is(.select,.select select) optgroup{padding-top:.5em}:is(.select,.select select) optgroup option:first-child{margin-top:.5em}:is(.select,.select select) option{border-radius:var(--radius-field);white-space:normal;padding-block:.375rem;padding-inline:.75rem;transition-property:color,background-color;transition-duration:.2s;transition-timing-function:cubic-bezier(0,0,.2,1)}:is(.select,.select select) option:not(:disabled):hover,:is(.select,.select select) option:not(:disabled):focus-visible{cursor:pointer;background-color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){:is(.select,.select select) option:not(:disabled):hover,:is(.select,.select select) option:not(:disabled):focus-visible{background-color:color-mix(in oklab,var(--color-base-content)10%,transparent)}}:is(.select,.select select) option:not(:disabled):hover,:is(.select,.select select) option:not(:disabled):focus-visible{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){:is(.select,.select select) option:not(:disabled):hover,:is(.select,.select select) option:not(:disabled):focus-visible{outline-offset:2px;outline:2px solid #0000}}:is(.select,.select select) option:not(:disabled):active{background-color:var(--color-neutral);color:var(--color-neutral-content);box-shadow:0 2px calc(var(--depth)*3px) -2px var(--color-neutral)}.timeline{display:flex;position:relative}.timeline>li{grid-template-rows:var(--timeline-row-start,minmax(0,1fr))auto var(--timeline-row-end,minmax(0,1fr));grid-template-columns:var(--timeline-col-start,minmax(0,1fr))auto var(--timeline-col-end,minmax(0,1fr));flex-shrink:0;align-items:center;display:grid;position:relative}.timeline>li>hr{border:none;width:100%}.timeline>li>hr:first-child{grid-row-start:2;grid-column-start:1}.timeline>li>hr:last-child{grid-area:2/3/auto/none}@media print{.timeline>li>hr{border:.1px solid var(--color-base-300)}}.timeline :where(hr){background-color:var(--color-base-300);height:.25rem}.timeline:has(.timeline-middle hr):first-child{border-start-start-radius:0;border-start-end-radius:var(--radius-selector);border-end-end-radius:var(--radius-selector);border-end-start-radius:0}.timeline:has(.timeline-middle hr):last-child,.timeline:not(:has(.timeline-middle)) :first-child hr:last-child{border-start-start-radius:var(--radius-selector);border-start-end-radius:0;border-end-end-radius:0;border-end-start-radius:var(--radius-selector)}.timeline:not(:has(.timeline-middle)) :last-child hr:first-child{border-start-start-radius:0;border-start-end-radius:var(--radius-selector);border-end-end-radius:var(--radius-selector);border-end-start-radius:0}.avatar{vertical-align:middle;display:inline-flex;position:relative}.avatar>div{aspect-ratio:1;display:block;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.checkbox{border:var(--border)solid var(--input-color,var(--color-base-content))}@supports (color:color-mix(in lab,red,red)){.checkbox{border:var(--border)solid var(--input-color,color-mix(in oklab,var(--color-base-content)20%,#0000))}}.checkbox{cursor:pointer;appearance:none;border-radius:var(--radius-selector);vertical-align:middle;color:var(--color-base-content);box-shadow:0 1px oklch(0% 0 0/calc(var(--depth)*.1)) inset,0 0 #0000 inset,0 0 #0000;--size:calc(var(--size-selector,.25rem)*6);width:var(--size);height:var(--size);background-size:auto,calc(var(--noise)*100%);background-image:none,var(--fx-noise);flex-shrink:0;padding:.25rem;transition:background-color .2s,box-shadow .2s;display:inline-block;position:relative}.checkbox:before{--tw-content:"";content:var(--tw-content);opacity:0;clip-path:polygon(20% 100%,20% 80%,50% 80%,50% 80%,70% 80%,70% 100%);width:100%;height:100%;box-shadow:0 3px oklch(100% 0 0/calc(var(--depth)*.1)) inset;background-color:currentColor;font-size:1rem;line-height:.75;transition:clip-path .3s .1s,opacity .1s .1s,rotate .3s .1s,translate .3s .1s;display:block;rotate:45deg}.checkbox:focus-visible{outline:2px solid var(--input-color,currentColor);outline-offset:2px}.checkbox:checked,.checkbox[aria-checked=true]{background-color:var(--input-color,#0000);box-shadow:0 0 #0000 inset,0 8px 0 -4px oklch(100% 0 0/calc(var(--depth)*.1)) inset,0 1px oklch(0% 0 0/calc(var(--depth)*.1))}:is(.checkbox:checked,.checkbox[aria-checked=true]):before{clip-path:polygon(20% 100%,20% 80%,50% 80%,50% 0%,70% 0%,70% 100%);opacity:1}@media(forced-colors:active){:is(.checkbox:checked,.checkbox[aria-checked=true]):before{--tw-content:"✔︎";clip-path:none;background-color:#0000;rotate:none}}@media print{:is(.checkbox:checked,.checkbox[aria-checked=true]):before{--tw-content:"✔︎";clip-path:none;background-color:#0000;rotate:none}}.checkbox:indeterminate{background-color:var(--input-color,var(--color-base-content))}@supports (color:color-mix(in lab,red,red)){.checkbox:indeterminate{background-color:var(--input-color,color-mix(in oklab,var(--color-base-content)20%,#0000))}}.checkbox:indeterminate:before{opacity:1;clip-path:polygon(20% 100%,20% 80%,50% 80%,50% 80%,80% 80%,80% 100%);translate:0 -35%;rotate:none}.radio{cursor:pointer;appearance:none;vertical-align:middle;border:var(--border)solid var(--input-color,currentColor);border-radius:3.40282e38px;flex-shrink:0;padding:.25rem;display:inline-block;position:relative}@supports (color:color-mix(in lab,red,red)){.radio{border:var(--border)solid var(--input-color,color-mix(in srgb,currentColor 20%,#0000))}}.radio{box-shadow:0 1px oklch(0% 0 0/calc(var(--depth)*.1)) inset;--size:calc(var(--size-selector,.25rem)*6);width:var(--size);height:var(--size);color:var(--input-color,currentColor)}.radio:before{--tw-content:"";content:var(--tw-content);background-size:auto,calc(var(--noise)*100%);background-image:none,var(--fx-noise);border-radius:3.40282e38px;width:100%;height:100%;display:block}.radio:focus-visible{outline:2px solid}.radio:checked,.radio[aria-checked=true]{background-color:var(--color-base-100);border-color:currentColor}@media(prefers-reduced-motion:no-preference){.radio:checked,.radio[aria-checked=true]{animation:.2s ease-out radio}}:is(.radio:checked,.radio[aria-checked=true]):before{box-shadow:0 -1px oklch(0% 0 0/calc(var(--depth)*.1)) inset,0 8px 0 -4px oklch(100% 0 0/calc(var(--depth)*.1)) inset,0 1px oklch(0% 0 0/calc(var(--depth)*.1));background-color:currentColor}@media(forced-colors:active){:is(.radio:checked,.radio[aria-checked=true]):before{outline-style:var(--tw-outline-style);outline-offset:-1px;outline-width:1px}}@media print{:is(.radio:checked,.radio[aria-checked=true]):before{outline-offset:-1rem;outline:.25rem solid}}.rating{vertical-align:middle;display:inline-flex;position:relative}.rating input{appearance:none;border:none}.rating :where(*){background-color:var(--color-base-content);opacity:.2;border-radius:0;width:1.5rem;height:1.5rem}@media(prefers-reduced-motion:no-preference){.rating :where(*){animation:.25s ease-out rating}}.rating :where(*):is(input){cursor:pointer}.rating .rating-hidden{background-color:#0000;width:.5rem}.rating input[type=radio]:checked{background-image:none}.rating :checked,.rating [aria-checked=true],.rating [aria-current=true],.rating :has(~:checked,~[aria-checked=true],~[aria-current=true]){opacity:1}.rating :focus-visible{scale:1.1}@media(prefers-reduced-motion:no-preference){.rating :focus-visible{transition:scale .2s ease-out}}.rating :active:focus{animation:none;scale:1.1}.card{border-radius:var(--radius-box);outline-offset:2px;outline:0 solid #0000;flex-direction:column;transition:outline .2s ease-in-out;display:flex;position:relative}.card:focus{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.card:focus{outline-offset:2px;outline:2px solid #0000}}.card:focus-visible{outline-color:currentColor}.card :where(figure:first-child){border-start-start-radius:inherit;border-start-end-radius:inherit;border-end-end-radius:unset;border-end-start-radius:unset;overflow:hidden}.card :where(figure:last-child){border-start-start-radius:unset;border-start-end-radius:unset;border-end-end-radius:inherit;border-end-start-radius:inherit;overflow:hidden}.card figure{justify-content:center;align-items:center;display:flex}.card:has(>input:is(input[type=checkbox],input[type=radio])){cursor:pointer;-webkit-user-select:none;user-select:none}.card:has(>:checked){outline:2px solid}.progress{appearance:none;border-radius:var(--radius-box);background-color:currentColor;width:100%;height:.5rem;position:relative;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.progress{background-color:color-mix(in oklab,currentcolor 20%,transparent)}}.progress{color:var(--color-base-content)}.progress:indeterminate{background-image:repeating-linear-gradient(90deg,currentColor -1% 10%,#0000 10% 90%);background-position-x:15%;background-size:200%}@media(prefers-reduced-motion:no-preference){.progress:indeterminate{animation:5s ease-in-out infinite progress}}@supports ((-moz-appearance:none)){.progress:indeterminate::-moz-progress-bar{background-color:#0000}@media(prefers-reduced-motion:no-preference){.progress:indeterminate::-moz-progress-bar{background-image:repeating-linear-gradient(90deg,currentColor -1% 10%,#0000 10% 90%);background-position-x:15%;background-size:200%;animation:5s ease-in-out infinite progress}}.progress::-moz-progress-bar{border-radius:var(--radius-box);background-color:currentColor}}@supports ((-webkit-appearance:none)){.progress::-webkit-progress-bar{border-radius:var(--radius-box);background-color:#0000}.progress::-webkit-progress-value{border-radius:var(--radius-box);background-color:currentColor}}.textarea{border:var(--border)solid #0000;appearance:none;border-radius:var(--radius-field);background-color:var(--color-base-100);vertical-align:middle;width:clamp(3rem,20rem,100%);min-height:5rem;font-size:max(var(--font-size,.875rem),.875rem);touch-action:manipulation;border-color:var(--input-color);box-shadow:0 1px var(--input-color) inset,0 -1px oklch(100% 0 0/calc(var(--depth)*.1)) inset;flex-shrink:1;padding-block:.5rem;padding-inline:.75rem}@supports (color:color-mix(in lab,red,red)){.textarea{box-shadow:0 1px color-mix(in oklab,var(--input-color)calc(var(--depth)*10%),#0000) inset,0 -1px oklch(100% 0 0/calc(var(--depth)*.1)) inset}}.textarea{--input-color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.textarea{--input-color:color-mix(in oklab,var(--color-base-content)20%,#0000)}}.textarea textarea{appearance:none;background-color:#0000;border:none}.textarea textarea:focus,.textarea textarea:focus-within{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.textarea textarea:focus,.textarea textarea:focus-within{outline-offset:2px;outline:2px solid #0000}}.textarea:focus,.textarea:focus-within{--input-color:var(--color-base-content);box-shadow:0 1px var(--input-color)}@supports (color:color-mix(in lab,red,red)){.textarea:focus,.textarea:focus-within{box-shadow:0 1px color-mix(in oklab,var(--input-color)calc(var(--depth)*10%),#0000)}}.textarea:focus,.textarea:focus-within{outline:2px solid var(--input-color);outline-offset:2px;isolation:isolate}@media(pointer:coarse){@supports (-webkit-touch-callout:none){.textarea:focus,.textarea:focus-within{--font-size:1rem}}}.textarea:has(>textarea[disabled]),.textarea:is(:disabled,[disabled]){cursor:not-allowed;border-color:var(--color-base-200);background-color:var(--color-base-200);color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.textarea:has(>textarea[disabled]),.textarea:is(:disabled,[disabled]){color:color-mix(in oklab,var(--color-base-content)40%,transparent)}}:is(.textarea:has(>textarea[disabled]),.textarea:is(:disabled,[disabled]))::placeholder{color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){:is(.textarea:has(>textarea[disabled]),.textarea:is(:disabled,[disabled]))::placeholder{color:color-mix(in oklab,var(--color-base-content)20%,transparent)}}.textarea:has(>textarea[disabled]),.textarea:is(:disabled,[disabled]){box-shadow:none}.textarea:has(>textarea[disabled])>textarea[disabled]{cursor:not-allowed}.stack{grid-template-rows:3px 4px 1fr 4px 3px;grid-template-columns:3px 4px 1fr 4px 3px;display:inline-grid}.stack>*{width:100%;height:100%}.stack>:nth-child(n+2){opacity:.7;width:100%}.stack>:nth-child(2){z-index:2;opacity:.9}.stack>:first-child{z-index:3;width:100%}.modal-backdrop{color:#0000;z-index:-1;grid-row-start:1;grid-column-start:1;place-self:stretch stretch;display:grid}.modal-backdrop button{cursor:pointer}.tab-content{order:var(--tabcontent-order);--tabcontent-radius-ss:var(--radius-box);--tabcontent-radius-se:var(--radius-box);--tabcontent-radius-es:var(--radius-box);--tabcontent-radius-ee:var(--radius-box);--tabcontent-order:1;width:100%;height:calc(100% - var(--tab-height) + var(--border));margin:var(--tabcontent-margin);border-color:#0000;border-width:var(--border);border-start-start-radius:var(--tabcontent-radius-ss);border-start-end-radius:var(--tabcontent-radius-se);border-end-end-radius:var(--tabcontent-radius-ee);border-end-start-radius:var(--tabcontent-radius-es);display:none}.modal-box{background-color:var(--color-base-100);border-top-left-radius:var(--modal-tl,var(--radius-box));border-top-right-radius:var(--modal-tr,var(--radius-box));border-bottom-left-radius:var(--modal-bl,var(--radius-box));border-bottom-right-radius:var(--modal-br,var(--radius-box));opacity:0;overscroll-behavior:contain;grid-row-start:1;grid-column-start:1;width:91.6667%;max-width:32rem;max-height:100vh;padding:1.5rem;transition:translate .3s ease-out,scale .3s ease-out,opacity .2s ease-out 50ms,box-shadow .3s ease-out;overflow-y:auto;scale:95%;box-shadow:0 25px 50px -12px #00000040}.timeline-middle{grid-row-start:2;grid-column-start:2}.divider{white-space:nowrap;height:1rem;margin:var(--divider-m,1rem 0);--divider-color:var(--color-base-content);flex-direction:row;align-self:stretch;align-items:center;display:flex}@supports (color:color-mix(in lab,red,red)){.divider{--divider-color:color-mix(in oklab,var(--color-base-content)10%,transparent)}}.divider:before,.divider:after{content:"";background-color:var(--divider-color);flex-grow:1;width:100%;height:.125rem}@media print{.divider:before,.divider:after{border:.5px solid}}.divider:not(:empty){gap:1rem}.filter{flex-wrap:wrap;display:flex}.filter input[type=radio]{width:auto}.filter input{opacity:1;transition:margin .1s,opacity .3s,padding .3s,border-width .1s;overflow:hidden;scale:1}.filter input:not(:last-child){margin-inline-end:.25rem}.filter input.filter-reset{aspect-ratio:1}.filter input.filter-reset:after{--tw-content:"×";content:var(--tw-content)}.filter:not(:has(input:checked:not(.filter-reset))) .filter-reset,.filter:not(:has(input:checked:not(.filter-reset))) input[type=reset],.filter:has(input:checked:not(.filter-reset)) input:not(:checked,.filter-reset,input[type=reset]){opacity:0;border-width:0;width:0;margin-inline:0;padding-inline:0;scale:0}.label{white-space:nowrap;color:currentColor;align-items:center;gap:.375rem;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.label{color:color-mix(in oklab,currentcolor 60%,transparent)}}.label:has(input){cursor:pointer}.label:is(.input>*,.select>*){white-space:nowrap;height:calc(100% - .5rem);font-size:inherit;align-items:center;padding-inline:.75rem;display:flex}.label:is(.input>*,.select>*):first-child{border-inline-end:var(--border)solid currentColor;margin-inline:-.75rem .75rem}@supports (color:color-mix(in lab,red,red)){.label:is(.input>*,.select>*):first-child{border-inline-end:var(--border)solid color-mix(in oklab,currentColor 10%,#0000)}}.label:is(.input>*,.select>*):last-child{border-inline-start:var(--border)solid currentColor;margin-inline:.75rem -.75rem}@supports (color:color-mix(in lab,red,red)){.label:is(.input>*,.select>*):last-child{border-inline-start:var(--border)solid color-mix(in oklab,currentColor 10%,#0000)}}.modal-action{justify-content:flex-end;gap:.5rem;margin-top:1.5rem;display:flex}.status{aspect-ratio:1;border-radius:var(--radius-selector);background-color:var(--color-base-content);width:.5rem;height:.5rem;display:inline-block}@supports (color:color-mix(in lab,red,red)){.status{background-color:color-mix(in oklab,var(--color-base-content)20%,transparent)}}.status{vertical-align:middle;color:#0000004d;background-position:50%;background-repeat:no-repeat}@supports (color:color-mix(in lab,red,red)){.status{color:color-mix(in oklab,var(--color-black)30%,transparent)}}.status{background-image:radial-gradient(circle at 35% 30%,oklch(1 0 0/calc(var(--depth)*.5)),#0000);box-shadow:0 2px 3px -1px}@supports (color:color-mix(in lab,red,red)){.status{box-shadow:0 2px 3px -1px color-mix(in oklab,currentColor calc(var(--depth)*100%),#0000)}}.badge{border-radius:var(--radius-selector);vertical-align:middle;color:var(--badge-fg);border:var(--border)solid var(--badge-color,var(--color-base-200));width:fit-content;padding-inline:calc(.25rem*3 - var(--border));background-size:auto,calc(var(--noise)*100%);background-image:none,var(--fx-noise);background-color:var(--badge-bg);--badge-bg:var(--badge-color,var(--color-base-100));--badge-fg:var(--color-base-content);--size:calc(var(--size-selector,.25rem)*6);height:var(--size);justify-content:center;align-items:center;gap:.5rem;font-size:.875rem;display:inline-flex}.tabs{--tabs-height:auto;--tabs-direction:row;--tab-height:calc(var(--size-field,.25rem)*10);height:var(--tabs-height);flex-wrap:wrap;flex-direction:var(--tabs-direction);display:flex}.footer{grid-auto-flow:row;place-items:start;gap:2.5rem 1rem;width:100%;font-size:.875rem;line-height:1.25rem;display:grid}.footer>*{place-items:start;gap:.5rem;display:grid}.footer.footer-center{text-align:center;grid-auto-flow:column dense;place-items:center}.footer.footer-center>*{place-items:center}.card-body{padding:var(--card-p,1.5rem);font-size:var(--card-fs,.875rem);flex-direction:column;flex:auto;gap:.5rem;display:flex}.card-body :where(p){flex-grow:1}.alert{--alert-border-color:var(--color-base-200);border-radius:var(--radius-box);color:var(--color-base-content);background-color:var(--alert-color,var(--color-base-200));text-align:start;background-size:auto,calc(var(--noise)*100%);background-image:none,var(--fx-noise);box-shadow:0 3px 0 -2px oklch(100% 0 0/calc(var(--depth)*.08)) inset,0 1px #000,0 4px 3px -2px oklch(0% 0 0/calc(var(--depth)*.08));border-style:solid;grid-template-columns:auto;grid-auto-flow:column;justify-content:start;place-items:center start;gap:1rem;padding-block:.75rem;padding-inline:1rem;font-size:.875rem;line-height:1.25rem;display:grid}@supports (color:color-mix(in lab,red,red)){.alert{box-shadow:0 3px 0 -2px oklch(100% 0 0/calc(var(--depth)*.08)) inset,0 1px color-mix(in oklab,color-mix(in oklab,#000 20%,var(--alert-color,var(--color-base-200)))calc(var(--depth)*20%),#0000),0 4px 3px -2px oklch(0% 0 0/calc(var(--depth)*.08))}}.alert:has(:nth-child(2)){grid-template-columns:auto minmax(auto,1fr)}.skeleton{border-radius:var(--radius-box);background-color:var(--color-base-300)}@media(prefers-reduced-motion:reduce){.skeleton{transition-duration:15s}}.skeleton{will-change:background-position;background-image:linear-gradient(105deg,#0000 0% 40%,var(--color-base-100)50%,#0000 60% 100%);background-position-x:-50%;background-size:200%}@media(prefers-reduced-motion:no-preference){.skeleton{animation:1.8s ease-in-out infinite skeleton}}.link{cursor:pointer;text-decoration-line:underline}.link:focus{--tw-outline-style:none;outline-style:none}@media(forced-colors:active){.link:focus{outline-offset:2px;outline:2px solid #0000}}.link:focus-visible{outline-offset:2px;outline:2px solid}.menu-title{color:var(--color-base-content);padding-block:.5rem;padding-inline:.75rem}@supports (color:color-mix(in lab,red,red)){.menu-title{color:color-mix(in oklab,var(--color-base-content)40%,transparent)}}.menu-title{font-size:.875rem;font-weight:600}}@layer daisyui.l1.l2{.modal.modal-open,.modal[open],.modal:target,.modal-toggle:checked+.modal{pointer-events:auto;visibility:visible;opacity:1;transition:visibility 0s allow-discrete,background-color .3s ease-out,opacity .1s ease-out;background-color:#0006}:is(.modal.modal-open,.modal[open],.modal:target,.modal-toggle:checked+.modal) .modal-box{opacity:1;translate:0;scale:1}:root:has(:is(.modal.modal-open,.modal[open],.modal:target,.modal-toggle:checked+.modal)){--page-has-backdrop:1;--page-overflow:hidden;--page-scroll-bg:var(--page-scroll-bg-on);--page-scroll-gutter:stable;--page-scroll-transition:var(--page-scroll-transition-on);animation:forwards set-page-has-scroll;animation-timeline:scroll()}@starting-style{.modal.modal-open,.modal[open],.modal:target,.modal-toggle:checked+.modal{opacity:0}}.tooltip>.tooltip-content,.tooltip[data-tip]:before{transform:translate(-50%)translateY(var(--tt-pos,.25rem));inset:auto auto var(--tt-off)50%}.tooltip:after{transform:translate(-50%)translateY(var(--tt-pos,.25rem));inset:auto auto var(--tt-tail)50%}.btn:disabled:not(.btn-link,.btn-ghost){background-color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.btn:disabled:not(.btn-link,.btn-ghost){background-color:color-mix(in oklab,var(--color-base-content)10%,transparent)}}.btn:disabled:not(.btn-link,.btn-ghost){box-shadow:none}.btn:disabled{pointer-events:none;--btn-border:#0000;--btn-noise:none;--btn-fg:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.btn:disabled{--btn-fg:color-mix(in oklch,var(--color-base-content)20%,#0000)}}.btn[disabled]:not(.btn-link,.btn-ghost){background-color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.btn[disabled]:not(.btn-link,.btn-ghost){background-color:color-mix(in oklab,var(--color-base-content)10%,transparent)}}.btn[disabled]:not(.btn-link,.btn-ghost){box-shadow:none}.btn[disabled]{pointer-events:none;--btn-border:#0000;--btn-noise:none;--btn-fg:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.btn[disabled]{--btn-fg:color-mix(in oklch,var(--color-base-content)20%,#0000)}}.tabs-lift{--tabs-height:auto;--tabs-direction:row}.tabs-lift>.tab{--tab-border:0 0 var(--border)0;--tab-radius-ss:var(--tab-radius-limit);--tab-radius-se:var(--tab-radius-limit);--tab-radius-es:0;--tab-radius-ee:0;--tab-paddings:var(--border)var(--tab-p)0 var(--tab-p);--tab-border-colors:#0000 #0000 var(--tab-border-color)#0000;--tab-corner-width:calc(100% + var(--tab-radius-limit)*2);--tab-corner-height:var(--tab-radius-limit);--tab-corner-position:top left,top right;border-width:var(--tab-border);padding:var(--tab-paddings);border-color:var(--tab-border-colors);border-start-start-radius:var(--tab-radius-ss);border-start-end-radius:var(--tab-radius-se);border-end-end-radius:var(--tab-radius-ee);border-end-start-radius:var(--tab-radius-es)}.tabs-lift>.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-lift>.tab:is(input:checked,label:has(:checked)){--tab-border:var(--border)var(--border)0 var(--border);--tab-border-colors:var(--tab-border-color)var(--tab-border-color)#0000 var(--tab-border-color);--tab-paddings:0 calc(var(--tab-p) - var(--border))var(--border)calc(var(--tab-p) - var(--border));--tab-inset:auto auto 0 auto;--radius-start:radial-gradient(circle at top left,var(--tab-radius-grad));--radius-end:radial-gradient(circle at top right,var(--tab-radius-grad));background-color:var(--tab-bg)}:is(.tabs-lift>.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-lift>.tab:is(input:checked,label:has(:checked))):before{z-index:1;content:"";width:var(--tab-corner-width);height:var(--tab-corner-height);background-position:var(--tab-corner-position);background-image:var(--radius-start),var(--radius-end);background-size:var(--tab-radius-limit)var(--tab-radius-limit);inset:var(--tab-inset);background-repeat:no-repeat;display:block;position:absolute}:is(.tabs-lift>.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-lift>.tab:is(input:checked,label:has(:checked))):first-child:before{--radius-start:none}[dir=rtl] :is(.tabs-lift>.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-lift>.tab:is(input:checked,label:has(:checked))):first-child:before{transform:rotateY(180deg)}:is(.tabs-lift>.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-lift>.tab:is(input:checked,label:has(:checked))):last-child:before{--radius-end:none}[dir=rtl] :is(.tabs-lift>.tab:is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]):not(.tab-disabled,[disabled]),.tabs-lift>.tab:is(input:checked,label:has(:checked))):last-child:before{transform:rotateY(180deg)}.tabs-lift:has(>.tab-content)>.tab:first-child:not(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]){--tab-border-colors:var(--tab-border-color)var(--tab-border-color)#0000 var(--tab-border-color)}.tabs-lift>.tab-content{--tabcontent-margin:calc(-1*var(--border))0 0 0;--tabcontent-radius-ss:0;--tabcontent-radius-se:var(--radius-box);--tabcontent-radius-es:var(--radius-box);--tabcontent-radius-ee:var(--radius-box)}:is(.tabs-lift :checked,.tabs-lift label:has(:checked),.tabs-lift :is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]))+.tab-content:first-child,:is(.tabs-lift :checked,.tabs-lift label:has(:checked),.tabs-lift :is(.tab-active,[aria-selected=true],[aria-current=true],[aria-current=page]))+.tab-content:nth-child(n+3){--tabcontent-radius-ss:var(--radius-box)}.list .list-row:has(.list-col-grow:first-child){--list-grid-cols:1fr}.list .list-row:has(.list-col-grow:nth-child(2)){--list-grid-cols:minmax(0,auto)1fr}.list .list-row:has(.list-col-grow:nth-child(3)){--list-grid-cols:minmax(0,auto)minmax(0,auto)1fr}.list .list-row:has(.list-col-grow:nth-child(4)){--list-grid-cols:minmax(0,auto)minmax(0,auto)minmax(0,auto)1fr}.list .list-row:has(.list-col-grow:nth-child(5)){--list-grid-cols:minmax(0,auto)minmax(0,auto)minmax(0,auto)minmax(0,auto)1fr}.list .list-row:has(.list-col-grow:nth-child(6)){--list-grid-cols:minmax(0,auto)minmax(0,auto)minmax(0,auto)minmax(0,auto)minmax(0,auto)1fr}.list .list-row>:not(.list-col-wrap){grid-row-start:1}.checkbox:disabled,.radio:disabled{cursor:not-allowed;opacity:.2}.rating.rating-xs :where(:not(.rating-hidden)){width:1rem;height:1rem}.rating.rating-sm :where(:not(.rating-hidden)){width:1.25rem;height:1.25rem}.rating.rating-md :where(:not(.rating-hidden)){width:1.5rem;height:1.5rem}.rating.rating-lg :where(:not(.rating-hidden)){width:1.75rem;height:1.75rem}.rating.rating-xl :where(:not(.rating-hidden)){width:2rem;height:2rem}.tooltip-left>.tooltip-content,.tooltip-left[data-tip]:before{transform:translate(calc(var(--tt-pos,.25rem) - .25rem))translateY(-50%);inset:50% var(--tt-off)auto auto}.tooltip-left:after{transform:translate(var(--tt-pos,.25rem))translateY(-50%)rotate(-90deg);inset:50% calc(var(--tt-tail) + 1px)auto auto}.tooltip-right>.tooltip-content,.tooltip-right[data-tip]:before{transform:translate(calc(var(--tt-pos,-.25rem) + .25rem))translateY(-50%);inset:50% auto auto var(--tt-off)}.tooltip-right:after{transform:translate(var(--tt-pos,-.25rem))translateY(-50%)rotate(90deg);inset:50% auto auto calc(var(--tt-tail) + 1px)}.dropdown-right{--anchor-h:right;--anchor-v:span-bottom}.dropdown-right .dropdown-content{transform-origin:0;inset-inline-start:100%;top:0;bottom:auto}.dropdown-left{--anchor-h:left;--anchor-v:span-bottom}.dropdown-left .dropdown-content{transform-origin:100%;inset-inline-end:100%;top:0;bottom:auto}.dropdown-end{--anchor-h:span-left}.dropdown-end :where(.dropdown-content){inset-inline-end:0;translate:0}[dir=rtl] :is(.dropdown-end :where(.dropdown-content)){translate:0}.dropdown-end.dropdown-left{--anchor-h:left;--anchor-v:span-top}.dropdown-end.dropdown-left .dropdown-content{top:auto;bottom:0}.dropdown-end.dropdown-right{--anchor-h:right;--anchor-v:span-top}.dropdown-end.dropdown-right .dropdown-content{top:auto;bottom:0}.btn-active{--btn-bg:var(--btn-color,var(--color-base-200))}@supports (color:color-mix(in lab,red,red)){.btn-active{--btn-bg:color-mix(in oklab,var(--btn-color,var(--color-base-200)),#000 7%)}}.btn-active{--btn-shadow:0 0 0 0 oklch(0% 0 0/0),0 0 0 0 oklch(0% 0 0/0);isolation:isolate}:is(.stack,.stack.stack-bottom)>*{grid-area:3/3/6/4}:is(.stack,.stack.stack-bottom)>:nth-child(2){grid-area:2/2/5/5}:is(.stack,.stack.stack-bottom)>:first-child{grid-area:1/1/4/6}.stack.stack-top>*{grid-area:1/3/4/4}.stack.stack-top>:nth-child(2){grid-area:2/2/5/5}.stack.stack-top>:first-child{grid-area:3/1/6/6}.stack.stack-start>*{grid-area:3/1/4/4}.stack.stack-start>:nth-child(2){grid-area:2/2/5/5}.stack.stack-start>:first-child{grid-area:1/3/6/6}.stack.stack-end>*{grid-area:3/3/4/6}.stack.stack-end>:nth-child(2){grid-area:2/2/5/5}.stack.stack-end>:first-child{grid-area:1/1/6/4}.input-sm{--size:calc(var(--size-field,.25rem)*8);font-size:max(var(--font-size,.75rem),.75rem)}.input-sm[type=number]::-webkit-inner-spin-button{margin-block:-.5rem;margin-inline-end:-.75rem}.btn-circle{width:var(--size);height:var(--size);border-radius:3.40282e38px;padding-inline:0}.btn-square{width:var(--size);height:var(--size);padding-inline:0}.loading-sm{width:calc(var(--size-selector,.25rem)*5)}.loading-xs{width:calc(var(--size-selector,.25rem)*4)}.badge-soft{color:var(--badge-color,var(--color-base-content));background-color:var(--badge-color,var(--color-base-content))}@supports (color:color-mix(in lab,red,red)){.badge-soft{background-color:color-mix(in oklab,var(--badge-color,var(--color-base-content))8%,var(--color-base-100))}}.badge-soft{border-color:var(--badge-color,var(--color-base-content))}@supports (color:color-mix(in lab,red,red)){.badge-soft{border-color:color-mix(in oklab,var(--badge-color,var(--color-base-content))10%,var(--color-base-100))}}.badge-soft{background-image:none}.loading-spinner{-webkit-mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg width='24' height='24' stroke='black' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg transform-origin='center'%3E%3Ccircle cx='12' cy='12' r='9.5' fill='none' stroke-width='3' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 12 12' to='360 12 12' dur='2s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dasharray' values='0,150;42,150;42,150' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3Canimate attributeName='stroke-dashoffset' values='0;-16;-59' keyTimes='0;0.475;1' dur='1.5s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/g%3E%3C/svg%3E")}.radio-sm{padding:.1875rem}.radio-sm[type=radio]{--size:calc(var(--size-selector,.25rem)*5)}.select-sm{--size:calc(var(--size-field,.25rem)*8);font-size:.75rem}.select-sm option{padding-block:.25rem;padding-inline:.625rem}.badge-sm{--size:calc(var(--size-selector,.25rem)*5);padding-inline:calc(.25rem*2.5 - var(--border));font-size:.75rem}.badge-xs{--size:calc(var(--size-selector,.25rem)*4);padding-inline:calc(.25rem*2 - var(--border));font-size:.625rem}.alert-error{color:var(--color-error-content);--alert-border-color:var(--color-error);--alert-color:var(--color-error)}.alert-info{color:var(--color-info-content);--alert-border-color:var(--color-info);--alert-color:var(--color-info)}.alert-success{color:var(--color-success-content);--alert-border-color:var(--color-success);--alert-color:var(--color-success)}.alert-warning{color:var(--color-warning-content);--alert-border-color:var(--color-warning);--alert-color:var(--color-warning)}.progress-primary{color:var(--color-primary)}.link-hover{text-decoration-line:none}@media(hover:hover){.link-hover:hover{text-decoration-line:underline}}.btn-lg{--fontsize:1.125rem;--btn-p:1.25rem;--size:calc(var(--size-field,.25rem)*12)}.btn-sm{--fontsize:.75rem;--btn-p:.75rem;--size:calc(var(--size-field,.25rem)*8)}.btn-xs{--fontsize:.6875rem;--btn-p:.5rem;--size:calc(var(--size-field,.25rem)*6)}.badge-accent{--badge-color:var(--color-accent);--badge-fg:var(--color-accent-content)}.badge-info{--badge-color:var(--color-info);--badge-fg:var(--color-info-content)}.badge-primary{--badge-color:var(--color-primary);--badge-fg:var(--color-primary-content)}.badge-secondary{--badge-color:var(--color-secondary);--badge-fg:var(--color-secondary-content)}.btn-accent{--btn-color:var(--color-accent);--btn-fg:var(--color-accent-content)}.btn-error{--btn-color:var(--color-error);--btn-fg:var(--color-error-content)}.btn-info{--btn-color:var(--color-info);--btn-fg:var(--color-info-content)}.btn-neutral{--btn-color:var(--color-neutral);--btn-fg:var(--color-neutral-content)}.btn-primary{--btn-color:var(--color-primary);--btn-fg:var(--color-primary-content)}.btn-secondary{--btn-color:var(--color-secondary);--btn-fg:var(--color-secondary-content)}.btn-success{--btn-color:var(--color-success);--btn-fg:var(--color-success-content)}.btn-warning{--btn-color:var(--color-warning);--btn-fg:var(--color-warning-content)}.card-border{border:var(--border)solid var(--color-base-200)}.radio-primary,.toggle-primary:checked,.toggle-primary[aria-checked=true]{--input-color:var(--color-primary)}}.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing)*0)}.-top-2{top:calc(var(--spacing)*-2)}.top-2{top:calc(var(--spacing)*2)}.top-4{top:calc(var(--spacing)*4)}.top-\\[50\\%\\]{top:50%}.-right-1{right:calc(var(--spacing)*-1)}.-right-2{right:calc(var(--spacing)*-2)}.right-2{right:calc(var(--spacing)*2)}.right-4{right:calc(var(--spacing)*4)}.-bottom-1{bottom:calc(var(--spacing)*-1)}.bottom-4{bottom:calc(var(--spacing)*4)}.left-1{left:calc(var(--spacing)*1)}.left-1\\/2{left:50%}.left-2{left:calc(var(--spacing)*2)}.left-4{left:calc(var(--spacing)*4)}.left-\\[-15px\\]{left:-15px}.z-10{z-index:10}.z-50{z-index:50}.z-1000{z-index:1000}.mx-auto{margin-inline:auto}.my-2{margin-block:calc(var(--spacing)*2)}.join-item:where(:not(:first-child,:disabled,[disabled],.btn-disabled)){margin-block-start:0;margin-inline-start:calc(var(--border,1px)*-1)}.join-item:where(:is(:disabled,[disabled],.btn-disabled)){border-width:var(--border,1px)0 var(--border,1px)var(--border,1px)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-16{margin-top:calc(var(--spacing)*16)}.mt-px{margin-top:1px}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.ml-auto{margin-left:auto}.alert{border-width:var(--border);border-color:var(--alert-border-color,var(--color-base-200))}.join{--join-ss:0;--join-se:0;--join-es:0;--join-ee:0;align-items:stretch;display:inline-flex}.join :where(.join-item){border-start-start-radius:var(--join-ss,0);border-start-end-radius:var(--join-se,0);border-end-end-radius:var(--join-ee,0);border-end-start-radius:var(--join-es,0)}.join :where(.join-item) *{--join-ss:var(--radius-field);--join-se:var(--radius-field);--join-es:var(--radius-field);--join-ee:var(--radius-field)}.join>.join-item:where(:first-child),.join :first-child:not(:last-child) :where(.join-item){--join-ss:var(--radius-field);--join-se:0;--join-es:var(--radius-field);--join-ee:0}.join>.join-item:where(:last-child),.join :last-child:not(:first-child) :where(.join-item){--join-ss:0;--join-se:var(--radius-field);--join-es:0;--join-ee:var(--radius-field)}.join>.join-item:where(:only-child),.join :only-child :where(.join-item){--join-ss:var(--radius-field);--join-se:var(--radius-field);--join-es:var(--radius-field);--join-ee:var(--radius-field)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.table{display:table}.size-1{width:calc(var(--spacing)*1);height:calc(var(--spacing)*1)}.size-2{width:calc(var(--spacing)*2);height:calc(var(--spacing)*2)}.h-3{height:calc(var(--spacing)*3)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-8{height:calc(var(--spacing)*8)}.h-16{height:calc(var(--spacing)*16)}.max-h-60{max-height:calc(var(--spacing)*60)}.max-h-full{max-height:100%}.w-3{width:calc(var(--spacing)*3)}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-8{width:calc(var(--spacing)*8)}.w-12{width:calc(var(--spacing)*12)}.w-16{width:calc(var(--spacing)*16)}.w-24{width:calc(var(--spacing)*24)}.w-28{width:calc(var(--spacing)*28)}.w-32{width:calc(var(--spacing)*32)}.w-40{width:calc(var(--spacing)*40)}.w-48{width:calc(var(--spacing)*48)}.w-52{width:calc(var(--spacing)*52)}.w-56{width:calc(var(--spacing)*56)}.w-64{width:calc(var(--spacing)*64)}.w-full{width:100%}.max-w-full{max-width:100%}.max-w-sm{max-width:var(--container-sm)}.min-w-0{min-width:calc(var(--spacing)*0)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.-translate-x-1{--tw-translate-x:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-x-1\\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-\\[15px\\]{--tw-translate-x:15px;translate:var(--tw-translate-x)var(--tw-translate-y)}.rotate-15{rotate:15deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-row-reverse{flex-direction:row-reverse}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-start{justify-content:flex-start}.gap-0{gap:calc(var(--spacing)*0)}.gap-0\\.5{gap:calc(var(--spacing)*.5)}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-2\\.5{gap:calc(var(--spacing)*2.5)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-box{border-radius:var(--radius-box)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-\\(length\\:--border\\){border-style:var(--tw-border-style);border-width:var(--border)}.border-base-300{border-color:var(--color-base-300)}.border-base-content,.border-base-content\\/10{border-color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.border-base-content\\/10{border-color:color-mix(in oklab,var(--color-base-content)10%,transparent)}}.border-white{border-color:var(--color-white)}.border-white\\/5{border-color:#ffffff0d}@supports (color:color-mix(in lab,red,red)){.border-white\\/5{border-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.bg-accent{background-color:var(--color-accent)}.bg-base-100{background-color:var(--color-base-100)}.bg-base-200,.bg-base-200\\/70{background-color:var(--color-base-200)}@supports (color:color-mix(in lab,red,red)){.bg-base-200\\/70{background-color:color-mix(in oklab,var(--color-base-200)70%,transparent)}}.bg-base-content{background-color:var(--color-base-content)}.bg-black{background-color:var(--color-black)}.bg-black\\/90{background-color:#000000e6}@supports (color:color-mix(in lab,red,red)){.bg-black\\/90{background-color:color-mix(in oklab,var(--color-black)90%,transparent)}}.bg-primary{background-color:var(--color-primary)}.bg-secondary{background-color:var(--color-secondary)}@layer daisyui.l1{.alert-soft{color:var(--alert-color,var(--color-base-content));background:var(--alert-color,var(--color-base-content))}@supports (color:color-mix(in lab,red,red)){.alert-soft{background:color-mix(in oklab,var(--alert-color,var(--color-base-content))8%,var(--color-base-100))}}.alert-soft{--alert-border-color:var(--alert-color,var(--color-base-content))}@supports (color:color-mix(in lab,red,red)){.alert-soft{--alert-border-color:color-mix(in oklab,var(--alert-color,var(--color-base-content))10%,var(--color-base-100))}}.alert-soft{box-shadow:none;background-image:none}.btn-ghost:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn)){--btn-shadow:"";--btn-bg:#0000;--btn-border:#0000;--btn-noise:none}.btn-ghost:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn)):not(:disabled,[disabled],.btn-disabled){--btn-fg:var(--btn-color,currentColor);outline-color:currentColor}@media(hover:none){.btn-ghost:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-shadow:"";--btn-bg:#0000;--btn-fg:var(--btn-color,currentColor);--btn-border:#0000;--btn-noise:none;outline-color:currentColor}}.btn-soft:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-shadow:"";--btn-fg:var(--btn-color,var(--color-base-content));--btn-bg:var(--btn-color,var(--color-base-content))}@supports (color:color-mix(in lab,red,red)){.btn-soft:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-bg:color-mix(in oklab,var(--btn-color,var(--color-base-content))8%,var(--color-base-100))}}.btn-soft:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-border:var(--btn-color,var(--color-base-content))}@supports (color:color-mix(in lab,red,red)){.btn-soft:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-border:color-mix(in oklab,var(--btn-color,var(--color-base-content))10%,var(--color-base-100))}}.btn-soft:not(.btn-active,:hover,:active:focus,:focus-visible,input:checked:not(.filter .btn),:disabled,[disabled],.btn-disabled){--btn-noise:none}@media(hover:none){.btn-soft:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-shadow:"";--btn-fg:var(--btn-color,var(--color-base-content));--btn-bg:var(--btn-color,var(--color-base-content))}@supports (color:color-mix(in lab,red,red)){.btn-soft:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-bg:color-mix(in oklab,var(--btn-color,var(--color-base-content))8%,var(--color-base-100))}}.btn-soft:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-border:var(--btn-color,var(--color-base-content))}@supports (color:color-mix(in lab,red,red)){.btn-soft:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-border:color-mix(in oklab,var(--btn-color,var(--color-base-content))10%,var(--color-base-100))}}.btn-soft:not(.btn-active,:active,:focus-visible,input:checked:not(.filter .btn)):hover{--btn-noise:none}}}.fill-current{fill:currentColor}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-1\\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.py-0{padding-block:calc(var(--spacing)*0)}.py-0\\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-8{padding-block:calc(var(--spacing)*8)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\\[10px\\]{font-size:10px}.leading-normal{--tw-leading:var(--leading-normal);line-height:var(--leading-normal)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.break-all{word-break:break-all}.text-base-content,.text-base-content\\/90{color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.text-base-content\\/90{color:color-mix(in oklab,var(--color-base-content)90%,transparent)}}.text-info{color:var(--color-info)}.text-primary{color:var(--color-primary)}.text-warning{color:var(--color-warning)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.outline-\\(length\\:--border\\){outline-style:var(--tw-outline-style);outline-width:var(--border)}.outline-black{outline-color:var(--color-black)}.outline-black\\/5{outline-color:#0000000d}@supports (color:color-mix(in lab,red,red)){.outline-black\\/5{outline-color:color-mix(in oklab,var(--color-black)5%,transparent)}}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition-\\[height\\,max-height\\]{transition-property:height,max-height;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}@media(hover:hover){.group-hover\\:border-base-content\\/20:is(:where(.group):hover *){border-color:var(--color-base-content)}@supports (color:color-mix(in lab,red,red)){.group-hover\\:border-base-content\\/20:is(:where(.group):hover *){border-color:color-mix(in oklab,var(--color-base-content)20%,transparent)}}.hover\\:translate-x-\\[15px\\]:hover{--tw-translate-x:15px;translate:var(--tw-translate-x)var(--tw-translate-y)}.hover\\:rotate-15:hover{rotate:15deg}.hover\\:opacity-100:hover{opacity:1}}@media(min-width:40rem){.sm\\:inline-block{display:inline-block}.sm\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:48rem){.md\\:flex{display:flex}}.\\[\\&_svg\\]\\:visible svg{visibility:visible}}:host{font-family:var(--font-family,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif)}:host([data-font=Lato]){--font-family:"Lato",system-ui,-apple-system,sans-serif}:host([data-font=Montserrat]){--font-family:"Montserrat",system-ui,-apple-system,sans-serif}:host([data-font=Noto\\ Sans]){--font-family:"Noto Sans",system-ui,-apple-system,sans-serif}:host([data-font=Open\\ Sans]){--font-family:"Open Sans",system-ui,-apple-system,sans-serif}:host([data-font=Raleway]){--font-family:"Raleway",system-ui,-apple-system,sans-serif}@keyframes rating{0%,40%{filter:brightness(1.05)contrast(1.05);scale:1.1}}@keyframes dropdown{0%{opacity:0}}@keyframes radio{0%{padding:5px}50%{padding:3px}}@keyframes toast{0%{opacity:0;scale:.9}to{opacity:1;scale:1}}@keyframes rotator{89.9999%,to{--first-item-position:0 0%}90%,99.9999%{--first-item-position:0 calc(var(--items)*100%)}to{translate:0 -100%}}@keyframes skeleton{0%{background-position:150%}to{background-position:-50%}}@keyframes progress{50%{background-position-x:-115%}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}`;
  dayjs.extend(localizedFormat);
  function loadGoogleFonts() {
    if (document.getElementById("tmd-google-fonts")) {
      return;
    }
    const fontCSS = `@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,300;0,400;0,700;1,300;1,400;1,700&family=Montserrat:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600;1,700&family=Noto+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600;1,700&family=Raleway:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600;1,700&display=swap');`;
    if (typeof window.GM_addStyle !== "undefined") {
      window.GM_addStyle(fontCSS);
    } else {
      const link = document.createElement("link");
      link.id = "tmd-google-fonts";
      link.rel = "stylesheet";
      link.href = "https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,300;0,400;0,700;1,300;1,400;1,700&family=Montserrat:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600;1,700&family=Noto+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600;1,700&family=Raleway:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600;1,700&display=swap";
      document.head.appendChild(link);
    }
  }
  function mountApp() {
    loadGoogleFonts();
    const root = document.createElement("div");
    root.id = "tmd-root";
    document.body.append(root);
    const shadowRoot = root.attachShadow({ mode: "open" });
    shadowRoot.adoptedStyleSheets = [prepareStyles()];
    preact.render( u(MediaDownloaderApp, {}), shadowRoot);
  }
  function prepareStyles() {
    const shadowSheet = new CSSStyleSheet();
    shadowSheet.replaceSync(styles.replace(/:root/gu, ":host"));
    const globalSheet = new CSSStyleSheet();
    for (const rule of shadowSheet.cssRules) {
      if (rule instanceof CSSPropertyRule) {
        globalSheet.insertRule(rule.cssText);
      }
    }
    document.adoptedStyleSheets.push(globalSheet);
    return shadowSheet;
  }
  if (document.readyState === "loading") {
    document.addEventListener("DOMContentLoaded", mountApp);
  } else {
    mountApp();
  }

})(preact, preactSignals, preactHooks, i18next, dayjs, Dexie, FileSaver, gifshot, fflate);